diff --git a/.DS_Store b/.DS_Store old mode 100644 new mode 100755 diff --git a/.cookie b/.cookie old mode 100644 new mode 100755 diff --git a/.trae/documents/Nakama 服务端集成规划.md b/.trae/documents/Nakama 服务端集成规划.md deleted file mode 100644 index a3f27c7..0000000 --- a/.trae/documents/Nakama 服务端集成规划.md +++ /dev/null @@ -1,40 +0,0 @@ -# Nakama 服务端集成规划 (修订版:4人自动匹配) - -根据您的补充需求(4人自动匹配、无需手动管理房间),我调整了规划如下。我们将继续基于“动物扫雷大作战”项目进行开发。 - -## 1. 核心流程:自动匹配 (Auto-Matchmaking) - -我们将完全屏蔽“房间”概念,采用类似《王者荣耀》或《英雄联盟》的匹配机制: - -1. **点击“开始游戏”**: 客户端调用 Nakama Matchmaker API,参数设定为 `min_count=4, max_count=4`。 -2. **服务端排队**: Nakama 自动将请求的玩家放入匹配池。 -3. **匹配成功**: 当凑齐 4 人后,服务端自动创建一个权威比赛 (Authoritative Match)。 -4. **自动入场**: 客户端收到匹配成功通知 (Match Found),携带 Token 自动加入比赛,进入游戏画面。 - -## 2. 系统架构与实施 - -### 第一阶段:基础设施 (不变) -* **动作**: 配置 Docker (Nakama + CockroachDB)。 -* **动作**: 前端安装 `nakama-js`。 - -### 第二阶段:服务端逻辑 (TypeScript) -* **Match Handler (比赛控制器)**: - * **硬性限制**: 仅当凑齐 4 人时游戏逻辑才正式开始(或等待超时添加 AI,目前先按纯真人规划)。 - * **回合制逻辑**: 维护 4 人行动顺序(如:P1 -> P2 -> P3 -> P4 -> P1...)。 - * **状态同步**: 广播 100 个格子的状态、4 名玩家的血量/道具/Buff。 - -### 第三阶段:前端改造 (针对 4 人匹配) -* **UI 调整**: - * 主界面增加“开始匹配 (4人)”大按钮。 - * 增加“匹配中...”的等待状态提示。 - * 游戏内固定显示 4 个玩家的头像槽位(如 `App.tsx` 中已有的布局,需确保能动态映射 P1-P4)。 -* **逻辑对接**: - * **Socket 监听**: 监听 `onmatchmakermatched` 事件 -> 自动执行 `joinMatch`。 - * **游戏开始**: 收到服务端 `OP_GAME_START` 信号后,解锁棋盘交互。 - -## 3. 下一步执行计划 -1. **环境搭建**: 启动 Nakama 服务端。 -2. **前端集成**: 实现“点击匹配 -> 等待 -> 自动进入游戏”的完整链路。 -3. **逻辑迁移**: 将现有的 Mock 数据替换为服务端数据。 - -请确认是否开始执行环境搭建? diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md old mode 100644 new mode 100755 diff --git a/app/.env.production b/app/.env.production old mode 100644 new mode 100755 index 00f9c66..5cb8f57 --- a/app/.env.production +++ b/app/.env.production @@ -1,5 +1,5 @@ # Production environment configuration -VITE_NAKAMA_HOST=game.1024tool.vip +VITE_NAKAMA_HOST=kdy.1024tool.vip VITE_NAKAMA_PORT=443 VITE_NAKAMA_SERVER_KEY=defaultkey VITE_NAKAMA_USE_SSL=true diff --git a/app/.gitignore b/app/.gitignore old mode 100644 new mode 100755 diff --git a/app/README.md b/app/README.md old mode 100644 new mode 100755 diff --git a/app/eslint.config.js b/app/eslint.config.js old mode 100644 new mode 100755 diff --git a/app/index.html b/app/index.html old mode 100644 new mode 100755 diff --git a/app/package-lock.json b/app/package-lock.json old mode 100644 new mode 100755 diff --git a/app/package.json b/app/package.json old mode 100644 new mode 100755 diff --git a/app/postcss.config.js b/app/postcss.config.js old mode 100644 new mode 100755 diff --git a/app/public/vite.svg b/app/public/vite.svg old mode 100644 new mode 100755 diff --git a/app/scripts/simulate_bots.ts b/app/scripts/simulate_bots.ts old mode 100644 new mode 100755 diff --git a/app/scripts/simulate_bots_fixed.ts b/app/scripts/simulate_bots_fixed.ts old mode 100644 new mode 100755 diff --git a/app/scripts/simulate_bots_matchmaker.ts b/app/scripts/simulate_bots_matchmaker.ts old mode 100644 new mode 100755 diff --git a/app/scripts/test_matchmaker.cjs b/app/scripts/test_matchmaker.cjs old mode 100644 new mode 100755 diff --git a/app/scripts/test_matchmaker.mjs b/app/scripts/test_matchmaker.mjs old mode 100644 new mode 100755 diff --git a/app/src/App.css b/app/src/App.css old mode 100644 new mode 100755 diff --git a/app/src/App.tsx b/app/src/App.tsx old mode 100644 new mode 100755 index a581c80..a752609 --- a/app/src/App.tsx +++ b/app/src/App.tsx @@ -288,7 +288,7 @@ const App: React.FC = () => { // Fetch game config to get match_player_count (使用同域避免 CORS) try { - const backendUrl = 'https://game.1024tool.vip'; // 通过 Nginx 反向代理到后端 + const backendUrl = ''; // 同域请求,走 game.1024tool.vip 的 nginx 代理 const configResp = await fetch(`${backendUrl}/api/internal/game/minesweeper/config`, { headers: { 'X-Internal-Key': 'bindbox-internal-secret-2024' } }); @@ -313,6 +313,12 @@ const App: React.FC = () => { setMyUserId(userId); myUserIdRef.current = userId; setIsConnected(true); + + // Join the lobby channel for online tracking + nakamaManager.joinLobby().catch(err => { + console.warn('Failed to join lobby:', err); + }); + addLog('system', '✅ 已连接到服务器'); const socket = nakamaManager.getSocket(); diff --git a/app/src/Explosion.css b/app/src/Explosion.css old mode 100644 new mode 100755 diff --git a/app/src/assets/react.svg b/app/src/assets/react.svg old mode 100644 new mode 100755 diff --git a/app/src/index.css b/app/src/index.css old mode 100644 new mode 100755 diff --git a/app/src/lib/nakama.ts b/app/src/lib/nakama.ts old mode 100644 new mode 100755 index ca8cafb..92fdde2 --- a/app/src/lib/nakama.ts +++ b/app/src/lib/nakama.ts @@ -101,6 +101,18 @@ class NakamaManager { return this.socket.joinMatch(matchId, token, metadata); } + /** + * Join the global minesweeper lobby channel + * This is used to track online users even if they are not in a match + */ + async joinLobby() { + if (!this.socket) throw new Error('Socket not connected'); + + // 1 = Room, true = Persistence, false = Hidden (we want to be counted) + console.log('Joining minesweeper lobby...'); + return this.socket.joinChat('minesweeper_lobby', 1, true, false); + } + async sendMatchState(matchId: string, opCode: number, data: string) { if (!this.socket) throw new Error('Socket not connected'); return this.socket.sendMatchState(matchId, opCode, data); diff --git a/app/src/main.tsx b/app/src/main.tsx old mode 100644 new mode 100755 diff --git a/app/tailwind.config.js b/app/tailwind.config.js old mode 100644 new mode 100755 diff --git a/app/tsconfig.app.json b/app/tsconfig.app.json old mode 100644 new mode 100755 diff --git a/app/tsconfig.json b/app/tsconfig.json old mode 100644 new mode 100755 diff --git a/app/tsconfig.node.json b/app/tsconfig.node.json old mode 100644 new mode 100755 diff --git a/app/vite.config.ts b/app/vite.config.ts old mode 100644 new mode 100755 diff --git a/docker-compose.all.yml b/docker-compose.all.yml old mode 100644 new mode 100755 index 4c30dd8..173c36d --- a/docker-compose.all.yml +++ b/docker-compose.all.yml @@ -1,21 +1,33 @@ -# 全量服务部署 (前端 + 后端 + 游戏服 + 数据库 + 中间件 + Nginx) -# 使用方法: docker-compose -f docker-compose.all.yml up -d --build +# 全量服务部署 (云端/无源码版) +# 使用方法: +# 1. 确保已将 docker-compose.cloud.yml, configs/, nginx/, loki/ 目录上传到服务器同一目录 +# 2. 确保 logs/ 目录存在 (mkdir logs) +# 3. 运行: docker-compose -f docker-compose.cloud.yml up -d + services: # ---------------------------------------------------- # 1. 业务后端 (Bindbox Game Backend) # ---------------------------------------------------- bindbox-game: - image: zfc931912343/bindbox-game:v1.15 + image: zfc931912343/bindbox-game:v1.23 container_name: bindbox-game restart: always # ports: # - "9991:9991" (Internal only) volumes: - - ../bindbox_game/logs:/app/logs - - ../bindbox_game/configs:/app/configs + # 改为挂载当前目录下的 logs 和 configs + - ./logs:/app/logs + - ./configs:/app/configs environment: - ACTIVE_ENV=pro - TZ=Asia/Shanghai + # MySQL 配置(覆盖编译时的默认值) + - MYSQL_ADDR=mysql:3306 + - MYSQL_USER=root + - MYSQL_PASS=bindbox2025kdy + - MYSQL_NAME=bindbox_game + # Redis 配置 + - REDIS_ADDR=redis:6379 networks: - bindbox_net logging: @@ -28,22 +40,7 @@ services: - redis # ---------------------------------------------------- - # 2. 管理后台 (Admin Web) - # ---------------------------------------------------- - admin-web: - build: ../bindbox_game/web/admin - container_name: bindbox-admin-web - restart: always - networks: - - bindbox_net - logging: - driver: "json-file" - options: - max-size: "10m" - max-file: "3" - - # ---------------------------------------------------- - # 3. 游戏数据库 (CockroachDB for Nakama) + # 2. 游戏数据库 (CockroachDB for Nakama) # ---------------------------------------------------- nakama-db: image: cockroachdb/cockroach:latest-v23.1 @@ -52,7 +49,6 @@ services: restart: always volumes: - nakama-db-data:/var/lib/cockroach - healthcheck: test: [ "CMD", "curl", "-f", "http://localhost:8080/health?ready=1" ] interval: 3s @@ -69,10 +65,10 @@ services: max-file: "3" # ---------------------------------------------------- - # 4. 游戏服务器 (Nakama) + # 3. 游戏服务器 (Nakama) # ---------------------------------------------------- nakama: - image: zfc931912343/bindbox-saolei:v1.6 + image: zfc931912343/bindbox-saolei:v1.6-local container_name: nakama-server environment: - MINESWEEPER_BACKEND_URL=http://bindbox-game:9991/api/internal @@ -89,7 +85,6 @@ services: condition: service_started volumes: - nakama-data:/nakama/data - healthcheck: test: [ "CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://bindbox-game:9991/" ] interval: 10s @@ -104,19 +99,22 @@ services: max-file: "3" # ---------------------------------------------------- - # 5. MySQL Database (For Bindbox Backend) + # 4. MySQL Database # ---------------------------------------------------- mysql: image: mysql:8.0 container_name: bindbox-mysql restart: always + ports: + - "3306:3306" # 临时开放外部访问,用完记得关闭! environment: - MYSQL_ROOT_PASSWORD: "123456" + MYSQL_ROOT_PASSWORD: "bindbox2025kdy" MYSQL_DATABASE: "bindbox_game" TZ: Asia/Shanghai command: --default-authentication-plugin=mysql_native_password volumes: - mysql_data:/var/lib/mysql + - ./mysql/init:/docker-entrypoint-initdb.d # 初始化脚本 networks: - bindbox_net logging: @@ -126,7 +124,7 @@ services: max-file: "3" # ---------------------------------------------------- - # 6. Redis (For Bindbox Backend) + # 5. Redis # ---------------------------------------------------- redis: image: redis:7.0 @@ -143,7 +141,7 @@ services: max-file: "3" # ---------------------------------------------------- - # 7. Nginx Gateway + # 6. Nginx Gateway (入口) # ---------------------------------------------------- nginx: image: nginx:latest @@ -155,9 +153,10 @@ services: volumes: - ./nginx/conf.d:/etc/nginx/conf.d - ./nginx/ssl:/etc/nginx/ssl + - ./nginx/admin:/usr/share/nginx/html/admin + - ./nginx/game:/usr/share/nginx/html/game depends_on: - bindbox-game - - admin-web - nakama networks: - bindbox_net @@ -165,17 +164,17 @@ services: driver: "json-file" options: max-size: "10m" + max-file: "3" # ---------------------------------------------------- - # 8. Loki (Log Storage) + # 7. Loki (日志存储) # ---------------------------------------------------- loki: image: grafana/loki:3.0.0 container_name: bindbox-loki restart: always - # ports: - # - "3100:3100" volumes: + # 必须上传 loki 目录到服务器 - ./loki/loki-config.yaml:/etc/loki/local-config.yaml - loki_data:/loki command: -config.file=/etc/loki/local-config.yaml @@ -188,7 +187,7 @@ services: max-file: "3" # ---------------------------------------------------- - # 9. Promtail (Log Collector) + # 8. Promtail (日志采集) # ---------------------------------------------------- promtail: image: grafana/promtail:3.0.0 @@ -198,7 +197,8 @@ services: - ./loki/promtail-config.yaml:/etc/promtail/config.yaml - /var/lib/docker/containers:/var/lib/docker/containers:ro - /var/run/docker.sock:/var/run/docker.sock - - ../bindbox_game/logs:/var/log/bindbox-game:ro + # 采集当前目录下的 logs 文件夹 + - ./logs:/var/log/bindbox-game:ro command: -config.file=/etc/promtail/config.yaml networks: - bindbox_net @@ -211,7 +211,7 @@ services: max-file: "3" # ---------------------------------------------------- - # 10. Grafana (Visualization) + # 9. Grafana (日志界面) # ---------------------------------------------------- grafana: image: grafana/grafana:latest @@ -234,6 +234,106 @@ services: max-size: "10m" max-file: "3" + # ---------------------------------------------------- + # 10. Prometheus (指标采集) + # ---------------------------------------------------- + prometheus: + image: prom/prometheus:latest + container_name: bindbox-prometheus + restart: always + volumes: + - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml + - prometheus_data:/prometheus + command: + - '--config.file=/etc/prometheus/prometheus.yml' + - '--storage.tsdb.path=/prometheus' + - '--web.enable-lifecycle' + networks: + - bindbox_net + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + + # ---------------------------------------------------- + # 11. Nginx Exporter (Nginx指标导出) + # ---------------------------------------------------- + nginx-exporter: + image: nginx/nginx-prometheus-exporter:latest + container_name: bindbox-nginx-exporter + restart: always + command: + - -nginx.scrape-uri=http://nginx:80/nginx_status + networks: + - bindbox_net + depends_on: + - nginx + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + + # ---------------------------------------------------- + # 12. Redis Exporter (Redis指标导出) + # ---------------------------------------------------- + redis-exporter: + image: oliver006/redis_exporter:latest + container_name: bindbox-redis-exporter + restart: always + environment: + - REDIS_ADDR=redis://redis:6379 + networks: + - bindbox_net + depends_on: + - redis + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + + # ---------------------------------------------------- + # 13. MySQL Exporter (MySQL指标导出) + # ---------------------------------------------------- + mysql-exporter: + image: prom/mysqld-exporter:latest + container_name: bindbox-mysql-exporter + restart: always + command: + - --config.my-cnf=/etc/.my.cnf + volumes: + - ./mysql/.my.cnf:/etc/.my.cnf:ro + networks: + - bindbox_net + depends_on: + - mysql + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + + # ---------------------------------------------------- + # 14. Tempo (链路追踪) + # ---------------------------------------------------- + tempo: + image: grafana/tempo:latest + container_name: bindbox-tempo + restart: always + command: [ "-config.file=/etc/tempo/tempo-config.yaml" ] + volumes: + - ./tempo/tempo-config.yaml:/etc/tempo/tempo-config.yaml + - tempo_data:/var/tempo + networks: + - bindbox_net + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + volumes: nakama-db-data: nakama-data: @@ -241,6 +341,8 @@ volumes: redis_data: loki_data: grafana_data: + prometheus_data: + tempo_data: networks: diff --git a/docker-compose.cloud.yml b/docker-compose.cloud.yml old mode 100644 new mode 100755 index 8764d49..3959bda --- a/docker-compose.cloud.yml +++ b/docker-compose.cloud.yml @@ -9,7 +9,7 @@ services: # 1. 业务后端 (Bindbox Game Backend) # ---------------------------------------------------- bindbox-game: - image: zfc931912343/bindbox-game:v1.15 + image: zfc931912343/bindbox-game:v1.23 container_name: bindbox-game restart: always # ports: @@ -153,7 +153,8 @@ services: volumes: - ./nginx/conf.d:/etc/nginx/conf.d - ./nginx/ssl:/etc/nginx/ssl - - ./dist:/usr/share/nginx/html/admin + - ./nginx/admin:/usr/share/nginx/html/admin + - ./nginx/game:/usr/share/nginx/html/game depends_on: - bindbox-game - nakama diff --git a/docker-compose.test.yml b/docker-compose.test.yml new file mode 100755 index 0000000..e5161c0 --- /dev/null +++ b/docker-compose.test.yml @@ -0,0 +1,37 @@ +version: '3.8' + +services: + nakama-db: + image: cockroachdb/cockroach:latest-v23.1 + command: start-single-node --insecure --store=attrs=ssd,path=/var/lib/cockroach/,size=20% + restart: "no" + volumes: + - ./cockroach-data:/cockroach/cockroach-data + expose: + - "8080" + - "26257" + ports: + - "8080:8080" + - "26257:26257" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8080/health?ready=1"] + interval: 3s + timeout: 3s + retries: 5 + + nakama: + image: heroiclabs/nakama:3.21.1 + command: > + /bin/sh -ecx ' + /nakama/nakama migrate up --database.address root@nakama-db:26257 && + exec /nakama/nakama --name nakama1 --database.address root@nakama-db:26257 --logger.level DEBUG --session.token_expiry_sec 7200 --metrics.prometheus_port 9100 --runtime.path /nakama/modules --matchmaker.interval_sec 1 --matchmaker.max_intervals 5 + ' + restart: "no" + depends_on: + nakama-db: + condition: service_healthy + volumes: + - ./server:/nakama/modules + ports: + - "7350:7350" + - "7351:7351" diff --git a/docker-compose.yml b/docker-compose.yml old mode 100644 new mode 100755 index 7c96b7a..3959bda --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,52 +1,351 @@ +# 全量服务部署 (云端/无源码版) +# 使用方法: +# 1. 确保已将 docker-compose.cloud.yml, configs/, nginx/, loki/ 目录上传到服务器同一目录 +# 2. 确保 logs/ 目录存在 (mkdir logs) +# 3. 运行: docker-compose -f docker-compose.cloud.yml up -d + services: - cockroachdb: - image: cockroachdb/cockroach:latest-v23.1 - command: start-single-node --insecure --store=attrs=ssd,path=/var/lib/cockroach/ - restart: "no" + # ---------------------------------------------------- + # 1. 业务后端 (Bindbox Game Backend) + # ---------------------------------------------------- + bindbox-game: + image: zfc931912343/bindbox-game:v1.23 + container_name: bindbox-game + restart: always + # ports: + # - "9991:9991" (Internal only) volumes: - - data:/var/lib/cockroach - expose: - - "8080" - - "26257" - ports: - - "26257:26257" - - "8081:8080" + # 改为挂载当前目录下的 logs 和 configs + - ./logs:/app/logs + - ./configs:/app/configs + environment: + - ACTIVE_ENV=pro + - TZ=Asia/Shanghai + # MySQL 配置(覆盖编译时的默认值) + - MYSQL_ADDR=mysql:3306 + - MYSQL_USER=root + - MYSQL_PASS=bindbox2025kdy + - MYSQL_NAME=bindbox_game + # Redis 配置 + - REDIS_ADDR=redis:6379 + networks: + - bindbox_net + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + depends_on: + - mysql + - redis + + # ---------------------------------------------------- + # 2. 游戏数据库 (CockroachDB for Nakama) + # ---------------------------------------------------- + nakama-db: + image: cockroachdb/cockroach:latest-v23.1 + container_name: nakama-db + command: start-single-node --insecure --store=attrs=ssd,path=/var/lib/cockroach/ --cache=.25 --max-sql-memory=.25 + restart: always + volumes: + - nakama-db-data:/var/lib/cockroach healthcheck: test: [ "CMD", "curl", "-f", "http://localhost:8080/health?ready=1" ] interval: 3s timeout: 3s retries: 5 + environment: + - TZ=Asia/Shanghai + networks: + - bindbox_net + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + # ---------------------------------------------------- + # 3. 游戏服务器 (Nakama) + # ---------------------------------------------------- nakama: - build: - context: ./server - dockerfile: Dockerfile - container_name: wuziqi-nakama-1 + image: zfc931912343/bindbox-saolei:v1.6 + container_name: nakama-server + environment: + - MINESWEEPER_BACKEND_URL=http://bindbox-game:9991/api/internal + - TZ=Asia/Shanghai entrypoint: - "/bin/sh" - "-ecx" - - > - /nakama/nakama migrate up --database.address root@cockroachdb:26257 && exec /nakama/nakama --name nakama1 --database.address root@cockroachdb:26257 --logger.level DEBUG --session.token_expiry_sec 7200 --metrics.prometheus_port 9100 --runtime.path /nakama/modules - restart: "no" - links: - - "cockroachdb:db" + - "/nakama/nakama migrate up --database.address root@nakama-db:26257 && exec /nakama/nakama --name nakama1 --database.address root@nakama-db:26257 --logger.level DEBUG --session.token_expiry_sec 7200 --metrics.prometheus_port 9100 --runtime.path /nakama/modules --matchmaker.interval_sec 1 --matchmaker.max_intervals 5" + restart: always depends_on: - cockroachdb: + nakama-db: condition: service_healthy + bindbox-game: + condition: service_started volumes: - nakama-data:/nakama/data - expose: - - "7348" - ports: - - "7350:7350" - - "7351:7351" - - "9100:9100" healthcheck: - test: [ "CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:7350/" ] + test: [ "CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://bindbox-game:9991/" ] interval: 10s timeout: 5s retries: 5 + networks: + - bindbox_net + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + + # ---------------------------------------------------- + # 4. MySQL Database + # ---------------------------------------------------- + mysql: + image: mysql:8.0 + container_name: bindbox-mysql + restart: always + ports: + - "3306:3306" # 临时开放外部访问,用完记得关闭! + environment: + MYSQL_ROOT_PASSWORD: "bindbox2025kdy" + MYSQL_DATABASE: "bindbox_game" + TZ: Asia/Shanghai + command: --default-authentication-plugin=mysql_native_password + volumes: + - mysql_data:/var/lib/mysql + - ./mysql/init:/docker-entrypoint-initdb.d # 初始化脚本 + networks: + - bindbox_net + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + + # ---------------------------------------------------- + # 5. Redis + # ---------------------------------------------------- + redis: + image: redis:7.0 + container_name: bindbox-redis + restart: always + volumes: + - redis_data:/data + networks: + - bindbox_net + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + + # ---------------------------------------------------- + # 6. Nginx Gateway (入口) + # ---------------------------------------------------- + nginx: + image: nginx:latest + container_name: bindbox-nginx + restart: always + ports: + - "80:80" + - "443:443" + volumes: + - ./nginx/conf.d:/etc/nginx/conf.d + - ./nginx/ssl:/etc/nginx/ssl + - ./nginx/admin:/usr/share/nginx/html/admin + - ./nginx/game:/usr/share/nginx/html/game + depends_on: + - bindbox-game + - nakama + networks: + - bindbox_net + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + + # ---------------------------------------------------- + # 7. Loki (日志存储) + # ---------------------------------------------------- + loki: + image: grafana/loki:3.0.0 + container_name: bindbox-loki + restart: always + volumes: + # 必须上传 loki 目录到服务器 + - ./loki/loki-config.yaml:/etc/loki/local-config.yaml + - loki_data:/loki + command: -config.file=/etc/loki/local-config.yaml + networks: + - bindbox_net + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + + # ---------------------------------------------------- + # 8. Promtail (日志采集) + # ---------------------------------------------------- + promtail: + image: grafana/promtail:3.0.0 + container_name: bindbox-promtail + restart: always + volumes: + - ./loki/promtail-config.yaml:/etc/promtail/config.yaml + - /var/lib/docker/containers:/var/lib/docker/containers:ro + - /var/run/docker.sock:/var/run/docker.sock + # 采集当前目录下的 logs 文件夹 + - ./logs:/var/log/bindbox-game:ro + command: -config.file=/etc/promtail/config.yaml + networks: + - bindbox_net + depends_on: + - loki + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + + # ---------------------------------------------------- + # 9. Grafana (日志界面) + # ---------------------------------------------------- + grafana: + image: grafana/grafana:latest + container_name: bindbox-grafana + restart: always + ports: + - "3000:3000" + environment: + - GF_SECURITY_ADMIN_PASSWORD=admin + - GF_USERS_ALLOW_SIGN_UP=false + volumes: + - grafana_data:/var/lib/grafana + networks: + - bindbox_net + depends_on: + - loki + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + + # ---------------------------------------------------- + # 10. Prometheus (指标采集) + # ---------------------------------------------------- + prometheus: + image: prom/prometheus:latest + container_name: bindbox-prometheus + restart: always + volumes: + - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml + - prometheus_data:/prometheus + command: + - '--config.file=/etc/prometheus/prometheus.yml' + - '--storage.tsdb.path=/prometheus' + - '--web.enable-lifecycle' + networks: + - bindbox_net + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + + # ---------------------------------------------------- + # 11. Nginx Exporter (Nginx指标导出) + # ---------------------------------------------------- + nginx-exporter: + image: nginx/nginx-prometheus-exporter:latest + container_name: bindbox-nginx-exporter + restart: always + command: + - -nginx.scrape-uri=http://nginx:80/nginx_status + networks: + - bindbox_net + depends_on: + - nginx + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + + # ---------------------------------------------------- + # 12. Redis Exporter (Redis指标导出) + # ---------------------------------------------------- + redis-exporter: + image: oliver006/redis_exporter:latest + container_name: bindbox-redis-exporter + restart: always + environment: + - REDIS_ADDR=redis://redis:6379 + networks: + - bindbox_net + depends_on: + - redis + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + + # ---------------------------------------------------- + # 13. MySQL Exporter (MySQL指标导出) + # ---------------------------------------------------- + mysql-exporter: + image: prom/mysqld-exporter:latest + container_name: bindbox-mysql-exporter + restart: always + command: + - --config.my-cnf=/etc/.my.cnf + volumes: + - ./mysql/.my.cnf:/etc/.my.cnf:ro + networks: + - bindbox_net + depends_on: + - mysql + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + + # ---------------------------------------------------- + # 14. Tempo (链路追踪) + # ---------------------------------------------------- + tempo: + image: grafana/tempo:latest + container_name: bindbox-tempo + restart: always + command: [ "-config.file=/etc/tempo/tempo-config.yaml" ] + volumes: + - ./tempo/tempo-config.yaml:/etc/tempo/tempo-config.yaml + - tempo_data:/var/tempo + networks: + - bindbox_net + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" volumes: - data: + nakama-db-data: nakama-data: + mysql_data: + redis_data: + loki_data: + grafana_data: + prometheus_data: + tempo_data: + + +networks: + bindbox_net: + name: bindbox_net + driver: bridge diff --git a/loki/loki-config.yaml b/loki/loki-config.yaml old mode 100644 new mode 100755 diff --git a/loki/promtail-config.yaml b/loki/promtail-config.yaml old mode 100644 new mode 100755 diff --git a/mysql/.DS_Store b/mysql/.DS_Store old mode 100644 new mode 100755 diff --git a/mysql/.my.cnf b/mysql/.my.cnf old mode 100644 new mode 100755 diff --git a/mysql/init/01-create-exporter-user.sql b/mysql/init/01-create-exporter-user.sql old mode 100644 new mode 100755 diff --git a/nginx-cors-config.conf b/nginx-cors-config.conf old mode 100644 new mode 100755 diff --git a/nginx/admin/assets/403-BdWuHcJA.svg b/nginx/admin/assets/403-BdWuHcJA.svg new file mode 100644 index 0000000..68790ad --- /dev/null +++ b/nginx/admin/assets/403-BdWuHcJA.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/nginx/admin/assets/404-BzxNMzaO.svg b/nginx/admin/assets/404-BzxNMzaO.svg new file mode 100644 index 0000000..48e1ca3 --- /dev/null +++ b/nginx/admin/assets/404-BzxNMzaO.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/nginx/admin/assets/500-C-Ru4KUd.svg b/nginx/admin/assets/500-C-Ru4KUd.svg new file mode 100644 index 0000000..512429f --- /dev/null +++ b/nginx/admin/assets/500-C-Ru4KUd.svg @@ -0,0 +1,5 @@ + diff --git a/nginx/admin/assets/ActivityAnalysisDrawer-BHxCQLVD.css b/nginx/admin/assets/ActivityAnalysisDrawer-BHxCQLVD.css new file mode 100644 index 0000000..17e8eb5 --- /dev/null +++ b/nginx/admin/assets/ActivityAnalysisDrawer-BHxCQLVD.css @@ -0,0 +1 @@ +.overview-cards[data-v-38548ddb]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.overview-cards .card-item[data-v-38548ddb]{background:#f8f9fa;border-radius:8px;padding:16px;border:1px solid #ebeef5}.overview-cards .card-item .card-label[data-v-38548ddb]{font-size:13px;color:#909399;margin-bottom:8px}.overview-cards .card-item .card-value[data-v-38548ddb]{font-size:24px;font-weight:600;color:#303133;margin-bottom:8px}.overview-cards .card-item .card-value.text-primary[data-v-38548ddb]{color:var(--el-color-primary)}.overview-cards .card-item .card-value.text-success[data-v-38548ddb]{color:var(--el-color-success)}.overview-cards .card-item .card-value.text-warning[data-v-38548ddb]{color:var(--el-color-warning)}.overview-cards .card-item .card-value.text-danger[data-v-38548ddb]{color:var(--el-color-danger)}.overview-cards .card-item .card-value.text-info[data-v-38548ddb]{color:var(--el-color-info)}.overview-cards .card-item .card-sub[data-v-38548ddb]{font-size:12px;color:#606266}.level-badge[data-v-38548ddb]{padding:2px 6px;border-radius:4px;font-size:12px;font-weight:600} diff --git a/nginx/admin/assets/ActivityAnalysisDrawer-C_7KPjWt.js b/nginx/admin/assets/ActivityAnalysisDrawer-C_7KPjWt.js new file mode 100644 index 0000000..7ec4499 --- /dev/null +++ b/nginx/admin/assets/ActivityAnalysisDrawer-C_7KPjWt.js @@ -0,0 +1 @@ +import{d as t,r as a,c as e,h as s,e as l,w as i,N as r,b as o,i as n,f as c,v as u,q as d,g as v,p,b2 as m,T as y}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import{f as x}from"./operations-Cr4YfoRu.js";import{b,c as g}from"./activityEnums-zI8yOqFS.js";import{E as f,a as w}from"./index-BjuMygln.js";import{E as j}from"./index-ClDjAOOe.js";import{E as h}from"./index-B18-crhn.js";import{_}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./use-dialog-FwJ-QdmW.js";const C={class:"analysis-content"},z={key:0,class:"overview-cards"},D={class:"card-item"},k={class:"card-value text-primary"},P={class:"card-sub"},L={class:"font-medium"},A={class:"card-item"},F={class:"card-value text-danger"},Q={class:"card-sub"},E={class:"font-medium"},V={class:"card-item"},M={class:"card-sub"},N={class:"card-item"},T={class:"card-value text-info"},I={class:"card-sub"},O={class:"font-medium"},S={key:1,class:"prize-table-section mt-6"},U={class:"section-header mb-3 flex justify-between items-center"},q={class:"text-sm text-gray-500"},W={class:"flex items-center"},X={class:"font-medium"},B={class:"text-xs text-gray-500"},G={class:"font-medium"},H={class:"space-y-1"},J={class:"flex justify-between text-xs"},K={class:"text-gray-500"},R={class:"space-y-1"},Y={class:"flex justify-between text-xs"},Z={class:"text-xs"},$={class:"font-medium"},tt={key:2,class:"empty-state py-12 text-center text-gray-400"},at=_(t({__name:"ActivityAnalysisDrawer",setup(t,{expose:_}){const at=a(!1),et=a(!1),st=a(null),lt=e(()=>st.value?st.value.activity.priceDraw*st.value.activity.totalDraws/100:0),it=e(()=>{if(!st.value)return 0;return lt.value-st.value.summary.totalCost/100}),rt=e(()=>{if(!st.value)return 0;const t=lt.value;return t<=0?0:it.value/t*100}),ot=e(()=>st.value&&0!==st.value.activity.totalDraws?st.value.summary.totalCost/st.value.activity.totalDraws:0),nt=e(()=>st.value&&0!==st.value.activity.totalParticipants?(st.value.activity.totalDraws/st.value.activity.totalParticipants).toFixed(1):0),ct=e(()=>{var t;return(null==(t=st.value)?void 0:t.prizes)?[...st.value.prizes].sort((t,a)=>t.prizeLevel-a.prizeLevel):[]}),ut=t=>t.toLocaleString("zh-CN",{maximumFractionDigits:2}),dt=t=>g(t);return _({open:t=>{return a=this,e=null,s=function*(){at.value=!0,et.value=!0,st.value=null;try{const a=yield x(t);st.value=a}catch(a){y.error("获取分析数据失败")}finally{et.value=!1}},new Promise((t,l)=>{var i=t=>{try{o(s.next(t))}catch(a){l(a)}},r=t=>{try{o(s.throw(t))}catch(a){l(a)}},o=a=>a.done?t(a.value):Promise.resolve(a.value).then(i,r);o((s=s.apply(a,e)).next())});var a,e,s}}),(t,a)=>{const e=w,y=j,x=f,g=h,_=m;return l(),s(g,{modelValue:at.value,"onUpdate:modelValue":a[0]||(a[0]=t=>at.value=t),title:"活动数据分析",size:"80%","destroy-on-close":!0,class:"activity-analysis-drawer"},{default:i(()=>[r((l(),o("div",C,[st.value?(l(),o("div",z,[c("div",D,[a[2]||(a[2]=c("div",{class:"card-label"},"总营收 (元)",-1)),c("div",k,"¥"+u(ut(lt.value)),1),c("div",P,[a[1]||(a[1]=c("span",{class:"text-gray"},"总抽奖次数: ",-1)),c("span",L,u(ut(st.value.activity.totalDraws)),1)])]),c("div",A,[a[4]||(a[4]=c("div",{class:"card-label"},"总成本 (元)",-1)),c("div",F,"¥"+u(ut(st.value.summary.totalCost/100)),1),c("div",Q,[a[3]||(a[3]=c("span",{class:"text-gray"},"单次抽奖成本: ",-1)),c("span",E,"¥"+u(ut(ot.value/100)),1)])]),c("div",V,[a[6]||(a[6]=c("div",{class:"card-label"},"毛利润 (元)",-1)),c("div",{class:d(["card-value",it.value>=0?"text-success":"text-danger"])}," ¥"+u(ut(it.value)),3),c("div",M,[a[5]||(a[5]=c("span",{class:"text-gray"},"利润率: ",-1)),c("span",{class:d(["font-medium",rt.value>=0?"text-success":"text-danger"])},u(rt.value.toFixed(2))+"% ",3)])]),c("div",N,[a[8]||(a[8]=c("div",{class:"card-label"},"参与人数",-1)),c("div",T,u(ut(st.value.activity.totalParticipants)),1),c("div",I,[a[7]||(a[7]=c("span",{class:"text-gray"},"人均抽奖: ",-1)),c("span",O,u(nt.value)+" 次",1)])])])):n("",!0),st.value?(l(),o("div",S,[c("div",U,[a[9]||(a[9]=c("h3",{class:"text-lg font-medium"},"奖品出货分析",-1)),c("div",q," 统计时间: "+u((new Date).toLocaleString()),1)]),v(x,{data:ct.value,style:{width:"100%"},border:"",stripe:""},{default:i(()=>[v(e,{label:"奖品信息","min-width":"180"},{default:i(({row:t})=>{return[c("div",W,[c("span",{class:d(["level-badge mr-2",(a=t.prizeLevel,{1:"bg-pink-100 text-pink-600",2:"bg-red-100 text-red-600",3:"bg-orange-100 text-orange-600",4:"bg-yellow-100 text-yellow-600",5:"bg-green-100 text-green-600",6:"bg-cyan-100 text-cyan-600",7:"bg-blue-100 text-blue-600",8:"bg-indigo-100 text-indigo-600",9:"bg-gray-100 text-gray-600",11:"bg-purple-100 text-purple-600"}[a]||"bg-gray-100 text-gray-600")])},u(dt(t.prizeLevel)),3),c("div",null,[c("div",X,u(t.prizeName),1),c("div",B,u(p(b)(t.prizeType)),1)])])];var a}),_:1}),v(e,{label:"价值/成本",width:"120",align:"right"},{default:i(({row:t})=>[c("div",G,"¥"+u(ut(t.prizeValue/100)),1)]),_:1}),v(e,{label:"概率对比","min-width":"200"},{default:i(({row:t})=>{return[c("div",H,[c("div",J,[c("span",K,"配置: "+u(t.probability.toFixed(2))+"%",1),c("span",{class:d(["font-medium",(a=t.actualProbability,e=t.probability,Math.abs(a-e)<=.1?"text-success":a>e?"text-danger":"text-primary")])},"实际: "+u(t.actualProbability.toFixed(2))+"%",3)]),v(y,{percentage:Math.min(t.actualProbability/Math.max(t.probability,.01)*50,100),color:t.actualProbability>t.probability?"#F56C6C":"#67C23A","stroke-width":6,"show-text":!1},null,8,["percentage","color"])])];var a,e}),_:1}),v(e,{label:"发放进度","min-width":"180"},{default:i(({row:t})=>[c("div",R,[c("div",Y,[c("span",null,"已发: "+u(t.winCount),1),c("span",null,"总数: "+u(t.totalQuantity),1)]),v(y,{percentage:t.totalQuantity>0?t.winCount/t.totalQuantity*100:0,status:t.totalQuantity-t.winCount<10&&t.totalQuantity-t.winCount>0?"exception":"","stroke-width":6},{default:i(({percentage:a})=>[c("span",Z,u(t.totalQuantity-t.winCount)+" 剩余",1)]),_:2},1032,["percentage","status"])])]),_:1}),v(e,{label:"营收贡献",width:"150",align:"right"},{default:i(({row:t})=>[a[10]||(a[10]=c("div",{class:"text-xs text-gray-500"},"消耗库存价值",-1)),c("div",$,"¥"+u(ut(t.cost*t.winCount/100)),1)]),_:1})]),_:1},8,["data"])])):n("",!0),st.value||et.value?n("",!0):(l(),o("div",tt," 暂无数据 "))])),[[_,et.value]])]),_:1},8,["modelValue"])}}}),[["__scopeId","data-v-38548ddb"]]);export{at as default}; diff --git a/nginx/admin/assets/ActivityRankingDrawer-D7wqNV1b.js b/nginx/admin/assets/ActivityRankingDrawer-D7wqNV1b.js new file mode 100644 index 0000000..fbaabd0 --- /dev/null +++ b/nginx/admin/assets/ActivityRankingDrawer-D7wqNV1b.js @@ -0,0 +1 @@ +import{_ as i}from"./ActivityRankingDrawer.vue_vue_type_script_setup_true_lang-DgB00tZC.js";import"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./adminActivities-Dgt25iR5.js";import"./index-DqTthkO7.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-DvejFoOw.js";import"./index-C1haaLtB.js";import"./index-D2gD5Tn5.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./index-B18-crhn.js";import"./use-dialog-FwJ-QdmW.js";export{i as default}; diff --git a/nginx/admin/assets/ActivityRankingDrawer.vue_vue_type_script_setup_true_lang-DgB00tZC.js b/nginx/admin/assets/ActivityRankingDrawer.vue_vue_type_script_setup_true_lang-DgB00tZC.js new file mode 100644 index 0000000..da037c1 --- /dev/null +++ b/nginx/admin/assets/ActivityRankingDrawer.vue_vue_type_script_setup_true_lang-DgB00tZC.js @@ -0,0 +1 @@ +var e=(e,a,t)=>new Promise((l,o)=>{var s=e=>{try{i(t.next(e))}catch(a){o(a)}},r=e=>{try{i(t.throw(e))}catch(a){o(a)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);i((t=t.apply(e,a)).next())});import{d as a,r as t,h as l,e as o,w as s,f as r,N as i,g as n,j as u,v as m,b2 as p,T as d}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import{o as v}from"./adminActivities-Dgt25iR5.js";import{a as c,E as f}from"./index-DqTthkO7.js";import{E as j,a as g}from"./index-BjuMygln.js";import{E as x}from"./index-DvejFoOw.js";import{E as h}from"./index-C1haaLtB.js";import{E as y}from"./index-B18-crhn.js";const _={class:"mb-4 flex items-center justify-between"},b={class:"flex items-center"},w={class:"font-medium"},V={class:"text-xs text-g-400"},z={class:"font-mono"},E={class:"mt-4 flex justify-end"},U=a({__name:"ActivityRankingDrawer",setup(a,{expose:U}){const k=t(!1),C=t(!1),P=t(0),A=t("amount"),D=t(1),S=t(20),T=t(0),W=t([]),B=()=>e(this,null,function*(){D.value=1,yield F()}),F=()=>e(this,null,function*(){if(P.value){C.value=!0;try{const e=yield v(P.value,{sort_by:A.value,page:D.value,page_size:S.value});W.value=e.list||[],T.value=e.total||0}catch(e){d.error("获取活动排行榜失败")}finally{C.value=!1}}});return U({open:a=>e(this,null,function*(){P.value=a,A.value="amount",D.value=1,k.value=!0,yield F()})}),(e,a)=>{const t=f,d=c,v=g,U=x,P=j,G=h,I=y,M=p;return o(),l(I,{modelValue:k.value,"onUpdate:modelValue":a[3]||(a[3]=e=>k.value=e),title:"活动消费/订单排行榜",size:"70%","destroy-on-close":!0},{default:s(()=>[r("div",_,[n(d,{modelValue:A.value,"onUpdate:modelValue":a[0]||(a[0]=e=>A.value=e),size:"small",onChange:B},{default:s(()=>[n(t,{label:"amount"},{default:s(()=>[...a[4]||(a[4]=[u("消费总额排名",-1)])]),_:1}),n(t,{label:"orders"},{default:s(()=>[...a[5]||(a[5]=[u("订单数排名",-1)])]),_:1})]),_:1},8,["modelValue"]),a[6]||(a[6]=r("div",{class:"text-sm text-g-500"},"仅统计已支付订单(GMV = 实付 + 优惠)",-1))]),i((o(),l(P,{data:W.value,border:"",stripe:""},{default:s(()=>[n(v,{prop:"rank",label:"排名",width:"80",align:"center"}),n(v,{label:"用户","min-width":"220"},{default:s(({row:e})=>[r("div",b,[n(U,{size:30,src:e.avatar,class:"mr-3"},null,8,["src"]),r("div",null,[r("div",w,m(e.nickname||"未设置昵称"),1),r("div",V,"ID: "+m(e.user_id),1)])])]),_:1}),n(v,{label:"消费总额(元)",width:"170",align:"right"},{default:s(({row:e})=>[r("span",z,"¥"+m(((e.total_amount||0)/100).toFixed(2)),1)]),_:1}),n(v,{prop:"order_count",label:"订单数",width:"120",align:"center"})]),_:1},8,["data"])),[[M,C.value]]),r("div",E,[n(G,{"current-page":D.value,"onUpdate:currentPage":a[1]||(a[1]=e=>D.value=e),"page-size":S.value,"onUpdate:pageSize":a[2]||(a[2]=e=>S.value=e),total:T.value,layout:"prev, pager, next, jumper",onCurrentChange:F},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue"])}}});export{U as _}; diff --git a/nginx/admin/assets/ArtException.vue_vue_type_script_setup_true_lang-BNdHgCsP.js b/nginx/admin/assets/ArtException.vue_vue_type_script_setup_true_lang-BNdHgCsP.js new file mode 100644 index 0000000..bddf7d7 --- /dev/null +++ b/nginx/admin/assets/ArtException.vue_vue_type_script_setup_true_lang-BNdHgCsP.js @@ -0,0 +1 @@ +import{d as a,C as s,u as t,H as e,b as m,e as r,f as l,g as c,N as n,v as d,h as x,E as i,w as o,j as p}from"./index-BoIUJTA2.js";/* empty css */import{_ as u}from"./index-DVdhsH_J.js";const g={class:"page-content !border-0 !bg-transparent min-h-screen flex-cc"},f={class:"flex-cc max-md:!block max-md:text-center"},b={class:"ml-15 w-75 max-md:mx-auto max-md:mt-10 max-md:w-full max-md:text-center"},h={class:"text-xl leading-7 text-g-600 max-md:text-lg"},v=a({__name:"ArtException",props:{data:{}},setup(a){const v=s(),{homePath:_}=t(),j=()=>{v.push(_.value)};return(s,t)=>{const v=u,_=i,w=e("ripple");return r(),m("div",g,[l("div",f,[c(v,{src:a.data.imgUrl,size:"100%",class:"!w-100"},null,8,["src"]),l("div",b,[l("p",h,d(a.data.desc),1),n((r(),x(_,{type:"primary",size:"large",onClick:j,class:"mt-5"},{default:o(()=>[p(d(a.data.btnText),1)]),_:1})),[[w]])])])])}}});export{v as _}; diff --git a/nginx/admin/assets/ArtResultPage.vue_vue_type_script_setup_true_lang-D5vO0ry2.js b/nginx/admin/assets/ArtResultPage.vue_vue_type_script_setup_true_lang-D5vO0ry2.js new file mode 100644 index 0000000..eb7c85f --- /dev/null +++ b/nginx/admin/assets/ArtResultPage.vue_vue_type_script_setup_true_lang-D5vO0ry2.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,s=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,p=(t,s,r)=>s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[s]=r;import{_ as l}from"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import{d as n,b as c,e as m,g as i,f as d,q as u,v as x,s as b}from"./index-BoIUJTA2.js";const g={class:"title mt-8 text-3xl font-medium !text-g-900 max-md:mt-2.5 max-md:text-2xl"},f={class:"msg mt-5 text-base text-g-600"},_={class:"res mt-7.5 rounded bg-g-200/80 dark:bg-g-300/40 px-7.5 py-5.5 text-left max-md:px-7.5 max-md:py-2.5 [&_p]:flex [&_p]:items-center [&_p]:py-2 [&_p]:text-sm [&_p]:text-[#808695] [&_p_i]:mr-1.5"},y={class:"btn-group mt-12.5"},v=n((O=((e,t)=>{for(var s in t||(t={}))a.call(t,s)&&p(e,s,t[s]);if(r)for(var s of r(t))o.call(t,s)&&p(e,s,t[s]);return e})({},{name:"ArtResultPage"}),t(O,s({__name:"ArtResultPage",props:{type:{default:"success"},title:{default:""},message:{default:""},iconCode:{default:""}},setup:e=>(t,s)=>{const r=l;return m(),c("div",{class:u(["page-content box-border !px-20 py-3.5 text-center max-md:!px-5",e.type])},[i(r,{class:u(["icon size-22 p-2 mt-16 block rounded-full !text-white","success"===e.type?"bg-[#19BE6B]":"bg-[#ED4014]"]),icon:e.iconCode},null,8,["icon","class"]),d("h1",g,x(e.title),1),d("p",f,x(e.message),1),d("div",_,[b(t.$slots,"content")]),d("div",y,[b(t.$slots,"buttons")])],2)}}))));var O;export{v as _}; diff --git a/nginx/admin/assets/EffectEditDialog-BmAJKxJl.css b/nginx/admin/assets/EffectEditDialog-BmAJKxJl.css new file mode 100644 index 0000000..1d97d88 --- /dev/null +++ b/nginx/admin/assets/EffectEditDialog-BmAJKxJl.css @@ -0,0 +1 @@ +.unit[data-v-47e87be5]{margin-left:8px;color:#909399}.form-tip[data-v-47e87be5]{margin-top:4px;font-size:12px;color:#909399;line-height:1.4} diff --git a/nginx/admin/assets/EffectEditDialog-CaIWUZ9w.js b/nginx/admin/assets/EffectEditDialog-CaIWUZ9w.js new file mode 100644 index 0000000..9aad5b6 --- /dev/null +++ b/nginx/admin/assets/EffectEditDialog-CaIWUZ9w.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable,s=(a,l,t)=>l in a?e(a,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[l]=t,u=(e,u)=>{for(var r in u||(u={}))l.call(u,r)&&s(e,r,u[r]);if(a)for(var r of a(u))t.call(u,r)&&s(e,r,u[r]);return e},r=(e,a,l)=>new Promise((t,s)=>{var u=e=>{try{o(l.next(e))}catch(a){s(a)}},r=e=>{try{o(l.throw(e))}catch(a){s(a)}},o=e=>e.done?t(e.value):Promise.resolve(e.value).then(u,r);o((l=l.apply(e,a)).next())});import{d as o,r as i,k as p,c as d,A as m,h as n,e as _,w as c,g as f,b as y,i as v,I as b,K as V,j as g,J as x,f as j,E as h,v as k,T as U}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{titlesApi as q}from"./titles-D1iSw7M5.js";import{f as w}from"./activity-CMsiETfu.js";import{l as A}from"./adminActivities-Dgt25iR5.js";import{E}from"./index-CjpBlozU.js";import{a as I,E as O}from"./index-BcfO0-fK.js";import{E as z,a as D}from"./index-D2gD5Tn5.js";import{E as N}from"./index-C_S0YbqD.js";import{a as S,b as T}from"./index-DqTthkO7.js";import{E as C}from"./index-Dy3gZN7-.js";import{_ as P}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index-COyGylbk.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-BMeOzN3u.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./index-BnK4BbY2.js";const J=P(o({__name:"EffectEditDialog",props:{visible:{type:Boolean},title:{},effect:{},occupiedTypes:{}},emits:["update:visible","success"],setup(e,{emit:a}){const l=e,t=a,s=i(),o=i(!1);i([{id:1,name:"满100减10优惠券"},{id:2,name:"新用户专享券"},{id:3,name:"满200减30优惠券"},{id:4,name:"免运费券"}]);const P=i(""),J=i([]),B=i([]),H=i([]),K=i([]),M=i([]),Q=p({effect_type:1,params:{},stacking_strategy:1,cap_value_x1000:0,sort:0,status:1}),R={effect_type:[{required:!0,message:"请选择效果类型",trigger:"change"}],stacking_strategy:[{required:!0,message:"请选择叠加策略",trigger:"change"}],sort:[{required:!0,message:"请输入排序值",trigger:"blur"}],status:[{required:!0,message:"请选择状态",trigger:"change"}]},W=d({get:()=>l.visible,set:e=>t("update:visible",e)});function X(){Q.params=$(Q.effect_type)}function Y(e){return e.split(",").map(e=>e.trim()).filter(e=>e.length>0).map(e=>Number(e)).filter(e=>!Number.isNaN(e))}function $(e){switch(e){case 1:return{template_id:0,frequency:{period:"day",times:1}};case 2:return{discount_type:"percentage",value_x1000:100,max_discount_x1000:0};case 3:return{multiplier_x1000:2e3,daily_cap_points:0};case 4:return{template_id:0,frequency:{period:"week",times:1}};case 5:return{target_prize_ids:[],boost_x1000:100,cap_x1000:0};case 6:return{target_prize_ids:[],chance_x1000:200,period_cap_times:1};default:return{}}}function F(e){try{return JSON.parse(e||"{}")}catch(a){return{}}}function G(){return r(this,null,function*(){if(s.value)try{yield s.value.validate();const e=l.occupiedTypes||[];if((!l.effect||l.effect.effect_type!==Q.effect_type)&&e.includes(Q.effect_type))return void U.error("该效果类型已存在");o.value=!0;const a={effect_type:Q.effect_type,params_json:JSON.stringify(u(u(u({},Q.params),5===Q.effect_type&&{target_prize_ids:Y(P.value)}),6===Q.effect_type&&{target_prize_ids:Y(P.value)})),stacking_strategy:Q.stacking_strategy,cap_value_x1000:Q.cap_value_x1000,sort:Q.sort,status:Q.status,scopes_json:JSON.stringify({activity_ids:J.value,issue_ids:B.value,exclude:{issue_ids:H.value}})};l.effect?(yield q.updateTitleEffect(l.title.id,l.effect.id,a),U.success("修改成功")):(yield q.createTitleEffect(l.title.id,a),U.success("添加成功")),W.value=!1,t("success")}catch(e){!1!==e&&U.error(e.message||"操作失败")}finally{o.value=!1}})}return m(()=>l.effect,e=>{if(e)if(Q.effect_type=e.effect_type,Q.params=F(e.params_json)||$(e.effect_type),Q.stacking_strategy=e.stacking_strategy,Q.cap_value_x1000=e.cap_value_x1000,Q.sort=e.sort,Q.status=e.status,Q.params&&Array.isArray(Q.params.target_prize_ids)?P.value=String(Q.params.target_prize_ids.join(",")):P.value="",e.scopes_json){const a=F(e.scopes_json);J.value=Array.isArray(a.activity_ids)?a.activity_ids:[],B.value=Array.isArray(a.issue_ids)?a.issue_ids:[],H.value=a.exclude&&Array.isArray(a.exclude.issue_ids)?a.exclude.issue_ids:[]}else J.value=[],B.value=[],H.value=[];else Q.effect_type=1,Q.params=$(1),Q.stacking_strategy=1,Q.cap_value_x1000=0,Q.sort=0,Q.status=1,P.value="",J.value=[],B.value=[],H.value=[]},{immediate:!0}),m(J,()=>{!function(){r(this,null,function*(){const e=[],a=new Set;for(const l of J.value){const t=(yield A(l,1,200)).list||[];for(const l of t)a.has(l.id)||(a.add(l.id),e.push({id:l.id,issue_number:l.issue_number}))}M.value=e})}()}),function(){r(this,null,function*(){const e=yield w({page:1,page_size:100});K.value=e.records.map(e=>({id:e.id,name:e.name}))})}(),(a,l)=>{const t=D,u=z,r=O,i=N,p=V,d=T,m=S,U=C,q=I,w=h,A=E;return _(),n(A,{title:e.effect?"编辑效果":"添加效果",modelValue:W.value,"onUpdate:modelValue":l[26]||(l[26]=e=>W.value=e),width:"700px","close-on-click-modal":!1},{footer:c(()=>[f(w,{onClick:l[25]||(l[25]=e=>W.value=!1)},{default:c(()=>[...l[34]||(l[34]=[g("取 消",-1)])]),_:1}),f(w,{type:"primary",onClick:G,loading:o.value},{default:c(()=>[g(k(e.effect?"保 存":"添 加"),1)]),_:1},8,["loading"])]),default:c(()=>[f(q,{ref_key:"formRef",ref:s,model:Q,rules:R,"label-width":"120px"},{default:c(()=>[f(r,{label:"效果类型",prop:"effect_type"},{default:c(()=>[f(u,{modelValue:Q.effect_type,"onUpdate:modelValue":l[0]||(l[0]=e=>Q.effect_type=e),onChange:X,placeholder:"请选择效果类型"},{default:c(()=>[f(t,{label:"领券",value:1}),f(t,{label:"抽奖折扣",value:2}),f(t,{label:"签到倍数",value:3}),f(t,{label:"领道具卡",value:4}),f(t,{label:"概率加成",value:5}),f(t,{label:"双倍概率",value:6})]),_:1},8,["modelValue"])]),_:1}),1===Q.effect_type?(_(),y(b,{key:0},[f(r,{label:"模板ID",prop:"template_id"},{default:c(()=>[f(i,{modelValue:Q.params.template_id,"onUpdate:modelValue":l[1]||(l[1]=e=>Q.params.template_id=e),min:0},null,8,["modelValue"])]),_:1}),f(r,{label:"频次周期",prop:"frequency_period"},{default:c(()=>[f(u,{modelValue:Q.params.frequency.period,"onUpdate:modelValue":l[2]||(l[2]=e=>Q.params.frequency.period=e),placeholder:"选择周期"},{default:c(()=>[f(t,{label:"每天",value:"day"}),f(t,{label:"每周",value:"week"}),f(t,{label:"每月",value:"month"})]),_:1},8,["modelValue"])]),_:1}),f(r,{label:"次数",prop:"frequency_times"},{default:c(()=>[f(i,{modelValue:Q.params.frequency.times,"onUpdate:modelValue":l[3]||(l[3]=e=>Q.params.frequency.times=e),min:1},null,8,["modelValue"])]),_:1})],64)):2===Q.effect_type?(_(),y(b,{key:1},[f(r,{label:"折扣类型",prop:"discount_type"},{default:c(()=>[f(u,{modelValue:Q.params.discount_type,"onUpdate:modelValue":l[4]||(l[4]=e=>Q.params.discount_type=e)},{default:c(()=>[f(t,{label:"百分比",value:"percentage"}),f(t,{label:"固定金额",value:"fixed"})]),_:1},8,["modelValue"])]),_:1}),f(r,{label:"折扣值(×1000)",prop:"value_x1000"},{default:c(()=>[f(i,{modelValue:Q.params.value_x1000,"onUpdate:modelValue":l[5]||(l[5]=e=>Q.params.value_x1000=e),min:0,step:10},null,8,["modelValue"])]),_:1}),f(r,{label:"最高减免(×1000)",prop:"max_discount_x1000"},{default:c(()=>[f(i,{modelValue:Q.params.max_discount_x1000,"onUpdate:modelValue":l[6]||(l[6]=e=>Q.params.max_discount_x1000=e),min:0,step:10},null,8,["modelValue"])]),_:1})],64)):3===Q.effect_type?(_(),y(b,{key:2},[f(r,{label:"倍率(×1000)",prop:"multiplier_x1000"},{default:c(()=>[f(i,{modelValue:Q.params.multiplier_x1000,"onUpdate:modelValue":l[7]||(l[7]=e=>Q.params.multiplier_x1000=e),min:0,step:100},null,8,["modelValue"])]),_:1}),f(r,{label:"每日积分上限",prop:"daily_cap_points"},{default:c(()=>[f(i,{modelValue:Q.params.daily_cap_points,"onUpdate:modelValue":l[8]||(l[8]=e=>Q.params.daily_cap_points=e),min:0},null,8,["modelValue"])]),_:1})],64)):4===Q.effect_type?(_(),y(b,{key:3},[f(r,{label:"模板ID",prop:"template_id"},{default:c(()=>[f(i,{modelValue:Q.params.template_id,"onUpdate:modelValue":l[9]||(l[9]=e=>Q.params.template_id=e),min:0},null,8,["modelValue"])]),_:1}),f(r,{label:"频次周期",prop:"frequency_period"},{default:c(()=>[f(u,{modelValue:Q.params.frequency.period,"onUpdate:modelValue":l[10]||(l[10]=e=>Q.params.frequency.period=e),placeholder:"选择周期"},{default:c(()=>[f(t,{label:"每周",value:"week"}),f(t,{label:"每月",value:"month"})]),_:1},8,["modelValue"])]),_:1}),f(r,{label:"次数",prop:"frequency_times"},{default:c(()=>[f(i,{modelValue:Q.params.frequency.times,"onUpdate:modelValue":l[11]||(l[11]=e=>Q.params.frequency.times=e),min:1},null,8,["modelValue"])]),_:1})],64)):5===Q.effect_type?(_(),y(b,{key:4},[f(r,{label:"目标奖品ID",prop:"target_prize_ids"},{default:c(()=>[f(p,{modelValue:P.value,"onUpdate:modelValue":l[12]||(l[12]=e=>P.value=e),placeholder:"以逗号分隔的ID,如 101,102"},null,8,["modelValue"])]),_:1}),f(r,{label:"加成(×1000)",prop:"boost_x1000"},{default:c(()=>[f(i,{modelValue:Q.params.boost_x1000,"onUpdate:modelValue":l[13]||(l[13]=e=>Q.params.boost_x1000=e),min:0,step:10},null,8,["modelValue"])]),_:1}),f(r,{label:"封顶(×1000)",prop:"cap_x1000"},{default:c(()=>[f(i,{modelValue:Q.params.cap_x1000,"onUpdate:modelValue":l[14]||(l[14]=e=>Q.params.cap_x1000=e),min:0,step:10},null,8,["modelValue"])]),_:1})],64)):6===Q.effect_type?(_(),y(b,{key:5},[f(r,{label:"目标奖品ID",prop:"target_prize_ids"},{default:c(()=>[f(p,{modelValue:P.value,"onUpdate:modelValue":l[15]||(l[15]=e=>P.value=e),placeholder:"以逗号分隔的ID,如 101,102"},null,8,["modelValue"])]),_:1}),f(r,{label:"概率(×1000)",prop:"chance_x1000"},{default:c(()=>[f(i,{modelValue:Q.params.chance_x1000,"onUpdate:modelValue":l[16]||(l[16]=e=>Q.params.chance_x1000=e),min:0,step:10},null,8,["modelValue"])]),_:1}),f(r,{label:"周期内次数上限",prop:"period_cap_times"},{default:c(()=>[f(i,{modelValue:Q.params.period_cap_times,"onUpdate:modelValue":l[17]||(l[17]=e=>Q.params.period_cap_times=e),min:0},null,8,["modelValue"])]),_:1})],64)):v("",!0),f(r,{label:"叠加策略",prop:"stacking_strategy"},{default:c(()=>[f(m,{modelValue:Q.stacking_strategy,"onUpdate:modelValue":l[18]||(l[18]=e=>Q.stacking_strategy=e)},{default:c(()=>[f(d,{label:0},{default:c(()=>[...l[27]||(l[27]=[g("最大值",-1)])]),_:1}),f(d,{label:1},{default:c(()=>[...l[28]||(l[28]=[g("累加封顶",-1)])]),_:1}),f(d,{label:2},{default:c(()=>[...l[29]||(l[29]=[g("首个匹配",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),f(r,{label:"统一封顶(×1000)",prop:"cap_value_x1000"},{default:c(()=>[f(i,{modelValue:Q.cap_value_x1000,"onUpdate:modelValue":l[19]||(l[19]=e=>Q.cap_value_x1000=e),min:0,step:10},null,8,["modelValue"])]),_:1}),f(U,null,{default:c(()=>[...l[30]||(l[30]=[g("作用范围",-1)])]),_:1}),f(r,{label:"包含活动",prop:"scope_activity_ids"},{default:c(()=>[f(u,{modelValue:J.value,"onUpdate:modelValue":l[20]||(l[20]=e=>J.value=e),multiple:"",filterable:"",placeholder:"选择活动"},{default:c(()=>[(_(!0),y(b,null,x(K.value,e=>(_(),n(t,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),f(r,{label:"包含期",prop:"scope_issue_ids"},{default:c(()=>[f(u,{modelValue:B.value,"onUpdate:modelValue":l[21]||(l[21]=e=>B.value=e),multiple:"",filterable:"",placeholder:"选择期"},{default:c(()=>[(_(!0),y(b,null,x(M.value,e=>(_(),n(t,{key:e.id,label:e.issue_number,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),f(r,{label:"排除期",prop:"scope_ex_issue_ids"},{default:c(()=>[f(u,{modelValue:H.value,"onUpdate:modelValue":l[22]||(l[22]=e=>H.value=e),multiple:"",filterable:"",placeholder:"选择排除期"},{default:c(()=>[(_(!0),y(b,null,x(M.value,e=>(_(),n(t,{key:"ex-"+e.id,label:e.issue_number,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),f(r,{label:"排序",prop:"sort"},{default:c(()=>[f(i,{modelValue:Q.sort,"onUpdate:modelValue":l[23]||(l[23]=e=>Q.sort=e),min:0,max:999},null,8,["modelValue"]),l[31]||(l[31]=j("div",{class:"form-tip"},"数值越大优先级越高",-1))]),_:1}),f(r,{label:"状态",prop:"status"},{default:c(()=>[f(m,{modelValue:Q.status,"onUpdate:modelValue":l[24]||(l[24]=e=>Q.status=e)},{default:c(()=>[f(d,{label:1},{default:c(()=>[...l[32]||(l[32]=[g("启用",-1)])]),_:1}),f(d,{label:0},{default:c(()=>[...l[33]||(l[33]=[g("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title","modelValue"])}}}),[["__scopeId","data-v-47e87be5"]]);export{J as default}; diff --git a/nginx/admin/assets/EffectEditDialog-CaIWUZ9w.js.gz b/nginx/admin/assets/EffectEditDialog-CaIWUZ9w.js.gz new file mode 100644 index 0000000..74fd6f2 Binary files /dev/null and b/nginx/admin/assets/EffectEditDialog-CaIWUZ9w.js.gz differ diff --git a/nginx/admin/assets/EffectManagerDialog-BmMTyIDl.js b/nginx/admin/assets/EffectManagerDialog-BmMTyIDl.js new file mode 100644 index 0000000..b2e0413 --- /dev/null +++ b/nginx/admin/assets/EffectManagerDialog-BmMTyIDl.js @@ -0,0 +1 @@ +var e=(e,t,i)=>new Promise((a,s)=>{var l=e=>{try{o(i.next(e))}catch(t){s(t)}},r=e=>{try{o(i.throw(e))}catch(t){s(t)}},o=e=>e.done?a(e.value):Promise.resolve(e.value).then(l,r);o((i=i.apply(e,t)).next())});import{d as t,r as i,c as a,A as s,h as l,e as r,w as o,f as n,g as p,N as u,E as d,j as c,ai as m,p as f,b5 as _,eo as v,v as y,b as j,I as g,J as b,b2 as x,T as w,aV as h}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import{titlesApi as k}from"./titles-D1iSw7M5.js";import A from"./EffectEditDialog-CaIWUZ9w.js";import{E as $,a as z}from"./index-BjuMygln.js";import{E as C}from"./index-ZsMdSUVI.js";import{E}from"./index-CjpBlozU.js";import{_ as T}from"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./activity-CMsiETfu.js";import"./adminActivities-Dgt25iR5.js";import"./index-BcfO0-fK.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-D2gD5Tn5.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./index-C_S0YbqD.js";import"./index-BnK4BbY2.js";import"./index-DqTthkO7.js";import"./index-Dy3gZN7-.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./index-D8nVJoNy.js";const B={class:"effect-manager"},V={class:"toolbar"},I={class:"params-view"},S={class:"params-view"},D=T(t({__name:"EffectManagerDialog",props:{visible:{type:Boolean},title:{}},emits:["update:visible"],setup(t,{emit:T}){const D=t,O=T,U=i(!1),J=i([]),L=i(!1),M=i(null),N=a({get:()=>D.visible,set:e=>O("update:visible",e)}),P={1:{name:"领券",tag:"warning"},2:{name:"抽奖折扣",tag:"success"},3:{name:"签到倍数",tag:"primary"},4:{name:"领道具卡",tag:"info"},5:{name:"概率加成",tag:"warning"},6:{name:"双倍概率",tag:"danger"}},q={0:"最大值",1:"累加封顶",2:"首个匹配"};function H(e){var t;return(null==(t=P[e])?void 0:t.name)||"未知"}function Q(e){var t;return(null==(t=P[e])?void 0:t.tag)||"info"}function W(e){try{return JSON.parse(e||"{}")}catch(t){return{}}}function X(e){const t=W(e.scopes_json||"{}"),i=t.exclude||{};return{activity_ids:Array.isArray(t.activity_ids)?t.activity_ids:[],issue_ids:Array.isArray(t.issue_ids)?t.issue_ids:[],exclude_issue_ids:Array.isArray(i.issue_ids)?i.issue_ids:[]}}function Y(e,t){const i={template_id:"模板ID",frequency:"频次",period:"周期",times:"次数",discount_type:"折扣类型",value_x1000:"折扣值×1000",max_discount_x1000:"最高减免×1000",multiplier_x1000:"倍率×1000",daily_cap_points:"每日积分上限",target_prize_ids:"目标奖品",boost_x1000:"加成×1000",cap_x1000:"封顶×1000",chance_x1000:"概率×1000",period_cap_times:"周期次数上限"}[e]||e;return"number"==typeof t?`${i}: ${t}`:Array.isArray(t)?`${i}: ${t.length}项`:`${i}: ${t}`}function F(){return e(this,null,function*(){if(D.title){U.value=!0;try{const e=yield k.getTitleEffects(D.title.id);J.value=e.list||[]}catch(e){w.error("加载效果列表失败"),J.value=[]}finally{U.value=!1}}})}function G(){M.value=null,L.value=!0}function K(){F()}return s(N,e=>{e&&D.title&&F()}),(i,a)=>{var s;const T=m,O=d,P=C,R=z,Z=$,ee=E,te=x;return r(),l(ee,{title:`称号效果管理 - ${null==(s=t.title)?void 0:s.name}`,modelValue:N.value,"onUpdate:modelValue":a[1]||(a[1]=e=>N.value=e),width:"90%","close-on-click-modal":!1},{default:o(()=>[n("div",B,[n("div",V,[p(O,{type:"primary",onClick:G},{default:o(()=>[p(T,null,{default:o(()=>[p(f(_))]),_:1}),a[2]||(a[2]=c("添加效果 ",-1))]),_:1}),p(O,{type:"info",onClick:K},{default:o(()=>[p(T,null,{default:o(()=>[p(f(v))]),_:1}),a[3]||(a[3]=c("刷新 ",-1))]),_:1})]),u((r(),l(Z,{data:J.value,border:""},{default:o(()=>[p(R,{prop:"effect_type",label:"效果类型",width:"120"},{default:o(({row:e})=>[p(P,{type:Q(e.effect_type)},{default:o(()=>[c(y(H(e.effect_type)),1)]),_:2},1032,["type"])]),_:1}),p(R,{prop:"params",label:"参数配置","min-width":"200"},{default:o(({row:e})=>[n("div",I,[(r(!0),j(g,null,b(W(e.params_json),(e,t)=>(r(),l(P,{key:t,size:"small"},{default:o(()=>[c(y(Y(String(t),e)),1)]),_:2},1024))),128))])]),_:1}),p(R,{label:"作用范围","min-width":"220"},{default:o(({row:e})=>[n("div",S,[(r(!0),j(g,null,b(X(e).activity_ids,e=>(r(),l(P,{type:"info",size:"small",key:"a-"+e},{default:o(()=>[c("活动:"+y(e),1)]),_:2},1024))),128)),(r(!0),j(g,null,b(X(e).issue_ids,e=>(r(),l(P,{type:"success",size:"small",key:"i-"+e},{default:o(()=>[c("期:"+y(e),1)]),_:2},1024))),128)),(r(!0),j(g,null,b(X(e).exclude_issue_ids,e=>(r(),l(P,{type:"danger",size:"small",key:"x-"+e},{default:o(()=>[c("排除期:"+y(e),1)]),_:2},1024))),128))])]),_:1}),p(R,{prop:"stacking_strategy",label:"叠加策略",width:"100"},{default:o(({row:e})=>{return[c(y((t=e.stacking_strategy,q[t]||"未知")),1)];var t}),_:1}),p(R,{prop:"cap_value_x1000",label:"上限值",width:"100"},{default:o(({row:e})=>[c(y(e.cap_value_x1000/1e3),1)]),_:1}),p(R,{prop:"sort",label:"排序",width:"80",sortable:""}),p(R,{prop:"status",label:"状态",width:"80"},{default:o(({row:e})=>[p(P,{type:1===e.status?"success":"danger",size:"small"},{default:o(()=>[c(y(1===e.status?"启用":"停用"),1)]),_:2},1032,["type"])]),_:1}),p(R,{prop:"created_at",label:"创建时间",width:"160"}),p(R,{label:"操作",width:"150",fixed:"right"},{default:o(({row:t})=>[p(O,{type:"primary",size:"small",onClick:e=>{return i=t,M.value=i,void(L.value=!0);var i}},{default:o(()=>[...a[4]||(a[4]=[c("编辑",-1)])]),_:1},8,["onClick"]),p(O,{type:"danger",size:"small",onClick:i=>function(t){return e(this,null,function*(){var e,i;try{const e=H(t.effect_type);yield h.confirm(`确定要删除效果"${e}"吗?此操作不可恢复`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",beforeClose:(e,t,i)=>{"confirm"===e?t.confirmButtonLoading=!0:i()}}),yield k.deleteTitleEffect(D.title.id,t.id),w.success({message:`"${e}"已成功删除`,duration:3e3}),F()}catch(a){if("cancel"===a)return;const s=(null==(i=null==(e=null==a?void 0:a.response)?void 0:e.data)?void 0:i.message)||a.message||"删除失败",l=H(t.effect_type);w.error({message:`"${l}"删除失败:${s}`,duration:4e3})}})}(t)},{default:o(()=>[...a[5]||(a[5]=[c("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[te,U.value]])]),p(A,{visible:L.value,"onUpdate:visible":a[0]||(a[0]=e=>L.value=e),title:t.title,effect:M.value,"occupied-types":J.value.map(e=>e.effect_type),onSuccess:F},null,8,["visible","title","effect","occupied-types"])]),_:1},8,["title","modelValue"])}}}),[["__scopeId","data-v-31a74478"]]);export{D as default}; diff --git a/nginx/admin/assets/EffectManagerDialog-DnvqZPdh.css b/nginx/admin/assets/EffectManagerDialog-DnvqZPdh.css new file mode 100644 index 0000000..d46a951 --- /dev/null +++ b/nginx/admin/assets/EffectManagerDialog-DnvqZPdh.css @@ -0,0 +1 @@ +.effect-manager[data-v-31a74478]{padding:0}.toolbar[data-v-31a74478]{margin-bottom:16px;display:flex;gap:12px}.params-view[data-v-31a74478]{display:flex;flex-wrap:wrap;gap:4px}.params-view .el-tag[data-v-31a74478]{margin:2px} diff --git a/nginx/admin/assets/Iframe-N6cwNV9d.js b/nginx/admin/assets/Iframe-N6cwNV9d.js new file mode 100644 index 0000000..7ea4735 --- /dev/null +++ b/nginx/admin/assets/Iframe-N6cwNV9d.js @@ -0,0 +1 @@ +var e=Object.defineProperty,r=Object.defineProperties,a=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,s=(r,a,t)=>a in r?e(r,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[a]=t;import{d as l,a as f,r as c,o as i,b1 as b,N as p,b2 as u,p as m,e as d,b as v,f as y}from"./index-BoIUJTA2.js";const O={class:"box-border w-full h-full"},h=["src"],j=l((w=((e,r)=>{for(var a in r||(r={}))o.call(r,a)&&s(e,a,r[a]);if(t)for(var a of t(r))n.call(r,a)&&s(e,a,r[a]);return e})({},{name:"IframeView"}),r(w,a({__name:"Iframe",setup(e){const r=f(),a=c(!0),t=c(""),o=c(null);i(()=>{const e=b.getInstance().findByPath(r.path);(null==e?void 0:e.meta)&&(t.value=e.meta.link||"")});const n=()=>{a.value=!1};return(e,r)=>{const s=u;return p((d(),v("div",O,[y("iframe",{ref_key:"iframeRef",ref:o,src:m(t),frameborder:"0",class:"w-full h-full min-h-[calc(100vh-120px)] border-none",onLoad:n},null,40,h)])),[[s,m(a)]])}}}))));var w;export{j as default}; diff --git a/nginx/admin/assets/LoginLeftView-BN4zi5Xi.css b/nginx/admin/assets/LoginLeftView-BN4zi5Xi.css new file mode 100644 index 0000000..c5f0a83 --- /dev/null +++ b/nginx/admin/assets/LoginLeftView-BN4zi5Xi.css @@ -0,0 +1 @@ +.color-dots[data-v-254aa00e]{pointer-events:none;backdrop-filter:blur(10px);box-shadow:0 2px 12px var(--art-gray-300);transition:opacity .3s ease,transform .3s ease;transform:translate(10px)}.color-dot[data-v-254aa00e]{box-shadow:0 2px 4px #00000026;transition:all .3s cubic-bezier(.4,0,.2,1);transition-delay:calc(var(--index) * .05s);transform:translate(20px) scale(.8)}.color-dot[data-v-254aa00e]:hover{box-shadow:0 4px 8px #0003;transform:translate(0) scale(1.1)}.color-picker-expandable:hover .color-dots[data-v-254aa00e]{pointer-events:auto;opacity:1;transform:translate(0)}.color-picker-expandable:hover .color-dot[data-v-254aa00e]{opacity:1;transform:translate(0) scale(1)}.dark .color-dots[data-v-254aa00e]{background-color:var(--art-gray-200);box-shadow:none}.color-picker-expandable:hover .palette-btn[data-v-254aa00e] .art-svg-icon{color:var(--caa805ce)}.login-left-view[data-v-591b4b14]{position:relative;box-sizing:border-box;width:65vw;height:100%;padding:15px;overflow:hidden;background-color:color-mix(in srgb,var(--el-color-primary-light-9) 100%,var(--default-box-color))}.login-left-view .logo[data-v-591b4b14]{position:relative;z-index:100;display:flex;align-items:center}.login-left-view .logo .title[data-v-591b4b14]{margin-left:10px;font-size:20px;font-weight:400}.login-left-view .left-img[data-v-591b4b14]{position:absolute;inset:0 0 10.5%;z-index:10;width:40%;margin:auto;animation:slideInLeft-591b4b14 .6s cubic-bezier(.25,.46,.45,.94) forwards}.login-left-view .text-wrap[data-v-591b4b14]{position:absolute;bottom:80px;width:100%;text-align:center;animation:slideInLeft-591b4b14 .6s cubic-bezier(.25,.46,.45,.94) forwards}.login-left-view .text-wrap h1[data-v-591b4b14]{font-size:24px;font-weight:400;color:var(--art-gray-900)!important}.login-left-view .text-wrap p[data-v-591b4b14]{margin-top:10px;font-size:14px;color:var(--art-gray-600)!important}.login-left-view .geometric-decorations .geo-element[data-v-591b4b14]{position:absolute;opacity:0;animation-fill-mode:forwards;animation-duration:.8s;animation-timing-function:cubic-bezier(.25,.46,.45,.94)}@keyframes fadeInUp-591b4b14{0%{opacity:0;transform:translateY(30px) rotate(0)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes fadeInDown-591b4b14{0%{opacity:0;transform:translateY(-30px) rotate(0)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes fadeInLeft-591b4b14{0%{opacity:0;transform:translate(-30px) rotate(0)}to{opacity:1;transform:translate(0) rotate(0)}}@keyframes fadeInLeftRotated-591b4b14{0%{opacity:0;transform:translate(-30px) rotate(-25deg)}to{opacity:1;transform:translate(0) rotate(-25deg)}}@keyframes fadeInRight-591b4b14{0%{opacity:0;transform:translate(30px) rotate(0)}to{opacity:1;transform:translate(0) rotate(0)}}@keyframes fadeInRightRotated-591b4b14{0%{opacity:0;transform:translate(30px) rotate(45deg)}to{opacity:1;transform:translate(0) rotate(45deg)}}@keyframes fadeInLeftRotatedBlue-591b4b14{0%{opacity:0;transform:translate(-30px) rotate(-10deg)}to{opacity:1;transform:translate(0) rotate(-10deg)}}@keyframes fadeInLeftRotatedPink-591b4b14{0%{opacity:0;transform:translate(-30px) rotate(10deg)}to{opacity:1;transform:translate(0) rotate(10deg)}}@keyframes fadeInLeftNoRotation-591b4b14{0%{opacity:0;transform:translate(-30px) rotate(0)}to{opacity:1;transform:translate(0) rotate(0)}}@keyframes scaleIn-591b4b14{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn-591b4b14{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes lineGrow-591b4b14{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft-591b4b14{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.login-left-view .geometric-decorations .animate-fade-in-up[data-v-591b4b14]{animation-name:fadeInUp-591b4b14}.login-left-view .geometric-decorations .animate-fade-in-down[data-v-591b4b14]{animation-name:fadeInDown-591b4b14}.login-left-view .geometric-decorations .animate-fade-in-left[data-v-591b4b14]{animation-name:fadeInLeft-591b4b14}.login-left-view .geometric-decorations .animate-fade-in-right[data-v-591b4b14]{animation-name:fadeInRight-591b4b14}.login-left-view .geometric-decorations .animate-scale-in[data-v-591b4b14]{animation-name:scaleIn-591b4b14;animation-duration:1.2s}.login-left-view .geometric-decorations .animate-bounce-in[data-v-591b4b14]{animation-name:bounceIn-591b4b14;animation-duration:.6s}.login-left-view .geometric-decorations .animate-fade-in-left-rotated-blue[data-v-591b4b14]{animation-name:fadeInLeftRotatedBlue-591b4b14}.login-left-view .geometric-decorations .animate-fade-in-left-rotated-pink[data-v-591b4b14]{animation-name:fadeInLeftRotatedPink-591b4b14}.login-left-view .geometric-decorations .animate-fade-in-left-no-rotation[data-v-591b4b14]{animation-name:fadeInLeftNoRotation-591b4b14}.login-left-view .geometric-decorations .circle-outline[data-v-591b4b14]{top:10%;left:25%;width:42px;height:42px;border:2px solid var(--el-color-primary-light-8);border-radius:50%}.login-left-view .geometric-decorations .square-rotated[data-v-591b4b14]{top:50%;left:16%;width:60px;height:60px;background-color:color-mix(in srgb,var(--el-color-primary-light-8) 80%,var(--default-box-color))}.login-left-view .geometric-decorations .square-rotated.animate-fade-in-left[data-v-591b4b14]{animation-name:fadeInLeftRotated-591b4b14}.login-left-view .geometric-decorations .circle-small[data-v-591b4b14]{bottom:26%;left:30%;width:18px;height:18px;background-color:var(--el-color-primary-light-8);border-radius:50%}.login-left-view .geometric-decorations .circle-top-right[data-v-591b4b14]{top:3%;right:3%;z-index:100;width:50px;height:50px;cursor:pointer;background:color-mix(in srgb,var(--el-color-primary-light-7) 80%,var(--default-box-color));border-radius:50%;transition:all .3s}.login-left-view .geometric-decorations .circle-top-right[data-v-591b4b14]:after{position:absolute;top:50%;left:50%;width:100%;height:100%;content:"";background:linear-gradient(to right,#fcbb04,#fffc00);border-radius:50%;opacity:0;transition:all .5s;transform:translate(-50%,-50%)}.login-left-view .geometric-decorations .circle-top-right[data-v-591b4b14]:hover{box-shadow:0 0 36px #fffc00}.login-left-view .geometric-decorations .circle-top-right[data-v-591b4b14]:hover:after{opacity:1}.login-left-view .geometric-decorations .square-bottom-right[data-v-591b4b14]{right:10%;bottom:10%;width:50px;height:50px;background-color:var(--el-color-primary-light-8)}.login-left-view .geometric-decorations .square-bottom-right.animate-fade-in-right[data-v-591b4b14]{animation-name:fadeInRightRotated-591b4b14}.login-left-view .geometric-decorations .bg-bubble[data-v-591b4b14]{top:-120px;right:-120px;width:360px;height:360px;background-color:color-mix(in srgb,var(--el-color-primary-light-8) 80%,var(--default-box-color));border-radius:50%}.login-left-view .geometric-decorations .dot[data-v-591b4b14]{width:14px;height:14px;background-color:var(--el-color-primary-light-7);border-radius:50%}.login-left-view .geometric-decorations .dot.dot-top-left[data-v-591b4b14]{top:140px;left:100px}.login-left-view .geometric-decorations .dot.dot-top-right[data-v-591b4b14]{top:140px;right:120px}.login-left-view .geometric-decorations .dot.dot-center-right[data-v-591b4b14]{top:46%;right:22%;background-color:var(--el-color-primary-light-8)}.login-left-view .geometric-decorations .squares-group[data-v-591b4b14]{position:absolute;bottom:18px;left:20px;width:140px;height:140px;pointer-events:none}.login-left-view .geometric-decorations .squares-group .square[data-v-591b4b14]{position:absolute;display:block;border-radius:8px;box-shadow:0 8px 24px #4057a71f}.login-left-view .geometric-decorations .squares-group .square.square-blue[data-v-591b4b14]{top:12px;left:30px;z-index:2;width:50px;height:50px;background-color:rgb(from var(--el-color-primary) r g b/30%)}.login-left-view .geometric-decorations .squares-group .square.square-pink[data-v-591b4b14]{top:30px;left:48px;z-index:1;width:70px;height:70px;background-color:rgb(from var(--el-color-primary) r g b/15%)}.login-left-view .geometric-decorations .squares-group .square.square-purple[data-v-591b4b14]{top:66px;left:86px;z-index:3;width:32px;height:32px;background-color:rgb(from var(--el-color-primary) r g b/45%)}.login-left-view .geometric-decorations .squares-group[data-v-591b4b14]:after{position:absolute;top:86px;left:72px;width:80px;height:1px;content:"";background:linear-gradient(90deg,var(--el-color-primary-light-6),transparent);opacity:0;transform:rotate(50deg);animation:lineGrow-591b4b14 .8s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:1.2s}@media only screen and (width <= 1600px){.login-left-view[data-v-591b4b14]{width:60vw}.login-left-view .text-wrap[data-v-591b4b14]{bottom:40px}}@media only screen and (width <= 1180px){.login-left-view[data-v-591b4b14]{width:auto;height:auto;padding:0;background:transparent}.login-left-view .left-img[data-v-591b4b14],.login-left-view .text-wrap[data-v-591b4b14],.login-left-view .geometric-decorations[data-v-591b4b14],.login-left-view .logo[data-v-591b4b14]{display:none}}.dark .login-left-view[data-v-591b4b14]{background-color:color-mix(in srgb,var(--el-color-primary-light-9) 60%,#070707)}@media only screen and (width <= 1180px){.dark .login-left-view[data-v-591b4b14]{background:transparent}}.dark .login-left-view .geometric-decorations .circle-top-right[data-v-591b4b14]{background-color:color-mix(in srgb,var(--el-color-primary-light-8) 80%,var(--default-box-color));box-shadow:0 0 25px #333 inset;transition:all .3s ease-in-out .1s;rotate:-48deg}.dark .login-left-view .geometric-decorations .circle-top-right[data-v-591b4b14]:before{position:absolute;top:0;left:15px;width:50px;height:50px;content:"";background-color:color-mix(in srgb,var(--el-color-primary-light-9) 100%,var(--default-box-color));border-radius:50%;transition:all .3s ease-in-out}.dark .login-left-view .geometric-decorations .circle-top-right[data-v-591b4b14]:hover{background-color:transparent;box-shadow:0 40px 25px #ddd inset}.dark .login-left-view .geometric-decorations .circle-top-right[data-v-591b4b14]:hover:before{left:18px}.dark .login-left-view .geometric-decorations .circle-top-right[data-v-591b4b14]:hover:after{opacity:0}.dark .login-left-view .geometric-decorations .bg-bubble[data-v-591b4b14],.dark .login-left-view .geometric-decorations .square-rotated[data-v-591b4b14]{background-color:color-mix(in srgb,var(--el-color-primary-light-9) 100%,var(--default-box-color))}.dark .login-left-view .geometric-decorations .circle-small[data-v-591b4b14],.dark .login-left-view .geometric-decorations .dot[data-v-591b4b14]{background-color:var(--el-color-primary-light-8)}.dark .login-left-view .geometric-decorations .square-bottom-right[data-v-591b4b14]{background-color:var(--el-color-primary-light-9)}.dark .login-left-view .geometric-decorations .dot.dot-top-right[data-v-591b4b14]{background-color:var(--el-color-primary-light-8)}.dark .login-left-view .squares-group .square[data-v-591b4b14]{box-shadow:none}.dark .login-left-view .squares-group .square.square-blue[data-v-591b4b14]{background-color:rgb(from var(--el-color-primary) r g b/18%)}.dark .login-left-view .squares-group .square.square-pink[data-v-591b4b14]{background-color:rgb(from var(--el-color-primary) r g b/10%)}.dark .login-left-view .squares-group .square.square-purple[data-v-591b4b14]{background-color:rgb(from var(--el-color-primary) r g b/20%)}.dark .login-left-view .squares-group[data-v-591b4b14]:after{background:linear-gradient(90deg,var(--el-color-primary-light-8),transparent)} diff --git a/nginx/admin/assets/LoginLeftView-BN4zi5Xi.css.gz b/nginx/admin/assets/LoginLeftView-BN4zi5Xi.css.gz new file mode 100644 index 0000000..bfd3a2c Binary files /dev/null and b/nginx/admin/assets/LoginLeftView-BN4zi5Xi.css.gz differ diff --git a/nginx/admin/assets/LoginLeftView-DmcFsDtV.js b/nginx/admin/assets/LoginLeftView-DmcFsDtV.js new file mode 100644 index 0000000..71b454b --- /dev/null +++ b/nginx/admin/assets/LoginLeftView-DmcFsDtV.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,n=(a,t,s)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[t]=s;import{d as o,U as c,x as r,B as d,y as m,z as u,D as p,b as v,e as b,f,g,v as y,p as x,h,i as _,I as w,J as j,w as k,V as q,q as C,W as O,m as T,X as z}from"./index-BoIUJTA2.js";/* empty css */import{E as I,a as B,b as D}from"./el-dropdown-item-D7SYN_RE.js";/* empty css *//* empty css */import{_ as P}from"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import{u as S,_ as V}from"./useHeaderBar-B65RzJLX.js";import{_ as L}from"./_plugin-vue_export-helper-BCo6x5W8.js";import{_ as E}from"./index-DVdhsH_J.js";const U={class:"absolute w-full flex-cb top-4.5 z-10 flex-c !justify-end max-[1180px]:!justify-between"},A={class:"flex-cc !hidden max-[1180px]:!flex ml-2 max-sm:ml-6"},$={class:"text-xl ont-mediumf ml-2"},H={class:"flex-cc gap-1.5 mr-2 max-sm:mr-5"},J={class:"color-picker-expandable relative flex-c max-sm:!hidden"},M={class:"color-dots absolute right-0 rounded-full flex-c gap-2 rounded-5 px-2.5 py-2 pr-9 pl-2.5 opacity-0"},Q=["onClick"],W={class:"btn palette-btn relative z-[2] h-8 w-8 c-p flex-cc tad-300"},X={class:"btn language-btn h-8 w-8 c-p flex-cc tad-300"},F={class:"menu-txt"},G=o((K=((e,a)=>{for(var t in a||(a={}))l.call(a,t)&&n(e,t,a[t]);if(s)for(var t of s(a))i.call(a,t)&&n(e,t,a[t]);return e})({},{name:"AuthTopBar"}),a(K,t({__name:"AuthTopBar",setup(e){c(e=>({caa805ce:x(L)}));const a=r(),t=d(),{isDark:s,systemThemeColor:l}=m(a),{shouldShowThemeToggle:i,shouldShowLanguage:n}=S(),{locale:o}=u(),z=p.systemMainColor,L=l,E=e=>{o.value!==e&&(o.value=e,t.setLanguage(e))};return(e,t)=>{const c=V,r=P,d=B,m=I,u=D;return b(),v("div",U,[f("div",A,[g(c,{class:"icon",size:"46"}),f("h1",$,y(x(p).systemInfo.name),1)]),f("div",H,[f("div",J,[f("div",M,[(b(!0),v(w,null,j(x(z),(e,t)=>(b(),v("div",{key:e,class:C(["color-dot relative size-5 c-p flex-cc rounded-full opacity-0",{active:e===x(l)}]),style:T({background:e,"--index":t}),onClick:t=>(e=>{l.value!==e&&(a.setElementTheme(e),a.reload())})(e)},[e===x(l)?(b(),h(r,{key:0,icon:"ri:check-fill",class:"text-white"})):_("",!0)],14,Q))),128))]),f("div",W,[g(r,{icon:"ri:palette-line",class:"text-xl text-g-800 transition-colors duration-300"})])]),x(n)?(b(),h(u,{key:0,onCommand:E,"popper-class":"langDropDownStyle"},{dropdown:k(()=>[g(m,null,{default:k(()=>[(b(!0),v(w,null,j(x(q),e=>(b(),v("div",{key:e.value,class:"lang-btn-item"},[g(d,{command:e.value,class:C({"is-selected":x(o)===e.value})},{default:k(()=>[f("span",F,y(e.label),1),x(o)===e.value?(b(),h(r,{key:0,icon:"ri:check-fill",class:"text-base"})):_("",!0)]),_:2},1032,["command","class"])]))),128))]),_:1})]),default:k(()=>[f("div",X,[g(r,{icon:"hugeicons:global",class:"text-[19px] text-g-800 transition-colors duration-300"})])]),_:1})):_("",!0),x(i)?(b(),v("div",{key:1,class:"btn theme-btn h-8 w-8 c-p flex-cc tad-300",onClick:t[0]||(t[0]=(...e)=>x(O)&&x(O)(...e))},[g(r,{icon:x(s)?"ri:sun-fill":"ri:moon-line",class:"text-xl text-g-800 transition-colors duration-300"},null,8,["icon"])])):_("",!0)])])}}}))));var K;const N=L(G,[["__scopeId","data-v-254aa00e"]]),R={class:"login-left-view"},Y={class:"logo"},Z={class:"title"},ee={class:"left-img"},ae={class:"text-wrap"},te={class:"geometric-decorations"},se=L(o({__name:"LoginLeftView",props:{hideContent:{type:Boolean}},setup:e=>(e,a)=>{const t=V,s=E;return b(),v("div",R,[f("div",Y,[g(t,{class:"icon",size:"46"}),f("h1",Z,y(x(p).systemInfo.name),1)]),f("div",ee,[g(s,{src:x("/admin/assets/login_icon-C4TVlUS8.svg"),size:"100%"},null,8,["src"])]),f("div",ae,[f("h1",null,y(e.$t("login.leftView.title")),1),f("p",null,y(e.$t("login.leftView.subTitle")),1)]),f("div",te,[a[1]||(a[1]=z('
',5)),f("div",{class:"geo-element circle-top-right animate-fade-in-down",style:{"animation-delay":"0.5"},onClick:a[0]||(a[0]=(...e)=>x(O)&&x(O)(...e))}),a[2]||(a[2]=z('
',4))])])}}),[["__scopeId","data-v-591b4b14"]]);export{se as _,N as a}; diff --git a/nginx/admin/assets/RuleConfigDialog-ByrOghLW.js b/nginx/admin/assets/RuleConfigDialog-ByrOghLW.js new file mode 100644 index 0000000..795d93f --- /dev/null +++ b/nginx/admin/assets/RuleConfigDialog-ByrOghLW.js @@ -0,0 +1 @@ +var e=Object.defineProperty,l=Object.defineProperties,t=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,s=(l,t,a)=>t in l?e(l,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):l[t]=a,d=(e,l)=>{for(var t in l||(l={}))i.call(l,t)&&s(e,t,l[t]);if(a)for(var t of a(l))o.call(l,t)&&s(e,t,l[t]);return e},n=(e,a)=>l(e,t(a)),u=(e,l,t)=>new Promise((a,i)=>{var o=e=>{try{d(t.next(e))}catch(l){i(l)}},s=e=>{try{d(t.throw(e))}catch(l){i(l)}},d=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,s);d((t=t.apply(e,l)).next())});import{d as m,r,k as p,c as _,A as c,G as y,h as f,e as b,w as v,g as h,f as j,b as V,i as g,j as k,I as w,J as x,v as U,E as O,T as E}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css */import{a as S,E as P}from"./el-tab-pane-BpPSIX41.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{titlesApi as J}from"./titles-D1iSw7M5.js";import{a as N,E as I}from"./index-BcfO0-fK.js";import{a as C,E as D}from"./index-D8nVJoNy.js";import{E as T}from"./index-Dy3gZN7-.js";import{E as A}from"./index-C_S0YbqD.js";import{E as R,a as $}from"./index-D2gD5Tn5.js";import{E as B}from"./index-DGLhvuMQ.js";import{a as G,b as H}from"./index-DqTthkO7.js";import{E as M}from"./index-BneqRonp.js";import{E as Q}from"./index-dBzz0k3i.js";import{E as W}from"./index-CjpBlozU.js";import{_ as X}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./raf-DsHSIRfX.js";import"./_initCloneObject-DRmC-q3t.js";import"./clamp-BXzPLned.js";import"./debounce-DQl5eUwG.js";import"./index-C0Ar9TSn.js";import"./_baseClone-Ct7RL6h5.js";import"./castArray-nM8ho4U3.js";import"./index-BnK4BbY2.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./cloneDeep-B1gZFPYK.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";const Y={class:"rule-config"},Z={class:"scope-config"},q={class:"json-preview"},z={class:"json-content"},F=X(m({__name:"RuleConfigDialog",props:{visible:{type:Boolean},title:{}},emits:["update:visible","success"],setup(e,{emit:l}){const t=e,a=l,i=r("obtain"),o=r(!1),s=p({methods:[],consume:{amount:1e3,times:1,period:"none"},invite:{count:1,friend_consume:0,friend_days:7},activity:{types:[],participate_times:1}}),m=p({user_level:[],category_ids:[],region_type:"all",regions:[],time_type:"always",start_time:"",end_time:"",cycle_type:"weekly",week_days:[],month_days:[],holidays:[]}),X=[{value:1,label:"数码电器",children:[{value:11,label:"手机通讯"},{value:12,label:"电脑办公"},{value:13,label:"家用电器"}]},{value:2,label:"服装鞋包",children:[{value:21,label:"男装"},{value:22,label:"女装"},{value:23,label:"鞋靴"}]},{value:3,label:"美妆个护",children:[{value:31,label:"护肤品"},{value:32,label:"彩妆"},{value:33,label:"个人护理"}]}],F=_({get:()=>t.visible,set:e=>a("update:visible",e)}),K=_(()=>{const e={obtain_rules:d(d(d({methods:s.methods},s.methods.includes("consume")&&{consume:s.consume}),s.methods.includes("invite")&&{invite:s.invite}),s.methods.includes("activity")&&{activity:s.activity}),scopes:d(d(d(n(d({user_level:m.user_level,category_ids:m.category_ids,region_type:m.region_type},"all"!==m.region_type&&{regions:m.regions}),{time_type:m.time_type}),"period"===m.time_type&&{start_time:m.start_time,end_time:m.end_time}),"cycle"===m.time_type&&d(d({cycle_type:m.cycle_type},"weekly"===m.cycle_type&&{week_days:m.week_days}),"monthly"===m.cycle_type&&{month_days:m.month_days})),"holiday"===m.time_type&&{holidays:m.holidays})};return JSON.stringify(e,null,2)});function L(){return u(this,null,function*(){if(t.title){o.value=!0;try{const e=d(d(d({methods:s.methods},s.methods.includes("consume")&&{consume:s.consume}),s.methods.includes("invite")&&{invite:s.invite}),s.methods.includes("activity")&&{activity:s.activity}),l=d(d(d(n(d({user_level:m.user_level,category_ids:m.category_ids,region_type:m.region_type},"all"!==m.region_type&&{regions:m.regions}),{time_type:m.time_type}),"period"===m.time_type&&{start_time:m.start_time,end_time:m.end_time}),"cycle"===m.time_type&&d(d({cycle_type:m.cycle_type},"weekly"===m.cycle_type&&{week_days:m.week_days}),"monthly"===m.cycle_type&&{month_days:m.month_days})),"holiday"===m.time_type&&{holidays:m.holidays}),i={obtain_rules_json:JSON.stringify(e),scopes_json:JSON.stringify(l)};yield J.updateTitle(t.title.id,i),E.success("规则配置保存成功"),F.value=!1,a("success")}catch(e){E.error("保存规则失败")}finally{o.value=!1}}})}return c(F,e=>{e&&t.title&&function(){u(this,null,function*(){if(t.title)try{if(t.title.obtain_rules_json){const e=JSON.parse(t.title.obtain_rules_json);e.methods&&(s.methods=e.methods),e.consume&&Object.assign(s.consume,e.consume),e.invite&&Object.assign(s.invite,e.invite),e.activity&&Object.assign(s.activity,e.activity)}if(t.title.scopes_json){const e=JSON.parse(t.title.scopes_json);e.user_level&&(m.user_level=e.user_level),e.category_ids&&(m.category_ids=e.category_ids),e.region_type&&(m.region_type=e.region_type),e.regions&&(m.regions=e.regions),e.time_type&&(m.time_type=e.time_type),e.start_time&&(m.start_time=e.start_time),e.end_time&&(m.end_time=e.end_time),e.cycle_type&&(m.cycle_type=e.cycle_type),e.week_days&&(m.week_days=e.week_days),e.month_days&&(m.month_days=e.month_days),e.holidays&&(m.holidays=e.holidays)}}catch(e){}})}()}),(l,t)=>{var a;const d=D,n=C,u=I,r=T,p=A,_=$,c=R,E=N,J=P,ee=B,le=H,te=G,ae=y("region-selector"),ie=M,oe=Q,se=S,de=O,ne=W;return b(),f(ne,{title:`规则配置 - ${null==(a=e.title)?void 0:a.name}`,modelValue:F.value,"onUpdate:modelValue":t[22]||(t[22]=e=>F.value=e),width:"80%","close-on-click-modal":!1},{footer:v(()=>[h(de,{onClick:t[21]||(t[21]=e=>F.value=!1)},{default:v(()=>[...t[60]||(t[60]=[k("取 消",-1)])]),_:1}),h(de,{type:"primary",onClick:L,loading:o.value},{default:v(()=>[...t[61]||(t[61]=[k(" 保存配置 ",-1)])]),_:1},8,["loading"])]),default:v(()=>[h(se,{modelValue:i.value,"onUpdate:modelValue":t[20]||(t[20]=e=>i.value=e)},{default:v(()=>[h(J,{label:"获得规则",name:"obtain"},{default:v(()=>[j("div",Y,[h(E,{model:s,"label-width":"140px"},{default:v(()=>[h(u,{label:"获得方式"},{default:v(()=>[h(n,{modelValue:s.methods,"onUpdate:modelValue":t[0]||(t[0]=e=>s.methods=e)},{default:v(()=>[h(d,{label:"register"},{default:v(()=>[...t[23]||(t[23]=[k("注册获得",-1)])]),_:1}),h(d,{label:"consume"},{default:v(()=>[...t[24]||(t[24]=[k("消费达标",-1)])]),_:1}),h(d,{label:"invite"},{default:v(()=>[...t[25]||(t[25]=[k("邀请好友",-1)])]),_:1}),h(d,{label:"activity"},{default:v(()=>[...t[26]||(t[26]=[k("活动奖励",-1)])]),_:1}),h(d,{label:"manual"},{default:v(()=>[...t[27]||(t[27]=[k("手动发放",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),s.methods.includes("consume")?(b(),V(w,{key:0},[h(r,null,{default:v(()=>[...t[28]||(t[28]=[k("消费达标条件",-1)])]),_:1}),h(u,{label:"消费金额"},{default:v(()=>[h(p,{modelValue:s.consume.amount,"onUpdate:modelValue":t[1]||(t[1]=e=>s.consume.amount=e),min:0,step:.01},null,8,["modelValue"]),t[29]||(t[29]=j("span",{class:"unit"},"元",-1))]),_:1}),h(u,{label:"消费次数"},{default:v(()=>[h(p,{modelValue:s.consume.times,"onUpdate:modelValue":t[2]||(t[2]=e=>s.consume.times=e),min:1},null,8,["modelValue"]),t[30]||(t[30]=j("span",{class:"unit"},"次",-1))]),_:1}),h(u,{label:"时间周期"},{default:v(()=>[h(c,{modelValue:s.consume.period,"onUpdate:modelValue":t[3]||(t[3]=e=>s.consume.period=e)},{default:v(()=>[h(_,{label:"无限制",value:"none"}),h(_,{label:"近7天",value:"7d"}),h(_,{label:"近30天",value:"30d"}),h(_,{label:"近90天",value:"90d"}),h(_,{label:"自然月",value:"month"})]),_:1},8,["modelValue"])]),_:1})],64)):g("",!0),s.methods.includes("invite")?(b(),V(w,{key:1},[h(r,null,{default:v(()=>[...t[31]||(t[31]=[k("邀请好友条件",-1)])]),_:1}),h(u,{label:"邀请人数"},{default:v(()=>[h(p,{modelValue:s.invite.count,"onUpdate:modelValue":t[4]||(t[4]=e=>s.invite.count=e),min:1},null,8,["modelValue"]),t[32]||(t[32]=j("span",{class:"unit"},"人",-1))]),_:1}),h(u,{label:"好友消费金额"},{default:v(()=>[h(p,{modelValue:s.invite.friend_consume,"onUpdate:modelValue":t[5]||(t[5]=e=>s.invite.friend_consume=e),min:0,step:.01},null,8,["modelValue"]),t[33]||(t[33]=j("span",{class:"unit"},"元",-1))]),_:1}),h(u,{label:"好友注册天数"},{default:v(()=>[h(p,{modelValue:s.invite.friend_days,"onUpdate:modelValue":t[6]||(t[6]=e=>s.invite.friend_days=e),min:1},null,8,["modelValue"]),t[34]||(t[34]=j("span",{class:"unit"},"天",-1))]),_:1})],64)):g("",!0),s.methods.includes("activity")?(b(),V(w,{key:2},[h(r,null,{default:v(()=>[...t[35]||(t[35]=[k("活动奖励条件",-1)])]),_:1}),h(u,{label:"活动类型"},{default:v(()=>[h(n,{modelValue:s.activity.types,"onUpdate:modelValue":t[7]||(t[7]=e=>s.activity.types=e)},{default:v(()=>[h(d,{label:"sign"},{default:v(()=>[...t[36]||(t[36]=[k("签到活动",-1)])]),_:1}),h(d,{label:"share"},{default:v(()=>[...t[37]||(t[37]=[k("分享活动",-1)])]),_:1}),h(d,{label:"game"},{default:v(()=>[...t[38]||(t[38]=[k("游戏活动",-1)])]),_:1}),h(d,{label:"lottery"},{default:v(()=>[...t[39]||(t[39]=[k("抽奖活动",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),h(u,{label:"参与次数"},{default:v(()=>[h(p,{modelValue:s.activity.participate_times,"onUpdate:modelValue":t[8]||(t[8]=e=>s.activity.participate_times=e),min:1},null,8,["modelValue"]),t[40]||(t[40]=j("span",{class:"unit"},"次",-1))]),_:1})],64)):g("",!0)]),_:1},8,["model"])])]),_:1}),h(J,{label:"适用范围",name:"scope"},{default:v(()=>[j("div",Z,[h(E,{model:m,"label-width":"140px"},{default:v(()=>[h(u,{label:"用户等级"},{default:v(()=>[h(c,{modelValue:m.user_level,"onUpdate:modelValue":t[9]||(t[9]=e=>m.user_level=e),multiple:"",placeholder:"选择适用的用户等级"},{default:v(()=>[h(_,{label:"新用户",value:"newbie"}),h(_,{label:"普通用户",value:"normal"}),h(_,{label:"VIP用户",value:"vip"}),h(_,{label:"SVIP用户",value:"svip"})]),_:1},8,["modelValue"])]),_:1}),h(u,{label:"商品分类"},{default:v(()=>[h(ee,{modelValue:m.category_ids,"onUpdate:modelValue":t[10]||(t[10]=e=>m.category_ids=e),options:X,props:{multiple:!0,checkStrictly:!0},placeholder:"选择商品分类",clearable:""},null,8,["modelValue"])]),_:1}),h(u,{label:"地区限制"},{default:v(()=>[h(te,{modelValue:m.region_type,"onUpdate:modelValue":t[11]||(t[11]=e=>m.region_type=e)},{default:v(()=>[h(le,{label:"all"},{default:v(()=>[...t[41]||(t[41]=[k("全国通用",-1)])]),_:1}),h(le,{label:"provinces"},{default:v(()=>[...t[42]||(t[42]=[k("指定省份",-1)])]),_:1}),h(le,{label:"cities"},{default:v(()=>[...t[43]||(t[43]=[k("指定城市",-1)])]),_:1}),h(le,{label:"exclude"},{default:v(()=>[...t[44]||(t[44]=[k("排除地区",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),"all"!==m.region_type?(b(),f(u,{key:0,label:"选择地区"},{default:v(()=>[h(ae,{modelValue:m.regions,"onUpdate:modelValue":t[12]||(t[12]=e=>m.regions=e),type:m.region_type,exclude:"exclude"===m.region_type},null,8,["modelValue","type","exclude"])]),_:1})):g("",!0),h(u,{label:"时间限制"},{default:v(()=>[h(te,{modelValue:m.time_type,"onUpdate:modelValue":t[13]||(t[13]=e=>m.time_type=e)},{default:v(()=>[h(le,{label:"always"},{default:v(()=>[...t[45]||(t[45]=[k("永久有效",-1)])]),_:1}),h(le,{label:"period"},{default:v(()=>[...t[46]||(t[46]=[k("指定时段",-1)])]),_:1}),h(le,{label:"cycle"},{default:v(()=>[...t[47]||(t[47]=[k("周期循环",-1)])]),_:1}),h(le,{label:"holiday"},{default:v(()=>[...t[48]||(t[48]=[k("节假日",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),"period"===m.time_type?(b(),V(w,{key:1},[h(u,{label:"开始时间"},{default:v(()=>[h(ie,{modelValue:m.start_time,"onUpdate:modelValue":t[14]||(t[14]=e=>m.start_time=e),type:"datetime",placeholder:"选择开始时间"},null,8,["modelValue"])]),_:1}),h(u,{label:"结束时间"},{default:v(()=>[h(ie,{modelValue:m.end_time,"onUpdate:modelValue":t[15]||(t[15]=e=>m.end_time=e),type:"datetime",placeholder:"选择结束时间"},null,8,["modelValue"])]),_:1})],64)):"cycle"===m.time_type?(b(),V(w,{key:2},[h(u,{label:"周期类型"},{default:v(()=>[h(c,{modelValue:m.cycle_type,"onUpdate:modelValue":t[16]||(t[16]=e=>m.cycle_type=e)},{default:v(()=>[h(_,{label:"每周",value:"weekly"}),h(_,{label:"每月",value:"monthly"})]),_:1},8,["modelValue"])]),_:1}),"weekly"===m.cycle_type?(b(),f(u,{key:0,label:"选择星期"},{default:v(()=>[h(n,{modelValue:m.week_days,"onUpdate:modelValue":t[17]||(t[17]=e=>m.week_days=e)},{default:v(()=>[h(d,{label:1},{default:v(()=>[...t[49]||(t[49]=[k("周一",-1)])]),_:1}),h(d,{label:2},{default:v(()=>[...t[50]||(t[50]=[k("周二",-1)])]),_:1}),h(d,{label:3},{default:v(()=>[...t[51]||(t[51]=[k("周三",-1)])]),_:1}),h(d,{label:4},{default:v(()=>[...t[52]||(t[52]=[k("周四",-1)])]),_:1}),h(d,{label:5},{default:v(()=>[...t[53]||(t[53]=[k("周五",-1)])]),_:1}),h(d,{label:6},{default:v(()=>[...t[54]||(t[54]=[k("周六",-1)])]),_:1}),h(d,{label:0},{default:v(()=>[...t[55]||(t[55]=[k("周日",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):"monthly"===m.cycle_type?(b(),f(u,{key:1,label:"选择日期"},{default:v(()=>[h(c,{modelValue:m.month_days,"onUpdate:modelValue":t[18]||(t[18]=e=>m.month_days=e),multiple:"",placeholder:"选择月份中的日期"},{default:v(()=>[(b(),V(w,null,x(31,e=>h(_,{key:e,label:e+"号",value:e},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})):g("",!0)],64)):"holiday"===m.time_type?(b(),f(u,{key:3,label:"节假日类型"},{default:v(()=>[h(n,{modelValue:m.holidays,"onUpdate:modelValue":t[19]||(t[19]=e=>m.holidays=e)},{default:v(()=>[h(d,{label:"spring"},{default:v(()=>[...t[56]||(t[56]=[k("春节",-1)])]),_:1}),h(d,{label:"national"},{default:v(()=>[...t[57]||(t[57]=[k("国庆节",-1)])]),_:1}),h(d,{label:"labor"},{default:v(()=>[...t[58]||(t[58]=[k("劳动节",-1)])]),_:1}),h(d,{label:"midautumn"},{default:v(()=>[...t[59]||(t[59]=[k("中秋节",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):g("",!0)]),_:1},8,["model"])])]),_:1}),h(J,{label:"JSON预览",name:"preview"},{default:v(()=>[j("div",q,[h(oe,{title:"规则JSON数据预览",type:"info",closable:!1}),j("pre",z,U(K.value),1)])]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["title","modelValue"])}}}),[["__scopeId","data-v-26e76300"]]);export{F as default}; diff --git a/nginx/admin/assets/RuleConfigDialog-ByrOghLW.js.gz b/nginx/admin/assets/RuleConfigDialog-ByrOghLW.js.gz new file mode 100644 index 0000000..c3d2fcb Binary files /dev/null and b/nginx/admin/assets/RuleConfigDialog-ByrOghLW.js.gz differ diff --git a/nginx/admin/assets/RuleConfigDialog-CuEwDR7p.css b/nginx/admin/assets/RuleConfigDialog-CuEwDR7p.css new file mode 100644 index 0000000..4d78865 --- /dev/null +++ b/nginx/admin/assets/RuleConfigDialog-CuEwDR7p.css @@ -0,0 +1 @@ +.el-cascader{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);display:inline-block;font-size:var(--el-font-size-base);line-height:32px;outline:none;position:relative;vertical-align:middle}.el-cascader:not(.is-disabled):hover .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset;cursor:pointer}.el-cascader .el-input{cursor:pointer;display:flex}.el-cascader .el-input .el-input__inner{cursor:pointer;text-overflow:ellipsis}.el-cascader .el-input .el-input__suffix-inner .el-icon svg{vertical-align:middle}.el-cascader .el-input .icon-arrow-down{font-size:14px;transition:transform var(--el-transition-duration)}.el-cascader .el-input .icon-arrow-down.is-reverse{transform:rotate(180deg)}.el-cascader .el-input .icon-circle-close:hover{color:var(--el-input-clear-hover-color,var(--el-text-color-secondary))}.el-cascader .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-cascader--large{font-size:14px;line-height:40px}.el-cascader--large .el-cascader__tags{gap:6px;padding:8px}.el-cascader--large .el-cascader__search-input{height:24px;margin-left:7px}.el-cascader--small{font-size:12px;line-height:24px}.el-cascader--small .el-cascader__tags{gap:4px;padding:2px}.el-cascader--small .el-cascader__search-input{height:20px;margin-left:5px}.el-cascader.is-disabled .el-cascader__label{color:var(--el-disabled-text-color);z-index:calc(var(--el-index-normal) + 1)}.el-cascader__dropdown{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);border-radius:var(--el-cascader-menu-radius);font-size:var(--el-cascader-menu-font-size)}.el-cascader__dropdown.el-popper{background:var(--el-cascader-menu-fill)}.el-cascader__dropdown.el-popper,.el-cascader__dropdown.el-popper .el-popper__arrow:before{border:var(--el-cascader-menu-border)}.el-cascader__dropdown.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-cascader__dropdown.el-popper{box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-cascader__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-cascader__tags{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:6px;left:0;line-height:normal;padding:4px;position:absolute;right:30px;text-align:left;top:50%;transform:translateY(-50%)}.el-cascader__tags .el-tag{align-items:center;background:var(--el-cascader-tag-background);display:inline-flex;max-width:100%;text-overflow:ellipsis}.el-cascader__tags .el-tag.el-tag--dark,.el-cascader__tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__tags .el-tag>span{flex:1;line-height:normal;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__tags .el-tag+input{margin-left:0}.el-cascader__tags.is-validate{right:55px}.el-cascader__collapse-tags{white-space:normal;z-index:var(--el-index-normal)}.el-cascader__collapse-tags .el-tag{align-items:center;background:var(--el-fill-color);display:inline-flex;max-width:100%;text-overflow:ellipsis}.el-cascader__collapse-tags .el-tag.el-tag--dark,.el-cascader__collapse-tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__collapse-tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__collapse-tags .el-tag>span{flex:1;line-height:normal;overflow:hidden;text-overflow:ellipsis}.el-cascader__collapse-tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__collapse-tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__collapse-tags .el-tag+input{margin-left:0}.el-cascader__collapse-tags .el-tag{margin:2px 0}.el-cascader__suggestion-panel{border-radius:var(--el-cascader-menu-radius)}.el-cascader__suggestion-list{color:var(--el-cascader-menu-text-color);font-size:var(--el-font-size-base);margin:0;max-height:204px;padding:6px 0;text-align:center}.el-cascader__suggestion-item{align-items:center;cursor:pointer;display:flex;height:34px;justify-content:space-between;outline:none;padding:0 15px;text-align:left}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:var(--el-cascader-node-background-hover)}.el-cascader__suggestion-item.is-checked{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{color:var(--el-cascader-color-empty);margin:10px 0}.el-cascader__search-input{background:transparent;border:none;box-sizing:border-box;color:var(--el-cascader-menu-text-color);flex:1;height:24px;margin-left:7px;min-width:60px;outline:none;padding:0}.el-cascader__search-input::-moz-placeholder{color:transparent}.el-cascader__search-input::placeholder{color:transparent}.el-cascader-panel{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);border-radius:var(--el-cascader-menu-radius);display:flex;font-size:var(--el-cascader-menu-font-size)}.el-cascader-panel.is-bordered{border:var(--el-cascader-menu-border);border-radius:var(--el-cascader-menu-radius)}.el-cascader-menu{border-right:var(--el-cascader-menu-border);box-sizing:border-box;color:var(--el-cascader-menu-text-color);min-width:180px}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap.el-scrollbar__wrap{height:204px}.el-cascader-menu__list{box-sizing:border-box;list-style:none;margin:0;min-height:100%;padding:6px 0;position:relative}.el-cascader-menu__hover-zone{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.el-cascader-menu__empty-text{align-items:center;color:var(--el-cascader-color-empty);display:flex;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.el-cascader-menu__empty-text .is-loading{margin-right:2px}.el-cascader-node{align-items:center;display:flex;height:34px;line-height:34px;outline:none;padding:0 30px 0 20px;position:relative}.el-cascader-node.is-selectable.in-active-path{color:var(--el-cascader-menu-text-color)}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:var(--el-cascader-node-background-hover)}.el-cascader-node.is-disabled{color:var(--el-cascader-node-color-disabled);cursor:not-allowed}.el-cascader-node__prefix{left:10px;position:absolute}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{flex:1;overflow:hidden;padding:0 8px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.el-cascader-node>.el-checkbox,.el-cascader-node>.el-radio{margin-right:0}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-checkbox-group{font-size:0;line-height:0}.rule-config[data-v-26e76300],.scope-config[data-v-26e76300]{padding:20px}.unit[data-v-26e76300]{margin-left:8px;color:#909399}.json-preview[data-v-26e76300]{padding:20px}.json-content[data-v-26e76300]{background:#f5f5f5;padding:16px;border-radius:4px;font-family:Courier New,monospace;font-size:13px;line-height:1.5;max-height:400px;overflow-y:auto;margin-top:16px}[data-v-26e76300] .el-divider{margin:24px 0} diff --git a/nginx/admin/assets/TitleEditDialog-G6a4Tu5P.js b/nginx/admin/assets/TitleEditDialog-G6a4Tu5P.js new file mode 100644 index 0000000..06b4288 --- /dev/null +++ b/nginx/admin/assets/TitleEditDialog-G6a4Tu5P.js @@ -0,0 +1 @@ +import{d as e,r as t,k as s,c as a,A as l,h as o,e as r,w as i,g as n,K as u,j as d,f as p,E as m,v as c,aV as _,T as f}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{titlesApi as g}from"./titles-D1iSw7M5.js";import{a as j,E as v}from"./index-BcfO0-fK.js";import{a as b,b as y}from"./index-DqTthkO7.js";import{E as h}from"./index-CjpBlozU.js";import{_ as x}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-COyGylbk.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";const V={class:"json-editor"},w={class:"json-editor"},S=x(e({__name:"TitleEditDialog",props:{visible:{type:Boolean},title:{}},emits:["update:visible","success"],setup(e,{emit:x}){const S=e,k=x,O=t(),T=t(!1),U=s({name:"",description:"",status:1,obtain_rules_json:"{}",scopes_json:"{}"}),J={name:[{required:!0,message:"请输入称号名称",trigger:"blur"},{min:1,max:50,message:"长度在 1 到 50 个字符",trigger:"blur"}],status:[{required:!0,message:"请选择状态",trigger:"change"}],obtain_rules_json:[{required:!0,message:"请输入获得规则",trigger:"blur"},{validator:C,trigger:"blur"}],scopes_json:[{required:!0,message:"请输入适用范围",trigger:"blur"},{validator:C,trigger:"blur"}]},N=a({get:()=>S.visible,set:e=>k("update:visible",e)});function C(e,t,s){if(t)try{JSON.parse(t),s()}catch(a){s(new Error("JSON格式不正确"))}else s(new Error("请输入JSON数据"))}function E(){_.alert('\n
\n

获得规则JSON格式:

\n
\n{\n  "methods": ["register", "consume", "invite", "activity", "manual"],\n  "consume": {\n    "amount": 1000,\n    "times": 5\n  },\n  "invite": {\n    "count": 3,\n    "friend_consume": 500\n  }\n}
\n
\n ',"规则助手",{dangerouslyUseHTMLString:!0,confirmButtonText:"知道了"})}function q(){_.alert('\n
\n

适用范围JSON格式:

\n
\n{\n  "user_level": ["newbie", "normal", "vip", "svip"],\n  "category_ids": [1, 2, 3],\n  "region_type": "all",\n  "time_type": "always"\n}
\n
\n ',"范围助手",{dangerouslyUseHTMLString:!0,confirmButtonText:"知道了"})}function B(){return e=this,t=null,s=function*(){if(O.value)try{yield O.value.validate(),T.value=!0;const e={name:U.name.trim(),description:U.description.trim(),status:U.status,obtain_rules_json:U.obtain_rules_json.trim(),scopes_json:U.scopes_json.trim()};S.title?(yield g.updateTitle(S.title.id,e),f.success("修改成功")):(yield g.createTitle(e),f.success("创建成功")),N.value=!1,k("success")}catch(e){!1!==e&&f.error(e.message||"操作失败")}finally{T.value=!1}},new Promise((a,l)=>{var o=e=>{try{i(s.next(e))}catch(t){l(t)}},r=e=>{try{i(s.throw(e))}catch(t){l(t)}},i=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,r);i((s=s.apply(e,t)).next())});var e,t,s}return l(()=>S.title,e=>{var t;e?(U.name=e.name||"",U.description=e.description||"",U.status=null!=(t=e.status)?t:1,U.obtain_rules_json=e.obtain_rules_json||"{}",U.scopes_json=e.scopes_json||"{}"):(U.name="",U.description="",U.status=1,U.obtain_rules_json="{}",U.scopes_json="{}")},{immediate:!0}),(t,s)=>{const a=u,l=v,_=y,f=b,g=m,x=j,S=h;return r(),o(S,{title:e.title?"编辑称号":"新建称号",modelValue:N.value,"onUpdate:modelValue":s[6]||(s[6]=e=>N.value=e),width:"600px","close-on-click-modal":!1},{footer:i(()=>[n(g,{onClick:s[5]||(s[5]=e=>N.value=!1)},{default:i(()=>[...s[11]||(s[11]=[d("取 消",-1)])]),_:1}),n(g,{type:"primary",onClick:B,loading:T.value},{default:i(()=>[d(c(e.title?"保 存":"创 建"),1)]),_:1},8,["loading"])]),default:i(()=>[n(x,{ref_key:"formRef",ref:O,model:U,rules:J,"label-width":"100px"},{default:i(()=>[n(l,{label:"称号名称",prop:"name"},{default:i(()=>[n(a,{modelValue:U.name,"onUpdate:modelValue":s[0]||(s[0]=e=>U.name=e),placeholder:"请输入称号名称",maxlength:"50","show-word-limit":""},null,8,["modelValue"])]),_:1}),n(l,{label:"称号描述",prop:"description"},{default:i(()=>[n(a,{modelValue:U.description,"onUpdate:modelValue":s[1]||(s[1]=e=>U.description=e),type:"textarea",placeholder:"请输入称号描述",maxlength:"200","show-word-limit":"",rows:3},null,8,["modelValue"])]),_:1}),n(l,{label:"状态",prop:"status"},{default:i(()=>[n(f,{modelValue:U.status,"onUpdate:modelValue":s[2]||(s[2]=e=>U.status=e)},{default:i(()=>[n(_,{label:1},{default:i(()=>[...s[7]||(s[7]=[d("启用",-1)])]),_:1}),n(_,{label:0},{default:i(()=>[...s[8]||(s[8]=[d("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(l,{label:"获得规则",prop:"obtain_rules_json"},{default:i(()=>[p("div",V,[n(a,{modelValue:U.obtain_rules_json,"onUpdate:modelValue":s[3]||(s[3]=e=>U.obtain_rules_json=e),type:"textarea",rows:4,placeholder:'请输入获得规则JSON,例如:{"methods": ["register"], "consume": {"amount": 1000}}'},null,8,["modelValue"]),n(g,{type:"text",size:"small",onClick:E},{default:i(()=>[...s[9]||(s[9]=[d("规则助手",-1)])]),_:1})])]),_:1}),n(l,{label:"适用范围",prop:"scopes_json"},{default:i(()=>[p("div",w,[n(a,{modelValue:U.scopes_json,"onUpdate:modelValue":s[4]||(s[4]=e=>U.scopes_json=e),type:"textarea",rows:4,placeholder:'请输入适用范围JSON,例如:{"user_level": ["vip", "svip"], "category_ids": [1, 2, 3]}'},null,8,["modelValue"]),n(g,{type:"text",size:"small",onClick:q},{default:i(()=>[...s[10]||(s[10]=[d("范围助手",-1)])]),_:1})])]),_:1})]),_:1},8,["model"])]),_:1},8,["title","modelValue"])}}}),[["__scopeId","data-v-cf7dfd13"]]);export{S as default}; diff --git a/nginx/admin/assets/TitleEditDialog-i9x-drPp.css b/nginx/admin/assets/TitleEditDialog-i9x-drPp.css new file mode 100644 index 0000000..1c9f76c --- /dev/null +++ b/nginx/admin/assets/TitleEditDialog-i9x-drPp.css @@ -0,0 +1 @@ +.json-editor[data-v-cf7dfd13]{position:relative}.json-editor .el-button[data-v-cf7dfd13]{position:absolute;right:10px;bottom:10px} diff --git a/nginx/admin/assets/UserAssignmentDialog-BTSnDJ3n.css b/nginx/admin/assets/UserAssignmentDialog-BTSnDJ3n.css new file mode 100644 index 0000000..2a18c8f --- /dev/null +++ b/nginx/admin/assets/UserAssignmentDialog-BTSnDJ3n.css @@ -0,0 +1 @@ +.user-assignment[data-v-dcfb44a3]{display:flex;flex-direction:column;gap:16px;max-height:70vh;overflow-y:auto}.search-card[data-v-dcfb44a3]{margin-bottom:0}.search-form[data-v-dcfb44a3]{display:flex;flex-wrap:wrap;gap:8px}.card-header[data-v-dcfb44a3]{display:flex;justify-content:space-between;align-items:center}.header-actions[data-v-dcfb44a3]{display:flex;align-items:center;gap:12px}.title-tags[data-v-dcfb44a3]{display:flex;flex-wrap:wrap;gap:4px}.title-icon[data-v-dcfb44a3]{margin-left:2px}.pagination-container[data-v-dcfb44a3]{margin-top:16px;display:flex;justify-content:center}.assignment-config-card[data-v-dcfb44a3]{background-color:#f5f7fa}.unit[data-v-dcfb44a3]{margin-left:8px;color:#909399}.dialog-footer[data-v-dcfb44a3]{display:flex;justify-content:flex-end;gap:12px} diff --git a/nginx/admin/assets/UserAssignmentDialog-Cd2RiWKB.js b/nginx/admin/assets/UserAssignmentDialog-Cd2RiWKB.js new file mode 100644 index 0000000..dc4e339 --- /dev/null +++ b/nginx/admin/assets/UserAssignmentDialog-Cd2RiWKB.js @@ -0,0 +1 @@ +var e=(e,l,a)=>new Promise((t,r)=>{var i=e=>{try{o(a.next(e))}catch(l){r(l)}},n=e=>{try{o(a.throw(e))}catch(l){r(l)}},o=e=>e.done?t(e.value):Promise.resolve(e.value).then(i,n);o((a=a.apply(e,l)).next())});import{d as l,r as a,k as t,c as r,A as i,h as n,e as o,w as s,f as d,g as u,i as m,K as p,P as c,E as v,j as f,ai as _,p as g,bb as y,N as h,v as b,b as j,I as V,J as x,cA as w,b2 as k,T as U,aV as z}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import{E as Y}from"./index-BaD29Izp.js";import{a as C,E as D}from"./index-BcfO0-fK.js";import{E,a as I}from"./index-D2gD5Tn5.js";import{E as P}from"./index-BneqRonp.js";import{E as S,a as A}from"./index-BjuMygln.js";import{b as M,a as R}from"./index-DqTthkO7.js";import{E as H}from"./index-ZsMdSUVI.js";import{E as $}from"./index-C1haaLtB.js";import{E as O}from"./index-C_S0YbqD.js";import{E as T}from"./index-D8nVJoNy.js";import{E as B}from"./index-CjpBlozU.js";import{_ as K}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./index-BnK4BbY2.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";const J={class:"user-assignment"},L={class:"card-header"},N={class:"header-actions"},Q={class:"title-tags"},W={class:"pagination-container"},X={class:"dialog-footer"},Z=K(l({__name:"UserAssignmentDialog",props:{visible:{type:Boolean},title:{}},emits:["update:visible"],setup(l,{emit:K}){const Z=l,q=K,F=a(),G=a(!1),ee=a(!1),le=a(!1),ae=a([]),te=a([]),re=t({keyword:"",user_level:"",dateRange:[]}),ie=t({current:1,size:20,total:0}),ne=t({expire_type:"permanent",start_time:"",end_time:"",days:30,remark:"",override_existing:!0,send_notification:!0}),oe=r(()=>{var e;return null==(e=Z.title)?void 0:e.id}),se=r({get:()=>Z.visible,set:e=>q("update:visible",e)}),de={newbie:{name:"新用户",type:"info"},normal:{name:"普通用户",type:""},vip:{name:"VIP用户",type:"warning"},svip:{name:"SVIP用户",type:"danger"}};function ue(e){var l;return(null==(l=de[e])?void 0:l.name)||e}function me(e){var l;return(null==(l=de[e])?void 0:l.type)||"info"}function pe(){return e(this,null,function*(){ee.value=!0;try{const e=[{uid:10001,username:"用户10001",phone:"138****0001",user_level:"normal",register_time:"2024-01-15 10:30:00",current_titles:[{id:1,name:"新用户"}]},{uid:10002,username:"用户10002",phone:"138****0002",user_level:"vip",register_time:"2024-02-20 14:20:00",current_titles:[]},{uid:10003,username:"用户10003",phone:"138****0003",user_level:"svip",register_time:"2023-12-10 09:15:00",current_titles:[{id:2,name:"VIP会员"}]}];ae.value=e,ie.total=3}catch(e){U.error("搜索用户失败"),ae.value=[]}finally{ee.value=!1}})}function ce(){re.keyword="",re.user_level="",re.dateRange=[],ie.current=1,ae.value=[],te.value=[]}function ve(e){te.value=e}function fe(){var e;null==(e=F.value)||e.clearSelection(),te.value=[]}function _e(e){ie.size=e,pe()}function ge(e){ie.current=e,pe()}function ye(){return e(this,null,function*(){var e;if(0===te.value.length)return void U.warning("请选择要分配的用户");if(1!==te.value.length)return void U.warning("仅支持单用户,请取消其他选择");const l=te.value[0];if(!!Array.isArray(l.current_titles)&&l.current_titles.some(e=>e.id===oe.value))U.warning("该用户已拥有该称号");else try{yield z.confirm(`确定要为 ${te.value.length} 个用户分配称号"${null==(e=Z.title)?void 0:e.name}"吗?`,"分配确认",{type:"warning"}),le.value=!0;te.value.map(e=>e.uid);let l=null;if("period"===ne.expire_type&&ne.start_time&&ne.end_time)l=ne.end_time;else if("days"===ne.expire_type){const e=new Date;e.setDate(e.getDate()+ne.days),l=e.toISOString()}U.success(`成功为 ${te.value.length} 个用户分配称号`),se.value=!1,fe()}catch(a){"cancel"!==a&&U.error("分配失败")}finally{le.value=!1}})}function he(e){var l;return 1===te.value.length&&(null==(l=te.value[0])?void 0:l.uid)===e.uid}return i(se,e=>{e&&ce()}),(e,a)=>{var t;const r=p,i=D,U=I,z=E,K=P,Z=_,q=v,de=C,be=Y,je=H,Ve=M,xe=A,we=S,ke=$,Ue=R,ze=O,Ye=T,Ce=B,De=k;return o(),n(Ce,{title:`分配用户 - ${null==(t=l.title)?void 0:t.name}`,modelValue:se.value,"onUpdate:modelValue":a[13]||(a[13]=e=>se.value=e),width:"80%","close-on-click-modal":!1},{footer:s(()=>[d("div",X,[u(q,{onClick:a[12]||(a[12]=e=>se.value=!1)},{default:s(()=>[...a[26]||(a[26]=[f("取 消",-1)])]),_:1}),u(q,{type:"primary",onClick:ye,loading:le.value,disabled:0===te.value.length},{default:s(()=>[f(" 确认分配 ("+b(te.value.length)+"个用户) ",1)]),_:1},8,["loading","disabled"])])]),default:s(()=>[d("div",J,[u(be,{class:"search-card",shadow:"never"},{default:s(()=>[u(de,{inline:!0,model:re,class:"search-form"},{default:s(()=>[u(i,{label:"用户搜索"},{default:s(()=>[u(r,{modelValue:re.keyword,"onUpdate:modelValue":a[0]||(a[0]=e=>re.keyword=e),placeholder:"手机号/用户名/UID",clearable:"",onKeyup:c(pe,["enter"])},null,8,["modelValue"])]),_:1}),u(i,{label:"用户等级"},{default:s(()=>[u(z,{modelValue:re.user_level,"onUpdate:modelValue":a[1]||(a[1]=e=>re.user_level=e),placeholder:"选择等级",clearable:""},{default:s(()=>[u(U,{label:"新用户",value:"newbie"}),u(U,{label:"普通用户",value:"normal"}),u(U,{label:"VIP用户",value:"vip"}),u(U,{label:"SVIP用户",value:"svip"})]),_:1},8,["modelValue"])]),_:1}),u(i,{label:"注册时间"},{default:s(()=>[u(K,{modelValue:re.dateRange,"onUpdate:modelValue":a[2]||(a[2]=e=>re.dateRange=e),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD"},null,8,["modelValue"])]),_:1}),u(i,null,{default:s(()=>[u(q,{type:"primary",onClick:pe,loading:ee.value},{default:s(()=>[u(Z,null,{default:s(()=>[u(g(y))]),_:1}),a[14]||(a[14]=f("搜索 ",-1))]),_:1},8,["loading"]),u(q,{onClick:ce},{default:s(()=>[...a[15]||(a[15]=[f("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),u(be,{class:"user-list-card",shadow:"never"},{header:s(()=>[d("div",L,[a[17]||(a[17]=d("span",null,"用户列表",-1)),d("div",N,[u(je,{type:"info"},{default:s(()=>[f("已选择 "+b(te.value.length)+" 个用户",1)]),_:1}),u(q,{type:"warning",size:"small",onClick:fe},{default:s(()=>[...a[16]||(a[16]=[f("清空选择",-1)])]),_:1})])])]),default:s(()=>[h((o(),n(we,{data:ae.value,onSelectionChange:ve,ref_key:"userTableRef",ref:F,"max-height":"400"},{default:s(()=>[u(xe,{label:"选择",width:"70"},{default:s(({row:e})=>[u(Ve,{"model-value":he(e),onChange:l=>function(e){te.value=[e]}(e)},null,8,["model-value","onChange"])]),_:1}),u(xe,{prop:"uid",label:"UID",width:"100"}),u(xe,{prop:"username",label:"用户名","min-width":"120"}),u(xe,{prop:"phone",label:"手机号",width:"120"}),u(xe,{prop:"user_level",label:"用户等级",width:"100"},{default:s(({row:e})=>[u(je,{type:me(e.user_level),size:"small"},{default:s(()=>[f(b(ue(e.user_level)),1)]),_:2},1032,["type"])]),_:1}),u(xe,{prop:"register_time",label:"注册时间",width:"160"}),u(xe,{prop:"current_titles",label:"当前称号","min-width":"150"},{default:s(({row:e})=>[d("div",Q,[(o(!0),j(V,null,x(e.current_titles,e=>(o(),n(je,{key:e.id,size:"small",type:e.id===oe.value?"danger":"info"},{default:s(()=>[f(b(e.name)+" ",1),e.id===oe.value?(o(),n(Z,{key:0,class:"title-icon"},{default:s(()=>[u(g(w))]),_:1})):m("",!0)]),_:2},1032,["type"]))),128)),e.current_titles&&0!==e.current_titles.length?m("",!0):(o(),n(je,{key:0,type:"info",size:"small"},{default:s(()=>[...a[18]||(a[18]=[f(" 无称号 ",-1)])]),_:1}))])]),_:1})]),_:1},8,["data"])),[[De,G.value]]),d("div",W,[u(ke,{"current-page":ie.current,"onUpdate:currentPage":a[3]||(a[3]=e=>ie.current=e),"page-size":ie.size,"onUpdate:pageSize":a[4]||(a[4]=e=>ie.size=e),total:ie.total,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:_e,onCurrentChange:ge},null,8,["current-page","page-size","total"])])]),_:1}),te.value.length>0?(o(),n(be,{key:0,class:"assignment-config-card",shadow:"never"},{header:s(()=>[...a[19]||(a[19]=[d("span",null,"分配配置",-1)])]),default:s(()=>[u(de,{model:ne,"label-width":"120px"},{default:s(()=>[u(i,{label:"有效期类型"},{default:s(()=>[u(Ue,{modelValue:ne.expire_type,"onUpdate:modelValue":a[5]||(a[5]=e=>ne.expire_type=e)},{default:s(()=>[u(Ve,{label:"permanent"},{default:s(()=>[...a[20]||(a[20]=[f("永久有效",-1)])]),_:1}),u(Ve,{label:"period"},{default:s(()=>[...a[21]||(a[21]=[f("指定时段",-1)])]),_:1}),u(Ve,{label:"days"},{default:s(()=>[...a[22]||(a[22]=[f("有效天数",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),"period"===ne.expire_type?(o(),j(V,{key:0},[u(i,{label:"开始时间"},{default:s(()=>[u(K,{modelValue:ne.start_time,"onUpdate:modelValue":a[6]||(a[6]=e=>ne.start_time=e),type:"datetime",placeholder:"选择开始时间","value-format":"YYYY-MM-DD HH:mm:ss"},null,8,["modelValue"])]),_:1}),u(i,{label:"结束时间"},{default:s(()=>[u(K,{modelValue:ne.end_time,"onUpdate:modelValue":a[7]||(a[7]=e=>ne.end_time=e),type:"datetime",placeholder:"选择结束时间","value-format":"YYYY-MM-DD HH:mm:ss"},null,8,["modelValue"])]),_:1})],64)):"days"===ne.expire_type?(o(),n(i,{key:1,label:"有效天数"},{default:s(()=>[u(ze,{modelValue:ne.days,"onUpdate:modelValue":a[8]||(a[8]=e=>ne.days=e),min:1,max:365},null,8,["modelValue"]),a[23]||(a[23]=d("span",{class:"unit"},"天",-1))]),_:1})):m("",!0),u(i,{label:"分配备注"},{default:s(()=>[u(r,{modelValue:ne.remark,"onUpdate:modelValue":a[9]||(a[9]=e=>ne.remark=e),type:"textarea",rows:3,placeholder:"请输入分配备注,如活动名称、原因等",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),u(i,{label:"覆盖现有"},{default:s(()=>[u(Ye,{modelValue:ne.override_existing,"onUpdate:modelValue":a[10]||(a[10]=e=>ne.override_existing=e)},{default:s(()=>[...a[24]||(a[24]=[f(" 覆盖用户现有相同称号(如果用户已有该称号) ",-1)])]),_:1},8,["modelValue"])]),_:1}),u(i,{label:"发送通知"},{default:s(()=>[u(Ye,{modelValue:ne.send_notification,"onUpdate:modelValue":a[11]||(a[11]=e=>ne.send_notification=e)},{default:s(()=>[...a[25]||(a[25]=[f(" 给用户发送获得称号的通知消息 ",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1})):m("",!0)])]),_:1},8,["title","modelValue"])}}}),[["__scopeId","data-v-dcfb44a3"]]);export{Z as default}; diff --git a/nginx/admin/assets/UserAssignmentDialog-Cd2RiWKB.js.gz b/nginx/admin/assets/UserAssignmentDialog-Cd2RiWKB.js.gz new file mode 100644 index 0000000..f433f7b Binary files /dev/null and b/nginx/admin/assets/UserAssignmentDialog-Cd2RiWKB.js.gz differ diff --git a/nginx/admin/assets/_baseClone-Ct7RL6h5.js b/nginx/admin/assets/_baseClone-Ct7RL6h5.js new file mode 100644 index 0000000..135fe0d --- /dev/null +++ b/nginx/admin/assets/_baseClone-Ct7RL6h5.js @@ -0,0 +1 @@ +import{cM as e,d5 as t,d6 as r,d7 as a,d8 as c,d9 as n,da as o,db as s,dc as b,dd as u,cI as i,cO as j,cT as f,de as y,cQ as d,df as l}from"./index-BoIUJTA2.js";import{c as A,k as p,g as v,e as g,d as w,a as m,b as x,i as O}from"./_initCloneObject-DRmC-q3t.js";var I=Object.getOwnPropertySymbols?function(e){for(var r=[];e;)a(r,t(e)),e=v(e);return r}:r;function S(e){return c(e,p,I)}var U=Object.prototype.hasOwnProperty;var h=/\w*$/;var F=n?n.prototype:void 0,M=F?F.valueOf:void 0;function E(e,t,r){var a,c,n,o=e.constructor;switch(t){case"[object ArrayBuffer]":return g(e);case"[object Boolean]":case"[object Date]":return new o(+e);case"[object DataView]":return function(e,t){var r=t?g(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return w(e,r);case"[object Map]":case"[object Set]":return new o;case"[object Number]":case"[object String]":return new o(e);case"[object RegExp]":return(n=new(c=e).constructor(c.source,h.exec(c))).lastIndex=c.lastIndex,n;case"[object Symbol]":return a=e,M?Object(M.call(a)):{}}}var B=u&&u.isMap,D=B?b(B):function(e){return o(e)&&"[object Map]"==s(e)};var C=u&&u.isSet,k=C?b(C):function(e){return o(e)&&"[object Set]"==s(e)},N="[object Arguments]",P="[object Function]",R="[object Object]",V={};function G(r,a,c,n,o,b){var u,v=1&a,g=2&a,w=4&a;if(c&&(u=o?c(r,n,o,b):c(r)),void 0!==u)return u;if(!i(r))return r;var h=d(r);if(h){if(u=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&U.call(e,"index")&&(r.index=e.index,r.input=e.input),r}(r),!v)return m(r,u)}else{var F=s(r),M=F==P||"[object GeneratorFunction]"==F;if(j(r))return x(r,v);if(F==R||F==N||M&&!o){if(u=g||M?{}:O(r),!v)return g?function(e,t){return A(e,I(e),t)}(r,function(e,t){return e&&A(t,p(t),e)}(u,r)):function(e,r){return A(e,t(e),r)}(r,function(t,r){return t&&A(r,e(r),t)}(u,r))}else{if(!V[F])return o?r:{};u=E(r,F,v)}}b||(b=new f);var B=b.get(r);if(B)return B;b.set(r,u),k(r)?r.forEach(function(e){u.add(G(e,a,c,e,r,b))}):D(r)&&r.forEach(function(e,t){u.set(t,G(e,a,c,t,r,b))});var C=h?void 0:(w?g?S:y:g?p:e)(r);return function(e,t){for(var r=-1,a=null==e?0:e.length;++r{const c=o.__vccOpts||o;for(const[s,n]of t)c[s]=n;return c};export{o as _}; diff --git a/nginx/admin/assets/about-project-DgJMbhc5.js b/nginx/admin/assets/about-project-DgJMbhc5.js new file mode 100644 index 0000000..65dd2b4 --- /dev/null +++ b/nginx/admin/assets/about-project-DgJMbhc5.js @@ -0,0 +1 @@ +import{_ as e}from"./_plugin-vue_export-helper-BCo6x5W8.js";const r=e({},[["render",function(e,r){return null}]]);export{r as default}; diff --git a/nginx/admin/assets/active-user-B-AWR0LI.js b/nginx/admin/assets/active-user-B-AWR0LI.js new file mode 100644 index 0000000..97ad152 --- /dev/null +++ b/nginx/admin/assets/active-user-B-AWR0LI.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,a=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,i=(t,a,s)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[a]=s,l=(e,t)=>{for(var a in t||(t={}))r.call(t,a)&&i(e,a,t[a]);if(s)for(var a of s(t))o.call(t,a)&&i(e,a,t[a]);return e};import{d as n,c as d,N as c,b2 as u,b as p,e as m,m as h,L as y,r as f,k as x,g,X as b,f as v,I as w,J as A,v as L,T as S}from"./index-BoIUJTA2.js";import{u as k,a as j,g as O}from"./useChart-DmniNG26.js";import{a as P}from"./operations-Cr4YfoRu.js";import"./installCanvasRenderer-D-xUkWdX.js";const B=n((W=l({},{name:"ArtBarChart"}),D={__name:"index",props:{data:{default:()=>[0,0,0,0,0,0,0]},xAxisData:{default:()=>[]},barWidth:{default:"40%"},stack:{type:Boolean,default:!1},borderRadius:{default:4},height:{default:k().chartHeight},loading:{type:Boolean,default:!1},isEmpty:{type:Boolean,default:!1},colors:{default:()=>k().colors},showAxisLabel:{type:Boolean,default:!0},showAxisLine:{type:Boolean,default:!0},showSplitLine:{type:Boolean,default:!0},showTooltip:{type:Boolean,default:!0},showLegend:{type:Boolean,default:!1},legendPosition:{default:"bottom"}},setup(e){const t=e,a=d(()=>Array.isArray(t.data)&&t.data.length>0&&"object"==typeof t.data[0]&&"name"in t.data[0]),s=(e,a)=>e||(void 0!==a?t.colors[a%t.colors.length]:new O.LinearGradient(0,0,0,1,[{offset:0,color:y("--el-color-primary-light-4")},{offset:1,color:y("--el-color-primary")}])),r=e=>new O.LinearGradient(0,0,0,1,[{offset:0,color:e},{offset:1,color:e}]),o=e=>{const a=b();return l({name:e.name,data:e.data,type:"bar",stack:e.stack,itemStyle:(s=e.color,{borderRadius:t.borderRadius,color:"string"==typeof s?r(s):s}),barWidth:e.barWidth||t.barWidth},a);var s},{chartRef:i,getAxisLineStyle:n,getAxisLabelStyle:f,getAxisTickStyle:x,getSplitLineStyle:g,getAnimationConfig:b,getTooltipStyle:v,getLegendStyle:w,getGridWithLegend:A}=j({props:t,checkEmpty:()=>{if(Array.isArray(t.data)&&"number"==typeof t.data[0]){const e=t.data;return!e.length||e.every(e=>0===e)}if(Array.isArray(t.data)&&"object"==typeof t.data[0]){const e=t.data;return!e.length||e.every(e=>{var t;return!(null==(t=e.data)?void 0:t.length)||e.data.every(e=>0===e)})}return!0},watchSources:[()=>t.data,()=>t.xAxisData,()=>t.colors],generateOptions:()=>{const e={grid:A(t.showLegend&&a.value,t.legendPosition,{top:15,right:0,left:0}),tooltip:t.showTooltip?v():void 0,xAxis:{type:"category",data:t.xAxisData,axisTick:x(),axisLine:n(t.showAxisLine),axisLabel:f(t.showAxisLabel)},yAxis:{type:"value",axisLabel:f(t.showAxisLabel),axisLine:n(t.showAxisLine),splitLine:g(t.showSplitLine)}};if(t.showLegend&&a.value&&(e.legend=w(t.legendPosition)),a.value){const a=t.data;e.series=a.map((e,a)=>{const r=s(t.colors[a],a);return o({name:e.name,data:e.data,color:r,barWidth:e.barWidth,stack:t.stack?e.stack||"total":void 0})})}else{const a=t.data,r=s();e.series=[o({data:a,color:r})]}return e}});return(e,a)=>{const s=u;return c((m(),p("div",{ref_key:"chartRef",ref:i,style:h({height:t.height})},null,4)),[[s,t.loading]])}}},t(W,a(D))));var W,D;const R={class:"art-card h-105 p-4 box-border mb-5 max-sm:mb-4"},T={class:"flex-b mt-2"},_={class:"text-2xl text-g-900"},C={class:"text-xs text-g-500"},G=n({__name:"active-user",setup(e){const t=f([]),a=f([]),s=x([{name:"总用户量",num:"0"},{name:"总访问量",num:"0"},{name:"日访问量",num:"0"},{name:"周同比",num:"+0%"}]);return(()=>{return e=this,r=null,o=function*(){try{const e=yield P("30d");t.value=e.chart.map(e=>e.date.slice(5)),a.value=e.chart.map(e=>e.value),s[0].num=String(e.metrics.totalUsers),s[1].num=String(e.metrics.totalVisits),s[2].num=String(e.metrics.dailyVisits),s[3].num=e.metrics.weeklyGrowth}catch(e){S.error("加载用户概述失败")}},new Promise((t,a)=>{var s=e=>{try{l(o.next(e))}catch(t){a(t)}},i=e=>{try{l(o.throw(e))}catch(t){a(t)}},l=e=>e.done?t(e.value):Promise.resolve(e.value).then(s,i);l((o=o.apply(e,r)).next())});var e,r,o})(),(e,r)=>{const o=B;return m(),p("div",R,[g(o,{class:"box-border p-2",barWidth:"50%",height:"13.7rem",showAxisLine:!1,data:a.value,xAxisData:t.value},null,8,["data","xAxisData"]),r[0]||(r[0]=b('

用户概述

比上周 +23%

我们为您创建了多个选项,可将它们组合在一起并定制为像素完美的页面

',1)),v("div",T,[(m(!0),p(w,null,A(s,(e,t)=>(m(),p("div",{class:"flex-1",key:t},[v("p",_,L(e.num),1),v("p",C,L(e.name),1)]))),128))])])}}});export{G as default}; diff --git a/nginx/admin/assets/activity-CMsiETfu.js b/nginx/admin/assets/activity-CMsiETfu.js new file mode 100644 index 0000000..df9113f --- /dev/null +++ b/nginx/admin/assets/activity-CMsiETfu.js @@ -0,0 +1 @@ +var e=Object.defineProperty,r=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,s=(r,t,a)=>t in r?e(r,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):r[t]=a;import{c1 as o}from"./index-BoIUJTA2.js";function i(e){return i=this,n=null,c=function*(){const i=((e,o)=>{for(var i in o||(o={}))t.call(o,i)&&s(e,i,o[i]);if(r)for(var i of r(o))a.call(o,i)&&s(e,i,o[i]);return e})({page:1,page_size:20},e||{});try{const e=yield o.get({url:"admin/activities",params:i,showErrorMessage:!1});return{records:e.list.map(e=>({id:e.id,name:e.name,categoryName:e.category_name,status:e.status,priceDraw:e.price_draw,isBoss:e.is_boss,drawMode:"",playType:e.play_type||"",minParticipants:0,intervalMinutes:0,scheduledTime:""})),total:e.total,current:e.page,size:e.page_size}}catch(n){return{records:[],total:0,current:i.page,size:i.page_size}}},new Promise((e,r)=>{var t=e=>{try{s(c.next(e))}catch(t){r(t)}},a=e=>{try{s(c.throw(e))}catch(t){r(t)}},s=r=>r.done?e(r.value):Promise.resolve(r.value).then(t,a);s((c=c.apply(i,n)).next())});var i,n,c}export{i as f}; diff --git a/nginx/admin/assets/activity-lottery-Canzwjq1.js b/nginx/admin/assets/activity-lottery-Canzwjq1.js new file mode 100644 index 0000000..bdf167a --- /dev/null +++ b/nginx/admin/assets/activity-lottery-Canzwjq1.js @@ -0,0 +1 @@ +import{d as t,r as e,k as l,o as a,b as s,e as r,f as o,v as n,I as i,J as c,j as d,q as g,g as x,w as v,n as f}from"./index-BoIUJTA2.js";/* empty css */import{b as u,c as b}from"./operations-Cr4YfoRu.js";import{E as p}from"./index-ZsMdSUVI.js";const h={class:"art-card h-140 p-5 mb-5 max-sm:mb-4"},m={class:"h-[calc(100%-40px)]"},y={class:"grid grid-cols-4 gap-4 mb-6"},w={class:"text-center p-3 bg-blue-50 rounded-lg"},C={class:"text-2xl font-bold text-blue-600"},R={class:"text-center p-3 bg-green-50 rounded-lg"},S={class:"text-2xl font-bold text-green-600"},j={class:"text-center p-3 bg-yellow-50 rounded-lg"},k={class:"text-2xl font-bold text-yellow-600"},P={class:"text-center p-3 bg-purple-50 rounded-lg"},$={class:"text-2xl font-bold text-purple-600"},T={class:"h-60 mb-4"},_={class:"overflow-auto"},A={class:"w-full text-sm"},W={class:"py-2"},E={class:"flex items-center"},F={class:"py-2"},L={class:"py-2"},N={class:"py-2"},q={class:"py-2"},z=t({__name:"activity-lottery",setup(t){const z=e(),D=l({totalActivities:0,totalParticipants:0,totalDraws:0,winnerCount:0,overallWinRate:0,costControl:0}),G=l([]),I=e(!1),J=t=>t.winRate>2?"success":t.winRate>1?"warning":"info",M=t=>t.winRate>2?"高中奖率":t.winRate>1?"中等中奖率":"低中奖率",O=(t,e)=>({1:`rgba(251, 191, 36, ${e})`,2:`rgba(156, 163, 175, ${e})`,3:`rgba(251, 146, 60, ${e})`,4:`rgba(96, 165, 250, ${e})`,5:`rgba(52, 211, 153, ${e})`}[t]||`rgba(156, 163, 175, ${e})`),B=()=>{return t=this,e=null,l=function*(){I.value=!0;try{const[t,e]=yield Promise.all([u("7d"),b("7d")]);Object.assign(D,t),G.splice(0,G.length,...e),f(()=>{(()=>{if(!z.value||0===G.length)return;const t=z.value,e=t.getContext("2d");if(!e)return;e.clearRect(0,0,t.width,t.height);const l=40,a=t.width-80,s=t.height-80,r=Math.max(...G.map(t=>t.winnerCount)),o=a/G.length*.6,n=a/G.length*.4;G.forEach((t,a)=>{const i=l+a*(o+n)+n/2,c=t.winnerCount/r*s,d=l+s-c,g=e.createLinearGradient(i,d+c,i,d);g.addColorStop(0,O(t.level,.8)),g.addColorStop(1,O(t.level,1)),e.fillStyle=g,e.fillRect(i,d,o,c),e.fillStyle="#333",e.font="12px sans-serif",e.textAlign="center",e.fillText(t.winnerCount.toString(),i+o/2,d-5),e.fillText(t.levelName,i+o/2,l+s+20)}),e.strokeStyle="#e0e0e0",e.lineWidth=1,e.beginPath(),e.moveTo(l,l),e.lineTo(l,l+s),e.lineTo(l+a,l+s),e.stroke()})()})}catch(t){}finally{I.value=!1}},new Promise((a,s)=>{var r=t=>{try{n(l.next(t))}catch(e){s(e)}},o=t=>{try{n(l.throw(t))}catch(e){s(e)}},n=t=>t.done?a(t.value):Promise.resolve(t.value).then(r,o);n((l=l.apply(t,e)).next())});var t,e,l};return a(()=>{B()}),(t,e)=>{const l=p;return r(),s("div",h,[e[5]||(e[5]=o("div",{class:"art-card-header"},[o("div",{class:"title"},[o("h4",null,"活动抽奖效果分析"),o("p",null,"优化中奖概率,控制活动成本")])],-1)),o("div",m,[o("div",y,[o("div",w,[o("div",C,n(D.totalActivities),1),e[0]||(e[0]=o("div",{class:"text-sm text-g-500"},"活动总数",-1))]),o("div",R,[o("div",S,n((a=D.totalParticipants,a>=1e4?(a/1e4).toFixed(1)+"w":a>=1e3?(a/1e3).toFixed(1)+"k":a.toString())),1),e[1]||(e[1]=o("div",{class:"text-sm text-g-500"},"参与人数",-1))]),o("div",j,[o("div",k,n(D.overallWinRate)+"%",1),e[2]||(e[2]=o("div",{class:"text-sm text-g-500"},"整体中奖率",-1))]),o("div",P,[o("div",$,n(D.costControl)+"%",1),e[3]||(e[3]=o("div",{class:"text-sm text-g-500"},"成本控制",-1))])]),o("div",T,[o("canvas",{ref_key:"chartRef",ref:z,width:"400",height:"240"},null,512)]),o("div",_,[o("table",A,[e[4]||(e[4]=o("thead",null,[o("tr",{class:"border-b border-g-200"},[o("th",{class:"text-left py-2"},"奖级"),o("th",{class:"text-left py-2"},"中奖人数"),o("th",{class:"text-left py-2"},"中奖率"),o("th",{class:"text-left py-2"},"成本"),o("th",{class:"text-left py-2"},"状态")])],-1)),o("tbody",null,[(r(!0),s(i,null,c(G,t=>{return r(),s("tr",{key:t.level,class:"border-b border-g-100 hover:bg-g-50"},[o("td",W,[o("div",E,[o("span",{class:g(["w-6 h-6 rounded-full flex items-center justify-center text-white text-xs font-bold mr-2",(e=t.level,{1:"bg-gradient-to-r from-yellow-400 to-yellow-300",2:"bg-gradient-to-r from-gray-400 to-gray-300",3:"bg-gradient-to-r from-orange-400 to-orange-300",4:"bg-gradient-to-r from-blue-400 to-blue-300",5:"bg-gradient-to-r from-green-400 to-green-300"}[e]||"bg-gradient-to-r from-gray-400 to-gray-300")])},n(t.level),3),d(" "+n(t.levelName),1)])]),o("td",F,n(t.winnerCount)+"人",1),o("td",L,n(t.winRate)+"%",1),o("td",N,"¥"+n(t.cost.toLocaleString()),1),o("td",q,[x(l,{type:J(t),size:"small"},{default:v(()=>[d(n(M(t)),1)]),_:2},1032,["type"])])]);var e}),128))])])])])]);var a}}});export{z as default}; diff --git a/nginx/admin/assets/activity-prize-analysis-4VDKbVv3.js b/nginx/admin/assets/activity-prize-analysis-4VDKbVv3.js new file mode 100644 index 0000000..5dbefee --- /dev/null +++ b/nginx/admin/assets/activity-prize-analysis-4VDKbVv3.js @@ -0,0 +1 @@ +var t=(t,e,s)=>new Promise((a,l)=>{var i=t=>{try{n(s.next(t))}catch(e){l(e)}},r=t=>{try{n(s.throw(t))}catch(e){l(e)}},n=t=>t.done?a(t.value):Promise.resolve(t.value).then(i,r);n((s=s.apply(t,e)).next())});import{d as e,r as s,k as a,c as l,o as i,b as r,e as n,f as o,i as d,g as c,w as u,I as p,J as x,h as m,v as y,j as b,q as f,p as g}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{d as v,f as h}from"./operations-Cr4YfoRu.js";import{c as w,b as j,g as k}from"./activityEnums-zI8yOqFS.js";import{a as P,E as z}from"./index-D2gD5Tn5.js";import{E as Q}from"./index-ZsMdSUVI.js";import{E as C}from"./index-ClDjAOOe.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./token-DWNpOE8r.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";const _={class:"art-card h-auto min-h-[500px] p-5 mb-5 max-sm:mb-4 relative z-0"},D={class:"flex flex-col h-[calc(100%-40px)] space-y-4"},E={class:"flex-shrink-0"},L={class:"flex justify-between items-center"},M={key:0,class:"flex-shrink-0 p-3 bg-g-50 rounded-lg"},T={class:"grid grid-cols-4 gap-4 text-sm"},V={class:"font-medium"},$={class:"font-medium"},F={class:"font-medium"},I={class:"font-medium"},U={key:1,class:"overflow-auto max-h-[350px] border border-g-200 rounded-lg"},q={class:"w-full text-sm"},A={class:"py-3 px-2"},J={class:"flex items-center"},N={class:"font-medium text-g-900"},S={class:"text-xs text-g-500"},B={class:"py-3 px-2"},G={class:"font-medium text-g-900 mb-1"},H={class:"text-xs text-g-500"},K={class:"py-3 px-2"},O={class:"space-y-2"},R={class:"flex justify-between items-center"},W={class:"font-medium text-blue-600"},X={class:"flex justify-between items-center"},Y={class:"w-full bg-g-200 rounded-full h-1.5"},Z={class:"py-3 px-2"},tt={class:"space-y-1"},et={class:"flex justify-between"},st={class:"font-medium text-green-600"},at={class:"flex justify-between"},lt={class:"font-medium"},it={class:"flex justify-between"},rt={class:"font-medium text-blue-600"},nt={class:"py-3 px-2"},ot={class:"space-y-2"},dt={class:"flex justify-between items-center"},ct={class:"flex justify-between items-center"},ut={class:"font-medium text-g-600"},pt={class:"w-full bg-g-200 rounded-full h-1.5"},xt={class:"py-3 px-2"},mt={class:"space-y-2"},yt={key:0,class:"text-xs text-red-600 bg-red-50 px-2 py-1 rounded"},bt={key:1,class:"text-xs text-blue-600 bg-blue-50 px-2 py-1 rounded"},ft={key:2,class:"text-xs text-orange-600 bg-orange-50 px-2 py-1 rounded"},gt={key:2,class:"text-center py-12 text-g-500"},vt=e({__name:"activity-prize-analysis",setup(e){const vt=s(),ht=a([]),wt=a([]),jt=s(null),kt=s(!1),Pt=l(()=>ht.find(t=>t.id===vt.value)),zt=t=>k(t),Qt=(t,e)=>{const s=Math.abs(t-e);return s<=.1?"text-green-600 font-medium":s<=.5?"text-yellow-600 font-medium":"text-red-600 font-medium"},Ct=t=>t.actualProbability>1.1*t.probability?"warning":t.actualProbability<.9*t.probability?"info":"success",_t=t=>t.actualProbability>1.1*t.probability?"中奖率偏高":t.actualProbability<.9*t.probability?"中奖率偏低":"中奖率正常",Dt=t=>t>=1e4?(t/1e4).toFixed(1)+"w":t>=1e3?(t/1e3).toFixed(1)+"k":t.toString(),Et=(t,e)=>{const s=new Date(t),a=new Date(e);return`${s.getMonth()+1}/${s.getDate()}-${a.getMonth()+1}/${a.getDate()}`},Lt=()=>t(this,null,function*(){try{const t=yield v();ht.splice(0,ht.length,...t),t.length>0&&!vt.value&&(vt.value=t[0].id,yield Mt())}catch(t){}}),Mt=()=>t(this,null,function*(){if(vt.value){kt.value=!0;try{const t=yield h(vt.value);jt.value=t,wt.splice(0,wt.length,...t.prizes)}catch(t){}finally{kt.value=!1}}});return i(()=>{Lt()}),(t,e)=>{const s=Q,a=P,l=z,i=C;return n(),r("div",_,[e[14]||(e[14]=o("div",{class:"art-card-header"},[o("div",{class:"title"},[o("h4",null,"活动中奖率分析"),o("p",null,"选择活动查看各奖品中奖概率分布")])],-1)),o("div",D,[o("div",E,[c(l,{modelValue:vt.value,"onUpdate:modelValue":e[0]||(e[0]=t=>vt.value=t),placeholder:"请选择活动",class:"w-full",onChange:Mt},{default:u(()=>[(n(!0),r(p,null,x(ht,t=>(n(),m(a,{key:t.id,label:t.name,value:t.id},{default:u(()=>{return[o("div",L,[o("span",null,y(t.name),1),c(s,{type:(e=t.status,{active:"success",ended:"info",upcoming:"warning"}[e]||"info"),size:"small"},{default:u(()=>[b(y(zt(t.status)),1)]),_:2},1032,["type"])])];var e}),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue"])]),Pt.value?(n(),r("div",M,[o("div",T,[o("div",null,[e[1]||(e[1]=o("div",{class:"text-g-500"},"活动类型",-1)),o("div",V,y(Pt.value.type),1)]),o("div",null,[e[2]||(e[2]=o("div",{class:"text-g-500"},"参与人数",-1)),o("div",$,y(Dt(Pt.value.totalParticipants)),1)]),o("div",null,[e[3]||(e[3]=o("div",{class:"text-g-500"},"总抽奖次数",-1)),o("div",F,y(Dt(Pt.value.totalDraws)),1)]),o("div",null,[e[4]||(e[4]=o("div",{class:"text-g-500"},"活动时间",-1)),o("div",I,y(Et(Pt.value.startTime,Pt.value.endTime)),1)])])])):d("",!0),wt.length>0?(n(),r("div",U,[o("table",q,[e[12]||(e[12]=o("thead",null,[o("tr",{class:"border-b border-g-200 bg-g-50"},[o("th",{class:"text-left py-3 px-2 font-medium"},"奖品等级"),o("th",{class:"text-left py-3 px-2 font-medium"},"奖品名称"),o("th",{class:"text-left py-3 px-2 font-medium"},"概率对比"),o("th",{class:"text-left py-3 px-2 font-medium"},"中奖统计"),o("th",{class:"text-left py-3 px-2 font-medium"},"库存状态"),o("th",{class:"text-left py-3 px-2 font-medium"},"状态")])],-1)),o("tbody",null,[(n(!0),r(p,null,x(wt,t=>{return n(),r("tr",{key:t.prizeId,class:"border-b border-g-100 hover:bg-g-50 transition-colors"},[o("td",A,[o("div",J,[o("span",{class:f(["w-8 h-8 rounded-full flex items-center justify-center text-white text-sm font-bold mr-3 shadow-sm",(a=t.prizeLevel,{1:"bg-gradient-to-r from-yellow-500 to-yellow-400",2:"bg-gradient-to-r from-gray-500 to-gray-400",3:"bg-gradient-to-r from-orange-500 to-orange-400",4:"bg-gradient-to-r from-blue-500 to-blue-400",5:"bg-gradient-to-r from-green-500 to-green-400"}[a]||"bg-gradient-to-r from-gray-500 to-gray-400")])},y(t.prizeLevel),3),o("div",null,[o("div",N,y(g(w)(t.prizeLevel)),1),o("div",S,y(g(j)(t.prizeType)),1)])])]),o("td",B,[o("div",G,y(t.prizeName),1),o("div",H,"价值: ¥"+y(Dt(t.prizeValue)),1)]),o("td",K,[o("div",O,[o("div",R,[e[5]||(e[5]=o("span",{class:"text-xs text-g-500"},"设置:",-1)),o("span",W,y(t.probability)+"%",1)]),o("div",X,[e[6]||(e[6]=o("span",{class:"text-xs text-g-500"},"实际:",-1)),o("span",{class:f(Qt(t.actualProbability,t.probability))},y(t.actualProbability)+"% ",3)]),o("div",Y,[c(i,{percentage:Math.min(t.actualProbability/t.probability*50,100),color:t.actualProbability>t.probability?"#ef4444":"#10b981","show-text":!1,"stroke-width":6},null,8,["percentage","color"])])])]),o("td",Z,[o("div",tt,[o("div",et,[e[7]||(e[7]=o("span",{class:"text-xs text-g-500"},"中奖:",-1)),o("span",st,y(t.winCount),1)]),o("div",at,[e[8]||(e[8]=o("span",{class:"text-xs text-g-500"},"参与:",-1)),o("span",lt,y(t.drawCount),1)]),o("div",it,[e[9]||(e[9]=o("span",{class:"text-xs text-g-500"},"转化率:",-1)),o("span",rt,y(t.drawCount>0?(t.winCount/t.drawCount*100).toFixed(1):0)+"% ",1)])])]),o("td",nt,[o("div",ot,[o("div",dt,[e[10]||(e[10]=o("span",{class:"text-xs text-g-500"},"剩余:",-1)),o("span",{class:f(["font-medium",t.totalQuantity-t.issuedQuantity<10?"text-red-600":"text-g-900"])},y(t.totalQuantity-t.issuedQuantity),3)]),o("div",ct,[e[11]||(e[11]=o("span",{class:"text-xs text-g-500"},"总量:",-1)),o("span",ut,y(t.totalQuantity),1)]),o("div",pt,[c(i,{percentage:t.issuedQuantity/t.totalQuantity*100,color:"#3b82f6","show-text":!1,"stroke-width":6},null,8,["percentage"])])])]),o("td",xt,[o("div",mt,[c(s,{type:Ct(t),size:"small",class:"w-full justify-center"},{default:u(()=>[b(y(_t(t)),1)]),_:2},1032,["type"]),t.actualProbability>1.2*t.probability?(n(),r("div",yt," 中奖率异常偏高 ")):t.actualProbability<.8*t.probability?(n(),r("div",bt," 中奖率异常偏低 ")):d("",!0),t.totalQuantity-t.issuedQuantity<10?(n(),r("div",ft," 库存不足 ")):d("",!0)])])]);var a}),128))])])])):d("",!0),vt.value?d("",!0):(n(),r("div",gt,[...e[13]||(e[13]=[o("div",{class:"text-lg mb-2"},"请选择活动",-1),o("div",{class:"text-sm"},"选择要分析的活动查看奖品中奖率分布",-1)])]))])])}}});export{vt as default}; diff --git a/nginx/admin/assets/activity-profit-loss-C6encsTT.css b/nginx/admin/assets/activity-profit-loss-C6encsTT.css new file mode 100644 index 0000000..3fc9d7e --- /dev/null +++ b/nginx/admin/assets/activity-profit-loss-C6encsTT.css @@ -0,0 +1 @@ +.profit-card[data-v-4afd189b]{padding:1.25rem;background:var(--default-box-color);border:1px solid var(--art-gray-200);border-radius:calc(var(--custom-radius) + 4px);transition:all .3s cubic-bezier(.4,0,.2,1)}.profit-card[data-v-4afd189b]:hover{transform:translateY(-4px);border-color:var(--el-color-primary);box-shadow:0 12px 24px -8px rgba(var(--el-color-primary-rgb),.15)}.stat-item[data-v-4afd189b]{padding:.75rem;background:var(--art-gray-100);border:1px solid var(--art-gray-200);border-radius:calc(var(--custom-radius))}[data-v-4afd189b] .el-table{--el-table-border-color: var(--art-gray-200);--el-table-header-bg-color: var(--art-gray-100)}[data-v-4afd189b] .el-dialog{border-radius:calc(var(--custom-radius) + 8px);overflow:hidden}[data-v-4afd189b] .el-dialog__header{margin-right:0;padding-bottom:20px;border-bottom:1px solid var(--art-gray-200)}.payment-details-cell[data-v-4afd189b]{display:flex;flex-direction:column}.payment-detail-item[data-v-4afd189b]{display:flex;align-items:center;font-size:11px;padding:2px 0}.payment-detail-item i[data-v-4afd189b]{font-size:12px}.detail-filter-row[data-v-4afd189b]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.filter-input[data-v-4afd189b]{width:220px} diff --git a/nginx/admin/assets/activity-profit-loss-QBBuvhKV.js b/nginx/admin/assets/activity-profit-loss-QBBuvhKV.js new file mode 100644 index 0000000..4bbb034 --- /dev/null +++ b/nginx/admin/assets/activity-profit-loss-QBBuvhKV.js @@ -0,0 +1 @@ +var e=(e,t,a)=>new Promise((l,s)=>{var i=e=>{try{r(a.next(e))}catch(t){s(t)}},o=e=>{try{r(a.throw(e))}catch(t){s(t)}},r=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,o);r((a=a.apply(e,t)).next())});import{d as t,r as a,k as l,o as s,b as i,e as o,f as r,g as n,N as d,i as p,K as u,P as c,w as m,E as f,j as x,b2 as v,I as _,J as g,v as y,h as b,q as j,T as h}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{E as w}from"./el-empty-CV-PB2A2.js";/* empty css */import{f as k,a as z}from"./dashboard-Csmn9wla.js";import{E as V,a as C}from"./index-D2gD5Tn5.js";import{E as F}from"./index-C1haaLtB.js";import{E}from"./index-CjpBlozU.js";import{E as U,a as I}from"./index-BjuMygln.js";import{E as K}from"./index-DvejFoOw.js";import{E as P}from"./index-BjQJlHTd.js";import{E as q}from"./index-ZsMdSUVI.js";import{_ as A}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./token-DWNpOE8r.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./index-D8nVJoNy.js";import"./index-1OHUSGeP.js";const D={class:"activity-profit-loss"},T={class:"art-card h-auto min-h-[450px] p-5 max-sm:mb-4 relative z-0"},O={class:"art-card-header"},S={class:"extra flex items-center gap-4"},B={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 mt-4"},J=["onClick"],L={class:"flex justify-between items-start mb-4"},N={class:"flex-1"},Q={class:"flex items-center gap-2 mb-1"},X={class:"text-xs text-g-400"},$={class:"text-base font-bold text-g-800 line-clamp-1 group-hover:text-primary transition-colors"},G={class:"text-right"},H={class:"grid grid-cols-2 gap-3 mb-4"},M={class:"stat-item flex-1"},R={class:"text-lg font-black font-mono text-g-900"},W={class:"flex gap-2 mt-1 text-[10px] transform scale-95 origin-left"},Y={key:0,class:"text-green-600 bg-green-50 px-1 rounded",title:"现金/优惠券抽奖"},Z={key:1,class:"text-blue-600 bg-blue-50 px-1 rounded",title:"次卡抽奖"},ee={key:2,class:"text-red-500 bg-red-50 px-1 rounded",title:"退款/取消"},te={class:"stat-item"},ae={class:"text-lg font-black font-mono text-g-900"},le={class:"space-y-2"},se={class:"flex justify-between items-center text-sm"},ie={class:"font-bold font-mono text-g-900"},oe={key:0,class:"flex justify-between items-center text-sm"},re={class:"font-bold font-mono text-orange-500"},ne={key:1,class:"flex justify-between items-center text-sm"},de={class:"font-bold font-mono text-blue-500"},pe={class:"flex justify-between items-center text-sm"},ue={class:"font-bold font-mono text-g-700"},ce={class:"flex justify-between items-center pt-2 border-t border-dashed border-g-200"},me={key:0,class:"py-20 text-center"},fe={class:"mt-6 flex justify-end"},xe={class:"detail-filter-row"},ve={class:"text-xs text-g-500"},_e={class:"flex items-center"},ge={class:"text-sm font-bold"},ye={class:"text-[10px] text-g-400 ml-1"},be={class:"text-xs text-g-500 font-mono"},je={class:"flex items-center"},he={class:"text-sm mr-2"},we={class:"flex flex-col gap-1"},ke={class:"flex items-center gap-2"},ze={class:"font-mono font-bold text-base"},Ve={class:"flex items-center gap-1 flex-wrap"},Ce={class:"font-mono text-g-500"},Fe={class:"flex justify-end mt-4"},Ee=A(t({__name:"activity-profit-loss",setup(t){const A=a(!1),Ee=a([]),Ue=a(0),Ie=l({page:1,page_size:9,name:"",status:0,sort_by:""}),Ke=()=>{Ie.page=1,Pe()},Pe=()=>e(this,null,function*(){A.value=!0;try{const e=yield k(Ie);Ee.value=e.list||[],Ue.value=e.total}catch(e){h.error("获取活动盈亏数据失败: "+(e.message||"未知错误"))}finally{A.value=!1}}),qe=a(!1),Ae=a(!1),De=a(null),Te=a([]),Oe=a(1),Se=a(10),Be=a(0),Je=a(""),Le=a(""),Ne=()=>e(this,null,function*(){if(De.value){Ae.value=!0;try{const e=yield z(De.value.activity_id,Oe.value,Se.value,void 0,{playerKeyword:Je.value,prizeKeyword:Le.value});Te.value=e.list||[],Be.value=e.total}catch(e){h.error("获取抽奖详情失败")}finally{Ae.value=!1}}}),Qe=()=>{Oe.value=1,Ne()},Xe=()=>{Je.value="",Le.value="",Oe.value=1,Ne()};return s(()=>{Pe()}),(e,t)=>{var a;const l=u,s=C,h=V,k=f,z=q,$e=w,Ge=F,He=I,Me=K,Re=P,We=U,Ye=E,Ze=v;return o(),i("div",D,[r("div",T,[r("div",O,[t[11]||(t[11]=r("div",{class:"title"},[r("h4",null,"活动盈亏分析"),r("p",null,"分析各活动营收、成本及盈利表现")],-1)),r("div",S,[n(l,{modelValue:Ie.name,"onUpdate:modelValue":t[0]||(t[0]=e=>Ie.name=e),placeholder:"搜索活动名称",clearable:"",size:"small",style:{width:"180px"},onKeyup:c(Ke,["enter"])},{prefix:m(()=>[...t[9]||(t[9]=[r("i",{class:"ri-search-line"},null,-1)])]),_:1},8,["modelValue"]),n(h,{modelValue:Ie.status,"onUpdate:modelValue":t[1]||(t[1]=e=>Ie.status=e),placeholder:"属性",clearable:"",size:"small",style:{width:"100px"},onChange:Ke},{default:m(()=>[n(s,{label:"全部状态",value:0}),n(s,{label:"进行中",value:1}),n(s,{label:"已结束",value:2})]),_:1},8,["modelValue"]),n(h,{modelValue:Ie.sort_by,"onUpdate:modelValue":t[2]||(t[2]=e=>Ie.sort_by=e),placeholder:"排序",size:"small",style:{width:"120px"},onChange:Ke},{default:m(()=>[n(s,{label:"默认排序",value:""}),n(s,{label:"盈利最高",value:"profit"}),n(s,{label:"亏损最多",value:"profit_asc"}),n(s,{label:"盈利率",value:"profit_rate"}),n(s,{label:"抽奖次数",value:"draw_count"})]),_:1},8,["modelValue"]),n(k,{type:"primary",size:"small",onClick:Ke},{default:m(()=>[...t[10]||(t[10]=[r("i",{class:"ri-refresh-line mr-1"},null,-1),x(" 刷新 ",-1)])]),_:1})])]),d((o(),i("div",B,[(o(!0),i(_,null,g(Ee.value,e=>(o(),i("div",{key:e.activity_id,class:"profit-card cursor-pointer",onClick:t=>(e=>{De.value=e,Oe.value=1,Je.value="",Le.value="",qe.value=!0,Ne()})(e)},[r("div",L,[r("div",N,[r("div",Q,[n(z,{type:1===e.status?"success":"info",size:"small",effect:"dark"},{default:m(()=>[x(y(1===e.status?"进行中":"已结束"),1)]),_:2},1032,["type"]),r("span",X,"ID: "+y(e.activity_id),1)]),r("h5",$,y(e.activity_name),1)]),r("div",G,[r("div",{class:j(["text-2xl font-black font-mono tracking-tighter",e.profit>0?"text-red-500":e.profit<0?"text-green-500":"text-g-500"])},y(e.profit>0?"+":"")+y(((e.profit||0)/100).toFixed(2)),3),t[12]||(t[12]=r("div",{class:"text-[10px] uppercase font-bold text-g-400 mt-1"},"净盈亏 (元)",-1))])]),r("div",H,[r("div",M,[t[13]||(t[13]=r("div",{class:"text-xs text-g-500 mb-1"},"抽奖次数",-1)),r("div",R,y(e.draw_count),1),r("div",W,[e.payment_count>0?(o(),i("span",Y," 钱"+y(e.payment_count),1)):p("",!0),e.game_pass_count>0?(o(),i("span",Z," 卡"+y(e.game_pass_count),1)):p("",!0),e.refund_count>0?(o(),i("span",ee," 退"+y(e.refund_count),1)):p("",!0)])]),r("div",te,[t[14]||(t[14]=r("div",{class:"text-xs text-g-500 mb-1"},"参与人数",-1)),r("div",ae,y(e.player_count),1)])]),r("div",le,[r("div",se,[t[15]||(t[15]=r("span",{class:"text-g-500"},"现金收入",-1)),r("span",ie,"¥"+y(((e.total_revenue||0)/100).toFixed(2)),1)]),e.total_discount>0?(o(),i("div",oe,[t[16]||(t[16]=r("span",{class:"text-g-500"},"优惠券抵扣",-1)),r("span",re,"¥"+y(((e.total_discount||0)/100).toFixed(2)),1)])):p("",!0),e.total_game_pass_value>0?(o(),i("div",ne,[t[17]||(t[17]=r("span",{class:"text-g-500"},"次卡价值",-1)),r("span",de,"¥"+y(((e.total_game_pass_value||0)/100).toFixed(2)),1)])):p("",!0),r("div",pe,[t[18]||(t[18]=r("span",{class:"text-g-500"},"产出成本",-1)),r("span",ue,"¥"+y(((e.total_cost||0)/100).toFixed(2)),1)]),r("div",ce,[t[19]||(t[19]=r("span",{class:"text-g-500 font-medium"},"盈利率",-1)),r("span",{class:j(["font-black text-sm",e.profit_rate>0?"text-red-500":e.profit_rate<0?"text-green-500":"text-g-500"])},y((100*e.profit_rate).toFixed(2))+"% ",3)])])],8,J))),128))])),[[Ze,A.value]]),0!==Ee.value.length||A.value?p("",!0):(o(),i("div",me,[n($e,{description:"暂无活动数据"})])),r("div",fe,[n(Ge,{"current-page":Ie.page,"onUpdate:currentPage":t[3]||(t[3]=e=>Ie.page=e),"page-size":Ie.page_size,"onUpdate:pageSize":t[4]||(t[4]=e=>Ie.page_size=e),total:Ue.value,layout:"total, prev, pager, next",background:"",onCurrentChange:Pe},null,8,["current-page","page-size","total"])])]),n(Ye,{modelValue:qe.value,"onUpdate:modelValue":t[8]||(t[8]=e=>qe.value=e),title:`抽奖记录 - ${null==(a=De.value)?void 0:a.activity_name}`,width:"80%","destroy-on-close":""},{default:m(()=>[d((o(),i("div",null,[r("div",xe,[n(l,{modelValue:Je.value,"onUpdate:modelValue":t[5]||(t[5]=e=>Je.value=e),placeholder:"搜索玩家(昵称 / ID / 手机号)",clearable:"",size:"small",class:"filter-input",onKeyup:c(Qe,["enter"])},null,8,["modelValue"]),n(l,{modelValue:Le.value,"onUpdate:modelValue":t[6]||(t[6]=e=>Le.value=e),placeholder:"搜索奖品(名称 / ID)",clearable:"",size:"small",class:"filter-input",onKeyup:c(Qe,["enter"])},null,8,["modelValue"]),n(k,{type:"primary",size:"small",onClick:Qe},{default:m(()=>[...t[20]||(t[20]=[x("查询",-1)])]),_:1}),n(k,{size:"small",onClick:Xe},{default:m(()=>[...t[21]||(t[21]=[x("重置",-1)])]),_:1})]),n(We,{data:Te.value,style:{width:"100%"},height:"500px"},{default:m(()=>[n(He,{label:"抽奖时间",width:"170"},{default:m(({row:e})=>{return[r("span",ve,y((t=e.created_at,t?t.replace("T"," ").replace(/\.\d+/,"").slice(0,19):"-")),1)];var t}),_:1}),n(He,{label:"玩家","min-width":"150"},{default:m(({row:e})=>[r("div",_e,[n(Me,{size:24,src:e.avatar,class:"mr-2"},null,8,["src"]),r("span",ge,y(e.nickname),1),r("span",ye,"("+y(e.user_id)+")",1)])]),_:1}),n(He,{label:"订单号","min-width":"140"},{default:m(({row:e})=>[r("span",be,y(e.order_no||"-"),1)]),_:1}),n(He,{label:"中奖产品","min-width":"250"},{default:m(({row:e})=>[r("div",je,[n(Re,{src:e.product_image,class:"w-8 h-8 rounded mr-2",fit:"cover"},null,8,["src"]),r("span",he,y(e.product_name),1),n(z,{size:"small",type:(e.product_quantity||1)>1?"primary":"info",effect:"plain",class:"font-bold"},{default:m(()=>[x(" x"+y(e.product_quantity||1),1)]),_:2},1032,["type"])])]),_:1}),n(He,{label:"支付详情","min-width":"300"},{default:m(({row:e})=>{var a,l,s,i,n;return[r("div",we,[r("div",ke,[r("span",ze,"¥"+y((e.order_amount/100).toFixed(2)),1),4===e.order_status?(o(),b(z,{key:0,type:"danger",size:"small",effect:"dark"},{default:m(()=>[...t[22]||(t[22]=[x("已退款",-1)])]),_:1})):3===e.order_status?(o(),b(z,{key:1,type:"info",size:"small",effect:"dark"},{default:m(()=>[...t[23]||(t[23]=[x("已取消",-1)])]),_:1})):p("",!0)]),r("div",Ve,[e.order_amount>0&&!(null==(a=e.payment_details)?void 0:a.game_pass_used)?(o(),b(z,{key:0,type:"success",size:"small",effect:"plain"},{default:m(()=>[t[24]||(t[24]=r("i",{class:"ri-money-cny-circle-line mr-1"},null,-1)),x("现金 ¥"+y((e.order_amount/100).toFixed(2)),1)]),_:2},1024)):p("",!0),(null==(l=e.payment_details)?void 0:l.coupon_used)?(o(),b(z,{key:1,type:"warning",size:"small",effect:"plain"},{default:m(()=>[t[25]||(t[25]=r("i",{class:"ri-coupon-3-line mr-1"},null,-1)),x(y(e.payment_details.coupon_name||"优惠券")+" -¥"+y((e.payment_details.coupon_discount/100).toFixed(2)),1)]),_:2},1024)):p("",!0),(null==(s=e.payment_details)?void 0:s.item_card_used)?(o(),b(z,{key:2,type:"primary",size:"small",effect:"plain"},{default:m(()=>[t[26]||(t[26]=r("i",{class:"ri-vip-crown-line mr-1"},null,-1)),x(y(e.payment_details.item_card_name||"道具卡"),1)]),_:2},1024)):p("",!0),(null==(i=e.payment_details)?void 0:i.game_pass_used)?(o(),b(z,{key:3,size:"small",effect:"plain"},{default:m(()=>[t[27]||(t[27]=r("i",{class:"ri-ticket-2-line mr-1"},null,-1)),x(y(e.payment_details.game_pass_info||"次数卡"),1)]),_:2},1024)):p("",!0),(null==(n=e.payment_details)?void 0:n.points_used)?(o(),b(z,{key:4,type:"success",size:"small",effect:"plain"},{default:m(()=>[t[28]||(t[28]=r("i",{class:"ri-coin-line mr-1"},null,-1)),x("积分 -¥"+y((e.payment_details.points_discount/100).toFixed(2)),1)]),_:2},1024)):p("",!0)])])]}),_:1}),n(He,{label:"产品成本",width:"120",align:"right"},{default:m(({row:e})=>[r("span",Ce,"¥"+y((e.product_price/100).toFixed(2)),1)]),_:1}),n(He,{label:"本单盈亏",width:"120",align:"right"},{default:m(({row:e})=>[r("span",{class:j(["font-mono font-bold",e.profit>0?"text-red-500":e.profit<0?"text-green-500":"text-g-500"])},y(e.profit>0?"+":"")+y((e.profit/100).toFixed(2)),3)]),_:1})]),_:1},8,["data"]),r("div",Fe,[n(Ge,{"current-page":Oe.value,"onUpdate:currentPage":t[7]||(t[7]=e=>Oe.value=e),"page-size":Se.value,total:Be.value,layout:"prev, pager, next",onCurrentChange:Ne},null,8,["current-page","page-size","total"])])])),[[Ze,Ae.value]])]),_:1},8,["modelValue","title"])])}}}),[["__scopeId","data-v-4afd189b"]]);export{Ee as default}; diff --git a/nginx/admin/assets/activity-profit-loss-QBBuvhKV.js.gz b/nginx/admin/assets/activity-profit-loss-QBBuvhKV.js.gz new file mode 100644 index 0000000..e8d164f Binary files /dev/null and b/nginx/admin/assets/activity-profit-loss-QBBuvhKV.js.gz differ diff --git a/nginx/admin/assets/activity-search-7kOl5pCK.js b/nginx/admin/assets/activity-search-7kOl5pCK.js new file mode 100644 index 0000000..7d939fd --- /dev/null +++ b/nginx/admin/assets/activity-search-7kOl5pCK.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable,o=(a,l,t)=>l in a?e(a,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[l]=t,s=(e,s)=>{for(var r in s||(s={}))l.call(s,r)&&o(e,r,s[r]);if(a)for(var r of a(s))t.call(s,r)&&o(e,r,s[r]);return e};import{d as r,r as i,A as u,H as d,h as p,e as m,w as n,g as c,p as f,K as b,P as v,b as _,I as j,J as y,N as h,E as V,j as x,ai as g,bb as w}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{e as E}from"./adminActivities-Dgt25iR5.js";import{A as O}from"./activityEnums-zI8yOqFS.js";import{a as P,E as k}from"./index-BcfO0-fK.js";import{E as C}from"./index-C_sVHlWz.js";import{E as I}from"./index-CXD7B41Z.js";import{E as S,a as A}from"./index-D2gD5Tn5.js";import{E as N}from"./index-js0HKKV6.js";import{E as U}from"./index-BaD29Izp.js";import{_ as J}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";const T=J(r({__name:"activity-search",props:{modelValue:{}},emits:["update:modelValue","search","reset"],setup(e,{emit:a}){const l=e,t=a,o=i([]),r=i(s({},l.modelValue));u(()=>l.modelValue,(e,a)=>{JSON.stringify(e)!==JSON.stringify(a)&&(r.value=s({},e))},{deep:!0});let J=null;u(r,e=>{J&&clearTimeout(J),J=setTimeout(()=>{t("update:modelValue",s({},e))},100)},{deep:!0});const T=e=>{return a=this,l=null,t=function*(){if(e&&0===o.value.length)try{const e=yield E();o.value=e.list||[]}catch(a){}},new Promise((e,o)=>{var s=e=>{try{i(t.next(e))}catch(a){o(a)}},r=e=>{try{i(t.throw(e))}catch(a){o(a)}},i=a=>a.done?e(a.value):Promise.resolve(a.value).then(s,r);i((t=t.apply(a,l)).next())});var a,l,t},H=()=>{t("search",r.value)},K=()=>{r.value={name:void 0,category_id:void 0,status:void 0,is_boss:void 0},t("reset")};return(a,l)=>{const t=d("ripple");return m(),p(f(U),{class:"search-card",shadow:"never"},{default:n(()=>[c(f(P),{ref:"formRef",model:e.modelValue,"label-width":"80px"},{default:n(()=>[c(f(C),{gutter:20},{default:n(()=>[c(f(I),{span:6},{default:n(()=>[c(f(k),{label:"活动名称",prop:"name"},{default:n(()=>[c(f(b),{modelValue:r.value.name,"onUpdate:modelValue":l[0]||(l[0]=e=>r.value.name=e),placeholder:"请输入活动名称",clearable:"",onKeyup:v(H,["enter"])},null,8,["modelValue"])]),_:1})]),_:1}),c(f(I),{span:6},{default:n(()=>[c(f(k),{label:"分类",prop:"category_id"},{default:n(()=>[c(f(S),{modelValue:r.value.category_id,"onUpdate:modelValue":l[1]||(l[1]=e=>r.value.category_id=e),placeholder:"请选择分类",clearable:"",onVisibleChange:T},{default:n(()=>[(m(!0),_(j,null,y(o.value,e=>(m(),p(f(A),{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),c(f(I),{span:6},{default:n(()=>[c(f(k),{label:"状态",prop:"status"},{default:n(()=>[c(f(S),{modelValue:r.value.status,"onUpdate:modelValue":l[2]||(l[2]=e=>r.value.status=e),placeholder:"请选择状态",clearable:""},{default:n(()=>[(m(!0),_(j,null,y(f(O),(e,a)=>(m(),p(f(A),{key:a,value:Number(a),label:e},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),c(f(I),{span:6},{default:n(()=>[c(f(k),{label:"Boss活动",prop:"is_boss"},{default:n(()=>[c(f(S),{modelValue:r.value.is_boss,"onUpdate:modelValue":l[3]||(l[3]=e=>r.value.is_boss=e),placeholder:"请选择",clearable:""},{default:n(()=>[c(f(A),{value:1,label:"是"}),c(f(A),{value:0,label:"否"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),c(f(I),{span:4},{default:n(()=>[c(f(k),{"label-width":"0"},{default:n(()=>[c(f(N),null,{default:n(()=>[h((m(),p(f(V),{type:"primary",onClick:H},{default:n(()=>[c(f(g),{class:"mr-1"},{default:n(()=>[c(f(w))]),_:1}),l[4]||(l[4]=x(" 搜索 ",-1))]),_:1})),[[t]]),h((m(),p(f(V),{onClick:K},{default:n(()=>[...l[5]||(l[5]=[x("重置",-1)])]),_:1})),[[t]])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1})}}}),[["__scopeId","data-v-29878c58"]]);export{T as default}; diff --git a/nginx/admin/assets/activity-search-D6yxCZ5K.css b/nginx/admin/assets/activity-search-D6yxCZ5K.css new file mode 100644 index 0000000..6aa6212 --- /dev/null +++ b/nginx/admin/assets/activity-search-D6yxCZ5K.css @@ -0,0 +1 @@ +.search-card[data-v-29878c58]{margin-bottom:16px}[data-v-29878c58] .el-card__body{padding-bottom:0} diff --git a/nginx/admin/assets/activityEnums-zI8yOqFS.js b/nginx/admin/assets/activityEnums-zI8yOqFS.js new file mode 100644 index 0000000..120aa86 --- /dev/null +++ b/nginx/admin/assets/activityEnums-zI8yOqFS.js @@ -0,0 +1 @@ +const n={instant:"即时开奖",scheduled:"定时开奖"},t={ichiban:"一番赏",default:"无限赏",matching:"对对碰"},a={1:"S赏",2:"A赏",3:"B赏",4:"C赏",5:"D赏",6:"E赏",7:"F赏",8:"G赏",9:"H赏",11:"Last赏"},s={physical:"实物奖品",virtual:"虚拟奖品",coupon:"优惠券",points:"积分"},c={1:"进行中",2:"已下线",3:"未开始",active:"进行中",ended:"已结束",upcoming:"未开始"};function i(t){return n[t]||t}function u(n){return a[n]||`等级${n}`}function e(n){return s[n]||n}function o(n){return c[n]||`状态${n}`}export{c as A,n as D,t as P,i as a,e as b,u as c,a as d,o as g}; diff --git a/nginx/admin/assets/add-coupon-dialog-2jJPLiHG.js b/nginx/admin/assets/add-coupon-dialog-2jJPLiHG.js new file mode 100644 index 0000000..ef836de --- /dev/null +++ b/nginx/admin/assets/add-coupon-dialog-2jJPLiHG.js @@ -0,0 +1 @@ +import{_ as i}from"./add-coupon-dialog.vue_vue_type_script_setup_true_lang-G6pFWYH-.js";import"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./coupons-tpfgWUoF.js";import"./index-BcfO0-fK.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-D2gD5Tn5.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./index-CjpBlozU.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";export{i as default}; diff --git a/nginx/admin/assets/add-coupon-dialog.vue_vue_type_script_setup_true_lang-G6pFWYH-.js b/nginx/admin/assets/add-coupon-dialog.vue_vue_type_script_setup_true_lang-G6pFWYH-.js new file mode 100644 index 0000000..f8adeb5 --- /dev/null +++ b/nginx/admin/assets/add-coupon-dialog.vue_vue_type_script_setup_true_lang-G6pFWYH-.js @@ -0,0 +1 @@ +var e=(e,a,l)=>new Promise((o,t)=>{var i=e=>{try{r(l.next(e))}catch(a){t(a)}},s=e=>{try{r(l.throw(e))}catch(a){t(a)}},r=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,s);r((l=l.apply(e,a)).next())});import{d as a,r as l,k as o,A as t,o as i,h as s,e as r,w as d,g as u,p as n,b as p,I as m,J as c,E as v,O as f,j as y}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{c as b}from"./coupons-tpfgWUoF.js";import{a as h,E as g}from"./index-BcfO0-fK.js";import{E as j,a as _}from"./index-D2gD5Tn5.js";import{E as I}from"./index-CjpBlozU.js";const x=a({__name:"add-coupon-dialog",props:{visible:{type:Boolean}},emits:["update:visible","submit"],setup(a,{emit:x}){const k=a,w=x,V=l(),E=l(!1),A=l([]),C=o({couponId:null});t(()=>k.visible,e=>{});const P={couponId:[{required:!0,message:"请选择优惠券",trigger:"change"}]},U=()=>e(this,null,function*(){var e;try{yield null==(e=V.value)?void 0:e.validate(),E.value=!0,w("submit",{coupon_id:C.couponId})}catch(a){}finally{E.value=!1}}),$=()=>{w("update:visible",!1)},q=()=>{var e;C.couponId=null,null==(e=V.value)||e.clearValidate()};return i(()=>e(this,null,function*(){try{const e=yield b.getList({status:1,page:1,page_size:100});A.value=Array.isArray(e.list)?e.list.map(e=>({id:e.id,name:e.name})):[]}catch(e){A.value=[]}})),(e,l)=>(r(),s(n(I),{"model-value":a.visible,title:"发放优惠券",width:"400px","close-on-click-modal":!1,"onUpdate:modelValue":l[1]||(l[1]=e=>w("update:visible",e)),onClosed:q},{footer:d(()=>[u(n(v),{onClick:f($,["prevent"])},{default:d(()=>[...l[2]||(l[2]=[y("取消",-1)])]),_:1}),u(n(v),{type:"primary",loading:E.value,onClick:f(U,["prevent"])},{default:d(()=>[...l[3]||(l[3]=[y(" 确定 ",-1)])]),_:1},8,["loading"])]),default:d(()=>[u(n(h),{ref_key:"formRef",ref:V,model:C,rules:P,"label-width":"80px"},{default:d(()=>[u(n(g),{label:"优惠券",prop:"couponId"},{default:d(()=>[u(n(j),{modelValue:C.couponId,"onUpdate:modelValue":l[0]||(l[0]=e=>C.couponId=e),placeholder:"请选择优惠券",filterable:"",style:{width:"100%"}},{default:d(()=>[(r(!0),p(m,null,c(A.value,e=>(r(),s(n(_),{key:e.id,label:`${e.name}(ID: ${e.id})`,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["model-value"]))}});export{x as _}; diff --git a/nginx/admin/assets/add-game-ticket-dialog-j5t15bRi.js b/nginx/admin/assets/add-game-ticket-dialog-j5t15bRi.js new file mode 100644 index 0000000..42f798d --- /dev/null +++ b/nginx/admin/assets/add-game-ticket-dialog-j5t15bRi.js @@ -0,0 +1 @@ +import{_ as i}from"./add-game-ticket-dialog.vue_vue_type_script_setup_true_lang-DNRKIxIT.js";import"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index-BcfO0-fK.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-D2gD5Tn5.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./index-C_S0YbqD.js";import"./index-BnK4BbY2.js";import"./index-CjpBlozU.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";export{i as default}; diff --git a/nginx/admin/assets/add-game-ticket-dialog.vue_vue_type_script_setup_true_lang-DNRKIxIT.js b/nginx/admin/assets/add-game-ticket-dialog.vue_vue_type_script_setup_true_lang-DNRKIxIT.js new file mode 100644 index 0000000..a7f0086 --- /dev/null +++ b/nginx/admin/assets/add-game-ticket-dialog.vue_vue_type_script_setup_true_lang-DNRKIxIT.js @@ -0,0 +1 @@ +import{d as e,r as a,k as l,A as o,h as r,e as t,w as m,g as i,p as s,K as d,E as u,O as n,j as p}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{a as c,E as v}from"./index-BcfO0-fK.js";import{E as g,a as f}from"./index-D2gD5Tn5.js";import{E as _}from"./index-C_S0YbqD.js";import{E as b}from"./index-CjpBlozU.js";const h=e({__name:"add-game-ticket-dialog",props:{visible:{type:Boolean}},emits:["update:visible","submit"],setup(e,{emit:h}){const k=e,j=h,y=a(),w=a(!1),x=l({game_code:"minesweeper",amount:1,remark:""});o(()=>k.visible,e=>{e&&(x.game_code="minesweeper",x.amount=1,x.remark="")});const V={game_code:[{required:!0,message:"请选择游戏类型",trigger:"change"}],amount:[{required:!0,message:"请输入资格数量",trigger:"blur"}]},E=()=>{return e=this,a=null,l=function*(){var e;try{yield null==(e=y.value)?void 0:e.validate(),w.value=!0,j("submit",{game_code:x.game_code,amount:x.amount,remark:x.remark})}catch(a){}finally{w.value=!1}},new Promise((o,r)=>{var t=e=>{try{i(l.next(e))}catch(a){r(a)}},m=e=>{try{i(l.throw(e))}catch(a){r(a)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(t,m);i((l=l.apply(e,a)).next())});var e,a,l},U=()=>{j("update:visible",!1)},C=()=>{var e;x.game_code="minesweeper",x.amount=1,x.remark="",null==(e=y.value)||e.clearValidate()};return(a,l)=>(t(),r(s(b),{"model-value":e.visible,title:"发放游戏资格",width:"400px","close-on-click-modal":!1,"onUpdate:modelValue":l[3]||(l[3]=e=>j("update:visible",e)),onClosed:C},{footer:m(()=>[i(s(u),{onClick:n(U,["prevent"])},{default:m(()=>[...l[4]||(l[4]=[p("取消",-1)])]),_:1}),i(s(u),{type:"primary",loading:w.value,onClick:n(E,["prevent"])},{default:m(()=>[...l[5]||(l[5]=[p("确定",-1)])]),_:1},8,["loading"])]),default:m(()=>[i(s(c),{ref_key:"formRef",ref:y,model:x,rules:V,"label-width":"100px"},{default:m(()=>[i(s(v),{label:"游戏类型",prop:"game_code"},{default:m(()=>[i(s(g),{modelValue:x.game_code,"onUpdate:modelValue":l[0]||(l[0]=e=>x.game_code=e),placeholder:"请选择游戏",style:{width:"100%"}},{default:m(()=>[i(s(f),{label:"扫雷游戏",value:"minesweeper"})]),_:1},8,["modelValue"])]),_:1}),i(s(v),{label:"资格数量",prop:"amount"},{default:m(()=>[i(s(_),{modelValue:x.amount,"onUpdate:modelValue":l[1]||(l[1]=e=>x.amount=e),placeholder:"请输入数量",min:1,max:100,step:1,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),i(s(v),{label:"备注",prop:"remark"},{default:m(()=>[i(s(d),{modelValue:x.remark,"onUpdate:modelValue":l[2]||(l[2]=e=>x.remark=e),type:"textarea",placeholder:"请输入备注",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["model-value"]))}});export{h as _}; diff --git a/nginx/admin/assets/add-item-card-dialog-DFC9DYMs.js b/nginx/admin/assets/add-item-card-dialog-DFC9DYMs.js new file mode 100644 index 0000000..8963587 --- /dev/null +++ b/nginx/admin/assets/add-item-card-dialog-DFC9DYMs.js @@ -0,0 +1 @@ +import{_ as i}from"./add-item-card-dialog.vue_vue_type_script_setup_true_lang-C9E8CieY.js";import"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./itemCards-WBDl8YV9.js";import"./index-BcfO0-fK.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-D2gD5Tn5.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./index-C_S0YbqD.js";import"./index-BnK4BbY2.js";import"./index-CjpBlozU.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";export{i as default}; diff --git a/nginx/admin/assets/add-item-card-dialog.vue_vue_type_script_setup_true_lang-C9E8CieY.js b/nginx/admin/assets/add-item-card-dialog.vue_vue_type_script_setup_true_lang-C9E8CieY.js new file mode 100644 index 0000000..ec22d1e --- /dev/null +++ b/nginx/admin/assets/add-item-card-dialog.vue_vue_type_script_setup_true_lang-C9E8CieY.js @@ -0,0 +1 @@ +var e=(e,a,l)=>new Promise((t,i)=>{var r=e=>{try{s(l.next(e))}catch(a){i(a)}},d=e=>{try{s(l.throw(e))}catch(a){i(a)}},s=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,d);s((l=l.apply(e,a)).next())});import{d as a,r as l,k as t,A as i,o as r,h as d,e as s,w as o,g as u,p as n,b as m,I as p,J as c,E as v,O as y,j as f}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{i as b}from"./itemCards-WBDl8YV9.js";import{a as g,E as h}from"./index-BcfO0-fK.js";import{E as j,a as _}from"./index-D2gD5Tn5.js";import{E as x}from"./index-C_S0YbqD.js";import{E as q}from"./index-CjpBlozU.js";const I=a({__name:"add-item-card-dialog",props:{visible:{type:Boolean}},emits:["update:visible","submit"],setup(a,{emit:I}){const V=a,k=I,w=l(),E=l(!1),C=l([]),A=t({cardId:null,quantity:1});i(()=>V.visible,e=>{});const U={cardId:[{required:!0,message:"请选择道具卡",trigger:"change"}],quantity:[{required:!0,message:"请输入数量",trigger:"change"}]},P=()=>e(this,null,function*(){var e;try{yield null==(e=w.value)?void 0:e.validate(),E.value=!0,k("submit",{card_id:A.cardId,quantity:A.quantity})}catch(a){}finally{E.value=!1}}),$=()=>{k("update:visible",!1)},z=()=>{var e;A.cardId=null,A.quantity=1,null==(e=w.value)||e.clearValidate()};return r(()=>e(this,null,function*(){try{const e=yield b.getList({page:1,page_size:100});C.value=Array.isArray(e.list)?e.list.map(e=>({id:e.id,name:e.name})):[]}catch(e){C.value=[]}})),(e,l)=>(s(),d(n(q),{"model-value":a.visible,title:"分配道具卡",width:"420px","close-on-click-modal":!1,"onUpdate:modelValue":l[2]||(l[2]=e=>k("update:visible",e)),onClosed:z},{footer:o(()=>[u(n(v),{onClick:y($,["prevent"])},{default:o(()=>[...l[3]||(l[3]=[f("取消",-1)])]),_:1}),u(n(v),{type:"primary",loading:E.value,onClick:y(P,["prevent"])},{default:o(()=>[...l[4]||(l[4]=[f("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[u(n(g),{ref_key:"formRef",ref:w,model:A,rules:U,"label-width":"80px"},{default:o(()=>[u(n(h),{label:"道具卡",prop:"cardId"},{default:o(()=>[u(n(j),{modelValue:A.cardId,"onUpdate:modelValue":l[0]||(l[0]=e=>A.cardId=e),placeholder:"请选择道具卡",filterable:"",style:{width:"100%"}},{default:o(()=>[(s(!0),m(p,null,c(C.value,e=>(s(),d(n(_),{key:e.id,label:`${e.name}(ID: ${e.id})`,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),u(n(h),{label:"数量",prop:"quantity"},{default:o(()=>[u(n(x),{modelValue:A.quantity,"onUpdate:modelValue":l[1]||(l[1]=e=>A.quantity=e),min:1,max:100},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["model-value"]))}});export{I as _}; diff --git a/nginx/admin/assets/add-points-dialog-CEY7RhMt.js b/nginx/admin/assets/add-points-dialog-CEY7RhMt.js new file mode 100644 index 0000000..5a19838 --- /dev/null +++ b/nginx/admin/assets/add-points-dialog-CEY7RhMt.js @@ -0,0 +1 @@ +import{_ as i}from"./add-points-dialog.vue_vue_type_script_setup_true_lang-C3778r95.js";import"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index-BcfO0-fK.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-DqTthkO7.js";import"./index-C_S0YbqD.js";import"./index-BnK4BbY2.js";import"./index-D2gD5Tn5.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./index-CjpBlozU.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";export{i as default}; diff --git a/nginx/admin/assets/add-points-dialog.vue_vue_type_script_setup_true_lang-C3778r95.js b/nginx/admin/assets/add-points-dialog.vue_vue_type_script_setup_true_lang-C3778r95.js new file mode 100644 index 0000000..3cf3432 --- /dev/null +++ b/nginx/admin/assets/add-points-dialog.vue_vue_type_script_setup_true_lang-C3778r95.js @@ -0,0 +1 @@ +import{d as e,r as a,k as l,A as d,h as t,e as o,w as i,g as r,p as s,j as n,f as u,b as m,i as p,I as v,K as c,E as b,O as f,v as _}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{a as k,E as y}from"./index-BcfO0-fK.js";import{a as g,E as h}from"./index-DqTthkO7.js";import{E as j}from"./index-C_S0YbqD.js";import{E as x,a as V}from"./index-D2gD5Tn5.js";import{E as w}from"./index-CjpBlozU.js";const E={class:"text-xs text-gray-400 mt-1"},U={key:0,class:"text-orange-500"},C=e({__name:"add-points-dialog",props:{visible:{type:Boolean}},emits:["update:visible","submit"],setup(e,{emit:C}){const M=e,q=C,I=a(),K=a(!1),P=a("add"),T=l({points:null,kind:"admin_add",remark:""}),A=e=>{const a=e;T.kind="add"===a?"admin_add":"admin_deduct"};d(()=>M.visible,e=>{});const B={points:[{required:!0,message:"请输入积分数量",trigger:"blur"}],kind:[{required:!0,message:"请选择积分类型",trigger:"change"}]},J=()=>{return e=this,a=null,l=function*(){var e;try{yield null==(e=I.value)?void 0:e.validate(),K.value=!0;const a="deduct"===P.value?-Math.abs(T.points||0):Math.abs(T.points||0);q("submit",{points:a,kind:T.kind,remark:T.remark})}catch(a){}finally{K.value=!1}},new Promise((d,t)=>{var o=e=>{try{r(l.next(e))}catch(a){t(a)}},i=e=>{try{r(l.throw(e))}catch(a){t(a)}},r=e=>e.done?d(e.value):Promise.resolve(e.value).then(o,i);r((l=l.apply(e,a)).next())});var e,a,l},N=()=>{q("update:visible",!1)},O=()=>{var e;T.points=null,T.kind="admin_add",T.remark="",P.value="add",null==(e=I.value)||e.clearValidate()};return(a,l)=>(o(),t(s(w),{"model-value":e.visible,title:"积分调整",width:"420px","close-on-click-modal":!1,"onUpdate:modelValue":l[4]||(l[4]=e=>q("update:visible",e)),onClosed:O},{footer:i(()=>[r(s(b),{onClick:f(N,["prevent"])},{default:i(()=>[...l[8]||(l[8]=[n("取消",-1)])]),_:1}),r(s(b),{type:"add"===P.value?"primary":"warning",loading:K.value,onClick:f(J,["prevent"])},{default:i(()=>[n(_("add"===P.value?"确认增加":"确认扣减"),1)]),_:1},8,["type","loading"])]),default:i(()=>[r(s(k),{ref_key:"formRef",ref:I,model:T,rules:B,"label-width":"100px"},{default:i(()=>[r(s(y),{label:"操作类型",prop:"actionType"},{default:i(()=>[r(s(g),{modelValue:P.value,"onUpdate:modelValue":l[0]||(l[0]=e=>P.value=e),onChange:A},{default:i(()=>[r(s(h),{label:"add"},{default:i(()=>[...l[5]||(l[5]=[n("增加积分",-1)])]),_:1}),r(s(h),{label:"deduct"},{default:i(()=>[...l[6]||(l[6]=[n("扣减积分",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),r(s(y),{label:"add"===P.value?"增加积分":"扣减积分",prop:"points"},{default:i(()=>[r(s(j),{modelValue:T.points,"onUpdate:modelValue":l[1]||(l[1]=e=>T.points=e),placeholder:"请输入金额",min:.01,precision:2,step:1,style:{width:"100%"}},null,8,["modelValue"]),u("div",E,[l[7]||(l[7]=n(" 1 积分 = 1 元。支持两位小数。 ",-1)),"deduct"===P.value?(o(),m("span",U,"(扣减不能超过用户当前余额)")):p("",!0)])]),_:1},8,["label"]),r(s(y),{label:"积分类型",prop:"kind"},{default:i(()=>[r(s(x),{modelValue:T.kind,"onUpdate:modelValue":l[2]||(l[2]=e=>T.kind=e),placeholder:"请选择积分类型",style:{width:"100%"}},{default:i(()=>["add"===P.value?(o(),m(v,{key:0},[r(s(V),{label:"管理员增加",value:"admin_add"}),r(s(V),{label:"活动奖励",value:"activity_reward"}),r(s(V),{label:"签到奖励",value:"sign_reward"}),r(s(V),{label:"消费返还",value:"consume_return"})],64)):(o(),m(v,{key:1},[r(s(V),{label:"管理员扣减",value:"admin_deduct"}),r(s(V),{label:"违规处罚",value:"violation_penalty"}),r(s(V),{label:"系统调整",value:"system_adjust"})],64))]),_:1},8,["modelValue"])]),_:1}),r(s(y),{label:"备注",prop:"remark"},{default:i(()=>[r(s(c),{modelValue:T.remark,"onUpdate:modelValue":l[3]||(l[3]=e=>T.remark=e),type:"textarea",placeholder:"请输入备注",rows:3},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["model-value"]))}});export{C as _}; diff --git a/nginx/admin/assets/adminActivities-Dgt25iR5.js b/nginx/admin/assets/adminActivities-Dgt25iR5.js new file mode 100644 index 0000000..25977f9 --- /dev/null +++ b/nginx/admin/assets/adminActivities-Dgt25iR5.js @@ -0,0 +1 @@ +import{c1 as i}from"./index-BoIUJTA2.js";function t(t){return i.post({url:"admin/activities",params:t})}function a(t){return i.get({url:"admin/activities",params:t})}function r(t,a){return i.put({url:`admin/activities/${t}`,params:a})}function s(t){return i.del({url:`admin/activities/${t}`})}function n(t){return i.get({url:`admin/activities/${t}`})}function e(t,a=1,r=20){return i.get({url:`admin/activities/${t}/issues`,params:{page:a,page_size:r}})}function u(t,a){return i.post({url:`admin/activities/${t}/issues`,params:a})}function c(t,a,r){return i.put({url:`admin/activities/${t}/issues/${a}`,params:r})}function m(t,a){return i.del({url:`admin/activities/${t}/issues/${a}`})}function d(t,a){return i.get({url:`admin/activities/${t}/issues/${a}/rewards`})}function o(t,a,r){return i.post({url:`admin/activities/${t}/issues/${a}/rewards`,params:{rewards:r}})}function $(t,a,r,s){return i.put({url:`admin/activities/${t}/issues/${a}/rewards/${r}`,params:s})}function l(t,a,r){return i.put({url:`admin/activities/${t}/issues/${a}/rewards/batch`,params:{rewards:r}})}function p(t,a,r){return i.del({url:`admin/activities/${t}/issues/${a}/rewards/${r}`})}function f(){return i.get({url:"admin/activity_categories"})}function v(t){return i.post({url:`admin/activities/${t}/copy`})}function g(t){return i.post({url:`admin/activities/${t}/commitment/generate`})}function w(t){return i.get({url:`admin/activities/${t}/commitment/summary`})}function h(t){return i.get({url:`admin/activities/${t}/credential`})}function y(t,a){return i.get({url:`admin/activities/${t}/rankings`,params:a})}function b(t){return i.get({url:`admin/matching/audit/${t}`})}export{n as a,w as b,u as c,m as d,f as e,r as f,b as g,t as h,s as i,v as j,g as k,e as l,h as m,o as n,y as o,$ as p,d as q,p as r,l as s,a as t,c as u}; diff --git a/nginx/admin/assets/assign-title-dialog-_0Ks363k.js b/nginx/admin/assets/assign-title-dialog-_0Ks363k.js new file mode 100644 index 0000000..16774e5 --- /dev/null +++ b/nginx/admin/assets/assign-title-dialog-_0Ks363k.js @@ -0,0 +1 @@ +import{_ as i}from"./assign-title-dialog.vue_vue_type_script_setup_true_lang-BqTGbynB.js";import"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./titles-D1iSw7M5.js";import"./index-BcfO0-fK.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-D2gD5Tn5.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./index-BneqRonp.js";import"./index-BnK4BbY2.js";import"./index-CjpBlozU.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";export{i as default}; diff --git a/nginx/admin/assets/assign-title-dialog.vue_vue_type_script_setup_true_lang-BqTGbynB.js b/nginx/admin/assets/assign-title-dialog.vue_vue_type_script_setup_true_lang-BqTGbynB.js new file mode 100644 index 0000000..eae671d --- /dev/null +++ b/nginx/admin/assets/assign-title-dialog.vue_vue_type_script_setup_true_lang-BqTGbynB.js @@ -0,0 +1 @@ +var e=(e,l,a)=>new Promise((t,i)=>{var r=e=>{try{o(a.next(e))}catch(l){i(l)}},s=e=>{try{o(a.throw(e))}catch(l){i(l)}},o=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,s);o((a=a.apply(e,l)).next())});import{d as l,r as a,k as t,o as i,h as r,e as s,w as o,g as d,p as m,b as p,I as u,J as n,K as v,E as c,O as f,j as x}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{titlesApi as h}from"./titles-D1iSw7M5.js";import{a as y,E as b}from"./index-BcfO0-fK.js";import{E as g,a as k}from"./index-D2gD5Tn5.js";import{E as _}from"./index-BneqRonp.js";import{E as j}from"./index-CjpBlozU.js";const V=l({__name:"assign-title-dialog",props:{visible:{type:Boolean}},emits:["update:visible","submit"],setup(l,{emit:V}){const I=V,A=a(),w=a(!1),E=a([]),Y=t({titleId:null,expiresAt:"",remark:""}),U={titleId:[{required:!0,message:"请选择称号",trigger:"change"}]},C=()=>e(this,null,function*(){var e;try{yield null==(e=A.value)?void 0:e.validate(),w.value=!0;const l={title_id:Y.titleId};Y.expiresAt&&(l.expires_at=Y.expiresAt),Y.remark&&(l.remark=Y.remark),I("submit",l)}catch(l){}finally{w.value=!1}}),D=()=>{I("update:visible",!1)},H=()=>{var e;Y.titleId=null,Y.expiresAt="",Y.remark="",null==(e=A.value)||e.clearValidate()};return i(()=>e(this,null,function*(){try{const e=yield h.getList({page:1,page_size:100});E.value=Array.isArray(e.list)?e.list.map(e=>({id:e.id,name:e.name})):[]}catch(e){E.value=[]}})),(e,a)=>(s(),r(m(j),{"model-value":l.visible,title:"分配称号",width:"460px","close-on-click-modal":!1,"onUpdate:modelValue":a[3]||(a[3]=e=>I("update:visible",e)),onClosed:H},{footer:o(()=>[d(m(c),{onClick:f(D,["prevent"])},{default:o(()=>[...a[4]||(a[4]=[x("取消",-1)])]),_:1}),d(m(c),{type:"primary",loading:w.value,onClick:f(C,["prevent"])},{default:o(()=>[...a[5]||(a[5]=[x("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[d(m(y),{ref_key:"formRef",ref:A,model:Y,rules:U,"label-width":"90px"},{default:o(()=>[d(m(b),{label:"称号",prop:"titleId"},{default:o(()=>[d(m(g),{modelValue:Y.titleId,"onUpdate:modelValue":a[0]||(a[0]=e=>Y.titleId=e),placeholder:"请选择称号",filterable:"",style:{width:"100%"}},{default:o(()=>[(s(!0),p(u,null,n(E.value,e=>(s(),r(m(k),{key:e.id,label:`${e.name}(ID: ${e.id})`,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),d(m(b),{label:"过期时间",prop:"expiresAt"},{default:o(()=>[d(m(_),{modelValue:Y.expiresAt,"onUpdate:modelValue":a[1]||(a[1]=e=>Y.expiresAt=e),type:"datetime","value-format":"YYYY-MM-DDTHH:mm:ssZ",placeholder:"可选,默认为永久",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),d(m(b),{label:"备注",prop:"remark"},{default:o(()=>[d(m(v),{modelValue:Y.remark,"onUpdate:modelValue":a[2]||(a[2]=e=>Y.remark=e),placeholder:"可选备注",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["model-value"]))}});export{V as _}; diff --git a/nginx/admin/assets/audit-log-drawer-CrL-7kbb.css b/nginx/admin/assets/audit-log-drawer-CrL-7kbb.css new file mode 100644 index 0000000..67a131e --- /dev/null +++ b/nginx/admin/assets/audit-log-drawer-CrL-7kbb.css @@ -0,0 +1 @@ +.el-timeline{--el-timeline-node-size-normal: 12px;--el-timeline-node-size-large: 14px;--el-timeline-node-color: var(--el-border-color-light)}.el-timeline{margin:0;font-size:var(--el-font-size-base);list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline .el-timeline-item__center{display:flex;align-items:center}.el-timeline .el-timeline-item__center .el-timeline-item__wrapper{width:100%}.el-timeline .el-timeline-item__center .el-timeline-item__tail{top:0}.el-timeline .el-timeline-item__center:first-child .el-timeline-item__tail{height:calc(50% + 10px);top:calc(50% - 10px)}.el-timeline .el-timeline-item__center:last-child .el-timeline-item__tail{display:block;height:calc(50% - 10px)}.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid var(--el-timeline-node-color)}.el-timeline-item .el-timeline-item__icon{color:var(--el-color-white);font-size:var(--el-font-size-small)}.el-timeline-item__node{position:absolute;background-color:var(--el-timeline-node-color);border-color:var(--el-timeline-node-color);border-radius:50%;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.el-timeline-item__node--normal{left:-1px;width:var(--el-timeline-node-size-normal);height:var(--el-timeline-node-size-normal)}.el-timeline-item__node--large{left:-2px;width:var(--el-timeline-node-size-large);height:var(--el-timeline-node-size-large)}.el-timeline-item__node.is-hollow{background:var(--el-color-white);border-style:solid;border-width:2px}.el-timeline-item__node--primary{background-color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-timeline-item__node--success{background-color:var(--el-color-success);border-color:var(--el-color-success)}.el-timeline-item__node--warning{background-color:var(--el-color-warning);border-color:var(--el-color-warning)}.el-timeline-item__node--danger{background-color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-timeline-item__node--info{background-color:var(--el-color-info);border-color:var(--el-color-info)}.el-timeline-item__dot{position:absolute;display:flex;justify-content:center;align-items:center}.el-timeline-item__content{color:var(--el-text-color-primary)}.el-timeline-item__timestamp{color:var(--el-text-color-secondary);line-height:1;font-size:var(--el-font-size-small)}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.audit-log-drawer[data-v-de3e805f]{padding:10px}[data-v-de3e805f] .el-timeline-item__timestamp{font-size:14px;font-weight:700} diff --git a/nginx/admin/assets/audit-log-drawer-L5ySH8zh.js b/nginx/admin/assets/audit-log-drawer-L5ySH8zh.js new file mode 100644 index 0000000..e55f065 --- /dev/null +++ b/nginx/admin/assets/audit-log-drawer-L5ySH8zh.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,a=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,l=(t,a,s)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[a]=s;import{d as i,a1 as n,ag as d,s as p,ae as u,a8 as m,am as c,a0 as f,c as v,b as y,e as g,f as b,i as h,q as j,p as x,m as _,h as w,w as k,aE as I,ai as O,v as V,az as z,aA as E,r as P,A as T,N as S,I as $,J as B,g as D,j as N,b2 as W,T as C}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{B as A}from"./player-manage-ReHd8eMR.js";import{E as U}from"./index-BaD29Izp.js";import{E as R}from"./index-ZsMdSUVI.js";import{E as q}from"./index-C1haaLtB.js";import{E as F}from"./index-B18-crhn.js";import{_ as G}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index-D2gD5Tn5.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./token-DWNpOE8r.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./use-dialog-FwJ-QdmW.js";const J=i({name:"ElTimeline",setup(e,{slots:t}){const a=n("timeline");return u("timeline",t),()=>d("ul",{class:[a.b()]},[p(t,"default")])}}),X=m({timestamp:{type:String,default:""},hideTimestamp:Boolean,center:Boolean,placement:{type:String,values:["top","bottom"],default:"bottom"},type:{type:String,values:["primary","success","warning","danger","info"],default:""},color:{type:String,default:""},size:{type:String,values:["normal","large"],default:"normal"},icon:{type:c},hollow:Boolean}),Y=i({name:"ElTimelineItem"}),H=i((K=((e,t)=>{for(var a in t||(t={}))r.call(t,a)&&l(e,a,t[a]);if(s)for(var a of s(t))o.call(t,a)&&l(e,a,t[a]);return e})({},Y),t(K,a({props:X,setup(e){const t=e,a=n("timeline-item"),s=v(()=>[a.e("node"),a.em("node",t.size||""),a.em("node",t.type||""),a.is("hollow",t.hollow)]);return(e,t)=>(g(),y("li",{class:j([x(a).b(),{[x(a).e("center")]:e.center}])},[b("div",{class:j(x(a).e("tail"))},null,2),e.$slots.dot?h("v-if",!0):(g(),y("div",{key:0,class:j(x(s)),style:_({backgroundColor:e.color})},[e.icon?(g(),w(x(O),{key:0,class:j(x(a).e("icon"))},{default:k(()=>[(g(),w(I(e.icon)))]),_:1},8,["class"])):h("v-if",!0)],6)),e.$slots.dot?(g(),y("div",{key:1,class:j(x(a).e("dot"))},[p(e.$slots,"dot")],2)):h("v-if",!0),b("div",{class:j(x(a).e("wrapper"))},[e.hideTimestamp||"top"!==e.placement?h("v-if",!0):(g(),y("div",{key:0,class:j([x(a).e("timestamp"),x(a).is("top")])},V(e.timestamp),3)),b("div",{class:j(x(a).e("content"))},[p(e.$slots,"default")],2),e.hideTimestamp||"bottom"!==e.placement?h("v-if",!0):(g(),y("div",{key:1,class:j([x(a).e("timestamp"),x(a).is("bottom")])},V(e.timestamp),3))],2)],2))}}))));var K,L=f(H,[["__file","timeline-item.vue"]]);const M=z(J,{TimelineItem:L}),Q=E(L),Z={class:"audit-log-drawer"},ee={class:"flex justify-between items-center"},te={class:"flex items-center gap-2"},ae={class:"font-bold text-gray-700"},se={class:"text-sm text-gray-600"},re={key:0,class:"mb-1"},oe={key:1},le={key:1,class:"text-center py-10 text-gray-400"},ie={class:"flex justify-center mt-4"},ne=G(i({__name:"audit-log-drawer",props:{modelValue:{type:Boolean},userId:{},userName:{}},emits:["update:modelValue","closed"],setup(e,{emit:t}){const a=e,s=t,r=v({get:()=>a.modelValue,set:e=>s("update:modelValue",e)}),o=P(!1),l=P([]),i=P(1),n=P(20),d=P(0),p=()=>{return e=this,t=null,s=function*(){if(a.userId){o.value=!0;try{const e=yield A(a.userId,{page:i.value,page_size:n.value});l.value=e.list||[],d.value=e.list.length===n.value?(i.value+1)*n.value:i.value*n.value}catch(e){C.error("获取日志失败")}finally{o.value=!1}}},new Promise((a,r)=>{var o=e=>{try{i(s.next(e))}catch(t){r(t)}},l=e=>{try{i(s.throw(e))}catch(t){r(t)}},i=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,l);i((s=s.apply(e,t)).next())});var e,t,s};T(()=>a.modelValue,e=>{e&&a.userId&&(i.value=1,p())});const u=()=>{s("closed"),l.value=[]},m=e=>{switch(e){case"points":return"primary";case"order":return"success";case"shipping":return"warning";default:return"info"}},c=e=>{switch(e){case"points":return"primary";case"order":return"success";case"shipping":return"warning";default:return"info"}},f=e=>{if(!e)return"";if(e.includes(":")){const[t,a]=e.split(":");return`${{products:"商品ID",orders:"订单号",activity_draw_logs:"抽奖记录",shipping_records:"物流记录"}[t]||t}: ${a}`}return e},_=e=>{if(!e)return"";const t={"redeem product":"商品兑换消耗","redeem reward":"奖品分解获得","admin add":"管理员操作","admin deduct":"管理员操作"};return t[e]?t[e]:e.startsWith("RewardID:")?e.replace("RewardID:","奖品ID: "):e};return(t,a)=>{const s=W;return g(),w(x(F),{modelValue:r.value,"onUpdate:modelValue":a[1]||(a[1]=e=>r.value=e),title:`用户审计日志 - ${e.userName}`,size:"50%","destroy-on-close":!0,onClosed:u},{default:k(()=>[S((g(),y("div",Z,[l.value.length>0?(g(),w(x(M),{key:0},{default:k(()=>[(g(!0),y($,null,B(l.value,(e,t)=>(g(),w(x(Q),{key:t,timestamp:e.created_at,placement:"top",type:m(e.category),color:(e.category,""),hollow:"points"===e.category},{default:k(()=>[D(x(U),{shadow:"hover",class:"mb-2"},{header:k(()=>{return[b("div",ee,[b("div",te,[D(x(R),{type:c(e.category),effect:"dark",size:"small"},{default:k(()=>{return[N(V((t=e.category,{points:"积分变动",order:"订单支付",shipping:"物流状态",draw:"抽奖记录"}[t]||t)),1)];var t}),_:2},1032,["type"]),b("span",ae,V((e.category,a=e.sub_type,{admin_add:"后台增加",admin_deduct:"后台扣减",redeem_product:"商城兑换",redeem_reward:"奖品分解",exchange_points:"积分兑换",refund:"退款退回",paid:"支付成功",win:"中奖",lose:"未中奖",1:"待发货",2:"已发货",3:"已签收",4:"异常"}[a]||a)),1)]),b("span",{class:j((t=e.amount_str,t&&"0"!==t&&"0.00"!==t?t.startsWith("+")||Number(t)>0&&!t.startsWith("-")?"text-red-500 font-bold text-lg":t.startsWith("-")||Number(t)<0?"text-green-500 font-bold text-lg":"text-gray-600 font-bold":"text-gray-300 font-medium text-lg"))},V(e.amount_str),3)])];var t,a}),default:k(()=>[b("div",se,[e.ref_info?(g(),y("div",re,[a[2]||(a[2]=b("span",{class:"font-medium text-gray-500"},"关联:",-1)),N(" "+V(f(e.ref_info)),1)])):h("",!0),e.detail_info?(g(),y("div",oe,[a[3]||(a[3]=b("span",{class:"font-medium text-gray-500"},"详情:",-1)),N(" "+V(_(e.detail_info)),1)])):h("",!0)])]),_:2},1024)]),_:2},1032,["timestamp","type","color","hollow"]))),128))]),_:1})):o.value?h("",!0):(g(),y("div",le," 暂无审计记录 ")),b("div",ie,[l.value.length>0||i.value>1?(g(),w(x(q),{key:0,background:"",layout:"prev, pager, next",total:d.value,"page-size":n.value,"current-page":i.value,"onUpdate:currentPage":a[0]||(a[0]=e=>i.value=e),onCurrentChange:p},null,8,["total","page-size","current-page"])):h("",!0)])])),[[s,o.value]])]),_:1},8,["modelValue","title"])}}}),[["__scopeId","data-v-de3e805f"]]);export{ne as default}; diff --git a/nginx/admin/assets/avatar-BTatxDD8.css b/nginx/admin/assets/avatar-BTatxDD8.css new file mode 100644 index 0000000..bd51a19 --- /dev/null +++ b/nginx/admin/assets/avatar-BTatxDD8.css @@ -0,0 +1 @@ +.el-avatar{--el-avatar-text-color: var(--el-color-white);--el-avatar-bg-color: var(--el-text-color-disabled);--el-avatar-text-size: 14px;--el-avatar-icon-size: 18px;--el-avatar-border-radius: var(--el-border-radius-base);--el-avatar-size-large: 56px;--el-avatar-size-small: 24px;--el-avatar-size: 40px;display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;text-align:center;overflow:hidden;outline:none;color:var(--el-avatar-text-color);background:var(--el-avatar-bg-color);width:var(--el-avatar-size);height:var(--el-avatar-size);font-size:var(--el-avatar-text-size)}.el-avatar>img{display:block;width:100%;height:100%}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:var(--el-avatar-border-radius)}.el-avatar--icon{font-size:var(--el-avatar-icon-size)}.el-avatar--small{--el-avatar-size: 24px}.el-avatar--large{--el-avatar-size: 56px} diff --git a/nginx/admin/assets/avatar-pR7-E1hl.js b/nginx/admin/assets/avatar-pR7-E1hl.js new file mode 100644 index 0000000..36f13ec --- /dev/null +++ b/nginx/admin/assets/avatar-pR7-E1hl.js @@ -0,0 +1 @@ +const A="data:image/webp;base64,UklGRkoIAABXRUJQVlA4ID4IAADwLwCdASqgAKAAPyWCtlKuKSUnrhuaScAkiWMA0B+4f6f151+lwftt/hONGh/exC2WVatFHq//nzLfx3/34IDPWrgNJbUktqSaiIHUiLzd82/VPIGht6KwyKTAjwyvI9cQ9AfLBtxkKB42QLruqr9fQTdB9rZc/nhl5QAZ3G5K871sNQKwGnur5vjfpLeLGjmyTfLjwB3PV+pnrdhhAnFtHylhTu8SXlHquf8lUlWFGYw2tID45sQ/t99JPt583xnvfgKorj3xDOUcUfBZ9+0Lo/m8nyr2+x2ieOfnhjfli3Sok/ujjMm2pdWp0poEMPxOTyoPI0xphwaL00N70kIDJw+8B7XNFde/zPTFA2lvtnd2YX744Ka2rnTeFRVJutgL6yfzJAquSHw9kV1FfjPSi6YNK4ffWdjwozPao5GpRbulnWhWFrhbkLymgrI12w56eykXbNDJaWWyzz8C8d32YfEJSyAU4szWBSmY9UiYOlDUBZmCDQGUSmZUnhSuLDAzufVluctzgAD+8Hd6XJDNl4hrW6beD6BmAq+qoAcQJnm709ObeZDChKLtxt9yq8J6i5cyL0vLiQ9bKlUbkg5mKUhY2zrCXwZq1RBQtrnSYf+jeKo/KENeaaXg03o1tmOWwuppQFVj4iipRywoiJrjdtByWDP0lMVoSVjFpqgi4tdzZsPvb2B+IPOupdnOdh/t/6mZd4DuiFXRuo/FHmOvpG5UStJkCmOVdTabRiy0YsYf0klGhcOspkYvixoXEG1RGI/m9+Wo9exmSR7MIjicNAxGbH/5mxs0EKce1GIk0VMXFuS/Mh/nH2MNc/hnAYaLcqD3k5H0nZYshDJ/vtzZeAtPbxdDZA7R4/YZxpjNDjFxPxuA5pizB53QFzGy1HZkt2fZBtiw3X8hgDFm+ZPQJnsSfXUSNtXLAqH873sJZEKOwfpRCpFdSjNGzia9yH6JJKAZKxT9yNsbOF+k+5lEj7w+0Ka2vIar4HMrIC5YV+mzusOpxk+akcq83Jw5K/9bAlhL5QhFCOUgfzyo1FqWPIzH/t+5dOFI0EItlltKhyH0WuohnXv0BZ640iqcp+0v72Ikprq1zwvnjW24P5Q/U+ROmTOGwm1SVfKfjYnv4xjAa11TaNI9COI7HqRERepkvMiolKspS3D4bQ1umTmeEzGSN1st44yzSyPzAX3jMXO8FDV9ESGVdGnGVVMHywZHDqdyhPJDtrQlaHcUBfBEyeUdTbX9KR+N2cyh/+5Pnpv05pPcKL2LTcbaP39yAUDrgLrblesJPtaGAGxbxGxAdmCwORKF/ezQONQOxH2mh2S7FUlV0o3KrJYikOSxgDBKmMGOYOkzvIb6s4WdqGq4EbpXK6AYCTqSdwJpMVU5jzS+TENbWClTurCFXqeHPeoUqSZhKbvb/UL/Z2EtPpUihzRGQ5WT93r+zU72fwK6PZEDQa+hDyOyjdJXWU00wY2Eqg6qSA9tp+KW/hCkuoZ0DkZJEuo+2gFua7JbL9QS2cVw9H+CwzukzpXZ675aLtu0llJUPQw/dE2/EPKEOr82Ll3xZxjoj/oxJx5SkVgkgYKc1ZA9vDVdyozo3iHKpOCesVkvlxM5oqbfK9a4l05T8HFDMrLuM/9ICWJk8jE4XYZq6y9RN8vnLj6SDq1I6O6+Cn9WpNxZhS1+4lMs+PVlON6Nt7rVvIsj6guhbatOVP+jXahNVe+ZlynjNo1SucIqQ2ssRmn79xgxE+vjeGwEiEfheVYUE7SDSUk8YjmJnTbTg09NXXeweef0QnkZ7uus2fPsZhksXZnums2szrwnMogSMq9oX/mgMOupMqUEVO6bpcsbf1HZSRANh11/MnU9sxyFwYqBP+C1NDGwsOURvTplOYGRarOBA4QA3l/RGa67F76ppOMPABcGFXioFr6HcWygnB5T1yAHdN+qeMhdd/BG/QMow0X0+ejPg7FLJ5YraB0g4cgIvoMhlZlUhIM640prUPLGZZUqYIFzjKaVwq/3QmzThSbptQLm47JOfwbelJ0sxGGW8TE6ezZXK/6dDXQQ5eyaqDd5FgQI2oiX4pYPHVrWUOteQE3Iu0P4Fg0Z0Aj+2KtsdeZ23QpEVvk3GakbcfgdLJ/9NBXrzA1efjLk6LqzZ29RnH6qk7O6n5WYE+IEN+EiDeGCvWkx7s0WT4frjXAg9N4hHYnzzlHOyx7YTy1ZHpEmgMuv/Dhs7t/7uWl9MGOD0J9ZHpdAmHbyCUNfDMCV2/OiLPwTRxXyjuLrw5lhVp9TpndEjew8ZwZXEElxCKW7Ke3rGgVxXFsYidZz17+4VaL8pFcLDL50EAr3kYtzN397jBBAgCBdQyyKwPXLSj7UQZtrldsjEbFVu+QO3iuoiCRr2KPx3wkq89oYOC4l9aAWl2uqyqzcmlroPTlB2wK2yEl/Y1uTYFCx9SoEnbxk+5dK//Q03foD1ukTuTP47PxxPcaMYbmd6mmroit+Uy6NQfHF2Q8ovhwNO3wxOITht/Yzxxbyjt5DE/FhO7kZ2pzCbj11oYHFczFdGz0CA0wR2qIkkir1mnnr2zfdCo5pg2SiOmUt7CS9/8NetjvMS54u/0TzrYXBotAz4jr7n5a+14HQ1cMduWpP/KFJp2QI4eZ+EFC+P2mobdYF3YTpOw7JlNEO14jc620BkTR4aAdLUGVWdbCm2LoSgUfll26tfBCBuuIDkf1Z9ulw/IGbESub0WAb1B3jBFazYmBDyBhAQsqLINtohnP52fmN9mxjKC37ej9Knu/bhay/9bi7mDK/4PlhgAoAwpo/rgSzjFN/uAaMgAAA";export{A as _}; diff --git a/nginx/admin/assets/avatar10-Dom60BwY.js b/nginx/admin/assets/avatar10-Dom60BwY.js new file mode 100644 index 0000000..947fa15 --- /dev/null +++ b/nginx/admin/assets/avatar10-Dom60BwY.js @@ -0,0 +1 @@ +const a="data:image/webp;base64,UklGRnoFAABXRUJQVlA4IG4FAABQJACdASqgAKAAPrVUpU0nJKOipxaKQOAWiWcqvPAxUAkbDCvZbPuzj7mZq0NYSjrl2MI3fMiYX+UKAIEv06jA/5TBuv2S0lfAQp+IjE4WYF3IqwJy/5QHd74StrgS78UojyD39cswHSCWalGc52fhAmf2c8eEs8l2zCM+3fqmcXsrOOPaXK0q7GA1g4uYFCFFTiT7Qx3r7mzR/oqvlsNR2a8OQeMam0TJRzCWgtMVdKM8LGDIPxfjKv/h3bh8dOm3vwvQbo1lMBEX6Q37xvklj7NmGI35SpsCup0qtkTIRHQ4JG72EX+tK//+E/les0KA2cXqUC3rvBnw6RiwfMGMOJ8EpekgaXye3rFGf/AcovtyKMK7UjpZ32YQU37EtIWv819EbcPLFNMuUAD+89fBlMUTIKSoIcwc3lAm5wqLrczmaAfybnj1VmGqdd4iWEESGVUm1H+fSvBk/4a4YmVx3hIupBb8tAtG4y+2AzyOI0/BNeeoemQqqYPtsxm1NpANjiQdDInS2ZQp7V00hRudyqE0360aIE0vZM5eqwSeYvsLaC8rvWaIWB9XVpE21FkW/2eqpgCy7i96eF1aJi+LXXk+5asdyFXIuIIuqmOeYQwEJuWYP/PfbvYlH1aTytQx18SJ/8ARRFqKQN8z9ciZ/9fmo4fP6SNLpYctoi+uIsNVD7EFXy1wgN5JhL6FBl+C7UhcfbXfDlJnEfm+E/tGRGz/EjKjpavd6LY/BLa0AAmhSAjYLwv+FjmzYxqoXRqbxQsVYEWs0CJzb67qJEGCtVaDTYHZQPRTjUR0C4kHfFD9Uzb1BxS7ZEtvrNRzp9J7+jaxbY+a2dFFFhYd4LdsmlcCWuYqz10Jz6FUoujzWGr0ZflDi8MDJwLvbbT3L2oX+j1LEb46BhRj8SNYDLf0pRLeC/IkrhTuJgtBE5PQ95LWpngo7MN1sqBKI3ZlPUaJ0gwAWpYItxuKwuRaaxCfuZxooKsuPjTTPTIZC2KdeHq0gWeNaQPJsBa6V1v3wt02N+CW4lM9cWrJIIU8sNnR2UZCLKHkrsW9kOv0/ZhxGG5oBrl5QzTNbe6lV+KbePeM7VPmUuIWiv5iJqzbidtC8IKBwPLFihicVr68KNYwQFqA9go0hsZeFj12t0MG88PBZL4UpX8QsID/heHNT8mQ+tHdHdxtRY75Tkx4ovnd4ryHJ4McFrhm7CsNccch2ukj9m7MjwnkFz8BiI/YHvz2vKyPzNmm/0ywGYr+bHAJ27mbijRLr5xjJWwkdvv4GzOzWggTgzediVNXZUKT0x3M0aAuwfpeqK7OP6TFETKRo32S309kH5WrEShvzOompbuRQhIP6kq+eNdqLMzdo6PpYHj5m6q00q222jkLxWxXgavd/8UtWUyGf1MFzIdLPJgl+lr8Kua/iS1PJ93fj7NNcLWzkVI937nLbii3MKUkX+D/rf3mNwF8ukfgDasUOZePF2FQEubwrcwwmfkVeXwDOXUR65mCF7U/ro58MwhSvkFjyb9cm4RglimRYCtv42mBqVdlps15TaD5ut5shhruAhHZOZwiZN05nIo8+POjqMjMP6SCNZdNr4nZ5xMVDW+v6KjxkeaX0Fc+qukcMsPVs+x4FLmd5q3olnMO5o8BoC8GsgF7RBtC3aWj8n2pBNd87wIqyHaAh1IV5Sl7CWPvByorqhCE2f8aImUQ5EB5Ol3VHpxcGUc7bwj66sceIm8L2GjHluOvqVA8D2atZCq9IlPZAJX9bDgotmeX8+2ONEBBXf7J35Rky10Jbv4bQrFgJWDgaRGpgIoVuSV1wE1oaJNdxJTGEG6Vlncm6TLPggJaz5aB4ljh2ZhWgAAA";export{a}; diff --git a/nginx/admin/assets/avatar6-6Evj8BB9.js b/nginx/admin/assets/avatar6-6Evj8BB9.js new file mode 100644 index 0000000..910d890 --- /dev/null +++ b/nginx/admin/assets/avatar6-6Evj8BB9.js @@ -0,0 +1 @@ +const A="data:image/webp;base64,UklGRvAIAABXRUJQVlA4IOQIAACwNwCdASqgAKAAPrVMoUmnJKOkL7L7wOAWiWMAyjpx3h7WlDYOcGvcI86Rp3INtZIyP/VVYzqTpZIVQdIldrTL1z62MVB+FmLVxV22I3tvLHyCdooIJ7a4Y7bqM29baZpz1OgclQm0vr+WmbUQQfi9kzjcXLrodoHjXBxSpps1XE0Gxz/ttCJRw/j6sFyRiEVE/BDhH9jNRDuDm76Pj5B2GnZemJFa3SD/CpBgHqWyZlsTu3TMQL50QV1H0R6oFyj7wH2qfwI6IrOr6lHqPdQSQ/Jo8N9Yn5Wt3/pwKfsB0zXpuQ9HVCtwxNXeXAadtbf9f94QT9+m0svsxxWJaC/OnLKUcDTKiqPELQUFZS5GwGV6OuDmPyulI76Hvd7EAA5jtg1VAex1Gk0dQOvyuCiI8n6sryllOW1qD2YKtTpCmFoAcU1igPlfjEbRI2pEiraCoXyML9ErvaCoVMCGXKVJWVeMG2SLWD7S3yWFKxOL18Gp4/1R1WBz6OolkiDFTgfg/CEraIsk3bmO9c1EmfJslh707QRRr8Lf39c1alNSGnzbqbvSWuaZLdNFR/gLPi6LkqV4TT35sbLDUsR0h9QNU/J6uAAAAP75CHlglgbGtbkuFW09pqKWhaI69FcP1ZSQzYJ5tnSKIUSoSD7YexSjrBbdvQw6aWI53dPy5cfRtyi118xypiY8CK/+krUb24h2sT7w1h8c8vQk8l1NoQTHoxSR9iTWNCpmeTttYxMSO5tWExSVjSdW4URCrjr2tbayGjdjBQyO6ALmfpVgCAYNy5JIWj/zzLyW2GrKRa9UdpnC+GmzQlUmODAWcV/CO6wG88gW9eNIl7Q2vvIBJfUAo38t8lRldutuMml7xfP0EndvXkXfBte693aATfMnouCBGmUmGswRxfc/fmFawaKX++INTu8HFpb78bWgnlVxetpqMavEbfdiZhq11cUm2Bu8chb6TOdB4ddzNrH8ZF5Te6bLY8U9spEdVgDt2DMvePzUf02JD09WFOBe6KIi6EWwCO1Xxhkxs9aAc7QWI1YFNMy14K2tFls2YbHsAXur6XtWwzcgNgi6ZsStp+FGP/pDDreibPjYK3hziX3hdK+f+85zvnOEMC793amYmlRfToHa19MBGFiQ+fAkeuGYJiZmRO8UtrZM/5h5SW63F0AQTSWu+se3PFdHkvbp5LihpVL/wfpZtzu1aBF8tAoph6pzj/Jm/xKIn5EwYyW88ceFkNJGY2UA9wkKHMKP8WcCRtUoimZyTNGMEz+4yZ8ewDqxG6m3WiGMWjQMJW7NYvXr5nJPZPlrIhZqKoohL3bQWTH6hvIrWclHQ2RABQyXcGxrXc7LIFKV30LQR5S3o/+ZL7ICvy4xOC/nDksaHnSLTVsr5L8q8UaPthrm4bbDALNoAI5XSw1WO5SpnG5cCFNH6Unc4R+SX2NdWBSmag6I8iApfeD/GC6xlvoZg1kq9NgTrD1ysY/8+tp61kK4mLB02pJNq3/M18a4wMVadoswEtiLea/wnP4OEmaqx0kxwFvVn2XZxhVkt4gk4JQNr1ojG4m58sJ0TWFpmU1+X9Ko7zTR0TpM62cA/2nR3OfloBD5ocHWSkK8MyEwlq6lrdnd1gcH2jvgqOT/cyBXGY8FlPNsAfVvW9S2iBev92EFsJPwzCjv8I+369hKcjvEz6eQ542iKOSo4YTXgBJKvYN9Yji5TQR9klfILi5AoNg1P/HOe80pLPGOsLIg52AghSRKkXVWmeDLVBeSRfMNOLcDF64g83z0mkHMS3ut9B5qZthk3/1zhzAhXDLjpj4b/yGX5s5Aei1dWBMymaBkhcDzp3HTR+rS7JJHBxKHe8LGAnHYpoD9KnOltcMS8Olgtvlyz8eepAfD055fonY0CS4fllvXdmsIERZHOiTQ/QTccBBsGpVR7wpvZWouhmSqDRVL7kIZ6CouqLgu/PGBmApcALjNUOL8cJJdkPd+CowilPwSjRoIflgO7+P0ydWu82ZWYSWS8LH/vInnoEYQ2BDxFBP2d/kvCaOOm1PkshphPOdp0zHTQ4GalGpfBIcWwyJJLqVpUDF1cqWPFplaG+OvqtJLnN8cfavTnDoLTD8RF8POCNA8gT2/ali4ucXKON7v2nN1AqDorCj+7NDOKanoQ0jfHIZkxVCZ2P6M7IIz9pgpbUskOM/o5U6uMERo8OXX0q9zFxdyBThLQ27I4yAeTGm/fipd15gNOQ2WuH2CtW+JwEane38Yvq7E9/g9qfkGGNzSWY/17WwKYSKzhasAfQnujFxNAMhg3/JBJ18/M5lIgwv0JeHSWI8i7W6aL0NtHK542y4rQlDMfdp10/e0yNrTFGhAZrRprA1w4on7jZdjHpCCMxYzHToJIr2yiniH/6eUxtW95CQ3OAj7s2MOqRjKZYB+45biTPEvNSOuZaZawLcYOGg6972/EX8dxxDWGGK95jkCbJIuRX1ZVe9b+qqtg6kJvGA0pzNIg+4O72+J+eR13U9DkTwJ/wO4YdZqbVrYTw7VzzQhl/nqmmpsq+HBTgn1f/RX1iIGprRYLzph8xQuPxkNdDpyS0UFLjKCN1+u+6HpwNnaMcwtqgYYm2VRdlySYVWpA1aoI3NjNv4XR+cMGgnwzCwZ3CbhPaJScu0xCud9wPVEEX5zHEWygcncm1vcYMU0vLR8a6whnBtFOu8fXLwvif7vngRrfNau+093GtRgfi/og8oXzdexAvRmmEs/wtSLHL1C6PK5w4yN3bQsObHm3klnv6Eq9PqCkfRogJseTaDyjxIA/PQ6nqRs7dol8d3i2pEx0MHCWOcpx3Z0tGJQ3HWQ6t/kBP2T3euH4VrtKtYVRS+oYEGMt6s7w3M2L+nwz130NjVsz8zfzJZ7tZRCXaUOsjqgBWcB6QBTw38biBJVtCZz+ZDmfVqY6KORJ8EaS4d3H4Te85Hu3kwiR5U53321hO1QGJ12hL5p/t3rmHb/p8k0eDDw3ZyeUWjrmw3FaZBb4jYWDN99BrGKmmDuK8KRL/409xbI3JUAAA==",a="data:image/webp;base64,UklGRrYEAABXRUJQVlA4IKoEAADQIQCdASqgAKAAPrVWo02nJKMjKBKZgOAWiWcD1B6W7MivuCu7bpwiyGVQ+pUdXDVdvgaBP0Y+l6Mcg69SXoscTyqMiRSfow/3RDb1q+MKewzwQAGn1aJQUt138Yna1nebwax7iV8vRA3EAYc17AWfRkEIFbGdm3Siiwd+WRZXOrneL19aW2cj/YF2/sO1n4Usvoag6fL1mttXiDT0eBrFIC0tJTUEReJ+eHyjX7b7vIzFjzxGR65vDc2wAja+IS4pWRPGeVPm9cPkvobglUuuOG85Vulx8pH6LbyTrzrFbubwCgIHJ1peiLGp0N6f68q+ZWtBv2xZkSPxf7C1a6hC/XtfVBpSJSW4cTsg0Cks2zd5oxVMaAAA/vh6SWLge6ftaI39TFqC7kdd2/UbaFpm8N0rFBxwWMXGxziZsQBiXOVjbwUZCsNkvBscSPB+HMm4K0VhNogHN+OCJWAB8aH6I3OFSgN0LURcSncTM7g/kGdJ+OCvAzG5B9ZD3gjTx8Q8iy86h1RVe2PDQbWEzm/rY22CtJfwxWf0ZtI5M5lwTMlOsfx7NdY+SlhCe8vAXlV+Ula2balLna30CRoh90xR5AbcimMQa/NFEno+jf+16ufONrtRIALsoJuGzbcSnvKOvmDGhyZ8aRKJcKXBb0i/ghLA0B+KjZxThPaXaLPrVhsN4bpqbRiL7iQOuIfdDGQQrSfvdyyo37Bhz9jiuRZDTgXmoM1I5JXquRN8+xjDCFWbpv8JcDs4iwtWjE8ItrxQu1jlvzPVQsZvzpYUpm7DJC5lwd8xX8HPuxlwCpKjV35WU9a0D7mMbSVhcgLZPrgClZVN37WHGifzA/3VTry/MH7PJl0bzsDZfuUsmgGapd47eVlyPnyLhjwVuVqfWwaaHDBqxzWCAN4TtpcYuAaKzWAwRvr0SaQq//HzFwhNGYxo36wmzra4jUcBzx6pOgbnl/MwPU8SFBt4tEBrEhm0QZp+8cmD8x1GLNVGgIjwLaLxGBq23yQzIecYYUA2zD7XE05xJjqNMf+sXuBif372oayjohn+VNHaXYgPxwlcY+iLMUOHOr5m4qTDAqQIWexf15o4fOIRp7JpUBPaw1cvkFIKmjA2T9pOMv7lL7WN3hbSL+SoXTBPNDd1y7UMJ7+2yXDZ2tm3Imk4lftW0EhY4NZwGNO+oib8UJlmTpMdpfObRXgkIh+53GDjWqpfg+rC+1/NGJg3lm2QguLwbd9VrVMtB9I+uCCYVTh624g4NP7fCQ16eIUBcffJNCkPYkcLeswT9OsiJ4YOMicmPAbz4v7gJT4Cy6qRs8Z+mdovpAHvNAHe1c97njXhKbn6h164RXAIshH9Fgm//V9da255ugu5ZGnIFu25FjhfGJ0rW+FJGRt44ECA5Fam8XOxCo+xgoZPIdBYhgagmHTbP09AYD72FjdFqH93rUU3lwnyAhTSbOmQTe00+HvhveLfi7v0gO58IlmAgYMaWa0Zl8hdPks6F3m3RJEqtl/QhOn3/z60SdgypZkEOBgXz/xfl0DKS1tHECbP6GbzB/E3CWi4drCeqemHAMeykMhJJH9TxIaxJ8Awx1NwAAA=",g="data:image/webp;base64,UklGRs4CAABXRUJQVlA4IMICAACwEACdASpQAFAAPrFMoUmnJKOhLhdMAOAWCWcAzNe0WZELdMOrrI61aJ4BVnXAgrdVIDUrszd8F3VX2yXbaAGkyMq/bTrMcn8qqvdBPY90WFsGRzuIEu16A9LhLMVYBFuZO1+QayEuJZTYbINLrJbjDvCOtlu0FQkV3c3Rzapq1vUgZfVdntqrTOW+M/wgAP71/RhN2HY+CQi/cAaciXdXTNNVno+7dC5IlTdbKEEaqjVvRpdcmD574LWaxCpnPLKZ8w3wXjZhVymH8WWp0zMV3N8cKClrQAqT0HZav3BW9PGlv5KGbj5auZn2wQ68GfUCkMzh1NkgD1/7hs7U+IsXGea/IPy9QG4BdL+AE6SHAJXZ1XO0p05TLvXeMCs1YWSwuHtFlEUNSpcgwrM27txbMv3JVN7xUajcp45qQpxgRdJ7A4ej8y7yZ/DoEyehEt0nQMQ/VgLuMExqj1ZGgxlCGxJ4vZPIqpkRR7T8F9E8MfLH+VqqxQiyJ2devw3K2ZA02otrCnZUv4r3dQIc5GEbn5rugR3FE8ycCP9lppMhGFM33LXEDJapleiER3fx/Rj2ZxexdCzdgywrxCqT7zZVrY3QfRx1DkW0Ge6pk5qgdB9Q4lr2SLfb32ZXvGoZK1QZBHXmd1pnOoWNyqrPPd+XRT4dONb1rwWZ/twSPZm+LuCm/g3+QVugdZHVpils6IjGmdjNPlj/cY0B+Ud9BPW5dsWcSohf6tzzEfG0ti0Dgsf68qo0ZVG45D/k6arvIXUbBiIFU4PB4xDrudWWnTSVhL5WPOqHH+TvLPDFxjvlX0nw8QyuJkPKpoRdogdl9vi8UbUYVH/1GlMRK27etM0N5rFk4owMZZYMgJ6ALf4soeO+5TvrIw5NzR78KeFgtw6Gcm27etqw6VCznf5KPbem07Kp9f2OzaYCivh1yhd2aMAA",p="data:image/webp;base64,UklGRqgDAABXRUJQVlA4IJwDAACQEwCdASpQAFAAPrFInkmnJCKhL1VdiOAWCWUAzFCP/hxsf7kZg3n+FjGbcEvkVqUG1gKhxbah/eFyKZsDD8WeKp8bcdWK3IulOnrP8asikaa8ddv86+Bpcco9mgH5HtiZ2SZOD2ib+RzO/dR6asKmYlMIgVK8YHUb73izl18MGKGjDLix1DbPzKPQytl0vDA1uHyxpF67K88fPBl3k3QkdbAjtrgA/vzrQJRw1pjET3/3ZO16MCS1XMOCqbobbWg4GG5f0aTSU2GHDXTkkG1ELqMxe6wa5hG8G6cVEQl0pEiSD1iCncwaAmW5vezggROD1RFwCEUkKxAvpSE70v3HsTS/IoOAf2y2yQV+j/D1qNwZfcFZR99kbursUzWKA1gAqbF1gJ5iLggG9Bp9O/snXwe6n48K2SxcD3QZwLYgw3JVlwhiKqZMB515fFeYQTPEyLv4ip0xVCFSAoR7QDBaAVfqZYul2f2L4fuZh7rpETjEWDPWm0UdwdjMzz3T1EWwvgEwDoDm+8PM0H1L8VO0HX2m3S6P38nAWn/rUq37HCHqdTKL0/whk02juBisONM1FVm3z3cQNXC3BaZEkXWy7fUqMiCZN7zUWV0dX+DpmzqIdYMNfLtTblV4gQIILvsJurfgLBDoKgOR28CXh3B2mzaIxIbCD7JTd9n6HTemtgTfm7MrU+strDs2sQgx0tHy+WyGQ1jAlRuYTPUKglL+Zz29qsWjBHxruIMf01A+v6WuE3Ddj9FLl/g1NbG6QzzScFXgnQURVhVhJgC7ijqvOBZk2bHCWMu/QyUnG3qUpmao+iEtt6ArX7KqlcFW1mFdCAj/mwgGrq+mnZZGUVRvqzEQlwT78/dmA2NtzajYrIek6sm7ERWYkqFsL1gesBvAQTxg9+tzuMWgBadEFhCUC4h/8TzGaCCq6mxnhNBzBsUJszTD77ML6l45dVDbsaDTpDvn1KujvfL2WViE8ocU9rgfw688ib4HavAEeLlyGsw8hLB8LJpSgcH70SfLrnFpnaf5mLrLl/afN2SWxdbCxjf8WzK+lOO3AU+riQwoHgWZcMJaOZYXgCjYv8wDRwkDgjVAWXndzg8qQlPNoKifSuriEexuDYBm82dRkDffDDqufHcaGg0GmFfM/iB9GwECnIq7e7t8R6E0mpDdT1I+zj7c8tpynzIknCTS8eiToPO3nBRDD/Ay6lzUK9xLw8uAulAk1n1TU9zgUAA=",d="data:image/webp;base64,UklGRtgIAABXRUJQVlA4IMwIAAAwNQCdASqgAKAAPrVQokwnJKMiqpPrWOAWiWcAzjyPXujxN0QTvvh5x8+Qt9i6JnwU92hnUasCZVH7UbMLqCm5KBGd5RX3gD9DJzHu3sKDz9R8shoFulP4C6ob4yOCmBqvFs8Mh+Emwk/KOvE1ea2LMpYNbhQ2i/Iq1iAUAIKng4rULs+Ur4uXEDhYhTN3o0qDegs23PCgnH8ynwF/4W45gUWSPle6i37aO+btfA9CJicVuX/2CS+EbJ3EsR+l0MbV1i/jYItoZ2LpkRt2pAQ5qyzfUflsGS8Dxvw7F0W9QYyJvauDMTpNfB6kkhdQurydizkM531P2FUx+icWHi/cCZ35q/L2mGFpla55nUTCw+UqaiRSkW5up6+jYI3wS09LqbpUuYRpngEuaI4HFBv6S1v4hZNkvfoCsDm1ewD2YwLOCOsaqGY6Cp+dcL5j0lIK4fj9fbGTNhotwvbo+gL3SooAngEo32A4R4hiXn3nTfLbdCMhaM7f7AdXIHnFfLNlKgh30+3ZmAcEjPrn1+jufTT3KedTxxBhVzAfeBQui+kWzWUuSn+Iqsxto6HiiruPwAD+4hCbLF2VaRBXrYk355691ApptFXzh/SIRw4U4qv8Gn9hoN/BMTi3iipFhn6gNmXQqIVlBglMdKtCCGgFMbTtLdOAfVzUb1yIufTlrugBu/0A+vY/RBLGGqgPPVCEIOZKub7CT47jbxq0YmN4qn2iGIXmpA6z7PNPoTGU/CRMPpL/xpbLn0MHjvGpX9edT+wikjDjpy6oeF7PJVpMpq0Ud+/7cs8HOeYu0h6pT3mP0UpevAAaQNkt8nJVoB33Jd+jKEcO1dkPA3GCtLLP7jmB7lJ5AqjJqvsEkw7lTHXdmOIuwfzSYrXmeDzEwkXkwNSQSXiNQifGe/Ugbuc5r2eb1Wc1SMDg08p0or8BFht7epk2O+t3AGmUWJ47WhuZN0RnGoEdmvbrx5DZRi3ht2KW1Mu+bWIauBM4Ce+5TNoYy/PiIEFFzyGVD+BX3FFxSJPDP4uQqP7qMqEb2z4viutce9wg7+qaxBsdpxIxXcxxt1FRjK6yrS8ROHg39bYiHUarZdyK7I+ttj7NV7JGvaAkr3/9kiG//zJI9YqBHx/fq4FU5PhMQkC0rJLgi8w4A5TmfMqmGJoli/yHHelvGhsSevwC1jPuQm/gVM0862v74ldpJTzs6TdPGvlKes4BT7cNRCPRvLtn29/wuAMgUuhkilT+FSlkDrGycLs7rxBrSA6NQoAIXJL+8jzDCKfyRs4Rcby0IoIcBQoWR+diAadf7c5HE/MopYcjg3yMFO9Q+suAZsc2/UutRr5c3DEzYvlJtPXObRzOkdjBuZ11rmS5QvyV8ftQ1znVWh00Ids277KydfCMe1BmB0YD0vRNfjDAkSjiDojtRvirCIf/1d3no+c/TqWuzVm2AViozUwGGcUtA/PJ9TOnJAX1j7SxLoa9PkBsEq/TPICElu2bx2PvKdTVBSe2HPEJlzEzyMeyQTbpUYZ4ryCtTXSME+vybhmy4yhTsqzgnkKZQSVTOrcHnnZn2RWNBtzHYCh5mKTowTnariUUS/t79xzYhwiB0DURSIYo1SlXTZ75/WT3zSKiHFQncSxfGcCCjb2EpwoRB5jE7tEPg1QO97hTFa3W7wcGGg2LDrzvT6LwK69zkmCGTm3ztSrpnsIGUysLQsy5WuTY0FPBPIEFvcYkxhmMA+gZGJAXdCjrkV3FyzELAjY2lbrU8tNXnmwnK5LPxW+ROeF9aHNoFjt1U9CoysYBwkb+1vsG8n2MLAqW6KGD4wrpMXvV1tyL2d/EXIV/ZEj8MuJQsXetL7Kc0/QwZ3YweITdSUHAuljHDZ95uXKY6DjR0sQYTN94ZIl86JhfxR+B9l+9qDDHcEt4GluKngnjRce2MWVh/lDku5DQTa+j9o2uiMA8fSuo5qcUohstuA7SGoOFZ7ElrTibW/9F6/Q9I3K90MTeLWAbLLlCoAawIX85t8MLrjhXJ+gbAJdXCI2O5RTVj9U9vWGSP7ox0dPnJ7kJTaH2Ecy04eIck/EdzPaWlJFbwOipbxE3OQZ+biPHRCyuIA3IhcUeI6ODFMHyteMFn6lcV4LaT6t6bPgTeIAzKHj32VpWxPB6DdjUI7skgbKLcsmCweRSU4pfTStECU7Mz5jTFc86i5eEiyFJsgHtuNDwGhVbImi0VNMUP/YAgHM93a9pRhihVcZSjp4OFcPq2mI0piMAfjSIQGY00YUTjxtciIf4hr7/Jwu3/0Y7WH2L6d+2OcKgD7NxxdUpYKqTZ3Hcc1YhYEeXfCycplk5KL8ELNg0kd6r2rAp5dJBr/ItpCGf7ImxugMhtxODXBwm3nT0m1IIdF6m0GahbcK4jplaYfpY7uTs9bNwvfjzgwJ0womgt7dN2bFZeea85XJuH/4sLBuAPjl/PTUWMjVs+of+CvdPQG3s1ppnp5nxbqzV7YONJiOMpNwRtsTldlH8pNLYSflxVJGJrKMNopEvDUgWym5OnoYei5SscI2+7LQFXr+MuYV3fLN54xm/2BsWjxUwABkbELEKzgU9yFI+6USCffdZWIa6ZnDESa4upuFWLmFj/NZQBK9BtP9eBO6vDYdb//y0/fRkhwMczswvReusTpBu5YVypDsyLzlgvQpGqPofcxOU6WNc5grOmK2kd+MtTR6QLsCVwQtfqV6UHBsq3yn6zVLZGOUywR7gftxJTcGK/NdcjyQMYXE9AEJ/Za1XOzKsdvBF/zZToO/zeh5rB3FPd4aFTVTmY9BoH1K9W/nlaLANvHuWAHvJklru7P+G6QpPUITpJqHXtD3esuvJGR8cp/5S2M6XAz000PaF7drYOiHwiizTpPlmH+YqnI6F4qTEK2ar3yLebeUSOR4+i33Tzen2D21zV08RpHg2GywkO63fo2V28kRhKrpavs3aWUc13MQ9JlcdMlotGds4/1flYS75bbICx+7JHlOumfLInX0AAA==",w="data:image/webp;base64,UklGRiIDAABXRUJQVlA4IBYDAABwEQCdASpQAFAAPrVMn0onJC2hrNM92bAWiWUAw1XuhGY6DWJjTPLzT6vPMQfytbZRrYXqgbphRiMDuNV0ZYOQ2ga4OwQEnEYK2DsR0z+YPlg5iyNnzhjaFL0VMGBl3ozIRTXPCRye2lsw7cgIKQ+ckl1M6HGS2EvOcslEaw0nJDTZPMZHU2Zb+VDeDujdGgYnOHkoAP7x1j72K2LEUk9dbfmU2T7O3fNeQz22mrB6UZ1Czotz3LtvVOP7m072nV7SYCExpYHx6Y2r1yS58tRxiluQuRFwofZSjGxxGYye3O35unnZTp0muOvcBbjselz5CrA/gXubBz2iPy8KcbthLdPydMufPHeMAZe0MHe+IQiY96WEsavgTpoFIYAiwPTOWV0/do+Rl9L4YWzxltHu1JH7qMF58U3y6aCOvKWHBwrM4iTgOMtnAySNh+IMEFsXrTQwLDr2m1zirxHI8c1KqaC9XOd/Jzu9JFnyS9H2UreaMYiviYusjLNqgajoXHIL3aNkpLT12nhqzNakzjE5JNjD3PyzuUMOtLvarj4TjmBJbSW1oAqchkzL1uEMUOmTnNtm0vU/geNJzJL2LKt818HmaOpps7fFjEE0mjwNVnEIAvYbfVD6hYAOcGJTvRA21c0pztg/PSs9S88FWv97lnM2zES8R4F8pcyQ77yemwg2vWNMaAQaEBOD8+3LAUYWGAfRxHVutOd18+Xow+O8lIo81n1IQGieV+TFfs/I8L94EHjIgRYEn/KLsUFbVKXaF8oBM0HcdySWU5YLUssp2ok4io8YEz+R0VYK3Ph30nO94i4BYXCr387yhf9X9U2g+3snWP0r6jjYYvxZXh6MdZ2mAAS//P2hrMi8oXmu2EAM13SFms6PsbBdsWZRhpVQoyADAaRnYqkK+YN9X2G6tFzcTJbfdgcz87dXhbC3ckf6/Gz/eyT6H8Zwp28Rf+WRfc58EHWXfuaBMCdsExG6Vvfs2XlN94ucjhnqTRiHt0OwBw2dHxKzXjxgAZ9KSXiYfYqjySdn13nDzCC+7wVkM184AAAA";export{A as a,a as b,g as c,p as d,w as e,d as m}; diff --git a/nginx/admin/assets/avatar6-6Evj8BB9.js.gz b/nginx/admin/assets/avatar6-6Evj8BB9.js.gz new file mode 100644 index 0000000..df46af8 Binary files /dev/null and b/nginx/admin/assets/avatar6-6Evj8BB9.js.gz differ diff --git a/nginx/admin/assets/bg-DrCBEYh-.webp b/nginx/admin/assets/bg-DrCBEYh-.webp new file mode 100644 index 0000000..762b22d Binary files /dev/null and b/nginx/admin/assets/bg-DrCBEYh-.webp differ diff --git a/nginx/admin/assets/card-D34vavgk.css b/nginx/admin/assets/card-D34vavgk.css new file mode 100644 index 0000000..9955868 --- /dev/null +++ b/nginx/admin/assets/card-D34vavgk.css @@ -0,0 +1 @@ +.el-card{--el-card-border-color: var(--el-border-color-light);--el-card-border-radius: 4px;--el-card-padding: 20px;--el-card-bg-color: var(--el-fill-color-blank)}.el-card{border-radius:var(--el-card-border-radius);border:1px solid var(--el-card-border-color);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration)}.el-card.is-always-shadow{box-shadow:var(--el-box-shadow-light)}.el-card.is-hover-shadow:hover,.el-card.is-hover-shadow:focus{box-shadow:var(--el-box-shadow-light)}.el-card__header{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box}.el-card__body{padding:var(--el-card-padding)}.el-card__footer{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-top:1px solid var(--el-card-border-color);box-sizing:border-box} diff --git a/nginx/admin/assets/card-list-DY01W_wZ.css b/nginx/admin/assets/card-list-DY01W_wZ.css new file mode 100644 index 0000000..9f5143c --- /dev/null +++ b/nginx/admin/assets/card-list-DY01W_wZ.css @@ -0,0 +1 @@ +.premium-card[data-v-b2e6d7e1]{background:#fffc;backdrop-filter:blur(10px);border:1px solid rgb(255 255 255 / 50%);border-radius:20px;box-shadow:0 10px 30px -10px #0000000d;transition:all .4s cubic-bezier(.4,0,.2,1)}.premium-card[data-v-b2e6d7e1]:hover{background:#fff;box-shadow:0 20px 40px -15px rgba(var(--art-primary-rgb),.15);transform:translateY(-5px)}.dark .premium-card[data-v-b2e6d7e1]{background:#1e1e23cc;border:1px solid rgb(255 255 255 / 5%)} diff --git a/nginx/admin/assets/card-list-NIswF7Y2.js b/nginx/admin/assets/card-list-NIswF7Y2.js new file mode 100644 index 0000000..47f808d --- /dev/null +++ b/nginx/admin/assets/card-list-NIswF7Y2.js @@ -0,0 +1 @@ +import{d as e,k as s,A as a,h as t,e as l,w as o,b as r,I as n,J as i,f as c,i as u,m as d,v as m,g as x,q as g,j as p,T as f}from"./index-BoIUJTA2.js";/* empty css *//* empty css */import{_ as b}from"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import{_ as v}from"./index.vue_vue_type_script_setup_true_lang-Dk4553Z8.js";import{b as h}from"./dashboard-Csmn9wla.js";import{E as y}from"./index-C_sVHlWz.js";import{E as _}from"./index-CXD7B41Z.js";import{_ as k}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./iconify-DFoKediz.js";const w={class:"premium-card relative flex flex-col justify-center h-35 px-6 mb-5 max-sm:mb-4 overflow-hidden group rounded-[32px] border border-g-100 bg-white"},j={class:"text-g-700 text-sm font-bold z-10"},C={key:0,class:"flex items-baseline mt-2 z-10"},z={key:0,class:"ml-1.5 text-sm font-black text-g-600"},D={key:1,class:"grid grid-cols-2 gap-x-2 gap-y-1 mt-2 z-10 text-[10px] sm:text-[11px]"},P={class:"text-g-500 font-bold mr-1"},$={class:"font-black text-g-900 font-mono text-xs"},A={class:"flex-c mt-2 z-10"},I=k(e({__name:"card-list",props:{range:{},startDate:{},endDate:{}},setup(e){const k=e,I=s([{des:"道具卡销量",icon:"ri:ticket-2-line",color:"#3b82f6",num:0,change:"+0%",suffix:"张"},{des:"活动抽奖次数",icon:"ri:game-line",color:"#8b5cf6",num:0,change:"+0%",suffix:"次"},{des:"新注册用户",icon:"ri:user-add-line",color:"#f59e0b",num:0,change:"+0%",suffix:"人"},{des:"平台有效资产",icon:"ri:safe-2-line",color:"#10b981",num:0,change:"+0%",isAssets:!0,assets:[{label:"积分",value:0},{label:"优惠券",value:0},{label:"券价值",value:0,isMoney:!0},{label:"盒柜",value:0},{label:"道具卡",value:0},{label:"次卡",value:0},{label:"卡价值",value:0,isMoney:!0}]}]);return a(()=>[k.range,k.startDate,k.endDate],()=>{return e=this,s=null,a=function*(){try{const e=yield h(k.range,k.startDate,k.endDate);I[0].num=e.itemCardSales,I[0].change=e.itemCardChange,I[1].num=e.drawCount,I[1].change=e.drawChange,I[2].num=e.newUsers,I[2].change=e.newUserChange,I[3].change=e.pointsChange,I[3].assets&&(I[3].assets[0].value=e.totalPoints,I[3].assets[1].value=e.totalCoupons,I[3].assets[2].value=e.totalCouponValue/100,I[3].assets[3].value=e.totalInventory,I[3].assets[4].value=e.totalItemCards,I[3].assets[5].value=e.totalGamePasses,I[3].assets[6].value=e.totalGamePassValue/100)}catch(e){f.error("获取统计指标失败")}},new Promise((t,l)=>{var o=e=>{try{n(a.next(e))}catch(s){l(s)}},r=e=>{try{n(a.throw(e))}catch(s){l(s)}},n=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,r);n((a=a.apply(e,s)).next())});var e,s,a},{immediate:!0}),(e,s)=>{const a=v,f=b,h=_,k=y;return l(),t(k,{gutter:20,class:"flex"},{default:o(()=>[(l(!0),r(n,null,i(I,(e,b)=>(l(),t(h,{key:b,sm:12,md:6,lg:6},{default:o(()=>[c("div",w,[c("div",{class:"absolute -right-4 -top-4 size-24 rounded-full blur-2xl group-hover:opacity-80 transition-all duration-500",style:d({backgroundColor:`${e.color}15`})},null,4),c("span",j,m(e.des),1),e.isAssets?(l(),r("div",D,[(l(!0),r(n,null,i(e.assets,e=>(l(),r("div",{key:e.label,class:"flex items-center"},[c("span",P,m(e.label)+":",1),c("span",$,m(e.isMoney?`¥${e.value.toLocaleString()}`:e.value.toLocaleString()),1)]))),128))])):(l(),r("div",C,[x(a,{class:"text-3xl font-black text-g-900 tracking-tighter",target:e.num,duration:1300},null,8,["target"]),e.suffix?(l(),r("span",z,m(e.suffix),1)):u("",!0)])),c("div",A,[c("div",{class:g(["flex-c px-2 py-0.5 rounded-full text-xs font-black shadow-sm",[-1===e.change.indexOf("-")?"bg-success/15 text-success":"bg-danger/15 text-danger"]])},[c("i",{class:g([[-1===e.change.indexOf("-")?"ri-arrow-right-up-line":"ri-arrow-right-down-line"],"mr-0.5"])},null,2),p(" "+m(e.change.replace("+","").replace("-","")),1)],2),s[0]||(s[0]=c("span",{class:"ml-2 text-xs text-g-500 font-bold"},"较上周期",-1))]),e.isAssets?u("",!0):(l(),r("div",{key:2,class:"absolute top-0 bottom-0 right-6 m-auto size-14 rounded-2xl flex-cc border group-hover:scale-110 transition-transform duration-500",style:d({backgroundColor:`${e.color}10`,borderColor:`${e.color}20`,boxShadow:`0 8px 16px -4px ${e.color}20`})},[x(f,{icon:e.icon,class:"text-2xl",style:d({color:e.color})},null,8,["icon","style"])],4))])]),_:2},1024))),128))]),_:1})}}}),[["__scopeId","data-v-b2e6d7e1"]]);export{I as default}; diff --git a/nginx/admin/assets/castArray-nM8ho4U3.js b/nginx/admin/assets/castArray-nM8ho4U3.js new file mode 100644 index 0000000..a8ecd71 --- /dev/null +++ b/nginx/admin/assets/castArray-nM8ho4U3.js @@ -0,0 +1 @@ +import{cQ as r}from"./index-BoIUJTA2.js";function n(){if(!arguments.length)return[];var n=arguments[0];return r(n)?n:[n]}export{n as c}; diff --git a/nginx/admin/assets/category-search-0fyNR6nV.js b/nginx/admin/assets/category-search-0fyNR6nV.js new file mode 100644 index 0000000..cebb078 --- /dev/null +++ b/nginx/admin/assets/category-search-0fyNR6nV.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,r=(a,t,l)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[t]=l,s=(e,s)=>{for(var o in s||(s={}))t.call(s,o)&&r(e,o,s[o]);if(a)for(var o of a(s))l.call(s,o)&&r(e,o,s[o]);return e};import{d as o,r as p,A as i,H as m,h as d,e as u,w as n,g as f,p as c,K as j,P as b,N as _,E as v,j as x,ai as y,bb as V}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{a as h,E as g}from"./index-BcfO0-fK.js";import{E as O}from"./index-C_sVHlWz.js";import{E}from"./index-CXD7B41Z.js";import{E as w,a as S}from"./index-D2gD5Tn5.js";import{E as C}from"./index-js0HKKV6.js";import{E as I}from"./index-BaD29Izp.js";import{_ as P}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";const k=P(o({__name:"category-search",props:{modelValue:{}},emits:["update:modelValue","search","reset"],setup(e,{emit:a}){const t=e,l=a,r=p(s({},t.modelValue));i(()=>t.modelValue,(e,a)=>{JSON.stringify(e)!==JSON.stringify(a)&&(r.value=s({},e))},{deep:!0});let o=null;i(r,e=>{o&&clearTimeout(o),o=setTimeout(()=>{l("update:modelValue",s({},e))},100)},{deep:!0});const P=()=>{l("search",r.value)},k=()=>{r.value={name:void 0,status:void 0},l("reset")};return(a,t)=>{const l=m("ripple");return u(),d(c(I),{class:"search-card",shadow:"never"},{default:n(()=>[f(c(h),{ref:"formRef",model:e.modelValue,"label-width":"80px"},{default:n(()=>[f(c(O),{gutter:20},{default:n(()=>[f(c(E),{span:8},{default:n(()=>[f(c(g),{label:"分类名称",prop:"name"},{default:n(()=>[f(c(j),{modelValue:r.value.name,"onUpdate:modelValue":t[0]||(t[0]=e=>r.value.name=e),placeholder:"请输入分类名称",clearable:"",onKeyup:b(P,["enter"])},null,8,["modelValue"])]),_:1})]),_:1}),f(c(E),{span:6},{default:n(()=>[f(c(g),{label:"状态",prop:"status"},{default:n(()=>[f(c(w),{modelValue:r.value.status,"onUpdate:modelValue":t[1]||(t[1]=e=>r.value.status=e),placeholder:"请选择状态",clearable:""},{default:n(()=>[f(c(S),{value:1,label:"启用"}),f(c(S),{value:2,label:"禁用"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),f(c(E),{span:6},{default:n(()=>[f(c(g),{"label-width":"0"},{default:n(()=>[f(c(C),null,{default:n(()=>[_((u(),d(c(v),{type:"primary",onClick:P},{default:n(()=>[f(c(y),{class:"mr-1"},{default:n(()=>[f(c(V))]),_:1}),t[2]||(t[2]=x(" 搜索 ",-1))]),_:1})),[[l]]),_((u(),d(c(v),{onClick:k},{default:n(()=>[...t[3]||(t[3]=[x("重置",-1)])]),_:1})),[[l]])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1})}}}),[["__scopeId","data-v-9b5715ff"]]);export{k as default}; diff --git a/nginx/admin/assets/category-search-BqILMF9x.css b/nginx/admin/assets/category-search-BqILMF9x.css new file mode 100644 index 0000000..c893708 --- /dev/null +++ b/nginx/admin/assets/category-search-BqILMF9x.css @@ -0,0 +1 @@ +.search-card[data-v-9b5715ff]{margin-bottom:16px}[data-v-9b5715ff] .el-card__body{padding-bottom:0} diff --git a/nginx/admin/assets/checkbox-Bxb--veJ.css b/nginx/admin/assets/checkbox-Bxb--veJ.css new file mode 100644 index 0000000..a94def7 --- /dev/null +++ b/nginx/admin/assets/checkbox-Bxb--veJ.css @@ -0,0 +1 @@ +.el-checkbox{--el-checkbox-font-size: 14px;--el-checkbox-font-weight: var(--el-font-weight-primary);--el-checkbox-text-color: var(--el-text-color-regular);--el-checkbox-input-height: 14px;--el-checkbox-input-width: 14px;--el-checkbox-border-radius: var(--el-border-radius-small);--el-checkbox-bg-color: var(--el-fill-color-blank);--el-checkbox-input-border: var(--el-border);--el-checkbox-disabled-border-color: var(--el-border-color);--el-checkbox-disabled-input-fill: var(--el-fill-color-light);--el-checkbox-disabled-icon-color: var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill: var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color: var(--el-border-color);--el-checkbox-disabled-checked-icon-color: var(--el-text-color-placeholder);--el-checkbox-checked-text-color: var(--el-color-primary);--el-checkbox-checked-input-border-color: var(--el-color-primary);--el-checkbox-checked-bg-color: var(--el-color-primary);--el-checkbox-checked-icon-color: var(--el-color-white);--el-checkbox-input-border-color-hover: var(--el-color-primary)}.el-checkbox{color:var(--el-checkbox-text-color);font-weight:var(--el-checkbox-font-weight);font-size:var(--el-font-size-base);position:relative;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;user-select:none;margin-right:30px;height:var(--el-checkbox-height, 32px)}.el-checkbox.is-disabled{cursor:not-allowed}.el-checkbox.is-bordered{padding:0 15px 0 9px;border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter)}.el-checkbox.is-bordered.el-checkbox--large{padding:0 19px 0 11px;border-radius:var(--el-border-radius-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:0 11px 0 7px;border-radius:calc(var(--el-border-radius-base) - 1px)}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox input:focus-visible+.el-checkbox__inner{outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px;border-radius:var(--el-checkbox-border-radius)}.el-checkbox__input{white-space:nowrap;cursor:pointer;outline:none;display:inline-flex;position:relative}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:var(--el-checkbox-disabled-icon-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{transform:translate(-45%,-60%) rotate(45deg) scaleY(1);border-color:var(--el-checkbox-checked-icon-color)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";position:absolute;display:block;background-color:var(--el-checkbox-checked-icon-color);height:2px;transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;width:var(--el-checkbox-input-width);height:var(--el-checkbox-input-height);background-color:var(--el-checkbox-bg-color);z-index:var(--el-index-normal);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{box-sizing:content-box;content:"";border:1px solid transparent;border-left:0;border-top:0;height:7px;left:50%;position:absolute;top:50%;transform:translate(-45%,-60%) rotate(45deg) scaleY(0);width:3px;transition:transform .15s ease-in .05s;transform-origin:center}.el-checkbox__original{opacity:0;outline:none;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox__label{display:inline-block;padding-left:8px;line-height:1;font-size:var(--el-checkbox-font-size)}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox:last-of-type{margin-right:0} diff --git a/nginx/admin/assets/clamp-BXzPLned.js b/nginx/admin/assets/clamp-BXzPLned.js new file mode 100644 index 0000000..63998bf --- /dev/null +++ b/nginx/admin/assets/clamp-BXzPLned.js @@ -0,0 +1 @@ +import{t as o}from"./debounce-DQl5eUwG.js";function i(i,d,n){return void 0===n&&(n=d,d=void 0),void 0!==n&&(n=(n=o(n))==n?n:0),void 0!==d&&(d=(d=o(d))==d?d:0),function(o,i,d){return o==o&&(void 0!==d&&(o=o<=d?o:d),void 0!==i&&(o=o>=i?o:i)),o}(o(i),d,n)}export{i as c}; diff --git a/nginx/admin/assets/cloneDeep-B1gZFPYK.js b/nginx/admin/assets/cloneDeep-B1gZFPYK.js new file mode 100644 index 0000000..e4ae504 --- /dev/null +++ b/nginx/admin/assets/cloneDeep-B1gZFPYK.js @@ -0,0 +1 @@ +import{b as o}from"./_baseClone-Ct7RL6h5.js";function r(r){return o(r,5)}export{r as c}; diff --git a/nginx/admin/assets/col-yED17g82.css b/nginx/admin/assets/col-yED17g82.css new file mode 100644 index 0000000..f765028 --- /dev/null +++ b/nginx/admin/assets/col-yED17g82.css @@ -0,0 +1 @@ +.el-row{display:flex;flex-wrap:wrap;position:relative;box-sizing:border-box}.el-row.is-justify-center{justify-content:center}.el-row.is-justify-end{justify-content:flex-end}.el-row.is-justify-space-between{justify-content:space-between}.el-row.is-justify-space-around{justify-content:space-around}.el-row.is-justify-space-evenly{justify-content:space-evenly}.el-row.is-align-top{align-items:flex-start}.el-row.is-align-middle{align-items:center}.el-row.is-align-bottom{align-items:flex-end}[class*=el-col-]{box-sizing:border-box}[class*=el-col-].is-guttered{display:block;min-height:1px}.el-col-0{display:none;max-width:0%;flex:0 0 0%}.el-col-0.is-guttered{display:none}.el-col-offset-0{margin-left:0%}.el-col-pull-0{position:relative;right:0%}.el-col-push-0{position:relative;left:0%}.el-col-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-1.is-guttered{display:block}.el-col-offset-1{margin-left:4.1666666667%}.el-col-pull-1{position:relative;right:4.1666666667%}.el-col-push-1{position:relative;left:4.1666666667%}.el-col-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-2.is-guttered{display:block}.el-col-offset-2{margin-left:8.3333333333%}.el-col-pull-2{position:relative;right:8.3333333333%}.el-col-push-2{position:relative;left:8.3333333333%}.el-col-3{display:block;max-width:12.5%;flex:0 0 12.5%}.el-col-3.is-guttered{display:block}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{position:relative;right:12.5%}.el-col-push-3{position:relative;left:12.5%}.el-col-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-4.is-guttered{display:block}.el-col-offset-4{margin-left:16.6666666667%}.el-col-pull-4{position:relative;right:16.6666666667%}.el-col-push-4{position:relative;left:16.6666666667%}.el-col-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-5.is-guttered{display:block}.el-col-offset-5{margin-left:20.8333333333%}.el-col-pull-5{position:relative;right:20.8333333333%}.el-col-push-5{position:relative;left:20.8333333333%}.el-col-6{display:block;max-width:25%;flex:0 0 25%}.el-col-6.is-guttered{display:block}.el-col-offset-6{margin-left:25%}.el-col-pull-6{position:relative;right:25%}.el-col-push-6{position:relative;left:25%}.el-col-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-7.is-guttered{display:block}.el-col-offset-7{margin-left:29.1666666667%}.el-col-pull-7{position:relative;right:29.1666666667%}.el-col-push-7{position:relative;left:29.1666666667%}.el-col-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-8.is-guttered{display:block}.el-col-offset-8{margin-left:33.3333333333%}.el-col-pull-8{position:relative;right:33.3333333333%}.el-col-push-8{position:relative;left:33.3333333333%}.el-col-9{display:block;max-width:37.5%;flex:0 0 37.5%}.el-col-9.is-guttered{display:block}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{position:relative;right:37.5%}.el-col-push-9{position:relative;left:37.5%}.el-col-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-10.is-guttered{display:block}.el-col-offset-10{margin-left:41.6666666667%}.el-col-pull-10{position:relative;right:41.6666666667%}.el-col-push-10{position:relative;left:41.6666666667%}.el-col-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-11.is-guttered{display:block}.el-col-offset-11{margin-left:45.8333333333%}.el-col-pull-11{position:relative;right:45.8333333333%}.el-col-push-11{position:relative;left:45.8333333333%}.el-col-12{display:block;max-width:50%;flex:0 0 50%}.el-col-12.is-guttered{display:block}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{position:relative;left:50%}.el-col-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-13.is-guttered{display:block}.el-col-offset-13{margin-left:54.1666666667%}.el-col-pull-13{position:relative;right:54.1666666667%}.el-col-push-13{position:relative;left:54.1666666667%}.el-col-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-14.is-guttered{display:block}.el-col-offset-14{margin-left:58.3333333333%}.el-col-pull-14{position:relative;right:58.3333333333%}.el-col-push-14{position:relative;left:58.3333333333%}.el-col-15{display:block;max-width:62.5%;flex:0 0 62.5%}.el-col-15.is-guttered{display:block}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{position:relative;right:62.5%}.el-col-push-15{position:relative;left:62.5%}.el-col-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-16.is-guttered{display:block}.el-col-offset-16{margin-left:66.6666666667%}.el-col-pull-16{position:relative;right:66.6666666667%}.el-col-push-16{position:relative;left:66.6666666667%}.el-col-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-17.is-guttered{display:block}.el-col-offset-17{margin-left:70.8333333333%}.el-col-pull-17{position:relative;right:70.8333333333%}.el-col-push-17{position:relative;left:70.8333333333%}.el-col-18{display:block;max-width:75%;flex:0 0 75%}.el-col-18.is-guttered{display:block}.el-col-offset-18{margin-left:75%}.el-col-pull-18{position:relative;right:75%}.el-col-push-18{position:relative;left:75%}.el-col-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-19.is-guttered{display:block}.el-col-offset-19{margin-left:79.1666666667%}.el-col-pull-19{position:relative;right:79.1666666667%}.el-col-push-19{position:relative;left:79.1666666667%}.el-col-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-20.is-guttered{display:block}.el-col-offset-20{margin-left:83.3333333333%}.el-col-pull-20{position:relative;right:83.3333333333%}.el-col-push-20{position:relative;left:83.3333333333%}.el-col-21{display:block;max-width:87.5%;flex:0 0 87.5%}.el-col-21.is-guttered{display:block}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{position:relative;right:87.5%}.el-col-push-21{position:relative;left:87.5%}.el-col-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-22.is-guttered{display:block}.el-col-offset-22{margin-left:91.6666666667%}.el-col-pull-22{position:relative;right:91.6666666667%}.el-col-push-22{position:relative;left:91.6666666667%}.el-col-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-23.is-guttered{display:block}.el-col-offset-23{margin-left:95.8333333333%}.el-col-pull-23{position:relative;right:95.8333333333%}.el-col-push-23{position:relative;left:95.8333333333%}.el-col-24{display:block;max-width:100%;flex:0 0 100%}.el-col-24.is-guttered{display:block}.el-col-offset-24{margin-left:100%}.el-col-pull-24{position:relative;right:100%}.el-col-push-24{position:relative;left:100%}@media only screen and (max-width: 767px){.el-col-xs-0{display:none;max-width:0%;flex:0 0 0%}.el-col-xs-0.is-guttered{display:none}.el-col-xs-offset-0{margin-left:0%}.el-col-xs-pull-0{position:relative;right:0%}.el-col-xs-push-0{position:relative;left:0%}.el-col-xs-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-xs-1.is-guttered{display:block}.el-col-xs-offset-1{margin-left:4.1666666667%}.el-col-xs-pull-1{position:relative;right:4.1666666667%}.el-col-xs-push-1{position:relative;left:4.1666666667%}.el-col-xs-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-xs-2.is-guttered{display:block}.el-col-xs-offset-2{margin-left:8.3333333333%}.el-col-xs-pull-2{position:relative;right:8.3333333333%}.el-col-xs-push-2{position:relative;left:8.3333333333%}.el-col-xs-3{display:block;max-width:12.5%;flex:0 0 12.5%}.el-col-xs-3.is-guttered{display:block}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-xs-4.is-guttered{display:block}.el-col-xs-offset-4{margin-left:16.6666666667%}.el-col-xs-pull-4{position:relative;right:16.6666666667%}.el-col-xs-push-4{position:relative;left:16.6666666667%}.el-col-xs-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-xs-5.is-guttered{display:block}.el-col-xs-offset-5{margin-left:20.8333333333%}.el-col-xs-pull-5{position:relative;right:20.8333333333%}.el-col-xs-push-5{position:relative;left:20.8333333333%}.el-col-xs-6{display:block;max-width:25%;flex:0 0 25%}.el-col-xs-6.is-guttered{display:block}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-xs-7.is-guttered{display:block}.el-col-xs-offset-7{margin-left:29.1666666667%}.el-col-xs-pull-7{position:relative;right:29.1666666667%}.el-col-xs-push-7{position:relative;left:29.1666666667%}.el-col-xs-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-xs-8.is-guttered{display:block}.el-col-xs-offset-8{margin-left:33.3333333333%}.el-col-xs-pull-8{position:relative;right:33.3333333333%}.el-col-xs-push-8{position:relative;left:33.3333333333%}.el-col-xs-9{display:block;max-width:37.5%;flex:0 0 37.5%}.el-col-xs-9.is-guttered{display:block}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-xs-10.is-guttered{display:block}.el-col-xs-offset-10{margin-left:41.6666666667%}.el-col-xs-pull-10{position:relative;right:41.6666666667%}.el-col-xs-push-10{position:relative;left:41.6666666667%}.el-col-xs-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-xs-11.is-guttered{display:block}.el-col-xs-offset-11{margin-left:45.8333333333%}.el-col-xs-pull-11{position:relative;right:45.8333333333%}.el-col-xs-push-11{position:relative;left:45.8333333333%}.el-col-xs-12{display:block;max-width:50%;flex:0 0 50%}.el-col-xs-12.is-guttered{display:block}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-xs-13.is-guttered{display:block}.el-col-xs-offset-13{margin-left:54.1666666667%}.el-col-xs-pull-13{position:relative;right:54.1666666667%}.el-col-xs-push-13{position:relative;left:54.1666666667%}.el-col-xs-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-xs-14.is-guttered{display:block}.el-col-xs-offset-14{margin-left:58.3333333333%}.el-col-xs-pull-14{position:relative;right:58.3333333333%}.el-col-xs-push-14{position:relative;left:58.3333333333%}.el-col-xs-15{display:block;max-width:62.5%;flex:0 0 62.5%}.el-col-xs-15.is-guttered{display:block}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-xs-16.is-guttered{display:block}.el-col-xs-offset-16{margin-left:66.6666666667%}.el-col-xs-pull-16{position:relative;right:66.6666666667%}.el-col-xs-push-16{position:relative;left:66.6666666667%}.el-col-xs-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-xs-17.is-guttered{display:block}.el-col-xs-offset-17{margin-left:70.8333333333%}.el-col-xs-pull-17{position:relative;right:70.8333333333%}.el-col-xs-push-17{position:relative;left:70.8333333333%}.el-col-xs-18{display:block;max-width:75%;flex:0 0 75%}.el-col-xs-18.is-guttered{display:block}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-xs-19.is-guttered{display:block}.el-col-xs-offset-19{margin-left:79.1666666667%}.el-col-xs-pull-19{position:relative;right:79.1666666667%}.el-col-xs-push-19{position:relative;left:79.1666666667%}.el-col-xs-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-xs-20.is-guttered{display:block}.el-col-xs-offset-20{margin-left:83.3333333333%}.el-col-xs-pull-20{position:relative;right:83.3333333333%}.el-col-xs-push-20{position:relative;left:83.3333333333%}.el-col-xs-21{display:block;max-width:87.5%;flex:0 0 87.5%}.el-col-xs-21.is-guttered{display:block}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-xs-22.is-guttered{display:block}.el-col-xs-offset-22{margin-left:91.6666666667%}.el-col-xs-pull-22{position:relative;right:91.6666666667%}.el-col-xs-push-22{position:relative;left:91.6666666667%}.el-col-xs-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-xs-23.is-guttered{display:block}.el-col-xs-offset-23{margin-left:95.8333333333%}.el-col-xs-pull-23{position:relative;right:95.8333333333%}.el-col-xs-push-23{position:relative;left:95.8333333333%}.el-col-xs-24{display:block;max-width:100%;flex:0 0 100%}.el-col-xs-24.is-guttered{display:block}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width: 768px){.el-col-sm-0{display:none;max-width:0%;flex:0 0 0%}.el-col-sm-0.is-guttered{display:none}.el-col-sm-offset-0{margin-left:0%}.el-col-sm-pull-0{position:relative;right:0%}.el-col-sm-push-0{position:relative;left:0%}.el-col-sm-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-sm-1.is-guttered{display:block}.el-col-sm-offset-1{margin-left:4.1666666667%}.el-col-sm-pull-1{position:relative;right:4.1666666667%}.el-col-sm-push-1{position:relative;left:4.1666666667%}.el-col-sm-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-sm-2.is-guttered{display:block}.el-col-sm-offset-2{margin-left:8.3333333333%}.el-col-sm-pull-2{position:relative;right:8.3333333333%}.el-col-sm-push-2{position:relative;left:8.3333333333%}.el-col-sm-3{display:block;max-width:12.5%;flex:0 0 12.5%}.el-col-sm-3.is-guttered{display:block}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-sm-4.is-guttered{display:block}.el-col-sm-offset-4{margin-left:16.6666666667%}.el-col-sm-pull-4{position:relative;right:16.6666666667%}.el-col-sm-push-4{position:relative;left:16.6666666667%}.el-col-sm-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-sm-5.is-guttered{display:block}.el-col-sm-offset-5{margin-left:20.8333333333%}.el-col-sm-pull-5{position:relative;right:20.8333333333%}.el-col-sm-push-5{position:relative;left:20.8333333333%}.el-col-sm-6{display:block;max-width:25%;flex:0 0 25%}.el-col-sm-6.is-guttered{display:block}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-sm-7.is-guttered{display:block}.el-col-sm-offset-7{margin-left:29.1666666667%}.el-col-sm-pull-7{position:relative;right:29.1666666667%}.el-col-sm-push-7{position:relative;left:29.1666666667%}.el-col-sm-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-sm-8.is-guttered{display:block}.el-col-sm-offset-8{margin-left:33.3333333333%}.el-col-sm-pull-8{position:relative;right:33.3333333333%}.el-col-sm-push-8{position:relative;left:33.3333333333%}.el-col-sm-9{display:block;max-width:37.5%;flex:0 0 37.5%}.el-col-sm-9.is-guttered{display:block}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-sm-10.is-guttered{display:block}.el-col-sm-offset-10{margin-left:41.6666666667%}.el-col-sm-pull-10{position:relative;right:41.6666666667%}.el-col-sm-push-10{position:relative;left:41.6666666667%}.el-col-sm-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-sm-11.is-guttered{display:block}.el-col-sm-offset-11{margin-left:45.8333333333%}.el-col-sm-pull-11{position:relative;right:45.8333333333%}.el-col-sm-push-11{position:relative;left:45.8333333333%}.el-col-sm-12{display:block;max-width:50%;flex:0 0 50%}.el-col-sm-12.is-guttered{display:block}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-sm-13.is-guttered{display:block}.el-col-sm-offset-13{margin-left:54.1666666667%}.el-col-sm-pull-13{position:relative;right:54.1666666667%}.el-col-sm-push-13{position:relative;left:54.1666666667%}.el-col-sm-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-sm-14.is-guttered{display:block}.el-col-sm-offset-14{margin-left:58.3333333333%}.el-col-sm-pull-14{position:relative;right:58.3333333333%}.el-col-sm-push-14{position:relative;left:58.3333333333%}.el-col-sm-15{display:block;max-width:62.5%;flex:0 0 62.5%}.el-col-sm-15.is-guttered{display:block}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-sm-16.is-guttered{display:block}.el-col-sm-offset-16{margin-left:66.6666666667%}.el-col-sm-pull-16{position:relative;right:66.6666666667%}.el-col-sm-push-16{position:relative;left:66.6666666667%}.el-col-sm-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-sm-17.is-guttered{display:block}.el-col-sm-offset-17{margin-left:70.8333333333%}.el-col-sm-pull-17{position:relative;right:70.8333333333%}.el-col-sm-push-17{position:relative;left:70.8333333333%}.el-col-sm-18{display:block;max-width:75%;flex:0 0 75%}.el-col-sm-18.is-guttered{display:block}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-sm-19.is-guttered{display:block}.el-col-sm-offset-19{margin-left:79.1666666667%}.el-col-sm-pull-19{position:relative;right:79.1666666667%}.el-col-sm-push-19{position:relative;left:79.1666666667%}.el-col-sm-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-sm-20.is-guttered{display:block}.el-col-sm-offset-20{margin-left:83.3333333333%}.el-col-sm-pull-20{position:relative;right:83.3333333333%}.el-col-sm-push-20{position:relative;left:83.3333333333%}.el-col-sm-21{display:block;max-width:87.5%;flex:0 0 87.5%}.el-col-sm-21.is-guttered{display:block}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-sm-22.is-guttered{display:block}.el-col-sm-offset-22{margin-left:91.6666666667%}.el-col-sm-pull-22{position:relative;right:91.6666666667%}.el-col-sm-push-22{position:relative;left:91.6666666667%}.el-col-sm-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-sm-23.is-guttered{display:block}.el-col-sm-offset-23{margin-left:95.8333333333%}.el-col-sm-pull-23{position:relative;right:95.8333333333%}.el-col-sm-push-23{position:relative;left:95.8333333333%}.el-col-sm-24{display:block;max-width:100%;flex:0 0 100%}.el-col-sm-24.is-guttered{display:block}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width: 992px){.el-col-md-0{display:none;max-width:0%;flex:0 0 0%}.el-col-md-0.is-guttered{display:none}.el-col-md-offset-0{margin-left:0%}.el-col-md-pull-0{position:relative;right:0%}.el-col-md-push-0{position:relative;left:0%}.el-col-md-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-md-1.is-guttered{display:block}.el-col-md-offset-1{margin-left:4.1666666667%}.el-col-md-pull-1{position:relative;right:4.1666666667%}.el-col-md-push-1{position:relative;left:4.1666666667%}.el-col-md-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-md-2.is-guttered{display:block}.el-col-md-offset-2{margin-left:8.3333333333%}.el-col-md-pull-2{position:relative;right:8.3333333333%}.el-col-md-push-2{position:relative;left:8.3333333333%}.el-col-md-3{display:block;max-width:12.5%;flex:0 0 12.5%}.el-col-md-3.is-guttered{display:block}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-md-4.is-guttered{display:block}.el-col-md-offset-4{margin-left:16.6666666667%}.el-col-md-pull-4{position:relative;right:16.6666666667%}.el-col-md-push-4{position:relative;left:16.6666666667%}.el-col-md-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-md-5.is-guttered{display:block}.el-col-md-offset-5{margin-left:20.8333333333%}.el-col-md-pull-5{position:relative;right:20.8333333333%}.el-col-md-push-5{position:relative;left:20.8333333333%}.el-col-md-6{display:block;max-width:25%;flex:0 0 25%}.el-col-md-6.is-guttered{display:block}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-md-7.is-guttered{display:block}.el-col-md-offset-7{margin-left:29.1666666667%}.el-col-md-pull-7{position:relative;right:29.1666666667%}.el-col-md-push-7{position:relative;left:29.1666666667%}.el-col-md-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-md-8.is-guttered{display:block}.el-col-md-offset-8{margin-left:33.3333333333%}.el-col-md-pull-8{position:relative;right:33.3333333333%}.el-col-md-push-8{position:relative;left:33.3333333333%}.el-col-md-9{display:block;max-width:37.5%;flex:0 0 37.5%}.el-col-md-9.is-guttered{display:block}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-md-10.is-guttered{display:block}.el-col-md-offset-10{margin-left:41.6666666667%}.el-col-md-pull-10{position:relative;right:41.6666666667%}.el-col-md-push-10{position:relative;left:41.6666666667%}.el-col-md-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-md-11.is-guttered{display:block}.el-col-md-offset-11{margin-left:45.8333333333%}.el-col-md-pull-11{position:relative;right:45.8333333333%}.el-col-md-push-11{position:relative;left:45.8333333333%}.el-col-md-12{display:block;max-width:50%;flex:0 0 50%}.el-col-md-12.is-guttered{display:block}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-md-13.is-guttered{display:block}.el-col-md-offset-13{margin-left:54.1666666667%}.el-col-md-pull-13{position:relative;right:54.1666666667%}.el-col-md-push-13{position:relative;left:54.1666666667%}.el-col-md-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-md-14.is-guttered{display:block}.el-col-md-offset-14{margin-left:58.3333333333%}.el-col-md-pull-14{position:relative;right:58.3333333333%}.el-col-md-push-14{position:relative;left:58.3333333333%}.el-col-md-15{display:block;max-width:62.5%;flex:0 0 62.5%}.el-col-md-15.is-guttered{display:block}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-md-16.is-guttered{display:block}.el-col-md-offset-16{margin-left:66.6666666667%}.el-col-md-pull-16{position:relative;right:66.6666666667%}.el-col-md-push-16{position:relative;left:66.6666666667%}.el-col-md-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-md-17.is-guttered{display:block}.el-col-md-offset-17{margin-left:70.8333333333%}.el-col-md-pull-17{position:relative;right:70.8333333333%}.el-col-md-push-17{position:relative;left:70.8333333333%}.el-col-md-18{display:block;max-width:75%;flex:0 0 75%}.el-col-md-18.is-guttered{display:block}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-md-19.is-guttered{display:block}.el-col-md-offset-19{margin-left:79.1666666667%}.el-col-md-pull-19{position:relative;right:79.1666666667%}.el-col-md-push-19{position:relative;left:79.1666666667%}.el-col-md-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-md-20.is-guttered{display:block}.el-col-md-offset-20{margin-left:83.3333333333%}.el-col-md-pull-20{position:relative;right:83.3333333333%}.el-col-md-push-20{position:relative;left:83.3333333333%}.el-col-md-21{display:block;max-width:87.5%;flex:0 0 87.5%}.el-col-md-21.is-guttered{display:block}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-md-22.is-guttered{display:block}.el-col-md-offset-22{margin-left:91.6666666667%}.el-col-md-pull-22{position:relative;right:91.6666666667%}.el-col-md-push-22{position:relative;left:91.6666666667%}.el-col-md-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-md-23.is-guttered{display:block}.el-col-md-offset-23{margin-left:95.8333333333%}.el-col-md-pull-23{position:relative;right:95.8333333333%}.el-col-md-push-23{position:relative;left:95.8333333333%}.el-col-md-24{display:block;max-width:100%;flex:0 0 100%}.el-col-md-24.is-guttered{display:block}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width: 1200px){.el-col-lg-0{display:none;max-width:0%;flex:0 0 0%}.el-col-lg-0.is-guttered{display:none}.el-col-lg-offset-0{margin-left:0%}.el-col-lg-pull-0{position:relative;right:0%}.el-col-lg-push-0{position:relative;left:0%}.el-col-lg-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-lg-1.is-guttered{display:block}.el-col-lg-offset-1{margin-left:4.1666666667%}.el-col-lg-pull-1{position:relative;right:4.1666666667%}.el-col-lg-push-1{position:relative;left:4.1666666667%}.el-col-lg-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-lg-2.is-guttered{display:block}.el-col-lg-offset-2{margin-left:8.3333333333%}.el-col-lg-pull-2{position:relative;right:8.3333333333%}.el-col-lg-push-2{position:relative;left:8.3333333333%}.el-col-lg-3{display:block;max-width:12.5%;flex:0 0 12.5%}.el-col-lg-3.is-guttered{display:block}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-lg-4.is-guttered{display:block}.el-col-lg-offset-4{margin-left:16.6666666667%}.el-col-lg-pull-4{position:relative;right:16.6666666667%}.el-col-lg-push-4{position:relative;left:16.6666666667%}.el-col-lg-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-lg-5.is-guttered{display:block}.el-col-lg-offset-5{margin-left:20.8333333333%}.el-col-lg-pull-5{position:relative;right:20.8333333333%}.el-col-lg-push-5{position:relative;left:20.8333333333%}.el-col-lg-6{display:block;max-width:25%;flex:0 0 25%}.el-col-lg-6.is-guttered{display:block}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-lg-7.is-guttered{display:block}.el-col-lg-offset-7{margin-left:29.1666666667%}.el-col-lg-pull-7{position:relative;right:29.1666666667%}.el-col-lg-push-7{position:relative;left:29.1666666667%}.el-col-lg-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-lg-8.is-guttered{display:block}.el-col-lg-offset-8{margin-left:33.3333333333%}.el-col-lg-pull-8{position:relative;right:33.3333333333%}.el-col-lg-push-8{position:relative;left:33.3333333333%}.el-col-lg-9{display:block;max-width:37.5%;flex:0 0 37.5%}.el-col-lg-9.is-guttered{display:block}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-lg-10.is-guttered{display:block}.el-col-lg-offset-10{margin-left:41.6666666667%}.el-col-lg-pull-10{position:relative;right:41.6666666667%}.el-col-lg-push-10{position:relative;left:41.6666666667%}.el-col-lg-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-lg-11.is-guttered{display:block}.el-col-lg-offset-11{margin-left:45.8333333333%}.el-col-lg-pull-11{position:relative;right:45.8333333333%}.el-col-lg-push-11{position:relative;left:45.8333333333%}.el-col-lg-12{display:block;max-width:50%;flex:0 0 50%}.el-col-lg-12.is-guttered{display:block}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-lg-13.is-guttered{display:block}.el-col-lg-offset-13{margin-left:54.1666666667%}.el-col-lg-pull-13{position:relative;right:54.1666666667%}.el-col-lg-push-13{position:relative;left:54.1666666667%}.el-col-lg-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-lg-14.is-guttered{display:block}.el-col-lg-offset-14{margin-left:58.3333333333%}.el-col-lg-pull-14{position:relative;right:58.3333333333%}.el-col-lg-push-14{position:relative;left:58.3333333333%}.el-col-lg-15{display:block;max-width:62.5%;flex:0 0 62.5%}.el-col-lg-15.is-guttered{display:block}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-lg-16.is-guttered{display:block}.el-col-lg-offset-16{margin-left:66.6666666667%}.el-col-lg-pull-16{position:relative;right:66.6666666667%}.el-col-lg-push-16{position:relative;left:66.6666666667%}.el-col-lg-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-lg-17.is-guttered{display:block}.el-col-lg-offset-17{margin-left:70.8333333333%}.el-col-lg-pull-17{position:relative;right:70.8333333333%}.el-col-lg-push-17{position:relative;left:70.8333333333%}.el-col-lg-18{display:block;max-width:75%;flex:0 0 75%}.el-col-lg-18.is-guttered{display:block}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-lg-19.is-guttered{display:block}.el-col-lg-offset-19{margin-left:79.1666666667%}.el-col-lg-pull-19{position:relative;right:79.1666666667%}.el-col-lg-push-19{position:relative;left:79.1666666667%}.el-col-lg-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-lg-20.is-guttered{display:block}.el-col-lg-offset-20{margin-left:83.3333333333%}.el-col-lg-pull-20{position:relative;right:83.3333333333%}.el-col-lg-push-20{position:relative;left:83.3333333333%}.el-col-lg-21{display:block;max-width:87.5%;flex:0 0 87.5%}.el-col-lg-21.is-guttered{display:block}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-lg-22.is-guttered{display:block}.el-col-lg-offset-22{margin-left:91.6666666667%}.el-col-lg-pull-22{position:relative;right:91.6666666667%}.el-col-lg-push-22{position:relative;left:91.6666666667%}.el-col-lg-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-lg-23.is-guttered{display:block}.el-col-lg-offset-23{margin-left:95.8333333333%}.el-col-lg-pull-23{position:relative;right:95.8333333333%}.el-col-lg-push-23{position:relative;left:95.8333333333%}.el-col-lg-24{display:block;max-width:100%;flex:0 0 100%}.el-col-lg-24.is-guttered{display:block}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width: 1920px){.el-col-xl-0{display:none;max-width:0%;flex:0 0 0%}.el-col-xl-0.is-guttered{display:none}.el-col-xl-offset-0{margin-left:0%}.el-col-xl-pull-0{position:relative;right:0%}.el-col-xl-push-0{position:relative;left:0%}.el-col-xl-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-xl-1.is-guttered{display:block}.el-col-xl-offset-1{margin-left:4.1666666667%}.el-col-xl-pull-1{position:relative;right:4.1666666667%}.el-col-xl-push-1{position:relative;left:4.1666666667%}.el-col-xl-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-xl-2.is-guttered{display:block}.el-col-xl-offset-2{margin-left:8.3333333333%}.el-col-xl-pull-2{position:relative;right:8.3333333333%}.el-col-xl-push-2{position:relative;left:8.3333333333%}.el-col-xl-3{display:block;max-width:12.5%;flex:0 0 12.5%}.el-col-xl-3.is-guttered{display:block}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-xl-4.is-guttered{display:block}.el-col-xl-offset-4{margin-left:16.6666666667%}.el-col-xl-pull-4{position:relative;right:16.6666666667%}.el-col-xl-push-4{position:relative;left:16.6666666667%}.el-col-xl-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-xl-5.is-guttered{display:block}.el-col-xl-offset-5{margin-left:20.8333333333%}.el-col-xl-pull-5{position:relative;right:20.8333333333%}.el-col-xl-push-5{position:relative;left:20.8333333333%}.el-col-xl-6{display:block;max-width:25%;flex:0 0 25%}.el-col-xl-6.is-guttered{display:block}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-xl-7.is-guttered{display:block}.el-col-xl-offset-7{margin-left:29.1666666667%}.el-col-xl-pull-7{position:relative;right:29.1666666667%}.el-col-xl-push-7{position:relative;left:29.1666666667%}.el-col-xl-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-xl-8.is-guttered{display:block}.el-col-xl-offset-8{margin-left:33.3333333333%}.el-col-xl-pull-8{position:relative;right:33.3333333333%}.el-col-xl-push-8{position:relative;left:33.3333333333%}.el-col-xl-9{display:block;max-width:37.5%;flex:0 0 37.5%}.el-col-xl-9.is-guttered{display:block}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-xl-10.is-guttered{display:block}.el-col-xl-offset-10{margin-left:41.6666666667%}.el-col-xl-pull-10{position:relative;right:41.6666666667%}.el-col-xl-push-10{position:relative;left:41.6666666667%}.el-col-xl-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-xl-11.is-guttered{display:block}.el-col-xl-offset-11{margin-left:45.8333333333%}.el-col-xl-pull-11{position:relative;right:45.8333333333%}.el-col-xl-push-11{position:relative;left:45.8333333333%}.el-col-xl-12{display:block;max-width:50%;flex:0 0 50%}.el-col-xl-12.is-guttered{display:block}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-xl-13.is-guttered{display:block}.el-col-xl-offset-13{margin-left:54.1666666667%}.el-col-xl-pull-13{position:relative;right:54.1666666667%}.el-col-xl-push-13{position:relative;left:54.1666666667%}.el-col-xl-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-xl-14.is-guttered{display:block}.el-col-xl-offset-14{margin-left:58.3333333333%}.el-col-xl-pull-14{position:relative;right:58.3333333333%}.el-col-xl-push-14{position:relative;left:58.3333333333%}.el-col-xl-15{display:block;max-width:62.5%;flex:0 0 62.5%}.el-col-xl-15.is-guttered{display:block}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-xl-16.is-guttered{display:block}.el-col-xl-offset-16{margin-left:66.6666666667%}.el-col-xl-pull-16{position:relative;right:66.6666666667%}.el-col-xl-push-16{position:relative;left:66.6666666667%}.el-col-xl-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-xl-17.is-guttered{display:block}.el-col-xl-offset-17{margin-left:70.8333333333%}.el-col-xl-pull-17{position:relative;right:70.8333333333%}.el-col-xl-push-17{position:relative;left:70.8333333333%}.el-col-xl-18{display:block;max-width:75%;flex:0 0 75%}.el-col-xl-18.is-guttered{display:block}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-xl-19.is-guttered{display:block}.el-col-xl-offset-19{margin-left:79.1666666667%}.el-col-xl-pull-19{position:relative;right:79.1666666667%}.el-col-xl-push-19{position:relative;left:79.1666666667%}.el-col-xl-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-xl-20.is-guttered{display:block}.el-col-xl-offset-20{margin-left:83.3333333333%}.el-col-xl-pull-20{position:relative;right:83.3333333333%}.el-col-xl-push-20{position:relative;left:83.3333333333%}.el-col-xl-21{display:block;max-width:87.5%;flex:0 0 87.5%}.el-col-xl-21.is-guttered{display:block}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-xl-22.is-guttered{display:block}.el-col-xl-offset-22{margin-left:91.6666666667%}.el-col-xl-pull-22{position:relative;right:91.6666666667%}.el-col-xl-push-22{position:relative;left:91.6666666667%}.el-col-xl-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-xl-23.is-guttered{display:block}.el-col-xl-offset-23{margin-left:95.8333333333%}.el-col-xl-pull-23{position:relative;right:95.8333333333%}.el-col-xl-push-23{position:relative;left:95.8333333333%}.el-col-xl-24{display:block;max-width:100%;flex:0 0 100%}.el-col-xl-24.is-guttered{display:block}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}} diff --git a/nginx/admin/assets/col-yED17g82.css.gz b/nginx/admin/assets/col-yED17g82.css.gz new file mode 100644 index 0000000..5fdfb30 Binary files /dev/null and b/nginx/admin/assets/col-yED17g82.css.gz differ diff --git a/nginx/admin/assets/configs-BgITfp3i.js b/nginx/admin/assets/configs-BgITfp3i.js new file mode 100644 index 0000000..2ab7e8e --- /dev/null +++ b/nginx/admin/assets/configs-BgITfp3i.js @@ -0,0 +1 @@ +import{c1 as s}from"./index-BoIUJTA2.js";function e(e="",a=1,r=20){return s.get({url:"/admin/system/configs",params:{keyword:e,page:a,page_size:r}})}function a(e,a,r=""){return s.post({url:"/admin/system/configs",data:{key:e,value:a,remark:r},showSuccessMessage:!0})}export{e as l,a as u}; diff --git a/nginx/admin/assets/coupon-dialog-BQdNhN-j.css b/nginx/admin/assets/coupon-dialog-BQdNhN-j.css new file mode 100644 index 0000000..f95f76b --- /dev/null +++ b/nginx/admin/assets/coupon-dialog-BQdNhN-j.css @@ -0,0 +1 @@ +.form-tip[data-v-4f6163af]{margin-left:8px;color:#909399;font-size:12px} diff --git a/nginx/admin/assets/coupon-dialog-Bouy1Y8o.js b/nginx/admin/assets/coupon-dialog-Bouy1Y8o.js new file mode 100644 index 0000000..a8cb1d5 --- /dev/null +++ b/nginx/admin/assets/coupon-dialog-Bouy1Y8o.js @@ -0,0 +1 @@ +var e=(e,a,l)=>new Promise((t,o)=>{var u=e=>{try{i(l.next(e))}catch(a){o(a)}},s=e=>{try{i(l.throw(e))}catch(a){o(a)}},i=e=>e.done?t(e.value):Promise.resolve(e.value).then(u,s);i((l=l.apply(e,a)).next())});import{d as a,r as l,c as t,A as o,h as u,e as s,w as i,N as d,g as n,i as r,K as p,f as m,v as _,j as c,b2 as v,E as f,O as y,T as g}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{c as V}from"./coupons-tpfgWUoF.js";import{a as j,E as b}from"./index-BcfO0-fK.js";import{E as h,a as x}from"./index-D2gD5Tn5.js";import{E as k}from"./index-C_S0YbqD.js";import{a as w,b as U}from"./index-DqTthkO7.js";import{E as q}from"./index-CjpBlozU.js";import{_ as M}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./index-BnK4BbY2.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";const C={class:"form-tip"},E=M(a({__name:"coupon-dialog",props:{modelValue:{type:Boolean},data:{},mode:{}},emits:["update:modelValue","success"],setup(a,{emit:M}){const E=a,A=M,I=l(),K=l(!1),O=l({name:"",coupon_type:1,discount_type:1,discount_value:0,valid_days:30,status:1,show_in_miniapp:1,remark:""}),P={name:[{required:!0,message:"请输入优惠券名称",trigger:"blur"},{min:2,max:50,message:"长度在 2 到 50 个字符",trigger:"blur"}],coupon_type:[{required:!0,message:"请选择优惠券类型",trigger:"change"}],discount_type:[{required:!0,message:"请选择折扣类型",trigger:"change"}],discount_value:[{required:!0,message:"请输入折扣值",trigger:"blur"},{type:"number",min:0,message:"折扣值不能小于0",trigger:"blur"}],valid_days:[{required:!0,message:"请输入有效期",trigger:"blur"},{type:"number",min:1,message:"有效期至少为1天",trigger:"blur"}],status:[{required:!0,message:"请选择状态",trigger:"change"}]},T=t(()=>"create"===E.mode?"新增优惠券":"编辑优惠券"),B=t({get:()=>E.modelValue,set:e=>A("update:modelValue",e)}),F=t({get:()=>1===O.value.discount_type?Math.round(O.value.discount_value||0)/100:O.value.discount_value,set:e=>{1===O.value.discount_type?O.value.discount_value=Math.round(100*(e||0)):O.value.discount_value=e||0}}),H=t({get:()=>Math.round(O.value.min_amount||0)/100,set:e=>{O.value.min_amount=Math.round(100*(e||0))}}),N=t({get:()=>Math.round(O.value.max_discount||0)/100,set:e=>{O.value.max_discount=Math.round(100*(e||0))}});function Q(){O.value={name:"",coupon_type:1,discount_type:1,discount_value:0,valid_days:30,status:1,show_in_miniapp:1,remark:""}}o(()=>E.data,e=>{e?O.value={name:e.name,coupon_type:e.coupon_type,discount_type:e.discount_type,discount_value:e.discount_value,min_amount:e.min_amount,max_discount:e.max_discount,valid_days:e.valid_days,total_quantity:e.total_quantity,status:e.status,show_in_miniapp:e.show_in_miniapp,remark:e.remark||""}:Q()},{immediate:!0,flush:"post"});const R=()=>{var e;B.value=!1,null==(e=I.value)||e.resetFields(),Q()},S=()=>e(this,null,function*(){I.value&&(yield I.value.validate(a=>e(this,null,function*(){if(a){K.value=!0;try{let e;"create"===E.mode?e=yield V.create(O.value):E.data&&(e=yield V.update(E.data.id,O.value)),g.success("create"===E.mode?"创建成功":"更新成功"),A("success"),R()}catch(e){g.error("create"===E.mode?"创建失败":"更新失败")}finally{K.value=!1}}})))});return(e,a)=>{const l=p,t=b,o=x,g=h,V=k,M=U,E=w,A=j,Q=f,W=q,X=v;return s(),u(W,{modelValue:B.value,"onUpdate:modelValue":a[11]||(a[11]=e=>B.value=e),title:T.value,width:"600px","close-on-click-modal":!1,onClose:R},{footer:i(()=>[n(Q,{onClick:y(R,["prevent"])},{default:i(()=>[...a[20]||(a[20]=[c("取消",-1)])]),_:1}),n(Q,{type:"primary",onClick:y(S,["prevent"]),loading:K.value},{default:i(()=>[...a[21]||(a[21]=[c(" 确定 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[d((s(),u(A,{ref_key:"formRef",ref:I,model:O.value,rules:P,"label-width":"100px"},{default:i(()=>[n(t,{label:"名称",prop:"name"},{default:i(()=>[n(l,{modelValue:O.value.name,"onUpdate:modelValue":a[0]||(a[0]=e=>O.value.name=e),placeholder:"请输入优惠券名称"},null,8,["modelValue"])]),_:1}),n(t,{label:"类型",prop:"coupon_type"},{default:i(()=>[n(g,{modelValue:O.value.coupon_type,"onUpdate:modelValue":a[1]||(a[1]=e=>O.value.coupon_type=e),placeholder:"请选择优惠券类型"},{default:i(()=>[n(o,{label:"通用券",value:1}),n(o,{label:"活动券",value:2})]),_:1},8,["modelValue"])]),_:1}),n(t,{label:"折扣类型",prop:"discount_type"},{default:i(()=>[n(g,{modelValue:O.value.discount_type,"onUpdate:modelValue":a[2]||(a[2]=e=>O.value.discount_type=e),placeholder:"请选择折扣类型"},{default:i(()=>[n(o,{label:"固定金额",value:1}),n(o,{label:"折扣比例",value:2})]),_:1},8,["modelValue"])]),_:1}),n(t,{label:"折扣值",prop:"discount_value"},{default:i(()=>[n(V,{modelValue:F.value,"onUpdate:modelValue":a[3]||(a[3]=e=>F.value=e),min:0,precision:1===O.value.discount_type?2:1,step:1===O.value.discount_type?.01:.1},null,8,["modelValue","precision","step"]),m("span",C,_(1===O.value.discount_type?"元":"折"),1)]),_:1}),n(t,{label:"最低消费",prop:"min_amount"},{default:i(()=>[n(V,{modelValue:H.value,"onUpdate:modelValue":a[4]||(a[4]=e=>H.value=e),min:0,precision:2,step:.01},null,8,["modelValue"]),a[12]||(a[12]=m("span",{class:"form-tip"},"元",-1))]),_:1}),2===O.value.discount_type?(s(),u(t,{key:0,label:"最大折扣",prop:"max_discount"},{default:i(()=>[n(V,{modelValue:N.value,"onUpdate:modelValue":a[5]||(a[5]=e=>N.value=e),min:0,precision:2,step:.01},null,8,["modelValue"]),a[13]||(a[13]=m("span",{class:"form-tip"},"元",-1))]),_:1})):r("",!0),n(t,{label:"有效期",prop:"valid_days"},{default:i(()=>[n(V,{modelValue:O.value.valid_days,"onUpdate:modelValue":a[6]||(a[6]=e=>O.value.valid_days=e),min:1},null,8,["modelValue"]),a[14]||(a[14]=m("span",{class:"form-tip"},"天",-1))]),_:1}),n(t,{label:"发放数量",prop:"total_quantity"},{default:i(()=>[n(V,{modelValue:O.value.total_quantity,"onUpdate:modelValue":a[7]||(a[7]=e=>O.value.total_quantity=e),min:0},null,8,["modelValue"]),a[15]||(a[15]=m("span",{class:"form-tip"},"0表示不限量",-1))]),_:1}),n(t,{label:"状态",prop:"status"},{default:i(()=>[n(E,{modelValue:O.value.status,"onUpdate:modelValue":a[8]||(a[8]=e=>O.value.status=e)},{default:i(()=>[n(M,{value:1},{default:i(()=>[...a[16]||(a[16]=[c("启用",-1)])]),_:1}),n(M,{value:2},{default:i(()=>[...a[17]||(a[17]=[c("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(t,{label:"小程序显示",prop:"show_in_miniapp"},{default:i(()=>[n(E,{modelValue:O.value.show_in_miniapp,"onUpdate:modelValue":a[9]||(a[9]=e=>O.value.show_in_miniapp=e)},{default:i(()=>[n(M,{value:1},{default:i(()=>[...a[18]||(a[18]=[c("显示",-1)])]),_:1}),n(M,{value:0},{default:i(()=>[...a[19]||(a[19]=[c("隐藏",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(t,{label:"备注",prop:"remark"},{default:i(()=>[n(l,{modelValue:O.value.remark,"onUpdate:modelValue":a[10]||(a[10]=e=>O.value.remark=e),type:"textarea",rows:3,placeholder:"请输入备注信息"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])),[[X,K.value]])]),_:1},8,["modelValue","title"])}}}),[["__scopeId","data-v-4f6163af"]]);export{E as default}; diff --git a/nginx/admin/assets/coupon-roi-BImVQWIN.js b/nginx/admin/assets/coupon-roi-BImVQWIN.js new file mode 100644 index 0000000..add0bc1 --- /dev/null +++ b/nginx/admin/assets/coupon-roi-BImVQWIN.js @@ -0,0 +1 @@ +import{d as t,r as e,o as s,b as o,e as l,f as a,N as r,g as i,b2 as n,w as p,v as c,m,p as d,bf as u,T as x}from"./index-BoIUJTA2.js";import{_ as b}from"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import{e as f}from"./operations-Cr4YfoRu.js";import{_ as j}from"./index-Bwtbh5WQ.js";import{_ as v}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./iconify-DFoKediz.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./index-D2gD5Tn5.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";const g={class:"art-card h-full p-6 relative overflow-hidden group"},h={class:"art-card-header mb-6 relative z-10"},w={class:"title"},_={class:"flex-c mb-1"},y={class:"relative z-10"},k={class:"flex flex-col"},A={class:"font-black text-g-900 text-sm truncate max-w-[120px]"},R={class:"text-xs text-g-600 mt-1 font-bold"},S={class:"flex items-center"},N={class:"w-full max-w-[120px]"},O={class:"flex justify-between text-xs mb-1.5 font-bold"},I={class:"text-g-800"},z={class:"text-g-500"},C={class:"h-2 w-full bg-g-200 rounded-full overflow-hidden"},L={class:"flex flex-col text-right"},P={class:"font-black text-success text-base"},T={class:"text-xs text-g-600 font-bold"},B=v(t({__name:"coupon-roi",setup(t){const v=e(!1),B=e([]),G=[{prop:"couponName",label:"优惠券",minWidth:140,useSlot:!0,slot:"couponName"},{prop:"usedRate",label:"使用转化",width:130,useSlot:!0,slot:"usedRate"},{prop:"roi",label:"效益比",width:100,useSlot:!0,slot:"roi",align:"center"},{prop:"broughtAmount",label:"带动流水",width:130,useSlot:!0,slot:"broughtAmount",align:"right"}],M=t=>t>=3?"#10b981":t>=1.5?"#3b82f6":"#f59e0b";return s(()=>{return t=this,e=null,s=function*(){v.value=!0;try{const t=yield f("30d");B.value=t}catch(t){x.error("获取券统计失败")}finally{v.value=!1}},new Promise((o,l)=>{var a=t=>{try{i(s.next(t))}catch(e){l(e)}},r=t=>{try{i(s.throw(t))}catch(e){l(e)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(a,r);i((s=s.apply(t,e)).next())});var t,e,s}),(t,e)=>{const s=b,x=n;return l(),o("div",g,[a("div",h,[a("div",w,[a("div",_,[i(s,{icon:"ri:coupon-3-fill",class:"text-warning mr-2 text-xl"}),e[0]||(e[0]=a("h4",{class:"text-lg font-black text-g-900 tracking-tight"},"营销券效能排行",-1))]),e[1]||(e[1]=a("p",{class:"text-xs text-g-500"},"评估不同优惠券对 GMV 的实际带动 ROI",-1))])]),r((l(),o("div",y,[i(j,{data:B.value,columns:G,class:"premium-table-minimal"},{couponName:p(({row:t})=>[a("div",k,[a("span",A,c(t.couponName),1),a("span",R,c(t.type),1)])]),roi:p(({row:t})=>[a("div",S,[a("div",{class:"px-3 py-1 rounded-full text-xs font-black shadow-sm",style:m({backgroundColor:d(u)(M(t.roi),.15).rgba,color:M(t.roi)})},c(t.roi)+"x ROI ",5)])]),usedRate:p(({row:t})=>[a("div",N,[a("div",O,[a("span",I,c(t.usedRate)+"%",1),a("span",z,c(t.usedCount)+"枚",1)]),a("div",C,[a("div",{class:"h-full bg-theme/80 rounded-full shadow-sm",style:m({width:`${t.usedRate}%`})},null,4)])])]),broughtAmount:p(({row:t})=>[a("div",L,[a("span",P,"¥"+c((t.broughtAmount/100).toLocaleString()),1),a("span",T,"带动 "+c(t.broughtOrders)+" 笔",1)])]),_:1},8,["data"])])),[[x,v.value]])])}}}),[["__scopeId","data-v-462661b2"]]);export{B as default}; diff --git a/nginx/admin/assets/coupon-roi-DsiOTsAh.css b/nginx/admin/assets/coupon-roi-DsiOTsAh.css new file mode 100644 index 0000000..15131c3 --- /dev/null +++ b/nginx/admin/assets/coupon-roi-DsiOTsAh.css @@ -0,0 +1 @@ +.art-card[data-v-462661b2]{background:#fff;border:1px solid var(--art-border-color);border-radius:32px}.premium-table-minimal[data-v-462661b2] .el-table{--el-table-border-color: transparent;--el-table-header-bg-color: transparent;background-color:transparent}.premium-table-minimal[data-v-462661b2] .el-table th.el-table__cell{font-size:11px;font-weight:800;color:var(--art-gray-600);text-transform:uppercase;letter-spacing:1px;padding:12px 0}.premium-table-minimal[data-v-462661b2] .el-table td.el-table__cell{padding:16px 0;border-bottom:1px solid rgba(0,0,0,.05)}.dark .premium-table-minimal[data-v-462661b2] .el-table td.el-table__cell{border-bottom:1px solid rgba(255,255,255,.05)} diff --git a/nginx/admin/assets/coupons-tpfgWUoF.js b/nginx/admin/assets/coupons-tpfgWUoF.js new file mode 100644 index 0000000..1f770ec --- /dev/null +++ b/nginx/admin/assets/coupons-tpfgWUoF.js @@ -0,0 +1 @@ +import{c1 as s}from"./index-BoIUJTA2.js";const t={getList:t=>s.get({url:"admin/system_coupons",params:t}),create:t=>s.post({url:"admin/system_coupons",data:t}),update:(t,e)=>s.put({url:`admin/system_coupons/${t}`,data:e}),delete:t=>s.del({url:`admin/system_coupons/${t}`})};export{t as c}; diff --git a/nginx/admin/assets/dashboard-Csmn9wla.js b/nginx/admin/assets/dashboard-Csmn9wla.js new file mode 100644 index 0000000..bc81322 --- /dev/null +++ b/nginx/admin/assets/dashboard-Csmn9wla.js @@ -0,0 +1 @@ +import{c1 as a}from"./index-BoIUJTA2.js";function r(r="30d",e="day",d,n){return a.get({url:"admin/dashboard/sales_draw_trend",params:{rangeType:r,granularity:e,start:d,end:n}})}function e(r="7d",e,d){return a.get({url:"admin/dashboard/cards",params:{rangeType:r,start:e,end:d}})}function d(r=1,e=20,d){return a.get({url:"admin/dashboard/new_users",params:{page:r,page_size:e,period:d}})}function n(r,e=50){return a.get({url:"admin/dashboard/draw_stream",params:{since_id:r,limit:e}})}function s(r=50){return a.get({url:"admin/dashboard/todos",params:{limit:r}})}function t(r){return a.get({url:"admin/dashboard/activity-profit-loss",params:r})}function i(r,e=1,d=20,n,s){var t,i;const o={page:e,page_size:d};n&&(o.user_id=n);const u=null==(t=null==s?void 0:s.playerKeyword)?void 0:t.trim(),l=null==(i=null==s?void 0:s.prizeKeyword)?void 0:i.trim();return u&&(o.player_keyword=u),l&&(o.prize_keyword=l),a.get({url:`admin/dashboard/activity-profit-loss/${r}/logs`,params:o})}export{i as a,e as b,n as c,d,r as e,t as f,s as g}; diff --git a/nginx/admin/assets/date-picker-panel-Dxdk0yRA.css b/nginx/admin/assets/date-picker-panel-Dxdk0yRA.css new file mode 100644 index 0000000..bd0bf45 --- /dev/null +++ b/nginx/admin/assets/date-picker-panel-Dxdk0yRA.css @@ -0,0 +1 @@ +.el-date-table{font-size:12px;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:var(--el-datepicker-text-color)}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child .el-date-table-cell{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child .el-date-table-cell{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table.is-week-mode .el-date-table__row.current .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td{width:32px;height:30px;padding:4px 0;box-sizing:border-box;text-align:center;cursor:pointer;position:relative}.el-date-table td .el-date-table-cell{height:30px;padding:3px 0;box-sizing:border-box}.el-date-table td .el-date-table-cell .el-date-table-cell__text{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;transform:translate(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:var(--el-datepicker-off-text-color)}.el-date-table td.today{position:relative}.el-date-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-date-table td.today.start-date .el-date-table-cell__text,.el-date-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-date-table td.available:hover{color:var(--el-datepicker-hover-text-color)}.el-date-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-date-table td.current:not(.disabled):focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-date-table td.start-date .el-date-table-cell,.el-date-table td.end-date .el-date-table-cell{color:#fff}.el-date-table td.start-date .el-date-table-cell__text,.el-date-table td.end-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color)}.el-date-table td.start-date .el-date-table-cell{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table td.end-date .el-date-table-cell{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td.disabled .el-date-table-cell{background-color:var(--el-fill-color-light);opacity:1;cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-date-table td.selected .el-date-table-cell{margin-left:5px;margin-right:5px;border-radius:15px}.el-date-table td.selected .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff;border-radius:15px}.el-date-table td.week{font-size:80%;color:var(--el-datepicker-off-text-color);cursor:default}.el-date-table td:focus{outline:none}.el-date-table th{padding:5px;color:var(--el-datepicker-header-text-color);font-weight:400;border-bottom:solid 1px var(--el-border-color-lighter)}.el-date-table th.el-date-table__week-header{padding:0;width:24px}.el-month-table{font-size:12px;margin:-1px;border-collapse:collapse}.el-month-table td{width:68px;text-align:center;padding:8px 0;cursor:pointer;position:relative}.el-month-table td .el-date-table-cell{height:48px;padding:6px 0;box-sizing:border-box}.el-month-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-month-table td.today.start-date .el-date-table-cell__text,.el-month-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-month-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-month-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-month-table td .el-date-table-cell__text{width:54px;height:36px;display:block;line-height:36px;color:var(--el-datepicker-text-color);margin:0 auto;border-radius:18px;position:absolute;left:50%;transform:translate(-50%)}.el-month-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-month-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-month-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-month-table td.start-date .el-date-table-cell,.el-month-table td.end-date .el-date-table-cell{color:#fff}.el-month-table td.start-date .el-date-table-cell__text,.el-month-table td.end-date .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-month-table td.start-date .el-date-table-cell{margin-left:3px;border-top-left-radius:24px;border-bottom-left-radius:24px}.el-month-table td.end-date .el-date-table-cell{margin-right:3px;border-top-right-radius:24px;border-bottom-right-radius:24px}.el-month-table td.current:not(.disabled) .el-date-table-cell{border-radius:24px;margin-left:3px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-month-table td:focus-visible{outline:none}.el-month-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-year-table{font-size:12px;margin:-1px;border-collapse:collapse}.el-year-table .el-icon{color:var(--el-datepicker-icon-color)}.el-year-table td{width:68px;text-align:center;padding:8px 0;cursor:pointer;position:relative}.el-year-table td .el-date-table-cell{height:48px;padding:6px 0;box-sizing:border-box}.el-year-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-year-table td.today.start-date .el-date-table-cell__text,.el-year-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-year-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-year-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-year-table td .el-date-table-cell__text{width:60px;height:36px;display:block;line-height:36px;color:var(--el-datepicker-text-color);border-radius:18px;margin:0 auto;position:absolute;left:50%;transform:translate(-50%)}.el-year-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-year-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-year-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-year-table td.start-date .el-date-table-cell,.el-year-table td.end-date .el-date-table-cell{color:#fff}.el-year-table td.start-date .el-date-table-cell__text,.el-year-table td.end-date .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-year-table td.start-date .el-date-table-cell{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-year-table td.end-date .el-date-table-cell{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-year-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-year-table td:focus-visible{outline:none}.el-year-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:192px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper.el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:default}.el-time-spinner__arrow{font-size:12px;color:var(--el-text-color-secondary);position:absolute;left:0;width:100%;z-index:var(--el-index-normal);text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:var(--el-color-primary)}.el-time-spinner__arrow.arrow-up{top:10px}.el-time-spinner__arrow.arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner{padding:0;text-align:center}.el-time-spinner__list{padding:0;margin:0;list-style:none;text-align:center}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:var(--el-text-color-regular)}.el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:pointer}.el-time-spinner__item.is-active:not(.is-disabled){color:var(--el-text-color-primary);font-weight:700}.el-time-spinner__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center top}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center bottom}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:var(--el-transition-md-fade);transform-origin:top left}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-picker__popper{--el-datepicker-border-color: var(--el-disabled-border-color)}.el-picker__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light)}.el-picker__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-datepicker-border-color)}.el-picker__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:transparent;border-left-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-left-color:transparent;border-bottom-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-date-editor{--el-date-editor-width: 220px;--el-date-editor-monthrange-width: 300px;--el-date-editor-daterange-width: 350px;--el-date-editor-datetimerange-width: 400px;--el-input-text-color: var(--el-text-color-regular);--el-input-border: var(--el-border);--el-input-hover-border: var(--el-border-color-hover);--el-input-focus-border: var(--el-color-primary);--el-input-transparent-border: 0 0 0 1px transparent inset;--el-input-border-color: var(--el-border-color);--el-input-border-radius: var(--el-border-radius-base);--el-input-bg-color: var(--el-fill-color-blank);--el-input-icon-color: var(--el-text-color-placeholder);--el-input-placeholder-color: var(--el-text-color-placeholder);--el-input-hover-border-color: var(--el-border-color-hover);--el-input-clear-hover-color: var(--el-text-color-secondary);--el-input-focus-border-color: var(--el-color-primary);--el-input-width: 100%;position:relative;text-align:left;vertical-align:middle}.el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset}.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-date-editor.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-date-editor.el-input,.el-date-editor.el-input__wrapper{width:var(--el-date-editor-width);height:var(--el-input-height, var(--el-component-size))}.el-date-editor--monthrange{--el-date-editor-width: var(--el-date-editor-monthrange-width)}.el-date-editor--daterange,.el-date-editor--timerange{--el-date-editor-width: var(--el-date-editor-daterange-width)}.el-date-editor--datetimerange{--el-date-editor-width: var(--el-date-editor-datetimerange-width)}.el-date-editor--dates .el-input__wrapper{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .close-icon,.el-date-editor .clear-icon{cursor:pointer}.el-date-editor .clear-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__icon{height:inherit;font-size:14px;color:var(--el-text-color-placeholder);float:left}.el-date-editor .el-range__icon svg{vertical-align:middle}.el-date-editor .el-range-input{appearance:none;border:none;outline:none;display:inline-block;height:30px;line-height:30px;margin:0;padding:0;width:39%;text-align:center;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);background-color:transparent}.el-date-editor .el-range-input::placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-separator{flex:1;display:inline-flex;justify-content:center;align-items:center;height:100%;padding:0 5px;margin:0;font-size:14px;overflow-wrap:break-word;color:var(--el-text-color-primary)}.el-date-editor .el-range__close-icon{font-size:14px;color:var(--el-text-color-placeholder);height:inherit;width:unset;cursor:pointer}.el-date-editor .el-range__close-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__close-icon svg{vertical-align:middle}.el-date-editor .el-range__close-icon--hidden{opacity:0;visibility:hidden}.el-range-editor.el-input__wrapper{display:inline-flex;align-items:center;padding:0 10px;vertical-align:middle}.el-range-editor.is-active,.el-range-editor.is-active:hover{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-range-editor--large{line-height:var(--el-component-size-large)}.el-range-editor--large.el-input__wrapper{height:var(--el-component-size-large)}.el-range-editor--large .el-range-separator{line-height:40px;font-size:14px}.el-range-editor--large .el-range-input{height:38px;line-height:38px;font-size:14px}.el-range-editor--small{line-height:var(--el-component-size-small)}.el-range-editor--small.el-input__wrapper{height:var(--el-component-size-small)}.el-range-editor--small .el-range-separator{line-height:24px;font-size:12px}.el-range-editor--small .el-range-input{height:22px;line-height:22px;font-size:12px}.el-range-editor.is-disabled{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled:hover,.el-range-editor.is-disabled:focus{border-color:var(--el-disabled-border-color)}.el-range-editor.is-disabled input{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled input::placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled .el-range-separator{color:var(--el-disabled-text-color)}.el-picker-panel{color:var(--el-text-color-regular);background:var(--el-bg-color-overlay);border-radius:var(--el-popper-border-radius, var(--el-border-radius-base));line-height:30px}.el-picker-panel .el-time-panel{margin:5px 0;border:solid 1px var(--el-datepicker-border-color);background-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-picker-panel__body:after,.el-picker-panel__body-wrapper:after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid var(--el-datepicker-inner-border-color);padding:4px 12px;text-align:right;background-color:var(--el-bg-color-overlay);position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:var(--el-datepicker-text-color);padding-left:12px;text-align:left;outline:none;cursor:pointer}.el-picker-panel__shortcut:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:var(--el-datepicker-active-color)}.el-picker-panel__btn{border:1px solid var(--el-fill-color-darker);color:var(--el-text-color-primary);line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:none;font-size:12px}.el-picker-panel__btn[disabled]{color:var(--el-text-color-disabled);cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:var(--el-datepicker-icon-color);border:0;background:transparent;cursor:pointer;outline:none;margin-top:8px}.el-picker-panel__icon-btn:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn:focus-visible{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn.is-disabled{color:var(--el-text-color-disabled)}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__icon-btn.is-disabled .el-icon{cursor:inherit}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel.is-disabled .el-picker-panel__prev-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__prev-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__prev-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__next-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__next-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__next-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__icon-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__icon-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__icon-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__shortcut{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__shortcut:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__shortcut .el-icon{cursor:inherit}.el-picker-panel *[slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;padding-top:6px;overflow:auto}.el-picker-panel *[slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{--el-datepicker-text-color: var(--el-text-color-regular);--el-datepicker-off-text-color: var(--el-text-color-placeholder);--el-datepicker-header-text-color: var(--el-text-color-regular);--el-datepicker-icon-color: var(--el-text-color-primary);--el-datepicker-border-color: var(--el-disabled-border-color);--el-datepicker-inner-border-color: var(--el-border-color-light);--el-datepicker-inrange-bg-color: var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color: var(--el-border-color-extra-light);--el-datepicker-active-color: var(--el-color-primary);--el-datepicker-hover-text-color: var(--el-color-primary)}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid var(--el-datepicker-inner-border-color);font-size:12px;padding:8px 5px 5px;display:table;width:100%;box-sizing:border-box}.el-date-picker__header{padding:12px 12px 0;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px var(--el-border-color-lighter)}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:var(--el-text-color-regular)}.el-date-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label:focus-visible{outline:none;color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.el-date-picker .el-time-panel{position:absolute}.el-date-picker.is-disabled .el-date-picker__header-label{color:var(--el-text-color-disabled)}.el-date-picker.is-disabled .el-date-picker__header-label:hover{cursor:not-allowed}.el-date-picker.is-disabled .el-date-picker__header-label .el-icon{cursor:inherit}.el-date-range-picker{--el-datepicker-text-color: var(--el-text-color-regular);--el-datepicker-off-text-color: var(--el-text-color-placeholder);--el-datepicker-header-text-color: var(--el-text-color-regular);--el-datepicker-icon-color: var(--el-text-color-primary);--el-datepicker-border-color: var(--el-disabled-border-color);--el-datepicker-inner-border-color: var(--el-border-color-light);--el-datepicker-inrange-bg-color: var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color: var(--el-border-color-extra-light);--el-datepicker-active-color: var(--el-color-primary);--el-datepicker-hover-text-color: var(--el-color-primary)}.el-date-range-picker{width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{position:relative;text-align:center;height:28px}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:var(--el-text-color-regular)}.el-date-range-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-range-picker__header-label:focus-visible{outline:none;color:var(--el-datepicker-hover-text-color)}.el-date-range-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-range-picker__content{display:table-cell;width:50%;box-sizing:border-box;margin:0;padding:16px}.el-date-range-picker__content.is-left{border-right:1px solid var(--el-datepicker-inner-border-color)}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{position:relative;border-bottom:1px solid var(--el-datepicker-inner-border-color);font-size:12px;padding:8px 5px 5px;display:table;width:100%;box-sizing:border-box}.el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:var(--el-datepicker-icon-color)}.el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#fff}.el-date-range-picker__time-picker-wrap .el-time-panel{position:absolute}.el-date-range-picker.is-disabled .el-date-range-picker__header-label{color:var(--el-text-color-disabled)}.el-date-range-picker.is-disabled .el-date-range-picker__header-label:hover{cursor:not-allowed}.el-date-range-picker.is-disabled .el-date-range-picker__header-label .el-icon{cursor:inherit}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px;z-index:1}.el-time-range-picker__cell{box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid var(--el-datepicker-border-color)}.el-time-panel{border-radius:2px;position:relative;width:180px;left:0;z-index:var(--el-index-top);user-select:none;box-sizing:content-box}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content:after,.el-time-panel__content:before{content:"";top:50%;position:absolute;margin-top:-16px;height:32px;z-index:-1;left:0;right:0;box-sizing:border-box;padding-top:6px;text-align:left}.el-time-panel__content:after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content:before{padding-left:50%;margin-right:12%;margin-left:12%;border-top:1px solid var(--el-border-color-light);border-bottom:1px solid var(--el-border-color-light)}.el-time-panel__content.has-seconds:after{left:66.6666666667%}.el-time-panel__content.has-seconds:before{padding-left:33.3333333333%}.el-time-panel__footer{border-top:1px solid var(--el-timepicker-inner-border-color, var(--el-border-color-light));padding:4px;height:36px;line-height:25px;text-align:right;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:none;font-size:12px;color:var(--el-text-color-primary)}.el-time-panel__btn.confirm{font-weight:800;color:var(--el-timepicker-active-color, var(--el-color-primary))}.el-picker-panel.is-border{border:solid 1px var(--el-border-color-lighter)}.el-picker-panel.is-border .el-picker-panel__body-wrapper{position:relative}.el-picker-panel.is-border.el-picker-panel *[slot=sidebar],.el-picker-panel.is-border.el-picker-panel__sidebar{position:absolute;top:0;height:100%;width:110px;border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;padding-top:6px;overflow:auto} diff --git a/nginx/admin/assets/date-picker-panel-Dxdk0yRA.css.gz b/nginx/admin/assets/date-picker-panel-Dxdk0yRA.css.gz new file mode 100644 index 0000000..a78c179 Binary files /dev/null and b/nginx/admin/assets/date-picker-panel-Dxdk0yRA.css.gz differ diff --git a/nginx/admin/assets/debounce-DQl5eUwG.js b/nginx/admin/assets/debounce-DQl5eUwG.js new file mode 100644 index 0000000..f810274 --- /dev/null +++ b/nginx/admin/assets/debounce-DQl5eUwG.js @@ -0,0 +1 @@ +import{ds as t,cI as n,dj as r}from"./index-BoIUJTA2.js";var i=/\s/;var e=/^\s+/;function u(t){return t?t.slice(0,function(t){for(var n=t.length;n--&&i.test(t.charAt(n)););return n}(t)+1).replace(e,""):t}var o=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,f=/^0o[0-7]+$/i,c=parseInt;function v(r){if("number"==typeof r)return r;if(t(r))return NaN;if(n(r)){var i="function"==typeof r.valueOf?r.valueOf():r;r=n(i)?i+"":i}if("string"!=typeof r)return 0===r?r:+r;r=u(r);var e=a.test(r);return e||f.test(r)?c(r.slice(2),e?2:8):o.test(r)?NaN:+r}var s=function(){return r.Date.now()},d=Math.max,l=Math.min;function m(t,r,i){var e,u,o,a,f,c,m=0,p=!1,h=!1,x=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function T(n){var r=e,i=u;return e=u=void 0,m=n,a=t.apply(i,r)}function y(t){var n=t-c;return void 0===c||n>=r||n<0||h&&t-m>=o}function g(){var t=s();if(y(t))return N(t);f=setTimeout(g,function(t){var n=r-(t-c);return h?l(n,o-(t-m)):n}(t))}function N(t){return f=void 0,x&&e?T(t):(e=u=void 0,a)}function w(){var t=s(),n=y(t);if(e=arguments,u=this,c=t,n){if(void 0===f)return function(t){return m=t,f=setTimeout(g,r),p?T(t):a}(c);if(h)return clearTimeout(f),f=setTimeout(g,r),T(c)}return void 0===f&&(f=setTimeout(g,r)),a}return r=v(r)||0,n(i)&&(p=!!i.leading,o=(h="maxWait"in i)?d(v(i.maxWait)||0,r):o,x="trailing"in i?!!i.trailing:x),w.cancel=function(){void 0!==f&&clearTimeout(f),m=0,e=c=u=f=void 0},w.flush=function(){return void 0===f?a:N(s())},w}export{m as d,v as t}; diff --git a/nginx/admin/assets/dialog-2KKj2Euo.css b/nginx/admin/assets/dialog-2KKj2Euo.css new file mode 100644 index 0000000..c522843 --- /dev/null +++ b/nginx/admin/assets/dialog-2KKj2Euo.css @@ -0,0 +1 @@ +:root{--el-popup-modal-bg-color: var(--el-color-black);--el-popup-modal-opacity: .5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color)}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width: 50%;--el-dialog-margin-top: 15vh;--el-dialog-bg-color: var(--el-bg-color);--el-dialog-box-shadow: var(--el-box-shadow);--el-dialog-title-font-size: var(--el-font-size-large);--el-dialog-content-font-size: 14px;--el-dialog-font-line-height: var(--el-font-line-height-primary);--el-dialog-padding-primary: 16px;--el-dialog-border-radius: var(--el-border-radius-base);position:relative;margin:var(--el-dialog-margin-top, 15vh) auto 50px;background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;padding:var(--el-dialog-padding-primary);width:var(--el-dialog-width, 50%);overflow-wrap:break-word}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width: 100%;--el-dialog-margin-top: 0;margin-bottom:0;height:100%;overflow:auto;border-radius:0}.el-dialog__wrapper{position:fixed;inset:0;overflow:auto;margin:0}.el-dialog.is-draggable .el-dialog__header{cursor:move;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size, 16px))}.el-dialog__headerbtn{position:absolute;top:0;right:0;padding:0;width:48px;height:48px;background:transparent;border:none;outline:none;cursor:pointer;font-size:var(--el-message-close-size, 16px)}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{line-height:var(--el-dialog-font-line-height);font-size:var(--el-dialog-title-font-size);color:var(--el-text-color-primary)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{padding-top:var(--el-dialog-padding-primary);text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-modal-dialog.is-penetrable{pointer-events:none}.el-modal-dialog.is-penetrable .el-dialog{pointer-events:auto}.el-overlay-dialog{position:fixed;inset:0;overflow:auto}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes dialog-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}} diff --git a/nginx/admin/assets/drawer-Dm1ELI1k.css b/nginx/admin/assets/drawer-Dm1ELI1k.css new file mode 100644 index 0000000..b32199e --- /dev/null +++ b/nginx/admin/assets/drawer-Dm1ELI1k.css @@ -0,0 +1 @@ +.el-overlay.is-drawer{overflow:hidden}.el-drawer{--el-drawer-bg-color: var(--el-dialog-bg-color, var(--el-bg-color));--el-drawer-padding-primary: var(--el-dialog-padding-primary, 20px);--el-drawer-dragger-size: 8px}.el-drawer{position:absolute;box-sizing:border-box;background-color:var(--el-drawer-bg-color);display:flex;flex-direction:column;box-shadow:var(--el-box-shadow-dark);transition:all var(--el-transition-duration)}.el-drawer .rtl,.el-drawer .ltr,.el-drawer .ttb,.el-drawer .btt{transform:translate(0)}.el-drawer__sr-focus:focus{outline:none!important}.el-drawer__header{align-items:center;color:var(--el-text-color-primary);display:flex;margin-bottom:32px;padding:var(--el-drawer-padding-primary);padding-bottom:0;overflow:hidden}.el-drawer__header>:first-child{flex:1}.el-drawer__title{margin:0;flex:1;line-height:inherit;font-size:16px}.el-drawer__footer{padding:var(--el-drawer-padding-primary);padding-top:10px;text-align:right;overflow:hidden}.el-drawer__close-btn{display:inline-flex;border:none;cursor:pointer;font-size:var(--el-font-size-extra-large);color:inherit;background-color:transparent;outline:none}.el-drawer__close-btn:focus i,.el-drawer__close-btn:hover i{color:var(--el-color-primary)}.el-drawer__body{flex:1;padding:var(--el-drawer-padding-primary);overflow:auto}.el-drawer__body>*{box-sizing:border-box}.el-drawer.is-dragging{transition:none}.el-drawer__dragger{position:absolute;background-color:transparent;user-select:none;transition:all .2s}.el-drawer__dragger:before{content:"";position:absolute;background-color:transparent;transition:all .2s}.el-drawer__dragger:hover:before{background-color:var(--el-color-primary)}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer.ltr>.el-drawer__dragger,.el-drawer.rtl>.el-drawer__dragger{height:100%;width:var(--el-drawer-dragger-size);top:0;bottom:0;cursor:ew-resize}.el-drawer.ltr>.el-drawer__dragger:before,.el-drawer.rtl>.el-drawer__dragger:before{top:0;bottom:0;width:3px}.el-drawer.ttb,.el-drawer.btt{width:100%;left:0;right:0}.el-drawer.ttb>.el-drawer__dragger,.el-drawer.btt>.el-drawer__dragger{width:100%;height:var(--el-drawer-dragger-size);left:0;right:0;cursor:ns-resize}.el-drawer.ttb>.el-drawer__dragger:before,.el-drawer.btt>.el-drawer__dragger:before{left:0;right:0;height:3px}.el-drawer.ltr{left:0}.el-drawer.ltr>.el-drawer__dragger{right:0}.el-drawer.ltr>.el-drawer__dragger:before{right:-2px}.el-drawer.rtl{right:0}.el-drawer.rtl>.el-drawer__dragger{left:0}.el-drawer.rtl>.el-drawer__dragger:before{left:-2px}.el-drawer.ttb{top:0}.el-drawer.ttb>.el-drawer__dragger{bottom:0}.el-drawer.ttb>.el-drawer__dragger:before{bottom:-2px}.el-drawer.btt{bottom:0}.el-drawer.btt>.el-drawer__dragger{top:0}.el-drawer.btt>.el-drawer__dragger:before{top:-2px}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-from,.el-drawer-fade-enter-active,.el-drawer-fade-enter-to,.el-drawer-fade-leave-from,.el-drawer-fade-leave-active,.el-drawer-fade-leave-to{overflow:hidden!important}.el-drawer-fade-enter-from,.el-drawer-fade-leave-to{background-color:transparent!important}.el-drawer-fade-enter-from .rtl,.el-drawer-fade-leave-to .rtl{transform:translate(100%)}.el-drawer-fade-enter-from .ltr,.el-drawer-fade-leave-to .ltr{transform:translate(-100%)}.el-drawer-fade-enter-from .ttb,.el-drawer-fade-leave-to .ttb{transform:translateY(-100%)}.el-drawer-fade-enter-from .btt,.el-drawer-fade-leave-to .btt{transform:translateY(100%)} diff --git a/nginx/admin/assets/dropdown-Dk_wSiK6.js b/nginx/admin/assets/dropdown-Dk_wSiK6.js new file mode 100644 index 0000000..39190b7 --- /dev/null +++ b/nginx/admin/assets/dropdown-Dk_wSiK6.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,o=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,n=(t,o,r)=>o in t?e(t,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[o]=r,i=(e,t)=>{for(var o in t||(t={}))a.call(t,o)&&n(e,o,t[o]);if(r)for(var o of r(t))l.call(t,o)&&n(e,o,t[o]);return e},s=(e,r)=>t(e,o(r));import{u as p,r as u,b as d}from"./index-BMeOzN3u.js";import{a0 as c,d as f,s as m,r as y,a9 as g,o as b,p as O,l as E,ae as C,a8 as I,at as N,am as v,_}from"./index-BoIUJTA2.js";var S=c(f({inheritAttrs:!1}),[["render",function(e,t,o,r,a,l){return m(e.$slots,"default")}],["__file","collection.vue"]]);var T=c(f({name:"ElCollectionItem",inheritAttrs:!1}),[["render",function(e,t,o,r,a,l){return m(e.$slots,"default")}],["__file","collection-item.vue"]]);const w="data-el-collection-item",j=e=>{const t=`El${e}Collection`,o=`${t}Item`,r=Symbol(t),a=Symbol(o),l=s(i({},S),{name:t,setup(){const e=y(),t=new Map;C(r,{itemMap:t,getItems:()=>{const o=O(e);if(!o)return[];const r=Array.from(o.querySelectorAll(`[${w}]`));return[...t.values()].sort((e,t)=>r.indexOf(e.ref)-r.indexOf(t.ref))},collectionRef:e})}}),n=s(i({},T),{name:o,setup(e,{attrs:t}){const o=y(),l=g(r,void 0);C(a,{collectionItemRef:o}),b(()=>{const e=O(o);e&&l.itemMap.set(e,i({ref:e},t))}),E(()=>{const e=O(o);l.itemMap.delete(e)})}});return{COLLECTION_INJECTION_KEY:r,COLLECTION_ITEM_INJECTION_KEY:a,ElCollection:l,ElCollectionItem:n}},h=I({trigger:d.trigger,triggerKeys:{type:N(Array),default:()=>[_.enter,_.numpadEnter,_.space,_.down]},virtualTriggering:d.virtualTriggering,virtualRef:d.virtualRef,effect:s(i({},p.effect),{default:"light"}),type:{type:N(String)},placement:{type:N(String),default:"bottom"},popperOptions:{type:N(Object),default:()=>({})},id:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showArrow:{type:Boolean,default:!0},showTimeout:{type:Number,default:150},hideTimeout:{type:Number,default:150},tabindex:{type:N([Number,String]),default:0},maxHeight:{type:N([Number,String]),default:""},popperClass:{type:String,default:""},disabled:Boolean,role:{type:String,values:u,default:"menu"},buttonProps:{type:N(Object)},teleported:p.teleported,persistent:{type:Boolean,default:!0}}),B=I({command:{type:[Object,String,Number],default:()=>({})},disabled:Boolean,divided:Boolean,textValue:String,icon:{type:v}}),L=I({onKeydown:{type:N(Function)}}),x=[_.down,_.pageDown,_.home],A=[_.up,_.pageUp,_.end],K=[...x,...A],{ElCollection:M,ElCollectionItem:P,COLLECTION_INJECTION_KEY:$,COLLECTION_ITEM_INJECTION_KEY:J}=j("Dropdown");export{w as C,M as E,K as F,A as L,B as a,J as b,j as c,h as d,P as e,L as f,$ as g}; diff --git a/nginx/admin/assets/dynamic-stats-typyHKGx.js b/nginx/admin/assets/dynamic-stats-typyHKGx.js new file mode 100644 index 0000000..b9ffa4e --- /dev/null +++ b/nginx/admin/assets/dynamic-stats-typyHKGx.js @@ -0,0 +1 @@ +import{d as s,r as e,o as a,aP as t,b as l,e as r,f as n,j as i,v as o,g as c,w as d,I as m,J as u,h as v,T as h}from"./index-BoIUJTA2.js";/* empty css *//* empty css */import{c as p}from"./dashboard-Csmn9wla.js";import{E as f}from"./index-ZsMdSUVI.js";import{E as x}from"./index-Cp4NEpJ7.js";const y={class:"art-card h-128 p-5 mb-5 max-sm:mb-4"},b={class:"art-card-header"},g={class:"title"},w={class:"text-success"},j={class:"h-9/10 mt-2 overflow-hidden"},k={class:"text-g-800 font-medium"},N={class:"text-theme"},I={key:0,class:"ml-2"},_=s({__name:"dynamic-stats",setup(s){const _=e([]),P=e(0);let z,E=null;const T=()=>{return s=this,e=null,a=function*(){try{const{list:s,sinceId:e}=yield p(z,50);if(s.length){z=e;const a=new Set(_.value.map(s=>s.id)),t=s.filter(s=>!a.has(s.id));t.length&&(_.value.unshift(...t),P.value=t.length,_.value.length>100&&_.value.splice(100))}}catch(s){h.error("获取抽奖动态失败")}},new Promise((t,l)=>{var r=s=>{try{i(a.next(s))}catch(e){l(e)}},n=s=>{try{i(a.throw(s))}catch(e){l(e)}},i=s=>s.done?t(s.value):Promise.resolve(s.value).then(r,n);i((a=a.apply(s,e)).next())});var s,e,a};return a(()=>{T(),E=window.setInterval(T,5e3)}),t(()=>{E&&window.clearInterval(E)}),(s,e)=>{const a=f,t=x;return r(),l("div",y,[n("div",b,[n("div",g,[e[1]||(e[1]=n("h4",null,"实时抽奖动态",-1)),n("p",null,[e[0]||(e[0]=i("新增",-1)),n("span",w,"+"+o(P.value),1)])])]),n("div",j,[c(t,null,{default:d(()=>[(r(!0),l(m,null,u(_.value,(s,t)=>(r(),l("div",{class:"h-17.5 leading-17.5 border-b border-g-300 text-sm overflow-hidden last:border-b-0",key:s.id},[n("span",k,o(s.nickname),1),e[3]||(e[3]=n("span",{class:"mx-2 text-g-600"},"在",-1)),n("span",N,o(s.activityName?`${s.activityName}-${s.issueNumber}`:s.issueName),1),s.isWinner?(r(),l("span",I,"中奖 "+o(s.prizeName||""),1)):(r(),v(a,{key:1,size:"small",type:"info",class:"ml-2"},{default:d(()=>[...e[2]||(e[2]=[i("参与",-1)])]),_:1}))]))),128))]),_:1})])])}}});export{_ as default}; diff --git a/nginx/admin/assets/el-alert-G57rL0jl.css b/nginx/admin/assets/el-alert-G57rL0jl.css new file mode 100644 index 0000000..0377d14 --- /dev/null +++ b/nginx/admin/assets/el-alert-G57rL0jl.css @@ -0,0 +1 @@ +.el-alert{--el-alert-padding:8px 16px;--el-alert-border-radius-base:var(--el-border-radius-base);--el-alert-title-font-size:14px;--el-alert-title-with-description-font-size:16px;--el-alert-description-font-size:14px;--el-alert-close-font-size:16px;--el-alert-close-customed-font-size:14px;--el-alert-icon-size:16px;--el-alert-icon-large-size:28px;align-items:center;background-color:var(--el-color-white);border-radius:var(--el-alert-border-radius-base);box-sizing:border-box;display:flex;margin:0;opacity:1;overflow:hidden;padding:var(--el-alert-padding);position:relative;transition:opacity var(--el-transition-duration-fast);width:100%}.el-alert.is-light .el-alert__close-btn{color:var(--el-text-color-placeholder)}.el-alert.is-dark .el-alert__close-btn,.el-alert.is-dark .el-alert__description{color:var(--el-color-white)}.el-alert.is-center{justify-content:center}.el-alert--primary{--el-alert-bg-color:var(--el-color-primary-light-9)}.el-alert--primary.is-light{background-color:var(--el-alert-bg-color)}.el-alert--primary.is-light,.el-alert--primary.is-light .el-alert__description{color:var(--el-color-primary)}.el-alert--primary.is-dark{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-alert--success{--el-alert-bg-color:var(--el-color-success-light-9)}.el-alert--success.is-light{background-color:var(--el-alert-bg-color)}.el-alert--success.is-light,.el-alert--success.is-light .el-alert__description{color:var(--el-color-success)}.el-alert--success.is-dark{background-color:var(--el-color-success);color:var(--el-color-white)}.el-alert--info{--el-alert-bg-color:var(--el-color-info-light-9)}.el-alert--info.is-light{background-color:var(--el-alert-bg-color)}.el-alert--info.is-light,.el-alert--info.is-light .el-alert__description{color:var(--el-color-info)}.el-alert--info.is-dark{background-color:var(--el-color-info);color:var(--el-color-white)}.el-alert--warning{--el-alert-bg-color:var(--el-color-warning-light-9)}.el-alert--warning.is-light{background-color:var(--el-alert-bg-color)}.el-alert--warning.is-light,.el-alert--warning.is-light .el-alert__description{color:var(--el-color-warning)}.el-alert--warning.is-dark{background-color:var(--el-color-warning);color:var(--el-color-white)}.el-alert--error{--el-alert-bg-color:var(--el-color-error-light-9)}.el-alert--error.is-light{background-color:var(--el-alert-bg-color)}.el-alert--error.is-light,.el-alert--error.is-light .el-alert__description{color:var(--el-color-error)}.el-alert--error.is-dark{background-color:var(--el-color-error);color:var(--el-color-white)}.el-alert__content{display:flex;flex-direction:column;gap:4px}.el-alert .el-alert__icon{font-size:var(--el-alert-icon-size);margin-right:8px;width:var(--el-alert-icon-size)}.el-alert .el-alert__icon.is-big{font-size:var(--el-alert-icon-large-size);margin-right:12px;width:var(--el-alert-icon-large-size)}.el-alert__title{font-size:var(--el-alert-title-font-size);line-height:24px}.el-alert__title.with-description{font-size:var(--el-alert-title-with-description-font-size)}.el-alert .el-alert__description{font-size:var(--el-alert-description-font-size);margin:0}.el-alert .el-alert__close-btn{cursor:pointer;font-size:var(--el-alert-close-font-size);opacity:1;position:absolute;right:16px;top:12px}.el-alert .el-alert__close-btn.is-customed{font-size:var(--el-alert-close-customed-font-size);font-style:normal;line-height:24px;top:8px}.el-alert-fade-enter-from,.el-alert-fade-leave-active{opacity:0} diff --git a/nginx/admin/assets/el-avatar-BmRr_O8d.css b/nginx/admin/assets/el-avatar-BmRr_O8d.css new file mode 100644 index 0000000..f8eea67 --- /dev/null +++ b/nginx/admin/assets/el-avatar-BmRr_O8d.css @@ -0,0 +1 @@ +.el-avatar{--el-avatar-text-color:var(--el-color-white);--el-avatar-bg-color:var(--el-text-color-disabled);--el-avatar-text-size:14px;--el-avatar-icon-size:18px;--el-avatar-border-radius:var(--el-border-radius-base);--el-avatar-size-large:56px;--el-avatar-size-small:24px;--el-avatar-size:40px;align-items:center;background:var(--el-avatar-bg-color);box-sizing:border-box;color:var(--el-avatar-text-color);display:inline-flex;font-size:var(--el-avatar-text-size);height:var(--el-avatar-size);justify-content:center;outline:none;overflow:hidden;text-align:center;width:var(--el-avatar-size)}.el-avatar>img{display:block;height:100%;width:100%}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:var(--el-avatar-border-radius)}.el-avatar--icon{font-size:var(--el-avatar-icon-size)}.el-avatar--small{--el-avatar-size:24px}.el-avatar--large{--el-avatar-size:56px} diff --git a/nginx/admin/assets/el-button-CDqfIFiK.css b/nginx/admin/assets/el-button-CDqfIFiK.css new file mode 100644 index 0000000..6ad7ccf --- /dev/null +++ b/nginx/admin/assets/el-button-CDqfIFiK.css @@ -0,0 +1 @@ +.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:rgba(255,255,255,.5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-text-color-secondary);--el-button-active-color:var(--el-text-color-primary);align-items:center;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);box-sizing:border-box;color:var(--el-button-text-color);cursor:pointer;display:inline-flex;font-weight:var(--el-button-font-weight);height:32px;justify-content:center;line-height:1;outline:none;text-align:center;transition:.1s;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-button:hover{background-color:var(--el-button-hover-bg-color);border-color:var(--el-button-hover-border-color);color:var(--el-button-hover-text-color);outline:none}.el-button:active{background-color:var(--el-button-active-bg-color);border-color:var(--el-button-active-border-color);color:var(--el-button-active-text-color);outline:none}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button>span{align-items:center;display:inline-flex}.el-button+.el-button{margin-left:12px}.el-button{border-radius:var(--el-border-radius-base);font-size:var(--el-font-size-base)}.el-button,.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{background-color:var(--el-button-active-bg-color);border-color:var(--el-button-active-border-color);color:var(--el-button-active-text-color);outline:none}.el-button.is-disabled,.el-button.is-disabled:hover{background-color:var(--el-button-disabled-bg-color);background-image:none;border-color:var(--el-button-disabled-border-color);color:var(--el-button-disabled-text-color);cursor:not-allowed}.el-button.is-loading{pointer-events:none;position:relative}.el-button.is-loading:before{background-color:var(--el-mask-color-extra-light);border-radius:inherit;content:"";inset:-1px;pointer-events:none;position:absolute;z-index:1}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-circle{border-radius:50%;padding:8px;width:32px}.el-button.is-text{background-color:transparent;border:0 solid transparent;color:var(--el-button-text-color)}.el-button.is-text.is-disabled{background-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{background:transparent;border-color:transparent;color:var(--el-button-text-color);height:auto;padding:2px}.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{background-color:transparent!important;border-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button.is-link:not(.is-disabled):active,.el-button.is-link:not(.is-disabled):hover{background-color:transparent;border-color:transparent}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color)}.el-button--text{background:transparent;border-color:transparent;color:var(--el-color-primary);padding-left:0;padding-right:0}.el-button--text.is-disabled{background-color:transparent!important;border-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button--text:not(.is-disabled):hover{background-color:transparent;border-color:transparent;color:var(--el-color-primary-light-3)}.el-button--text:not(.is-disabled):active{background-color:transparent;border-color:transparent;color:var(--el-color-primary-dark-2)}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-link,.el-button--primary.is-plain,.el-button--primary.is-text{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:active,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:hover{background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8);color:var(--el-color-primary-light-5)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-link,.el-button--success.is-plain,.el-button--success.is-text{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:active,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:active,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:hover{background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8);color:var(--el-color-success-light-5)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-link,.el-button--warning.is-plain,.el-button--warning.is-text{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:active,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:hover{background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8);color:var(--el-color-warning-light-5)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-link,.el-button--danger.is-plain,.el-button--danger.is-text{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:active,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:hover{background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8);color:var(--el-color-danger-light-5)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-link,.el-button--info.is-plain,.el-button--info.is-text{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:active,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:active,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:hover{background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8);color:var(--el-color-info-light-5)}.el-button--large{--el-button-size:40px;height:var(--el-button-size)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large{border-radius:var(--el-border-radius-base);font-size:var(--el-font-size-base);padding:12px 19px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{padding:12px;width:var(--el-button-size)}.el-button--small{--el-button-size:24px;height:var(--el-button-size)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small{border-radius:calc(var(--el-border-radius-base) - 1px);font-size:12px;padding:5px 11px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{padding:5px;width:var(--el-button-size)} diff --git a/nginx/admin/assets/el-button-CDqfIFiK.css.gz b/nginx/admin/assets/el-button-CDqfIFiK.css.gz new file mode 100644 index 0000000..dcc461e Binary files /dev/null and b/nginx/admin/assets/el-button-CDqfIFiK.css.gz differ diff --git a/nginx/admin/assets/el-card-fwQOLwdi.css b/nginx/admin/assets/el-card-fwQOLwdi.css new file mode 100644 index 0000000..2d9b34d --- /dev/null +++ b/nginx/admin/assets/el-card-fwQOLwdi.css @@ -0,0 +1 @@ +.el-card{--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-padding:20px;--el-card-bg-color:var(--el-fill-color-blank);background-color:var(--el-card-bg-color);border:1px solid var(--el-card-border-color);border-radius:var(--el-card-border-radius);color:var(--el-text-color-primary);overflow:hidden;transition:var(--el-transition-duration)}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:var(--el-box-shadow-light)}.el-card__header{border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box;padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding)}.el-card__body{padding:var(--el-card-padding)}.el-card__footer{border-top:1px solid var(--el-card-border-color);box-sizing:border-box;padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding)} diff --git a/nginx/admin/assets/el-checkbox-DIj50LEB.css b/nginx/admin/assets/el-checkbox-DIj50LEB.css new file mode 100644 index 0000000..938002b --- /dev/null +++ b/nginx/admin/assets/el-checkbox-DIj50LEB.css @@ -0,0 +1 @@ +.el-checkbox{--el-checkbox-font-size:14px;--el-checkbox-font-weight:var(--el-font-weight-primary);--el-checkbox-text-color:var(--el-text-color-regular);--el-checkbox-input-height:14px;--el-checkbox-input-width:14px;--el-checkbox-border-radius:var(--el-border-radius-small);--el-checkbox-bg-color:var(--el-fill-color-blank);--el-checkbox-input-border:var(--el-border);--el-checkbox-disabled-border-color:var(--el-border-color);--el-checkbox-disabled-input-fill:var(--el-fill-color-light);--el-checkbox-disabled-icon-color:var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill:var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color:var(--el-border-color);--el-checkbox-disabled-checked-icon-color:var(--el-text-color-placeholder);--el-checkbox-checked-text-color:var(--el-color-primary);--el-checkbox-checked-input-border-color:var(--el-color-primary);--el-checkbox-checked-bg-color:var(--el-color-primary);--el-checkbox-checked-icon-color:var(--el-color-white);--el-checkbox-input-border-color-hover:var(--el-color-primary);align-items:center;color:var(--el-checkbox-text-color);cursor:pointer;display:inline-flex;font-size:var(--el-font-size-base);font-weight:var(--el-checkbox-font-weight);height:var(--el-checkbox-height,32px);margin-right:30px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.el-checkbox.is-disabled{cursor:not-allowed}.el-checkbox.is-bordered{border:var(--el-border);border-radius:var(--el-border-radius-base);box-sizing:border-box;padding:0 15px 0 9px}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter)}.el-checkbox.is-bordered.el-checkbox--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:0 11px 0 7px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox input:focus-visible+.el-checkbox__inner{border-radius:var(--el-checkbox-border-radius);outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px}.el-checkbox__input{cursor:pointer;display:inline-flex;outline:none;position:relative;white-space:nowrap}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-icon-color);cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-checked-icon-color);transform:translate(-45%,-60%) rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-checked-icon-color);content:"";display:block;height:2px;left:0;position:absolute;right:0;top:5px;transform:scale(.5)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{background-color:var(--el-checkbox-bg-color);border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;display:inline-block;height:var(--el-checkbox-input-height);position:relative;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46);width:var(--el-checkbox-input-width);z-index:var(--el-index-normal)}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{border:1px solid transparent;border-left:0;border-top:0;box-sizing:content-box;content:"";height:7px;left:50%;position:absolute;top:50%;transform:translate(-45%,-60%) rotate(45deg) scaleY(0);transform-origin:center;transition:transform .15s ease-in .05s;width:3px}.el-checkbox__original{height:0;margin:0;opacity:0;outline:none;position:absolute;width:0;z-index:-1}.el-checkbox__label{display:inline-block;font-size:var(--el-checkbox-font-size);line-height:1;padding-left:8px}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox:last-of-type{margin-right:0} diff --git a/nginx/admin/assets/el-col-DD1Vn-Yu.css b/nginx/admin/assets/el-col-DD1Vn-Yu.css new file mode 100644 index 0000000..16718ea --- /dev/null +++ b/nginx/admin/assets/el-col-DD1Vn-Yu.css @@ -0,0 +1 @@ +[class*=el-col-]{box-sizing:border-box}[class*=el-col-].is-guttered{display:block;min-height:1px}.el-col-0{flex:0 0 0%;max-width:0}.el-col-0,.el-col-0.is-guttered{display:none}.el-col-offset-0{margin-left:0}.el-col-pull-0{position:relative;right:0}.el-col-push-0{left:0;position:relative}.el-col-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-1,.el-col-1.is-guttered{display:block}.el-col-offset-1{margin-left:4.1666666667%}.el-col-pull-1{position:relative;right:4.1666666667%}.el-col-push-1{left:4.1666666667%;position:relative}.el-col-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-2,.el-col-2.is-guttered{display:block}.el-col-offset-2{margin-left:8.3333333333%}.el-col-pull-2{position:relative;right:8.3333333333%}.el-col-push-2{left:8.3333333333%;position:relative}.el-col-3{flex:0 0 12.5%;max-width:12.5%}.el-col-3,.el-col-3.is-guttered{display:block}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{position:relative;right:12.5%}.el-col-push-3{left:12.5%;position:relative}.el-col-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-4,.el-col-4.is-guttered{display:block}.el-col-offset-4{margin-left:16.6666666667%}.el-col-pull-4{position:relative;right:16.6666666667%}.el-col-push-4{left:16.6666666667%;position:relative}.el-col-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-5,.el-col-5.is-guttered{display:block}.el-col-offset-5{margin-left:20.8333333333%}.el-col-pull-5{position:relative;right:20.8333333333%}.el-col-push-5{left:20.8333333333%;position:relative}.el-col-6{flex:0 0 25%;max-width:25%}.el-col-6,.el-col-6.is-guttered{display:block}.el-col-offset-6{margin-left:25%}.el-col-pull-6{position:relative;right:25%}.el-col-push-6{left:25%;position:relative}.el-col-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-7,.el-col-7.is-guttered{display:block}.el-col-offset-7{margin-left:29.1666666667%}.el-col-pull-7{position:relative;right:29.1666666667%}.el-col-push-7{left:29.1666666667%;position:relative}.el-col-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-8,.el-col-8.is-guttered{display:block}.el-col-offset-8{margin-left:33.3333333333%}.el-col-pull-8{position:relative;right:33.3333333333%}.el-col-push-8{left:33.3333333333%;position:relative}.el-col-9{flex:0 0 37.5%;max-width:37.5%}.el-col-9,.el-col-9.is-guttered{display:block}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{position:relative;right:37.5%}.el-col-push-9{left:37.5%;position:relative}.el-col-10{flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-10,.el-col-10.is-guttered{display:block}.el-col-offset-10{margin-left:41.6666666667%}.el-col-pull-10{position:relative;right:41.6666666667%}.el-col-push-10{left:41.6666666667%;position:relative}.el-col-11{flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-11,.el-col-11.is-guttered{display:block}.el-col-offset-11{margin-left:45.8333333333%}.el-col-pull-11{position:relative;right:45.8333333333%}.el-col-push-11{left:45.8333333333%;position:relative}.el-col-12{flex:0 0 50%;max-width:50%}.el-col-12,.el-col-12.is-guttered{display:block}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{left:50%;position:relative}.el-col-13{flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-13,.el-col-13.is-guttered{display:block}.el-col-offset-13{margin-left:54.1666666667%}.el-col-pull-13{position:relative;right:54.1666666667%}.el-col-push-13{left:54.1666666667%;position:relative}.el-col-14{flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-14,.el-col-14.is-guttered{display:block}.el-col-offset-14{margin-left:58.3333333333%}.el-col-pull-14{position:relative;right:58.3333333333%}.el-col-push-14{left:58.3333333333%;position:relative}.el-col-15{flex:0 0 62.5%;max-width:62.5%}.el-col-15,.el-col-15.is-guttered{display:block}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{position:relative;right:62.5%}.el-col-push-15{left:62.5%;position:relative}.el-col-16{flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-16,.el-col-16.is-guttered{display:block}.el-col-offset-16{margin-left:66.6666666667%}.el-col-pull-16{position:relative;right:66.6666666667%}.el-col-push-16{left:66.6666666667%;position:relative}.el-col-17{flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-17,.el-col-17.is-guttered{display:block}.el-col-offset-17{margin-left:70.8333333333%}.el-col-pull-17{position:relative;right:70.8333333333%}.el-col-push-17{left:70.8333333333%;position:relative}.el-col-18{flex:0 0 75%;max-width:75%}.el-col-18,.el-col-18.is-guttered{display:block}.el-col-offset-18{margin-left:75%}.el-col-pull-18{position:relative;right:75%}.el-col-push-18{left:75%;position:relative}.el-col-19{flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-19,.el-col-19.is-guttered{display:block}.el-col-offset-19{margin-left:79.1666666667%}.el-col-pull-19{position:relative;right:79.1666666667%}.el-col-push-19{left:79.1666666667%;position:relative}.el-col-20{flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-20,.el-col-20.is-guttered{display:block}.el-col-offset-20{margin-left:83.3333333333%}.el-col-pull-20{position:relative;right:83.3333333333%}.el-col-push-20{left:83.3333333333%;position:relative}.el-col-21{flex:0 0 87.5%;max-width:87.5%}.el-col-21,.el-col-21.is-guttered{display:block}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{position:relative;right:87.5%}.el-col-push-21{left:87.5%;position:relative}.el-col-22{flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-22,.el-col-22.is-guttered{display:block}.el-col-offset-22{margin-left:91.6666666667%}.el-col-pull-22{position:relative;right:91.6666666667%}.el-col-push-22{left:91.6666666667%;position:relative}.el-col-23{flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-23,.el-col-23.is-guttered{display:block}.el-col-offset-23{margin-left:95.8333333333%}.el-col-pull-23{position:relative;right:95.8333333333%}.el-col-push-23{left:95.8333333333%;position:relative}.el-col-24{flex:0 0 100%;max-width:100%}.el-col-24,.el-col-24.is-guttered{display:block}.el-col-offset-24{margin-left:100%}.el-col-pull-24{position:relative;right:100%}.el-col-push-24{left:100%;position:relative}@media only screen and (max-width:767px){.el-col-xs-0{display:none;flex:0 0 0%;max-width:0}.el-col-xs-0.is-guttered{display:none}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{left:0;position:relative}.el-col-xs-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-xs-1,.el-col-xs-1.is-guttered{display:block}.el-col-xs-offset-1{margin-left:4.1666666667%}.el-col-xs-pull-1{position:relative;right:4.1666666667%}.el-col-xs-push-1{left:4.1666666667%;position:relative}.el-col-xs-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-xs-2,.el-col-xs-2.is-guttered{display:block}.el-col-xs-offset-2{margin-left:8.3333333333%}.el-col-xs-pull-2{position:relative;right:8.3333333333%}.el-col-xs-push-2{left:8.3333333333%;position:relative}.el-col-xs-3{flex:0 0 12.5%;max-width:12.5%}.el-col-xs-3,.el-col-xs-3.is-guttered{display:block}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{left:12.5%;position:relative}.el-col-xs-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-xs-4,.el-col-xs-4.is-guttered{display:block}.el-col-xs-offset-4{margin-left:16.6666666667%}.el-col-xs-pull-4{position:relative;right:16.6666666667%}.el-col-xs-push-4{left:16.6666666667%;position:relative}.el-col-xs-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-xs-5,.el-col-xs-5.is-guttered{display:block}.el-col-xs-offset-5{margin-left:20.8333333333%}.el-col-xs-pull-5{position:relative;right:20.8333333333%}.el-col-xs-push-5{left:20.8333333333%;position:relative}.el-col-xs-6{flex:0 0 25%;max-width:25%}.el-col-xs-6,.el-col-xs-6.is-guttered{display:block}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{left:25%;position:relative}.el-col-xs-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-xs-7,.el-col-xs-7.is-guttered{display:block}.el-col-xs-offset-7{margin-left:29.1666666667%}.el-col-xs-pull-7{position:relative;right:29.1666666667%}.el-col-xs-push-7{left:29.1666666667%;position:relative}.el-col-xs-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-xs-8,.el-col-xs-8.is-guttered{display:block}.el-col-xs-offset-8{margin-left:33.3333333333%}.el-col-xs-pull-8{position:relative;right:33.3333333333%}.el-col-xs-push-8{left:33.3333333333%;position:relative}.el-col-xs-9{flex:0 0 37.5%;max-width:37.5%}.el-col-xs-9,.el-col-xs-9.is-guttered{display:block}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{left:37.5%;position:relative}.el-col-xs-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-xs-10.is-guttered{display:block}.el-col-xs-offset-10{margin-left:41.6666666667%}.el-col-xs-pull-10{position:relative;right:41.6666666667%}.el-col-xs-push-10{left:41.6666666667%;position:relative}.el-col-xs-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-xs-11.is-guttered{display:block}.el-col-xs-offset-11{margin-left:45.8333333333%}.el-col-xs-pull-11{position:relative;right:45.8333333333%}.el-col-xs-push-11{left:45.8333333333%;position:relative}.el-col-xs-12{display:block;flex:0 0 50%;max-width:50%}.el-col-xs-12.is-guttered{display:block}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{left:50%;position:relative}.el-col-xs-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-xs-13.is-guttered{display:block}.el-col-xs-offset-13{margin-left:54.1666666667%}.el-col-xs-pull-13{position:relative;right:54.1666666667%}.el-col-xs-push-13{left:54.1666666667%;position:relative}.el-col-xs-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-xs-14.is-guttered{display:block}.el-col-xs-offset-14{margin-left:58.3333333333%}.el-col-xs-pull-14{position:relative;right:58.3333333333%}.el-col-xs-push-14{left:58.3333333333%;position:relative}.el-col-xs-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-xs-15.is-guttered{display:block}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{left:62.5%;position:relative}.el-col-xs-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-xs-16.is-guttered{display:block}.el-col-xs-offset-16{margin-left:66.6666666667%}.el-col-xs-pull-16{position:relative;right:66.6666666667%}.el-col-xs-push-16{left:66.6666666667%;position:relative}.el-col-xs-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-xs-17.is-guttered{display:block}.el-col-xs-offset-17{margin-left:70.8333333333%}.el-col-xs-pull-17{position:relative;right:70.8333333333%}.el-col-xs-push-17{left:70.8333333333%;position:relative}.el-col-xs-18{display:block;flex:0 0 75%;max-width:75%}.el-col-xs-18.is-guttered{display:block}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{left:75%;position:relative}.el-col-xs-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-xs-19.is-guttered{display:block}.el-col-xs-offset-19{margin-left:79.1666666667%}.el-col-xs-pull-19{position:relative;right:79.1666666667%}.el-col-xs-push-19{left:79.1666666667%;position:relative}.el-col-xs-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-xs-20.is-guttered{display:block}.el-col-xs-offset-20{margin-left:83.3333333333%}.el-col-xs-pull-20{position:relative;right:83.3333333333%}.el-col-xs-push-20{left:83.3333333333%;position:relative}.el-col-xs-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-xs-21.is-guttered{display:block}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{left:87.5%;position:relative}.el-col-xs-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-xs-22.is-guttered{display:block}.el-col-xs-offset-22{margin-left:91.6666666667%}.el-col-xs-pull-22{position:relative;right:91.6666666667%}.el-col-xs-push-22{left:91.6666666667%;position:relative}.el-col-xs-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-xs-23.is-guttered{display:block}.el-col-xs-offset-23{margin-left:95.8333333333%}.el-col-xs-pull-23{position:relative;right:95.8333333333%}.el-col-xs-push-23{left:95.8333333333%;position:relative}.el-col-xs-24{display:block;flex:0 0 100%;max-width:100%}.el-col-xs-24.is-guttered{display:block}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{left:100%;position:relative}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;flex:0 0 0%;max-width:0}.el-col-sm-0.is-guttered{display:none}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{left:0;position:relative}.el-col-sm-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-sm-1,.el-col-sm-1.is-guttered{display:block}.el-col-sm-offset-1{margin-left:4.1666666667%}.el-col-sm-pull-1{position:relative;right:4.1666666667%}.el-col-sm-push-1{left:4.1666666667%;position:relative}.el-col-sm-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-sm-2,.el-col-sm-2.is-guttered{display:block}.el-col-sm-offset-2{margin-left:8.3333333333%}.el-col-sm-pull-2{position:relative;right:8.3333333333%}.el-col-sm-push-2{left:8.3333333333%;position:relative}.el-col-sm-3{flex:0 0 12.5%;max-width:12.5%}.el-col-sm-3,.el-col-sm-3.is-guttered{display:block}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{left:12.5%;position:relative}.el-col-sm-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-sm-4,.el-col-sm-4.is-guttered{display:block}.el-col-sm-offset-4{margin-left:16.6666666667%}.el-col-sm-pull-4{position:relative;right:16.6666666667%}.el-col-sm-push-4{left:16.6666666667%;position:relative}.el-col-sm-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-sm-5,.el-col-sm-5.is-guttered{display:block}.el-col-sm-offset-5{margin-left:20.8333333333%}.el-col-sm-pull-5{position:relative;right:20.8333333333%}.el-col-sm-push-5{left:20.8333333333%;position:relative}.el-col-sm-6{flex:0 0 25%;max-width:25%}.el-col-sm-6,.el-col-sm-6.is-guttered{display:block}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{left:25%;position:relative}.el-col-sm-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-sm-7,.el-col-sm-7.is-guttered{display:block}.el-col-sm-offset-7{margin-left:29.1666666667%}.el-col-sm-pull-7{position:relative;right:29.1666666667%}.el-col-sm-push-7{left:29.1666666667%;position:relative}.el-col-sm-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-sm-8,.el-col-sm-8.is-guttered{display:block}.el-col-sm-offset-8{margin-left:33.3333333333%}.el-col-sm-pull-8{position:relative;right:33.3333333333%}.el-col-sm-push-8{left:33.3333333333%;position:relative}.el-col-sm-9{flex:0 0 37.5%;max-width:37.5%}.el-col-sm-9,.el-col-sm-9.is-guttered{display:block}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{left:37.5%;position:relative}.el-col-sm-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-sm-10.is-guttered{display:block}.el-col-sm-offset-10{margin-left:41.6666666667%}.el-col-sm-pull-10{position:relative;right:41.6666666667%}.el-col-sm-push-10{left:41.6666666667%;position:relative}.el-col-sm-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-sm-11.is-guttered{display:block}.el-col-sm-offset-11{margin-left:45.8333333333%}.el-col-sm-pull-11{position:relative;right:45.8333333333%}.el-col-sm-push-11{left:45.8333333333%;position:relative}.el-col-sm-12{display:block;flex:0 0 50%;max-width:50%}.el-col-sm-12.is-guttered{display:block}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{left:50%;position:relative}.el-col-sm-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-sm-13.is-guttered{display:block}.el-col-sm-offset-13{margin-left:54.1666666667%}.el-col-sm-pull-13{position:relative;right:54.1666666667%}.el-col-sm-push-13{left:54.1666666667%;position:relative}.el-col-sm-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-sm-14.is-guttered{display:block}.el-col-sm-offset-14{margin-left:58.3333333333%}.el-col-sm-pull-14{position:relative;right:58.3333333333%}.el-col-sm-push-14{left:58.3333333333%;position:relative}.el-col-sm-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-sm-15.is-guttered{display:block}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{left:62.5%;position:relative}.el-col-sm-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-sm-16.is-guttered{display:block}.el-col-sm-offset-16{margin-left:66.6666666667%}.el-col-sm-pull-16{position:relative;right:66.6666666667%}.el-col-sm-push-16{left:66.6666666667%;position:relative}.el-col-sm-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-sm-17.is-guttered{display:block}.el-col-sm-offset-17{margin-left:70.8333333333%}.el-col-sm-pull-17{position:relative;right:70.8333333333%}.el-col-sm-push-17{left:70.8333333333%;position:relative}.el-col-sm-18{display:block;flex:0 0 75%;max-width:75%}.el-col-sm-18.is-guttered{display:block}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{left:75%;position:relative}.el-col-sm-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-sm-19.is-guttered{display:block}.el-col-sm-offset-19{margin-left:79.1666666667%}.el-col-sm-pull-19{position:relative;right:79.1666666667%}.el-col-sm-push-19{left:79.1666666667%;position:relative}.el-col-sm-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-sm-20.is-guttered{display:block}.el-col-sm-offset-20{margin-left:83.3333333333%}.el-col-sm-pull-20{position:relative;right:83.3333333333%}.el-col-sm-push-20{left:83.3333333333%;position:relative}.el-col-sm-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-sm-21.is-guttered{display:block}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{left:87.5%;position:relative}.el-col-sm-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-sm-22.is-guttered{display:block}.el-col-sm-offset-22{margin-left:91.6666666667%}.el-col-sm-pull-22{position:relative;right:91.6666666667%}.el-col-sm-push-22{left:91.6666666667%;position:relative}.el-col-sm-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-sm-23.is-guttered{display:block}.el-col-sm-offset-23{margin-left:95.8333333333%}.el-col-sm-pull-23{position:relative;right:95.8333333333%}.el-col-sm-push-23{left:95.8333333333%;position:relative}.el-col-sm-24{display:block;flex:0 0 100%;max-width:100%}.el-col-sm-24.is-guttered{display:block}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{left:100%;position:relative}}@media only screen and (min-width:992px){.el-col-md-0{display:none;flex:0 0 0%;max-width:0}.el-col-md-0.is-guttered{display:none}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{left:0;position:relative}.el-col-md-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-md-1,.el-col-md-1.is-guttered{display:block}.el-col-md-offset-1{margin-left:4.1666666667%}.el-col-md-pull-1{position:relative;right:4.1666666667%}.el-col-md-push-1{left:4.1666666667%;position:relative}.el-col-md-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-md-2,.el-col-md-2.is-guttered{display:block}.el-col-md-offset-2{margin-left:8.3333333333%}.el-col-md-pull-2{position:relative;right:8.3333333333%}.el-col-md-push-2{left:8.3333333333%;position:relative}.el-col-md-3{flex:0 0 12.5%;max-width:12.5%}.el-col-md-3,.el-col-md-3.is-guttered{display:block}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{left:12.5%;position:relative}.el-col-md-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-md-4,.el-col-md-4.is-guttered{display:block}.el-col-md-offset-4{margin-left:16.6666666667%}.el-col-md-pull-4{position:relative;right:16.6666666667%}.el-col-md-push-4{left:16.6666666667%;position:relative}.el-col-md-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-md-5,.el-col-md-5.is-guttered{display:block}.el-col-md-offset-5{margin-left:20.8333333333%}.el-col-md-pull-5{position:relative;right:20.8333333333%}.el-col-md-push-5{left:20.8333333333%;position:relative}.el-col-md-6{flex:0 0 25%;max-width:25%}.el-col-md-6,.el-col-md-6.is-guttered{display:block}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{left:25%;position:relative}.el-col-md-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-md-7,.el-col-md-7.is-guttered{display:block}.el-col-md-offset-7{margin-left:29.1666666667%}.el-col-md-pull-7{position:relative;right:29.1666666667%}.el-col-md-push-7{left:29.1666666667%;position:relative}.el-col-md-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-md-8,.el-col-md-8.is-guttered{display:block}.el-col-md-offset-8{margin-left:33.3333333333%}.el-col-md-pull-8{position:relative;right:33.3333333333%}.el-col-md-push-8{left:33.3333333333%;position:relative}.el-col-md-9{flex:0 0 37.5%;max-width:37.5%}.el-col-md-9,.el-col-md-9.is-guttered{display:block}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{left:37.5%;position:relative}.el-col-md-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-md-10.is-guttered{display:block}.el-col-md-offset-10{margin-left:41.6666666667%}.el-col-md-pull-10{position:relative;right:41.6666666667%}.el-col-md-push-10{left:41.6666666667%;position:relative}.el-col-md-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-md-11.is-guttered{display:block}.el-col-md-offset-11{margin-left:45.8333333333%}.el-col-md-pull-11{position:relative;right:45.8333333333%}.el-col-md-push-11{left:45.8333333333%;position:relative}.el-col-md-12{display:block;flex:0 0 50%;max-width:50%}.el-col-md-12.is-guttered{display:block}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{left:50%;position:relative}.el-col-md-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-md-13.is-guttered{display:block}.el-col-md-offset-13{margin-left:54.1666666667%}.el-col-md-pull-13{position:relative;right:54.1666666667%}.el-col-md-push-13{left:54.1666666667%;position:relative}.el-col-md-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-md-14.is-guttered{display:block}.el-col-md-offset-14{margin-left:58.3333333333%}.el-col-md-pull-14{position:relative;right:58.3333333333%}.el-col-md-push-14{left:58.3333333333%;position:relative}.el-col-md-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-md-15.is-guttered{display:block}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{left:62.5%;position:relative}.el-col-md-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-md-16.is-guttered{display:block}.el-col-md-offset-16{margin-left:66.6666666667%}.el-col-md-pull-16{position:relative;right:66.6666666667%}.el-col-md-push-16{left:66.6666666667%;position:relative}.el-col-md-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-md-17.is-guttered{display:block}.el-col-md-offset-17{margin-left:70.8333333333%}.el-col-md-pull-17{position:relative;right:70.8333333333%}.el-col-md-push-17{left:70.8333333333%;position:relative}.el-col-md-18{display:block;flex:0 0 75%;max-width:75%}.el-col-md-18.is-guttered{display:block}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{left:75%;position:relative}.el-col-md-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-md-19.is-guttered{display:block}.el-col-md-offset-19{margin-left:79.1666666667%}.el-col-md-pull-19{position:relative;right:79.1666666667%}.el-col-md-push-19{left:79.1666666667%;position:relative}.el-col-md-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-md-20.is-guttered{display:block}.el-col-md-offset-20{margin-left:83.3333333333%}.el-col-md-pull-20{position:relative;right:83.3333333333%}.el-col-md-push-20{left:83.3333333333%;position:relative}.el-col-md-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-md-21.is-guttered{display:block}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{left:87.5%;position:relative}.el-col-md-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-md-22.is-guttered{display:block}.el-col-md-offset-22{margin-left:91.6666666667%}.el-col-md-pull-22{position:relative;right:91.6666666667%}.el-col-md-push-22{left:91.6666666667%;position:relative}.el-col-md-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-md-23.is-guttered{display:block}.el-col-md-offset-23{margin-left:95.8333333333%}.el-col-md-pull-23{position:relative;right:95.8333333333%}.el-col-md-push-23{left:95.8333333333%;position:relative}.el-col-md-24{display:block;flex:0 0 100%;max-width:100%}.el-col-md-24.is-guttered{display:block}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{left:100%;position:relative}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;flex:0 0 0%;max-width:0}.el-col-lg-0.is-guttered{display:none}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{left:0;position:relative}.el-col-lg-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-lg-1,.el-col-lg-1.is-guttered{display:block}.el-col-lg-offset-1{margin-left:4.1666666667%}.el-col-lg-pull-1{position:relative;right:4.1666666667%}.el-col-lg-push-1{left:4.1666666667%;position:relative}.el-col-lg-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-lg-2,.el-col-lg-2.is-guttered{display:block}.el-col-lg-offset-2{margin-left:8.3333333333%}.el-col-lg-pull-2{position:relative;right:8.3333333333%}.el-col-lg-push-2{left:8.3333333333%;position:relative}.el-col-lg-3{flex:0 0 12.5%;max-width:12.5%}.el-col-lg-3,.el-col-lg-3.is-guttered{display:block}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{left:12.5%;position:relative}.el-col-lg-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-lg-4,.el-col-lg-4.is-guttered{display:block}.el-col-lg-offset-4{margin-left:16.6666666667%}.el-col-lg-pull-4{position:relative;right:16.6666666667%}.el-col-lg-push-4{left:16.6666666667%;position:relative}.el-col-lg-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-lg-5,.el-col-lg-5.is-guttered{display:block}.el-col-lg-offset-5{margin-left:20.8333333333%}.el-col-lg-pull-5{position:relative;right:20.8333333333%}.el-col-lg-push-5{left:20.8333333333%;position:relative}.el-col-lg-6{flex:0 0 25%;max-width:25%}.el-col-lg-6,.el-col-lg-6.is-guttered{display:block}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{left:25%;position:relative}.el-col-lg-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-lg-7,.el-col-lg-7.is-guttered{display:block}.el-col-lg-offset-7{margin-left:29.1666666667%}.el-col-lg-pull-7{position:relative;right:29.1666666667%}.el-col-lg-push-7{left:29.1666666667%;position:relative}.el-col-lg-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-lg-8,.el-col-lg-8.is-guttered{display:block}.el-col-lg-offset-8{margin-left:33.3333333333%}.el-col-lg-pull-8{position:relative;right:33.3333333333%}.el-col-lg-push-8{left:33.3333333333%;position:relative}.el-col-lg-9{flex:0 0 37.5%;max-width:37.5%}.el-col-lg-9,.el-col-lg-9.is-guttered{display:block}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{left:37.5%;position:relative}.el-col-lg-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-lg-10.is-guttered{display:block}.el-col-lg-offset-10{margin-left:41.6666666667%}.el-col-lg-pull-10{position:relative;right:41.6666666667%}.el-col-lg-push-10{left:41.6666666667%;position:relative}.el-col-lg-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-lg-11.is-guttered{display:block}.el-col-lg-offset-11{margin-left:45.8333333333%}.el-col-lg-pull-11{position:relative;right:45.8333333333%}.el-col-lg-push-11{left:45.8333333333%;position:relative}.el-col-lg-12{display:block;flex:0 0 50%;max-width:50%}.el-col-lg-12.is-guttered{display:block}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{left:50%;position:relative}.el-col-lg-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-lg-13.is-guttered{display:block}.el-col-lg-offset-13{margin-left:54.1666666667%}.el-col-lg-pull-13{position:relative;right:54.1666666667%}.el-col-lg-push-13{left:54.1666666667%;position:relative}.el-col-lg-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-lg-14.is-guttered{display:block}.el-col-lg-offset-14{margin-left:58.3333333333%}.el-col-lg-pull-14{position:relative;right:58.3333333333%}.el-col-lg-push-14{left:58.3333333333%;position:relative}.el-col-lg-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-lg-15.is-guttered{display:block}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{left:62.5%;position:relative}.el-col-lg-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-lg-16.is-guttered{display:block}.el-col-lg-offset-16{margin-left:66.6666666667%}.el-col-lg-pull-16{position:relative;right:66.6666666667%}.el-col-lg-push-16{left:66.6666666667%;position:relative}.el-col-lg-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-lg-17.is-guttered{display:block}.el-col-lg-offset-17{margin-left:70.8333333333%}.el-col-lg-pull-17{position:relative;right:70.8333333333%}.el-col-lg-push-17{left:70.8333333333%;position:relative}.el-col-lg-18{display:block;flex:0 0 75%;max-width:75%}.el-col-lg-18.is-guttered{display:block}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{left:75%;position:relative}.el-col-lg-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-lg-19.is-guttered{display:block}.el-col-lg-offset-19{margin-left:79.1666666667%}.el-col-lg-pull-19{position:relative;right:79.1666666667%}.el-col-lg-push-19{left:79.1666666667%;position:relative}.el-col-lg-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-lg-20.is-guttered{display:block}.el-col-lg-offset-20{margin-left:83.3333333333%}.el-col-lg-pull-20{position:relative;right:83.3333333333%}.el-col-lg-push-20{left:83.3333333333%;position:relative}.el-col-lg-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-lg-21.is-guttered{display:block}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{left:87.5%;position:relative}.el-col-lg-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-lg-22.is-guttered{display:block}.el-col-lg-offset-22{margin-left:91.6666666667%}.el-col-lg-pull-22{position:relative;right:91.6666666667%}.el-col-lg-push-22{left:91.6666666667%;position:relative}.el-col-lg-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-lg-23.is-guttered{display:block}.el-col-lg-offset-23{margin-left:95.8333333333%}.el-col-lg-pull-23{position:relative;right:95.8333333333%}.el-col-lg-push-23{left:95.8333333333%;position:relative}.el-col-lg-24{display:block;flex:0 0 100%;max-width:100%}.el-col-lg-24.is-guttered{display:block}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{left:100%;position:relative}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;flex:0 0 0%;max-width:0}.el-col-xl-0.is-guttered{display:none}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{left:0;position:relative}.el-col-xl-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-xl-1,.el-col-xl-1.is-guttered{display:block}.el-col-xl-offset-1{margin-left:4.1666666667%}.el-col-xl-pull-1{position:relative;right:4.1666666667%}.el-col-xl-push-1{left:4.1666666667%;position:relative}.el-col-xl-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-xl-2,.el-col-xl-2.is-guttered{display:block}.el-col-xl-offset-2{margin-left:8.3333333333%}.el-col-xl-pull-2{position:relative;right:8.3333333333%}.el-col-xl-push-2{left:8.3333333333%;position:relative}.el-col-xl-3{flex:0 0 12.5%;max-width:12.5%}.el-col-xl-3,.el-col-xl-3.is-guttered{display:block}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{left:12.5%;position:relative}.el-col-xl-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-xl-4,.el-col-xl-4.is-guttered{display:block}.el-col-xl-offset-4{margin-left:16.6666666667%}.el-col-xl-pull-4{position:relative;right:16.6666666667%}.el-col-xl-push-4{left:16.6666666667%;position:relative}.el-col-xl-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-xl-5,.el-col-xl-5.is-guttered{display:block}.el-col-xl-offset-5{margin-left:20.8333333333%}.el-col-xl-pull-5{position:relative;right:20.8333333333%}.el-col-xl-push-5{left:20.8333333333%;position:relative}.el-col-xl-6{flex:0 0 25%;max-width:25%}.el-col-xl-6,.el-col-xl-6.is-guttered{display:block}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{left:25%;position:relative}.el-col-xl-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-xl-7,.el-col-xl-7.is-guttered{display:block}.el-col-xl-offset-7{margin-left:29.1666666667%}.el-col-xl-pull-7{position:relative;right:29.1666666667%}.el-col-xl-push-7{left:29.1666666667%;position:relative}.el-col-xl-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-xl-8,.el-col-xl-8.is-guttered{display:block}.el-col-xl-offset-8{margin-left:33.3333333333%}.el-col-xl-pull-8{position:relative;right:33.3333333333%}.el-col-xl-push-8{left:33.3333333333%;position:relative}.el-col-xl-9{flex:0 0 37.5%;max-width:37.5%}.el-col-xl-9,.el-col-xl-9.is-guttered{display:block}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{left:37.5%;position:relative}.el-col-xl-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-xl-10.is-guttered{display:block}.el-col-xl-offset-10{margin-left:41.6666666667%}.el-col-xl-pull-10{position:relative;right:41.6666666667%}.el-col-xl-push-10{left:41.6666666667%;position:relative}.el-col-xl-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-xl-11.is-guttered{display:block}.el-col-xl-offset-11{margin-left:45.8333333333%}.el-col-xl-pull-11{position:relative;right:45.8333333333%}.el-col-xl-push-11{left:45.8333333333%;position:relative}.el-col-xl-12{display:block;flex:0 0 50%;max-width:50%}.el-col-xl-12.is-guttered{display:block}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{left:50%;position:relative}.el-col-xl-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-xl-13.is-guttered{display:block}.el-col-xl-offset-13{margin-left:54.1666666667%}.el-col-xl-pull-13{position:relative;right:54.1666666667%}.el-col-xl-push-13{left:54.1666666667%;position:relative}.el-col-xl-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-xl-14.is-guttered{display:block}.el-col-xl-offset-14{margin-left:58.3333333333%}.el-col-xl-pull-14{position:relative;right:58.3333333333%}.el-col-xl-push-14{left:58.3333333333%;position:relative}.el-col-xl-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-xl-15.is-guttered{display:block}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{left:62.5%;position:relative}.el-col-xl-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-xl-16.is-guttered{display:block}.el-col-xl-offset-16{margin-left:66.6666666667%}.el-col-xl-pull-16{position:relative;right:66.6666666667%}.el-col-xl-push-16{left:66.6666666667%;position:relative}.el-col-xl-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-xl-17.is-guttered{display:block}.el-col-xl-offset-17{margin-left:70.8333333333%}.el-col-xl-pull-17{position:relative;right:70.8333333333%}.el-col-xl-push-17{left:70.8333333333%;position:relative}.el-col-xl-18{display:block;flex:0 0 75%;max-width:75%}.el-col-xl-18.is-guttered{display:block}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{left:75%;position:relative}.el-col-xl-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-xl-19.is-guttered{display:block}.el-col-xl-offset-19{margin-left:79.1666666667%}.el-col-xl-pull-19{position:relative;right:79.1666666667%}.el-col-xl-push-19{left:79.1666666667%;position:relative}.el-col-xl-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-xl-20.is-guttered{display:block}.el-col-xl-offset-20{margin-left:83.3333333333%}.el-col-xl-pull-20{position:relative;right:83.3333333333%}.el-col-xl-push-20{left:83.3333333333%;position:relative}.el-col-xl-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-xl-21.is-guttered{display:block}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{left:87.5%;position:relative}.el-col-xl-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-xl-22.is-guttered{display:block}.el-col-xl-offset-22{margin-left:91.6666666667%}.el-col-xl-pull-22{position:relative;right:91.6666666667%}.el-col-xl-push-22{left:91.6666666667%;position:relative}.el-col-xl-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-xl-23.is-guttered{display:block}.el-col-xl-offset-23{margin-left:95.8333333333%}.el-col-xl-pull-23{position:relative;right:95.8333333333%}.el-col-xl-push-23{left:95.8333333333%;position:relative}.el-col-xl-24{display:block;flex:0 0 100%;max-width:100%}.el-col-xl-24.is-guttered{display:block}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{left:100%;position:relative}} diff --git a/nginx/admin/assets/el-col-DD1Vn-Yu.css.gz b/nginx/admin/assets/el-col-DD1Vn-Yu.css.gz new file mode 100644 index 0000000..d9ca36a Binary files /dev/null and b/nginx/admin/assets/el-col-DD1Vn-Yu.css.gz differ diff --git a/nginx/admin/assets/el-date-picker-panel-BhfPqR_w.css b/nginx/admin/assets/el-date-picker-panel-BhfPqR_w.css new file mode 100644 index 0000000..69d5a1d --- /dev/null +++ b/nginx/admin/assets/el-date-picker-panel-BhfPqR_w.css @@ -0,0 +1 @@ +.el-date-table{font-size:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:var(--el-datepicker-text-color)}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child .el-date-table-cell{border-bottom-left-radius:15px;border-top-left-radius:15px;margin-left:5px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child .el-date-table-cell{border-bottom-right-radius:15px;border-top-right-radius:15px;margin-right:5px}.el-date-table.is-week-mode .el-date-table__row.current .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td{box-sizing:border-box;cursor:pointer;height:30px;padding:4px 0;position:relative;text-align:center;width:32px}.el-date-table td .el-date-table-cell{box-sizing:border-box;height:30px;padding:3px 0}.el-date-table td .el-date-table-cell .el-date-table-cell__text{border-radius:50%;display:block;height:24px;left:50%;line-height:24px;margin:0 auto;position:absolute;transform:translate(-50%);width:24px}.el-date-table td.next-month,.el-date-table td.prev-month{color:var(--el-datepicker-off-text-color)}.el-date-table td.today{position:relative}.el-date-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-date-table td.today.end-date .el-date-table-cell__text,.el-date-table td.today.start-date .el-date-table-cell__text{color:#fff}.el-date-table td.available:hover{color:var(--el-datepicker-hover-text-color)}.el-date-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.current:not(.disabled) .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff}.el-date-table td.current:not(.disabled):focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-date-table td.end-date .el-date-table-cell,.el-date-table td.start-date .el-date-table-cell{color:#fff}.el-date-table td.end-date .el-date-table-cell__text,.el-date-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color)}.el-date-table td.start-date .el-date-table-cell{border-bottom-left-radius:15px;border-top-left-radius:15px;margin-left:5px}.el-date-table td.end-date .el-date-table-cell{border-bottom-right-radius:15px;border-top-right-radius:15px;margin-right:5px}.el-date-table td.disabled .el-date-table-cell{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed;opacity:1}.el-date-table td.selected .el-date-table-cell{border-radius:15px;margin-left:5px;margin-right:5px}.el-date-table td.selected .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);border-radius:15px;color:#fff}.el-date-table td.week{color:var(--el-datepicker-off-text-color);cursor:default;font-size:80%}.el-date-table td:focus{outline:none}.el-date-table th{border-bottom:1px solid var(--el-border-color-lighter);color:var(--el-datepicker-header-text-color);font-weight:400;padding:5px}.el-date-table th.el-date-table__week-header{padding:0;width:24px}.el-month-table{border-collapse:collapse;font-size:12px;margin:-1px}.el-month-table td{cursor:pointer;padding:8px 0;position:relative;text-align:center;width:68px}.el-month-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-month-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-month-table td.today.end-date .el-date-table-cell__text,.el-month-table td.today.start-date .el-date-table-cell__text{color:#fff}.el-month-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed}.el-month-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-month-table td .el-date-table-cell__text{border-radius:18px;color:var(--el-datepicker-text-color);display:block;height:36px;left:50%;line-height:36px;margin:0 auto;position:absolute;transform:translate(-50%);width:54px}.el-month-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-month-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-month-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-month-table td.end-date .el-date-table-cell,.el-month-table td.start-date .el-date-table-cell{color:#fff}.el-month-table td.end-date .el-date-table-cell__text,.el-month-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff}.el-month-table td.start-date .el-date-table-cell{border-bottom-left-radius:24px;border-top-left-radius:24px;margin-left:3px}.el-month-table td.end-date .el-date-table-cell{border-bottom-right-radius:24px;border-top-right-radius:24px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell{border-radius:24px;margin-left:3px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff}.el-month-table td:focus-visible{outline:none}.el-month-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-year-table{border-collapse:collapse;font-size:12px;margin:-1px}.el-year-table .el-icon{color:var(--el-datepicker-icon-color)}.el-year-table td{cursor:pointer;padding:8px 0;position:relative;text-align:center;width:68px}.el-year-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-year-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-year-table td.today.end-date .el-date-table-cell__text,.el-year-table td.today.start-date .el-date-table-cell__text{color:#fff}.el-year-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed}.el-year-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-year-table td .el-date-table-cell__text{border-radius:18px;color:var(--el-datepicker-text-color);display:block;height:36px;left:50%;line-height:36px;margin:0 auto;position:absolute;transform:translate(-50%);width:60px}.el-year-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-year-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-year-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-year-table td.end-date .el-date-table-cell,.el-year-table td.start-date .el-date-table-cell{color:#fff}.el-year-table td.end-date .el-date-table-cell__text,.el-year-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff}.el-year-table td.start-date .el-date-table-cell{border-bottom-left-radius:24px;border-top-left-radius:24px}.el-year-table td.end-date .el-date-table-cell{border-bottom-right-radius:24px;border-top-right-radius:24px}.el-year-table td.current:not(.disabled) .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff}.el-year-table td:focus-visible{outline:none}.el-year-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{display:inline-block;max-height:192px;overflow:auto;position:relative;vertical-align:top;width:50%}.el-time-spinner__wrapper.el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;overflow:hidden;text-align:center}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:default}.el-time-spinner__arrow{color:var(--el-text-color-secondary);cursor:pointer;font-size:12px;height:30px;left:0;line-height:30px;position:absolute;text-align:center;width:100%;z-index:var(--el-index-normal)}.el-time-spinner__arrow:hover{color:var(--el-color-primary)}.el-time-spinner__arrow.arrow-up{top:10px}.el-time-spinner__arrow.arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__list{list-style:none;margin:0}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";display:block;height:80px;width:100%}.el-time-spinner__item{color:var(--el-text-color-regular);font-size:12px;height:32px;line-height:32px}.el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:pointer}.el-time-spinner__item.is-active:not(.is-disabled){color:var(--el-text-color-primary);font-weight:700}.el-time-spinner__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transform-origin:center top;transition:var(--el-transition-md-fade)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transform-origin:center bottom;transition:var(--el-transition-md-fade)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transform-origin:top left;transition:var(--el-transition-md-fade)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-picker__popper{--el-datepicker-border-color:var(--el-disabled-border-color)}.el-picker__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-picker__popper.el-popper,.el-picker__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-datepicker-border-color)}.el-picker__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-date-editor{--el-date-editor-width:220px;--el-date-editor-monthrange-width:300px;--el-date-editor-daterange-width:350px;--el-date-editor-datetimerange-width:400px;--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;position:relative;text-align:left;vertical-align:middle}.el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-date-editor.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-date-editor.el-input,.el-date-editor.el-input__wrapper{height:var(--el-input-height,var(--el-component-size));width:var(--el-date-editor-width)}.el-date-editor--monthrange{--el-date-editor-width:var(--el-date-editor-monthrange-width)}.el-date-editor--daterange,.el-date-editor--timerange{--el-date-editor-width:var(--el-date-editor-daterange-width)}.el-date-editor--datetimerange{--el-date-editor-width:var(--el-date-editor-datetimerange-width)}.el-date-editor--dates .el-input__wrapper{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .clear-icon,.el-date-editor .close-icon{cursor:pointer}.el-date-editor .clear-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__icon{color:var(--el-text-color-placeholder);float:left;font-size:14px;height:inherit}.el-date-editor .el-range__icon svg{vertical-align:middle}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--el-text-color-regular);display:inline-block;font-size:var(--el-font-size-base);height:30px;line-height:30px;margin:0;outline:none;padding:0;text-align:center;width:39%}.el-date-editor .el-range-input::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-input::placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-separator{align-items:center;color:var(--el-text-color-primary);display:inline-flex;flex:1;font-size:14px;height:100%;justify-content:center;margin:0;overflow-wrap:break-word;padding:0 5px}.el-date-editor .el-range__close-icon{color:var(--el-text-color-placeholder);cursor:pointer;font-size:14px;height:inherit;width:unset}.el-date-editor .el-range__close-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__close-icon svg{vertical-align:middle}.el-date-editor .el-range__close-icon--hidden{opacity:0;visibility:hidden}.el-range-editor.el-input__wrapper{align-items:center;display:inline-flex;padding:0 10px;vertical-align:middle}.el-range-editor.is-active,.el-range-editor.is-active:hover{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-range-editor--large{line-height:var(--el-component-size-large)}.el-range-editor--large.el-input__wrapper{height:var(--el-component-size-large)}.el-range-editor--large .el-range-separator{font-size:14px;line-height:40px}.el-range-editor--large .el-range-input{font-size:14px;height:38px;line-height:38px}.el-range-editor--small{line-height:var(--el-component-size-small)}.el-range-editor--small.el-input__wrapper{height:var(--el-component-size-small)}.el-range-editor--small .el-range-separator{font-size:12px;line-height:24px}.el-range-editor--small .el-range-input{font-size:12px;height:22px;line-height:22px}.el-range-editor.is-disabled{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled,.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:var(--el-disabled-border-color)}.el-range-editor.is-disabled input{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled input::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled input::placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled .el-range-separator{color:var(--el-disabled-text-color)}.el-picker-panel{background:var(--el-bg-color-overlay);border-radius:var(--el-popper-border-radius,var(--el-border-radius-base));color:var(--el-text-color-regular);line-height:30px}.el-picker-panel .el-time-panel{background-color:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light);margin:5px 0}.el-picker-panel__body-wrapper:after,.el-picker-panel__body:after{clear:both;content:"";display:table}.el-picker-panel__content{margin:15px;position:relative}.el-picker-panel__footer{background-color:var(--el-bg-color-overlay);border-top:1px solid var(--el-datepicker-inner-border-color);font-size:0;padding:4px 12px;position:relative;text-align:right}.el-picker-panel__shortcut{background-color:transparent;border:0;color:var(--el-datepicker-text-color);cursor:pointer;display:block;font-size:14px;line-height:28px;outline:none;padding-left:12px;text-align:left;width:100%}.el-picker-panel__shortcut:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:var(--el-datepicker-active-color)}.el-picker-panel__btn{background-color:transparent;border:1px solid var(--el-fill-color-darker);border-radius:2px;color:var(--el-text-color-primary);cursor:pointer;font-size:12px;line-height:24px;outline:none;padding:0 20px}.el-picker-panel__btn[disabled]{color:var(--el-text-color-disabled);cursor:not-allowed}.el-picker-panel__icon-btn{background:transparent;border:0;color:var(--el-datepicker-icon-color);cursor:pointer;font-size:12px;margin-top:8px;outline:none}.el-picker-panel__icon-btn:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn:focus-visible{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn.is-disabled{color:var(--el-text-color-disabled)}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__icon-btn.is-disabled .el-icon{cursor:inherit}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel.is-disabled .el-picker-panel__prev-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__prev-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__prev-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__next-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__next-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__next-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__icon-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__icon-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__icon-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__shortcut{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__shortcut:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__shortcut .el-icon{cursor:inherit}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);bottom:0;box-sizing:border-box;overflow:auto;padding-top:6px;position:absolute;top:0;width:110px}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{display:table-cell;padding:0 5px;position:relative}.el-date-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;display:table;font-size:12px;padding:8px 5px 5px;position:relative;width:100%}.el-date-picker__header{padding:12px 12px 0;text-align:center}.el-date-picker__header--bordered{border-bottom:1px solid var(--el-border-color-lighter);margin-bottom:0;padding-bottom:12px}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{color:var(--el-text-color-regular);cursor:pointer;font-size:16px;font-weight:500;line-height:22px;padding:0 5px;text-align:center}.el-date-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{cursor:pointer;float:left;line-height:30px;margin-left:10px}.el-date-picker .el-time-panel{position:absolute}.el-date-picker.is-disabled .el-date-picker__header-label{color:var(--el-text-color-disabled)}.el-date-picker.is-disabled .el-date-picker__header-label:hover{cursor:not-allowed}.el-date-picker.is-disabled .el-date-picker__header-label .el-icon{cursor:inherit}.el-date-range-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{height:28px;position:relative;text-align:center}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__header-label{color:var(--el-text-color-regular);cursor:pointer;font-size:16px;font-weight:500;line-height:22px;padding:0 5px;text-align:center}.el-date-range-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-range-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-range-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-range-picker__content{box-sizing:border-box;display:table-cell;margin:0;padding:16px;width:50%}.el-date-range-picker__content.is-left{border-right:1px solid var(--el-datepicker-inner-border-color)}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;display:table;font-size:12px;padding:8px 5px 5px;position:relative;width:100%}.el-date-range-picker__time-header>.el-icon-arrow-right{color:var(--el-datepicker-icon-color);display:table-cell;font-size:20px;vertical-align:middle}.el-date-range-picker__time-picker-wrap{display:table-cell;padding:0 5px;position:relative}.el-date-range-picker__time-picker-wrap .el-picker-panel{background:#fff;position:absolute;right:0;top:13px;z-index:1}.el-date-range-picker__time-picker-wrap .el-time-panel{position:absolute}.el-date-range-picker.is-disabled .el-date-range-picker__header-label{color:var(--el-text-color-disabled)}.el-date-range-picker.is-disabled .el-date-range-picker__header-label:hover{cursor:not-allowed}.el-date-range-picker.is-disabled .el-date-range-picker__header-label .el-icon{cursor:inherit}.el-time-range-picker{overflow:visible;width:354px}.el-time-range-picker__content{padding:10px;position:relative;text-align:center;z-index:1}.el-time-range-picker__cell{box-sizing:border-box;display:inline-block;margin:0;padding:4px 7px 7px;width:50%}.el-time-range-picker__header{font-size:14px;margin-bottom:5px;text-align:center}.el-time-range-picker__body{border:1px solid var(--el-datepicker-border-color);border-radius:2px}.el-time-panel{border-radius:2px;box-sizing:content-box;left:0;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:180px;z-index:var(--el-index-top)}.el-time-panel__content{font-size:0;overflow:hidden;position:relative}.el-time-panel__content:after,.el-time-panel__content:before{box-sizing:border-box;content:"";height:32px;left:0;margin-top:-16px;padding-top:6px;position:absolute;right:0;text-align:left;top:50%;z-index:-1}.el-time-panel__content:after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content:before{border-bottom:1px solid var(--el-border-color-light);border-top:1px solid var(--el-border-color-light);margin-left:12%;margin-right:12%;padding-left:50%}.el-time-panel__content.has-seconds:after{left:66.6666666667%}.el-time-panel__content.has-seconds:before{padding-left:33.3333333333%}.el-time-panel__footer{border-top:1px solid var(--el-timepicker-inner-border-color,var(--el-border-color-light));box-sizing:border-box;height:36px;line-height:25px;padding:4px;text-align:right}.el-time-panel__btn{background-color:transparent;border:none;color:var(--el-text-color-primary);cursor:pointer;font-size:12px;line-height:28px;margin:0 5px;outline:none;padding:0 5px}.el-time-panel__btn.confirm{color:var(--el-timepicker-active-color,var(--el-color-primary));font-weight:800}.el-picker-panel.is-border{border:1px solid var(--el-border-color-lighter)}.el-picker-panel.is-border .el-picker-panel__body-wrapper{position:relative}.el-picker-panel.is-border.el-picker-panel [slot=sidebar],.el-picker-panel.is-border.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;height:100%;overflow:auto;padding-top:6px;position:absolute;top:0;width:110px} diff --git a/nginx/admin/assets/el-date-picker-panel-BhfPqR_w.css.gz b/nginx/admin/assets/el-date-picker-panel-BhfPqR_w.css.gz new file mode 100644 index 0000000..609ea01 Binary files /dev/null and b/nginx/admin/assets/el-date-picker-panel-BhfPqR_w.css.gz differ diff --git a/nginx/admin/assets/el-descriptions-item-o9ObloqJ.css b/nginx/admin/assets/el-descriptions-item-o9ObloqJ.css new file mode 100644 index 0000000..9b53a82 --- /dev/null +++ b/nginx/admin/assets/el-descriptions-item-o9ObloqJ.css @@ -0,0 +1 @@ +.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;color:var(--el-text-color-primary);font-size:var(--el-font-size-base)}.el-descriptions__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:700}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;font-size:14px;line-height:23px;text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{background:var(--el-descriptions-item-bordered-label-background);color:var(--el-text-color-regular);font-weight:700}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px} diff --git a/nginx/admin/assets/el-dialog-DyK7vRzj.css b/nginx/admin/assets/el-dialog-DyK7vRzj.css new file mode 100644 index 0000000..c8c6951 --- /dev/null +++ b/nginx/admin/assets/el-dialog-DyK7vRzj.css @@ -0,0 +1 @@ +:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{background:var(--el-popup-modal-bg-color);height:100%;left:0;opacity:var(--el-popup-modal-opacity);position:fixed;top:0;width:100%}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:16px;--el-dialog-border-radius:var(--el-border-radius-base);background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;margin:var(--el-dialog-margin-top,15vh) auto 50px;overflow-wrap:break-word;padding:var(--el-dialog-padding-primary);position:relative;width:var(--el-dialog-width,50%)}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;border-radius:0;height:100%;margin-bottom:0;overflow:auto}.el-dialog__wrapper{inset:0;margin:0;overflow:auto;position:fixed}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size, 16px))}.el-dialog__headerbtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:48px;outline:none;padding:0;position:absolute;right:0;top:0;width:48px}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{color:var(--el-text-color-primary);font-size:var(--el-dialog-title-font-size);line-height:var(--el-dialog-font-line-height)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{box-sizing:border-box;padding-top:var(--el-dialog-padding-primary);text-align:right}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-modal-dialog.is-penetrable{pointer-events:none}.el-modal-dialog.is-penetrable .el-dialog{pointer-events:auto}.el-overlay-dialog{inset:0;overflow:auto;position:fixed}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes dialog-fade-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}} diff --git a/nginx/admin/assets/el-divider-BUtF_RGI.css b/nginx/admin/assets/el-divider-BUtF_RGI.css new file mode 100644 index 0000000..540fdf9 --- /dev/null +++ b/nginx/admin/assets/el-divider-BUtF_RGI.css @@ -0,0 +1 @@ +.el-divider{position:relative}.el-divider--horizontal{border-top:1px var(--el-border-color) var(--el-border-style);display:block;height:1px;margin:24px 0;width:100%}.el-divider--vertical{border-left:1px var(--el-border-color) var(--el-border-style);display:inline-block;height:1em;margin:0 8px;position:relative;vertical-align:middle;width:1px}.el-divider__text{background-color:var(--el-bg-color);color:var(--el-text-color-primary);font-size:14px;font-weight:500;padding:0 20px;position:absolute}.el-divider__text.is-left{left:20px;transform:translateY(-50%)}.el-divider__text.is-center{left:50%;transform:translate(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;transform:translateY(-50%)} diff --git a/nginx/admin/assets/el-drawer-BhCnIJJ3.css b/nginx/admin/assets/el-drawer-BhCnIJJ3.css new file mode 100644 index 0000000..ca16447 --- /dev/null +++ b/nginx/admin/assets/el-drawer-BhCnIJJ3.css @@ -0,0 +1 @@ +.el-overlay.is-drawer{overflow:hidden}.el-drawer{--el-drawer-bg-color:var(--el-dialog-bg-color,var(--el-bg-color));--el-drawer-padding-primary:var(--el-dialog-padding-primary,20px);--el-drawer-dragger-size:8px;background-color:var(--el-drawer-bg-color);box-shadow:var(--el-box-shadow-dark);box-sizing:border-box;display:flex;flex-direction:column;position:absolute;transition:all var(--el-transition-duration)}.el-drawer .btt,.el-drawer .ltr,.el-drawer .rtl,.el-drawer .ttb{transform:translate(0)}.el-drawer__sr-focus:focus{outline:none!important}.el-drawer__header{align-items:center;color:var(--el-text-color-primary);display:flex;margin-bottom:32px;overflow:hidden;padding:var(--el-drawer-padding-primary);padding-bottom:0}.el-drawer__header>:first-child{flex:1}.el-drawer__title{flex:1;font-size:16px;line-height:inherit;margin:0}.el-drawer__footer{overflow:hidden;padding:var(--el-drawer-padding-primary);padding-top:10px;text-align:right}.el-drawer__close-btn{background-color:transparent;border:none;color:inherit;cursor:pointer;display:inline-flex;font-size:var(--el-font-size-extra-large);outline:none}.el-drawer__close-btn:focus i,.el-drawer__close-btn:hover i{color:var(--el-color-primary)}.el-drawer__body{flex:1;overflow:auto;padding:var(--el-drawer-padding-primary)}.el-drawer__body>*{box-sizing:border-box}.el-drawer.is-dragging{transition:none}.el-drawer__dragger{-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-drawer__dragger,.el-drawer__dragger:before{background-color:transparent;position:absolute;transition:all .2s}.el-drawer__dragger:before{content:""}.el-drawer__dragger:hover:before{background-color:var(--el-color-primary)}.el-drawer.ltr,.el-drawer.rtl{bottom:0;height:100%;top:0}.el-drawer.ltr>.el-drawer__dragger,.el-drawer.rtl>.el-drawer__dragger{bottom:0;cursor:ew-resize;height:100%;top:0;width:var(--el-drawer-dragger-size)}.el-drawer.ltr>.el-drawer__dragger:before,.el-drawer.rtl>.el-drawer__dragger:before{bottom:0;top:0;width:3px}.el-drawer.btt,.el-drawer.ttb{left:0;right:0;width:100%}.el-drawer.btt>.el-drawer__dragger,.el-drawer.ttb>.el-drawer__dragger{cursor:ns-resize;height:var(--el-drawer-dragger-size);left:0;right:0;width:100%}.el-drawer.btt>.el-drawer__dragger:before,.el-drawer.ttb>.el-drawer__dragger:before{height:3px;left:0;right:0}.el-drawer.ltr{left:0}.el-drawer.ltr>.el-drawer__dragger{right:0}.el-drawer.ltr>.el-drawer__dragger:before{right:-2px}.el-drawer.rtl{right:0}.el-drawer.rtl>.el-drawer__dragger{left:0}.el-drawer.rtl>.el-drawer__dragger:before{left:-2px}.el-drawer.ttb{top:0}.el-drawer.ttb>.el-drawer__dragger{bottom:0}.el-drawer.ttb>.el-drawer__dragger:before{bottom:-2px}.el-drawer.btt{bottom:0}.el-drawer.btt>.el-drawer__dragger{top:0}.el-drawer.btt>.el-drawer__dragger:before{top:-2px}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-active,.el-drawer-fade-enter-from,.el-drawer-fade-enter-to,.el-drawer-fade-leave-active,.el-drawer-fade-leave-from,.el-drawer-fade-leave-to{overflow:hidden!important}.el-drawer-fade-enter-from,.el-drawer-fade-leave-to{background-color:transparent!important}.el-drawer-fade-enter-from .rtl,.el-drawer-fade-leave-to .rtl{transform:translate(100%)}.el-drawer-fade-enter-from .ltr,.el-drawer-fade-leave-to .ltr{transform:translate(-100%)}.el-drawer-fade-enter-from .ttb,.el-drawer-fade-leave-to .ttb{transform:translateY(-100%)}.el-drawer-fade-enter-from .btt,.el-drawer-fade-leave-to .btt{transform:translateY(100%)} diff --git a/nginx/admin/assets/el-dropdown-item-11ZCvSOX.css b/nginx/admin/assets/el-dropdown-item-11ZCvSOX.css new file mode 100644 index 0000000..ea800b1 --- /dev/null +++ b/nginx/admin/assets/el-dropdown-item-11ZCvSOX.css @@ -0,0 +1 @@ +.el-button-group{display:inline-block;vertical-align:middle}.el-button-group:after,.el-button-group:before{content:"";display:table}.el-button-group:after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.el-button-group>.el-button:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-bottom-left-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base);border-top-left-radius:var(--el-border-radius-base);border-top-right-radius:var(--el-border-radius-base)}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:var(--el-border-radius-round)}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:active,.el-button-group>.el-button:focus,.el-button-group>.el-button:hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-bottom-left-radius:0;border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0}.el-button-group .el-button--primary:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-dropdown{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10;color:var(--el-text-color-regular);display:inline-flex;font-size:var(--el-font-size-base);line-height:1;position:relative;vertical-align:top}.el-dropdown.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-dropdown__popper{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10}.el-dropdown__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-dropdown-menu-box-shadow)}.el-dropdown__popper.el-popper,.el-dropdown__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-dropdown__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-dropdown__popper .el-dropdown-menu{border:none}.el-dropdown__popper .el-dropdown__popper-selfdefine{outline:none}.el-dropdown__popper .el-scrollbar__bar{z-index:calc(var(--el-dropdown-menu-index) + 1)}.el-dropdown__popper .el-dropdown__list{box-sizing:border-box;list-style:none;margin:0;padding:0}.el-dropdown .el-dropdown__caret-button{align-items:center;border-left:none;display:inline-flex;justify-content:center;padding-left:0;padding-right:0;width:32px}.el-dropdown .el-dropdown__caret-button>span{display:inline-flex}.el-dropdown .el-dropdown__caret-button:before{background:var(--el-overlay-color-lighter);bottom:-1px;content:"";display:block;left:0;position:absolute;top:-1px;width:1px}.el-dropdown .el-dropdown__caret-button.el-button:before{background:var(--el-border-color);opacity:.5}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{font-size:inherit;padding-left:0}.el-dropdown .el-dropdown-selfdefine{outline:none}.el-dropdown--large .el-dropdown__caret-button{width:40px}.el-dropdown--small .el-dropdown__caret-button{width:24px}.el-dropdown-menu{background-color:var(--el-bg-color-overlay);border:none;border-radius:var(--el-border-radius-base);box-shadow:none;left:0;list-style:none;margin:0;padding:5px 0;position:relative;top:0;z-index:var(--el-dropdown-menu-index)}.el-dropdown-menu__item{align-items:center;color:var(--el-text-color-regular);cursor:pointer;display:flex;font-size:var(--el-font-size-base);line-height:22px;list-style:none;margin:0;outline:none;padding:5px 16px;white-space:nowrap}.el-dropdown-menu__item:not(.is-disabled):focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:var(--el-dropdown-menuItem-hover-fill);color:var(--el-dropdown-menuItem-hover-color)}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{border-top:1px solid var(--el-border-color-lighter);margin:6px 0}.el-dropdown-menu__item.is-disabled{color:var(--el-text-color-disabled);cursor:not-allowed}.el-dropdown-menu--large{padding:7px 0}.el-dropdown-menu--large .el-dropdown-menu__item{font-size:14px;line-height:22px;padding:7px 20px}.el-dropdown-menu--large .el-dropdown-menu__item--divided{margin:8px 0}.el-dropdown-menu--small{padding:3px 0}.el-dropdown-menu--small .el-dropdown-menu__item{font-size:12px;line-height:20px;padding:2px 12px}.el-dropdown-menu--small .el-dropdown-menu__item--divided{margin:4px 0} diff --git a/nginx/admin/assets/el-dropdown-item-D7SYN_RE.js b/nginx/admin/assets/el-dropdown-item-D7SYN_RE.js new file mode 100644 index 0000000..9c41fdb --- /dev/null +++ b/nginx/admin/assets/el-dropdown-item-D7SYN_RE.js @@ -0,0 +1 @@ +var e=Object.defineProperty,o=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable,r=(o,n,t)=>n in o?e(o,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[n]=t,l=(e,l)=>{for(var a in l||(l={}))n.call(l,a)&&r(e,a,l[a]);if(o)for(var a of o(l))t.call(l,a)&&r(e,a,l[a]);return e};import{a8 as a,at as i,Z as s,a0 as d,d as u,s as c,r as p,a9 as f,c as v,cp as m,p as g,ae as b,ay as w,ct as h,A as y,cY as I,G as E,h as F,e as C,w as R,g as _,cc as T,c_ as x,b as k,i as S,cx as B,a2 as P,q as D,ab as O,ai as K,E as M,a1 as G,bK as A,cB as $,bx as z,bC as L,af as j,_ as H,n as N,f as U,aE as Y,O as J,I as W,dP as q,m as V,cF as Z,aA as Q,az as X}from"./index-BoIUJTA2.js";import{O as ee,E as oe}from"./index-BMeOzN3u.js";import{E as ne}from"./index-Cp4NEpJ7.js";import{c as te,d as re,E as le,a as ae,C as ie,b as se,e as de,f as ue,g as ce,F as pe,L as fe}from"./dropdown-Dk_wSiK6.js";import{c as ve}from"./castArray-nM8ho4U3.js";import{c as me}from"./refs-Cw5r5QN8.js";const ge=a({style:{type:i([String,Array,Object])},currentTabId:{type:i(String)},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:i(String)},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:be,ElCollectionItem:we,COLLECTION_INJECTION_KEY:he,COLLECTION_ITEM_INJECTION_KEY:ye}=te("RovingFocusGroup"),Ie=Symbol("elRovingFocusGroup"),Ee=Symbol("elRovingFocusGroupItem"),Fe={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},Ce=e=>{const{activeElement:o}=document;for(const n of e){if(n===o)return;if(n.focus(),o!==document.activeElement)return}},Re="currentTabIdChange",_e="rovingFocusGroup.entryFocus",Te={bubbles:!1,cancelable:!0},xe=u({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:ge,emits:[Re,"entryFocus"],setup(e,{emit:o}){var n;const t=p(null!=(n=e.currentTabId||e.defaultCurrentTabId)?n:null),r=p(!1),l=p(!1),a=p(),{getItems:i}=f(he,void 0),s=v(()=>[{outline:"none"},e.style]),d=m(o=>{var n;null==(n=e.onMousedown)||n.call(e,o)},()=>{l.value=!0}),u=m(o=>{var n;null==(n=e.onFocus)||n.call(e,o)},e=>{const o=!g(l),{target:n,currentTarget:a}=e;if(n===a&&o&&!g(r)){const e=new Event(_e,Te);if(null==a||a.dispatchEvent(e),!e.defaultPrevented){const e=i().filter(e=>e.focusable),o=[e.find(e=>e.active),e.find(e=>e.id===g(t)),...e].filter(Boolean).map(e=>e.ref);Ce(o)}}l.value=!1}),c=m(o=>{var n;null==(n=e.onBlur)||n.call(e,o)},()=>{r.value=!1});b(Ie,{currentTabbedId:h(t),loop:w(e,"loop"),tabIndex:v(()=>g(r)?-1:0),rovingFocusGroupRef:a,rovingFocusGroupRootStyle:s,orientation:w(e,"orientation"),dir:w(e,"dir"),onItemFocus:e=>{o(Re,e)},onItemShiftTab:()=>{r.value=!0},onBlur:c,onFocus:u,onMousedown:d}),y(()=>e.currentTabId,e=>{t.value=null!=e?e:null}),I(a,_e,(...e)=>{o("entryFocus",...e)})}});var ke=d(u({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:be,ElRovingFocusGroupImpl:d(xe,[["render",function(e,o,n,t,r,l){return c(e.$slots,"default")}],["__file","roving-focus-group-impl.vue"]])}}),[["render",function(e,o,n,t,r,l){const a=E("el-roving-focus-group-impl"),i=E("el-focus-group-collection");return C(),F(i,null,{default:R(()=>[_(a,T(x(e.$attrs)),{default:R(()=>[c(e.$slots,"default")]),_:3},16)]),_:3})}],["__file","roving-focus-group.vue"]]);const Se=Symbol("elDropdown"),Be="elDropdown",{ButtonGroup:Pe}=M;var De=d(u({name:"ElDropdown",components:{ElButton:M,ElButtonGroup:Pe,ElScrollbar:ne,ElDropdownCollection:le,ElTooltip:oe,ElRovingFocusGroup:ke,ElOnlyChild:ee,ElIcon:K,ArrowDown:O},props:re,emits:["visible-change","click","command"],setup(e,{emit:o}){const n=j(),t=G("dropdown"),{t:r}=A(),l=p(),a=p(),i=p(),s=p(),d=p(null),u=p(null),c=p(!1),f=v(()=>({maxHeight:$(e.maxHeight)})),m=v(()=>[t.m(E.value)]),h=v(()=>ve(e.trigger)),y=L().value,I=v(()=>e.id||y);const E=z();b(Se,{contentRef:s,role:v(()=>e.role),triggerId:I,isUsingKeyboard:c,onItemEnter:function(){},onItemLeave:function(){const e=g(s);h.value.includes("hover")&&(null==e||e.focus({preventScroll:!0})),u.value=null}}),b(Be,{instance:n,dropdownSize:E,handleClick:function(){var e;null==(e=i.value)||e.onClose(void 0,0)},commandHandler:function(...e){o("command",...e)},trigger:w(e,"trigger"),hideOnClick:w(e,"hideOnClick")});return{t:r,ns:t,scrollbar:d,wrapStyle:f,dropdownTriggerKls:m,dropdownSize:E,triggerId:I,currentTabId:u,handleCurrentTabIdChange:function(e){u.value=e},handlerMainButtonClick:e=>{o("click",e)},handleEntryFocus:function(e){c.value||(e.preventDefault(),e.stopImmediatePropagation())},handleClose:function(){var e;null==(e=i.value)||e.onClose()},handleOpen:function(){var e;null==(e=i.value)||e.onOpen()},handleBeforeShowTooltip:function(){o("visible-change",!0)},handleShowTooltip:function(e){var o;"keydown"===(null==e?void 0:e.type)&&(null==(o=s.value)||o.focus())},handleBeforeHideTooltip:function(){o("visible-change",!1)},onFocusAfterTrapped:e=>{var o,n;e.preventDefault(),null==(n=null==(o=s.value)?void 0:o.focus)||n.call(o,{preventScroll:!0})},popperRef:i,contentRef:s,triggeringElementRef:l,referenceElementRef:a}}}),[["render",function(e,o,n,t,r,l){var a,i;const s=E("el-dropdown-collection"),d=E("el-roving-focus-group"),u=E("el-scrollbar"),p=E("el-only-child"),f=E("el-tooltip"),v=E("el-button"),m=E("arrow-down"),g=E("el-icon"),b=E("el-button-group");return C(),k("div",{class:D([e.ns.b(),e.ns.is("disabled",e.disabled)])},[_(f,{ref:"popperRef",role:e.role,effect:e.effect,"fallback-placements":["bottom","top"],"popper-options":e.popperOptions,"gpu-acceleration":!1,"manual-mode":!0,placement:e.placement,"popper-class":[e.ns.e("popper"),e.popperClass],"reference-element":null==(a=e.referenceElementRef)?void 0:a.$el,trigger:e.trigger,"trigger-keys":e.triggerKeys,"trigger-target-el":e.contentRef,"show-arrow":e.showArrow,"show-after":"hover"===e.trigger?e.showTimeout:0,"hide-after":"hover"===e.trigger?e.hideTimeout:0,"stop-popper-mouse-event":!1,"virtual-ref":null!=(i=e.virtualRef)?i:e.triggeringElementRef,"virtual-triggering":e.virtualTriggering||e.splitButton,disabled:e.disabled,transition:`${e.ns.namespace.value}-zoom-in-top`,teleported:e.teleported,pure:"","focus-on-target":"",persistent:e.persistent,onBeforeShow:e.handleBeforeShowTooltip,onShow:e.handleShowTooltip,onBeforeHide:e.handleBeforeHideTooltip},B({content:R(()=>[_(u,{ref:"scrollbar","wrap-style":e.wrapStyle,tag:"div","view-class":e.ns.e("list")},{default:R(()=>[_(d,{loop:e.loop,"current-tab-id":e.currentTabId,orientation:"horizontal",onCurrentTabIdChange:e.handleCurrentTabIdChange,onEntryFocus:e.handleEntryFocus},{default:R(()=>[_(s,null,{default:R(()=>[c(e.$slots,"dropdown")]),_:3})]),_:3},8,["loop","current-tab-id","onCurrentTabIdChange","onEntryFocus"])]),_:3},8,["wrap-style","view-class"])]),_:2},[e.splitButton?void 0:{name:"default",fn:R(()=>[_(p,{id:e.triggerId,ref:"triggeringElementRef",role:"button",tabindex:e.tabindex},{default:R(()=>[c(e.$slots,"default")]),_:3},8,["id","tabindex"])])}]),1032,["role","effect","popper-options","placement","popper-class","reference-element","trigger","trigger-keys","trigger-target-el","show-arrow","show-after","hide-after","virtual-ref","virtual-triggering","disabled","transition","teleported","persistent","onBeforeShow","onShow","onBeforeHide"]),e.splitButton?(C(),F(b,{key:0},{default:R(()=>[_(v,P({ref:"referenceElementRef"},e.buttonProps,{size:e.dropdownSize,type:e.type,disabled:e.disabled,tabindex:e.tabindex,onClick:e.handlerMainButtonClick}),{default:R(()=>[c(e.$slots,"default")]),_:3},16,["size","type","disabled","tabindex","onClick"]),_(v,P({id:e.triggerId,ref:"triggeringElementRef"},e.buttonProps,{role:"button",size:e.dropdownSize,type:e.type,class:e.ns.e("caret-button"),disabled:e.disabled,tabindex:e.tabindex,"aria-label":e.t("el.dropdown.toggleDropdown")}),{default:R(()=>[_(g,{class:D(e.ns.e("icon"))},{default:R(()=>[_(m)]),_:1},8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex","aria-label"])]),_:3})):S("v-if",!0)],2)}],["__file","dropdown.vue"]]);var Oe=d(u({components:{ElRovingFocusCollectionItem:we},props:{focusable:{type:Boolean,default:!0},active:Boolean},emits:["mousedown","focus","keydown"],setup(e,{emit:o}){const{currentTabbedId:n,loop:t,onItemFocus:r,onItemShiftTab:l}=f(Ie,void 0),{getItems:a}=f(he,void 0),i=L(),d=p(),u=m(e=>{o("mousedown",e)},o=>{e.focusable?r(g(i)):o.preventDefault()}),c=m(e=>{o("focus",e)},()=>{r(g(i))}),w=m(e=>{o("keydown",e)},e=>{const{shiftKey:o,target:n,currentTarget:r}=e;if(s(e)===H.tab&&o)return void l();if(n!==r)return;const i=(e=>{const o=s(e);return Fe[o]})(e);if(i){e.preventDefault();let o=a().filter(e=>e.focusable).map(e=>e.ref);switch(i){case"last":o.reverse();break;case"prev":case"next":{"prev"===i&&o.reverse();const e=o.indexOf(r);o=t.value?(u=e+1,(d=o).map((e,o)=>d[(o+u)%d.length])):o.slice(e+1);break}}N(()=>{Ce(o)})}var d,u}),h=v(()=>n.value===g(i));return b(Ee,{rovingFocusGroupItemRef:d,tabIndex:v(()=>g(h)?0:-1),handleMousedown:u,handleFocus:c,handleKeydown:w}),{id:i,handleKeydown:w,handleFocus:c,handleMousedown:u}}}),[["render",function(e,o,n,t,r,l){const a=E("el-roving-focus-collection-item");return C(),F(a,{id:e.id,focusable:e.focusable,active:e.active},{default:R(()=>[c(e.$slots,"default")]),_:3},8,["id","focusable","active"])}],["__file","roving-focus-item.vue"]]);const Ke=u({name:"DropdownItemImpl",components:{ElIcon:K},props:ae,emits:["pointermove","pointerleave","click","clickimpl"],setup(e,{emit:o}){const n=G("dropdown"),{role:t}=f(Se,void 0),{collectionItemRef:r}=f(se,void 0),{collectionItemRef:l}=f(ye,void 0),{rovingFocusGroupItemRef:a,tabIndex:i,handleFocus:d,handleKeydown:u,handleMousedown:c}=f(Ee,void 0),p=me(r,l,a),g=v(()=>"menu"===t.value?"menuitem":"navigation"===t.value?"link":"button"),b=m(e=>{const n=s(e);if([H.enter,H.numpadEnter,H.space].includes(n))return e.preventDefault(),e.stopImmediatePropagation(),o("clickimpl",e),!0},u);return{ns:n,itemRef:p,dataset:{[ie]:""},role:g,tabIndex:i,handleFocus:d,handleKeydown:b,handleMousedown:c}}});const Me=()=>{const e=f(Be,{}),o=v(()=>null==e?void 0:e.dropdownSize);return{elDropdown:e,_elDropdownSize:o}};var Ge=d(u({name:"ElDropdownItem",components:{ElDropdownCollectionItem:de,ElRovingFocusItem:Oe,ElDropdownItemImpl:d(Ke,[["render",function(e,o,n,t,r,a){const i=E("el-icon");return C(),k(W,null,[e.divided?(C(),k("li",{key:0,role:"separator",class:D(e.ns.bem("menu","item","divided"))},null,2)):S("v-if",!0),U("li",P({ref:e.itemRef},l(l({},e.dataset),e.$attrs),{"aria-disabled":e.disabled,class:[e.ns.be("menu","item"),e.ns.is("disabled",e.disabled)],tabindex:e.tabIndex,role:e.role,onClick:o=>e.$emit("clickimpl",o),onFocus:e.handleFocus,onKeydown:J(e.handleKeydown,["self"]),onMousedown:e.handleMousedown,onPointermove:o=>e.$emit("pointermove",o),onPointerleave:o=>e.$emit("pointerleave",o)}),[e.icon?(C(),F(i,{key:0},{default:R(()=>[(C(),F(Y(e.icon)))]),_:1})):S("v-if",!0),c(e.$slots,"default")],16,["aria-disabled","tabindex","role","onClick","onFocus","onKeydown","onMousedown","onPointermove","onPointerleave"])],64)}],["__file","dropdown-item-impl.vue"]])},inheritAttrs:!1,props:ae,emits:["pointermove","pointerleave","click"],setup(e,{emit:o,attrs:n}){const{elDropdown:t}=Me(),r=j(),a=p(null),i=v(()=>{var e,o;return null!=(o=null==(e=g(a))?void 0:e.textContent)?o:""}),{onItemEnter:s,onItemLeave:d}=f(Se,void 0),u=m(e=>(o("pointermove",e),e.defaultPrevented),q(o=>{if(e.disabled)return void d(o);const n=o.currentTarget;n===document.activeElement||n.contains(document.activeElement)||(s(o),o.defaultPrevented||null==n||n.focus({preventScroll:!0}))})),c=m(e=>(o("pointerleave",e),e.defaultPrevented),q(d));return{handleClick:m(n=>{if(!e.disabled)return o("click",n),"keydown"!==n.type&&n.defaultPrevented},o=>{var n,l,a;e.disabled?o.stopImmediatePropagation():((null==(n=null==t?void 0:t.hideOnClick)?void 0:n.value)&&(null==(l=t.handleClick)||l.call(t)),null==(a=t.commandHandler)||a.call(t,e.command,r,o))}),handlePointerMove:u,handlePointerLeave:c,textContent:i,propsAndAttrs:v(()=>l(l({},e),n))}}}),[["render",function(e,o,n,t,r,l){var a;const i=E("el-dropdown-item-impl"),s=E("el-roving-focus-item"),d=E("el-dropdown-collection-item");return C(),F(d,{disabled:e.disabled,"text-value":null!=(a=e.textValue)?a:e.textContent},{default:R(()=>[_(s,{focusable:!e.disabled},{default:R(()=>[_(i,P(e.propsAndAttrs,{onPointerleave:e.handlePointerLeave,onPointermove:e.handlePointerMove,onClickimpl:e.handleClick}),{default:R(()=>[c(e.$slots,"default")]),_:3},16,["onPointerleave","onPointermove","onClickimpl"])]),_:3},8,["focusable"])]),_:3},8,["disabled","text-value"])}],["__file","dropdown-item.vue"]]);var Ae=d(u({name:"ElDropdownMenu",props:ue,setup(e){const o=G("dropdown"),{_elDropdownSize:n}=Me(),t=n.value,{focusTrapRef:r,onKeydown:l}=f(Z,void 0),{contentRef:a,role:i,triggerId:d}=f(Se,void 0),{collectionRef:u,getItems:c}=f(ce,void 0),{rovingFocusGroupRef:p,rovingFocusGroupRootStyle:b,tabIndex:w,onBlur:h,onFocus:y,onMousedown:I}=f(Ie,void 0),{collectionRef:E}=f(he,void 0),F=v(()=>[o.b("menu"),o.bm("menu",null==t?void 0:t.value)]),C=me(a,u,r,p,E),R=m(o=>{var n;null==(n=e.onKeydown)||n.call(e,o)},e=>{const{currentTarget:o,target:n}=e,t=s(e);if(o.contains(n),H.tab===t&&e.stopImmediatePropagation(),e.preventDefault(),n!==g(a)||!pe.includes(t))return;const r=c().filter(e=>!e.disabled).map(e=>e.ref);fe.includes(t)&&r.reverse(),Ce(r)});return{size:t,rovingFocusGroupRootStyle:b,tabIndex:w,dropdownKls:F,role:i,triggerId:d,dropdownListWrapperRef:C,handleKeydown:e=>{R(e),l(e)},onBlur:h,onFocus:y,onMousedown:I}}}),[["render",function(e,o,n,t,r,l){return C(),k("ul",{ref:e.dropdownListWrapperRef,class:D(e.dropdownKls),style:V(e.rovingFocusGroupRootStyle),tabindex:-1,role:e.role,"aria-labelledby":e.triggerId,onBlur:e.onBlur,onFocus:e.onFocus,onKeydown:J(e.handleKeydown,["self"]),onMousedown:J(e.onMousedown,["self"])},[c(e.$slots,"default")],46,["role","aria-labelledby","onBlur","onFocus","onKeydown","onMousedown"])}],["__file","dropdown-menu.vue"]]);const $e=X(De,{DropdownItem:Ge,DropdownMenu:Ae}),ze=Q(Ge),Le=Q(Ae);export{Le as E,ze as a,$e as b}; diff --git a/nginx/admin/assets/el-dropdown-item-D7SYN_RE.js.gz b/nginx/admin/assets/el-dropdown-item-D7SYN_RE.js.gz new file mode 100644 index 0000000..e380351 Binary files /dev/null and b/nginx/admin/assets/el-dropdown-item-D7SYN_RE.js.gz differ diff --git a/nginx/admin/assets/el-empty-CV-PB2A2.js b/nginx/admin/assets/el-empty-CV-PB2A2.js new file mode 100644 index 0000000..43edab2 --- /dev/null +++ b/nginx/admin/assets/el-empty-CV-PB2A2.js @@ -0,0 +1 @@ +var l=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,e=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,o=(a,t,e)=>t in a?l(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e,i=(l,a)=>{for(var t in a||(a={}))r.call(a,t)&&o(l,t,a[t]);if(e)for(var t of e(a))s.call(a,t)&&o(l,t,a[t]);return l},n=(l,e)=>a(l,t(e));import{a0 as c,d as f,a1 as p,bC as m,b as d,e as u,f as y,p as g,a8 as v,bK as k,c as $,cB as h,i as b,s as w,g as x,m as B,q as N,v as V,az as O}from"./index-BoIUJTA2.js";const j=f({name:"ImgEmpty"});var G=c(f(n(i({},j),{setup(l){const a=p("empty"),t=m();return(l,e)=>(u(),d("svg",{viewBox:"0 0 79 86",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},[y("defs",null,[y("linearGradient",{id:`linearGradient-1-${g(t)}`,x1:"38.8503086%",y1:"0%",x2:"61.1496914%",y2:"100%"},[y("stop",{"stop-color":`var(${g(a).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,["stop-color"]),y("stop",{"stop-color":`var(${g(a).cssVarBlockName("fill-color-4")})`,offset:"100%"},null,8,["stop-color"])],8,["id"]),y("linearGradient",{id:`linearGradient-2-${g(t)}`,x1:"0%",y1:"9.5%",x2:"100%",y2:"90.5%"},[y("stop",{"stop-color":`var(${g(a).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,["stop-color"]),y("stop",{"stop-color":`var(${g(a).cssVarBlockName("fill-color-6")})`,offset:"100%"},null,8,["stop-color"])],8,["id"]),y("rect",{id:`path-3-${g(t)}`,x:"0",y:"0",width:"17",height:"36"},null,8,["id"])]),y("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[y("g",{transform:"translate(-1268.000000, -535.000000)"},[y("g",{transform:"translate(1268.000000, 535.000000)"},[y("path",{d:"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z",fill:`var(${g(a).cssVarBlockName("fill-color-3")})`},null,8,["fill"]),y("polygon",{fill:`var(${g(a).cssVarBlockName("fill-color-7")})`,transform:"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) ",points:"13 58 53 58 42 45 2 45"},null,8,["fill"]),y("g",{transform:"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)"},[y("polygon",{fill:`var(${g(a).cssVarBlockName("fill-color-7")})`,transform:"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) ",points:"2.84078316e-14 3 18 3 23 7 5 7"},null,8,["fill"]),y("polygon",{fill:`var(${g(a).cssVarBlockName("fill-color-5")})`,points:"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43"},null,8,["fill"]),y("rect",{fill:`url(#linearGradient-1-${g(t)})`,transform:"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) ",x:"38",y:"7",width:"17",height:"36"},null,8,["fill"]),y("polygon",{fill:`var(${g(a).cssVarBlockName("fill-color-2")})`,transform:"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) ",points:"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12"},null,8,["fill"])]),y("rect",{fill:`url(#linearGradient-2-${g(t)})`,x:"13",y:"45",width:"40",height:"36"},null,8,["fill"]),y("g",{transform:"translate(53.000000, 45.000000)"},[y("use",{fill:`var(${g(a).cssVarBlockName("fill-color-8")})`,transform:"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) ","xlink:href":`#path-3-${g(t)}`},null,8,["fill","xlink:href"]),y("polygon",{fill:`var(${g(a).cssVarBlockName("fill-color-9")})`,mask:`url(#mask-4-${g(t)})`,transform:"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) ",points:"7 0 24 0 20 18 7 16.5"},null,8,["fill","mask"])]),y("polygon",{fill:`var(${g(a).cssVarBlockName("fill-color-2")})`,transform:"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) ",points:"62 45 79 45 70 58 53 58"},null,8,["fill"])])])])]))}})),[["__file","img-empty.vue"]]);const C=v({image:{type:String,default:""},imageSize:Number,description:{type:String,default:""}}),E=f({name:"ElEmpty"});const P=O(c(f(n(i({},E),{props:C,setup(l){const a=l,{t:t}=k(),e=p("empty"),r=$(()=>a.description||t("el.table.emptyText")),s=$(()=>({width:h(a.imageSize)}));return(l,a)=>(u(),d("div",{class:N(g(e).b())},[y("div",{class:N(g(e).e("image")),style:B(g(s))},[l.image?(u(),d("img",{key:0,src:l.image,ondragstart:"return false"},null,8,["src"])):w(l.$slots,"image",{key:1},()=>[x(G)])],6),y("div",{class:N(g(e).e("description"))},[l.$slots.description?w(l.$slots,"description",{key:0}):(u(),d("p",{key:1},V(g(r)),1))],2),l.$slots.default?(u(),d("div",{key:0,class:N(g(e).e("bottom"))},[w(l.$slots,"default")],2)):b("v-if",!0)],2))}})),[["__file","empty.vue"]]));export{P as E}; diff --git a/nginx/admin/assets/el-empty-D4ZqTl4F.css b/nginx/admin/assets/el-empty-D4ZqTl4F.css new file mode 100644 index 0000000..a7d4b6b --- /dev/null +++ b/nginx/admin/assets/el-empty-D4ZqTl4F.css @@ -0,0 +1 @@ +.el-empty{--el-empty-padding:40px 0;--el-empty-image-width:160px;--el-empty-description-margin-top:20px;--el-empty-bottom-margin-top:20px;--el-empty-fill-color-0:var(--el-color-white);--el-empty-fill-color-1:#fcfcfd;--el-empty-fill-color-2:#f8f9fb;--el-empty-fill-color-3:#f7f8fc;--el-empty-fill-color-4:#eeeff3;--el-empty-fill-color-5:#edeef2;--el-empty-fill-color-6:#e9ebef;--el-empty-fill-color-7:#e5e7e9;--el-empty-fill-color-8:#e0e3e9;--el-empty-fill-color-9:#d5d7de;align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:var(--el-empty-padding);text-align:center}.el-empty__image{width:var(--el-empty-image-width)}.el-empty__image img{height:100%;-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:top;width:100%}.el-empty__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;height:100%;vertical-align:top;width:100%}.el-empty__description{margin-top:var(--el-empty-description-margin-top)}.el-empty__description p{color:var(--el-text-color-secondary);font-size:var(--el-font-size-base);margin:0}.el-empty__bottom{margin-top:var(--el-empty-bottom-margin-top)} diff --git a/nginx/admin/assets/el-form-item-BWkJzdQ_.css b/nginx/admin/assets/el-form-item-BWkJzdQ_.css new file mode 100644 index 0000000..e9bd19b --- /dev/null +++ b/nginx/admin/assets/el-form-item-BWkJzdQ_.css @@ -0,0 +1 @@ +.el-form{--el-form-label-font-size:var(--el-font-size-base);--el-form-inline-content-width:220px}.el-form--inline .el-form-item{display:inline-flex;margin-right:32px;vertical-align:middle}.el-form--inline.el-form--label-top{display:flex;flex-wrap:wrap}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-form-item{display:flex;--font-size:14px;margin-bottom:18px}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size:12px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--label-left .el-form-item__label{justify-content:flex-start;text-align:left}.el-form-item--label-right .el-form-item__label{justify-content:flex-end;text-align:right}.el-form-item--label-top{display:block}.el-form-item--label-top .el-form-item__label{display:block;height:auto;line-height:22px;margin-bottom:8px;text-align:left;width:-moz-fit-content;width:fit-content}.el-form-item__label-wrap{display:flex}.el-form-item__label{align-items:flex-start;box-sizing:border-box;color:var(--el-text-color-regular);display:inline-flex;flex:0 0 auto;font-size:var(--el-form-label-font-size);height:32px;line-height:32px;padding:0 12px 0 0}.el-form-item__content{align-items:center;display:flex;flex:1;flex-wrap:wrap;font-size:var(--font-size);line-height:32px;min-width:0;position:relative}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);font-size:12px;left:0;line-height:1;padding-top:2px;position:absolute;top:100%}.el-form-item__error--inline{display:inline-block;left:auto;margin-left:10px;position:relative;top:auto}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before{color:var(--el-color-danger);content:"*";margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after{color:var(--el-color-danger);content:"*";margin-left:4px}.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-input__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-select__wrapper,.el-form-item.is-error .el-form-item__content .el-select__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-textarea__inner,.el-form-item.is-error .el-form-item__content .el-textarea__inner.is-focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner:focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__wrapper{box-shadow:inset 0 0 0 1px transparent}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__validateIcon,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__validateIcon{display:none}.el-form-item.is-error .el-form-item__content .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex} diff --git a/nginx/admin/assets/el-image-CtVnJP8l.css b/nginx/admin/assets/el-image-CtVnJP8l.css new file mode 100644 index 0000000..174c23d --- /dev/null +++ b/nginx/admin/assets/el-image-CtVnJP8l.css @@ -0,0 +1 @@ +.el-image__error,.el-image__inner,.el-image__placeholder,.el-image__wrapper{height:100%;width:100%}.el-image{display:inline-block;overflow:hidden;position:relative}.el-image__inner{opacity:1;vertical-align:top}.el-image__inner.is-loading{opacity:0}.el-image__wrapper{left:0;position:absolute;top:0}.el-image__error,.el-image__placeholder{background:var(--el-fill-color-light)}.el-image__error{align-items:center;color:var(--el-text-color-placeholder);display:flex;font-size:14px;justify-content:center;vertical-align:middle}.el-image__preview{cursor:pointer} diff --git a/nginx/admin/assets/el-image-viewer-Ba-UrN8P.css b/nginx/admin/assets/el-image-viewer-Ba-UrN8P.css new file mode 100644 index 0000000..258d0b3 --- /dev/null +++ b/nginx/admin/assets/el-image-viewer-Ba-UrN8P.css @@ -0,0 +1 @@ +.el-image-viewer__wrapper{inset:0;position:fixed}.el-image-viewer__wrapper:focus{outline:none!important}.el-image-viewer__btn{align-items:center;border-radius:50%;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;opacity:.8;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}.el-image-viewer__btn .el-icon{cursor:pointer}.el-image-viewer__close{font-size:40px;height:40px;right:40px;top:40px;width:40px}.el-image-viewer__canvas{align-items:center;display:flex;height:100%;justify-content:center;position:static;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.el-image-viewer__actions{background-color:var(--el-text-color-regular);border-color:#fff;border-radius:22px;bottom:30px;height:44px;left:50%;padding:0 23px;transform:translate(-50%)}.el-image-viewer__actions__inner{align-items:center;color:#fff;cursor:default;display:flex;font-size:23px;gap:22px;height:100%;justify-content:space-around;padding:0 6px;width:100%}.el-image-viewer__actions__divider{margin:0 -6px}.el-image-viewer__progress{bottom:90px;color:#fff;cursor:default;left:50%;transform:translate(-50%)}.el-image-viewer__prev{left:40px}.el-image-viewer__next,.el-image-viewer__prev{background-color:var(--el-text-color-regular);border-color:#fff;color:#fff;font-size:24px;height:44px;top:50%;transform:translateY(-50%);width:44px}.el-image-viewer__next{right:40px;text-indent:2px}.el-image-viewer__close{background-color:var(--el-text-color-regular);border-color:#fff;color:#fff;font-size:24px;height:44px;width:44px}.el-image-viewer__mask{background:#000;height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%}.viewer-fade-enter-active{animation:viewer-fade-in var(--el-transition-duration)}.viewer-fade-leave-active{animation:viewer-fade-out var(--el-transition-duration)}@keyframes viewer-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes viewer-fade-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}} diff --git a/nginx/admin/assets/el-input-number-D6iOyBgb.css b/nginx/admin/assets/el-input-number-D6iOyBgb.css new file mode 100644 index 0000000..a8ffc49 --- /dev/null +++ b/nginx/admin/assets/el-input-number-D6iOyBgb.css @@ -0,0 +1 @@ +.el-input-number{display:inline-flex;line-height:30px;position:relative;vertical-align:middle;width:150px}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;line-height:1;text-align:center}.el-input-number .el-input__inner::-webkit-inner-spin-button,.el-input-number .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-input-number.is-left .el-input__inner{text-align:left}.el-input-number.is-right .el-input__inner{text-align:right}.el-input-number.is-center .el-input__inner{text-align:center}.el-input-number__decrease,.el-input-number__increase{align-items:center;background:var(--el-fill-color-light);bottom:1px;color:var(--el-text-color-regular);cursor:pointer;display:flex;font-size:13px;height:auto;justify-content:center;position:absolute;top:1px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:32px;z-index:1}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:var(--el-color-primary)}.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{border-left:var(--el-border);border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;right:1px}.el-input-number__decrease{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border);left:1px}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{line-height:38px;width:180px}.el-input-number--large .el-input-number__decrease,.el-input-number--large .el-input-number__increase{font-size:14px;width:40px}.el-input-number--large.is-controls-right .el-input--large .el-input__wrapper{padding-right:47px}.el-input-number--large .el-input--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{line-height:22px;width:120px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{font-size:12px;width:24px}.el-input-number--small.is-controls-right .el-input--small .el-input__wrapper{padding-right:31px}.el-input-number--small .el-input--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-bottom:var(--el-border);border-radius:0 var(--el-border-radius-base) 0 0;bottom:auto;left:auto}.el-input-number.is-controls-right .el-input-number__decrease{border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0;border-right:none;left:auto;right:1px;top:auto}.el-input-number.is-controls-right[class*=large] [class*=decrease],.el-input-number.is-controls-right[class*=large] [class*=increase]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{--el-input-number-controls-height:11px} diff --git a/nginx/admin/assets/el-input-tPmZxDKr.css b/nginx/admin/assets/el-input-tPmZxDKr.css new file mode 100644 index 0000000..cce2c0e --- /dev/null +++ b/nginx/admin/assets/el-input-tPmZxDKr.css @@ -0,0 +1 @@ +.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;display:inline-block;font-size:var(--el-font-size-base);position:relative;vertical-align:bottom;width:100%}.el-textarea__inner{-webkit-appearance:none;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;box-sizing:border-box;color:var(--el-input-text-color,var(--el-text-color-regular));display:block;font-family:inherit;font-size:inherit;line-height:1.5;padding:5px 11px;position:relative;resize:vertical;transition:var(--el-transition-box-shadow);width:100%}.el-textarea__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:none}.el-textarea .el-input__count{background:var(--el-fill-color-blank);bottom:5px;color:var(--el-color-info);font-size:12px;line-height:14px;position:absolute;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);box-sizing:border-box;display:inline-flex;font-size:var(--el-font-size-base);line-height:var(--el-input-height);position:relative;vertical-align:middle;width:var(--el-input-width)}.el-input::-webkit-scrollbar{width:6px;z-index:11}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner,.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{align-items:center;color:var(--el-color-info);display:inline-flex;font-size:12px;height:100%}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);display:inline-block;line-height:normal;padding-left:8px}.el-input__wrapper{align-items:center;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;cursor:text;display:inline-flex;flex-grow:1;justify-content:center;padding:1px 11px;transform:translateZ(0);transition:var(--el-transition-box-shadow)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height:calc(var(--el-input-height, 32px) - 2px)}.el-input__inner{-webkit-appearance:none;background:none;border:none;box-sizing:border-box;color:var(--el-input-text-color,var(--el-text-color-regular));flex-grow:1;font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);outline:none;padding:0;width:100%}.el-input__inner:focus{outline:none}.el-input__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:inline-flex;flex-shrink:0;flex-wrap:nowrap;height:100%;line-height:var(--el-input-inner-height);pointer-events:none;text-align:center;transition:all var(--el-transition-duration);white-space:nowrap}.el-input__prefix-inner{align-items:center;display:inline-flex;justify-content:center;pointer-events:all}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:inline-flex;flex-shrink:0;flex-wrap:nowrap;height:100%;line-height:var(--el-input-inner-height);pointer-events:none;text-align:center;transition:all var(--el-transition-duration);white-space:nowrap}.el-input__suffix-inner{align-items:center;display:inline-flex;justify-content:center;pointer-events:all}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{align-items:center;display:flex;height:inherit;justify-content:center;line-height:inherit;margin-left:8px;transition:all var(--el-transition-duration)}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;cursor:not-allowed}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-disabled .el-input__prefix-inner,.el-input.is-disabled .el-input__suffix-inner{pointer-events:none}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height:calc(var(--el-input-height, 40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height:calc(var(--el-input-height, 24px) - 2px)}.el-input-group{align-items:stretch;display:inline-flex;width:100%}.el-input-group__append,.el-input-group__prepend{align-items:center;background-color:var(--el-fill-color-light);border-radius:var(--el-input-border-radius);color:var(--el-color-info);display:inline-flex;justify-content:center;min-height:100%;padding:0 20px;position:relative;white-space:nowrap}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;flex:1;margin:0 -20px}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{background-color:transparent;border-color:transparent;color:inherit}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group__append{border-left:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--prepend>.el-input__wrapper,.el-input-group__append{border-bottom-left-radius:0;border-top-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{border-bottom-right-radius:0;border-top-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group--append>.el-input__wrapper{border-bottom-right-radius:0;border-top-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{border-bottom-left-radius:0;border-top-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-hidden{display:none!important} diff --git a/nginx/admin/assets/el-input-tPmZxDKr.css.gz b/nginx/admin/assets/el-input-tPmZxDKr.css.gz new file mode 100644 index 0000000..117ba03 Binary files /dev/null and b/nginx/admin/assets/el-input-tPmZxDKr.css.gz differ diff --git a/nginx/admin/assets/el-option-BHqzF8z9.css b/nginx/admin/assets/el-option-BHqzF8z9.css new file mode 100644 index 0000000..91bede7 --- /dev/null +++ b/nginx/admin/assets/el-option-BHqzF8z9.css @@ -0,0 +1 @@ +.el-select-dropdown__item{box-sizing:border-box;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-base);height:34px;line-height:34px;overflow:hidden;padding:0 32px 0 20px;position:relative;text-overflow:ellipsis;white-space:nowrap}.el-select-dropdown__item.is-hovering{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.is-selected{color:var(--el-color-primary);font-weight:700}.el-select-dropdown__item.is-disabled{background-color:unset;color:var(--el-text-color-placeholder);cursor:not-allowed}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{background-color:var(--el-color-primary);background-position:50%;background-repeat:no-repeat;border-right:none;border-top:none;content:"";height:12px;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;position:absolute;right:20px;top:50%;transform:translateY(-50%);width:12px}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-disabled:after{background-color:var(--el-text-color-placeholder)} diff --git a/nginx/admin/assets/el-overlay-Db7iXMEX.css b/nginx/admin/assets/el-overlay-Db7iXMEX.css new file mode 100644 index 0000000..4d1392b --- /dev/null +++ b/nginx/admin/assets/el-overlay-Db7iXMEX.css @@ -0,0 +1 @@ +.el-overlay{background-color:var(--el-overlay-color-lighter);height:100%;inset:0;overflow:auto;position:fixed;z-index:2000}.el-overlay .el-overlay-root{height:0} diff --git a/nginx/admin/assets/el-pagination-BNQcHhjS.css b/nginx/admin/assets/el-pagination-BNQcHhjS.css new file mode 100644 index 0000000..03fa853 --- /dev/null +++ b/nginx/admin/assets/el-pagination-BNQcHhjS.css @@ -0,0 +1 @@ +.el-pagination{--el-pagination-font-size:14px;--el-pagination-bg-color:var(--el-fill-color-blank);--el-pagination-text-color:var(--el-text-color-primary);--el-pagination-border-radius:2px;--el-pagination-button-color:var(--el-text-color-primary);--el-pagination-button-width:32px;--el-pagination-button-height:32px;--el-pagination-button-disabled-color:var(--el-text-color-placeholder);--el-pagination-button-disabled-bg-color:var(--el-fill-color-blank);--el-pagination-button-bg-color:var(--el-fill-color);--el-pagination-hover-color:var(--el-color-primary);--el-pagination-font-size-small:12px;--el-pagination-button-width-small:24px;--el-pagination-button-height-small:24px;--el-pagination-button-width-large:40px;--el-pagination-button-height-large:40px;--el-pagination-item-gap:16px;align-items:center;color:var(--el-pagination-text-color);display:flex;font-size:var(--el-pagination-font-size);font-weight:400;white-space:nowrap}.el-pagination .el-input__inner{-moz-appearance:textfield;text-align:center}.el-pagination .el-select{width:128px}.el-pagination button{align-items:center;background:var(--el-pagination-bg-color);border:none;border-radius:var(--el-pagination-border-radius);box-sizing:border-box;color:var(--el-pagination-button-color);cursor:pointer;display:flex;font-size:var(--el-pagination-font-size);height:var(--el-pagination-button-height);justify-content:center;line-height:var(--el-pagination-button-height);min-width:var(--el-pagination-button-width);padding:0 4px;text-align:center}.el-pagination button *{pointer-events:none}.el-pagination button:focus{outline:none}.el-pagination button.is-active,.el-pagination button:hover{color:var(--el-pagination-hover-color)}.el-pagination button.is-active{cursor:default;font-weight:700}.el-pagination button.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:700}.el-pagination button.is-disabled,.el-pagination button:disabled{background-color:var(--el-pagination-button-disabled-bg-color);color:var(--el-pagination-button-disabled-color);cursor:not-allowed}.el-pagination button:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700;width:inherit}.el-pagination>.is-first{margin-left:0!important}.el-pagination>.is-last{margin-right:0!important}.el-pagination .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination__sizes,.el-pagination__total{color:var(--el-text-color-regular);font-weight:400;margin-left:var(--el-pagination-item-gap)}.el-pagination__total[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__jump{align-items:center;color:var(--el-text-color-regular);display:flex;font-weight:400;margin-left:var(--el-pagination-item-gap)}.el-pagination__jump[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__goto{margin-right:8px}.el-pagination__editor{box-sizing:border-box;text-align:center}.el-pagination__editor.el-input{width:56px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination__classifier{margin-left:8px}.el-pagination__rightwrapper{align-items:center;display:flex;flex:1;justify-content:flex-end}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{background-color:var(--el-pagination-button-bg-color);margin:0 4px}.el-pagination.is-background .btn-next.is-active,.el-pagination.is-background .btn-prev.is-active,.el-pagination.is-background .el-pager li.is-active{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-pagination.is-background .btn-next.is-disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.is-disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.is-disabled,.el-pagination.is-background .el-pager li:disabled{background-color:var(--el-disabled-bg-color);color:var(--el-text-color-placeholder)}.el-pagination.is-background .btn-next.is-disabled.is-active,.el-pagination.is-background .btn-next:disabled.is-active,.el-pagination.is-background .btn-prev.is-disabled.is-active,.el-pagination.is-background .btn-prev:disabled.is-active,.el-pagination.is-background .el-pager li.is-disabled.is-active,.el-pagination.is-background .el-pager li:disabled.is-active{background-color:var(--el-fill-color-dark);color:var(--el-text-color-secondary)}.el-pagination.is-background .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li{font-size:var(--el-pagination-font-size-small);height:var(--el-pagination-button-height-small);line-height:var(--el-pagination-button-height-small);min-width:var(--el-pagination-button-width-small)}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){font-size:var(--el-pagination-font-size-small)}.el-pagination--small .el-select{width:100px}.el-pagination--large .btn-next,.el-pagination--large .btn-prev,.el-pagination--large .el-pager li{height:var(--el-pagination-button-height-large);line-height:var(--el-pagination-button-height-large);min-width:var(--el-pagination-button-width-large)}.el-pagination--large .el-select .el-input{width:160px}.el-pager{font-size:0;list-style:none;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-pager,.el-pager li{align-items:center;display:flex}.el-pager li{background:var(--el-pagination-bg-color);border:none;border-radius:var(--el-pagination-border-radius);box-sizing:border-box;color:var(--el-pagination-button-color);cursor:pointer;font-size:var(--el-pagination-font-size);height:var(--el-pagination-button-height);justify-content:center;line-height:var(--el-pagination-button-height);min-width:var(--el-pagination-button-width);padding:0 4px;text-align:center}.el-pager li *{pointer-events:none}.el-pager li:focus{outline:none}.el-pager li.is-active,.el-pager li:hover{color:var(--el-pagination-hover-color)}.el-pager li.is-active{cursor:default;font-weight:700}.el-pager li.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:700}.el-pager li.is-disabled,.el-pager li:disabled{background-color:var(--el-pagination-button-disabled-bg-color);color:var(--el-pagination-button-disabled-color);cursor:not-allowed}.el-pager li:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px} diff --git a/nginx/admin/assets/el-popover-Cktl5fHm.css b/nginx/admin/assets/el-popover-Cktl5fHm.css new file mode 100644 index 0000000..8831521 --- /dev/null +++ b/nginx/admin/assets/el-popover-Cktl5fHm.css @@ -0,0 +1 @@ +.el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);border:1px solid var(--el-popover-border-color);border-radius:var(--el-popover-border-radius);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;color:var(--el-text-color-regular);font-size:var(--el-popover-font-size);line-height:1.4;min-width:150px;overflow-wrap:break-word;padding:var(--el-popover-padding);z-index:var(--el-index-popper)}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);line-height:1;margin-bottom:12px}.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus,.el-popover.el-popper:focus:active{outline-width:0} diff --git a/nginx/admin/assets/el-popper-D1i0e6ba.css b/nginx/admin/assets/el-popper-D1i0e6ba.css new file mode 100644 index 0000000..5d00565 --- /dev/null +++ b/nginx/admin/assets/el-popper-D1i0e6ba.css @@ -0,0 +1 @@ +.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);border-radius:var(--el-popper-border-radius);font-size:12px;line-height:20px;min-width:10px;overflow-wrap:break-word;padding:5px 11px;position:absolute;visibility:visible;word-break:normal;z-index:2000}.el-popper.is-dark{color:var(--el-bg-color)}.el-popper.is-dark,.el-popper.is-dark>.el-popper__arrow:before{background:var(--el-text-color-primary);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{right:0}.el-popper.is-light,.el-popper.is-light>.el-popper__arrow:before{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{right:0}.el-popper.is-pure{padding:0}.el-popper__arrow,.el-popper__arrow:before{height:10px;position:absolute;width:10px;z-index:-1}.el-popper__arrow:before{background:var(--el-text-color-primary);box-sizing:border-box;content:" ";transform:rotate(45deg)}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-left-color:transparent!important;border-top-color:transparent!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:transparent!important;border-right-color:transparent!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-bottom-color:transparent!important;border-left-color:transparent!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-right-color:transparent!important;border-top-color:transparent!important} diff --git a/nginx/admin/assets/el-progress-Dw9yTa91.css b/nginx/admin/assets/el-progress-Dw9yTa91.css new file mode 100644 index 0000000..bbc2319 --- /dev/null +++ b/nginx/admin/assets/el-progress-Dw9yTa91.css @@ -0,0 +1 @@ +.el-progress{align-items:center;display:flex;line-height:1;position:relative}.el-progress__text{color:var(--el-text-color-regular);font-size:14px;line-height:1;margin-left:5px;min-width:50px}.el-progress__text i{display:block;vertical-align:middle}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{left:0;margin:0;position:absolute;text-align:center;top:50%;transform:translateY(-50%);width:100%}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{display:inline-block;vertical-align:middle}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{display:block;margin-right:0;padding-right:0}.el-progress--text-inside .el-progress-bar{margin-right:0;padding-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{box-sizing:border-box;flex-grow:1}.el-progress-bar__outer{background-color:var(--el-border-color-lighter);border-radius:100px;height:6px;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{background-color:var(--el-color-primary);border-radius:100px;height:100%;left:0;line-height:1;position:absolute;text-align:right;top:0;transition:width .6s ease;white-space:nowrap}.el-progress-bar__inner:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-progress-bar__inner--indeterminate{animation:indeterminate 3s infinite;transform:translateZ(0)}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 0,transparent 50%,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 75%,transparent 0,transparent);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{animation:striped-flow 3s linear infinite}.el-progress-bar__innerText{color:#fff;display:inline-block;font-size:12px;margin:0 5px;vertical-align:middle}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}} diff --git a/nginx/admin/assets/el-radio-BuDgLcOG.css b/nginx/admin/assets/el-radio-BuDgLcOG.css new file mode 100644 index 0000000..e497be9 --- /dev/null +++ b/nginx/admin/assets/el-radio-BuDgLcOG.css @@ -0,0 +1 @@ +.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary);align-items:center;color:var(--el-radio-text-color);cursor:pointer;display:inline-flex;font-size:var(--el-font-size-base);font-weight:var(--el-radio-font-weight);height:32px;margin-right:30px;outline:none;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{border:var(--el-border);border-radius:var(--el-border-radius-base);box-sizing:border-box;padding:0 15px 0 9px}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{border-color:var(--el-border-color-lighter);cursor:not-allowed}.el-radio.is-bordered.el-radio--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.is-bordered.el-radio--small{border-radius:var(--el-border-radius-base);padding:0 11px 0 7px}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{cursor:pointer;display:inline-flex;outline:none;position:relative;vertical-align:middle;white-space:nowrap}.el-radio__input.is-disabled .el-radio__inner{border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled .el-radio__inner:after{background-color:var(--el-disabled-bg-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{background:var(--el-color-primary);border-color:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{background-color:var(--el-color-white);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{background-color:var(--el-radio-input-bg-color);border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);box-sizing:border-box;cursor:pointer;display:inline-block;height:var(--el-radio-input-height);position:relative;width:var(--el-radio-input-width)}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{border-radius:var(--el-radio-input-border-radius);content:"";height:4px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease-in;width:4px}.el-radio__original{inset:0;margin:0;opacity:0;outline:none;position:absolute;z-index:-1}.el-radio__original:focus-visible+.el-radio__inner{border-radius:var(--el-radio-input-border-radius);outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{height:12px;width:12px} diff --git a/nginx/admin/assets/el-radio-button-CSkroacn.css b/nginx/admin/assets/el-radio-button-CSkroacn.css new file mode 100644 index 0000000..1469a7e --- /dev/null +++ b/nginx/admin/assets/el-radio-button-CSkroacn.css @@ -0,0 +1 @@ +.el-radio-button{--el-radio-button-checked-bg-color:var(--el-color-primary);--el-radio-button-checked-text-color:var(--el-color-white);--el-radio-button-checked-border-color:var(--el-color-primary);--el-radio-button-disabled-checked-fill:var(--el-border-color-extra-light)}.el-radio-button,.el-radio-button__inner{display:inline-block;outline:none;position:relative}.el-radio-button__inner{-webkit-appearance:none;background:var(--el-button-bg-color,var(--el-fill-color-blank));border:var(--el-border);border-left:0;border-radius:0;box-sizing:border-box;color:var(--el-button-text-color,var(--el-text-color-regular));cursor:pointer;font-size:var(--el-font-size-base);font-weight:var(--el-button-font-weight,var(--el-font-weight-primary));line-height:1;margin:0;padding:8px 15px;text-align:center;transition:var(--el-transition-all);-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-radio-button__inner.is-round{padding:8px 15px}.el-radio-button__inner:hover{color:var(--el-color-primary)}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:var(--el-border);border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);box-shadow:none!important}.el-radio-button.is-active .el-radio-button__original-radio:not(:disabled)+.el-radio-button__inner{background-color:var(--el-radio-button-checked-bg-color,var(--el-color-primary));border-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));box-shadow:-1px 0 0 0 var(--el-radio-button-checked-border-color,var(--el-color-primary));color:var(--el-radio-button-checked-text-color,var(--el-color-white))}.el-radio-button__original-radio{opacity:0;outline:none;position:absolute;z-index:-1}.el-radio-button__original-radio:focus-visible+.el-radio-button__inner{border-left:var(--el-border);border-left-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));border-radius:var(--el-border-radius-base);box-shadow:none;outline:2px solid var(--el-radio-button-checked-border-color);outline-offset:1px;z-index:2}.el-radio-button__original-radio:disabled+.el-radio-button__inner{background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));background-image:none;border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none;color:var(--el-disabled-text-color);cursor:not-allowed}.el-radio-button__original-radio:disabled:checked+.el-radio-button__inner{background-color:var(--el-radio-button-disabled-checked-fill)}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:var(--el-border-radius-base)}.el-radio-button--large .el-radio-button__inner{border-radius:0;font-size:var(--el-font-size-base);padding:12px 19px}.el-radio-button--large .el-radio-button__inner.is-round{padding:12px 19px}.el-radio-button--small .el-radio-button__inner{border-radius:0;font-size:12px;padding:5px 11px}.el-radio-button--small .el-radio-button__inner.is-round{padding:5px 11px} diff --git a/nginx/admin/assets/el-radio-group-BzMpJalG.css b/nginx/admin/assets/el-radio-group-BzMpJalG.css new file mode 100644 index 0000000..76205ec --- /dev/null +++ b/nginx/admin/assets/el-radio-group-BzMpJalG.css @@ -0,0 +1 @@ +.el-radio-group{align-items:center;display:inline-flex;flex-wrap:wrap;font-size:0} diff --git a/nginx/admin/assets/el-row-C6BJsxyy.css b/nginx/admin/assets/el-row-C6BJsxyy.css new file mode 100644 index 0000000..02010c5 --- /dev/null +++ b/nginx/admin/assets/el-row-C6BJsxyy.css @@ -0,0 +1 @@ +.el-row{box-sizing:border-box;display:flex;flex-wrap:wrap;position:relative}.el-row.is-justify-center{justify-content:center}.el-row.is-justify-end{justify-content:flex-end}.el-row.is-justify-space-between{justify-content:space-between}.el-row.is-justify-space-around{justify-content:space-around}.el-row.is-justify-space-evenly{justify-content:space-evenly}.el-row.is-align-top{align-items:flex-start}.el-row.is-align-middle{align-items:center}.el-row.is-align-bottom{align-items:flex-end} diff --git a/nginx/admin/assets/el-scrollbar-BWxh-h6K.css b/nginx/admin/assets/el-scrollbar-BWxh-h6K.css new file mode 100644 index 0000000..f06aa04 --- /dev/null +++ b/nginx/admin/assets/el-scrollbar-BWxh-h6K.css @@ -0,0 +1 @@ +.el-scrollbar{--el-scrollbar-opacity:.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary);height:100%;overflow:hidden;position:relative}.el-scrollbar__wrap{height:100%;overflow:auto}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));border-radius:inherit;cursor:pointer;display:block;height:0;opacity:var(--el-scrollbar-opacity,.3);position:relative;transition:var(--el-transition-duration) background-color;width:0}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{border-radius:4px;bottom:2px;position:absolute;right:2px;z-index:1}.el-scrollbar__bar.is-vertical{top:2px;width:6px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0} diff --git a/nginx/admin/assets/el-select-DdmnTlAY.css b/nginx/admin/assets/el-select-DdmnTlAY.css new file mode 100644 index 0000000..a1ba251 --- /dev/null +++ b/nginx/admin/assets/el-select-DdmnTlAY.css @@ -0,0 +1 @@ +.el-select-dropdown{border-radius:var(--el-border-radius-base);box-sizing:border-box;z-index:calc(var(--el-index-top) + 1)}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty,.el-select-dropdown__loading{color:var(--el-text-color-secondary);font-size:var(--el-select-font-size);margin:0;padding:10px 0;text-align:center}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{box-sizing:border-box;list-style:none;margin:0;padding:6px 0}.el-select-dropdown__list.el-vl__window{margin:6px 0;padding:0}.el-select-dropdown__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__item{box-sizing:border-box;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-base);height:34px;line-height:34px;overflow:hidden;padding:0 32px 0 20px;position:relative;text-overflow:ellipsis;white-space:nowrap}.el-select-dropdown__item.is-hovering{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.is-selected{color:var(--el-color-primary);font-weight:700}.el-select-dropdown__item.is-disabled{background-color:unset;color:var(--el-text-color-placeholder);cursor:not-allowed}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{background-color:var(--el-color-primary);background-position:50%;background-repeat:no-repeat;border-right:none;border-top:none;content:"";height:12px;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;position:absolute;right:20px;top:50%;transform:translateY(-50%);width:12px}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-disabled:after{background-color:var(--el-text-color-placeholder)}.el-select-group{margin:0;padding:0}.el-select-group__wrap{list-style:none;margin:0;padding:0;position:relative}.el-select-group__title{box-sizing:border-box;color:var(--el-color-info);font-size:12px;line-height:34px;overflow:hidden;padding:0 20px;text-overflow:ellipsis;white-space:nowrap}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-color:var(--el-disabled-text-color);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px;--el-select-width:100%;display:inline-block;position:relative;vertical-align:middle;width:var(--el-select-width)}.el-select__wrapper{align-items:center;background-color:var(--el-fill-color-blank);border-radius:var(--el-border-radius-base);box-shadow:0 0 0 1px var(--el-border-color) inset;box-sizing:border-box;cursor:pointer;display:flex;font-size:14px;gap:6px;line-height:24px;min-height:32px;padding:4px 12px;position:relative;text-align:left;transform:translateZ(0);transition:var(--el-transition-duration)}.el-select__wrapper.is-filterable{cursor:text}.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-select__wrapper.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-select__wrapper.is-disabled{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed}.el-select__wrapper.is-disabled,.el-select__wrapper.is-disabled:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-select__wrapper.is-disabled .el-select__selected-item{color:var(--el-select-disabled-color)}.el-select__wrapper.is-disabled .el-select__caret,.el-select__wrapper.is-disabled .el-tag,.el-select__wrapper.is-disabled input{cursor:not-allowed}.el-select__wrapper.is-disabled .el-select__prefix,.el-select__wrapper.is-disabled .el-select__suffix{pointer-events:none}.el-select__prefix,.el-select__suffix{align-items:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:flex;flex-shrink:0;gap:6px}.el-select__caret{color:var(--el-select-input-color);cursor:pointer;font-size:var(--el-select-input-font-size);transform:rotate(0);transition:var(--el-transition-duration)}.el-select__caret.is-reverse{transform:rotate(180deg)}.el-select__clear{cursor:pointer}.el-select__clear:hover{color:var(--el-select-close-hover-color)}.el-select__selection{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:6px;min-width:0;position:relative}.el-select__selection.is-near{margin-left:-8px}.el-select__selection .el-tag{border-color:transparent;cursor:pointer}.el-select__selection .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-select__selection .el-tag .el-tag__content{min-width:0}.el-select__selected-item{display:flex;flex-wrap:wrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-select__tags-text{line-height:normal}.el-select__placeholder,.el-select__tags-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-select__placeholder{color:var(--el-input-text-color,var(--el-text-color-regular));position:absolute;top:50%;transform:translateY(-50%);width:100%;z-index:-1}.el-select__placeholder.is-transparent{color:var(--el-text-color-placeholder);-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper,.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-select__input-wrapper{flex:1}.el-select__input-wrapper.is-hidden{opacity:0;position:absolute;z-index:-1}.el-select__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--el-select-multiple-input-color);font-family:inherit;font-size:inherit;height:24px;outline:none;padding:0;width:100%}.el-select__input.is-disabled{cursor:not-allowed}.el-select__input-calculator{left:0;max-width:100%;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:pre}.el-select--large .el-select__wrapper{font-size:14px;gap:6px;line-height:24px;min-height:40px;padding:8px 16px}.el-select--large .el-select__selection{gap:6px}.el-select--large .el-select__selection.is-near{margin-left:-8px}.el-select--large .el-select__prefix,.el-select--large .el-select__suffix{gap:6px}.el-select--large .el-select__input{height:24px}.el-select--small .el-select__wrapper{font-size:12px;gap:4px;line-height:20px;min-height:24px;padding:2px 8px}.el-select--small .el-select__selection{gap:4px}.el-select--small .el-select__selection.is-near{margin-left:-6px}.el-select--small .el-select__prefix,.el-select--small .el-select__suffix{gap:4px}.el-select--small .el-select__input{height:20px} diff --git a/nginx/admin/assets/el-step-BBhkl3Wt.css b/nginx/admin/assets/el-step-BBhkl3Wt.css new file mode 100644 index 0000000..294afad --- /dev/null +++ b/nginx/admin/assets/el-step-BBhkl3Wt.css @@ -0,0 +1 @@ +.el-steps{display:flex}.el-steps--simple{background:var(--el-fill-color-light);border-radius:4px;padding:13px 8%}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{flex-flow:column;height:100%}.el-step{flex-shrink:1;position:relative}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{flex-basis:auto!important;flex-grow:0;flex-shrink:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{border-color:var(--el-text-color-primary);color:var(--el-text-color-primary)}.el-step__head.is-wait{border-color:var(--el-text-color-placeholder);color:var(--el-text-color-placeholder)}.el-step__head.is-success{border-color:var(--el-color-success);color:var(--el-color-success)}.el-step__head.is-error{border-color:var(--el-color-danger);color:var(--el-color-danger)}.el-step__head.is-finish{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-step__icon{align-items:center;background:var(--el-bg-color);box-sizing:border-box;display:inline-flex;font-size:14px;height:24px;justify-content:center;position:relative;transition:.15s ease-out;width:24px;z-index:1}.el-step__icon.is-text{border:2px solid;border-radius:50%}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{color:inherit;display:inline-block;font-weight:700;line-height:1;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{transform:translateY(1px)}.el-step__line{background-color:var(--el-text-color-placeholder);border-color:currentColor;position:absolute}.el-step__line-inner{border:1px solid;box-sizing:border-box;display:block;height:0;transition:.15s ease-out;width:0}.el-step__main{text-align:left;white-space:normal}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{color:var(--el-text-color-primary);font-weight:700}.el-step__title.is-wait{color:var(--el-text-color-placeholder)}.el-step__title.is-success{color:var(--el-color-success)}.el-step__title.is-error{color:var(--el-color-danger)}.el-step__title.is-finish{color:var(--el-color-primary)}.el-step__description{font-size:12px;font-weight:400;line-height:20px;margin-top:-5px;padding-right:10%}.el-step__description.is-process{color:var(--el-text-color-primary)}.el-step__description.is-wait{color:var(--el-text-color-placeholder)}.el-step__description.is-success{color:var(--el-color-success)}.el-step__description.is-error{color:var(--el-color-danger)}.el-step__description.is-finish{color:var(--el-color-primary)}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;left:0;right:0;top:11px}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{flex-grow:1;padding-left:10px}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{bottom:0;left:11px;top:0;width:2px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-vertical .el-step__description{padding-right:0}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{align-items:center;display:flex}.el-step.is-simple .el-step__head{font-size:0;padding-right:10px;width:auto}.el-step.is-simple .el-step__icon{background:transparent;font-size:12px;height:16px;width:16px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{align-items:stretch;display:flex;flex-grow:1;position:relative}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;overflow-wrap:break-word}.el-step.is-simple .el-step__arrow{align-items:center;display:flex;flex-grow:1;justify-content:center}.el-step.is-simple .el-step__arrow:after,.el-step.is-simple .el-step__arrow:before{background:var(--el-text-color-placeholder);content:"";display:inline-block;height:15px;position:absolute;width:1px}.el-step.is-simple .el-step__arrow:before{transform:rotate(-45deg) translateY(-4px);transform-origin:0 0}.el-step.is-simple .el-step__arrow:after{transform:rotate(45deg) translateY(4px);transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none} diff --git a/nginx/admin/assets/el-step-DRmJIHnU.js b/nginx/admin/assets/el-step-DRmJIHnU.js new file mode 100644 index 0000000..5dcfc46 --- /dev/null +++ b/nginx/admin/assets/el-step-DRmJIHnU.js @@ -0,0 +1 @@ +var e=Object.defineProperty,s=Object.defineProperties,a=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,l=(s,a,t)=>a in s?e(s,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[a]=t,o=(e,s)=>{for(var a in s||(s={}))i.call(s,a)&&l(e,a,s[a]);if(t)for(var a of t(s))r.call(s,a)&&l(e,a,s[a]);return e},n=(e,t)=>s(e,a(t));import{a8 as u,bc as p,bd as c,a0 as v,d,a1 as f,af as m,A as y,b as S,e as h,s as b,g,p as w,q as x,ae as j,am as O,r as $,a9 as E,o as k,c as P,l as _,i as C,f as z,m as B,h as I,w as A,aE as D,ai as N,ba as W,be as q,v as V,j as F,aA as G,az as H}from"./index-BoIUJTA2.js";import{u as J}from"./index-C0Ar9TSn.js";const K=u({space:{type:[Number,String],default:""},active:{type:Number,default:0},direction:{type:String,default:"horizontal",values:["horizontal","vertical"]},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{type:String,values:["wait","process","finish","error","success"],default:"finish"},processStatus:{type:String,values:["wait","process","finish","error","success"],default:"process"}}),L={[p]:(e,s)=>[e,s].every(c)},M="ElSteps",Q=d({name:"ElSteps"});var R=v(d(n(o({},Q),{props:K,emits:L,setup(e,{emit:s}){const a=e,t=f("steps"),{children:i,addChild:r,removeChild:l,ChildrenSorter:o}=J(m(),"ElStep");return y(i,()=>{i.value.forEach((e,s)=>{e.setIndex(s)})}),j(M,{props:a,steps:i,addStep:r,removeStep:l}),y(()=>a.active,(e,a)=>{s(p,e,a)}),(e,s)=>(h(),S("div",{class:x([w(t).b(),w(t).m(e.simple?"simple":e.direction)])},[b(e.$slots,"default"),g(w(o))],2))}})),[["__file","steps.vue"]]);const T=u({title:{type:String,default:""},icon:{type:O},description:{type:String,default:""},status:{type:String,values:["","wait","process","finish","error","success"],default:""}}),U=d({name:"ElStep"});var X=v(d(n(o({},U),{props:T,setup(e){const s=e,a=f("step"),t=$(-1),i=$({}),r=$(""),l=E(M),o=m();k(()=>{y([()=>l.props.active,()=>l.props.processStatus,()=>l.props.finishStatus],([e])=>{K(e)},{immediate:!0})});const n=P(()=>s.status||r.value),u=P(()=>{const e=l.steps.value[t.value-1];return e?e.internalStatus.value:"wait"}),p=P(()=>l.props.alignCenter),v=P(()=>"vertical"===l.props.direction),d=P(()=>l.props.simple),j=P(()=>l.steps.value.length),O=P(()=>{var e;return(null==(e=l.steps.value[j.value-1])?void 0:e.uid)===o.uid}),G=P(()=>d.value?"":l.props.space),H=P(()=>[a.b(),a.is(d.value?"simple":l.props.direction),a.is("flex",O.value&&!G.value&&!p.value),a.is("center",p.value&&!v.value&&!d.value)]),J=P(()=>{const e={flexBasis:c(G.value)?`${G.value}px`:G.value?G.value:100/(j.value-(p.value?0:1))+"%"};return v.value||O.value&&(e.maxWidth=100/j.value+"%"),e}),K=e=>{e>t.value?r.value=l.props.finishStatus:e===t.value&&"error"!==u.value?r.value=l.props.processStatus:r.value="wait";const s=l.steps.value[t.value-1];s&&s.calcProgress(r.value)},L={uid:o.uid,getVnode:()=>o.vnode,currentStatus:n,internalStatus:r,setIndex:e=>{t.value=e},calcProgress:e=>{const s="wait"===e,a={transitionDelay:`${s?"-":""}${150*t.value}ms`},r=e===l.props.processStatus||s?0:100;a.borderWidth=r&&!d.value?"1px":0,a["vertical"===l.props.direction?"height":"width"]=`${r}%`,i.value=a}};return l.addStep(L),_(()=>{l.removeStep(L)}),(e,s)=>(h(),S("div",{style:B(w(J)),class:x(w(H))},[C(" icon & line "),z("div",{class:x([w(a).e("head"),w(a).is(w(n))])},[w(d)?C("v-if",!0):(h(),S("div",{key:0,class:x(w(a).e("line"))},[z("i",{class:x(w(a).e("line-inner")),style:B(i.value)},null,6)],2)),z("div",{class:x([w(a).e("icon"),w(a).is(e.icon||e.$slots.icon?"icon":"text")])},[b(e.$slots,"icon",{},()=>[e.icon?(h(),I(w(N),{key:0,class:x(w(a).e("icon-inner"))},{default:A(()=>[(h(),I(D(e.icon)))]),_:1},8,["class"])):"success"===w(n)?(h(),I(w(N),{key:1,class:x([w(a).e("icon-inner"),w(a).is("status")])},{default:A(()=>[g(w(W))]),_:1},8,["class"])):"error"===w(n)?(h(),I(w(N),{key:2,class:x([w(a).e("icon-inner"),w(a).is("status")])},{default:A(()=>[g(w(q))]),_:1},8,["class"])):w(d)?C("v-if",!0):(h(),S("div",{key:3,class:x(w(a).e("icon-inner"))},V(t.value+1),3))])],2)],2),C(" title & description "),z("div",{class:x(w(a).e("main"))},[z("div",{class:x([w(a).e("title"),w(a).is(w(n))])},[b(e.$slots,"title",{},()=>[F(V(e.title),1)])],2),w(d)?(h(),S("div",{key:0,class:x(w(a).e("arrow"))},null,2)):(h(),S("div",{key:1,class:x([w(a).e("description"),w(a).is(w(n))])},[b(e.$slots,"description",{},()=>[F(V(e.description),1)])],2))],2)],6))}})),[["__file","item.vue"]]);const Y=H(R,{Step:X}),Z=G(X);export{Y as E,Z as a}; diff --git a/nginx/admin/assets/el-switch-B5lTGWdM.css b/nginx/admin/assets/el-switch-B5lTGWdM.css new file mode 100644 index 0000000..8fec391 --- /dev/null +++ b/nginx/admin/assets/el-switch-B5lTGWdM.css @@ -0,0 +1 @@ +.el-switch{--el-switch-on-color:var(--el-color-primary);--el-switch-off-color:var(--el-border-color);align-items:center;display:inline-flex;font-size:14px;height:32px;line-height:20px;position:relative;vertical-align:middle}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{color:var(--el-text-color-primary);cursor:pointer;display:inline-block;font-size:14px;font-weight:500;height:20px;transition:var(--el-transition-duration-fast);vertical-align:middle}.el-switch__label.is-active{color:var(--el-color-primary)}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{display:inline-block;font-size:14px;line-height:1}.el-switch__label .el-icon{height:inherit}.el-switch__label .el-icon svg{vertical-align:middle}.el-switch__input{height:0;margin:0;opacity:0;position:absolute;width:0}.el-switch__input:focus-visible~.el-switch__core{outline:2px solid var(--el-switch-on-color);outline-offset:1px}.el-switch__core{align-items:center;background:var(--el-switch-off-color);border:1px solid var(--el-switch-border-color,var(--el-switch-off-color));border-radius:10px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:20px;min-width:40px;outline:none;position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration)}.el-switch__core .el-switch__inner{align-items:center;display:flex;height:16px;justify-content:center;overflow:hidden;padding:0 4px 0 18px;transition:all var(--el-transition-duration);width:100%}.el-switch__core .el-switch__inner .is-icon,.el-switch__core .el-switch__inner .is-text{color:var(--el-color-white);font-size:12px;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.el-switch__core .el-switch__action{align-items:center;background-color:var(--el-color-white);border-radius:var(--el-border-radius-circle);color:var(--el-switch-off-color);display:flex;height:16px;justify-content:center;left:1px;position:absolute;transition:all var(--el-transition-duration);width:16px}.el-switch.is-checked .el-switch__core{background-color:var(--el-switch-on-color);border-color:var(--el-switch-border-color,var(--el-switch-on-color))}.el-switch.is-checked .el-switch__core .el-switch__action{color:var(--el-switch-on-color);left:calc(100% - 17px)}.el-switch.is-checked .el-switch__core .el-switch__inner{padding:0 18px 0 4px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter-from,.el-switch .label-fade-leave-active{opacity:0}.el-switch--large{font-size:14px;height:40px;line-height:24px}.el-switch--large .el-switch__label{font-size:14px;height:24px}.el-switch--large .el-switch__label *{font-size:14px}.el-switch--large .el-switch__core{border-radius:12px;height:24px;min-width:50px}.el-switch--large .el-switch__core .el-switch__inner{height:20px;padding:0 6px 0 22px}.el-switch--large .el-switch__core .el-switch__action{height:20px;width:20px}.el-switch--large.is-checked .el-switch__core .el-switch__action{left:calc(100% - 21px)}.el-switch--large.is-checked .el-switch__core .el-switch__inner{padding:0 22px 0 6px}.el-switch--small{font-size:12px;height:24px;line-height:16px}.el-switch--small .el-switch__label{font-size:12px;height:16px}.el-switch--small .el-switch__label *{font-size:12px}.el-switch--small .el-switch__core{border-radius:8px;height:16px;min-width:30px}.el-switch--small .el-switch__core .el-switch__inner{height:12px;padding:0 2px 0 14px}.el-switch--small .el-switch__core .el-switch__action{height:12px;width:12px}.el-switch--small.is-checked .el-switch__core .el-switch__action{left:calc(100% - 13px)}.el-switch--small.is-checked .el-switch__core .el-switch__inner{padding:0 14px 0 2px} diff --git a/nginx/admin/assets/el-tab-pane-BLUvaGkK.css b/nginx/admin/assets/el-tab-pane-BLUvaGkK.css new file mode 100644 index 0000000..88b64da --- /dev/null +++ b/nginx/admin/assets/el-tab-pane-BLUvaGkK.css @@ -0,0 +1 @@ +.el-tabs{--el-tabs-header-height:40px;display:flex}.el-tabs__header{align-items:center;display:flex;justify-content:space-between;margin:0 0 15px;padding:0;position:relative}.el-tabs__header-vertical{flex-direction:column}.el-tabs__active-bar{background-color:var(--el-color-primary);bottom:0;height:2px;left:0;list-style:none;position:absolute;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);z-index:1}.el-tabs__new-tab{align-items:center;border:1px solid var(--el-border-color);border-radius:3px;color:var(--el-text-color-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:12px;height:20px;justify-content:center;line-height:20px;margin:10px 0 10px 10px;text-align:center;transition:all .15s;width:20px}.el-tabs__new-tab .is-icon-plus{height:inherit;transform:scale(.8);width:inherit}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__new-tab-vertical{margin-left:0}.el-tabs__nav-wrap{flex:1 auto;margin-bottom:-1px;overflow:hidden;position:relative}.el-tabs__nav-wrap:after{background-color:var(--el-border-color-light);bottom:0;content:"";height:2px;left:0;position:absolute;width:100%;z-index:var(--el-index-normal)}.el-tabs__nav-wrap.is-scrollable{box-sizing:border-box;padding:0 20px}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{color:var(--el-text-color-secondary);cursor:pointer;font-size:12px;line-height:44px;position:absolute;text-align:center;width:20px}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{display:flex;float:left;position:relative;transition:transform var(--el-transition-duration);white-space:nowrap;z-index:calc(var(--el-index-normal) + 1)}.el-tabs__nav.is-stretch{display:flex;min-width:100%}.el-tabs__nav.is-stretch>*{flex:1;text-align:center}.el-tabs__item{align-items:center;box-sizing:border-box;color:var(--el-text-color-primary);display:flex;font-size:var(--el-font-size-base);font-weight:500;height:var(--el-tabs-header-height);justify-content:center;list-style:none;padding:0 20px;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:none}.el-tabs__item:focus-visible{border-radius:3px;box-shadow:0 0 2px 2px var(--el-color-primary) inset}.el-tabs__item .is-icon-close{border-radius:50%;margin-left:5px;text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs__item .is-icon-close:before{display:inline-block;transform:scale(.9)}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#fff}.el-tabs__item.is-active,.el-tabs__item:hover{color:var(--el-color-primary)}.el-tabs__item:hover{cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{flex-grow:1;overflow:hidden;position:relative}.el-tabs--bottom>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:0}.el-tabs--bottom>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top>.el-tabs__header .el-tabs__item:last-child{padding-right:0}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);box-sizing:border-box;height:var(--el-tabs-header-height)}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);border-bottom:none;border-radius:4px 4px 0 0;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{font-size:12px;height:14px;overflow:hidden;position:relative;right:-2px;transform-origin:100% 50%;width:0}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid var(--el-border-color-light);margin-top:-1px;transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{border:1px solid transparent;color:var(--el-text-color-secondary);margin-top:-1px;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{background-color:var(--el-bg-color-overlay);border-left-color:var(--el-border-color);border-right-color:var(--el-border-color);color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom{flex-direction:column}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-bottom:0;margin-top:-1px}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{bottom:auto;height:auto;top:0;width:2px}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{cursor:pointer;height:30px;line-height:30px;text-align:center;width:100%}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{bottom:0;right:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{bottom:auto;height:100%;top:0;width:2px}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left{flex-direction:row}.el-tabs--left .el-tabs__header.is-left{margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left:after{left:auto;right:0}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-bottom:none;border-left:none;border-right:1px solid var(--el-border-color-light);border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:none;border-right:1px solid #fff}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-radius:4px 0 0 4px;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:rgb(209,219,229) transparent}.el-tabs--left>.el-tabs__content+.el-tabs__header{order:-1}.el-tabs--right .el-tabs__header.is-right{margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:1px solid #fff;border-right:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-left:none;border-radius:0 4px 4px 0}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:rgb(209,219,229) transparent}.el-tabs--top{flex-direction:column}.el-tabs--top>.el-tabs__content+.el-tabs__header{order:-1}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{animation:slideInRight-leave var(--el-transition-duration);left:0;position:absolute;right:0}.slideInLeft-enter{animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{animation:slideInLeft-leave var(--el-transition-duration);left:0;position:absolute;right:0}@keyframes slideInRight-enter{0%{opacity:0;transform:translate(100%);transform-origin:0 0}to{opacity:1;transform:translate(0);transform-origin:0 0}}@keyframes slideInRight-leave{0%{opacity:1;transform:translate(0);transform-origin:0 0}to{opacity:0;transform:translate(100%);transform-origin:0 0}}@keyframes slideInLeft-enter{0%{opacity:0;transform:translate(-100%);transform-origin:0 0}to{opacity:1;transform:translate(0);transform-origin:0 0}}@keyframes slideInLeft-leave{0%{opacity:1;transform:translate(0);transform-origin:0 0}to{opacity:0;transform:translate(-100%);transform-origin:0 0}} diff --git a/nginx/admin/assets/el-tab-pane-BLUvaGkK.css.gz b/nginx/admin/assets/el-tab-pane-BLUvaGkK.css.gz new file mode 100644 index 0000000..720832c Binary files /dev/null and b/nginx/admin/assets/el-tab-pane-BLUvaGkK.css.gz differ diff --git a/nginx/admin/assets/el-tab-pane-BpPSIX41.js b/nginx/admin/assets/el-tab-pane-BpPSIX41.js new file mode 100644 index 0000000..c8e3a80 --- /dev/null +++ b/nginx/admin/assets/el-tab-pane-BpPSIX41.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,o=(a,t,l)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[t]=l,r=(e,a)=>{for(var t in a||(a={}))n.call(a,t)&&o(e,t,a[t]);if(l)for(var t of l(a))s.call(a,t)&&o(e,t,a[t]);return e},u=(e,l)=>a(e,t(l)),i=(e,a,t)=>new Promise((l,n)=>{var s=e=>{try{r(t.next(e))}catch(a){n(a)}},o=e=>{try{r(t.throw(e))}catch(a){n(a)}},r=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,o);r((t=t.apply(e,a)).next())});import{bg as c,bh as v,bi as d,bj as b,bk as p,bl as f,a8 as m,av as h,at as g,a0 as y,d as P,a9 as x,aa as w,a1 as C,r as R,A as $,ap as E,l as k,b as N,e as j,m as T,q as S,p as B,ad as A,n as O,bm as F,bn as _,aM as L,c as V,bo as z,o as K,bp as M,bq as W,g as q,ai as I,aR as D,ac as X,Z as Y,_ as H,be as U,ah as Z,bd as G,s as J,b5 as Q,br as ee,af as ae,ae as te,bs as le,bt as ne,k as se,bu as oe,N as re,i as ue,aj as ie,aA as ce,az as ve}from"./index-BoIUJTA2.js";import{i as de,c as be,r as pe}from"./raf-DsHSIRfX.js";import{c as fe}from"./index-D2gD5Tn5.js";import{c as me}from"./clamp-BXzPLned.js";import{u as he}from"./index-C0Ar9TSn.js";import{g as ge,b as ye}from"./_baseClone-Ct7RL6h5.js";import{c as Pe}from"./_initCloneObject-DRmC-q3t.js";function xe(e,a){return a.length<2?e:c(e,function(e,a,t){var l=-1,n=e.length;a<0&&(a=-a>n?0:n+a),(t=t>n?n:t)<0&&(t+=n),n=a>t?0:t-a>>>0,a>>>=0;for(var s=Array(n);++l1),a}),Pe(e,ge(e),t),l&&(t=ye(t,7,Ce));for(var n=a.length;n--;)we(t,a[n]);return t});const $e="horizontal",Ee="vertical",ke={[$e]:"deltaX",[Ee]:"deltaY"},Ne=Symbol("tabsRootContextKey"),je=m({tabs:{type:g(Array),default:()=>h([])},tabRefs:{type:g(Object),default:()=>h({})}}),Te="ElTabBar",Se=P({name:Te});var Be=y(P(u(r({},Se),{props:je,setup(e,{expose:a}){const t=e,l=x(Ne);l||w(Te,"");const n=C("tabs"),s=R(),o=R(),r=()=>o.value=(()=>{let e=0,a=0;const n=["top","bottom"].includes(l.props.tabPosition)?"width":"height",s="width"===n?"x":"y",o="x"===s?"left":"top";return t.tabs.every(l=>{if(A(l.paneName))return!1;const s=t.tabRefs[l.paneName];if(!s)return!1;if(!l.active)return!0;e=s[`offset${fe(o)}`],a=s[`client${fe(n)}`];const r=window.getComputedStyle(s);return"width"===n&&(a-=Number.parseFloat(r.paddingLeft)+Number.parseFloat(r.paddingRight),e+=Number.parseFloat(r.paddingLeft)),!1}),{[n]:`${a}px`,transform:`translate${fe(s)}(${e}px)`}})(),u=[];$(()=>t.tabs,()=>i(this,null,function*(){yield O(),r(),u.forEach(e=>e.stop()),u.length=0,Object.values(t.tabRefs).forEach(e=>{u.push(E(e,r))})}),{immediate:!0});const c=E(s,()=>r());return k(()=>{u.forEach(e=>e.stop()),u.length=0,c.stop()}),a({ref:s,update:r}),(e,a)=>(j(),N("div",{ref_key:"barRef",ref:s,class:S([B(n).e("active-bar"),B(n).is(B(l).props.tabPosition)]),style:T(o.value)},null,6))}})),[["__file","tab-bar.vue"]]);const Ae=m({panes:{type:g(Array),default:()=>h([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean}),Oe="ElTabNav",Fe=P({name:Oe,props:Ae,emits:{tabClick:(e,a,t)=>t instanceof Event,tabRemove:(e,a)=>a instanceof Event},setup(e,{expose:a,emit:t}){const l=x(Ne);l||w(Oe,"");const n=C("tabs"),s=F(),o=_(),r=R(),u=R(),c=R(),v=R({}),d=R(),b=R(!1),p=R(0),m=R(!1),h=R(!0),g=L(),y=V(()=>["top","bottom"].includes(l.props.tabPosition)),P=V(()=>y.value?"width":"height"),k=V(()=>({transform:`translate${"width"===P.value?"X":"Y"}(-${p.value}px)`})),{width:N,height:j}=z(r),{width:T,height:S}=z(u,{width:0,height:0},{box:"border-box"}),B=V(()=>y.value?N.value:j.value),A=V(()=>y.value?T.value:S.value),{onWheel:Z}=(({atEndEdge:e,atStartEdge:a,layout:t},l)=>{let n,s=0;const o=t=>t<0&&a.value||t>0&&e.value;return{hasReachedEdge:o,onWheel:e=>{be(n);const a=e[ke[t.value]];o(s)&&o(s+a)||(s+=a,f()||e.preventDefault(),n=pe(()=>{l(s),s=0}))}}})({atStartEdge:V(()=>p.value<=0),atEndEdge:V(()=>A.value-p.value<=B.value),layout:V(()=>y.value?"horizontal":"vertical")},e=>{p.value=me(p.value+e,0,A.value-B.value)}),G=()=>{if(!r.value)return;const e=r.value[`offset${fe(P.value)}`],a=p.value;if(!a)return;const t=a>e?a-e:0;p.value=t},J=()=>{if(!r.value||!u.value)return;const e=u.value[`offset${fe(P.value)}`],a=r.value[`offset${fe(P.value)}`],t=p.value;if(e-t<=a)return;const l=e-t>2*a?t+a:e-a;p.value=l},Q=()=>i(this,null,function*(){const a=u.value;if(!(b.value&&c.value&&r.value&&a))return;yield O();const t=v.value[e.currentName];if(!t)return;const l=r.value,n=t.getBoundingClientRect(),s=l.getBoundingClientRect(),o=y.value?a.offsetWidth-s.width:a.offsetHeight-s.height,i=p.value;let d=i;y.value?(n.lefts.right&&(d=i+n.right-s.right)):(n.tops.bottom&&(d=i+(n.bottom-s.bottom))),d=Math.max(d,0),p.value=Math.min(d,o)}),ee=()=>{var a;if(!u.value||!r.value)return;e.stretch&&(null==(a=d.value)||a.update());const t=u.value[`offset${fe(P.value)}`],l=r.value[`offset${fe(P.value)}`],n=p.value;l0&&(p.value=0))},ae=e=>{let a=0;switch(Y(e)){case H.left:case H.up:a=-1;break;case H.right:case H.down:a=1;break;default:return}const t=Array.from(e.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)"));let l=t.indexOf(e.target)+a;l<0?l=t.length-1:l>=t.length&&(l=0),t[l].focus({preventScroll:!0}),t[l].click(),te()},te=()=>{h.value&&(m.value=!0)},le=()=>m.value=!1;return $(s,e=>{"hidden"===e?h.value=!1:"visible"===e&&setTimeout(()=>h.value=!0,50)}),$(o,e=>{e?setTimeout(()=>h.value=!0,50):h.value=!1}),E(c,ee),K(()=>setTimeout(()=>Q(),0)),M(()=>ee()),a({scrollToActiveTab:Q,removeFocus:le,focusActiveTab:()=>i(this,null,function*(){yield O();const a=v.value[e.currentName];null==a||a.focus({preventScroll:!0})}),tabListRef:u,tabBarRef:d,scheduleRender:()=>W(g)}),()=>{const a=b.value?[q("span",{class:[n.e("nav-prev"),n.is("disabled",!b.value.prev)],onClick:G},[q(I,null,{default:()=>[q(D,null,null)]})]),q("span",{class:[n.e("nav-next"),n.is("disabled",!b.value.next)],onClick:J},[q(I,null,{default:()=>[q(X,null,null)]})])]:null,s=e.panes.map((a,s)=>{var o,r,u,i;const c=a.uid,d=a.props.disabled,b=null!=(r=null!=(o=a.props.name)?o:a.index)?r:`${s}`,p=!d&&(a.isClosable||!1!==a.props.closable&&e.editable);a.index=`${s}`;const f=p?q(I,{class:"is-icon-close",onClick:e=>t("tabRemove",a,e)},{default:()=>[q(U,null,null)]}):null,h=(null==(i=(u=a.slots).label)?void 0:i.call(u))||a.props.label,g=!d&&a.active?0:-1;return q("div",{ref:e=>((e,a)=>{v.value[a]=e})(e,b),class:[n.e("item"),n.is(l.props.tabPosition),n.is("active",a.active),n.is("disabled",d),n.is("closable",p),n.is("focus",m.value)],id:`tab-${b}`,key:`tab-${c}`,"aria-controls":`pane-${b}`,role:"tab","aria-selected":a.active,tabindex:g,onFocus:()=>te(),onBlur:()=>le(),onClick:e=>{le(),t("tabClick",a,b,e)},onKeydown:e=>{const l=Y(e);!p||l!==H.delete&&l!==H.backspace||t("tabRemove",a,e)}},[h,f])});return g.value,q("div",{ref:c,class:[n.e("nav-wrap"),n.is("scrollable",!!b.value),n.is(l.props.tabPosition)]},[a,q("div",{class:n.e("nav-scroll"),ref:r},[e.panes.length>0?q("div",{class:[n.e("nav"),n.is(l.props.tabPosition),n.is("stretch",e.stretch&&["top","bottom"].includes(l.props.tabPosition))],ref:u,style:k.value,role:"tablist",onKeydown:ae,onWheel:Z},[e.type?null:q(Be,{ref:d,tabs:[...e.panes],tabRefs:v.value},null),s]):null])])}}}),_e=m({type:{type:String,values:["card","border-card",""],default:""},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:g(Function),default:()=>!0},stretch:Boolean}),Le=e=>Z(e)||G(e);var Ve=P({name:"ElTabs",props:_e,emits:{[ee]:e=>Le(e),tabClick:(e,a)=>a instanceof Event,tabChange:e=>Le(e),edit:(e,a)=>["remove","add"].includes(a),tabRemove:e=>Le(e),tabAdd:()=>!0},setup(e,{emit:a,slots:t,expose:l}){var n;const s=C("tabs"),o=V(()=>["left","right"].includes(e.tabPosition)),{children:r,addChild:u,removeChild:c,ChildrenSorter:v}=he(ae(),"ElTabPane"),d=R(),b=R(null!=(n=e.modelValue)?n:"0"),p=(t,l=!1)=>i(this,null,function*(){var n,s,o,u;if(b.value!==t&&!A(t))try{let i;if(e.beforeLeave){const a=e.beforeLeave(t,b.value);i=a instanceof Promise?yield a:a}else i=!0;if(!1!==i){const e=null==(n=r.value.find(e=>e.paneName===b.value))?void 0:n.isFocusInsidePane();b.value=t,l&&(a(ee,t),a("tabChange",t)),null==(o=null==(s=d.value)?void 0:s.removeFocus)||o.call(s),e&&(null==(u=d.value)||u.focusActiveTab())}}catch(i){}}),f=(e,t,l)=>{e.props.disabled||(a("tabClick",e,l),p(t,!0))},m=(e,t)=>{e.props.disabled||A(e.props.name)||(t.stopPropagation(),a("edit",e.props.name,"remove"),a("tabRemove",e.props.name))},h=()=>{a("edit",void 0,"add"),a("tabAdd")},g=e=>{const a=Y(e);[H.enter,H.numpadEnter].includes(a)&&h()},y=a=>{const t=a.el.firstChild,l=["bottom","right"].includes(e.tabPosition)?a.children[0].el:a.children[1].el;t!==l&&t.before(l)};return $(()=>e.modelValue,e=>p(e)),$(b,()=>i(this,null,function*(){var e;yield O(),null==(e=d.value)||e.scrollToActiveTab()})),te(Ne,{props:e,currentName:b,registerPane:u,unregisterPane:c,nav$:d}),l({currentName:b,get tabNavRef(){return Re(d.value,["scheduleRender"])}}),()=>{const a=t["add-icon"],l=e.editable||e.addable?q("div",{class:[s.e("new-tab"),o.value&&s.e("new-tab-vertical")],tabindex:"0",onClick:h,onKeydown:g},[a?J(t,"add-icon"):q(I,{class:s.is("icon-plus")},{default:()=>[q(Q,null,null)]})]):null,n=q("div",{class:[s.e("header"),o.value&&s.e("header-vertical"),s.is(e.tabPosition)]},[q(v,null,{default:()=>q(Fe,{ref:d,currentName:b.value,editable:e.editable,type:e.type,panes:r.value,stretch:e.stretch,onTabClick:f,onTabRemove:m},null),$stable:!0}),l]),u=q("div",{class:s.e("content")},[J(t,"default")]);return q("div",{class:[s.b(),s.m(e.tabPosition),{[s.m("card")]:"card"===e.type,[s.m("border-card")]:"border-card"===e.type}],onVnodeMounted:y,onVnodeUpdated:y},[u,n])}}});const ze=m({label:{type:String,default:""},name:{type:[String,Number]},closable:{type:Boolean,default:void 0},disabled:Boolean,lazy:Boolean}),Ke="ElTabPane",Me=P({name:Ke});var We=y(P(u(r({},Me),{props:ze,setup(e){const a=e,t=ae(),l=le(),n=x(Ne);n||w(Ke,"usage: ");const s=C("tab-pane"),o=R(),r=R(),u=V(()=>{var e;return null!=(e=a.closable)?e:n.props.closable}),i=ne(()=>{var e;return n.currentName.value===(null!=(e=a.name)?e:r.value)}),c=R(i.value),v=V(()=>{var e;return null!=(e=a.name)?e:r.value}),d=ne(()=>!a.lazy||c.value||i.value);$(i,e=>{e&&(c.value=!0)});const b=se({uid:t.uid,getVnode:()=>t.vnode,slots:l,props:a,paneName:v,active:i,index:r,isClosable:u,isFocusInsidePane:()=>{var e;return null==(e=o.value)?void 0:e.contains(document.activeElement)}});return n.registerPane(b),k(()=>{n.unregisterPane(b)}),oe(()=>{var e;l.label&&(null==(e=n.nav$.value)||e.scheduleRender())}),(e,a)=>B(d)?re((j(),N("div",{key:0,id:`pane-${B(v)}`,ref_key:"paneRef",ref:o,class:S(B(s).b()),role:"tabpanel","aria-hidden":!B(i),"aria-labelledby":`tab-${B(v)}`},[J(e.$slots,"default")],10,["id","aria-hidden","aria-labelledby"])),[[ie,B(i)]]):ue("v-if",!0)}})),[["__file","tab-pane.vue"]]);const qe=ve(Ve,{TabPane:We}),Ie=ce(We);export{Ie as E,qe as a}; diff --git a/nginx/admin/assets/el-tab-pane-BpPSIX41.js.gz b/nginx/admin/assets/el-tab-pane-BpPSIX41.js.gz new file mode 100644 index 0000000..4da3da2 Binary files /dev/null and b/nginx/admin/assets/el-tab-pane-BpPSIX41.js.gz differ diff --git a/nginx/admin/assets/el-table-column-CKoPG0Y8.css b/nginx/admin/assets/el-table-column-CKoPG0Y8.css new file mode 100644 index 0000000..a6b4e9e --- /dev/null +++ b/nginx/admin/assets/el-table-column-CKoPG0Y8.css @@ -0,0 +1 @@ +.el-table{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-bg-color);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-bg-color);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px rgba(0,0,0,.15);--el-table-fixed-right-column:inset -10px 0 10px -10px rgba(0,0,0,.15);--el-table-index:var(--el-index-normal);background-color:var(--el-table-bg-color);box-sizing:border-box;color:var(--el-table-text-color);font-size:var(--el-font-size-base);height:-moz-fit-content;height:fit-content;max-width:100%;overflow:hidden;position:relative;width:100%}.el-table__inner-wrapper{display:flex;flex-direction:column;height:100%;position:relative}.el-table__inner-wrapper:before{bottom:0;height:1px;left:0}.el-table tbody:focus-visible{outline:none}.el-table.has-footer.el-table--fluid-height tr:last-child td.el-table__cell,.el-table.has-footer.el-table--scrollable-y tr:last-child td.el-table__cell{border-bottom-color:transparent}.el-table__empty-block{align-items:center;display:flex;justify-content:center;left:0;min-height:60px;position:sticky;text-align:center;width:100%}.el-table__empty-text{color:var(--el-text-color-secondary);line-height:60px;width:50%}.el-table__expand-column .cell{padding:0;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-table__expand-icon{color:var(--el-text-color-regular);cursor:pointer;font-size:12px;height:20px;position:relative;transition:transform var(--el-transition-duration-fast) ease-in-out}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{font-size:12px}.el-table__expanded-cell{background-color:var(--el-table-expanded-cell-bg-color)}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-bottom:0;border-right:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--fit .el-table__inner-wrapper:before{width:100%}.el-table thead{color:var(--el-table-header-text-color)}.el-table thead th{font-weight:600}.el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-light)}.el-table .el-table__cell{box-sizing:border-box;min-width:0;padding:8px 0;position:relative;text-align:left;text-overflow:ellipsis;vertical-align:middle;z-index:var(--el-table-index)}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{border-bottom-width:0;border-right-width:0;padding:0;width:15px}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table .cell{box-sizing:border-box;line-height:23px;overflow:hidden;overflow-wrap:break-word;padding:0 12px;text-overflow:ellipsis;white-space:normal}.el-table .cell.el-tooltip{min-width:50px;white-space:nowrap}.el-table--large{font-size:var(--el-font-size-base)}.el-table--large .el-table__cell{padding:12px 0}.el-table--large .cell{padding:0 16px}.el-table--default{font-size:var(--el-font-size-base)}.el-table--default .el-table__cell{padding:8px 0}.el-table--default .cell{padding:0 12px}.el-table--small{font-size:var(--el-font-size-extra-small)}.el-table--small .el-table__cell{padding:4px 0}.el-table--small .cell{padding:0 8px}.el-table tr{background-color:var(--el-table-tr-bg-color)}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:var(--el-table-border)}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{background-color:var(--el-table-header-bg-color)}.el-table th.el-table__cell>.cell.highlight{color:var(--el-color-primary)}.el-table th.el-table__cell.required>div:before{background:#ff4d51;border-radius:50%;content:"";display:inline-block;height:8px;margin-right:5px;vertical-align:middle;width:8px}.el-table td.el-table__cell div{box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table--border .el-table__inner-wrapper:after,.el-table--border:after,.el-table--border:before,.el-table__inner-wrapper:before{background-color:var(--el-table-border-color);content:"";position:absolute;z-index:calc(var(--el-table-index) + 2)}.el-table--border .el-table__inner-wrapper:after{height:1px;left:0;top:0;width:100%;z-index:calc(var(--el-table-index) + 2)}.el-table--border:before{height:100%;left:0;top:-1px;width:1px}.el-table--border:after{height:100%;right:0;top:-1px;width:1px}.el-table--border .el-table__inner-wrapper{border-bottom:none;border-right:none}.el-table--border .el-table__footer-wrapper{flex-shrink:0;position:relative}.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:var(--el-table-border);border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:var(--el-table-border)}.el-table--hidden{visibility:hidden}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__body-wrapper tr td.el-table-fixed-column--left,.el-table__body-wrapper tr td.el-table-fixed-column--right,.el-table__body-wrapper tr th.el-table-fixed-column--left,.el-table__body-wrapper tr th.el-table-fixed-column--right,.el-table__footer-wrapper tr td.el-table-fixed-column--left,.el-table__footer-wrapper tr td.el-table-fixed-column--right,.el-table__footer-wrapper tr th.el-table-fixed-column--left,.el-table__footer-wrapper tr th.el-table-fixed-column--right,.el-table__header-wrapper tr td.el-table-fixed-column--left,.el-table__header-wrapper tr td.el-table-fixed-column--right,.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background:inherit;position:sticky!important;z-index:calc(var(--el-table-index) + 1)}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{bottom:-1px;box-shadow:none;content:"";overflow-x:hidden;overflow-y:hidden;pointer-events:none;position:absolute;top:0;touch-action:none;width:10px}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before{left:-10px}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{right:-10px}.el-table__body-wrapper tr td.el-table__fixed-right-patch,.el-table__body-wrapper tr th.el-table__fixed-right-patch,.el-table__footer-wrapper tr td.el-table__fixed-right-patch,.el-table__footer-wrapper tr th.el-table__fixed-right-patch,.el-table__header-wrapper tr td.el-table__fixed-right-patch,.el-table__header-wrapper tr th.el-table__fixed-right-patch{background:#fff;position:sticky!important;right:0;z-index:calc(var(--el-table-index) + 1)}.el-table__header-wrapper{flex-shrink:0}.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body,.el-table__footer,.el-table__header{border-collapse:separate;table-layout:fixed}.el-table__header-wrapper{overflow:hidden}.el-table__header-wrapper tbody td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__footer-wrapper{flex-shrink:0;overflow:hidden}.el-table__footer-wrapper tfoot td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__body-wrapper .el-table-column--selection>.cell,.el-table__header-wrapper .el-table-column--selection>.cell{align-items:center;display:inline-flex;height:23px}.el-table__body-wrapper .el-table-column--selection .el-checkbox,.el-table__header-wrapper .el-table-column--selection .el-checkbox{height:unset}.el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-left.el-table--border .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:var(--el-table-border)}.el-table.is-scrolling-left th.el-table-fixed-column--left{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-right th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-middle .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-none .el-table-fixed-column--left.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--left.is-last-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-last-column:before{box-shadow:none}.el-table.is-scrolling-none th.el-table-fixed-column--left,.el-table.is-scrolling-none th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body-wrapper{flex:1;overflow:hidden;position:relative}.el-table__body-wrapper .el-scrollbar__bar{z-index:calc(var(--el-table-index) + 2)}.el-table .caret-wrapper{align-items:center;cursor:pointer;display:inline-flex;flex-direction:column;height:14px;overflow:initial;position:relative;vertical-align:middle;width:24px}.el-table .sort-caret{border:5px solid transparent;height:0;left:7px;position:absolute;width:0}.el-table .sort-caret.ascending{border-bottom-color:var(--el-text-color-placeholder);top:-5px}.el-table .sort-caret.descending{border-top-color:var(--el-text-color-placeholder);bottom:-3px}.el-table .ascending .sort-caret.ascending{border-bottom-color:var(--el-color-primary)}.el-table .descending .sort-caret.descending{border-top-color:var(--el-color-primary)}.el-table .hidden-columns{position:absolute;visibility:hidden;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--el-fill-color-lighter)}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell,.el-table__body tr>td.hover-cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table.el-table--scrollable-y .el-table__body-header{position:sticky;top:0;z-index:calc(var(--el-table-index) + 2)}.el-table.el-table--scrollable-y .el-table__body-footer{bottom:0;position:sticky;z-index:calc(var(--el-table-index) + 2)}.el-table__column-resize-proxy{border-left:var(--el-table-border);bottom:0;left:200px;position:absolute;top:0;width:0;z-index:calc(var(--el-table-index) + 9)}.el-table__column-filter-trigger{cursor:pointer;display:inline-block}.el-table__column-filter-trigger i{color:var(--el-color-info);font-size:14px;vertical-align:middle}.el-table__border-left-patch{height:100%;top:0;width:1px}.el-table__border-bottom-patch,.el-table__border-left-patch{background-color:var(--el-table-border-color);left:0;position:absolute;z-index:calc(var(--el-table-index) + 2)}.el-table__border-bottom-patch{height:1px}.el-table__border-right-patch{background-color:var(--el-table-border-color);height:100%;position:absolute;top:0;width:1px;z-index:calc(var(--el-table-index) + 2)}.el-table--enable-row-transition .el-table__body td.el-table__cell{transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;height:12px;line-height:12px;margin-right:8px;text-align:center;width:12px}.el-table .el-table.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table:not(.el-table--border) .el-table__cell{border-right:none}.el-table:not(.el-table--border)>.el-table__inner-wrapper:after{content:none}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{background-color:#fff;border:1px solid var(--el-border-color-lighter);border-radius:2px;box-shadow:var(--el-box-shadow-light);box-sizing:border-box}.el-table-filter__list{list-style:none;margin:0;min-width:100px;padding:5px 0}.el-table-filter__list-item{cursor:pointer;font-size:var(--el-font-size-base);line-height:36px;padding:0 10px}.el-table-filter__list-item:hover{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary)}.el-table-filter__list-item.is-active{background-color:var(--el-color-primary);color:#fff}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid var(--el-border-color-lighter);padding:8px}.el-table-filter__bottom button{background:transparent;border:none;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-small);padding:0 3px}.el-table-filter__bottom button:hover{color:var(--el-color-primary)}.el-table-filter__bottom button:focus{outline:none}.el-table-filter__bottom button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{align-items:center;display:flex;height:unset;margin-bottom:12px;margin-left:5px;margin-right:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0} diff --git a/nginx/admin/assets/el-table-column-CKoPG0Y8.css.gz b/nginx/admin/assets/el-table-column-CKoPG0Y8.css.gz new file mode 100644 index 0000000..44027da Binary files /dev/null and b/nginx/admin/assets/el-table-column-CKoPG0Y8.css.gz differ diff --git a/nginx/admin/assets/el-tag-DljBBxJR.css b/nginx/admin/assets/el-tag-DljBBxJR.css new file mode 100644 index 0000000..3d53e98 --- /dev/null +++ b/nginx/admin/assets/el-tag-DljBBxJR.css @@ -0,0 +1 @@ +.el-tag{--el-tag-font-size:12px;--el-tag-border-radius:4px;--el-tag-border-radius-rounded:9999px;align-items:center;background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);border-radius:var(--el-tag-border-radius);border-style:solid;border-width:1px;box-sizing:border-box;color:var(--el-tag-text-color);display:inline-flex;font-size:var(--el-tag-font-size);height:24px;justify-content:center;line-height:1;padding:0 9px;vertical-align:middle;white-space:nowrap;--el-icon-size:14px}.el-tag,.el-tag.el-tag--primary{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color:var(--el-color-success-light-9);--el-tag-border-color:var(--el-color-success-light-8);--el-tag-hover-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--el-color-warning-light-9);--el-tag-border-color:var(--el-color-warning-light-8);--el-tag-hover-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--el-color-danger-light-9);--el-tag-border-color:var(--el-color-danger-light-8);--el-tag-hover-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color:var(--el-color-error-light-9);--el-tag-border-color:var(--el-color-error-light-8);--el-tag-hover-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color:var(--el-color-info-light-9);--el-tag-border-color:var(--el-color-info-light-8);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{color:var(--el-tag-text-color);flex-shrink:0}.el-tag .el-tag__close:hover{background-color:var(--el-tag-hover-color);color:var(--el-color-white)}.el-tag.el-tag--primary{--el-tag-text-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color:var(--el-color-info)}.el-tag .el-icon{border-radius:50%;cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size)}.el-tag .el-tag__close{margin-left:6px}.el-tag--dark{--el-tag-text-color:var(--el-color-white)}.el-tag--dark,.el-tag--dark.el-tag--primary{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color:var(--el-color-success);--el-tag-border-color:var(--el-color-success);--el-tag-hover-color:var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color:var(--el-color-warning);--el-tag-border-color:var(--el-color-warning);--el-tag-hover-color:var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color:var(--el-color-danger);--el-tag-border-color:var(--el-color-danger);--el-tag-hover-color:var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color:var(--el-color-error);--el-tag-border-color:var(--el-color-error);--el-tag-hover-color:var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color:var(--el-color-info);--el-tag-border-color:var(--el-color-info);--el-tag-hover-color:var(--el-color-info-light-3)}.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info,.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning{--el-tag-text-color:var(--el-color-white)}.el-tag--plain,.el-tag--plain.el-tag--primary{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-success-light-5);--el-tag-hover-color:var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-warning-light-5);--el-tag-hover-color:var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-danger-light-5);--el-tag-hover-color:var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-error-light-5);--el-tag-hover-color:var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-info-light-5);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{height:32px;padding:0 11px;--el-icon-size:16px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{height:20px;padding:0 7px;--el-icon-size:12px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)} diff --git a/nginx/admin/assets/el-tooltip-l0sNRNKZ.js b/nginx/admin/assets/el-tooltip-l0sNRNKZ.js new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/nginx/admin/assets/el-tooltip-l0sNRNKZ.js @@ -0,0 +1 @@ + diff --git a/nginx/admin/assets/el-upload-q8uObtwj.css b/nginx/admin/assets/el-upload-q8uObtwj.css new file mode 100644 index 0000000..aae3fbe --- /dev/null +++ b/nginx/admin/assets/el-upload-q8uObtwj.css @@ -0,0 +1 @@ +.el-upload{--el-upload-dragger-padding-horizontal:40px;--el-upload-dragger-padding-vertical:10px;align-items:center;cursor:pointer;display:inline-flex;justify-content:center;outline:none}.el-upload.is-disabled{cursor:not-allowed}.el-upload.is-disabled:focus{color:inherit}.el-upload.is-disabled:focus,.el-upload.is-disabled:focus .el-upload-dragger{border-color:var(--el-border-color-darker)}.el-upload.is-disabled .el-upload-dragger{background-color:var(--el-disabled-bg-color);cursor:not-allowed}.el-upload.is-disabled .el-upload-dragger .el-upload__text{color:var(--el-text-color-placeholder)}.el-upload.is-disabled .el-upload-dragger .el-upload__text em{color:var(--el-disabled-text-color)}.el-upload.is-disabled .el-upload-dragger:hover{border-color:var(--el-border-color-darker)}.el-upload__input{display:none}.el-upload__tip{color:var(--el-text-color-regular);font-size:12px;margin-top:7px}.el-upload iframe{filter:alpha(opacity=0);left:0;opacity:0;position:absolute;top:0;z-index:-1}.el-upload--picture-card{--el-upload-picture-card-size:148px;align-items:center;background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:var(--el-upload-picture-card-size);justify-content:center;vertical-align:top;width:var(--el-upload-picture-card-size)}.el-upload--picture-card>i{color:var(--el-text-color-secondary);font-size:28px}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{color:var(--el-color-primary)}.el-upload:focus,.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);border-radius:6px;box-sizing:border-box;cursor:pointer;overflow:hidden;padding:var(--el-upload-dragger-padding-horizontal) var(--el-upload-dragger-padding-vertical);position:relative;text-align:center}.el-upload-dragger .el-icon--upload{color:var(--el-text-color-placeholder);font-size:67px;line-height:50px;margin-bottom:16px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary);padding:calc(var(--el-upload-dragger-padding-horizontal) - 1px) calc(var(--el-upload-dragger-padding-vertical) - 1px)}.el-upload-list{list-style:none;margin:10px 0 0;padding:0;position:relative}.el-upload-list__item{border-radius:4px;box-sizing:border-box;color:var(--el-text-color-regular);font-size:14px;margin-bottom:5px;position:relative;transition:all .5s cubic-bezier(.55,0,.1,1);width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{color:var(--el-text-color-regular);cursor:pointer;display:none;opacity:.75;position:absolute;right:5px;top:50%;transform:translateY(-50%);transition:opacity var(--el-transition-duration)}.el-upload-list__item .el-icon--close:hover{color:var(--el-color-primary);opacity:1}.el-upload-list__item .el-icon--close-tip{color:var(--el-color-primary);cursor:pointer;display:none;font-size:12px;font-style:normal;opacity:1;position:absolute;right:5px;top:1px}.el-upload-list__item:hover{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{display:inline-flex;flex-direction:column;justify-content:center;margin-left:4px;width:calc(100% - 30px)}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon--close-tip,.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip{display:none}.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label{display:none;opacity:0}.el-upload-list__item-name{align-items:center;color:var(--el-text-color-regular);display:inline-flex;font-size:var(--el-font-size-base);padding:0 4px;text-align:center;transition:color var(--el-transition-duration)}.el-upload-list__item-name .el-icon{color:var(--el-text-color-secondary);margin-right:6px}.el-upload-list__item-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-upload-list__item-status-label{align-items:center;display:none;height:100%;justify-content:center;line-height:inherit;position:absolute;right:5px;top:0;transition:opacity var(--el-transition-duration)}.el-upload-list__item-delete{color:var(--el-text-color-regular);display:none;font-size:12px;position:absolute;right:10px;top:0}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{--el-upload-list-picture-card-size:148px;display:inline-flex;flex-wrap:wrap;margin:0}.el-upload-list--picture-card .el-upload-list__item{background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;display:inline-flex;height:var(--el-upload-list-picture-card-size);margin:0 8px 8px 0;overflow:hidden;padding:0;width:var(--el-upload-list-picture-card-size)}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:block;opacity:0}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{background:var(--el-color-success);height:24px;right:-15px;text-align:center;top:-6px;transform:rotate(45deg);width:40px}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{align-items:center;background-color:var(--el-overlay-color-lighter);color:#fff;cursor:default;display:inline-flex;font-size:20px;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:opacity var(--el-transition-duration);width:100%}.el-upload-list--picture-card .el-upload-list__item-actions span{cursor:pointer;display:none}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:16px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{color:inherit;font-size:inherit;position:static}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{bottom:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{align-items:center;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;display:flex;margin-top:10px;overflow:hidden;padding:10px;z-index:0}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{display:inline-flex;opacity:0}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{align-items:center;background-color:var(--el-color-white);display:inline-flex;height:70px;justify-content:center;-o-object-fit:contain;object-fit:contain;position:relative;width:70px;z-index:1}.el-upload-list--picture .el-upload-list__item-status-label{background:var(--el-color-success);height:26px;position:absolute;right:-17px;text-align:center;top:-7px;transform:rotate(45deg);width:46px}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{cursor:default;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:10}.el-upload-cover:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;height:100%;width:100%}.el-upload-cover__label{background:var(--el-color-success);height:24px;right:-15px;text-align:center;top:-6px;transform:rotate(45deg);width:40px}.el-upload-cover__label i{color:#fff;font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-cover__progress{display:inline-block;position:static;vertical-align:middle;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{height:100%;left:0;position:absolute;top:0;width:100%}.el-upload-cover__interact{background-color:var(--el-overlay-color-light);bottom:0;height:100%;left:0;position:absolute;text-align:center;width:100%}.el-upload-cover__interact .btn{color:#fff;cursor:pointer;display:inline-block;font-size:14px;margin-top:60px;transition:var(--el-transition-md-fade);vertical-align:middle}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{background-color:#fff;bottom:0;color:var(--el-text-color-primary);font-size:14px;font-weight:400;height:36px;left:0;line-height:36px;margin:0;overflow:hidden;padding:0 10px;position:absolute;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1} diff --git a/nginx/admin/assets/el-upload-q8uObtwj.css.gz b/nginx/admin/assets/el-upload-q8uObtwj.css.gz new file mode 100644 index 0000000..eedffe8 Binary files /dev/null and b/nginx/admin/assets/el-upload-q8uObtwj.css.gz differ diff --git a/nginx/admin/assets/enums-B_hZIbhP.js b/nginx/admin/assets/enums-B_hZIbhP.js new file mode 100644 index 0000000..0f10f33 --- /dev/null +++ b/nginx/admin/assets/enums-B_hZIbhP.js @@ -0,0 +1 @@ +const t={1:"待支付",2:"已支付",3:"已取消",4:"已退款"},n={1:"待发货",2:"已发货",3:"已签收",4:"异常"};function r(n){var r;return n?null!=(r=t[n])?r:String(n):""}function e(t){var r;return t?null!=(r=n[t])?r:String(t):""}function u(t){if(null==t)return"";return`¥${(Number(t)/100).toFixed(2)}`}function i(t){if(!t)return"-";const n=new Date(t);if(isNaN(n.getTime()))return String(t);const r=t=>t.toString().padStart(2,"0");return`${n.getFullYear()}-${r(n.getMonth()+1)}-${r(n.getDate())} ${r(n.getHours())}:${r(n.getMinutes())}:${r(n.getSeconds())}`}export{r as a,i as b,e as c,u as f}; diff --git a/nginx/admin/assets/favicon-C1KazUkF.ico b/nginx/admin/assets/favicon-C1KazUkF.ico new file mode 100644 index 0000000..21e7063 Binary files /dev/null and b/nginx/admin/assets/favicon-C1KazUkF.ico differ diff --git a/nginx/admin/assets/form-item-B4F-CS9A.css b/nginx/admin/assets/form-item-B4F-CS9A.css new file mode 100644 index 0000000..7d14d59 --- /dev/null +++ b/nginx/admin/assets/form-item-B4F-CS9A.css @@ -0,0 +1 @@ +.el-form{--el-form-label-font-size: var(--el-font-size-base);--el-form-inline-content-width: 220px}.el-form--inline .el-form-item{display:inline-flex;vertical-align:middle;margin-right:32px}.el-form--inline.el-form--label-top{display:flex;flex-wrap:wrap}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-form-item{display:flex;--font-size: 14px;margin-bottom:18px}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size: 14px;--el-form-label-font-size: var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size: 14px;--el-form-label-font-size: var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size: 12px;--el-form-label-font-size: var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--label-left .el-form-item__label{text-align:left;justify-content:flex-start}.el-form-item--label-right .el-form-item__label{text-align:right;justify-content:flex-end}.el-form-item--label-top{display:block}.el-form-item--label-top .el-form-item__label{display:block;width:fit-content;height:auto;text-align:left;margin-bottom:8px;line-height:22px}.el-form-item__label-wrap{display:flex}.el-form-item__label{display:inline-flex;align-items:flex-start;flex:0 0 auto;font-size:var(--el-form-label-font-size);color:var(--el-text-color-regular);height:32px;line-height:32px;padding:0 12px 0 0;box-sizing:border-box}.el-form-item__content{display:flex;flex-wrap:wrap;align-items:center;flex:1;line-height:32px;position:relative;font-size:var(--font-size);min-width:0}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);font-size:12px;line-height:1;padding-top:2px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before{content:"*";color:var(--el-color-danger);margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after{content:"*";color:var(--el-color-danger);margin-left:4px}.el-form-item.is-error .el-form-item__content .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner,.el-form-item.is-error .el-form-item__content .el-textarea__inner:hover,.el-form-item.is-error .el-form-item__content .el-textarea__inner:focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner.is-focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper,.el-form-item.is-error .el-form-item__content .el-select__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-select__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__wrapper{box-shadow:0 0 0 1px transparent inset}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__validateIcon,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__validateIcon{display:none}.el-form-item.is-error .el-form-item__content .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex} diff --git a/nginx/admin/assets/gamePasses-BXLFUsdE.js b/nginx/admin/assets/gamePasses-BXLFUsdE.js new file mode 100644 index 0000000..1b4bd0c --- /dev/null +++ b/nginx/admin/assets/gamePasses-BXLFUsdE.js @@ -0,0 +1 @@ +import{c1 as a}from"./index-BoIUJTA2.js";function s(s){return a.get({url:"/admin/game-passes/list",params:s})}function r(s){return a.post({url:"/admin/game-passes/grant",data:s})}export{s as a,r as g}; diff --git a/nginx/admin/assets/grant-pass-dialog-Dfv4U4Lo.js b/nginx/admin/assets/grant-pass-dialog-Dfv4U4Lo.js new file mode 100644 index 0000000..6f714e7 --- /dev/null +++ b/nginx/admin/assets/grant-pass-dialog-Dfv4U4Lo.js @@ -0,0 +1 @@ +import{_ as i}from"./grant-pass-dialog.vue_vue_type_script_setup_true_lang-BRWnqJeo.js";import"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./gamePasses-BXLFUsdE.js";import"./activity-CMsiETfu.js";import"./player-manage-ReHd8eMR.js";import"./index-BcfO0-fK.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-D2gD5Tn5.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./index-C_S0YbqD.js";import"./index-BnK4BbY2.js";import"./index-CjpBlozU.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";export{i as default}; diff --git a/nginx/admin/assets/grant-pass-dialog.vue_vue_type_script_setup_true_lang-BRWnqJeo.js b/nginx/admin/assets/grant-pass-dialog.vue_vue_type_script_setup_true_lang-BRWnqJeo.js new file mode 100644 index 0000000..0e44d03 --- /dev/null +++ b/nginx/admin/assets/grant-pass-dialog.vue_vue_type_script_setup_true_lang-BRWnqJeo.js @@ -0,0 +1 @@ +var e=Object.defineProperty,l=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable,o=(l,a,t)=>a in l?e(l,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[a]=t,u=(e,u)=>{for(var r in u||(u={}))a.call(u,r)&&o(e,r,u[r]);if(l)for(var r of l(u))t.call(u,r)&&o(e,r,u[r]);return e},r=(e,l,a)=>new Promise((t,o)=>{var u=e=>{try{s(a.next(e))}catch(l){o(l)}},r=e=>{try{s(a.throw(e))}catch(l){o(l)}},s=e=>e.done?t(e.value):Promise.resolve(e.value).then(u,r);s((a=a.apply(e,l)).next())});import{d as s,r as i,o as d,A as m,h as n,e as p,w as v,g as c,b as f,I as y,J as _,f as b,K as g,E as j,j as V,T as h}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{g as x}from"./gamePasses-BXLFUsdE.js";import{f as k}from"./activity-CMsiETfu.js";import{p as w}from"./player-manage-ReHd8eMR.js";import{a as I,E as O}from"./index-BcfO0-fK.js";import{E as U,a as E}from"./index-D2gD5Tn5.js";import{E as P}from"./index-C_S0YbqD.js";import{E as N}from"./index-CjpBlozU.js";const C=s({__name:"grant-pass-dialog",props:{modelValue:{type:Boolean},userId:{},userName:{}},emits:["update:modelValue","success"],setup(e,{emit:l}){const a=e,t=l,o=i(a.modelValue),s=i(!1),C=i(),q=i([]),z=i([]),B=i(!1),D=()=>r(this,null,function*(){const e=yield k({page:1,page_size:100});q.value=e.records}),S=e=>r(this,null,function*(){if(e){B.value=!0;try{const l=yield w({nickname:e,page:1,page_size:20});z.value=l.list}finally{B.value=!1}}else z.value=[]}),T={user_id:0,activity_id:0,count:1,valid_days:0,remark:""},$=i(u({},T)),A={user_id:[{required:!0,message:"请选择玩家",trigger:"change"}],count:[{required:!0,message:"请输入发放次数",trigger:"blur"}]};d(()=>{D()}),m(()=>a.modelValue,e=>{o.value=e,e&&a.userId&&($.value.user_id=a.userId,z.value.find(e=>Number(e.id)===a.userId)||(z.value=[{id:a.userId,nickname:a.userName||"当前玩家"}]))}),m(()=>o.value,e=>{t("update:modelValue",e)});const H=()=>{$.value=u({},T)},J=()=>r(this,null,function*(){C.value&&(yield C.value.validate(e=>r(this,null,function*(){if(e){s.value=!0;try{yield x($.value),h.success("次数卡发放成功"),t("success"),o.value=!1}catch(l){}finally{s.value=!1}}})))});return(e,l)=>{const a=E,t=U,u=O,r=P,i=g,d=I,m=j,h=N;return p(),n(h,{modelValue:o.value,"onUpdate:modelValue":l[6]||(l[6]=e=>o.value=e),title:"发放次数卡",width:"500px",onClose:H,"destroy-on-close":""},{footer:v(()=>[c(m,{onClick:l[5]||(l[5]=e=>o.value=!1)},{default:v(()=>[...l[8]||(l[8]=[V("取消",-1)])]),_:1}),c(m,{type:"primary",onClick:J,loading:s.value},{default:v(()=>[...l[9]||(l[9]=[V("确认发放",-1)])]),_:1},8,["loading"])]),default:v(()=>[c(d,{model:$.value,"label-width":"100px",rules:A,ref_key:"formRef",ref:C},{default:v(()=>[c(u,{label:"发放玩家",prop:"user_id"},{default:v(()=>[c(t,{modelValue:$.value.user_id,"onUpdate:modelValue":l[0]||(l[0]=e=>$.value.user_id=e),filterable:"",remote:"","reserve-keyword":"",placeholder:"搜索用户名或输入ID","remote-method":S,loading:B.value,style:{width:"100%"}},{default:v(()=>[(p(!0),f(y,null,_(z.value,e=>(p(),n(a,{key:e.id,label:`${e.nickname} (ID: ${e.id})`,value:Number(e.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),c(u,{label:"发放次数",prop:"count"},{default:v(()=>[c(r,{modelValue:$.value.count,"onUpdate:modelValue":l[1]||(l[1]=e=>$.value.count=e),min:1,max:9999999,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),c(u,{label:"关联活动",prop:"activity_id"},{default:v(()=>[c(t,{modelValue:$.value.activity_id,"onUpdate:modelValue":l[2]||(l[2]=e=>$.value.activity_id=e),placeholder:"请选择活动",clearable:"",style:{width:"100%"}},{default:v(()=>[c(a,{value:0,label:"通用"}),(p(!0),f(y,null,_(q.value,e=>(p(),n(a,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),c(u,{label:"有效期(天)",prop:"valid_days"},{default:v(()=>[c(r,{modelValue:$.value.valid_days,"onUpdate:modelValue":l[3]||(l[3]=e=>$.value.valid_days=e),min:0},null,8,["modelValue"]),l[7]||(l[7]=b("div",{class:"text-gray-400 text-xs mt-1"},"0表示永久有效",-1))]),_:1}),c(u,{label:"备注",prop:"remark"},{default:v(()=>[c(i,{type:"textarea",modelValue:$.value.remark,"onUpdate:modelValue":l[4]||(l[4]=e=>$.value.remark=e),placeholder:"请输入发放备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])}}});export{C as _}; diff --git a/nginx/admin/assets/grant-reward-dialog-D7-C3J8j.css b/nginx/admin/assets/grant-reward-dialog-D7-C3J8j.css new file mode 100644 index 0000000..097d0a8 --- /dev/null +++ b/nginx/admin/assets/grant-reward-dialog-D7-C3J8j.css @@ -0,0 +1 @@ +[data-v-fca1fd3d] .el-dialog__body{padding-top:20px}.reward-form[data-v-fca1fd3d]{padding:0 10px}[data-v-fca1fd3d] .el-form-item{margin-bottom:20px}[data-v-fca1fd3d] .el-form-item:last-child{margin-bottom:0} diff --git a/nginx/admin/assets/grant-reward-dialog-b2ANVjTQ.js b/nginx/admin/assets/grant-reward-dialog-b2ANVjTQ.js new file mode 100644 index 0000000..89f5f16 --- /dev/null +++ b/nginx/admin/assets/grant-reward-dialog-b2ANVjTQ.js @@ -0,0 +1 @@ +var e=(e,t,a)=>new Promise((i,r)=>{var l=e=>{try{s(a.next(e))}catch(t){r(t)}},o=e=>{try{s(a.throw(e))}catch(t){r(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(l,o);s((a=a.apply(e,t)).next())});import{d as t,r as a,k as i,A as r,h as l,e as o,w as s,g as d,b as n,I as m,J as p,f as u,v as c,j as v,K as f,E as y,O as _,T as j}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{f as g}from"./product-qKpGgPBm.js";import{a as h,E as b}from"./index-BcfO0-fK.js";import{E as x,a as k}from"./index-D2gD5Tn5.js";import{E as w}from"./index-ZsMdSUVI.js";import{E as q}from"./index-C_S0YbqD.js";import{E as P}from"./index-CjpBlozU.js";import{_ as V}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./index-BnK4BbY2.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";const I={class:"flex items-center justify-between"},A={class:"font-medium"},C={class:"text-sm text-gray-500"},E=V(t({__name:"grant-reward-dialog",props:{visible:{type:Boolean},playerId:{}},emits:["update:visible","submit"],setup(t,{emit:V}){const E=t,U=V,M=a(),B=a(!1),z=a(!1),L=i({product_id:void 0,quantity:1,activity_id:void 0,reward_id:void 0,remark:""}),O=a([]);a([]),a([]);const T=a([]),F={product_id:[{required:!0,message:"请选择商品",trigger:"change"}],quantity:[{required:!0,message:"请输入发放数量",trigger:"blur"},{type:"number",min:1,max:100,message:"发放数量必须在1-100之间",trigger:"blur"}]},H=t=>e(this,null,function*(){z.value=!0;try{const e=(yield g({name:t||void 0,status:1,page:1,page_size:50})).list.map(e=>({id:e.id,name:e.name,price:e.price,stock:e.stock||0}));O.value=e,0===e.length?j.info(t?"未找到相关商品":"暂无可用商品"):j.success(`成功加载 ${e.length} 个商品`)}catch(e){const a=[{id:1,name:"iPhone 15 Pro",stock:100,price:9999},{id:2,name:"MacBook Air",stock:50,price:8999},{id:3,name:"AirPods Pro",stock:200,price:1999},{id:4,name:"iPad Air",stock:80,price:4399},{id:5,name:"Apple Watch",stock:150,price:2999},{id:6,name:"iPhone 15",stock:120,price:7999},{id:7,name:"MacBook Pro",stock:30,price:15999},{id:8,name:"AirPods Max",stock:75,price:4399}],i=t?a.filter(e=>e.name.toLowerCase().includes(t.toLowerCase())):a;O.value=i,j.warning("商品数据加载失败,使用演示数据")}finally{z.value=!1}}),J=()=>e(this,null,function*(){if(E.playerId)try{T.value=[]}catch(e){}}),K=()=>e(this,null,function*(){M.value&&E.playerId&&(yield M.value.validate(t=>e(this,null,function*(){if(t){B.value=!0;try{const e={product_id:L.product_id,quantity:L.quantity,activity_id:L.activity_id||void 0,reward_id:L.reward_id||void 0,remark:L.remark};U("submit",e),Q()}catch(e){j.error(e.message||"奖励发放失败")}finally{B.value=!1}}})))}),Q=()=>{U("update:visible",!1)},R=()=>{var e;null==(e=M.value)||e.resetFields(),L.quantity=1,L.activity_id=void 0,L.reward_id=void 0,L.remark="",O.value=[]};return r(()=>E.playerId,e=>{e&&(J(),H(""))},{immediate:!0}),r(()=>E.visible,e=>{e&&0===O.value.length&&H("")}),(e,a)=>{const i=w,r=k,j=x,g=b,V=q,E=f,T=h,J=y,S=P;return o(),l(S,{title:"给用户发放奖励","model-value":t.visible,"onUpdate:modelValue":a[3]||(a[3]=e=>U("update:visible",e)),width:"600px","close-on-click-modal":!1,onClosed:R},{footer:s(()=>[d(J,{onClick:_(Q,["prevent"])},{default:s(()=>[...a[5]||(a[5]=[v("取消",-1)])]),_:1}),d(J,{type:"primary",loading:B.value,onClick:_(K,["prevent"])},{default:s(()=>[...a[6]||(a[6]=[v(" 确认发放 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[d(T,{ref_key:"formRef",ref:M,model:L,rules:F,"label-width":"100px",class:"reward-form"},{default:s(()=>[d(g,{label:"选择商品",prop:"product_id"},{default:s(()=>[d(j,{modelValue:L.product_id,"onUpdate:modelValue":a[0]||(a[0]=e=>L.product_id=e),placeholder:"请选择要发放的商品",filterable:"",remote:"","remote-method":H,loading:z.value,style:{width:"100%"}},{default:s(()=>[(o(!0),n(m,null,p(O.value,e=>(o(),l(r,{key:e.id,label:e.name,value:e.id},{default:s(()=>[u("div",I,[u("div",null,[u("div",A,c(e.name),1),u("div",C,"¥"+c(e.price),1)]),d(i,{size:"small",type:e.stock>0?"success":"danger"},{default:s(()=>[v(" 库存: "+c(e.stock||0),1)]),_:2},1032,["type"])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),d(g,{label:"发放数量",prop:"quantity"},{default:s(()=>[d(V,{modelValue:L.quantity,"onUpdate:modelValue":a[1]||(a[1]=e=>L.quantity=e),min:1,max:100,"controls-position":"right",style:{width:"120px"}},null,8,["modelValue"]),a[4]||(a[4]=u("span",{class:"ml-2 text-sm text-gray-500"},"最多可发放100个",-1))]),_:1}),d(g,{label:"备注",prop:"remark"},{default:s(()=>[d(E,{modelValue:L.remark,"onUpdate:modelValue":a[2]||(a[2]=e=>L.remark=e),type:"textarea",rows:2,placeholder:"请输入发放备注(可选)",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["model-value"])}}}),[["__scopeId","data-v-fca1fd3d"]]);export{E as default}; diff --git a/nginx/admin/assets/growth-analytics-C1Kpa-bS.js b/nginx/admin/assets/growth-analytics-C1Kpa-bS.js new file mode 100644 index 0000000..531c55a --- /dev/null +++ b/nginx/admin/assets/growth-analytics-C1Kpa-bS.js @@ -0,0 +1 @@ +import{d as e,r as t,c as a,o as s,b as l,e as r,X as d,N as i,b2 as c,f as o,I as n,J as v,j as x,v as u,i as f,q as g}from"./index-BoIUJTA2.js";import{g as p}from"./operations-Cr4YfoRu.js";import{_ as m}from"./_plugin-vue_export-helper-BCo6x5W8.js";const b={class:"art-card h-auto min-h-[480px] p-6 mb-5 relative overflow-hidden group"},h={class:"grid grid-cols-1 lg:grid-cols-12 gap-8"},k={class:"lg:col-span-12 grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6"},y={class:"flex-cb mb-3"},w={class:"text-xs text-g-600 font-black uppercase tracking-widest"},_={class:"flex items-baseline"},P={key:0,class:"text-sm font-black text-g-500 mr-1"},j={class:"text-3xl font-black text-g-900 font-mono tracking-tighter"},A={class:"mt-2 text-sm text-g-600 font-bold leading-relaxed"},L={class:"lg:col-span-12 mt-4 p-5 bg-theme/5 rounded-3xl border border-theme/10"},C={class:"flex items-start"},F={class:"text-sm text-g-700 leading-relaxed font-bold"},R={class:"text-primary font-black"},S=m(e({__name:"growth-analytics",setup(e){const m=t(null),S=t(!1),U=a(()=>m.value?[{title:"人均价值 (ARPU)",value:m.value.arpu.toLocaleString(),trend:m.value.arpuTrend,desc:"平均每位活跃玩家贡献的营收数据",prefix:"¥"},{title:"裂变强度 (K-Factor)",value:m.value.kFactor,desc:"衡量用户自发传播带动拉新的能力",prefix:""},{title:"生命周期价值 (CLV)",value:m.value.clv.toLocaleString(),desc:"预测单个用户在整个生命周期内的总价值",prefix:"¥"},{title:"获客成本参考 (CAC)",value:m.value.cac.toLocaleString(),trend:m.value.cacTrend,desc:"通过营销活动获取单个用户的预计投入",prefix:"¥"}]:[]);return s(()=>{return e=this,t=null,a=function*(){S.value=!0;try{m.value=yield p()}finally{S.value=!1}},new Promise((s,l)=>{var r=e=>{try{i(a.next(e))}catch(t){l(t)}},d=e=>{try{i(a.throw(e))}catch(t){l(t)}},i=e=>e.done?s(e.value):Promise.resolve(e.value).then(r,d);i((a=a.apply(e,t)).next())});var e,t,a}),(e,t)=>{var a;const s=c;return r(),l("div",b,[t[4]||(t[4]=d('

增长经济模型分析

基于 ARPU 与裂变系数的深度增长洞察

',1)),i((r(),l("div",h,[o("div",k,[(r(!0),l(n,null,v(U.value,e=>(r(),l("div",{key:e.title,class:"p-6 rounded-3xl border border-g-200 bg-g-50/30 hover:bg-white hover:shadow-xl hover:scale-[1.02] transition-all duration-300"},[o("div",y,[o("span",w,u(e.title),1),void 0!==e.trend?(r(),l("div",{key:0,class:g(["px-2 py-0.5 rounded-full text-xs font-black",e.trend>=0?"bg-success/15 text-success":"bg-danger/15 text-danger"])},u(e.trend>=0?"+":"")+u(e.trend)+"% ",3)):f("",!0)]),o("div",_,[e.prefix?(r(),l("span",P,u(e.prefix),1)):f("",!0),o("span",j,u(e.value),1)]),o("div",A,u(e.desc),1)]))),128))]),o("div",L,[o("div",C,[t[3]||(t[3]=o("div",{class:"size-10 rounded-2xl bg-white flex-cc shrink-0 shadow-sm mr-4"},[o("i",{class:"ri-lightbulb-flash-line text-yellow-500 text-xl"})],-1)),o("div",null,[t[2]||(t[2]=o("div",{class:"text-base font-black text-g-800 mb-1"},"业务增长洞察",-1)),o("p",F,[t[0]||(t[0]=x(" 当前裂变系数 ",-1)),o("span",R,"K="+u(null==(a=m.value)?void 0:a.kFactor),1),t[1]||(t[1]=x(" 说明项目具备强自传播能力。 ARPU 环比增长说明用户对当前盲盒系列接受度良好,单客价值稳步提升。 ",-1))])])])])])),[[s,S.value]])])}}}),[["__scopeId","data-v-f5003dfe"]]);export{S as default}; diff --git a/nginx/admin/assets/growth-analytics-CIkQmpmj.css b/nginx/admin/assets/growth-analytics-CIkQmpmj.css new file mode 100644 index 0000000..124349a --- /dev/null +++ b/nginx/admin/assets/growth-analytics-CIkQmpmj.css @@ -0,0 +1 @@ +.art-card[data-v-f5003dfe]{background:#fff;border:1px solid var(--art-border-color);border-radius:32px} diff --git a/nginx/admin/assets/ichiban-slots-L0I2lhy7.js b/nginx/admin/assets/ichiban-slots-L0I2lhy7.js new file mode 100644 index 0000000..11a1db7 --- /dev/null +++ b/nginx/admin/assets/ichiban-slots-L0I2lhy7.js @@ -0,0 +1 @@ +var e=(e,l,a)=>new Promise((i,t)=>{var o=e=>{try{r(a.next(e))}catch(l){t(l)}},s=e=>{try{r(a.throw(e))}catch(l){t(l)}},r=e=>e.done?i(e.value):Promise.resolve(e.value).then(o,s);r((a=a.apply(e,l)).next())});import{c1 as l,d as a,r as i,o as t,b as o,e as s,f as r,g as n,h as u,i as d,v as m,w as p,I as c,J as v,p as f,M as j,E as g,j as b,T as h}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_}from"./index-Bwtbh5WQ.js";import{A as x}from"./index-BaXJ8CyS.js";import{u as y}from"./useTable-DzUOUR11.js";import{l as w,b as C}from"./adminActivities-Dgt25iR5.js";import{f as k}from"./activity-CMsiETfu.js";import{c as z}from"./activityEnums-zI8yOqFS.js";import{E as V}from"./index-dBzz0k3i.js";import{E}from"./index-js0HKKV6.js";import{E as S,a as A}from"./index-D2gD5Tn5.js";import{E as P}from"./index-ZsMdSUVI.js";import{E as T}from"./index-CjpBlozU.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./refs-Cw5r5QN8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";/* empty css */import"./index-CZJaGuxf.js";import"./useTableColumns-FR69a2pD.js";import"./token-DWNpOE8r.js";import"./use-dialog-FwJ-QdmW.js";const U={class:"art-table-card"},D={class:"flex items-center justify-between px-5 pt-4 pb-2"},I={class:"text-xs text-g-500"},$={class:"flex items-center gap-3"},L=["src"],B={class:"font-medium"},F={class:"text-xs text-g-500"},O={key:0},R={class:"mb-2"},J={class:"mb-2"},M={class:"mb-2"},Q=a({__name:"ichiban-slots",setup(a){const Q=i([]),W=i([]),X=i(),q=i(),G=i(void 0),H=i(!1),{data:K,columns:N,columnChecks:Y,pagination:Z,refreshData:ee,handleSizeChange:le,handleCurrentChange:ae}=y({core:{apiFn:a=>e(this,null,function*(){if(!X.value||!q.value)return{list:[],total_slots:0};const e="boolean"==typeof G.value?G.value:void 0,i=yield function(e,a,i=1,t=50,o){const s={page:i,page_size:t};return"boolean"==typeof o&&(s.claimed=o),l.get({url:`admin/ichiban/activities/${e}/issues/${a}/slots`,params:s})}(X.value,q.value,a.current||1,a.size||50,e);return i}),columnsFactory:()=>[{prop:"product_image",label:"奖品",minWidth:220,useSlot:!0},{prop:"level",label:"等级",width:90,useSlot:!0},{prop:"position",label:"位置",width:120,useSlot:!0},{prop:"claimed",label:"占用",width:90,useSlot:!0},{prop:"operation",label:"操作",width:120,fixed:"right",useSlot:!0}],immediate:!1},transform:{responseAdapter:e=>({records:e.list||[],total:e.total_slots||0})},hooks:{onLoading:e=>H.value=e,onError:e=>h.error(e.message||"加载失败")}}),ie=i(!1),te=i(null),oe=i(void 0);function se(){return e(this,null,function*(){if(q.value=void 0,!X.value)return;const e=yield w(X.value,1,100);W.value=(e.list||[]).map(e=>({id:e.id,issue_number:e.issue_number})),W.value.length>0&&(q.value=W.value[0].id,yield re())})}function re(){return e(this,null,function*(){if(X.value&&q.value){try{const e=yield C(X.value);oe.value=e.seed_version}catch(e){}ee()}})}function ne(a){return e(this,null,function*(){if(!q.value)return;const e=yield function(e,a){return l.get({url:`admin/ichiban/issues/${e}/slot/${a}`})}(q.value,a);te.value=e.item,ie.value=!0})}return t(()=>e(this,null,function*(){yield function(){return e(this,null,function*(){const e=yield k({page:1,page_size:50});Q.value=e.records.filter(e=>"ichiban"===e.playType).map(e=>({id:e.id,name:e.name}))})}(),Q.value.length>0&&(X.value=Q.value[0].id,yield se())})),(e,l)=>{var a;const i=V,t=A,h=S,y=E,w=P,C=g,k=T;return s(),o("div",U,[r("div",D,[r("div",null,[l[6]||(l[6]=r("div",{class:"text-base font-medium"},"一番赏序号映射",-1)),r("div",I,"规则:等级降序 → 奖品排序升序 → 奖品ID升序;承诺版本:"+m(null!=(a=oe.value)?a:"-"),1),oe.value?d("",!0):(s(),u(i,{key:0,title:"未生成承诺",type:"warning",description:"请到“活动管理→生成承诺”后再查看位置映射",class:"mt-2"}))])]),n(x,{columns:f(Y),"onUpdate:columns":l[3]||(l[3]=e=>j(Y)?Y.value=e:null),loading:H.value,onRefresh:f(ee)},{left:p(()=>[n(y,{wrap:""},{default:p(()=>[n(h,{modelValue:X.value,"onUpdate:modelValue":l[0]||(l[0]=e=>X.value=e),placeholder:"选择活动",size:"large",class:"w-64",filterable:"",clearable:"",teleported:"",onChange:se},{default:p(()=>[(s(!0),o(c,null,v(Q.value,e=>(s(),u(t,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(h,{modelValue:q.value,"onUpdate:modelValue":l[1]||(l[1]=e=>q.value=e),placeholder:"选择期次",size:"large",class:"w-64",filterable:"",clearable:"",teleported:"",onChange:re},{default:p(()=>[(s(!0),o(c,null,v(W.value,e=>(s(),u(t,{key:e.id,label:e.issue_number,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(h,{modelValue:G.value,"onUpdate:modelValue":l[2]||(l[2]=e=>G.value=e),placeholder:"占用筛选",size:"large",class:"w-40",clearable:"",teleported:"",onChange:re},{default:p(()=>[n(t,{label:"全部",value:""}),n(t,{label:"已占用",value:!0}),n(t,{label:"未占用",value:!1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["columns","loading","onRefresh"]),n(_,{loading:H.value,data:f(K),columns:f(N),pagination:f(Z),"onPagination:sizeChange":f(le),"onPagination:currentChange":f(ae)},{product_image:p(({row:e})=>[r("div",$,[e.product_image?(s(),o("img",{key:0,src:e.product_image,class:"w-12 h-12 rounded object-cover"},null,8,L)):d("",!0),r("div",null,[r("div",B,m(e.reward_name),1),r("div",F,"ID: "+m(e.reward_id),1)])])]),level:p(({row:e})=>[n(w,{type:"warning"},{default:p(()=>[b(m(f(z)(e.level)),1)]),_:2},1024)]),position:p(({row:e})=>[r("div",null,"位置:"+m(e.slot_index),1)]),claimed:p(({row:e})=>[n(w,{type:e.claimed?"danger":"success"},{default:p(()=>[b(m(e.claimed?"已占用":"未占用"),1)]),_:2},1032,["type"])]),operation:p(({row:e})=>[n(C,{size:"small",onClick:l=>ne(e.slot_index)},{default:p(()=>[...l[7]||(l[7]=[b("详情",-1)])]),_:1},8,["onClick"])]),_:1},8,["loading","data","columns","pagination","onPagination:sizeChange","onPagination:currentChange"]),n(k,{modelValue:ie.value,"onUpdate:modelValue":l[5]||(l[5]=e=>ie.value=e),title:"位置详情",width:"500px"},{footer:p(()=>[n(C,{onClick:l[4]||(l[4]=e=>ie.value=!1)},{default:p(()=>[...l[8]||(l[8]=[b("关闭",-1)])]),_:1})]),default:p(()=>[te.value?(s(),o("div",O,[r("div",R,"序号:"+m(te.value.slot_index),1),r("div",J,"奖品:"+m(te.value.reward_name)+" (ID: "+m(te.value.reward_id)+")",1),r("div",M,"等级:"+m(f(z)(te.value.level)),1),r("div",null,"状态:"+m(te.value.claimed?"已占用":"未占用"),1)])):d("",!0)]),_:1},8,["modelValue"])])}}});export{Q as default}; diff --git a/nginx/admin/assets/iconify-DFoKediz.js b/nginx/admin/assets/iconify-DFoKediz.js new file mode 100644 index 0000000..469c898 --- /dev/null +++ b/nginx/admin/assets/iconify-DFoKediz.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,c=(t,n,o)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[n]=o,s=(e,t)=>{for(var n in t||(t={}))r.call(t,n)&&c(e,n,t[n]);if(o)for(var n of o(t))i.call(t,n)&&c(e,n,t[n]);return e},a=(e,o)=>t(e,n(o));import{d as l,r as u,aM as f,o as p,A as d,aP as h,ag as g,n as b}from"./index-BoIUJTA2.js";const m=/^[a-z0-9]+(-[a-z0-9]+)*$/,v=(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 e=r.pop(),n=r.pop(),i={provider:r.length>0?r[0]:o,prefix:n,name:e};return t&&!y(i)?null:i}const i=r[0],c=i.split("-");if(c.length>1){const e={provider:o,prefix:c.shift(),name:c.join("-")};return t&&!y(e)?null:e}if(n&&""===o){const e={provider:o,prefix:"",name:i};return t&&!y(e,n)?null:e}return null},y=(e,t)=>!!e&&!(!(t&&""===e.prefix||e.prefix)||!e.name),x=Object.freeze({left:0,top:0,width:16,height:16}),w=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),j=Object.freeze(s(s({},x),w)),k=Object.freeze(a(s({},j),{body:"",hidden:!1}));function O(e,t){const n=function(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}(e,t);for(const o in k)o in w?o in e&&!(o in n)&&(n[o]=w[o]):o in t?n[o]=t[o]:o in e&&(n[o]=e[o]);return n}function F(e,t,n){const o=e.icons,r=e.aliases||Object.create(null);let i={};function c(e){i=O(o[e]||r[e],i)}return c(t),n.forEach(c),O(e,i)}function E(e,t){const n=[];if("object"!=typeof e||"object"!=typeof e.icons)return n;e.not_found instanceof Array&&e.not_found.forEach(e=>{t(e,null),n.push(e)});const o=function(e){const t=e.icons,n=e.aliases||Object.create(null),o=Object.create(null);return Object.keys(t).concat(Object.keys(n)).forEach(function e(r){if(t[r])return o[r]=[];if(!(r in o)){o[r]=null;const t=n[r]&&n[r].parent,i=t&&e(t);i&&(o[r]=[t].concat(i))}return o[r]}),o}(e);for(const r in o){const i=o[r];i&&(t(r,F(e,r,i)),n.push(r))}return n}const S=s({provider:"",aliases:{},not_found:{}},x);function T(e,t){for(const n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function I(e){if("object"!=typeof e||null===e)return null;const t=e;if("string"!=typeof t.prefix||!e.icons||"object"!=typeof e.icons)return null;if(!T(e,S))return null;const n=t.icons;for(const r in n){const e=n[r];if(!r||"string"!=typeof e.body||!T(e,k))return null}const o=t.aliases||Object.create(null);for(const r in o){const e=o[r],t=e.parent;if(!r||"string"!=typeof t||!n[t]&&!o[t]||!T(e,k))return null}return t}const C=Object.create(null);function L(e,t){const n=C[e]||(C[e]=Object.create(null));return n[t]||(n[t]=function(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}(e,t))}function M(e,t){return I(t)?E(t,(t,n)=>{n?e.icons[t]=n:e.missing.add(t)}):[]}let z=!1;function P(e){return"boolean"==typeof e&&(z=e),z}function A(e,t){const n=v(e,!0,z);if(!n)return!1;const o=L(n.provider,n.prefix);return t?function(e,t,n){try{if("string"==typeof n.body)return e.icons[t]=s({},n),!0}catch(o){}return!1}(o,n.name,t):(o.missing.add(n.name),!0)}const R=Object.freeze({width:null,height:null}),$=Object.freeze(s(s({},R),w)),N=/(-?[0-9.]*[0-9]+[0-9.]*)/g,D=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function U(e,t,n){if(1===t)return e;if(n=n||100,"number"==typeof e)return Math.ceil(e*t*n)/n;if("string"!=typeof e)return e;const o=e.split(N);if(null===o||!o.length)return e;const r=[];let i=o.shift(),c=D.test(i);for(;;){if(c){const e=parseFloat(i);isNaN(e)?r.push(i):r.push(Math.ceil(e*t*n)/n)}else r.push(i);if(i=o.shift(),void 0===i)return r.join("");c=!c}}const q=/\sid="(\S+)"/g,_="IconifyId"+Date.now().toString(16)+(16777216*Math.random()|0).toString(16);let H=0;const Q=Object.create(null);function B(e){return Q[e]||Q[""]}function V(e){let t;if("string"==typeof e.resources)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:!0===e.random,index:e.index||0,dataAfterTimeout:!1!==e.dataAfterTimeout}}const G=Object.create(null),J=["https://api.simplesvg.com","https://api.unisvg.com"],K=[];for(;J.length>0;)1===J.length||Math.random()>.5?K.push(J.shift()):K.push(J.pop());function W(e,t){const n=V(t);return null!==n&&(G[e]=n,!0)}function X(e){return G[e]}G[""]=V({resources:["https://api.iconify.design"].concat(K)});let Y=(()=>{let e;try{if(e=fetch,"function"==typeof e)return e}catch(t){}})();const Z={prepare:(e,t,n)=>{const o=[],r=function(e,t){const n=X(e);if(!n)return 0;let o;if(n.maxURL){let e=0;n.resources.forEach(t=>{const n=t;e=Math.max(e,n.length)});const r=t+".json?icons=";o=n.maxURL-e-n.path.length-r.length}else o=0;return o}(e,t),i="icons";let c={type:i,provider:e,prefix:t,icons:[]},s=0;return n.forEach((n,a)=>{s+=n.length+1,s>=r&&a>0&&(o.push(c),c={type:i,provider:e,prefix:t,icons:[]},s=n.length),c.icons.push(n)}),o.push(c),o},send:(e,t,n)=>{if(!Y)return void n("abort",424);let o=function(e){if("string"==typeof e){const t=X(e);if(t)return t.path}return"/"}(t.provider);switch(t.type){case"icons":{const e=t.prefix,n=t.icons.join(",");o+=e+".json?"+new URLSearchParams({icons:n}).toString();break}case"custom":{const e=t.uri;o+="/"===e.slice(0,1)?e.slice(1):e;break}default:return void n("abort",400)}let r=503;Y(e+o).then(e=>{const t=e.status;if(200===t)return r=501,e.json();setTimeout(()=>{n(function(e){return 404===e}(t)?"abort":"next",t)})}).then(e=>{"object"==typeof e&&null!==e?setTimeout(()=>{n("success",e)}):setTimeout(()=>{404===e?n("abort",e):n("next",r)})}).catch(()=>{n("next",r)})}};function ee(e,t){e.forEach(e=>{const n=e.loaderCallbacks;n&&(e.loaderCallbacks=n.filter(e=>e.id!==t))})}let te=0;var ne={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function oe(e,t,n,o){const r=e.resources.length,i=e.random?Math.floor(Math.random()*r):e.index;let c;if(e.random){let t=e.resources.slice(0);for(c=[];t.length>1;){const e=Math.floor(Math.random()*t.length);c.push(t[e]),t=t.slice(0,e).concat(t.slice(e+1))}c=c.concat(t)}else c=e.resources.slice(i).concat(e.resources.slice(0,i));const s=Date.now();let a,l="pending",u=0,f=null,p=[],d=[];function h(){f&&(clearTimeout(f),f=null)}function g(){"pending"===l&&(l="aborted"),h(),p.forEach(e=>{"pending"===e.status&&(e.status="aborted")}),p=[]}function b(e,t){t&&(d=[]),"function"==typeof e&&d.push(e)}function m(){l="failed",d.forEach(e=>{e(void 0,a)})}function v(){p.forEach(e=>{"pending"===e.status&&(e.status="aborted")}),p=[]}function y(){if("pending"!==l)return;h();const o=c.shift();if(void 0===o)return p.length?void(f=setTimeout(()=>{h(),"pending"===l&&(v(),m())},e.timeout)):void m();const r={status:"pending",resource:o,callback:(t,n)=>{!function(t,n,o){const r="success"!==n;switch(p=p.filter(e=>e!==t),l){case"pending":break;case"failed":if(r||!e.dataAfterTimeout)return;break;default:return}if("abort"===n)return a=o,void m();if(r)return a=o,void(p.length||(c.length?y():m()));if(h(),v(),!e.random){const n=e.resources.indexOf(t.resource);-1!==n&&n!==e.index&&(e.index=n)}l="completed",d.forEach(e=>{e(o)})}(r,t,n)}};p.push(r),u++,f=setTimeout(y,e.rotate),n(o,t,r.callback)}return"function"==typeof o&&d.push(o),setTimeout(y),function(){return{startTime:s,payload:t,status:l,queriesSent:u,queriesPending:p.length,subscribe:b,abort:g}}}function re(e){const t=s(s({},ne),e);let n=[];function o(){n=n.filter(e=>"pending"===e().status)}return{query:function(e,r,i){const c=oe(t,e,r,(e,t)=>{o(),i&&i(e,t)});return n.push(c),c},find:function(e){return n.find(t=>e(t))||null},setIndex:e=>{t.index=e},getIndex:()=>t.index,cleanup:o}}function ie(){}const ce=Object.create(null);function se(e,t,n){let o,r;if("string"==typeof e){const t=B(e);if(!t)return n(void 0,424),ie;r=t.send;const i=function(e){if(!ce[e]){const t=X(e);if(!t)return;const n={config:t,redundancy:re(t)};ce[e]=n}return ce[e]}(e);i&&(o=i.redundancy)}else{const t=V(e);if(t){o=re(t);const n=B(e.resources?e.resources[0]:"");n&&(r=n.send)}}return o&&r?o.query(t,r,n)().abort:(n(void 0,424),ie)}function ae(){}function le(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,function(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(t=>{const i=t.icons,c=i.pending.length;i.pending=i.pending.filter(t=>{if(t.prefix!==r)return!0;const c=t.name;if(e.icons[c])i.loaded.push({provider:o,prefix:r,name:c});else{if(!e.missing.has(c))return n=!0,!0;i.missing.push({provider:o,prefix:r,name:c})}return!1}),i.pending.length!==c&&(n||ee([e],t.id),t.callback(i.loaded.slice(0),i.missing.slice(0),i.pending.slice(0),t.abort))})}))}(e)}))}function ue(e,t,n){function o(){const n=e.pendingIcons;t.forEach(t=>{n&&n.delete(t),e.icons[t]||e.missing.add(t)})}if(n&&"object"==typeof n)try{if(!M(e,n).length)return void o()}catch(r){}o(),le(e)}function fe(e,t){e instanceof Promise?e.then(e=>{t(e)}).catch(()=>{t(null)}):t(e)}function pe(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:t,prefix:n}=e,o=e.iconsToLoad;if(delete e.iconsToLoad,!o||!o.length)return;const r=e.loadIcon;if(e.loadIcons&&(o.length>1||!r))return void fe(e.loadIcons(o,n,t),t=>{ue(e,o,t)});if(r)return void o.forEach(o=>{fe(r(o,n,t),t=>{ue(e,[o],t?{prefix:n,icons:{[o]:t}}:null)})});const{valid:i,invalid:c}=function(e){const t=[],n=[];return e.forEach(e=>{(e.match(m)?t:n).push(e)}),{valid:t,invalid:n}}(o);if(c.length&&ue(e,c,null),!i.length)return;const s=n.match(m)?B(t):null;if(!s)return void ue(e,i,null);s.prepare(t,n,i).forEach(n=>{se(t,n,t=>{ue(e,n.icons,t)})})}))}const de=(e,t)=>{const n=function(e){const t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((e,t)=>e.provider!==t.provider?e.provider.localeCompare(t.provider):e.prefix!==t.prefix?e.prefix.localeCompare(t.prefix):e.name.localeCompare(t.name));let o={provider:"",prefix:"",name:""};return e.forEach(e=>{if(o.name===e.name&&o.prefix===e.prefix&&o.provider===e.provider)return;o=e;const r=e.provider,i=e.prefix,c=e.name,s=n[r]||(n[r]=Object.create(null)),a=s[i]||(s[i]=L(r,i));let l;l=c in a.icons?t.loaded:""===i||a.missing.has(c)?t.missing:t.pending;const u={provider:r,prefix:i,name:c};l.push(u)}),t}(function(e,t=!0,n=!1){const o=[];return e.forEach(e=>{const r="string"==typeof e?v(e,t,n):e;r&&o.push(r)}),o}(e,!0,P()));if(!n.pending.length){let e=!0;return t&&setTimeout(()=>{e&&t(n.loaded,n.missing,n.pending,ae)}),()=>{e=!1}}const o=Object.create(null),r=[];let i,c;return n.pending.forEach(e=>{const{provider:t,prefix:n}=e;if(n===c&&t===i)return;i=t,c=n,r.push(L(t,n));const s=o[t]||(o[t]=Object.create(null));s[n]||(s[n]=[])}),n.pending.forEach(e=>{const{provider:t,prefix:n,name:r}=e,i=L(t,n),c=i.pendingIcons||(i.pendingIcons=new Set);c.has(r)||(c.add(r),o[t][n].push(r))}),r.forEach(e=>{const t=o[e.provider][e.prefix];t.length&&pe(e,t)}),t?function(e,t,n){const o=te++,r=ee.bind(null,n,o);if(!t.pending.length)return r;const i={id:o,icons:t,callback:e,abort:r};return n.forEach(e=>{(e.loaderCallbacks||(e.loaderCallbacks=[])).push(i)}),r}(t,n,r):ae};const he=/[\s,]+/;function ge(e,t){t.split(he).forEach(t=>{switch(t.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0}})}function be(e,t=0){const n=e.replace(/^-?[0-9.]*/,"");function o(e){for(;e<0;)e+=4;return e%4}if(""===n){const t=parseInt(e);return isNaN(t)?0:o(t)}if(n!==e){let t=0;switch(n){case"%":t=25;break;case"deg":t=90}if(t){let r=parseFloat(e.slice(0,e.length-n.length));return isNaN(r)?0:(r/=t,r%1==0?o(r):0)}}return t}const me=a(s({},$),{inline:!1}),ve={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},ye={display:"inline-block"},xe={backgroundColor:"currentColor"},we={backgroundColor:"transparent"},je={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},ke={webkitMask:xe,mask:xe,background:we};for(const Le in ke){const e=ke[Le];for(const t in je)e[Le+t]=je[t]}const Oe={};function Fe(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}["horizontal","vertical"].forEach(e=>{const t=e.slice(0,1)+"Flip";Oe[e+"-flip"]=t,Oe[e.slice(0,1)+"-flip"]=t,Oe[e+"Flip"]=t});const Ee=(e,t)=>{const n=function(e,t){const n=s({},e);for(const o in t){const e=t[o],r=typeof e;o in R?(null===e||e&&("string"===r||"number"===r))&&(n[o]=e):r===typeof n[o]&&(n[o]="rotate"===o?e%4:e)}return n}(me,t),o=s({},ve),r=t.mode||"svg",i={},c=t.style,l="object"!=typeof c||c instanceof Array?{}:c;for(let s in t){const e=t[s];if(void 0!==e)switch(s){case"icon":case"style":case"onLoad":case"mode":case"ssr":break;case"inline":case"hFlip":case"vFlip":n[s]=!0===e||"true"===e||1===e;break;case"flip":"string"==typeof e&&ge(n,e);break;case"color":i.color=e;break;case"rotate":"string"==typeof e?n[s]=be(e):"number"==typeof e&&(n[s]=e);break;case"ariaHidden":case"aria-hidden":!0!==e&&"true"!==e&&delete o["aria-hidden"];break;default:{const t=Oe[s];t?!0!==e&&"true"!==e&&1!==e||(n[t]=!0):void 0===me[s]&&(o[s]=e)}}}const u=function(e,t){const n=s(s({},j),e),o=s(s({},$),t),r={left:n.left,top:n.top,width:n.width,height:n.height};let i=n.body;[n,o].forEach(e=>{const t=[],n=e.hFlip,o=e.vFlip;let c,s=e.rotate;switch(n?o?s+=2:(t.push("translate("+(r.width+r.left).toString()+" "+(0-r.top).toString()+")"),t.push("scale(-1 1)"),r.top=r.left=0):o&&(t.push("translate("+(0-r.left).toString()+" "+(r.height+r.top).toString()+")"),t.push("scale(1 -1)"),r.top=r.left=0),s<0&&(s-=4*Math.floor(s/4)),s%=4,s){case 1:c=r.height/2+r.top,t.unshift("rotate(90 "+c.toString()+" "+c.toString()+")");break;case 2:t.unshift("rotate(180 "+(r.width/2+r.left).toString()+" "+(r.height/2+r.top).toString()+")");break;case 3:c=r.width/2+r.left,t.unshift("rotate(-90 "+c.toString()+" "+c.toString()+")")}s%2==1&&(r.left!==r.top&&(c=r.left,r.left=r.top,r.top=c),r.width!==r.height&&(c=r.width,r.width=r.height,r.height=c)),t.length&&(i=function(e,t,n){const o=function(e,t="defs"){let n="";const o=e.indexOf("<"+t);for(;o>=0;){const r=e.indexOf(">",o),i=e.indexOf("",i);if(-1===c)break;n+=e.slice(r+1,i).trim(),e=e.slice(0,o).trim()+e.slice(c+1)}return{defs:n,content:e}}(e);return r=o.defs,i=t+o.content+n,r?""+r+""+i:i;var r,i}(i,'',""))});const c=o.width,a=o.height,l=r.width,u=r.height;let f,p;null===c?(p=null===a?"1em":"auto"===a?u:a,f=U(p,l/u)):(f="auto"===c?l:c,p=null===a?U(f,u/l):"auto"===a?u:a);const d={},h=(e,t)=>{(e=>"unset"===e||"undefined"===e||"none"===e)(t)||(d[e]=t.toString())};h("width",f),h("height",p);const g=[r.left,r.top,l,u];return d.viewBox=g.join(" "),{attributes:d,viewBox:g,body:i}}(e,n),f=u.attributes;if(n.inline&&(i.verticalAlign="-0.125em"),"svg"===r){o.style=s(s({},i),l),Object.assign(o,f);let e=0,n=t.id;return"string"==typeof n&&(n=n.replace(/-/g,"_")),o.innerHTML=function(e,t=_){const n=[];let o;for(;o=q.exec(e);)n.push(o[1]);if(!n.length)return e;const r="suffix"+(16777216*Math.random()|Date.now()).toString(16);return n.forEach(n=>{const o="function"==typeof t?t(n):t+(H++).toString(),i=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+i+')([")]|\\.[a-z])',"g"),"$1"+o+r+"$3")}),e=e.replace(new RegExp(r,"g"),"")}(u.body,n?()=>n+"ID"+e++:"iconifyVue"),g("svg",o)}const{body:p,width:d,height:h}=e,b="mask"===r||"bg"!==r&&-1!==p.indexOf("currentColor"),m=function(e,t){let n=-1===e.indexOf("xlink:")?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const o in t)n+=" "+o+'="'+t[o]+'"';return'"+e+""}(p,a(s({},f),{width:d+"",height:h+""}));var v;return o.style=s(s(s(a(s({},i),{"--svg":(v=m,'url("'+function(e){return"data:image/svg+xml,"+function(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}(e)}(v)+'")'),width:Fe(f.width),height:Fe(f.height)}),ye),b?xe:we),l),g("span",o)};var Se;if(P(!0),Se=Z,Q[""]=Se,"undefined"!=typeof document&&"undefined"!=typeof window){const e=window;if(void 0!==e.IconifyPreload){const t=e.IconifyPreload;"object"==typeof t&&null!==t&&(t instanceof Array?t:[t]).forEach(e=>{try{"object"!=typeof e||null===e||e instanceof Array||"object"!=typeof e.icons||"string"!=typeof e.prefix||function(e,t){if("object"!=typeof e)return!1;if("string"!=typeof t&&(t=e.provider||""),z&&!t&&!e.prefix){let t=!1;return I(e)&&(e.prefix="",E(e,(e,n)=>{A(e,n)&&(t=!0)})),t}const n=e.prefix;!!y({prefix:n,name:"a"})&&M(L(t,n),e)}(e)}catch(t){}})}if(void 0!==e.IconifyProviders){const t=e.IconifyProviders;if("object"==typeof t&&null!==t)for(let e in t){try{const n=t[e];if("object"!=typeof n||!n||void 0===n.resources)continue;W(e,n)}catch(Ce){}}}}const Te=a(s({},j),{body:""}),Ie=l((e,{emit:t})=>{const n=u(null);function o(){var e,t;n.value&&(null==(t=(e=n.value).abort)||t.call(e),n.value=null)}const r=u(!!e.ssr),i=u(""),c=f(null);function l(){const r=e.icon;if("object"==typeof r&&null!==r&&"string"==typeof r.body)return i.value="",{data:r};let c;if("string"!=typeof r||null===(c=v(r,!1,!0)))return null;let s=function(e){const t="string"==typeof e?v(e,!0,z):e;if(t){const e=L(t.provider,t.prefix),n=t.name;return e.icons[n]||(e.missing.has(n)?null:void 0)}}(c);if(!s){const e=n.value;return e&&e.name===r||(n.value=null===s?{name:r}:{name:r,abort:de([c],g)}),null}o(),i.value!==r&&(i.value=r,b(()=>{t("load",r)}));const a=e.customise;if(a){s=Object.assign({},s);const e=a(s.body,c.name,c.prefix,c.provider);"string"==typeof e&&(s.body=e)}const l=["iconify"];return""!==c.prefix&&l.push("iconify--"+c.prefix),""!==c.provider&&l.push("iconify--"+c.provider),{data:s,classes:l}}function g(){var e;const t=l();t?t.data!==(null==(e=c.value)?void 0:e.data)&&(c.value=t):c.value=null}return r.value?g():p(()=>{r.value=!0,g()}),d(()=>e.icon,g),h(o),()=>{const t=c.value;if(!t)return Ee(Te,e);let n=e;return t.classes&&(n=a(s({},e),{class:t.classes.join(" ")})),Ee(s(s({},j),t.data),n)}},{props:["icon","mode","ssr","width","height","style","color","inline","rotate","hFlip","horizontalFlip","vFlip","verticalFlip","flip","id","ariaHidden","customise","title"],emits:["load"]});export{Ie as I}; diff --git a/nginx/admin/assets/iconify-DFoKediz.js.gz b/nginx/admin/assets/iconify-DFoKediz.js.gz new file mode 100644 index 0000000..3ca109d Binary files /dev/null and b/nginx/admin/assets/iconify-DFoKediz.js.gz differ diff --git a/nginx/admin/assets/image-viewer-CDDDnorJ.css b/nginx/admin/assets/image-viewer-CDDDnorJ.css new file mode 100644 index 0000000..a1ffbf4 --- /dev/null +++ b/nginx/admin/assets/image-viewer-CDDDnorJ.css @@ -0,0 +1 @@ +.el-image__error,.el-image__placeholder,.el-image__wrapper,.el-image__inner{width:100%;height:100%}.el-image{position:relative;display:inline-block;overflow:hidden}.el-image__inner{vertical-align:top;opacity:1}.el-image__inner.is-loading{opacity:0}.el-image__wrapper{position:absolute;top:0;left:0}.el-image__placeholder{background:var(--el-fill-color-light)}.el-image__error{display:flex;justify-content:center;align-items:center;font-size:14px;background:var(--el-fill-color-light);color:var(--el-text-color-placeholder);vertical-align:middle}.el-image__preview{cursor:pointer}.el-image-viewer__wrapper{position:fixed;inset:0}.el-image-viewer__wrapper:focus{outline:none!important}.el-image-viewer__btn{position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;border-radius:50%;opacity:.8;cursor:pointer;box-sizing:border-box;user-select:none}.el-image-viewer__btn .el-icon{cursor:pointer}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:40px}.el-image-viewer__canvas{position:static;width:100%;height:100%;display:flex;justify-content:center;align-items:center;user-select:none}.el-image-viewer__actions{left:50%;bottom:30px;transform:translate(-50%);height:44px;padding:0 23px;background-color:var(--el-text-color-regular);border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;cursor:default;font-size:23px;color:#fff;display:flex;align-items:center;justify-content:space-around;gap:22px;padding:0 6px}.el-image-viewer__actions__divider{margin:0 -6px}.el-image-viewer__progress{left:50%;transform:translate(-50%);cursor:default;color:#fff;bottom:90px}.el-image-viewer__prev{top:50%;transform:translateY(-50%);left:40px;width:44px;height:44px;font-size:24px;color:#fff;background-color:var(--el-text-color-regular);border-color:#fff}.el-image-viewer__next{top:50%;transform:translateY(-50%);right:40px;text-indent:2px;width:44px;height:44px;font-size:24px;color:#fff;background-color:var(--el-text-color-regular);border-color:#fff}.el-image-viewer__close{width:44px;height:44px;font-size:24px;color:#fff;background-color:var(--el-text-color-regular);border-color:#fff}.el-image-viewer__mask{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.5;background:#000}.viewer-fade-enter-active{animation:viewer-fade-in var(--el-transition-duration)}.viewer-fade-leave-active{animation:viewer-fade-out var(--el-transition-duration)}@keyframes viewer-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes viewer-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}} diff --git a/nginx/admin/assets/index-1OHUSGeP.js b/nginx/admin/assets/index-1OHUSGeP.js new file mode 100644 index 0000000..b5af88a --- /dev/null +++ b/nginx/admin/assets/index-1OHUSGeP.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,o=(a,t,s)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[t]=s,i=(e,a)=>{for(var t in a||(a={}))n.call(a,t)&&o(e,t,a[t]);if(s)for(var t of s(a))l.call(a,t)&&o(e,t,a[t]);return e},r=(e,s)=>a(e,t(s));import{cI as c,bd as u,a8 as d,at as f,av as v,a0 as p,d as m,dv as b,dw as g,dx as y,bK as k,a1 as w,cl as x,r as I,dy as O,c as h,d4 as C,aM as _,A as z,o as N,cY as R,h as A,e as E,w as T,g as P,a3 as $,f as j,m as S,q as Y,p as L,cn as X,i as D,b as M,s as B,O as F,ai as W,be as q,I as K,aR as V,ac as Z,j as G,v as H,dz as J,dA as Q,aE as U,dB as ee,dC as ae,dD as te,Z as se,_ as ne,n as le,az as oe}from"./index-BoIUJTA2.js";import{E as ie}from"./index-COyGylbk.js";import{d as re}from"./debounce-DQl5eUwG.js";function ce(e,a,t){var s=!0,n=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return c(t)&&(s="leading"in t?!!t.leading:s,n="trailing"in t?!!t.trailing:n),re(e,a,{leading:s,maxWait:a,trailing:n})}const ue=d({urlList:{type:f(Array),default:()=>v([])},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},hideOnClickModal:Boolean,teleported:Boolean,closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:f(String)}}),de={close:()=>!0,error:e=>e instanceof Event,switch:e=>u(e),rotate:e=>u(e)},fe=m({name:"ElImageViewer"});const ve=oe(p(m(r(i({},fe),{props:ue,emits:de,setup(e,{expose:a,emit:t}){var s;const n=e,l={CONTAIN:{name:"contain",icon:b(y)},ORIGINAL:{name:"original",icon:b(g)}};let o,c="";const{t:u}=k(),d=w("image-viewer"),{nextZIndex:f}=x(),v=I(),p=I(),m=O(),oe=h(()=>{const{scale:e,minScale:a,maxScale:t}=n;return C(e,a,t)}),re=I(!0),ue=I(!1),de=I(n.initialIndex),fe=_(l.CONTAIN),ve=I({scale:oe.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),pe=I(null!=(s=n.zIndex)?s:f()),me=h(()=>{const{urlList:e}=n;return e.length<=1}),be=h(()=>0===de.value),ge=h(()=>de.value===n.urlList.length-1),ye=h(()=>n.urlList[de.value]),ke=h(()=>[d.e("btn"),d.e("prev"),d.is("disabled",!n.infinite&&be.value)]),we=h(()=>[d.e("btn"),d.e("next"),d.is("disabled",!n.infinite&&ge.value)]),xe=h(()=>{const{scale:e,deg:a,offsetX:t,offsetY:s,enableTransition:n}=ve.value;let o=t/e,i=s/e;const r=a*Math.PI/180,c=Math.cos(r),u=Math.sin(r);o=o*c+i*u,i=i*c-t/e*u;const d={transform:`scale(${e}) rotate(${a}deg) translate(${o}px, ${i}px)`,transition:n?"transform .3s":""};return fe.value.name===l.CONTAIN.name&&(d.maxWidth=d.maxHeight="100%"),d}),Ie=h(()=>`${de.value+1} / ${n.urlList.length}`);function Oe(){m.stop(),null==o||o(),document.body.style.overflow=c,t("close")}function he(){re.value=!1}function Ce(e){ue.value=!0,re.value=!1,t("error",e),e.target.alt=u("el.image.error")}function _e(e){if(re.value||0!==e.button||!v.value)return;ve.value.enableTransition=!1;const{offsetX:a,offsetY:t}=ve.value,s=e.pageX,n=e.pageY,l=ce(e=>{ve.value=r(i({},ve.value),{offsetX:a+e.pageX-s,offsetY:t+e.pageY-n})}),o=R(document,"mousemove",l);R(document,"mouseup",()=>{o()}),e.preventDefault()}function ze(){ve.value={scale:oe.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function Ne(){if(re.value||ue.value)return;const e=te(l),a=Object.values(l),t=fe.value.name,s=(a.findIndex(e=>e.name===t)+1)%e.length;fe.value=l[e[s]],ze()}function Re(e){ue.value=!1;const a=n.urlList.length;de.value=(e+a)%a}function Ae(){be.value&&!n.infinite||Re(de.value-1)}function Ee(){ge.value&&!n.infinite||Re(de.value+1)}function Te(e,a={}){if(re.value||ue.value)return;const{minScale:s,maxScale:l}=n,{zoomRate:o,rotateDeg:r,enableTransition:c}=i({zoomRate:n.zoomRate,rotateDeg:90,enableTransition:!0},a);switch(e){case"zoomOut":ve.value.scale>s&&(ve.value.scale=Number.parseFloat((ve.value.scale/o).toFixed(3)));break;case"zoomIn":ve.value.scale0?(e.preventDefault(),!1):void 0}return z(()=>oe.value,e=>{ve.value.scale=e}),z(ye,()=>{le(()=>{const e=p.value;(null==e?void 0:e.complete)||(re.value=!0)})}),z(de,e=>{ze(),t("switch",e)}),N(()=>{!function(){const e=ce(e=>{switch(se(e)){case ne.esc:n.closeOnPressEscape&&Oe();break;case ne.space:Ne();break;case ne.left:Ae();break;case ne.up:Te("zoomIn");break;case ne.right:Ee();break;case ne.down:Te("zoomOut")}}),a=ce(e=>{Te((e.deltaY||e.deltaX)<0?"zoomIn":"zoomOut",{zoomRate:n.zoomRate,enableTransition:!1})});m.run(()=>{R(document,"keydown",e),R(document,"wheel",a)})}(),o=R("wheel",je,{passive:!1}),c=document.body.style.overflow,document.body.style.overflow="hidden"}),a({setActiveItem:Re}),(e,a)=>(E(),A(L(ie),{to:"body",disabled:!e.teleported},{default:T(()=>[P($,{name:"viewer-fade",appear:""},{default:T(()=>[j("div",{ref_key:"wrapper",ref:v,tabindex:-1,class:Y(L(d).e("wrapper")),style:S({zIndex:pe.value})},[P(L(X),{loop:"",trapped:"","focus-trap-el":v.value,"focus-start-el":"container",onFocusoutPrevented:Pe,onReleaseRequested:$e},{default:T(()=>[j("div",{class:Y(L(d).e("mask")),onClick:F(a=>e.hideOnClickModal&&Oe(),["self"])},null,10,["onClick"]),D(" CLOSE "),j("span",{class:Y([L(d).e("btn"),L(d).e("close")]),onClick:Oe},[P(L(W),null,{default:T(()=>[P(L(q))]),_:1})],2),D(" ARROW "),L(me)?D("v-if",!0):(E(),M(K,{key:0},[j("span",{class:Y(L(ke)),onClick:Ae},[P(L(W),null,{default:T(()=>[P(L(V))]),_:1})],2),j("span",{class:Y(L(we)),onClick:Ee},[P(L(W),null,{default:T(()=>[P(L(Z))]),_:1})],2)],64)),e.$slots.progress||e.showProgress?(E(),M("div",{key:1,class:Y([L(d).e("btn"),L(d).e("progress")])},[B(e.$slots,"progress",{activeIndex:de.value,total:e.urlList.length},()=>[G(H(L(Ie)),1)])],2)):D("v-if",!0),D(" ACTIONS "),j("div",{class:Y([L(d).e("btn"),L(d).e("actions")])},[j("div",{class:Y(L(d).e("actions__inner"))},[B(e.$slots,"toolbar",{actions:Te,prev:Ae,next:Ee,reset:Ne,activeIndex:de.value,setActiveItem:Re},()=>[P(L(W),{onClick:e=>Te("zoomOut")},{default:T(()=>[P(L(J))]),_:1},8,["onClick"]),P(L(W),{onClick:e=>Te("zoomIn")},{default:T(()=>[P(L(Q))]),_:1},8,["onClick"]),j("i",{class:Y(L(d).e("actions__divider"))},null,2),P(L(W),{onClick:Ne},{default:T(()=>[(E(),A(U(L(fe).icon)))]),_:1}),j("i",{class:Y(L(d).e("actions__divider"))},null,2),P(L(W),{onClick:e=>Te("anticlockwise")},{default:T(()=>[P(L(ee))]),_:1},8,["onClick"]),P(L(W),{onClick:e=>Te("clockwise")},{default:T(()=>[P(L(ae))]),_:1},8,["onClick"])])],2)],2),D(" CANVAS "),j("div",{class:Y(L(d).e("canvas"))},[ue.value&&e.$slots["viewer-error"]?B(e.$slots,"viewer-error",{key:0,activeIndex:de.value,src:L(ye)}):(E(),M("img",{ref_key:"imgRef",ref:p,key:L(ye),src:L(ye),style:S(L(xe)),class:Y(L(d).e("img")),crossorigin:e.crossorigin,onLoad:he,onError:Ce,onMousedown:_e},null,46,["src","crossorigin"]))],2),B(e.$slots,"default")]),_:3},8,["focus-trap-el"])],6)]),_:3})]),_:3},8,["disabled"]))}})),[["__file","image-viewer.vue"]]));export{ve as E}; diff --git a/nginx/admin/assets/index-2JMPPnu4.js b/nginx/admin/assets/index-2JMPPnu4.js new file mode 100644 index 0000000..b780cfa --- /dev/null +++ b/nginx/admin/assets/index-2JMPPnu4.js @@ -0,0 +1 @@ +var e=(e,a,t)=>new Promise((l,s)=>{var r=e=>{try{o(t.next(e))}catch(a){s(a)}},i=e=>{try{o(t.throw(e))}catch(a){s(a)}},o=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);o((t=t.apply(e,a)).next())});import{d as a,k as t,c as l,r as s,o as r,b as i,e as o,f as n,i as d,g as u,w as c,I as p,J as m,h as v,E as _,j as f,v as x,ai as y,p as w,e6 as b,q as h,eq as g,aV as j,T as k}from"./index-BoIUJTA2.js";/* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{f as F}from"./activity-CMsiETfu.js";import{s as V,l as I}from"./adminActivities-Dgt25iR5.js";import{t as U}from"./operations-Cr4YfoRu.js";import{E as q,a as E}from"./index-BcfO0-fK.js";import{E as P,a as $}from"./index-D2gD5Tn5.js";import{E as C}from"./index-C_S0YbqD.js";import{E as M}from"./index-dBzz0k3i.js";import{E as z}from"./index-CXD7B41Z.js";import{E as D}from"./index-BaD29Izp.js";import{E as A}from"./index-CZJaGuxf.js";import{E as T}from"./index-C_sVHlWz.js";import{E as B,a as O}from"./index-BjuMygln.js";import{E as H}from"./index-BMeOzN3u.js";import{_ as J}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./index-BnK4BbY2.js";import"./index-Bq8lawOo.js";import"./dropdown-Dk_wSiK6.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./index-D8nVJoNy.js";import"./index-COyGylbk.js";const L={class:"page-content"},Q={class:"query-bar"},S={key:0,class:"result-section"},Y={key:0,class:"mt-2"},G={class:"flex items-center justify-between"},K={class:"flex items-center justify-center"},N={key:0,class:"text-center mt-2 text-sm text-gray-500"},R={class:"text-primary font-bold"},W={class:"stat-value text-primary"},X={class:"stat-value text-danger"},Z={class:"card-header"},ee={key:0,class:"text-warning text-sm"},ae={class:"flex flex-col items-center"},te={key:0,class:"text-xs text-gray-400"},le={class:"text-warning"},se={key:1},re={key:1},ie={key:0,class:"mt-4"},oe={class:"flex items-center space-x-8 text-sm"},ne={class:"ml-2 font-bold"},de={class:"ml-1 text-danger"},ue={class:"ml-2 font-bold"},ce={class:"ml-2 text-primary"},pe=J(a({__name:"index",setup(a){const J=t({activityId:void 0,issueId:void 0,numUsers:1e3,drawsPerUser:1,priceDraw:0}),pe=l({get:()=>J.priceDraw/100,set:e=>{J.priceDraw=Math.round(100*e)}}),me=s([]),ve=s([]),_e=s(!1),fe=s(!1),xe=s(!1),ye=s(null),we=l(()=>!!ye.value&&ye.value.rewards.some(e=>e.effective_prob!!ye.value&&ye.value.rewards.some(e=>Math.abs(e.actual_prob-e.effective_prob)>.05)),he=s(30),ge=s(0),je=()=>{if(!ye.value)return;const e=ye.value.total_simulation_cost,a=he.value/100;if(a>=1)return;const t=e/(1-a)/ye.value.total_draws;ge.value=Math.ceil(t/100*100)/100},ke=()=>{pe.value=ge.value,qe()},Fe=e=>e&&0!==e.length?e.reduce((e,a)=>e.cost>a.cost?e:a):{name:"-",cost:0},Ve=()=>e(this,null,function*(){if(!ye.value||!J.activityId||!J.issueId)return;const e=ye.value.rewards.map(e=>({reward_id:e.reward_id,weight:e.original_qty}));try{const a=ye.value.rewards.reduce((e,a)=>e+a.original_qty,0);yield j.confirm("此操作将自动调整该期所有奖品的权重配置,使其与初始库存数量成正比(权重 = 初始库存)。\n这将消除理论概率与库存占比之间的偏差。\n\n权重与库存对比预览:\n"+ye.value.rewards.map(e=>{const t=Math.round(e.theoretical_prob*a);return`${e.name}: 权重 ${t} -> ${e.original_qty} (占比 ${(e.original_qty/a*100).toFixed(2)}%)`}).join("\n"),"一键优化权重",{confirmButtonText:"确认调整",cancelButtonText:"取消",type:"warning",customClass:"optimization-confirm-box"}),yield V(J.activityId,J.issueId,e),k.success("权重配置已更新,请重新模拟验证"),qe()}catch(a){}}),Ie=a=>e(this,null,function*(){_e.value=!0;try{const e=yield F({name:a,page:1,page_size:20});me.value=e.records}finally{_e.value=!1}}),Ue=a=>e(this,null,function*(){if(J.issueId=void 0,ve.value=[],a){fe.value=!0;try{const e=yield I(a,1,100);ve.value=e.list,ve.value.length>0&&(J.issueId=ve.value[0].id)}finally{fe.value=!1}}}),qe=()=>e(this,null,function*(){if(J.issueId){xe.value=!0;try{const e=yield U(J.issueId,{num_users:J.numUsers,draws_per_user:J.drawsPerUser,price_draw:J.priceDraw});ye.value=e,je(),k.success("模拟完成")}catch(e){}finally{xe.value=!1}}else k.warning("请先选择活动和期号")}),Ee=(e,a)=>{const t=Math.abs(e-a);return t>.05?"text-danger":t>.01?"text-warning":"text-success"};return r(()=>{Ie("")}),(e,a)=>{const t=$,l=P,s=q,r=C,j=_,k=E,F=M,V=y,I=A,U=D,Pe=z,$e=T,Ce=O,Me=H,ze=B;return o(),i("div",L,[n("div",Q,[u(k,{inline:!0,model:J,class:"demo-form-inline"},{default:c(()=>[u(s,{label:"活动"},{default:c(()=>[u(l,{modelValue:J.activityId,"onUpdate:modelValue":a[0]||(a[0]=e=>J.activityId=e),placeholder:"选择活动",filterable:"",remote:"","remote-method":Ie,loading:_e.value,onChange:Ue,style:{width:"240px"}},{default:c(()=>[(o(!0),i(p,null,m(me.value,e=>(o(),v(t,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),u(s,{label:"期号"},{default:c(()=>[u(l,{modelValue:J.issueId,"onUpdate:modelValue":a[1]||(a[1]=e=>J.issueId=e),placeholder:"选择期号",disabled:!J.activityId,loading:fe.value,style:{width:"180px"}},{default:c(()=>[(o(!0),i(p,null,m(ve.value,e=>(o(),v(t,{key:e.id,label:`第 ${e.issue_number} 期`,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled","loading"])]),_:1}),u(s,{label:"模拟人数"},{default:c(()=>[u(r,{modelValue:J.numUsers,"onUpdate:modelValue":a[2]||(a[2]=e=>J.numUsers=e),min:1,max:1e5},null,8,["modelValue"])]),_:1}),u(s,{label:"单人抽奖次数"},{default:c(()=>[u(r,{modelValue:J.drawsPerUser,"onUpdate:modelValue":a[3]||(a[3]=e=>J.drawsPerUser=e),min:1,max:100},null,8,["modelValue"])]),_:1}),u(s,{label:"单次抽奖价格(元)"},{default:c(()=>[u(r,{modelValue:pe.value,"onUpdate:modelValue":a[4]||(a[4]=e=>pe.value=e),min:0,step:.01,precision:2},null,8,["modelValue"])]),_:1}),u(s,null,{default:c(()=>[u(j,{type:"primary",onClick:qe,loading:xe.value},{default:c(()=>[...a[6]||(a[6]=[f("开始模拟",-1)])]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"])]),ye.value?(o(),i("div",S,[we.value?(o(),v(F,{key:0,title:"注意:部分奖品库存不足,实际中奖率受库存限制将低于理论概率。",type:"warning","show-icon":"",class:"mb-4"},{default:c(()=>[be.value?(o(),i("div",Y,[u(j,{type:"primary",link:"",onClick:Ve},{default:c(()=>[...a[7]||(a[7]=[f(" 检测到权重与库存占比严重不符,点击一键优化权重配置 ",-1)])]),_:1})])):d("",!0)]),_:1})):d("",!0),u($e,{gutter:20,class:"mb-4"},{default:c(()=>[u(Pe,{span:6},{default:c(()=>[u(U,{shadow:"hover"},{header:c(()=>[n("div",G,[a[9]||(a[9]=n("span",null,"预期毛利率",-1)),u(I,{placement:"top",width:"300",trigger:"hover"},{reference:c(()=>[u(V,{class:"cursor-pointer"},{default:c(()=>[u(w(b))]),_:1})]),default:c(()=>[a[8]||(a[8]=n("div",null,[n("p",null,"设置预期毛利率,自动计算建议单次抽奖价格。"),n("p",null,"公式:建议单价 = 预计总成本 / (1 - 毛利率) / 总抽奖次数")],-1))]),_:1})])]),default:c(()=>[n("div",K,[u(r,{modelValue:he.value,"onUpdate:modelValue":a[5]||(a[5]=e=>he.value=e),min:0,max:99,precision:2,step:5,size:"large",style:{width:"140px"},onChange:je},null,8,["modelValue"]),a[10]||(a[10]=n("span",{class:"ml-2"},"%",-1))]),ge.value>0?(o(),i("div",N,[a[12]||(a[12]=f(" 建议单价: ",-1)),n("span",R,"¥"+x(ge.value),1),u(j,{link:"",type:"primary",size:"small",onClick:ke,class:"ml-1"},{default:c(()=>[...a[11]||(a[11]=[f("应用",-1)])]),_:1})])):d("",!0)]),_:1})]),_:1})]),_:1}),u($e,{gutter:20,class:"mb-4"},{default:c(()=>[u(Pe,{span:6},{default:c(()=>[u(U,{shadow:"hover"},{header:c(()=>[...a[13]||(a[13]=[f("预计总收入",-1)])]),default:c(()=>[n("div",W,x((ye.value.total_simulation_revenue/100).toFixed(2)),1)]),_:1})]),_:1}),u(Pe,{span:6},{default:c(()=>[u(U,{shadow:"hover"},{header:c(()=>[...a[14]||(a[14]=[f("预计总成本",-1)])]),default:c(()=>[n("div",X,x((ye.value.total_simulation_cost/100).toFixed(2)),1)]),_:1})]),_:1}),u(Pe,{span:6},{default:c(()=>[u(U,{shadow:"hover"},{header:c(()=>[...a[15]||(a[15]=[f("预计毛利润",-1)])]),default:c(()=>[n("div",{class:h(["stat-value",ye.value.gross_profit>=0?"text-success":"text-danger"])},x((ye.value.gross_profit/100).toFixed(2)),3)]),_:1})]),_:1}),u(Pe,{span:6},{default:c(()=>[u(U,{shadow:"hover"},{header:c(()=>[...a[16]||(a[16]=[f("毛利率",-1)])]),default:c(()=>[n("div",{class:h(["stat-value",ye.value.gross_profit_rate>=0?"text-success":"text-danger"])},x((100*ye.value.gross_profit_rate).toFixed(2))+"% ",3)]),_:1})]),_:1})]),_:1}),u(U,{class:"box-card"},{header:c(()=>[n("div",Z,[n("span",null,[f("模拟结果 (总抽奖次数: "+x(ye.value.total_draws)+" ",1),ye.value.total_draws[u(ze,{data:ye.value.rewards,style:{width:"100%"},border:"",stripe:""},{default:c(()=>[u(Ce,{prop:"level",label:"奖级",width:"80",align:"center"}),u(Ce,{prop:"name",label:"奖品名称","min-width":"150"}),u(Ce,{label:"单价成本",width:"100",align:"right"},{default:c(({row:e})=>[f(x((e.cost/100).toFixed(2)),1)]),_:1}),u(Ce,{prop:"original_qty",label:"初始库存",width:"100",align:"center"},{default:c(({row:e})=>[n("div",ae,[n("span",null,x(e.original_qty),1),ye.value?(o(),i("span",te," ("+x((e.original_qty/ye.value.rewards.reduce((e,a)=>e+a.original_qty,0)*100).toFixed(2))+"%) ",1)):d("",!0)])]),_:1}),u(Ce,{prop:"remaining_qty",label:"剩余库存",width:"100",align:"center"},{default:c(({row:e})=>[n("span",{class:h({"text-danger":0===e.remaining_qty})},x(e.remaining_qty),3)]),_:1}),u(Ce,{prop:"won_count",label:"中奖数",width:"100",align:"center"}),u(Ce,{label:"总发放成本",width:"120",align:"right"},{default:c(({row:e})=>[f(x((e.total_cost/100).toFixed(2)),1)]),_:1}),u(Ce,{label:"理论概率",width:"120",align:"center"},{default:c(({row:e})=>[e.effective_prob[n("span",le,[f(x((100*e.effective_prob).toFixed(2))+"% ",1),u(V,null,{default:c(()=>[u(w(g))]),_:1})])]),_:2},1032,["content"])):(o(),i("span",se,x((100*e.theoretical_prob).toFixed(2))+"%",1))]),_:1}),u(Ce,{label:"实际中奖率",width:"100",align:"center"},{default:c(({row:e})=>[n("span",{class:h(Ee(e.actual_prob,e.effective_prob))},x((100*e.actual_prob).toFixed(2))+"% ",3)]),_:1}),u(Ce,{label:"偏差",width:"100",align:"center"},{default:c(({row:e})=>[Math.abs(e.actual_prob-e.effective_prob)>.05?(o(),v(Me,{key:0,content:"偏差较大原因:库存耗尽导致概率被动拉升。当部分高权重奖品抽完后,剩余奖品的中奖率会强制变为100%,从而高于初始设定权重。",placement:"top"},{default:c(()=>[n("span",{class:h(Ee(e.actual_prob,e.effective_prob))},[f(x((100*(e.actual_prob-e.effective_prob)).toFixed(2))+"% ",1),u(V,{class:"ml-1"},{default:c(()=>[u(w(b))]),_:1})],2)]),_:2},1024)):(o(),i("span",re,x((100*(e.actual_prob-e.effective_prob)).toFixed(2))+"% ",1))]),_:1})]),_:1},8,["data"]),ye.value?(o(),i("div",ie,[u(U,{shadow:"hover"},{header:c(()=>[...a[18]||(a[18]=[f("价格趋势分析",-1)])]),default:c(()=>[n("div",oe,[n("div",null,[a[19]||(a[19]=n("span",{class:"text-gray-500"},"最高单价奖品:",-1)),n("span",ne,x(Fe(ye.value.rewards).name),1),n("span",de,"¥"+x((Fe(ye.value.rewards).cost/100).toFixed(2)),1)]),n("div",null,[a[20]||(a[20]=n("span",{class:"text-gray-500"},"平均奖品成本:",-1)),n("span",ue,"¥"+x((ye.value.total_simulation_cost/ye.value.total_draws/100).toFixed(2)),1)]),n("div",null,[a[21]||(a[21]=n("span",{class:"text-gray-500"},"建议定价区间:",-1)),n("span",ce,"¥"+x((ye.value.total_simulation_cost/ye.value.total_draws/100*1.2).toFixed(2))+" - ¥"+x((ye.value.total_simulation_cost/ye.value.total_draws/100*1.5).toFixed(2)),1),a[22]||(a[22]=n("span",{class:"text-xs text-gray-400 ml-1"},"(20%-50%毛利)",-1))])])]),_:1})])):d("",!0)]),_:1})])):d("",!0)])}}}),[["__scopeId","data-v-ea7e9753"]]);export{pe as default}; diff --git a/nginx/admin/assets/index-2JMPPnu4.js.gz b/nginx/admin/assets/index-2JMPPnu4.js.gz new file mode 100644 index 0000000..57c139b Binary files /dev/null and b/nginx/admin/assets/index-2JMPPnu4.js.gz differ diff --git a/nginx/admin/assets/index-7_BE1ymS.js b/nginx/admin/assets/index-7_BE1ymS.js new file mode 100644 index 0000000..a3c6098 --- /dev/null +++ b/nginx/admin/assets/index-7_BE1ymS.js @@ -0,0 +1 @@ +var e=Object.defineProperty,l=Object.defineProperties,a=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,c=(l,a,s)=>a in l?e(l,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):l[a]=s,i=(e,l,a)=>new Promise((s,t)=>{var o=e=>{try{i(a.next(e))}catch(l){t(l)}},c=e=>{try{i(a.throw(e))}catch(l){t(l)}},i=e=>e.done?s(e.value):Promise.resolve(e.value).then(o,c);i((a=a.apply(e,l)).next())});import{d,B as n,c as u,r as p,k as r,o as m,b as _,e as v,f as y,g as f,w as h,v as b,p as g,j as V,ai as w,es as k,E as x,b8 as j,et as U,eu as A,ev as I,ew as S,ex as D,i as C,ey as O,h as z,K as P,I as K,b5 as q,M as B,T as E}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{l as N,u as $}from"./configs-BgITfp3i.js";import{E as G}from"./index-BaD29Izp.js";import{E as R}from"./index-BjQJlHTd.js";import{a as T,E as J}from"./index-BcfO0-fK.js";import{E as M}from"./index-CSr24crn.js";import{E as Q}from"./index-CjpBlozU.js";import{_ as X}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index-1OHUSGeP.js";import"./index-COyGylbk.js";import"./debounce-DQl5eUwG.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-ClDjAOOe.js";import"./cloneDeep-B1gZFPYK.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";const Y={class:"system-configs-page"},F={class:"config-groups"},H={class:"card-header"},L={class:"title"},W={class:"config-items"},Z={class:"config-item"},ee={class:"value"},le={class:"config-item"},ae={class:"value"},se={class:"config-item"},te={class:"value sensitive"},oe={class:"config-item"},ce={class:"value sensitive"},ie={class:"config-item"},de={class:"value"},ne={class:"card-header"},ue={class:"title"},pe={class:"config-items"},re={class:"config-item"},me={class:"value"},_e={class:"config-item"},ve={class:"value sensitive"},ye={class:"config-item"},fe={class:"value"},he={class:"card-header"},be={class:"title"},ge={class:"config-items"},Ve={class:"config-item"},we={class:"value"},ke={class:"config-item"},xe={class:"value",style:{"font-size":"12px"}},je={class:"config-item"},Ue={class:"value sensitive"},Ae={class:"config-item"},Ie={class:"value",style:{"font-size":"12px"}},Se={class:"config-item"},De={class:"value sensitive"},Ce={class:"config-item"},Oe={class:"value sensitive"},ze={class:"card-header"},Pe={class:"title"},Ke={class:"config-items"},qe={class:"config-item"},Be={class:"value"},Ee={class:"config-item"},Ne={class:"value sensitive"},$e={class:"config-item"},Ge={class:"value"},Re={class:"config-item"},Te={class:"value"},Je={class:"card-header"},Me={class:"title"},Qe={class:"config-items"},Xe={class:"config-item"},Ye={class:"value"},Fe={class:"config-item"},He={class:"value sensitive"},Le={class:"config-item"},We={class:"value",style:{"font-size":"12px"}},Ze={class:"config-item"},el={class:"value"},ll={class:"config-item"},al={class:"value sensitive"},sl={class:"config-item"},tl={class:"value sensitive"},ol={class:"card-header"},cl={class:"title"},il={class:"config-items"},dl={class:"config-item"},nl={class:"value"},ul={class:"card-header"},pl={class:"title"},rl={class:"config-items"},ml={class:"config-item"},_l={class:"value"},vl={key:0,class:"config-item"},yl={class:"value"},fl=d((hl=((e,l)=>{for(var a in l||(l={}))t.call(l,a)&&c(e,a,l[a]);if(s)for(var a of s(l))o.call(l,a)&&c(e,a,l[a]);return e})({},{name:"SystemConfigs"}),l(hl,a({__name:"index",setup(e){const l=n(),a=u(()=>"/api/common/upload/wangeditor"),s=u(()=>({Authorization:l.accessToken})),t=p([]),o={points:["exchange_rate"],cos:["bucket","region","secret_id","secret_key","base_url"],wechat:["app_id","app_secret","lottery_result_template_id"],wechatpay:["mchid","serial_no","api_v3_key","notify_url","public_key_id","private_key","public_key"],aliyun_sms:["access_key_id","access_key_secret","sign_name","template_code"],douyin:["app_id","app_secret","notify_url","pay_app_id","pay_secret","pay_salt"],contact:["service_qrcode"]},c={points:"积分配置",cos:"COS 对象存储配置",wechat:"微信小程序配置",wechatpay:"微信支付配置",aliyun_sms:"阿里云短信配置",douyin:"抹音小程序配置",contact:"通用联系配置"},d=p(!1),X=p(!1),fl=r({points:{},cos:{},wechat:{},wechatpay:{},aliyun_sms:{},douyin:{},contact:{}}),hl=p(!1),bl=p(""),gl=u(()=>c[bl.value]||"编辑配置"),Vl=p(),wl=r({}),kl=()=>i(this,null,function*(){d.value=!0;try{const e=(yield N("",1,100)).list||[];for(const l of e){const[e,a]=l.key.split(".");e&&a&&fl[e]&&(fl[e][a]=l.value)}}catch(e){E.error("加载配置失败")}finally{d.value=!1}}),xl=e=>e?e.length<=8?"****":e.substring(0,4)+"****"+e.substring(e.length-4):"-",jl=e=>{var l;bl.value=e;const a=o[e]||[];t.value=[];for(const s of a){const a=(null==(l=fl[e])?void 0:l[s])||"";wl[`${e}.${s}`]=a,"contact"===e&&"service_qrcode"===s&&a&&(t.value=[{name:"qrcode",url:a}])}hl.value=!0},Ul=e=>{var l,a;let s=(null==(l=null==e?void 0:e.data)?void 0:l.url)||(null==e?void 0:e.url)||"";if(!s&&"string"==typeof e)try{const l=JSON.parse(e);s=(null==(a=null==l?void 0:l.data)?void 0:a.url)||(null==l?void 0:l.url)||""}catch(t){}s&&(wl["contact.service_qrcode"]=s)},Al=()=>{wl["contact.service_qrcode"]=""},Il=()=>i(this,null,function*(){X.value=!0;try{const e=bl.value,l=o[e]||[];for(const a of l){const l=`${e}.${a}`,s=wl[l];void 0!==s&&""!==s&&(yield $(l,s,""))}E.success("保存成功"),hl.value=!1,yield kl()}catch(e){E.error("保存失败")}finally{X.value=!1}});return m(()=>kl()),(e,l)=>(v(),_("div",Y,[y("div",F,[f(g(G),{shadow:"hover",class:"config-card"},{header:h(()=>[y("div",H,[y("span",L,[f(g(w),null,{default:h(()=>[f(g(k))]),_:1}),l[35]||(l[35]=V(" COS 对象存储 ",-1))]),f(g(x),{type:"primary",text:"",size:"small",onClick:l[0]||(l[0]=e=>jl("cos"))},{default:h(()=>[f(g(w),null,{default:h(()=>[f(g(j))]),_:1}),l[36]||(l[36]=V(" 编辑 ",-1))]),_:1})])]),default:h(()=>{var e,a,s,t,o;return[y("div",W,[y("div",Z,[l[37]||(l[37]=y("span",{class:"label"},"Bucket",-1)),y("span",ee,b((null==(e=g(fl).cos)?void 0:e.bucket)||"-"),1)]),y("div",le,[l[38]||(l[38]=y("span",{class:"label"},"Region",-1)),y("span",ae,b((null==(a=g(fl).cos)?void 0:a.region)||"-"),1)]),y("div",se,[l[39]||(l[39]=y("span",{class:"label"},"SecretID",-1)),y("span",te,b(xl(null==(s=g(fl).cos)?void 0:s.secret_id)),1)]),y("div",oe,[l[40]||(l[40]=y("span",{class:"label"},"SecretKey",-1)),y("span",ce,b(xl(null==(t=g(fl).cos)?void 0:t.secret_key)),1)]),y("div",ie,[l[41]||(l[41]=y("span",{class:"label"},"自定义域名",-1)),y("span",de,b((null==(o=g(fl).cos)?void 0:o.base_url)||"未配置"),1)])])]}),_:1}),f(g(G),{shadow:"hover",class:"config-card"},{header:h(()=>[y("div",ne,[y("span",ue,[f(g(w),null,{default:h(()=>[f(g(U))]),_:1}),l[42]||(l[42]=V(" 微信小程序 ",-1))]),f(g(x),{type:"primary",text:"",size:"small",onClick:l[1]||(l[1]=e=>jl("wechat"))},{default:h(()=>[f(g(w),null,{default:h(()=>[f(g(j))]),_:1}),l[43]||(l[43]=V(" 编辑 ",-1))]),_:1})])]),default:h(()=>{var e,a,s;return[y("div",pe,[y("div",re,[l[44]||(l[44]=y("span",{class:"label"},"AppID",-1)),y("span",me,b((null==(e=g(fl).wechat)?void 0:e.app_id)||"-"),1)]),y("div",_e,[l[45]||(l[45]=y("span",{class:"label"},"AppSecret",-1)),y("span",ve,b(xl(null==(a=g(fl).wechat)?void 0:a.app_secret)),1)]),y("div",ye,[l[46]||(l[46]=y("span",{class:"label"},"开奖通知模板ID",-1)),y("span",fe,b((null==(s=g(fl).wechat)?void 0:s.lottery_result_template_id)||"-"),1)])])]}),_:1}),f(g(G),{shadow:"hover",class:"config-card"},{header:h(()=>[y("div",he,[y("span",be,[f(g(w),null,{default:h(()=>[f(g(A))]),_:1}),l[47]||(l[47]=V(" 微信支付 ",-1))]),f(g(x),{type:"primary",text:"",size:"small",onClick:l[2]||(l[2]=e=>jl("wechatpay"))},{default:h(()=>[f(g(w),null,{default:h(()=>[f(g(j))]),_:1}),l[48]||(l[48]=V(" 编辑 ",-1))]),_:1})])]),default:h(()=>{var e,a,s,t,o,c;return[y("div",ge,[y("div",Ve,[l[49]||(l[49]=y("span",{class:"label"},"商户号",-1)),y("span",we,b((null==(e=g(fl).wechatpay)?void 0:e.mchid)||"-"),1)]),y("div",ke,[l[50]||(l[50]=y("span",{class:"label"},"证书序列号",-1)),y("span",xe,b((null==(a=g(fl).wechatpay)?void 0:a.serial_no)||"-"),1)]),y("div",je,[l[51]||(l[51]=y("span",{class:"label"},"APIv3 密钥",-1)),y("span",Ue,b(xl(null==(s=g(fl).wechatpay)?void 0:s.api_v3_key)),1)]),y("div",Ae,[l[52]||(l[52]=y("span",{class:"label"},"回调地址",-1)),y("span",Ie,b((null==(t=g(fl).wechatpay)?void 0:t.notify_url)||"-"),1)]),y("div",Se,[l[53]||(l[53]=y("span",{class:"label"},"私钥",-1)),y("span",De,b((null==(o=g(fl).wechatpay)?void 0:o.private_key)?"已配置":"未配置"),1)]),y("div",Ce,[l[54]||(l[54]=y("span",{class:"label"},"公钥",-1)),y("span",Oe,b((null==(c=g(fl).wechatpay)?void 0:c.public_key)?"已配置":"未配置"),1)])])]}),_:1}),f(g(G),{shadow:"hover",class:"config-card"},{header:h(()=>[y("div",ze,[y("span",Pe,[f(g(w),null,{default:h(()=>[f(g(I))]),_:1}),l[55]||(l[55]=V(" 阿里云短信 ",-1))]),f(g(x),{type:"primary",text:"",size:"small",onClick:l[3]||(l[3]=e=>jl("aliyun_sms"))},{default:h(()=>[f(g(w),null,{default:h(()=>[f(g(j))]),_:1}),l[56]||(l[56]=V(" 编辑 ",-1))]),_:1})])]),default:h(()=>{var e,a,s,t;return[y("div",Ke,[y("div",qe,[l[57]||(l[57]=y("span",{class:"label"},"AccessKeyID",-1)),y("span",Be,b((null==(e=g(fl).aliyun_sms)?void 0:e.access_key_id)||"-"),1)]),y("div",Ee,[l[58]||(l[58]=y("span",{class:"label"},"AccessKeySecret",-1)),y("span",Ne,b(xl(null==(a=g(fl).aliyun_sms)?void 0:a.access_key_secret)),1)]),y("div",$e,[l[59]||(l[59]=y("span",{class:"label"},"签名",-1)),y("span",Ge,b((null==(s=g(fl).aliyun_sms)?void 0:s.sign_name)||"-"),1)]),y("div",Re,[l[60]||(l[60]=y("span",{class:"label"},"模板Code",-1)),y("span",Te,b((null==(t=g(fl).aliyun_sms)?void 0:t.template_code)||"-"),1)])])]}),_:1}),f(g(G),{shadow:"hover",class:"config-card"},{header:h(()=>[y("div",Je,[y("span",Me,[f(g(w),null,{default:h(()=>[f(g(S))]),_:1}),l[61]||(l[61]=V(" 抹音小程序 ",-1))]),f(g(x),{type:"primary",text:"",size:"small",onClick:l[4]||(l[4]=e=>jl("douyin"))},{default:h(()=>[f(g(w),null,{default:h(()=>[f(g(j))]),_:1}),l[62]||(l[62]=V(" 编辑 ",-1))]),_:1})])]),default:h(()=>{var e,a,s,t,o,c;return[y("div",Qe,[y("div",Xe,[l[63]||(l[63]=y("span",{class:"label"},"AppID",-1)),y("span",Ye,b((null==(e=g(fl).douyin)?void 0:e.app_id)||"-"),1)]),y("div",Fe,[l[64]||(l[64]=y("span",{class:"label"},"AppSecret",-1)),y("span",He,b(xl(null==(a=g(fl).douyin)?void 0:a.app_secret)),1)]),y("div",Le,[l[65]||(l[65]=y("span",{class:"label"},"回调地址",-1)),y("span",We,b((null==(s=g(fl).douyin)?void 0:s.notify_url)||"-"),1)]),y("div",Ze,[l[66]||(l[66]=y("span",{class:"label"},"支付商户号",-1)),y("span",el,b((null==(t=g(fl).douyin)?void 0:t.pay_app_id)||"-"),1)]),y("div",ll,[l[67]||(l[67]=y("span",{class:"label"},"支付密钥",-1)),y("span",al,b(xl(null==(o=g(fl).douyin)?void 0:o.pay_secret)),1)]),y("div",sl,[l[68]||(l[68]=y("span",{class:"label"},"支付盐",-1)),y("span",tl,b((null==(c=g(fl).douyin)?void 0:c.pay_salt)?"已配置":"未配置"),1)])])]}),_:1}),f(g(G),{shadow:"hover",class:"config-card"},{header:h(()=>[y("div",ol,[y("span",cl,[f(g(w),null,{default:h(()=>[f(g(D))]),_:1}),l[69]||(l[69]=V(" 积分配置 ",-1))]),f(g(x),{type:"primary",text:"",size:"small",onClick:l[5]||(l[5]=e=>jl("points"))},{default:h(()=>[f(g(w),null,{default:h(()=>[f(g(j))]),_:1}),l[70]||(l[70]=V(" 编辑 ",-1))]),_:1})])]),default:h(()=>{var e;return[y("div",il,[y("div",dl,[l[71]||(l[71]=y("span",{class:"label"},"兑换比例",-1)),y("span",nl,"1 元 = "+b((null==(e=g(fl).points)?void 0:e.exchange_rate)||"1")+" 积分",1)])])]}),_:1}),f(g(G),{shadow:"hover",class:"config-card"},{header:h(()=>[y("div",ul,[y("span",pl,[f(g(w),null,{default:h(()=>[f(g(O))]),_:1}),l[72]||(l[72]=V(" 通用联系配置 ",-1))]),f(g(x),{type:"primary",text:"",size:"small",onClick:l[6]||(l[6]=e=>jl("contact"))},{default:h(()=>[f(g(w),null,{default:h(()=>[f(g(j))]),_:1}),l[73]||(l[73]=V(" 编辑 ",-1))]),_:1})])]),default:h(()=>{var e,a,s,t;return[y("div",rl,[y("div",ml,[l[74]||(l[74]=y("span",{class:"label"},"客服二维码",-1)),y("span",_l,b((null==(e=g(fl).contact)?void 0:e.service_qrcode)?"已配置":"未配置"),1)]),(null==(a=g(fl).contact)?void 0:a.service_qrcode)?(v(),_("div",vl,[l[75]||(l[75]=y("span",{class:"label"},"预览",-1)),y("span",yl,[f(g(R),{style:{width:"50px",height:"50px"},src:null==(s=g(fl).contact)?void 0:s.service_qrcode,"preview-src-list":[null==(t=g(fl).contact)?void 0:t.service_qrcode],fit:"contain"},null,8,["src","preview-src-list"])])])):C("",!0)])]}),_:1})]),f(g(Q),{modelValue:g(hl),"onUpdate:modelValue":l[34]||(l[34]=e=>B(hl)?hl.value=e:null),title:g(gl),width:"600px"},{footer:h(()=>[f(g(x),{onClick:l[33]||(l[33]=e=>hl.value=!1)},{default:h(()=>[...l[80]||(l[80]=[V("取消",-1)])]),_:1}),f(g(x),{type:"primary",loading:g(X),onClick:Il},{default:h(()=>[...l[81]||(l[81]=[V("保存",-1)])]),_:1},8,["loading"])]),default:h(()=>[f(g(T),{ref_key:"formRef",ref:Vl,model:g(wl),"label-width":"120px","label-position":"left"},{default:h(()=>["points"===g(bl)?(v(),z(g(J),{key:0,label:"兑换比例"},{default:h(()=>[f(g(P),{modelValue:g(wl)["points.exchange_rate"],"onUpdate:modelValue":l[7]||(l[7]=e=>g(wl)["points.exchange_rate"]=e),placeholder:"例如: 1 表示 1元=1积分",type:"number"},{prepend:h(()=>[...l[76]||(l[76]=[V("1 元 =",-1)])]),append:h(()=>[...l[77]||(l[77]=[V("积分",-1)])]),_:1},8,["modelValue"]),l[78]||(l[78]=y("div",{style:{"font-size":"12px",color:"#909399","margin-top":"4px","line-height":"1.4"}},[V(" 设置 1 元人民币对应的积分数量。默认为 1。"),y("br"),V(" 修改后将影响新产生的积分逻辑,不影响已发放的积分。 ")],-1))]),_:1})):"cos"===g(bl)?(v(),_(K,{key:1},[f(g(J),{label:"Bucket"},{default:h(()=>[f(g(P),{modelValue:g(wl)["cos.bucket"],"onUpdate:modelValue":l[8]||(l[8]=e=>g(wl)["cos.bucket"]=e),placeholder:"COS Bucket名称"},null,8,["modelValue"])]),_:1}),f(g(J),{label:"Region"},{default:h(()=>[f(g(P),{modelValue:g(wl)["cos.region"],"onUpdate:modelValue":l[9]||(l[9]=e=>g(wl)["cos.region"]=e),placeholder:"如: ap-shanghai"},null,8,["modelValue"])]),_:1}),f(g(J),{label:"SecretID"},{default:h(()=>[f(g(P),{modelValue:g(wl)["cos.secret_id"],"onUpdate:modelValue":l[10]||(l[10]=e=>g(wl)["cos.secret_id"]=e),placeholder:"腾讯云 SecretID","show-password":""},null,8,["modelValue"])]),_:1}),f(g(J),{label:"SecretKey"},{default:h(()=>[f(g(P),{modelValue:g(wl)["cos.secret_key"],"onUpdate:modelValue":l[11]||(l[11]=e=>g(wl)["cos.secret_key"]=e),placeholder:"腾讯云 SecretKey","show-password":""},null,8,["modelValue"])]),_:1}),f(g(J),{label:"自定义域名"},{default:h(()=>[f(g(P),{modelValue:g(wl)["cos.base_url"],"onUpdate:modelValue":l[12]||(l[12]=e=>g(wl)["cos.base_url"]=e),placeholder:"可选,如有CDN域名"},null,8,["modelValue"])]),_:1})],64)):"wechat"===g(bl)?(v(),_(K,{key:2},[f(g(J),{label:"AppID"},{default:h(()=>[f(g(P),{modelValue:g(wl)["wechat.app_id"],"onUpdate:modelValue":l[13]||(l[13]=e=>g(wl)["wechat.app_id"]=e),placeholder:"小程序 AppID"},null,8,["modelValue"])]),_:1}),f(g(J),{label:"AppSecret"},{default:h(()=>[f(g(P),{modelValue:g(wl)["wechat.app_secret"],"onUpdate:modelValue":l[14]||(l[14]=e=>g(wl)["wechat.app_secret"]=e),placeholder:"小程序 AppSecret","show-password":""},null,8,["modelValue"])]),_:1}),f(g(J),{label:"开奖通知模板ID"},{default:h(()=>[f(g(P),{modelValue:g(wl)["wechat.lottery_result_template_id"],"onUpdate:modelValue":l[15]||(l[15]=e=>g(wl)["wechat.lottery_result_template_id"]=e),placeholder:"订阅消息模板ID"},null,8,["modelValue"])]),_:1})],64)):"wechatpay"===g(bl)?(v(),_(K,{key:3},[f(g(J),{label:"商户号"},{default:h(()=>[f(g(P),{modelValue:g(wl)["wechatpay.mchid"],"onUpdate:modelValue":l[16]||(l[16]=e=>g(wl)["wechatpay.mchid"]=e),placeholder:"微信支付商户号"},null,8,["modelValue"])]),_:1}),f(g(J),{label:"证书序列号"},{default:h(()=>[f(g(P),{modelValue:g(wl)["wechatpay.serial_no"],"onUpdate:modelValue":l[17]||(l[17]=e=>g(wl)["wechatpay.serial_no"]=e),placeholder:"API证书序列号"},null,8,["modelValue"])]),_:1}),f(g(J),{label:"APIv3 密钥"},{default:h(()=>[f(g(P),{modelValue:g(wl)["wechatpay.api_v3_key"],"onUpdate:modelValue":l[18]||(l[18]=e=>g(wl)["wechatpay.api_v3_key"]=e),placeholder:"APIv3 密钥","show-password":""},null,8,["modelValue"])]),_:1}),f(g(J),{label:"回调地址"},{default:h(()=>[f(g(P),{modelValue:g(wl)["wechatpay.notify_url"],"onUpdate:modelValue":l[19]||(l[19]=e=>g(wl)["wechatpay.notify_url"]=e),placeholder:"支付结果通知地址"},null,8,["modelValue"])]),_:1}),f(g(J),{label:"公钥ID"},{default:h(()=>[f(g(P),{modelValue:g(wl)["wechatpay.public_key_id"],"onUpdate:modelValue":l[20]||(l[20]=e=>g(wl)["wechatpay.public_key_id"]=e),placeholder:"公钥ID"},null,8,["modelValue"])]),_:1}),f(g(J),{label:"私钥(Base64)"},{default:h(()=>[f(g(P),{modelValue:g(wl)["wechatpay.private_key"],"onUpdate:modelValue":l[21]||(l[21]=e=>g(wl)["wechatpay.private_key"]=e),type:"textarea",rows:3,placeholder:"Base64编码的私钥内容"},null,8,["modelValue"])]),_:1}),f(g(J),{label:"公钥(Base64)"},{default:h(()=>[f(g(P),{modelValue:g(wl)["wechatpay.public_key"],"onUpdate:modelValue":l[22]||(l[22]=e=>g(wl)["wechatpay.public_key"]=e),type:"textarea",rows:3,placeholder:"Base64编码的公钥内容"},null,8,["modelValue"])]),_:1})],64)):"aliyun_sms"===g(bl)?(v(),_(K,{key:4},[f(g(J),{label:"AccessKeyID"},{default:h(()=>[f(g(P),{modelValue:g(wl)["aliyun_sms.access_key_id"],"onUpdate:modelValue":l[23]||(l[23]=e=>g(wl)["aliyun_sms.access_key_id"]=e),placeholder:"阿里云 AccessKeyID"},null,8,["modelValue"])]),_:1}),f(g(J),{label:"AccessKeySecret"},{default:h(()=>[f(g(P),{modelValue:g(wl)["aliyun_sms.access_key_secret"],"onUpdate:modelValue":l[24]||(l[24]=e=>g(wl)["aliyun_sms.access_key_secret"]=e),placeholder:"阿里云 AccessKeySecret","show-password":""},null,8,["modelValue"])]),_:1}),f(g(J),{label:"签名"},{default:h(()=>[f(g(P),{modelValue:g(wl)["aliyun_sms.sign_name"],"onUpdate:modelValue":l[25]||(l[25]=e=>g(wl)["aliyun_sms.sign_name"]=e),placeholder:"短信签名"},null,8,["modelValue"])]),_:1}),f(g(J),{label:"模板Code"},{default:h(()=>[f(g(P),{modelValue:g(wl)["aliyun_sms.template_code"],"onUpdate:modelValue":l[26]||(l[26]=e=>g(wl)["aliyun_sms.template_code"]=e),placeholder:"短信模板Code"},null,8,["modelValue"])]),_:1})],64)):"douyin"===g(bl)?(v(),_(K,{key:5},[f(g(J),{label:"AppID"},{default:h(()=>[f(g(P),{modelValue:g(wl)["douyin.app_id"],"onUpdate:modelValue":l[27]||(l[27]=e=>g(wl)["douyin.app_id"]=e),placeholder:"抖音小程序 AppID"},null,8,["modelValue"])]),_:1}),f(g(J),{label:"AppSecret"},{default:h(()=>[f(g(P),{modelValue:g(wl)["douyin.app_secret"],"onUpdate:modelValue":l[28]||(l[28]=e=>g(wl)["douyin.app_secret"]=e),placeholder:"抖音小程序 AppSecret","show-password":""},null,8,["modelValue"])]),_:1}),f(g(J),{label:"回调地址"},{default:h(()=>[f(g(P),{modelValue:g(wl)["douyin.notify_url"],"onUpdate:modelValue":l[29]||(l[29]=e=>g(wl)["douyin.notify_url"]=e),placeholder:"支付结果通知地址"},null,8,["modelValue"])]),_:1}),f(g(J),{label:"支付商户号"},{default:h(()=>[f(g(P),{modelValue:g(wl)["douyin.pay_app_id"],"onUpdate:modelValue":l[30]||(l[30]=e=>g(wl)["douyin.pay_app_id"]=e),placeholder:"抖音支付 AppID (担保支付)"},null,8,["modelValue"])]),_:1}),f(g(J),{label:"支付密钥"},{default:h(()=>[f(g(P),{modelValue:g(wl)["douyin.pay_secret"],"onUpdate:modelValue":l[31]||(l[31]=e=>g(wl)["douyin.pay_secret"]=e),placeholder:"抖音支付 Secret","show-password":""},null,8,["modelValue"])]),_:1}),f(g(J),{label:"支付盐"},{default:h(()=>[f(g(P),{modelValue:g(wl)["douyin.pay_salt"],"onUpdate:modelValue":l[32]||(l[32]=e=>g(wl)["douyin.pay_salt"]=e),placeholder:"抖音支付 Salt","show-password":""},null,8,["modelValue"])]),_:1})],64)):"contact"===g(bl)?(v(),z(g(J),{key:6,label:"客服二维码"},{default:h(()=>[f(g(M),{action:g(a),name:"file",accept:"image/*","list-type":"picture-card",headers:g(s),limit:1,"on-success":Ul,"on-remove":Al,"file-list":g(t)},{default:h(()=>[f(g(w),null,{default:h(()=>[f(g(q))]),_:1})]),_:1},8,["action","headers","file-list"]),l[79]||(l[79]=y("div",{style:{"font-size":"12px",color:"#909399","margin-top":"4px"}},[V(" 点击上方上传微信客服二维码图片。"),y("br"),V(" 支持 JPG/PNG 格式。 ")],-1))]),_:1})):C("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}))));var hl;const bl=X(fl,[["__scopeId","data-v-30086161"]]);export{bl as default}; diff --git a/nginx/admin/assets/index-7_BE1ymS.js.gz b/nginx/admin/assets/index-7_BE1ymS.js.gz new file mode 100644 index 0000000..5896b6a Binary files /dev/null and b/nginx/admin/assets/index-7_BE1ymS.js.gz differ diff --git a/nginx/admin/assets/index-86w9PCiC.css b/nginx/admin/assets/index-86w9PCiC.css new file mode 100644 index 0000000..61a1ca5 --- /dev/null +++ b/nginx/admin/assets/index-86w9PCiC.css @@ -0,0 +1 @@ +/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-11cd70e9],[data-v-11cd70e9]:before,[data-v-11cd70e9]:after,[data-v-11cd70e9]::backdrop{--tw-font-weight:initial}}}.auth-right-wrap[data-v-11cd70e9]{inset:calc(var(--spacing,.25rem)*0);width:440px;height:650px;margin:auto;padding-block:5px;animation:.6s cubic-bezier(.25,.46,.45,.94) forwards slideInRight-11cd70e9;position:absolute;overflow:hidden}@media not all and (min-width:48rem){.auth-right-wrap[data-v-11cd70e9]{animation:none}}@media not all and (min-width:40rem){.auth-right-wrap[data-v-11cd70e9]{width:100%;padding-inline:calc(var(--spacing,.25rem)*7)}}.auth-right-wrap .form[data-v-11cd70e9]{height:100%;padding-block:40px}.auth-right-wrap .title[data-v-11cd70e9]{font-size:var(--text-4xl,2.25rem);line-height:var(--tw-leading,var(--text-4xl--line-height,calc(2.5/2.25)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-g-900,var(--art-gray-900))}@media not all and (min-width:48rem){.auth-right-wrap .title[data-v-11cd70e9]{font-size:var(--text-3xl,1.875rem);line-height:var(--tw-leading,var(--text-3xl--line-height, 1.2 ))}}@media not all and (min-width:40rem){.auth-right-wrap .title[data-v-11cd70e9]{padding-top:calc(var(--spacing,.25rem)*10)}}.auth-right-wrap .sub-title[data-v-11cd70e9]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));color:var(--color-g-600,var(--art-gray-600));margin-top:10px}.auth-right-wrap .custom-height[data-v-11cd70e9]{height:40px!important}@keyframes slideInRight-11cd70e9{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@property --tw-font-weight{syntax:"*";inherits:false} diff --git a/nginx/admin/assets/index-B-d2EqGf.js b/nginx/admin/assets/index-B-d2EqGf.js new file mode 100644 index 0000000..0e091fc --- /dev/null +++ b/nginx/admin/assets/index-B-d2EqGf.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,r=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,o=(t,r,s)=>r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[r]=s;import{d as l,a as p,C as n,r as m,o as u,H as d,b as j,e as c,g as f,w as _,f as b,N as v,h as x,E as w,j as y,M as g,p as h}from"./index-BoIUJTA2.js";/* empty css */import{a as k,E as O}from"./el-tab-pane-BpPSIX41.js";/* empty css */import{_ as C}from"./index.vue_vue_type_script_setup_true_lang-CPE8D7by.js";import{_ as P}from"./index.vue_vue_type_script_setup_true_lang-52kir2M8.js";import{_ as S}from"./index.vue_vue_type_script_setup_true_lang-g70nAmZn.js";import{E as A}from"./index-BaD29Izp.js";import"./raf-DsHSIRfX.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-D2gD5Tn5.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./clamp-BXzPLned.js";import"./index-C0Ar9TSn.js";import"./_baseClone-Ct7RL6h5.js";/* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./task-center-B4yQCrbd.js";import"./adminActivities-Dgt25iR5.js";import"./index-BjuMygln.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./index-D8nVJoNy.js";import"./index-C_S0YbqD.js";import"./index-BnK4BbY2.js";import"./index-rgHg98E6.js";import"./product-qKpGgPBm.js";const E={class:"art-full-height"},T={class:"mb-3 flex items-center justify-between"},I=l((N=((e,t)=>{for(var r in t||(t={}))a.call(t,r)&&o(e,r,t[r]);if(s)for(var r of s(t))i.call(t,r)&&o(e,r,t[r]);return e})({},{name:"TaskCenterTaskDetail"}),t(N,r({__name:"index",setup(e){const t=p(),r=n(),s=m("tiers"),a=m(null),i=m(null);function o(){r.push({path:"/task-center/tasks"})}function l(){a.value&&a.value.refresh()}function I(e){"reward-stats"===e&&i.value&&i.value.refresh()}return u(()=>{const e=String(t.query.tab||"");"rewards"===e&&(s.value="rewards"),"reward-stats"===e&&(s.value="reward-stats")}),(e,t)=>{const r=w,p=O,n=k,m=A,u=d("ripple");return c(),j("div",E,[f(m,{class:"art-table-card",shadow:"never"},{default:_(()=>[b("div",T,[t[2]||(t[2]=b("div",{class:"text-base font-medium"},"任务详情",-1)),v((c(),x(r,{onClick:o},{default:_(()=>[...t[1]||(t[1]=[y("返回",-1)])]),_:1})),[[u]])]),f(n,{modelValue:h(s),"onUpdate:modelValue":t[0]||(t[0]=e=>g(s)?s.value=e:null),onTabChange:I},{default:_(()=>[f(p,{label:"任务规则",name:"tiers"},{default:_(()=>[f(C,{onSaved:l})]),_:1}),f(p,{label:"任务奖励",name:"rewards"},{default:_(()=>[f(P,{ref_key:"rewardsRef",ref:a},null,512)]),_:1}),f(p,{label:"奖励发放",name:"reward-stats"},{default:_(()=>[f(S,{ref_key:"rewardStatsRef",ref:i},null,512)]),_:1})]),_:1},8,["modelValue"])]),_:1})])}}}))));var N;export{I as default}; diff --git a/nginx/admin/assets/index-B18-crhn.js b/nginx/admin/assets/index-B18-crhn.js new file mode 100644 index 0000000..cf401e4 --- /dev/null +++ b/nginx/admin/assets/index-B18-crhn.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,s=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,r=(a,s,t)=>s in a?e(a,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[s]=t,i=(e,a)=>{for(var s in a||(a={}))l.call(a,s)&&r(e,s,a[s]);if(t)for(var s of t(a))o.call(a,s)&&r(e,s,a[s]);return e},d=(e,t)=>a(e,s(t));import{a8 as n,d3 as u,c,d4 as f,r as v,A as p,cY as b,l as y,cB as m,a0 as h,d as g,bs as w,bz as k,a1 as z,bK as C,h as A,e as R,w as E,g as O,a3 as j,p as x,N as F,cG as L,cn as _,f as P,a2 as $,O as B,b as S,i as T,q as I,s as H,v as q,ai as D,be as X,m as Y,aj as N,az as G}from"./index-BoIUJTA2.js";import{E as K}from"./index-COyGylbk.js";import{c as M,e as U,u as W}from"./use-dialog-FwJ-QdmW.js";const J=n(d(i({},U),{direction:{type:String,default:"rtl",values:["ltr","rtl","ttb","btt"]},resizable:Boolean,size:{type:[String,Number],default:"30%"},withHeader:{type:Boolean,default:!0},modalFade:{type:Boolean,default:!0},headerAriaLevel:{type:String,default:"2"}})),Q=M;function V(e,a){const{width:s,height:t}=u(),l=c(()=>["ltr","rtl"].includes(e.direction)),o=c(()=>["ltr","ttb"].includes(e.direction)?1:-1),r=c(()=>l.value?s.value:t.value),i=c(()=>f(d.value+o.value*n.value,4,r.value)),d=v(0),n=v(0),h=v(!1),g=v(!1);let w=[],k=[];p(()=>[e.size,e.resizable],()=>{g.value=!1,d.value=0,n.value=0,C()});const z=e=>{const{pageX:a,pageY:s}=e,t=a-w[0],o=s-w[1];n.value=l.value?t:o},C=()=>{w=[],d.value=i.value,n.value=0,h.value=!1,k.forEach(e=>null==e?void 0:e()),k=[]},A=b(a,"mousedown",s=>{e.resizable&&(g.value||(d.value=(()=>{var e;const s=null==(e=a.value)?void 0:e.closest('[aria-modal="true"]');return s?l.value?s.offsetWidth:s.offsetHeight:100})(),g.value=!0),w=[s.pageX,s.pageY],h.value=!0,k.push(b(window,"mouseup",C),b(window,"mousemove",z)))});return y(()=>{A(),C()}),{size:c(()=>g.value?`${i.value}px`:m(e.size)),isResizing:h,isHorizontal:l}}const Z=g({name:"ElDrawer",inheritAttrs:!1});const ee=G(h(g(d(i({},Z),{props:J,emits:Q,setup(e,{expose:a}){const s=e,t=w();k({scope:"el-drawer",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/drawer.html#slots"},c(()=>!!t.title));const l=v(),o=v(),r=v(),i=z("drawer"),{t:d}=C(),{afterEnter:n,afterLeave:u,beforeLeave:f,visible:p,rendered:b,titleId:y,bodyId:m,zIndex:h,onModalClick:g,onOpenAutoFocus:G,onCloseAutoFocus:M,onFocusoutPrevented:U,onCloseRequested:J,handleClose:Q}=W(s,l),{isHorizontal:Z,size:ee,isResizing:ae}=V(s,r);return a({handleClose:Q,afterEnter:n,afterLeave:u}),(e,a)=>(R(),A(x(K),{to:e.appendTo,disabled:"body"===e.appendTo&&!e.appendToBody},{default:E(()=>[O(j,{name:x(i).b("fade"),onAfterEnter:x(n),onAfterLeave:x(u),onBeforeLeave:x(f),persisted:""},{default:E(()=>{var a;return[F(O(x(L),{mask:e.modal,"overlay-class":[x(i).is("drawer"),null!=(a=e.modalClass)?a:""],"z-index":x(h),onClick:x(g)},{default:E(()=>[O(x(_),{loop:"",trapped:x(p),"focus-trap-el":l.value,"focus-start-el":o.value,onFocusAfterTrapped:x(G),onFocusAfterReleased:x(M),onFocusoutPrevented:x(U),onReleaseRequested:x(J)},{default:E(()=>[P("div",$({ref_key:"drawerRef",ref:l,"aria-modal":"true","aria-label":e.title||void 0,"aria-labelledby":e.title?void 0:x(y),"aria-describedby":x(m)},e.$attrs,{class:[x(i).b(),e.direction,x(p)&&"open",x(i).is("dragging",x(ae))],style:{[x(Z)?"width":"height"]:x(ee)},role:"dialog",onClick:B(()=>{},["stop"])}),[P("span",{ref_key:"focusStartRef",ref:o,class:I(x(i).e("sr-focus")),tabindex:"-1"},null,2),e.withHeader?(R(),S("header",{key:0,class:I([x(i).e("header"),e.headerClass])},[e.$slots.title?H(e.$slots,"title",{key:1},()=>[T(" DEPRECATED SLOT ")]):H(e.$slots,"header",{key:0,close:x(Q),titleId:x(y),titleClass:x(i).e("title")},()=>[P("span",{id:x(y),role:"heading","aria-level":e.headerAriaLevel,class:I(x(i).e("title"))},q(e.title),11,["id","aria-level"])]),e.showClose?(R(),S("button",{key:2,"aria-label":x(d)("el.drawer.close"),class:I(x(i).e("close-btn")),type:"button",onClick:x(Q)},[O(x(D),{class:I(x(i).e("close"))},{default:E(()=>[O(x(X))]),_:1},8,["class"])],10,["aria-label","onClick"])):T("v-if",!0)],2)):T("v-if",!0),x(b)?(R(),S("div",{key:1,id:x(m),class:I([x(i).e("body"),e.bodyClass])},[H(e.$slots,"default")],10,["id"])):T("v-if",!0),e.$slots.footer?(R(),S("div",{key:2,class:I([x(i).e("footer"),e.footerClass])},[H(e.$slots,"footer")],2)):T("v-if",!0),e.resizable?(R(),S("div",{key:3,ref_key:"draggerRef",ref:r,style:Y({zIndex:x(h)}),class:I(x(i).e("dragger"))},null,6)):T("v-if",!0)],16,["aria-label","aria-labelledby","aria-describedby","onClick"])]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])]),_:3},8,["mask","overlay-class","z-index","onClick"]),[[N,x(p)]])]}),_:3},8,["name","onAfterEnter","onAfterLeave","onBeforeLeave"])]),_:3},8,["to","disabled"]))}})),[["__file","drawer.vue"]]));export{ee as E}; diff --git a/nginx/admin/assets/index-B48yC-b4.js b/nginx/admin/assets/index-B48yC-b4.js new file mode 100644 index 0000000..6f0c312 --- /dev/null +++ b/nginx/admin/assets/index-B48yC-b4.js @@ -0,0 +1 @@ +var e=Object.defineProperty,l=Object.defineProperties,a=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,o=(l,a,t)=>a in l?e(l,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[a]=t,r=(e,l)=>{for(var a in l||(l={}))i.call(l,a)&&o(e,a,l[a]);if(t)for(var a of t(l))s.call(l,a)&&o(e,a,l[a]);return e},u=(e,t)=>l(e,a(t)),d=(e,l,a)=>new Promise((t,i)=>{var s=e=>{try{r(a.next(e))}catch(l){i(l)}},o=e=>{try{r(a.throw(e))}catch(l){i(l)}},r=e=>e.done?t(e.value):Promise.resolve(e.value).then(s,o);r((a=a.apply(e,l)).next())});import{d as n,C as c,r as p,c as m,k as v,A as _,B as f,o as y,b as g,e as b,f as h,g as w,w as V,I as x,J as j,N as q,K as k,h as U,j as z,i as N,p as C,aj as E,b2 as Y,v as M,E as D,b5 as I,O,b6 as P,q as F,b8 as H,ai as B,b9 as S,aR as A,b3 as J,ac as R,ba as T,T as G}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{a as $,E as K}from"./el-step-DRmJIHnU.js";import{h as L,c as W,n as Q,e as X}from"./adminActivities-Dgt25iR5.js";import{f as Z}from"./product-qKpGgPBm.js";import{_ as ee}from"./index.vue_vue_type_style_index_0_lang-HxUCIPrH.js";import{c as le}from"./coupons-tpfgWUoF.js";import{P as ae,D as te,c as ie,d as se}from"./activityEnums-zI8yOqFS.js";import{a as oe,E as re}from"./index-BcfO0-fK.js";import{E as ue}from"./index-C_sVHlWz.js";import{E as de}from"./index-CXD7B41Z.js";import{E as ne,a as ce}from"./index-D2gD5Tn5.js";import{a as pe,b as me}from"./index-DqTthkO7.js";import{E as ve}from"./index-C_S0YbqD.js";import{E as _e}from"./index-rgHg98E6.js";import{E as fe}from"./index-BneqRonp.js";import{E as ye}from"./index-CSr24crn.js";import{E as ge}from"./index-ZsMdSUVI.js";import{E as be}from"./index-BaD29Izp.js";import{E as he}from"./index-CjpBlozU.js";import{_ as we}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index-C0Ar9TSn.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./index-BnK4BbY2.js";import"./index-ClDjAOOe.js";import"./cloneDeep-B1gZFPYK.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";const Ve={class:"activity-wizard-container"},xe={class:"wizard-steps"},je={class:"wizard-content"},qe={class:"step-content-area"},ke={class:"form-section"},Ue={class:"time-range-picker"},ze={class:"form-section media-section"},Ne={key:0,class:"form-tip"},Ce={class:"step-content-area"},Ee={class:"form-section"},Ye={class:"activity-preview"},Me={class:"preview-item"},De={class:"preview-value"},Ie={class:"preview-item"},Oe={class:"preview-item"},Pe={class:"preview-value"},Fe={class:"step-content-area"},He={class:"rewards-toolbar"},Be={class:"reward-stats"},Se={key:0,class:"rewards-grid"},Ae={class:"reward-header"},Je={class:"reward-title"},Re={class:"reward-actions"},Te={class:"reward-properties"},Ge={class:"property-item"},$e={class:"property-value"},Ke={class:"property-item"},Le={class:"property-value"},We={class:"property-item"},Qe={class:"property-value"},Xe={class:"property-item"},Ze={class:"property-item"},el={key:1,class:"empty-rewards"},ll={class:"empty-stats"},al={class:"wizard-footer"},tl={class:"footer-content"},il={key:0,class:"footer-info"},sl={class:"dialog-footer"},ol=we(n({__name:"index",setup(e){const l=c(),a=[{title:"创建活动",description:"设置活动基本信息",tip:"填写活动的基本信息和设置"},{title:"创建期数",description:"添加活动期数",tip:"为活动创建期数信息"},{title:"添加奖品",description:"配置活动奖品",tip:"添加活动的奖品配置"}],t=p(0),i=p(!1),s=p(!1),o=m(()=>0===t.value&&i.value),n=v({name:"",activity_category_id:void 0,status:1,price_draw:0,is_boss:0,image:"",gameplay_intro:"",allow_item_cards:1,allow_coupons:1}),we=p(),ol={name:[{required:!0,message:"请输入活动名称",trigger:"blur"}],activity_category_id:[{required:!0,message:"请选择活动分类",trigger:"change"}],image:[{required:!0,message:"请上传活动封面",trigger:"change"}],price_draw:[{type:"number",message:"请输入有效价格",trigger:"blur"}]},rl=p(null),ul=p(null),dl=m({get:()=>1===n.is_boss,set:e=>{n.is_boss=e?1:0}}),nl=m({get:()=>1===n.allow_item_cards,set:e=>{n.allow_item_cards=e?1:0}}),cl=m({get:()=>1===n.allow_coupons,set:e=>{n.allow_coupons=e?1:0}}),pl=v({play_type:"ichiban",draw_mode:"instant",min_participants:0,interval_minutes:0,refund_coupon_id:void 0});_(()=>pl.play_type,e=>{"ichiban"===e&&(pl.draw_mode="instant",pl.min_participants=0,pl.interval_minutes=0)});const ml=p([]);function vl(){return d(this,null,function*(){try{const e=yield le.getList({page:1,page_size:50,status:1});ml.value=e.list||[]}catch(e){}})}const _l=f(),fl=m(()=>"/api/common/upload/wangeditor"),yl=m(()=>({Authorization:_l.accessToken})),gl=p([]);function bl(e){const l=e.type.startsWith("image/"),a=e.size<=5242880;return l?!!a||(G.error("图片大小不能超过5MB"),!1):(G.error("仅支持图片文件"),!1)}function hl(e){var l,a;let t=(null==(l=null==e?void 0:e.data)?void 0:l.url)||(null==e?void 0:e.url)||"";if(!t&&"string"==typeof e)try{const l=JSON.parse(e);t=(null==(a=null==l?void 0:l.data)?void 0:a.url)||(null==l?void 0:l.url)||""}catch(i){}t&&(n.image=t,gl.value=[{name:"cover",url:t}])}function wl(){n.image="",gl.value=[]}const Vl=v({issue_number:"",status:1,sort:0}),xl=v({}),jl=p(null),ql=p(null),kl=p([]),Ul=p([]),zl=p(!1),Nl=p({}),Cl=p([]),El=p(!1),Yl=p(),Ml=p(!1),Dl=p(0),Il=p(0),Ol=v({product_id:void 0,weight:1,quantity:1,is_boss:0,level:1,drop_quantity:1,_index:-1}),Pl={product_id:[{required:!0,message:"请选择奖品",trigger:"change"}],weight:[{required:!0,message:"请输入权重",trigger:"blur"}],quantity:[{required:!0,message:"请输入数量",trigger:"blur"}],level:[{required:!0,message:"请选择等级",trigger:"change"}]},Fl=m(()=>Cl.value&&0!==Cl.value.length?Cl.value.reduce((e,l)=>e+function(e,l){const a=Math.round(e*l*100)/100;return isFinite(a)?a:0}(function(e){const l=Number(e);return isNaN(l)||l<0?0:Math.round(100*l)/100}(Nl.value[l.product_id]),function(e){const l=Number(e);return isNaN(l)||l<0?0:Math.floor(l)}(l.quantity)),0):0);function Hl(e){return new Intl.NumberFormat("zh-CN",{style:"currency",currency:"CNY",minimumFractionDigits:2,maximumFractionDigits:2}).format(e)}function Bl(){return d(this,null,function*(){0===t.value?yield function(){return d(this,null,function*(){var e,l,a;try{i.value=!0;if(!(yield new Promise(e=>{we.value.validate(l=>e(l))})))return void(i.value=!1);const l=Math.round(100*Number(n.price_draw||0)),a=u(r({},n),{activity_category_id:n.activity_category_id||0,start_time:rl.value||void 0,end_time:ul.value||void 0,price_draw:l,play_type:pl.play_type,draw_mode:pl.draw_mode,min_participants:"scheduled"===pl.draw_mode?Number(pl.min_participants||0):void 0,scheduled_time:void 0,scheduled_delay_minutes:"scheduled"===pl.draw_mode?Number(pl.interval_minutes||0):void 0,interval_minutes:"scheduled"===pl.draw_mode?Number(pl.interval_minutes||0):void 0,refund_coupon_id:"scheduled"===pl.draw_mode&&pl.refund_coupon_id||0,allow_item_cards:n.allow_item_cards,allow_coupons:n.allow_coupons}),s=yield L(a);if(!(null==s?void 0:s.id))throw new Error("创建活动失败:未获取到ID");xl.activityId=s.id,jl.value=u(r(r({},a),s),{category_name:(null==(e=kl.value.find(e=>e.id===a.activity_category_id))?void 0:e.name)||""}),G.success("活动创建成功"),t.value++}catch(s){const e=(null==(a=null==(l=null==s?void 0:s.response)?void 0:l.data)?void 0:a.message)||(null==s?void 0:s.message)||"活动创建失败";G.error(e)}finally{i.value=!1}})}():1===t.value?yield function(){return d(this,null,function*(){var e,l;try{i.value=!0;const e={issue_number:Vl.issue_number,status:Vl.status,sort:Vl.sort},l=yield W(xl.activityId,e);if(!(null==l?void 0:l.id))throw new Error("创建期数失败:未获取到ID");xl.issueId=l.id,ql.value=l,G.success("期数创建成功"),t.value++}catch(a){const t=(null==(l=null==(e=null==a?void 0:a.response)?void 0:e.data)?void 0:l.message)||(null==a?void 0:a.message)||"期数创建失败";G.error(t)}finally{i.value=!1}})}():2===t.value&&(yield Al())})}function Sl(){t.value>0&&t.value--}function Al(){return d(this,null,function*(){var e,a,t,i;try{if(s.value=!0,0===Cl.value.length)return void G.warning("请至少添加一个奖品");const t=[],i=(null==(e=jl.value)?void 0:e.play_type)||pl.play_type,o=(null==(a=jl.value)?void 0:a.activity_category_id)||n.activity_category_id,r="ichiban"===i||1===o;for(const e of Cl.value)if(r&&e.quantity>1){const l=Math.floor(Number(e.quantity));for(let a=0;a{e.id&&void 0!==e.price&&(Nl.value[e.id]=Number(e.price)||0)})}catch(l){G.error("加载商品失败")}finally{zl.value=!1}}})}function Rl(){Ol.product_id=void 0,Ol.weight=1,Ol.quantity=1,Ol.is_boss=0,Ol.level=1,Ol.drop_quantity=1,Ol._index=-1,El.value=!0}function Tl(){Cl.value=[],G.success("奖品已清空")}function Gl(){Yl.value.validate(e=>d(this,null,function*(){if(e){Ml.value=!0;try{const e=Ul.value.find(e=>e.id===Ol.product_id);if(!e)return void G.error("商品不存在");if(void 0!==Ol._index&&Ol._index>=0){const l=Ol._index;Cl.value[l]=u(r({},Ol),{product_name:e.name,product_price:e.price}),G.success("奖品已更新")}else Cl.value.push(u(r({},Ol),{product_name:e.name,product_price:e.price})),G.success("奖品已添加");El.value=!1}catch(l){G.error("操作失败")}finally{Ml.value=!1}}}))}return _(Fl,(e,l)=>{e!==l&&(Il.value=l,Dl.value++)}),y(()=>{!function(){d(this,null,function*(){try{const e=yield X();kl.value=e.list||[]}catch(e){G.error("加载分类失败")}})}();const e=localStorage.getItem("activity_gameplay_intro");e&&(n.gameplay_intro=e)}),_(()=>n.gameplay_intro,e=>{"string"==typeof e&&localStorage.setItem("activity_gameplay_intro",e)}),(e,l)=>{const r=$,u=K,d=k,c=re,p=ce,m=ne,v=de,_=me,f=pe,y=ue,L=ve,W=_e,Q=fe,X=ye,Z=oe,le=ge,_l=D,xl=B,ql=be,Il=he,$l=Y;return b(),g("div",Ve,[l[58]||(l[58]=h("div",{class:"wizard-header"},[h("div",{class:"header-content"},[h("h1",{class:"page-title"},"创建活动向导"),h("p",{class:"page-description"},"通过简单的步骤创建您的抽奖活动")])],-1)),h("div",xe,[w(u,{active:t.value,"finish-status":"success","align-center":""},{default:V(()=>[(b(),g(x,null,j(a,(e,l)=>w(r,{key:l,title:e.title,description:e.description},null,8,["title","description"])),64))]),_:1},8,["active"])]),h("div",je,[w(ql,{class:"content-card"},{default:V(()=>[q((b(),g("div",qe,[l[33]||(l[33]=h("div",{class:"section-header"},[h("h3",{class:"section-title"},"活动基本信息"),h("p",{class:"section-description"},"填写活动的基本信息和设置")],-1)),w(Z,{ref_key:"activityFormRef",ref:we,model:n,rules:ol,"label-width":"140px",class:"activity-form form-layout"},{default:V(()=>[w(y,{gutter:24,class:"form-grid"},{default:V(()=>[w(v,{xs:24,md:14,lg:16},{default:V(()=>[h("div",ke,[w(c,{label:"活动名称",prop:"name",required:""},{default:V(()=>[w(d,{modelValue:n.name,"onUpdate:modelValue":l[0]||(l[0]=e=>n.name=e),placeholder:"请输入活动名称",maxlength:"50","show-word-limit":""},null,8,["modelValue"])]),_:1}),w(y,{gutter:16},{default:V(()=>[w(v,{xs:24,sm:12},{default:V(()=>[w(c,{label:"活动分类",prop:"activity_category_id",required:""},{default:V(()=>[w(m,{modelValue:n.activity_category_id,"onUpdate:modelValue":l[1]||(l[1]=e=>n.activity_category_id=e),placeholder:"请选择活动分类",class:"full-width"},{default:V(()=>[(b(!0),g(x,null,j(kl.value,e=>(b(),U(p,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),w(v,{xs:24,sm:12},{default:V(()=>[w(c,{label:"活动状态",prop:"status"},{default:V(()=>[w(f,{modelValue:n.status,"onUpdate:modelValue":l[2]||(l[2]=e=>n.status=e)},{default:V(()=>[w(_,{label:1},{default:V(()=>[...l[26]||(l[26]=[z("启用",-1)])]),_:1}),w(_,{label:0},{default:V(()=>[...l[27]||(l[27]=[z("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),w(y,{gutter:16},{default:V(()=>[w(v,{xs:24,sm:12},{default:V(()=>[w(c,{label:"抽奖价格",prop:"price_draw"},{default:V(()=>[w(L,{modelValue:n.price_draw,"onUpdate:modelValue":l[3]||(l[3]=e=>n.price_draw=e),min:0,precision:2,step:.1,placeholder:"请输入抽奖价格"},{append:V(()=>[...l[28]||(l[28]=[z("元",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1}),w(v,{xs:24,sm:12},{default:V(()=>[w(c,{label:"Boss活动",prop:"is_boss"},{default:V(()=>[w(W,{modelValue:dl.value,"onUpdate:modelValue":l[4]||(l[4]=e=>dl.value=e),"active-text":"是","inactive-text":"否"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),w(y,{gutter:16},{default:V(()=>[w(v,{xs:24,sm:12},{default:V(()=>[w(c,{label:"允许使用道具卡"},{default:V(()=>[w(W,{modelValue:nl.value,"onUpdate:modelValue":l[5]||(l[5]=e=>nl.value=e),"active-text":"是","inactive-text":"否"},null,8,["modelValue"])]),_:1})]),_:1}),w(v,{xs:24,sm:12},{default:V(()=>[w(c,{label:"允许使用优惠券"},{default:V(()=>[w(W,{modelValue:cl.value,"onUpdate:modelValue":l[6]||(l[6]=e=>cl.value=e),"active-text":"是","inactive-text":"否"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),w(c,{label:"活动时间",required:""},{default:V(()=>[h("div",Ue,[w(Q,{modelValue:rl.value,"onUpdate:modelValue":l[7]||(l[7]=e=>rl.value=e),type:"datetime",placeholder:"开始时间",format:"YYYY-MM-DD HH:mm","value-format":"YYYY-MM-DD HH:mm:ss"},null,8,["modelValue"]),l[29]||(l[29]=h("span",{class:"time-separator"},"至",-1)),w(Q,{modelValue:ul.value,"onUpdate:modelValue":l[8]||(l[8]=e=>ul.value=e),type:"datetime",placeholder:"结束时间",format:"YYYY-MM-DD HH:mm","value-format":"YYYY-MM-DD HH:mm:ss"},null,8,["modelValue"])])]),_:1}),w(c,{label:"玩法介绍"},{default:V(()=>[w(ee,{modelValue:n.gameplay_intro,"onUpdate:modelValue":l[9]||(l[9]=e=>n.gameplay_intro=e),height:"300px",placeholder:"请输入玩法介绍...",uploadConfig:{maxFileSize:5242880}},null,8,["modelValue"])]),_:1})])]),_:1}),w(v,{xs:24,md:10,lg:8},{default:V(()=>[h("div",ze,[w(c,{label:"活动封面",prop:"image",required:""},{default:V(()=>[w(X,{action:fl.value,name:"file",accept:"image/*","list-type":"picture-card",headers:yl.value,limit:1,"file-list":gl.value,"before-upload":bl,"on-success":hl,"on-remove":wl},{default:V(()=>[...l[30]||(l[30]=[h("i",{class:"el-icon"},[h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[h("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})])],-1)])]),_:1},8,["action","headers","file-list"])]),_:1}),l[31]||(l[31]=h("div",{class:"form-tip"},"建议比例 16:9,支持 JPG/PNG,最大 5MB",-1))])]),_:1})]),_:1})]),_:1},8,["model"]),l[34]||(l[34]=h("div",{class:"section-header"},[h("h3",{class:"section-title"},"抽奖玩法与定时配置"),h("p",{class:"section-description"},"配置抽奖模式与定时参数")],-1)),w(Z,{model:pl,"label-width":"140px",class:"activity-form form-layout"},{default:V(()=>[w(y,{gutter:16},{default:V(()=>[w(v,{xs:24,sm:12},{default:V(()=>[w(c,{label:"玩法类型"},{default:V(()=>[w(m,{modelValue:pl.play_type,"onUpdate:modelValue":l[10]||(l[10]=e=>pl.play_type=e),placeholder:"请选择玩法类型"},{default:V(()=>[(b(!0),g(x,null,j(C(ae),(e,l)=>(b(),U(p,{key:l,label:e,value:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),w(v,{xs:24,sm:12},{default:V(()=>[w(c,{label:"开奖模式"},{default:V(()=>[w(m,{modelValue:pl.draw_mode,"onUpdate:modelValue":l[11]||(l[11]=e=>pl.draw_mode=e),placeholder:"请选择开奖模式",disabled:"ichiban"===pl.play_type},{default:V(()=>[(b(!0),g(x,null,j(C(te),(e,l)=>(b(),U(p,{key:l,label:e,value:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled"]),"ichiban"===pl.play_type?(b(),g("div",Ne,"一番赏模式默认为即时开奖")):N("",!0)]),_:1})]),_:1})]),_:1}),"scheduled"===pl.draw_mode?(b(),U(y,{key:0,gutter:16},{default:V(()=>[w(v,{xs:24,sm:12},{default:V(()=>[w(c,{label:"最低参与人数"},{default:V(()=>[w(L,{modelValue:pl.min_participants,"onUpdate:modelValue":l[12]||(l[12]=e=>pl.min_participants=e),min:1,step:1},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})):N("",!0),"scheduled"===pl.draw_mode?(b(),U(y,{key:1,gutter:16},{default:V(()=>[w(v,{xs:24,sm:12},{default:V(()=>[w(c,{label:"开奖间隔(分钟)"},{default:V(()=>[w(L,{modelValue:pl.interval_minutes,"onUpdate:modelValue":l[13]||(l[13]=e=>pl.interval_minutes=e),min:1,step:1},null,8,["modelValue"]),l[32]||(l[32]=h("div",{class:"form-tip"},"每隔N分钟执行一次开奖",-1))]),_:1})]),_:1})]),_:1})):N("",!0),"scheduled"===pl.draw_mode?(b(),U(y,{key:2,gutter:16},{default:V(()=>[w(v,{xs:24,sm:24},{default:V(()=>[w(c,{label:"退款券模板"},{default:V(()=>[w(m,{modelValue:pl.refund_coupon_id,"onUpdate:modelValue":l[14]||(l[14]=e=>pl.refund_coupon_id=e),placeholder:"选择优惠券模板",filterable:"",clearable:"",onFocus:vl},{default:V(()=>[(b(!0),g(x,null,j(ml.value,e=>(b(),U(p,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):N("",!0)]),_:1},8,["model"])])),[[E,0===t.value],[$l,o.value]]),q(h("div",Ce,[l[40]||(l[40]=h("div",{class:"section-header"},[h("h3",{class:"section-title"},"创建活动期数"),h("p",{class:"section-description"},"为活动添加期数信息")],-1)),w(Z,{model:Vl,"label-width":"140px",class:"issue-form"},{default:V(()=>[h("div",Ee,[w(c,{label:"期数编号",prop:"issue_number",required:""},{default:V(()=>[w(d,{modelValue:Vl.issue_number,"onUpdate:modelValue":l[15]||(l[15]=e=>Vl.issue_number=e),placeholder:"请输入期数编号",maxlength:"20"},null,8,["modelValue"])]),_:1}),w(c,{label:"排序权重",prop:"sort"},{default:V(()=>[w(L,{modelValue:Vl.sort,"onUpdate:modelValue":l[16]||(l[16]=e=>Vl.sort=e),min:0,step:1,placeholder:"请输入排序权重"},null,8,["modelValue"])]),_:1}),w(c,{label:"期数状态",prop:"status"},{default:V(()=>[w(f,{modelValue:Vl.status,"onUpdate:modelValue":l[17]||(l[17]=e=>Vl.status=e)},{default:V(()=>[w(_,{label:1},{default:V(()=>[...l[35]||(l[35]=[z("启用",-1)])]),_:1}),w(_,{label:0},{default:V(()=>[...l[36]||(l[36]=[z("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),jl.value?(b(),U(c,{key:0,label:"活动预览"},{default:V(()=>[h("div",Ye,[h("div",Me,[l[37]||(l[37]=h("span",{class:"preview-label"},"活动名称11111:",-1)),h("span",De,M(jl.value.name),1)]),h("div",Ie,[l[38]||(l[38]=h("span",{class:"preview-label"},"活动分类:",-1)),w(le,{type:"info"},{default:V(()=>[z(M(jl.value.category_name),1)]),_:1})]),h("div",Oe,[l[39]||(l[39]=h("span",{class:"preview-label"},"活动时间:",-1)),h("span",Pe,M(jl.value.start_time)+" 至 "+M(jl.value.end_time),1)])])]),_:1})):N("",!0)])]),_:1},8,["model"])],512),[[E,1===t.value]]),q(h("div",Fe,[l[49]||(l[49]=h("div",{class:"section-header"},[h("h3",{class:"section-title"},"配置活动奖品"),h("p",{class:"section-description"},"添加和管理活动奖品")],-1)),h("div",He,[w(_l,{type:"primary",onClick:O(Rl,["prevent"]),size:"large",icon:C(I)},{default:V(()=>[...l[41]||(l[41]=[z(" 添加奖品 ",-1)])]),_:1},8,["icon"]),w(_l,{onClick:O(Tl,["prevent"]),size:"large",icon:C(P)},{default:V(()=>[...l[42]||(l[42]=[z(" 清空奖品 ",-1)])]),_:1},8,["icon"]),h("div",Be,[(b(),g("span",{class:F(["stat-item price-value",{"price-update-animation":Dl.value>1}]),key:Dl.value}," 总计 "+M(Cl.value.length)+" 个奖品 价值 "+M(Hl(Fl.value)),3))])]),Cl.value.length>0?(b(),g("div",Se,[(b(!0),g(x,null,j(Cl.value,(e,a)=>{var t,i,s;return b(),g("div",{key:a,class:"reward-card"},[h("div",Ae,[h("h4",Je,M(e.product_name),1),h("div",Re,[w(_l,{onClick:O(e=>function(e){const l=Cl.value[e];Object.assign(Ol,l),Ol._index=e,El.value=!0}(a),["prevent"]),size:"small",icon:C(H),circle:""},null,8,["onClick","icon"]),w(_l,{onClick:O(e=>function(e){Cl.value.splice(e,1),G.success("奖品已删除")}(a),["prevent"]),size:"small",icon:C(P),circle:"",type:"danger"},null,8,["onClick","icon"])])]),h("div",Te,[h("div",Ge,[l[43]||(l[43]=h("span",{class:"property-label"},"数量:",-1)),h("span",$e,[z(M(e.quantity)+" ",1),("ichiban"===((null==(t=jl.value)?void 0:t.play_type)||pl.play_type)||1===((null==(i=jl.value)?void 0:i.activity_category_id)||n.activity_category_id))&&e.quantity>1?(b(),g(x,{key:0},[z(" (提交后展开为 "+M(e.quantity)+" 个格位) ",1)],64)):N("",!0)])]),h("div",Ke,[l[44]||(l[44]=h("span",{class:"property-label"},"单价:",-1)),h("span",Le,"¥"+M((s=e.product_id,s&&Nl.value[s]||0)),1)]),h("div",We,[l[45]||(l[45]=h("span",{class:"property-label"},"权重:",-1)),h("span",Qe,M(e.weight),1)]),h("div",Xe,[l[46]||(l[46]=h("span",{class:"property-label"},"等级:",-1)),w(le,{type:1===e.level?"success":2===e.level?"warning":"danger",size:"small"},{default:V(()=>[z(M(C(ie)(e.level)),1)]),_:2},1032,["type"])]),h("div",Ze,[l[47]||(l[47]=h("span",{class:"property-label"},"Boss奖品:",-1)),w(le,{type:e.is_boss?"warning":"info",size:"small"},{default:V(()=>[z(M(e.is_boss?"是":"否"),1)]),_:2},1032,["type"])])])])}),128))])):(b(),g("div",el,[w(xl,{class:"empty-icon"},{default:V(()=>[w(C(S))]),_:1}),l[48]||(l[48]=h("div",{class:"empty-text"},"暂无奖品,点击上方按钮添加奖品",-1)),h("div",ll," 总计 0 个奖品 价值 "+M(Hl(0)),1)]))],512),[[E,2===t.value]])]),_:1})]),h("div",al,[h("div",tl,[w(_l,{onClick:O(Sl,["prevent"]),disabled:0===t.value,size:"large",icon:C(A)},{default:V(()=>[...l[50]||(l[50]=[z(" 上一步 ",-1)])]),_:1},8,["disabled","icon"]),t.value[w(C(J))]),_:1}),h("span",null,M(a[t.value].tip),1)])):N("",!0),t.value[...l[51]||(l[51]=[z(" 下一步 ",-1)])]),_:1},8,["loading","icon"])):(b(),U(_l,{key:2,type:"success",onClick:O(Al,["prevent"]),size:"large",loading:s.value,icon:C(T)},{default:V(()=>[...l[52]||(l[52]=[z(" 完成创建 ",-1)])]),_:1},8,["loading","icon"]))])]),w(Il,{modelValue:El.value,"onUpdate:modelValue":l[25]||(l[25]=e=>El.value=e),title:Ol.product_id?"编辑奖品":"添加奖品",width:"600px","close-on-click-modal":!1},{footer:V(()=>[h("span",sl,[w(_l,{onClick:l[24]||(l[24]=O(e=>El.value=!1,["prevent"]))},{default:V(()=>[...l[56]||(l[56]=[z("取消",-1)])]),_:1}),w(_l,{type:"primary",onClick:O(Gl,["prevent"]),loading:Ml.value},{default:V(()=>[...l[57]||(l[57]=[z(" 确定 ",-1)])]),_:1},8,["loading"])])]),default:V(()=>[w(Z,{ref_key:"rewardFormRef",ref:Yl,model:Ol,rules:Pl,"label-width":"120px"},{default:V(()=>[w(c,{label:"选择商品",prop:"product_id",required:""},{default:V(()=>[w(m,{modelValue:Ol.product_id,"onUpdate:modelValue":l[18]||(l[18]=e=>Ol.product_id=e),placeholder:"请选择商品",class:"full-width",loading:zl.value,onFocus:Jl},{default:V(()=>[(b(!0),g(x,null,j(Ul.value,e=>(b(),U(p,{key:e.id,label:`${e.name} (¥${(e.price/100).toFixed(2)})`,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),w(c,{label:"奖品数量",prop:"quantity",required:""},{default:V(()=>[w(L,{modelValue:Ol.quantity,"onUpdate:modelValue":l[19]||(l[19]=e=>Ol.quantity=e),min:1,step:1,placeholder:"请输入奖品数量"},null,8,["modelValue"])]),_:1}),w(c,{label:"抽奖权重",prop:"weight",required:""},{default:V(()=>[w(L,{modelValue:Ol.weight,"onUpdate:modelValue":l[20]||(l[20]=e=>Ol.weight=e),min:1,step:1,placeholder:"请输入抽奖权重"},null,8,["modelValue"]),l[53]||(l[53]=h("div",{class:"form-tip"},"权重越大,中奖概率越高",-1))]),_:1}),w(c,{label:"奖品等级",prop:"level",required:""},{default:V(()=>[w(m,{modelValue:Ol.level,"onUpdate:modelValue":l[21]||(l[21]=e=>Ol.level=e),placeholder:"请选择等级"},{default:V(()=>[(b(!0),g(x,null,j(C(se),(e,l)=>(b(),U(p,{key:l,label:e,value:Number(l)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),w(c,{label:"单次产出",prop:"drop_quantity"},{default:V(()=>[w(L,{modelValue:Ol.drop_quantity,"onUpdate:modelValue":l[22]||(l[22]=e=>Ol.drop_quantity=e),min:1,max:100,step:1,placeholder:"抽中一次发几个"},null,8,["modelValue"]),l[54]||(l[54]=h("div",{class:"form-tip"},"碎片类奖品可设置多数量产出,默认1",-1))]),_:1}),w(c,{label:"Boss奖品",prop:"is_boss"},{default:V(()=>[w(W,{modelValue:Ol.is_boss,"onUpdate:modelValue":l[23]||(l[23]=e=>Ol.is_boss=e),"active-value":1,"inactive-value":0,"active-text":"是","inactive-text":"否"},null,8,["modelValue"]),l[55]||(l[55]=h("div",{class:"form-tip"},"Boss奖品仅对Boss活动生效",-1))]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),[["__scopeId","data-v-6386fe23"]]);export{ol as default}; diff --git a/nginx/admin/assets/index-B48yC-b4.js.gz b/nginx/admin/assets/index-B48yC-b4.js.gz new file mode 100644 index 0000000..208c7b9 Binary files /dev/null and b/nginx/admin/assets/index-B48yC-b4.js.gz differ diff --git a/nginx/admin/assets/index-B68OhD7Z.js b/nginx/admin/assets/index-B68OhD7Z.js new file mode 100644 index 0000000..35df168 --- /dev/null +++ b/nginx/admin/assets/index-B68OhD7Z.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,r=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,n=(t,r,o)=>r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[r]=o;import{_ as i}from"./ArtException.vue_vue_type_script_setup_true_lang-BNdHgCsP.js";import{d as s,h as l,e as c,p as u}from"./index-BoIUJTA2.js";/* empty css */import"./index-DVdhsH_J.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";const m=s((b=((e,t)=>{for(var r in t||(t={}))a.call(t,r)&&n(e,r,t[r]);if(o)for(var r of o(t))p.call(t,r)&&n(e,r,t[r]);return e})({},{name:"Exception404"}),t(b,r({__name:"index",setup:e=>(e,t)=>{const r=i;return c(),l(r,{data:{title:"404",desc:e.$t("exceptionPage.404"),btnText:e.$t("exceptionPage.gohome"),imgUrl:u("/admin/assets/404-BzxNMzaO.svg")}},null,8,["data"])}}))));var b;export{m as default}; diff --git a/nginx/admin/assets/index-B7q-DPlS.css b/nginx/admin/assets/index-B7q-DPlS.css new file mode 100644 index 0000000..b600217 --- /dev/null +++ b/nginx/admin/assets/index-B7q-DPlS.css @@ -0,0 +1 @@ +/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-d45b160d],[data-v-d45b160d]:before,[data-v-d45b160d]:after,[data-v-d45b160d]::backdrop{--tw-font-weight:initial}}}.auth-right-wrap[data-v-d45b160d]{inset:calc(var(--spacing,.25rem)*0);width:440px;height:650px;margin:auto;padding-block:5px;animation:.6s cubic-bezier(.25,.46,.45,.94) forwards slideInRight-d45b160d;position:absolute;overflow:hidden}@media not all and (min-width:48rem){.auth-right-wrap[data-v-d45b160d]{animation:none}}@media not all and (min-width:40rem){.auth-right-wrap[data-v-d45b160d]{width:100%;padding-inline:calc(var(--spacing,.25rem)*7)}}.auth-right-wrap .form[data-v-d45b160d]{height:100%;padding-block:40px}.auth-right-wrap .title[data-v-d45b160d]{font-size:var(--text-4xl,2.25rem);line-height:var(--tw-leading,var(--text-4xl--line-height,calc(2.5/2.25)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-g-900,var(--art-gray-900))}@media not all and (min-width:48rem){.auth-right-wrap .title[data-v-d45b160d]{font-size:var(--text-3xl,1.875rem);line-height:var(--tw-leading,var(--text-3xl--line-height, 1.2 ))}}@media not all and (min-width:40rem){.auth-right-wrap .title[data-v-d45b160d]{padding-top:calc(var(--spacing,.25rem)*10)}}.auth-right-wrap .sub-title[data-v-d45b160d]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));color:var(--color-g-600,var(--art-gray-600));margin-top:10px}.auth-right-wrap .custom-height[data-v-d45b160d]{height:40px!important}@keyframes slideInRight-d45b160d{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@property --tw-font-weight{syntax:"*";inherits:false} diff --git a/nginx/admin/assets/index-B9jkV22W.js b/nginx/admin/assets/index-B9jkV22W.js new file mode 100644 index 0000000..0de51f6 --- /dev/null +++ b/nginx/admin/assets/index-B9jkV22W.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,r=(a,t,o)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[t]=o,l=(e,l)=>{for(var i in l||(l={}))t.call(l,i)&&r(e,i,l[i]);if(a)for(var i of a(l))o.call(l,i)&&r(e,i,l[i]);return e};import{c1 as i,d as n,k as s,dl as p,b as d,e as m,g as u,w as j,K as c,E as b,p as f,j as g,f as _,v as h}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as x}from"./index-Bwtbh5WQ.js";import{u as C}from"./useTable-DzUOUR11.js";import{f as v}from"./enums-B_hZIbhP.js";import{a as y,E as w}from"./index-BcfO0-fK.js";import{E as O,a as k}from"./index-D2gD5Tn5.js";import{E as S}from"./index-BaD29Izp.js";import{a as E}from"./index-BjuMygln.js";import{_ as P}from"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-C1haaLtB.js";import"./useTableColumns-FR69a2pD.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./index-D8nVJoNy.js";const V={class:"page"},z={id:"art-table-header",class:"p-2"},I=P(n({__name:"index",setup(e){const a=s({}),{data:t,loading:o,pagination:r,getData:n,refreshData:P,handleSizeChange:I,handleCurrentChange:A}=C({core:{apiFn:e=>{return t=l(l({},e||{}),a),i.get({url:"admin/pay/refunds",params:t});var t},immediate:!1}});function U(){a.order_no=void 0,a.status=void 0,n()}return n(),p(()=>n()),(e,l)=>{const i=c,s=w,p=k,C=O,D=b,T=y,L=S,B=E;return m(),d("div",V,[u(L,{class:"mb-3"},{default:j(()=>[u(T,{inline:!0,model:a},{default:j(()=>[u(s,{label:"订单号"},{default:j(()=>[u(i,{modelValue:a.order_no,"onUpdate:modelValue":l[0]||(l[0]=e=>a.order_no=e),placeholder:"订单号",clearable:""},null,8,["modelValue"])]),_:1}),u(s,{label:"状态"},{default:j(()=>[u(C,{modelValue:a.status,"onUpdate:modelValue":l[1]||(l[1]=e=>a.status=e),placeholder:"全部",clearable:"",style:{width:"140px"}},{default:j(()=>[u(p,{value:"SUCCESS",label:"成功"}),u(p,{value:"PROCESSING",label:"处理中"}),u(p,{value:"CLOSED",label:"关闭"})]),_:1},8,["modelValue"])]),_:1}),u(s,null,{default:j(()=>[u(D,{type:"primary",onClick:f(n)},{default:j(()=>[...l[2]||(l[2]=[g("查询",-1)])]),_:1},8,["onClick"]),u(D,{onClick:U},{default:j(()=>[...l[3]||(l[3]=[g("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),u(x,{data:f(t),loading:f(o),pagination:f(r),"onPagination:sizeChange":f(I),"onPagination:currentChange":f(A)},{default:j(()=>[_("div",z,[u(D,{onClick:f(P),loading:f(o)},{default:j(()=>[...l[4]||(l[4]=[g("刷新",-1)])]),_:1},8,["onClick","loading"])]),u(B,{type:"globalIndex",label:"#",width:"60",align:"center"}),u(B,{prop:"refund_no",label:"退款单号","min-width":"180"}),u(B,{prop:"order_no",label:"订单号","min-width":"180"}),u(B,{prop:"channel",label:"渠道",width:"120"}),u(B,{prop:"status",label:"状态",width:"120"}),u(B,{prop:"amount_refund",label:"金额(元)",width:"140"},{default:j(({row:e})=>[g(h(f(v)(e.amount_refund)),1)]),_:1}),u(B,{prop:"created_at",label:"时间","min-width":"160"})]),_:1},8,["data","loading","pagination","onPagination:sizeChange","onPagination:currentChange"])])}}}),[["__scopeId","data-v-dcd9938b"]]);export{I as default}; diff --git a/nginx/admin/assets/index-BAhrL1sQ.js b/nginx/admin/assets/index-BAhrL1sQ.js new file mode 100644 index 0000000..a5af85c --- /dev/null +++ b/nginx/admin/assets/index-BAhrL1sQ.js @@ -0,0 +1 @@ +var e=Object.defineProperty,l=Object.defineProperties,r=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,s=(l,r,o)=>r in l?e(l,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):l[r]=o,d=(e,l)=>{for(var r in l||(l={}))t.call(l,r)&&s(e,r,l[r]);if(o)for(var r of o(l))a.call(l,r)&&s(e,r,l[r]);return e},i=(e,l,r)=>new Promise((o,t)=>{var a=e=>{try{d(r.next(e))}catch(l){t(l)}},s=e=>{try{d(r.throw(e))}catch(l){t(l)}},d=e=>e.done?o(e.value):Promise.resolve(e.value).then(a,s);d((r=r.apply(e,l)).next())});import{c1 as p,d as n,r as u,k as _,o as m,dl as c,b,e as f,g as y,w as v,E as j,j as x,f as h,v as g,I as V,J as k,h as w,K as U,i as C,T as q,aV as O}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css */import{_ as $}from"./index-oPcNh_Ue.js";import{A}from"./index-BaXJ8CyS.js";import{_ as E}from"./index-Bwtbh5WQ.js";import{E as I}from"./index-BaD29Izp.js";import{E as z}from"./index-BMeOzN3u.js";import{E as S}from"./index-ZsMdSUVI.js";import{a as D,E as P}from"./index-BcfO0-fK.js";import{E as M}from"./index-C_sVHlWz.js";import{E as T}from"./index-CXD7B41Z.js";import{E as W,a as B}from"./index-D2gD5Tn5.js";import{E as R}from"./index-CjpBlozU.js";import{E as Y,a as Z}from"./index-DpfIyoxx.js";import{E as J}from"./index-B18-crhn.js";import{_ as L}from"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css */import"./tree-select-DdXiCp9j.js";import"./index-BneqRonp.js";import"./index-Cp4NEpJ7.js";import"./index-BnK4BbY2.js";import"./debounce-DQl5eUwG.js";import"./index-CXORCV4U.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./castArray-nM8ho4U3.js";import"./clamp-BXzPLned.js";import"./index-sK8AD9wr.js";import"./token-DWNpOE8r.js";import"./index-BObA9rVr.js";import"./index-D8nVJoNy.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./slider-DTwTybBj.js";import"./index-C_S0YbqD.js";/* empty css */import"./index-DqTthkO7.js";import"./index-DGLhvuMQ.js";import"./cloneDeep-B1gZFPYK.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-rgHg98E6.js";/* empty css *//* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./refs-Cw5r5QN8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";import"./index-CZJaGuxf.js";/* empty css *//* empty css */import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./index-C1haaLtB.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./use-dialog-FwJ-QdmW.js";const Q=e=>p.get({url:"admin/ops_shipping_stats",params:e}),X=e=>p.post({url:"admin/ops_shipping_stats",data:e}),F=(e,l)=>p.put({url:`admin/ops_shipping_stats/${e}`,data:l}),K=e=>p.del({url:`admin/ops_shipping_stats/${e}`}),N={class:"page-container"},G={class:"ellipsis"},H={class:"compact-actions"},ee={key:0},le={class:"ellipsis"},re=L(n({__name:"index",setup(e){const o=u(!1),t=u([]),a=_({current:1,size:10,total:0}),s=_({shipped_start:"",shipped_end:"",product_id:void 0,product_name:"",user_id:void 0,user_name:"",express_code:"",express_no:"",order_id:void 0,order_no:"",order_source_type:void 0,payer:"",keyword:""}),n=[{key:"product_id",label:"商品ID",type:"input",props:{clearable:!0}},{key:"product_name",label:"商品名称",type:"input",props:{clearable:!0}},{key:"user_id",label:"用户ID",type:"input",props:{clearable:!0}},{key:"user_name",label:"收件人",type:"input",props:{clearable:!0}},{key:"express_code",label:"快递公司",type:"input",props:{clearable:!0}},{key:"express_no",label:"运单号",type:"input",props:{clearable:!0}},{key:"order_no",label:"订单号",type:"input",props:{clearable:!0}},{key:"order_source_type",label:"来源类型",type:"select",props:{clearable:!0,options:[{label:"全部",value:void 0},{label:"商城直购",value:1},{label:"抽奖票据",value:2},{label:"其他",value:3}]}},{key:"payer",label:"付款人",type:"input",props:{clearable:!0}},{key:"keyword",label:"关键字",type:"input",props:{placeholder:"商品/用户/订单/单号",clearable:!0}}],L=[{prop:"id",label:"ID",width:80},{prop:"product_name",label:"商品名称",minWidth:160},{prop:"product_price_cents",label:"单价",width:120,useSlot:!0,slot:"product_price_cents"},{prop:"shipped_qty",label:"数量",width:90},{prop:"user_name",label:"收件人",width:120,visible:!1},{prop:"user_address_text",label:"地址",minWidth:220,useSlot:!0,slot:"user_address_text",visible:!1},{prop:"express_code",label:"快递公司",width:120,visible:!1},{prop:"express_no",label:"运单号",minWidth:160,visible:!1},{prop:"order_no",label:"订单号",minWidth:160},{prop:"order_qty",label:"下单数量",width:100,visible:!1},{prop:"order_amount_cents",label:"订单金额",width:120,useSlot:!0,slot:"order_amount_cents"},{prop:"profit_loss_cents",label:"盈亏",width:120,useSlot:!0,slot:"profit_loss_cents"},{prop:"order_source_text",label:"来源",width:120},{prop:"payer",label:"付款人",width:120,visible:!1},{prop:"created_at",label:"入库时间",width:170,visible:!1},{prop:"actions",label:"操作",width:160,fixed:"right",useSlot:!0,slot:"actions"}],re=()=>i(this,null,function*(){o.value=!0;try{const o=(e=d({},s),i={page:a.current,page_size:a.size},l(e,r(i))),p=yield Q(o);t.value=Array.isArray(p.list)?p.list:[],a.total=p.total||0}catch(p){t.value=[]}finally{o.value=!1}var e,i}),oe=()=>{a.current=1,re()},te=()=>{Object.assign(s,{product_id:void 0,product_name:"",user_id:void 0,user_name:"",express_code:"",express_no:"",order_id:void 0,order_no:"",order_source_type:void 0,payer:"",keyword:""}),a.current=1,re()},ae=e=>{a.current=e,re()},se=e=>{a.size=e,a.current=1,re()},de=u(!1),ie=u(null),pe=_({product_id:0,product_name:"",product_price_cents:void 0,shipped_qty:1,user_id:0,user_name:"",user_address_text:"",express_code:"",express_no:"",order_id:void 0,order_no:"",order_qty:void 0,order_amount_cents:void 0,order_source_type:void 0,payer:""}),ne=()=>{ie.value=null,Object.assign(pe,{product_id:0,product_name:"",product_price_cents:void 0,shipped_qty:1,user_id:0,user_name:"",user_address_text:"",express_code:"",express_no:"",order_id:void 0,order_no:"",order_qty:void 0,order_amount_cents:void 0,order_source_type:void 0,payer:""}),de.value=!0},ue=()=>i(this,null,function*(){try{if(!(pe.product_id&&pe.product_name&&pe.user_id&&pe.user_name))return void q.error("请补全必填项");if(ie.value){const e=d({},pe);yield F(ie.value.id,e),q.success("更新成功")}else{const e=d({},pe);yield X(e),q.success("创建成功")}de.value=!1,re()}catch(e){q.error("提交失败")}}),_e=e=>i(this,null,function*(){var l,r;try{const l=e.product_name||"该发货统计记录";yield O.confirm(`确定要删除发货统计"${l}"吗?此操作不可恢复`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",beforeClose:(e,l,r)=>{"confirm"===e?(l.confirmButtonLoading=!0,r()):r()}}),yield K(e.id),q.success({message:`"${l}"已成功删除`,duration:3e3}),re()}catch(o){if("cancel"===o)return;const t=(null==(r=null==(l=null==o?void 0:o.response)?void 0:l.data)?void 0:r.message)||o.message||"删除失败",a=e.product_name||"该发货统计记录";q.error({message:`"${a}"删除失败:${t}`,duration:4e3})}}),me=e=>"number"==typeof e?(e/100).toFixed(2):"-",ce=u(!1),be=u(null),fe=u([]),ye=u([]),ve=u([]),je=_({products:!1,users:!1,orders:!1});je.orders=!1;const xe=e=>i(this,null,function*(){je.products=!0;try{const l=yield p.get({url:"admin/products",params:{page:1,page_size:10,name:e||void 0}});fe.value=Array.isArray(l.list)?l.list:[]}finally{je.products=!1}}),he=e=>i(this,null,function*(){je.users=!0;try{const l=yield p.get({url:"admin/users",params:{page:1,page_size:10,nickname:e||void 0}});ye.value=Array.isArray(l.list)?l.list:[]}finally{je.users=!1}}),ge=e=>{const l=fe.value.find(l=>l.id===e);l&&(pe.product_id=l.id,pe.product_name=l.name,pe.product_price_cents="number"==typeof l.price?l.price:pe.product_price_cents)},Ve=e=>{const l=ye.value.find(l=>l.id===e);l&&(pe.user_id=l.id,pe.user_name=l.nickname)},ke=e=>i(this,null,function*(){je.orders=!0;try{const l=yield p.get({url:"admin/pay/orders",params:{page:1,page_size:10,order_no:e||void 0}});ve.value=Array.isArray(l.list)?l.list:[]}finally{je.orders=!1}}),we=e=>{const l=ve.value.find(l=>l.order_no===e);l&&(pe.order_no=l.order_no,pe.order_id=l.id,pe.order_amount_cents="number"==typeof l.actual_amount?l.actual_amount:pe.order_amount_cents)};return m(re),c(re),(e,l)=>{const r=j,d=I,i=S,p=z,u=B,_=W,m=P,c=U,q=T,O=M,Q=D,X=R,F=Z,K=Y,Ue=J;return f(),b("div",N,[y(d,{class:"quick-actions",shadow:"never"},{default:v(()=>[y(r,{type:"primary",onClick:ne},{default:v(()=>[...l[19]||(l[19]=[x("新建统计",-1)])]),_:1}),y(r,{onClick:re},{default:v(()=>[...l[20]||(l[20]=[x("刷新",-1)])]),_:1})]),_:1}),y($,{items:n,modelValue:s,onSearch:oe,onReset:te},null,8,["modelValue"]),y(A,{columns:L,"onUpdate:columns":l[0]||(l[0]=e=>L=e),loading:o.value,onRefresh:re},null,8,["loading"]),y(E,{loading:o.value,columns:L,data:t.value,pagination:a,onPageChange:ae,onSizeChange:se,"empty-text":"暂无数据"},{order_amount_cents:v(({row:e})=>[h("span",null,g(me(e.order_amount_cents)),1)]),product_price_cents:v(({row:e})=>[h("span",null,g(me(e.product_price_cents)),1)]),profit_loss_cents:v(({row:e})=>[y(i,{type:(e.profit_loss_cents||0)>=0?"success":"danger"},{default:v(()=>[x(g(me(e.profit_loss_cents)),1)]),_:2},1032,["type"])]),user_address_text:v(({row:e})=>[y(p,{content:e.user_address_text,placement:"top"},{default:v(()=>[h("span",G,g(e.user_address_text),1)]),_:2},1032,["content"])]),actions:v(({row:e})=>[h("div",H,[y(r,{link:"",type:"primary",onClick:l=>(e=>{ie.value=e,Object.assign(pe,{product_id:e.product_id,product_name:e.product_name,product_price_cents:e.product_price_cents,shipped_qty:e.shipped_qty,user_id:e.user_id,user_name:e.user_name,user_address_text:e.user_address_text,express_code:e.express_code,express_no:e.express_no,order_id:e.order_id,order_no:e.order_no,order_qty:e.order_qty,order_amount_cents:e.order_amount_cents,order_source_type:e.order_source_type,payer:e.payer}),de.value=!0})(e)},{default:v(()=>[...l[21]||(l[21]=[x("编辑",-1)])]),_:1},8,["onClick"]),y(r,{link:"",onClick:l=>(e=>{be.value=e,ce.value=!0})(e)},{default:v(()=>[...l[22]||(l[22]=[x("详情",-1)])]),_:1},8,["onClick"]),y(r,{link:"",type:"danger",onClick:l=>_e(e)},{default:v(()=>[...l[23]||(l[23]=[x("删除",-1)])]),_:1},8,["onClick"])])]),_:1},8,["loading","data","pagination"]),y(X,{modelValue:de.value,"onUpdate:modelValue":l[17]||(l[17]=e=>de.value=e),title:ie.value?"编辑统计":"新建统计",width:"880px"},{footer:v(()=>[y(r,{onClick:l[16]||(l[16]=e=>de.value=!1)},{default:v(()=>[...l[24]||(l[24]=[x("取消",-1)])]),_:1}),y(r,{type:"primary",onClick:ue},{default:v(()=>[...l[25]||(l[25]=[x("提交",-1)])]),_:1})]),default:v(()=>[y(Q,{model:pe,"label-width":"120px"},{default:v(()=>[y(O,{gutter:16},{default:v(()=>[y(q,{span:12},{default:v(()=>[y(m,{label:"产品"},{default:v(()=>[y(_,{modelValue:pe.product_id,"onUpdate:modelValue":l[1]||(l[1]=e=>pe.product_id=e),filterable:"",remote:"","remote-method":xe,loading:je.products,placeholder:"输入关键字搜索产品",onChange:ge},{default:v(()=>[(f(!0),b(V,null,k(fe.value,e=>(f(),w(u,{key:e.id,label:`${e.name} (ID:${e.id})`,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),y(m,{label:"商品名称"},{default:v(()=>[y(c,{modelValue:pe.product_name,"onUpdate:modelValue":l[2]||(l[2]=e=>pe.product_name=e)},null,8,["modelValue"])]),_:1}),y(m,{label:"商品价格(分)"},{default:v(()=>[y(c,{modelValue:pe.product_price_cents,"onUpdate:modelValue":l[3]||(l[3]=e=>pe.product_price_cents=e),modelModifiers:{number:!0}},null,8,["modelValue"])]),_:1}),y(m,{label:"发货数量"},{default:v(()=>[y(c,{modelValue:pe.shipped_qty,"onUpdate:modelValue":l[4]||(l[4]=e=>pe.shipped_qty=e),modelModifiers:{number:!0}},null,8,["modelValue"])]),_:1}),y(m,{label:"来源类型"},{default:v(()=>[y(_,{modelValue:pe.order_source_type,"onUpdate:modelValue":l[5]||(l[5]=e=>pe.order_source_type=e),placeholder:"选择来源"},{default:v(()=>[y(u,{value:1,label:"淘宝"}),y(u,{value:2,label:"拼多多"}),y(u,{value:3,label:"京东"}),y(u,{value:4,label:"线下"})]),_:1},8,["modelValue"])]),_:1}),y(m,{label:"订单金额(分)"},{default:v(()=>[y(c,{modelValue:pe.order_amount_cents,"onUpdate:modelValue":l[6]||(l[6]=e=>pe.order_amount_cents=e),modelModifiers:{number:!0}},null,8,["modelValue"])]),_:1}),y(m,{label:"付款人"},{default:v(()=>[y(c,{modelValue:pe.payer,"onUpdate:modelValue":l[7]||(l[7]=e=>pe.payer=e)},null,8,["modelValue"])]),_:1})]),_:1}),y(q,{span:12},{default:v(()=>[y(m,{label:"用户"},{default:v(()=>[y(_,{modelValue:pe.user_id,"onUpdate:modelValue":l[8]||(l[8]=e=>pe.user_id=e),filterable:"",remote:"","remote-method":he,loading:je.users,placeholder:"输入昵称搜索用户",onChange:Ve},{default:v(()=>[(f(!0),b(V,null,k(ye.value,e=>(f(),w(u,{key:e.id,label:`${e.nickname} (ID:${e.id})`,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),y(m,{label:"收件人"},{default:v(()=>[y(c,{modelValue:pe.user_name,"onUpdate:modelValue":l[9]||(l[9]=e=>pe.user_name=e)},null,8,["modelValue"])]),_:1}),y(m,{label:"地址"},{default:v(()=>[y(c,{modelValue:pe.user_address_text,"onUpdate:modelValue":l[10]||(l[10]=e=>pe.user_address_text=e)},null,8,["modelValue"])]),_:1}),y(m,{label:"快递公司"},{default:v(()=>[y(c,{modelValue:pe.express_code,"onUpdate:modelValue":l[11]||(l[11]=e=>pe.express_code=e)},null,8,["modelValue"])]),_:1}),y(m,{label:"运单号"},{default:v(()=>[y(c,{modelValue:pe.express_no,"onUpdate:modelValue":l[12]||(l[12]=e=>pe.express_no=e)},null,8,["modelValue"])]),_:1}),y(m,{label:"订单号"},{default:v(()=>[y(_,{modelValue:pe.order_no,"onUpdate:modelValue":l[13]||(l[13]=e=>pe.order_no=e),filterable:"",remote:"","remote-method":ke,loading:je.orders,placeholder:"输入订单号搜索",onChange:we},{default:v(()=>[(f(!0),b(V,null,k(ve.value,e=>(f(),w(u,{key:e.id,label:`${e.order_no} (ID:${e.id})`,value:e.order_no},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),y(m,{label:"订单ID"},{default:v(()=>[y(c,{modelValue:pe.order_id,"onUpdate:modelValue":l[14]||(l[14]=e=>pe.order_id=e),modelModifiers:{number:!0},placeholder:"可留空"},null,8,["modelValue"])]),_:1}),y(m,{label:"下单数量"},{default:v(()=>[y(c,{modelValue:pe.order_qty,"onUpdate:modelValue":l[15]||(l[15]=e=>pe.order_qty=e),modelModifiers:{number:!0}},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),y(Ue,{modelValue:ce.value,"onUpdate:modelValue":l[18]||(l[18]=e=>ce.value=e),title:"发货统计详情",size:"50%"},{default:v(()=>[be.value?(f(),b("div",ee,[y(K,{title:"商品信息",column:2,border:""},{default:v(()=>[y(F,{label:"商品"},{default:v(()=>[x(g(be.value.product_name),1)]),_:1}),y(F,{label:"销售单价"},{default:v(()=>[x(g(me(be.value.product_price_cents)),1)]),_:1}),y(F,{label:"发货数量"},{default:v(()=>[x(g(be.value.shipped_qty),1)]),_:1})]),_:1}),y(K,{title:"用户与地址",column:2,border:""},{default:v(()=>[y(F,{label:"收件人"},{default:v(()=>[x(g(be.value.user_name),1)]),_:1}),y(F,{label:"地址"},{default:v(()=>[h("span",le,g(be.value.user_address_text),1)]),_:1})]),_:1}),y(K,{title:"物流信息",column:2,border:""},{default:v(()=>[y(F,{label:"快递公司"},{default:v(()=>[x(g(be.value.express_code),1)]),_:1}),y(F,{label:"运单号"},{default:v(()=>[x(g(be.value.express_no),1)]),_:1})]),_:1}),y(K,{title:"订单信息",column:2,border:""},{default:v(()=>[y(F,{label:"订单号"},{default:v(()=>[x(g(be.value.order_no),1)]),_:1}),y(F,{label:"订单金额"},{default:v(()=>[x(g(me(be.value.order_amount_cents)),1)]),_:1}),y(F,{label:"来源"},{default:v(()=>[x(g(be.value.order_source_text),1)]),_:1}),y(F,{label:"盈亏"},{default:v(()=>[x(g(me(be.value.profit_loss_cents)),1)]),_:1})]),_:1}),y(K,{title:"对比分析",column:2,border:""},{default:v(()=>[y(F,{label:"盈亏"},{default:v(()=>[x(g(me(be.value.profit_loss_cents)),1)]),_:1})]),_:1})])):C("",!0)]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-840af1c9"]]);export{re as default}; diff --git a/nginx/admin/assets/index-BAhrL1sQ.js.gz b/nginx/admin/assets/index-BAhrL1sQ.js.gz new file mode 100644 index 0000000..1598189 Binary files /dev/null and b/nginx/admin/assets/index-BAhrL1sQ.js.gz differ diff --git a/nginx/admin/assets/index-BErwC85X.js b/nginx/admin/assets/index-BErwC85X.js new file mode 100644 index 0000000..88e70f0 --- /dev/null +++ b/nginx/admin/assets/index-BErwC85X.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BoIUJTA2.js","assets/index-Bw_sWjGf.css"])))=>i.map(i=>d[i]); +var e=(e,t,i)=>new Promise((a,l)=>{var o=e=>{try{n(i.next(e))}catch(t){l(t)}},s=e=>{try{n(i.throw(e))}catch(t){l(t)}},n=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,s);n((i=i.apply(e,t)).next())});import{d as t,C as i,a,r as l,k as o,o as s,aD as n,b as r,e as u,f as m,g as p,w as d,j as c,E as j,p as f,M as v,v as _,K as g,aV as b,T as h}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as y}from"./index-Bwtbh5WQ.js";import{A as x}from"./index-BaXJ8CyS.js";import{_ as C}from"./index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js";import{u as k}from"./useTable-DzUOUR11.js";import{a as V,b as w,u as z,c as I,d as T,l as A}from"./adminActivities-Dgt25iR5.js";import{E as P}from"./index-ZsMdSUVI.js";import{a as E,E as W}from"./index-BcfO0-fK.js";import{E as R,a as U}from"./index-D2gD5Tn5.js";import{E as O}from"./index-CjpBlozU.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./refs-Cw5r5QN8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";/* empty css */import"./index-CZJaGuxf.js";/* empty css *//* empty css */import"./useTableColumns-FR69a2pD.js";import"./_baseClone-Ct7RL6h5.js";import"./token-DWNpOE8r.js";import"./use-dialog-FwJ-QdmW.js";const S={class:"mb-3"},B=t({__name:"index",setup(t){const B=i(),D=a(),L=Number(D.params.activityId),$=l(null),{data:M,loading:F,columns:N,pagination:K,handleSizeChange:Q,handleCurrentChange:X,getData:q}=k({core:{apiFn:e=>A(L,e.page,e.page_size).then(e=>({records:e.list,total:e.total,current:e.page,size:e.page_size})),apiParams:{page:1,page_size:20},columnsFactory:()=>[{prop:"id",label:"ID",minWidth:90,align:"center"},{prop:"issue_number",label:"期号",minWidth:160,align:"center"},{prop:"status",label:"状态",useSlot:!0,minWidth:110,align:"center"},{prop:"commit_version",label:"承诺版本",minWidth:120,align:"center",formatter:()=>{var e,t;return null!=(t=null==(e=$.value)?void 0:e.seed_version)?t:"-"}},{prop:"prize_count",label:"奖品数量",minWidth:120,align:"center",sortable:!0},{prop:"sort",label:"排序",minWidth:100,align:"center",sortable:!0},{prop:"actions",label:"操作",useSlot:!0,minWidth:200}]}}),G=l(!1),H=l("新建期数"),J=l(null),Y=o({issue_number:""});function Z(){H.value="新建期数",J.value=null,Object.assign(Y,{issue_number:"",status:void 0,sort:void 0}),G.value=!0}function ee(){return e(this,null,function*(){J.value?yield z(L,J.value,Y):yield I(L,Y),G.value=!1,yield q()})}return s(()=>e(this,null,function*(){q();try{"ichiban"===(yield V(L)).play_type&&w(L).then(e=>$.value=e).catch(()=>$.value=null)}catch(t){}n(()=>e(this,null,function*(){const{default:e}=yield import("./index-BoIUJTA2.js").then(e=>e.eT);return{default:e}}),__vite__mapDeps([0,1])).then(({default:e})=>{e.on("issue-prize-changed",e=>{e&&Number(e.activityId)===L&&q()})})})),(t,i)=>{const a=j,l=P,o=g,s=W,n=U,k=R,V=E,w=O;return u(),r("div",null,[m("div",S,[p(a,{type:"primary",onClick:Z},{default:d(()=>[...i[6]||(i[6]=[c("新建期数",-1)])]),_:1})]),p(x,{columns:f(N),"onUpdate:columns":i[0]||(i[0]=e=>v(N)?N.value=e:null),loading:f(F),onRefresh:f(q)},null,8,["columns","loading","onRefresh"]),p(y,{loading:f(F),data:f(M),columns:f(N),pagination:f(K),tableLayout:"auto","onPagination:sizeChange":f(Q),"onPagination:currentChange":f(X)},{status:d(({row:e})=>[p(l,{type:1===e.status?"success":3===e.status?"warning":"info"},{default:d(()=>[c(_(1===e.status?"进行中":3===e.status?"未开始":"下线"),1)]),_:2},1032,["type"])]),actions:d(({row:t})=>[p(C,{icon:"ri:shuffle-line",onClick:e=>f(B).push({name:"RandomCommit",params:{activityId:f(L),issueId:t.id}}),title:"随机承诺"},null,8,["onClick"]),p(C,{icon:"ri:gift-line",onClick:e=>f(B).push({name:"ActivityRewards",params:{activityId:f(L),issueId:t.id}}),title:"奖励管理"},null,8,["onClick"]),p(C,{type:"edit",onClick:e=>function(e){H.value="编辑期数",J.value=e.id,Object.assign(Y,{issue_number:e.issue_number,status:e.status,sort:e.sort}),G.value=!0}(t)},null,8,["onClick"]),p(C,{type:"delete",onClick:i=>function(t){return e(this,null,function*(){var e,i,a;try{const e=M.value.find(e=>e.id===t),i=(null==e?void 0:e.issue_number)||"该期数";yield b.confirm(`确定要删除期数"${i}"吗?此操作不可恢复`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",beforeClose:(e,t,i)=>{"confirm"===e?(t.confirmButtonLoading=!0,i()):i()}}),yield T(L,t),h.success({message:`"${i}"已成功删除`,duration:3e3}),yield q()}catch(l){if("cancel"===l)return;const o=(null==(i=null==(e=null==l?void 0:l.response)?void 0:e.data)?void 0:i.message)||l.message||"删除失败",s=(null==(a=M.value.find(e=>e.id===t))?void 0:a.issue_number)||"该期数";h.error({message:`"${s}"删除失败:${o}`,duration:4e3})}})}(t.id)},null,8,["onClick"])]),_:1},8,["loading","data","columns","pagination","onPagination:sizeChange","onPagination:currentChange"]),p(w,{modelValue:f(G),"onUpdate:modelValue":i[5]||(i[5]=e=>v(G)?G.value=e:null),title:f(H),width:"480px"},{footer:d(()=>[p(a,{onClick:i[4]||(i[4]=e=>G.value=!1)},{default:d(()=>[...i[7]||(i[7]=[c("取消",-1)])]),_:1}),p(a,{type:"primary",onClick:ee},{default:d(()=>[...i[8]||(i[8]=[c("提交",-1)])]),_:1})]),default:d(()=>[p(V,{model:f(Y)},{default:d(()=>[p(s,{label:"期号"},{default:d(()=>[p(o,{modelValue:f(Y).issue_number,"onUpdate:modelValue":i[1]||(i[1]=e=>f(Y).issue_number=e)},null,8,["modelValue"])]),_:1}),p(s,{label:"状态"},{default:d(()=>[p(k,{modelValue:f(Y).status,"onUpdate:modelValue":i[2]||(i[2]=e=>f(Y).status=e),modelModifiers:{number:!0}},{default:d(()=>[p(n,{value:1,label:"进行中"}),p(n,{value:2,label:"下线"}),p(n,{value:3,label:"未开始"})]),_:1},8,["modelValue"])]),_:1}),p(s,{label:"排序"},{default:d(()=>[p(o,{modelValue:f(Y).sort,"onUpdate:modelValue":i[3]||(i[3]=e=>f(Y).sort=e),modelModifiers:{number:!0}},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}});export{B as default}; diff --git a/nginx/admin/assets/index-BF_swEeW.css b/nginx/admin/assets/index-BF_swEeW.css new file mode 100644 index 0000000..3af5dee --- /dev/null +++ b/nginx/admin/assets/index-BF_swEeW.css @@ -0,0 +1 @@ +/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */.button[data-v-4de94251]{margin-left:calc(var(--spacing,.25rem)*2);width:calc(var(--spacing,.25rem)*8);height:calc(var(--spacing,.25rem)*8);cursor:pointer;border-radius:var(--radius-md,.375rem);background-color:var(--color-g-300,var(--art-gray-300));justify-content:center;align-items:center;display:flex}@supports (color:color-mix(in lab,red,red)){.button[data-v-4de94251]{background-color:color-mix(in oklab,var(--color-g-300,var(--art-gray-300))55%,transparent)}}.button[data-v-4de94251]{color:var(--color-g-700,var(--art-gray-700))}@media (hover:hover){.button[data-v-4de94251]:hover{background-color:var(--color-g-300,var(--art-gray-300))}}@media (min-width:48rem){.button[data-v-4de94251]{margin-right:calc(var(--spacing,.25rem)*2.5);margin-left:calc(var(--spacing,.25rem)*0)}}.button[data-v-4de94251]:where(.dark,.dark *){background-color:var(--color-g-300,var(--art-gray-300))}@supports (color:color-mix(in lab,red,red)){.button[data-v-4de94251]:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-g-300,var(--art-gray-300))40%,transparent)}} diff --git a/nginx/admin/assets/index-BG9yZ82v.css b/nginx/admin/assets/index-BG9yZ82v.css new file mode 100644 index 0000000..eefd5fe --- /dev/null +++ b/nginx/admin/assets/index-BG9yZ82v.css @@ -0,0 +1 @@ +.layout-search[data-v-ed07ac8d] .search-modal{background-color:#0003}.layout-search[data-v-ed07ac8d] .el-dialog__body{padding:5px 0 0!important}.layout-search[data-v-ed07ac8d] .el-dialog__header{padding:0}.layout-search .el-input[data-v-ed07ac8d] .el-input__wrapper{background-color:var(--art-gray-200);border:1px solid var(--default-border-dashed);border-radius:calc(var(--custom-radius) / 2 + 2px)!important;box-shadow:none}.layout-search .el-input[data-v-ed07ac8d] .el-input__inner{color:var(--art-gray-800)!important}.dark .layout-search .el-input[data-v-ed07ac8d] .el-input__wrapper{background-color:#333;border:1px solid #4c4d50}.dark .layout-search[data-v-ed07ac8d] .search-modal{background-color:#17171a99;backdrop-filter:none}.dark .layout-search[data-v-ed07ac8d] .el-dialog{background-color:#252526}/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-ed07ac8d],[data-v-ed07ac8d]:before,[data-v-ed07ac8d]:after,[data-v-ed07ac8d]::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.keyboard[data-v-ed07ac8d]{margin-right:calc(var(--spacing,.25rem)*2);box-sizing:border-box;height:calc(var(--spacing,.25rem)*5);width:calc(var(--spacing,.25rem)*5.5);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-g-400,var(--art-gray-400));padding-inline:calc(var(--spacing,.25rem)*1);color:var(--color-g-500,var(--art-gray-500));--tw-shadow:0 2px 0 var(--tw-shadow-color,var(--default-border-dashed));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-radius:.25rem}.keyboard[data-v-ed07ac8d]:last-of-type{margin-right:calc(var(--spacing,.25rem)*1.5)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000} diff --git a/nginx/admin/assets/index-BMeOzN3u.js b/nginx/admin/assets/index-BMeOzN3u.js new file mode 100644 index 0000000..72b7c5f --- /dev/null +++ b/nginx/admin/assets/index-BMeOzN3u.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,i=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,s=(e,t)=>{for(var n in t||(t={}))o.call(t,n)&&i(e,n,t[n]);if(r)for(var n of r(t))a.call(t,n)&&i(e,n,t[n]);return e},l=(e,r)=>t(e,n(r));import{a8 as u,a0 as p,d as c,r as f,c as d,s as v,ae as g,a1 as m,a9 as h,l as y,b,e as w,m as x,q as O,p as R,at as A,bT as E,N as S,cf as j,cg as C,ao as T,I as B,ch as k,g as M,o as P,A as F,ci as L,h as D,i as I,w as _,a2 as H,as as $,cj as W,ar as q,bB as z,ca as U,aM as N,ck as V,cl as K,bd as Z,cm as X,cn as Y,az as G,_ as J,co as Q,af as ee,bZ as te,bv as ne,an as re,ay as oe,cp as ae,Z as ie,n as se,al as le,cq as ue,cr as pe,cs as ce,bt as fe,a3 as de,aj as ve,bS as ge,bC as me,ct as he,cu as ye,v as be}from"./index-BoIUJTA2.js";import{t as we,E as xe}from"./index-COyGylbk.js";import{u as Oe,a as Re}from"./index-Bq8lawOo.js";const Ae=Symbol("popper"),Ee=Symbol("popperContent"),Se=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],je=u({role:{type:String,values:Se,default:"tooltip"}}),Ce=c({name:"ElPopper",inheritAttrs:!1});var Te=p(c(l(s({},Ce),{props:je,setup(e,{expose:t}){const n=e,r={triggerRef:f(),popperInstanceRef:f(),contentRef:f(),referenceRef:f(),role:d(()=>n.role)};return t(r),g(Ae,r),(e,t)=>v(e.$slots,"default")}})),[["__file","popper.vue"]]);const Be=c({name:"ElPopperArrow",inheritAttrs:!1});var ke=p(c(l(s({},Be),{setup(e,{expose:t}){const n=m("popper"),{arrowRef:r,arrowStyle:o}=h(Ee,void 0);return y(()=>{r.value=void 0}),t({arrowRef:r}),(e,t)=>(w(),b("span",{ref_key:"arrowRef",ref:r,class:O(R(n).e("arrow")),style:x(R(o)),"data-popper-arrow":""},null,6))}})),[["__file","arrow.vue"]]);const Me=u({virtualRef:{type:A(Object)},virtualTriggering:Boolean,onMouseenter:{type:A(Function)},onMouseleave:{type:A(Function)},onClick:{type:A(Function)},onKeydown:{type:A(Function)},onFocus:{type:A(Function)},onBlur:{type:A(Function)},onContextmenu:{type:A(Function)},id:String,open:Boolean}),Pe=Symbol("elForwardRef"),Fe=c({name:"ElOnlyChild",setup(e,{slots:t,attrs:n}){var r;const o=h(Pe),a=(i=null!=(r=null==o?void 0:o.setForwardRef)?r:E,{mounted(e){i(e)},updated(e){i(e)},unmounted(){i(null)}});var i;return()=>{var e;const r=null==(e=t.default)?void 0:e.call(t,n);if(!r)return null;const[o,i]=Le(r);return o?S(j(o,n),[[a]]):null}}});function Le(e){if(!e)return[null,0];const t=e,n=t.filter(e=>e.type!==C).length;for(const r of t){if(T(r))switch(r.type){case C:continue;case k:case"svg":return[De(r),n];case B:return Le(r.children);default:return[r,n]}return[De(r),n]}return[null,0]}function De(e){const t=m("only-child");return M("span",{class:t.e("content")},[e])}const Ie=c({name:"ElPopperTrigger",inheritAttrs:!1});var _e=p(c(l(s({},Ie),{props:Me,setup(e,{expose:t}){const n=e,{role:r,triggerRef:o}=h(Ae,void 0);var a;a=o,g(Pe,{setForwardRef:e=>{a.value=e}});const i=d(()=>l.value?n.id:void 0),s=d(()=>{if(r&&"tooltip"===r.value)return n.open&&n.id?n.id:void 0}),l=d(()=>{if(r&&"tooltip"!==r.value)return r.value}),u=d(()=>l.value?`${n.open}`:void 0);let p;const c=["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"];return P(()=>{F(()=>n.virtualRef,e=>{e&&(o.value=$(e))},{immediate:!0}),F(o,(e,t)=>{null==p||p(),p=void 0,L(e)&&(c.forEach(r=>{var o;const a=n[r];a&&(e.addEventListener(r.slice(2).toLowerCase(),a,["onFocus","onBlur"].includes(r)),null==(o=null==t?void 0:t.removeEventListener)||o.call(t,r.slice(2).toLowerCase(),a,["onFocus","onBlur"].includes(r)))}),W(e)&&(p=F([i,s,l,u],t=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((n,r)=>{q(t[r])?e.removeAttribute(n):e.setAttribute(n,t[r])})},{immediate:!0}))),L(t)&&W(t)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(e=>t.removeAttribute(e))},{immediate:!0})}),y(()=>{if(null==p||p(),p=void 0,o.value&&L(o.value)){const e=o.value;c.forEach(t=>{const r=n[t];r&&e.removeEventListener(t.slice(2).toLowerCase(),r,["onFocus","onBlur"].includes(t))}),o.value=void 0}}),t({triggerRef:o}),(e,t)=>e.virtualTriggering?I("v-if",!0):(w(),D(R(Fe),H({key:0},e.$attrs,{"aria-controls":R(i),"aria-describedby":R(s),"aria-expanded":R(u),"aria-haspopup":R(l)}),{default:_(()=>[v(e.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}})),[["__file","trigger.vue"]]),He="top",$e="bottom",We="right",qe="left",ze="auto",Ue=[He,$e,We,qe],Ne="start",Ve="end",Ke="viewport",Ze="popper",Xe=Ue.reduce(function(e,t){return e.concat([t+"-"+Ne,t+"-"+Ve])},[]),Ye=[].concat(Ue,[ze]).reduce(function(e,t){return e.concat([t,t+"-"+Ne,t+"-"+Ve])},[]),Ge=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Je(e){return e?(e.nodeName||"").toLowerCase():null}function Qe(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function et(e){return e instanceof Qe(e).Element||e instanceof Element}function tt(e){return e instanceof Qe(e).HTMLElement||e instanceof HTMLElement}function nt(e){return"undefined"!=typeof ShadowRoot&&(e instanceof Qe(e).ShadowRoot||e instanceof ShadowRoot)}var rt={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];!tt(o)||!Je(o)||(Object.assign(o.style,n),Object.keys(r).forEach(function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)}))})},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(e){var r=t.elements[e],o=t.attributes[e]||{},a=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce(function(e,t){return e[t]="",e},{});!tt(r)||!Je(r)||(Object.assign(r.style,a),Object.keys(o).forEach(function(e){r.removeAttribute(e)}))})}},requires:["computeStyles"]};function ot(e){return e.split("-")[0]}var at=Math.max,it=Math.min,st=Math.round;function lt(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect(),r=1,o=1;if(tt(e)&&t){var a=e.offsetHeight,i=e.offsetWidth;i>0&&(r=st(n.width)/i||1),a>0&&(o=st(n.height)/a||1)}return{width:n.width/r,height:n.height/o,top:n.top/o,right:n.right/r,bottom:n.bottom/o,left:n.left/r,x:n.left/r,y:n.top/o}}function ut(e){var t=lt(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function pt(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&nt(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function ct(e){return Qe(e).getComputedStyle(e)}function ft(e){return["table","td","th"].indexOf(Je(e))>=0}function dt(e){return((et(e)?e.ownerDocument:e.document)||window.document).documentElement}function vt(e){return"html"===Je(e)?e:e.assignedSlot||e.parentNode||(nt(e)?e.host:null)||dt(e)}function gt(e){return tt(e)&&"fixed"!==ct(e).position?e.offsetParent:null}function mt(e){for(var t=Qe(e),n=gt(e);n&&ft(n)&&"static"===ct(n).position;)n=gt(n);return n&&("html"===Je(n)||"body"===Je(n)&&"static"===ct(n).position)?t:n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&tt(e)&&"fixed"===ct(e).position)return null;var n=vt(e);for(nt(n)&&(n=n.host);tt(n)&&["html","body"].indexOf(Je(n))<0;){var r=ct(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t}function ht(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function yt(e,t,n){return at(e,it(t,n))}function bt(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function wt(e,t){return t.reduce(function(t,n){return t[n]=e,t},{})}var xt={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,a=n.elements.arrow,i=n.modifiersData.popperOffsets,s=ot(n.placement),l=ht(s),u=[qe,We].indexOf(s)>=0?"height":"width";if(a&&i){var p=function(e,t){return bt("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:wt(e,Ue))}(o.padding,n),c=ut(a),f="y"===l?He:qe,d="y"===l?$e:We,v=n.rects.reference[u]+n.rects.reference[l]-i[l]-n.rects.popper[u],g=i[l]-n.rects.reference[l],m=mt(a),h=m?"y"===l?m.clientHeight||0:m.clientWidth||0:0,y=v/2-g/2,b=p[f],w=h-c[u]-p[d],x=h/2-c[u]/2+y,O=yt(b,x,w),R=l;n.modifiersData[r]=((t={})[R]=O,t.centerOffset=O-x,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||!pt(t.elements.popper,r)||(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ot(e){return e.split("-")[1]}var Rt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function At(e){var t,n=e.popper,r=e.popperRect,o=e.placement,a=e.variation,i=e.offsets,s=e.position,l=e.gpuAcceleration,u=e.adaptive,p=e.roundOffsets,c=e.isFixed,f=i.x,d=void 0===f?0:f,v=i.y,g=void 0===v?0:v,m="function"==typeof p?p({x:d,y:g}):{x:d,y:g};d=m.x,g=m.y;var h=i.hasOwnProperty("x"),y=i.hasOwnProperty("y"),b=qe,w=He,x=window;if(u){var O=mt(n),R="clientHeight",A="clientWidth";if(O===Qe(n)&&("static"!==ct(O=dt(n)).position&&"absolute"===s&&(R="scrollHeight",A="scrollWidth")),o===He||(o===qe||o===We)&&a===Ve)w=$e,g-=(c&&O===x&&x.visualViewport?x.visualViewport.height:O[R])-r.height,g*=l?1:-1;if(o===qe||(o===He||o===$e)&&a===Ve)b=We,d-=(c&&O===x&&x.visualViewport?x.visualViewport.width:O[A])-r.width,d*=l?1:-1}var E,S=Object.assign({position:s},u&&Rt),j=!0===p?function(e){var t=e.x,n=e.y,r=window.devicePixelRatio||1;return{x:st(t*r)/r||0,y:st(n*r)/r||0}}({x:d,y:g}):{x:d,y:g};return d=j.x,g=j.y,l?Object.assign({},S,((E={})[w]=y?"0":"",E[b]=h?"0":"",E.transform=(x.devicePixelRatio||1)<=1?"translate("+d+"px, "+g+"px)":"translate3d("+d+"px, "+g+"px, 0)",E)):Object.assign({},S,((t={})[w]=y?g+"px":"",t[b]=h?d+"px":"",t.transform="",t))}var Et={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=void 0===r||r,a=n.adaptive,i=void 0===a||a,s=n.roundOffsets,l=void 0===s||s,u={placement:ot(t.placement),variation:Ot(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,At(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:i,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,At(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},St={passive:!0};var jt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,a=void 0===o||o,i=r.resize,s=void 0===i||i,l=Qe(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&u.forEach(function(e){e.addEventListener("scroll",n.update,St)}),s&&l.addEventListener("resize",n.update,St),function(){a&&u.forEach(function(e){e.removeEventListener("scroll",n.update,St)}),s&&l.removeEventListener("resize",n.update,St)}},data:{}},Ct={left:"right",right:"left",bottom:"top",top:"bottom"};function Tt(e){return e.replace(/left|right|bottom|top/g,function(e){return Ct[e]})}var Bt={start:"end",end:"start"};function kt(e){return e.replace(/start|end/g,function(e){return Bt[e]})}function Mt(e){var t=Qe(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Pt(e){return lt(dt(e)).left+Mt(e).scrollLeft}function Ft(e){var t=ct(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function Lt(e){return["html","body","#document"].indexOf(Je(e))>=0?e.ownerDocument.body:tt(e)&&Ft(e)?e:Lt(vt(e))}function Dt(e,t){var n;void 0===t&&(t=[]);var r=Lt(e),o=r===(null==(n=e.ownerDocument)?void 0:n.body),a=Qe(r),i=o?[a].concat(a.visualViewport||[],Ft(r)?r:[]):r,s=t.concat(i);return o?s:s.concat(Dt(vt(i)))}function It(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function _t(e,t){return t===Ke?It(function(e){var t=Qe(e),n=dt(e),r=t.visualViewport,o=n.clientWidth,a=n.clientHeight,i=0,s=0;return r&&(o=r.width,a=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(i=r.offsetLeft,s=r.offsetTop)),{width:o,height:a,x:i+Pt(e),y:s}}(e)):et(t)?function(e){var t=lt(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):It(function(e){var t,n=dt(e),r=Mt(e),o=null==(t=e.ownerDocument)?void 0:t.body,a=at(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),i=at(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),s=-r.scrollLeft+Pt(e),l=-r.scrollTop;return"rtl"===ct(o||n).direction&&(s+=at(n.clientWidth,o?o.clientWidth:0)-a),{width:a,height:i,x:s,y:l}}(dt(e)))}function Ht(e,t,n){var r="clippingParents"===t?function(e){var t=Dt(vt(e)),n=["absolute","fixed"].indexOf(ct(e).position)>=0&&tt(e)?mt(e):e;return et(n)?t.filter(function(e){return et(e)&&pt(e,n)&&"body"!==Je(e)}):[]}(e):[].concat(t),o=[].concat(r,[n]),a=o[0],i=o.reduce(function(t,n){var r=_t(e,n);return t.top=at(r.top,t.top),t.right=it(r.right,t.right),t.bottom=it(r.bottom,t.bottom),t.left=at(r.left,t.left),t},_t(e,a));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function $t(e){var t,n=e.reference,r=e.element,o=e.placement,a=o?ot(o):null,i=o?Ot(o):null,s=n.x+n.width/2-r.width/2,l=n.y+n.height/2-r.height/2;switch(a){case He:t={x:s,y:n.y-r.height};break;case $e:t={x:s,y:n.y+n.height};break;case We:t={x:n.x+n.width,y:l};break;case qe:t={x:n.x-r.width,y:l};break;default:t={x:n.x,y:n.y}}var u=a?ht(a):null;if(null!=u){var p="y"===u?"height":"width";switch(i){case Ne:t[u]=t[u]-(n[p]/2-r[p]/2);break;case Ve:t[u]=t[u]+(n[p]/2-r[p]/2)}}return t}function Wt(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=void 0===r?e.placement:r,a=n.boundary,i=void 0===a?"clippingParents":a,s=n.rootBoundary,l=void 0===s?Ke:s,u=n.elementContext,p=void 0===u?Ze:u,c=n.altBoundary,f=void 0!==c&&c,d=n.padding,v=void 0===d?0:d,g=bt("number"!=typeof v?v:wt(v,Ue)),m=p===Ze?"reference":Ze,h=e.rects.popper,y=e.elements[f?m:p],b=Ht(et(y)?y:y.contextElement||dt(e.elements.popper),i,l),w=lt(e.elements.reference),x=$t({reference:w,element:h,placement:o}),O=It(Object.assign({},h,x)),R=p===Ze?O:w,A={top:b.top-R.top+g.top,bottom:R.bottom-b.bottom+g.bottom,left:b.left-R.left+g.left,right:R.right-b.right+g.right},E=e.modifiersData.offset;if(p===Ze&&E){var S=E[o];Object.keys(A).forEach(function(e){var t=[We,$e].indexOf(e)>=0?1:-1,n=[He,$e].indexOf(e)>=0?"y":"x";A[e]+=S[n]*t})}return A}var qt={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,a=void 0===o||o,i=n.altAxis,s=void 0===i||i,l=n.fallbackPlacements,u=n.padding,p=n.boundary,c=n.rootBoundary,f=n.altBoundary,d=n.flipVariations,v=void 0===d||d,g=n.allowedAutoPlacements,m=t.options.placement,h=ot(m),y=l||(h===m||!v?[Tt(m)]:function(e){if(ot(e)===ze)return[];var t=Tt(e);return[kt(e),t,kt(t)]}(m)),b=[m].concat(y).reduce(function(e,n){return e.concat(ot(n)===ze?function(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,a=n.rootBoundary,i=n.padding,s=n.flipVariations,l=n.allowedAutoPlacements,u=void 0===l?Ye:l,p=Ot(r),c=p?s?Xe:Xe.filter(function(e){return Ot(e)===p}):Ue,f=c.filter(function(e){return u.indexOf(e)>=0});0===f.length&&(f=c);var d=f.reduce(function(t,n){return t[n]=Wt(e,{placement:n,boundary:o,rootBoundary:a,padding:i})[ot(n)],t},{});return Object.keys(d).sort(function(e,t){return d[e]-d[t]})}(t,{placement:n,boundary:p,rootBoundary:c,padding:u,flipVariations:v,allowedAutoPlacements:g}):n)},[]),w=t.rects.reference,x=t.rects.popper,O=new Map,R=!0,A=b[0],E=0;E=0,B=T?"width":"height",k=Wt(t,{placement:S,boundary:p,rootBoundary:c,altBoundary:f,padding:u}),M=T?C?We:qe:C?$e:He;w[B]>x[B]&&(M=Tt(M));var P=Tt(M),F=[];if(a&&F.push(k[j]<=0),s&&F.push(k[M]<=0,k[P]<=0),F.every(function(e){return e})){A=S,R=!1;break}O.set(S,F)}if(R)for(var L=function(e){var t=b.find(function(t){var n=O.get(t);if(n)return n.slice(0,e).every(function(e){return e})});if(t)return A=t,"break"},D=v?3:1;D>0;D--){if("break"===L(D))break}t.placement!==A&&(t.modifiersData[r]._skip=!0,t.placement=A,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function zt(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Ut(e){return[He,We,$e,qe].some(function(t){return e[t]>=0})}var Nt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,a=t.modifiersData.preventOverflow,i=Wt(t,{elementContext:"reference"}),s=Wt(t,{altBoundary:!0}),l=zt(i,r),u=zt(s,o,a),p=Ut(l),c=Ut(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:p,hasPopperEscaped:c},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":c})}};var Vt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.offset,a=void 0===o?[0,0]:o,i=Ye.reduce(function(e,n){return e[n]=function(e,t,n){var r=ot(e),o=[qe,He].indexOf(r)>=0?-1:1,a="function"==typeof n?n(Object.assign({},t,{placement:e})):n,i=a[0],s=a[1];return i=i||0,s=(s||0)*o,[qe,We].indexOf(r)>=0?{x:s,y:i}:{x:i,y:s}}(n,t.rects,a),e},{}),s=i[t.placement],l=s.x,u=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[r]=i}};var Kt={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=$t({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})},data:{}};var Zt={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,a=void 0===o||o,i=n.altAxis,s=void 0!==i&&i,l=n.boundary,u=n.rootBoundary,p=n.altBoundary,c=n.padding,f=n.tether,d=void 0===f||f,v=n.tetherOffset,g=void 0===v?0:v,m=Wt(t,{boundary:l,rootBoundary:u,padding:c,altBoundary:p}),h=ot(t.placement),y=Ot(t.placement),b=!y,w=ht(h),x=function(e){return"x"===e?"y":"x"}(w),O=t.modifiersData.popperOffsets,R=t.rects.reference,A=t.rects.popper,E="function"==typeof g?g(Object.assign({},t.rects,{placement:t.placement})):g,S="number"==typeof E?{mainAxis:E,altAxis:E}:Object.assign({mainAxis:0,altAxis:0},E),j=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,C={x:0,y:0};if(O){if(a){var T,B="y"===w?He:qe,k="y"===w?$e:We,M="y"===w?"height":"width",P=O[w],F=P+m[B],L=P-m[k],D=d?-A[M]/2:0,I=y===Ne?R[M]:A[M],_=y===Ne?-A[M]:-R[M],H=t.elements.arrow,$=d&&H?ut(H):{width:0,height:0},W=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},q=W[B],z=W[k],U=yt(0,R[M],$[M]),N=b?R[M]/2-D-U-q-S.mainAxis:I-U-q-S.mainAxis,V=b?-R[M]/2+D+U+z+S.mainAxis:_+U+z+S.mainAxis,K=t.elements.arrow&&mt(t.elements.arrow),Z=K?"y"===w?K.clientTop||0:K.clientLeft||0:0,X=null!=(T=null==j?void 0:j[w])?T:0,Y=P+V-X,G=yt(d?it(F,P+N-X-Z):F,P,d?at(L,Y):L);O[w]=G,C[w]=G-P}if(s){var J,Q="x"===w?He:qe,ee="x"===w?$e:We,te=O[x],ne="y"===x?"height":"width",re=te+m[Q],oe=te-m[ee],ae=-1!==[He,qe].indexOf(h),ie=null!=(J=null==j?void 0:j[x])?J:0,se=ae?re:te-R[ne]-A[ne]-ie+S.altAxis,le=ae?te+R[ne]+A[ne]-ie-S.altAxis:oe,ue=d&&ae?function(e,t,n){var r=yt(e,t,n);return r>n?n:r}(se,te,le):yt(d?se:re,te,d?le:oe);O[x]=ue,C[x]=ue-te}t.modifiersData[r]=C}},requiresIfExists:["offset"]};function Xt(e,t,n){void 0===n&&(n=!1);var r=tt(t),o=tt(t)&&function(e){var t=e.getBoundingClientRect(),n=st(t.width)/e.offsetWidth||1,r=st(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(t),a=dt(t),i=lt(e,o),s={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&(("body"!==Je(t)||Ft(a))&&(s=function(e){return e!==Qe(e)&&tt(e)?function(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):Mt(e)}(t)),tt(t)?((l=lt(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):a&&(l.x=Pt(a))),{x:i.left+s.scrollLeft-l.x,y:i.top+s.scrollTop-l.y,width:i.width,height:i.height}}function Yt(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}}),r.push(e)}return e.forEach(function(e){t.set(e.name,e)}),e.forEach(function(e){n.has(e.name)||o(e)}),r}function Gt(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}var Jt={placement:"bottom",modifiers:[],strategy:"absolute"};function Qt(){for(var e=arguments.length,t=new Array(e),n=0;n({})},strategy:{type:String,values:["fixed","absolute"],default:"absolute"}}),on=u(s(l(s(s({},rn),nn),{id:String,style:{type:A([String,Array,Object])},className:{type:A([String,Array,Object])},effect:{type:A(String),default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:Boolean,trapping:Boolean,popperClass:{type:A([String,Array,Object])},popperStyle:{type:A([String,Array,Object])},referenceEl:{type:A(Object)},triggerTargetEl:{type:A(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number}),z(["ariaLabel"]))),an={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0};function sn(e){const{offset:t,gpuAcceleration:n,fallbackPlacements:r}=e;return[{name:"offset",options:{offset:[0,null!=t?t:12]}},{name:"preventOverflow",options:{padding:{top:0,bottom:0,left:0,right:0}}},{name:"flip",options:{padding:5,fallbackPlacements:r}},{name:"computeStyles",options:{gpuAcceleration:n}}]}const ln=(e,t,n={})=>{const r={name:"updateState",enabled:!0,phase:"write",fn:({state:e})=>{const t=function(e){const t=Object.keys(e.elements),n=V(t.map(t=>[t,e.styles[t]||{}])),r=V(t.map(t=>[t,e.attributes[t]]));return{styles:n,attributes:r}}(e);Object.assign(i.value,t)},requires:["computeStyles"]},o=d(()=>{const{onFirstUpdate:e,placement:t,strategy:o,modifiers:a}=R(n);return{onFirstUpdate:e,placement:t||"bottom",strategy:o||"absolute",modifiers:[...a||[],r,{name:"applyStyles",enabled:!1}]}}),a=N(),i=f({styles:{popper:{position:R(o).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),l=()=>{a.value&&(a.value.destroy(),a.value=void 0)};return F(o,e=>{const t=R(a);t&&t.setOptions(e)},{deep:!0}),F([e,t],([e,t])=>{l(),e&&t&&(a.value=tn(e,t,R(o)))}),y(()=>{l()}),{state:d(()=>{var e;return s({},(null==(e=R(a))?void 0:e.state)||{})}),styles:d(()=>R(i).styles),attributes:d(()=>R(i).attributes),update:()=>{var e;return null==(e=R(a))?void 0:e.update()},forceUpdate:()=>{var e;return null==(e=R(a))?void 0:e.forceUpdate()},instanceRef:d(()=>R(a))}};const un=e=>{const{popperInstanceRef:t,contentRef:n,triggerRef:r,role:o}=h(Ae,void 0),a=f(),i=d(()=>e.arrowOffset),u=d(()=>({name:"eventListeners",enabled:!!e.visible})),p=d(()=>{var e;const t=R(a),n=null!=(e=R(i))?e:0;return{name:"arrow",enabled:(r=t,!(void 0===r)),options:{element:t,padding:n}};var r}),c=d(()=>s({onFirstUpdate:()=>{b()}},((e,t=[])=>{const{placement:n,strategy:r,popperOptions:o}=e,a=l(s({placement:n,strategy:r},o),{modifiers:[...sn(e),...t]});return function(e,t){t&&(e.modifiers=[...e.modifiers,...null!=t?t:[]])}(a,null==o?void 0:o.modifiers),a})(e,[R(p),R(u)]))),v=d(()=>(e=>{if(U)return $(e)})(e.referenceEl)||R(r)),{attributes:g,state:m,styles:y,update:b,forceUpdate:w,instanceRef:x}=ln(v,n,c);return F(x,e=>t.value=e,{flush:"sync"}),P(()=>{F(()=>{var e,t;return null==(t=null==(e=R(v))?void 0:e.getBoundingClientRect)?void 0:t.call(e)},()=>{b()})}),{attributes:g,arrowRef:a,contentRef:n,instanceRef:x,state:m,styles:y,role:o,forceUpdate:w,update:b}},pn=c({name:"ElPopperContent"});var cn=p(c(l(s({},pn),{props:on,emits:an,setup(e,{expose:t,emit:n}){const r=e,{focusStartRef:o,trapped:a,onFocusAfterReleased:i,onFocusAfterTrapped:u,onFocusInTrap:p,onFocusoutPrevented:c,onReleaseRequested:x}=((e,t)=>{const n=f(!1),r=f();return{focusStartRef:r,trapped:n,onFocusAfterReleased:e=>{var n;"pointer"!==(null==(n=e.detail)?void 0:n.focusReason)&&(r.value="first",t("blur"))},onFocusAfterTrapped:()=>{t("focus")},onFocusInTrap:t=>{e.visible&&!n.value&&(t.target&&(r.value=t.target),n.value=!0)},onFocusoutPrevented:t=>{e.trapping||("pointer"===t.detail.focusReason&&t.preventDefault(),n.value=!1)},onReleaseRequested:()=>{n.value=!1,t("close")}}})(r,n),{attributes:O,arrowRef:A,contentRef:S,styles:j,instanceRef:C,role:T,update:B}=un(r),{ariaModal:k,arrowStyle:D,contentAttrs:I,contentClass:$,contentStyle:W,updateZIndex:z}=((e,{attributes:t,styles:n,role:r})=>{const{nextZIndex:o}=K(),a=m("popper"),i=d(()=>R(t).popper),s=f(Z(e.zIndex)?e.zIndex:o()),l=d(()=>[a.b(),a.is("pure",e.pure),a.is(e.effect),e.popperClass]),u=d(()=>[{zIndex:R(s)},R(n).popper,e.popperStyle||{}]);return{ariaModal:d(()=>"dialog"===r.value?"false":void 0),arrowStyle:d(()=>R(n).arrow||{}),contentAttrs:i,contentClass:l,contentStyle:u,contentZIndex:s,updateZIndex:()=>{s.value=Z(e.zIndex)?e.zIndex:o()}}})(r,{styles:j,attributes:O,role:T}),U=h(X,void 0);let N;g(Ee,{arrowStyle:D,arrowRef:A}),U&&g(X,l(s({},U),{addInputId:E,removeInputId:E}));const V=(e=!0)=>{B(),e&&z()},G=()=>{V(!1),r.visible&&r.focusOnShow?a.value=!0:!1===r.visible&&(a.value=!1)};return P(()=>{F(()=>r.triggerTargetEl,(e,t)=>{null==N||N(),N=void 0;const n=R(e||S.value),o=R(t||S.value);L(n)&&(N=F([T,()=>r.ariaLabel,k,()=>r.id],e=>{["role","aria-label","aria-modal","id"].forEach((t,r)=>{q(e[r])?n.removeAttribute(t):n.setAttribute(t,e[r])})},{immediate:!0})),o!==n&&L(o)&&["role","aria-label","aria-modal","id"].forEach(e=>{o.removeAttribute(e)})},{immediate:!0}),F(()=>r.visible,G,{immediate:!0})}),y(()=>{null==N||N(),N=void 0}),t({popperContentRef:S,popperInstanceRef:C,updatePopper:V,contentStyle:W}),(e,t)=>(w(),b("div",H({ref_key:"contentRef",ref:S},R(I),{style:R(W),class:R($),tabindex:"-1",onMouseenter:t=>e.$emit("mouseenter",t),onMouseleave:t=>e.$emit("mouseleave",t)}),[M(R(Y),{trapped:R(a),"trap-on-focus-in":!0,"focus-trap-el":R(S),"focus-start-el":R(o),onFocusAfterTrapped:R(u),onFocusAfterReleased:R(i),onFocusin:R(p),onFocusoutPrevented:R(c),onReleaseRequested:R(x)},{default:_(()=>[v(e.$slots,"default")]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16,["onMouseenter","onMouseleave"]))}})),[["__file","content.vue"]]);const fn=G(Te),dn=Symbol("elTooltip"),vn=u(s(l(s(s({},Oe),on),{appendTo:{type:we.to.type},content:{type:String,default:""},rawContent:Boolean,persistent:Boolean,visible:{type:A(Boolean),default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean}),z(["ariaLabel"]))),gn=u(l(s({},Me),{disabled:Boolean,trigger:{type:A([String,Array]),default:"hover"},triggerKeys:{type:A(Array),default:()=>[J.enter,J.numpadEnter,J.space]},focusOnTarget:Boolean})),mn=Q({type:A(Boolean),default:null}),hn=Q({type:A(Function)}),{useModelToggleProps:yn,useModelToggleEmits:bn,useModelToggle:wn}=(e=>{const t=`update:${e}`,n=`onUpdate:${e}`,r=[t];return{useModelToggle:({indicator:r,toggleReason:o,shouldHideWhenRouteChanges:a,shouldProceed:i,onShow:l,onHide:u})=>{const p=ee(),{emit:c}=p,f=p.props,v=d(()=>te(f[n])),g=d(()=>null===f[e]),m=e=>{!0!==r.value&&(r.value=!0,o&&(o.value=e),te(l)&&l(e))},h=e=>{!1!==r.value&&(r.value=!1,o&&(o.value=e),te(u)&&u(e))},y=e=>{if(!0===f.disabled||te(i)&&!i())return;const n=v.value&&U;n&&c(t,!0),!g.value&&n||m(e)},b=e=>{if(!0===f.disabled||!U)return;const n=v.value&&U;n&&c(t,!1),!g.value&&n||h(e)},w=e=>{ne(e)&&(f.disabled&&e?v.value&&c(t,!1):r.value!==e&&(e?m():h()))};return F(()=>f[e],w),a&&void 0!==p.appContext.config.globalProperties.$route&&F(()=>s({},p.proxy.$route),()=>{a.value&&r.value&&b()}),P(()=>{w(f[e])}),{hide:b,show:y,toggle:()=>{r.value?b():y()},hasUpdateHandler:v}},useModelToggleProps:{[e]:mn,[n]:hn},useModelToggleEmits:r}})("visible"),xn=u(l(s(s(s(s(s({},je),yn),vn),gn),nn),{showArrow:{type:Boolean,default:!0}})),On=[...bn,"before-show","before-hide","show","hide","open","close"],Rn=(e,t,n)=>r=>{((e,t)=>re(e)?e.includes(t):e===t)(R(e),t)&&n(r)},An=c({name:"ElTooltipTrigger"});var En=p(c(l(s({},An),{props:gn,setup(e,{expose:t}){const n=e,r=m("tooltip"),{controlled:o,id:a,open:i,onOpen:s,onClose:l,onToggle:u}=h(dn,void 0),p=f(null),c=()=>{if(R(o)||n.disabled)return!0},d=oe(n,"trigger"),g=ae(c,Rn(d,"hover",e=>{s(e),n.focusOnTarget&&e.target&&se(()=>{le(e.target,{preventScroll:!0})})})),y=ae(c,Rn(d,"hover",l)),b=ae(c,Rn(d,"click",e=>{0===e.button&&u(e)})),x=ae(c,Rn(d,"focus",s)),A=ae(c,Rn(d,"focus",l)),E=ae(c,Rn(d,"contextmenu",e=>{e.preventDefault(),u(e)})),S=ae(c,e=>{const t=ie(e);n.triggerKeys.includes(t)&&(e.preventDefault(),u(e))});return t({triggerRef:p}),(e,t)=>(w(),D(R(_e),{id:R(a),"virtual-ref":e.virtualRef,open:R(i),"virtual-triggering":e.virtualTriggering,class:O(R(r).e("trigger")),onBlur:R(A),onClick:R(b),onContextmenu:R(E),onFocus:R(x),onMouseenter:R(g),onMouseleave:R(y),onKeydown:R(S)},{default:_(()=>[v(e.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}})),[["__file","trigger.vue"]]);const Sn=()=>{const e=pe(),t=ce(),n=d(()=>`${e.value}-popper-container-${t.prefix}`),r=d(()=>`#${n.value}`);return{id:n,selector:r}},jn=()=>{const{id:e,selector:t}=Sn();return ue(()=>{U&&(document.body.querySelector(t.value)||(e=>{const t=document.createElement("div");t.id=e,document.body.appendChild(t)})(e.value))}),{id:e,selector:t}},Cn=e=>[...new Set(e)],Tn=e=>re(e)?e[0]:e,Bn=e=>e||0===e?re(e)?e:[e]:[],kn=c({name:"ElTooltipContent",inheritAttrs:!1});var Mn=p(c(l(s({},kn),{props:vn,setup(e,{expose:t}){const n=e,{selector:r}=Sn(),o=m("tooltip"),a=f(),i=fe(()=>{var e;return null==(e=a.value)?void 0:e.popperContentRef});let s;const{controlled:l,id:u,open:p,trigger:c,onClose:g,onOpen:b,onShow:x,onHide:O,onBeforeShow:A,onBeforeHide:E}=h(dn,void 0),j=d(()=>n.transition||`${o.namespace.value}-fade-in-linear`),C=d(()=>n.persistent);y(()=>{null==s||s()});const T=d(()=>!!R(C)||R(p)),B=d(()=>!n.disabled&&R(p)),k=d(()=>n.appendTo||r.value),P=d(()=>{var e;return null!=(e=n.style)?e:{}}),L=f(!0),$=()=>{O(),Z()&&le(document.body,{preventScroll:!0}),L.value=!0},W=()=>{if(R(l))return!0},q=ae(W,()=>{n.enterable&&"hover"===R(c)&&b()}),z=ae(W,()=>{"hover"===R(c)&&g()}),U=()=>{var e,t;null==(t=null==(e=a.value)?void 0:e.updatePopper)||t.call(e),null==A||A()},N=()=>{null==E||E()},V=()=>{x()},K=()=>{n.virtualTriggering||g()},Z=e=>{var t;const n=null==(t=a.value)?void 0:t.popperContentRef,r=(null==e?void 0:e.relatedTarget)||document.activeElement;return null==n?void 0:n.contains(r)};return F(()=>R(p),e=>{e?(L.value=!1,s=ge(i,()=>{if(R(l))return;Bn(R(c)).every(e=>"hover"!==e&&"focus"!==e)&&g()})):null==s||s()},{flush:"post"}),F(()=>n.content,()=>{var e,t;null==(t=null==(e=a.value)?void 0:e.updatePopper)||t.call(e)}),t({contentRef:a,isFocusInsideContent:Z}),(e,t)=>(w(),D(R(xe),{disabled:!e.teleported,to:R(k)},{default:_(()=>[R(T)||!L.value?(w(),D(de,{key:0,name:R(j),appear:!R(C),onAfterLeave:$,onBeforeEnter:U,onAfterEnter:V,onBeforeLeave:N,persisted:""},{default:_(()=>[S(M(R(cn),H({id:R(u),ref_key:"contentRef",ref:a},e.$attrs,{"aria-label":e.ariaLabel,"aria-hidden":L.value,"boundaries-padding":e.boundariesPadding,"fallback-placements":e.fallbackPlacements,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,strategy:e.strategy,effect:e.effect,enterable:e.enterable,pure:e.pure,"popper-class":e.popperClass,"popper-style":[e.popperStyle,R(P)],"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,visible:R(B),"z-index":e.zIndex,onMouseenter:R(q),onMouseleave:R(z),onBlur:K,onClose:R(g)}),{default:_(()=>[v(e.$slots,"default")]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","arrow-offset","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","onMouseenter","onMouseleave","onClose"]),[[ve,R(B)]])]),_:3},8,["name","appear"])):I("v-if",!0)]),_:3},8,["disabled","to"]))}})),[["__file","content.vue"]]);const Pn=c({name:"ElTooltip"});const Fn=G(p(c(l(s({},Pn),{props:xn,emits:On,setup(e,{expose:t,emit:n}){const r=e;jn();const o=m("tooltip"),a=me(),i=f(),s=f(),l=()=>{var e;const t=R(i);t&&(null==(e=t.popperInstanceRef)||e.update())},u=f(!1),p=f(),{show:c,hide:h,hasUpdateHandler:y}=wn({indicator:u,toggleReason:p}),{onOpen:x,onClose:O}=Re({showAfter:oe(r,"showAfter"),hideAfter:oe(r,"hideAfter"),autoClose:oe(r,"autoClose"),open:c,close:h}),A=d(()=>ne(r.visible)&&!y.value),E=d(()=>[o.b(),r.popperClass]);g(dn,{controlled:A,id:a,open:he(u),trigger:oe(r,"trigger"),onOpen:x,onClose:O,onToggle:e=>{R(u)?O(e):x(e)},onShow:()=>{n("show",p.value)},onHide:()=>{n("hide",p.value)},onBeforeShow:()=>{n("before-show",p.value)},onBeforeHide:()=>{n("before-hide",p.value)},updatePopper:l}),F(()=>r.disabled,e=>{e&&u.value&&(u.value=!1)});return ye(()=>u.value&&h()),t({popperRef:i,contentRef:s,isFocusInsideContent:e=>{var t;return null==(t=s.value)?void 0:t.isFocusInsideContent(e)},updatePopper:l,onOpen:x,onClose:O,hide:h}),(e,t)=>(w(),D(R(fn),{ref_key:"popperRef",ref:i,role:e.role},{default:_(()=>[M(En,{disabled:e.disabled,trigger:e.trigger,"trigger-keys":e.triggerKeys,"virtual-ref":e.virtualRef,"virtual-triggering":e.virtualTriggering,"focus-on-target":e.focusOnTarget},{default:_(()=>[e.$slots.default?v(e.$slots,"default",{key:0}):I("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering","focus-on-target"]),M(Mn,{ref_key:"contentRef",ref:s,"aria-label":e.ariaLabel,"boundaries-padding":e.boundariesPadding,content:e.content,disabled:e.disabled,effect:e.effect,enterable:e.enterable,"fallback-placements":e.fallbackPlacements,"hide-after":e.hideAfter,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,persistent:e.persistent,"popper-class":R(E),"popper-style":e.popperStyle,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,pure:e.pure,"raw-content":e.rawContent,"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,"show-after":e.showAfter,strategy:e.strategy,teleported:e.teleported,transition:e.transition,"virtual-triggering":e.virtualTriggering,"z-index":e.zIndex,"append-to":e.appendTo},{default:_(()=>[v(e.$slots,"content",{},()=>[e.rawContent?(w(),b("span",{key:0,innerHTML:e.content},null,8,["innerHTML"])):(w(),b("span",{key:1},be(e.content),1))]),e.showArrow?(w(),D(R(ke),{key:0})):I("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","arrow-offset","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to"])]),_:3},8,["role"]))}})),[["__file","tooltip.vue"]]));export{Fn as E,Fe as O,Ye as a,gn as b,Bn as c,Cn as d,Tn as e,Se as r,vn as u}; diff --git a/nginx/admin/assets/index-BMeOzN3u.js.gz b/nginx/admin/assets/index-BMeOzN3u.js.gz new file mode 100644 index 0000000..1e40180 Binary files /dev/null and b/nginx/admin/assets/index-BMeOzN3u.js.gz differ diff --git a/nginx/admin/assets/index-BNSk_VsH.css b/nginx/admin/assets/index-BNSk_VsH.css new file mode 100644 index 0000000..3f2d027 --- /dev/null +++ b/nginx/admin/assets/index-BNSk_VsH.css @@ -0,0 +1 @@ +.page-container[data-v-a4a1a850]{padding:16px}.quick-actions[data-v-a4a1a850]{margin-bottom:16px}.quick-actions .el-button[data-v-a4a1a850]{margin-right:12px}.compact-actions[data-v-a4a1a850]{display:flex;align-items:center;gap:6px;white-space:nowrap}.compact-actions .el-button[data-v-a4a1a850]{padding:0 6px} diff --git a/nginx/admin/assets/index-BObA9rVr.js b/nginx/admin/assets/index-BObA9rVr.js new file mode 100644 index 0000000..18643e0 --- /dev/null +++ b/nginx/admin/assets/index-BObA9rVr.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,a=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,d=(t,a,o)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[a]=o;import{a0 as i,d as r,a1 as n,h as p,e as g,w as y,s as m,a2 as f,dR as h,p as c,a3 as v,az as w}from"./index-BoIUJTA2.js";const x=r({name:"ElCollapseTransition"}),H=r((b=((e,t)=>{for(var a in t||(t={}))s.call(t,a)&&d(e,a,t[a]);if(o)for(var a of o(t))l.call(t,a)&&d(e,a,t[a]);return e})({},x),t(b,a({setup(e){const t=n("collapse-transition"),a=e=>{e.style.maxHeight="",e.style.overflow=e.dataset.oldOverflow,e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom},o={beforeEnter(e){e.dataset||(e.dataset={}),e.dataset.oldPaddingTop=e.style.paddingTop,e.dataset.oldPaddingBottom=e.style.paddingBottom,e.style.height&&(e.dataset.elExistsHeight=e.style.height),e.style.maxHeight=0,e.style.paddingTop=0,e.style.paddingBottom=0},enter(e){requestAnimationFrame(()=>{e.dataset.oldOverflow=e.style.overflow,e.dataset.elExistsHeight?e.style.maxHeight=e.dataset.elExistsHeight:0!==e.scrollHeight?e.style.maxHeight=`${e.scrollHeight}px`:e.style.maxHeight=0,e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom,e.style.overflow="hidden"})},afterEnter(e){e.style.maxHeight="",e.style.overflow=e.dataset.oldOverflow},enterCancelled(e){a(e)},beforeLeave(e){e.dataset||(e.dataset={}),e.dataset.oldPaddingTop=e.style.paddingTop,e.dataset.oldPaddingBottom=e.style.paddingBottom,e.dataset.oldOverflow=e.style.overflow,e.style.maxHeight=`${e.scrollHeight}px`,e.style.overflow="hidden"},leave(e){0!==e.scrollHeight&&(e.style.maxHeight=0,e.style.paddingTop=0,e.style.paddingBottom=0)},afterLeave(e){a(e)},leaveCancelled(e){a(e)}};return(e,a)=>(g(),p(v,f({name:c(t).b()},h(o)),{default:y(()=>[m(e.$slots,"default")]),_:3},16,["name"]))}}))));var b;const O=w(i(H,[["__file","collapse-transition.vue"]]));export{O as E}; diff --git a/nginx/admin/assets/index-BRWPcNau.js b/nginx/admin/assets/index-BRWPcNau.js new file mode 100644 index 0000000..a5a4bb9 --- /dev/null +++ b/nginx/admin/assets/index-BRWPcNau.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,s=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,o=(t,s,a)=>s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[s]=a,i=(e,t)=>{for(var s in t||(t={}))l.call(t,s)&&o(e,s,t[s]);if(a)for(var s of a(t))r.call(t,s)&&o(e,s,t[s]);return e},n=(e,a)=>t(e,s(a));import{d as u,k as d,t as p,r as c,o as m,n as g,l as v,c as h,b as f,e as x,m as y,p as b,f as w,q as _,s as k,i as j,j as B,v as M,g as T,x as P,y as $,z as E,A as O,B as V,C as I,D as F,a as L,F as R,G as S,H as C,h as z,w as U,I as A,J as X,K as D,L as N,M as q,N as H,E as K,O as Q,P as Y,Q as G,R as J,S as W,T as Z}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css */import{_ as ee}from"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import{_ as te}from"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as se,a as ae}from"./LoginLeftView-DmcFsDtV.js";import{M as le}from"./md5-NkLrx3AN.js";import{E as re,a as oe}from"./index-BcfO0-fK.js";import{E as ie,a as ne}from"./index-D2gD5Tn5.js";import{E as ue}from"./index-D8nVJoNy.js";import"./iconify-DFoKediz.js";import"./el-dropdown-item-D7SYN_RE.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./dropdown-Dk_wSiK6.js";import"./castArray-nM8ho4U3.js";import"./refs-Cw5r5QN8.js";import"./useHeaderBar-B65RzJLX.js";import"./index-DVdhsH_J.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";const de=te(u(n(i({},{name:"ArtDragVerify"}),{__name:"index",props:{value:{type:Boolean,default:!1},width:{default:"100%"},height:{default:40},text:{default:"按住滑块拖动"},successText:{default:"success"},background:{default:"#eee"},progressBarBg:{default:"#1385FF"},completedBg:{default:"#57D187"},circle:{type:Boolean,default:!1},radius:{default:"calc(var(--custom-radius) / 3 + 2px)"},handlerIcon:{default:"solar:double-alt-arrow-right-linear"},successIcon:{default:"ri:check-fill"},handlerBg:{default:"#fff"},textSize:{default:"13px"},textColor:{default:"#333"}},emits:["handlerMove","update:value","passCallback"],setup(e,{expose:t,emit:s}){const a=s,l=e,r=d({isMoving:!1,x:0,isOk:!1}),{isOk:o}=p(r),i=c(),n=c(),u=c(),P=c();let $,E,O,V;const I=e=>{$=e.targetTouches[0].pageX,E=e.targetTouches[0].pageY},F=e=>{O=e.targetTouches[0].pageX,V=e.targetTouches[0].pageY,Math.abs(O-$)>Math.abs(V-E)&&e.preventDefault()};document.addEventListener("touchstart",I),document.addEventListener("touchmove",F,{passive:!1});const L=()=>{var e;return"string"==typeof l.width?(null==(e=i.value)?void 0:e.offsetWidth)||260:l.width};m(()=>{var e;null==(e=i.value)||e.style.setProperty("--textColor",l.textColor),g(()=>{var e,t;const s=L();null==(e=i.value)||e.style.setProperty("--width",Math.floor(s/2)+"px"),null==(t=i.value)||t.style.setProperty("--pwidth",-Math.floor(s/2)+"px")}),document.addEventListener("touchstart",I),document.addEventListener("touchmove",F,{passive:!1})}),v(()=>{document.removeEventListener("touchstart",I),document.removeEventListener("touchmove",F)});const R={left:"0",width:l.height+"px",height:l.height+"px",background:l.handlerBg},S=h(()=>({width:"string"==typeof l.width?l.width:l.width+"px",height:l.height+"px",lineHeight:l.height+"px",background:l.background,borderRadius:l.circle?l.height/2+"px":l.radius})),C={background:l.progressBarBg,height:l.height+"px",borderRadius:l.circle?l.height/2+"px 0 0 "+l.height/2+"px":l.radius},z=h(()=>({fontSize:l.textSize})),U=h(()=>l.value?l.successText:l.text),A=e=>{l.value||(r.isMoving=!0,u.value.style.transition="none",r.x=(e.pageX||e.touches[0].pageX)-parseInt(u.value.style.left.replace("px",""),10)),a("handlerMove")},X=e=>{if(r.isMoving&&!l.value){const t=L();let s=(e.pageX||e.touches[0].pageX)-r.x;s>0&&s<=t-l.height?(u.value.style.left=s+"px",P.value.style.width=s+l.height/2+"px"):s>t-l.height&&(u.value.style.left=t-l.height+"px",P.value.style.width=t-l.height/2+"px",N())}},D=e=>{if(r.isMoving&&!l.value){const t=L();(e.pageX||e.changedTouches[0].pageX)-r.x{a("update:value",!0),r.isMoving=!1,P.value.style.background=l.completedBg,n.value.style["-webkit-text-fill-color"]="unset",n.value.style.animation="slidetounlock2 2s cubic-bezier(0, 0.2, 1, 1) infinite",n.value.style.color="#fff",a("passCallback")};return t({reset:()=>{u.value.style.left="0",P.value.style.width="0",P.value.style.background=l.progressBarBg,n.value.style["-webkit-text-fill-color"]="transparent",n.value.style.animation="slidetounlock 2s cubic-bezier(0, 0.2, 1, 1) infinite",n.value.style.color=l.background,a("update:value",!1),r.isOk=!1,r.isMoving=!1,r.x=0}}),(t,s)=>{const a=ee;return x(),f("div",{ref_key:"dragVerify",ref:i,class:"drag_verify",style:y(b(S)),onMousemove:X,onMouseup:D,onMouseleave:D,onTouchmove:X,onTouchend:D},[w("div",{class:_(["dv_progress_bar",{goFirst2:b(o)}]),ref_key:"progressBar",ref:P,style:C},null,2),w("div",{class:"dv_text",style:y(b(z)),ref_key:"messageRef",ref:n},[t.$slots.textBefore?k(t.$slots,"textBefore",{key:0},void 0,!0):j("",!0),B(" "+M(b(U))+" ",1),t.$slots.textAfter?k(t.$slots,"textAfter",{key:1},void 0,!0):j("",!0)],4),w("div",{class:_(["dv_handler dv_handler_bg",{goFirst:b(o)}]),onMousedown:A,onTouchstart:A,ref_key:"handler",ref:u,style:R},[T(a,{icon:e.value?e.successIcon:e.handlerIcon,class:"text-g-600"},null,8,["icon"])],34)],36)}}})),[["__scopeId","data-v-471ea464"]]),pe={class:"flex w-full h-screen"},ce={class:"relative flex-1"},me={class:"auth-right-wrap"},ge={class:"form"},ve={class:"title"},he={class:"sub-title"},fe={class:"relative pb-5 mt-6"},xe={class:"flex-cb mt-2 text-sm"},ye={style:{"margin-top":"30px"}},be={class:"mt-5 text-sm text-gray-600"},we=te(u(n(i({},{name:"Login"}),{__name:"index",setup(e){const t=P(),{isDark:s}=$(t),{t:a,locale:l}=E(),r=c(0);O(l,()=>{r.value++});const o=h(()=>[{key:"super",label:a("login.roles.super"),userName:"Super",password:"123456",roles:["R_SUPER"]},{key:"admin",label:a("login.roles.admin"),userName:"Admin",password:"123456",roles:["R_ADMIN"]},{key:"user",label:a("login.roles.user"),userName:"User",password:"123456",roles:["R_USER"]}]),i=c(),n=V(),u=I(),p=c(!1),g=c(!1),v=F.systemInfo.name,y=c(),k=d({account:"",username:"",password:"",rememberPassword:!0}),j=h(()=>({username:[{required:!0,message:a("login.placeholder.username"),trigger:"blur"}],password:[{required:!0,message:a("login.placeholder.password"),trigger:"blur"}]})),ee=c(!1),te=L(),we=h(()=>te.query.redirect),_e=h(()=>we.value&&"/auth/login"!==we.value);m(()=>{ke("super"),_e.value&&R({title:a("login.sessionExpired.title"),message:a("login.sessionExpired.message"),type:"warning",duration:5e3,zIndex:1e4})});const ke=e=>{var t,s;const a=o.value.find(t=>t.key===e);k.account=e,k.username=null!=(t=null==a?void 0:a.userName)?t:"",k.password=null!=(s=null==a?void 0:a.password)?s:""},je=()=>{return e=this,t=null,s=function*(){if(y.value)try{if(!(yield y.value.validate()))return;if(!p.value)return void(g.value=!0);ee.value=!0;const{username:e,password:t}=k,{token:s,is_super:a}=yield G({userName:e,password:le(t).toString()});if(!s)throw new Error("Login failed - no token received");n.setToken(s);const l=yield J();n.setUserInfo(l),n.setLoginStatus(!0),Me(),we.value&&"/auth/login"!==we.value?u.push(we.value):u.push("/")}catch(e){e instanceof W?401===e.code||e.code:Z.error("登录失败,请稍后重试")}finally{ee.value=!1,Be()}},new Promise((a,l)=>{var r=e=>{try{i(s.next(e))}catch(t){l(t)}},o=e=>{try{i(s.throw(e))}catch(t){l(t)}},i=e=>e.done?a(e.value):Promise.resolve(e.value).then(r,o);i((s=s.apply(e,t)).next())});var e,t,s},Be=()=>{i.value.reset()},Me=()=>{setTimeout(()=>{R({title:a("login.success.title"),type:"success",duration:2500,zIndex:1e4,message:`${a("login.success.message")}, ${v}!`})},150)};return(e,t)=>{const a=se,l=ae,n=ne,u=ie,d=re,c=D,m=de,v=ue,h=S("RouterLink"),P=K,$=oe,E=C("ripple");return x(),f("div",pe,[T(a),w("div",ce,[T(l),w("div",me,[w("div",ge,[w("h3",ve,M(e.$t("login.title")),1),w("p",he,M(e.$t("login.subTitle")),1),(x(),z($,{ref_key:"formRef",ref:y,model:b(k),rules:b(j),key:b(r),onKeyup:Y(Q(je,["prevent"]),["enter"]),style:{"margin-top":"25px"}},{default:U(()=>[T(d,{prop:"account"},{default:U(()=>[T(u,{modelValue:b(k).account,"onUpdate:modelValue":t[0]||(t[0]=e=>b(k).account=e),onChange:ke},{default:U(()=>[(x(!0),f(A,null,X(b(o),e=>(x(),z(n,{key:e.key,label:e.label,value:e.key},{default:U(()=>[w("span",null,M(e.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),T(d,{prop:"username"},{default:U(()=>[T(c,{class:"custom-height",placeholder:e.$t("login.placeholder.username"),modelValue:b(k).username,"onUpdate:modelValue":t[1]||(t[1]=e=>b(k).username=e),modelModifiers:{trim:!0}},null,8,["placeholder","modelValue"])]),_:1}),T(d,{prop:"password"},{default:U(()=>[T(c,{class:"custom-height",placeholder:e.$t("login.placeholder.password"),modelValue:b(k).password,"onUpdate:modelValue":t[2]||(t[2]=e=>b(k).password=e),modelModifiers:{trim:!0},type:"password",autocomplete:"off","show-password":""},null,8,["placeholder","modelValue"])]),_:1}),w("div",fe,[w("div",{class:_(["relative z-[2] overflow-hidden select-none rounded-lg border border-transparent tad-300",{"!border-[#FF4E4F]":!b(p)&&b(g)}])},[T(m,{ref_key:"dragVerify",ref:i,value:b(p),"onUpdate:value":t[3]||(t[3]=e=>q(p)?p.value=e:null),text:e.$t("login.sliderText"),textColor:"var(--art-gray-700)",successText:e.$t("login.sliderSuccessText"),progressBarBg:b(N)("--el-color-primary"),background:b(s)?"#26272F":"#F1F1F4",handlerBg:"var(--default-box-color)"},null,8,["value","text","successText","progressBarBg","background"])],2),w("p",{class:_(["absolute top-0 z-[1] px-px mt-2 text-xs text-[#f56c6c] tad-300",{"translate-y-10":!b(p)&&b(g)}])},M(e.$t("login.placeholder.slider")),3)]),w("div",xe,[T(v,{modelValue:b(k).rememberPassword,"onUpdate:modelValue":t[4]||(t[4]=e=>b(k).rememberPassword=e)},{default:U(()=>[B(M(e.$t("login.rememberPwd")),1)]),_:1},8,["modelValue"]),T(h,{class:"text-theme",to:{name:"ForgetPassword"}},{default:U(()=>[B(M(e.$t("login.forgetPwd")),1)]),_:1})]),w("div",ye,[H((x(),z(P,{class:"w-full custom-height",type:"primary",onClick:Q(je,["prevent"]),loading:b(ee)},{default:U(()=>[B(M(e.$t("login.btnText")),1)]),_:1},8,["loading"])),[[E]])]),w("div",be,[w("span",null,M(e.$t("login.noAccount")),1),T(h,{class:"text-theme",to:{name:"Register"}},{default:U(()=>[B(M(e.$t("login.register")),1)]),_:1})])]),_:1},8,["model","rules","onKeyup"]))])])])])}}})),[["__scopeId","data-v-004f9a51"]]);export{we as default}; diff --git a/nginx/admin/assets/index-BRWPcNau.js.gz b/nginx/admin/assets/index-BRWPcNau.js.gz new file mode 100644 index 0000000..f18667b Binary files /dev/null and b/nginx/admin/assets/index-BRWPcNau.js.gz differ diff --git a/nginx/admin/assets/index-BWpRQH81.js b/nginx/admin/assets/index-BWpRQH81.js new file mode 100644 index 0000000..2164431 --- /dev/null +++ b/nginx/admin/assets/index-BWpRQH81.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Dp6_jxJi.js","assets/index-BoIUJTA2.js","assets/index-Bw_sWjGf.css","assets/index-B18-crhn.js","assets/index-COyGylbk.js","assets/use-dialog-FwJ-QdmW.js","assets/index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js","assets/iconify-DFoKediz.js","assets/index-rgHg98E6.js","assets/index-C_S0YbqD.js","assets/index-BnK4BbY2.js","assets/index-D2gD5Tn5.js","assets/index-BMeOzN3u.js","assets/index-Bq8lawOo.js","assets/index-Cp4NEpJ7.js","assets/index-ZsMdSUVI.js","assets/token-DWNpOE8r.js","assets/castArray-nM8ho4U3.js","assets/debounce-DQl5eUwG.js","assets/_baseIteratee-CtIat01j.js","assets/index-CXORCV4U.js","assets/_plugin-vue_export-helper-BCo6x5W8.js","assets/index-DVtb5Tyi.css","assets/el-drawer-BhCnIJJ3.css","assets/el-overlay-Db7iXMEX.css","assets/el-tag-DljBBxJR.css","assets/el-option-BHqzF8z9.css","assets/el-select-DdmnTlAY.css","assets/el-scrollbar-BWxh-h6K.css","assets/el-popper-D1i0e6ba.css","assets/el-input-tPmZxDKr.css","assets/el-input-number-D6iOyBgb.css","assets/el-switch-B5lTGWdM.css","assets/el-button-CDqfIFiK.css","assets/index-Ff-irW0T.js","assets/index-CjpBlozU.js","assets/refs-Cw5r5QN8.js","assets/index-BG9yZ82v.css","assets/el-dialog-DyK7vRzj.css","assets/index-CjYU62DD.js","assets/avatar-pR7-E1hl.js","assets/md5-NkLrx3AN.js","assets/index-BcfO0-fK.js","assets/_baseClone-Ct7RL6h5.js","assets/_initCloneObject-DRmC-q3t.js","assets/index-C-X4EYUc.css","assets/el-form-item-BWkJzdQ_.css","assets/index-XPiP-EBw.js","assets/avatar6-6Evj8BB9.js","assets/avatar10-Dom60BwY.js","assets/index-DvejFoOw.js","assets/el-avatar-BmRr_O8d.css","assets/index-BXlsxSsn.js","assets/index-DqKUCaTm.js"])))=>i.map(i=>d[i]); +var e=Object.defineProperty,t=Object.defineProperties,l=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,o=(t,l,a)=>l in t?e(t,l,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[l]=a,i=(e,t)=>{for(var l in t||(t={}))n.call(t,l)&&o(e,l,t[l]);if(a)for(var l of a(t))s.call(t,l)&&o(e,l,t[l]);return e},r=(e,a)=>t(e,l(a));import{Z as u,_ as c,$ as d,a0 as p,d as m,a1 as v,h,e as f,w as x,s as b,a2 as g,p as y,a3 as k,a4 as w,a5 as C,a6 as T,c as _,a7 as M,a8 as A,a9 as S,aa as I,r as L,ab as E,ac as O,ad as P,k as j,A as B,ae as W,af as z,o as N,l as D,ag as F,ah as R,ai as $,N as H,aj as X,I as q,ak as U,n as V,al as Y,am as Z,an as G,ao as K,Y as Q,ap as J,aq as ee,ar as te,as as le,at as ae,au as ne,av as se,aw as oe,ax as ie,ay as re,b as ue,f as ce,q as de,j as pe,v as me,az as ve,aA as he,aB as fe,aC as xe,aD as be,J as ge,aE as ye,x as ke,y as we,aF as Ce,aG as Te,aH as _e,aI as Me,m as Ae,i as Se,g as Ie,aJ as Le,aK as Ee,a as Oe,aL as Pe,aM as je,G as Be,aN as We,aO as ze,z as Ne,H as De,O as Fe,E as Re,U as $e,aP as He,B as Xe,C as qe,aQ as Ue,u as Ve,aR as Ye,aS as Ze,D as Ge,aT as Ke,aU as Qe,aV as Je,aW as et,aX as tt,aY as lt,aZ as at,V as nt,W as st,M as ot,a_ as it,a$ as rt}from"./index-BoIUJTA2.js";import{_ as ut}from"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";/* empty css */import{a as ct,b as dt,c as pt,d as mt,m as vt,e as ht}from"./avatar6-6Evj8BB9.js";import{_ as ft}from"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css *//* empty css */import{E as xt,a as bt,b as gt}from"./el-dropdown-item-D7SYN_RE.js";/* empty css */import{E as yt}from"./index-Cp4NEpJ7.js";import"./el-tooltip-l0sNRNKZ.js";import{E as kt}from"./index-BObA9rVr.js";import{E as wt}from"./index-BMeOzN3u.js";import{C as Ct}from"./index-CXORCV4U.js";import{E as Tt}from"./index-CZJaGuxf.js";import{_ as _t}from"./index.vue_vue_type_script_setup_true_lang-DRT_iaSg.js";import{u as Mt,_ as At}from"./useHeaderBar-B65RzJLX.js";import"./iconify-DFoKediz.js";import"./dropdown-Dk_wSiK6.js";import"./castArray-nM8ho4U3.js";import"./refs-Cw5r5QN8.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";let St=class{constructor(e,t){this.parent=e,this.domNode=t,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(e){e===this.subMenuItems.length?e=0:e<0&&(e=this.subMenuItems.length-1),this.subMenuItems[e].focus(),this.subIndex=e}addListeners(){const e=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,t=>{t.addEventListener("keydown",t=>{let l=!1;switch(u(t)){case c.down:this.gotoSubIndex(this.subIndex+1),l=!0;break;case c.up:this.gotoSubIndex(this.subIndex-1),l=!0;break;case c.tab:d(e,"mouseleave");break;case c.enter:case c.numpadEnter:case c.space:l=!0,t.currentTarget.click()}return l&&(t.preventDefault(),t.stopPropagation()),!1})})}},It=class{constructor(e,t){this.domNode=e,this.submenu=null,this.submenu=null,this.init(t)}init(e){this.domNode.setAttribute("tabindex","0");const t=this.domNode.querySelector(`.${e}-menu`);t&&(this.submenu=new St(this,t)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",e=>{let t=!1;switch(u(e)){case c.down:d(e.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),t=!0;break;case c.up:d(e.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),t=!0;break;case c.tab:d(e.currentTarget,"mouseleave");break;case c.enter:case c.numpadEnter:case c.space:t=!0,e.currentTarget.click()}t&&e.preventDefault()})}},Lt=class{constructor(e,t){this.domNode=e,this.init(t)}init(e){const t=this.domNode.childNodes;Array.from(t).forEach(t=>{1===t.nodeType&&new It(t,e)})}};const Et=m({name:"ElMenuCollapseTransition"});var Ot=p(m(r(i({},Et),{setup(e){const t=v("menu"),l={onBeforeEnter:e=>e.style.opacity="0.2",onEnter(e,l){w(e,`${t.namespace.value}-opacity-transition`),e.style.opacity="1",l()},onAfterEnter(e){T(e,`${t.namespace.value}-opacity-transition`),e.style.opacity=""},onBeforeLeave(e){e.dataset||(e.dataset={}),C(e,t.m("collapse"))?(T(e,t.m("collapse")),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth.toString(),w(e,t.m("collapse"))):(w(e,t.m("collapse")),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth.toString(),T(e,t.m("collapse"))),e.style.width=`${e.scrollWidth}px`,e.style.overflow="hidden"},onLeave(e){w(e,"horizontal-collapse-transition"),e.style.width=`${e.dataset.scrollWidth}px`}};return(e,t)=>(f(),h(k,g({mode:"out-in"},y(l)),{default:x(()=>[b(e.$slots,"default")]),_:3},16))}})),[["__file","menu-collapse-transition.vue"]]);function Pt(e,t){const l=_(()=>{let l=e.parent;const a=[t.value];for(;"ElMenu"!==l.type.name;)l.props.index&&a.unshift(l.props.index),l=l.parent;return a});return{parentMenu:_(()=>{let t=e.parent;for(;t&&!["ElMenu","ElSubMenu"].includes(t.type.name);)t=t.parent;return t}),indexPath:l}}function jt(e){return _(()=>{const t=e.backgroundColor;return t?new M(t).shade(20).toString():""})}const Bt=(e,t)=>{const l=v("menu");return _(()=>l.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":jt(e).value||"","active-color":e.activeTextColor||"",level:`${t}`}))},Wt="rootMenu",zt="subMenu:",Nt=A({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:String,disabled:Boolean,teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:Z},expandOpenIcon:{type:Z},collapseCloseIcon:{type:Z},collapseOpenIcon:{type:Z}}),Dt="ElSubMenu";var Ft=m({name:Dt,props:Nt,setup(e,{slots:t,expose:l}){const a=z(),{indexPath:n,parentMenu:s}=Pt(a,_(()=>e.index)),o=v("menu"),i=v("sub-menu"),r=S(Wt);r||I(Dt,"can not inject root menu");const u=S(`${zt}${s.value.uid}`);u||I(Dt,"can not inject sub menu");const c=L({}),d=L({});let p;const m=L(!1),h=L(),f=L(),x=_(()=>0===u.level),b=_(()=>"horizontal"===M.value&&x.value?"bottom-start":"right-start"),g=_(()=>"horizontal"===M.value&&x.value||"vertical"===M.value&&!r.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?C.value?e.expandOpenIcon:e.expandCloseIcon:E:e.collapseCloseIcon&&e.collapseOpenIcon?C.value?e.collapseOpenIcon:e.collapseCloseIcon:O),y=_(()=>{const t=e.teleported;return P(t)?x.value:t}),k=_(()=>r.props.collapse?`${o.namespace.value}-zoom-in-left`:`${o.namespace.value}-zoom-in-top`),w=_(()=>"horizontal"===M.value&&x.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),C=_(()=>r.openedMenus.includes(e.index)),T=_(()=>[...Object.values(c.value),...Object.values(d.value)].some(({active:e})=>e)),M=_(()=>r.props.mode),A=_(()=>r.props.persistent),Z=j({index:e.index,indexPath:n,active:T}),G=Bt(r.props,u.level+1),K=_(()=>{var t;return null!=(t=e.popperOffset)?t:r.props.popperOffset}),Q=_(()=>{var t;return null!=(t=e.popperClass)?t:r.props.popperClass}),J=_(()=>{var t;return null!=(t=e.showTimeout)?t:r.props.showTimeout}),ee=_(()=>{var t;return null!=(t=e.hideTimeout)?t:r.props.hideTimeout}),te=e=>{var t,l,a;e||null==(a=null==(l=null==(t=f.value)?void 0:t.popperRef)?void 0:l.popperInstanceRef)||a.destroy()},le=()=>{"hover"===r.props.menuTrigger&&"horizontal"===r.props.mode||r.props.collapse&&"vertical"===r.props.mode||e.disabled||r.handleSubMenuClick({index:e.index,indexPath:n.value,active:T.value})},ae=(t,l=J.value)=>{var a;"focus"!==t.type&&("click"===r.props.menuTrigger&&"horizontal"===r.props.mode||!r.props.collapse&&"vertical"===r.props.mode||e.disabled?u.mouseInChild.value=!0:(u.mouseInChild.value=!0,null==p||p(),({stop:p}=U(()=>{r.openMenu(e.index,n.value)},l)),y.value&&(null==(a=s.value.vnode.el)||a.dispatchEvent(new MouseEvent("mouseenter"))),"mouseenter"===t.type&&t.target&&V(()=>{Y(t.target,{preventScroll:!0})})))},ne=(t=!1)=>{var l;"click"===r.props.menuTrigger&&"horizontal"===r.props.mode||!r.props.collapse&&"vertical"===r.props.mode?u.mouseInChild.value=!1:(null==p||p(),u.mouseInChild.value=!1,({stop:p}=U(()=>!m.value&&r.closeMenu(e.index,n.value),ee.value)),y.value&&t&&(null==(l=u.handleMouseleave)||l.call(u,!0)))};B(()=>r.props.collapse,e=>te(Boolean(e)));{const e=e=>{d.value[e.index]=e},t=e=>{delete d.value[e.index]};W(`${zt}${a.uid}`,{addSubMenu:e,removeSubMenu:t,handleMouseleave:ne,mouseInChild:m,level:u.level+1})}return l({opened:C}),N(()=>{r.addSubMenu(Z),u.addSubMenu(Z)}),D(()=>{u.removeSubMenu(Z),r.removeSubMenu(Z)}),()=>{var l;const n=[null==(l=t.title)?void 0:l.call(t),F($,{class:i.e("icon-arrow"),style:{transform:C.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&r.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>R(g.value)?F(a.appContext.components[g.value]):F(g.value)})],s=r.isMenuPopup?F(wt,{ref:f,visible:C.value,effect:"light",pure:!0,offset:K.value,showArrow:!1,persistent:A.value,popperClass:Q.value,placement:b.value,teleported:y.value,fallbackPlacements:w.value,transition:k.value,gpuAcceleration:!1},{content:()=>{var e;return F("div",{class:[o.m(M.value),o.m("popup-container"),Q.value],onMouseenter:e=>ae(e,100),onMouseleave:()=>ne(!0),onFocus:e=>ae(e,100)},[F("ul",{class:[o.b(),o.m("popup"),o.m(`popup-${b.value}`)],style:G.value},[null==(e=t.default)?void 0:e.call(t)])])},default:()=>F("div",{class:i.e("title"),onClick:le},n)}):F(q,{},[F("div",{class:i.e("title"),ref:h,onClick:le},n),F(kt,{},{default:()=>{var e;return H(F("ul",{role:"menu",class:[o.b(),o.m("inline")],style:G.value},[null==(e=t.default)?void 0:e.call(t)]),[[X,C.value]])}})]);return F("li",{class:[i.b(),i.is("active",T.value),i.is("opened",C.value),i.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:C.value,onMouseenter:ae,onMouseleave:()=>ne(),onFocus:ae},[s])}}});const Rt=A({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:ae(Array),default:()=>se([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:Z,default:()=>ne},popperEffect:{type:ae(String),default:"dark"},popperClass:String,showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},persistent:{type:Boolean,default:!0}}),$t=e=>G(e)&&e.every(e=>R(e));var Ht=m({name:"ElMenu",props:Rt,emits:{close:(e,t)=>R(e)&&$t(t),open:(e,t)=>R(e)&&$t(t),select:(e,t,l,a)=>R(e)&&$t(t)&&K(l)&&(P(a)||a instanceof Promise)},setup(e,{emit:t,slots:l,expose:a}){const n=z(),s=n.appContext.config.globalProperties.$router,o=L(),i=L(),r=v("menu"),u=v("sub-menu");let c=64;const d=L(-1),p=L(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),m=L(e.defaultActive),h=L({}),f=L({}),x=_(()=>"horizontal"===e.mode||"vertical"===e.mode&&e.collapse),b=(l,a)=>{p.value.includes(l)||(e.uniqueOpened&&(p.value=p.value.filter(e=>a.includes(e))),p.value.push(l),t("open",l,a))},g=e=>{const t=p.value.indexOf(e);-1!==t&&p.value.splice(t,1)},y=(e,l)=>{g(e),t("close",e,l)},k=({index:e,indexPath:t})=>{p.value.includes(e)?y(e,t):b(e,t)},w=l=>{("horizontal"===e.mode||e.collapse)&&(p.value=[]);const{index:a,indexPath:n}=l;if(!te(a)&&!te(n))if(e.router&&s){const e=l.route||a,o=s.push(e).then(e=>(e||(m.value=a),e));t("select",a,n,{index:a,indexPath:n,route:e},o)}else m.value=a,t("select",a,n,{index:a,indexPath:n})},C=t=>{var l;const a=h.value,n=a[t]||m.value&&a[m.value]||a[e.defaultActive];m.value=null!=(l=null==n?void 0:n.index)?l:t},T=e=>{const t=getComputedStyle(e),l=Number.parseInt(t.marginLeft,10),a=Number.parseInt(t.marginRight,10);return e.offsetWidth+l+a||0},M=()=>{var e,t;if(!o.value)return-1;const l=Array.from(null!=(t=null==(e=o.value)?void 0:e.childNodes)?t:[]).filter(e=>"#comment"!==e.nodeName&&("#text"!==e.nodeName||e.nodeValue)),a=getComputedStyle(o.value),n=Number.parseInt(a.paddingLeft,10),s=Number.parseInt(a.paddingRight,10),i=o.value.clientWidth-n-s;let r=0,u=0;return l.forEach((e,t)=>{r+=T(e),r<=i-c&&(u=t+1)}),u===l.length?-1:u};let A=!0;const S=()=>{const e=le(i);if(e&&(c=T(e)||64),d.value===M())return;const t=()=>{d.value=-1,V(()=>{d.value=M()})};A?t():((e,t=33.34)=>{let l;return()=>{l&&clearTimeout(l),l=setTimeout(()=>{e()},t)}})(t)(),A=!1};let I;B(()=>e.defaultActive,e=>{h.value[e]||(m.value=""),C(e)}),B(()=>e.collapse,e=>{e&&(p.value=[])}),B(h.value,()=>{const t=m.value&&h.value[m.value];if(!t||"horizontal"===e.mode||e.collapse)return;t.indexPath.forEach(e=>{const t=f.value[e];t&&b(e,t.indexPath)})}),Q(()=>{"horizontal"===e.mode&&e.ellipsis?I=J(o,S).stop:null==I||I()});const E=L(!1);{const t=e=>{f.value[e.index]=e},l=e=>{delete f.value[e.index]},a=e=>{h.value[e.index]=e},s=e=>{delete h.value[e.index]};W(Wt,j({props:e,openedMenus:p,items:h,subMenus:f,activeIndex:m,isMenuPopup:x,addMenuItem:a,removeMenuItem:s,addSubMenu:t,removeSubMenu:l,openMenu:b,closeMenu:y,handleMenuItemClick:w,handleSubMenuClick:k})),W(`${zt}${n.uid}`,{addSubMenu:t,removeSubMenu:l,mouseInChild:E,level:0})}N(()=>{"horizontal"===e.mode&&new Lt(n.vnode.el,r.namespace.value)});a({open:e=>{const{indexPath:t}=f.value[e];t.forEach(e=>b(e,t))},close:g,updateActiveIndex:C,handleResize:S});const O=Bt(e,0);return()=>{var a,n;let s=null!=(n=null==(a=l.default)?void 0:a.call(l))?n:[];const c=[];if("horizontal"===e.mode&&o.value){const t=ee(s).filter(e=>8!==(null==e?void 0:e.shapeFlag)),l=-1===d.value?t:t.slice(0,d.value),a=-1===d.value?[]:t.slice(d.value);(null==a?void 0:a.length)&&e.ellipsis&&(s=l,c.push(F(Ft,{ref:i,index:"sub-menu-more",class:u.e("hide-arrow"),popperOffset:e.popperOffset},{title:()=>F($,{class:u.e("icon-more")},{default:()=>F(e.ellipsisIcon)}),default:()=>a})))}const m=e.closeOnClickOutside?[[Ct,()=>{p.value.length&&(E.value||(p.value.forEach(e=>{return t("close",e,(l=e,f.value[l].indexPath));var l}),p.value=[]))}]]:[],v=H(F("ul",{key:String(e.collapse),role:"menubar",ref:o,style:O.value,class:{[r.b()]:!0,[r.m(e.mode)]:!0,[r.m("collapse")]:e.collapse}},[...s,...c]),m);return e.collapseTransition&&"vertical"===e.mode?F(Ot,()=>v):v}}});const Xt=A({index:{type:ae([String,null]),default:null},route:{type:ae([String,Object])},disabled:Boolean}),qt={click:e=>R(e.index)&&G(e.indexPath)},Ut="ElMenuItem",Vt=m({name:Ut});var Yt=p(m(r(i({},Vt),{props:Xt,emits:qt,setup(e,{expose:t,emit:l}){const a=e;oe(a.index)&&ie();const n=z(),s=S(Wt),o=v("menu"),i=v("menu-item");s||I(Ut,"can not inject root menu");const{parentMenu:r,indexPath:u}=Pt(n,re(a,"index")),c=S(`${zt}${r.value.uid}`);c||I(Ut,"can not inject sub menu");const d=_(()=>a.index===s.activeIndex),p=j({index:a.index,indexPath:u,active:d}),m=()=>{a.disabled||(s.handleMenuItemClick({index:a.index,indexPath:u.value,route:a.route}),l("click",p))};return N(()=>{c.addSubMenu(p),s.addMenuItem(p)}),D(()=>{c.removeSubMenu(p),s.removeMenuItem(p)}),t({parentMenu:r,rootMenu:s,active:d,nsMenu:o,nsMenuItem:i,handleClick:m}),(e,t)=>(f(),ue("li",{class:de([y(i).b(),y(i).is("active",y(d)),y(i).is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:m},["ElMenu"===y(r).type.name&&y(s).props.collapse&&e.$slots.title?(f(),h(y(wt),{key:0,effect:y(s).props.popperEffect,placement:"right","fallback-placements":["left"],persistent:y(s).props.persistent,"focus-on-target":""},{content:x(()=>[b(e.$slots,"title")]),default:x(()=>[ce("div",{class:de(y(o).be("tooltip","trigger"))},[b(e.$slots,"default")],2)]),_:3},8,["effect","persistent"])):(f(),ue(q,{key:1},[b(e.$slots,"default"),b(e.$slots,"title")],64))],2))}})),[["__file","menu-item.vue"]]);const Zt={title:String},Gt=m({name:"ElMenuItemGroup"});var Kt=p(m(r(i({},Gt),{props:Zt,setup(e){const t=v("menu-item-group");return(e,l)=>(f(),ue("li",{class:de(y(t).b())},[ce("div",{class:de(y(t).e("title"))},[e.$slots.title?b(e.$slots,"title",{key:1}):(f(),ue(q,{key:0},[pe(me(e.title),1)],64))],2),ce("ul",null,[b(e.$slots,"default")])],2))}})),[["__file","menu-item-group.vue"]]);const Qt=ve(Ht,{MenuItem:Yt,MenuItemGroup:Kt,SubMenu:Ft}),Jt=he(Yt);he(Kt);const el=he(Ft),tl=e=>{window.open(e,"_blank")},ll=(e,t=!1)=>{var l,a;const{link:n,isIframe:s}=e.meta;if(n&&!s)return tl(n);if(!t||!(null==(l=e.children)?void 0:l.length))return fe.push(e.path);const o=e=>{var t;for(const l of e)if(!l.meta.isHide)return(null==(t=l.children)?void 0:t.length)?o(l.children):l;return e[0]},i=o(e.children);if(null==(a=i.meta)?void 0:a.link)return tl(i.meta.link);fe.push(i.path)},al=[{name:"设置面板",key:"settings-panel",component:xe(()=>be(()=>import("./index-Dp6_jxJi.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]))),enabled:!0},{name:"全局搜索",key:"global-search",component:xe(()=>be(()=>import("./index-Ff-irW0T.js"),__vite__mapDeps([34,1,2,6,7,14,35,4,5,36,21,37,38,24,28,30]))),enabled:!0},{name:"锁屏",key:"screen-lock",component:xe(()=>be(()=>import("./index-CjYU62DD.js"),__vite__mapDeps([39,1,2,40,41,42,17,43,44,35,4,5,36,21,45,38,24,46,33,30]))),enabled:!0},{name:"聊天窗口",key:"chat-window",component:xe(()=>be(()=>import("./index-XPiP-EBw.js"),__vite__mapDeps([47,1,2,6,7,48,49,50,3,4,5,23,24,30,33,51]))),enabled:!0},{name:"礼花效果",key:"fireworks-effect",component:xe(()=>be(()=>import("./index-BXlsxSsn.js"),__vite__mapDeps([52,1,2]))),enabled:!0},{name:"水印效果",key:"watermark",component:xe(()=>be(()=>import("./index-DqKUCaTm.js"),__vite__mapDeps([53,1,2]))),enabled:!0}],nl=m(r(i({},{name:"ArtGlobalComponent"}),{__name:"index",setup(e){const t=_(()=>al.filter(e=>!1!==e.enabled));return(e,l)=>(f(!0),ue(q,null,ge(y(t),e=>(f(),h(ye(e.component),{key:e.key}))),128))}})),sl=["innerHTML"],ol=["innerHTML"],il=m({__name:"index",props:{text:{default:""},type:{default:"theme"},direction:{default:"left"},speed:{default:80},width:{default:"100%"},height:{default:"36px"},pauseOnHover:{type:Boolean,default:!0},showClose:{type:Boolean,default:!1},alwaysScroll:{type:Boolean,default:!0}},emits:["close"],setup(e,{emit:t}){const l=e,a=t,n=()=>{a("close")},s=ke(),{isDark:o}=we(s),i=L(),r=L(),u=L(),c=L(!1),d=L(0),p=L(0),m=L(0),v=L(!1),h=_(()=>"left"===l.direction||"right"===l.direction),x=_(()=>"right"===l.direction||"down"===l.direction),{width:g,height:k}=Ce(i),w=Te(i),C=_(()=>!l.alwaysScroll&&p.value<=m.value||l.pauseOnHover&&w.value),T=_(()=>{const e={theme:"text-theme/90 !border-theme/50",primary:"text-primary/90 !border-primary/50",secondary:"text-secondary/90 !border-secondary/50",error:"text-error/90 !border-error/50",info:"text-info/90 !border-info/50",success:"text-success/90 !border-success/50",warning:"text-warning/90 !border-warning/50",danger:"text-danger/90 !border-danger/50"};return e[l.type]||e.theme}),M=_(()=>`color-mix(in oklch, var(--color-${l.type}) ${o.value?"25":"10"}%, var(--art-color))`),A=_(()=>({width:l.width,height:l.height,backgroundColor:M.value})),S=_(()=>h.value?"":"flex flex-col"),I=_(()=>({transform:h.value?`translateX(${d.value}px)`:`translateY(${d.value}px)`,willChange:"transform"})),E=_(()=>h.value?{marginLeft:"2em"}:{marginTop:"2em"}),O=()=>{if(!i.value||!u.value)return;const e=u.value;h.value?(m.value=g.value,p.value=e.offsetWidth):(m.value=k.value,p.value=e.offsetHeight);const t=p.value>m.value;v.value=t,d.value=(m.value-p.value)/2,c.value||(c.value=!0)},P=Le(O,150);let j=0;const{pause:W,resume:z}=_e(({timestamp:e})=>{if(j||(j=e),!C.value){const t=(e-j)/1e3,a=l.speed*t,n=.1*p.value;d.value+=x.value?a:-a,x.value?d.value>m.value&&(d.value=-(p.value+n)):d.value<-(p.value+n)&&(d.value=m.value)}j=e},{immediate:!1}),F=e=>{"A"===e.target.tagName&&e.stopPropagation()};B([g,k],()=>{P()}),B(()=>[l.direction,l.speed,l.text],()=>{O(),j=0});const{start:R}=Me(()=>{O(),z()},100);return N(()=>{R()}),D(()=>{W()}),(t,l)=>{const a=ut;return f(),ue("div",{ref_key:"containerRef",ref:i,class:de(["relative overflow-hidden rounded-custom-sm border flex-c box-border text-sm",y(T)]),style:Ae(y(A))},[ce("div",{class:"flex-cc absolute left-0 h-full w-9 z-10",style:Ae({backgroundColor:y(M)})},[Ie(a,{icon:"ri:volume-down-line",class:"text-lg"})],4),ce("div",{ref_key:"contentRef",ref:r,class:de(["whitespace-nowrap inline-block transition-opacity duration-600 [&_a]:text-danger [&_a:hover]:underline [&_a:hover]:text-danger/80 px-9",[y(S),{"opacity-0":!y(c),"opacity-100":y(c)}]]),style:Ae(y(I)),onClick:F},[ce("span",{ref_key:"textRef",ref:u,class:"inline-block"},[b(t.$slots,"default",{},()=>[ce("span",{innerHTML:e.text},null,8,sl)])],512),y(v)?(f(),ue("span",{key:0,class:"inline-block",style:Ae(y(E))},[b(t.$slots,"default",{},()=>[ce("span",{innerHTML:e.text},null,8,ol)])],4)):Se("",!0)],6),e.showClose?(f(),ue("div",{key:0,class:"flex-cc absolute right-0 h-full w-9 c-p",style:Ae({backgroundColor:y(M)}),onClick:n},[Ie(a,{icon:"ri:close-fill",class:"text-lg"})],4)):Se("",!0)],6)}}}),rl=m(r(i({},{name:"ArtFestivalTextScroll"}),{__name:"index",setup(e){const t=ke(),{showFestivalText:l}=we(t),{currentFestivalData:a}=Ee(),n=()=>{t.setShowFestivalText(!1)};return(e,t)=>{var s,o;const i=il;return f(),ue("div",{class:"overflow-hidden transition-[height] duration-600 ease-in-out",style:Ae({height:y(l)?"48px":"0"})},[y(l)&&""!==(null==(s=y(a))?void 0:s.scrollText)?(f(),h(i,{key:0,text:(null==(o=y(a))?void 0:o.scrollText)||"",style:{"margin-bottom":"12px"},showClose:"",onClose:n},null,8,["text"])):Se("",!0)],4)}}}));const ul={id:"app-content-header"},cl={key:1,class:"px-2 py-1.5 mb-3 text-sm text-g-500 bg-g-200 border-full-d rounded-md"},dl={class:"fixed top-0 left-0 z-[2000] w-screen h-screen pointer-events-none bg-box"},pl=m(r(i({},{name:"ArtPageContent"}),{__name:"index",setup(e){const t=Oe(),{containerMinHeight:l}=function(e=["app-header","app-content-header"],t={}){const{extraSpacing:l=15,updateCssVar:a=!0,cssVarName:n="--art-full-height"}=t,s=L(),o=L(),{height:i}=Ce(s),{height:r}=Ce(o),u=_(()=>`calc(100vh - ${i.value+r.value+l}px)`);return a&&B(u,e=>{requestAnimationFrame(()=>{document.documentElement.style.setProperty(n,e)})},{immediate:!0}),N(()=>{"undefined"!=typeof document&&requestAnimationFrame(()=>{const t=document.getElementById(e[0]),l=document.getElementById(e[1]);t&&(s.value=t),l&&(o.value=l)})}),{containerMinHeight:u,headerRef:s,contentHeaderRef:o,headerHeight:i,contentHeaderHeight:r}}(),{pageTransition:a,containerWidth:n,refresh:s}=we(ke()),{keepAliveExclude:o}=we(Pe()),i=je(!0),r=L(!1),u=L(!0),c=_(()=>t.matched.some(e=>{var t;return null==(t=e.meta)?void 0:t.isFullPage})),d=L(c.value),p=_(()=>u.value||d.value&&!c.value?"":a.value);B(c,(e,t)=>{e!==t&&(r.value=!0,setTimeout(()=>{r.value=!1},50)),V(()=>{d.value=e})});const m=_(()=>c.value?{position:"fixed",top:0,left:0,width:"100%",height:"100vh",zIndex:2500,background:"var(--default-bg-color)"}:{maxWidth:n.value}),v=_(()=>({minHeight:l.value}));return B(s,()=>{i.value=!1,V(()=>{i.value=!0})},{flush:"post"}),N(()=>{V(()=>{u.value=!1})}),(e,l)=>{const a=rl,n=Be("RouterView");return f(),ue("div",{class:de(["layout-content",{"overflow-auto":y(c)}]),style:Ae(y(m))},[ce("div",ul,[y(c)?Se("",!0):(f(),h(a,{key:0})),"true"===y("false")?(f(),ue("div",cl," router meta:"+me(y(t).meta),1)):Se("",!0)]),y(i)?(f(),h(n,{key:0,style:Ae(y(v))},{default:x(({Component:e,route:t})=>[Ie(k,{name:y(r)?"":y(p),mode:"out-in",appear:""},{default:x(()=>[(f(),h(We,{max:10,exclude:y(o)},[t.meta.keepAlive?(f(),h(ye(e),{class:"art-page-view",key:t.path})):Se("",!0)],1032,["exclude"]))]),_:2},1032,["name"]),Ie(k,{name:y(r)?"":y(p),mode:"out-in",appear:""},{default:x(()=>[t.meta.keepAlive?Se("",!0):(f(),h(ye(e),{class:"art-page-view",key:t.path}))]),_:2},1032,["name"])]),_:1},8,["style"])):Se("",!0),(f(),h(ze,{to:"body"},[H(ce("div",dl,null,512),[[X,y(r)]])]))],6)}}})),ml={class:"flex-cb px-3.5 mt-3.5"},vl={class:"text-base font-medium text-g-800"},hl={class:"text-xs text-g-800 px-1.5 py-1 c-p select-none rounded hover:bg-g-200"},fl={class:"box-border flex items-end w-full h-12.5 px-3.5 border-b-d"},xl=["onClick"],bl={class:"w-full h-[calc(100%-95px)]"},gl={class:"h-[calc(100%-60px)] overflow-y-scroll scrollbar-thin"},yl={class:"w-[calc(100%-45px)] ml-3.5"},kl={class:"text-sm font-normal leading-5.5 text-g-900"},wl={class:"mt-1.5 text-xs text-g-500"},Cl={class:"w-9 h-9"},Tl=["src"],_l={class:"w-[calc(100%-45px)] ml-3.5"},Ml={class:"text-xs font-normal leading-5.5"},Al={class:"mt-1.5 text-xs text-g-500"},Sl={class:"text-xs text-g-500"},Il={class:"relative top-25 h-full text-g-500 text-center !bg-transparent"},Ll={class:"mt-3.5 text-xs !bg-transparent"},El={class:"relative box-border w-full px-3.5"},Ol=ft(m(r(i({},{name:"ArtNotification"}),{__name:"index",props:{value:{type:Boolean}},emits:["update:value"],setup(e,{emit:t}){const{t:l}=Ne(),a=e,n=t,s=L(!1),o=L(!1),i=L(0),{noticeList:r,msgList:u,pendingList:c,barList:d}=(()=>{const e=L([{title:"新增国际化",time:"2024-6-13 0:10",type:"notice"},{title:"冷月呆呆给你发了一条消息",time:"2024-4-21 8:05",type:"message"},{title:"小肥猪关注了你",time:"2020-3-17 21:12",type:"collection"},{title:"新增使用文档",time:"2024-02-14 0:20",type:"notice"},{title:"小肥猪给你发了一封邮件",time:"2024-1-20 0:15",type:"email"},{title:"菜单mock本地真实数据",time:"2024-1-17 22:06",type:"notice"}]),t=L([{title:"池不胖 关注了你",time:"2021-2-26 23:50",avatar:ct},{title:"唐不苦 关注了你",time:"2021-2-21 8:05",avatar:dt},{title:"中小鱼 关注了你",time:"2020-1-17 21:12",avatar:pt},{title:"何小荷 关注了你",time:"2021-01-14 0:20",avatar:mt},{title:"誶誶淰 关注了你",time:"2020-12-20 0:15",avatar:vt},{title:"冷月呆呆 关注了你",time:"2020-12-17 22:06",avatar:ht}]),a=L([]),n=_(()=>[{name:_(()=>l("notice.bar[0]")),num:e.value.length},{name:_(()=>l("notice.bar[1]")),num:t.value.length},{name:_(()=>l("notice.bar[2]")),num:a.value.length}]);return{noticeList:e,msgList:t,pendingList:a,barList:n}})(),{getNoticeStyle:p}=(()=>{const e={email:{icon:"ri:mail-line",iconClass:"bg-warning/12 text-warning"},message:{icon:"ri:volume-down-line",iconClass:"bg-success/12 text-success"},collection:{icon:"ri:heart-3-line",iconClass:"bg-danger/12 text-danger"},user:{icon:"ri:volume-down-line",iconClass:"bg-info/12 text-info"},notice:{icon:"ri:notification-3-line",iconClass:"bg-theme/12 text-theme"}};return{getNoticeStyle:t=>e[t]||{icon:"ri:arrow-right-circle-line",iconClass:"bg-theme/12 text-theme"}}})(),{showNotice:m}={showNotice:e=>{e?(o.value=!0,setTimeout(()=>{s.value=!0},5)):(s.value=!1,setTimeout(()=>{o.value=!1},350))}},{handleNoticeAll:v,handleMsgAll:b,handlePendingAll:g}={handleNoticeAll:()=>{},handleMsgAll:()=>{},handlePendingAll:()=>{}},{changeBar:k,currentTabIsEmpty:w,handleViewAll:C}=(T=r,M=u,A=c,S={handleNoticeAll:v,handleMsgAll:b,handlePendingAll:g},{changeBar:e=>{i.value=e},currentTabIsEmpty:_(()=>{const e=[T.value,M.value,A.value][i.value];return e&&0===e.length}),handleViewAll:()=>{const e={0:S.handleNoticeAll,1:S.handleMsgAll,2:S.handlePendingAll}[i.value];null==e||e(),n("update:value",!1)}});var T,M,A,S;return B(()=>a.value,e=>{m(e)}),(e,t)=>{const l=ut,a=Re,n=De("ripple");return H((f(),ue("div",{class:"art-notification-panel art-card-sm !shadow-xl",style:Ae({transform:s.value?"scaleY(1)":"scaleY(0.9)",opacity:s.value?1:0}),onClick:t[0]||(t[0]=Fe(()=>{},["stop"]))},[ce("div",ml,[ce("span",vl,me(e.$t("notice.title")),1),ce("span",hl,me(e.$t("notice.btnRead")),1)]),ce("ul",fl,[(f(!0),ue(q,null,ge(y(d),(e,t)=>(f(),ue("li",{key:t,class:de(["h-12 leading-12 mr-5 overflow-hidden text-[13px] text-g-700 c-p select-none",{"bar-active":i.value===t}]),onClick:e=>y(k)(t)},me(e.name)+" ("+me(e.num)+") ",11,xl))),128))]),ce("div",bl,[ce("div",gl,[H(ce("ul",null,[(f(!0),ue(q,null,ge(y(r),(e,t)=>(f(),ue("li",{key:t,class:"box-border flex-c px-3.5 py-3.5 c-p last:border-b-0 hover:bg-g-200/60"},[ce("div",{class:de(["size-9 leading-9 text-center rounded-lg flex-cc",[y(p)(e.type).iconClass]])},[Ie(l,{class:"text-lg !bg-transparent",icon:y(p)(e.type).icon},null,8,["icon"])],2),ce("div",yl,[ce("h4",kl,me(e.title),1),ce("p",wl,me(e.time),1)])]))),128))],512),[[X,0===i.value]]),H(ce("ul",null,[(f(!0),ue(q,null,ge(y(u),(e,t)=>(f(),ue("li",{key:t,class:"box-border flex-c px-3.5 py-3.5 c-p last:border-b-0 hover:bg-g-200/60"},[ce("div",Cl,[ce("img",{src:e.avatar,class:"w-full h-full rounded-lg"},null,8,Tl)]),ce("div",_l,[ce("h4",Ml,me(e.title),1),ce("p",Al,me(e.time),1)])]))),128))],512),[[X,1===i.value]]),H(ce("ul",null,[(f(!0),ue(q,null,ge(y(c),(e,t)=>(f(),ue("li",{key:t,class:"box-border px-5 py-3.5 last:border-b-0"},[ce("h4",null,me(e.title),1),ce("p",Sl,me(e.time),1)]))),128))],512),[[X,2===i.value]]),H(ce("div",Il,[Ie(l,{icon:"system-uicons:inbox",class:"text-5xl"}),ce("p",Ll,me(e.$t("notice.text[0]"))+me(y(d)[i.value].name),1)],512),[[X,y(w)]])]),ce("div",El,[H((f(),h(a,{class:"w-full mt-3",onClick:y(C)},{default:x(()=>[pe(me(e.$t("notice.viewAll")),1)]),_:1},8,["onClick"])),[[n]])])]),t[1]||(t[1]=ce("div",{class:"h-25"},null,-1))],4)),[[X,o.value]])}}})),[["__scopeId","data-v-5f1f3855"]]),Pl={class:"menu-right"},jl=["onClick"],Bl={class:"menu-label flex-1 overflow-hidden text-ellipsis whitespace-nowrap text-g-800"},Wl={class:"submenu-title flex-c w-full"},zl={class:"menu-label flex-1 overflow-hidden text-ellipsis whitespace-nowrap text-g-800"},Nl=["onClick"],Dl={class:"menu-label flex-1 overflow-hidden text-ellipsis whitespace-nowrap text-g-800"},Fl=ft(m(r(i({},{name:"ArtMenuRight"}),{__name:"index",props:{menuItems:{},menuWidth:{default:120},submenuWidth:{default:150},itemHeight:{default:32},boundaryDistance:{default:10},menuPadding:{default:5},itemPaddingX:{default:6},borderRadius:{default:6},animationDuration:{default:100}},emits:["select","show","hide"],setup(e,{expose:t,emit:l}){$e(e=>({v3e7f04c0:a.menuWidth+"px",v5ccf2b35:a.borderRadius+"px",v28ac2c31:a.animationDuration+"ms"}));const a=e,n=l,s=L(!1),o=L({x:0,y:0});let i=null,r=!1;const u=_(()=>({position:"fixed",left:`${o.value.x}px`,top:`${o.value.y}px`,zIndex:2e3,width:`${a.menuWidth}px`})),c=_(()=>({padding:`${a.menuPadding}px`})),d=_(()=>({height:`${a.itemHeight}px`,padding:`0 ${a.itemPaddingX}px`,borderRadius:"4px"})),p=_(()=>({minWidth:`${a.submenuWidth}px`,padding:`${a.menuPadding}px 0`,borderRadius:`${a.borderRadius}px`})),m=e=>{const t=window.innerWidth,l=window.innerHeight,n=(()=>{let e=2*a.menuPadding;return a.menuItems.forEach(t=>{e+=a.itemHeight,t.showLine&&(e+=10)}),e})();let s=e.clientX,o=e.clientY;return s+a.menuWidth>t-a.boundaryDistance&&(s=Math.max(a.boundaryDistance,s-a.menuWidth)),o+n>l-a.boundaryDistance&&(o=Math.max(a.boundaryDistance,l-n-a.boundaryDistance)),s=Math.max(a.boundaryDistance,Math.min(s,t-a.menuWidth-a.boundaryDistance)),o=Math.max(a.boundaryDistance,Math.min(o,l-n-a.boundaryDistance)),{x:s,y:o}},v=()=>{r&&(document.removeEventListener("click",b),document.removeEventListener("contextmenu",g),document.removeEventListener("keydown",w),r=!1)},b=e=>{const t=e.target,l=document.querySelector(".context-menu");l&&l.contains(t)||C()},g=()=>{C()},w=e=>{"Escape"===e.key&&C()},C=()=>{s.value&&(s.value=!1,n("hide"),i&&(window.clearTimeout(i),i=null),v())},T=e=>{e.disabled||(n("select",e),C())},M=e=>{e.style.transformOrigin="top left"},A=()=>{v(),i&&(window.clearTimeout(i),i=null)};return He(()=>{v(),i&&(window.clearTimeout(i),i=null)}),t({show:e=>{e.preventDefault(),e.stopPropagation(),i&&(window.clearTimeout(i),i=null),o.value=m(e),s.value=!0,n("show"),i=window.setTimeout(()=>{s.value&&(r||(document.addEventListener("click",b),document.addEventListener("contextmenu",g),document.addEventListener("keydown",w),r=!0)),i=null},50)},hide:C,visible:_(()=>s.value)}),(t,l)=>{const a=ut;return f(),ue("div",Pl,[Ie(k,{name:"context-menu",onBeforeEnter:M,onAfterLeave:A},{default:x(()=>[H(ce("div",{style:Ae(y(u)),class:"context-menu art-card-xs !shadow-xl min-w-[var(--menu-width)] w-[var(--menu-width)]"},[ce("ul",{class:"menu-list m-0 list-none",style:Ae(y(c))},[(f(!0),ue(q,null,ge(e.menuItems,e=>(f(),ue(q,{key:e.key},[e.children?(f(),ue("li",{key:1,class:"menu-item submenu relative flex-c c-p select-none rounded text-xs transition-colors duration-150 hover:bg-g-200",style:Ae(y(d))},[ce("div",Wl,[e.icon?(f(),h(a,{key:0,class:"mr-2 shrink-0 text-base text-g-800",icon:e.icon},null,8,["icon"])):Se("",!0),ce("span",zl,me(e.label),1),Ie(a,{icon:"ri:arrow-right-s-line",class:"ubmenu-arrow ml-auto mr-0 text-base text-g-500 transition-transform duration-150"})]),ce("ul",{class:"submenu-list art-card-xs absolute left-full top-0 z-[2001] hidden w-max min-w-max list-none !shadow-xl",style:Ae(y(p))},[(f(!0),ue(q,null,ge(e.children,e=>(f(),ue("li",{key:e.key,class:de(["menu-item relative mx-1.5 flex-c c-p select-none rounded text-xs transition-colors duration-150 hover:bg-g-200",{"is-disabled":e.disabled,"has-line":e.showLine}]),style:Ae(y(d)),onClick:t=>T(e)},[e.icon?(f(),h(a,{key:0,class:"r-2 shrink-0 text-base text-g-800 mr-1",icon:e.icon},null,8,["icon"])):Se("",!0),ce("span",Dl,me(e.label),1)],14,Nl))),128))],4)],4)):(f(),ue("li",{key:0,class:de(["menu-item relative flex-c c-p select-none rounded text-xs transition-colors duration-150 hover:bg-g-200",{"is-disabled":e.disabled,"has-line":e.showLine}]),style:Ae(y(d)),onClick:t=>T(e)},[e.icon?(f(),h(a,{key:0,class:"mr-2 shrink-0 text-base text-g-800",icon:e.icon},null,8,["icon"])):Se("",!0),ce("span",Bl,me(e.label),1)],14,jl))],64))),128))],4)],4),[[X,y(s)]])]),_:1})])}}})),[["__scopeId","data-v-9f705a0d"]]),Rl=["id","onClick","onContextmenu"],$l=["onClick"],Hl={key:1,class:"line absolute top-0 bottom-0 left-0 w-px h-4 my-auto bg-g-400 transition-opacity duration-150"},Xl={class:"flex"},ql=ft(m(r(i({},{name:"ArtWorkTab"}),{__name:"index",setup(e){const{t:t}=Ne(),l=Pe(),a=Xe(),n=Oe(),s=qe(),{currentRoute:o}=s,i=ke(),{tabStyle:r,showWorkTab:u}=we(i),c=L(null),d=L(null),p=L(),m=L({translateX:0,transition:""}),v=L({startX:0,currentX:0}),h=L(""),x=_(()=>l.opened),b=_(()=>o.value.path),g=_(()=>x.value.findIndex(e=>e.path===b.value)),k=()=>{const e=()=>{if(!c.value||!d.value)return;const e=c.value.offsetWidth,t=d.value.offsetWidth,l=document.getElementById(`scroll-li-${g.value}`);if(!l)return;const{offsetLeft:a,clientWidth:n}=l,s=a+n;return{scrollWidth:e,ulWidth:t,offsetLeft:a,clientWidth:n,curTabRight:s,targetLeft:e-s}};return{setTransition:()=>{m.value.transition="transform 0.5s cubic-bezier(0.15, 0, 0.15, 1)",setTimeout(()=>{m.value.transition=""},250)},autoPositionTab:()=>{const t=e();if(!t)return;const{scrollWidth:l,ulWidth:a,offsetLeft:n,curTabRight:s,targetLeft:o}=t;n>Math.abs(m.value.translateX)&&s<=l||m.value.translateX{s>l?m.value.translateX=Math.max(o-6,l-a):n{const t=e();if(!t)return;const{scrollWidth:l,ulWidth:a,offsetLeft:n,clientWidth:s}=t,o=n+s;requestAnimationFrame(()=>{m.value.translateX=o>l?l-a:0})}}},{menuItems:w}={menuItems:_(()=>{const{clickedIndex:e,currentTab:l,isLastTab:a,isOneTab:n,isCurrentTab:s}=(()=>{const e=x.value.findIndex(e=>e.path===h.value);return{clickedIndex:e,currentTab:x.value[e],isLastTab:e===x.value.length-1,isOneTab:1===x.value.length,isCurrentTab:h.value===b.value}})(),o=(e=>{const t=x.value.slice(0,e),l=x.value.slice(e+1),a=x.value.filter((t,l)=>l!==e);return{areAllLeftTabsFixed:t.length>0&&t.every(e=>e.fixedTab),areAllRightTabsFixed:l.length>0&&l.every(e=>e.fixedTab),areAllOtherTabsFixed:a.length>0&&a.every(e=>e.fixedTab),areAllTabsFixed:x.value.every(e=>e.fixedTab)}})(e);return[{key:"refresh",label:t("worktab.btn.refresh"),icon:"ri:refresh-line",disabled:!s},{key:"fixed",label:(null==l?void 0:l.fixedTab)?t("worktab.btn.unfixed"):t("worktab.btn.fixed"),icon:"ri:pushpin-2-line",disabled:!1,showLine:!0},{key:"left",label:t("worktab.btn.closeLeft"),icon:"ri:arrow-left-s-line",disabled:0===e||o.areAllLeftTabsFixed},{key:"right",label:t("worktab.btn.closeRight"),icon:"ri:arrow-right-s-line",disabled:a||o.areAllRightTabsFixed},{key:"other",label:t("worktab.btn.closeOther"),icon:"ri:close-fill",disabled:n||o.areAllOtherTabsFixed},{key:"all",label:t("worktab.btn.closeAll"),icon:"ri:close-circle-line",disabled:n||o.areAllTabsFixed}]})},{setTransition:C,autoPositionTab:T}=k(),{setupEventListeners:M,cleanupEventListeners:A,adjustPositionAfterClose:S}=(()=>{const{setTransition:e,adjustPositionAfterClose:t}=k(),l=e=>{if(!c.value||!d.value)return;if(e.preventDefault(),d.value.offsetWidth<=c.value.offsetWidth)return;const t=c.value.offsetWidth-d.value.offsetWidth,l=Math.abs(e.deltaX)>Math.abs(e.deltaY)?e.deltaX:e.deltaY;m.value.translateX=Math.min(Math.max(m.value.translateX-l,t),0)},a=e=>{v.value.startX=e.touches[0].clientX},n=e=>{if(!c.value||!d.value)return;v.value.currentX=e.touches[0].clientX;const t=v.value.currentX-v.value.startX,l=c.value.offsetWidth-d.value.offsetWidth;m.value.translateX=Math.min(Math.max(m.value.translateX+t,l),0),v.value.startX=v.value.currentX},s=()=>{e()};return{setupEventListeners:()=>{d.value&&(d.value.addEventListener("wheel",l,{passive:!1}),d.value.addEventListener("touchstart",a,{passive:!0}),d.value.addEventListener("touchmove",n,{passive:!0}),d.value.addEventListener("touchend",s,{passive:!0}))},cleanupEventListeners:()=>{d.value&&(d.value.removeEventListener("wheel",l),d.value.removeEventListener("touchstart",a),d.value.removeEventListener("touchmove",n),d.value.removeEventListener("touchend",s))},adjustPositionAfterClose:t}})(),{clickTab:I,closeWorktab:E,showMenu:O,handleSelect:P}=(e=>{const t=(t,a)=>{var s;const o="string"==typeof a?a:n.path,i={current:()=>l.removeTab(o),left:()=>l.removeLeft(o),right:()=>l.removeRight(o),other:()=>l.removeOthers(o),all:()=>l.removeAll()};null==(s=i[t])||s.call(i),setTimeout(()=>{e()},100)};return{clickTab:e=>{s.push({path:e.path,query:e.query})},closeWorktab:t,showMenu:(e,t)=>{var l;h.value=t||"",null==(l=p.value)||l.show(e),e.preventDefault(),e.stopPropagation()},handleSelect:e=>{const{key:l}=e;if("refresh"===l)return void Ve().refresh();if("fixed"===l)return void Pe().toggleFixedTab(h.value);const a=x.value.findIndex(e=>e.path===b.value),n=x.value.findIndex(e=>e.path===h.value);({left:an,other:!0})[l]&&s.push(h.value),t(l,h.value)}}})(S);return N(()=>{M(),T()}),He(()=>{A()}),B(()=>o.value,()=>{C(),T()}),B(()=>a.language,()=>{m.value.translateX=0,V(()=>{T()})}),(e,t)=>{const l=ut,a=Fl;return y(u)?(f(),ue("div",{key:0,class:de(["box-border flex-b w-full px-5 mb-3 select-none max-sm:px-[15px]",["tab-card"===y(r)?"py-1 border-b border-[var(--art-card-border)]":"","tab-google"===y(r)?"pt-1 pb-0 border-b border-[var(--art-card-border)]":""]])},[ce("div",{class:"w-full overflow-hidden",ref_key:"scrollRef",ref:c},[ce("ul",{class:de(["float-left whitespace-nowrap !bg-transparent flex",["tab-google"===y(r)?"pl-1":""]]),ref_key:"tabsRef",ref:d,style:Ae({transform:`translateX(${m.value.translateX}px)`,transition:`${m.value.transition}`})},[(f(!0),ue(q,null,ge(x.value,(e,t)=>(f(),ue("li",{class:de(["art-card-xs inline-flex flex-cc h-8 mr-1.5 text-xs c-p hover:text-theme",[e.path===b.value?"activ-tab !text-theme":"text-g-600 dark:text-g-800","tab-google"===y(r)?"google-tab relative !h-8 !leading-8 !border-none":""]]),style:Ae({padding:e.fixedTab?"0 10px":"0 8px 0 12px",borderRadius:"tab-google"===y(r)?"calc(var(--custom-radius) / 2.5 + 4px) !important":"calc(var(--custom-radius) / 2.5 + 2px) !important"}),key:e.path,ref_for:!0,ref:e.path,id:`scroll-li-${t}`,onClick:t=>y(I)(e),onContextmenu:Fe(t=>y(O)(t,e.path),["prevent"])},[pe(me(e.customTitle||y(Ue)(e.title))+" ",1),x.value.length>1&&!e.fixedTab?(f(),ue("span",{key:0,class:"inline-flex flex-cc relative ml-0.5 p-1 rounded-full tad-200 hover:bg-g-200",onClick:Fe(t=>y(E)("current",e.path),["stop"])},[Ie(l,{icon:"ri:close-large-fill",class:"text-[10px] text-g-600"})],8,$l)):Se("",!0),"tab-google"===y(r)?(f(),ue("div",Hl)):Se("",!0)],46,Rl))),128))],6)],512),ce("div",Xl,[ce("div",{class:"flex-cc art-card-xs relative top-0 size-8 leading-8 text-center c-p tad-200 hover:!bg-hover-color",style:Ae({borderRadius:"calc(var(--custom-radius) / 2.5 + 0px)",marginTop:"tab-google"===y(r)?"-2px":""}),onClick:t[0]||(t[0]=e=>y(O)(e,b.value))},[Ie(l,{icon:"iconamoon:arrow-down-2-thin",class:"text-2xl text-g-700"})],4)]),Ie(a,{ref_key:"menuRef",ref:p,"menu-items":y(w),"menu-width":140,"border-radius":10,onSelect:y(P)},null,8,["menu-items","onSelect"])],2)):Se("",!0)}}})),[["__scopeId","data-v-7cc133f4"]]),Ul={class:"relative box-border flex-c w-full overflow-hidden"},Vl={class:"box-border flex-c flex-shrink-0 flex-nowrap h-15 whitespace-nowrap"},Yl=["onClick"],Zl={key:0,class:"art-badge art-badge-mixed"},Gl=ft(m(r(i({},{name:"ArtMixedMenu"}),{__name:"index",props:{list:{default:()=>[]}},setup(e){const t=Oe(),l=e,a=L(),n=L(!1),s=L(!1),o=200,u=35,c=30,d=100,p=_(()=>String(t.meta.activePath||t.path)),m=e=>{var t;const l=p.value;return(null==(t=e.children)?void 0:t.length)?e.children.some(e=>{var t;return(null==(t=e.children)?void 0:t.length)?m(e):e.path===l}):e.path===l},v=_(()=>l.list.map(e=>r(i({},e),{isActive:m(e),formattedTitle:Ue(e.meta.title)}))),h=()=>{var e;if(!(null==(e=a.value)?void 0:e.wrapRef))return;const{scrollLeft:t,scrollWidth:l,clientWidth:o}=a.value.wrapRef;n.value=t>0,s.value=t+o{var t;if(!(null==(t=a.value)?void 0:t.wrapRef))return;const l=a.value.wrapRef.scrollLeft,n="left"===e?l-o:l+o;a.value.wrapRef.scrollTo({left:n,behavior:"smooth"})},k=e=>{var t;if(e.preventDefault(),e.stopPropagation(),!(null==(t=a.value)?void 0:t.wrapRef))return;const{wrapRef:l}=a.value,{scrollLeft:n,scrollWidth:s,clientWidth:o}=l,i=Math.abs(e.deltaY)>d?u:c,r=e.deltaY>0?i:-i,p=Math.max(0,Math.min(n+r,s-o));l.scrollLeft=p,h()};return N(()=>{V(()=>{h()})}),(e,t)=>{const l=$,o=ut,i=yt;return f(),ue("div",Ul,[H(ce("div",{class:"button-arrow",onClick:t[0]||(t[0]=e=>g("left"))},[Ie(l,null,{default:x(()=>[Ie(y(Ye))]),_:1})],512),[[X,n.value]]),Ie(i,{ref_key:"scrollbarRef",ref:a,"wrap-class":"scrollbar-wrapper",horizontal:!0,onScroll:y(b),onWheel:k},{default:x(()=>[ce("div",Vl,[(f(!0),ue(q,null,ge(v.value,e=>(f(),ue(q,{key:e.meta.title},[e.meta.isHide?Se("",!0):(f(),ue("div",{key:0,class:de(["menu-item relative flex-shrink-0 h-10 px-3 text-sm flex-c c-p hover:text-theme",{"menu-item-active text-theme":e.isActive}]),onClick:t=>y(ll)(e,!0)},[Ie(o,{icon:e.meta.icon,class:de(["text-lg text-g-700 dark:text-g-800 mr-1",e.isActive&&"!text-theme"])},null,8,["icon","class"]),ce("span",{class:de(["text-md text-g-700 dark:text-g-800",e.isActive&&"!text-theme"])},me(e.formattedTitle),3),e.meta.showBadge?(f(),ue("div",Zl)):Se("",!0)],10,Yl))],64))),128))])]),_:1},8,["onScroll"]),H(ce("div",{class:"button-arrow right-2",onClick:t[1]||(t[1]=e=>g("right"))},[Ie(l,null,{default:x(()=>[Ie(y(O))]),_:1})],512),[[X,s.value]])])}}})),[["__scopeId","data-v-de2bfd62"]]),Kl={class:"text-md"},Ql={key:0,class:"art-badge art-badge-horizontal"},Jl={key:1,class:"art-text-badge"},ea={class:"text-md"},ta={key:1,class:"art-text-badge"},la=ft(m({__name:"HorizontalSubmenu",props:{item:{type:Object,required:!0},theme:{type:Object,default:()=>({})},isMobile:Boolean,level:{type:Number,default:0}},emits:["close"],setup(e,{emit:t}){const l=e,a=t,n=_(()=>{var e;return(null==(e=l.item.children)?void 0:e.filter(e=>!e.meta.isHide))||[]}),s=_(()=>n.value.length>0),o=()=>{a("close")};return(t,l)=>{const a=ut,i=Be("HorizontalSubmenu",!0),r=el,u=Jt;return s.value?(f(),h(r,{key:0,index:e.item.path||e.item.meta.title,class:"!p-0"},{title:x(()=>{var t;return[Ie(a,{icon:e.item.meta.icon,color:null==(t=e.theme)?void 0:t.iconColor,class:"mr-1 text-lg"},null,8,["icon","color"]),ce("span",Kl,me(y(Ue)(e.item.meta.title)),1),e.item.meta.showBadge?(f(),ue("div",Ql)):Se("",!0),e.item.meta.showTextBadge?(f(),ue("div",Jl,me(e.item.meta.showTextBadge),1)):Se("",!0)]}),default:x(()=>[(f(!0),ue(q,null,ge(n.value,t=>(f(),h(i,{key:t.path,item:t,theme:e.theme,"is-mobile":e.isMobile,level:e.level+1,onClose:o},null,8,["item","theme","is-mobile","level"]))),128))]),_:1},8,["index"])):e.item.meta.isHide?Se("",!0):(f(),h(u,{key:1,index:e.item.path||e.item.meta.title,onClick:l[0]||(l[0]=t=>{return l=e.item,o(),void ll(l);var l})},{default:x(()=>{var t;return[Ie(a,{icon:e.item.meta.icon,color:null==(t=e.theme)?void 0:t.iconColor,class:"mr-1 text-lg",style:Ae({color:e.theme.iconColor})},null,8,["icon","color","style"]),ce("span",ea,me(y(Ue)(e.item.meta.title)),1),e.item.meta.showBadge?(f(),ue("div",{key:0,class:"art-badge",style:Ae({right:0===e.level?"10px":"20px"})},null,4)):Se("",!0),e.item.meta.showTextBadge&&0!==e.level?(f(),ue("div",ta,me(e.item.meta.showTextBadge),1)):Se("",!0)]}),_:1},8,["index"]))}}}),[["__scopeId","data-v-a00d1f83"]]),aa={class:"flex-1 overflow-hidden"},na=ft(m(r(i({},{name:"ArtHorizontalMenu"}),{__name:"index",props:{list:{default:()=>[]}},setup(e){const t=ke(),{isDark:l}=we(t),a=Oe(),n=e,s=_(()=>u(n.list)),o=_(()=>String(a.meta.activePath||a.path)),u=e=>e.filter(e=>{if(e.meta.isHide)return!1;if(e.children&&e.children.length>0){return u(e.children).length>0}return!0}).map(e=>r(i({},e),{children:e.children?u(e.children):void 0}));return(e,t)=>{const a=Qt;return f(),ue("div",aa,[Ie(a,{ellipsis:!0,mode:"horizontal","default-active":y(o),"text-color":y(l)?"var(--art-gray-800)":"var(--art-gray-700)","popper-offset":-6,"background-color":"transparent","show-timeout":50,"hide-timeout":50,"popper-class":"horizontal-menu-popper",class:"w-full border-none"},{default:x(()=>[(f(!0),ue(q,null,ge(y(s),e=>(f(),h(la,{key:e.path,item:e,isMobile:!1,level:0},null,8,["item"]))),128))]),_:1},8,["default-active","text-color"])])}}})),[["__scopeId","data-v-83042b1a"]]),sa={class:"ml-2.5 max-lg:!hidden","aria-label":"breadcrumb"},oa={class:"flex-c h-full"},ia=["onClick"],ra={class:"block max-w-46 overflow-hidden text-ellipsis whitespace-nowrap px-1.5 text-sm text-g-600 dark:text-g-800"},ua={key:0,class:"mx-1 text-sm not-italic text-g-500","aria-hidden":"true"},ca=m(r(i({},{name:"ArtBreadcrumb"}),{__name:"index",setup(e){const t=Oe(),l=qe(),a=_(()=>{var e;const{matched:l}=t,a=l.length;if(!a||o(l[0]))return[];const i=null==(e=l[0].meta)?void 0:e.isFirstLevel,r=l[a-1],u=r.meta;let c=i?[s(r)]:l.map(s);return c.length>1&&n(c[0])&&(c=c.slice(1)),(null==u?void 0:u.isIframe)&&(1===c.length||c.every(n))?[s(r)]:c}),n=e=>{var t;return"/outside"===e.path&&!!(null==(t=e.meta)?void 0:t.isIframe)},s=e=>({path:e.path,meta:e.meta}),o=e=>"/"===e.name,i=e=>e===a.value.length-1,r=(e,t)=>"/outside"!==e.path&&!i(t);function u(e,t){return a=this,n=null,s=function*(){var a,n;if(!i(t)&&"/outside"!==e.path)try{const t=l.getRoutes().find(t=>t.path===e.path);if(!(null==(a=null==t?void 0:t.children)?void 0:a.length))return void(yield l.push(e.path));const s=(e=>{var t;return null==(t=e.children)?void 0:t.find(e=>{var t;return!e.redirect&&!(null==(t=e.meta)?void 0:t.isHide)})})(t);s?yield l.push((n=s.path,`/${n}`.replace("//","/"))):yield l.push(e.path)}catch(s){}},new Promise((e,t)=>{var l=e=>{try{i(s.next(e))}catch(l){t(l)}},o=e=>{try{i(s.throw(e))}catch(l){t(l)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,o);i((s=s.apply(a,n)).next())});var a,n,s}return(e,t)=>(f(),ue("nav",sa,[ce("ul",oa,[(f(!0),ue(q,null,ge(a.value,(e,t)=>{var l,a;return f(),ue("li",{key:e.path,class:"box-border flex-c h-7 text-sm leading-7"},[ce("div",{class:de(r(e,t)?"c-p py-1 rounded tad-200 hover:bg-active-color hover:[&_span]:text-g-600":""),onClick:l=>u(e,t)},[ce("span",ra,me(y(Ue)(null==(l=e.meta)?void 0:l.title)),1)],10,ia),!i(t)&&(null==(a=e.meta)?void 0:a.title)?(f(),ue("div",ua," / ")):Se("",!0)])}),128))])]))}}));const da={class:"flex-c gap-2"},pa={class:"grid grid-cols-[2fr_0.8fr]"},ma={class:"grid grid-cols-2 gap-1.5"},va=["onClick"],ha={class:"app-icon size-12 flex-cc rounded-lg bg-g-200/80 dark:bg-g-300/30"},fa={class:"m-0 text-sm font-medium text-g-800"},xa={class:"mt-1 text-xs text-g-600"},ba={class:"border-l-d pl-6 pt-2"},ga=["onClick"],ya={class:"text-g-600 no-underline"},ka=m(r(i({},{name:"ArtFastEnter"}),{__name:"index",setup(e){const t=qe(),l=L(),{enabledApplications:a,enabledQuickLinks:n}=function(){const e=_(()=>Ge.fastEnter),t=_(()=>{var t;return(null==(t=e.value)?void 0:t.applications)?e.value.applications.filter(e=>!1!==e.enabled).sort((e,t)=>(e.order||0)-(t.order||0)):[]}),l=_(()=>{var t;return(null==(t=e.value)?void 0:t.quickLinks)?e.value.quickLinks.filter(e=>!1!==e.enabled).sort((e,t)=>(e.order||0)-(t.order||0)):[]}),a=_(()=>{var t;return(null==(t=e.value)?void 0:t.minWidth)||1200});return{fastEnterConfig:e,enabledApplications:t,enabledQuickLinks:l,minWidth:a}}(),s=(e,a)=>{var n;const s=e||a;s&&(s.startsWith("http")?window.open(s,"_blank"):t.push({name:s}),null==(n=l.value)||n.hide())};return(e,t)=>{const o=ut,i=Tt;return f(),h(i,{ref_key:"popoverRef",ref:l,width:700,offset:0,"show-arrow":!1,trigger:"hover",placement:"bottom-start","popper-class":"fast-enter-popover","popper-style":{border:"1px solid var(--default-border)",borderRadius:"calc(var(--custom-radius) / 2 + 4px)"}},{reference:x(()=>[ce("div",da,[b(e.$slots,"default")])]),default:x(()=>[ce("div",pa,[ce("div",null,[ce("div",ma,[(f(!0),ue(q,null,ge(y(a),e=>(f(),ue("div",{key:e.name,class:"mr-3 c-p flex-c gap-3 rounded-lg p-2 hover:bg-g-200/70 dark:hover:bg-g-200/90 hover:[&_.app-icon]:!bg-transparent",onClick:t=>(e=>{s(e.routeName,e.link)})(e)},[ce("div",ha,[Ie(o,{class:"text-xl",icon:e.icon,style:Ae({color:e.iconColor})},null,8,["icon","style"])]),ce("div",null,[ce("h3",fa,me(e.name),1),ce("p",xa,me(e.description),1)])],8,va))),128))])]),ce("div",ba,[t[0]||(t[0]=ce("h3",{class:"mb-2.5 text-base font-medium text-g-800"},"快速链接",-1)),ce("ul",null,[(f(!0),ue(q,null,ge(y(n),e=>(f(),ue("li",{key:e.name,class:"c-p py-2 hover:[&_span]:text-theme",onClick:t=>(e=>{s(e.routeName,e.link)})(e)},[ce("span",ya,me(e.name),1)],8,ga))),128))])])])]),_:3},512)}}})),wa=["src"],Ca={class:"pt-3"},Ta={class:"flex-c pb-1 px-0"},_a=["src"],Ma={class:"w-[calc(100%-60px)] h-full"},Aa={class:"block text-sm font-medium text-g-800 truncate"},Sa={class:"block mt-0.5 text-xs text-g-500 truncate"},Ia={class:"py-4 mt-3 border-t border-g-300/80"},La=ft(m(r(i({},{name:"ArtUserMenu"}),{__name:"ArtUserMenu",setup(e){const t=qe(),{t:l}=Ne(),a=Xe(),{getUserInfo:n}=we(a),s=_(()=>{var e;return(null==(e=n.value)?void 0:e.avatar)||new URL("data:image/webp;base64,UklGRkoIAABXRUJQVlA4ID4IAADwLwCdASqgAKAAPyWCtlKuKSUnrhuaScAkiWMA0B+4f6f151+lwftt/hONGh/exC2WVatFHq//nzLfx3/34IDPWrgNJbUktqSaiIHUiLzd82/VPIGht6KwyKTAjwyvI9cQ9AfLBtxkKB42QLruqr9fQTdB9rZc/nhl5QAZ3G5K871sNQKwGnur5vjfpLeLGjmyTfLjwB3PV+pnrdhhAnFtHylhTu8SXlHquf8lUlWFGYw2tID45sQ/t99JPt583xnvfgKorj3xDOUcUfBZ9+0Lo/m8nyr2+x2ieOfnhjfli3Sok/ujjMm2pdWp0poEMPxOTyoPI0xphwaL00N70kIDJw+8B7XNFde/zPTFA2lvtnd2YX744Ka2rnTeFRVJutgL6yfzJAquSHw9kV1FfjPSi6YNK4ffWdjwozPao5GpRbulnWhWFrhbkLymgrI12w56eykXbNDJaWWyzz8C8d32YfEJSyAU4szWBSmY9UiYOlDUBZmCDQGUSmZUnhSuLDAzufVluctzgAD+8Hd6XJDNl4hrW6beD6BmAq+qoAcQJnm709ObeZDChKLtxt9yq8J6i5cyL0vLiQ9bKlUbkg5mKUhY2zrCXwZq1RBQtrnSYf+jeKo/KENeaaXg03o1tmOWwuppQFVj4iipRywoiJrjdtByWDP0lMVoSVjFpqgi4tdzZsPvb2B+IPOupdnOdh/t/6mZd4DuiFXRuo/FHmOvpG5UStJkCmOVdTabRiy0YsYf0klGhcOspkYvixoXEG1RGI/m9+Wo9exmSR7MIjicNAxGbH/5mxs0EKce1GIk0VMXFuS/Mh/nH2MNc/hnAYaLcqD3k5H0nZYshDJ/vtzZeAtPbxdDZA7R4/YZxpjNDjFxPxuA5pizB53QFzGy1HZkt2fZBtiw3X8hgDFm+ZPQJnsSfXUSNtXLAqH873sJZEKOwfpRCpFdSjNGzia9yH6JJKAZKxT9yNsbOF+k+5lEj7w+0Ka2vIar4HMrIC5YV+mzusOpxk+akcq83Jw5K/9bAlhL5QhFCOUgfzyo1FqWPIzH/t+5dOFI0EItlltKhyH0WuohnXv0BZ640iqcp+0v72Ikprq1zwvnjW24P5Q/U+ROmTOGwm1SVfKfjYnv4xjAa11TaNI9COI7HqRERepkvMiolKspS3D4bQ1umTmeEzGSN1st44yzSyPzAX3jMXO8FDV9ESGVdGnGVVMHywZHDqdyhPJDtrQlaHcUBfBEyeUdTbX9KR+N2cyh/+5Pnpv05pPcKL2LTcbaP39yAUDrgLrblesJPtaGAGxbxGxAdmCwORKF/ezQONQOxH2mh2S7FUlV0o3KrJYikOSxgDBKmMGOYOkzvIb6s4WdqGq4EbpXK6AYCTqSdwJpMVU5jzS+TENbWClTurCFXqeHPeoUqSZhKbvb/UL/Z2EtPpUihzRGQ5WT93r+zU72fwK6PZEDQa+hDyOyjdJXWU00wY2Eqg6qSA9tp+KW/hCkuoZ0DkZJEuo+2gFua7JbL9QS2cVw9H+CwzukzpXZ675aLtu0llJUPQw/dE2/EPKEOr82Ll3xZxjoj/oxJx5SkVgkgYKc1ZA9vDVdyozo3iHKpOCesVkvlxM5oqbfK9a4l05T8HFDMrLuM/9ICWJk8jE4XYZq6y9RN8vnLj6SDq1I6O6+Cn9WpNxZhS1+4lMs+PVlON6Nt7rVvIsj6guhbatOVP+jXahNVe+ZlynjNo1SucIqQ2ssRmn79xgxE+vjeGwEiEfheVYUE7SDSUk8YjmJnTbTg09NXXeweef0QnkZ7uus2fPsZhksXZnums2szrwnMogSMq9oX/mgMOupMqUEVO6bpcsbf1HZSRANh11/MnU9sxyFwYqBP+C1NDGwsOURvTplOYGRarOBA4QA3l/RGa67F76ppOMPABcGFXioFr6HcWygnB5T1yAHdN+qeMhdd/BG/QMow0X0+ejPg7FLJ5YraB0g4cgIvoMhlZlUhIM640prUPLGZZUqYIFzjKaVwq/3QmzThSbptQLm47JOfwbelJ0sxGGW8TE6ezZXK/6dDXQQ5eyaqDd5FgQI2oiX4pYPHVrWUOteQE3Iu0P4Fg0Z0Aj+2KtsdeZ23QpEVvk3GakbcfgdLJ/9NBXrzA1efjLk6LqzZ29RnH6qk7O6n5WYE+IEN+EiDeGCvWkx7s0WT4frjXAg9N4hHYnzzlHOyx7YTy1ZHpEmgMuv/Dhs7t/7uWl9MGOD0J9ZHpdAmHbyCUNfDMCV2/OiLPwTRxXyjuLrw5lhVp9TpndEjew8ZwZXEElxCKW7Ke3rGgVxXFsYidZz17+4VaL8pFcLDL50EAr3kYtzN397jBBAgCBdQyyKwPXLSj7UQZtrldsjEbFVu+QO3iuoiCRr2KPx3wkq89oYOC4l9aAWl2uqyqzcmlroPTlB2wK2yEl/Y1uTYFCx9SoEnbxk+5dK//Q03foD1ukTuTP47PxxPcaMYbmd6mmroit+Uy6NQfHF2Q8ovhwNO3wxOITht/Yzxxbyjt5DE/FhO7kZ2pzCbj11oYHFczFdGz0CA0wR2qIkkir1mnnr2zfdCo5pg2SiOmUt7CS9/8NetjvMS54u/0TzrYXBotAz4jr7n5a+14HQ1cMduWpP/KFJp2QI4eZ+EFC+P2mobdYF3YTpOw7JlNEO14jc620BkTR4aAdLUGVWdbCm2LoSgUfll26tfBCBuuIDkf1Z9ulw/IGbESub0WAb1B3jBFazYmBDyBhAQsqLINtohnP52fmN9mxjKC37ej9Knu/bhay/9bi7mDK/4PlhgAoAwpo/rgSzjFN/uAaMgAAA",import.meta.url).href}),o=L(),i=()=>{r(),setTimeout(()=>{Je.confirm(l("common.logOutTips"),l("common.tips"),{confirmButtonText:l("common.confirm"),cancelButtonText:l("common.cancel"),customClass:"login-out-dialog"}).then(()=>{a.logOut()})},200)},r=()=>{setTimeout(()=>{o.value.hide()},100)};return(e,l)=>{const a=ut,r=Tt;return f(),h(r,{ref_key:"userMenuPopover",ref:o,placement:"bottom-end",width:240,"hide-after":0,offset:10,trigger:"hover","show-arrow":!1,"popper-class":"user-menu-popover","popper-style":"padding: 5px 16px;"},{reference:x(()=>[ce("img",{class:"size-8.5 mr-5 c-p rounded-full max-sm:w-6.5 max-sm:h-6.5 max-sm:mr-[16px]",src:y(s),alt:"avatar"},null,8,wa)]),default:x(()=>[ce("div",Ca,[ce("div",Ta,[ce("img",{class:"w-10 h-10 mr-3 ml-0 overflow-hidden rounded-full float-left",src:y(s)},null,8,_a),ce("div",Ma,[ce("span",Aa,me(y(n).userName),1),ce("span",Sa,me(y(n).email),1)])]),ce("ul",Ia,[ce("li",{class:"btn-item",onClick:l[0]||(l[0]=e=>{return l="/system/user-center",void t.push(l);var l})},[Ie(a,{icon:"ri:user-3-line"}),ce("span",null,me(e.$t("topBar.user.userCenter")),1)]),ce("li",{class:"btn-item",onClick:l[1]||(l[1]=e=>{window.open(Ke.DOCS)})},[Ie(a,{icon:"ri:book-2-line"}),ce("span",null,me(e.$t("topBar.user.docs")),1)]),ce("li",{class:"btn-item",onClick:l[2]||(l[2]=e=>{window.open(Ke.GITHUB)})},[Ie(a,{icon:"ri:github-line"}),ce("span",null,me(e.$t("topBar.user.github")),1)]),ce("li",{class:"btn-item",onClick:l[3]||(l[3]=e=>{Qe.emit("openLockScreen")})},[Ie(a,{icon:"ri:lock-line"}),ce("span",null,me(e.$t("topBar.user.lockScreen")),1)]),l[4]||(l[4]=ce("div",{class:"w-full h-px my-2 bg-g-300/80"},null,-1)),ce("div",{class:"log-out c-p",onClick:i},me(e.$t("topBar.user.logout")),1)])])]),_:1},512)}}})),[["__scopeId","data-v-05111b30"]]),Ea={class:"flex-c flex-1 min-w-0 leading-15",style:{display:"flex"}},Oa={key:0,class:"my-0 mx-2 ml-2 text-lg"},Pa={class:"flex-c gap-2.5"},ja={class:"flex-c"},Ba={class:"ml-1 text-xs font-normal text-g-500"},Wa={class:"flex-c h-5 px-1.5 text-g-500/80 border border-g-400 rounded"},za={class:"menu-txt"},Na={key:5},Da={class:"flex-cc"},Fa=ft(m(r(i({},{name:"ArtHeaderBar"}),{__name:"index",setup(e){const t=navigator.userAgent.includes("Windows"),l=qe(),{locale:a}=Ne(),{width:n}=at(),s=ke(),o=Xe(),i=et(),{shouldShowMenuButton:r,shouldShowRefreshButton:u,shouldShowFastEnter:c,shouldShowBreadcrumb:d,shouldShowGlobalSearch:p,shouldShowFullscreen:m,shouldShowNotification:v,shouldShowChat:b,shouldShowLanguage:g,shouldShowSettings:k,shouldShowThemeToggle:w,fastEnterMinWidth:C}=Mt(),{menuOpen:T,systemThemeColor:M,showSettingGuide:A,menuType:S,isDark:I,tabStyle:E}=we(s),{language:O}=we(o),{menuList:P}=we(i),j=L(!1),B=L(null),W=_(()=>S.value===tt.LEFT),z=_(()=>S.value===tt.DUAL_MENU),D=_(()=>S.value===tt.TOP),F=_(()=>S.value===tt.TOP_LEFT),{isFullscreen:R,toggle:$}=lt();N(()=>{G(),document.addEventListener("click",ee)}),He(()=>{document.removeEventListener("click",ee)});const H=()=>{$()},X=()=>{s.setMenuOpen(!T.value)},{homePath:U}=Ve(),{refresh:V}=Ve(),Y=()=>{l.push(U.value)},Z=(e=0)=>{setTimeout(()=>{V()},e)},G=()=>{a.value=O.value},K=e=>{a.value!==e&&(a.value=e,o.setLanguage(e),Z(50))},Q=()=>{Qe.emit("openSetting"),A.value&&s.hideSettingGuide()},J=()=>{Qe.emit("openSearchDialog")},ee=e=>{if(!j.value)return;const t=e.target,l=t.closest(".notice-button"),a=t.closest(".art-notification-panel");l||a||(j.value=!1)},te=()=>{j.value=!j.value},le=()=>{Qe.emit("openChat")};return(e,l)=>{const s=At,o=_t,i=ka,T=ca,_=na,S=Gl,L=ut,O=bt,N=xt,$=gt,U=Tt,V=ql,G=Ol;return f(),ue("div",{class:de(["w-full bg-[var(--default-bg-color)]",["tab-card"===y(E)||"tab-google"===y(E)?"mb-5 max-sm:mb-3 !bg-box":""]])},[ce("div",{class:de(["relative box-border flex-b h-15 leading-15 select-none",["tab-card"===y(E)||"tab-google"===y(E)?"border-b border-[var(--art-card-border)]":""]])},[ce("div",Ea,[y(D)?(f(),ue("div",{key:0,class:"flex-c c-p",onClick:Y},[Ie(s,{class:"pl-4.5"}),y(n)>=1400?(f(),ue("p",Oa,me(y(Ge).systemInfo.name),1)):Se("",!0)])):Se("",!0),Ie(s,{class:"!hidden pl-3.5 overflow-hidden align-[-0.15em] fill-current",onClick:Y}),y(W)&&y(r)?(f(),h(o,{key:1,icon:"ri:menu-2-fill",class:"ml-3 max-sm:ml-[7px]",onClick:X})):Se("",!0),y(u)?(f(),h(o,{key:2,icon:"ri:refresh-line",class:"!ml-3 refresh-btn max-sm:!hidden",style:Ae({marginLeft:y(W)?"0":"10px"}),onClick:Z},null,8,["style"])):Se("",!0),y(c)&&y(n)>=y(C)?(f(),h(i,{key:3},{default:x(()=>[Ie(o,{icon:"ri:function-line",class:"ml-3"})]),_:1})):Se("",!0),y(d)&&y(W)||y(d)&&y(z)?(f(),h(T,{key:4})):Se("",!0),y(D)?(f(),h(_,{key:5,list:y(P)},null,8,["list"])):Se("",!0),y(F)?(f(),h(S,{key:6,list:y(P)},null,8,["list"])):Se("",!0)]),ce("div",Pa,[y(p)?(f(),ue("div",{key:0,class:"flex-cb w-40 h-9 px-2.5 c-p border border-g-400 rounded-custom-sm max-md:!hidden",onClick:J},[ce("div",ja,[Ie(L,{icon:"ri:search-line",class:"text-sm text-g-500"}),ce("span",Ba,me(e.$t("topBar.search.title")),1)]),ce("div",Wa,[y(t)?(f(),h(L,{key:0,icon:"vaadin:ctrl-a",class:"text-sm"})):(f(),h(L,{key:1,icon:"ri:command-fill",class:"text-xs"})),l[1]||(l[1]=ce("span",{class:"ml-0.5 text-xs"},"k",-1))])])):Se("",!0),y(m)?(f(),h(o,{key:1,icon:y(R)?"ri:fullscreen-exit-line":"ri:fullscreen-fill",class:de([[y(R)?"exit-full-screen-btn":"full-screen-btn","ml-3"],"max-md:!hidden"]),onClick:H},null,8,["icon","class"])):Se("",!0),y(v)?(f(),h(o,{key:2,icon:"ri:notification-2-line",class:"notice-button relative",onClick:te},{default:x(()=>[...l[2]||(l[2]=[ce("div",{class:"absolute top-2 right-2 size-1.5 !bg-danger rounded-full"},null,-1)])]),_:1})):Se("",!0),y(b)?(f(),h(o,{key:3,icon:"ri:message-3-line",class:"chat-button relative",onClick:le},{default:x(()=>[...l[3]||(l[3]=[ce("div",{class:"breathing-dot absolute top-2 right-2 size-1.5 !bg-success rounded-full"},null,-1)])]),_:1})):Se("",!0),y(g)?(f(),h($,{key:4,onCommand:K,"popper-class":"langDropDownStyle"},{dropdown:x(()=>[Ie(N,null,{default:x(()=>[(f(!0),ue(q,null,ge(y(nt),e=>(f(),ue("div",{key:e.value,class:"lang-btn-item"},[Ie(O,{command:e.value,class:de({"is-selected":y(a)===e.value})},{default:x(()=>[ce("span",za,me(e.label),1),y(a)===e.value?(f(),h(L,{key:0,icon:"ri:check-fill"})):Se("",!0)]),_:2},1032,["command","class"])]))),128))]),_:1})]),default:x(()=>[Ie(o,{icon:"hugeicons:global",class:"language-btn text-[19px]"})]),_:1})):Se("",!0),y(k)?(f(),ue("div",Na,[Ie(U,{visible:y(A),placement:"bottom-start",width:190,offset:0},{reference:x(()=>[ce("div",Da,[Ie(o,{icon:"ri:settings-line",class:"setting-btn",onClick:Q})])]),default:x(()=>[ce("p",null,[pe(me(e.$t("topBar.guide.title")),1),ce("span",{style:Ae({color:y(M)})},me(e.$t("topBar.guide.theme")),5),l[4]||(l[4]=pe("、 ",-1)),ce("span",{style:Ae({color:y(M)})},me(e.$t("topBar.guide.menu")),5),pe(me(e.$t("topBar.guide.description")),1)])]),_:1},8,["visible"])])):Se("",!0),y(w)?(f(),h(o,{key:6,onClick:y(st),icon:y(I)?"ri:sun-fill":"ri:moon-line"},null,8,["onClick","icon"])):Se("",!0),Ie(La)])],2),Ie(V),Ie(G,{value:y(j),"onUpdate:value":l[0]||(l[0]=e=>ot(j)?j.value=e:null),ref_key:"notice",ref:B},null,8,["value"])],2)}}})),[["__scopeId","data-v-986b7ce2"]]),Ra={class:"menu-icon flex-cc"},$a={class:"menu-name"},Ha={key:0,class:"art-badge",style:{right:"10px"}},Xa={class:"menu-icon flex-cc"},qa={class:"art-badge",style:{right:"5px"}},Ua={class:"menu-name"},Va={key:0,class:"art-badge"},Ya={key:1,class:"art-text-badge"},Za=m({__name:"SidebarSubmenu",props:{title:{default:""},list:{default:()=>[]},theme:{default:()=>({})},isMobile:{type:Boolean,default:!1},level:{default:0}},emits:["close"],setup(e,{emit:t}){const l=e,a=t,n=ke(),{menuOpen:s}=we(n),o=_(()=>c(l.list)),u=()=>{a("close")},c=e=>e.filter(e=>{if(e.meta.isHide)return!1;if(e.children&&e.children.length>0){return c(e.children).length>0}return!0}).map(e=>r(i({},e),{children:e.children?c(e.children):void 0})),d=e=>{if(!e.children||0===e.children.length)return!1;return c(e.children).length>0},p=e=>!(!e.meta.link||e.meta.isIframe),m=(e,t)=>`${e.path||e.meta.title||"menu"}-${l.level}-${t}`;return(t,l)=>{const a=ut,n=Be("SidebarSubmenu",!0),i=el,r=Jt;return f(!0),ue(q,null,ge(o.value,(t,l)=>(f(),ue(q,{key:m(t,l)},[d(t)?(f(),h(i,{key:0,index:t.path||t.meta.title,level:e.level},{title:x(()=>{var l;return[ce("div",Ra,[Ie(a,{icon:t.meta.icon,color:null==(l=e.theme)?void 0:l.iconColor,style:Ae({color:e.theme.iconColor})},null,8,["icon","color","style"])]),ce("span",$a,me(y(Ue)(t.meta.title)),1),t.meta.showBadge?(f(),ue("div",Ha)):Se("",!0)]}),default:x(()=>[Ie(n,{list:t.children,"is-mobile":e.isMobile,level:e.level+1,theme:e.theme,onClose:u},null,8,["list","is-mobile","level","theme"])]),_:2},1032,["index","level"])):(f(),h(r,{key:1,index:p(t)?void 0:t.path||t.meta.title,"level-item":e.level+1,onClick:e=>(e=>{u(),ll(e)})(t)},{title:x(()=>[ce("span",Ua,me(y(Ue)(t.meta.title)),1),t.meta.showBadge?(f(),ue("div",Va)):Se("",!0),t.meta.showTextBadge&&(e.level>0||y(s))?(f(),ue("div",Ya,me(t.meta.showTextBadge),1)):Se("",!0)]),default:x(()=>{var l;return[ce("div",Xa,[Ie(a,{icon:t.meta.icon,color:null==(l=e.theme)?void 0:l.iconColor,style:Ae({color:e.theme.iconColor})},null,8,["icon","color","style"])]),H(ce("div",qa,null,512),[[X,t.meta.showBadge&&0===e.level&&!y(s)]])]}),_:2},1032,["index","level-item","onClick"]))],64))),128)}}}),Ga=["onClick"],Ka={key:0,class:"text-md text-g-700"},Qa={key:1,class:"art-badge art-badge-dual"},Ja=ft(m(r(i({},{name:"ArtSidebarMenu"}),{__name:"index",setup(e){$e(e=>({v687e2f19:y(b),v47c0a5de:y(g)}));const t=it.CLOSE,l=Oe(),a=qe(),n=ke(),{getMenuOpenWidth:s,menuType:o,uniqueOpened:i,dualMenuShowText:r,menuOpen:u,getMenuTheme:c}=we(n),d=L([]),p=L(!1),m=L(!1),{width:v}=at(),b=_(()=>s.value),g=_(()=>t),k=_(()=>o.value===tt.TOP_LEFT),w=_(()=>o.value===tt.LEFT||o.value===tt.TOP_LEFT),C=_(()=>o.value===tt.DUAL_MENU),T=_(()=>v.value<800),M=_(()=>{var e;return null==(e=l.matched[0])?void 0:e.path}),A=_(()=>String(l.meta.activePath||l.path)),S=_(()=>et().menuList.filter(e=>!e.meta.isHide)),I=_(()=>{var e;const t=et().menuList;if(!k.value&&!C.value)return t;if(rt(l.path))return O(l.path,t);if(l.meta.isFirstLevel)return[];const a=`/${l.path.split("/")[1]}`,n=t.find(e=>e.path===a);return null!=(e=null==n?void 0:n.children)?e:[]}),{start:E}=Me(()=>{m.value=!1},350,{immediate:!1}),O=(e,t)=>{const l=t=>{for(const a of t){if(a.path===e)return!0;if(a.children&&l(a.children))return!0}return!1};for(const a of t)if(a.children&&l(a.children))return a.children;return[]},{homePath:P}=Ve(),j=()=>{a.push(P.value)},W=()=>{n.setMenuOpen(!u.value),T.value&&(u.value?E():m.value=!0)},z=()=>{T.value&&(n.setMenuOpen(!1),E())},N=()=>{n.setDualMenuShowText(!r.value)};return B(v,e=>{e<800?(n.setMenuOpen(!1),u.value||(m.value=!1)):m.value=!1}),B(u,e=>{T.value?e?m.value=!0:E():m.value=!1}),(e,t)=>{const a=At,n=ut,s=wt,o=yt,v=_t,b=Qt;return y(w)||y(C)?(f(),ue("div",{key:0,class:de(["layout-sidebar",{"no-border":0===y(I).length}])},[y(C)?(f(),ue("div",{key:0,class:"dual-menu-left",style:Ae({width:y(r)?"80px":"64px",background:y(c).background})},[Ie(a,{class:"logo",onClick:j}),Ie(o,{style:{height:"calc(100% - 135px)"}},{default:x(()=>[ce("ul",null,[(f(!0),ue(q,null,ge(y(S),t=>(f(),ue("li",{key:t.path,onClick:e=>y(ll)(t,!0)},[Ie(s,{class:"box-item",effect:"dark",content:e.$t(t.meta.title),placement:"right",offset:15,"hide-after":0,disabled:y(r)},{default:x(()=>[ce("div",{class:de({"is-active":t.meta.isFirstLevel?t.path===y(l).path:t.path===y(M)}),style:Ae({height:y(r)?"60px":"46px"})},[Ie(n,{class:"menu-icon text-g-700 dark:text-g-800",icon:t.meta.icon,style:Ae({marginBottom:y(r)?"5px":"0"})},null,8,["icon","style"]),y(r)?(f(),ue("span",Ka,me(e.$t(t.meta.title)),1)):Se("",!0),t.meta.showBadge?(f(),ue("div",Qa)):Se("",!0)],6)]),_:2},1032,["content","disabled"])],8,Ga))),128))])]),_:1}),Ie(v,{class:"switch-btn size-10",icon:"ri:arrow-left-right-fill",onClick:N})],4)):Se("",!0),H(ce("div",{class:de(["menu-left",`menu-left-${y(c).theme} menu-left-${y(u)?"open":"close"}`]),style:Ae({background:y(c).background})},[Ie(o,null,{default:x(()=>[ce("div",{class:"header",onClick:j,style:Ae({background:y(c).background})},[y(C)?Se("",!0):(f(),h(a,{key:0,class:"logo"})),ce("p",{class:de({"is-dual-menu-name":y(C)}),style:Ae({color:y(c).systemNameColor,opacity:y(u)?1:0})},me(y(Ge).systemInfo.name),7)],4),Ie(b,{class:de("el-menu-"+y(c).theme),collapse:!y(u),"default-active":y(A),"text-color":y(c).textColor,"unique-opened":y(i),"background-color":y(c).background,"default-openeds":y(d),"popper-class":`menu-left-popper menu-left-${y(c).theme}-popper`,"show-timeout":50,"hide-timeout":50},{default:x(()=>[Ie(Za,{list:y(I),isMobile:y(p),theme:y(c),onClose:z},null,8,["list","isMobile","theme"])]),_:1},8,["class","collapse","default-active","text-color","unique-opened","background-color","default-openeds","popper-class"])]),_:1}),ce("div",{class:"menu-model",onClick:W,style:Ae({opacity:y(u)?1:0,transform:y(m)?"scale(1)":"scale(0)"})},null,4)],6),[[X,y(I).length>0]])],2)):Se("",!0)}}})),[["__scopeId","data-v-82ffeb90"]]),en={class:"app-layout"},tn={id:"app-sidebar"},ln={id:"app-main"},an={id:"app-header"},nn={id:"app-content"},sn={id:"app-global"},on=ft(m(r(i({},{name:"AppLayout"}),{__name:"index",setup:e=>(e,t)=>{const l=Ja,a=Fa,n=pl,s=nl;return f(),ue("div",en,[ce("aside",tn,[Ie(l)]),ce("main",ln,[ce("div",an,[Ie(a)]),ce("div",nn,[Ie(n)])]),ce("div",sn,[Ie(s)])])}})),[["__scopeId","data-v-b1f4441a"]]);export{on as default}; diff --git a/nginx/admin/assets/index-BWpRQH81.js.gz b/nginx/admin/assets/index-BWpRQH81.js.gz new file mode 100644 index 0000000..89dae1d Binary files /dev/null and b/nginx/admin/assets/index-BWpRQH81.js.gz differ diff --git a/nginx/admin/assets/index-BXlsxSsn.js b/nginx/admin/assets/index-BXlsxSsn.js new file mode 100644 index 0000000..d76b1f4 --- /dev/null +++ b/nginx/admin/assets/index-BXlsxSsn.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,A=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,l=(a,t,A)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:A}):a[t]=A,n=(e,a,t)=>l(e,"symbol"!=typeof a?a+"":a,t),s=(e,a,t)=>new Promise((A,i)=>{var r=e=>{try{n(t.next(e))}catch(a){i(a)}},l=e=>{try{n(t.throw(e))}catch(a){i(a)}},n=e=>e.done?A(e.value):Promise.resolve(e.value).then(r,l);n((t=t.apply(e,a)).next())});import{d as o,r as c,o as h,eS as g,aU as R,aP as v,b as u,e as I}from"./index-BoIUJTA2.js";const d=o((E=((e,a)=>{for(var t in a||(a={}))i.call(a,t)&&l(e,t,a[t]);if(A)for(var t of A(a))r.call(a,t)&&l(e,t,a[t]);return e})({},{name:"ArtFireworksEffect"}),a(E,t({__name:"index",setup(e){const a={POOL_SIZE:600,PARTICLES_PER_BURST:200,SIZES:{RECTANGLE:{WIDTH:24,HEIGHT:12},SQUARE:{SIZE:12},CIRCLE:{SIZE:12},TRIANGLE:{SIZE:10},OVAL:{WIDTH:24,HEIGHT:12},IMAGE:{WIDTH:30,HEIGHT:30}},ROTATION:{BASE_SPEED:2,RANDOM_SPEED:3,DECAY:.98},PHYSICS:{GRAVITY:.525,VELOCITY_THRESHOLD:10,OPACITY_DECAY:.02},COLORS:["rgba(255, 68, 68, 1)","rgba(255, 68, 68, 0.9)","rgba(255, 68, 68, 0.8)","rgba(255, 116, 188, 1)","rgba(255, 116, 188, 0.9)","rgba(255, 116, 188, 0.8)","rgba(68, 68, 255, 0.8)","rgba(92, 202, 56, 0.7)","rgba(255, 68, 255, 0.8)","rgba(68, 255, 255, 0.7)","rgba(255, 136, 68, 0.7)","rgba(68, 136, 255, 1)","rgba(250, 198, 122, 0.8)"],SHAPES:["rectangle","rectangle","rectangle","rectangle","rectangle","rectangle","rectangle","circle","triangle","oval"]},t=c(),A=c(null),i=new class{constructor(){n(this,"particlePool",[]),n(this,"activeParticles",[]),n(this,"poolIndex",0),n(this,"imageCache",{}),n(this,"animationId",0),n(this,"canvasWidth",0),n(this,"canvasHeight",0),n(this,"animate",()=>{this.updateParticles(),this.render(),this.animationId=requestAnimationFrame(this.animate)}),this.initializePool()}initializePool(){for(let e=0;e{const A=new Image;A.crossOrigin="anonymous",A.onload=()=>{this.imageCache[e]=A,a(A)},A.onerror=t,A.src=e})})}preloadAllImages(){return s(this,null,function*(){const e=["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAMAAABrrFhUAAABQVBMVEUAAAD/RkT+0jf/RkX/RkX/RkX/RUT+0zj/RUX/RkX/RkT/RkX/1TX/0zj/RkX/RkX+0zj90zj/1Df/1Df/RUX70zj/RUXtPDz/RUX/RkX/1Dj/RUX/RkX/RkX/1zr+0zj/RkX/RkX/RkX/RkTgLDf/REP/RkX/0zj/RkX/RkT+0zf/RkXiLTj/RkX90zj/RkX/RkX/RkX/RkT90zb/2Tn/R0f/RkX/RkX/RkX/0zj+0zj/RUX/RUX/wz3+0zj/RkXhLDj+0zj/RkX/1DjhLTj/RkX/RUX/0zr/RkX/RUX/Rkb/RkX/RkT+1Dj/0zj/R0P/RkbgLTj+1DfgLTjiLTfiLTj/0zniLTfgLDj/0zj/RkXhLTj/RkT/RUX/0zfiKzr70zf5zjf/RkT/1Dj90TjhLTn/1DjfLTb/RkX+0zjhLTgh5HNjAAAAaHRSTlMAgHCMYTMlv6udmHIR5c/Kqoh3WUFALgn34N24sIgJ9ujFvJNCEPvSVPHQwb+nnYN4b1hOGw3k3NS0rV1FBfzs3MtkZFdJOjcgFxTZo19SOCn67+qvn52PgHppZVBNRTUvKhyggNSkUG43X4EAAAbpSURBVHja7NtnVxpBFAbglw5BwYIUKyUQSGJBJbYYo7FroumJiSmm3eH//4AEtrhsFtwSliFnnk8eP3B2X5bZmTt3IAiCIAiCIAiCIAiCYFJgx8MVfxIuOgpvEXe2JoNwyX6FuJRehCuixK0duCBBHDtH19VWiWP5FLptg7jmR7f5iGsFdFuOuBZHtxHnoCMCEAGIAEQAIgARgAhABCACEAGIAEQAIgARgAhABCACEAGIAEQAIgARgAhABCACEAGIAEQAIgARgAjAunni2hSM8Nkjk42HfdWPH6u+cDxL/8gtuOAWORe7VS5Co3jpy5FzObgi4vRrWryCgaOy42hrcMeso9sPoK2AswgO4ZZJh7ffnQj24Z482TIRwI0CE2RPEm665/gdNf1p1Ds8t7Y2N+wd/TQNjSmun3+/7QQyZagOvodYizXvAVTlDFlWVC6v2ygKidUn9fo8w+bIODNwZ2QTsuAkWZOGJOrGVNhj60mdgGJ0m7WxPWpzmI1B4iE3AlATKJN5+RokB+usg/UDSGp5Mi8MicetxZDH8tmJ3BEkT9gNvJAc5cisefX+3QpATSB5QqbEDiEZYTd6A8lhjEypbEDicXM5fArJ1YSpa0xCMsRM2FbSrZAJ8TNITt2tB8RTaEpF6GZRSF4wU2YsnM6KHMvXEXe7ILKVhMT/wOwLYJyZtG32TfvAD0lyqwcVoTIkwVnqqLSPpjVm2jCa9kvU0WwQknJvSmILkF1kqQMPmoaZBV5lXOsgewHZQq9qgpEaJOfhGycpT5klo2iKUVvhc0hqkd4VReN7kFWznUfAzbvMkrubncfBbBWyRLynVWEPZIe+kvE4dYwGL7PIi4Zj4xG25DuEbKHXZfGJM8gCkfbTtIFxphG6Y7gYCjGN8YH2RehIALJguPf7ApUqFA8nSS8dRMN7pjEELD9Zn2EaM+tPloHvTOO9dIdp0pt8CMVihouNkXAQisWcYZ16YJBpjKFpbPiO/NUPK/9hGoMDhjXo3CIUKR8vO0OZHaj8edKSLneUaY1Asbzk9S4tA4Yrhado8JNW3g/V3j2Otsbyl1AlImlSBdHwhmmFAPx69xkan9/9AhBiWkNoCJAqHUlAdXbK2d7gaQCqoOekpVIzPcNaTAOP6/WXr3dTAJDaff2yXn8MTOuWBNNoKJHkxBOE6rzA3+ZoyXcFVUr+JeTRsMRaPWsE0HT/D+mvx8Azw8lQTH72U1Adz1e43B1+EN3EtX3fCdG84Sp4Dnhb13kLzLFWQ8oouFJIQCO6wu32eKx6jGvFjdk9NOhngYPA7brObWBQPxtEQzm8U8S142qM6/6ArC8ADenSB5nOF+B5vcVz4AvTGVQ/QhXwZYn7BonwJXQeMZ0R4FW9xSuDctkj6FyGOWiQIBNyF0VoDDC9EPCh3uIDEGJ6A9AoXuS46BAhUzKFvRQUX5ne+F+DwG2jgtFXqB4WMpy0yJBZK4XykTrD1TMKgCn0c+ba3tQqPz1CZMFKpAbnT4AvxlWTFFlyDudjwAlfXWJkScL5W+Co1M8BbDifB+xz1idIliw4nwlu9HUABedrgfm+DiDsfDV42tcBrLarB/zQ1wN+tKsHrPZ1AJRsUxHa1VeEdttUhIK8NUuTNVNOa4LRPg8g47QqfK/PA6A9h/sC3J0XIItuOdsZqvZ9AFtXTvYGMdH3AdCUk91hP39HZsiqdNJ+f0Bx9T8IgCL2O0TmOTw0RdYl7PYIBdL/RwBhu11iszwemyMbFuz1CS5weW6Q7Nix0ym6w+fBSbLlzHqv8BmnJ0fJlgqsdouj8l8FQBnIDr6xDr4dQJbh9eww2RSDYqztSDA0BkWM28PTZFc6CcXST4P3wYtvS1Ak0/yeHv/Nzt2jJhBGYRi9oI0YmMZGdIIg2Aw2NkqU7CBZgXW4+19BOpkM+YGMI9/AeZZw2st98/+d49bT28vrlxPAx/tz3DqX/D6fPZpEu/bfYLSbFL0fkH2qpvFn06rsAYXsV3OIXzs0pS9IZN9W1/ix66r8CY3sX1Uv4psWdTWGDZG8S8dtx2CxPY5kRCXv1W5zatazup6tm9NmN54VmSy86AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgCy86AQAAAAAAAAAAAAAAAAAAAAAAAAAAAACAPi2z6JYxdPssun0M3TyLbh5Dd8miu8TgbbPg9vGAjllu8ZA+26ljEoBCKACA75f4k4sNnJwE69g/gQkEJxG8C3F5XKr/sfRChF8c00qq4yo1lRYAAAAAOyYRVDCYSQSkpQAAAABJRU5ErkJggg==","/admin/assets/sd-C0PQtrty.png","/admin/assets/yd-BrGqJ6Cs.png"];try{yield Promise.all(e.map(e=>this.preloadImage(e)))}catch(a){}})}createFirework(e){const t=Math.random()*this.canvasWidth,A=this.canvasHeight,i=e&&this.imageCache[e]?["image"]:a.SHAPES,r=[];for(let l=0;l.5?1:-1),n.scale=.8+.4*Math.random(),n.shape=i[Math.floor(Math.random()*i.length)],n.opacity=1,n.imageUrl=e&&this.imageCache[e]?e:void 0,r.push(n)}this.activeParticles.push(...r)}updateParticles(){const{GRAVITY:e,VELOCITY_THRESHOLD:t,OPACITY_DECAY:A}=a.PHYSICS,{DECAY:i}=a.ROTATION;for(let a=this.activeParticles.length-1;a>=0;a--){const r=this.activeParticles[a];r.x+=r.vx,r.y+=r.vy,r.vy+=e,r.rotation+=r.rotationSpeed,r.rotationSpeed*=i,(r.vy>t&&(r.opacity-=A,r.opacity<=0)||this.isOutOfBounds(r))&&this.recycleParticle(a)}}recycleParticle(e){this.activeParticles[e].active=!1,this.activeParticles.splice(e,1)}isOutOfBounds(e){const a=100;return e.x<-100||e.x>this.canvasWidth+a||e.y<-100||e.y>this.canvasHeight+a}drawParticle(e){A.value&&(A.value.save(),A.value.globalAlpha=e.opacity,A.value.translate(e.x,e.y),A.value.rotate(e.rotation*Math.PI/180),A.value.scale(e.scale,e.scale),this.renderShape(e),A.value.restore())}renderShape(e){if(!A.value)return;const{SIZES:t}=a;switch(A.value.fillStyle=e.color,e.shape){case"rectangle":A.value.fillRect(-12,-6,t.RECTANGLE.WIDTH,t.RECTANGLE.HEIGHT);break;case"square":A.value.fillRect(-6,-6,t.SQUARE.SIZE,t.SQUARE.SIZE);break;case"circle":A.value.beginPath(),A.value.arc(0,0,t.CIRCLE.SIZE/2,0,2*Math.PI),A.value.fill();break;case"triangle":A.value.beginPath(),A.value.moveTo(0,-10),A.value.lineTo(t.TRIANGLE.SIZE,t.TRIANGLE.SIZE),A.value.lineTo(-10,t.TRIANGLE.SIZE),A.value.closePath(),A.value.fill();break;case"oval":A.value.beginPath(),A.value.ellipse(0,0,t.OVAL.WIDTH/2,t.OVAL.HEIGHT/2,0,0,2*Math.PI),A.value.fill();break;case"image":this.renderImage(e)}}renderImage(e){if(!A.value||!e.imageUrl)return;const t=this.imageCache[e.imageUrl];if(null==t?void 0:t.complete){const{WIDTH:e,HEIGHT:i}=a.SIZES.IMAGE;A.value.drawImage(t,-e/2,-i/2,e,i)}}render(){if(A.value&&t.value){A.value.clearRect(0,0,this.canvasWidth,this.canvasHeight),A.value.globalCompositeOperation="lighter";for(const e of this.activeParticles)this.drawParticle(e)}}updateCanvasSize(e,a){this.canvasWidth=e,this.canvasHeight=a}start(){this.animate()}stop(){this.animationId&&(cancelAnimationFrame(this.animationId),this.animationId=0)}getActiveParticleCount(){return this.activeParticles.length}},r=e=>{(e.ctrlKey&&e.shiftKey&&"p"===e.key.toLowerCase()||e.metaKey&&e.shiftKey&&"p"===e.key.toLowerCase())&&(e.preventDefault(),i.createFirework())},l=()=>{if(!t.value)return;const{innerWidth:e,innerHeight:a}=window;t.value.width=e,t.value.height=a,i.updateCanvasSize(e,a)},o=e=>{const a=e;i.createFirework(a)};return h(()=>s(this,null,function*(){t.value&&(A.value=t.value.getContext("2d"),A.value&&(l(),yield i.preloadAllImages(),i.start(),g(window,"keydown",r),g(window,"resize",l),R.on("triggerFireworks",o)))})),v(()=>{i.stop(),R.off("triggerFireworks",o)}),(e,a)=>(I(),u("canvas",{ref_key:"canvasRef",ref:t,class:"fixed top-0 left-0 z-[9999] w-full h-full pointer-events-none"},null,512))}}))));var E;export{d as default}; diff --git a/nginx/admin/assets/index-BZThgDKa.css b/nginx/admin/assets/index-BZThgDKa.css new file mode 100644 index 0000000..0ea0dbc --- /dev/null +++ b/nginx/admin/assets/index-BZThgDKa.css @@ -0,0 +1 @@ +.page-content[data-v-ea7e9753]{padding:20px}.query-bar[data-v-ea7e9753]{background:var(--el-bg-color);padding:20px;border-radius:4px;margin-bottom:20px}.result-section[data-v-ea7e9753]{background:var(--el-bg-color);border-radius:4px}.text-danger[data-v-ea7e9753]{color:var(--el-color-danger)}.text-warning[data-v-ea7e9753]{color:var(--el-color-warning)}.text-success[data-v-ea7e9753]{color:var(--el-color-success)}.mb-4[data-v-ea7e9753]{margin-bottom:1rem}.stat-value[data-v-ea7e9753]{font-size:24px;font-weight:700;text-align:center}.text-primary[data-v-ea7e9753]{color:var(--el-color-primary)}[data-v-ea7e9753] .optimization-confirm-box{width:600px;max-width:90%}[data-v-ea7e9753] .optimization-confirm-box .el-message-box__message{white-space:pre-wrap;max-height:400px;overflow-y:auto;font-family:monospace;font-size:13px;line-height:1.6} diff --git a/nginx/admin/assets/index-B_Kz8Jyy.css b/nginx/admin/assets/index-B_Kz8Jyy.css new file mode 100644 index 0000000..1cce409 --- /dev/null +++ b/nginx/admin/assets/index-B_Kz8Jyy.css @@ -0,0 +1 @@ +.console-container[data-v-6a88fc8e]{animation:fadeIn-6a88fc8e .8s ease-out}@keyframes fadeIn-6a88fc8e{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.glass-search-bar[data-v-6a88fc8e]{background:#fff9;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4);border-radius:16px;box-shadow:0 4px 20px #00000008}.dark .glass-search-bar[data-v-6a88fc8e]{background:#19191e99;border:1px solid rgba(255,255,255,.05)}.premium-tabs[data-v-6a88fc8e] .el-tabs__nav-wrap:after{display:none}.premium-tabs[data-v-6a88fc8e] .el-tabs__active-bar{height:3px;border-radius:3px;background:linear-gradient(90deg,var(--art-primary),var(--art-info))}.premium-tabs[data-v-6a88fc8e] .el-tab-pane{transition:all .3s}.tab-label[data-v-6a88fc8e]{padding:0 4px;transition:all .3s}.tab-label[data-v-6a88fc8e]:hover{transform:translateY(-1px);color:var(--art-primary)}.premium-radio[data-v-6a88fc8e] .el-radio-button__inner{border:none!important;background:transparent!important;font-weight:600;transition:.3s}.premium-radio[data-v-6a88fc8e] .el-radio-button.is-active .el-radio-button__inner{color:var(--art-primary)!important;background:var(--art-primary-light-9)!important;box-shadow:inset 0 0 0 1px var(--art-primary-light-5)!important;border-radius:8px} diff --git a/nginx/admin/assets/index-BaD29Izp.js b/nginx/admin/assets/index-BaD29Izp.js new file mode 100644 index 0000000..c4b8d62 --- /dev/null +++ b/nginx/admin/assets/index-BaD29Izp.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,s=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,l=(a,s,r)=>s in a?e(a,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[s]=r;import{a8 as d,at as i,a0 as n,d as f,dn as y,a1 as p,b as c,e as b,i as v,f as u,q as h,p as g,s as w,j as O,v as S,m as j,az as m}from"./index-BoIUJTA2.js";const C=d({header:{type:String,default:""},footer:{type:String,default:""},bodyStyle:{type:i([String,Object,Array]),default:""},headerClass:String,bodyClass:String,footerClass:String,shadow:{type:String,values:["always","hover","never"],default:void 0}}),$=f({name:"ElCard"}),P=f((E=((e,a)=>{for(var s in a||(a={}))t.call(a,s)&&l(e,s,a[s]);if(r)for(var s of r(a))o.call(a,s)&&l(e,s,a[s]);return e})({},$),a(E,s({props:C,setup(e){const a=y("card"),s=p("card");return(e,r)=>{var t;return b(),c("div",{class:h([g(s).b(),g(s).is(`${e.shadow||(null==(t=g(a))?void 0:t.shadow)||"always"}-shadow`)])},[e.$slots.header||e.header?(b(),c("div",{key:0,class:h([g(s).e("header"),e.headerClass])},[w(e.$slots,"header",{},()=>[O(S(e.header),1)])],2)):v("v-if",!0),u("div",{class:h([g(s).e("body"),e.bodyClass]),style:j(e.bodyStyle)},[w(e.$slots,"default")],6),e.$slots.footer||e.footer?(b(),c("div",{key:1,class:h([g(s).e("footer"),e.footerClass])},[w(e.$slots,"footer",{},()=>[O(S(e.footer),1)])],2)):v("v-if",!0)],2)}}}))));var E;const k=m(n(P,[["__file","card.vue"]]));export{k as E}; diff --git a/nginx/admin/assets/index-BaXJ8CyS.js b/nginx/admin/assets/index-BaXJ8CyS.js new file mode 100644 index 0000000..071df49 --- /dev/null +++ b/nginx/admin/assets/index-BaXJ8CyS.js @@ -0,0 +1,7 @@ +var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,a=(t,n,o)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[n]=o;import{d as l,c as s,t as c,p as u,r as d,k as h,ag as f,af as p,A as v,o as m,n as g,aP as b,M as y,dS as w,z as _,dT as S,y as E,b as D,e as x,f as T,s as C,i as O,h as A,q as k,g as I,w as M,I as N,J as P,j,v as B}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css */import{E as X,a as Y,b as R}from"./el-dropdown-item-D7SYN_RE.js";/* empty css */import{_ as F}from"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import{T as L,u as V}from"./index-Bwtbh5WQ.js";/* empty css */import{E as H}from"./index-Cp4NEpJ7.js";import{E as z}from"./index-D8nVJoNy.js";import{E as U}from"./index-CZJaGuxf.js";import{_ as W}from"./_plugin-vue_export-helper-BCo6x5W8.js";var q=Object.defineProperty,$=Object.getOwnPropertySymbols,G=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable,J=(e,t,n)=>t in e?q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t)=>{for(var n in t||(t={}))G.call(t,n)&&J(e,n,t[n]);if($)for(var n of $(t))Z.call(t,n)&&J(e,n,t[n]);return e},K=(e,t)=>{var n={};for(var o in e)G.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&$)for(var o of $(e))t.indexOf(o)<0&&Z.call(e,o)&&(n[o]=e[o]);return n};function ee(e,t,n){return n>=0&&n{t(n,e[n])})}const ae=Object.assign; +/**! + * Sortable 1.15.2 + * @author RubaXa + * @author owenm + * @license MIT + */function le(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function se(e){for(var t=1;t=0)&&(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function fe(e){if("undefined"!=typeof window&&window.navigator)return!!navigator.userAgent.match(e)}var pe=fe(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),ve=fe(/Edge/i),me=fe(/firefox/i),ge=fe(/safari/i)&&!fe(/chrome/i)&&!fe(/android/i),be=fe(/iP(ad|od|hone)/i),ye=fe(/chrome/i)&&fe(/android/i),we={capture:!1,passive:!1};function _e(e,t,n){e.addEventListener(t,n,!pe&&we)}function Se(e,t,n){e.removeEventListener(t,n,!pe&&we)}function Ee(e,t){if(t){if(">"===t[0]&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch(n){return!1}return!1}}function De(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function xe(e,t,n,o){if(e){n=n||document;do{if(null!=t&&(">"===t[0]?e.parentNode===n&&Ee(e,t):Ee(e,t))||o&&e===n)return e;if(e===n)break}while(e=De(e))}return null}var Te,Ce=/\s+/g;function Oe(e,t,n){if(e&&t)if(e.classList)e.classList[n?"add":"remove"](t);else{var o=(" "+e.className+" ").replace(Ce," ").replace(" "+t+" "," ");e.className=(o+(n?" "+t:"")).replace(Ce," ")}}function Ae(e,t,n){var o=e&&e.style;if(o){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(n=e.currentStyle),void 0===t?n:n[t];!(t in o)&&-1===t.indexOf("webkit")&&(t="-webkit-"+t),o[t]=n+("string"==typeof n?"":"px")}}function ke(e,t){var n="";if("string"==typeof e)n=e;else do{var o=Ae(e,"transform");o&&"none"!==o&&(n=o+" "+n)}while(!t&&(e=e.parentNode));var r=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return r&&new r(n)}function Ie(e,t,n){if(e){var o=e.getElementsByTagName(t),r=0,i=o.length;if(n)for(;r=Ne(o)[n]))return o;if(o===Me())break;o=Re(o,!1)}return!1}function je(e,t,n,o){for(var r=0,i=0,a=e.children;i2&&void 0!==arguments[2]?arguments[2]:{},o=n.evt,r=he(n,Ze);Ge.pluginEvent.bind(Ht)(e,t,se({dragEl:Ke,parentEl:et,ghostEl:tt,rootEl:nt,nextEl:ot,lastDownEl:rt,cloneEl:it,cloneHidden:at,dragStarted:yt,putSortable:ht,activeSortable:Ht.active,originalEvent:o,oldIndex:lt,oldDraggableIndex:ct,newIndex:st,newDraggableIndex:ut,hideGhostForTarget:Rt,unhideGhostForTarget:Ft,cloneNowHidden:function(){at=!0},cloneNowShown:function(){at=!1},dispatchSortableEvent:function(e){Qe({sortable:t,name:e,originalEvent:o})}},r))};function Qe(e){!function(e){var t=e.sortable,n=e.rootEl,o=e.name,r=e.targetEl,i=e.cloneEl,a=e.toEl,l=e.fromEl,s=e.oldIndex,c=e.newIndex,u=e.oldDraggableIndex,d=e.newDraggableIndex,h=e.originalEvent,f=e.putSortable,p=e.extraEventProperties;if(t=t||n&&n[Ue]){var v,m=t.options,g="on"+o.charAt(0).toUpperCase()+o.substr(1);!window.CustomEvent||pe||ve?(v=document.createEvent("Event")).initEvent(o,!0,!0):v=new CustomEvent(o,{bubbles:!0,cancelable:!0}),v.to=a||n,v.from=l||n,v.item=r||n,v.clone=i,v.oldIndex=s,v.newIndex=c,v.oldDraggableIndex=u,v.newDraggableIndex=d,v.originalEvent=h,v.pullMode=f?f.lastPutMode:void 0;var b=se(se({},p),Ge.getEventProperties(o,t));for(var y in b)v[y]=b[y];n&&n.dispatchEvent(v),m[g]&&m[g].call(t,v)}}(se({putSortable:ht,cloneEl:it,targetEl:Ke,rootEl:nt,oldIndex:lt,oldDraggableIndex:ct,newIndex:st,newDraggableIndex:ut},e))}var Ke,et,tt,nt,ot,rt,it,at,lt,st,ct,ut,dt,ht,ft,pt,vt,mt,gt,bt,yt,wt,_t,St,Et,Dt=!1,xt=!1,Tt=[],Ct=!1,Ot=!1,At=[],kt=!1,It=[],Mt="undefined"!=typeof document,Nt=be,Pt=ve||pe?"cssFloat":"float",jt=Mt&&!ye&&!be&&"draggable"in document.createElement("div"),Bt=function(){if(Mt){if(pe)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}}(),Xt=function(e,t){var n=Ae(e),o=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),r=je(e,0,t),i=je(e,1,t),a=r&&Ae(r),l=i&&Ae(i),s=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+Ne(r).width,c=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+Ne(i).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(r&&a.float&&"none"!==a.float){var u="left"===a.float?"left":"right";return!i||"both"!==l.clear&&l.clear!==u?"horizontal":"vertical"}return r&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||s>=o&&"none"===n[Pt]||i&&"none"===n[Pt]&&s+c>o)?"vertical":"horizontal"},Yt=function(e){function t(e,n){return function(o,r,i,a){var l=o.options.group.name&&r.options.group.name&&o.options.group.name===r.options.group.name;if(null==e&&(n||l))return!0;if(null==e||!1===e)return!1;if(n&&"clone"===e)return e;if("function"==typeof e)return t(e(o,r,i,a),n)(o,r,i,a);var s=(n?o:r).options.group.name;return!0===e||"string"==typeof e&&e===s||e.join&&e.indexOf(s)>-1}}var n={},o=e.group;(!o||"object"!=ce(o))&&(o={name:o}),n.name=o.name,n.checkPull=t(o.pull,!0),n.checkPut=t(o.put),n.revertClone=o.revertClone,e.group=n},Rt=function(){!Bt&&tt&&Ae(tt,"display","none")},Ft=function(){!Bt&&tt&&Ae(tt,"display","")};Mt&&!ye&&document.addEventListener("click",function(e){if(xt)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),xt=!1,!1},!0);var Lt=function(e){if(Ke){var t=function(e,t){var n;return Tt.some(function(o){var r=o[Ue].options.emptyInsertThreshold;if(r&&!Be(o)){var i=Ne(o),a=e>=i.left-r&&e<=i.right+r,l=t>=i.top-r&&t<=i.bottom+r;if(a&&l)return n=o}}),n}((e=e.touches?e.touches[0]:e).clientX,e.clientY);if(t){var n={};for(var o in e)e.hasOwnProperty(o)&&(n[o]=e[o]);n.target=n.rootEl=t,n.preventDefault=void 0,n.stopPropagation=void 0,t[Ue]._onDragOver(n)}}},Vt=function(e){Ke&&Ke.parentNode[Ue]._isOutsideThisEl(e.target)};function Ht(e,t){if(!e||!e.nodeType||1!==e.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=de({},t),e[Ue]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Xt(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,t){e.setData("Text",t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Ht.supportPointer&&"PointerEvent"in window&&!ge,emptyInsertThreshold:5};for(var o in Ge.initializePlugins(this,e,n),n)!(o in t)&&(t[o]=n[o]);for(var r in Yt(t),this)"_"===r.charAt(0)&&"function"==typeof this[r]&&(this[r]=this[r].bind(this));this.nativeDraggable=!t.forceFallback&&jt,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?_e(e,"pointerdown",this._onTapStart):(_e(e,"mousedown",this._onTapStart),_e(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(_e(e,"dragover",this),_e(e,"dragenter",this)),Tt.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),de(this,We())}function zt(e,t,n,o,r,i,a,l){var s,c,u=e[Ue],d=u.options.onMove;return!window.CustomEvent||pe||ve?(s=document.createEvent("Event")).initEvent("move",!0,!0):s=new CustomEvent("move",{bubbles:!0,cancelable:!0}),s.to=t,s.from=e,s.dragged=n,s.draggedRect=o,s.related=r||t,s.relatedRect=i||Ne(t),s.willInsertAfter=l,s.originalEvent=a,e.dispatchEvent(s),d&&(c=d.call(u,s,a)),c}function Ut(e){e.draggable=!1}function Wt(){kt=!1}function qt(e){for(var t=e.tagName+e.className+e.src+e.href+e.textContent,n=t.length,o=0;n--;)o+=t.charCodeAt(n);return o.toString(36)}function $t(e){return setTimeout(e,0)}function Gt(e){return clearTimeout(e)}Ht.prototype={constructor:Ht,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(wt=null)},_getDirection:function(e,t){return"function"==typeof this.options.direction?this.options.direction.call(this,e,t,Ke):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,n=this.el,o=this.options,r=o.preventOnFilter,i=e.type,a=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,l=(a||e).target,s=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||l,c=o.filter;if(function(e){It.length=0;for(var t=e.getElementsByTagName("input"),n=t.length;n--;){var o=t[n];o.checked&&It.push(o)}}(n),!Ke&&!(/mousedown|pointerdown/.test(i)&&0!==e.button||o.disabled)&&!s.isContentEditable&&(this.nativeDraggable||!ge||!l||"SELECT"!==l.tagName.toUpperCase())&&!((l=xe(l,o.draggable,n,!1))&&l.animated||rt===l)){if(lt=Xe(l),ct=Xe(l,o.draggable),"function"==typeof c){if(c.call(this,e,l,this))return Qe({sortable:t,rootEl:s,name:"filter",targetEl:l,toEl:n,fromEl:n}),Je("filter",t,{evt:e}),void(r&&e.cancelable&&e.preventDefault())}else if(c&&(c=c.split(",").some(function(o){if(o=xe(s,o.trim(),n,!1))return Qe({sortable:t,rootEl:o,name:"filter",targetEl:l,fromEl:n,toEl:n}),Je("filter",t,{evt:e}),!0})))return void(r&&e.cancelable&&e.preventDefault());o.handle&&!xe(s,o.handle,n,!1)||this._prepareDragStart(e,a,l)}}},_prepareDragStart:function(e,t,n){var o,r=this,i=r.el,a=r.options,l=i.ownerDocument;if(n&&!Ke&&n.parentNode===i){var s=Ne(n);if(nt=i,et=(Ke=n).parentNode,ot=Ke.nextSibling,rt=n,dt=a.group,Ht.dragged=Ke,ft={target:Ke,clientX:(t||e).clientX,clientY:(t||e).clientY},gt=ft.clientX-s.left,bt=ft.clientY-s.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,Ke.style["will-change"]="all",o=function(){Je("delayEnded",r,{evt:e}),Ht.eventCanceled?r._onDrop():(r._disableDelayedDragEvents(),!me&&r.nativeDraggable&&(Ke.draggable=!0),r._triggerDragStart(e,t),Qe({sortable:r,name:"choose",originalEvent:e}),Oe(Ke,a.chosenClass,!0))},a.ignore.split(",").forEach(function(e){Ie(Ke,e.trim(),Ut)}),_e(l,"dragover",Lt),_e(l,"mousemove",Lt),_e(l,"touchmove",Lt),_e(l,"mouseup",r._onDrop),_e(l,"touchend",r._onDrop),_e(l,"touchcancel",r._onDrop),me&&this.nativeDraggable&&(this.options.touchStartThreshold=4,Ke.draggable=!0),Je("delayStart",this,{evt:e}),!a.delay||a.delayOnTouchOnly&&!t||this.nativeDraggable&&(ve||pe))o();else{if(Ht.eventCanceled)return void this._onDrop();_e(l,"mouseup",r._disableDelayedDrag),_e(l,"touchend",r._disableDelayedDrag),_e(l,"touchcancel",r._disableDelayedDrag),_e(l,"mousemove",r._delayedDragTouchMoveHandler),_e(l,"touchmove",r._delayedDragTouchMoveHandler),a.supportPointer&&_e(l,"pointermove",r._delayedDragTouchMoveHandler),r._dragStartTimer=setTimeout(o,a.delay)}}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){Ke&&Ut(Ke),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;Se(e,"mouseup",this._disableDelayedDrag),Se(e,"touchend",this._disableDelayedDrag),Se(e,"touchcancel",this._disableDelayedDrag),Se(e,"mousemove",this._delayedDragTouchMoveHandler),Se(e,"touchmove",this._delayedDragTouchMoveHandler),Se(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||"touch"==e.pointerType&&e,!this.nativeDraggable||t?this.options.supportPointer?_e(document,"pointermove",this._onTouchMove):_e(document,t?"touchmove":"mousemove",this._onTouchMove):(_e(Ke,"dragend",this),_e(nt,"dragstart",this._onDragStart));try{document.selection?$t(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(n){}},_dragStarted:function(e,t){if(Dt=!1,nt&&Ke){Je("dragStarted",this,{evt:t}),this.nativeDraggable&&_e(document,"dragover",Vt);var n=this.options;!e&&Oe(Ke,n.dragClass,!1),Oe(Ke,n.ghostClass,!0),Ht.active=this,e&&this._appendGhost(),Qe({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(pt){this._lastX=pt.clientX,this._lastY=pt.clientY,Rt();for(var e=document.elementFromPoint(pt.clientX,pt.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(pt.clientX,pt.clientY))!==t;)t=e;if(Ke.parentNode[Ue]._isOutsideThisEl(e),t)do{if(t[Ue]){if(t[Ue]._onDragOver({clientX:pt.clientX,clientY:pt.clientY,target:e,rootEl:t})&&!this.options.dragoverBubble)break}e=t}while(t=t.parentNode);Ft()}},_onTouchMove:function(e){if(ft){var t=this.options,n=t.fallbackTolerance,o=t.fallbackOffset,r=e.touches?e.touches[0]:e,i=tt&&ke(tt,!0),a=tt&&i&&i.a,l=tt&&i&&i.d,s=Nt&&Et&&Ye(Et),c=(r.clientX-ft.clientX+o.x)/(a||1)+(s?s[0]-At[0]:0)/(a||1),u=(r.clientY-ft.clientY+o.y)/(l||1)+(s?s[1]-At[1]:0)/(l||1);if(!Ht.active&&!Dt){if(n&&Math.max(Math.abs(r.clientX-this._lastX),Math.abs(r.clientY-this._lastY))r.right+i||e.clientY>o.bottom&&e.clientX>o.left:e.clientY>r.bottom+i||e.clientX>o.right&&e.clientY>o.top}(e,r,this)&&!v.animated){if(v===Ke)return I(!1);if(v&&i===e.target&&(a=v),a&&(n=Ne(a)),!1!==zt(nt,i,Ke,t,a,n,e,!!a))return k(),v&&v.nextSibling?i.insertBefore(Ke,v.nextSibling):i.appendChild(Ke),et=i,M(),I(!0)}else if(v&&function(e,t,n){var o=Ne(je(n.el,0,n.options,!0)),r=ze(n.el,n.options,tt),i=10;return t?e.clientXu+c*i/2:sd-St)return-_t}else if(s>u+c*(1-r)/2&&sd-c*i/2)?s>u+c/2?1:-1:0}(e,a,n,r,_?1:l.swapThreshold,null==l.invertedSwapThreshold?l.swapThreshold:l.invertedSwapThreshold,Ot,wt===a),0!==g){var x=Xe(Ke);do{x-=g,y=et.children[x]}while(y&&("none"===Ae(y,"display")||y===tt))}if(0===g||y===a)return I(!1);wt=a,_t=g;var T=a.nextElementSibling,C=!1,O=zt(nt,i,Ke,t,a,n,e,C=1===g);if(!1!==O)return(1===O||-1===O)&&(C=1===O),kt=!0,setTimeout(Wt,30),k(),C&&!T?i.appendChild(Ke):a.parentNode.insertBefore(Ke,C?T:a),E&&Ve(E,0,D-E.scrollTop),et=Ke.parentNode,void 0!==b&&!Ot&&(St=Math.abs(b-Ne(a)[S])),M(),I(!0)}if(i.contains(Ke))return I(!1)}return!1}function A(l,s){Je(l,f,se({evt:e,isOwner:u,axis:r?"vertical":"horizontal",revert:o,dragRect:t,targetRect:n,canSort:d,fromSortable:h,target:a,completed:I,onMove:function(n,o){return zt(nt,i,Ke,t,n,Ne(n),e,o)},changed:M},s))}function k(){A("dragOverAnimationCapture"),f.captureAnimationState(),f!==h&&h.captureAnimationState()}function I(t){return A("dragOverCompleted",{insertion:t}),t&&(u?c._hideClone():c._showClone(f),f!==h&&(Oe(Ke,ht?ht.options.ghostClass:c.options.ghostClass,!1),Oe(Ke,l.ghostClass,!0)),ht!==f&&f!==Ht.active?ht=f:f===Ht.active&&ht&&(ht=null),h===f&&(f._ignoreWhileAnimating=a),f.animateAll(function(){A("dragOverAnimationComplete"),f._ignoreWhileAnimating=null}),f!==h&&(h.animateAll(),h._ignoreWhileAnimating=null)),(a===Ke&&!Ke.animated||a===i&&!a.animated)&&(wt=null),!l.dragoverBubble&&!e.rootEl&&a!==document&&(Ke.parentNode[Ue]._isOutsideThisEl(e.target),!t&&Lt(e)),!l.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),p=!0}function M(){st=Xe(Ke),ut=Xe(Ke,l.draggable),Qe({sortable:f,name:"change",toEl:i,newIndex:st,newDraggableIndex:ut,originalEvent:e})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){Se(document,"mousemove",this._onTouchMove),Se(document,"touchmove",this._onTouchMove),Se(document,"pointermove",this._onTouchMove),Se(document,"dragover",Lt),Se(document,"mousemove",Lt),Se(document,"touchmove",Lt)},_offUpEvents:function(){var e=this.el.ownerDocument;Se(e,"mouseup",this._onDrop),Se(e,"touchend",this._onDrop),Se(e,"pointerup",this._onDrop),Se(e,"touchcancel",this._onDrop),Se(document,"selectstart",this)},_onDrop:function(e){var t=this.el,n=this.options;st=Xe(Ke),ut=Xe(Ke,n.draggable),Je("drop",this,{evt:e}),et=Ke&&Ke.parentNode,st=Xe(Ke),ut=Xe(Ke,n.draggable),Ht.eventCanceled||(Dt=!1,Ot=!1,Ct=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Gt(this.cloneId),Gt(this._dragStartId),this.nativeDraggable&&(Se(document,"drop",this),Se(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),ge&&Ae(document.body,"user-select",""),Ae(Ke,"transform",""),e&&(yt&&(e.cancelable&&e.preventDefault(),!n.dropBubble&&e.stopPropagation()),tt&&tt.parentNode&&tt.parentNode.removeChild(tt),(nt===et||ht&&"clone"!==ht.lastPutMode)&&it&&it.parentNode&&it.parentNode.removeChild(it),Ke&&(this.nativeDraggable&&Se(Ke,"dragend",this),Ut(Ke),Ke.style["will-change"]="",yt&&!Dt&&Oe(Ke,ht?ht.options.ghostClass:this.options.ghostClass,!1),Oe(Ke,this.options.chosenClass,!1),Qe({sortable:this,name:"unchoose",toEl:et,newIndex:null,newDraggableIndex:null,originalEvent:e}),nt!==et?(st>=0&&(Qe({rootEl:et,name:"add",toEl:et,fromEl:nt,originalEvent:e}),Qe({sortable:this,name:"remove",toEl:et,originalEvent:e}),Qe({rootEl:et,name:"sort",toEl:et,fromEl:nt,originalEvent:e}),Qe({sortable:this,name:"sort",toEl:et,originalEvent:e})),ht&&ht.save()):st!==lt&&st>=0&&(Qe({sortable:this,name:"update",toEl:et,originalEvent:e}),Qe({sortable:this,name:"sort",toEl:et,originalEvent:e})),Ht.active&&((null==st||-1===st)&&(st=lt,ut=ct),Qe({sortable:this,name:"end",toEl:et,originalEvent:e}),this.save())))),this._nulling()},_nulling:function(){Je("nulling",this),nt=Ke=et=tt=ot=it=rt=at=ft=pt=yt=st=ut=lt=ct=wt=_t=ht=dt=Ht.dragged=Ht.ghost=Ht.clone=Ht.active=null,It.forEach(function(e){e.checked=!0}),It.length=vt=mt=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":Ke&&(this._onDragOver(e),(t=e).dataTransfer&&(t.dataTransfer.dropEffect="move"),t.cancelable&&t.preventDefault());break;case"selectstart":e.preventDefault()}var t},toArray:function(){for(var e,t=[],n=this.el.children,o=0,r=n.length,i=this.options;o{if(e&&(null==r?void 0:r.length)!==i.childNodes.length)return o.insertBefore(e,t.nextSibling),!0;const a=i.childNodes[n];e=null==i?void 0:i.replaceChild(t,a)})}}catch(s){a=s}finally{r=null}g(()=>{if(pn(),a)throw a})}};function w(e){const t=u(i);return e||(e=function(e){return"string"==typeof e}(t)?function(e,t=document){var n;let o=null;return o="function"==typeof(null==t?void 0:t.querySelector)?null==(n=null==t?void 0:t.querySelector)?void 0:n.call(t,e):document.querySelector(e),o}(t,null==o?void 0:o.$el):t),e&&!function(e){return e instanceof HTMLElement}(e)&&(e=e.$el),e}function _(){var e;const t=null!=(e=u(l))?e:{},{immediate:n,clone:o}=t,r=K(t,["immediate","clone"]);return ie(r,(e,t)=>{(function(e){return 111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97)})(e)&&(r[e]=(e,...n)=>(ae(e,{data:hn,clonedData:fn}),t(e,...n)))}),function(e,t){const n=Q({},e);return Object.keys(t).forEach(o=>{n[o]?n[o]=function(e,t,n=null){return function(...o){return e.apply(n,o),t.apply(n,o)}}(e[o],t[o]):n[o]=t[o]}),n}(null===a?{}:f,r)}const S=e=>{e=w(e),s&&E.destroy(),s=new Ht(e,_())};v(()=>l,()=>{s&&ie(_(),(e,t)=>{null==s||s.option(e,t)})},{deep:!0});const E={option:(e,t)=>null==s?void 0:s.option(e,t),destroy:()=>{null==s||s.destroy(),s=null},save:()=>null==s?void 0:s.save(),toArray:()=>null==s?void 0:s.toArray(),closest:(...e)=>null==s?void 0:s.closest(...e)};return function(e){p()?m(e):g(e)}(()=>{c&&S()}),function(e){p()&&b(e)}(E.destroy),Q({start:S,pause:()=>null==E?void 0:E.option("disabled",!0),resume:()=>null==E?void 0:E.option("disabled",!1)},E)}const gn=["update","start","add","remove","choose","unchoose","end","sort","filter","clone","move","change"],bn=l({name:"VueDraggable",model:{prop:"modelValue",event:"update:modelValue"},props:["clone","animation","ghostClass","group","sort","disabled","store","handle","draggable","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","chosenClass","dragClass","ignore","filter","preventOnFilter","easing","setData","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","emptyInsertThreshold","scroll","forceAutoScrollFallback","scrollSensitivity","scrollSpeed","bubbleScroll","modelValue","tag","target","customUpdate",...gn.map(e=>`on${e.replace(/^\S/,e=>e.toUpperCase())}`)],emits:["update:modelValue",...gn],setup(e,{slots:t,emit:n,expose:o,attrs:r}){const i=gn.reduce((e,t)=>(e[`on${t.replace(/^\S/,e=>e.toUpperCase())}`]=(...e)=>n(t,...e),e),{}),a=s(()=>{const t=c(e),{modelValue:n}=t,o=K(t,["modelValue"]),a=Object.entries(o).reduce((e,[t,n])=>{const o=u(n);return void 0!==o&&(e[t]=o),e},{});return Q(Q({},i),function(e){return Object.keys(e).reduce((t,n)=>(void 0!==e[n]&&(t[function(e){return e.replace(/-(\w)/g,(e,t)=>t?t.toUpperCase():"")}(n)]=e[n]),t),{})}(Q(Q({},r),a)))}),l=s({get:()=>e.modelValue,set:e=>n("update:modelValue",e)}),p=d(),v=h(mn(e.target||p,l,a));return o(v),()=>{var n;return f(e.tag||"div",{ref:p},null==(n=null==t?void 0:t.default)?void 0:n.call(t,v))}}}),yn={class:"flex-cb max-md:!block",id:"art-table-header"},wn={class:"flex-wrap"},_n={class:"flex-c md:justify-end max-md:mt-3 max-sm:!hidden"},Sn={class:"button"},En={class:"button"},Dn={class:"button"},xn=l((Tn=((e,t)=>{for(var n in t||(t={}))r.call(t,n)&&a(e,n,t[n]);if(o)for(var n of o(t))i.call(t,n)&&a(e,n,t[n]);return e})({},{name:"ArtTableHeader"}),Cn={__name:"index",props:w({showZebra:{type:Boolean,default:!0},showBorder:{type:Boolean,default:!0},showHeaderBackground:{type:Boolean,default:!0},fullClass:{default:"art-page-view"},layout:{default:"search,refresh,size,fullscreen,columns,settings"},loading:{type:Boolean},showSearchBar:{type:Boolean,default:void 0}},{columns:{required:!1,default:()=>[]},columnsModifiers:{}}),emits:w(["refresh","search","update:showSearchBar"],["update:columns"]),setup(e,{emit:t}){const{t:n}=_(),o=e,r=S(e,"columns"),i=t,a=[{value:L.SMALL,label:n("table.sizeOptions.small")},{value:L.DEFAULT,label:n("table.sizeOptions.default")},{value:L.LARGE,label:n("table.sizeOptions.large")}],l=V(),{tableSize:c,isZebra:h,isBorder:f,isHeaderBackground:p}=E(l),v=s(()=>o.layout.split(",").map(e=>e.trim())),g=e=>v.value.includes(e),w=e=>{const t=e.related;return!t||!t.classList.contains("fixed-column")},W=()=>{i("update:showSearchBar",!o.showSearchBar),i("search")},q=()=>{G.value=!0,i("refresh")},$=e=>{V().setTableSize(e)},G=d(!1),Z=d(!1),J=d(""),Q=()=>{const e=document.querySelector(`.${o.fullClass}`);e&&(Z.value=!Z.value,Z.value?(J.value=document.body.style.overflow,document.body.style.overflow="hidden",e.classList.add("el-full-screen"),l.setIsFullScreen(!0)):(document.body.style.overflow=J.value,e.classList.remove("el-full-screen"),l.setIsFullScreen(!1)))},K=e=>{"Escape"===e.key&&Z.value&&Q()};return m(()=>{document.addEventListener("keydown",K)}),b(()=>{if(document.removeEventListener("keydown",K),Z.value){document.body.style.overflow=J.value;const e=document.querySelector(`.${o.fullClass}`);e&&e.classList.remove("el-full-screen")}}),(t,o)=>{const i=F,l=Y,s=X,d=R,v=z,m=U;return x(),D("div",yn,[T("div",wn,[C(t.$slots,"left",{},void 0,!0)]),T("div",_n,[null!=e.showSearchBar?(x(),D("div",{key:0,class:k(["button",e.showSearchBar?"active !bg-theme hover:!bg-theme/80":""]),onClick:W},[I(i,{icon:"ri:search-line",class:k(e.showSearchBar?"text-white":"text-g-700")},null,8,["class"])],2)):O("",!0),g("refresh")?(x(),D("div",{key:1,class:k(["button",{loading:e.loading&&G.value}]),onClick:q},[I(i,{icon:"ri:refresh-line",class:k(e.loading&&G.value?"animate-spin text-g-600":"")},null,8,["class"])],2)):O("",!0),g("size")?(x(),A(d,{key:2,onCommand:$},{dropdown:M(()=>[I(s,null,{default:M(()=>[(x(),D(N,null,P(a,e=>T("div",{key:e.value,class:"table-size-btn-item [&_.el-dropdown-menu__item]:!mb-[3px] last:[&_.el-dropdown-menu__item]:!mb-0"},[(x(),A(l,{key:e.value,command:e.value,class:k(u(c)===e.value?"!bg-g-300/55":"")},{default:M(()=>[j(B(e.label),1)]),_:2},1032,["command","class"]))])),64))]),_:1})]),default:M(()=>[T("div",Sn,[I(i,{icon:"ri:arrow-up-down-fill"})])]),_:1})):O("",!0),g("fullscreen")?(x(),D("div",{key:3,class:"button",onClick:Q},[I(i,{icon:Z.value?"ri:fullscreen-exit-line":"ri:fullscreen-line"},null,8,["icon"])])):O("",!0),g("columns")?(x(),A(m,{key:4,placement:"bottom",trigger:"click"},{reference:M(()=>[T("div",En,[I(i,{icon:"ri:align-right"})])]),default:M(()=>[T("div",null,[I(u(H),{"max-height":"380px"},{default:M(()=>[I(u(bn),{modelValue:r.value,"onUpdate:modelValue":o[0]||(o[0]=e=>r.value=e),disabled:!1,filter:".fixed-column","prevent-on-filter":!1,onMove:w},{default:M(()=>[(x(!0),D(N,null,P(r.value,e=>{return x(),D("div",{key:e.prop||e.type,class:k(["column-option flex-c",{"fixed-column":e.fixed}])},[T("div",{class:k(["drag-icon mr-2 h-4.5 flex-cc text-g-500",e.fixed?"cursor-default text-g-300":"cursor-move"])},[I(i,{icon:e.fixed?"ri:unpin-line":"ri:drag-move-2-fill",class:"text-base"},null,8,["icon"])],2),I(v,{"model-value":(t=e,void 0!==t.visible?t.visible:null==(o=t.checked)||o),"onUpdate:modelValue":t=>((e,t)=>{const n=!!t;e.checked=n,e.visible=n})(e,t),disabled:e.disabled,class:"flex-1 min-w-0 [&_.el-checkbox__label]:overflow-hidden [&_.el-checkbox__label]:text-ellipsis [&_.el-checkbox__label]:whitespace-nowrap"},{default:M(()=>[j(B(e.label||("selection"===e.type?u(n)("table.selection"):"")),1)]),_:2},1032,["model-value","onUpdate:modelValue","disabled"])],2);var t,o}),128))]),_:1},8,["modelValue"])]),_:1})])]),_:1})):O("",!0),g("settings")?(x(),A(m,{key:5,placement:"bottom",trigger:"click"},{reference:M(()=>[T("div",Dn,[I(i,{icon:"ri:settings-line"})])]),default:M(()=>[T("div",null,[e.showZebra?(x(),A(v,{key:0,modelValue:u(h),"onUpdate:modelValue":o[1]||(o[1]=e=>y(h)?h.value=e:null),value:!0},{default:M(()=>[j(B(u(n)("table.zebra")),1)]),_:1},8,["modelValue"])):O("",!0),e.showBorder?(x(),A(v,{key:1,modelValue:u(f),"onUpdate:modelValue":o[2]||(o[2]=e=>y(f)?f.value=e:null),value:!0},{default:M(()=>[j(B(u(n)("table.border")),1)]),_:1},8,["modelValue"])):O("",!0),e.showHeaderBackground?(x(),A(v,{key:2,modelValue:u(p),"onUpdate:modelValue":o[3]||(o[3]=e=>y(p)?p.value=e:null),value:!0},{default:M(()=>[j(B(u(n)("table.headerBackground")),1)]),_:1},8,["modelValue"])):O("",!0)])]),_:1})):O("",!0),C(t.$slots,"right",{},void 0,!0)])])}}},t(Tn,n(Cn))));var Tn,Cn;const On=W(xn,[["__scopeId","data-v-4de94251"]]);export{On as A}; diff --git a/nginx/admin/assets/index-BaXJ8CyS.js.gz b/nginx/admin/assets/index-BaXJ8CyS.js.gz new file mode 100644 index 0000000..7bbde0d Binary files /dev/null and b/nginx/admin/assets/index-BaXJ8CyS.js.gz differ diff --git a/nginx/admin/assets/index-BacKueNW.js b/nginx/admin/assets/index-BacKueNW.js new file mode 100644 index 0000000..45209f3 --- /dev/null +++ b/nginx/admin/assets/index-BacKueNW.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,a=(t,o,i)=>o in t?e(t,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[o]=i,r=(e,r)=>{for(var s in r||(r={}))o.call(r,s)&&a(e,s,r[s]);if(t)for(var s of t(r))i.call(r,s)&&a(e,s,r[s]);return e},s=(e,t,o)=>new Promise((i,a)=>{var r=e=>{try{l(o.next(e))}catch(t){a(t)}},s=e=>{try{l(o.throw(e))}catch(t){a(t)}},l=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,s);l((o=o.apply(e,t)).next())});import{_ as l}from"./index-Bwtbh5WQ.js";import{d as p,r as n,k as u,o as m,b as d,e as c,g as j,w as _,E as v,j as y,ai as b,p as x,b5 as f,f as h,v as g,T as w,aV as S}from"./index-BoIUJTA2.js";/* empty css *//* empty css */import{_ as k}from"./index-oPcNh_Ue.js";import{c as C}from"./coupons-tpfgWUoF.js";import O from"./coupon-dialog-Bouy1Y8o.js";import{_ as V}from"./index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js";import{A as $}from"./index-BaXJ8CyS.js";import{E as P}from"./index-ZsMdSUVI.js";import{_ as z}from"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./index-D2gD5Tn5.js";import"./token-DWNpOE8r.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./tree-select-DdXiCp9j.js";import"./index-BneqRonp.js";import"./index-BnK4BbY2.js";import"./clamp-BXzPLned.js";import"./index-sK8AD9wr.js";import"./index-BObA9rVr.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./slider-DTwTybBj.js";import"./index-C_S0YbqD.js";/* empty css */import"./index-C_sVHlWz.js";import"./index-CXD7B41Z.js";import"./index-BcfO0-fK.js";import"./_baseClone-Ct7RL6h5.js";import"./index-DqTthkO7.js";import"./index-DGLhvuMQ.js";import"./cloneDeep-B1gZFPYK.js";import"./index-rgHg98E6.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./index-CjpBlozU.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";/* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./index-CZJaGuxf.js";const A={class:"page-container"},T=z(p({__name:"index",setup(e){const t=n(!1),o=n([]),i=u({current:1,size:10,total:0}),a=u({name:"",status:void 0}),p=n(!1),z=n("create"),T=n(null),I=[{key:"name",label:"名称",type:"input",props:{placeholder:"请输入优惠券名称",clearable:!0}},{key:"status",label:"状态",type:"select",props:{placeholder:"请选择状态",clearable:!0,options:[{label:"启用",value:1},{label:"禁用",value:2}]}}],q=e=>(e/100).toFixed(2),B=[{prop:"id",label:"ID",width:80},{prop:"name",label:"名称",minWidth:150},{prop:"status",label:"状态",width:80,useSlot:!0},{prop:"show_in_miniapp",label:"小程序显示",width:100,useSlot:!0},{prop:"coupon_type",label:"类型",width:100,useSlot:!0},{prop:"discount_type",label:"折扣类型",width:120,useSlot:!0},{prop:"discount_value",label:"折扣值",width:140,useSlot:!0},{prop:"min_amount",label:"最低消费",width:120,formatter:e=>"¥"+q(e.min_amount||0)},{prop:"max_discount",label:"最大折扣",width:120,formatter:e=>e.max_discount?"¥"+q(e.max_discount):"-"},{prop:"used_quantity",label:"使用情况",width:140,useSlot:!0},{prop:"valid_days",label:"有效期",width:100,useSlot:!0},{prop:"created_at",label:"创建时间",width:160},{prop:"actions",label:"操作",width:150,fixed:"right",useSlot:!0}],E={1:"通用券",2:"活动券",3:"商品券"},R={1:"直减",2:"满减",3:"折扣"},U=e=>1===e.discount_type?`直减¥${q(e.discount_value)}`:2===e.discount_type?`满减¥${q(e.discount_value)}`:3===e.discount_type?`${e.discount_value}‰`:e.discount_value,W=()=>s(this,null,function*(){t.value=!0;try{const e=r({page:i.current,page_size:i.size},a),t=yield C.getList(e);t&&t.list&&Array.isArray(t.list)?(o.value=t.list,i.total=t.total):(o.value=[],i.total=0)}catch(e){w.error("获取优惠券列表失败"),o.value=[],i.total=0}finally{t.value=!1}}),D=()=>{i.current=1,W()},L=()=>{a.name="",a.status=void 0,D()},M=e=>{i.current=e,W()},Q=e=>{i.size=e,W()},X=()=>{T.value=null,z.value="create",p.value=!0},Y=e=>s(this,null,function*(){var t,o;try{yield S.confirm(`确定要删除优惠券"${e.name}"吗?此操作不可恢复`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),yield C.delete(e.id),w.success({message:`"${e.name}"已成功删除`,duration:3e3}),W()}catch(i){if("cancel"===i)return;const a=(null==(o=null==(t=null==i?void 0:i.response)?void 0:t.data)?void 0:o.message)||i.message||"删除失败";w.error({message:`"${e.name}"删除失败:${a}`,duration:4e3})}}),Z=()=>{p.value=!1,W()};return m(()=>{W()}),(e,s)=>{const n=k,u=b,m=v,w=P,S=l;return c(),d("div",A,[j(n,{items:I,modelValue:a,onSearch:D,onReset:L},null,8,["modelValue"]),j($,{columns:B,"onUpdate:columns":s[0]||(s[0]=e=>B=e),loading:t.value,onRefresh:W},{left:_(()=>[j(m,{type:"primary",onClick:X},{default:_(()=>[j(u,null,{default:_(()=>[j(x(f))]),_:1}),s[2]||(s[2]=y(" 新增优惠券 ",-1))]),_:1})]),_:1},8,["loading"]),j(S,{loading:t.value,columns:B,data:o.value,pagination:i,onPageChange:M,onSizeChange:Q,"empty-text":"暂无数据"},{actions:_(({row:e})=>[j(V,{type:"edit",onClick:t=>(e=>{T.value=r({},e),z.value="edit",p.value=!0})(e)},null,8,["onClick"]),j(V,{type:"delete",onClick:t=>Y(e)},null,8,["onClick"])]),status:_(({row:e})=>[j(w,{type:1===e.status?"success":"danger"},{default:_(()=>[y(g(1===e.status?"启用":2===e.status?"禁用":"未知"),1)]),_:2},1032,["type"])]),show_in_miniapp:_(({row:e})=>[j(w,{type:1===e.show_in_miniapp?"success":"info"},{default:_(()=>[y(g(1===e.show_in_miniapp?"显示":"隐藏"),1)]),_:2},1032,["type"])]),coupon_type:_(({row:e})=>[j(w,null,{default:_(()=>{return[y(g((t=e.coupon_type||0,E[t]||"未知")),1)];var t}),_:2},1024)]),discount_type:_(({row:e})=>[j(w,null,{default:_(()=>{return[y(g((t=e.discount_type||0,R[t]||"未知")),1)];var t}),_:2},1024)]),discount_value:_(({row:e})=>[h("span",null,g(U(e)),1)]),used_quantity:_(({row:e})=>[h("span",null,g(e.used_quantity)+"/"+g(e.total_quantity||"∞"),1)]),valid_days:_(({row:e})=>[h("span",null,g(e.valid_days)+"天",1)]),_:1},8,["loading","data","pagination"]),j(O,{modelValue:p.value,"onUpdate:modelValue":s[1]||(s[1]=e=>p.value=e),data:T.value,mode:z.value,onSuccess:Z},null,8,["modelValue","data","mode"])])}}}),[["__scopeId","data-v-95fdcd2b"]]);export{T as default}; diff --git a/nginx/admin/assets/index-BboZvJE8.js b/nginx/admin/assets/index-BboZvJE8.js new file mode 100644 index 0000000..22f5eba --- /dev/null +++ b/nginx/admin/assets/index-BboZvJE8.js @@ -0,0 +1 @@ +var e=Object.defineProperty,l=Object.defineProperties,a=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,i=(l,a,t)=>a in l?e(l,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[a]=t,n=(e,l)=>{for(var a in l||(l={}))o.call(l,a)&&i(e,a,l[a]);if(t)for(var a of t(l))r.call(l,a)&&i(e,a,l[a]);return e},d=(e,t)=>l(e,a(t)),u=(e,l,a)=>new Promise((t,o)=>{var r=e=>{try{n(a.next(e))}catch(l){o(l)}},i=e=>{try{n(a.throw(e))}catch(l){o(l)}},n=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);n((a=a.apply(e,l)).next())});import{a8 as s,at as p,a0 as m,d as v,a1 as c,b as _,e as f,h as b,i as y,p as h,er as w,q as g,ao as j,r as k,o as x,A as C,bd as V,ad as z,ay as N,s as O,I as U,J as E,g as P,a2 as $,cc as I,az as D,aA as S,c1 as L,k as T,c as A,G as B,w as R,K as q,E as M,j as W,f as F,v as G,ai as J,T as K,aV as Q}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as X}from"./index-Bwtbh5WQ.js";import Y from"./snapshot-modal-DiND74kN.js";import{u as Z}from"./useTable-DzUOUR11.js";import{f as H,a as ee,b as le,c as ae}from"./enums-B_hZIbhP.js";import{s as te}from"./price-CGt8tHWF.js";import{a as oe,E as re}from"./index-BcfO0-fK.js";import{E as ie,a as ne}from"./index-D2gD5Tn5.js";import{E as de}from"./index-BaD29Izp.js";import{a as ue,E as se}from"./index-BjuMygln.js";import{E as pe}from"./index-ZsMdSUVI.js";import{E as me}from"./index-CjpBlozU.js";import{E as ve,a as ce}from"./index-DpfIyoxx.js";import{E as _e}from"./index-Dy3gZN7-.js";import{E as fe}from"./index-B18-crhn.js";import{_ as be}from"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css */import"./el-empty-CV-PB2A2.js";import"./index-C1haaLtB.js";/* empty css *//* empty css *//* empty css */import"./index-dBzz0k3i.js";import"./index-Bq8lawOo.js";import"./index-C_sVHlWz.js";import"./index-CXD7B41Z.js";import"./useTableColumns-FR69a2pD.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Cp4NEpJ7.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./index-D8nVJoNy.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";const ye=s({animated:Boolean,count:{type:Number,default:1},rows:{type:Number,default:3},loading:{type:Boolean,default:!0},throttle:{type:p([Number,Object])}}),he=s({variant:{type:String,values:["circle","rect","h1","h3","text","caption","p","image","button"],default:"text"}}),we=v({name:"ElSkeletonItem"});var ge=m(v(d(n({},we),{props:he,setup(e){const l=c("skeleton");return(e,a)=>(f(),_("div",{class:g([h(l).e("item"),h(l).e(e.variant)])},["image"===e.variant?(f(),b(h(w),{key:0})):y("v-if",!0)],2))}})),[["__file","skeleton-item.vue"]]);const je=v({name:"ElSkeleton"});const ke=D(m(v(d(n({},je),{props:ye,setup(e,{expose:l}){const a=e,t=c("skeleton"),o=((e,l=0)=>{if(0===l)return e;const a=j(l)&&Boolean(l.initVal),t=k(a);let o=null;const r=l=>{z(l)?t.value=e.value:(o&&clearTimeout(o),o=setTimeout(()=>{t.value=e.value},l))},i=e=>{"leading"===e?V(l)?r(l):r(l.leading):j(l)?r(l.trailing):t.value=!1};return x(()=>i("leading")),C(()=>e.value,e=>{i(e?"leading":"trailing")}),t})(N(a,"loading"),a.throttle);return l({uiLoading:o}),(e,l)=>h(o)?(f(),_("div",$({key:0,class:[h(t).b(),h(t).is("animated",e.animated)]},e.$attrs),[(f(!0),_(U,null,E(e.count,l=>(f(),_(U,{key:l},[h(o)?O(e.$slots,"template",{key:l},()=>[P(ge,{class:g(h(t).is("first")),variant:"p"},null,8,["class"]),(f(!0),_(U,null,E(e.rows,l=>(f(),b(ge,{key:l,class:g([h(t).e("paragraph"),h(t).is("last",l===e.rows&&e.rows>1)]),variant:"p"},null,8,["class"]))),128))]):y("v-if",!0)],64))),128))],16)):O(e.$slots,"default",I($({key:1},e.$attrs)))}})),[["__file","skeleton.vue"]]),{SkeletonItem:ge});function xe(e){return L.get({url:`admin/pay/orders/${e}`})}function Ce(e){return L.post({url:"admin/pay/refunds",data:e})}S(ge);const Ve={class:"page"},ze={id:"art-table-header",class:"p-2"},Ne={key:0,class:"flex items-center gap-1"},Oe={key:1},Ue={key:0,class:"p-3"},Ee={key:1,class:"p-3"},Pe={key:0},$e={key:1},Ie={class:"mb-2"},De={key:0},Se={key:1},Le=be(v({__name:"index",setup(e){const l=k(!1),a=k(0);function t(e){a.value=e,l.value=!0}function o(){var e,l;m(),N.visible&&(null==(l=null==(e=O.value)?void 0:e.order)?void 0:l.id)&&xe(O.value.order.order_no).then(e=>{O.value=e})}const r=T({}),{data:i,loading:d,pagination:s,getData:p,refreshData:m,handleSizeChange:v,handleCurrentChange:c}=Z({core:{apiFn:e=>{return l=n(n({},e||{}),r),L.get({url:"admin/pay/orders",params:l});var l},immediate:!1}}),b=k([]);function y(e){b.value=e}function w(){return u(this,null,function*(){const e=b.value.filter(e=>2===e.status);if(0===e.length)return void K.warning("请选择已支付状态的订单");yield Q.confirm(`确认对选中的 ${e.length} 个订单进行全额退款?`,"批量退款",{type:"warning"});let l=0;Q.alert("正在批量处理中,请勿关闭页面...","处理中",{showConfirmButton:!1,closeOnClickModal:!1,closeOnPressEscape:!1});for(const t of e)try{yield Ce({order_no:t.order_no,amount:t.actual_amount,reason:"批量退款"}),l++}catch(a){}Q.close(),K.success(`操作完成,成功退款 ${l} 单`),m()})}function g(e){const l=[];if(!e)return l;const a=e.split("|");for(const t of a)if(t.startsWith("c:")){const e=t.split(":");if(3===e.length){const a=Number(e[1]),t=Number(e[2]);Number.isNaN(a)||Number.isNaN(t)||l.push({id:a,applied:t})}}return l}function j(){r.order_no=void 0,r.user_id=void 0,r.status=void 0,p()}const x=T({visible:!1,remark:""});function C(){return u(this,null,function*(){x.orderNo&&(yield function(e,l){return L.put({url:`admin/pay/orders/${e}/remark`,data:l})}(x.orderNo,{remark:x.remark}),K.success("已更新"),x.visible=!1,m())})}function V(e){return u(this,null,function*(){var l;yield Q.confirm("确认取消该订单?","提示"),yield(l=e.order_no,L.post({url:`admin/pay/orders/${l}/cancel`})),K.success("已取消"),m()})}function z(e){return u(this,null,function*(){var l;2===e.status?(yield Q.confirm(`确认为订单 ${e.order_no} 上传小程序发货信息?`,"小程序发货",{type:"warning"}),yield(l=e.order_no,L.post({url:`admin/pay/orders/${l}/miniapp_shipping`})),K.success("已上传小程序发货信息")):K.warning("仅支持已支付状态的订单发货")})}const N=T({visible:!1,loading:!1}),O=k();const $=T({visible:!1,loading:!1});function I(e){var l;$.visible=!0,$.reason="",e&&e.order_no?($.orderNo=e.order_no,$.amount=e.actual_amount||0):(null==(l=O.value)?void 0:l.order)&&($.orderNo=O.value.order.order_no,$.amount=O.value.order.actual_amount||0)}function D(){return u(this,null,function*(){var e,l;if($.orderNo){$.loading=!0;try{if(yield Ce({order_no:$.orderNo,amount:Number($.amount||0),reason:$.reason||""}),K.success("退款成功"),$.visible=!1,m(),N.visible&&(null==(l=null==(e=O.value)?void 0:e.order)?void 0:l.order_no)===$.orderNo){const e=yield xe($.orderNo);O.value=e}}finally{$.loading=!1}}})}function S(){return u(this,null,function*(){const e=new Blob([yield(l={status:r.status,start_date:void 0,end_date:void 0},L.get({url:"admin/pay/orders/export",params:l,responseType:"arraybuffer"}))],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});var l;const a=window.URL.createObjectURL(e),t=document.createElement("a");t.href=a,t.download="orders.xlsx",t.click(),window.URL.revokeObjectURL(a)})}return A({get:()=>($.amount||0)/100,set:e=>{$.amount=Math.round(100*(e||0))}}),p(),(e,n)=>{const k=q,L=re,T=ne,A=ie,K=M,Q=oe,Z=de,be=ue,ye=pe,he=B("Link"),we=J,ge=me,je=ke,Ce=ce,Le=ve,Te=_e,Ae=se,Be=fe;return f(),_("div",Ve,[P(Z,{class:"mb-3"},{default:R(()=>[P(Q,{inline:!0,model:r},{default:R(()=>[P(L,{label:"订单号"},{default:R(()=>[P(k,{modelValue:r.order_no,"onUpdate:modelValue":n[0]||(n[0]=e=>r.order_no=e),placeholder:"订单号",clearable:""},null,8,["modelValue"])]),_:1}),P(L,{label:"用户ID"},{default:R(()=>[P(k,{modelValue:r.user_id,"onUpdate:modelValue":n[1]||(n[1]=e=>r.user_id=e),placeholder:"用户ID",clearable:""},null,8,["modelValue"])]),_:1}),P(L,{label:"状态"},{default:R(()=>[P(A,{modelValue:r.status,"onUpdate:modelValue":n[2]||(n[2]=e=>r.status=e),placeholder:"全部",clearable:"",style:{width:"140px"}},{default:R(()=>[P(T,{value:1,label:"待支付"}),P(T,{value:2,label:"已支付"}),P(T,{value:3,label:"已取消"}),P(T,{value:4,label:"已退款"})]),_:1},8,["modelValue"])]),_:1}),P(L,{label:"来源"},{default:R(()=>[P(A,{modelValue:r.source_type,"onUpdate:modelValue":n[3]||(n[3]=e=>r.source_type=e),placeholder:"全部",clearable:"",style:{width:"140px"}},{default:R(()=>[P(T,{value:1,label:"商城直购"}),P(T,{value:2,label:"抽奖票据"}),P(T,{value:3,label:"系统发放"})]),_:1},8,["modelValue"])]),_:1}),P(L,null,{default:R(()=>[P(K,{type:"primary",onClick:h(p)},{default:R(()=>[...n[14]||(n[14]=[W("查询",-1)])]),_:1},8,["onClick"]),P(K,{onClick:j},{default:R(()=>[...n[15]||(n[15]=[W("重置",-1)])]),_:1}),P(K,{onClick:S},{default:R(()=>[...n[16]||(n[16]=[W("导出",-1)])]),_:1}),P(K,{type:"danger",onClick:w,disabled:0===b.value.length},{default:R(()=>[...n[17]||(n[17]=[W("批量退款",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1},8,["model"])]),_:1}),P(X,{data:h(i),loading:h(d),pagination:h(s),"onPagination:sizeChange":h(v),"onPagination:currentChange":h(c),onSelectionChange:y},{default:R(()=>[F("div",ze,[P(K,{onClick:h(m),loading:h(d)},{default:R(()=>[...n[18]||(n[18]=[W("刷新",-1)])]),_:1},8,["onClick","loading"])]),P(be,{type:"selection",width:"55"}),P(be,{type:"globalIndex",label:"#",width:"60",align:"center"}),P(be,{prop:"order_no",label:"订单号","min-width":"180"}),P(be,{prop:"user_id",label:"用户ID",width:"100"}),P(be,{prop:"biz_mode",label:"业务模式",width:"120"},{default:R(({row:e})=>[P(ye,{type:1===e.source_type?"info":2===e.source_type?"success":"warning",effect:"plain"},{default:R(()=>[W(G(e.biz_mode),1)]),_:2},1032,["type"])]),_:1}),P(be,{prop:"ext_order_id",label:"关联单号",width:"180"},{default:R(({row:e})=>[e.ext_order_id?(f(),_("div",Ne,[P(ye,{size:"small",type:"info",effect:"dark"},{default:R(()=>[P(we,{class:"mr-1"},{default:R(()=>[P(he)]),_:1}),W(" "+G(e.ext_order_id),1)]),_:2},1024)])):(f(),_("span",Oe,"-"))]),_:1}),P(be,{prop:"activity_name",label:"关联活动","min-width":"150","show-overflow-tooltip":""}),P(be,{prop:"actual_amount",label:"实付(元)",width:"140"},{default:R(({row:e})=>[W(G(h(H)(e.actual_amount)),1)]),_:1}),P(be,{prop:"status",label:"状态",width:"100"},{default:R(({row:e})=>[P(ye,null,{default:R(()=>[W(G(h(ee)(e.status)),1)]),_:2},1024)]),_:1}),P(be,{prop:"paid_at",label:"支付时间","min-width":"160"},{default:R(({row:e})=>[W(G(h(le)(e.paid_at)),1)]),_:1}),P(be,{label:"积分抵扣",width:"220"},{default:R(({row:e})=>[W(G(e.points_used||0)+" 积分(约 "+G(h(H)(e.points_amount||0))+")",1)]),_:1}),P(be,{label:"优惠券抵扣(元)",width:"180"},{default:R(({row:e})=>[W(G(h(H)(e.coupon_applied_amount||0)),1)]),_:1}),P(be,{prop:"created_at",label:"创建时间","min-width":"160"},{default:R(({row:e})=>[W(G(h(le)(e.created_at)),1)]),_:1}),P(be,{label:"操作",width:"420",fixed:"right"},{default:R(({row:e})=>[P(K,{size:"small",onClick:l=>function(e){return u(this,null,function*(){N.visible=!0,N.loading=!0;const l=yield xe(e.order_no);O.value=l,N.loading=!1})}(e)},{default:R(()=>[...n[19]||(n[19]=[W("查看",-1)])]),_:1},8,["onClick"]),P(K,{size:"small",type:"warning",disabled:2!==e.status,onClick:l=>t(e.id)},{default:R(()=>[...n[20]||(n[20]=[W("快照",-1)])]),_:1},8,["disabled","onClick"]),P(K,{size:"small",type:"primary",disabled:1!==e.status,onClick:l=>V(e)},{default:R(()=>[...n[21]||(n[21]=[W("取消",-1)])]),_:1},8,["disabled","onClick"]),P(K,{size:"small",type:"danger",disabled:2!==e.status,onClick:l=>I(e)},{default:R(()=>[...n[22]||(n[22]=[W("退款",-1)])]),_:1},8,["disabled","onClick"]),P(K,{size:"small",type:"success",disabled:2!==e.status,onClick:l=>z(e)},{default:R(()=>[...n[23]||(n[23]=[W("小程序发货",-1)])]),_:1},8,["disabled","onClick"]),P(K,{size:"small",onClick:l=>function(e){x.orderNo=e.order_no,x.remark=e.remark||"",x.visible=!0}(e)},{default:R(()=>[...n[24]||(n[24]=[W("备注",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data","loading","pagination","onPagination:sizeChange","onPagination:currentChange"]),P(ge,{modelValue:x.visible,"onUpdate:modelValue":n[6]||(n[6]=e=>x.visible=e),title:"编辑备注",width:"500px"},{footer:R(()=>[P(K,{onClick:n[5]||(n[5]=e=>x.visible=!1)},{default:R(()=>[...n[25]||(n[25]=[W("取消",-1)])]),_:1}),P(K,{type:"primary",onClick:C},{default:R(()=>[...n[26]||(n[26]=[W("确定",-1)])]),_:1})]),default:R(()=>[P(k,{modelValue:x.remark,"onUpdate:modelValue":n[4]||(n[4]=e=>x.remark=e),type:"textarea",rows:4},null,8,["modelValue"])]),_:1},8,["modelValue"]),P(Be,{modelValue:N.visible,"onUpdate:modelValue":n[8]||(n[8]=e=>N.visible=e),size:"50%","with-header":!0,title:"订单详情"},{default:R(()=>{var e,l,a,o,r,i,d,u,s,p,m,v,c,b;return[N.loading?(f(),_("div",Ue,[P(je,{rows:6,animated:""})])):(f(),_("div",Ee,[P(Le,{column:2,border:""},{default:R(()=>[P(Ce,{label:"订单号"},{default:R(()=>{var e,l;return[W(G(null==(l=null==(e=O.value)?void 0:e.order)?void 0:l.order_no),1)]}),_:1}),P(Ce,{label:"用户ID"},{default:R(()=>{var e,l;return[W(G(null==(l=null==(e=O.value)?void 0:e.order)?void 0:l.user_id),1)]}),_:1}),P(Ce,{label:"实付"},{default:R(()=>{var e,l;return[W(G(h(H)(null==(l=null==(e=O.value)?void 0:e.order)?void 0:l.actual_amount)),1)]}),_:1}),P(Ce,{label:"状态"},{default:R(()=>{var e,l;return[W(G(h(ee)(null==(l=null==(e=O.value)?void 0:e.order)?void 0:l.status)),1)]}),_:1}),P(Ce,{label:"可退款"},{default:R(()=>{var e;return[W(G(h(H)(null==(e=O.value)?void 0:e.refundable_amount)),1)]}),_:1})]),_:1}),P(Te),P(Le,{column:2,border:""},{default:R(()=>[P(Ce,{label:"活动"},{default:R(()=>{var e,l;return[W(G(null==(l=null==(e=O.value)?void 0:e.activity)?void 0:l.activity_name),1)]}),_:1}),P(Ce,{label:"期号"},{default:R(()=>{var e,l;return[W(G(null==(l=null==(e=O.value)?void 0:e.activity)?void 0:l.issue_number),1)]}),_:1}),P(Ce,{label:"中奖等级"},{default:R(()=>{var e,l;return[W(G((null==(l=null==(e=O.value)?void 0:e.activity)?void 0:l.level)||"-"),1)]}),_:1}),P(Ce,{label:"奖品"},{default:R(()=>{var e,l;return[W(G((null==(l=null==(e=O.value)?void 0:e.activity)?void 0:l.reward_name)||"-"),1)]}),_:1}),P(Ce,{label:"活动价格"},{default:R(()=>{var e,l,a,t;return[W(G((null==(l=null==(e=O.value)?void 0:e.activity)?void 0:l.price_draw_points)||0)+" 积分(约 "+G(h(H)((null==(t=null==(a=O.value)?void 0:a.activity)?void 0:t.price_draw)||0))+") ",1)]}),_:1})]),_:1}),P(Te),P(Le,{column:2,border:""},{default:R(()=>[P(Ce,{label:"支付状态"},{default:R(()=>{var e,l;return[W(G(h(ee)(null==(l=null==(e=O.value)?void 0:e.payment)?void 0:l.status)),1)]}),_:1}),P(Ce,{label:"支付时间"},{default:R(()=>{var e,l;return[W(G(null==(l=null==(e=O.value)?void 0:e.payment)?void 0:l.paid_at),1)]}),_:1}),P(Ce,{label:"实付"},{default:R(()=>{var e,l;return[W(G(h(H)(null==(l=null==(e=O.value)?void 0:e.payment)?void 0:l.actual_amount)),1)]}),_:1}),P(Ce,{label:"交易号"},{default:R(()=>{var e,l;return[W(G((null==(l=null==(e=O.value)?void 0:e.payment)?void 0:l.transaction_id)||"-"),1)]}),_:1}),P(Ce,{label:"预订单ID"},{default:R(()=>{var e,l,a,t;return[W(G(((null==(l=null==(e=O.value)?void 0:e.payment)?void 0:l.pay_preorder_id)||0)>0?null==(t=null==(a=O.value)?void 0:a.payment)?void 0:t.pay_preorder_id:"-"),1)]}),_:1}),P(Ce,{label:"积分抵扣"},{default:R(()=>{var e,l,a,t;return[W(G((null==(l=null==(e=O.value)?void 0:e.payment)?void 0:l.points_used)||0)+" 积分(约 "+G(h(H)((null==(t=null==(a=O.value)?void 0:a.payment)?void 0:t.points_amount)||0))+")",1)]}),_:1}),P(Ce,{label:"优惠券抵扣"},{default:R(()=>{var e,l;return[W(G(h(H)((null==(l=null==(e=O.value)?void 0:e.payment)?void 0:l.coupon_applied_amount)||0)),1)]}),_:1}),P(Ce,{label:"订单总额"},{default:R(()=>{var e,l;return[W(G(h(H)((null==(l=null==(e=O.value)?void 0:e.payment)?void 0:l.total_amount)||0)),1)]}),_:1}),P(Ce,{label:"优惠券使用"},{default:R(()=>{var e,l,a,t,o,r;return[0===((null==(e=O.value)?void 0:e.coupons)||[]).length&&0===g(null==(a=null==(l=O.value)?void 0:l.order)?void 0:a.remark).length?(f(),_("span",Pe,"-")):(f(),_("span",$e,[(f(!0),_(U,null,E((null==(t=O.value)?void 0:t.coupons)||[],(e,l)=>(f(),_("span",{key:"oc"+l,class:"mr-2"},"券"+G(e.user_coupon_id)+" 用 "+G(h(H)(e.applied_amount)),1))),128)),(f(!0),_(U,null,E(g(null==(r=null==(o=O.value)?void 0:o.order)?void 0:r.remark),(e,l)=>(f(),_("span",{key:"rm"+l,class:"mr-2"},"券"+G(e.id)+" 用 "+G(h(H)(e.applied)),1))),128))]))]}),_:1})]),_:1}),P(Te),F("div",Ie,[P(K,{type:"warning",disabled:!((null==(e=O.value)?void 0:e.order)&&2===(null==(a=null==(l=O.value)?void 0:l.order)?void 0:a.status)),onClick:n[7]||(n[7]=e=>{var l,a;return t(null==(a=null==(l=O.value)?void 0:l.order)?void 0:a.id)})},{default:R(()=>[...n[27]||(n[27]=[W("查看快照",-1)])]),_:1},8,["disabled"]),P(K,{type:"danger",disabled:!((null==(o=O.value)?void 0:o.order)&&2===(null==(i=null==(r=O.value)?void 0:r.order)?void 0:i.status)),onClick:I},{default:R(()=>[...n[28]||(n[28]=[W("退款",-1)])]),_:1},8,["disabled"])]),P(Ae,{data:(null==(d=O.value)?void 0:d.computed_items)&&(null==(u=O.value)?void 0:u.computed_items.length)>0?null==(s=O.value)?void 0:s.computed_items:(null==(p=O.value)?void 0:p.items)||[],size:"small"},{default:R(()=>{var e,l,a,t;return[P(be,{prop:(null==(e=O.value)?void 0:e.computed_items)&&(null==(l=O.value)?void 0:l.computed_items.length)>0?"name":"title",label:"商品"},null,8,["prop"]),P(be,{prop:"quantity",label:"数量",width:"80"}),P(be,{label:"单价(元)",width:"120"},{default:R(({row:e})=>{var l,a;return[(null==(l=O.value)?void 0:l.computed_items)&&(null==(a=O.value)?void 0:a.computed_items.length)>0?(f(),_("span",De,G(h(H)(e.unit_price)),1)):(f(),_("span",Se,G(h(te)(e.total_amount,e.quantity)),1))]}),_:1}),P(be,{prop:(null==(a=O.value)?void 0:a.computed_items)&&(null==(t=O.value)?void 0:t.computed_items.length)>0?"amount":"total_amount",label:"金额(元)",width:"140"},{default:R(({row:e})=>{var l,a;return[W(G(h(H)((null==(l=O.value)?void 0:l.computed_items)&&(null==(a=O.value)?void 0:a.computed_items.length)>0?e.amount:e.total_amount)),1)]}),_:1},8,["prop"])]}),_:1},8,["data"]),P(Te),F("div",null,[n[29]||(n[29]=F("h4",null,"中奖发放",-1)),P(Le,{column:2,border:""},{default:R(()=>[P(Ce,{label:"发放订单号"},{default:R(()=>{var e,l;return[W(G((null==(l=null==(e=O.value)?void 0:e.reward_order)?void 0:l.order_no)||"-"),1)]}),_:1}),P(Ce,{label:"发放状态"},{default:R(()=>{var e,l,a,t;return[W(G((null==(l=null==(e=O.value)?void 0:e.reward_order)?void 0:l.status)?h(ee)(null==(t=null==(a=O.value)?void 0:a.reward_order)?void 0:t.status):"-"),1)]}),_:1}),P(Ce,{label:"创建时间"},{default:R(()=>{var e,l;return[W(G(h(le)(null==(l=null==(e=O.value)?void 0:e.reward_order)?void 0:l.created_at)),1)]}),_:1})]),_:1}),P(Ae,{data:(null==(m=O.value)?void 0:m.reward_items)||[],size:"small",class:"mt-2"},{default:R(()=>[P(be,{prop:"title",label:"商品"}),P(be,{prop:"quantity",label:"数量",width:"80"}),P(be,{label:"单价(元)",width:"120"},{default:R(({row:e})=>[W(G(h(H)(e.unit_price)),1)]),_:1}),P(be,{prop:"amount",label:"金额(元)",width:"140"},{default:R(({row:e})=>[W(G(h(H)(e.amount)),1)]),_:1})]),_:1},8,["data"]),P(Ae,{data:(null==(v=O.value)?void 0:v.reward_shipments)||[],size:"small",class:"mt-2"},{default:R(()=>[P(be,{prop:"express_code",label:"快递"}),P(be,{prop:"express_no",label:"运单号"}),P(be,{prop:"status",label:"状态"},{default:R(({row:e})=>[W(G(h(ae)(e.status)),1)]),_:1}),P(be,{prop:"shipped_at",label:"发货时间"},{default:R(({row:e})=>[W(G(h(le)(e.shipped_at)),1)]),_:1}),P(be,{prop:"received_at",label:"签收时间"},{default:R(({row:e})=>[W(G(h(le)(e.received_at)),1)]),_:1})]),_:1},8,["data"])]),P(Te),F("div",null,[n[30]||(n[30]=F("h4",null,"发货记录",-1)),P(Ae,{data:(null==(c=O.value)?void 0:c.shipments)||[],size:"small"},{default:R(()=>[P(be,{prop:"express_code",label:"快递"}),P(be,{prop:"express_no",label:"运单号"}),P(be,{prop:"status",label:"状态"},{default:R(({row:e})=>[W(G(h(ae)(e.status)),1)]),_:1}),P(be,{prop:"shipped_at",label:"发货时间"},{default:R(({row:e})=>[W(G(h(le)(e.shipped_at)),1)]),_:1}),P(be,{prop:"received_at",label:"签收时间"},{default:R(({row:e})=>[W(G(h(le)(e.received_at)),1)]),_:1})]),_:1},8,["data"])]),P(Te),F("div",null,[n[31]||(n[31]=F("h4",null,"退款记录",-1)),P(Ae,{data:(null==(b=O.value)?void 0:b.refunds)||[],size:"small"},{default:R(()=>[P(be,{prop:"refund_no",label:"退款单号","min-width":"180"}),P(be,{prop:"channel",label:"渠道",width:"120"}),P(be,{prop:"status",label:"状态",width:"120"}),P(be,{prop:"amount",label:"金额(元)",width:"140"},{default:R(({row:e})=>[W(G(h(H)(e.amount)),1)]),_:1}),P(be,{prop:"reason",label:"原因"}),P(be,{prop:"created_at",label:"时间"},{default:R(({row:e})=>[W(G(h(le)(e.created_at)),1)]),_:1})]),_:1},8,["data"])])]))]}),_:1},8,["modelValue"]),P(ge,{modelValue:$.visible,"onUpdate:modelValue":n[12]||(n[12]=e=>$.visible=e),title:"申请退款",width:"500px"},{footer:R(()=>[P(K,{onClick:n[11]||(n[11]=e=>$.visible=!1)},{default:R(()=>[...n[32]||(n[32]=[W("取消",-1)])]),_:1}),P(K,{type:"primary",loading:$.loading,onClick:D},{default:R(()=>[...n[33]||(n[33]=[W("提交",-1)])]),_:1},8,["loading"])]),default:R(()=>[P(Q,{model:$},{default:R(()=>[P(L,{label:"退款金额(分)"},{default:R(()=>[P(k,{modelValue:$.amount,"onUpdate:modelValue":n[9]||(n[9]=e=>$.amount=e),modelModifiers:{number:!0},type:"number",placeholder:"例如:100"},null,8,["modelValue"])]),_:1}),P(L,{label:"原因"},{default:R(()=>[P(k,{modelValue:$.reason,"onUpdate:modelValue":n[10]||(n[10]=e=>$.reason=e),type:"textarea",rows:3},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),P(Y,{visible:l.value,"onUpdate:visible":n[13]||(n[13]=e=>l.value=e),"order-id":a.value,onRollbackSuccess:o},null,8,["visible","order-id"])])}}}),[["__scopeId","data-v-61b3d89d"]]);export{Le as default}; diff --git a/nginx/admin/assets/index-BboZvJE8.js.gz b/nginx/admin/assets/index-BboZvJE8.js.gz new file mode 100644 index 0000000..02d2064 Binary files /dev/null and b/nginx/admin/assets/index-BboZvJE8.js.gz differ diff --git a/nginx/admin/assets/index-Bbs9NYau.js b/nginx/admin/assets/index-Bbs9NYau.js new file mode 100644 index 0000000..7e224a1 --- /dev/null +++ b/nginx/admin/assets/index-Bbs9NYau.js @@ -0,0 +1 @@ +import{_ as t}from"./index.vue_vue_type_script_setup_true_lang-g70nAmZn.js";import"./index-BoIUJTA2.js";/* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css */import"./task-center-B4yQCrbd.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-ZsMdSUVI.js";export{t as default}; diff --git a/nginx/admin/assets/index-BcfO0-fK.js b/nginx/admin/assets/index-BcfO0-fK.js new file mode 100644 index 0000000..1b22c7d --- /dev/null +++ b/nginx/admin/assets/index-BcfO0-fK.js @@ -0,0 +1 @@ +var e=Object.defineProperty,r=Object.defineProperties,t=Object.getOwnPropertyDescriptors,n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,l=(r,t,n)=>t in r?e(r,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):r[t]=n,s=(e,r)=>{for(var t in r||(r={}))i.call(r,t)&&l(e,t,r[t]);if(n)for(var t of n(r))a.call(r,t)&&l(e,t,r[t]);return e},u=(e,n)=>r(e,t(n)),o=(e,r,t)=>new Promise((n,i)=>{var a=e=>{try{s(t.next(e))}catch(r){i(r)}},l=e=>{try{s(t.throw(e))}catch(r){i(r)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(a,l);s((t=t.apply(e,r)).next())});import{an as f,ah as d,bv as c,a8 as p,at as v,cy as h,r as g,c as y,a0 as m,d as b,k as w,bx as q,a1 as F,A as O,ae as x,t as j,dM as P,b as E,e as A,s as S,q as k,p as R,bZ as $,ax as _,a9 as I,aa as M,o as V,l as B,bp as W,ap as z,g as C,I as D,n as N,cm as L,bs as T,bC as Z,dN as J,cB as G,cX as U,f as X,w as Y,h as H,i as K,aE as Q,m as ee,j as re,v as te,dO as ne,aA as ie,az as ae}from"./index-BoIUJTA2.js";import{c as le}from"./castArray-nM8ho4U3.js";import{b as se}from"./_baseClone-Ct7RL6h5.js";function ue(e){return se(e,4)}const oe=p({size:{type:String,values:h},disabled:Boolean}),fe=p(u(s({},oe),{model:Object,rules:{type:v(Object)},labelPosition:{type:String,values:["left","right","top"],default:"right"},requireAsteriskPosition:{type:String,values:["left","right"],default:"left"},labelWidth:{type:[String,Number],default:""},labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:Boolean,scrollToError:Boolean,scrollIntoViewOptions:{type:v([Object,Boolean]),default:!0}})),de={validate:(e,r,t)=>(f(e)||d(e))&&c(r)&&d(t)};const ce=(e,r)=>{const t=le(r).map(e=>f(e)?e.join("."):e);return t.length>0?e.filter(e=>e.propString&&t.includes(e.propString)):e},pe=b({name:"ElForm"});var ve=m(b(u(s({},pe),{props:fe,emits:de,setup(e,{expose:r,emit:t}){const n=e,i=g(),a=w([]),l=q(),f=F("form"),d=y(()=>{const{labelPosition:e,inline:r}=n;return[f.b(),f.m(l.value||"default"),{[f.m(`label-${e}`)]:e,[f.m("inline")]:r}]}),c=e=>ce(a,[e])[0],p=(e=[])=>{n.model&&ce(a,e).forEach(e=>e.resetField())},v=(e=[])=>{ce(a,e).forEach(e=>e.clearValidate())},h=y(()=>!!n.model),m=e=>o(this,null,function*(){return I(void 0,e)}),b=(...e)=>o(this,[...e],function*(e=[]){if(!h.value)return!1;const r=(e=>{if(0===a.length)return[];const r=ce(a,e);return r.length?r:[]})(e);if(0===r.length)return!0;let t={};for(const i of r)try{yield i.validate(""),"error"!==i.validateState||i.error||i.resetField()}catch(n){t=s(s({},t),n)}return 0===Object.keys(t).length||Promise.reject(t)}),I=(...e)=>o(this,[...e],function*(e=[],r){let t=!1;const a=!$(r);try{return t=yield b(e),!0===t&&(yield null==r?void 0:r(t)),t}catch(l){if(l instanceof Error)throw l;const e=l;if(n.scrollToError&&i.value){const e=i.value.querySelector(`.${f.b()}-item.is-error`);null==e||e.scrollIntoView(n.scrollIntoViewOptions)}return!t&&(yield null==r?void 0:r(!1,e)),a&&Promise.reject(e)}});return O(()=>n.rules,()=>{n.validateOnRuleChange&&m().catch(e=>_())},{deep:!0,flush:"post"}),x(P,w(s(u(s({},j(n)),{emit:t,resetFields:p,clearValidate:v,validateField:I,getField:c,addField:e=>{a.push(e)},removeField:e=>{e.prop&&a.splice(a.indexOf(e),1)}}),function(){const e=g([]),r=y(()=>{if(!e.value.length)return"0";const r=Math.max(...e.value);return r?`${r}px`:""});function t(t){const n=e.value.indexOf(t);return-1===n&&r.value,n}return{autoLabelWidth:r,registerLabelWidth:function(r,n){if(r&&n){const i=t(n);e.value.splice(i,1,r)}else r&&e.value.push(r)},deregisterLabelWidth:function(r){const n=t(r);n>-1&&e.value.splice(n,1)}}}()))),r({validate:m,validateField:I,resetFields:p,clearValidate:v,scrollToField:e=>{var r;const t=c(e);t&&(null==(r=t.$el)||r.scrollIntoView(n.scrollIntoViewOptions))},getField:c,fields:a}),(e,r)=>(A(),E("form",{ref_key:"formRef",ref:i,class:k(R(d))},[S(e.$slots,"default")],2))}})),[["__file","form.vue"]]);function he(){return he=Object.assign?Object.assign.bind():function(e){for(var r=1;r1?r-1:0),n=1;n=a)return e;switch(e){case"%s":return String(t[i++]);case"%d":return Number(t[i++]);case"%j":try{return JSON.stringify(t[i++])}catch(r){return"[Circular]"}break;default:return e}}):e}function Oe(e,r){return null==e||(!("array"!==r||!Array.isArray(e)||e.length)||!(!function(e){return"string"===e||"url"===e||"hex"===e||"email"===e||"date"===e||"pattern"===e}(r)||"string"!=typeof e||e))}function xe(e,r,t){var n=0,i=e.length;!function a(l){if(l&&l.length)t(l);else{var s=n;n+=1,s()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,$e=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,_e={integer:function(e){return _e.number(e)&&parseInt(e,10)===e},float:function(e){return _e.number(e)&&!_e.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(r){return!1}},date:function(e){return"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime())},number:function(e){return!isNaN(e)&&"number"==typeof e},object:function(e){return"object"==typeof e&&!_e.array(e)},method:function(e){return"function"==typeof e},email:function(e){return"string"==typeof e&&e.length<=320&&!!e.match(Re)},url:function(e){return"string"==typeof e&&e.length<=2048&&!!e.match(function(){if(Se)return Se;var e="[a-fA-F\\d:]",r=function(r){return r&&r.includeBoundaries?"(?:(?<=\\s|^)(?="+e+")|(?<="+e+")(?=\\s|$))":""},t="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",n="[a-fA-F\\d]{1,4}",i=("\n(?:\n(?:"+n+":){7}(?:"+n+"|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:"+n+":){6}(?:"+t+"|:"+n+"|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:"+n+":){5}(?::"+t+"|(?::"+n+"){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:"+n+":){4}(?:(?::"+n+"){0,1}:"+t+"|(?::"+n+"){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:"+n+":){3}(?:(?::"+n+"){0,2}:"+t+"|(?::"+n+"){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:"+n+":){2}(?:(?::"+n+"){0,3}:"+t+"|(?::"+n+"){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:"+n+":){1}(?:(?::"+n+"){0,4}:"+t+"|(?::"+n+"){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::"+n+"){0,5}:"+t+"|(?::"+n+"){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n").replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),a=new RegExp("(?:^"+t+"$)|(?:^"+i+"$)"),l=new RegExp("^"+t+"$"),s=new RegExp("^"+i+"$"),u=function(e){return e&&e.exact?a:new RegExp("(?:"+r(e)+t+r(e)+")|(?:"+r(e)+i+r(e)+")","g")};u.v4=function(e){return e&&e.exact?l:new RegExp(""+r(e)+t+r(e),"g")},u.v6=function(e){return e&&e.exact?s:new RegExp(""+r(e)+i+r(e),"g")};var o=u.v4().source,f=u.v6().source;return Se=new RegExp("(?:^(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|"+o+"|"+f+'|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#][^\\s"]*)?$)',"i")}())},hex:function(e){return"string"==typeof e&&!!e.match($e)}},Ie="enum",Me={required:ke,whitespace:function(e,r,t,n,i){(/^\s+$/.test(r)||""===r)&&n.push(Fe(i.messages.whitespace,e.fullField))},type:function(e,r,t,n,i){if(e.required&&void 0===r)ke(e,r,t,n,i);else{var a=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(a)>-1?_e[a](r)||n.push(Fe(i.messages.types[a],e.fullField,e.type)):a&&typeof r!==e.type&&n.push(Fe(i.messages.types[a],e.fullField,e.type))}},range:function(e,r,t,n,i){var a="number"==typeof e.len,l="number"==typeof e.min,s="number"==typeof e.max,u=r,o=null,f="number"==typeof r,d="string"==typeof r,c=Array.isArray(r);if(f?o="number":d?o="string":c&&(o="array"),!o)return!1;c&&(u=r.length),d&&(u=r.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"_").length),a?u!==e.len&&n.push(Fe(i.messages[o].len,e.fullField,e.len)):l&&!s&&ue.max?n.push(Fe(i.messages[o].max,e.fullField,e.max)):l&&s&&(ue.max)&&n.push(Fe(i.messages[o].range,e.fullField,e.min,e.max))},enum:function(e,r,t,n,i){e[Ie]=Array.isArray(e[Ie])?e[Ie]:[],-1===e[Ie].indexOf(r)&&n.push(Fe(i.messages[Ie],e.fullField,e[Ie].join(", ")))},pattern:function(e,r,t,n,i){if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(r)||n.push(Fe(i.messages.pattern.mismatch,e.fullField,r,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(r)||n.push(Fe(i.messages.pattern.mismatch,e.fullField,r,e.pattern))}}},Ve=function(e,r,t,n,i){var a=e.type,l=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Oe(r,a)&&!e.required)return t();Me.required(e,r,n,l,i,a),Oe(r,a)||Me.type(e,r,n,l,i)}t(l)},Be={string:function(e,r,t,n,i){var a=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Oe(r,"string")&&!e.required)return t();Me.required(e,r,n,a,i,"string"),Oe(r,"string")||(Me.type(e,r,n,a,i),Me.range(e,r,n,a,i),Me.pattern(e,r,n,a,i),!0===e.whitespace&&Me.whitespace(e,r,n,a,i))}t(a)},method:function(e,r,t,n,i){var a=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Oe(r)&&!e.required)return t();Me.required(e,r,n,a,i),void 0!==r&&Me.type(e,r,n,a,i)}t(a)},number:function(e,r,t,n,i){var a=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(""===r&&(r=void 0),Oe(r)&&!e.required)return t();Me.required(e,r,n,a,i),void 0!==r&&(Me.type(e,r,n,a,i),Me.range(e,r,n,a,i))}t(a)},boolean:function(e,r,t,n,i){var a=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Oe(r)&&!e.required)return t();Me.required(e,r,n,a,i),void 0!==r&&Me.type(e,r,n,a,i)}t(a)},regexp:function(e,r,t,n,i){var a=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Oe(r)&&!e.required)return t();Me.required(e,r,n,a,i),Oe(r)||Me.type(e,r,n,a,i)}t(a)},integer:function(e,r,t,n,i){var a=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Oe(r)&&!e.required)return t();Me.required(e,r,n,a,i),void 0!==r&&(Me.type(e,r,n,a,i),Me.range(e,r,n,a,i))}t(a)},float:function(e,r,t,n,i){var a=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Oe(r)&&!e.required)return t();Me.required(e,r,n,a,i),void 0!==r&&(Me.type(e,r,n,a,i),Me.range(e,r,n,a,i))}t(a)},array:function(e,r,t,n,i){var a=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(null==r&&!e.required)return t();Me.required(e,r,n,a,i,"array"),null!=r&&(Me.type(e,r,n,a,i),Me.range(e,r,n,a,i))}t(a)},object:function(e,r,t,n,i){var a=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Oe(r)&&!e.required)return t();Me.required(e,r,n,a,i),void 0!==r&&Me.type(e,r,n,a,i)}t(a)},enum:function(e,r,t,n,i){var a=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Oe(r)&&!e.required)return t();Me.required(e,r,n,a,i),void 0!==r&&Me.enum(e,r,n,a,i)}t(a)},pattern:function(e,r,t,n,i){var a=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Oe(r,"string")&&!e.required)return t();Me.required(e,r,n,a,i),Oe(r,"string")||Me.pattern(e,r,n,a,i)}t(a)},date:function(e,r,t,n,i){var a=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Oe(r,"date")&&!e.required)return t();var l;if(Me.required(e,r,n,a,i),!Oe(r,"date"))l=r instanceof Date?r:new Date(r),Me.type(e,l,n,a,i),l&&Me.range(e,l.getTime(),n,a,i)}t(a)},url:Ve,hex:Ve,email:Ve,required:function(e,r,t,n,i){var a=[],l=Array.isArray(r)?"array":typeof r;Me.required(e,r,n,a,i,l),t(a)},any:function(e,r,t,n,i){var a=[];if(e.required||!e.required&&n.hasOwnProperty(e.field)){if(Oe(r)&&!e.required)return t();Me.required(e,r,n,a,i)}t(a)}};function We(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var ze=We(),Ce=function(){function e(e){this.rules=null,this._messages=ze,this.define(e)}var r=e.prototype;return r.define=function(e){var r=this;if(!e)throw new Error("Cannot configure a schema with no rules");if("object"!=typeof e||Array.isArray(e))throw new Error("Rules must be an object");this.rules={},Object.keys(e).forEach(function(t){var n=e[t];r.rules[t]=Array.isArray(n)?n:[n]})},r.messages=function(e){return e&&(this._messages=Ae(We(),e)),this._messages},r.validate=function(r,t,n){var i=this;void 0===t&&(t={}),void 0===n&&(n=function(){});var a=r,l=t,s=n;if("function"==typeof l&&(s=l,l={}),!this.rules||0===Object.keys(this.rules).length)return s&&s(null,a),Promise.resolve(a);if(l.messages){var u=this.messages();u===ze&&(u=We()),Ae(u,l.messages),l.messages=u}else l.messages=this.messages();var o={};(l.keys||Object.keys(this.rules)).forEach(function(e){var t=i.rules[e],n=a[e];t.forEach(function(t){var l=t;"function"==typeof l.transform&&(a===r&&(a=he({},a)),n=a[e]=l.transform(n)),(l="function"==typeof l?{validator:l}:he({},l)).validator=i.getValidationMethod(l),l.validator&&(l.field=e,l.fullField=l.fullField||e,l.type=i.getType(l),o[e]=o[e]||[],o[e].push({rule:l,value:n,source:a,field:e}))})});var f={};return Pe(o,l,function(r,t){var n,i=r.rule,s=!("object"!==i.type&&"array"!==i.type||"object"!=typeof i.fields&&"object"!=typeof i.defaultField);function u(e,r){return he({},r,{fullField:i.fullField+"."+e,fullFields:i.fullFields?[].concat(i.fullFields,[e]):[e]})}function o(n){void 0===n&&(n=[]);var o=Array.isArray(n)?n:[n];!l.suppressWarning&&o.length&&e.warning("async-validator:",o),o.length&&void 0!==i.message&&(o=[].concat(i.message));var d=o.map(Ee(i,a));if(l.first&&d.length)return f[i.field]=1,t(d);if(s){if(i.required&&!r.value)return void 0!==i.message?d=[].concat(i.message).map(Ee(i,a)):l.error&&(d=[l.error(i,Fe(l.messages.required,i.field))]),t(d);var c={};i.defaultField&&Object.keys(r.value).map(function(e){c[e]=i.defaultField}),c=he({},c,r.rule.fields);var p={};Object.keys(c).forEach(function(e){var r=c[e],t=Array.isArray(r)?r:[r];p[e]=t.map(u.bind(null,e))});var v=new e(p);v.messages(l.messages),r.rule.options&&(r.rule.options.messages=l.messages,r.rule.options.error=l.error),v.validate(r.value,r.rule.options||l,function(e){var r=[];d&&d.length&&r.push.apply(r,d),e&&e.length&&r.push.apply(r,e),t(r.length?r:null)})}else t(d)}if(s=s&&(i.required||!i.required&&r.value),i.field=r.field,i.asyncValidator)n=i.asyncValidator(i,r.value,o,r.source,l);else if(i.validator){try{n=i.validator(i,r.value,o,r.source,l)}catch(d){console.error,l.suppressValidatorError||setTimeout(function(){throw d},0),o(d.message)}!0===n?o():!1===n?o("function"==typeof i.message?i.message(i.fullField||i.field):i.message||(i.fullField||i.field)+" fails"):n instanceof Array?o(n):n instanceof Error&&o(n.message)}n&&n.then&&n.then(function(){return o()},function(e){return o(e)})},function(e){!function(e){var r=[],t={};function n(e){var t;Array.isArray(e)?r=(t=r).concat.apply(t,e):r.push(e)}for(var i=0;i");const i=F("form"),a=g(),l=g(0),s=(n="update")=>{N(()=>{r.default&&e.isAutoWidth&&("update"===n?l.value=(()=>{var e;if(null==(e=a.value)?void 0:e.firstElementChild){const e=window.getComputedStyle(a.value.firstElementChild).width;return Math.ceil(Number.parseFloat(e))}return 0})():"remove"===n&&(null==t||t.deregisterLabelWidth(l.value)))})},u=()=>s("update");return V(()=>{u()}),B(()=>{s("remove")}),W(()=>u()),O(l,(r,n)=>{e.updateAll&&(null==t||t.registerLabelWidth(r,n))}),z(y(()=>{var e,r;return null!=(r=null==(e=a.value)?void 0:e.firstElementChild)?r:null}),u),()=>{var s,u;if(!r)return null;const{isAutoWidth:o}=e;if(o){const e=null==t?void 0:t.autoLabelWidth,u={};if((null==n?void 0:n.hasLabel)&&e&&"auto"!==e){const r=Math.max(0,Number.parseInt(e,10)-l.value),i=n.labelPosition||t.labelPosition;r&&(u["left"===i?"marginRight":"marginLeft"]=`${r}px`)}return C("div",{ref:a,class:[i.be("item","label-wrap")],style:u},[null==(s=r.default)?void 0:s.call(r)])}return C(D,{ref:a},[null==(u=r.default)?void 0:u.call(r)])}}});const Te=b({name:"ElFormItem"});var Ze=m(b(u(s({},Te),{props:De,setup(e,{expose:r}){const t=e,l=T(),d=I(P,void 0),p=I(L,void 0),v=q(void 0,{formItem:!1}),h=F("form-item"),m=Z().value,b=g([]),_=g(""),M=J(_,100),W=g(""),z=g();let D,ie=!1;const ae=y(()=>t.labelPosition||(null==d?void 0:d.labelPosition)),se=y(()=>{if("top"===ae.value)return{};const e=G(t.labelWidth||(null==d?void 0:d.labelWidth)||"");return e?{width:e}:{}}),oe=y(()=>{if("top"===ae.value||(null==d?void 0:d.inline))return{};if(!t.label&&!t.labelWidth&&ye)return{};const e=G(t.labelWidth||(null==d?void 0:d.labelWidth)||"");return t.label||l.label?{}:{marginLeft:e}}),fe=y(()=>[h.b(),h.m(v.value),h.is("error","error"===_.value),h.is("validating","validating"===_.value),h.is("success","success"===_.value),h.is("required",Fe.value||t.required),h.is("no-asterisk",null==d?void 0:d.hideRequiredAsterisk),"right"===(null==d?void 0:d.requireAsteriskPosition)?"asterisk-right":"asterisk-left",{[h.m("feedback")]:null==d?void 0:d.statusIcon,[h.m(`label-${ae.value}`)]:ae.value}]),de=y(()=>c(t.inlineMessage)?t.inlineMessage:(null==d?void 0:d.inlineMessage)||!1),ce=y(()=>[h.e("error"),{[h.em("error","inline")]:de.value}]),pe=y(()=>t.prop?f(t.prop)?t.prop.join("."):t.prop:""),ve=y(()=>!(!t.label&&!l.label)),he=y(()=>{var e;return null!=(e=t.for)?e:1===b.value.length?b.value[0]:void 0}),ge=y(()=>!he.value&&ve.value),ye=!!p,me=y(()=>{const e=null==d?void 0:d.model;if(e&&t.prop)return U(e,t.prop).value}),be=y(()=>{const{required:e}=t,r=[];t.rules&&r.push(...le(t.rules));const n=null==d?void 0:d.rules;if(n&&t.prop){const e=U(n,t.prop).value;e&&r.push(...le(e))}if(void 0!==e){const t=r.map((e,r)=>[e,r]).filter(([e])=>"required"in e);if(t.length>0)for(const[n,i]of t)n.required!==e&&(r[i]=u(s({},n),{required:e}));else r.push({required:e})}return r}),we=y(()=>be.value.length>0),qe=e=>be.value.filter(r=>!r.trigger||!e||(f(r.trigger)?r.trigger.includes(e):r.trigger===e)).map(e=>{var r=e,{trigger:t}=r;return((e,r)=>{var t={};for(var l in e)i.call(e,l)&&r.indexOf(l)<0&&(t[l]=e[l]);if(null!=e&&n)for(var l of n(e))r.indexOf(l)<0&&a.call(e,l)&&(t[l]=e[l]);return t})(r,["trigger"])}),Fe=y(()=>be.value.some(e=>e.required)),Oe=y(()=>{var e;return"error"===M.value&&t.showMessage&&(null==(e=null==d?void 0:d.showMessage)||e)}),xe=y(()=>`${t.label||""}${(null==d?void 0:d.labelSuffix)||""}`),je=e=>{_.value=e},Pe=e=>o(this,null,function*(){const r=pe.value;return new Ce({[r]:e}).validate({[r]:me.value},{firstFields:!0}).then(()=>(je("success"),null==d||d.emit("validate",t.prop,!0,""),!0)).catch(e=>((e=>{var r,n;const{errors:i,fields:a}=e;je("error"),W.value=i?null!=(n=null==(r=null==i?void 0:i[0])?void 0:r.message)?n:`${t.prop} is required`:"",null==d||d.emit("validate",t.prop,!1,W.value)})(e),Promise.reject(e)))}),Ee=(e,r)=>o(this,null,function*(){if(ie||!t.prop)return!1;const n=$(r);if(!we.value)return null==r||r(!1),!1;const i=qe(e);return 0===i.length?(null==r||r(!0),!0):(je("validating"),Pe(i).then(()=>(null==r||r(!0),!0)).catch(e=>{const{fields:t}=e;return null==r||r(!1,t),!n&&Promise.reject(t)}))}),Ae=()=>{je(""),W.value="",ie=!1},Se=()=>o(this,null,function*(){const e=null==d?void 0:d.model;if(!e||!t.prop)return;const r=U(e,t.prop);ie=!0,r.value=ue(D),yield N(),Ae(),ie=!1});O(()=>t.error,e=>{W.value=e||"",je(e?"error":"")},{immediate:!0}),O(()=>t.validateStatus,e=>je(e||""));const ke=w(u(s({},j(t)),{$el:z,size:v,validateMessage:W,validateState:_,labelId:m,inputIds:b,isGroup:ge,hasLabel:ve,fieldValue:me,addInputId:e=>{b.value.includes(e)||b.value.push(e)},removeInputId:e=>{b.value=b.value.filter(r=>r!==e)},resetField:Se,clearValidate:Ae,validate:Ee,propString:pe}));return x(L,ke),V(()=>{t.prop&&(null==d||d.addField(ke),D=ue(me.value))}),B(()=>{null==d||d.removeField(ke)}),r({size:v,validateMessage:W,validateState:_,validate:Ee,clearValidate:Ae,resetField:Se}),(e,r)=>{var t;return A(),E("div",{ref_key:"formItemRef",ref:z,class:k(R(fe)),role:R(ge)?"group":void 0,"aria-labelledby":R(ge)?R(m):void 0},[C(R(Le),{"is-auto-width":"auto"===R(se).width,"update-all":"auto"===(null==(t=R(d))?void 0:t.labelWidth)},{default:Y(()=>[R(ve)?(A(),H(Q(R(he)?"label":"div"),{key:0,id:R(m),for:R(he),class:k(R(h).e("label")),style:ee(R(se))},{default:Y(()=>[S(e.$slots,"label",{label:R(xe)},()=>[re(te(R(xe)),1)])]),_:3},8,["id","for","class","style"])):K("v-if",!0)]),_:3},8,["is-auto-width","update-all"]),X("div",{class:k(R(h).e("content")),style:ee(R(oe))},[S(e.$slots,"default"),C(ne,{name:`${R(h).namespace.value}-zoom-in-top`},{default:Y(()=>[R(Oe)?S(e.$slots,"error",{key:0,error:W.value},()=>[X("div",{class:k(R(ce))},te(W.value),3)]):K("v-if",!0)]),_:3},8,["name"])],6)],10,["role","aria-labelledby"])}}})),[["__file","form-item.vue"]]);const Je=ae(ve,{FormItem:Ze}),Ge=ie(Ze);export{Ge as E,Je as a}; diff --git a/nginx/admin/assets/index-BcfO0-fK.js.gz b/nginx/admin/assets/index-BcfO0-fK.js.gz new file mode 100644 index 0000000..dacdf1e Binary files /dev/null and b/nginx/admin/assets/index-BcfO0-fK.js.gz differ diff --git a/nginx/admin/assets/index-Bdn-FVK1.js b/nginx/admin/assets/index-Bdn-FVK1.js new file mode 100644 index 0000000..49a0da8 --- /dev/null +++ b/nginx/admin/assets/index-Bdn-FVK1.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,n=(t,i,l)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[i]=l,a=(e,t)=>{for(var i in t||(t={}))o.call(t,i)&&n(e,i,t[i]);if(l)for(var i of l(t))r.call(t,i)&&n(e,i,t[i]);return e},s=(e,t,i)=>new Promise((l,o)=>{var r=e=>{try{a(i.next(e))}catch(t){o(t)}},n=e=>{try{a(i.throw(e))}catch(t){o(t)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,n);a((i=i.apply(e,t)).next())});import{d as u,r as p,k as m,c as d,o as c,ez as v,H as h,b as j,e as f,g as b,p as y,M as g,w as x,N as _,h as k,E as w,O as C,j as O,v as A,aQ as $,eA as B,n as T,ag as L,aV as E,T as M,eB as P,eC as D}from"./index-BoIUJTA2.js";/* empty css */import{_ as I}from"./index-Bwtbh5WQ.js";import{A as R}from"./index-BaXJ8CyS.js";/* empty css */import{_ as V}from"./index-oPcNh_Ue.js";import{_ as S}from"./index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js";import{u as U}from"./useTableColumns-FR69a2pD.js";import{_ as H}from"./menu-dialog.vue_vue_type_script_setup_true_lang-BHUwTkkc.js";/* empty css */import{E as Q}from"./index-BaD29Izp.js";import{E as W}from"./index-ZsMdSUVI.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./index-D2gD5Tn5.js";import"./token-DWNpOE8r.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./refs-Cw5r5QN8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";/* empty css */import"./index-CZJaGuxf.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./tree-select-DdXiCp9j.js";import"./index-BneqRonp.js";import"./index-BnK4BbY2.js";import"./clamp-BXzPLned.js";import"./index-sK8AD9wr.js";import"./index-BObA9rVr.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./slider-DTwTybBj.js";import"./index-C_S0YbqD.js";/* empty css */import"./index-C_sVHlWz.js";import"./index-CXD7B41Z.js";import"./index-BcfO0-fK.js";import"./_baseClone-Ct7RL6h5.js";import"./index-DqTthkO7.js";import"./index-DGLhvuMQ.js";import"./cloneDeep-B1gZFPYK.js";import"./index-rgHg98E6.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./index-CjpBlozU.js";import"./use-dialog-FwJ-QdmW.js";const X={class:"menu-page art-full-height"},Y=u((Z=a({},{name:"Menus"}),t(Z,i({__name:"index",setup(e){const t=p(!1),i=p(!1),l=p(),o=p(!1),r=p("menu"),n=p(null),u=p(!1),Y={name:"",route:""},Z=m(a({},Y)),z=m(a({},Y)),N=d(()=>[{label:"菜单名称",key:"name",type:"input",props:{clearable:!0}},{label:"路由地址",key:"route",type:"input",props:{clearable:!0}}]);c(()=>{J()});const J=()=>s(this,null,function*(){t.value=!0;try{const e=yield v();G.value=e}catch(e){throw e instanceof Error?e:new Error("获取菜单失败")}finally{t.value=!1}}),K=e=>{var t,i,l,o,r;return(null==(t=e.meta)?void 0:t.isAuthButton)?"danger":(null==(i=e.children)?void 0:i.length)?"info":(null==(l=e.meta)?void 0:l.link)&&(null==(o=e.meta)?void 0:o.isIframe)?"success":e.path?"primary":(null==(r=e.meta)?void 0:r.link)?"warning":"info"},{columnChecks:q,columns:F}=U(()=>[{prop:"meta.title",label:"菜单名称",minWidth:120,formatter:e=>{var t;return $(null==(t=e.meta)?void 0:t.title)}},{prop:"type",label:"菜单类型",formatter:e=>L(W,{type:K(e)},()=>(e=>{var t,i,l,o,r;return(null==(t=e.meta)?void 0:t.isAuthButton)?"按钮":(null==(i=e.children)?void 0:i.length)?"目录":(null==(l=e.meta)?void 0:l.link)&&(null==(o=e.meta)?void 0:o.isIframe)?"内嵌":e.path?"菜单":(null==(r=e.meta)?void 0:r.link)?"外链":"未知"})(e))},{prop:"path",label:"路由",formatter:e=>{var t,i;return(null==(t=e.meta)?void 0:t.isAuthButton)?"":(null==(i=e.meta)?void 0:i.link)||e.path||""}},{prop:"meta.authList",label:"权限标识",formatter:e=>{var t,i,l,o;return(null==(t=e.meta)?void 0:t.isAuthButton)?(null==(i=e.meta)?void 0:i.authMark)||"":(null==(o=null==(l=e.meta)?void 0:l.authList)?void 0:o.length)?`${e.meta.authList.length} 个权限标识`:""}},{prop:"date",label:"编辑时间",formatter:()=>"2022-3-12 12:00:00"},{prop:"status",label:"状态",formatter:()=>L(W,{type:"success"},()=>"启用")},{prop:"operation",label:"操作",width:180,align:"right",formatter:e=>{var t;const i={style:"text-align: right"};return(null==(t=e.meta)?void 0:t.isAuthButton)?L("div",i,[L(S,{type:"edit",onClick:()=>pe(e)}),L(S,{type:"delete",onClick:()=>ce(e)})]):L("div",i,[L(S,{type:"add",onClick:()=>se(),title:"新增权限"}),L(S,{type:"edit",onClick:()=>ue(e)}),L(S,{type:"delete",onClick:()=>de(e)})])}}]),G=p([]),ee=()=>{Object.assign(Z,a({},Y)),Object.assign(z,a({},Y)),J()},te=()=>{Object.assign(z,a({},Z)),J()},ie=()=>{J()},le=e=>{if(null===e||"object"!=typeof e)return e;if(e instanceof Date)return new Date(e);if(Array.isArray(e))return e.map(e=>le(e));const t={};for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=le(e[i]));return t},oe=e=>e.map(e=>{var t,i,l,o;const r=le(e);if((null==(t=r.children)?void 0:t.length)&&(r.children=oe(r.children)),null==(l=null==(i=e.meta)?void 0:i.authList)?void 0:l.length){const t=e.meta.authList.map(t=>({path:`${e.path}_auth_${t.authMark}`,name:`${String(e.name)}_auth_${t.authMark}`,meta:{title:t.title,authMark:t.authMark,isAuthButton:!0,parentPath:e.path}}));r.children=(null==(o=r.children)?void 0:o.length)?[...r.children,...t]:t}return r}),re=e=>{var t,i,l,o;const r=[];for(const n of e){const e=(null==(t=z.name)?void 0:t.toLowerCase().trim())||"",a=(null==(i=z.route)?void 0:i.toLowerCase().trim())||"",s=$((null==(l=n.meta)?void 0:l.title)||"").toLowerCase(),u=(n.path||"").toLowerCase(),p=!e||s.includes(e),m=!a||u.includes(a);if(null==(o=n.children)?void 0:o.length){const e=re(n.children);if(e.length>0){const t=le(n);t.children=e,r.push(t);continue}}p&&m&&r.push(le(n))}return r},ne=d(()=>{const e=re(G.value);return oe(e)}),ae=()=>{r.value="menu",n.value=null,u.value=!0,o.value=!0},se=()=>{r.value="button",n.value=null,u.value=!1,o.value=!0},ue=e=>{r.value="menu",n.value=e,u.value=!0,o.value=!0},pe=e=>{var t,i;r.value="button",n.value={title:null==(t=e.meta)?void 0:t.title,authMark:null==(i=e.meta)?void 0:i.authMark},u.value=!1,o.value=!0},me=e=>s(this,null,function*(){if("menu"===r.value){const t={parent_id:0,path:e.path,name:e.name,component:e.component||"",icon:e.icon||"",sort:e.sort||1,status:!!e.isEnable,keep_alive:!!e.keepAlive,is_hide:!!e.isHide,is_hide_tab:!!e.isHideTab};yield B(t),o.value=!1,yield J()}else o.value=!1,yield J()}),de=e=>s(this,null,function*(){var t,i,l,o;try{const i=(null==(t=null==e?void 0:e.meta)?void 0:t.title)||"该菜单";if(yield E.confirm(`确定要删除菜单"${i}"吗?删除后无法恢复`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",beforeClose:(e,t,i)=>{"confirm"===e?(t.confirmButtonLoading=!0,i()):i()}}),!e.id)return void M.error("菜单ID不存在");yield P(e.id),M.success({message:`"${i}"已成功删除`,duration:3e3}),J()}catch(r){if("cancel"===r)return;const t=(null==(l=null==(i=null==r?void 0:r.response)?void 0:i.data)?void 0:l.message)||r.message||"删除失败",n=(null==(o=null==e?void 0:e.meta)?void 0:o.title)||"该菜单";M.error({message:`"${n}"删除失败:${t}`,duration:4e3})}}),ce=e=>s(this,null,function*(){var t,i,l,o;try{const i=(null==(t=null==e?void 0:e.meta)?void 0:t.title)||"该权限";if(yield E.confirm(`确定要删除权限"${i}"吗?删除后无法恢复`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",beforeClose:(e,t,i)=>{"confirm"===e?(t.confirmButtonLoading=!0,i()):i()}}),!e.id)return void M.error("权限ID不存在");yield D(e.id),M.success({message:`"${i}"已成功删除`,duration:3e3}),J()}catch(r){if("cancel"===r)return;const t=(null==(l=null==(i=null==r?void 0:r.response)?void 0:i.data)?void 0:l.message)||r.message||"删除失败",n=(null==(o=null==e?void 0:e.meta)?void 0:o.title)||"该权限";M.error({message:`"${n}"删除失败:${t}`,duration:4e3})}}),ve=()=>{i.value=!i.value,T(()=>{var e;if((null==(e=l.value)?void 0:e.elTableRef)&&ne.value){const e=t=>{t.forEach(t=>{var o;(null==(o=t.children)?void 0:o.length)&&(l.value.elTableRef.toggleRowExpansion(t,i.value),e(t.children))})};e(ne.value)}})};return(e,a)=>{const s=V,p=w,m=R,d=I,c=Q,v=h("auth"),$=h("ripple");return f(),j("div",X,[b(s,{modelValue:y(Z),"onUpdate:modelValue":a[0]||(a[0]=e=>g(Z)?Z.value=e:null),items:y(N),showExpand:!1,onReset:ee,onSearch:te},null,8,["modelValue","items"]),b(c,{class:"art-table-card",shadow:"never"},{default:x(()=>[b(m,{showZebra:!1,loading:y(t),columns:y(q),"onUpdate:columns":a[1]||(a[1]=e=>g(q)?q.value=e:null),onRefresh:ie},{left:x(()=>[_((f(),k(p,{onClick:C(ae,["prevent"])},{default:x(()=>[...a[3]||(a[3]=[O(" 添加菜单 ",-1)])]),_:1})),[[v,"add"],[$]]),_((f(),k(p,{onClick:C(ve,["prevent"])},{default:x(()=>[O(A(y(i)?"收起":"展开"),1)]),_:1})),[[$]])]),_:1},8,["loading","columns"]),b(d,{ref_key:"tableRef",ref:l,rowKey:"path",loading:y(t),columns:y(F),data:y(ne),stripe:!1,"tree-props":{children:"children",hasChildren:"hasChildren"},"default-expand-all":!1},null,8,["loading","columns","data"]),b(H,{visible:y(o),"onUpdate:visible":a[2]||(a[2]=e=>g(o)?o.value=e:null),type:y(r),editData:y(n),lockType:y(u),onSubmit:me},null,8,["visible","type","editData","lockType"])]),_:1})])}}}))));var Z;export{Y as default}; diff --git a/nginx/admin/assets/index-Bdn-FVK1.js.gz b/nginx/admin/assets/index-Bdn-FVK1.js.gz new file mode 100644 index 0000000..04f716c Binary files /dev/null and b/nginx/admin/assets/index-Bdn-FVK1.js.gz differ diff --git a/nginx/admin/assets/index-BeuS3fUG.js b/nginx/admin/assets/index-BeuS3fUG.js new file mode 100644 index 0000000..f07c602 --- /dev/null +++ b/nginx/admin/assets/index-BeuS3fUG.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,r=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,n=(t,r,l)=>r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[r]=l;import{_ as i}from"./ArtResultPage.vue_vue_type_script_setup_true_lang-D5vO0ry2.js";import{d as o,H as p,h as c,e as u,w as _,N as f,E as m,j as y,f as b,g as j}from"./index-BoIUJTA2.js";/* empty css */import{_ as d}from"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";const v=o((O=((e,t)=>{for(var r in t||(t={}))s.call(t,r)&&n(e,r,t[r]);if(l)for(var r of l(t))a.call(t,r)&&n(e,r,t[r]);return e})({},{name:"ResultFail"}),t(O,r({__name:"index",setup:e=>(e,t)=>{const r=d,l=m,s=i,a=p("ripple");return u(),c(s,{type:"fail",title:"提交失败",message:"请核对并修改以下信息后,再重新提交。",iconCode:"ri:close-fill"},{content:_(()=>[t[2]||(t[2]=b("p",null,"您提交的内容有如下错误:",-1)),b("p",null,[j(r,{icon:"ri:close-circle-line",class:"text-red-500 mr-1"}),t[0]||(t[0]=b("span",null,"您的账户已被冻结",-1))]),b("p",null,[j(r,{icon:"ri:close-circle-line",class:"text-red-500 mr-1"}),t[1]||(t[1]=b("span",null,"您的账户还不具备申请资格",-1))])]),buttons:_(()=>[f((u(),c(l,{type:"primary"},{default:_(()=>[...t[3]||(t[3]=[y("返回修改",-1)])]),_:1})),[[a]]),f((u(),c(l,null,{default:_(()=>[...t[4]||(t[4]=[y("查看",-1)])]),_:1})),[[a]])]),_:1})}}))));var O;export{v as default}; diff --git a/nginx/admin/assets/index-Bhf_oWP3.js b/nginx/admin/assets/index-Bhf_oWP3.js new file mode 100644 index 0000000..3ecf7d5 --- /dev/null +++ b/nginx/admin/assets/index-Bhf_oWP3.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,a=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,r=(t,a,l)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[a]=l,i=(e,t)=>{for(var a in t||(t={}))o.call(t,a)&&r(e,a,t[a]);if(l)for(var a of l(t))n.call(t,a)&&r(e,a,t[a]);return e},u=(e,t,a)=>new Promise((l,o)=>{var n=e=>{try{i(a.next(e))}catch(t){o(t)}},r=e=>{try{i(a.throw(e))}catch(t){o(t)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(n,r);i((a=a.apply(e,t)).next())});import{c1 as s,d,b as c,e as p,q as m,i as v,f as y,g as f,h as g,m as _,v as b,r as h,k as x,o as w,c as j,w as k,N as C,K as V,P as z,E as S,j as E,b2 as U,aV as A,T as F}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css */import{s as N}from"./operations-Cr4YfoRu.js";import{_ as O}from"./index.vue_vue_type_script_setup_true_lang-Dk4553Z8.js";import{_ as $}from"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import{_ as D}from"./index.vue_vue_type_script_setup_true_lang-DUnXk1_V.js";import{a as P,E as I}from"./index-BcfO0-fK.js";import{E as Y,a as q}from"./index-BjuMygln.js";import{E as B}from"./index-C1haaLtB.js";import{E as M}from"./index-BaD29Izp.js";import{E as K,a as R}from"./index-D2gD5Tn5.js";import{E as L}from"./index-CjpBlozU.js";import{E as T}from"./index-BneqRonp.js";import{a as X,E as G}from"./index-DqTthkO7.js";import{_ as H}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./iconify-DFoKediz.js";import"./useChart-DmniNG26.js";import"./installCanvasRenderer-D-xUkWdX.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";import"./index-BnK4BbY2.js";const Q={class:"flex-1"},W={key:1},Z=d((J=i({},{name:"ArtStatsCard"}),ee={__name:"index",props:{boxStyle:{},icon:{},iconStyle:{},title:{},count:{},decimals:{default:0},separator:{default:","},description:{},textColor:{},showArrow:{type:Boolean}},setup:e=>(t,a)=>{const l=$,o=O;return p(),c("div",{class:m(["art-card h-32 flex-c px-5 transition-transform duration-200 hover:-translate-y-0.5",e.boxStyle])},[e.icon?(p(),c("div",{key:0,class:m(["mr-4 size-11 flex-cc rounded-lg text-xl text-white",e.iconStyle])},[f(l,{icon:e.icon},null,8,["icon"])],2)):v("",!0),y("div",Q,[e.title?(p(),c("p",{key:0,class:"m-0 text-lg font-medium",style:_({color:e.textColor})},b(e.title),5)):v("",!0),void 0!==e.count?(p(),g(o,{key:1,class:"m-0 text-2xl font-medium",target:e.count,duration:2e3,decimals:e.decimals,separator:e.separator},null,8,["target","decimals","separator"])):v("",!0),e.description?(p(),c("p",{key:2,class:"mt-1 text-sm text-g-500 opacity-90",style:_({color:e.textColor})},b(e.description),5)):v("",!0)]),e.showArrow?(p(),c("div",W,[f(l,{icon:"ri:arrow-right-s-line",class:"text-xl text-g-500"})])):v("",!0)],2)}},t(J,a(ee))));var J,ee;const te={class:"channels-page p-4"},ae={class:"mb-4 flex justify-between"},le={class:"mt-4 flex justify-end"},oe={class:"flex flex-col items-center justify-center"},ne={class:"mb-4",style:{display:"flex","align-items":"center","min-height":"200px"}},re=["src"],ie={class:"text-center text-gray-500 mb-4"},ue={class:"mb-4 flex items-center gap-2"},se={key:0},de={key:1,class:"text-gray-400"},ce={class:"mt-4 flex items-center justify-between"},pe={class:"text-sm text-gray-500"},me={class:"flex items-center justify-between mb-4 text-xs text-g-500"},ve={class:"grid grid-cols-3 gap-4 mb-4"},ye={class:"grid grid-cols-3 gap-4 mb-4"},fe={class:"grid grid-cols-2 gap-4 mb-4"},ge={class:"flex justify-between items-center"},_e={class:"flex items-center gap-4"},be=d({__name:"index",setup(e){const t=h(!1),a=h([]),l=x({name:""}),o=x({page:1,pageSize:20,total:0}),n=h(!1),r=h("新增渠道"),d=h(!1),m=h(!1),_=h(),O=x({id:0,name:"",code:"",type:"other",remarks:""}),$={name:[{required:!0,message:"请输入渠道名称",trigger:"blur"}],code:[{required:!0,message:"请输入渠道标识",trigger:"blur"}]},H=h(!1),Q=h(!1),W=h(""),J=h(null),ee=h(!1),be=h(!1),he=h(!1),xe=h([]),we=h([]),je=x({keyword:"",page:1,pageSize:10,total:0});function ke(){return u(this,null,function*(){t.value=!0;try{const t=yield(e={name:l.name,page:o.page,page_size:o.pageSize},s.get({url:"admin/channels",params:e}));a.value=t.list,o.total=t.total}finally{t.value=!1}var e})}function Ce(){l.name="",o.page=1,ke()}function Ve(){r.value="新增渠道",d.value=!1,O.id=0,O.name="",O.code="CH"+Math.random().toString(36).substr(2,6).toUpperCase(),O.type="other",O.remarks="",n.value=!0}function ze(e){return u(this,null,function*(){try{yield A.confirm("确定要删除该渠道吗?","提示",{type:"warning"}),yield(t=e.id,s.del({url:`admin/channels/${t}`})),F.success("删除成功"),ke()}catch(a){}var t})}function Se(){je.keyword="",je.page=1,je.pageSize=10,je.total=0,xe.value=[],we.value=[]}function Ee(e=!1){return u(this,null,function*(){var t;const a=je.keyword.trim();e&&(je.page=1);const l=null==(t=J.value)?void 0:t.id;if(a||l){be.value=!0;try{const e={page:je.page,page_size:je.pageSize};a?e.keyword=a:l&&(e.channel_id=l);const t=yield function(e){return s.get({url:"admin/channels/users/search",params:e})}(i({},e));xe.value=t.list||[],je.total=t.total||0,we.value=[]}catch(o){F.error("查找用户失败")}finally{be.value=!1}}else F.warning("请先选择渠道或输入关键词")})}function Ue(e){we.value=e}function Ae(){Ee()}function Fe(){Ee()}function Ne(){return u(this,null,function*(){if(!J.value)return;const e=we.value.map(e=>e.id);if(0!==e.length){he.value=!0;try{const l=yield(t=J.value.id,a={user_ids:e},s.post({url:`admin/channels/${t}/users/bind`,data:a}));F.success(`绑定完成:成功${l.success_count},跳过${l.skipped_count},失败${l.failed_count}`),ee.value=!1,ke(),De.value&&J.value&&Me()}catch(l){F.error("绑定渠道用户失败")}finally{he.value=!1}var t,a}else F.warning("请先勾选用户")})}function Oe(){return u(this,null,function*(){_.value&&(yield _.value.validate(e=>u(this,null,function*(){if(e){m.value=!0;try{d.value?yield(t=O.id,a={name:O.name,type:O.type,remarks:O.remarks},s.put({url:`admin/channels/${t}`,data:a})):yield function(e){return s.post({url:"admin/channels",data:e})}({name:O.name,code:O.code,type:O.type,remarks:O.remarks}),F.success("操作成功"),n.value=!1,ke()}finally{m.value=!1}}var t,a})))})}function $e(){var e;if(!W.value)return;const t=document.createElement("a");t.href=W.value,t.download=`channel_qrcode_${null==(e=J.value)?void 0:e.code}.png`,t.click()}w(()=>{ke()});const De=h(!1),Pe=h(!1),Ie=h({overview:{total_users:0,total_orders:0,total_gmv:0,total_paid_cents:0,total_cost_cents:0,total_profit_cents:0,total_cost:0,total_profit:0},daily:[]}),Ye=h("growth"),qe=h(null);function Be(){return u(this,null,function*(){if(J.value){Pe.value=!0;try{const e={};qe.value&&qe.value[0]&&qe.value[1]&&(e.start_date=qe.value[0],e.end_date=qe.value[1]);const t=yield function(e,t,a,l){const o={};return a&&l?(o.start_date=a,o.end_date=l):"number"==typeof t&&t>0&&(o.days=t),s.get({url:`admin/channels/${e}/stats`,params:o})}(J.value.id,e.days,e.start_date,e.end_date);Ie.value=t}catch(e){F.error("获取分析数据失败")}finally{Pe.value=!1}}})}function Me(){return u(this,null,function*(){yield Be()})}const Ke=j(()=>qe.value&&qe.value[0]&&qe.value[1]?`${qe.value[0]} 至 ${qe.value[1]}`:"历史全量"),Re=j(()=>Ie.value.daily.map(e=>e.date)),Le=j(()=>{const e=Ie.value.overview.total_paid_cents;return"number"==typeof e?Number((e/100).toFixed(2)):Ie.value.overview.total_gmv||0}),Te=j(()=>{const e=Ie.value.overview.total_cost_cents;return"number"==typeof e?Number((e/100).toFixed(2)):0}),Xe=j(()=>{const e=Ie.value.overview.total_profit_cents;return"number"==typeof e?Number((e/100).toFixed(2)):0}),Ge=e=>"number"==typeof e?Number((e/100).toFixed(2)):0,He=(e,t)=>t&&e?(e/t*100).toFixed(1)+"%":"0%",Qe=j(()=>Ge(Ie.value.overview.cash_cents)),We=j(()=>Ge(Ie.value.overview.coupon_cents)),Ze=j(()=>Ge(Ie.value.overview.points_cents)),Je=j(()=>"占比 "+He(Ie.value.overview.cash_cents,Ie.value.overview.total_paid_cents)),et=j(()=>"占比 "+He(Ie.value.overview.coupon_cents,Ie.value.overview.total_paid_cents)),tt=j(()=>"占比 "+He(Ie.value.overview.points_cents,Ie.value.overview.total_paid_cents)),at=j(()=>Xe.value>=0?"bg-green-50":"bg-red-50"),lt=j(()=>Xe.value>=0?"#10B981":"#EF4444"),ot=j(()=>Xe.value>=0?"bg-green-500":"bg-red-500"),nt=j(()=>Xe.value>=0?"盈利":"亏损");function rt(e){return"number"==typeof e.paid_cents?Number((e.paid_cents/100).toFixed(2)):e.gmv}const it=j(()=>"growth"===Ye.value?[{name:"新增用户",data:Ie.value.daily.map(e=>e.user_count),smooth:!0,color:"#409EFF"}]:"revenue"===Ye.value?[{name:"订单数",data:Ie.value.daily.map(e=>e.order_count),smooth:!0,color:"#67C23A"},{name:"实付金额",data:Ie.value.daily.map(e=>rt(e)),smooth:!0,color:"#E6A23C"}]:[{name:"实付(元)",data:Ie.value.daily.map(e=>rt(e)),smooth:!0,color:"#E6A23C"},{name:"成本(元)",data:Ie.value.daily.map(e=>{return"number"==typeof(t=e).cost_cents?Number((t.cost_cents/100).toFixed(2)):0;var t}),smooth:!0,color:"#7C3AED"},{name:"盈亏(元)",data:Ie.value.daily.map(e=>{return"number"==typeof(t=e).profit_cents?Number((t.profit_cents/100).toFixed(2)):0;var t}),smooth:!0,color:"#10B981"}]);return(e,i)=>{var s,h;const x=V,w=I,j=S,A=P,Ge=q,He=Y,rt=B,ut=M,st=R,dt=K,ct=L,pt=T,mt=G,vt=X,yt=U;return p(),c("div",te,[f(ut,{shadow:"never"},{default:k(()=>[y("div",ae,[f(A,{inline:!0,model:l},{default:k(()=>[f(w,{label:"渠道名称/标识"},{default:k(()=>[f(x,{modelValue:l.name,"onUpdate:modelValue":i[0]||(i[0]=e=>l.name=e),placeholder:"请输入渠道名称/标识",clearable:"",onKeyup:z(ke,["enter"])},null,8,["modelValue"])]),_:1}),f(w,null,{default:k(()=>[f(j,{type:"primary",onClick:ke},{default:k(()=>[...i[20]||(i[20]=[E("查询",-1)])]),_:1}),f(j,{onClick:Ce},{default:k(()=>[...i[21]||(i[21]=[E("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),f(j,{type:"primary",onClick:Ve},{default:k(()=>[...i[22]||(i[22]=[E("新增渠道",-1)])]),_:1})]),C((p(),g(He,{data:a.value,border:"",style:{width:"100%"}},{default:k(()=>[f(Ge,{prop:"id",label:"ID",width:"80"}),f(Ge,{prop:"name",label:"渠道名称"}),f(Ge,{prop:"code",label:"渠道标识"}),f(Ge,{prop:"type",label:"类型"}),f(Ge,{prop:"user_count",label:"累计注册用户"}),f(Ge,{label:"累计实付(元)",width:"140"},{default:k(({row:e})=>{return[E(b((t=e.paid_amount_cents,a=e.paid_amount,"number"!=typeof t||Number.isNaN(t)?"number"!=typeof a||Number.isNaN(a)?"0.00":a.toFixed(2):(t/100).toFixed(2))),1)];var t,a}),_:1}),f(Ge,{prop:"remarks",label:"备注"}),f(Ge,{prop:"created_at",label:"创建时间",width:"180"}),f(Ge,{label:"操作",width:"320",fixed:"right"},{default:k(({row:e})=>[f(j,{link:"",type:"primary",onClick:t=>function(e){r.value="编辑渠道",d.value=!0,O.id=e.id,O.name=e.name,O.code=e.code,O.type=e.type,O.remarks=e.remarks,n.value=!0}(e)},{default:k(()=>[...i[23]||(i[23]=[E("编辑",-1)])]),_:1},8,["onClick"]),f(j,{link:"",type:"primary",onClick:t=>function(e){return u(this,null,function*(){J.value=e,De.value=!0,Pe.value=!0,Ye.value="growth",qe.value=null,yield Be()})}(e)},{default:k(()=>[...i[24]||(i[24]=[E("分析",-1)])]),_:1},8,["onClick"]),f(j,{link:"",type:"primary",onClick:t=>function(e){J.value=e,ee.value=!0,Ee(!0)}(e)},{default:k(()=>[...i[25]||(i[25]=[E("手动加用户",-1)])]),_:1},8,["onClick"]),f(j,{link:"",type:"primary",onClick:t=>function(e){return u(this,null,function*(){J.value=e,H.value=!0,Q.value=!0,W.value="";try{const t=yield N({invite_code:"",douyin_id:"",channel_code:e.code,width:430});W.value="data:image/png;base64,"+t.image_base64}catch(t){F.error("生成二维码失败")}finally{Q.value=!1}})}(e)},{default:k(()=>[...i[26]||(i[26]=[E("二维码",-1)])]),_:1},8,["onClick"]),f(j,{link:"",type:"danger",onClick:t=>ze(e)},{default:k(()=>[...i[27]||(i[27]=[E("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[yt,t.value]]),y("div",le,[f(rt,{"current-page":o.page,"onUpdate:currentPage":i[1]||(i[1]=e=>o.page=e),"page-size":o.pageSize,"onUpdate:pageSize":i[2]||(i[2]=e=>o.pageSize=e),total:o.total,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:ke,onCurrentChange:ke},null,8,["current-page","page-size","total"])])]),_:1}),f(ct,{modelValue:n.value,"onUpdate:modelValue":i[8]||(i[8]=e=>n.value=e),title:r.value,width:"500px"},{footer:k(()=>[f(j,{onClick:i[7]||(i[7]=e=>n.value=!1)},{default:k(()=>[...i[28]||(i[28]=[E("取消",-1)])]),_:1}),f(j,{type:"primary",loading:m.value,onClick:Oe},{default:k(()=>[...i[29]||(i[29]=[E("确定",-1)])]),_:1},8,["loading"])]),default:k(()=>[f(A,{ref_key:"formRef",ref:_,model:O,rules:$,"label-width":"80px"},{default:k(()=>[f(w,{label:"渠道名称",prop:"name"},{default:k(()=>[f(x,{modelValue:O.name,"onUpdate:modelValue":i[3]||(i[3]=e=>O.name=e),placeholder:"请输入渠道名称"},null,8,["modelValue"])]),_:1}),f(w,{label:"渠道标识",prop:"code"},{default:k(()=>[f(x,{modelValue:O.code,"onUpdate:modelValue":i[4]||(i[4]=e=>O.code=e),placeholder:"请输入唯一标识",disabled:d.value},null,8,["modelValue","disabled"])]),_:1}),f(w,{label:"类型",prop:"type"},{default:k(()=>[f(dt,{modelValue:O.type,"onUpdate:modelValue":i[5]||(i[5]=e=>O.type=e),placeholder:"请选择类型"},{default:k(()=>[f(st,{label:"抖音",value:"douyin"}),f(st,{label:"微信",value:"wechat"}),f(st,{label:"线下",value:"offline"}),f(st,{label:"其他",value:"other"})]),_:1},8,["modelValue"])]),_:1}),f(w,{label:"备注",prop:"remarks"},{default:k(()=>[f(x,{modelValue:O.remarks,"onUpdate:modelValue":i[6]||(i[6]=e=>O.remarks=e),type:"textarea",placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),f(ct,{modelValue:H.value,"onUpdate:modelValue":i[9]||(i[9]=e=>H.value=e),title:"渠道二维码",width:"400px"},{default:k(()=>{var e;return[y("div",oe,[C((p(),c("div",ne,[W.value?(p(),c("img",{key:0,src:W.value,style:{width:"250px",height:"250px"}},null,8,re)):v("",!0)])),[[yt,Q.value]]),y("div",ie," 渠道标识: "+b(null==(e=J.value)?void 0:e.code),1),f(j,{type:"primary",onClick:$e,disabled:!W.value},{default:k(()=>[...i[30]||(i[30]=[E("下载二维码",-1)])]),_:1},8,["disabled"])])]}),_:1},8,["modelValue"]),f(ct,{modelValue:ee.value,"onUpdate:modelValue":i[16]||(i[16]=e=>ee.value=e),title:"手动添加用户 - "+((null==(s=J.value)?void 0:s.name)||""),width:"920px",onClosed:Se},{footer:k(()=>[f(j,{onClick:i[15]||(i[15]=e=>ee.value=!1)},{default:k(()=>[...i[32]||(i[32]=[E("取消",-1)])]),_:1}),f(j,{type:"primary",loading:he.value,onClick:Ne},{default:k(()=>[...i[33]||(i[33]=[E("确定绑定",-1)])]),_:1},8,["loading"])]),default:k(()=>[y("div",ue,[f(x,{modelValue:je.keyword,"onUpdate:modelValue":i[10]||(i[10]=e=>je.keyword=e),placeholder:"输入用户ID/手机号/昵称;留空显示本渠道已绑定用户",clearable:"",onKeyup:i[11]||(i[11]=z(e=>Ee(!0),["enter"]))},null,8,["modelValue"]),f(j,{type:"primary",loading:be.value,onClick:i[12]||(i[12]=e=>Ee(!0))},{default:k(()=>[...i[31]||(i[31]=[E("查找",-1)])]),_:1},8,["loading"])]),C((p(),g(He,{data:xe.value,"row-key":"id",border:"","max-height":"420",onSelectionChange:Ue},{default:k(()=>[f(Ge,{type:"selection",width:"50"}),f(Ge,{prop:"id",label:"用户ID",width:"100"}),f(Ge,{prop:"nickname",label:"昵称","min-width":"160"}),f(Ge,{prop:"mobile",label:"手机号","min-width":"140"}),f(Ge,{label:"当前渠道","min-width":"180"},{default:k(({row:e})=>[e.channel_name||e.channel_code?(p(),c("span",se,b(e.channel_name||"-")+b(e.channel_code?` (${e.channel_code})`:""),1)):(p(),c("span",de,"未绑定"))]),_:1})]),_:1},8,["data"])),[[yt,be.value]]),y("div",ce,[y("div",pe,"当前已选择 "+b(we.value.length)+" 人",1),f(rt,{"current-page":je.page,"onUpdate:currentPage":i[13]||(i[13]=e=>je.page=e),"page-size":je.pageSize,"onUpdate:pageSize":i[14]||(i[14]=e=>je.pageSize=e),total:je.total,"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",onSizeChange:Ae,onCurrentChange:Fe},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue","title"]),f(ct,{modelValue:De.value,"onUpdate:modelValue":i[19]||(i[19]=e=>De.value=e),title:"渠道数据分析 - "+((null==(h=J.value)?void 0:h.name)||""),width:"900px","destroy-on-close":""},{default:k(()=>[C((p(),c("div",null,[y("div",me,[y("span",null,"当前统计范围:"+b(Ke.value),1)]),y("div",ve,[f(Z,{title:"累计注册用户",count:Ie.value.overview.total_users,icon:"ri:user-line","box-style":"bg-blue-50","text-color":"#409EFF","icon-style":"bg-blue-500",description:"总注册用户数"},null,8,["count"]),f(Z,{title:"累计订单数",count:Ie.value.overview.total_orders,icon:"ri:shopping-cart-line","box-style":"bg-green-50","text-color":"#67C23A","icon-style":"bg-green-500",description:"总支付订单数"},null,8,["count"]),f(Z,{title:"累计GMV",count:Le.value,decimals:2,icon:"ri:money-cny-circle-line","box-style":"bg-orange-50","text-color":"#E6A23C","icon-style":"bg-orange-500",description:"总消费原价"},null,8,["count"])]),y("div",ye,[f(Z,{title:"现金支付",count:Qe.value,decimals:2,icon:"ri:wallet-3-line","box-style":"bg-green-50","text-color":"#67C23A","icon-style":"bg-green-500",description:Je.value},null,8,["count","description"]),f(Z,{title:"优惠券抵扣",count:We.value,decimals:2,icon:"ri:coupon-3-line","box-style":"bg-yellow-50","text-color":"#E6A23C","icon-style":"bg-yellow-500",description:et.value},null,8,["count","description"]),f(Z,{title:"积分抵扣",count:Ze.value,decimals:2,icon:"ri:copper-coin-line","box-style":"bg-red-50","text-color":"#F56C6C","icon-style":"bg-red-500",description:tt.value},null,8,["count","description"])]),y("div",fe,[f(Z,{title:"总成本",count:Te.value,decimals:2,icon:"ri:funds-line","box-style":"bg-purple-50","text-color":"#7C3AED","icon-style":"bg-purple-500",description:"总奖品成本"},null,8,["count"]),f(Z,{title:"盈亏",count:Xe.value,decimals:2,icon:"ri:bar-chart-2-line","box-style":at.value,"text-color":lt.value,"icon-style":ot.value,description:nt.value},null,8,["count","box-style","text-color","icon-style","description"])]),f(ut,{shadow:"never"},{header:k(()=>[y("div",ge,[y("div",_e,[i[34]||(i[34]=y("span",null,"趋势分析",-1)),f(pt,{modelValue:qe.value,"onUpdate:modelValue":i[17]||(i[17]=e=>qe.value=e),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",size:"small",onChange:Me},null,8,["modelValue"])]),f(vt,{modelValue:Ye.value,"onUpdate:modelValue":i[18]||(i[18]=e=>Ye.value=e),size:"small"},{default:k(()=>[f(mt,{label:"growth"},{default:k(()=>[...i[35]||(i[35]=[E("用户增长",-1)])]),_:1}),f(mt,{label:"revenue"},{default:k(()=>[...i[36]||(i[36]=[E("付费数据",-1)])]),_:1}),f(mt,{label:"profit"},{default:k(()=>[...i[37]||(i[37]=[E("盈亏分析",-1)])]),_:1})]),_:1},8,["modelValue"])])]),default:k(()=>[f(D,{data:it.value,xAxisData:Re.value,height:"350px",showLegend:!0},null,8,["data","xAxisData"])]),_:1})])),[[yt,Pe.value]])]),_:1},8,["modelValue","title"])])}}}),he=H(be,[["__scopeId","data-v-60150145"]]);export{he as default}; diff --git a/nginx/admin/assets/index-Bhf_oWP3.js.gz b/nginx/admin/assets/index-Bhf_oWP3.js.gz new file mode 100644 index 0000000..8f48447 Binary files /dev/null and b/nginx/admin/assets/index-Bhf_oWP3.js.gz differ diff --git a/nginx/admin/assets/index-BjIcYfBF.js b/nginx/admin/assets/index-BjIcYfBF.js new file mode 100644 index 0000000..5954587 --- /dev/null +++ b/nginx/admin/assets/index-BjIcYfBF.js @@ -0,0 +1,8 @@ +var t=(t,e,n)=>new Promise((a,i)=>{var o=t=>{try{l(n.next(t))}catch(e){i(e)}},r=t=>{try{l(n.throw(t))}catch(e){i(e)}},l=t=>t.done?a(t.value):Promise.resolve(t.value).then(o,r);l((n=n.apply(t,e)).next())});import{d as e,r as n,k as a,o as i,c1 as o,G as r,b as l,e as s,g as u,w as d,N as c,f as h,h as p,i as f,v as g,E as v,j as y,b2 as m,ai as x,p as _,b5 as b,K as w,I as S,J as I,ep as M,P as C,q as T,T as D,aV as L,n as A}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import{f as P}from"./product-qKpGgPBm.js";import{$ as k,a as E,a0 as N,a1 as z,a2 as R,a3 as O,a4 as V,a5 as B,a6 as G,a7 as W,a8 as F,a9 as j,aa as Y,ab as U,ac as X,ad as H,ae as Z,af as q,ag as $,ah as K,o as Q,ai as J,u as tt,aj as et,ak as nt,G as at,al as it,am as ot,an as rt,ao as lt,ap as st,aq as ut,ar as dt,as as ct,at as ht,au as pt,av as ft,B as gt,aw as vt,ax as yt,ay as mt,az as xt,aA as _t,aB as bt,aC as wt,aD as St,aE as It,aF as Mt,aG as Ct,aH as Tt,aI as Dt,aJ as Lt,aK as At,aL as Pt,aM as kt,aN as Et,aO as Nt,aP as zt,aQ as Rt,aR as Ot,aS as Vt,aT as Bt,P as Gt,g as Wt,aU as Ft,aV as jt,aW as Yt,aX as Ut,aY as Xt,aZ as Ht,a_ as Zt,a$ as qt,b0 as $t,b1 as Kt,b2 as Qt,b3 as Jt,b4 as te,b5 as ee,b6 as ne,b7 as ae,b8 as ie,e as oe,b9 as re,ba as le,bb as se,bc as ue,bd as de,be as ce,bf as he,bg as pe,bh as fe,bi as ge,bj as ve,bk as ye,bl as me,bm as xe,bn as _e,bo as be,bp as we,bq as Se,br as Ie,bs as Me,bt as Ce,bu as Te,bv as De,bw as Le,bx as Ae,by as Pe,bz as ke,bA as Ee,bB as Ne,bC as ze,bD as Re,bE as Oe,bF as Ve,bG as Be,bH as Ge,S as We,bI as Fe,c as je,bJ as Ye,bK as Ue,bL as Xe,bM as He,bN as Ze,L as qe,bO as $e,bP as Ke,Z as Qe,bQ as Je,bR as tn,bS as en,d as nn,bT as an,bU as on,bV as rn,bW as ln,bX as sn,bY as un,bZ as dn,b_ as cn,b$ as hn,c0 as pn,c1 as fn,c2 as gn,c3 as vn,c4 as yn,c5 as mn,c6 as xn,c7 as _n,c8 as bn,c9 as wn,ca as Sn,cb as In,cc as Mn,cd as Cn,ce as Tn,cf as Dn,cg as Ln,v as An,ch as Pn,ci as kn,cj as En,ck as Nn,cl as zn,cm as Rn,cn as On,co as Vn,cp as Bn,cq as Gn,cr as Wn,cs as Fn,ct as jn,cu as Yn,cv as Un,cw as Xn,cx as Hn,cy as Zn,cz as qn,cA as $n,cB as Kn,cC as Qn,cD as Jn,cE as ta,C as ea,cF as na,cG as aa,cH as ia,cI as oa,cJ as ra,cK as la,cL as sa,cM as ua,cN as da,cO as ca,cP as ha,cQ as pa,cR as fa,cS as ga,cT as va,cU as ya,cV as ma,cW as xa,cX as _a,cY as ba,cZ as wa,q as Sa,m as Ia,b as Ma,c_ as Ca,c$ as Ta,d0 as Da,d1 as La,d2 as Aa,d3 as Pa,d4 as ka,d5 as Ea,d6 as Na,r as za,d7 as Ra,f as Oa,d8 as Va,d9 as Ba,da as Ga,db as Wa,dc as Fa,dd as ja,de as Ya,df as Ua,dg as Xa,dh as Ha,di as Za,dj as qa,dk as $a,dl as Ka,dm as Qa,dn as Ja,dp as ti,dq as ei,dr as ni,ds as ai,dt as ii,du as oi,dv as ri,dw as li,dx as si,dy as ui,dz as di,dA as ci,dB as hi,dC as pi,dD as fi,dE as gi,dF as vi,dG as yi,dH as mi,dI as xi,dJ as _i,j as bi,dK as wi,dL as Si,dM as Ii,dN as Mi,dO as Ci,dP as Ti,dQ as Di,dR as Li,dS as Ai,dT as Pi,dU as ki,dV as Ei,dW as Ni,dX as zi,dY as Ri,dZ as Oi,d_ as Vi,d$ as Bi,e0 as Gi,e1 as Wi,e2 as Fi,e3 as ji,e4 as Yi,e5 as Ui,e6 as Xi,e7 as Hi,e8 as Zi,e9 as qi,ea as $i,eb as Ki,ec as Qi,ed as Ji,ee as to,ef as eo,eg as no,eh as ao,ei as io,ej as oo,ek as ro,el as lo,em as so,en as uo,eo as co,ep as ho,eq as po,er as fo,es as go,et as vo,eu as yo,ev as mo,ew as xo,ex as _o,ey as bo,ez as wo,eA as So,eB as Io,eC as Mo,eD as Co,eE as To,eF as Do,eG as Lo,eH as Ao,eI as Po,eJ as ko,eK as Eo,eL as No,eM as zo,eN as Ro,eO as Oo,eP as Vo,eQ as Bo,eR as Go,eS as Wo,eT as Fo,Y as jo,x as Yo,w as Uo,y as Xo,z as Ho,D as Zo,F as qo,H as $o,M as Ko,W as Qo,U as Jo,K as tr,V as er,J as nr,Q as ar,T as ir,N as or,O as rr,eU as lr,eV as sr,X as ur,eW as dr,eX as cr,eY as hr,_ as pr}from"./installCanvasRenderer-D-xUkWdX.js";import{E as fr,a as gr}from"./index-BjuMygln.js";import{E as vr}from"./index-ZsMdSUVI.js";import{E as yr}from"./index-C1haaLtB.js";import{E as mr}from"./index-BaD29Izp.js";import{a as xr,E as _r}from"./index-BcfO0-fK.js";import{E as br,a as wr}from"./index-D2gD5Tn5.js";import{E as Sr}from"./index-C_S0YbqD.js";import{a as Ir,b as Mr}from"./index-DqTthkO7.js";import{E as Cr}from"./index-CjpBlozU.js";import{E as Tr}from"./index-BjQJlHTd.js";import{E as Dr}from"./index-C_sVHlWz.js";import{E as Lr}from"./index-CXD7B41Z.js";import{E as Ar}from"./index-Dy3gZN7-.js";import{E as Pr}from"./index-BneqRonp.js";import{E as kr}from"./index-B18-crhn.js";import{_ as Er}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./_baseClone-Ct7RL6h5.js";import"./token-DWNpOE8r.js";import"./index-BnK4BbY2.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";import"./index-1OHUSGeP.js";function Nr(t){if(t){for(var e=[],n=0;n=0&&n.attr(p.oldLayoutSelect),J(u,"emphasis")>=0&&n.attr(p.oldLayoutEmphasis)),tt(n,l,e,r)}else if(n.attr(l),!$(n).valueAnimation){var d=K(n.style.opacity,1);n.style.opacity=0,Q(n,{style:{opacity:d}},e,r)}if(p.oldLayout=l,n.states.select){var c=p.oldLayoutSelect={};Gr(c,l,Wr),Gr(c,n.states.select,Wr)}if(n.states.emphasis){var h=p.oldLayoutEmphasis={};Gr(h,l,Wr),Gr(h,n.states.emphasis,Wr)}et(n,r,s,e,e)}if(a&&!a.ignore&&!a.invisible){i=(p=Br(a)).oldLayout;var p,f={points:a.shape.points};i?(a.attr({shape:i}),tt(a,{shape:f},e)):(a.setShape(f),a.style.strokePercent=0,Q(a,{style:{strokePercent:1}},e)),p.oldLayout=f}},t}(),jr=k();function Yr(t,e){var n=t.isExpand?t.children:[],a=t.parentNode.children,i=t.hierNode.i?a[t.hierNode.i-1]:null;if(n.length){!function(t){var e=t.children,n=e.length,a=0,i=0;for(;--n>=0;){var o=e[n];o.hierNode.prelim+=a,o.hierNode.modifier+=a,i+=o.hierNode.change,a+=o.hierNode.shift+i}}(t);var o=(n[0].hierNode.prelim+n[n.length-1].hierNode.prelim)/2;i?(t.hierNode.prelim=i.hierNode.prelim+e(t,i),t.hierNode.modifier=t.hierNode.prelim-o):t.hierNode.prelim=o}else i&&(t.hierNode.prelim=i.hierNode.prelim+e(t,i));t.parentNode.hierNode.defaultAncestor=function(t,e,n,a){if(e){for(var i=t,o=t,r=o.parentNode.children[0],l=e,s=i.hierNode.modifier,u=o.hierNode.modifier,d=r.hierNode.modifier,c=l.hierNode.modifier;l=Zr(l),o=qr(o),l&&o;){i=Zr(i),r=qr(r),i.hierNode.ancestor=t;var h=l.hierNode.prelim+c-o.hierNode.prelim-u+a(l,o);h>0&&(Kr($r(l,t,n),t,h),u+=h,s+=h),c+=l.hierNode.modifier,u+=o.hierNode.modifier,s+=i.hierNode.modifier,d+=r.hierNode.modifier}l&&!Zr(i)&&(i.hierNode.thread=l,i.hierNode.modifier+=c-s),o&&!qr(r)&&(r.hierNode.thread=o,r.hierNode.modifier+=u-d,n=t)}return n}(t,i,t.parentNode.hierNode.defaultAncestor||a[0],e)}function Ur(t){var e=t.hierNode.prelim+t.parentNode.hierNode.modifier;t.setLayout({x:e},!0),t.hierNode.modifier+=t.parentNode.hierNode.modifier}function Xr(t){return arguments.length?t:Qr}function Hr(t,e){return t-=Math.PI/2,{x:e*Math.cos(t),y:e*Math.sin(t)}}function Zr(t){var e=t.children;return e.length&&t.isExpand?e[e.length-1]:t.hierNode.thread}function qr(t){var e=t.children;return e.length&&t.isExpand?e[0]:t.hierNode.thread}function $r(t,e,n){return t.hierNode.ancestor.parentNode===e.parentNode?t.hierNode.ancestor:n}function Kr(t,e,n){var a=n/(e.hierNode.i-t.hierNode.i);e.hierNode.change-=a,e.hierNode.shift+=n,e.hierNode.modifier+=n,e.hierNode.prelim+=n,t.hierNode.change+=a}function Qr(t,e){return t.parentNode===e.parentNode?1:2}var Jr=function(){return function(){this.parentPoint=[],this.childPoints=[]}}(),tl=function(t){function e(e){return t.call(this,e)||this}return nt(e,t),e.prototype.getDefaultStyle=function(){return{stroke:ut.color.neutral99,fill:null}},e.prototype.getDefaultShape=function(){return new Jr},e.prototype.buildPath=function(t,e){var n=e.childPoints,a=n.length,i=e.parentPoint,o=n[0],r=n[a-1];if(1===a)return t.moveTo(i[0],i[1]),void t.lineTo(o[0],o[1]);var l=e.orient,s="TB"===l||"BT"===l?0:1,u=1-s,d=B(e.forkPosition,1),c=[];c[s]=i[s],c[u]=i[u]+(r[u]-i[u])*d,t.moveTo(i[0],i[1]),t.lineTo(c[0],c[1]),t.moveTo(o[0],o[1]),c[s]=o[s],t.lineTo(c[0],c[1]),c[s]=r[s],t.lineTo(c[0],c[1]),t.lineTo(r[0],r[1]);for(var h=1;hm.x)||(_-=Math.PI);var S=b?"left":"right",I=l.getModel("label"),M=I.get("rotate"),C=M*(Math.PI/180),T=v.getTextContent();T&&(v.setTextConfig({position:I.get("position")||S,rotation:null==M?-_:C,origin:"center"}),T.setStyle("verticalAlign","middle"))}var D=l.get(["emphasis","focus"]),L="relative"===D?ct(r.getAncestorsIndices(),r.getDescendantIndices()):"ancestor"===D?r.getAncestorsIndices():"descendant"===D?r.getDescendantIndices():null;L&&(V(n).focus=L),function(t,e,n,a,i,o,r,l){var s=e.getModel(),u=t.get("edgeShape"),d=t.get("layout"),c=t.getOrient(),h=t.get(["lineStyle","curveness"]),p=t.get("edgeForkPosition"),f=s.getModel("lineStyle").getLineStyle(),g=a.__edge;if("curve"===u)e.parentNode&&e.parentNode!==n&&(g||(g=a.__edge=new gt({shape:ll(d,c,h,i,i)})),tt(g,{shape:ll(d,c,h,o,r)},t));else if("polyline"===u&&"orthogonal"===d&&e!==n&&e.children&&0!==e.children.length&&!0===e.isExpand){for(var v=e.children,y=[],m=0;me&&(e=a.height)}this.height=e+1},t.prototype.getNodeById=function(t){if(this.getId()===t)return this;for(var e=0,n=this.children,a=n.length;e=0&&this.hostTree.data.setItemLayout(this.dataIndex,t,e)},t.prototype.getLayout=function(){return this.hostTree.data.getItemLayout(this.dataIndex)},t.prototype.getModel=function(t){if(!(this.dataIndex<0))return this.hostTree.data.getItemModel(this.dataIndex).getModel(t)},t.prototype.getLevelModel=function(){return(this.hostTree.levelModels||[])[this.depth]},t.prototype.setVisual=function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,t,e)},t.prototype.getVisual=function(t){return this.hostTree.data.getItemVisual(this.dataIndex,t)},t.prototype.getRawIndex=function(){return this.hostTree.data.getRawIndex(this.dataIndex)},t.prototype.getId=function(){return this.hostTree.data.getId(this.dataIndex)},t.prototype.getChildIndex=function(){if(this.parentNode){for(var t=this.parentNode.children,e=0;e=0){var a=n.getData().tree.root,i=t.targetNode;if(Dt(i)&&(i=a.getNodeById(i)),i&&a.contains(i))return{node:i};var o=t.targetNodeId;if(null!=o&&(i=a.getNodeById(o)))return{node:i}}}function _l(t){for(var e=[];t;)(t=t.parentNode)&&e.push(t);return e.reverse()}function bl(t,e){var n=_l(t);return J(n,e)>=0}function wl(t,e){for(var n=[];t;){var a=t.dataIndex;n.push({name:t.name,dataIndex:a,value:e.getRawValue(a)}),t=t.parentNode}return n.reverse(),n}var Sl=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.hasSymbolVisual=!0,e.ignoreStyleOnData=!0,e}return nt(e,t),e.prototype.getInitialData=function(t){var e={name:t.name,children:t.data},n=t.leaves||{},a=new Lt(n,this,this.ecModel),i=ml.createTree(e,this,function(t){t.wrapMethod("getItemModel",function(t,e){var n=i.getNodeByDataIndex(e);return n&&n.children.length&&n.isExpand||(t.parentModel=a),t})});var o=0;i.eachNode("preorder",function(t){t.depth>o&&(o=t.depth)});var r=t.expandAndCollapse&&t.initialTreeDepth>=0?t.initialTreeDepth:o;return i.root.eachNode("preorder",function(t){var e=t.hostTree.data.getRawDataItem(t.dataIndex);t.isExpand=e&&null!=e.collapsed?!e.collapsed:t.depth<=r}),i.data},e.prototype.getOrient=function(){var t=this.get("orient");return"horizontal"===t?t="LR":"vertical"===t&&(t="TB"),t},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.formatTooltip=function(t,e,n){for(var a=this.getData().tree,i=a.root.children[0],o=a.getNodeByDataIndex(t),r=o.getValue(),l=o.name;o&&o!==i;)l=o.parentNode.name+"."+l,o=o.parentNode;return At("nameValue",{name:l,value:r,noValue:isNaN(r)||null==r})},e.prototype.getDataParams=function(e){var n=t.prototype.getDataParams.apply(this,arguments),a=this.getData().tree.getNodeByDataIndex(e);return n.treeAncestors=wl(a,this),n.collapsed=!a.isExpand,n},e.type="series.tree",e.layoutMode="box",e.defaultOption={z:2,coordinateSystemUsage:"box",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,roamTrigger:"global",nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:ut.color.borderTint,width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderWidth:1.5},label:{show:!0},animationEasing:"linear",animationDuration:700,animationDurationUpdate:500},e}(Pt);function Il(t,e){for(var n,a=[t];n=a.pop();)if(e(n),n.isExpand){var i=n.children;if(i.length)for(var o=i.length-1;o>=0;o--)a.push(i[o])}}function Ml(t,e){t.eachSeriesByType("tree",function(t){!function(t,e){var n=kt(t,e).refContainer,a=Et(t.getBoxLayoutParams(),n);t.layoutInfo=a;var i=t.get("layout"),o=0,r=0,l=null;"radial"===i?(o=2*Math.PI,r=Math.min(a.height,a.width)/2,l=Xr(function(t,e){return(t.parentNode===e.parentNode?1:2)/t.depth})):(o=a.width,r=a.height,l=Xr());var s=t.getData().tree.root,u=s.children[0];if(u){!function(t){var e=t;e.hierNode={defaultAncestor:null,ancestor:e,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var n,a,i=[e];n=i.pop();)if(a=n.children,n.isExpand&&a.length)for(var o=a.length-1;o>=0;o--){var r=a[o];r.hierNode={defaultAncestor:null,ancestor:r,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},i.push(r)}}(s),function(t,e,n){for(var a,i=[t],o=[];a=i.pop();)if(o.push(a),a.isExpand){var r=a.children;if(r.length)for(var l=0;lc.getLayout().x&&(c=t),t.depth>h.depth&&(h=t)});var p=d===c?1:l(d,c)/2,f=p-d.getLayout().x,g=0,v=0,y=0,m=0;if("radial"===i)g=o/(c.getLayout().x+p+f),v=r/(h.depth-1||1),Il(u,function(t){y=(t.getLayout().x+f)*g,m=(t.depth-1)*v;var e=Hr(y,m);t.setLayout({x:e.x,y:e.y,rawX:y,rawY:m},!0)});else{var x=t.getOrient();"RL"===x||"LR"===x?(v=r/(c.getLayout().x+p+f),g=o/(h.depth-1||1),Il(u,function(t){m=(t.getLayout().x+f)*v,y="LR"===x?(t.depth-1)*g:o-(t.depth-1)*g,t.setLayout({x:y,y:m},!0)})):"TB"!==x&&"BT"!==x||(g=o/(c.getLayout().x+p+f),v=r/(h.depth-1||1),Il(u,function(t){y=(t.getLayout().x+f)*g,m="TB"===x?(t.depth-1)*v:r-(t.depth-1)*v,t.setLayout({x:y,y:m},!0)}))}}}(t,e)})}function Cl(t){t.eachSeriesByType("tree",function(t){var e=t.getData();e.tree.eachNode(function(t){var n=t.getModel().getModel("itemStyle").getItemStyle(),a=e.ensureUniqueItemVisual(t.dataIndex,"style");wt(a,n)})})}var Tl=["treemapZoomToNode","treemapRender","treemapMove"];function Dl(t){var e=t.getData().tree,n={};e.eachNode(function(e){for(var a=e;a&&a.depth>1;)a=a.parentNode;var i=Rt(t.ecModel,a.name||a.dataIndex+"",n);e.setVisual("decal",i)})}var Ll=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.preventUsingHoverLayer=!0,n}return nt(e,t),e.prototype.getInitialData=function(t,e){var n={name:t.name,children:t.data};Al(n);var a=t.levels||[],i=this.designatedVisualItemStyle={},o=new Lt({itemStyle:i},this,e);a=t.levels=function(t,e){var n,a,i=Vt(e.get("color")),o=Vt(e.get(["aria","decal","decals"]));if(!i)return;t=t||[],G(t,function(t){var e=new Lt(t),i=e.get("color"),o=e.get("decal");(e.get(["itemStyle","color"])||i&&"none"!==i)&&(n=!0),(e.get(["itemStyle","decal"])||o&&"none"!==o)&&(a=!0)});var r=t[0]||(t[0]={});n||(r.color=i.slice());!a&&o&&(r.decal=o.slice());return t}(a,e);var r=St(a||[],function(t){return new Lt(t,o,e)},this),l=ml.createTree(n,this,function(t){t.wrapMethod("getItemModel",function(t,e){var n=l.getNodeByDataIndex(e),a=n?r[n.depth]:null;return t.parentModel=a||o,t})});return l.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.formatTooltip=function(t,e,n){var a=this.getData(),i=this.getRawValue(t),o=a.getName(t);return At("nameValue",{name:o,value:i})},e.prototype.getDataParams=function(e){var n=t.prototype.getDataParams.apply(this,arguments),a=this.getData().tree.getNodeByDataIndex(e);return n.treeAncestors=wl(a,this),n.treePathInfo=n.treeAncestors,n},e.prototype.setLayoutInfo=function(t){this.layoutInfo=this.layoutInfo||{},wt(this.layoutInfo,t)},e.prototype.mapIdToIndex=function(t){var e=this._idIndexMap;e||(e=this._idIndexMap=Ot(),this._idIndexMapCount=0);var n=e.get(t);return null==n&&e.set(t,n=this._idIndexMapCount++),n},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)},e.prototype.enableAriaDecal=function(){Dl(this)},e.type="series.treemap",e.layoutMode="box",e.defaultOption={progressive:0,coordinateSystemUsage:"box",left:ut.size.l,top:ut.size.xxxl,right:ut.size.l,bottom:ut.size.xxxl,sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.1024,scaleLimit:{max:5,min:.2},roam:!0,roamTrigger:"global",nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",bottom:ut.size.m,emptyItemWidth:25,itemStyle:{color:ut.color.backgroundShade,textStyle:{color:ut.color.secondary}},emphasis:{itemStyle:{color:ut.color.background}}},label:{show:!0,distance:0,padding:5,position:"inside",color:ut.color.neutral00,overflow:"truncate"},upperLabel:{show:!1,position:[0,"50%"],height:20,overflow:"truncate",verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:ut.color.neutral00,borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],overflow:"truncate",verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},e}(Pt);function Al(t){var e=0;G(t.children,function(t){Al(t);var n=t.value;It(n)&&(n=n[0]),e+=n});var n=t.value;It(n)&&(n=n[0]),(null==n||isNaN(n))&&(n=e),n<0&&(n=0),It(t.value)?t.value[0]=n:t.value=n}var Pl=function(){function t(t){this.group=new at,t.add(this.group)}return t.prototype.render=function(t,e,n,a){var i=t.getModel("breadcrumb"),o=this.group;if(o.removeAll(),i.get("show")&&n){var r=i.getModel("itemStyle"),l=i.getModel("emphasis"),s=r.getModel("textStyle"),u=l.getModel(["itemStyle","textStyle"]),d=kt(t,e).refContainer,c={left:i.get("left"),right:i.get("right"),top:i.get("top"),bottom:i.get("bottom")},h={emptyItemWidth:i.get("emptyItemWidth"),totalWidth:0,renderList:[]},p=Et(c,d);this._prepare(n,h,s),this._renderContent(t,h,p,r,l,s,u,a),Bt(o,c,d)}},t.prototype._prepare=function(t,e,n){for(var a=t;a;a=a.parentNode){var i=Mt(a.getModel().get("name"),""),o=n.getTextRect(i),r=Math.max(o.width+16,e.emptyItemWidth);e.totalWidth+=r+8,e.renderList.push({node:a,text:i,width:r})}},t.prototype._renderContent=function(t,e,n,a,i,o,r,l){for(var s=0,u=e.emptyItemWidth,d=t.get(["breadcrumb","height"]),c=e.totalWidth,h=e.renderList,p=i.getModel("itemStyle").getItemStyle(),f=h.length-1;f>=0;f--){var g=h[f],v=g.node,y=g.width,m=g.text;c>n.width&&(c-=y-u,y=u,m=null);var x=new Gt({shape:{points:kl(s,0,y,d,f===h.length-1,0===f)},style:vt(a.getItemStyle(),{lineJoin:"bevel"}),textContent:new Wt({style:jt(o,{text:m})}),textConfig:{position:"inside"},z2:1e4*Ft,onclick:_t(l,v)});x.disableLabelAnimation=!0,x.getTextContent().ensureState("emphasis").style=jt(r,{text:m}),x.ensureState("emphasis").style=p,Yt(x,i.get("focus"),i.get("blurScope"),i.get("disabled")),this.group.add(x),El(x,t,v),s+=y+8}},t.prototype.remove=function(){this.group.removeAll()},t}();function kl(t,e,n,a,i,o){var r=[[i?t:t-5,e],[t+n,e],[t+n,e+a],[i?t:t-5,e+a]];return!o&&r.splice(2,0,[t+n+5,e+a/2]),!i&&r.push([t,e+a/2]),r}function El(t,e,n){V(t).eventData={componentType:"series",componentSubType:"treemap",componentIndex:e.componentIndex,seriesIndex:e.seriesIndex,seriesName:e.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:n&&n.dataIndex,name:n&&n.name},treePathInfo:n&&wl(n,e)}}var Nl=function(){function t(){this._storage=[],this._elExistsMap={}}return t.prototype.add=function(t,e,n,a,i){return!this._elExistsMap[t.id]&&(this._elExistsMap[t.id]=!0,this._storage.push({el:t,target:e,duration:n,delay:a,easing:i}),!0)},t.prototype.finished=function(t){return this._finishedCallback=t,this},t.prototype.start=function(){for(var t=this,e=this._storage.length,n=function(){--e<=0&&(t._storage.length=0,t._elExistsMap={},t._finishedCallback&&t._finishedCallback())},a=0,i=this._storage.length;a3||Math.abs(t.dy)>3)){var e=this.seriesModel.getData().tree.root;if(!e)return;var n=e.getLayout();if(!n)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:n.x+t.dx,y:n.y+t.dy,width:n.width,height:n.height}})}},e.prototype._onZoom=function(t){var e=t.originX,n=t.originY,a=t.scale;if("animating"!==this._state){var i=this.seriesModel.getData().tree.root;if(!i)return;var o=i.getLayout();if(!o)return;var r,l=new E(o.x,o.y,o.width,o.height),s=this._controllerHost;r=s.zoomLimit;var u=s.zoom=s.zoom||1;if(u*=a,r){var d=r.min||0,c=r.max||1/0;u=Math.max(Math.min(c,u),d)}var h=u/s.zoom;s.zoom=u;var p=this.seriesModel.layoutInfo;e-=p.x,n-=p.y;var f=Zt();Ht(f,f,[-e,-n]),qt(f,f,[h,h]),Ht(f,f,[e,n]),l.applyTransform(f),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:l.x,y:l.y,width:l.width,height:l.height}})}},e.prototype._initEvents=function(t){var e=this;t.on("click",function(t){if("ready"===e._state){var n=e.seriesModel.get("nodeClick",!0);if(n){var a=e.findTarget(t.offsetX,t.offsetY);if(a){var i=a.node;if(i.getLayout().isLeafRoot)e._rootToNode(a);else if("zoomToNode"===n)e._zoomToNode(a);else if("link"===n){var o=i.hostTree.data.getItemModel(i.dataIndex),r=o.get("link",!0),l=o.get("target",!0)||"blank";r&&$t(r,l)}}}}},this)},e.prototype._renderBreadcrumb=function(t,e,n){var a=this;n||(n=null!=t.get("leafDepth",!0)?{node:t.getViewRoot()}:this.findTarget(e.getWidth()/2,e.getHeight()/2))||(n={node:t.getData().tree.root}),(this._breadcrumb||(this._breadcrumb=new Pl(this.group))).render(t,e,n.node,function(e){"animating"!==a._state&&(bl(t.getViewRoot(),e)?a._rootToNode({node:e}):a._zoomToNode({node:e}))})},e.prototype.remove=function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage={nodeGroup:[],background:[],content:[]},this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},e.prototype.dispose=function(){this._clearController()},e.prototype._zoomToNode=function(t){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype._rootToNode=function(t){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype.findTarget=function(t,e){var n;return this.seriesModel.getViewRoot().eachNode({attr:"viewChildren",order:"preorder"},function(a){var i=this._storage.background[a.getRawIndex()];if(i){var o=i.transformCoordToLocal(t,e),r=i.shape;if(!(r.x<=o[0]&&o[0]<=r.x+r.width&&r.y<=o[1]&&o[1]<=r.y+r.height))return!1;n={node:a,offsetX:o[0],offsetY:o[1]}}},this),n},e.type="treemap",e}(st);var Xl=k();const Hl={seriesType:"treemap",reset:function(t){var e=t.getData().tree.root;e.isRemoved()||Zl(e,{},t.getViewRoot().getAncestors(),t)}};function Zl(t,e,n,a){var i=t.getModel(),o=t.getLayout(),r=t.hostTree.data;if(o&&!o.invisible&&o.isInView){var l,s=i.getModel("itemStyle"),u=function(t,e,n){var a=wt({},e),i=n.designatedVisualItemStyle;return G(["color","colorAlpha","colorSaturation"],function(n){i[n]=e[n];var o=t.get(n);i[n]=null,null!=o&&(a[n]=o)}),a}(s,e,a),d=r.ensureUniqueItemVisual(t.dataIndex,"style"),c=s.get("borderColor"),h=s.get("borderColorSaturation");null!=h&&(c=function(t,e){return null!=e?re(e,null,null,t):null}(h,l=ql(u))),d.stroke=c;var p=t.viewChildren;if(p&&p.length){var f=function(t,e,n,a,i,o){if(!o||!o.length)return;var r=Kl(e,"color")||null!=i.color&&"none"!==i.color&&(Kl(e,"colorAlpha")||Kl(e,"colorSaturation"));if(!r)return;var l=e.get("visualMin"),s=e.get("visualMax"),u=n.dataExtent.slice();null!=l&&lu[1]&&(u[1]=s);var d=e.get("colorMappingBy"),c={type:r.name,dataExtent:u,visual:r.range};"color"!==c.type||"index"!==d&&"id"!==d?c.mappingMethod="linear":(c.mappingMethod="category",c.loop=!0);var h=new se(c);return Xl(h).drColorMappingBy=d,h}(0,i,o,0,u,p);G(p,function(t,e){if(t.depth>=n.length||t===n[t.depth]){var o=function(t,e,n,a,i,o){var r=wt({},e);if(i){var l=i.type,s="color"===l&&Xl(i).drColorMappingBy,u="index"===s?a:"id"===s?o.mapIdToIndex(n.getId()):n.getValue(t.get("visualDimension"));r[l]=i.mapValueToVisual(u)}return r}(i,u,t,e,f,a);Zl(t,o,n,a)}})}else l=ql(u),d.fill=l}}function ql(t){var e=$l(t,"color");if(e){var n=$l(t,"colorAlpha"),a=$l(t,"colorSaturation");return a&&(e=re(e,null,null,a)),n&&(e=le(e,n)),e}}function $l(t,e){var n=t[e];if(null!=n&&"none"!==n)return n}function Kl(t,e){var n=t.get(e);return It(n)&&n.length?{name:e,range:n}:null}var Ql=Math.max,Jl=Math.min,ts=ue,es=G,ns=["itemStyle","borderWidth"],as=["itemStyle","gapWidth"],is=["upperLabel","show"],os=["upperLabel","height"];const rs={seriesType:"treemap",reset:function(t,e,n,a){var i=t.option,o=kt(t,n).refContainer,r=Et(t.getBoxLayoutParams(),o),l=i.size||[],s=B(ts(r.width,l[0]),o.width),u=B(ts(r.height,l[1]),o.height),d=a&&a.type,c=xl(a,["treemapZoomToNode","treemapRootToNode"],t),h="treemapRender"===d||"treemapMove"===d?a.rootRect:null,p=t.getViewRoot(),f=_l(p);if("treemapMove"!==d){var g="treemapZoomToNode"===d?function(t,e,n,a,i){var o,r=(e||{}).node,l=[a,i];if(!r||r===n)return l;var s=a*i,u=s*t.option.zoomToNodeRatio;for(;o=r.parentNode;){for(var d=0,c=o.children,h=0,p=c.length;hde&&(u=de),r=o}ur[1]&&(r[1]=e)})):r=[NaN,NaN];return{sum:a,dataExtent:r}}(e,r,l);if(0===u.sum)return t.viewChildren=[];if(u.sum=function(t,e,n,a,i){if(!a)return n;for(var o=t.get("visibleMin"),r=i.length,l=r,s=r-1;s>=0;s--){var u=i["asc"===a?r-s-1:s].getValue();u/n*ea&&(a=r));var s=t.area*t.area,u=e*e*n;return s?Ql(u*a/s,s/(u*i)):1/0}function us(t,e,n,a,i){var o=e===n.width?0:1,r=1-o,l=["x","y"],s=["width","height"],u=n[l[o]],d=e?t.area/e:0;(i||d>n[s[r]])&&(d=n[s[r]]);for(var c=0,h=t.length;ca&&(a=e);var o=a%2?a+2:a+3;i=[];for(var r=0;r=0?a+=u:a-=u:f>=0?a-=u:a+=u}return a}function Ys(t,e){var n=[],a=Me,i=[[],[],[]],o=[[],[]],r=[];e/=2,t.eachEdge(function(t,l){var s=t.getLayout(),u=t.getVisual("fromSymbol"),d=t.getVisual("toSymbol");s.__original||(s.__original=[pe(s[0]),pe(s[1])],s[2]&&s.__original.push(pe(s[2])));var c=s.__original;if(null!=s[2]){if(be(i[0],c[0]),be(i[1],c[2]),be(i[2],c[1]),u&&"none"!==u){var h=Ts(t.node1),p=js(i,c[0],h*e);a(i[0][0],i[1][0],i[2][0],p,n),i[0][0]=n[3],i[1][0]=n[4],a(i[0][1],i[1][1],i[2][1],p,n),i[0][1]=n[3],i[1][1]=n[4]}if(d&&"none"!==d){h=Ts(t.node2),p=js(i,c[1],h*e);a(i[0][0],i[1][0],i[2][0],p,n),i[1][0]=n[1],i[2][0]=n[2],a(i[0][1],i[1][1],i[2][1],p,n),i[1][1]=n[1],i[2][1]=n[2]}be(s[0],i[0]),be(s[1],i[2]),be(s[2],i[1])}else{if(be(o[0],c[0]),be(o[1],c[1]),ye(r,o[1],o[0]),fe(r,r),u&&"none"!==u){h=Ts(t.node1);xe(o[0],o[0],r,h*e)}if(d&&"none"!==d){h=Ts(t.node2);xe(o[1],o[1],r,-h*e)}be(s[0],o[0]),be(s[1],o[1])}})}var Us=k();function Xs(t,e){t&&(Us(t).bridge=e)}function Hs(t){return"view"===t.type}var Zs=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.prototype.init=function(t,e){var n=new De,a=new Le,i=this.group,o=new at;this._controller=new it(e.getZr()),this._controllerHost={target:o},o.add(n.group),o.add(a.group),i.add(o),this._symbolDraw=n,this._lineDraw=a,this._mainGroup=o,this._firstRender=!0},e.prototype.render=function(t,e,n){var a=this,i=t.coordinateSystem,o=!1;this._model=t,this._api=n,this._active=!0;var r=this._getThumbnailInfo();r&&r.bridge.reset(n);var l=this._symbolDraw,s=this._lineDraw;if(Hs(i)){var u={x:i.x,y:i.y,scaleX:i.scaleX,scaleY:i.scaleY};this._firstRender?this._mainGroup.attr(u):tt(this._mainGroup,u,t)}Ys(t.getGraph(),Cs(t));var d=t.getData();l.updateData(d);var c=t.getEdgeData();s.updateData(c),this._updateNodeAndLinkScale(),this._updateController(null,t,n),clearTimeout(this._layoutTimeout);var h=t.forceLayout,p=t.get(["force","layoutAnimation"]);h&&(o=!0,this._startForceLayoutIteration(h,n,p));var f=t.get("layout");d.graph.eachNode(function(e){var i=e.dataIndex,o=e.getGraphicEl(),r=e.getModel();if(o){o.off("drag").off("dragend");var l=r.get("draggable");l&&o.on("drag",function(r){switch(f){case"force":h.warmUp(),!a._layouting&&a._startForceLayoutIteration(h,n,p),h.setFixed(i),d.setItemLayout(i,[o.x,o.y]);break;case"circular":d.setItemLayout(i,[o.x,o.y]),e.setLayout({fixed:!0},!0),As(t,"symbolSize",e,[r.offsetX,r.offsetY]),a.updateLayout(t);break;default:d.setItemLayout(i,[o.x,o.y]),Is(t.getGraph(),t),a.updateLayout(t)}}).on("dragend",function(){h&&h.setUnfixed(i)}),o.setDraggable(l,!!r.get("cursor")),"adjacency"===r.get(["emphasis","focus"])&&(V(o).focus=e.getAdjacentDataIndices())}}),d.graph.eachEdge(function(t){var e=t.getGraphicEl(),n=t.getModel().get(["emphasis","focus"]);e&&"adjacency"===n&&(V(e).focus={edge:[t.dataIndex],node:[t.node1.dataIndex,t.node2.dataIndex]})});var g="circular"===t.get("layout")&&t.get(["circular","rotateLabel"]),v=d.getLayout("cx"),y=d.getLayout("cy");d.graph.eachNode(function(t){ks(t,g,v,y)}),this._firstRender=!1,o||this._renderThumbnail(t,n,this._symbolDraw,this._lineDraw)},e.prototype.dispose=function(){this.remove(),this._controller&&this._controller.dispose(),this._controllerHost=null},e.prototype._startForceLayoutIteration=function(t,e,n){var a=this,i=!1;!function o(){t.step(function(t){a.updateLayout(a._model),!t&&i||(i=!0,a._renderThumbnail(a._model,e,a._symbolDraw,a._lineDraw)),(a._layouting=!t)&&(n?a._layoutTimeout=setTimeout(o,16):o())})}()},e.prototype._updateController=function(t,e,n){var a=this._controller,i=this._controllerHost,o=e.coordinateSystem;Hs(o)?(a.enable(e.get("roam"),{api:n,zInfo:{component:e},triggerInfo:{roamTrigger:e.get("roamTrigger"),isInSelf:function(t,e,n){return o.containPoint([e,n])},isInClip:function(e,n,a){return!t||t.contain(n,a)}}}),i.zoomLimit=e.get("scaleLimit"),i.zoom=o.getZoom(),a.off("pan").off("zoom").on("pan",function(t){n.dispatchAction({seriesId:e.id,type:"graphRoam",dx:t.dx,dy:t.dy})}).on("zoom",function(t){n.dispatchAction({seriesId:e.id,type:"graphRoam",zoom:t.scale,originX:t.originX,originY:t.originY})})):a.disable()},e.prototype.updateViewOnPan=function(t,e,n){this._active&&(Ae(this._controllerHost,n.dx,n.dy),this._updateThumbnailWindow())},e.prototype.updateViewOnZoom=function(t,e,n){this._active&&(Pe(this._controllerHost,n.zoom,n.originX,n.originY),this._updateNodeAndLinkScale(),Ys(t.getGraph(),Cs(t)),this._lineDraw.updateLayout(),e.updateLabelLayout(),this._updateThumbnailWindow())},e.prototype._updateNodeAndLinkScale=function(){var t=this._model,e=t.getData(),n=Cs(t);e.eachItemGraphicEl(function(t,e){t&&t.setSymbolScale(n)})},e.prototype.updateLayout=function(t){this._active&&(Ys(t.getGraph(),Cs(t)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout())},e.prototype.remove=function(){this._active=!1,clearTimeout(this._layoutTimeout),this._layouting=!1,this._layoutTimeout=null,this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove(),this._controller&&this._controller.disable()},e.prototype._getThumbnailInfo=function(){var t=this._model,e=t.coordinateSystem;if("view"===e.type){var n=function(t){if(t)return Us(t).bridge}(t);if(n)return{bridge:n,coordSys:e}}},e.prototype._updateThumbnailWindow=function(){var t=this._getThumbnailInfo();t&&t.bridge.updateWindow(t.coordSys.transform,this._api)},e.prototype._renderThumbnail=function(t,e,n,a){var i=this._getThumbnailInfo();if(i){var o=new at,r=n.group.children(),l=a.group.children(),s=new at,u=new at;o.add(u),o.add(s);for(var d=0;d=0&&t.call(e,n[i],i)},t.prototype.eachEdge=function(t,e){for(var n=this.edges,a=n.length,i=0;i=0&&n[i].node1.dataIndex>=0&&n[i].node2.dataIndex>=0&&t.call(e,n[i],i)},t.prototype.breadthFirstTraverse=function(t,e,n,a){if(e instanceof Ks||(e=this._nodesMap[qs(e)]),e){for(var i="out"===n?"outEdges":"in"===n?"inEdges":"edges",o=0;o=0&&n.node2.dataIndex>=0});for(i=0,o=a.length;i=0&&!t.hasKey(p)&&(t.set(p,!0),o.push(h.node1))}for(l=0;l=0&&!t.hasKey(m)&&(t.set(m,!0),r.push(y.node2))}}}return{edge:t.keys(),node:e.keys()}},t}(),Qs=function(){function t(t,e,n){this.dataIndex=-1,this.node1=t,this.node2=e,this.dataIndex=null==n?-1:n}return t.prototype.getModel=function(t){if(!(this.dataIndex<0))return this.hostGraph.edgeData.getItemModel(this.dataIndex).getModel(t)},t.prototype.getAdjacentDataIndices=function(){return{edge:[this.dataIndex],node:[this.node1.dataIndex,this.node2.dataIndex]}},t.prototype.getTrajectoryDataIndices=function(){var t=Ot(),e=Ot();t.set(this.dataIndex,!0);for(var n=[this.node1],a=[this.node2],i=0;i=0&&!t.hasKey(u)&&(t.set(u,!0),n.push(s.node1))}for(i=0;i=0&&!t.hasKey(h)&&(t.set(h,!0),a.push(c.node2))}return{edge:t.keys(),node:e.keys()}},t}();function Js(t,e){return{getValue:function(n){var a=this[t][e];return a.getStore().get(a.getDimensionIndex(n||"value"),this.dataIndex)},setVisual:function(n,a){this.dataIndex>=0&&this[t][e].setItemVisual(this.dataIndex,n,a)},getVisual:function(n){return this[t][e].getItemVisual(this.dataIndex,n)},setLayout:function(n,a){this.dataIndex>=0&&this[t][e].setItemLayout(this.dataIndex,n,a)},getLayout:function(){return this[t][e].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[t][e].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[t][e].getRawIndex(this.dataIndex)}}}function tu(t,e,n,a,i){for(var o=new $s(a),r=0;r "+h)),u++)}var p,f=n.get("coordinateSystem");if("cartesian2d"===f||"polar"===f||"matrix"===f)p=ze(t,n);else{var g=Re.get(f),v=g&&g.dimensions||[];J(v,"value")<0&&v.concat(["value"]);var y=Ct(t,{coordDimensions:v,encodeDefine:n.getEncode()}).dimensions;(p=new Tt(y,n)).initData(t)}var m=new Tt(["value"],n);return m.initData(s,l),i&&i(p,m),ul({mainData:p,struct:o,structAttr:"graph",datas:{node:p,edge:m},datasAttr:{node:"data",edge:"edgeData"}}),o.update(),o}Ne(Ks,Js("hostGraph","data")),Ne(Qs,Js("hostGraph","edgeData"));var eu=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.hasSymbolVisual=!0,n}return nt(e,t),e.prototype.init=function(e){t.prototype.init.apply(this,arguments);var n=this;function a(){return n._categoriesData}this.legendVisualProvider=new Oe(a,a),this.fillDataTextStyle(e.edges||e.links),this._updateCategoriesData()},e.prototype.mergeOption=function(e){t.prototype.mergeOption.apply(this,arguments),this.fillDataTextStyle(e.edges||e.links),this._updateCategoriesData()},e.prototype.mergeDefaultAndTheme=function(e){t.prototype.mergeDefaultAndTheme.apply(this,arguments),Ve(e,"edgeLabel",["show"])},e.prototype.getInitialData=function(t,e){var n,a=t.edges||t.links||[],i=t.data||t.nodes||[],o=this;if(i&&a){ys(n=this)&&(n.__curvenessList=[],n.__edgeMap={},ms(n));var r=tu(i,a,this,!0,function(t,e){t.wrapMethod("getItemModel",function(t){var e=o._categoriesModels[t.getShallow("category")];return e&&(e.parentModel=t.parentModel,t.parentModel=e),t});var n=Lt.prototype.getModel;function a(t,e){var a=n.call(this,t,e);return a.resolveParentPath=i,a}function i(t){if(t&&("label"===t[0]||"label"===t[1])){var e=t.slice();return"label"===t[0]?e[0]="edgeLabel":"label"===t[1]&&(e[1]="edgeLabel"),e}return t}e.wrapMethod("getItemModel",function(t){return t.resolveParentPath=i,t.getModel=a,t})});return G(r.edges,function(t){!function(t,e,n,a){if(ys(n)){var i=xs(t,e,n),o=n.__edgeMap,r=o[_s(i)];o[i]&&!r?o[i].isForward=!0:r&&o[i]&&(r.isForward=!0,o[i].isForward=!1),o[i]=o[i]||[],o[i].push(a)}}(t.node1,t.node2,this,t.dataIndex)},this),r.data}},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.getCategoriesData=function(){return this._categoriesData},e.prototype.formatTooltip=function(t,e,n){if("edge"===n){var a=this.getData(),i=this.getDataParams(t,n),o=a.graph.getEdgeByIndex(t),r=a.getName(o.node1.dataIndex),l=a.getName(o.node2.dataIndex),s=[];return null!=r&&s.push(r),null!=l&&s.push(l),At("nameValue",{name:s.join(" > "),value:i.value,noValue:null==i.value})}return Be({series:this,dataIndex:t,multipleSeries:e})},e.prototype._updateCategoriesData=function(){var t=St(this.option.categories||[],function(t){return null!=t.value?t:wt({value:0},t)}),e=new Tt(["value"],this);e.initData(t),this._categoriesData=e,this._categoriesModels=e.mapArray(function(t){return e.getItemModel(t)})},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.isAnimationEnabled=function(){return t.prototype.isAnimationEnabled.call(this)&&!("force"===this.get("layout")&&this.get(["force","layoutAnimation"]))},e.type="series.graph",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={z:2,coordinateSystem:"view",legendHoverLink:!0,layout:null,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:ut.color.neutral50,width:1,opacity:.5},emphasis:{scale:!0,label:{show:!0}},select:{itemStyle:{borderColor:ut.color.primary}}},e}(Pt);var nu=function(t){function e(e,n,a){var i=t.call(this)||this;V(i).dataType="node",i.z2=2;var o=new Wt;return i.setTextContent(o),i.updateData(e,n,a,!0),i}return nt(e,t),e.prototype.updateData=function(t,e,n,a){var i=this,o=t.graph.getNodeByIndex(e),r=t.hostModel,l=o.getModel(),s=l.getModel("emphasis"),u=t.getItemLayout(e),d=wt(Ge(l.getModel("itemStyle"),u,!0),u),c=this;if(isNaN(d.startAngle))c.setShape(d);else{a?c.setShape(d):tt(c,{shape:d},r,e);var h=wt(Ge(l.getModel("itemStyle"),u,!0),u);i.setShape(h),i.useStyle(t.getItemVisual(e,"style")),yt(i,l),this._updateLabel(r,l,o),t.setItemGraphicEl(e,c),yt(c,l,"itemStyle");var p=s.get("focus");Yt(this,"adjacency"===p?o.getAdjacentDataIndices():p,s.get("blurScope"),s.get("disabled"))}},e.prototype._updateLabel=function(t,e,n){var a=this.getTextContent(),i=n.getLayout(),o=(i.startAngle+i.endAngle)/2,r=Math.cos(o),l=Math.sin(o),s=e.getModel("label");a.ignore=!s.get("show");var u=ne(e),d=n.getVisual("style");ee(a,u,{labelFetcher:{getFormattedLabel:function(n,a,i,o,r,l){return t.getFormattedLabel(n,a,"node",o,he(r,u.normal&&u.normal.get("formatter"),e.get("name")),l)}},labelDataIndex:n.dataIndex,defaultText:n.dataIndex+"",inheritColor:d.fill,defaultOpacity:d.opacity,defaultOutsidePosition:"startArc"});var c,h=s.get("position")||"outside",p=s.get("distance")||0;c="outside"===h?i.r+p:(i.r+i.r0)/2,this.textConfig={inside:"outside"!==h};var f="outside"!==h?s.get("align")||"center":r>0?"left":"right",g="outside"!==h?s.get("verticalAlign")||"middle":l>0?"top":"bottom";a.attr({x:r*c+i.cx,y:l*c+i.cy,rotation:0,style:{align:f,verticalAlign:g}})},e}(We),au=function(t){function e(e,n,a,i){var o=t.call(this)||this;return V(o).dataType="edge",o.updateData(e,n,a,i,!0),o}return nt(e,t),e.prototype.buildPath=function(t,e){t.moveTo(e.s1[0],e.s1[1]);var n=.7,a=e.clockwise;t.arc(e.cx,e.cy,e.r,e.sStartAngle,e.sEndAngle,!a),t.bezierCurveTo((e.cx-e.s2[0])*n+e.s2[0],(e.cy-e.s2[1])*n+e.s2[1],(e.cx-e.t1[0])*n+e.t1[0],(e.cy-e.t1[1])*n+e.t1[1],e.t1[0],e.t1[1]),t.arc(e.cx,e.cy,e.r,e.tStartAngle,e.tEndAngle,!a),t.bezierCurveTo((e.cx-e.t2[0])*n+e.t2[0],(e.cy-e.t2[1])*n+e.t2[1],(e.cx-e.s1[0])*n+e.s1[0],(e.cy-e.s1[1])*n+e.s1[1],e.s1[0],e.s1[1]),t.closePath()},e.prototype.updateData=function(t,e,n,a,i){var o=t.hostModel,r=e.graph.getEdgeByIndex(n),l=r.getLayout(),s=r.node1.getModel(),u=e.getItemModel(r.dataIndex),d=u.getModel("lineStyle"),c=u.getModel("emphasis"),h=c.get("focus"),p=wt(Ge(s.getModel("itemStyle"),l,!0),l),f=this;isNaN(p.sStartAngle)||isNaN(p.tStartAngle)?f.setShape(p):(i?(f.setShape(p),iu(f,r,t,d)):(Fe(f),iu(f,r,t,d),tt(f,{shape:p},o,n)),Yt(this,"adjacency"===h?r.getAdjacentDataIndices():h,c.get("blurScope"),c.get("disabled")),yt(f,u,"lineStyle"),e.setItemGraphicEl(r.dataIndex,f))},e}(xt);function iu(t,e,n,a){var i=e.node1,o=e.node2,r=t.style;switch(t.setStyle(a.getLineStyle()),a.get("color")){case"source":r.fill=n.getItemVisual(i.dataIndex,"style").fill,r.decal=i.getVisual("style").decal;break;case"target":r.fill=n.getItemVisual(o.dataIndex,"style").fill,r.decal=o.getVisual("style").decal;break;case"gradient":var l=n.getItemVisual(i.dataIndex,"style").fill,s=n.getItemVisual(o.dataIndex,"style").fill;if(Dt(l)&&Dt(s)){var u=t.shape,d=(u.s1[0]+u.s2[0])/2,c=(u.s1[1]+u.s2[1])/2,h=(u.t1[0]+u.t2[0])/2,p=(u.t1[1]+u.t2[1])/2;r.fill=new je(d,c,h,p,[{offset:0,color:l},{offset:1,color:s}],!0)}}}var ou=Math.PI/180,ru=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.prototype.init=function(t,e){},e.prototype.render=function(t,e,n){var a=t.getData(),i=this._data,o=this.group,r=-t.get("startAngle")*ou;if(a.diff(i).add(function(t){if(a.getItemLayout(t)){var e=new nu(a,t,r);V(e).dataIndex=t,o.add(e)}}).update(function(e,n){var l=i.getItemGraphicEl(n);a.getItemLayout(e)?(l?l.updateData(a,e,r):l=new nu(a,e,r),o.add(l)):l&&Ye(l,t,n)}).remove(function(e){var n=i.getItemGraphicEl(e);n&&Ye(n,t,e)}).execute(),!i){var l=t.get("center");this.group.scaleX=.01,this.group.scaleY=.01,this.group.originX=B(l[0],n.getWidth()),this.group.originY=B(l[1],n.getHeight()),Q(this.group,{scaleX:1,scaleY:1},t)}this._data=a,this.renderEdges(t,r)},e.prototype.renderEdges=function(t,e){var n=t.getData(),a=t.getEdgeData(),i=this._edgeData,o=this.group;a.diff(i).add(function(t){var i=new au(n,a,t,e);V(i).dataIndex=t,o.add(i)}).update(function(t,r){var l=i.getItemGraphicEl(r);l.updateData(n,a,t,e),o.add(l)}).remove(function(e){var n=i.getItemGraphicEl(e);n&&Ye(n,t,e)}).execute(),this._edgeData=a},e.prototype.dispose=function(){},e.type="chord",e}(st),lu=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.prototype.init=function(e){t.prototype.init.apply(this,arguments),this.fillDataTextStyle(e.edges||e.links),this.legendVisualProvider=new Oe(Xt(this.getData,this),Xt(this.getRawData,this))},e.prototype.mergeOption=function(e){t.prototype.mergeOption.apply(this,arguments),this.fillDataTextStyle(e.edges||e.links)},e.prototype.getInitialData=function(t,e){var n=t.edges||t.links||[],a=t.data||t.nodes||[];if(a&&n)return tu(a,n,this,!0,function(t,e){var n=Lt.prototype.getModel;function a(t,e){var a=n.call(this,t,e);return a.resolveParentPath=i,a}function i(t){if(t&&("label"===t[0]||"label"===t[1])){var e=t.slice();return"label"===t[0]?e[0]="edgeLabel":"label"===t[1]&&(e[1]="edgeLabel"),e}return t}e.wrapMethod("getItemModel",function(t){return t.resolveParentPath=i,t.getModel=a,t})}).data},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.formatTooltip=function(t,e,n){var a=this.getDataParams(t,n);if("edge"===n){var i=this.getData(),o=i.graph.getEdgeByIndex(t),r=i.getName(o.node1.dataIndex),l=i.getName(o.node2.dataIndex),s=[];return null!=r&&s.push(r),null!=l&&s.push(l),At("nameValue",{name:s.join(" > "),value:a.value,noValue:null==a.value})}return At("nameValue",{name:a.name,value:a.value,noValue:null==a.value})},e.prototype.getDataParams=function(e,n){var a=t.prototype.getDataParams.call(this,e,n);if("node"===n){var i=this.getData(),o=this.getGraph().getNodeByIndex(e);if(null==a.name&&(a.name=i.getName(e)),null==a.value){var r=o.getLayout().value;a.value=r}}return a},e.type="series.chord",e.defaultOption={z:2,coordinateSystem:"none",legendHoverLink:!0,colorBy:"data",left:0,top:0,right:0,bottom:0,width:null,height:null,center:["50%","50%"],radius:["70%","80%"],clockwise:!0,startAngle:90,endAngle:"auto",minAngle:0,padAngle:3,itemStyle:{borderRadius:[0,0,5,5]},lineStyle:{width:0,color:"source",opacity:.2},label:{show:!0,position:"outside",distance:5},emphasis:{focus:"adjacency",lineStyle:{opacity:.5}}},e}(Pt),su=Math.PI/180;function uu(t,e){t.eachSeriesByType("chord",function(t){!function(t,e){var n=t.getData(),a=n.graph,i=t.getEdgeData();if(!i.count())return;var o=Ue(t,e),r=o.cx,l=o.cy,s=o.r,u=o.r0,d=Math.max((t.get("padAngle")||0)*su,0),c=Math.max((t.get("minAngle")||0)*su,0),h=-t.get("startAngle")*su,p=h+2*Math.PI,f=t.get("clockwise"),g=f?1:-1,v=[h,p];Xe(v,!f);var y=v[0],m=v[1]-y,x=0===n.getSum("value")&&0===i.getSum("value"),_=[],b=0;a.eachEdge(function(t){var e=x?1:t.getValue("value");x&&(e>0||c)&&(b+=2);var n=t.node1.dataIndex,a=t.node2.dataIndex;_[n]=(_[n]||0)+e,_[a]=(_[a]||0)+e});var w=0;if(a.eachNode(function(t){var e=t.getValue("value");isNaN(e)||(_[t.dataIndex]=Math.max(e,_[t.dataIndex]||0)),!x&&(_[t.dataIndex]>0||c)&&b++,w+=_[t.dataIndex]||0}),0===b||0===w)return;d*b>=Math.abs(m)&&(d=Math.max(0,(Math.abs(m)-c*b)/b));(d+c)*b>=Math.abs(m)&&(c=(Math.abs(m)-d*b)/b);var S=(m-d*b*g)/w,I=0,M=0,C=0;a.eachNode(function(t){var e=_[t.dataIndex]||0,n=S*(w?e:1)*g;Math.abs(n)M){var D=I/M;a.eachNode(function(t){var e=t.getLayout().angle;Math.abs(e)>=c?t.setLayout({angle:e*D,ratio:D},!0):t.setLayout({angle:c,ratio:0===c?1:e/c},!0)})}else a.eachNode(function(t){if(!T){var e=t.getLayout().angle;e-Math.min(e/C,1)*Ic&&c>0){var n=T?1:Math.min(e/C,1),a=e-c,i=Math.min(a,Math.min(L,I*n));L-=i,t.setLayout({angle:e-i,ratio:(e-i)/e},!0)}else c>0&&t.setLayout({angle:c,ratio:0===e?1:c/e},!0)}});var A=y,P=[];a.eachNode(function(t){var e=Math.max(t.getLayout().angle,c);t.setLayout({cx:r,cy:l,r0:u,r:s,startAngle:A,endAngle:A+e*g,clockwise:f},!0),P[t.dataIndex]=A,A+=(e+d)*g}),a.eachEdge(function(t){var e=x?1:t.getValue("value"),n=S*(w?e:1)*g,a=t.node1.dataIndex,i=P[a]||0,o=i+Math.abs((t.node1.getLayout().ratio||1)*n)*g,s=[r+u*Math.cos(i),l+u*Math.sin(i)],d=[r+u*Math.cos(o),l+u*Math.sin(o)],c=t.node2.dataIndex,h=P[c]||0,p=h+Math.abs((t.node2.getLayout().ratio||1)*n)*g,v=[r+u*Math.cos(h),l+u*Math.sin(h)],y=[r+u*Math.cos(p),l+u*Math.sin(p)];t.setLayout({s1:s,s2:d,sStartAngle:i,sEndAngle:o,t1:v,t2:y,tStartAngle:h,tEndAngle:p,cx:r,cy:l,r:u,value:e,clockwise:f}),P[a]=o,P[c]=p})}(t,e)})}var du=function(){return function(){this.angle=0,this.width=10,this.r=10,this.x=0,this.y=0}}(),cu=function(t){function e(e){var n=t.call(this,e)||this;return n.type="pointer",n}return nt(e,t),e.prototype.getDefaultShape=function(){return new du},e.prototype.buildPath=function(t,e){var n=Math.cos,a=Math.sin,i=e.r,o=e.width,r=e.angle,l=e.x-n(r)*o*(o>=i/3?1:2),s=e.y-a(r)*o*(o>=i/3?1:2);r=e.angle-Math.PI/2,t.moveTo(l,s),t.lineTo(e.x+n(r)*o,e.y+a(r)*o),t.lineTo(e.x+n(e.angle)*i,e.y+a(e.angle)*i),t.lineTo(e.x-n(r)*o,e.y-a(r)*o),t.lineTo(l,s)},e}(xt);function hu(t,e){var n=null==t?"":t+"";return e&&(Dt(e)?n=e.replace("{value}",n):R(e)&&(n=e(t))),n}var pu=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.prototype.render=function(t,e,n){this.group.removeAll();var a=t.get(["axisLine","lineStyle","color"]),i=function(t,e){var n=t.get("center"),a=e.getWidth(),i=e.getHeight(),o=Math.min(a,i);return{cx:B(n[0],e.getWidth()),cy:B(n[1],e.getHeight()),r:B(t.get("radius"),o/2)}}(t,n);this._renderMain(t,e,n,a,i),this._data=t.getData()},e.prototype.dispose=function(){},e.prototype._renderMain=function(t,e,n,a,i){var o=this.group,r=t.get("clockwise"),l=-t.get("startAngle")/180*Math.PI,s=-t.get("endAngle")/180*Math.PI,u=t.getModel("axisLine"),d=u.get("roundCap")?Ze:We,c=u.get("show"),h=u.getModel("lineStyle"),p=h.get("width"),f=[l,s];Xe(f,!r);for(var g=(s=f[1])-(l=f[0]),v=l,y=[],m=0;c&&m=t&&(0===e?0:a[e-1][0])Math.PI/2&&(V+=Math.PI):"tangential"===O?V=-I-Math.PI/2:ce(O)&&(V=O*Math.PI/180),0===V?c.add(new Wt({style:jt(x,{text:E,x:z,y:R,verticalAlign:d<-.8?"top":d>.8?"bottom":"middle",align:u<-.4?"left":u>.4?"right":"center"},{inheritColor:N}),silent:!0})):c.add(new Wt({style:jt(x,{text:E,x:z,y:R,verticalAlign:"middle",align:"center"},{inheritColor:N}),silent:!0,originX:z,originY:R,rotation:V}))}if(m.get("show")&&A!==_){k=(k=m.get("distance"))?k+s:s;for(var G=0;G<=b;G++){u=Math.cos(I),d=Math.sin(I);var W=new qe({shape:{x1:u*(f-k)+h,y1:d*(f-k)+p,x2:u*(f-S-k)+h,y2:d*(f-S-k)+p},silent:!0,style:D});"auto"===D.stroke&&W.setStyle({stroke:a((A+G/b)/_)}),c.add(W),I+=C}I-=C}else I+=M}},e.prototype._renderPointer=function(t,e,n,a,i,o,r,l,s){var u=this.group,d=this._data,c=this._progressEls,h=[],p=t.get(["pointer","show"]),f=t.getModel("progress"),g=f.get("show"),v=t.getData(),y=v.mapDimension("value"),m=+t.get("min"),x=+t.get("max"),_=[m,x],b=[o,r];function w(e,n){var a,o=v.getItemModel(e).getModel("pointer"),r=B(o.get("width"),i.r),l=B(o.get("length"),i.r),s=t.get(["pointer","icon"]),u=o.get("offsetCenter"),d=B(u[0],i.r),c=B(u[1],i.r),h=o.get("keepAspect");return(a=s?Je(s,d-r/2,c-l,r,l,null,h):new cu({shape:{angle:-Math.PI/2,width:r,r:l,x:d,y:c}})).rotation=-(n+Math.PI/2),a.x=i.cx,a.y=i.cy,a}function S(t,e){var n=f.get("roundCap")?Ze:We,a=f.get("overlap"),r=a?f.get("width"):s/v.count(),u=a?i.r-r:i.r-(t+1)*r,d=a?i.r:i.r-t*r,c=new n({shape:{startAngle:o,endAngle:e,cx:i.cx,cy:i.cy,clockwise:l,r0:u,r:d}});return a&&(c.z2=we(v.get(y,t),[m,x],[100,0],!0)),c}(g||p)&&(v.diff(d).add(function(e){var n=v.get(y,e);if(p){var a=w(e,o);Q(a,{rotation:-((isNaN(+n)?b[0]:we(n,_,b,!0))+Math.PI/2)},t),u.add(a),v.setItemGraphicEl(e,a)}if(g){var i=S(e,o),r=f.get("clip");Q(i,{shape:{endAngle:we(n,_,b,r)}},t),u.add(i),Ke(t.seriesIndex,v.dataType,e,i),h[e]=i}}).update(function(e,n){var a=v.get(y,e);if(p){var i=d.getItemGraphicEl(n),r=i?i.rotation:o,l=w(e,r);l.rotation=r,tt(l,{rotation:-((isNaN(+a)?b[0]:we(a,_,b,!0))+Math.PI/2)},t),u.add(l),v.setItemGraphicEl(e,l)}if(g){var s=c[n],m=S(e,s?s.shape.endAngle:o),x=f.get("clip");tt(m,{shape:{endAngle:we(a,_,b,x)}},t),u.add(m),Ke(t.seriesIndex,v.dataType,e,m),h[e]=m}}).execute(),v.each(function(t){var e=v.getItemModel(t),n=e.getModel("emphasis"),i=n.get("focus"),o=n.get("blurScope"),r=n.get("disabled");if(p){var l=v.getItemGraphicEl(t),s=v.getItemVisual(t,"style"),u=s.fill;if(l instanceof Qe){var d=l.style;l.useStyle(wt({image:d.image,x:d.x,y:d.y,width:d.width,height:d.height},s))}else l.useStyle(s),"pointer"!==l.type&&l.setColor(u);l.setStyle(e.getModel(["pointer","itemStyle"]).getItemStyle()),"auto"===l.style.fill&&l.setStyle("fill",a(we(v.get(y,t),_,[0,1],!0))),l.z2EmphasisLift=0,yt(l,e),Yt(l,i,o,r)}if(g){var c=h[t];c.useStyle(v.getItemVisual(t,"style")),c.setStyle(e.getModel(["progress","itemStyle"]).getItemStyle()),c.z2EmphasisLift=0,yt(c,e),Yt(c,i,o,r)}}),this._progressEls=h)},e.prototype._renderAnchor=function(t,e){var n=t.getModel("anchor");if(n.get("show")){var a=n.get("size"),i=n.get("icon"),o=n.get("offsetCenter"),r=n.get("keepAspect"),l=Je(i,e.cx-a/2+B(o[0],e.r),e.cy-a/2+B(o[1],e.r),a,a,null,r);l.z2=n.get("showAbove")?1:0,l.setStyle(n.getModel("itemStyle").getItemStyle()),this.group.add(l)}},e.prototype._renderTitleAndDetail=function(t,e,n,a,i){var o=this,r=t.getData(),l=r.mapDimension("value"),s=+t.get("min"),u=+t.get("max"),d=new at,c=[],h=[],p=t.isAnimationEnabled(),f=t.get(["pointer","showAbove"]);r.diff(this._data).add(function(t){c[t]=new Wt({silent:!0}),h[t]=new Wt({silent:!0})}).update(function(t,e){c[t]=o._titleEls[e],h[t]=o._detailEls[e]}).execute(),r.each(function(e){var n=r.getItemModel(e),o=r.get(l,e),g=new at,v=a(we(o,[s,u],[0,1],!0)),y=n.getModel("title");if(y.get("show")){var m=y.get("offsetCenter"),x=i.cx+B(m[0],i.r),_=i.cy+B(m[1],i.r);(D=c[e]).attr({z2:f?0:2,style:jt(y,{x:x,y:_,text:r.getName(e),align:"center",verticalAlign:"middle"},{inheritColor:v})}),g.add(D)}var b=n.getModel("detail");if(b.get("show")){var w=b.get("offsetCenter"),S=i.cx+B(w[0],i.r),I=i.cy+B(w[1],i.r),M=B(b.get("width"),i.r),C=B(b.get("height"),i.r),T=t.get(["progress","show"])?r.getItemVisual(e,"style").fill:v,D=h[e],L=b.get("formatter");D.attr({z2:f?0:2,style:jt(b,{x:S,y:I,text:hu(o,L),width:isNaN(M)?null:M,height:isNaN(C)?null:C,align:"center",verticalAlign:"middle"},{inheritColor:T})}),tn(D,{normal:b},o,function(t){return hu(t,L)}),p&&et(D,e,r,t,{getFormattedLabel:function(t,e,n,a,i,r){return hu(r?r.interpolatedValue:o,L)}}),g.add(D)}d.add(g)}),this.group.add(d),this._titleEls=c,this._detailEls=h},e.type="gauge",e}(st),fu=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.visualStyleAccessPath="itemStyle",n}return nt(e,t),e.prototype.getInitialData=function(t,e){return en(this,["value"])},e.type="series.gauge",e.defaultOption={z:2,colorBy:"data",center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,roundCap:!1,lineStyle:{color:[[1,ut.color.neutral10]],width:10}},progress:{show:!1,overlap:!0,width:10,roundCap:!1,clip:!0},splitLine:{show:!0,length:10,distance:10,lineStyle:{color:ut.color.axisTick,width:3,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:6,distance:10,lineStyle:{color:ut.color.axisTickMinor,width:1,type:"solid"}},axisLabel:{show:!0,distance:15,color:ut.color.axisLabel,fontSize:12,rotate:0},pointer:{icon:null,offsetCenter:[0,0],show:!0,showAbove:!0,length:"60%",width:6,keepAspect:!1},anchor:{show:!1,showAbove:!1,size:6,icon:"circle",offsetCenter:[0,0],keepAspect:!1,itemStyle:{color:ut.color.neutral00,borderWidth:0,borderColor:ut.color.theme[0]}},title:{show:!0,offsetCenter:[0,"20%"],color:ut.color.secondary,fontSize:16,valueAnimation:!1},detail:{show:!0,backgroundColor:ut.color.transparent,borderWidth:0,borderColor:ut.color.neutral40,width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:ut.color.primary,fontSize:30,fontWeight:"bold",lineHeight:30,valueAnimation:!1}},e}(Pt);var gu=["itemStyle","opacity"],vu=function(t){function e(e,n){var a=t.call(this)||this,i=a,o=new nn,r=new Wt;return i.setTextContent(r),a.setTextGuideLine(o),a.updateData(e,n,!0),a}return nt(e,t),e.prototype.updateData=function(t,e,n){var a=this,i=t.hostModel,o=t.getItemModel(e),r=t.getItemLayout(e),l=o.getModel("emphasis"),s=o.get(gu);s=null==s?1:s,n||Fe(a),a.useStyle(t.getItemVisual(e,"style")),a.style.lineJoin="round",n?(a.setShape({points:r.points}),a.style.opacity=0,Q(a,{style:{opacity:s}},i,e)):tt(a,{style:{opacity:s},shape:{points:r.points}},i,e),yt(a,o),this._updateLabel(t,e),Yt(this,l.get("focus"),l.get("blurScope"),l.get("disabled"))},e.prototype._updateLabel=function(t,e){var n=this,a=this.getTextGuideLine(),i=n.getTextContent(),o=t.hostModel,r=t.getItemModel(e),l=t.getItemLayout(e).label,s=t.getItemVisual(e,"style"),u=s.fill;ee(i,ne(r),{labelFetcher:t.hostModel,labelDataIndex:e,defaultOpacity:s.opacity,defaultText:t.getName(e)},{normal:{align:l.textAlign,verticalAlign:l.verticalAlign}});var d="inherit"===r.getModel("label").get("color")?u:null;n.setTextConfig({local:!0,inside:!!l.inside,insideStroke:d,outsideFill:d});var c=l.linePoints;a.setShape({points:c}),n.textGuideLineConfig={anchor:c?new an(c[0][0],c[0][1]):null},tt(i,{style:{x:l.x,y:l.y}},o,e),i.attr({rotation:l.rotation,originX:l.x,originY:l.y,z2:10}),X(n,H(r),{stroke:u})},e}(Gt),yu=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.ignoreLabelLineUpdate=!0,n}return nt(e,t),e.prototype.render=function(t,e,n){var a=t.getData(),i=this._data,o=this.group;a.diff(i).add(function(t){var e=new vu(a,t);a.setItemGraphicEl(t,e),o.add(e)}).update(function(t,e){var n=i.getItemGraphicEl(e);n.updateData(a,t),o.add(n),a.setItemGraphicEl(t,n)}).remove(function(e){var n=i.getItemGraphicEl(e);Ye(n,t,e)}).execute(),this._data=a},e.prototype.remove=function(){this.group.removeAll(),this._data=null},e.prototype.dispose=function(){},e.type="funnel",e}(st),mu=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.prototype.init=function(e){t.prototype.init.apply(this,arguments),this.legendVisualProvider=new Oe(Xt(this.getData,this),Xt(this.getRawData,this)),this._defaultLabelLine(e)},e.prototype.getInitialData=function(t,e){return en(this,{coordDimensions:["value"],encodeDefaulter:_t(on,this)})},e.prototype._defaultLabelLine=function(t){Ve(t,"labelLine",["show"]);var e=t.labelLine,n=t.emphasis.labelLine;e.show=e.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},e.prototype.getDataParams=function(e){var n=this.getData(),a=t.prototype.getDataParams.call(this,e),i=n.mapDimension("value"),o=n.getSum(i);return a.percent=o?+(n.get(i,e)/o*100).toFixed(2):0,a.$vars.push("percent"),a},e.type="series.funnel",e.defaultOption={coordinateSystemUsage:"box",z:2,legendHoverLink:!0,colorBy:"data",left:80,top:60,right:80,bottom:65,minSize:"0%",maxSize:"100%",sort:"descending",orient:"vertical",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1}},itemStyle:{borderColor:ut.color.neutral00,borderWidth:1},emphasis:{label:{show:!0}},select:{itemStyle:{borderColor:ut.color.primary}}},e}(Pt);function xu(t,e){t.eachSeriesByType("funnel",function(t){var n=t.getData(),a=n.mapDimension("value"),i=t.get("sort"),o=kt(t,e),r=Et(t.getBoxLayoutParams(),o.refContainer),l=t.get("orient"),s=r.width,u=r.height,d=function(t,e){for(var n=t.mapDimension("value"),a=t.mapArray(n,function(t){return t}),i=[],o="ascending"===e,r=0,l=t.count();r5)return;var a=this._model.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]);"none"!==a.behavior&&this._dispatchExpand({axisExpandWindow:a.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(t){if(!this._mouseDownPoint&&Eu(this,"mousemove")){var e=this._model,n=e.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]),a=n.behavior;"jump"===a&&this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")),this._throttledDispatchExpand("none"===a?null:{axisExpandWindow:n.axisExpandWindow,animation:"jump"===a?null:{duration:0}})}}};function Eu(t,e){var n=t._model;return n.get("axisExpandable")&&n.get("axisExpandTriggerOn")===e}var Nu=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.prototype.init=function(){t.prototype.init.apply(this,arguments),this.mergeOption({})},e.prototype.mergeOption=function(t){var e=this.option;t&&un(e,t,!0),this._initDimensions()},e.prototype.contains=function(t,e){var n=t.get("parallelIndex");return null!=n&&e.getComponent("parallel",n)===this},e.prototype.setAxisExpand=function(t){G(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(e){t.hasOwnProperty(e)&&(this.option[e]=t[e])},this)},e.prototype._initDimensions=function(){var t=this.dimensions=[],e=this.parallelAxisIndex=[],n=F(this.ecModel.queryComponents({mainType:"parallelAxis"}),function(t){return(t.get("parallelIndex")||0)===this.componentIndex},this);G(n,function(n){t.push("dim"+n.get("dim")),e.push(n.componentIndex)})},e.type="parallel",e.dependencies=["parallelAxis"],e.layoutMode="box",e.defaultOption={z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},e}(pn),zu=function(t){function e(e,n,a,i,o){var r=t.call(this,e,n,a)||this;return r.type=i||"value",r.axisIndex=o,r}return nt(e,t),e.prototype.isHorizontal=function(){return"horizontal"!==this.coordinateSystem.getModel().get("layout")},e}(fn),Ru=G,Ou=Math.min,Vu=Math.max,Bu=Math.floor,Gu=Math.ceil,Wu=$e,Fu=Math.PI,ju=function(){function t(t,e,n){this.type="parallel",this._axesMap=Ot(),this._axesLayout={},this.dimensions=t.dimensions,this._model=t,this._init(t,e,n)}return t.prototype._init=function(t,e,n){var a=t.dimensions,i=t.parallelAxisIndex;Ru(a,function(t,n){var a=i[n],o=e.getComponent("parallelAxis",a),r=this._axesMap.set(t,new zu(t,gn(o),[0,0],o.get("type"),a)),l="category"===r.type;r.onBand=l&&o.get("boundaryGap"),r.inverse=o.get("inverse"),o.axis=r,r.model=o,r.coordinateSystem=o.coordinateSystem=this},this)},t.prototype.update=function(t,e){this._updateAxesFromSeries(this._model,t)},t.prototype.containPoint=function(t){var e=this._makeLayoutInfo(),n=e.axisBase,a=e.layoutBase,i=e.pixelDimIndex,o=t[1-i],r=t[i];return o>=n&&o<=n+e.axisLength&&r>=a&&r<=a+e.layoutLength},t.prototype.getModel=function(){return this._model},t.prototype._updateAxesFromSeries=function(t,e){e.eachSeries(function(n){if(t.contains(n,e)){var a=n.getData();Ru(this.dimensions,function(t){var e=this._axesMap.get(t);e.scale.unionExtentFromData(a,a.mapDimension(t)),vn(e.scale,e.model)},this)}},this)},t.prototype.resize=function(t,e){var n=kt(t,e).refContainer;this._rect=Et(t.getBoxLayoutParams(),n),this._layoutAxes()},t.prototype.getRect=function(){return this._rect},t.prototype._makeLayoutInfo=function(){var t,e=this._model,n=this._rect,a=["x","y"],i=["width","height"],o=e.get("layout"),r="horizontal"===o?0:1,l=n[i[r]],s=[0,l],u=this.dimensions.length,d=Yu(e.get("axisExpandWidth"),s),c=Yu(e.get("axisExpandCount")||0,[0,u]),h=e.get("axisExpandable")&&u>3&&u>c&&c>1&&d>0&&l>0,p=e.get("axisExpandWindow");p?(t=Yu(p[1]-p[0],s),p[1]=p[0]+t):(t=Yu(d*(c-1),s),(p=[d*(e.get("axisExpandCenter")||Bu(u/2))-t/2])[1]=p[0]+t);var f=(l-t)/(u-c);f<3&&(f=0);var g=[Bu(Wu(p[0]/d,1))+1,Gu(Wu(p[1]/d,1))-1],v=f/d*p[0];return{layout:o,pixelDimIndex:r,layoutBase:n[a[r]],layoutLength:l,axisBase:n[a[1-r]],axisLength:n[i[1-r]],axisExpandable:h,axisExpandWidth:d,axisCollapseWidth:f,axisExpandWindow:p,axisCount:u,winInnerIndices:g,axisExpandWindow0Pos:v}},t.prototype._layoutAxes=function(){var t=this._rect,e=this._axesMap,n=this.dimensions,a=this._makeLayoutInfo(),i=a.layout;e.each(function(t){var e=[0,a.axisLength],n=t.inverse?1:0;t.setExtent(e[n],e[1-n])}),Ru(n,function(e,n){var o=(a.axisExpandable?Xu:Uu)(n,a),r={horizontal:{x:o.position,y:a.axisLength},vertical:{x:0,y:o.position}},l={horizontal:Fu/2,vertical:0},s=[r[i].x+t.x,r[i].y+t.y],u=l[i],d=Zt();yn(d,d,u),Ht(d,d,s),this._axesLayout[e]={position:s,rotation:u,transform:d,axisNameAvailableWidth:o.axisNameAvailableWidth,axisLabelShow:o.axisLabelShow,nameTruncateMaxWidth:o.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},t.prototype.getAxis=function(t){return this._axesMap.get(t)},t.prototype.dataToPoint=function(t,e){return this.axisCoordToPoint(this._axesMap.get(e).dataToCoord(t),e)},t.prototype.eachActiveState=function(t,e,n,a){null==n&&(n=0),null==a&&(a=t.count());var i=this._axesMap,o=this.dimensions,r=[],l=[];G(o,function(e){r.push(t.mapDimension(e)),l.push(i.get(e).model)});for(var s=this.hasAxisBrushed(),u=n;ui*(1-d[0])?(s="jump",r=l-i*(1-d[2])):(r=l-i*d[1])>=0&&(r=l-i*(1-d[1]))<=0&&(r=0),(r*=e.axisExpandWidth/u)?xn(r,a,o,"all"):s="none";else{var h=a[1]-a[0];(a=[Vu(0,o[1]*l/h-h/2)])[1]=Ou(o[1],a[0]+h),a[0]=a[1]-h}return{axisExpandWindow:a,behavior:s}},t}();function Yu(t,e){return Ou(Vu(t,e[0]),e[1])}function Uu(t,e){var n=e.layoutLength/(e.axisCount-1);return{position:n*t,axisNameAvailableWidth:n,axisLabelShow:!0}}function Xu(t,e){var n,a,i=e.layoutLength,o=e.axisExpandWidth,r=e.axisCount,l=e.axisCollapseWidth,s=e.winInnerIndices,u=l,d=!1;return t=0;n--)bn(e[n])},e.prototype.getActiveState=function(t){var e=this.activeIntervals;if(!e.length)return"normal";if(null==t||isNaN(+t))return"inactive";if(1===e.length){var n=e[0];if(n[0]<=t&&t<=n[1])return"active"}else for(var a=0,i=e.length;a=0&&(o[i[r].depth]=new Lt(i[r],this,e));return tu(a,n,this,!0,function(t,e){t.wrapMethod("getItemModel",function(t,e){var n=t.parentModel,a=n.getData().getItemLayout(e);if(a){var i=a.depth,o=n.levelModels[i];o&&(t.parentModel=o)}return t}),e.wrapMethod("getItemModel",function(t,e){var n=t.parentModel,a=n.getGraph().getEdgeByIndex(e).node1.getLayout();if(a){var i=a.depth,o=n.levelModels[i];o&&(t.parentModel=o)}return t})}).data},e.prototype.setNodePosition=function(t,e){var n=(this.option.data||this.option.nodes)[t];n.localX=e[0],n.localY=e[1]},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.formatTooltip=function(t,e,n){function a(t){return isNaN(t)||null==t}if("edge"===n){var i=this.getDataParams(t,n),o=i.data,r=i.value,l=o.source+" -- "+o.target;return At("nameValue",{name:l,value:r,noValue:a(r)})}var s=this.getGraph().getNodeByIndex(t).getLayout().value,u=this.getDataParams(t,n).data.name;return At("nameValue",{name:null!=u?u+"":null,value:s,noValue:a(s)})},e.prototype.optionUpdated=function(){},e.prototype.getDataParams=function(e,n){var a=t.prototype.getDataParams.call(this,e,n);if(null==a.value&&"node"===n){var i=this.getGraph().getNodeByIndex(e).getLayout().value;a.value=i}return a},e.type="series.sankey",e.layoutMode="box",e.defaultOption={z:2,coordinateSystemUsage:"box",left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,layoutIterations:32,roam:!1,roamTrigger:"global",center:null,zoom:1,label:{show:!0,position:"right",fontSize:12},edgeLabel:{show:!1,fontSize:12},levels:[],nodeAlign:"justify",lineStyle:{color:ut.color.neutral50,opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},select:{itemStyle:{borderColor:ut.color.primary}},animationEasing:"linear",animationDuration:1e3},e}(Pt);function id(t,e){t.eachSeriesByType("sankey",function(t){var n=t.get("nodeWidth"),a=t.get("nodeGap"),i=kt(t,e).refContainer,o=Et(t.getBoxLayoutParams(),i);t.layoutInfo=o;var r=o.width,l=o.height,s=t.getGraph(),u=s.nodes,d=s.edges;!function(t){G(t,function(t){var e=fd(t.outEdges,pd),n=fd(t.inEdges,pd),a=t.getValue()||0,i=Math.max(e,n,a);t.setLayout({value:i},!0)})}(u),function(t,e,n,a,i,o,r,l,s){(function(t,e,n,a,i,o,r){for(var l=[],s=[],u=[],d=[],c=0,h=0;h=0;y&&v.depth>p&&(p=v.depth),g.setLayout({depth:y?v.depth:c},!0),"vertical"===o?g.setLayout({dy:n},!0):g.setLayout({dx:n},!0);for(var m=0;mc-1?p:c-1;r&&"left"!==r&&function(t,e,n,a){if("right"===e){for(var i=[],o=t,r=0;o.length;){for(var l=0;l0;o--)ld(l,s*=.99,r),rd(l,i,n,a,r),gd(l,s,r),rd(l,i,n,a,r)}(t,e,o,i,a,r,l),function(t,e){var n="vertical"===e?"x":"y";G(t,function(t){t.outEdges.sort(function(t,e){return t.node2.getLayout()[n]-e.node2.getLayout()[n]}),t.inEdges.sort(function(t,e){return t.node1.getLayout()[n]-e.node1.getLayout()[n]})}),G(t,function(t){var e=0,n=0;G(t.outEdges,function(t){t.setLayout({sy:e},!0),e+=t.getLayout().dy}),G(t.inEdges,function(t){t.setLayout({ty:n},!0),n+=t.getLayout().dy})})}(t,l)}(u,d,n,a,r,l,0!==F(u,function(t){return 0===t.getLayout().value}).length?0:t.get("layoutIterations"),t.get("orient"),t.get("nodeAlign"))})}function od(t){var e=t.hostGraph.data.getRawDataItem(t.dataIndex);return null!=e.depth&&e.depth>=0}function rd(t,e,n,a,i){var o="vertical"===i?"x":"y";G(t,function(t){var r,l,s;t.sort(function(t,e){return t.getLayout()[o]-e.getLayout()[o]});for(var u=0,d=t.length,c="vertical"===i?"dx":"dy",h=0;h0&&(r=l.getLayout()[o]+s,"vertical"===i?l.setLayout({x:r},!0):l.setLayout({y:r},!0)),u=l.getLayout()[o]+l.getLayout()[c]+e;if((s=u-e-("vertical"===i?a:n))>0){r=l.getLayout()[o]-s,"vertical"===i?l.setLayout({x:r},!0):l.setLayout({y:r},!0),u=r;for(h=d-2;h>=0;--h)(s=(l=t[h]).getLayout()[o]+l.getLayout()[c]+e-u)>0&&(r=l.getLayout()[o]-s,"vertical"===i?l.setLayout({x:r},!0):l.setLayout({y:r},!0)),u=l.getLayout()[o]}})}function ld(t,e,n){G(t.slice().reverse(),function(t){G(t,function(t){if(t.outEdges.length){var a=fd(t.outEdges,sd,n)/fd(t.outEdges,pd);if(isNaN(a)){var i=t.outEdges.length;a=i?fd(t.outEdges,ud,n)/i:0}if("vertical"===n){var o=t.getLayout().x+(a-hd(t,n))*e;t.setLayout({x:o},!0)}else{var r=t.getLayout().y+(a-hd(t,n))*e;t.setLayout({y:r},!0)}}})})}function sd(t,e){return hd(t.node2,e)*t.getValue()}function ud(t,e){return hd(t.node2,e)}function dd(t,e){return hd(t.node1,e)*t.getValue()}function cd(t,e){return hd(t.node1,e)}function hd(t,e){return"vertical"===e?t.getLayout().x+t.getLayout().dx/2:t.getLayout().y+t.getLayout().dy/2}function pd(t){return t.getValue()}function fd(t,e,n){for(var a=0,i=t.length,o=-1;++oo&&(o=e)}),G(n,function(e){var n=new se({type:"color",mappingMethod:"linear",dataExtent:[i,o],visual:t.get("color")}).mapValueToVisual(e.getLayout().value),a=e.getModel().get(["itemStyle","color"]);null!=a?(e.setVisual("color",a),e.setVisual("style",{fill:a})):(e.setVisual("color",n),e.setVisual("style",{fill:n}))})}a.length&&G(a,function(t){var e=t.getModel().get("lineStyle");t.setVisual("style",e)})})}var yd=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.defaultValueDimensions=[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],n.visualDrawType="stroke",n}return nt(e,t),e.type="series.boxplot",e.dependencies=["xAxis","yAxis","grid"],e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,boxWidth:[7,50],itemStyle:{color:ut.color.neutral00,borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:1,shadowOffsetY:1,shadowColor:ut.color.shadow}},animationDuration:800},e}(Pt);Ne(yd,Nn,!0);var md=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.prototype.render=function(t,e,n){var a=t.getData(),i=this.group,o=this._data;this._data||i.removeAll();var r="horizontal"===t.get("layout")?1:0;a.diff(o).add(function(t){if(a.hasValue(t)){var e=bd(a.getItemLayout(t),a,t,r,!0);a.setItemGraphicEl(t,e),i.add(e)}}).update(function(t,e){var n=o.getItemGraphicEl(e);if(a.hasValue(t)){var l=a.getItemLayout(t);n?(Fe(n),wd(l,n,a,t)):n=bd(l,a,t,r),i.add(n),a.setItemGraphicEl(t,n)}else i.remove(n)}).remove(function(t){var e=o.getItemGraphicEl(t);e&&i.remove(e)}).execute(),this._data=a},e.prototype.remove=function(t){var e=this.group,n=this._data;this._data=null,n&&n.eachItemGraphicEl(function(t){t&&e.remove(t)})},e.type="boxplot",e}(st),xd=function(){return function(){}}(),_d=function(t){function e(e){var n=t.call(this,e)||this;return n.type="boxplotBoxPath",n}return nt(e,t),e.prototype.getDefaultShape=function(){return new xd},e.prototype.buildPath=function(t,e){var n=e.points,a=0;for(t.moveTo(n[a][0],n[a][1]),a++;a<4;a++)t.lineTo(n[a][0],n[a][1]);for(t.closePath();ag){var _=[y,x];a.push(_)}}}return{boxData:n,outliers:a}}(e.getRawData(),t.config);return[{dimensions:["ItemName","Low","Q1","Q2","Q3","High"],data:n.boxData},{data:n.outliers}]}};function Td(t,e){var n=e.rippleEffectColor||e.color;t.eachChild(function(t){t.attr({z:e.z,zlevel:e.zlevel,style:{stroke:"stroke"===e.brushType?n:null,fill:"fill"===e.brushType?n:null}})})}var Dd=function(t){function e(e,n){var a=t.call(this)||this,i=new dt(e,n),o=new at;return a.add(i),a.add(o),a.updateData(e,n),a}return nt(e,t),e.prototype.stopEffectAnimation=function(){this.childAt(1).removeAll()},e.prototype.startEffectAnimation=function(t){for(var e=t.symbolType,n=t.color,a=t.rippleNumber,i=this.childAt(1),o=0;o0&&(o=this._getLineLength(a)/s*1e3),o!==this._period||r!==this._loop||l!==this._roundTrip){a.stopAnimation();var d=void 0;d=R(u)?u(n):u,a.__t>0&&(d=-o*a.__t),this._animateSymbol(a,o,d,r,l)}this._period=o,this._loop=r,this._roundTrip=l}},e.prototype._animateSymbol=function(t,e,n,a,i){if(e>0){t.__t=0;var o=this,r=t.animate("",a).when(i?2*e:e,{__t:i?2:1}).delay(n).during(function(){o._updateSymbolPosition(t)});a||r.done(function(){o.remove(t)}),r.start()}},e.prototype._getLineLength=function(t){return Yn(t.__p1,t.__cp1)+Yn(t.__cp1,t.__p2)},e.prototype._updateAnimationPoints=function(t,e){t.__p1=e[0],t.__p2=e[1],t.__cp1=e[2]||[(e[0][0]+e[1][0])/2,(e[0][1]+e[1][1])/2]},e.prototype.updateData=function(t,e,n){this.childAt(0).updateData(t,e,n),this._updateEffectSymbol(t,e)},e.prototype._updateSymbolPosition=function(t){var e=t.__p1,n=t.__p2,a=t.__cp1,i=t.__t<1?t.__t:2-t.__t,o=[t.x,t.y],r=o.slice(),l=Ce,s=Un;o[0]=l(e[0],a[0],n[0],i),o[1]=l(e[1],a[1],n[1],i);var u=t.__t<1?s(e[0],a[0],n[0],i):s(n[0],a[0],e[0],1-i),d=t.__t<1?s(e[1],a[1],n[1],i):s(n[1],a[1],e[1],1-i);t.rotation=-Math.atan2(d,u)-Math.PI/2,"line"!==this._symbolType&&"rect"!==this._symbolType&&"roundRect"!==this._symbolType||(void 0!==t.__lastT&&t.__lastT=0&&!(a[o]<=e);o--);o=Math.min(o,i-2)}else{for(o=r;oe);o++);o=Math.min(o-1,i-2)}var l=(e-a[o])/(a[o+1]-a[o]),s=n[o],u=n[o+1];t.x=s[0]*(1-l)+l*u[0],t.y=s[1]*(1-l)+l*u[1];var d=t.__t<1?u[0]-s[0]:s[0]-u[0],c=t.__t<1?u[1]-s[1]:s[1]-u[1];t.rotation=-Math.atan2(c,d)-Math.PI/2,this._lastFrame=o,this._lastFramePercent=e,t.ignore=!1}},e}(Pd),Nd=function(){return function(){this.polyline=!1,this.curveness=0,this.segs=[]}}(),zd=function(t){function e(e){var n=t.call(this,e)||this;return n._off=0,n.hoverDataIdx=-1,n}return nt(e,t),e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.getDefaultStyle=function(){return{stroke:ut.color.neutral99,fill:null}},e.prototype.getDefaultShape=function(){return new Nd},e.prototype.buildPath=function(t,e){var n,a=e.segs,i=e.curveness;if(e.polyline)for(n=this._off;n0){t.moveTo(a[n++],a[n++]);for(var r=1;r0){var c=(l+u)/2-(s-d)*i,h=(s+d)/2-(u-l)*i;t.quadraticCurveTo(c,h,u,d)}else t.lineTo(u,d)}this.incremental&&(this._off=n,this.notClear=!0)},e.prototype.findDataIndex=function(t,e){var n=this.shape,a=n.segs,i=n.curveness,o=this.style.lineWidth;if(n.polyline)for(var r=0,l=0;l0)for(var u=a[l++],d=a[l++],c=1;c0){if(Hn(u,d,(u+h)/2-(d-p)*i,(d+p)/2-(h-u)*i,h,p,o,t,e))return r}else if(Xn(u,d,h,p,o,t,e))return r;r++}return-1},e.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e),a=this.getBoundingRect();return t=n[0],e=n[1],a.contain(t,e)?(this.hoverDataIdx=this.findDataIndex(t,e))>=0:(this.hoverDataIdx=-1,!1)},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var e=this.shape.segs,n=1/0,a=1/0,i=-1/0,o=-1/0,r=0;r0&&(o.dataIndex=n+t.__startIndex)})},t.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},t}(),Od={seriesType:"lines",plan:Zn(),reset:function(t){var e=t.coordinateSystem;if(e){var n=t.get("polyline"),a=t.pipelineContext.large;return{progress:function(i,o){var r=[];if(a){var l=void 0,s=i.end-i.start;if(n){for(var u=0,d=i.start;d0&&(s||l.configLayer(o,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(r/10+.9,1),0)})),i.updateData(a);var u=t.get("clip",!0)&&qn(t.coordinateSystem,!1,t);u?this.group.setClipPath(u):this.group.removeClipPath(),this._lastZlevel=o,this._finished=!0},e.prototype.incrementalPrepareRender=function(t,e,n){var a=t.getData();this._updateLineDraw(a,t).incrementalPrepareUpdate(a),this._clearLayer(n),this._finished=!1},e.prototype.incrementalRender=function(t,e,n){this._lineDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},e.prototype.eachRendered=function(t){this._lineDraw&&this._lineDraw.eachRendered(t)},e.prototype.updateTransform=function(t,e,n){var a=t.getData(),i=t.pipelineContext;if(!this._finished||i.large||i.progressiveRender)return{update:!0};var o=Od.reset(t,e,n);o.progress&&o.progress({start:0,end:a.count(),count:a.count()},a),this._lineDraw.updateLayout(),this._clearLayer(n)},e.prototype._updateLineDraw=function(t,e){var n=this._lineDraw,a=this._showEffect(e),i=!!e.get("polyline"),o=e.pipelineContext.large;return n&&a===this._hasEffet&&i===this._isPolyline&&o===this._isLargeDraw||(n&&n.remove(),n=this._lineDraw=o?new Rd:new Le(i?a?Ed:kd:a?Pd:jn),this._hasEffet=a,this._isPolyline=i,this._isLargeDraw=o),this.group.add(n.group),n},e.prototype._showEffect=function(t){return!!t.get(["effect","show"])},e.prototype._clearLayer=function(t){var e=t.getZr();"svg"===e.painter.getType()||null==this._lastZlevel||e.painter.getLayer(this._lastZlevel).clear(!0)},e.prototype.remove=function(t,e){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(e)},e.prototype.dispose=function(t,e){this.remove(t,e)},e.type="lines",e}(st),Bd="undefined"==typeof Uint32Array?Array:Uint32Array,Gd="undefined"==typeof Float64Array?Array:Float64Array;function Wd(t){var e=t.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(t.data=St(e,function(t){var e={coords:[t[0].coord,t[1].coord]};return t[0].name&&(e.fromName=t[0].name),t[1].name&&(e.toName=t[1].name),$n([e,t[0],t[1]])}))}var Fd=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.visualStyleAccessPath="lineStyle",n.visualDrawType="stroke",n}return nt(e,t),e.prototype.init=function(e){e.data=e.data||[],Wd(e);var n=this._processFlatCoordsArray(e.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(e.data=new Float32Array(n.count)),t.prototype.init.apply(this,arguments)},e.prototype.mergeOption=function(e){if(Wd(e),e.data){var n=this._processFlatCoordsArray(e.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(e.data=new Float32Array(n.count))}t.prototype.mergeOption.apply(this,arguments)},e.prototype.appendData=function(t){var e=this._processFlatCoordsArray(t.data);e.flatCoords&&(this._flatCoords?(this._flatCoords=ct(this._flatCoords,e.flatCoords),this._flatCoordsOffset=ct(this._flatCoordsOffset,e.flatCoordsOffset)):(this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset),t.data=new Float32Array(e.count)),this.getRawData().appendData(t.data)},e.prototype._getCoordsFromItemModel=function(t){var e=this.getData().getItemModel(t);return e.option instanceof Array?e.option:e.getShallow("coords")},e.prototype.getLineCoordsCount=function(t){return this._flatCoordsOffset?this._flatCoordsOffset[2*t+1]:this._getCoordsFromItemModel(t).length},e.prototype.getLineCoords=function(t,e){if(this._flatCoordsOffset){for(var n=this._flatCoordsOffset[2*t],a=this._flatCoordsOffset[2*t+1],i=0;i ")})},e.prototype.preventIncremental=function(){return!!this.get(["effect","show"])},e.prototype.getProgressive=function(){var t=this.option.progressive;return null==t?this.option.large?1e4:this.get("progressive"):t},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?2e4:this.get("progressiveThreshold"):t},e.prototype.getZLevelKey=function(){var t=this.getModel("effect"),e=t.get("trailLength");return this.getData().count()>this.getProgressiveThreshold()?this.id:t.get("show")&&e>0?e+"":""},e.type="series.lines",e.dependencies=["grid","polar","geo","calendar"],e.defaultOption={coordinateSystem:"geo",z:2,legendHoverLink:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}},e}(Pt);function jd(t){return t instanceof Array||(t=[t,t]),t}var Yd={seriesType:"lines",reset:function(t){var e=jd(t.get("symbol")),n=jd(t.get("symbolSize")),a=t.getData();return a.setVisual("fromSymbol",e&&e[0]),a.setVisual("toSymbol",e&&e[1]),a.setVisual("fromSymbolSize",n&&n[0]),a.setVisual("toSymbolSize",n&&n[1]),{dataEach:a.hasItemOption?function(t,e){var n=t.getItemModel(e),a=jd(n.getShallow("symbol",!0)),i=jd(n.getShallow("symbolSize",!0));a[0]&&t.setItemVisual(e,"fromSymbol",a[0]),a[1]&&t.setItemVisual(e,"toSymbol",a[1]),i[0]&&t.setItemVisual(e,"fromSymbolSize",i[0]),i[1]&&t.setItemVisual(e,"toSymbolSize",i[1])}:null}}};var Ud=function(){function t(){this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={inRange:null,outOfRange:null};var t=Kn.createCanvas();this.canvas=t}return t.prototype.update=function(t,e,n,a,i,o){var r=this._getBrush(),l=this._getGradient(i,"inRange"),s=this._getGradient(i,"outOfRange"),u=this.pointSize+this.blurSize,d=this.canvas,c=d.getContext("2d"),h=t.length;d.width=e,d.height=n;for(var p=0;p0){var M=o(y)?l:s;y>0&&(y=y*S+w),x[_++]=M[I],x[_++]=M[I+1],x[_++]=M[I+2],x[_++]=M[I+3]*y*256}else _+=4}return c.putImageData(m,0,0),d},t.prototype._getBrush=function(){var t=this._brushCanvas||(this._brushCanvas=Kn.createCanvas()),e=this.pointSize+this.blurSize,n=2*e;t.width=n,t.height=n;var a=t.getContext("2d");return a.clearRect(0,0,n,n),a.shadowOffsetX=n,a.shadowBlur=this.blurSize,a.shadowColor=ut.color.neutral99,a.beginPath(),a.arc(-e,e,this.pointSize,0,2*Math.PI,!0),a.closePath(),a.fill(),t},t.prototype._getGradient=function(t,e){for(var n=this._gradientPixels,a=n[e]||(n[e]=new Uint8ClampedArray(1024)),i=[0,0,0,0],o=0,r=0;r<256;r++)t[e](r/255,!0,i),a[o++]=i[0],a[o++]=i[1],a[o++]=i[2],a[o++]=i[3];return a},t}();function Xd(t){var e=t.dimensions;return"lng"===e[0]&&"lat"===e[1]}var Hd=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.prototype.render=function(t,e,n){var a;e.eachComponent("visualMap",function(e){e.eachTargetSeries(function(n){n===t&&(a=e)})}),this._progressiveEls=null,this.group.removeAll();var i=t.coordinateSystem;"cartesian2d"===i.type||"calendar"===i.type||"matrix"===i.type?this._renderOnGridLike(t,n,0,t.getData().count()):Xd(i)&&this._renderOnGeo(i,t,a,n)},e.prototype.incrementalPrepareRender=function(t,e,n){this.group.removeAll()},e.prototype.incrementalRender=function(t,e,n,a){var i=e.coordinateSystem;i&&(Xd(i)?this.render(e,n,a):(this._progressiveEls=[],this._renderOnGridLike(e,a,t.start,t.end,!0)))},e.prototype.eachRendered=function(t){Qn(this._progressiveEls||this.group,t)},e.prototype._renderOnGridLike=function(t,e,n,a,i){var o,r,l,s,u=t.coordinateSystem,d=Jn(u,"cartesian2d"),c=Jn(u,"matrix");if(d){var h=u.getAxis("x"),p=u.getAxis("y");o=h.getBandWidth()+.5,r=p.getBandWidth()+.5,l=h.scale.getExtent(),s=p.scale.getExtent()}for(var f=this.group,g=t.getData(),v=t.getModel(["emphasis","itemStyle"]).getItemStyle(),y=t.getModel(["blur","itemStyle"]).getItemStyle(),m=t.getModel(["select","itemStyle"]).getItemStyle(),x=t.get(["itemStyle","borderRadius"]),_=ne(t),b=t.getModel("emphasis"),w=b.get("focus"),S=b.get("blurScope"),I=b.get("disabled"),M=d||c?[g.mapDimension("x"),g.mapDimension("y"),g.mapDimension("value")]:[g.mapDimension("time"),g.mapDimension("value")],C=n;Cl[1]||As[1])continue;var P=u.dataToPoint([L,A]);T=new oe({shape:{x:P[0]-o/2,y:P[1]-r/2,width:o,height:r},style:D})}else if(c){var k=u.dataToLayout([g.get(M[0],C),g.get(M[1],C)]).rect;if(ln(k.x))continue;T=new oe({z2:1,shape:k,style:D})}else{if(isNaN(g.get(M[1],C)))continue;var E=u.dataToLayout([g.get(M[0],C)]);k=E.contentRect||E.rect;if(ln(k.x)||ln(k.y))continue;T=new oe({z2:1,shape:k,style:D})}if(g.hasItemOption){var N=g.getItemModel(C),z=N.getModel("emphasis");v=z.getModel("itemStyle").getItemStyle(),y=N.getModel(["blur","itemStyle"]).getItemStyle(),m=N.getModel(["select","itemStyle"]).getItemStyle(),x=N.get(["itemStyle","borderRadius"]),w=z.get("focus"),S=z.get("blurScope"),I=z.get("disabled"),_=ne(N)}T.shape.r=x;var R=t.getRawValue(C),O="-";R&&null!=R[2]&&(O=R[2]+""),ee(T,_,{labelFetcher:t,labelDataIndex:C,defaultOpacity:D.opacity,defaultText:O}),T.ensureState("emphasis").style=v,T.ensureState("blur").style=y,T.ensureState("select").style=m,Yt(T,w,S,I),T.incremental=i,i&&(T.states.emphasis.hoverLayer=!0),f.add(T),g.setItemGraphicEl(C,T),this._progressiveEls&&this._progressiveEls.push(T)}},e.prototype._renderOnGeo=function(t,e,n,a){var i=n.targetVisuals.inRange,o=n.targetVisuals.outOfRange,r=e.getData(),l=this._hmLayer||this._hmLayer||new Ud;l.blurSize=e.get("blurSize"),l.pointSize=e.get("pointSize"),l.minOpacity=e.get("minOpacity"),l.maxOpacity=e.get("maxOpacity");var s=t.getViewRect().clone(),u=t.getRoamTransform();s.applyTransform(u);var d=Math.max(s.x,0),c=Math.max(s.y,0),h=Math.min(s.width+s.x,a.getWidth()),p=Math.min(s.height+s.y,a.getHeight()),f=h-d,g=p-c,v=[r.mapDimension("lng"),r.mapDimension("lat"),r.mapDimension("value")],y=r.mapArray(v,function(e,n,a){var i=t.dataToPoint([e,n]);return i[0]-=d,i[1]-=c,i.push(a),i}),m=n.getExtent(),x="visualMap.continuous"===n.type?function(t,e){var n=t[1]-t[0];return e=[(e[0]-t[0])/n,(e[1]-t[0])/n],function(t){return t>=e[0]&&t<=e[1]}}(m,n.option.range):function(t,e,n){var a=t[1]-t[0],i=(e=St(e,function(e){return{interval:[(e.interval[0]-t[0])/a,(e.interval[1]-t[0])/a]}})).length,o=0;return function(t){var a;for(a=o;a=0;a--){var r;if((r=e[a].interval)[0]<=t&&t<=r[1]){o=a;break}}return a>=0&&a=0?1:-1:o>0?1:-1}(n,o,i,a,c),function(t,e,n,a,i,o,r,l,s,u){var d,c=s.valueDim,h=s.categoryDim,p=Math.abs(n[h.wh]),f=t.getItemVisual(e,"symbolSize");d=It(f)?f.slice():null==f?["100%","100%"]:[f,f];d[h.index]=B(d[h.index],p),d[c.index]=B(d[c.index],a?p:Math.abs(o)),u.symbolSize=d;var g=u.symbolScale=[d[0]/l,d[1]/l];g[c.index]*=(s.isHorizontal?-1:1)*r}(t,e,i,o,0,c.boundingLength,c.pxSign,u,a,c),function(t,e,n,a,i){var o=t.get(qd)||0;o&&(Kd.attr({scaleX:e[0],scaleY:e[1],rotation:n}),Kd.updateTransform(),o/=Kd.getLineScale(),o*=e[a.valueDim.index]);i.valueLineWidth=o||0}(n,c.symbolScale,s,a,c);var h=c.symbolSize,p=Gn(n.get("symbolOffset"),h);return function(t,e,n,a,i,o,r,l,s,u,d,c){var h=d.categoryDim,p=d.valueDim,f=c.pxSign,g=Math.max(e[p.index]+l,0),v=g;if(a){var y=Math.abs(s),m=ue(t.get("symbolMargin"),"15%")+"",x=!1;m.lastIndexOf("!")===m.length-1&&(x=!0,m=m.slice(0,m.length-1));var _=B(m,e[p.index]),b=Math.max(g+2*_,0),w=x?0:2*_,S=na(a),I=S?a:gc((y+w)/b);b=g+2*(_=(y-I*g)/2/(x?I:Math.max(I-1,1))),w=x?0:2*_,S||"fixed"===a||(I=u?gc((Math.abs(u)+w)/b):0),v=I*b-w,c.repeatTimes=I,c.symbolMargin=_}var M=f*(v/2),C=c.pathPosition=[];C[h.index]=n[h.wh]/2,C[p.index]="start"===r?M:"end"===r?s-M:s/2,o&&(C[0]+=o[0],C[1]+=o[1]);var T=c.bundlePosition=[];T[h.index]=n[h.xy],T[p.index]=n[p.xy];var D=c.barRectShape=wt({},n);D[p.wh]=f*Math.max(Math.abs(n[p.wh]),Math.abs(C[p.index]+M)),D[h.wh]=n[h.wh];var L=c.clipShape={};L[h.xy]=-n[h.xy],L[h.wh]=d.ecSize[h.wh],L[p.xy]=0,L[p.wh]=n[p.wh]}(n,h,i,o,0,p,l,c.valueLineWidth,c.boundingLength,c.repeatCutLength,a,c),c}function tc(t,e){return t.toGlobalCoord(t.dataToCoord(t.scale.parse(e)))}function ec(t){var e=t.symbolPatternSize,n=Je(t.symbolType,-e/2,-e/2,e,e);return n.attr({culling:!0}),"image"!==n.type&&n.setStyle({strokeNoScale:!0}),n}function nc(t,e,n,a){var i=t.__pictorialBundle,o=n.symbolSize,r=n.valueLineWidth,l=n.pathPosition,s=e.valueDim,u=n.repeatTimes||0,d=0,c=o[e.valueDim.index]+r+2*n.symbolMargin;for(hc(t,function(t){t.__pictorialAnimationIndex=d,t.__pictorialRepeatTimes=u,d0:a<0)&&(i=u-1-t),e[s.index]=c*(i-u/2+.5)+l[s.index],{x:e[0],y:e[1],scaleX:n.symbolScale[0],scaleY:n.symbolScale[1],rotation:n.rotation}}}function ac(t,e,n,a){var i=t.__pictorialBundle,o=t.__pictorialMainPath;o?pc(o,null,{x:n.pathPosition[0],y:n.pathPosition[1],scaleX:n.symbolScale[0],scaleY:n.symbolScale[1],rotation:n.rotation},n,a):(o=t.__pictorialMainPath=ec(n),i.add(o),pc(o,{x:n.pathPosition[0],y:n.pathPosition[1],scaleX:0,scaleY:0,rotation:n.rotation},{scaleX:n.symbolScale[0],scaleY:n.symbolScale[1]},n,a))}function ic(t,e,n){var a=wt({},e.barRectShape),i=t.__pictorialBarRect;i?pc(i,null,{shape:a},e,n):((i=t.__pictorialBarRect=new oe({z2:2,shape:a,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}})).disableMorphing=!0,t.add(i))}function oc(t,e,n,a){if(n.symbolClip){var i=t.__pictorialClipPath,o=wt({},n.clipShape),r=e.valueDim,l=n.animationModel,s=n.dataIndex;if(i)tt(i,{shape:o},l,s);else{o[r.wh]=0,i=new oe({shape:o}),t.__pictorialBundle.setClipPath(i),t.__pictorialClipPath=i;var u={};u[r.wh]=n.clipShape[r.wh],zn[a?"updateProps":"initProps"](i,{shape:u},l,s)}}}function rc(t,e){var n=t.getItemModel(e);return n.getAnimationDelayParams=lc,n.isAnimationEnabled=sc,n}function lc(t){return{index:t.__pictorialAnimationIndex,count:t.__pictorialRepeatTimes}}function sc(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function uc(t,e,n,a){var i=new at,o=new at;return i.add(o),i.__pictorialBundle=o,o.x=n.bundlePosition[0],o.y=n.bundlePosition[1],n.symbolRepeat?nc(i,e,n):ac(i,0,n),ic(i,n,a),oc(i,e,n,a),i.__pictorialShapeStr=cc(t,n),i.__pictorialSymbolMeta=n,i}function dc(t,e,n,a){var i=a.__pictorialBarRect;i&&i.removeTextContent();var o=[];hc(a,function(t){o.push(t)}),a.__pictorialMainPath&&o.push(a.__pictorialMainPath),a.__pictorialClipPath&&(n=null),G(o,function(t){ft(t,{scaleX:0,scaleY:0},n,e,function(){a.parent&&a.parent.remove(a)})}),t.setItemGraphicEl(e,null)}function cc(t,e){return[t.getItemVisual(e.dataIndex,"symbol")||"none",!!e.symbolRepeat,!!e.symbolClip].join(":")}function hc(t,e,n){G(t.__pictorialBundle.children(),function(a){a!==t.__pictorialBarRect&&e.call(n,a)})}function pc(t,e,n,a,i,o){e&&t.attr(e),a.symbolClip&&!i?n&&t.attr(n):n&&zn[i?"updateProps":"initProps"](t,n,a.animationModel,a.dataIndex,o)}function fc(t,e,n){var a=n.dataIndex,i=n.itemModel,o=i.getModel("emphasis"),r=o.getModel("itemStyle").getItemStyle(),l=i.getModel(["blur","itemStyle"]).getItemStyle(),s=i.getModel(["select","itemStyle"]).getItemStyle(),u=i.getShallow("cursor"),d=o.get("focus"),c=o.get("blurScope"),h=o.get("scale");hc(t,function(t){if(t instanceof Qe){var e=t.style;t.useStyle(wt({image:e.image,x:e.x,y:e.y,width:e.width,height:e.height},n.style))}else t.useStyle(n.style);var a=t.ensureState("emphasis");a.style=r,h&&(a.scaleX=1.1*t.scaleX,a.scaleY=1.1*t.scaleY),t.ensureState("blur").style=l,t.ensureState("select").style=s,u&&(t.cursor=u),t.z2=n.z2});var p=e.valueDim.posDesc[+(n.boundingLength>0)],f=t.__pictorialBarRect;f.ignoreClip=!0,ee(f,ne(i),{labelFetcher:e.seriesModel,labelDataIndex:a,defaultText:ta(e.seriesModel.getData(),a),inheritColor:n.style.fill,defaultOpacity:n.style.opacity,defaultOutsidePosition:p}),Yt(t,d,c,o.get("disabled"))}function gc(t){var e=Math.round(t);return Math.abs(t-e)<1e-4?e:Math.ceil(t)}var vc=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.hasSymbolVisual=!0,n.defaultSymbol="roundRect",n}return nt(e,t),e.prototype.getInitialData=function(e){return e.stack=null,t.prototype.getInitialData.apply(this,arguments)},e.type="series.pictorialBar",e.dependencies=["grid"],e.defaultOption=aa(ia.defaultOption,{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",clip:!1,progressive:0,emphasis:{scale:!1},select:{itemStyle:{borderColor:ut.color.primary}}}),e}(ia);var yc=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._layers=[],n}return nt(e,t),e.prototype.render=function(t,e,n){var a=t.getData(),i=this,o=this.group,r=t.getLayerSeries(),l=a.getLayout("layoutInfo"),s=l.rect,u=l.boundaryGap;function d(t){return t.name}o.x=0,o.y=s.y+u[0];var c=new Ut(this._layersSeries||[],r,d,d),h=[];function p(e,n,l){var s=i._layers;if("remove"!==e){for(var u,d,c=[],p=[],f=r[n].indices,g=0;go&&(o=l),a.push(l)}for(var u=0;uo&&(o=c)}return{y0:i,max:o}}(s),d=u.y0,c=n/u.max,h=o.length,p=o[0].indices.length,f=0;fM&&!ca(T-M)&&T0?(i.virtualPiece?i.virtualPiece.updateData(!1,c,t,e,n):(i.virtualPiece=new bc(c,t,e,n),s.add(i.virtualPiece)),h.piece.off("click"),i.virtualPiece.on("click",function(t){i._rootToNode(h.parentNode)})):i.virtualPiece&&(s.remove(i.virtualPiece),i.virtualPiece=null),this._initEvents(),this._oldChildren=d},e.prototype._initEvents=function(){var t=this;this.group.off("click"),this.group.on("click",function(e){var n=!1;t.seriesModel.getViewRoot().eachNode(function(a){if(!n&&a.piece&&a.piece===e.target){var i=a.getModel().get("nodeClick");if("rootToNode"===i)t._rootToNode(a);else if("link"===i){var o=a.getModel(),r=o.get("link");if(r){var l=o.get("target",!0)||"_blank";$t(r,l)}}n=!0}})})},e.prototype._rootToNode=function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:wc,from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},e.prototype.containPoint=function(t,e){var n=e.getData().getItemLayout(0);if(n){var a=t[0]-n.cx,i=t[1]-n.cy,o=Math.sqrt(a*a+i*i);return o<=n.r&&o>=n.r0}},e.type="sunburst",e}(st),Mc=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.ignoreStyleOnData=!0,n}return nt(e,t),e.prototype.getInitialData=function(t,e){var n={name:t.name,children:t.data};Cc(n);var a=this._levelModels=St(t.levels||[],function(t){return new Lt(t,this,e)},this),i=ml.createTree(n,this,function(t){t.wrapMethod("getItemModel",function(t,e){var n=i.getNodeByDataIndex(e),o=a[n.depth];return o&&(t.parentModel=o),t})});return i.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.getDataParams=function(e){var n=t.prototype.getDataParams.apply(this,arguments),a=this.getData().tree.getNodeByDataIndex(e);return n.treePathInfo=wl(a,this),n},e.prototype.getLevelModel=function(t){return this._levelModels&&this._levelModels[t.depth]},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)},e.prototype.enableAriaDecal=function(){Dl(this)},e.type="series.sunburst",e.defaultOption={z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,stillShowZeroSum:!0,nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1},emphasis:{focus:"descendant"},blur:{itemStyle:{opacity:.2},label:{opacity:.1}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,data:[],sort:"desc"},e}(Pt);function Cc(t){var e=0;G(t.children,function(t){Cc(t);var n=t.value;It(n)&&(n=n[0]),e+=n});var n=t.value;It(n)&&(n=n[0]),(null==n||isNaN(n))&&(n=e),n<0&&(n=0),It(t.value)?t.value[0]=n:t.value=n}var Tc=Math.PI/180;function Dc(t,e,n){e.eachSeriesByType(t,function(t){var e=t.get("center"),a=t.get("radius");It(a)||(a=[0,a]),It(e)||(e=[e,e]);var i=n.getWidth(),o=n.getHeight(),r=Math.min(i,o),l=B(e[0],i),s=B(e[1],o),u=B(a[0],r/2),d=B(a[1],r/2),c=-t.get("startAngle")*Tc,h=t.get("minAngle")*Tc,p=t.getData().tree.root,f=t.getViewRoot(),g=f.depth,v=t.get("sort");null!=v&&Lc(f,v);var y=0;G(f.children,function(t){!isNaN(t.getValue())&&y++});var m=f.getValue(),x=Math.PI/(m||y)*2,_=f.depth>0,b=f.height-(_?-1:1),w=(d-u)/(b||1),S=t.get("clockwise"),I=t.get("stillShowZeroSum"),M=S?1:-1,C=function(e,n){if(e){var a=n;if(e!==p){var i=e.getValue(),o=0===m&&I?x:i*x;o1;)i=i.parentNode;var o=n.getColorFromPalette(i.name||i.dataIndex+"",e);return t.depth>1&&Dt(o)&&(o=pa(o,(t.depth-1)/(a-1)*.5)),o}(i,t,a.root.height));var r=n.ensureUniqueItemVisual(i.dataIndex,"style");wt(r,o)})})}var Pc={color:"fill",borderColor:"stroke"},kc={symbol:1,symbolSize:1,symbolKeepAspect:1,legendIcon:1,visualMeta:1,liftZ:1,decal:1},Ec=k(),Nc=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.prototype.optionUpdated=function(){this.currentZLevel=this.get("zlevel",!0),this.currentZ=this.get("z",!0)},e.prototype.getInitialData=function(t,e){return ze(null,this)},e.prototype.getDataParams=function(e,n,a){var i=t.prototype.getDataParams.call(this,e,n);return a&&(i.info=Ec(a).info),i},e.type="series.custom",e.dependencies=["grid","polar","geo","singleAxis","calendar","matrix"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,clip:!1},e}(Pt);function zc(t,e){return e=e||[0,0],St(["x","y"],function(n,a){var i=this.getAxis(n),o=e[a],r=t[a]/2;return"category"===i.type?i.getBandWidth():Math.abs(i.dataToCoord(o-r)-i.dataToCoord(o+r))},this)}function Rc(t,e){return e=e||[0,0],St([0,1],function(n){var a=e[n],i=t[n]/2,o=[],r=[];return o[n]=a-i,r[n]=a+i,o[1-n]=r[1-n]=e[1-n],Math.abs(this.dataToPoint(o)[n]-this.dataToPoint(r)[n])},this)}function Oc(t,e){var n=this.getAxis(),a=e instanceof Array?e[0]:e,i=(t instanceof Array?t[0]:t)/2;return"category"===n.type?n.getBandWidth():Math.abs(n.dataToCoord(a-i)-n.dataToCoord(a+i))}function Vc(t,e){return e=e||[0,0],St(["Radius","Angle"],function(n,a){var i=this["get"+n+"Axis"](),o=e[a],r=t[a]/2,l="category"===i.type?i.getBandWidth():Math.abs(i.dataToCoord(o-r)-i.dataToCoord(o+r));return"Angle"===n&&(l=l*Math.PI/180),l},this)}function Bc(t,e,n,a){return t&&(t.legacy||!1!==t.legacy&&!n&&!a&&"tspan"!==e&&("text"===e||fa(t,"text")))}function Gc(t,e,n){var a,i,o,r=t;if("text"===e)o=r;else{o={},fa(r,"text")&&(o.text=r.text),fa(r,"rich")&&(o.rich=r.rich),fa(r,"textFill")&&(o.fill=r.textFill),fa(r,"textStroke")&&(o.stroke=r.textStroke),fa(r,"fontFamily")&&(o.fontFamily=r.fontFamily),fa(r,"fontSize")&&(o.fontSize=r.fontSize),fa(r,"fontStyle")&&(o.fontStyle=r.fontStyle),fa(r,"fontWeight")&&(o.fontWeight=r.fontWeight),i={type:"text",style:o,silent:!0},a={};var l=fa(r,"textPosition");n?a.position=l?r.textPosition:"inside":l&&(a.position=r.textPosition),fa(r,"textPosition")&&(a.position=r.textPosition),fa(r,"textOffset")&&(a.offset=r.textOffset),fa(r,"textRotation")&&(a.rotation=r.textRotation),fa(r,"textDistance")&&(a.distance=r.textDistance)}return Wc(o,t),G(o.rich,function(t){Wc(t,t)}),{textConfig:a,textContent:i}}function Wc(t,e){e&&(e.font=e.textFont||e.font,fa(e,"textStrokeWidth")&&(t.lineWidth=e.textStrokeWidth),fa(e,"textAlign")&&(t.align=e.textAlign),fa(e,"textVerticalAlign")&&(t.verticalAlign=e.textVerticalAlign),fa(e,"textLineHeight")&&(t.lineHeight=e.textLineHeight),fa(e,"textWidth")&&(t.width=e.textWidth),fa(e,"textHeight")&&(t.height=e.textHeight),fa(e,"textBackgroundColor")&&(t.backgroundColor=e.textBackgroundColor),fa(e,"textPadding")&&(t.padding=e.textPadding),fa(e,"textBorderColor")&&(t.borderColor=e.textBorderColor),fa(e,"textBorderWidth")&&(t.borderWidth=e.textBorderWidth),fa(e,"textBorderRadius")&&(t.borderRadius=e.textBorderRadius),fa(e,"textBoxShadowColor")&&(t.shadowColor=e.textBoxShadowColor),fa(e,"textBoxShadowBlur")&&(t.shadowBlur=e.textBoxShadowBlur),fa(e,"textBoxShadowOffsetX")&&(t.shadowOffsetX=e.textBoxShadowOffsetX),fa(e,"textBoxShadowOffsetY")&&(t.shadowOffsetY=e.textBoxShadowOffsetY))}function Fc(t,e,n){var a=t;a.textPosition=a.textPosition||n.position||"inside",null!=n.offset&&(a.textOffset=n.offset),null!=n.rotation&&(a.textRotation=n.rotation),null!=n.distance&&(a.textDistance=n.distance);var i=a.textPosition.indexOf("inside")>=0,o=t.fill||ut.color.neutral99;jc(a,e);var r=null==a.textFill;return i?r&&(a.textFill=n.insideFill||ut.color.neutral00,!a.textStroke&&n.insideStroke&&(a.textStroke=n.insideStroke),!a.textStroke&&(a.textStroke=o),null==a.textStrokeWidth&&(a.textStrokeWidth=2)):(r&&(a.textFill=t.fill||n.outsideFill||ut.color.neutral00),!a.textStroke&&n.outsideStroke&&(a.textStroke=n.outsideStroke)),a.text=e.text,a.rich=e.rich,G(e.rich,function(t){jc(t,t)}),a}function jc(t,e){e&&(fa(e,"fill")&&(t.textFill=e.fill),fa(e,"stroke")&&(t.textStroke=e.fill),fa(e,"lineWidth")&&(t.textStrokeWidth=e.lineWidth),fa(e,"font")&&(t.font=e.font),fa(e,"fontStyle")&&(t.fontStyle=e.fontStyle),fa(e,"fontWeight")&&(t.fontWeight=e.fontWeight),fa(e,"fontSize")&&(t.fontSize=e.fontSize),fa(e,"fontFamily")&&(t.fontFamily=e.fontFamily),fa(e,"align")&&(t.textAlign=e.align),fa(e,"verticalAlign")&&(t.textVerticalAlign=e.verticalAlign),fa(e,"lineHeight")&&(t.textLineHeight=e.lineHeight),fa(e,"width")&&(t.textWidth=e.width),fa(e,"height")&&(t.textHeight=e.height),fa(e,"backgroundColor")&&(t.textBackgroundColor=e.backgroundColor),fa(e,"padding")&&(t.textPadding=e.padding),fa(e,"borderColor")&&(t.textBorderColor=e.borderColor),fa(e,"borderWidth")&&(t.textBorderWidth=e.borderWidth),fa(e,"borderRadius")&&(t.textBorderRadius=e.borderRadius),fa(e,"shadowColor")&&(t.textBoxShadowColor=e.shadowColor),fa(e,"shadowBlur")&&(t.textBoxShadowBlur=e.shadowBlur),fa(e,"shadowOffsetX")&&(t.textBoxShadowOffsetX=e.shadowOffsetX),fa(e,"shadowOffsetY")&&(t.textBoxShadowOffsetY=e.shadowOffsetY),fa(e,"textShadowColor")&&(t.textShadowColor=e.textShadowColor),fa(e,"textShadowBlur")&&(t.textShadowBlur=e.textShadowBlur),fa(e,"textShadowOffsetX")&&(t.textShadowOffsetX=e.textShadowOffsetX),fa(e,"textShadowOffsetY")&&(t.textShadowOffsetY=e.textShadowOffsetY))}var Yc={position:["x","y"],scale:["scaleX","scaleY"],origin:["originX","originY"]},Uc=O(Yc);xa(va,function(t,e){return t[e]=1,t},{}),va.join(", ");var Xc=["","style","shape","extra"],Hc=k();function Zc(t,e,n,a,i){var o=t+"Animation",r=ga(t,a,i)||{},l=Hc(e).userDuring;return r.duration>0&&(r.during=l?Xt(eh,{el:e,userDuring:l}):null,r.setToFinal=!0,r.scope=t),wt(r,n[o]),r}function qc(t,e,n,a){var i=(a=a||{}).dataIndex,o=a.isInit,r=a.clearStyle,l=n.isAnimationEnabled(),s=Hc(t),u=e.style;s.userDuring=e.during;var d={},c={};if(function(t,e,n){for(var a=0;a=0)){var c=t.getAnimationStyleProps(),h=c?c.style:null;if(h){!i&&(i=a.style={});var p=O(n);for(u=0;u0&&t.animateFrom(g,v)}else!function(t,e,n,a,i){if(i){var o=Zc("update",t,e,a,n);o.duration>0&&t.animateFrom(i,o)}}(t,e,i||0,n,d);$c(t,e),u?t.dirty():t.markRedraw()}function $c(t,e){for(var n=Hc(t).leaveToProps,a=0;a=0){!o&&(o=a[t]={});var h=O(r);for(d=0;da[1]&&a.reverse(),{coordSys:{type:"polar",cx:t.cx,cy:t.cy,r:a[1],r0:a[0]},api:{coord:function(a){var i=e.dataToRadius(a[0]),o=n.dataToAngle(a[1]),r=t.coordToPoint([i,o]);return r.push(i,o*Math.PI/180),r},size:Xt(Vc,t)}}},calendar:function(t){var e=t.getRect(),n=t.getRangeInfo();return{coordSys:{type:"calendar",x:e.x,y:e.y,width:e.width,height:e.height,cellWidth:t.getCellWidth(),cellHeight:t.getCellHeight(),rangeInfo:{start:n.start,end:n.end,weeks:n.weeks,dayCount:n.allDay}},api:{coord:function(e,n){return t.dataToPoint(e,n)},layout:function(e,n){return t.dataToLayout(e,n)}}}},matrix:function(t){var e=t.getRect();return{coordSys:{type:"matrix",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:function(e,n){return t.dataToPoint(e,n)},layout:function(e,n){return t.dataToLayout(e,n)}}}}};function xh(t){return t instanceof xt}function _h(t){return t instanceof ie}var bh=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.prototype.render=function(t,e,n,a){this._progressiveEls=null;var i=this._data,o=t.getData(),r=this.group,l=Ch(t,o,e,n);i||r.removeAll(),o.diff(i).add(function(e){Dh(n,null,e,l(e,a),t,r,o)}).remove(function(e){var n=i.getItemGraphicEl(e);n&&Kc(n,Ec(n).option,t)}).update(function(e,s){var u=i.getItemGraphicEl(s);Dh(n,u,e,l(e,a),t,r,o)}).execute();var s=t.get("clip",!0)?qn(t.coordinateSystem,!1,t):null;s?r.setClipPath(s):r.removeClipPath(),this._data=o},e.prototype.incrementalPrepareRender=function(t,e,n){this.group.removeAll(),this._data=null},e.prototype.incrementalRender=function(t,e,n,a,i){var o=e.getData(),r=Ch(e,o,n,a),l=this._progressiveEls=[];function s(t){t.isGroup||(t.incremental=!0,t.ensureState("emphasis").hoverLayer=!0)}for(var u=t.start;u=0?e.getStore().get(i,n):void 0}var o=e.get(a.name,n),r=a&&a.ordinalMeta;return r?r.categories[o]:o},styleEmphasis:function(n,a){null==a&&(a=s);var i=x(a,uh).getItemStyle(),o=_(a,uh),r=jt(o,null,null,!0,!0);r.text=o.getShallow("show")?he(t.getFormattedLabel(a,uh),t.getFormattedLabel(a,dh),ta(e,a)):null;var l=_a(o,null,!0);return w(n,i),i=Fc(i,r,l),n&&b(i,n),i.legacy=!0,i},visual:function(t,n){if(null==n&&(n=s),fa(Pc,t)){var a=e.getItemVisual(n,"style");return a?a[Pc[t]]:null}if(fa(kc,t))return e.getItemVisual(n,t)},barLayout:function(t){if("cartesian2d"===r.type){var e=r.getBaseAxis();return ba(vt({axis:e},t))}},currentSeriesIndices:function(){return n.getCurrentSeriesIndices()},font:function(t){return wa(t,n)}},l.api||{}),c={context:{},seriesId:t.id,seriesName:t.name,seriesIndex:t.seriesIndex,coordSys:l.coordSys,dataInsideLength:e.count(),encode:Th(t.getData()),itemPayload:t.get("itemPayload")||{}},h={},p={},f={},g={},v=0;v=c;f--){var g=e.childAt(f);Nh(e,g,i)}}(t,c,n,a,i),r>=0?o.replaceAt(c,r):o.add(c),c}function Ah(t,e,n){var a,i=Ec(t),o=e.type,r=e.shape,l=e.style;return n.isUniversalTransitionEnabled()||null!=o&&o!==i.customGraphicType||"path"===o&&((a=r)&&(fa(a,"pathData")||fa(a,"d")))&&Vh(r)!==i.customPathData||"image"===o&&fa(l,"image")&&l.image!==i.customImagePath}function Ph(t,e,n){var a=e?kh(t,e):t,i=e?Eh(t,a,uh):t.style,o=t.type,r=a?a.textConfig:null,l=t.textContent,s=l?e?kh(l,e):l:null;if(i&&(n.isLegacy||Bc(i,o,!!r,!!s))){n.isLegacy=!0;var u=Gc(i,o,!e);!r&&u.textConfig&&(r=u.textConfig),!s&&u.textContent&&(s=u.textContent)}if(!e&&s){var d=s;!d.type&&(d.type="text")}var c=e?n[e]:n.normal;c.cfg=r,c.conOpt=s}function kh(t,e){return e?t?t[e]:null:t}function Eh(t,e,n){var a=e&&e.style;return null==a&&n===uh&&t&&(a=t.styleEmphasis),a}function Nh(t,e,n){e&&Kc(e,Ec(t).option,n)}function zh(t,e){var n=t&&t.name;return null!=n?n:"e\0\0"+e}function Rh(t,e){var n=this.context,a=null!=t?n.newChildren[t]:null,i=null!=e?n.oldChildren[e]:null;Lh(n.api,i,n.dataIndex,a,n.seriesModel,n.group)}function Oh(t){var e=this.context,n=e.oldChildren[t];n&&Kc(n,Ec(n).option,e.seriesModel)}function Vh(t){return t&&(t.pathData||t.d)}var Bh=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return nt(e,t),e.prototype.makeElOption=function(t,e,n,a,i){var o=n.axis;"angle"===o.dim&&(this.animationThreshold=Math.PI/18);var r=o.polar,l=r.getOtherAxis(o).getExtent(),s=o.dataToCoord(e),u=a.get("type");if(u&&"none"!==u){var d=Ta(a),c=Gh[u](o,r,s,l);c.style=d,t.graphicKey=c.type,t.pointer=c}var h=function(t,e,n,a,i){var o=e.axis,r=o.dataToCoord(t),l=a.getAngleAxis().getExtent()[0];l=l/180*Math.PI;var s,u,d,c=a.getRadiusAxis().getExtent();if("radius"===o.dim){var h=Zt();yn(h,h,l),Ht(h,h,[a.cx,a.cy]),s=mn([r,-i],h);var p=e.getModel("axisLabel").get("rotate")||0,f=In.innerTextLayout(l,p*Math.PI/180,-1);u=f.textAlign,d=f.textVerticalAlign}else{var g=c[1];s=a.coordToPoint([g+i,r]);var v=a.cx,y=a.cy;u=Math.abs(s[0]-v)/g<.3?"center":s[0]>v?"left":"right",d=Math.abs(s[1]-y)/g<.3?"middle":s[1]>y?"top":"bottom"}return{position:s,align:u,verticalAlign:d}}(e,n,0,r,a.get(["label","margin"]));Da(t,n,a,i,h)},e}(La);var Gh={line:function(t,e,n,a){return"angle"===t.dim?{type:"Line",shape:Pa(e.coordToPoint([a[0],n]),e.coordToPoint([a[1],n]))}:{type:"Circle",shape:{cx:e.cx,cy:e.cy,r:n}}},shadow:function(t,e,n,a){var i=Math.max(1,t.getBandWidth()),o=Math.PI/180;return"angle"===t.dim?{type:"Sector",shape:Aa(e.cx,e.cy,a[0],a[1],(-n-i/2)*o,(i/2-n)*o)}:{type:"Sector",shape:Aa(e.cx,e.cy,n-i/2,n+i/2,0,2*Math.PI)}}},Wh=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.prototype.findAxisModel=function(t){var e;return this.ecModel.eachComponent(t,function(t){t.getCoordSysModel()===this&&(e=t)},this),e},e.type="polar",e.dependencies=["radiusAxis","angleAxis"],e.defaultOption={z:0,center:["50%","50%"],radius:"80%"},e}(pn),Fh=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return nt(e,t),e.prototype.getCoordSysModel=function(){return this.getReferringComponents("polar",_n).models[0]},e.type="polarAxis",e}(pn);Ne(Fh,wn);var jh=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.type="angleAxis",e}(Fh),Yh=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.type="radiusAxis",e}(Fh),Uh=function(t){function e(e,n){return t.call(this,"radius",e,n)||this}return nt(e,t),e.prototype.pointToData=function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},e}(fn);Uh.prototype.dataToRadius=fn.prototype.dataToCoord,Uh.prototype.radiusToData=fn.prototype.coordToData;var Xh=k(),Hh=function(t){function e(e,n){return t.call(this,"angle",e,n||[0,360])||this}return nt(e,t),e.prototype.pointToData=function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},e.prototype.calculateCategoryInterval=function(){var t=this,e=t.getLabelModel(),n=t.scale,a=n.getExtent(),i=n.count();if(a[1]-a[0]<1)return 0;var o=a[0],r=t.dataToCoord(o+1)-t.dataToCoord(o),l=Math.abs(r),s=ka(null==o?"":o+"",e.getFont(),"center","top"),u=Math.max(s.height,7)/l;isNaN(u)&&(u=1/0);var d=Math.max(0,Math.floor(u)),c=Xh(t.model),h=c.lastAutoInterval,p=c.lastTickCount;return null!=h&&null!=p&&Math.abs(h-d)<=1&&Math.abs(p-i)<=1&&h>d?d=h:(c.lastTickCount=i,c.lastAutoInterval=d),d},e}(fn);Hh.prototype.dataToAngle=fn.prototype.dataToCoord,Hh.prototype.angleToData=fn.prototype.coordToData;var Zh=["radius","angle"],qh=function(){function t(t){this.dimensions=Zh,this.type="polar",this.cx=0,this.cy=0,this._radiusAxis=new Uh,this._angleAxis=new Hh,this.axisPointerEnabled=!0,this.name=t||"",this._radiusAxis.polar=this._angleAxis.polar=this}return t.prototype.containPoint=function(t){var e=this.pointToCoord(t);return this._radiusAxis.contain(e[0])&&this._angleAxis.contain(e[1])},t.prototype.containData=function(t){return this._radiusAxis.containData(t[0])&&this._angleAxis.containData(t[1])},t.prototype.getAxis=function(t){return this["_"+t+"Axis"]},t.prototype.getAxes=function(){return[this._radiusAxis,this._angleAxis]},t.prototype.getAxesByScale=function(t){var e=[],n=this._angleAxis,a=this._radiusAxis;return n.scale.type===t&&e.push(n),a.scale.type===t&&e.push(a),e},t.prototype.getAngleAxis=function(){return this._angleAxis},t.prototype.getRadiusAxis=function(){return this._radiusAxis},t.prototype.getOtherAxis=function(t){var e=this._angleAxis;return t===e?this._radiusAxis:e},t.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},t.prototype.getTooltipAxes=function(t){var e=null!=t&&"auto"!==t?this.getAxis(t):this.getBaseAxis();return{baseAxes:[e],otherAxes:[this.getOtherAxis(e)]}},t.prototype.dataToPoint=function(t,e,n){return this.coordToPoint([this._radiusAxis.dataToRadius(t[0],e),this._angleAxis.dataToAngle(t[1],e)],n)},t.prototype.pointToData=function(t,e,n){n=n||[];var a=this.pointToCoord(t);return n[0]=this._radiusAxis.radiusToData(a[0],e),n[1]=this._angleAxis.angleToData(a[1],e),n},t.prototype.pointToCoord=function(t){var e=t[0]-this.cx,n=t[1]-this.cy,a=this.getAngleAxis(),i=a.getExtent(),o=Math.min(i[0],i[1]),r=Math.max(i[0],i[1]);a.inverse?o=r-360:r=o+360;var l=Math.sqrt(e*e+n*n);e/=l,n/=l;for(var s=Math.atan2(-n,e)/Math.PI*180,u=sr;)s+=360*u;return[l,s]},t.prototype.coordToPoint=function(t,e){e=e||[];var n=t[0],a=t[1]/180*Math.PI;return e[0]=Math.cos(a)*n+this.cx,e[1]=-Math.sin(a)*n+this.cy,e},t.prototype.getArea=function(){var t=this.getAngleAxis(),e=this.getRadiusAxis().getExtent().slice();e[0]>e[1]&&e.reverse();var n=t.getExtent(),a=Math.PI/180,i=1e-4;return{cx:this.cx,cy:this.cy,r0:e[0],r:e[1],startAngle:-n[0]*a,endAngle:-n[1]*a,clockwise:t.inverse,contain:function(t,e){var n=t-this.cx,a=e-this.cy,o=n*n+a*a,r=this.r,l=this.r0;return r!==l&&o-i<=r*r&&o+i>=l*l},x:this.cx-e[1],y:this.cy-e[1],width:2*e[1],height:2*e[1]}},t.prototype.convertToPixel=function(t,e,n){return $h(e)===this?this.dataToPoint(n):null},t.prototype.convertFromPixel=function(t,e,n){return $h(e)===this?this.pointToData(n):null},t}();function $h(t){var e=t.seriesModel,n=t.polarModel;return n&&n.coordinateSystem||e&&e.coordinateSystem}function Kh(t,e){var n=this,a=n.getAngleAxis(),i=n.getRadiusAxis();if(a.scale.setExtent(1/0,-1/0),i.scale.setExtent(1/0,-1/0),t.eachSeries(function(t){if(t.coordinateSystem===n){var e=t.getData();G(Ea(e,"radius"),function(t){i.scale.unionExtentFromData(e,t)}),G(Ea(e,"angle"),function(t){a.scale.unionExtentFromData(e,t)})}}),vn(a.scale,a.model),vn(i.scale,i.model),"category"===a.type&&!a.onBand){var o=a.getExtent(),r=360/a.scale.count();a.inverse?o[1]+=r:o[1]-=r,a.setExtent(o[0],o[1])}}function Qh(t,e){var n;if(t.type=e.get("type"),t.scale=gn(e),t.onBand=e.get("boundaryGap")&&"category"===t.type,t.inverse=e.get("inverse"),function(t){return"angleAxis"===t.mainType}(e)){t.inverse=t.inverse!==e.get("clockwise");var a=e.get("startAngle"),i=null!==(n=e.get("endAngle"))&&void 0!==n?n:a+(t.inverse?-360:360);t.setExtent(a,i)}e.axis=t,t.model=e}var Jh={dimensions:Zh,create:function(t,e){var n=[];return t.eachComponent("polar",function(t,a){var i=new qh(a+"");i.update=Kh;var o=i.getRadiusAxis(),r=i.getAngleAxis(),l=t.findAxisModel("radiusAxis"),s=t.findAxisModel("angleAxis");Qh(o,l),Qh(r,s),function(t,e,n){var a=e.get("center"),i=kt(e,n).refContainer;t.cx=B(a[0],i.width)+i.x,t.cy=B(a[1],i.height)+i.y;var o=t.getRadiusAxis(),r=Math.min(i.width,i.height)/2,l=e.get("radius");null==l?l=[0,"100%"]:It(l)||(l=[0,l]);var s=[B(l[0],r),B(l[1],r)];o.inverse?o.setExtent(s[1],s[0]):o.setExtent(s[0],s[1])}(i,t,e),n.push(i),t.coordinateSystem=i,i.model=t}),t.eachSeries(function(t){if("polar"===t.get("coordinateSystem")){var e=t.getReferringComponents("polar",_n).models[0];t.coordinateSystem=e.coordinateSystem}}),n}},tp=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function ep(t,e,n){e[1]>e[0]&&(e=e.slice().reverse());var a=t.coordToPoint([e[0],n]),i=t.coordToPoint([e[1],n]);return{x1:a[0],y1:a[1],x2:i[0],y2:i[1]}}function np(t){return t.getRadiusAxis().inverse?0:1}function ap(t){var e=t[0],n=t[t.length-1];e&&n&&Math.abs(Math.abs(e.coord-n.coord)-360)<1e-4&&t.pop()}var ip=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.axisPointerClass="PolarAxisPointer",n}return nt(e,t),e.prototype.render=function(t,e){if(this.group.removeAll(),t.get("show")){var n=t.axis,a=n.polar,i=a.getRadiusAxis().getExtent(),o=n.getTicksCoords({breakTicks:"none"}),r=n.getMinorTicksCoords(),l=St(n.getViewLabels(),function(t){t=ke(t);var e=n.scale,a="ordinal"===e.type?e.getRawOrdinalNumber(t.tickValue):t.tickValue;return t.coord=n.dataToCoord(a),t});ap(l),ap(o),G(tp,function(e){!t.get([e,"show"])||n.scale.isBlank()&&"axisLine"!==e||op[e](this.group,t,a,o,r,i,l)},this)}},e.type="angleAxis",e}(Na),op={axisLine:function(t,e,n,a,i,o){var r,l=e.getModel(["axisLine","lineStyle"]),s=n.getAngleAxis(),u=Math.PI/180,d=s.getExtent(),c=np(n),h=c?0:1,p=360===Math.abs(d[1]-d[0])?"Circle":"Arc";(r=0===o[h]?new zn[p]({shape:{cx:n.cx,cy:n.cy,r:o[c],startAngle:-d[0]*u,endAngle:-d[1]*u,clockwise:s.inverse},style:l.getLineStyle(),z2:1,silent:!0}):new Oa({shape:{cx:n.cx,cy:n.cy,r:o[c],r0:o[h]},style:l.getLineStyle(),z2:1,silent:!0})).style.fill=null,t.add(r)},axisTick:function(t,e,n,a,i,o){var r=e.getModel("axisTick"),l=(r.get("inside")?-1:1)*r.get("length"),s=o[np(n)],u=St(a,function(t){return new qe({shape:ep(n,[s,s+l],t.coord)})});t.add(za(u,{style:vt(r.getModel("lineStyle").getLineStyle(),{stroke:e.get(["axisLine","lineStyle","color"])})}))},minorTick:function(t,e,n,a,i,o){if(i.length){for(var r=e.getModel("axisTick"),l=e.getModel("minorTick"),s=(r.get("inside")?-1:1)*l.get("length"),u=o[np(n)],d=[],c=0;cf?"left":"right",y=Math.abs(p[1]-g)/h<.3?"middle":p[1]>g?"top":"bottom";if(l&&l[c]){var m=l[c];sn(m)&&m.textStyle&&(r=new Lt(m.textStyle,s,s.ecModel))}var x=new Wt({silent:In.isLabelSilent(e),style:jt(r,{x:p[0],y:p[1],fill:r.getTextColor()||e.get(["axisLine","lineStyle","color"]),text:a.formattedLabel,align:v,verticalAlign:y})});if(t.add(x),Ra({el:x,componentModel:e,itemName:a.formattedLabel,formatterParamsExtra:{isTruncated:function(){return x.isTruncated},value:a.rawLabel,tickIndex:i}}),d){var _=In.makeAxisEventDataBase(e);_.targetType="axisLabel",_.value=a.rawLabel,V(x).eventData=_}},this)},splitLine:function(t,e,n,a,i,o){var r=e.getModel("splitLine").getModel("lineStyle"),l=r.get("color"),s=0;l=l instanceof Array?l:[l];for(var u=[],d=0;d=0?"p":"n",T=b;m&&(a[l][M]||(a[l][M]={p:b,n:b}),T=a[l][M][C]);var D=void 0,L=void 0,A=void 0,P=void 0;if("radius"===c.dim){var k=c.dataToCoord(I)-b,E=o.dataToCoord(M);Math.abs(k)=P})}}})}var hp={startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:0}},pp={splitNumber:5},fp=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.type="polar",e}(hn);function gp(t,e){e=e||{};var n=t.coordinateSystem,a=t.axis,i={},o=a.position,r=a.orient,l=n.getRect(),s=[l.x,l.x+l.width,l.y,l.y+l.height],u={horizontal:{top:s[2],bottom:s[3]},vertical:{left:s[0],right:s[1]}};i.position=["vertical"===r?u.vertical[o]:s[0],"horizontal"===r?u.horizontal[o]:s[3]];i.rotation=Math.PI/2*{horizontal:0,vertical:1}[r];i.labelDirection=i.tickDirection=i.nameDirection={top:-1,bottom:1,right:1,left:-1}[o],t.get(["axisTick","inside"])&&(i.tickDirection=-i.tickDirection),ue(e.labelInside,t.get(["axisLabel","inside"]))&&(i.labelDirection=-i.labelDirection);var d=t.get(["axisLabel","rotate"]);return i.labelRotate="top"===o?-d:d,i.z2=1,i}var vp=["splitArea","splitLine","breakArea"],yp=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.axisPointerClass="SingleAxisPointer",n}return nt(e,t),e.prototype.render=function(e,n,a,i){var o=this.group;o.removeAll();var r=this._axisGroup;this._axisGroup=new at;var l=gp(e),s=new In(e,a,l);s.build(),o.add(this._axisGroup),o.add(s.group),G(vp,function(t){e.get([t,"show"])&&mp[t](this,this.group,this._axisGroup,e,a)},this),Mn(r,this._axisGroup,e),t.prototype.render.call(this,e,n,a,i)},e.prototype.remove=function(){Ga(this)},e.type="singleAxis",e}(Na),mp={splitLine:function(t,e,n,a,i){var o=a.axis;if(!o.scale.isBlank()){var r=a.getModel("splitLine"),l=r.getModel("lineStyle"),s=l.get("color");s=s instanceof Array?s:[s];for(var u=l.get("width"),d=a.coordinateSystem.getRect(),c=o.isHorizontal(),h=[],p=0,f=o.getTicksCoords({tickModel:r,breakTicks:"none",pruneByBreak:"preserve_extent_bound"}),g=[],v=[],y=0;y=e.y&&t[1]<=e.y+e.height:n.contain(n.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e.height},t.prototype.pointToData=function(t,e,n){n=n||[];var a=this.getAxis();return n[0]=a.coordToData(a.toLocalCoord(t["horizontal"===a.orient?0:1])),n},t.prototype.dataToPoint=function(t,e,n){var a=this.getAxis(),i=this.getRect();n=n||[];var o="horizontal"===a.orient?0:1;return t instanceof Array&&(t=t[0]),n[o]=a.toGlobalCoord(a.dataToCoord(+t)),n[1-o]=0===o?i.y+i.height/2:i.x+i.width/2,n},t.prototype.convertToPixel=function(t,e,n){return Sp(e)===this?this.dataToPoint(n):null},t.prototype.convertFromPixel=function(t,e,n){return Sp(e)===this?this.pointToData(n):null},t}();function Sp(t){var e=t.seriesModel,n=t.singleAxisModel;return n&&n.coordinateSystem||e&&e.coordinateSystem}var Ip={create:function(t,e){var n=[];return t.eachComponent("singleAxis",function(a,i){var o=new wp(a,t,e);o.name="single_"+i,o.resize(a,e),a.coordinateSystem=o,n.push(o)}),t.eachSeries(function(t){if("singleAxis"===t.get("coordinateSystem")){var e=t.getReferringComponents("singleAxis",_n).models[0];t.coordinateSystem=e&&e.coordinateSystem}}),n},dimensions:bp},Mp=["x","y"],Cp=["width","height"],Tp=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return nt(e,t),e.prototype.makeElOption=function(t,e,n,a,i){var o=n.axis,r=o.coordinateSystem,l=Ap(r,1-Lp(o)),s=r.dataToPoint(e)[0],u=a.get("type");if(u&&"none"!==u){var d=Ta(a),c=Dp[u](o,s,l);c.style=d,t.graphicKey=c.type,t.pointer=c}var h=gp(n);Ya(e,t,h,n,a,i)},e.prototype.getHandleTransform=function(t,e,n){var a=gp(e,{labelInside:!1});a.labelMargin=n.get(["handle","margin"]);var i=Ua(e.axis,t,a);return{x:i[0],y:i[1],rotation:a.rotation+(a.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,e,n,a){var i=n.axis,o=i.coordinateSystem,r=Lp(i),l=Ap(o,r),s=[t.x,t.y];s[r]+=e[r],s[r]=Math.min(l[1],s[r]),s[r]=Math.max(l[0],s[r]);var u=Ap(o,1-r),d=(u[1]+u[0])/2,c=[d,d];return c[r]=s[r],{x:s[0],y:s[1],rotation:t.rotation,cursorPoint:c,tooltipOption:{verticalAlign:"middle"}}},e}(La),Dp={line:function(t,e,n){return{type:"Line",subPixelOptimize:!0,shape:Pa([e,n[0]],[e,n[1]],Lp(t))}},shadow:function(t,e,n){var a=t.getBandWidth(),i=n[1]-n[0];return{type:"Rect",shape:Xa([e-a/2,n[0]],[a,i],Lp(t))}}};function Lp(t){return t.isHorizontal()?0:1}function Ap(t,e){var n=t.getRect();return[n[Mp[e]],n[Mp[e]]+n[Cp[e]]]}var Pp=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.type="single",e}(hn);var kp=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.prototype.init=function(e,n,a){var i=Ha(e);t.prototype.init.apply(this,arguments),Ep(e,i)},e.prototype.mergeOption=function(e){t.prototype.mergeOption.apply(this,arguments),Ep(this.option,e)},e.prototype.getCellSize=function(){return this.option.cellSize},e.type="calendar",e.layoutMode="box",e.defaultOption={z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:ut.color.axisLine,width:1,type:"solid"}},itemStyle:{color:ut.color.neutral00,borderWidth:1,borderColor:ut.color.neutral10},dayLabel:{show:!0,firstDay:0,position:"start",margin:ut.size.s,color:ut.color.secondary},monthLabel:{show:!0,position:"start",margin:ut.size.s,align:"center",formatter:null,color:ut.color.secondary},yearLabel:{show:!0,position:null,margin:ut.size.xl,formatter:null,color:ut.color.quaternary,fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},e}(pn);function Ep(t,e){var n,a=t.cellSize;1===(n=It(a)?a:t.cellSize=[a,a]).length&&(n[1]=n[0]);var i=St([0,1],function(t){return Za(e,t)&&(n[t]="auto"),null!=n[t]&&"auto"!==n[t]});qa(t,e,{type:"box",ignoreSize:i})}var Np=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.prototype.render=function(t,e,n){var a=this.group;a.removeAll();var i=t.coordinateSystem,o=i.getRangeInfo(),r=i.getOrient(),l=e.getLocaleModel();this._renderDayRect(t,o,a),this._renderLines(t,o,r,a),this._renderYearText(t,o,r,a),this._renderMonthText(t,l,r,a),this._renderWeekText(t,l,o,r,a)},e.prototype._renderDayRect=function(t,e,n){for(var a=t.coordinateSystem,i=t.getModel("itemStyle").getItemStyle(),o=a.getCellWidth(),r=a.getCellHeight(),l=e.start.time;l<=e.end.time;l=a.getNextNDay(l,1).time){var s=a.dataToCalendarLayout([l],!1).tl,u=new oe({shape:{x:s[0],y:s[1],width:o,height:r},cursor:"default",style:i});n.add(u)}},e.prototype._renderLines=function(t,e,n,a){var i=this,o=t.coordinateSystem,r=t.getModel(["splitLine","lineStyle"]).getLineStyle(),l=t.get(["splitLine","show"]),s=r.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var u=e.start,d=0;u.time<=e.end.time;d++){h(u.formatedDate),0===d&&(u=o.getDateInfo(e.start.y+"-"+e.start.m));var c=u.date;c.setMonth(c.getMonth()+1),u=o.getDateInfo(c)}function h(e){i._firstDayOfMonth.push(o.getDateInfo(e)),i._firstDayPoints.push(o.dataToCalendarLayout([e],!1).tl);var s=i._getLinePointsOfOneWeek(t,e,n);i._tlpoints.push(s[0]),i._blpoints.push(s[s.length-1]),l&&i._drawSplitline(s,r,a)}h(o.getNextNDay(e.end.time,1).formatedDate),l&&this._drawSplitline(i._getEdgesPoints(i._tlpoints,s,n),r,a),l&&this._drawSplitline(i._getEdgesPoints(i._blpoints,s,n),r,a)},e.prototype._getEdgesPoints=function(t,e,n){var a=[t[0].slice(),t[t.length-1].slice()],i="horizontal"===n?0:1;return a[0][i]=a[0][i]-e/2,a[1][i]=a[1][i]+e/2,a},e.prototype._drawSplitline=function(t,e,n){var a=new nn({z2:20,shape:{points:t},style:e});n.add(a)},e.prototype._getLinePointsOfOneWeek=function(t,e,n){for(var a=t.coordinateSystem,i=a.getDateInfo(e),o=[],r=0;r<7;r++){var l=a.getNextNDay(i.time,r),s=a.dataToCalendarLayout([l.time],!1);o[2*l.day]=s.tl,o[2*l.day+1]=s["horizontal"===n?"bl":"tr"]}return o},e.prototype._formatterLabel=function(t,e){return Dt(t)&&t?$a(t,e):R(t)?t(e):e.nameMap},e.prototype._yearTextPositionControl=function(t,e,n,a,i){var o=e[0],r=e[1],l=["center","bottom"];"bottom"===a?(r+=i,l=["center","top"]):"left"===a?o-=i:"right"===a?(o+=i,l=["center","top"]):r-=i;var s=0;return"left"!==a&&"right"!==a||(s=Math.PI/2),{rotation:s,x:o,y:r,style:{align:l[0],verticalAlign:l[1]}}},e.prototype._renderYearText=function(t,e,n,a){var i=t.getModel("yearLabel");if(i.get("show")){var o=i.get("margin"),r=i.get("position");r||(r="horizontal"!==n?"top":"left");var l=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],s=(l[0][0]+l[1][0])/2,u=(l[0][1]+l[1][1])/2,d="horizontal"===n?0:1,c={top:[s,l[d][1]],bottom:[s,l[1-d][1]],left:[l[1-d][0],u],right:[l[d][0],u]},h=e.start.y;+e.end.y>+e.start.y&&(h=h+"-"+e.end.y);var p=i.get("formatter"),f={start:e.start.y,end:e.end.y,nameMap:h},g=this._formatterLabel(p,f),v=new Wt({z2:30,style:jt(i,{text:g}),silent:i.get("silent")});v.attr(this._yearTextPositionControl(v,c[r],n,r,o)),a.add(v)}},e.prototype._monthTextPositionControl=function(t,e,n,a,i){var o="left",r="top",l=t[0],s=t[1];return"horizontal"===n?(s+=i,e&&(o="center"),"start"===a&&(r="bottom")):(l+=i,e&&(r="middle"),"start"===a&&(o="right")),{x:l,y:s,align:o,verticalAlign:r}},e.prototype._renderMonthText=function(t,e,n,a){var i=t.getModel("monthLabel");if(i.get("show")){var o=i.get("nameMap"),r=i.get("margin"),l=i.get("position"),s=i.get("align"),u=[this._tlpoints,this._blpoints];o&&!Dt(o)||(o&&(e=Ka(o)||e),o=e.get(["time","monthAbbr"])||[]);var d="start"===l?0:1,c="horizontal"===n?0:1;r="start"===l?-r:r;for(var h="center"===s,p=i.get("silent"),f=0;f=i.start.time&&a.timer.end.time&&t.reverse(),t},t.prototype._getRangeInfo=function(t){var e,n=[this.getDateInfo(t[0]),this.getDateInfo(t[1])];n[0].time>n[1].time&&(e=!0,n.reverse());var a=Math.floor(n[1].time/zp)-Math.floor(n[0].time/zp)+1,i=new Date(n[0].time),o=i.getDate(),r=n[1].date.getDate();i.setDate(o+a-1);var l=i.getDate();if(l!==r)for(var s=i.getTime()-n[1].time>0?1:-1;(l=i.getDate())!==r&&(i.getTime()-n[1].time)*s>0;)a-=s,i.setDate(l-s);var u=Math.floor((a+n[0].day+6)/7),d=e?1-u:u-1;return e&&n.reverse(),{range:[n[0].formatedDate,n[1].formatedDate],start:n[0],end:n[1],allDay:a,weeks:u,nthWeek:d,fweek:n[0].day,lweek:n[1].day}},t.prototype._getDateByWeeksAndDay=function(t,e,n){var a=this._getRangeInfo(n);if(t>a.weeks||0===t&&ea.lweek)return null;var i=7*(t-1)-a.fweek+e,o=new Date(a.start.time);return o.setDate(+a.start.d+i),this.getDateInfo(o)},t.create=function(e,n){var a=[];return e.eachComponent("calendar",function(i){var o=new t(i,e,n);a.push(o),i.coordinateSystem=o}),e.eachComponent(function(t,e){Se({targetModel:e,coordSysType:"calendar",coordSysProvider:ti})}),a},t.dimensions=["time","value"],t}();function Op(t){var e=t.calendarModel,n=t.seriesModel;return e?e.coordinateSystem:n?n.coordinateSystem:null}var Vp=1,Bp=2,Gp=3,Wp={none:0,all:1,body:2,corner:3};function Fp(t,e,n){var a=e[ei[n]].getCell(t);return!a&&ce(t)&&t<0&&(a=e[ei[1-n]].getUnitLayoutInfo(n,Math.round(t))),a}function jp(t){var e=t||[];return e[0]=e[0]||[],e[1]=e[1]||[],e[0][0]=e[0][1]=e[1][0]=e[1][1]=NaN,e}function Yp(t,e,n,a,i){Up(t[0],e,i,n,a,0),Up(t[1],e,i,n,a,1)}function Up(t,e,n,a,i,o){t[0]=1/0,t[1]=-1/0;var r=a[o],l=It(r)?r:[r],s=l.length,u=!!n;if(s>=1?(Xp(t,e,l,u,i,o,0),s>1&&Xp(t,e,l,u,i,o,s-1)):t[0]=t[1]=NaN,u){var d=-i[ei[1-o]].getLocatorCount(o),c=i[ei[o]].getLocatorCount(o)-1;n===Wp.body?d=ai(0,d):n===Wp.corner&&(c=ii(-1,c)),c=e[0]&&t[0]<=e[1]}function Qp(t,e){t.id.set(e[0][0],e[1][0]),t.span.set(e[0][1]-t.id.x+1,e[1][1]-t.id.y+1)}function Jp(t,e,n,a){var i=Fp(e[a][0],n,a),o=Fp(e[a][1],n,a);t[ei[a]]=t[ni[a]]=NaN,i&&o&&(t[ei[a]]=i.xy,t[ni[a]]=o.xy+o.wh-i.xy)}function tf(t,e,n,a){return t[ei[e]]=n,t[ei[1-e]]=a,t}var ef=function(){function t(t,e){this._cells=[],this._levels=[],this.dim=t,this.dimIdx="x"===t?0:1,this._model=e,this._uniqueValueGen=function(t){var e=t.toUpperCase(),n=new RegExp("^"+e+"([0-9]+)$"),a=0;function i(t){var e;null!=t&&(e=t.match(n))&&(a=ai(a,+e[1]+1))}function o(){return""+e+a++}function r(t,e){for(var n=Ot(),a=0;a=1,x=n[ei[a]],_=o.getLocatorCount(a)-1,b=new li;for(r.resetLayoutIterator(b,a);b.next();)w(b.item);for(o.resetLayoutIterator(b,a);b.next();)w(b.item);function w(t){ln(t.wh)&&(t.wh=y),t.xy=x,t.id[ei[a]]!==_||m||(t.wh=n[ei[a]]+n[ni[a]]-t.xy),x+=t.wh}}function Df(t,e){for(var n=e[ei[t]].resetCellIterator();n.next();){var a=n.item;Af(a.rect,t,a.id,a.span,e),Af(a.rect,1-t,a.id,a.span,e),a.type===Gp&&(a.xy=a.rect[ei[t]],a.wh=a.rect[ni[t]])}}function Lf(t,e){t.travelExistingCells(function(t){var n=t.span;if(n){var a=t.spanRect,i=t.id;Af(a,0,i,n,e),Af(a,1,i,n,e)}})}function Af(t,e,n,a,i){t[ni[e]]=0;var o=n[ei[e]]<0?i[ei[1-e]]:i[ei[e]],r=o.getUnitLayoutInfo(e,n[ei[e]]);if(t[ei[e]]=r.xy,t[ni[e]]=r.wh,a[ei[e]]>1){var l=o.getUnitLayoutInfo(e,n[ei[e]]+a[ei[e]]-1);t[ni[e]]=l.xy+l.wh-r.xy}}function Pf(t,e){return Math.max(Math.min(t,K(e,1/0)),0)}function kf(t){var e=t.matrixModel,n=t.seriesModel;return e?e.coordinateSystem:n?n.coordinateSystem:null}var Ef={inBody:1,inCorner:2,outside:3},Nf={x:null,y:null,point:[]};function zf(t,e,n,a,i){var o=n[ei[e]],r=n[ei[1-e]],l=o.getUnitLayoutInfo(e,o.getLocatorCount(e)-1),s=o.getUnitLayoutInfo(e,0),u=r.getUnitLayoutInfo(e,-r.getLocatorCount(e)),d=r.shouldShow()?r.getUnitLayoutInfo(e,-1):null,c=t.point[e]=a[e];if(s||d)if(i!==Wp.body)if(i!==Wp.corner){var h=s?s.xy:d?d.xy+d.wh:NaN,p=u?u.xy:h,f=l?l.xy+l.wh:h;if(cf){if(!i)return void(t[ei[e]]=Ef.outside);c=f}t.point[e]=c,t[ei[e]]=h<=c&&c<=f?Ef.inBody:p<=c&&c<=h?Ef.inCorner:Ef.outside}else d?(t[ei[e]]=Ef.inCorner,c=ii(d.xy+d.wh,ai(u.xy,c)),t.point[e]=c):t[ei[e]]=Ef.outside;else s?(t[ei[e]]=Ef.inBody,c=ii(l.xy+l.wh,ai(s.xy,c)),t.point[e]=c):t[ei[e]]=Ef.outside;else t[ei[e]]=Ef.outside}function Rf(t,e,n,a){var i=1-n;if(t[ei[n]]!==Ef.outside)for(a[ei[n]].resetCellIterator(Cf);Cf.next();){var o=Cf.item;if(Bf(t.point[n],o.rect,n)&&Bf(t.point[i],o.rect,i))return e[n]=o.ordinal,void(e[i]=o.id[ei[i]])}}function Of(t,e,n,a){if(t[ei[n]]!==Ef.outside)for((t[ei[n]]===Ef.inCorner?a[ei[1-n]]:a[ei[n]]).resetLayoutIterator(Mf,n);Mf.next();)if(Vf(t.point[n],Mf.item))return void(e[n]=Mf.item.id[ei[n]])}function Vf(t,e){return e.xy<=t&&t<=e.xy+e.wh}function Bf(t,e,n){return e[ei[n]]<=t&&t<=e[ei[n]]+e[ni[n]]}function Gf(t,e){var n;return G(e,function(e){null!=t[e]&&"auto"!==t[e]&&(n=!0)}),n}var Wf=["transition","enterFrom","leaveTo"],Ff=Wf.concat(["enterAnimation","updateAnimation","leaveAnimation"]);function jf(t,e,n){if(n&&(!t[n]&&e[n]&&(t[n]={}),t=t[n],e=e[n]),t&&e)for(var a=n?Wf:Ff,i=0;i=0;s--){var p,f;u=n[s];if(f=null!=(p=Mt(u.id,null))?i.get(p):null){var g=f.parent,v=(h=Xf(g),g===a?{width:o,height:r}:{width:h.width,height:h.height}),y={},m=Bt(f,u,v,null,{hv:u.hv,boundingMode:u.bounding},y);if(!Xf(f).isNew&&m){for(var x=u.transition,_={},b=0;b=0)?_[w]=S:f[w]=S}tt(f,_,t,0)}else f.attr(y)}}},e.prototype._clear=function(){var t=this,e=this._elMap;e.each(function(n){$f(n,Xf(n).option,e,t._lastGraphicModel)}),this._elMap=Ot()},e.prototype.dispose=function(){this._clear()},e.type="graphic",e}(hn);function Zf(t){var e=new(fa(Uf,t)?Uf[t]:Ia(t))({});return Xf(e).type=t,e}function qf(t,e,n,a){var i=Zf(n);return e.add(i),a.set(t,i),Xf(i).id=t,Xf(i).isNew=!0,i}function $f(t,e,n,a){t&&t.parent&&("group"===t.type&&t.traverse(function(t){$f(t,e,n,a)}),Kc(t,e,a),n.removeKey(Xf(t).id))}function Kf(t,e,n,a){t.isGroup||G([["cursor",ie.prototype.cursor],["zlevel",a||0],["z",n||0],["z2",0]],function(n){var a=n[0];fa(e,a)?t[a]=K(e[a],n[1]):null==t[a]&&(t[a]=n[1])}),G(O(e),function(n){if(0===n.indexOf("on")){var a=e[n];t[n]=R(a)?a:null}}),fa(e,"draggable")&&(t.draggable=e.draggable),null!=e.name&&(t.name=e.name),null!=e.id&&(t.id=e.id)}var Qf=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.layoutMode="box",n}return nt(e,t),e.prototype.init=function(t,e,n){this.mergeDefaultAndTheme(t,n),this._initData()},e.prototype.mergeOption=function(e){t.prototype.mergeOption.apply(this,arguments),this._initData()},e.prototype.setCurrentIndex=function(t){null==t&&(t=this.option.currentIndex);var e=this._data.count();this.option.loop?t=(t%e+e)%e:(t>=e&&(t=e-1),t<0&&(t=0)),this.option.currentIndex=t},e.prototype.getCurrentIndex=function(){return this.option.currentIndex},e.prototype.isIndexMax=function(){return this.getCurrentIndex()>=this._data.count()-1},e.prototype.setPlayState=function(t){this.option.autoPlay=!!t},e.prototype.getPlayState=function(){return!!this.option.autoPlay},e.prototype._initData=function(){var t,e=this.option,n=e.data||[],a=e.axisType,i=this._names=[];"category"===a?(t=[],G(n,function(e,n){var a,o=Mt(gi(e),"");sn(e)?(a=ke(e)).value=n:a=n,t.push(a),i.push(o)})):t=n;var o={category:"ordinal",time:"time",value:"number"}[a]||"number";(this._data=new Tt([{name:"value",type:o}],this)).initData(t,i)},e.prototype.getData=function(){return this._data},e.prototype.getCategories=function(){if("category"===this.get("axisType"))return this._names.slice()},e.type="timeline",e.defaultOption={z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:ut.size.m,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:ut.color.secondary},data:[]},e}(pn),Jf=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.type="timeline.slider",e.defaultOption=aa(Qf.defaultOption,{backgroundColor:"rgba(0,0,0,0)",borderColor:ut.color.border,borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"circle",symbolSize:12,lineStyle:{show:!0,width:2,color:ut.color.accent10},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:ut.color.tertiary},itemStyle:{color:ut.color.accent20,borderWidth:0},checkpointStyle:{symbol:"circle",symbolSize:15,color:ut.color.accent50,borderColor:ut.color.accent50,borderWidth:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"rgba(0, 0, 0, 0)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:24,itemGap:12,position:"left",playIcon:"path://M15 0C23.2843 0 30 6.71573 30 15C30 23.2843 23.2843 30 15 30C6.71573 30 0 23.2843 0 15C0 6.71573 6.71573 0 15 0ZM15 3C8.37258 3 3 8.37258 3 15C3 21.6274 8.37258 27 15 27C21.6274 27 27 21.6274 27 15C27 8.37258 21.6274 3 15 3ZM11.5 10.6699C11.5 9.90014 12.3333 9.41887 13 9.80371L20.5 14.1338C21.1667 14.5187 21.1667 15.4813 20.5 15.8662L13 20.1963C12.3333 20.5811 11.5 20.0999 11.5 19.3301V10.6699Z",stopIcon:"path://M15 0C23.2843 0 30 6.71573 30 15C30 23.2843 23.2843 30 15 30C6.71573 30 0 23.2843 0 15C0 6.71573 6.71573 0 15 0ZM15 3C8.37258 3 3 8.37258 3 15C3 21.6274 8.37258 27 15 27C21.6274 27 27 21.6274 27 15C27 8.37258 21.6274 3 15 3ZM11.5 10C12.3284 10 13 10.6716 13 11.5V18.5C13 19.3284 12.3284 20 11.5 20C10.6716 20 10 19.3284 10 18.5V11.5C10 10.6716 10.6716 10 11.5 10ZM18.5 10C19.3284 10 20 10.6716 20 11.5V18.5C20 19.3284 19.3284 20 18.5 20C17.6716 20 17 19.3284 17 18.5V11.5C17 10.6716 17.6716 10 18.5 10Z",nextIcon:"path://M0.838834 18.7383C0.253048 18.1525 0.253048 17.2028 0.838834 16.617L7.55635 9.89949L0.838834 3.18198C0.253048 2.59619 0.253048 1.64645 0.838834 1.06066C1.42462 0.474874 2.37437 0.474874 2.96015 1.06066L10.7383 8.83883L10.8412 8.95277C11.2897 9.50267 11.2897 10.2963 10.8412 10.8462L10.7383 10.9602L2.96015 18.7383C2.37437 19.3241 1.42462 19.3241 0.838834 18.7383Z",prevIcon:"path://M10.9602 1.06066C11.5459 1.64645 11.5459 2.59619 10.9602 3.18198L4.24264 9.89949L10.9602 16.617C11.5459 17.2028 11.5459 18.1525 10.9602 18.7383C10.3744 19.3241 9.42462 19.3241 8.83883 18.7383L1.06066 10.9602L0.957771 10.8462C0.509245 10.2963 0.509245 9.50267 0.957771 8.95277L1.06066 8.83883L8.83883 1.06066C9.42462 0.474874 10.3744 0.474874 10.9602 1.06066Z",prevBtnSize:18,nextBtnSize:18,color:ut.color.accent50,borderColor:ut.color.accent50,borderWidth:0},emphasis:{label:{show:!0,color:ut.color.accent60},itemStyle:{color:ut.color.accent60,borderColor:ut.color.accent60},controlStyle:{color:ut.color.accent70,borderColor:ut.color.accent70}},progress:{lineStyle:{color:ut.color.accent30},itemStyle:{color:ut.color.accent40}},data:[]}),e}(Qf);Ne(Jf,vi.prototype);var tg=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.type="timeline",e}(hn),eg=function(t){function e(e,n,a,i){var o=t.call(this,e,n,a)||this;return o.type=i||"value",o}return nt(e,t),e.prototype.getLabelModel=function(){return this.model.getModel("label")},e.prototype.isHorizontal=function(){return"horizontal"===this.model.get("orient")},e}(fn),ng=Math.PI,ag=k(),ig=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.prototype.init=function(t,e){this.api=e},e.prototype.render=function(t,e,n){if(this.model=t,this.api=n,this.ecModel=e,this.group.removeAll(),t.get("show",!0)){var a=this._layout(t,n),i=this._createGroup("_mainGroup"),o=this._createGroup("_labelGroup"),r=this._axis=this._createAxis(a,t);t.formatTooltip=function(t){var e=r.scale.getLabel({value:t});return At("nameValue",{noName:!0,value:e})},G(["AxisLine","AxisTick","Control","CurrentPointer"],function(e){this["_render"+e](a,i,r,t)},this),this._renderAxisLabel(a,o,r,t),this._position(a,t)}this._doPlayStop(),this._updateTicksStatus()},e.prototype.remove=function(){this._clearTimer(),this.group.removeAll()},e.prototype.dispose=function(){this._clearTimer()},e.prototype._layout=function(t,e){var n,a,i,o,r=t.get(["label","position"]),l=t.get("orient"),s=function(t,e){return Et(t.getBoxLayoutParams(),kt(t,e).refContainer,t.get("padding"))}(t,e),u={horizontal:"center",vertical:(n=null==r||"auto"===r?"horizontal"===l?s.y+s.height/2=0||"+"===n?"left":"right"},d={horizontal:n>=0||"+"===n?"top":"bottom",vertical:"middle"},c={horizontal:0,vertical:ng/2},h="vertical"===l?s.height:s.width,p=t.getModel("controlStyle"),f=p.get("show",!0),g=f?p.get("itemSize"):0,v=f?p.get("itemGap"):0,y=g+v,m=t.get(["label","rotate"])||0;m=m*ng/180;var x=p.get("position",!0),_=f&&p.get("showPlayBtn",!0),b=f&&p.get("showPrevBtn",!0),w=f&&p.get("showNextBtn",!0),S=0,I=h;"left"===x||"bottom"===x?(_&&(a=[0,0],S+=y),b&&(i=[S,0],S+=y),w&&(o=[I-g,0],I-=y)):(_&&(a=[I-g,0],I-=y),b&&(i=[0,0],S+=y),w&&(o=[I-g,0],I-=y));var M=[S,I];return t.get("inverse")&&M.reverse(),{viewRect:s,mainLength:h,orient:l,rotation:c[l],labelRotation:m,labelPosOpt:n,labelAlign:t.get(["label","align"])||u[l],labelBaseline:t.get(["label","verticalAlign"])||t.get(["label","baseline"])||d[l],playPosition:a,prevBtnPosition:i,nextBtnPosition:o,axisExtent:M,controlSize:g,controlGap:v}},e.prototype._position=function(t,e){var n=this._mainGroup,a=this._labelGroup,i=t.viewRect;if("vertical"===t.orient){var o=Zt(),r=i.x,l=i.y+i.height;Ht(o,o,[-r,-l]),yn(o,o,-ng/2),Ht(o,o,[r,l]),(i=i.clone()).applyTransform(o)}var s=v(i),u=v(n.getBoundingRect()),d=v(a.getBoundingRect()),c=[n.x,n.y],h=[a.x,a.y];h[0]=c[0]=s[0][0];var p,f=t.labelPosOpt;null==f||Dt(f)?(y(c,u,s,1,p="+"===f?0:1),y(h,d,s,1,1-p)):(y(c,u,s,1,p=f>=0?0:1),h[1]=c[1]+f);function g(t){t.originX=s[0][0]-t.x,t.originY=s[1][0]-t.y}function v(t){return[[t.x,t.x+t.width],[t.y,t.y+t.height]]}function y(t,e,n,a,i){t[a]+=n[a][i]-e[a][i]}n.setPosition(c),a.setPosition(h),n.rotation=a.rotation=t.rotation,g(n),g(a)},e.prototype._createAxis=function(t,e){var n=e.getData(),a=e.get("axisType"),i=function(t,e){if(e=e||t.get("type"),e)switch(e){case"category":return new ri({ordinalMeta:t.getCategories(),extent:[1/0,-1/0]});case"time":return new _i({locale:t.ecModel.getLocaleModel(),useUTC:t.ecModel.get("useUTC")});default:return new xi}}(e,a);i.getTicks=function(){return n.mapArray(["value"],function(t){return{value:t}})};var o=n.getDataExtent("value");i.setExtent(o[0],o[1]),i.calcNiceTicks();var r=new eg("value",i,t.axisExtent,a);return r.model=e,r},e.prototype._createGroup=function(t){var e=this[t]=new at;return this.group.add(e),e},e.prototype._renderAxisLine=function(t,e,n,a){var i=n.getExtent();if(a.get(["lineStyle","show"])){var o=new qe({shape:{x1:i[0],y1:0,x2:i[1],y2:0},style:wt({lineCap:"round"},a.getModel("lineStyle").getLineStyle()),silent:!0,z2:1});e.add(o);var r=this._progressLine=new qe({shape:{x1:i[0],x2:this._currentPointer?this._currentPointer.x:i[0],y1:0,y2:0},style:vt({lineCap:"round",lineWidth:o.style.lineWidth},a.getModel(["progress","lineStyle"]).getLineStyle()),silent:!0,z2:1});e.add(r)}},e.prototype._renderAxisTick=function(t,e,n,a){var i=this,o=a.getData(),r=n.scale.getTicks();this._tickSymbols=[],G(r,function(t){var r=n.dataToCoord(t.value),l=o.getItemModel(t.value),s=l.getModel("itemStyle"),u=l.getModel(["emphasis","itemStyle"]),d=l.getModel(["progress","itemStyle"]),c={x:r,y:0,onclick:Xt(i._changeTimeline,i,t.value)},h=og(l,s,e,c);h.ensureState("emphasis").style=u.getItemStyle(),h.ensureState("progress").style=d.getItemStyle(),yi(h);var p=V(h);l.get("tooltip")?(p.dataIndex=t.value,p.dataModel=a):p.dataIndex=p.dataModel=null,i._tickSymbols.push(h)})},e.prototype._renderAxisLabel=function(t,e,n,a){var i=this;if(n.getLabelModel().get("show")){var o=a.getData(),r=n.getViewLabels();this._tickLabels=[],G(r,function(a){var r=a.tickValue,l=o.getItemModel(r),s=l.getModel("label"),u=l.getModel(["emphasis","label"]),d=l.getModel(["progress","label"]),c=n.dataToCoord(a.tickValue),h=new Wt({x:c,y:0,rotation:t.labelRotation-t.rotation,onclick:Xt(i._changeTimeline,i,r),silent:!1,style:jt(s,{text:a.formattedLabel,align:t.labelAlign,verticalAlign:t.labelBaseline})});h.ensureState("emphasis").style=jt(u),h.ensureState("progress").style=jt(d),e.add(h),yi(h),ag(h).dataIndex=r,i._tickLabels.push(h)})}},e.prototype._renderControl=function(t,e,n,a){var i=t.controlSize,o=t.rotation,r=a.getModel("controlStyle").getItemStyle(),l=a.getModel(["emphasis","controlStyle"]).getItemStyle(),s=a.getPlayState(),u=a.get("inverse",!0);function d(t,n,s,u){if(t){var d=mi(K(a.get(["controlStyle",n+"BtnSize"]),i),i),c=function(t,e,n,a){var i=a.style,o=bi(t.get(["controlStyle",e]),a||{},new E(n[0],n[1],n[2],n[3]));i&&o.setStyle(i);return o}(a,n+"Icon",[0,-d/2,d,d],{x:t[0],y:t[1],originX:i/2,originY:0,rotation:u?-o:0,rectHover:!0,style:r,onclick:s});c.ensureState("emphasis").style=l,e.add(c),yi(c)}}d(t.nextBtnPosition,"next",Xt(this._changeTimeline,this,u?"-":"+")),d(t.prevBtnPosition,"prev",Xt(this._changeTimeline,this,u?"+":"-")),d(t.playPosition,s?"stop":"play",Xt(this._handlePlayClick,this,!s),!0)},e.prototype._renderCurrentPointer=function(t,e,n,a){var i=a.getData(),o=a.getCurrentIndex(),r=i.getItemModel(o).getModel("checkpointStyle"),l=this,s={onCreate:function(t){t.draggable=!0,t.drift=Xt(l._handlePointerDrag,l),t.ondragend=Xt(l._handlePointerDragend,l),rg(t,l._progressLine,o,n,a,!0)},onUpdate:function(t){rg(t,l._progressLine,o,n,a)}};this._currentPointer=og(r,r,this._mainGroup,{},this._currentPointer,s)},e.prototype._handlePlayClick=function(t){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:t,from:this.uid})},e.prototype._handlePointerDrag=function(t,e,n){this._clearTimer(),this._pointerChangeTimeline([n.offsetX,n.offsetY])},e.prototype._handlePointerDragend=function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},e.prototype._pointerChangeTimeline=function(t,e){var n=this._toAxisCoord(t)[0],a=this._axis,i=bn(a.getExtent().slice());n>i[1]&&(n=i[1]),np[0]?c[0]:d[0]:f[0]=h[0]>p[0]?d[0]:c[0],"y0"===n[1]?f[1]=h[1]>p[1]?c[1]:d[1]:f[1]=h[1]>p[1]?d[1]:c[1],o=a.getMarkerPosition(f,n,!0)}else{var g=[m=t.get(n[0],e),x=t.get(n[1],e)];r.clampData&&r.clampData(g,g),o=r.dataToPoint(g,!0)}if(Jn(r,"cartesian2d")){var v=r.getAxis("x"),y=r.getAxis("y"),m=t.get(n[0],e),x=t.get(n[1],e);pg(m)?o[0]=v.toGlobalCoord(v.getExtent()["x0"===n[0]?0:1]):pg(x)&&(o[1]=y.toGlobalCoord(y.getExtent()["y0"===n[1]?0:1]))}isNaN(s)||(o[0]=s),isNaN(u)||(o[1]=u)}else o=[s,u];return o}var yg=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],mg=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return nt(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries(function(t){var e=wi.getMarkerModelFromSeries(t,"markArea");if(e){var a=e.getData();a.each(function(e){var i=St(yg,function(i){return vg(a,e,i,t,n)});a.setItemLayout(e,i),a.getItemGraphicEl(e).setShape("points",i)})}},this)},e.prototype.renderSeries=function(t,e,n,a){var i=t.coordinateSystem,o=t.id,r=t.getData(),l=this.markerGroupMap,s=l.get(o)||l.set(o,{group:new at});this.group.add(s.group),this.markKeep(s);var u=function(t,e,n){var a,i,o=["x0","y0","x1","y1"];if(t){var r=St(t&&t.dimensions,function(t){var n=e.getData(),a=n.getDimensionInfo(n.mapDimension(t))||{};return wt(wt({},a),{name:t,ordinalMeta:null})});i=St(o,function(t,e){return{name:t,type:r[e%2].type}}),a=new Tt(i,n)}else a=new Tt(i=[{name:"value",type:"float"}],n);var l=St(n.get("data"),_t(hg,e,t,n));t&&(l=F(l,_t(gg,t)));var s=t?function(t,e,n,a){var o=t.coord[Math.floor(a/2)][a%2];return Di(o,i[a])}:function(t,e,n,a){return Di(t.value,i[a])};return a.initData(l,null,s),a.hasItemOption=!0,a}(i,t,e);e.setData(u),u.each(function(e){var n=St(yg,function(n){return vg(u,e,n,t,a)}),o=i.getAxis("x").scale,l=i.getAxis("y").scale,s=o.getExtent(),d=l.getExtent(),c=[o.parse(u.get("x0",e)),o.parse(u.get("x1",e))],h=[l.parse(u.get("y0",e)),l.parse(u.get("y1",e))];bn(c),bn(h);var p=!!(s[0]>c[1]||s[1]h[1]||d[1]1?r.get(["series","multiple","prefix"]):r.get(["series","single","prefix"]),{seriesCount:s}),t.eachSeries(function(e,n){if(n1?r.get(["series","multiple",o]):r.get(["series","single",o]),{seriesId:e.seriesIndex,seriesName:e.get("name"),seriesType:(_=e.subType,b=t.getLocaleModel().get(["series","typeNames"]),b[_]||b.chart)});var l=e.getData();if(l.count()>u)a+=i(r.get(["data","partialData"]),{displayCnt:u});else a+=r.get(["data","allData"]);for(var d=r.get(["data","separator","middle"]),h=r.get(["data","separator","end"]),f=r.get(["data","excludeDimensionId"]),g=[],v=0;v":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},Ag=function(){function t(t){if(null==(this._condVal=Dt(t)?new RegExp(t):Vi(t)?t:null)){Vn("")}}return t.prototype.evaluate=function(t){var e=typeof t;return Dt(e)?this._condVal.test(t):!!ce(e)&&this._condVal.test(t+"")},t}(),Pg=function(){function t(){}return t.prototype.evaluate=function(){return this.value},t}(),kg=function(){function t(){}return t.prototype.evaluate=function(){for(var t=this.children,e=0;e=Hg:-s>=Hg),h=s>0?s%Hg:s%Hg+Hg,p=!1;p=!!c||!Yi(d)&&h>=Xg==!!u;var f=t+n*Ug(o),g=e+a*Yg(o);this._start&&this._add("M",f,g);var v=Math.round(i*Zg);if(c){var y=1/this._p,m=(u?1:-1)*(Hg-y);this._add("A",n,a,v,1,+u,t+n*Ug(o+m),e+a*Yg(o+m)),y>.01&&this._add("A",n,a,v,0,+u,f,g)}else{var x=t+n*Ug(r),_=e+a*Yg(r);this._add("A",n,a,v,+p,+u,x,_)}},t.prototype.rect=function(t,e,n,a){this._add("M",t,e),this._add("l",n,0),this._add("l",0,a),this._add("l",-n,0),this._add("Z")},t.prototype.closePath=function(){this._d.length>0&&this._add("Z")},t.prototype._add=function(t,e,n,a,i,o,r,l,s){for(var u=[],d=this._p,c=1;c"}(i,o)+("style"!==i?Zi(r):r||"")+(a?""+n+St(a,function(e){return t(e)}).join(n)+n:"")+("")}(t)}function lv(t){return{zrId:t,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssStyleCache:{},cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function sv(t,e,n,a){return ov("svg","root",{width:t,height:e,xmlns:ev,"xmlns:xlink":nv,version:"1.1",baseProfile:"full",viewBox:!!a&&"0 0 "+t+" "+e},n)}var uv=0;function dv(){return uv++}var cv={cubicIn:"0.32,0,0.67,0",cubicOut:"0.33,1,0.68,1",cubicInOut:"0.65,0,0.35,1",quadraticIn:"0.11,0,0.5,0",quadraticOut:"0.5,1,0.89,1",quadraticInOut:"0.45,0,0.55,1",quarticIn:"0.5,0,0.75,0",quarticOut:"0.25,1,0.5,1",quarticInOut:"0.76,0,0.24,1",quinticIn:"0.64,0,0.78,0",quinticOut:"0.22,1,0.36,1",quinticInOut:"0.83,0,0.17,1",sinusoidalIn:"0.12,0,0.39,0",sinusoidalOut:"0.61,1,0.88,1",sinusoidalInOut:"0.37,0,0.63,1",exponentialIn:"0.7,0,0.84,0",exponentialOut:"0.16,1,0.3,1",exponentialInOut:"0.87,0,0.13,1",circularIn:"0.55,0,1,0.45",circularOut:"0,0.55,0.45,1",circularInOut:"0.85,0,0.15,1"},hv="transform-origin";function pv(t,e,n){var a=wt({},t.shape);wt(a,e),t.buildPath(n,a);var i=new qg;return i.reset(Qi(t)),n.rebuildPath(i,1),i.generateStr(),i.getStr()}function fv(t,e){var n=e.originX,a=e.originY;(n||a)&&(t[hv]=n+"px "+a+"px")}var gv={fill:"fill",opacity:"opacity",lineWidth:"stroke-width",lineDashOffset:"stroke-dashoffset"};function vv(t,e){var n=e.zrId+"-ani-"+e.cssAnimIdx++;return e.cssAnims[n]=t,n}function yv(t){return Dt(t)?cv[t]?"cubic-bezier("+cv[t]+")":qi(t)?t:"":""}function mv(t,e,n,a){var i=t.animators,o=i.length,r=[];if(t instanceof Ma){var l=function(t,e,n){var a,i,o=t.shape.paths,r={};if(G(o,function(t){var e=lv(n.zrId);e.animation=!0,mv(t,{},e,!0);var o=e.cssAnims,l=e.cssNodes,s=O(o),u=s.length;if(u){var d=o[i=s[u-1]];for(var c in d){var h=d[c];r[c]=r[c]||{d:""},r[c].d+=h.d||""}for(var p in l){var f=l[p].animation;f.indexOf(i)>=0&&(a=f)}}}),a){e.d=!1;var l=vv(r,n);return a.replace(i,l)}}(t,e,n);if(l)r.push(l);else if(!o)return}else if(!o)return;for(var s={},u=0;u0}).length)return vv(d,n)+" "+i[0]+" both"}for(var v in s){(l=g(s[v]))&&r.push(l)}if(r.length){var y=n.zrId+"-cls-"+dv();n.cssNodes["."+y]={animation:r.join(",")},e.class=y}}function xv(t,e,n,a){var i=JSON.stringify(t),o=n.cssStyleCache[i];o||(o=n.zrId+"-cls-"+dv(),n.cssStyleCache[i]=o,n.cssNodes["."+o+":hover"]=t),e.class=e.class?e.class+" "+o:o}var _v=Math.round;function bv(t){return t&&Dt(t.src)}function wv(t){return t&&R(t.toDataURL)}function Sv(t,e,n,a){tv(function(i,o){var r="fill"===i||"stroke"===i;r&&yo(o)?Nv(e,t,i,a):r&&mo(o)?zv(n,t,i,a):t[i]=o,r&&a.ssr&&"none"===o&&(t["pointer-events"]="visible")},e,n,!1),function(t,e,n){var a=t.style;if(_o(a)){var i=bo(t),o=n.shadowCache,r=o[i];if(!r){var l=t.getGlobalScale(),s=l[0],u=l[1];if(!s||!u)return;var d=a.shadowOffsetX||0,c=a.shadowOffsetY||0,h=a.shadowBlur,p=Ui(a.shadowColor),f=p.opacity,g=p.color,v=h/2/s+" "+h/2/u;r=n.zrId+"-s"+n.shadowIdx++,n.defs[r]=ov("filter",r,{id:r,x:"-100%",y:"-100%",width:"300%",height:"300%"},[ov("feDropShadow","",{dx:d/s,dy:c/u,stdDeviation:v,"flood-color":g,"flood-opacity":f})]),o[i]=r}e.filter=no(r)}}(n,t,a)}function Iv(t,e){var n=xo(e);n&&(n.each(function(e,n){null!=e&&(t[(av+n).toLowerCase()]=e+"")}),e.isSilent()&&(t[av+"silent"]="true"))}function Mv(t){return Yi(t[0]-1)&&Yi(t[1])&&Yi(t[2])&&Yi(t[3]-1)}function Cv(t,e,n){if(e&&(!function(t){return Yi(t[4])&&Yi(t[5])}(e)||!Mv(e))){var a=1e4;t.transform=Mv(e)?"translate("+_v(e[4]*a)/a+" "+_v(e[5]*a)/a+")":vo(e)}}function Tv(t,e,n){for(var a=t.points,i=[],o=0;o=0&&r||o;l&&(i=to(l))}var s=a.lineWidth;s&&(s/=!a.strokeNoScale&&t.transform?t.transform[0]:1);var u={cursor:"pointer"};i&&(u.fill=i),a.stroke&&(u.stroke=a.stroke),s&&(u["stroke-width"]=s),xv(u,e,n)}}(t,o,e),ov(l,t.id+"",o)}function Ev(t,e){return t instanceof xt?kv(t,e):t instanceof Qe?function(t,e){var n=t.style,a=n.image;if(a&&!Dt(a)&&(bv(a)?a=a.src:wv(a)&&(a=a.toDataURL())),a){var i=n.x||0,o=n.y||0,r={href:a,width:n.width,height:n.height};return i&&(r.x=i),o&&(r.y=o),Cv(r,t.transform),Sv(r,n,t,e),Iv(r,t),e.animation&&mv(t,r,e),ov("image",t.id+"",r)}}(t,e):t instanceof eo?function(t,e){var n=t.style,a=n.text;if(null!=a&&(a+=""),a&&!isNaN(n.x)&&!isNaN(n.y)){var i=n.font||ao,o=n.x||0,r=io(n.y||0,oo(i),n.textBaseline),l={"dominant-baseline":"central","text-anchor":ro[n.textAlign]||n.textAlign};if(lo(n)){var s="",u=n.fontStyle,d=so(n.fontSize);if(!parseFloat(d))return;var c=n.fontFamily||uo,h=n.fontWeight;s+="font-size:"+d+";font-family:"+c+";",u&&"normal"!==u&&(s+="font-style:"+u+";"),h&&"normal"!==h&&(s+="font-weight:"+h+";"),l.style=s}else l.style="font: "+i;return a.match(/\s/)&&(l["xml:space"]="preserve"),o&&(l.x=o),r&&(l.y=r),Cv(l,t.transform),Sv(l,n,t,e),Iv(l,t),e.animation&&mv(t,l,e),ov("text",t.id+"",l,void 0,a)}}(t,e):void 0}function Nv(t,e,n,a){var i,o=t[n],r={gradientUnits:o.global?"userSpaceOnUse":"objectBoundingBox"};if(co(o))i="linearGradient",r.x1=o.x,r.y1=o.y,r.x2=o.x2,r.y2=o.y2;else{if(!ho(o))return;i="radialGradient",r.cx=K(o.x,.5),r.cy=K(o.y,.5),r.r=K(o.r,.5)}for(var l=o.colorStops,s=[],u=0,d=l.length;us?$v(t,null==n[c+1]?null:n[c+1].elm,n,l,c):Kv(t,e,r,s))}(n,a,i):Xv(i)?(Xv(t.text)&&jv(n,""),$v(n,null,i,0,i.length-1)):Xv(a)?Kv(n,a,0,a.length-1):Xv(t.text)&&jv(n,""):t.text!==e.text&&(Xv(a)&&Kv(n,a,0,a.length-1),jv(n,e.text)))}var ty=0,ey=function(){function t(t,e,n){if(this.type="svg",this.refreshHover=function(){},this.configLayer=function(){},this.storage=e,this._opts=n=wt({},n),this.root=t,this._id="zr"+ty++,this._oldVNode=sv(n.width,n.height),t&&!n.ssr){var a=this._viewport=document.createElement("div");a.style.cssText="position:relative;overflow:hidden";var i=this._svgDom=this._oldVNode.elm=iv("svg");Qv(null,this._oldVNode),a.appendChild(i),t.appendChild(a)}this.resize(n.width,n.height)}return t.prototype.getType=function(){return this.type},t.prototype.getViewportRoot=function(){return this._viewport},t.prototype.getViewportRootOffset=function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},t.prototype.getSvgDom=function(){return this._svgDom},t.prototype.refresh=function(){if(this.root){var t=this.renderToVNode({willUpdate:!0});t.attrs.style="position:absolute;left:0;top:0;user-select:none",function(t,e){if(Zv(t,e))Jv(t,e);else{var n=t.elm,a=Wv(n);qv(e),null!==a&&(Vv(a,e.elm,Fv(n)),Kv(a,[t],0,0))}}(this._oldVNode,t),this._oldVNode=t}},t.prototype.renderOneToVNode=function(t){return Ev(t,lv(this._id))},t.prototype.renderToVNode=function(t){t=t||{};var e=this.storage.getDisplayList(!0),n=this._width,a=this._height,i=lv(this._id);i.animation=t.animation,i.willUpdate=t.willUpdate,i.compress=t.compress,i.emphasis=t.emphasis,i.ssr=this._opts.ssr;var o=[],r=this._bgVNode=function(t,e,n,a){var i;if(n&&"none"!==n)if(i=ov("rect","bg",{width:t,height:e,x:"0",y:"0"}),yo(n))Nv({fill:n},i.attrs,"fill",a);else if(mo(n))zv({style:{fill:n},dirty:zt,getBoundingRect:function(){return{width:t,height:e}}},i.attrs,"fill",a);else{var o=Ui(n),r=o.color,l=o.opacity;i.attrs.fill=r,l<1&&(i.attrs["fill-opacity"]=l)}return i}(n,a,this._backgroundColor,i);r&&o.push(r);var l=t.compress?null:this._mainVNode=ov("g","main",{},[]);this._paintList(e,i,l?l.children:o),l&&o.push(l);var s=St(O(i.defs),function(t){return i.defs[t]});if(s.length&&o.push(ov("defs","defs",{},s)),t.animation){var u=function(t,e,n){var a=(n=n||{}).newline?"\n":"",i=" {"+a,o=a+"}",r=St(O(t),function(e){return e+i+St(O(t[e]),function(n){return n+":"+t[e][n]+";"}).join(a)+o}).join(a),l=St(O(e),function(t){return"@keyframes "+t+i+St(O(e[t]),function(n){return n+i+St(O(e[t][n]),function(a){var i=e[t][n][a];return"d"===a&&(i='path("'+i+'")'),a+":"+i+";"}).join(a)+o}).join(a)+o}).join(a);return r||l?[""].join(a):""}(i.cssNodes,i.cssAnims,{newline:!0});if(u){var d=ov("style","stl",{},[],u);o.push(d)}}return sv(n,a,o,t.useViewBox)},t.prototype.renderToString=function(t){return t=t||{},rv(this.renderToVNode({animation:K(t.cssAnimation,!0),emphasis:K(t.cssEmphasis,!0),willUpdate:!1,compress:!0,useViewBox:K(t.useViewBox,!0)}),{newline:!0})},t.prototype.setBackgroundColor=function(t){this._backgroundColor=t},t.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},t.prototype._paintList=function(t,e,n){for(var a,i,o=t.length,r=[],l=0,s=0,u=0;u=0&&(!c||!i||c[f]!==i[f]);f--);for(var g=p-1;g>f;g--)a=r[--l-1];for(var v=f+1;v2&&s.push(e),e=[t,n]}function f(t,n,a,i){ay(t,a)&&ay(n,i)||e.push(t,n,a,i,a,i)}function g(t,n,a,i,o,r){var l=Math.abs(n-t),s=4*Math.tan(l/4)/3,u=nI:T2&&s.push(e),s}function oy(t,e,n,a,i,o,r,l,s,u){if(ay(t,n)&&ay(e,a)&&ay(i,r)&&ay(o,l))s.push(r,l);else{var d=2/u,c=d*d,h=r-t,p=l-e,f=Math.sqrt(h*h+p*p);h/=f,p/=f;var g=n-t,v=a-e,y=i-r,m=o-l,x=g*g+v*v,_=y*y+m*m;if(x=0&&_-w*w=0)s.push(r,l);else{var S=[],I=[];Io(t,n,i,r,.5,S),Io(e,a,o,l,.5,I),oy(S[0],I[0],S[1],I[1],S[2],I[2],S[3],I[3],s,u),oy(S[4],I[4],S[5],I[5],S[6],I[6],S[7],I[7],s,u)}}}}function ry(t,e,n){var a=t[e],i=t[1-e],o=Math.abs(a/i),r=Math.ceil(Math.sqrt(o*n)),l=Math.floor(n/r);0===l&&(l=1,r=n);for(var s=[],u=0;u0)for(u=0;uMath.abs(u),c=ry([s,u],d?0:1,e),h=(d?l:u)/c.length,p=0;p1?null:new an(p*s+t,p*u+e)}function dy(t,e,n){var a=new an;an.sub(a,n,e),a.normalize();var i=new an;return an.sub(i,t,e),i.dot(a)}function cy(t,e){var n=t[t.length-1];n&&n[0]===e[0]&&n[1]===e[1]||t.push(e)}function hy(t){var e=t.points,n=[],a=[];ot(e,n,a);var i=new E(n[0],n[1],a[0]-n[0],a[1]-n[1]),o=i.width,r=i.height,l=i.x,s=i.y,u=new an,d=new an;return o>r?(u.x=d.x=l+o/2,u.y=s,d.y=s+r):(u.y=d.y=s+r/2,u.x=l,d.x=l+o),function(t,e,n){for(var a=t.length,i=[],o=0;oi,r=ry([a,i],o?0:1,e),l=o?"width":"height",s=o?"height":"width",u=o?"x":"y",d=o?"y":"x",c=t[l]/r.length,h=0;h0;s/=2){var u=0,d=0;(t&s)>0&&(u=1),(e&s)>0&&(d=1),l+=s*s*(3*u^d),0===d&&(1===u&&(t=s-1-t,e=s-1-e),r=t,t=e,e=r)}return l}function Ly(t){var e=1/0,n=1/0,a=-1/0,i=-1/0,o=St(t,function(t){var o=t.getBoundingRect(),r=t.getComputedTransform(),l=o.x+o.width/2+(r?r[4]:0),s=o.y+o.height/2+(r?r[5]:0);return e=Math.min(l,e),n=Math.min(s,n),a=Math.max(l,a),i=Math.max(s,i),[l,s]});return St(o,function(o,r){return{cp:o,z:Dy(o[0],o[1],e,n,a,i),path:t[r]}}).sort(function(t,e){return t.z-e.z}).map(function(t){return t.path})}function Ay(t){return gy(t.path,t.count)}function Py(t){return It(t[0])}function ky(t,e){for(var n=[],a=t.length,i=0;i=0;i--)if(!n[i].many.length){var s=n[l].many;if(s.length<=1){if(!l)return n;l=0}o=s.length;var u=Math.ceil(o/2);n[i].many=s.slice(u,o),n[l].many=s.slice(0,u),l++}return n}var Ey={clone:function(t){for(var e=[],n=1-Math.pow(1-t.path.style.opacity,1/t.count),a=0;a0){var l,s,u=a.getModel("universalTransition").get("delay"),d=Object.assign({setToFinal:!0},r);Py(t)&&(l=t,s=e),Py(e)&&(l=e,s=t);for(var c=l?l===t:t.length>e.length,h=l?ky(s,l):ky(c?e:t,[c?t:e]),p=0,f=0;f1e4))for(var i=n.getIndices(),o=0;o0&&a.group.traverse(function(t){t instanceof xt&&!t.animators.length&&t.animateFrom({style:{opacity:0}},i)})})}function jy(t){var e=t.getModel("universalTransition").get("seriesKey");return e||t.id}function Yy(t){return It(t)?t.sort().join(","):t}function Uy(t){if(t.hostModel)return t.hostModel.getModel("universalTransition").get("divideShape")}function Xy(t,e){for(var n=0;no.vmin?e+=o.vmin-n+(t-o.vmin)/(o.vmax-o.vmin)*o.gapReal:e+=t-n,n=o.vmax,a=!1;break}e+=o.vmin-n+o.gapReal,n=o.vmax}return a&&(e+=t-n),e},t.prototype.unelapse=function(t){for(var e=qy,n=$y,a=!0,i=0,o=0;ol?r.vmin+(t-l)/(s-l)*(r.vmax-r.vmin):n+t-e,n=r.vmax,a=!1;break}e=s,n=r.vmax}return a&&(i=n+t-e),i},t}();function Zy(){return new Hy}var qy=0,$y=0;function Ky(t,e,n,a,i,o){"no"!==t&&G(n,function(n){var r=Jy(n,o);if(r)for(var l=e.length-1;l>=0;l--){var s=e[l],u=a(s),d=3*i/4;u>r.vmin-d&&ue[0]&&n=0&&t<.99999})(l)||(l=0),i.gapParsed.type="tpPrct",i.gapParsed.val=l,o=!0}}if(!o){var s=e(t.gap);(!isFinite(s)||s<0)&&(s=0),i.gapParsed.type="tpAbs",i.gapParsed.val=s}}if(i.vmin===i.vmax&&(i.gapParsed.type="tpAbs",i.gapParsed.val=0),n&&n.noNegative&&G(["vmin","vmax"],function(t){i[t]<0&&(i[t]=0)}),i.vmin>i.vmax){var u=i.vmax;i.vmax=i.vmin,i.vmin=u}a.push(i)}}),a.sort(function(t,e){return t.vmin-e.vmin});var i=-1/0;return G(a,function(t,e){i>t.vmin&&(a[e]=null),i=t.vmax}),{breaks:a.filter(function(t){return!!t})}}function em(t,e){return nm(e)===nm(t)}function nm(t){return t.start+"_\0_"+t.end}function am(t,e,n){var a=[];G(t,function(t,n){var i=e(t);i&&"vmin"===i.type&&a.push([n])}),G(t,function(n,i){var o=e(n);if(o&&"vmax"===o.type){var r=Ao(a,function(n){return em(e(t[n[0]]).parsedBreak.breakOption,o.parsedBreak.breakOption)});r&&r.push(i)}});var i=[];return G(a,function(e){2===e.length&&i.push(n?e:[t[e[0]],t[e[1]]])}),i}function im(t,e,n,a){var i,o;if(t.break){var r=t.break.parsedBreak,l=Ao(n,function(e){return em(e.breakOption,t.break.parsedBreak.breakOption)}),s=a(Math.pow(e,r.vmin),l.vmin),u=a(Math.pow(e,r.vmax),l.vmax),d={type:r.gapParsed.type,val:"tpAbs"===r.gapParsed.type?$e(Math.pow(e,r.vmin+r.gapParsed.val))-s:r.gapParsed.val};i={type:t.break.type,parsedBreak:{breakOption:r.breakOption,vmin:s,vmax:u,gapParsed:d,gapReal:r.gapReal}},o=l[t.break.type]}return{brkRoundingCriterion:o,vBreak:i}}function om(t,e,n){var a={noNegative:!0},i=tm(t,n,a),o=tm(t,n,a),r=Math.log(e);return o.breaks=St(o.breaks,function(t){var e=Math.log(t.vmin)/r;return{vmin:e,vmax:Math.log(t.vmax)/r,gapParsed:{type:t.gapParsed.type,val:"tpAbs"===t.gapParsed.type?Math.log(t.vmin+t.gapParsed.val)/r-e:t.gapParsed.val},gapReal:t.gapReal,breakOption:t.breakOption}}),{parsedOriginal:i,parsedLogged:o}}var rm={vmin:"start",vmax:"end"};function lm(t,e){return e&&((t=t||{}).break={type:rm[e.type],start:e.parsedBreak.vmin,end:e.parsedBreak.vmax}),t}var sm=k();function um(t,e,n,a,i){var o=n.axis;if(!o.scale.isBlank()&&Eo()){var r=Eo().retrieveAxisBreakPairs(o.scale.getTicks({breakTicks:"only_break"}),function(t){return t.break},!1);if(r.length){var l=n.getModel("breakArea"),s=l.get("zigzagAmplitude"),u=l.get("zigzagMinSpan"),d=l.get("zigzagMaxSpan");u=Math.max(2,u||0),d=Math.max(u,d||0);var c=l.get("expandOnClick"),h=l.get("zigzagZ"),p=l.getModel("itemStyle").getItemStyle(),f=p.stroke,g=p.lineWidth,v=p.lineDash,y=p.fill,m=new at({ignoreModelZ:!0}),x=o.isHorizontal(),_=sm(e).visualList||(sm(e).visualList=[]);G(_,function(t){return t.shouldRemove=!0});for(var b=function(t){var e=r[t][0].break.parsedBreak,l=[];l[0]=o.toGlobalCoord(o.dataToCoord(e.vmin,!0)),l[1]=o.toGlobalCoord(o.dataToCoord(e.vmax,!0)),l[1]=x;T&&(I=x);var D=[],L=[];D[c]=n,L[c]=i,C||T||(D[c]+=S?-s:s,L[c]-=S?s:-s),D[m]=I,L[m]=I,b.push(D),w.push(L);var A=void 0;if(M=0;e--)t[e].shouldRemove&&t.splice(e,1)}(_)}}}function dm(t,e,n,a){var i=t.axis,o=n.transform;bt(a.style);var r=i.getExtent();i.inverse&&(r=r.slice()).reverse();var l=Eo().retrieveAxisBreakPairs(i.scale.getTicks({breakTicks:"only_break"}),function(t){return t.break},!1),s=St(l,function(t){var e=t[0].break.parsedBreak,n=[i.dataToCoord(e.vmin,!0),i.dataToCoord(e.vmax,!0)];return n[0]>n[1]&&n.reverse(),{coordPair:n,brkId:Eo().serializeAxisBreakIdentifier(e.breakOption)}});s.sort(function(t,e){return t.coordPair[0]-e.coordPair[0]});for(var u=r[0],d=null,c=0;c=0?l[0].width:l[1].width)+u.x)/2-s.x,c=Math.min(d,d-u.x),h=Math.max(d,d-u.x);r=(d-(h<0?h:c>0?c:0))/u.x}var p=new an,f=new an;an.scale(p,a,-r),an.scale(f,a,1-r),Vo(n[0],p),Vo(n[1],f)}}function g(t){var e=n[0].localRect,a=new an(e[ni[t]]*o[0][0],e[ni[t]]*o[0][1]);return Math.abs(a.y)<1e-5}}function hm(t,e){var n={breaks:[]};return G(e.breaks,function(a){if(a){var i=Ao(t.get("breaks",!0),function(t){return Eo().identifyAxisBreak(t,a)});if(i){var o=e.type,r={isExpanded:!!i.isExpanded};i.isExpanded=o===No||o!==zo&&(o===Ro?!i.isExpanded:i.isExpanded),n.breaks.push({start:i.start,end:i.end,isExpanded:!!i.isExpanded,old:r})}}}),n}function pm(t,e){G(t,function(t){if(!t.model.get(["axisLabel","inside"])){var n=function(t){var e,n,a=t.model,i=t.scale;if(!a.get(["axisLabel","show"])||i.isBlank())return;var o=i.getExtent();n=i instanceof ri?i.count():(e=i.getTicks()).length;var r,l=t.getLabelModel(),s=Fo(t),u=1;n>40&&(u=Math.ceil(n/40));for(var d=0;d + * @author owenm + * @license MIT + */ +function fm(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var a=n.call(t,e);if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function gm(){return gm=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0&&i.push({dataGroupId:e.oldDataGroupIds[n],data:e.oldData[n],divide:Uy(e.oldData[n]),groupIdDim:t.dimension})}),G(Vt(t.to),function(t){var a=Xy(n.updatedSeries,t);if(a>=0){var i=n.updatedSeries[a].getData();o.push({dataGroupId:e.oldDataGroupIds[a],data:i,divide:Uy(i),groupIdDim:t.dimension})}}),i.length>0&&o.length>0&&Fy(i,o,a)}(t,a,n,e)});else{var o=function(t,e){var n=Ot(),a=Ot(),i=Ot();return G(t.oldSeries,function(e,n){var o=t.oldDataGroupIds[n],r=t.oldData[n],l=jy(e),s=Yy(l);a.set(s,{dataGroupId:o,data:r}),It(l)&&G(l,function(t){i.set(t,{key:s,dataGroupId:o,data:r})})}),G(e.updatedSeries,function(t){if(t.isUniversalTransitionEnabled()&&t.isAnimationEnabled()){var e=t.get("dataGroupId"),o=t.getData(),r=jy(t),l=Yy(r),s=a.get(l);if(s)n.set(l,{oldSeries:[{dataGroupId:s.dataGroupId,divide:Uy(s.data),data:s.data}],newSeries:[{dataGroupId:e,divide:Uy(o),data:o}]});else if(It(r)){var u=[];G(r,function(t){var e=a.get(t);e.data&&u.push({dataGroupId:e.dataGroupId,divide:Uy(e.data),data:e.data})}),u.length&&n.set(l,{oldSeries:u,newSeries:[{dataGroupId:e,data:o,divide:Uy(o)}]})}else{var d=i.get(r);if(d){var c=n.get(d.key);c||(c={oldSeries:[{dataGroupId:d.dataGroupId,data:d.data,divide:Uy(d.data)}],newSeries:[]},n.set(d.key,c)),c.newSeries.push({dataGroupId:e,data:o,divide:Uy(o)})}}}}),n}(a,n);G(o.keys(),function(t){var n=o.get(t);Fy(n.oldSeries,n.newSeries,e)})}G(n.updatedSeries,function(t){t[To]&&(t[To]=!1)})}for(var r=t.getSeries(),l=a.oldSeries=[],s=a.oldDataGroupIds=[],u=a.oldData=[],d=0;d"===e[0]&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(n){return!1}return!1}}function Am(t){return t.host&&t!==document&&t.host.nodeType&&t.host!==t?t.host:t.parentNode}function Pm(t,e,n,a){if(t){n=n||document;do{if(null!=e&&(">"===e[0]?t.parentNode===n&&Lm(t,e):Lm(t,e))||a&&t===n)return t;if(t===n)break}while(t=Am(t))}return null}var km,Em=/\s+/g;function Nm(t,e,n){if(t&&e)if(t.classList)t.classList[n?"add":"remove"](e);else{var a=(" "+t.className+" ").replace(Em," ").replace(" "+e+" "," ");t.className=(a+(n?" "+e:"")).replace(Em," ")}}function zm(t,e,n){var a=t&&t.style;if(a){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),void 0===e?n:n[e];e in a||-1!==e.indexOf("webkit")||(e="-webkit-"+e),a[e]=n+("string"==typeof n?"":"px")}}function Rm(t,e){var n="";if("string"==typeof t)n=t;else do{var a=zm(t,"transform");a&&"none"!==a&&(n=a+" "+n)}while(!e&&(t=t.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(n)}function Om(t,e,n){if(t){var a=t.getElementsByTagName(e),i=0,o=a.length;if(n)for(;i=Bm(a)[n]))return a;if(a===Vm())break;a=Um(a,!1)}return!1}function Wm(t,e,n,a){for(var i=0,o=0,r=t.children;o2&&void 0!==arguments[2]?arguments[2]:{},a=n.evt,i=function(t,e){if(null==t)return{};var n,a,i=function(t,e){if(null==t)return{};var n={};for(var a in t)if({}.hasOwnProperty.call(t,a)){if(-1!==e.indexOf(a))continue;n[a]=t[a]}return n}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(a=0;a=a&&"none"===n[Gx]||o&&"none"===n[Gx]&&s+u>a)?"vertical":"horizontal"},Yx=function(t){function e(t,n){return function(a,i,o,r){var l=a.options.group.name&&i.options.group.name&&a.options.group.name===i.options.group.name;if(null==t&&(n||l))return!0;if(null==t||!1===t)return!1;if(n&&"clone"===t)return t;if("function"==typeof t)return e(t(a,i,o,r),n)(a,i,o,r);var s=(n?a:i).options.group.name;return!0===t||"string"==typeof t&&t===s||t.join&&t.indexOf(s)>-1}}var n={},a=t.group;a&&"object"==mm(a)||(a={name:a}),n.name=a.name,n.checkPull=e(a.pull,!0),n.checkPut=e(a.put),n.revertClone=a.revertClone,t.group=n},Ux=function(){!Fx&&lx&&zm(lx,"display","none")},Xx=function(){!Fx&&lx&&zm(lx,"display","")};Vx&&!Mm&&document.addEventListener("click",function(t){if(Px)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),Px=!1,!1},!0);var Hx=function(t){if(ox){t=t.touches?t.touches[0]:t;var e=(i=t.clientX,o=t.clientY,kx.some(function(t){var e=t[Km].options.emptyInsertThreshold;if(e&&!Fm(t)){var n=Bm(t),a=i>=n.left-e&&i<=n.right+e,l=o>=n.top-e&&o<=n.bottom+e;return a&&l?r=t:void 0}}),r);if(e){var n={};for(var a in t)t.hasOwnProperty(a)&&(n[a]=t[a]);n.target=n.rootEl=e,n.preventDefault=void 0,n.stopPropagation=void 0,e[Km]._onDragOver(n)}}var i,o,r},Zx=function(t){ox&&ox.parentNode[Km]._isOutsideThisEl(t.target)};function qx(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=gm({},e),t[Km]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return jx(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==qx.supportPointer&&"PointerEvent"in window&&(!Sm||Im),emptyInsertThreshold:5};for(var a in ex.initializePlugins(this,t,n),n)!(a in e)&&(e[a]=n[a]);for(var i in Yx(e),this)"_"===i.charAt(0)&&"function"==typeof this[i]&&(this[i]=this[i].bind(this));this.nativeDraggable=!e.forceFallback&&Wx,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?Tm(t,"pointerdown",this._onTapStart):(Tm(t,"mousedown",this._onTapStart),Tm(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(Tm(t,"dragover",this),Tm(t,"dragenter",this)),kx.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),gm(this,Qm())}function $x(t,e,n,a,i,o,r,l){var s,u,d=t[Km],c=d.options.onMove;return!window.CustomEvent||_m||bm?(s=document.createEvent("Event")).initEvent("move",!0,!0):s=new CustomEvent("move",{bubbles:!0,cancelable:!0}),s.to=e,s.from=t,s.dragged=n,s.draggedRect=a,s.related=i||e,s.relatedRect=o||Bm(e),s.willInsertAfter=l,s.originalEvent=r,t.dispatchEvent(s),c&&(u=c.call(d,s,r)),u}function Kx(t){t.draggable=!1}function Qx(){Rx=!1}function Jx(t){for(var e=t.tagName+t.className+t.src+t.href+t.textContent,n=e.length,a=0;n--;)a+=e.charCodeAt(n);return a.toString(36)}function t_(t){return setTimeout(t,0)}function e_(t){return clearTimeout(t)}qx.prototype={constructor:qx,_isOutsideThisEl:function(t){this.el.contains(t)||t===this.el||(Cx=null)},_getDirection:function(t,e){return"function"==typeof this.options.direction?this.options.direction.call(this,t,e,ox):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e=this,n=this.el,a=this.options,i=a.preventOnFilter,o=t.type,r=t.touches&&t.touches[0]||t.pointerType&&"touch"===t.pointerType&&t,l=(r||t).target,s=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||l,u=a.filter;if(function(t){Ox.length=0;var e=t.getElementsByTagName("input"),n=e.length;for(;n--;){var a=e[n];a.checked&&Ox.push(a)}}(n),!ox&&!(/mousedown|pointerdown/.test(o)&&0!==t.button||a.disabled)&&!s.isContentEditable&&(this.nativeDraggable||!Sm||!l||"SELECT"!==l.tagName.toUpperCase())&&!((l=Pm(l,a.draggable,n,!1))&&l.animated||dx===l)){if(px=jm(l),gx=jm(l,a.draggable),"function"==typeof u){if(u.call(this,t,l,this))return ix({sortable:e,rootEl:s,name:"filter",targetEl:l,toEl:n,fromEl:n}),ax("filter",e,{evt:t}),void(i&&t.preventDefault())}else if(u&&(u=u.split(",").some(function(a){if(a=Pm(s,a.trim(),n,!1))return ix({sortable:e,rootEl:a,name:"filter",targetEl:l,fromEl:n,toEl:n}),ax("filter",e,{evt:t}),!0})))return void(i&&t.preventDefault());a.handle&&!Pm(s,a.handle,n,!1)||this._prepareDragStart(t,r,l)}}},_prepareDragStart:function(t,e,n){var a,i=this,o=i.el,r=i.options,l=o.ownerDocument;if(n&&!ox&&n.parentNode===o){var s=Bm(n);if(sx=o,rx=(ox=n).parentNode,ux=ox.nextSibling,dx=n,yx=r.group,qx.dragged=ox,xx={target:ox,clientX:(e||t).clientX,clientY:(e||t).clientY},Sx=xx.clientX-s.left,Ix=xx.clientY-s.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,ox.style["will-change"]="all",a=function(){ax("delayEnded",i,{evt:t}),qx.eventCanceled?i._onDrop():(i._disableDelayedDragEvents(),!wm&&i.nativeDraggable&&(ox.draggable=!0),i._triggerDragStart(t,e),ix({sortable:i,name:"choose",originalEvent:t}),Nm(ox,r.chosenClass,!0))},r.ignore.split(",").forEach(function(t){Om(ox,t.trim(),Kx)}),Tm(l,"dragover",Hx),Tm(l,"mousemove",Hx),Tm(l,"touchmove",Hx),r.supportPointer?(Tm(l,"pointerup",i._onDrop),!this.nativeDraggable&&Tm(l,"pointercancel",i._onDrop)):(Tm(l,"mouseup",i._onDrop),Tm(l,"touchend",i._onDrop),Tm(l,"touchcancel",i._onDrop)),wm&&this.nativeDraggable&&(this.options.touchStartThreshold=4,ox.draggable=!0),ax("delayStart",this,{evt:t}),!r.delay||r.delayOnTouchOnly&&!e||this.nativeDraggable&&(bm||_m))a();else{if(qx.eventCanceled)return void this._onDrop();r.supportPointer?(Tm(l,"pointerup",i._disableDelayedDrag),Tm(l,"pointercancel",i._disableDelayedDrag)):(Tm(l,"mouseup",i._disableDelayedDrag),Tm(l,"touchend",i._disableDelayedDrag),Tm(l,"touchcancel",i._disableDelayedDrag)),Tm(l,"mousemove",i._delayedDragTouchMoveHandler),Tm(l,"touchmove",i._delayedDragTouchMoveHandler),r.supportPointer&&Tm(l,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(a,r.delay)}}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){ox&&Kx(ox),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;Dm(t,"mouseup",this._disableDelayedDrag),Dm(t,"touchend",this._disableDelayedDrag),Dm(t,"touchcancel",this._disableDelayedDrag),Dm(t,"pointerup",this._disableDelayedDrag),Dm(t,"pointercancel",this._disableDelayedDrag),Dm(t,"mousemove",this._delayedDragTouchMoveHandler),Dm(t,"touchmove",this._delayedDragTouchMoveHandler),Dm(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||"touch"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?Tm(document,"pointermove",this._onTouchMove):Tm(document,e?"touchmove":"mousemove",this._onTouchMove):(Tm(ox,"dragend",this),Tm(sx,"dragstart",this._onDragStart));try{document.selection?t_(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(n){}},_dragStarted:function(t,e){if(Ax=!1,sx&&ox){ax("dragStarted",this,{evt:e}),this.nativeDraggable&&Tm(document,"dragover",Zx);var n=this.options;!t&&Nm(ox,n.dragClass,!1),Nm(ox,n.ghostClass,!0),qx.active=this,t&&this._appendGhost(),ix({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(_x){this._lastX=_x.clientX,this._lastY=_x.clientY,Ux();for(var t=document.elementFromPoint(_x.clientX,_x.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(_x.clientX,_x.clientY))!==e;)e=t;if(ox.parentNode[Km]._isOutsideThisEl(t),e)do{if(e[Km]){if(e[Km]._onDragOver({clientX:_x.clientX,clientY:_x.clientY,target:t,rootEl:e})&&!this.options.dragoverBubble)break}t=e}while(e=Am(e));Xx()}},_onTouchMove:function(t){if(xx){var e=this.options,n=e.fallbackTolerance,a=e.fallbackOffset,i=t.touches?t.touches[0]:t,o=lx&&Rm(lx,!0),r=lx&&o&&o.a,l=lx&&o&&o.d,s=Bx&&Lx&&Ym(Lx),u=(i.clientX-xx.clientX+a.x)/(r||1)+(s?s[0]-zx[0]:0)/(r||1),d=(i.clientY-xx.clientY+a.y)/(l||1)+(s?s[1]-zx[1]:0)/(l||1);if(!qx.active&&!Ax){if(n&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))i.right+o||t.clientY>a.bottom&&t.clientX>a.left:t.clientY>i.bottom+o||t.clientX>a.right&&t.clientY>a.top}(t,i,this)&&!g.animated){if(g===ox)return P(!1);if(g&&o===t.target&&(r=g),r&&(n=Bm(r)),!1!==$x(sx,o,ox,e,r,n,t,!!r))return A(),g&&g.nextSibling?o.insertBefore(ox,g.nextSibling):o.appendChild(ox),rx=o,k(),P(!0)}else if(g&&function(t,e,n){var a=Bm(Wm(n.el,0,n.options,!0)),i=$m(n.el,n.options,lx),o=10;return e?t.clientXd+u*o/2:sc-Dx)return-Tx}else if(s>d+u*(1-i)/2&&sc-u*o/2))return s>d+u/2?1:-1;return 0}(t,r,n,i,b?1:l.swapThreshold,null==l.invertedSwapThreshold?l.swapThreshold:l.invertedSwapThreshold,Nx,Cx===r),0!==y){var M=jm(ox);do{M-=y,x=rx.children[M]}while(x&&("none"===zm(x,"display")||x===lx))}if(0===y||x===r)return P(!1);Cx=r,Tx=y;var C=r.nextElementSibling,T=!1,D=$x(sx,o,ox,e,r,n,t,T=1===y);if(!1!==D)return 1!==D&&-1!==D||(T=1===D),Rx=!0,setTimeout(Qx,30),A(),T&&!C?o.appendChild(ox):r.parentNode.insertBefore(ox,T?C:r),S&&Zm(S,0,I-S.scrollTop),rx=ox.parentNode,void 0===m||Nx||(Dx=Math.abs(m-Bm(r)[w])),k(),P(!0)}if(o.contains(ox))return P(!1)}return!1}function L(l,s){ax(l,p,ym({evt:t,isOwner:d,axis:i?"vertical":"horizontal",revert:a,dragRect:e,targetRect:n,canSort:c,fromSortable:h,target:r,completed:P,onMove:function(n,a){return $x(sx,o,ox,e,n,Bm(n),t,a)},changed:k},s))}function A(){L("dragOverAnimationCapture"),p.captureAnimationState(),p!==h&&h.captureAnimationState()}function P(e){return L("dragOverCompleted",{insertion:e}),e&&(d?u._hideClone():u._showClone(p),p!==h&&(Nm(ox,mx?mx.options.ghostClass:u.options.ghostClass,!1),Nm(ox,l.ghostClass,!0)),mx!==p&&p!==qx.active?mx=p:p===qx.active&&mx&&(mx=null),h===p&&(p._ignoreWhileAnimating=r),p.animateAll(function(){L("dragOverAnimationComplete"),p._ignoreWhileAnimating=null}),p!==h&&(h.animateAll(),h._ignoreWhileAnimating=null)),(r===ox&&!ox.animated||r===o&&!r.animated)&&(Cx=null),l.dragoverBubble||t.rootEl||r===document||(ox.parentNode[Km]._isOutsideThisEl(t.target),!e&&Hx(t)),!l.dragoverBubble&&t.stopPropagation&&t.stopPropagation(),f=!0}function k(){fx=jm(ox),vx=jm(ox,l.draggable),ix({sortable:p,name:"change",toEl:o,newIndex:fx,newDraggableIndex:vx,originalEvent:t})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){Dm(document,"mousemove",this._onTouchMove),Dm(document,"touchmove",this._onTouchMove),Dm(document,"pointermove",this._onTouchMove),Dm(document,"dragover",Hx),Dm(document,"mousemove",Hx),Dm(document,"touchmove",Hx)},_offUpEvents:function(){var t=this.el.ownerDocument;Dm(t,"mouseup",this._onDrop),Dm(t,"touchend",this._onDrop),Dm(t,"pointerup",this._onDrop),Dm(t,"pointercancel",this._onDrop),Dm(t,"touchcancel",this._onDrop),Dm(document,"selectstart",this)},_onDrop:function(t){var e=this.el,n=this.options;fx=jm(ox),vx=jm(ox,n.draggable),ax("drop",this,{evt:t}),rx=ox&&ox.parentNode,fx=jm(ox),vx=jm(ox,n.draggable),qx.eventCanceled||(Ax=!1,Nx=!1,Ex=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),e_(this.cloneId),e_(this._dragStartId),this.nativeDraggable&&(Dm(document,"drop",this),Dm(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Sm&&zm(document.body,"user-select",""),zm(ox,"transform",""),t&&(Mx&&(t.cancelable&&t.preventDefault(),!n.dropBubble&&t.stopPropagation()),lx&&lx.parentNode&&lx.parentNode.removeChild(lx),(sx===rx||mx&&"clone"!==mx.lastPutMode)&&cx&&cx.parentNode&&cx.parentNode.removeChild(cx),ox&&(this.nativeDraggable&&Dm(ox,"dragend",this),Kx(ox),ox.style["will-change"]="",Mx&&!Ax&&Nm(ox,mx?mx.options.ghostClass:this.options.ghostClass,!1),Nm(ox,this.options.chosenClass,!1),ix({sortable:this,name:"unchoose",toEl:rx,newIndex:null,newDraggableIndex:null,originalEvent:t}),sx!==rx?(fx>=0&&(ix({rootEl:rx,name:"add",toEl:rx,fromEl:sx,originalEvent:t}),ix({sortable:this,name:"remove",toEl:rx,originalEvent:t}),ix({rootEl:rx,name:"sort",toEl:rx,fromEl:sx,originalEvent:t}),ix({sortable:this,name:"sort",toEl:rx,originalEvent:t})),mx&&mx.save()):fx!==px&&fx>=0&&(ix({sortable:this,name:"update",toEl:rx,originalEvent:t}),ix({sortable:this,name:"sort",toEl:rx,originalEvent:t})),qx.active&&(null!=fx&&-1!==fx||(fx=px,vx=gx),ix({sortable:this,name:"end",toEl:rx,originalEvent:t}),this.save())))),this._nulling()},_nulling:function(){ax("nulling",this),sx=ox=rx=lx=ux=cx=dx=hx=xx=_x=Mx=fx=vx=px=gx=Cx=Tx=mx=yx=qx.dragged=qx.ghost=qx.clone=qx.active=null;var t=this.el;Ox.forEach(function(e){t.contains(e)&&(e.checked=!0)}),Ox.length=bx=wx=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":ox&&(this._onDragOver(t),function(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move");t.cancelable&&t.preventDefault()}(t));break;case"selectstart":t.preventDefault()}},toArray:function(){for(var t,e=[],n=this.el.children,a=0,i=n.length,o=this.options;ae.id===t);if(e){if(H.name=e.name,e.images_json)try{const t=JSON.parse(e.images_json);Array.isArray(t)&&t.length>0&&(H.image=t[0])}catch(n){H.image=e.images_json}H.cost_price=(e.price||0)/100}}function mt(t){if(null==t)return void(V.channel_id=null);const e=q.value.find(e=>e.id===t);e&&!V.streamer_name&&(V.streamer_name=e.name)}function xt(){return t(this,null,function*(){k.value=!0;try{const t=yield o.get({url:"/admin/livestream/activities",params:{page:z.page,page_size:z.pageSize}});N.value=t.list||[],z.total=t.total||0}catch(t){}finally{k.value=!1}})}function _t(){O.value=null,Object.assign(V,{name:"",streamer_name:"",streamer_contact:"",channel_id:null,douyin_product_id:"",order_reward_type:"",order_reward_quantity:1,ticket_price:0,status:1}),R.value=!0}function bt(){return t(this,null,function*(){if(V.name){E.value=!0;try{const t={name:V.name,streamer_name:V.streamer_name,streamer_contact:V.streamer_contact,douyin_product_id:V.douyin_product_id,ticket_price:Math.round(100*Number(V.ticket_price)),status:V.status};if(null!==V.channel_id&&void 0!==V.channel_id&&(t.channel_id=V.channel_id),O.value)yield o.put({url:`/admin/livestream/activities/${O.value}`,data:t}),D.success("更新成功");else{const e=yield o.post({url:"/admin/livestream/activities",data:t});D.success(`创建成功,访问码: ${e.access_code}`)}R.value=!1,xt()}catch(t){D.error((null==t?void 0:t.message)||"操作失败")}finally{E.value=!1}}else D.warning("请输入活动名称")})}function wt(){return t(this,null,function*(){if(W.value){j.value=!0;try{const t=yield o.get({url:`/admin/livestream/activities/${W.value}/prizes`});G.value=t||[],A(()=>{St()})}catch(t){}finally{j.value=!1}}})}function St(){if(!U.value)return;X&&X.destroy();const e=U.value.$el.querySelector(".el-table__body-wrapper tbody");e&&(X=new qx(e,{handle:".drag-handle",animation:150,ghostClass:"sortable-ghost",onEnd:e=>t(this,null,function*(){const{oldIndex:n,newIndex:a}=e;if(n===a)return;const i=G.value.splice(n,1)[0];G.value.splice(a,0,i),yield function(){return t(this,null,function*(){if(W.value)try{const t=G.value.map(t=>t.id);yield o.put({url:`/admin/livestream/activities/${W.value}/prizes/sort`,data:{prize_ids:t}}),D.success("排序已保存")}catch(t){D.error((null==t?void 0:t.message)||"保存排序失败"),yield wt()}})}()})}))}function It(){Y.value=null,Object.assign(H,{name:"",image:"",level:1,weight:1,quantity:-1,product_id:null,cost_price:0,reward_type:"",reward_quantity:1}),F.value=!0}function Mt(){return t(this,null,function*(){if(H.name)try{const t={name:H.name,image:H.image,level:H.level,weight:H.weight,quantity:H.quantity,product_id:H.product_id||0,cost_price:Math.round(100*Number(H.cost_price)),reward_type:H.reward_type||"",reward_quantity:H.reward_quantity||1};Y.value?(yield o.put({url:`/admin/livestream/prizes/${Y.value}`,data:t}),D.success("编辑成功")):(yield o.post({url:`/admin/livestream/activities/${W.value}/prizes`,data:[t]}),D.success("添加成功")),F.value=!1,Y.value=null,wt()}catch(t){D.error((null==t?void 0:t.message)||(Y.value?"编辑失败":"添加失败"))}else D.warning("请输入或选择奖品")})}function Ct(){return t(this,null,function*(){if(ot.value){Q.value=!0;try{const t={page:it.page,page_size:it.pageSize};et.value&&2===et.value.length&&(t.start_time=et.value[0],t.end_time=et.value[1]),nt.value&&(t.keyword=nt.value),at.value&&(t.exclude_user_ids=at.value);const e=yield o.get({url:`/admin/livestream/activities/${ot.value}/draw_logs`,params:t});K.value=e.list||[],J.value=e.total||0,tt.value=e.stats||null}catch(t){}finally{Q.value=!1}}})}function Tt(){et.value=null,nt.value="",at.value="",it.page=1,Ct()}function Dt(){return t(this,null,function*(){if(gt.value){pt.value=!0;try{const t=yield o.get({url:`/admin/livestream/activities/${gt.value}/commitment/summary`});vt.value={has_seed:t.has_seed||!1,seed_version:t.seed_version||0,algo:t.algo||"",seed_hash_hex:t.seed_hash_hex||""}}catch(t){D.error("获取承诺状态失败")}finally{pt.value=!1}}})}function Lt(){return t(this,null,function*(){if(!gt.value)return;const t=vt.value.has_seed?"重新生成将覆盖现有承诺。确定要重新生成吗?":"确定生成承诺吗?";try{yield L.confirm(t,"确认",{type:"warning"})}catch(e){return}ft.value=!0;try{const t=yield o.post({url:`/admin/livestream/activities/${gt.value}/commitment/generate`});D.success(`承诺生成成功,版本: ${t.seed_version}`),yield Dt()}catch(e){D.error((null==e?void 0:e.message)||"生成承诺失败")}finally{ft.value=!1}})}function At(){vt.value.seed_hash_hex?(navigator.clipboard.writeText(vt.value.seed_hash_hex),D.success("Seed Hash 已复制到剪贴板")):D.warning("没有可复制的 Seed Hash")}function Pt(){return t(this,null,function*(){if(W.value){lt.value=!0;try{const t={};ut.value&&2===ut.value.length&&(t.start_time=ut.value[0],t.end_time=ut.value[1]);const e=yield o.get({url:`/admin/livestream/activities/${W.value}/stats`,params:t});st.value={total_revenue:e.total_revenue,total_refund:e.total_refund,total_cost:e.total_cost,net_profit:e.net_profit,order_count:e.order_count,refund_count:e.refund_count,profit_margin:e.profit_margin,daily:(e.daily||[]).sort((t,e)=>e.date.localeCompare(t.date))},A(()=>{!function(){if(!dt.value)return;ct&&ct.dispose();ct=pr(dt.value),st.value.total_cost,st.value.net_profit,st.value.total_refund;const t={title:{text:"盈亏概览",left:"center"},tooltip:{trigger:"axis",axisPointer:{type:"shadow"},formatter:t=>{const e=t[0];return`${e.name}: ${e.value}元`}},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:[{type:"category",data:["总营收","总退款","总成本","净利润"],axisTick:{alignWithLabel:!0}}],yAxis:[{type:"value"}],series:[{name:"金额",type:"bar",barWidth:"60%",data:[{value:st.value.total_revenue/100,itemStyle:{color:"#409EFF"}},{value:st.value.total_refund/100,itemStyle:{color:"#F56C6C"}},{value:st.value.total_cost/100,itemStyle:{color:"#E6A23C"}},{value:st.value.net_profit/100,itemStyle:{color:st.value.net_profit>=0?"#67C23A":"#909399"}}]}]};ct.setOption(t)}()})}catch(t){}finally{lt.value=!1}}})}function kt(){ut.value=null,Pt()}return i(()=>{xt(),function(){t(this,null,function*(){try{const t=yield P({page:1,page_size:2e3});Z.value=t.list.map(t=>({id:t.id,name:t.name,price:t.price,images_json:t.images_json}))}catch(t){}})}(),function(){t(this,null,function*(){try{const t=yield o.get({url:"/admin/channels",params:{page:1,page_size:200}});q.value=(t.list||[]).map(t=>({id:t.id,name:t.name,code:t.code}))}catch(t){}})}()}),(e,n)=>{const a=x,i=v,P=gr,X=vr,ct=fr,Et=yr,Nt=mr,zt=w,Rt=_r,Ot=wr,Vt=br,Bt=Sr,Gt=Mr,Wt=Ir,Ft=xr,jt=Cr,Yt=Tr,Ut=Lr,Xt=Dr,Ht=Ar,Zt=Pr,qt=r("DataAnalysis"),$t=r("e-divider"),Kt=kr,Qt=m;return s(),l("div",v_,[u(Nt,{shadow:"never"},{header:d(()=>[h("div",y_,[n[33]||(n[33]=h("span",{class:"font-bold"},"直播间活动管理",-1)),u(i,{type:"primary",onClick:_t},{default:d(()=>[u(a,{class:"mr-1"},{default:d(()=>[u(_(b))]),_:1}),n[32]||(n[32]=y(" 创建活动 ",-1))]),_:1})])]),default:d(()=>[c((s(),p(ct,{data:N.value,border:"",style:{width:"100%"}},{default:d(()=>[u(P,{prop:"id",label:"ID",width:"80"}),u(P,{prop:"name",label:"活动名称","min-width":"150"}),u(P,{prop:"streamer_name",label:"主播名称",width:"120"}),u(P,{label:"渠道主播",width:"180"},{default:d(({row:t})=>[t.channel_id?(s(),l("div",m_,[h("p",x_,g(t.channel_name||t.streamer_name||"-"),1),t.channel_code?(s(),l("p",__,g(t.channel_code),1)):f("",!0)])):(s(),l("span",b_,"未关联"))]),_:1}),u(P,{prop:"access_code",label:"访问码",width:"180"},{default:d(({row:t})=>{var e;return[h("div",w_,[h("span",S_,g(null==(e=t.access_code)?void 0:e.slice(0,8))+"...",1),u(i,{link:"",type:"primary",size:"small",onClick:e=>function(t){const e=`${window.location.origin}/?code=${t.access_code}`;navigator.clipboard.writeText(e),D.success("链接已复制")}(t)},{default:d(()=>[...n[34]||(n[34]=[y(" 复制链接 ",-1)])]),_:1},8,["onClick"])])]}),_:1}),u(P,{label:"门票价格",width:"100"},{default:d(({row:t})=>[y(g((t.ticket_price/100).toFixed(2)),1)]),_:1}),u(P,{prop:"status",label:"状态",width:"100"},{default:d(({row:t})=>[u(X,{type:1===t.status?"success":"info",size:"small"},{default:d(()=>[y(g(1===t.status?"进行中":"已结束"),1)]),_:2},1032,["type"])]),_:1}),u(P,{prop:"created_at",label:"创建时间",width:"170"}),u(P,{label:"操作",width:"280",fixed:"right"},{default:d(({row:e})=>[u(i,{link:"",type:"primary",size:"small",onClick:n=>function(e){return t(this,null,function*(){W.value=e.id,B.value=!0,F.value=!1,Y.value=null,yield wt(),A(()=>{St()})})}(e)},{default:d(()=>[...n[35]||(n[35]=[y("奖品",-1)])]),_:1},8,["onClick"]),u(i,{link:"",type:"primary",size:"small",onClick:t=>function(t){var e;O.value=t.id,Object.assign(V,{name:t.name,streamer_name:t.streamer_name,streamer_contact:t.streamer_contact,channel_id:null!=(e=t.channel_id)?e:null,douyin_product_id:t.douyin_product_id,ticket_price:t.ticket_price?t.ticket_price/100:0,status:t.status}),R.value=!0}(e)},{default:d(()=>[...n[36]||(n[36]=[y("编辑",-1)])]),_:1},8,["onClick"]),u(i,{link:"",type:"primary",size:"small",onClick:t=>function(t){ot.value=t.id,et.value=null,nt.value="",it.page=1,$.value=!0,Ct()}(e)},{default:d(()=>[...n[37]||(n[37]=[y("记录",-1)])]),_:1},8,["onClick"]),u(i,{link:"",type:"primary",size:"small",onClick:t=>function(t){W.value=t.id,ut.value=null,rt.value=!0,Pt()}(e)},{default:d(()=>[...n[38]||(n[38]=[y("盈亏",-1)])]),_:1},8,["onClick"]),u(i,{link:"",type:"warning",size:"small",onClick:n=>function(e){return t(this,null,function*(){gt.value=e.id,ht.value=!0,yield Dt()})}(e)},{default:d(()=>[...n[39]||(n[39]=[y("承诺",-1)])]),_:1},8,["onClick"]),u(i,{link:"",type:"danger",size:"small",onClick:n=>function(e){return t(this,null,function*(){try{yield L.confirm("确定删除该活动?","提示",{type:"warning"}),yield o.del({url:`/admin/livestream/activities/${e.id}`}),D.success("删除成功"),xt()}catch(t){}})}(e)},{default:d(()=>[...n[40]||(n[40]=[y("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Qt,k.value]]),h("div",I_,[u(Et,{"current-page":z.page,"onUpdate:currentPage":n[0]||(n[0]=t=>z.page=t),"page-size":z.pageSize,"onUpdate:pageSize":n[1]||(n[1]=t=>z.pageSize=t),total:z.total,"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",onSizeChange:xt,onCurrentChange:xt},null,8,["current-page","page-size","total"])])]),_:1}),u(jt,{modelValue:R.value,"onUpdate:modelValue":n[11]||(n[11]=t=>R.value=t),title:O.value?"编辑活动":"创建活动",width:"500px"},{footer:d(()=>[u(i,{onClick:n[10]||(n[10]=t=>R.value=!1)},{default:d(()=>[...n[45]||(n[45]=[y("取消",-1)])]),_:1}),u(i,{type:"primary",onClick:bt,loading:E.value},{default:d(()=>[...n[46]||(n[46]=[y("确定",-1)])]),_:1},8,["loading"])]),default:d(()=>[u(Ft,{model:V,"label-width":"120px"},{default:d(()=>[u(Rt,{label:"活动名称",required:""},{default:d(()=>[u(zt,{modelValue:V.name,"onUpdate:modelValue":n[2]||(n[2]=t=>V.name=t),placeholder:"请输入活动名称"},null,8,["modelValue"])]),_:1}),u(Rt,{label:"主播名称"},{default:d(()=>[u(zt,{modelValue:V.streamer_name,"onUpdate:modelValue":n[3]||(n[3]=t=>V.streamer_name=t),placeholder:"请输入主播名称"},null,8,["modelValue"])]),_:1}),u(Rt,{label:"主播联系方式"},{default:d(()=>[u(zt,{modelValue:V.streamer_contact,"onUpdate:modelValue":n[4]||(n[4]=t=>V.streamer_contact=t),placeholder:"微信/手机号"},null,8,["modelValue"])]),_:1}),u(Rt,{label:"渠道主播"},{default:d(()=>[u(Vt,{modelValue:V.channel_id,"onUpdate:modelValue":n[5]||(n[5]=t=>V.channel_id=t),placeholder:"选择渠道",clearable:"",style:{width:"100%"},onChange:mt,onClear:n[6]||(n[6]=()=>V.channel_id=null)},{default:d(()=>[(s(!0),l(S,null,I(q.value,t=>(s(),p(Ot,{key:t.id,label:`${t.name} (${t.code})`,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n[41]||(n[41]=h("div",{class:"text-xs text-gray-500 mt-1"},"关联已有渠道主播,方便后续统计",-1))]),_:1}),u(Rt,{label:"抖店商品ID"},{default:d(()=>[u(zt,{modelValue:V.douyin_product_id,"onUpdate:modelValue":n[7]||(n[7]=t=>V.douyin_product_id=t),placeholder:"关联的抖店商品ID"},null,8,["modelValue"]),n[42]||(n[42]=h("div",{class:"text-xs text-gray-500 mt-1"},"下单奖励请在「抖店商品奖励」页面配置",-1))]),_:1}),u(Rt,{label:"门票价格(元)"},{default:d(()=>[u(Bt,{modelValue:V.ticket_price,"onUpdate:modelValue":n[8]||(n[8]=t=>V.ticket_price=t),min:0,precision:2,step:1,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),O.value?(s(),p(Rt,{key:0,label:"状态"},{default:d(()=>[u(Wt,{modelValue:V.status,"onUpdate:modelValue":n[9]||(n[9]=t=>V.status=t)},{default:d(()=>[u(Gt,{value:1},{default:d(()=>[...n[43]||(n[43]=[y("进行中",-1)])]),_:1}),u(Gt,{value:2},{default:d(()=>[...n[44]||(n[44]=[y("已结束",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):f("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),u(jt,{modelValue:B.value,"onUpdate:modelValue":n[12]||(n[12]=t=>B.value=t),title:"奖品管理",width:"900px"},{default:d(()=>[h("div",M_,[u(i,{type:"primary",size:"small",onClick:It},{default:d(()=>[...n[47]||(n[47]=[y("添加奖品",-1)])]),_:1})]),c((s(),p(ct,{data:G.value,border:"",ref_key:"prizeTableRef",ref:U,"row-key":"id"},{default:d(()=>[u(P,{label:"拖动",width:"60",align:"center"},{default:d(()=>[u(a,{class:"drag-handle cursor-move text-gray-400 hover:text-blue-500"},{default:d(()=>[u(_(M))]),_:1})]),_:1}),u(P,{label:"图片",width:"70"},{default:d(({row:t})=>[t.image?(s(),p(Yt,{key:0,src:t.image,"preview-src-list":[t.image],fit:"cover",style:{width:"50px",height:"50px","border-radius":"4px"}},null,8,["src","preview-src-list"])):(s(),l("span",C_,"-"))]),_:1}),u(P,{prop:"name",label:"奖品名称","min-width":"150"}),u(P,{prop:"level",label:"等级",width:"80"}),u(P,{prop:"cost_price",label:"成本(分)",width:"90"}),u(P,{prop:"weight",label:"权重",width:"80"}),u(P,{label:"库存",width:"100"},{default:d(({row:t})=>[y(g(-1===t.remaining?"无限":t.remaining)+" / "+g(-1===t.quantity?"无限":t.quantity),1)]),_:1}),u(P,{label:"奖励配置",width:"180"},{default:d(({row:t})=>[t.reward_type?(s(),l("div",T_,[u(X,{type:"flip_card"===t.reward_type?"success":"warning",size:"small"},{default:d(()=>{return[y(g((e=t.reward_type,{flip_card:"翻牌资格",minesweeper:"扫雷资格"}[e]||e)),1)];var e}),_:2},1032,["type"]),h("span",D_,"× "+g(t.reward_quantity),1)])):(s(),l("span",L_,"无奖励"))]),_:1}),u(P,{label:"操作",width:"140"},{default:d(({row:e})=>[u(i,{link:"",type:"primary",size:"small",onClick:t=>function(t){Y.value=t.id,Object.assign(H,{name:t.name,image:t.image,level:t.level,weight:t.weight,quantity:t.quantity,product_id:t.product_id||null,cost_price:t.cost_price/100,reward_type:t.reward_type||"",reward_quantity:t.reward_quantity||1}),F.value=!0}(e)},{default:d(()=>[...n[48]||(n[48]=[y("编辑",-1)])]),_:1},8,["onClick"]),u(i,{link:"",type:"danger",size:"small",onClick:n=>function(e){return t(this,null,function*(){try{yield L.confirm("确定删除该奖品?","提示",{type:"warning"}),yield o.del({url:`/admin/livestream/prizes/${e.id}`}),D.success("删除成功"),wt()}catch(t){}})}(e)},{default:d(()=>[...n[49]||(n[49]=[y("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Qt,j.value]])]),_:1},8,["modelValue"]),u(jt,{modelValue:F.value,"onUpdate:modelValue":n[21]||(n[21]=t=>F.value=t),title:Y.value?"编辑奖品":"添加奖品",width:"700px","close-on-click-modal":!1},{footer:d(()=>[u(i,{onClick:n[20]||(n[20]=t=>F.value=!1)},{default:d(()=>[...n[53]||(n[53]=[y("取消",-1)])]),_:1}),u(i,{type:"primary",onClick:Mt},{default:d(()=>[...n[54]||(n[54]=[y("保存",-1)])]),_:1})]),default:d(()=>[u(Ft,{model:H,"label-width":"90px"},{default:d(()=>[u(Rt,{label:"选择商品"},{default:d(()=>[u(Vt,{modelValue:H.product_id,"onUpdate:modelValue":n[13]||(n[13]=t=>H.product_id=t),filterable:"",placeholder:"搜索商品",style:{width:"100%"},onChange:yt},{default:d(()=>[(s(!0),l(S,null,I(Z.value,t=>(s(),p(Ot,{key:t.id,value:t.id,label:t.name},{default:d(()=>[h("div",A_,[h("span",P_,g(t.name),1),h("span",k_,"¥"+g((Number(t.price||0)/100).toFixed(2)),1)])]),_:2},1032,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1}),u(Xt,{gutter:16},{default:d(()=>[u(Ut,{span:12},{default:d(()=>[u(Rt,{label:"等级"},{default:d(()=>[u(Vt,{modelValue:H.level,"onUpdate:modelValue":n[14]||(n[14]=t=>H.level=t),style:{width:"100%"}},{default:d(()=>[u(Ot,{value:1,label:"1等奖"}),u(Ot,{value:2,label:"2等奖"}),u(Ot,{value:3,label:"3等奖"}),u(Ot,{value:4,label:"4等奖"}),u(Ot,{value:5,label:"5等奖"}),u(Ot,{value:6,label:"参与奖"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),u(Ut,{span:12},{default:d(()=>[u(Rt,{label:"成本(元)"},{default:d(()=>[u(Bt,{modelValue:H.cost_price,"onUpdate:modelValue":n[15]||(n[15]=t=>H.cost_price=t),min:0,precision:2,step:1,style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),u(Xt,{gutter:16},{default:d(()=>[u(Ut,{span:12},{default:d(()=>[u(Rt,{label:"权重"},{default:d(()=>[u(Bt,{modelValue:H.weight,"onUpdate:modelValue":n[16]||(n[16]=t=>H.weight=t),min:1,style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1}),u(Ut,{span:12},{default:d(()=>[u(Rt,{label:"库存"},{default:d(()=>[u(Bt,{modelValue:H.quantity,"onUpdate:modelValue":n[17]||(n[17]=t=>H.quantity=t),min:-1,style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),u(Ht,{"content-position":"left"},{default:d(()=>[...n[50]||(n[50]=[y("奖励配置",-1)])]),_:1}),u(Xt,{gutter:16},{default:d(()=>[u(Ut,{span:12},{default:d(()=>[u(Rt,{label:"奖励类型"},{default:d(()=>[u(Vt,{modelValue:H.reward_type,"onUpdate:modelValue":n[18]||(n[18]=t=>H.reward_type=t),placeholder:"选择奖励类型(可选)",clearable:"",style:{width:"100%"}},{default:d(()=>[u(Ot,{label:"无奖励",value:""}),u(Ot,{label:"翻牌游戏资格",value:"flip_card"}),u(Ot,{label:"扫雷游戏资格",value:"minesweeper"})]),_:1},8,["modelValue"]),n[51]||(n[51]=h("div",{class:"text-xs text-gray-400 mt-1"}," 用户中奖后将自动发放对应的游戏资格 ",-1))]),_:1})]),_:1}),u(Ut,{span:12},{default:d(()=>[H.reward_type?(s(),p(Rt,{key:0,label:"发放数量"},{default:d(()=>[u(Bt,{modelValue:H.reward_quantity,"onUpdate:modelValue":n[19]||(n[19]=t=>H.reward_quantity=t),min:1,max:100,placeholder:"1-100",style:{width:"100%"}},null,8,["modelValue"]),h("div",E_," 用户将获得 "+g(H.reward_quantity||1)+" 次游戏资格 ",1)]),_:1})):f("",!0)]),_:1})]),_:1}),n[52]||(n[52]=h("div",{class:"text-xs text-gray-400"},"提示:库存设置为 -1 表示无限",-1))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),u(jt,{modelValue:$.value,"onUpdate:modelValue":n[27]||(n[27]=t=>$.value=t),title:"中奖记录",width:"1200px"},{default:d(()=>[h("div",N_,[h("div",z_,[h("div",R_,[u(Zt,{modelValue:et.value,"onUpdate:modelValue":n[22]||(n[22]=t=>et.value=t),type:"datetimerange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间",format:"YYYY-MM-DD HH:mm:ss","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"380px"},"default-time":[new Date(2e3,1,1,0,0,0),new Date(2e3,1,1,23,59,59)],onChange:Ct},null,8,["modelValue","default-time"]),u(zt,{modelValue:at.value,"onUpdate:modelValue":n[23]||(n[23]=t=>at.value=t),placeholder:"排除用户ID (逗号分隔)",style:{width:"200px"},clearable:"",onKeyup:C(Ct,["enter"]),onClear:Ct},null,8,["modelValue"]),u(zt,{modelValue:nt.value,"onUpdate:modelValue":n[24]||(n[24]=t=>nt.value=t),placeholder:"搜索昵称/订单号/奖品名称",style:{width:"240px"},clearable:"",onKeyup:C(Ct,["enter"]),onClear:Ct},null,8,["modelValue"]),u(i,{type:"primary",onClick:Ct},{default:d(()=>[...n[55]||(n[55]=[y("查询",-1)])]),_:1}),u(i,{onClick:Tt},{default:d(()=>[...n[56]||(n[56]=[y("重置",-1)])]),_:1})]),c((s(),p(ct,{data:K.value,border:"","max-height":"600"},{default:d(()=>[u(P,{prop:"id",label:"ID",width:"80"}),u(P,{prop:"shop_order_id",label:"订单ID",width:"180"}),u(P,{prop:"user_nickname",label:"中奖昵称",width:"120"}),u(P,{prop:"prize_name",label:"奖品名称"}),u(P,{prop:"level",label:"等级",width:"80"},{default:d(({row:t})=>[u(X,{type:t.level<=2?"danger":t.level<=4?"warning":"info",size:"small"},{default:d(()=>[y(g(t.level)+"等奖 ",1)]),_:2},1032,["type"])]),_:1}),u(P,{prop:"created_at",label:"中奖时间",width:"170"})]),_:1},8,["data"])),[[Qt,Q.value]]),h("div",O_,[h("span",V_,"共 "+g(J.value)+" 条记录",1),u(Et,{"current-page":it.page,"onUpdate:currentPage":n[25]||(n[25]=t=>it.page=t),"page-size":it.pageSize,"onUpdate:pageSize":n[26]||(n[26]=t=>it.pageSize=t),total:J.value,"page-sizes":[20,50,100],layout:"sizes, prev, pager, next",onSizeChange:Ct,onCurrentChange:Ct},null,8,["current-page","page-size","total"])])]),tt.value&&tt.value.order_count>0?(s(),l("div",B_,[h("div",G_,[u(a,null,{default:d(()=>[u(qt)]),_:1}),n[57]||(n[57]=y(" 统计概览 ",-1))]),h("div",W_,[h("div",F_,[n[58]||(n[58]=h("div",{class:"text-xs text-gray-500 mb-1"},"筛选用户数",-1)),h("div",j_,g(tt.value.user_count),1),nt.value?(s(),l("div",Y_,"关键词: "+g(nt.value),1)):f("",!0)]),h("div",U_,[n[59]||(n[59]=h("div",{class:"text-xs text-gray-500 mb-1"},"总投入 (营收)",-1)),h("div",X_,"¥"+g((tt.value.total_revenue/100).toFixed(2)),1),h("div",H_,"订单数: "+g(tt.value.order_count),1)]),h("div",Z_,[n[60]||(n[60]=h("div",{class:"text-xs text-gray-500 mb-1"},"总退款",-1)),tt.value.total_refund>0?(s(),l("div",q_,"-¥"+g((tt.value.total_refund/100).toFixed(2)),1)):(s(),l("div",$_,"¥0.00"))]),h("div",K_,[n[61]||(n[61]=h("div",{class:"text-xs text-gray-500 mb-1"},"奖品成本",-1)),h("div",Q_,"-¥"+g((tt.value.total_cost/100).toFixed(2)),1)]),u($t,{class:"my-2"}),h("div",J_,[n[62]||(n[62]=h("div",{class:"text-xs text-gray-500 mb-1"},"净盈亏",-1)),h("div",{class:T(["text-2xl font-bold",tt.value.net_profit>0?"text-red-600":tt.value.net_profit<0?"text-green-600":"text-gray-500"])},g(tt.value.net_profit>0?"+":"")+"¥"+g((tt.value.net_profit/100).toFixed(2)),3),n[63]||(n[63]=h("div",{class:"text-xs text-gray-400 mt-1 text-right"},"平台视角",-1))])])])):f("",!0)])]),_:1},8,["modelValue"]),u(Kt,{modelValue:rt.value,"onUpdate:modelValue":n[29]||(n[29]=t=>rt.value=t),title:"活动盈亏统计",size:"50%"},{default:d(()=>[c((s(),l("div",tb,[h("div",eb,[u(Zt,{modelValue:ut.value,"onUpdate:modelValue":n[28]||(n[28]=t=>ut.value=t),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD",style:{width:"280px"}},null,8,["modelValue"]),u(i,{type:"primary",onClick:Pt},{default:d(()=>[...n[64]||(n[64]=[y("查询",-1)])]),_:1}),u(i,{onClick:kt},{default:d(()=>[...n[65]||(n[65]=[y("重置",-1)])]),_:1})]),h("div",nb,[u(Nt,{shadow:"hover",class:"bg-blue-50"},{header:d(()=>[...n[66]||(n[66]=[h("div",{class:"text-sm font-bold text-blue-600"},"总营收 (已支付)",-1)])]),default:d(()=>[h("div",ab,"¥"+g((st.value.total_revenue/100).toFixed(2)),1),h("div",ib,"订单数: "+g(st.value.order_count),1)]),_:1}),u(Nt,{shadow:"hover",class:"bg-red-50"},{header:d(()=>[...n[67]||(n[67]=[h("div",{class:"text-sm font-bold text-red-600"},"总退款",-1)])]),default:d(()=>[h("div",ob,"-¥"+g((st.value.total_refund/100).toFixed(2)),1),h("div",rb,"退款单数: "+g(st.value.refund_count),1)]),_:1}),u(Nt,{shadow:"hover",class:"bg-orange-50"},{header:d(()=>[...n[68]||(n[68]=[h("div",{class:"text-sm font-bold text-orange-600"},"总成本 (奖品)",-1)])]),default:d(()=>[h("div",lb,"-¥"+g((st.value.total_cost/100).toFixed(2)),1),n[69]||(n[69]=h("div",{class:"text-xs text-gray-500 mt-1"},"基于奖品设定成本",-1))]),_:1}),u(Nt,{shadow:"hover",class:"bg-green-50"},{header:d(()=>[...n[70]||(n[70]=[h("div",{class:"text-sm font-bold text-green-600"},"净利润",-1)])]),default:d(()=>[h("div",{class:T(["text-2xl font-bold",st.value.net_profit>0?"text-red-500":st.value.net_profit<0?"text-green-600":"text-gray-500"])}," ¥"+g((st.value.net_profit/100).toFixed(2)),3),h("div",sb,"利润率: "+g(st.value.profit_margin.toFixed(2))+"%",1)]),_:1})]),h("div",{ref_key:"chartRef",ref:dt,style:{width:"100%",height:"350px"}},null,512),h("div",ub,[n[71]||(n[71]=h("div",{class:"flex items-center gap-2 mb-4"},[h("div",{class:"w-1 h-4 bg-primary rounded-full"}),h("span",{class:"font-bold"},"每日明细")],-1)),u(ct,{data:st.value.daily||[],border:"",style:{width:"100%"},size:"small"},{default:d(()=>[u(P,{prop:"date",label:"日期",width:"120",sortable:""}),u(P,{prop:"order_count",label:"订单数",width:"80",align:"center"}),u(P,{prop:"refund_count",label:"退款单数",width:"80",align:"center"}),u(P,{label:"营收",align:"right"},{default:d(({row:t})=>[y(" ¥"+g((t.total_revenue/100).toFixed(2)),1)]),_:1}),u(P,{label:"退款",align:"right"},{default:d(({row:t})=>[h("span",{class:T(t.total_refund>0?"text-red-500":"")}," -¥"+g((t.total_refund/100).toFixed(2)),3)]),_:1}),u(P,{label:"成本",align:"right"},{default:d(({row:t})=>[y(" -¥"+g((t.total_cost/100).toFixed(2)),1)]),_:1}),u(P,{label:"净利润",align:"right"},{default:d(({row:t})=>[h("span",{class:T(t.net_profit>0?"text-red-500 font-bold":t.net_profit<0?"text-green-600 font-bold":"text-gray-500")}," ¥"+g((t.net_profit/100).toFixed(2)),3)]),_:1}),u(P,{label:"利润率",width:"90",align:"center"},{default:d(({row:t})=>[y(g(t.profit_margin.toFixed(2))+"% ",1)]),_:1})]),_:1},8,["data"])])])),[[Qt,lt.value]])]),_:1},8,["modelValue"]),u(jt,{modelValue:ht.value,"onUpdate:modelValue":n[31]||(n[31]=t=>ht.value=t),title:"承诺管理",width:"600px"},{footer:d(()=>[u(i,{onClick:n[30]||(n[30]=t=>ht.value=!1)},{default:d(()=>[...n[79]||(n[79]=[y("关闭",-1)])]),_:1}),u(i,{type:"warning",onClick:Lt,loading:ft.value},{default:d(()=>[y(g(vt.value.has_seed?"重新生成承诺":"生成承诺"),1)]),_:1},8,["loading"])]),default:d(()=>[c((s(),l("div",db,[h("div",cb,[u(Nt,{shadow:"hover",class:"bg-blue-50"},{header:d(()=>[...n[72]||(n[72]=[h("div",{class:"text-sm font-bold text-blue-600"},"承诺状态",-1)])]),default:d(()=>[h("div",{class:T(["text-lg font-bold",vt.value.has_seed?"text-green-600":"text-gray-400"])},g(vt.value.has_seed?"已生成":"未生成"),3)]),_:1}),u(Nt,{shadow:"hover",class:"bg-purple-50"},{header:d(()=>[...n[73]||(n[73]=[h("div",{class:"text-sm font-bold text-purple-600"},"版本号",-1)])]),default:d(()=>[h("div",hb,"v"+g(vt.value.seed_version||0),1)]),_:1})]),vt.value.has_seed?(s(),l("div",pb,[h("div",null,[n[74]||(n[74]=h("div",{class:"text-sm font-bold text-gray-600 mb-2"},"算法",-1)),u(X,{type:"info"},{default:d(()=>[y(g(vt.value.algo||"commit-v1"),1)]),_:1})]),h("div",null,[n[76]||(n[76]=h("div",{class:"text-sm font-bold text-gray-600 mb-2"},"Seed Hash(公开承诺)",-1)),h("div",fb,[u(zt,{"model-value":vt.value.seed_hash_hex,readonly:"",class:"font-mono text-xs"},null,8,["model-value"]),u(i,{type:"primary",onClick:At},{default:d(()=>[...n[75]||(n[75]=[y(" 复制 ",-1)])]),_:1})]),n[77]||(n[77]=h("div",{class:"text-xs text-gray-400 mt-1"},"此哈希值可公开,用户可用于验证抽奖结果的公平性",-1))])])):(s(),l("div",gb,[...n[78]||(n[78]=[h("p",{class:"text-lg mb-2"},"该活动尚未生成承诺",-1),h("p",{class:"text-sm"},"生成承诺后,用户抽奖将获得可验证凭证",-1)])]))])),[[Qt,pt.value]])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-315e954c"]]);export{vb as default}; diff --git a/nginx/admin/assets/index-BjIcYfBF.js.gz b/nginx/admin/assets/index-BjIcYfBF.js.gz new file mode 100644 index 0000000..0ee0719 Binary files /dev/null and b/nginx/admin/assets/index-BjIcYfBF.js.gz differ diff --git a/nginx/admin/assets/index-BjQJlHTd.js b/nginx/admin/assets/index-BjQJlHTd.js new file mode 100644 index 0000000..d67454a --- /dev/null +++ b/nginx/admin/assets/index-BjQJlHTd.js @@ -0,0 +1 @@ +var e=Object.defineProperty,s=Object.defineProperties,a=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable,l=(s,a,r)=>a in s?e(s,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):s[a]=r;import{bd as i,a8 as n,at as c,av as u,a0 as v,d,bK as p,a1 as f,bP as y,c as m,ck as g,bN as w,r as b,ca as h,an as x,A as O,o as S,b as k,e as z,s as P,i as j,f as $,v as E,p as I,q as L,I as N,a2 as B,h as C,cx as _,w as A,cc as M,c_ as T,n as q,ci as K,ah as R,c$ as D,d0 as F,d1 as H,d2 as Z,az as G}from"./index-BoIUJTA2.js";import{E as J}from"./index-1OHUSGeP.js";const Q=n({hideOnClickModal:Boolean,src:{type:String,default:""},fit:{type:String,values:["","contain","cover","fill","none","scale-down"],default:""},loading:{type:String,values:["eager","lazy"]},lazy:Boolean,scrollContainer:{type:c([String,Object])},previewSrcList:{type:c(Array),default:()=>u([])},previewTeleported:Boolean,zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:c(String)}}),U={load:e=>e instanceof Event,error:e=>e instanceof Event,switch:e=>i(e),close:()=>!0,show:()=>!0},V=d({name:"ElImage",inheritAttrs:!1}),W=d((X=((e,s)=>{for(var a in s||(s={}))o.call(s,a)&&l(e,a,s[a]);if(r)for(var a of r(s))t.call(s,a)&&l(e,a,s[a]);return e})({},V),s(X,a({props:Q,emits:U,setup(e,{expose:s,emit:a}){const r=e,{t:o}=p(),t=f("image"),l=y(),i=m(()=>g(Object.entries(l).filter(([e])=>/^(data-|on[A-Z])/i.test(e)||["id","style"].includes(e)))),n=w({excludeListeners:!0,excludeKeys:m(()=>Object.keys(i.value))}),c=b(),u=b(!1),v=b(!0),d=b(!1),G=b(),Q=b(),U=h&&"loading"in HTMLImageElement.prototype;let V;const W=m(()=>[t.e("inner"),Y.value&&t.e("preview"),v.value&&t.is("loading")]),X=m(()=>{const{fit:e}=r;return h&&e?{objectFit:e}:{}}),Y=m(()=>{const{previewSrcList:e}=r;return x(e)&&e.length>0}),ee=m(()=>{const{previewSrcList:e,initialIndex:s}=r;let a=s;return s>e.length-1&&(a=0),a}),se=m(()=>"eager"!==r.loading&&(!U&&"lazy"===r.loading||r.lazy)),ae=()=>{h&&(v.value=!0,u.value=!1,c.value=r.src)};function re(e){v.value=!1,u.value=!1,a("load",e)}function oe(e){v.value=!1,u.value=!0,a("error",e)}const te=Z(function(e){e&&(ae(),ie())},200,!0);function le(){return e=this,s=null,a=function*(){var e;if(!h)return;yield q();const{scrollContainer:s}=r;if(K(s))Q.value=s;else if(R(s)&&""!==s)Q.value=null!=(e=document.querySelector(s))?e:void 0;else if(G.value){const e=D(G.value);Q.value=F(e)?void 0:e}const{stop:a}=H(G,([e])=>{te(e.isIntersecting)},{root:Q});V=a},new Promise((r,o)=>{var t=e=>{try{i(a.next(e))}catch(s){o(s)}},l=e=>{try{i(a.throw(e))}catch(s){o(s)}},i=e=>e.done?r(e.value):Promise.resolve(e.value).then(t,l);i((a=a.apply(e,s)).next())});var e,s,a}function ie(){h&&te&&(null==V||V(),Q.value=void 0,V=void 0)}function ne(){Y.value&&(d.value=!0,a("show"))}function ce(){d.value=!1,a("close")}function ue(e){a("switch",e)}return O(()=>r.src,()=>{se.value?(v.value=!0,u.value=!1,ie(),le()):ae()}),S(()=>{se.value?le():ae()}),s({showPreview:ne}),(e,s)=>(z(),k("div",B({ref_key:"container",ref:G},I(i),{class:[I(t).b(),e.$attrs.class]}),[u.value?P(e.$slots,"error",{key:0},()=>[$("div",{class:L(I(t).e("error"))},E(I(o)("el.image.error")),3)]):(z(),k(N,{key:1},[void 0!==c.value?(z(),k("img",B({key:0},I(n),{src:c.value,loading:e.loading,style:I(X),class:I(W),crossorigin:e.crossorigin,onClick:ne,onLoad:re,onError:oe}),null,16,["src","loading","crossorigin"])):j("v-if",!0),v.value?(z(),k("div",{key:1,class:L(I(t).e("wrapper"))},[P(e.$slots,"placeholder",{},()=>[$("div",{class:L(I(t).e("placeholder"))},null,2)])],2)):j("v-if",!0)],64)),I(Y)?(z(),k(N,{key:2},[d.value?(z(),C(I(J),{key:0,"z-index":e.zIndex,"initial-index":I(ee),infinite:e.infinite,"zoom-rate":e.zoomRate,"min-scale":e.minScale,"max-scale":e.maxScale,"show-progress":e.showProgress,"url-list":e.previewSrcList,scale:e.scale,crossorigin:e.crossorigin,"hide-on-click-modal":e.hideOnClickModal,teleported:e.previewTeleported,"close-on-press-escape":e.closeOnPressEscape,onClose:ce,onSwitch:ue},_({toolbar:A(s=>[P(e.$slots,"toolbar",M(T(s)))]),default:A(()=>[e.$slots.viewer?(z(),k("div",{key:0},[P(e.$slots,"viewer")])):j("v-if",!0)]),_:2},[e.$slots.progress?{name:"progress",fn:A(s=>[P(e.$slots,"progress",M(T(s)))])}:void 0,e.$slots["viewer-error"]?{name:"viewer-error",fn:A(s=>[P(e.$slots,"viewer-error",M(T(s)))])}:void 0]),1032,["z-index","initial-index","infinite","zoom-rate","min-scale","max-scale","show-progress","url-list","scale","crossorigin","hide-on-click-modal","teleported","close-on-press-escape"])):j("v-if",!0)],64)):j("v-if",!0)],16))}}))));var X;const Y=G(v(W,[["__file","image.vue"]]));export{Y as E}; diff --git a/nginx/admin/assets/index-Bj_S5uYq.css b/nginx/admin/assets/index-Bj_S5uYq.css new file mode 100644 index 0000000..3695c61 --- /dev/null +++ b/nginx/admin/assets/index-Bj_S5uYq.css @@ -0,0 +1 @@ +.page[data-v-dcd9938b]{padding:12px}.mb-3[data-v-dcd9938b]{margin-bottom:12px} diff --git a/nginx/admin/assets/index-BjuMygln.js b/nginx/admin/assets/index-BjuMygln.js new file mode 100644 index 0000000..41142c4 --- /dev/null +++ b/nginx/admin/assets/index-BjuMygln.js @@ -0,0 +1,15 @@ +var e=Object.defineProperty,l=Object.defineProperties,t=Object.getOwnPropertyDescriptors,n=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,a=(l,t,n)=>t in l?e(l,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):l[t]=n,s=(e,l)=>{for(var t in l||(l={}))o.call(l,t)&&a(e,t,l[t]);if(n)for(var t of n(l))r.call(l,t)&&a(e,t,l[t]);return e},i=(e,n)=>l(e,t(n)),u=(e,l,t)=>new Promise((n,o)=>{var r=e=>{try{s(t.next(e))}catch(l){o(l)}},a=e=>{try{s(t.throw(e))}catch(l){o(l)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,a);s((t=t.apply(e,l)).next())});import{cI as d,cJ as c,cK as p,cL as h,cM as v,cN as f,cO as m,cP as g,cQ as y,cR as b,cS as w,cT as C,bk as x,cU as S,cV as E,ad as R,bd as N,ah as O,bZ as k,an as L,g as F,cW as T,aa as W,bv as H,cX as M,b_ as A,ao as $,c2 as P,r as K,af as I,p as j,c as B,A as D,t as z,a1 as V,n as _,M as Y,ca as q,a0 as X,d as G,G as U,H as Q,h as Z,e as J,w as ee,N as le,b as te,q as ne,s as oe,f as re,I as ae,J as se,j as ie,v as ue,bV as de,ab as ce,ai as pe,bK as he,aw as ve,cq as fe,o as me,bp as ge,aP as ye,a9 as be,a5 as we,a6 as Ce,ci as xe,a4 as Se,ag as Ee,k as Re,l as Ne,Y as Oe,cY as ke,ap as Le,bx as Fe,bw as Te,i as We,m as He,aj as Me,ae as Ae,ac as $e,cZ as Pe,cg as Ke,az as Ie,aA as je}from"./index-BoIUJTA2.js";import{E as Be}from"./index-Cp4NEpJ7.js";import{E as De,u as ze}from"./index-BMeOzN3u.js";import{c as Ve,k as _e,a as Ye,b as qe,d as Xe,i as Ge}from"./_initCloneObject-DRmC-q3t.js";import{b as Ue,i as Qe}from"./isArrayLikeObject-CFQi-X2M.js";import{i as Ze,r as Je}from"./raf-DsHSIRfX.js";import{b as el}from"./_baseIteratee-CtIat01j.js";import{c as ll}from"./castArray-nM8ho4U3.js";import{d as tl}from"./debounce-DQl5eUwG.js";import{E as nl}from"./index-D8nVJoNy.js";import{C as ol}from"./index-CXORCV4U.js";var rl=function(e,l,t){for(var n=-1,o=Object(e),r=t(e),a=r.length;a--;){var s=r[++n];if(!1===l(o[s],s,o))break}return e};var al,sl=(al=function(e,l){return e&&rl(e,l,v)},function(e,l){if(null==e)return e;if(!c(e))return al(e,l);for(var t=e.length,n=-1,o=Object(e);++n1?l[n-1]:void 0,r=n>2?l[2]:void 0;for(o=fl.length>3&&"function"==typeof o?(n--,o):void 0,r&&function(e,l,t){if(!d(t))return!1;var n=typeof l;return!!("number"==n?c(t)&&p(l,t.length):"string"==n&&l in t)&&h(t[l],e)}(l[0],l[1],r)&&(o=n<3?void 0:o,n=1),e=Object(e);++tO(l)?P(t,l):l(t,n,e)):("$key"!==l&&$(t)&&"$value"in t&&(t=t.$value),[$(t)?l?P(t,l):null:t])};return e.map((e,l)=>({value:e,index:l,key:r?r(e,l):null})).sort((e,l)=>{let o=function(e,l){var t,o,r,a,s,i;if(n)return n(e.value,l.value);for(let n=0,u=null!=(o=null==(t=e.key)?void 0:t.length)?o:0;n(null==(i=l.key)?void 0:i[n]))return 1}return 0}(e,l);return o||(o=e.index-l.index),o*+t}).map(e=>e.value)},bl=function(e,l){let t=null;return e.columns.forEach(e=>{e.id===l&&(t=e)}),t},wl=function(e,l,t){const n=(l.className||"").match(new RegExp(`${t}-table_[^\\s]+`,"gm"));return n?bl(e,n[0]):null},Cl=(e,l)=>{if(!e)throw new Error("Row is required when get row identity");if(O(l)){if(!l.includes("."))return`${e[l]}`;const t=l.split(".");let n=e;for(const e of t)n=n[e];return`${n}`}return k(l)?l.call(null,e):""},xl=function(e,l,t=!1,n="children"){const o={};return(e||[]).forEach((e,r)=>{if(o[Cl(e,l)]={row:e,index:r},t){const t=e[n];L(t)&&Object.assign(o,xl(t,l,!0,n))}}),o};function Sl(e){return""===e||R(e)||(e=Number.parseInt(e,10),Number.isNaN(e)&&(e="")),e}function El(e){return""===e||R(e)||(e=Sl(e),Number.isNaN(e)&&(e=80)),e}function Rl(e,l,t,n,o,r,a){let s=null!=r?r:0,i=!1;const u=(()=>{if(!a)return e.indexOf(l);const t=Cl(l,a);return e.findIndex(e=>Cl(e,a)===t)})(),d=-1!==u,c=null==o?void 0:o.call(null,l,s),p=t=>{"add"===t?e.push(l):e.splice(u,1),i=!0},h=e=>{let l=0;const t=(null==n?void 0:n.children)&&e[n.children];return t&&L(t)&&(l+=t.length,t.forEach(e=>{l+=h(e)})),l};return o&&!c||(H(t)?t&&!d?p("add"):!t&&d&&p("remove"):p(d?"remove":"add")),!(null==n?void 0:n.checkStrictly)&&(null==n?void 0:n.children)&&L(l[n.children])&&l[n.children].forEach(l=>{const r=Rl(e,l,null!=t?t:!d,n,o,s+1,a);s+=h(l)+1,r&&(i=r)}),i}function Nl(e,l,t="children",n="hasChildren",o=!1){const r=e=>!(L(e)&&e.length);function a(e,s,i){l(e,s,i),s.forEach(e=>{if(e[n]&&o)return void l(e,null,i+1);const s=e[t];r(s)||a(e,s,i+1)})}e.forEach(e=>{if(e[n]&&o)return void l(e,null,0);const s=e[t];r(s)||a(e,s,0)})}let Ol=null;function kl(e,l,t,n,o,r){var a;const u=((e,l,t,n)=>{const o=s({strategy:"fixed"},e.popperOptions),r=k(null==n?void 0:n.tooltipFormatter)?n.tooltipFormatter({row:t,column:n,cellValue:M(t,n.property).value}):void 0;return A(r)?i(s({slotContent:r,content:null},e),{popperOptions:o}):i(s({slotContent:null,content:null!=r?r:l},e),{popperOptions:o})})(e,l,t,n),d=i(s({},u),{slotContent:void 0});if((null==Ol?void 0:Ol.trigger)===o){const e=null==(a=Ol.vm)?void 0:a.component;return ml(null==e?void 0:e.props,d),void(e&&u.slotContent&&(e.slots.content=()=>[u.slotContent]))}null==Ol||Ol();const c=null==r?void 0:r.refs.tableWrapper,p=null==c?void 0:c.dataset.prefix,h=F(De,s({virtualTriggering:!0,virtualRef:o,appendTo:c,placement:"top",transition:"none",offset:0,hideAfter:0},d),u.slotContent?{content:()=>u.slotContent}:void 0);h.appContext=s(s({},r.appContext),r);const v=document.createElement("div");T(h,v),h.component.exposed.onOpen();const f=null==c?void 0:c.querySelector(`.${p}-scrollbar__wrap`);Ol=()=>{var e,l;(null==(l=null==(e=h.component)?void 0:e.exposed)?void 0:l.onClose)&&h.component.exposed.onClose(),T(null,v);const t=Ol;null==f||f.removeEventListener("scroll",t),t.trigger=void 0,t.vm=void 0,Ol=null},Ol.trigger=null!=o?o:void 0,Ol.vm=h,null==f||f.addEventListener("scroll",Ol)}function Ll(e){return e.children?hl(e.children,Ll):[e]}function Fl(e,l){return e+l.colSpan}const Tl=(e,l,t,n)=>{let o=0,r=e;const a=t.states.columns.value;if(n){const l=Ll(n[e]);o=a.slice(0,a.indexOf(l[0])).reduce(Fl,0),r=o+l.reduce(Fl,0)-1}else o=e;let s;switch(l){case"left":r=a.length-t.states.rightFixedLeafColumnsLength.value&&(s="right");break;default:r=a.length-t.states.rightFixedLeafColumnsLength.value&&(s="right")}return s?{direction:s,start:o,after:r}:{}},Wl=(e,l,t,n,o,r=0)=>{const a=[],{direction:s,start:i,after:u}=Tl(l,t,n,o);if(s){const l="left"===s;a.push(`${e}-fixed-column--${s}`),l&&u+r===n.states.fixedLeafColumnsLength.value-1?a.push("is-last-column"):l||i-r!==n.states.columns.value.length-n.states.rightFixedLeafColumnsLength.value||a.push("is-first-column")}return a};function Hl(e,l){return e+(vl(l.realWidth)||Number.isNaN(l.realWidth)?Number(l.width):l.realWidth)}const Ml=(e,l,t,n)=>{const{direction:o,start:r=0,after:a=0}=Tl(e,l,t,n);if(!o)return;const s={},i="left"===o,u=t.states.columns.value;return i?s.left=u.slice(0,r).reduce(Hl,0):s.right=u.slice(a+1).reverse().reduce(Hl,0),s},Al=(e,l)=>{e&&(Number.isNaN(e[l])||(e[l]=`${e[l]}px`))};const $l=e=>{const l=[];return e.forEach(e=>{e.children&&e.children.length>0?l.push.apply(l,$l(e.children)):l.push(e)}),l};function Pl(){var e;const l=I(),{size:t}=z(null==(e=l.proxy)?void 0:e.$props),n=K(null),o=K([]),r=K([]),a=K(!1),i=K([]),u=K([]),d=K([]),c=K([]),p=K([]),h=K([]),v=K([]),f=K([]),m=K(0),g=K(0),y=K(0),b=K(!1),w=K([]),C=K(!1),x=K(!1),S=K(null),N=K({}),k=K(null),F=K(null),T=K(null),H=K(null),M=K(null),A=B(()=>n.value?xl(w.value,n.value):void 0);D(o,()=>{var e;if(l.state){V(!1);"auto"===l.props.tableLayout&&(null==(e=l.refs.tableHeaderRef)||e.updateFixedColumnStyle())}},{deep:!0});const $=e=>{var l;null==(l=e.children)||l.forEach(l=>{l.fixed=e.fixed,$(l)})},P=()=>{i.value.forEach(e=>{$(e)}),c.value=i.value.filter(e=>[!0,"left"].includes(e.fixed));const e=i.value.find(e=>"selection"===e.type);let l;if(e&&"right"!==e.fixed&&!c.value.includes(e)){0===i.value.indexOf(e)&&c.value.length&&(c.value.unshift(e),l=!0)}p.value=i.value.filter(e=>"right"===e.fixed);const t=i.value.filter(e=>!(l&&"selection"===e.type||e.fixed));u.value=Array.from(c.value).concat(t).concat(p.value);const n=$l(t),o=$l(c.value),r=$l(p.value);m.value=n.length,g.value=o.length,y.value=r.length,d.value=Array.from(o).concat(n).concat(r),a.value=c.value.length>0||p.value.length>0},V=(e,t=!1)=>{e&&P(),t?l.state.doLayout():l.state.debouncedUpdateLayout()},_=e=>A.value?!!A.value[Cl(e,n.value)]:w.value.includes(e),Y=e=>{var t;if(!l||!l.store)return 0;const{treeData:n}=l.store.states;let o=0;const r=null==(t=n.value[e])?void 0:t.children;return r&&(o+=r.length,r.forEach(e=>{o+=Y(e)})),o},q=(e,l,t)=>{F.value&&F.value!==e&&(F.value.order=null),F.value=e,T.value=l,H.value=t},X=()=>{let e=j(r);Object.keys(N.value).forEach(l=>{const t=N.value[l];if(!t||0===t.length)return;const n=bl({columns:d.value},l);n&&n.filterMethod&&(e=e.filter(e=>t.some(l=>n.filterMethod.call(null,l,e,n))))}),k.value=e},G=()=>{var e;o.value=((e,l)=>{const t=l.sortingColumn;return!t||O(t.sortable)?e:yl(e,l.sortProp,l.sortOrder,t.sortMethod,t.sortBy)})(null!=(e=k.value)?e:[],{sortingColumn:F.value,sortProp:T.value,sortOrder:H.value})},{setExpandRowKeys:U,toggleRowExpansion:Q,updateExpandRows:Z,states:J,isRowExpanded:ee}=function(e){const l=I(),t=K(!1),n=K([]);return{updateExpandRows:()=>{const l=e.data.value||[],o=e.rowKey.value;if(t.value)n.value=l.slice();else if(o){const e=xl(n.value,o);n.value=l.reduce((l,t)=>{const n=Cl(t,o);return e[n]&&l.push(t),l},[])}else n.value=[]},toggleRowExpansion:(t,o)=>{Rl(n.value,t,o,void 0,void 0,void 0,e.rowKey.value)&&l.emit("expand-change",t,n.value.slice())},setExpandRowKeys:t=>{l.store.assertRowKey();const o=e.data.value||[],r=e.rowKey.value,a=xl(o,r);n.value=t.reduce((e,l)=>{const t=a[l];return t&&e.push(t.row),e},[])},isRowExpanded:l=>{const t=e.rowKey.value;return t?!!xl(n.value,t)[Cl(l,t)]:n.value.includes(l)},states:{expandRows:n,defaultExpandAll:t}}}({data:o,rowKey:n}),{updateTreeExpandKeys:le,toggleTreeExpansion:te,updateTreeData:ne,updateKeyChildren:oe,loadOrToggle:re,states:ae}=function(e){const l=K([]),t=K({}),n=K(16),o=K(!1),r=K({}),a=K("hasChildren"),i=K("children"),u=K(!1),d=I(),c=B(()=>{if(!e.rowKey.value)return{};const l=e.data.value||[];return h(l)}),p=B(()=>{const l=e.rowKey.value,t=Object.keys(r.value),n={};return t.length?(t.forEach(e=>{if(r.value[e].length){const t={children:[]};r.value[e].forEach(e=>{const o=Cl(e,l);t.children.push(o),e[a.value]&&!n[o]&&(n[o]={children:[]})}),n[e]=t}}),n):n}),h=l=>{const t=e.rowKey.value,n={};return Nl(l,(e,l,r)=>{const a=Cl(e,t);L(l)?n[a]={children:l.map(e=>Cl(e,t)),level:r}:o.value&&(n[a]={children:[],lazy:!0,level:r})},i.value,a.value,o.value),n},v=(e=!1,n)=>{var r,a;n||(n=null==(r=d.store)?void 0:r.states.defaultExpandAll.value);const i=c.value,u=p.value,h=Object.keys(i),v={};if(h.length){const r=j(t),a=[],d=(t,o)=>{if(e)return l.value?n||l.value.includes(o):!(!n&&!(null==t?void 0:t.expanded));{const e=n||l.value&&l.value.includes(o);return!(!(null==t?void 0:t.expanded)&&!e)}};h.forEach(e=>{const l=r[e],t=s({},i[e]);if(t.expanded=d(l,e),t.lazy){const{loaded:n=!1,loading:o=!1}=l||{};t.loaded=!!n,t.loading=!!o,a.push(e)}v[e]=t});const c=Object.keys(u);o.value&&c.length&&a.length&&c.forEach(e=>{var l;const t=r[e],n=u[e].children;if(a.includes(e)){if(0!==(null==(l=v[e].children)?void 0:l.length))throw new Error("[ElTable]children must be an empty array.");v[e].children=n}else{const{loaded:l=!1,loading:o=!1}=t||{};v[e]={lazy:!0,loaded:!!l,loading:!!o,expanded:d(t,e),children:n,level:void 0}}})}t.value=v,null==(a=d.store)||a.updateTableScrollY()};D(()=>l.value,()=>{v(!0)}),D(()=>c.value,()=>{v()}),D(()=>p.value,()=>{v()});const f=e=>o.value&&e&&"loaded"in e&&!e.loaded,m=(l,n)=>{d.store.assertRowKey();const o=e.rowKey.value,r=Cl(l,o),a=r&&t.value[r];if(r&&a&&"expanded"in a){const e=a.expanded;n=R(n)?!a.expanded:n,t.value[r].expanded=n,e!==n&&d.emit("expand-change",l,n),f(a)&&g(l,r,a),d.store.updateTableScrollY()}},g=(e,l,n)=>{const{load:o}=d.props;o&&!t.value[l].loaded&&(t.value[l].loading=!0,o(e,n,n=>{if(!L(n))throw new TypeError("[ElTable] data must be an array");t.value[l].loading=!1,t.value[l].loaded=!0,t.value[l].expanded=!0,n.length&&(r.value[l]=n),d.emit("expand-change",e,!0)}))};return{loadData:g,loadOrToggle:l=>{d.store.assertRowKey();const n=e.rowKey.value,o=Cl(l,n),r=t.value[o];f(r)?g(l,o,r):m(l,void 0)},toggleTreeExpansion:m,updateTreeExpandKeys:e=>{l.value=e,v()},updateTreeData:v,updateKeyChildren:(e,l)=>{const{lazy:t,rowKey:n}=d.props;if(t){if(!n)throw new Error("[Table] rowKey is required in updateKeyChild");r.value[e]&&(r.value[e]=l)}},normalize:h,states:{expandRowKeys:l,treeData:t,indent:n,lazy:o,lazyTreeNodeMap:r,lazyColumnIdentifier:a,childrenColumnName:i,checkStrictly:u}}}({data:o,rowKey:n}),{updateCurrentRowData:se,updateCurrentRow:ie,setCurrentRowKey:ue,states:de}=function(e){const l=I(),t=K(null),n=K(null),o=()=>{t.value=null},r=t=>{var o;const{data:r,rowKey:a}=e;let s=null;a.value&&(s=null!=(o=(j(r)||[]).find(e=>Cl(e,a.value)===t))?o:null),n.value=null!=s?s:null,l.emit("current-change",n.value,null)};return{setCurrentRowKey:e=>{l.store.assertRowKey(),t.value=e,r(e)},restoreCurrentRowKey:o,setCurrentRowByKey:r,updateCurrentRow:e=>{const t=n.value;if(e&&e!==t)return n.value=e,void l.emit("current-change",n.value,t);!e&&t&&(n.value=null,l.emit("current-change",null,t))},updateCurrentRowData:()=>{const a=e.rowKey.value,s=e.data.value||[],i=n.value;if(i&&!s.includes(i)){if(a){const e=Cl(i,a);r(e)}else n.value=null;vl(n.value)&&l.emit("current-change",null,i)}else t.value&&(r(t.value),o())},states:{_currentRowKey:t,currentRow:n}}}({data:o,rowKey:n});return{assertRowKey:()=>{if(!n.value)throw new Error("[ElTable] prop row-key is required")},updateColumns:P,scheduleLayout:V,isSelected:_,clearSelection:()=>{b.value=!1;const e=w.value;w.value=[],e.length&&l.emit("selection-change",[])},cleanSelection:()=>{var e,t;let r;if(n.value){r=[];const a=null==(t=null==(e=null==l?void 0:l.store)?void 0:e.states)?void 0:t.childrenColumnName.value,s=xl(o.value,n.value,!0,a);for(const e in A.value)E(A.value,e)&&!s[e]&&r.push(A.value[e].row)}else r=w.value.filter(e=>!o.value.includes(e));if(r.length){const e=w.value.filter(e=>!r.includes(e));w.value=e,l.emit("selection-change",e.slice())}},getSelectionRows:()=>(w.value||[]).slice(),toggleRowSelection:(e,t,r=!0,a=!1)=>{var s,i,u,d;const c={children:null==(i=null==(s=null==l?void 0:l.store)?void 0:s.states)?void 0:i.childrenColumnName.value,checkStrictly:null==(d=null==(u=null==l?void 0:l.store)?void 0:u.states)?void 0:d.checkStrictly.value};if(Rl(w.value,e,t,c,a?void 0:S.value,o.value.indexOf(e),n.value)){const t=(w.value||[]).slice();r&&l.emit("select",t,e),l.emit("selection-change",t)}},_toggleAllSelection:()=>{var e,t;const n=x.value?!b.value:!(b.value||w.value.length);b.value=n;let r=!1,a=0;const s=null==(t=null==(e=null==l?void 0:l.store)?void 0:e.states)?void 0:t.rowKey.value,{childrenColumnName:i}=l.store.states,u={children:i.value,checkStrictly:!1};o.value.forEach((e,l)=>{const t=l+a;Rl(w.value,e,n,u,S.value,t,s)&&(r=!0),a+=Y(Cl(e,s))}),r&&l.emit("selection-change",w.value?w.value.slice():[]),l.emit("select-all",(w.value||[]).slice())},toggleAllSelection:null,updateAllSelected:()=>{var e;if(0===(null==(e=o.value)?void 0:e.length))return void(b.value=!1);const{childrenColumnName:t}=l.store.states;let n=0,r=0;const a=e=>{var l;for(const o of e){const e=S.value&&S.value.call(null,o,n);if(_(o))r++;else if(!S.value||e)return!1;if(n++,(null==(l=o[t.value])?void 0:l.length)&&!a(o[t.value]))return!1}return!0},s=a(o.value||[]);b.value=0!==r&&s},updateFilters:(e,l)=>{const t={};return ll(e).forEach(e=>{N.value[e.id]=l,t[e.columnKey||e.id]=l}),t},updateCurrentRow:ie,updateSort:q,execFilter:X,execSort:G,execQuery:(e=void 0)=>{(null==e?void 0:e.filter)||X(),G()},clearFilter:e=>{const{tableHeaderRef:t}=l.refs;if(!t)return;const n=Object.assign({},t.filterPanels),o=Object.keys(n);if(o.length)if(O(e)&&(e=[e]),L(e)){const t=e.map(e=>function(e,l){let t=null;for(let n=0;n{const l=t.find(l=>l.id===e);l&&(l.filteredValue=[])}),l.store.commit("filterChange",{column:t,values:[],silent:!0,multi:!0})}else o.forEach(e=>{const l=d.value.find(l=>l.id===e);l&&(l.filteredValue=[])}),N.value={},l.store.commit("filterChange",{column:{},values:[],silent:!0})},clearSort:()=>{F.value&&(q(null,null,null),l.store.commit("changeSortCondition",{silent:!0}))},toggleRowExpansion:Q,setExpandRowKeysAdapter:e=>{U(e),le(e)},setCurrentRowKey:ue,toggleRowExpansionAdapter:(e,l)=>{d.value.some(({type:e})=>"expand"===e)?Q(e,l):te(e,l)},isRowExpanded:ee,updateExpandRows:Z,updateCurrentRowData:se,loadOrToggle:re,updateTreeData:ne,updateKeyChildren:oe,states:s(s(s({tableSize:t,rowKey:n,data:o,_data:r,isComplex:a,_columns:i,originColumns:u,columns:d,fixedColumns:c,rightFixedColumns:p,leafColumns:h,fixedLeafColumns:v,rightFixedLeafColumns:f,updateOrderFns:[],leafColumnsLength:m,fixedLeafColumnsLength:g,rightFixedLeafColumnsLength:y,isAllSelected:b,selection:w,reserveSelection:C,selectOnIndeterminate:x,selectable:S,filters:N,filteredData:k,sortingColumn:F,sortProp:T,sortOrder:H,hoverRow:M},J),ae),de)}}function Kl(e,l){return e.map(e=>{var t;return e.id===l.id?l:((null==(t=e.children)?void 0:t.length)&&(e.children=Kl(e.children,l)),e)})}function Il(e){e.forEach(e=>{var l,t;e.no=null==(l=e.getColumnIndex)?void 0:l.call(e),(null==(t=e.children)?void 0:t.length)&&Il(e.children)}),e.sort((e,l)=>e.no-l.no)}const jl={rowKey:"rowKey",defaultExpandAll:"defaultExpandAll",selectOnIndeterminate:"selectOnIndeterminate",indent:"indent",lazy:"lazy",data:"data","treeProps.hasChildren":{key:"lazyColumnIdentifier",default:"hasChildren"},"treeProps.children":{key:"childrenColumnName",default:"children"},"treeProps.checkStrictly":{key:"checkStrictly",default:!1}};function Bl(e,l){if(!e)throw new Error("Table is required.");const t=function(){const e=I(),l=Pl(),t=V("table"),n={setData(l,t){const n=j(l._data)!==t;l.data.value=t,l._data.value=t,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),j(l.reserveSelection)?e.store.assertRowKey():n?e.store.clearSelection():e.store.cleanSelection(),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(l,t,n,o){var r;const a=j(l._columns);let s=[];n?(n&&!n.children&&(n.children=[]),null==(r=n.children)||r.push(t),s=Kl(a,n)):(a.push(t),s=a),Il(s),l._columns.value=s,l.updateOrderFns.push(o),"selection"===t.type&&(l.selectable.value=t.selectable,l.reserveSelection.value=t.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},updateColumnOrder(l,t){var n;(null==(n=t.getColumnIndex)?void 0:n.call(t))!==t.no&&(Il(l._columns.value),e.$ready&&e.store.updateColumns())},removeColumn(l,t,n,o){var r;const a=j(l._columns)||[];if(n)null==(r=n.children)||r.splice(n.children.findIndex(e=>e.id===t.id),1),_(()=>{var e;0===(null==(e=n.children)?void 0:e.length)&&delete n.children}),l._columns.value=Kl(a,n);else{const e=a.indexOf(t);e>-1&&(a.splice(e,1),l._columns.value=a)}const s=l.updateOrderFns.indexOf(o);s>-1&&l.updateOrderFns.splice(s,1),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(l,t){const{prop:n,order:o,init:r}=t;if(n){const t=j(l.columns).find(e=>e.property===n);t&&(t.order=o,e.store.updateSort(t,n,o),e.store.commit("changeSortCondition",{init:r}))}},changeSortCondition(l,t){const{sortingColumn:n,sortProp:o,sortOrder:r}=l,a=j(n),s=j(o),i=j(r);vl(i)&&(l.sortingColumn.value=null,l.sortProp.value=null),e.store.execQuery({filter:!0}),t&&(t.silent||t.init)||e.emit("sort-change",{column:a,prop:s,order:i}),e.store.updateTableScrollY()},filterChange(l,t){const{column:n,values:o,silent:r}=t,a=e.store.updateFilters(n,o);e.store.execQuery(),r||e.emit("filter-change",a),e.store.updateTableScrollY()},toggleAllSelection(){var l,t;null==(t=(l=e.store).toggleAllSelection)||t.call(l)},rowSelectedChanged(l,t){e.store.toggleRowSelection(t),e.store.updateAllSelected()},setHoverRow(e,l){e.hoverRow.value=l},setCurrentRow(l,t){e.store.updateCurrentRow(t)}};return i(s({ns:t},l),{mutations:n,commit:function(l,...t){const n=e.store.mutations;if(!n[l])throw new Error(`Action not found: ${l}`);n[l].apply(e,[e.store.states,...t])},updateTableScrollY:function(){_(()=>e.layout.updateScrollY.apply(e.layout))}})}();return t.toggleAllSelection=tl(t._toggleAllSelection,10),Object.keys(jl).forEach(e=>{Dl(zl(l,e),e,t)}),function(e,l){Object.keys(jl).forEach(t=>{D(()=>zl(l,t),l=>{Dl(l,t,e)})})}(t,l),t}function Dl(e,l,t){let n=e,o=jl[l];$(o)&&(n=n||o.default,o=o.key),t.states[o].value=n}function zl(e,l){if(l.includes(".")){const t=l.split(".");let n=e;return t.forEach(e=>{n=n[e]}),n}return e[l]}class Vl{constructor(e){this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.height=K(null),this.scrollX=K(!1),this.scrollY=K(!1),this.bodyWidth=K(null),this.fixedWidth=K(null),this.rightFixedWidth=K(null),this.gutterWidth=0;for(const l in e)E(e,l)&&(Y(this[l])?this[l].value=e[l]:this[l]=e[l]);if(!this.table)throw new Error("Table is required for Table Layout");if(!this.store)throw new Error("Store is required for Table Layout")}updateScrollY(){if(vl(this.height.value))return!1;const e=this.table.refs.scrollBarRef;if(this.table.vnode.el&&(null==e?void 0:e.wrapRef)){let l=!0;const t=this.scrollY.value;return l=e.wrapRef.scrollHeight>e.wrapRef.clientHeight,this.scrollY.value=l,t!==l}return!1}setHeight(e,l="height"){if(!q)return;const t=this.table.vnode.el;var n;e=N(n=e)?n:O(n)?/^\d+(?:px)?$/.test(n)?Number.parseInt(n,10):n:null,this.height.value=Number(e),t||!e&&0!==e?t&&N(e)?(t.style[l]=`${e}px`,this.updateElsHeight()):t&&O(e)&&(t.style[l]=e,this.updateElsHeight()):_(()=>this.setHeight(e,l))}setMaxHeight(e){this.setHeight(e,"max-height")}getFlattenColumns(){const e=[];return this.table.store.states.columns.value.forEach(l=>{l.isColumnGroup?e.push.apply(e,l.columns):e.push(l)}),e}updateElsHeight(){this.updateScrollY(),this.notifyObservers("scrollable")}headerDisplayNone(e){if(!e)return!0;let l=e;for(;"DIV"!==l.tagName;){if("none"===getComputedStyle(l).display)return!0;l=l.parentElement}return!1}updateColumnsWidth(){var e;if(!q)return;const l=this.fit,t=null==(e=this.table.vnode.el)?void 0:e.clientWidth;let n=0;const o=this.getFlattenColumns(),r=o.filter(e=>!N(e.width));if(o.forEach(e=>{N(e.width)&&e.realWidth&&(e.realWidth=null)}),r.length>0&&l){if(o.forEach(e=>{n+=Number(e.width||e.minWidth||80)}),n<=t){this.scrollX.value=!1;const e=t-n;if(1===r.length)r[0].realWidth=Number(r[0].minWidth||80)+e;else{const l=e/r.reduce((e,l)=>e+Number(l.minWidth||80),0);let t=0;r.forEach((e,n)=>{if(0===n)return;const o=Math.floor(Number(e.minWidth||80)*l);t+=o,e.realWidth=Number(e.minWidth||80)+o}),r[0].realWidth=Number(r[0].minWidth||80)+e-t}}else this.scrollX.value=!0,r.forEach(e=>{e.realWidth=Number(e.minWidth)});this.bodyWidth.value=Math.max(n,t),this.table.state.resizeState.value.width=this.bodyWidth.value}else o.forEach(e=>{e.width||e.minWidth?e.realWidth=Number(e.width||e.minWidth):e.realWidth=80,n+=e.realWidth}),this.scrollX.value=n>t,this.bodyWidth.value=n;const a=this.store.states.fixedColumns.value;if(a.length>0){let e=0;a.forEach(l=>{e+=Number(l.realWidth||l.width)}),this.fixedWidth.value=e}const s=this.store.states.rightFixedColumns.value;if(s.length>0){let e=0;s.forEach(l=>{e+=Number(l.realWidth||l.width)}),this.rightFixedWidth.value=e}this.notifyObservers("columns")}addObserver(e){this.observers.push(e)}removeObserver(e){const l=this.observers.indexOf(e);-1!==l&&this.observers.splice(l,1)}notifyObservers(e){this.observers.forEach(l=>{var t,n;switch(e){case"columns":null==(t=l.state)||t.onColumnsChange(this);break;case"scrollable":null==(n=l.state)||n.onScrollableChange(this);break;default:throw new Error(`Table Layout don't have event ${e}.`)}})}}const{CheckboxGroup:_l}=nl;var Yl=X(G({name:"ElTableFilterPanel",components:{ElCheckbox:nl,ElCheckboxGroup:_l,ElScrollbar:Be,ElTooltip:De,ElIcon:pe,ArrowDown:ce,ArrowUp:de},directives:{ClickOutside:ol},props:{placement:{type:String,default:"bottom-start"},store:{type:Object},column:{type:Object},upDataColumn:{type:Function},appendTo:ze.appendTo},setup(e){const l=I(),{t:t}=he(),n=V("table-filter"),o=null==l?void 0:l.parent;e.column&&!o.filterPanels.value[e.column.id]&&(o.filterPanels.value[e.column.id]=l);const r=K(!1),a=K(null),s=B(()=>e.column&&e.column.filters),i=B(()=>e.column&&e.column.filterClassName?`${n.b()} ${e.column.filterClassName}`:n.b()),u=B({get:()=>{var l;return((null==(l=e.column)?void 0:l.filteredValue)||[])[0]},set:e=>{d.value&&(ve(e)?d.value.splice(0,1):d.value.splice(0,1,e))}}),d=B({get:()=>e.column&&e.column.filteredValue||[],set(l){var t;e.column&&(null==(t=e.upDataColumn)||t.call(e,"filteredValue",l))}}),c=B(()=>!e.column||e.column.filterMultiple),p=()=>{r.value=!1},h=l=>{var t,n;null==(t=e.store)||t.commit("filterChange",{column:e.column,values:l}),null==(n=e.store)||n.updateAllSelected()};D(r,l=>{var t;e.column&&(null==(t=e.upDataColumn)||t.call(e,"filterOpened",l))},{immediate:!0});const v=B(()=>{var e,l;return null==(l=null==(e=a.value)?void 0:e.popperRef)?void 0:l.contentRef});return{tooltipVisible:r,multiple:c,filterClassName:i,filteredValue:d,filterValue:u,filters:s,handleConfirm:()=>{h(d.value),p()},handleReset:()=>{d.value=[],h(d.value),p()},handleSelect:e=>{u.value=e,ve(e)?h([]):h(d.value),p()},isPropAbsent:ve,isActive:e=>e.value===u.value,t:t,ns:n,showFilterPanel:e=>{e.stopPropagation(),r.value=!r.value},hideFilterPanel:()=>{r.value=!1},popperPaneRef:v,tooltip:a}}}),[["render",function(e,l,t,n,o,r){const a=U("el-checkbox"),s=U("el-checkbox-group"),i=U("el-scrollbar"),u=U("arrow-up"),d=U("arrow-down"),c=U("el-icon"),p=U("el-tooltip"),h=Q("click-outside");return J(),Z(p,{ref:"tooltip",visible:e.tooltipVisible,offset:0,placement:e.placement,"show-arrow":!1,"stop-popper-mouse-event":!1,teleported:"",effect:"light",pure:"","popper-class":e.filterClassName,persistent:"","append-to":e.appendTo},{content:ee(()=>[e.multiple?(J(),te("div",{key:0},[re("div",{class:ne(e.ns.e("content"))},[F(i,{"wrap-class":e.ns.e("wrap")},{default:ee(()=>[F(s,{modelValue:e.filteredValue,"onUpdate:modelValue":l=>e.filteredValue=l,class:ne(e.ns.e("checkbox-group"))},{default:ee(()=>[(J(!0),te(ae,null,se(e.filters,e=>(J(),Z(a,{key:e.value,value:e.value},{default:ee(()=>[ie(ue(e.text),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","class"])]),_:1},8,["wrap-class"])],2),re("div",{class:ne(e.ns.e("bottom"))},[re("button",{class:ne({[e.ns.is("disabled")]:0===e.filteredValue.length}),disabled:0===e.filteredValue.length,type:"button",onClick:e.handleConfirm},ue(e.t("el.table.confirmFilter")),11,["disabled","onClick"]),re("button",{type:"button",onClick:e.handleReset},ue(e.t("el.table.resetFilter")),9,["onClick"])],2)])):(J(),te("ul",{key:1,class:ne(e.ns.e("list"))},[re("li",{class:ne([e.ns.e("list-item"),{[e.ns.is("active")]:e.isPropAbsent(e.filterValue)}]),onClick:l=>e.handleSelect(null)},ue(e.t("el.table.clearFilter")),11,["onClick"]),(J(!0),te(ae,null,se(e.filters,l=>(J(),te("li",{key:l.value,class:ne([e.ns.e("list-item"),e.ns.is("active",e.isActive(l))]),label:l.value,onClick:t=>e.handleSelect(l.value)},ue(l.text),11,["label","onClick"]))),128))],2))]),default:ee(()=>[le((J(),te("span",{class:ne([`${e.ns.namespace.value}-table__column-filter-trigger`,`${e.ns.namespace.value}-none-outline`]),onClick:e.showFilterPanel},[F(c,null,{default:ee(()=>[oe(e.$slots,"filter-icon",{},()=>{var l;return[(null==(l=e.column)?void 0:l.filterOpened)?(J(),Z(u,{key:0})):(J(),Z(d,{key:1}))]})]),_:3})],10,["onClick"])),[[h,e.hideFilterPanel,e.popperPaneRef]])]),_:3},8,["visible","placement","popper-class","append-to"])}],["__file","filter-panel.vue"]]);function ql(e){const l=I();fe(()=>{t.value.addObserver(l)}),me(()=>{n(t.value),o(t.value)}),ge(()=>{n(t.value),o(t.value)}),ye(()=>{t.value.removeObserver(l)});const t=B(()=>{const l=e.layout;if(!l)throw new Error("Can not find table layout.");return l}),n=l=>{var t;const n=(null==(t=e.vnode.el)?void 0:t.querySelectorAll("colgroup > col"))||[];if(!n.length)return;const o=l.getFlattenColumns(),r={};o.forEach(e=>{r[e.id]=e});for(let e=0,a=n.length;e{var t,n;const o=(null==(t=e.vnode.el)?void 0:t.querySelectorAll("colgroup > col[name=gutter]"))||[];for(let e=0,a=o.length;e{const l=[];return e.forEach(e=>{e.children?(l.push(e),l.push.apply(l,Gl(e.children))):l.push(e)}),l},Ul=e=>{let l=1;const t=(e,n)=>{if(n&&(e.level=n.level+1,l{t(n,e),l+=n.colSpan}),e.colSpan=l}else e.colSpan=1};e.forEach(e=>{e.level=1,t(e,void 0)});const n=[];for(let o=0;o{e.children?(e.rowSpan=1,e.children.forEach(e=>e.isSubColumn=!0)):e.rowSpan=l-e.level+1,n[e.level-1].push(e)}),n};var Ql=G({name:"ElTableHeader",components:{ElCheckbox:nl},props:{fixed:{type:String,default:""},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})},appendFilterPanelTo:{type:String},allowDragLastColumn:{type:Boolean}},setup(e,{emit:l}){const t=I(),n=be(Xl),o=V("table"),r=K({}),{onColumnsChange:a,onScrollableChange:s}=ql(n),i="auto"===(null==n?void 0:n.props.tableLayout),d=Re(new Map),c=K();let p;const h=()=>{p=setTimeout(()=>{d.size>0&&(d.forEach((e,l)=>{const t=c.value.querySelector(`.${l.replace(/\s/g,".")}`);if(t){const l=t.getBoundingClientRect().width;e.width=l||e.width}}),d.clear())})};D(d,h),Ne(()=>{p&&(clearTimeout(p),p=void 0)}),me(()=>u(this,null,function*(){yield _(),yield _();const{prop:l,order:t}=e.defaultSort;null==n||n.store.commit("sort",{prop:l,order:t,init:!0}),h()}));const{handleHeaderClick:v,handleHeaderContextMenu:f,handleMouseDown:m,handleMouseMove:g,handleMouseOut:y,handleSortClick:b,handleFilterClick:w}=function(e,l){const t=I(),n=be(Xl),o=e=>{e.stopPropagation()},r=K(null),a=K(!1),s=K(),i=(l,t,o)=>{var r;l.stopPropagation();const a=t.order===o?null:o||(({order:e,sortOrders:l})=>{if(""===e)return l[0];const t=l.indexOf(e||null);return l[t>l.length-2?0:t+1]})(t),s=null==(r=l.target)?void 0:r.closest("th");if(s&&we(s,"noclick"))return void Ce(s,"noclick");if(!t.sortable)return;const i=l.currentTarget;if(["ascending","descending"].some(e=>we(i,e)&&!t.sortOrders.includes(e)))return;const u=e.store.states;let d,c=u.sortProp.value;const p=u.sortingColumn.value;(p!==t||p===t&&vl(p.order))&&(p&&(p.order=null),u.sortingColumn.value=t,c=t.property),d=t.order=a||null,u.sortProp.value=c,u.sortOrder.value=d,null==n||n.store.commit("changeSortCondition")};return{handleHeaderClick:(e,l)=>{!l.filters&&l.sortable?i(e,l,!1):l.filterable&&!l.sortable&&o(e),null==n||n.emit("header-click",l,e)},handleHeaderContextMenu:(e,l)=>{null==n||n.emit("header-contextmenu",l,e)},handleMouseDown:(o,i)=>{var u,d;if(q&&!(i.children&&i.children.length>0)&&r.value&&e.border){a.value=!0;const c=n;l("set-drag-visible",!0);const p=null==c?void 0:c.vnode.el,h=null==p?void 0:p.getBoundingClientRect().left,v=null==(d=null==(u=null==t?void 0:t.vnode)?void 0:u.el)?void 0:d.querySelector(`th.${i.id}`),f=v.getBoundingClientRect(),m=f.left-h+30;Se(v,"noclick"),s.value={startMouseLeft:o.clientX,startLeft:f.right-h,startColumnLeft:f.left-h,tableLeft:h};const g=null==c?void 0:c.refs.resizeProxy;g.style.left=`${s.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const y=e=>{const l=e.clientX-s.value.startMouseLeft,t=s.value.startLeft+l;g.style.left=`${Math.max(m,t)}px`},b=()=>{if(a.value){const{startColumnLeft:t,startLeft:n}=s.value,u=Number.parseInt(g.style.left,10)-t;i.width=i.realWidth=u,null==c||c.emit("header-dragend",i.width,n-t,i,o),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",a.value=!1,r.value=null,s.value=void 0,l("set-drag-visible",!1)}document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",b),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{Ce(v,"noclick")},0)};document.addEventListener("mousemove",y),document.addEventListener("mouseup",b)}},handleMouseMove:(l,t)=>{var n;if(t.children&&t.children.length>0)return;const o=l.target;if(!xe(o))return;const s=null==o?void 0:o.closest("th");if(t&&t.resizable&&s&&!a.value&&e.border){const o=s.getBoundingClientRect(),i=document.body.style,u=(null==(n=s.parentNode)?void 0:n.lastElementChild)===s,d=e.allowDragLastColumn||!u;o.width>12&&o.right-l.clientX<8&&d?(i.cursor="col-resize",we(s,"is-sortable")&&(s.style.cursor="col-resize"),r.value=t):a.value||(i.cursor="",we(s,"is-sortable")&&(s.style.cursor="pointer"),r.value=null)}},handleMouseOut:()=>{q&&(document.body.style.cursor="")},handleSortClick:i,handleFilterClick:o}}(e,l),{getHeaderRowStyle:C,getHeaderRowClass:x,getHeaderCellStyle:S,getHeaderCellClass:E}=function(e){const l=be(Xl),t=V("table");return{getHeaderRowStyle:e=>{const t=null==l?void 0:l.props.headerRowStyle;return k(t)?t.call(null,{rowIndex:e}):t},getHeaderRowClass:e=>{const t=[],n=null==l?void 0:l.props.headerRowClassName;return O(n)?t.push(n):k(n)&&t.push(n.call(null,{rowIndex:e})),t.join(" ")},getHeaderCellStyle:(t,n,o,r)=>{var a;let s=null!=(a=null==l?void 0:l.props.headerCellStyle)?a:{};k(s)&&(s=s.call(null,{rowIndex:t,columnIndex:n,row:o,column:r}));const i=Ml(n,r.fixed,e.store,o);return Al(i,"left"),Al(i,"right"),Object.assign({},s,i)},getHeaderCellClass:(n,o,r,a)=>{const s=Wl(t.b(),o,a.fixed,e.store,r),i=[a.id,a.order,a.headerAlign,a.className,a.labelClassName,...s];a.children||i.push("is-leaf"),a.sortable&&i.push("is-sortable");const u=null==l?void 0:l.props.headerCellClassName;return O(u)?i.push(u):k(u)&&i.push(u.call(null,{rowIndex:n,columnIndex:o,row:r,column:a})),i.push(t.e("cell")),i.filter(e=>Boolean(e)).join(" ")}}}(e),{isGroup:R,toggleAllSelection:N,columnRows:L}=function(e){const l=be(Xl),t=B(()=>Ul(e.store.states.originColumns.value));return{isGroup:B(()=>{const e=t.value.length>1;return e&&l&&(l.state.isGroup.value=!0),e}),toggleAllSelection:e=>{e.stopPropagation(),null==l||l.store.commit("toggleAllSelection")},columnRows:t}}(e);return t.state={onColumnsChange:a,onScrollableChange:s},t.filterPanels=r,{ns:o,filterPanels:r,onColumnsChange:a,onScrollableChange:s,columnRows:L,getHeaderRowClass:x,getHeaderRowStyle:C,getHeaderCellClass:E,getHeaderCellStyle:S,handleHeaderClick:v,handleHeaderContextMenu:f,handleMouseDown:m,handleMouseMove:g,handleMouseOut:y,handleSortClick:b,handleFilterClick:w,isGroup:R,toggleAllSelection:N,saveIndexSelection:d,isTableLayoutAuto:i,theadRef:c,updateFixedColumnStyle:h}},render(){const{ns:e,isGroup:l,columnRows:t,getHeaderCellStyle:n,getHeaderCellClass:o,getHeaderRowClass:r,getHeaderRowStyle:a,handleHeaderClick:s,handleHeaderContextMenu:i,handleMouseDown:u,handleMouseMove:d,handleSortClick:c,handleMouseOut:p,store:h,$parent:v,saveIndexSelection:f,isTableLayoutAuto:m}=this;let g=1;return Ee("thead",{ref:"theadRef",class:{[e.is("group")]:l}},t.map((e,l)=>Ee("tr",{class:r(l),key:l,style:a(l)},e.map((t,r)=>{t.rowSpan>g&&(g=t.rowSpan);const a=o(l,r,e,t);return m&&t.fixed&&f.set(a,t),Ee("th",{class:a,colspan:t.colSpan,key:`${t.id}-thead`,rowspan:t.rowSpan,style:n(l,r,e,t),onClick:e=>{var l;(null==(l=e.currentTarget)?void 0:l.classList.contains("noclick"))||s(e,t)},onContextmenu:e=>i(e,t),onMousedown:e=>u(e,t),onMousemove:e=>d(e,t),onMouseout:p},[Ee("div",{class:["cell",t.filteredValue&&t.filteredValue.length>0?"highlight":""]},[t.renderHeader?t.renderHeader({column:t,$index:r,store:h,_self:v}):t.label,t.sortable&&Ee("span",{onClick:e=>c(e,t),class:"caret-wrapper"},[Ee("i",{onClick:e=>c(e,t,"ascending"),class:"sort-caret ascending"}),Ee("i",{onClick:e=>c(e,t,"descending"),class:"sort-caret descending"})]),t.filterable&&Ee(Yl,{store:h,placement:t.filterPlacement||"bottom-start",appendTo:null==v?void 0:v.appendFilterPanelTo,column:t,upDataColumn:(e,l)=>{t[e]=l}},{"filter-icon":()=>t.renderFilterIcon?t.renderFilterIcon({filterOpened:t.filterOpened}):null})])])}))))}});function Zl(e,l,t=.03){return e-l>t}function Jl(e){const l=be(Xl),t=K(""),n=K(Ee("div")),o=(t,n,o)=>{var r,a,s;const i=l,u=gl(t);let d=null;const c=null==(r=null==i?void 0:i.vnode.el)?void 0:r.dataset.prefix;u&&(d=wl({columns:null!=(s=null==(a=e.store)?void 0:a.states.columns.value)?s:[]},u,c),d&&(null==i||i.emit(`cell-${o}`,n,d,u,t))),null==i||i.emit(`row-${o}`,n,d,t)},r=tl(l=>{var t;null==(t=e.store)||t.commit("setHoverRow",l)},30),a=tl(()=>{var l;null==(l=e.store)||l.commit("setHoverRow",null)},30),s=(e,l,t)=>{var n;let o=null==(n=null==l?void 0:l.target)?void 0:n.parentNode;for(;e>1&&(o=null==o?void 0:o.nextSibling,o&&"TR"===o.nodeName);)t(o,"hover-row hover-fixed-row"),e--};return{handleDoubleClick:(e,l)=>{o(e,l,"dblclick")},handleClick:(l,t)=>{var n;null==(n=e.store)||n.commit("setCurrentRow",t),o(l,t,"click")},handleContextMenu:(e,l)=>{o(e,l,"contextmenu")},handleMouseEnter:r,handleMouseLeave:a,handleCellMouseEnter:(t,n,o)=>{var r,a,i,u,d,c,p,h;if(!l)return;const v=l,f=gl(t),m=null==(r=null==v?void 0:v.vnode.el)?void 0:r.dataset.prefix;let g=null;if(f){if(g=wl({columns:null!=(i=null==(a=e.store)?void 0:a.states.columns.value)?i:[]},f,m),!g)return;f.rowSpan>1&&s(f.rowSpan,t,Se);const l=v.hoverState={cell:f,column:g,row:n};null==v||v.emit("cell-mouse-enter",l.row,l.column,l.cell,t)}if(!o)return void((null==(u=Ol)?void 0:u.trigger)===f&&(null==(d=Ol)||d()));const y=t.target.querySelector(".cell");if(!we(y,`${m}-tooltip`)||!y.childNodes.length)return;const b=document.createRange();b.setStart(y,0),b.setEnd(y,y.childNodes.length);const{width:w,height:C}=b.getBoundingClientRect(),{width:x,height:S}=y.getBoundingClientRect(),{top:E,left:R,right:N,bottom:O}=(e=>{const l=window.getComputedStyle(e,null);return{left:Number.parseInt(l.paddingLeft,10)||0,right:Number.parseInt(l.paddingRight,10)||0,top:Number.parseInt(l.paddingTop,10)||0,bottom:Number.parseInt(l.paddingBottom,10)||0}})(y),k=E+O;Zl(w+(R+N),x)||Zl(C+k,S)||Zl(y.scrollWidth,x)?kl(o,null!=(c=(null==f?void 0:f.innerText)||(null==f?void 0:f.textContent))?c:"",n,g,f,v):(null==(p=Ol)?void 0:p.trigger)===f&&(null==(h=Ol)||h())},handleCellMouseLeave:e=>{const t=gl(e);if(!t)return;t.rowSpan>1&&s(t.rowSpan,e,Ce);const n=null==l?void 0:l.hoverState;null==l||l.emit("cell-mouse-leave",null==n?void 0:n.row,null==n?void 0:n.column,null==n?void 0:n.cell,e)},tooltipContent:t,tooltipTrigger:n}}const et=G({name:"TableTdWrapper"});var lt=X(G(i(s({},et),{props:{colspan:{type:Number,default:1},rowspan:{type:Number,default:1}},setup:e=>(l,t)=>(J(),te("td",{colspan:e.colspan,rowspan:e.rowspan},[oe(l.$slots,"default")],8,["colspan","rowspan"]))})),[["__file","td-wrapper.vue"]]);function tt(e){const l=be(Xl),t=V("table"),{handleDoubleClick:n,handleClick:o,handleContextMenu:r,handleMouseEnter:a,handleMouseLeave:i,handleCellMouseEnter:u,handleCellMouseLeave:d,tooltipContent:c,tooltipTrigger:p}=Jl(e),{getRowStyle:h,getRowClass:v,getCellStyle:f,getCellClass:m,getSpan:g,getColspanRealWidth:y}=function(e){const l=be(Xl),t=V("table");return{getRowStyle:(e,t)=>{const n=null==l?void 0:l.props.rowStyle;return k(n)?n.call(null,{row:e,rowIndex:t}):n||null},getRowClass:(n,o,r)=>{var a;const s=[t.e("row")];(null==l?void 0:l.props.highlightCurrentRow)&&n===(null==(a=e.store)?void 0:a.states.currentRow.value)&&s.push("current-row"),e.stripe&&r%2==1&&s.push(t.em("row","striped"));const i=null==l?void 0:l.props.rowClassName;return O(i)?s.push(i):k(i)&&s.push(i.call(null,{row:n,rowIndex:o})),s},getCellStyle:(t,n,o,r)=>{const a=null==l?void 0:l.props.cellStyle;let s=null!=a?a:{};k(a)&&(s=a.call(null,{rowIndex:t,columnIndex:n,row:o,column:r}));const i=Ml(n,null==e?void 0:e.fixed,e.store);return Al(i,"left"),Al(i,"right"),Object.assign({},s,i)},getCellClass:(n,o,r,a,s)=>{const i=Wl(t.b(),o,null==e?void 0:e.fixed,e.store,void 0,s),u=[a.id,a.align,a.className,...i],d=null==l?void 0:l.props.cellClassName;return O(d)?u.push(d):k(d)&&u.push(d.call(null,{rowIndex:n,columnIndex:o,row:r,column:a})),u.push(t.e("cell")),u.filter(e=>Boolean(e)).join(" ")},getSpan:(e,t,n,o)=>{let r=1,a=1;const s=null==l?void 0:l.props.spanMethod;if(k(s)){const l=s({row:e,column:t,rowIndex:n,columnIndex:o});L(l)?(r=l[0],a=l[1]):$(l)&&(r=l.rowspan,a=l.colspan)}return{rowspan:r,colspan:a}},getColspanRealWidth:(e,l,t)=>{if(l<1)return e[t].realWidth;const n=e.map(({realWidth:e,width:l})=>e||l).slice(t,t+l);return Number(n.reduce((e,l)=>Number(e)+Number(l),-1))}}}(e);let b=-1;const w=B(()=>{var l;return null==(l=e.store)?void 0:l.states.columns.value.findIndex(({type:e})=>"default"===e)}),C=(e,t)=>{var n;const o=null==(n=null==l?void 0:l.props)?void 0:n.rowKey;return o?Cl(e,o):t},x=(s,c,p,x=!1)=>{const{tooltipEffect:E,tooltipOptions:R,store:N}=e,{indent:O,columns:k}=N.states,L=[];let F=!0;p&&(L.push(t.em("row",`level-${p.level}`)),F=!!p.display),0===c&&(b=-1),e.stripe&&F&&b++,L.push(...v(s,c,b));return Ee("tr",{style:[F?null:{display:"none"},h(s,c)],class:L,key:C(s,c),onDblclick:e=>n(e,s),onClick:e=>o(e,s),onContextmenu:e=>r(e,s),onMouseenter:()=>a(c),onMouseleave:i},k.value.map((t,n)=>{const{rowspan:o,colspan:r}=g(s,t,c,n);if(!o||!r)return null;const a=Object.assign({},t);a.realWidth=y(k.value,r,n);const i={store:N,_self:e.context||l,column:a,row:s,$index:c,cellIndex:n,expanded:x};n===w.value&&p&&(i.treeNode={indent:p.level&&p.level*O.value,level:p.level},H(p.expanded)&&(i.treeNode.expanded=p.expanded,"loading"in p&&(i.treeNode.loading=p.loading),"noLazyChildren"in p&&(i.treeNode.noLazyChildren=p.noLazyChildren)));const h=`${C(s,c)},${n}`,v=a.columnKey||a.rawColumnKey||"",b=t.showOverflowTooltip&&ml({effect:E},R,t.showOverflowTooltip);return Ee(lt,{style:f(c,n,s,t),class:m(c,n,s,t,r-1),key:`${v}${h}`,rowspan:o,colspan:r,onMouseenter:e=>u(e,s,b),onMouseleave:d},{default:()=>S(n,t,i)})}))},S=(e,l,t)=>l.renderCell(t);return{wrappedRowRender:(n,o)=>{const r=e.store,{isRowExpanded:a,assertRowKey:i}=r,{treeData:u,lazyTreeNodeMap:d,childrenColumnName:c,rowKey:p}=r.states,h=r.states.columns.value;if(h.some(({type:e})=>"expand"===e)){const e=a(n),s=x(n,o,void 0,e),i=null==l?void 0:l.renderExpanded;if(!i)return s;const u=[[s]];return(l.props.preserveExpandedContent||e)&&u[0].push(Ee("tr",{key:`expanded-row__${s.key}`,style:{display:e?"":"none"}},[Ee("td",{colspan:h.length,class:`${t.e("cell")} ${t.e("expanded-cell")}`},[i({row:n,$index:o,store:r,expanded:e})])])),u}if(Object.keys(u.value).length){i();const e=Cl(n,p.value);let l=u.value[e],t=null;l&&(t={expanded:l.expanded,level:l.level,display:!0,noLazyChildren:void 0,loading:void 0},H(l.lazy)&&(t&&H(l.loaded)&&l.loaded&&(t.noLazyChildren=!(l.children&&l.children.length)),t.loading=l.loading));const r=[x(n,o,null!=t?t:void 0)];if(l){let t=0;const a=(e,n)=>{e&&e.length&&n&&e.forEach(e=>{const i={display:n.display&&n.expanded,level:n.level+1,expanded:!1,noLazyChildren:!1,loading:!1},h=Cl(e,p.value);if(ve(h))throw new Error("For nested data item, row-key is required.");if(l=s({},u.value[h]),l&&(i.expanded=l.expanded,l.level=l.level||i.level,l.display=!(!l.expanded||!i.display),H(l.lazy)&&(H(l.loaded)&&l.loaded&&(i.noLazyChildren=!(l.children&&l.children.length)),i.loading=l.loading)),t++,r.push(x(e,o+t,i)),l){const t=d.value[h]||e[c.value];a(t,l)}})};l.display=!0;const i=d.value[e]||n[c.value];a(i,l)}return r}return x(n,o,void 0)},tooltipContent:c,tooltipTrigger:p}}var nt=G({name:"ElTableBody",props:{store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,tooltipOptions:{type:Object},context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:""},highlight:Boolean},setup(e){var l;const t=I(),n=be(Xl),o=V("table"),{wrappedRowRender:r,tooltipContent:a,tooltipTrigger:s}=tt(e),{onColumnsChange:i,onScrollableChange:u}=ql(n),d=[];return D(null==(l=e.store)?void 0:l.states.hoverRow,(l,n)=>{var r,a;const s=null==t?void 0:t.vnode.el,i=Array.from((null==s?void 0:s.children)||[]).filter(e=>null==e?void 0:e.classList.contains(`${o.e("row")}`));let u=l;const c=null==(r=i[u])?void 0:r.childNodes;if(null==c?void 0:c.length){let e=0;Array.from(c).reduce((l,t,n)=>{var o,r;return(null==(o=c[n])?void 0:o.colSpan)>1&&(e=null==(r=c[n])?void 0:r.colSpan),"TD"!==t.nodeName&&0===e&&l.push(n),e>0&&e--,l},[]).forEach(e=>{var t;for(u=l;u>0;){const l=null==(t=i[u-1])?void 0:t.childNodes;if(l[e]&&"TD"===l[e].nodeName&&l[e].rowSpan>1){Se(l[e],"hover-cell"),d.push(l[e]);break}u--}})}else d.forEach(e=>Ce(e,"hover-cell")),d.length=0;(null==(a=e.store)?void 0:a.states.isComplex.value)&&q&&Je(()=>{const e=i[n],t=i[l];e&&!e.classList.contains("hover-fixed-row")&&Ce(e,"hover-row"),t&&Se(t,"hover-row")})}),ye(()=>{var e;null==(e=Ol)||e()}),{ns:o,onColumnsChange:i,onScrollableChange:u,wrappedRowRender:r,tooltipContent:a,tooltipTrigger:s}},render(){const{wrappedRowRender:e,store:l}=this,t=(null==l?void 0:l.states.data.value)||[];return Ee("tbody",{tabIndex:-1},[t.reduce((l,t)=>l.concat(e(t,l.length)),[])])}});function ot(e){const{columns:l}=function(){const e=be(Xl),l=null==e?void 0:e.store;return{leftFixedLeafCount:B(()=>{var e;return null!=(e=null==l?void 0:l.states.fixedLeafColumnsLength.value)?e:0}),rightFixedLeafCount:B(()=>{var e;return null!=(e=null==l?void 0:l.states.rightFixedColumns.value.length)?e:0}),columnsCount:B(()=>{var e;return null!=(e=null==l?void 0:l.states.columns.value.length)?e:0}),leftFixedCount:B(()=>{var e;return null!=(e=null==l?void 0:l.states.fixedColumns.value.length)?e:0}),rightFixedCount:B(()=>{var e;return null!=(e=null==l?void 0:l.states.rightFixedColumns.value.length)?e:0}),columns:B(()=>{var e;return null!=(e=null==l?void 0:l.states.columns.value)?e:[]})}}(),t=V("table");return{getCellClasses:(l,n)=>{const o=l[n],r=[t.e("cell"),o.id,o.align,o.labelClassName,...Wl(t.b(),n,o.fixed,e.store)];return o.className&&r.push(o.className),o.children||r.push(t.is("leaf")),r},getCellStyles:(l,t)=>{const n=Ml(t,l.fixed,e.store);return Al(n,"left"),Al(n,"right"),n},columns:l}}var rt=G({name:"ElTableFooter",props:{fixed:{type:String,default:""},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e){const l=be(Xl),t=V("table"),{getCellClasses:n,getCellStyles:o,columns:r}=ot(e),{onScrollableChange:a,onColumnsChange:s}=ql(l);return{ns:t,onScrollableChange:a,onColumnsChange:s,getCellClasses:n,getCellStyles:o,columns:r}},render(){const{columns:e,getCellStyles:l,getCellClasses:t,summaryMethod:n,sumText:o}=this,r=this.store.states.data.value;let a=[];return n?a=n({columns:e,data:r}):e.forEach((e,l)=>{if(0===l)return void(a[l]=o);const t=r.map(l=>Number(l[e.property])),n=[];let s=!0;t.forEach(e=>{if(!Number.isNaN(+e)){s=!1;const l=`${e}`.split(".")[1];n.push(l?l.length:0)}});const i=Math.max.apply(null,n);a[l]=s?"":t.reduce((e,l)=>{const t=Number(l);return Number.isNaN(+t)?e:Number.parseFloat((e+l).toFixed(Math.min(i,20)))},0)}),Ee(Ee("tfoot",[Ee("tr",{},[...e.map((n,o)=>Ee("td",{key:o,colspan:n.colSpan,rowspan:n.rowSpan,class:t(e,o),style:l(n,o)},[Ee("div",{class:["cell",n.labelClassName]},[a[o]])]))])]))}});function at(e,l,t,n){const o=K(!1),r=K(null),a=K(!1),s=K({width:null,height:null,headerHeight:null}),i=K(!1),d=K(),c=K(0),p=K(0),h=K(0),v=K(0),f=K(0);Oe(()=>{var t;l.setHeight(null!=(t=e.height)?t:null)}),Oe(()=>{var t;l.setMaxHeight(null!=(t=e.maxHeight)?t:null)}),D(()=>[e.currentRowKey,t.states.rowKey],([e,l])=>{j(l)&&j(e)&&t.setCurrentRowKey(`${e}`)},{immediate:!0}),D(()=>e.data,e=>{n.store.commit("setData",e)},{immediate:!0,deep:!0}),Oe(()=>{e.expandRowKeys&&t.setExpandRowKeysAdapter(e.expandRowKeys)});const m=B(()=>e.height||e.maxHeight||t.states.fixedColumns.value.length>0||t.states.rightFixedColumns.value.length>0),g=B(()=>({width:l.bodyWidth.value?`${l.bodyWidth.value}px`:""})),y=()=>{m.value&&l.updateElsHeight(),l.updateColumnsWidth(),"undefined"!=typeof window&&requestAnimationFrame(w)};me(()=>u(this,null,function*(){yield _(),t.updateColumns(),C(),requestAnimationFrame(y);const l=n.vnode.el,o=n.refs.headerWrapper;e.flexible&&l&&l.parentElement&&(l.parentElement.style.minWidth="0"),s.value={width:d.value=l.offsetWidth,height:l.offsetHeight,headerHeight:e.showHeader&&o?o.offsetHeight:null},t.states.columns.value.forEach(e=>{e.filteredValue&&e.filteredValue.length&&n.store.commit("filterChange",{column:e,values:e.filteredValue,silent:!0})}),n.$ready=!0}));const b=e=>{const{tableWrapper:t}=n.refs;((e,t)=>{if(!e)return;const n=Array.from(e.classList).filter(e=>!e.startsWith("is-scrolling-"));n.push(l.scrollX.value?t:"is-scrolling-none"),e.className=n.join(" ")})(t,e)},w=function(){if(!n.refs.scrollBarRef)return;if(!l.scrollX.value){const e="is-scrolling-none";return void((e=>{const{tableWrapper:l}=n.refs;return!(!l||!l.classList.contains(e))})(e)||b(e))}const e=n.refs.scrollBarRef.wrapRef;if(!e)return;const{scrollLeft:t,offsetWidth:o,scrollWidth:r}=e,{headerWrapper:a,footerWrapper:s}=n.refs;a&&(a.scrollLeft=t),s&&(s.scrollLeft=t);b(t>=r-o-1?"is-scrolling-right":0===t?"is-scrolling-left":"is-scrolling-middle")},C=()=>{n.refs.scrollBarRef&&(n.refs.scrollBarRef.wrapRef&&ke(n.refs.scrollBarRef.wrapRef,"scroll",w,{passive:!0}),e.fit?Le(n.vnode.el,x):ke(window,"resize",x),Le(n.refs.bodyWrapper,()=>{var e,l;x(),null==(l=null==(e=n.refs)?void 0:e.scrollBarRef)||l.update()}))},x=()=>{var l,t,o,r;const a=n.vnode.el;if(!n.$ready||!a)return;let i=!1;const{width:u,height:g,headerHeight:b}=s.value,w=d.value=a.offsetWidth;u!==w&&(i=!0);const C=a.offsetHeight;(e.height||m.value)&&g!==C&&(i=!0);const x="fixed"===e.tableLayout?n.refs.headerWrapper:null==(l=n.refs.tableHeaderRef)?void 0:l.$el;e.showHeader&&(null==x?void 0:x.offsetHeight)!==b&&(i=!0),c.value=(null==(t=n.refs.tableWrapper)?void 0:t.scrollHeight)||0,h.value=(null==x?void 0:x.scrollHeight)||0,v.value=(null==(o=n.refs.footerWrapper)?void 0:o.offsetHeight)||0,f.value=(null==(r=n.refs.appendWrapper)?void 0:r.offsetHeight)||0,p.value=c.value-h.value-v.value-f.value,i&&(s.value={width:w,height:C,headerHeight:e.showHeader&&(null==x?void 0:x.offsetHeight)||0},y())},S=Fe(),E=B(()=>{const{bodyWidth:e,scrollY:t,gutterWidth:n}=l;return e.value?e.value-(t.value?n:0)+"px":""}),R=B(()=>e.maxHeight?"fixed":e.tableLayout),N=B(()=>{if(e.data&&e.data.length)return;let l="100%";e.height&&p.value&&(l=`${p.value}px`);const t=d.value;return{width:t?`${t}px`:"",height:l}}),O=B(()=>e.height?{height:"100%"}:e.maxHeight?Number.isNaN(Number(e.maxHeight))?{maxHeight:`calc(${e.maxHeight} - ${h.value+v.value}px)`}:{maxHeight:+e.maxHeight-h.value-v.value+"px"}:{});return{isHidden:o,renderExpanded:r,setDragVisible:e=>{a.value=e},isGroup:i,handleMouseLeave:()=>{n.store.commit("setHoverRow",null),n.hoverState&&(n.hoverState=null)},handleHeaderFooterMousewheel:(e,l)=>{const{pixelX:t,pixelY:o}=l;Math.abs(t)>=Math.abs(o)&&(n.refs.bodyWrapper.scrollLeft+=l.pixelX/5)},tableSize:S,emptyBlockStyle:N,resizeProxyVisible:a,bodyWidth:E,resizeState:s,doLayout:y,tableBodyStyles:g,tableLayout:R,scrollbarViewStyle:{display:"inline-block",verticalAlign:"middle"},scrollbarStyle:O}}function st(e){const l=K();me(()=>{(()=>{const t=e.vnode.el.querySelector(".hidden-columns"),n=e.store.states.updateOrderFns;l.value=new MutationObserver(()=>{n.forEach(e=>e())}),l.value.observe(t,{childList:!0,subtree:!0})})()}),ye(()=>{var e;null==(e=l.value)||e.disconnect()})}var it={data:{type:Array,default:()=>[]},size:Te,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children",checkStrictly:!1})},lazy:Boolean,load:Function,style:{type:Object,default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:[Boolean,Object],tooltipFormatter:Function,appendFilterPanelTo:String,scrollbarTabindex:{type:[Number,String],default:void 0},allowDragLastColumn:{type:Boolean,default:!0},preserveExpandedContent:Boolean,nativeScrollbar:Boolean};function ut(e){const l="auto"===e.tableLayout;let t=e.columns||[];l&&t.every(({width:e})=>R(e))&&(t=[]);return Ee("colgroup",{},t.map(t=>Ee("col",(t=>{const n={key:`${e.tableLayout}_${t.id}`,style:{},name:void 0};return l?n.style={width:`${t.width}px`}:n.name=t.id,n})(t))))}ut.props=["columns","tableLayout"];var dt,ct,pt,ht,vt,ft,mt,gt,yt,bt,wt,Ct,xt,St,Et,Rt=!1;function Nt(){if(!Rt){Rt=!0;var e=navigator.userAgent,l=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),t=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(Ct=/\b(iPhone|iP[ao]d)/.exec(e),xt=/\b(iP[ao]d)/.exec(e),bt=/Android/i.exec(e),St=/FBAN\/\w+;/i.exec(e),Et=/Mobile/i.exec(e),wt=!!/Win64/.exec(e),l){(dt=l[1]?parseFloat(l[1]):l[5]?parseFloat(l[5]):NaN)&&document&&document.documentMode&&(dt=document.documentMode);var n=/(?:Trident\/(\d+.\d+))/.exec(e);ft=n?parseFloat(n[1])+4:dt,ct=l[2]?parseFloat(l[2]):NaN,pt=l[3]?parseFloat(l[3]):NaN,(ht=l[4]?parseFloat(l[4]):NaN)?(l=/(?:Chrome\/(\d+\.\d+))/.exec(e),vt=l&&l[1]?parseFloat(l[1]):NaN):vt=NaN}else dt=ct=pt=vt=ht=NaN;if(t){if(t[1]){var o=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);mt=!o||parseFloat(o[1].replace("_","."))}else mt=!1;gt=!!t[2],yt=!!t[3]}else mt=gt=yt=!1}}var Ot,kt={ie:function(){return Nt()||dt},ieCompatibilityMode:function(){return Nt()||ft>dt},ie64:function(){return kt.ie()&&wt},firefox:function(){return Nt()||ct},opera:function(){return Nt()||pt},webkit:function(){return Nt()||ht},safari:function(){return kt.webkit()},chrome:function(){return Nt()||vt},windows:function(){return Nt()||gt},osx:function(){return Nt()||mt},linux:function(){return Nt()||yt},iphone:function(){return Nt()||Ct},mobile:function(){return Nt()||Ct||xt||bt||Et},nativeApp:function(){return Nt()||St},android:function(){return Nt()||bt},ipad:function(){return Nt()||xt}},Lt=kt,Ft={canUseDOM:!!(typeof window<"u"&&window.document&&window.document.createElement)};Ft.canUseDOM&&(Ot=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("",""));var Tt=function(e,l){if(!Ft.canUseDOM||l&&!("addEventListener"in document))return!1;var t="on"+e,n=t in document;if(!n){var o=document.createElement("div");o.setAttribute(t,"return;"),n="function"==typeof o[t]}return!n&&Ot&&"wheel"===e&&(n=document.implementation.hasFeature("Events.wheel","3.0")),n};function Wt(e){var l=0,t=0,n=0,o=0;return"detail"in e&&(t=e.detail),"wheelDelta"in e&&(t=-e.wheelDelta/120),"wheelDeltaY"in e&&(t=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(l=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(l=t,t=0),n=10*l,o=10*t,"deltaY"in e&&(o=e.deltaY),"deltaX"in e&&(n=e.deltaX),(n||o)&&e.deltaMode&&(1==e.deltaMode?(n*=40,o*=40):(n*=800,o*=800)),n&&!l&&(l=n<1?-1:1),o&&!t&&(t=o<1?-1:1),{spinX:l,spinY:t,pixelX:n,pixelY:o}}Wt.getEventType=function(){return Lt.firefox()?"DOMMouseScroll":Tt("wheel")?"wheel":"mousewheel"};var Ht=Wt; +/** +* Checks if an event is supported in the current execution environment. +* +* NOTE: This will not work correctly for non-generic events such as `change`, +* `reset`, `load`, `error`, and `select`. +* +* Borrows from Modernizr. +* +* @param {string} eventNameSuffix Event name, e.g. "click". +* @param {?boolean} capture Check if the capture phase is supported. +* @return {boolean} True if the event is supported. +* @internal +* @license Modernizr 3.0.0pre (Custom Build) | MIT +*/let Mt=1;var At=X(G({name:"ElTable",directives:{Mousewheel:{beforeMount(e,l){!function(e,l){if(e&&e.addEventListener){const t=function(e){const t=Ht(e);l&&Reflect.apply(l,this,[e,t])};e.addEventListener("wheel",t,{passive:!0})}}(e,l.value)}}},components:{TableHeader:Ql,TableBody:nt,TableFooter:rt,ElScrollbar:Be,hColgroup:ut},props:it,emits:["select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-contextmenu","cell-click","cell-dblclick","row-click","row-contextmenu","row-dblclick","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change","scroll"],setup(e){const{t:l}=he(),t=V("table"),n=I();Ae(Xl,n);const o=Bl(n,e);n.store=o;const r=new Vl({store:n.store,table:n,fit:e.fit,showHeader:e.showHeader});n.layout=r;const a=B(()=>0===(o.states.data.value||[]).length),{setCurrentRow:s,getSelectionRows:i,toggleRowSelection:u,clearSelection:d,clearFilter:c,toggleAllSelection:p,toggleRowExpansion:h,clearSort:v,sort:f,updateKeyChildren:m}=function(e){return{setCurrentRow:l=>{e.commit("setCurrentRow",l)},getSelectionRows:()=>e.getSelectionRows(),toggleRowSelection:(l,t,n=!0)=>{e.toggleRowSelection(l,t,!1,n),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:l=>{e.clearFilter(l)},toggleAllSelection:()=>{e.commit("toggleAllSelection")},toggleRowExpansion:(l,t)=>{e.toggleRowExpansionAdapter(l,t)},clearSort:()=>{e.clearSort()},sort:(l,t)=>{e.commit("sort",{prop:l,order:t})},updateKeyChildren:(l,t)=>{e.updateKeyChildren(l,t)}}}(o),{isHidden:g,renderExpanded:y,setDragVisible:b,isGroup:w,handleMouseLeave:C,handleHeaderFooterMousewheel:x,tableSize:S,emptyBlockStyle:E,resizeProxyVisible:R,bodyWidth:O,resizeState:k,doLayout:L,tableBodyStyles:F,tableLayout:T,scrollbarViewStyle:W,scrollbarStyle:H}=at(e,r,o,n),{scrollBarRef:M,scrollTo:A,setScrollLeft:$,setScrollTop:P}=(()=>{const e=K(),l=(l,t)=>{const n=e.value;n&&N(t)&&["Top","Left"].includes(l)&&n[`setScroll${l}`](t)};return{scrollBarRef:e,scrollTo:(l,t)=>{const n=e.value;n&&n.scrollTo(l,t)},setScrollTop:e=>l("Top",e),setScrollLeft:e=>l("Left",e)}})(),j=tl(L,50),D=`${t.namespace.value}-table_${Mt++}`;n.tableId=D,n.state={isGroup:w,resizeState:k,doLayout:L,debouncedUpdateLayout:j};const z=B(()=>{var t;return null!=(t=e.sumText)?t:l("el.table.sumText")}),_=B(()=>{var t;return null!=(t=e.emptyText)?t:l("el.table.emptyText")}),Y=B(()=>Ul(o.states.originColumns.value)[0]);return st(n),Ne(()=>{j.cancel()}),{ns:t,layout:r,store:o,columns:Y,handleHeaderFooterMousewheel:x,handleMouseLeave:C,tableId:D,tableSize:S,isHidden:g,isEmpty:a,renderExpanded:y,resizeProxyVisible:R,resizeState:k,isGroup:w,bodyWidth:O,tableBodyStyles:F,emptyBlockStyle:E,debouncedUpdateLayout:j,setCurrentRow:s,getSelectionRows:i,toggleRowSelection:u,clearSelection:d,clearFilter:c,toggleAllSelection:p,toggleRowExpansion:h,clearSort:v,doLayout:L,sort:f,updateKeyChildren:m,t:l,setDragVisible:b,context:n,computedSumText:z,computedEmptyText:_,tableLayout:T,scrollbarViewStyle:W,scrollbarStyle:H,scrollBarRef:M,scrollTo:A,setScrollLeft:$,setScrollTop:P,allowDragLastColumn:e.allowDragLastColumn}}}),[["render",function(e,l,t,n,o,r){const a=U("hColgroup"),s=U("table-header"),i=U("table-body"),u=U("table-footer"),d=U("el-scrollbar"),c=Q("mousewheel");return J(),te("div",{ref:"tableWrapper",class:ne([{[e.ns.m("fit")]:e.fit,[e.ns.m("striped")]:e.stripe,[e.ns.m("border")]:e.border||e.isGroup,[e.ns.m("hidden")]:e.isHidden,[e.ns.m("group")]:e.isGroup,[e.ns.m("fluid-height")]:e.maxHeight,[e.ns.m("scrollable-x")]:e.layout.scrollX.value,[e.ns.m("scrollable-y")]:e.layout.scrollY.value,[e.ns.m("enable-row-hover")]:!e.store.states.isComplex.value,[e.ns.m("enable-row-transition")]:0!==(e.store.states.data.value||[]).length&&(e.store.states.data.value||[]).length<100,"has-footer":e.showSummary},e.ns.m(e.tableSize),e.className,e.ns.b(),e.ns.m(`layout-${e.tableLayout}`)]),style:He(e.style),"data-prefix":e.ns.namespace.value,onMouseleave:e.handleMouseLeave},[re("div",{class:ne(e.ns.e("inner-wrapper"))},[re("div",{ref:"hiddenColumns",class:"hidden-columns"},[oe(e.$slots,"default")],512),e.showHeader&&"fixed"===e.tableLayout?le((J(),te("div",{key:0,ref:"headerWrapper",class:ne(e.ns.e("header-wrapper"))},[re("table",{ref:"tableHeader",class:ne(e.ns.e("header")),style:He(e.tableBodyStyles),border:"0",cellpadding:"0",cellspacing:"0"},[F(a,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),F(s,{ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:e.store,"append-filter-panel-to":e.appendFilterPanelTo,"allow-drag-last-column":e.allowDragLastColumn,onSetDragVisible:e.setDragVisible},null,8,["border","default-sort","store","append-filter-panel-to","allow-drag-last-column","onSetDragVisible"])],6)],2)),[[c,e.handleHeaderFooterMousewheel]]):We("v-if",!0),re("div",{ref:"bodyWrapper",class:ne(e.ns.e("body-wrapper"))},[F(d,{ref:"scrollBarRef","view-style":e.scrollbarViewStyle,"wrap-style":e.scrollbarStyle,always:e.scrollbarAlwaysOn,tabindex:e.scrollbarTabindex,native:e.nativeScrollbar,onScroll:l=>e.$emit("scroll",l)},{default:ee(()=>[re("table",{ref:"tableBody",class:ne(e.ns.e("body")),cellspacing:"0",cellpadding:"0",border:"0",style:He({width:e.bodyWidth,tableLayout:e.tableLayout})},[F(a,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),e.showHeader&&"auto"===e.tableLayout?(J(),Z(s,{key:0,ref:"tableHeaderRef",class:ne(e.ns.e("body-header")),border:e.border,"default-sort":e.defaultSort,store:e.store,"append-filter-panel-to":e.appendFilterPanelTo,onSetDragVisible:e.setDragVisible},null,8,["class","border","default-sort","store","append-filter-panel-to","onSetDragVisible"])):We("v-if",!0),F(i,{context:e.context,highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"tooltip-effect":e.tooltipEffect,"tooltip-options":e.tooltipOptions,"row-style":e.rowStyle,store:e.store,stripe:e.stripe},null,8,["context","highlight","row-class-name","tooltip-effect","tooltip-options","row-style","store","stripe"]),e.showSummary&&"auto"===e.tableLayout?(J(),Z(u,{key:1,class:ne(e.ns.e("body-footer")),border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["class","border","default-sort","store","sum-text","summary-method"])):We("v-if",!0)],6),e.isEmpty?(J(),te("div",{key:0,ref:"emptyBlock",style:He(e.emptyBlockStyle),class:ne(e.ns.e("empty-block"))},[re("span",{class:ne(e.ns.e("empty-text"))},[oe(e.$slots,"empty",{},()=>[ie(ue(e.computedEmptyText),1)])],2)],6)):We("v-if",!0),e.$slots.append?(J(),te("div",{key:1,ref:"appendWrapper",class:ne(e.ns.e("append-wrapper"))},[oe(e.$slots,"append")],2)):We("v-if",!0)]),_:3},8,["view-style","wrap-style","always","tabindex","native","onScroll"])],2),e.showSummary&&"fixed"===e.tableLayout?le((J(),te("div",{key:1,ref:"footerWrapper",class:ne(e.ns.e("footer-wrapper"))},[re("table",{class:ne(e.ns.e("footer")),cellspacing:"0",cellpadding:"0",border:"0",style:He(e.tableBodyStyles)},[F(a,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),F(u,{border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["border","default-sort","store","sum-text","summary-method"])],6)],2)),[[Me,!e.isEmpty],[c,e.handleHeaderFooterMousewheel]]):We("v-if",!0),e.border||e.isGroup?(J(),te("div",{key:2,class:ne(e.ns.e("border-left-patch"))},null,2)):We("v-if",!0)],2),le(re("div",{ref:"resizeProxy",class:ne(e.ns.e("column-resize-proxy"))},null,2),[[Me,e.resizeProxyVisible]])],46,["data-prefix","onMouseleave"])}],["__file","table.vue"]]);const $t={selection:"table-column--selection",expand:"table__expand-column"},Pt={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:""},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},Kt={selection:{renderHeader({store:e,column:l}){var t;return Ee(nl,{disabled:e.states.data.value&&0===e.states.data.value.length,size:e.states.tableSize.value,indeterminate:e.states.selection.value.length>0&&!e.states.isAllSelected.value,"onUpdate:modelValue":null!=(t=e.toggleAllSelection)?t:void 0,modelValue:e.states.isAllSelected.value,ariaLabel:l.label})},renderCell:({row:e,column:l,store:t,$index:n})=>Ee(nl,{disabled:!!l.selectable&&!l.selectable.call(null,e,n),size:t.states.tableSize.value,onChange:()=>{t.commit("rowSelectedChanged",e)},onClick:e=>e.stopPropagation(),modelValue:t.isSelected(e),ariaLabel:l.label}),sortable:!1,resizable:!1},index:{renderHeader:({column:e})=>e.label||"#",renderCell({column:e,$index:l}){let t=l+1;const n=e.index;return N(n)?t=l+n:k(n)&&(t=n(l)),Ee("div",{},[t])},sortable:!1},expand:{renderHeader:({column:e})=>e.label||"",renderCell({column:e,row:l,store:t,expanded:n}){const{ns:o}=t,r=[o.e("expand-icon")];!e.renderExpand&&n&&r.push(o.em("expand-icon","expanded"));return Ee("div",{class:r,onClick:function(e){e.stopPropagation(),t.toggleRowExpansion(l)}},{default:()=>e.renderExpand?[e.renderExpand({expanded:n})]:[Ee(pe,null,{default:()=>[Ee($e)]})]})},sortable:!1,resizable:!1}};function It({row:e,column:l,$index:t}){var n;const o=l.property,r=o&&M(e,o).value;return l&&l.formatter?l.formatter(e,l,r,t):(null==(n=null==r?void 0:r.toString)?void 0:n.call(r))||""}function jt(e,l){return e.reduce((e,l)=>(e[l]=l,e),l)}function Bt(e,l,t){const n=I(),o=K(""),r=K(!1),a=K(),s=K(),i=V("table");Oe(()=>{a.value=e.align?`is-${e.align}`:null,a.value}),Oe(()=>{s.value=e.headerAlign?`is-${e.headerAlign}`:a.value,s.value});const u=B(()=>{let e=n.vnode.vParent||n.parent;for(;e&&!e.tableId&&!e.columnId;)e=e.vnode.vParent||e.parent;return e}),d=B(()=>{const{store:e}=n.parent;if(!e)return!1;const{treeData:l}=e.states,t=l.value;return t&&Object.keys(t).length>0}),c=K(Sl(e.width)),p=K(El(e.minWidth));return{columnId:o,realAlign:a,isSubColumn:r,realHeaderAlign:s,columnOrTableParent:u,setColumnWidth:e=>(c.value&&(e.width=c.value),p.value&&(e.minWidth=p.value),!c.value&&p.value&&(e.width=void 0),e.minWidth||(e.minWidth=80),e.realWidth=Number(R(e.width)?e.minWidth:e.width),e),setColumnForcedProps:e=>{const l=e.type,t=Kt[l]||{};Object.keys(t).forEach(l=>{const n=t[l];"className"===l||R(n)||(e[l]=n)});const n=(e=>$t[e]||"")(l);if(n){const l=`${j(i.namespace)}-${n}`;e.className=e.className?`${e.className} ${l}`:l}return e},setColumnRenders:o=>{e.renderHeader||"selection"!==o.type&&(o.renderHeader=e=>(n.columnConfig.value.label,oe(l,"header",e,()=>[o.label]))),l["filter-icon"]&&(o.renderFilterIcon=e=>oe(l,"filter-icon",e)),l.expand&&(o.renderExpand=e=>oe(l,"expand",e));let r=o.renderCell;return"expand"===o.type?(o.renderCell=e=>Ee("div",{class:"cell"},[r(e)]),t.value.renderExpanded=e=>l.default?l.default(e):l.default):(r=r||It,o.renderCell=e=>{let a=null;if(l.default){const t=l.default(e);a=t.some(e=>e.type!==Ke)?t:r(e)}else a=r(e);const{columns:s}=t.value.store.states,u=s.value.findIndex(e=>"default"===e.type),c=function({row:e,treeNode:l,store:t},n=!1){const{ns:o}=t;if(!l)return n?[Ee("span",{class:o.e("placeholder")})]:null;const r=[],a=function(n){n.stopPropagation(),l.loading||t.loadOrToggle(e)};if(l.indent&&r.push(Ee("span",{class:o.e("indent"),style:{"padding-left":`${l.indent}px`}})),H(l.expanded)&&!l.noLazyChildren){const e=[o.e("expand-icon"),l.expanded?o.em("expand-icon","expanded"):""];let t=$e;l.loading&&(t=Pe),r.push(Ee("div",{class:e,onClick:a},{default:()=>[Ee(pe,{class:{[o.is("loading")]:l.loading}},{default:()=>[Ee(t)]})]}))}else r.push(Ee("span",{class:o.e("placeholder")}));return r}(e,d.value&&e.cellIndex===u),p={class:"cell",style:{}};return o.showOverflowTooltip&&(p.class=`${p.class} ${j(i.namespace)}-tooltip`,p.style={width:(e.column.realWidth||Number(e.column.width))-1+"px"}),(e=>{function l(e){var l;"ElTableColumn"===(null==(l=null==e?void 0:e.type)?void 0:l.name)&&(e.vParent=n)}L(e)?e.forEach(e=>l(e)):l(e)})(a),Ee("div",p,[c,a])}),o},getPropsData:(...l)=>l.reduce((l,t)=>(L(t)&&t.forEach(t=>{l[t]=e[t]}),l),{}),getColumnElIndex:(e,l)=>Array.prototype.indexOf.call(e,l),updateColumnOrder:()=>{t.value.store.commit("updateColumnOrder",n.columnConfig.value)}}}var Dt={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(e=>["ascending","descending",null].includes(e))}};let zt=1;var Vt=G({name:"ElTableColumn",components:{ElCheckbox:nl},props:Dt,setup(e,{slots:l}){const t=I(),n=K({}),o=B(()=>{let e=t.parent;for(;e&&!e.tableId;)e=e.parent;return e}),{registerNormalWatchers:r,registerComplexWatchers:a}=function(e,l){const t=I();return{registerComplexWatchers:()=>{const n={realWidth:"width",realMinWidth:"minWidth"},o=jt(["fixed"],n);Object.keys(o).forEach(o=>{const r=n[o];E(l,r)&&D(()=>l[r],l=>{let n=l;"width"===r&&"realWidth"===o&&(n=Sl(l)),"minWidth"===r&&"realMinWidth"===o&&(n=El(l)),t.columnConfig.value[r]=n,t.columnConfig.value[o]=n;const a="fixed"===r;e.value.store.scheduleLayout(a)})})},registerNormalWatchers:()=>{const n={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},o=jt(["label","filters","filterMultiple","filteredValue","sortable","index","formatter","className","labelClassName","filterClassName","showOverflowTooltip","tooltipFormatter"],n);Object.keys(o).forEach(e=>{const o=n[e];E(l,o)&&D(()=>l[o],l=>{t.columnConfig.value[e]=l})}),["showOverflowTooltip"].forEach(l=>{E(e.value.props,l)&&D(()=>e.value.props[l],e=>{t.columnConfig.value[l]=e})})}}}(o,e),{columnId:u,isSubColumn:d,realHeaderAlign:c,columnOrTableParent:p,setColumnWidth:h,setColumnForcedProps:v,setColumnRenders:f,getPropsData:m,getColumnElIndex:g,realAlign:y,updateColumnOrder:b}=Bt(e,l,o),w=p.value;u.value=`${"tableId"in w&&w.tableId||"columnId"in w&&w.columnId}_column_${zt++}`,fe(()=>{d.value=o.value!==w;const l=e.type||"default",p=""===e.sortable||e.sortable,g="selection"!==l&&(R(e.showOverflowTooltip)?w.props.showOverflowTooltip:e.showOverflowTooltip),b=R(e.tooltipFormatter)?w.props.tooltipFormatter:e.tooltipFormatter,C=i(s({},Pt[l]),{id:u.value,type:l,property:e.prop||e.property,align:y,headerAlign:c,showOverflowTooltip:g,tooltipFormatter:b,filterable:e.filters||e.filterMethod,filteredValue:[],filterPlacement:"",filterClassName:"",isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:p,index:e.index,rawColumnKey:t.vnode.key});let x=m(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement","filterClassName"]);x=function(e,l){const t={};let n;for(n in e)t[n]=e[n];for(n in l)if(E(l,n)){const e=l[n];R(e)||(t[n]=e)}return t}(C,x);x=function(...e){return 0===e.length?e=>e:1===e.length?e[0]:e.reduce((e,l)=>(...t)=>e(l(...t)))}(f,h,v)(x),n.value=x,r(),a()}),me(()=>{var e,l;const r=p.value,a=d.value?null==(e=r.vnode.el)?void 0:e.children:null==(l=r.refs.hiddenColumns)?void 0:l.children,s=()=>g(a||[],t.vnode.el);n.value.getColumnIndex=s;s()>-1&&o.value.store.commit("insertColumn",n.value,d.value?"columnConfig"in r&&r.columnConfig.value:null,b)}),Ne(()=>{const e=n.value.getColumnIndex;(e?e():-1)>-1&&o.value.store.commit("removeColumn",n.value,d.value?"columnConfig"in w&&w.columnConfig.value:null,b)}),t.columnId=u.value,t.columnConfig=n},render(){var e,l,t;try{const n=null==(l=(e=this.$slots).default)?void 0:l.call(e,{row:{},column:{},$index:-1}),o=[];if(L(n))for(const e of n)"ElTableColumn"===(null==(t=e.type)?void 0:t.name)||2&e.shapeFlag?o.push(e):e.type===ae&&L(e.children)&&e.children.forEach(e=>{1024===(null==e?void 0:e.patchFlag)||O(null==e?void 0:e.children)||o.push(e)});return Ee("div",o)}catch(n){return Ee("div",[])}}});const _t=Ie(At,{TableColumn:Vt}),Yt=je(Vt);export{_t as E,Yt as a}; diff --git a/nginx/admin/assets/index-BjuMygln.js.gz b/nginx/admin/assets/index-BjuMygln.js.gz new file mode 100644 index 0000000..902e4a7 Binary files /dev/null and b/nginx/admin/assets/index-BjuMygln.js.gz differ diff --git a/nginx/admin/assets/index-BnK4BbY2.js b/nginx/admin/assets/index-BnK4BbY2.js new file mode 100644 index 0000000..3ed614a --- /dev/null +++ b/nginx/admin/assets/index-BnK4BbY2.js @@ -0,0 +1 @@ +import{bZ as e}from"./index-BoIUJTA2.js";const t=100,o=600,n={beforeMount(n,a){const r=a.value,{interval:s=t,delay:d=o}=e(r)?{}:r;let i,l;const u=()=>e(r)?r():r.handler(),v=()=>{l&&(clearTimeout(l),l=void 0),i&&(clearInterval(i),i=void 0)};n.addEventListener("mousedown",e=>{0===e.button&&(v(),u(),document.addEventListener("mouseup",()=>v(),{once:!0}),l=setTimeout(()=>{i=setInterval(()=>{u()},s)},d))})}};export{n as v}; diff --git a/nginx/admin/assets/index-BneqRonp.js b/nginx/admin/assets/index-BneqRonp.js new file mode 100644 index 0000000..e763096 --- /dev/null +++ b/nginx/admin/assets/index-BneqRonp.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,s=(a,t,l)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[t]=l,o=(e,a)=>{for(var t in a||(a={}))n.call(a,t)&&s(e,t,a[t]);if(l)for(var t of l(a))r.call(a,t)&&s(e,t,a[t]);return e},i=(e,l)=>a(e,t(l)),u=(e,a,t)=>new Promise((l,n)=>{var r=e=>{try{o(t.next(e))}catch(Wa){n(Wa)}},s=e=>{try{o(t.throw(e))}catch(Wa){n(Wa)}},o=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,s);o((t=t.apply(e,a)).next())});import{bG as d,bH as c,an as v,bI as p,bJ as m,bK as f,r as h,c as b,bF as y,br as g,a8 as k,at as w,bB as D,bL as C,bw as S,bM as x,a0 as M,d as $,bD as P,bE as V,k as O,bN as Y,a1 as _,bO as I,b as N,e as R,s as B,f as A,a2 as F,p as L,m as T,q as j,bc as W,bP as H,a9 as E,bQ as K,by as z,ax as U,bx as Z,A as G,bR as q,b4 as J,bS as Q,l as X,h as ee,w as ae,O as te,K as le,i as ne,ai as re,bT as se,aE as oe,v as ie,Z as ue,_ as de,n as ce,as as ve,ae as pe,bU as me,o as fe,I as he,J as be,j as ye,N as ge,g as ke,bV as we,ab as De,bd as Ce,ad as Se,a3 as xe,ah as Me,bW as $e,P as Pe,a5 as Ve,bs as Oe,ay as Ye,aj as _e,bX as Ie,aR as Ne,ac as Re,bY as Be,E as Ae,bZ as Fe,af as Le,t as Te,b_ as je,az as We}from"./index-BoIUJTA2.js";import{a as He,u as Ee,E as Ke,c as ze,e as Ue}from"./index-BMeOzN3u.js";import{E as Ze}from"./index-Cp4NEpJ7.js";import{v as Ge}from"./index-BnK4BbY2.js";import{d as qe}from"./debounce-DQl5eUwG.js";import{C as Je}from"./index-CXORCV4U.js";var Qe={exports:{}};Qe.exports=function(){var e=1e3,a=6e4,t=36e5,l="millisecond",n="second",r="minute",s="hour",o="day",i="week",u="month",d="quarter",c="year",v="date",p="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,f=/\[([^\]]+)]|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,h={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(e){var a=["th","st","nd","rd"],t=e%100;return"["+e+(a[(t-20)%10]||a[t]||a[0])+"]"}},b=function(e,a,t){var l=String(e);return!l||l.length>=a?e:""+Array(a+1-l.length).join(t)+e},y={s:b,z:function(e){var a=-e.utcOffset(),t=Math.abs(a),l=Math.floor(t/60),n=t%60;return(a<=0?"+":"-")+b(l,2,"0")+":"+b(n,2,"0")},m:function e(a,t){if(a.date()1)return e(s[0])}else{var o=a.name;k[o]=a,n=o}return!l&&n&&(g=n),n||!l&&g},S=function(e,a){if(D(e))return e.clone();var t="object"==typeof a?a:{};return t.date=e,t.args=arguments,new M(t)},x=y;x.l=C,x.i=D,x.w=function(e,a){return S(e,{locale:a.$L,utc:a.$u,x:a.$x,$offset:a.$offset})};var M=function(){function h(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[w]=!0}var b=h.prototype;return b.parse=function(e){this.$d=function(e){var a=e.date,t=e.utc;if(null===a)return new Date(NaN);if(x.u(a))return new Date;if(a instanceof Date)return new Date(a);if("string"==typeof a&&!/Z$/i.test(a)){var l=a.match(m);if(l){var n=l[2]-1||0,r=(l[7]||"0").substring(0,3);return t?new Date(Date.UTC(l[1],n,l[3]||1,l[4]||0,l[5]||0,l[6]||0,r)):new Date(l[1],n,l[3]||1,l[4]||0,l[5]||0,l[6]||0,r)}}return new Date(a)}(e),this.init()},b.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()},b.$utils=function(){return x},b.isValid=function(){return!(this.$d.toString()===p)},b.isSame=function(e,a){var t=S(e);return this.startOf(a)<=t&&t<=this.endOf(a)},b.isAfter=function(e,a){return S(e)[e>0?e-1:void 0,e,eArray.from(Array.from({length:e}).keys()),ta=e=>e.replace(/\W?m{1,2}|\W?ZZ/g,"").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi,"").trim(),la=e=>e.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?Y{2,4}/g,"").trim(),na=function(e,a){const t=m(e),l=m(a);return t&&l?e.getTime()===a.getTime():!t&&!l&&e===a},ra=function(e,a){const t=v(e),l=v(a);return t&&l?e.length===a.length&&e.every((e,t)=>na(e,a[t])):!t&&!l&&na(e,a)},sa=function(e,a,t){const l=p(a)||"x"===a?Xe(e).locale(t):Xe(e,a).locale(t);return l.isValid()?l:void 0},oa=function(e,a,t){return p(a)?e:"x"===a?+e:Xe(e).locale(t).format(a)},ia=(e,a)=>{var t;const l=[],n=null==a?void 0:a();for(let r=0;rv(e)?e.map(e=>e.toDate()):e.toDate();var da={exports:{}};da.exports=function(e,a,t){var l=a.prototype,n=function(e){return e&&(e.indexOf?e:e.s)},r=function(e,a,t,l,r){var s=e.name?e:e.$locale(),o=n(s[a]),i=n(s[t]),u=o||i.map(function(e){return e.slice(0,l)});if(!r)return u;var d=s.weekStart;return u.map(function(e,a){return u[(a+(d||0))%7]})},s=function(){return t.Ls[t.locale()]},o=function(e,a){return e.formats[a]||e.formats[a.toUpperCase()].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(e,a,t){return a||t.slice(1)})},i=function(){var e=this;return{months:function(a){return a?a.format("MMMM"):r(e,"months")},monthsShort:function(a){return a?a.format("MMM"):r(e,"monthsShort","months",3)},firstDayOfWeek:function(){return e.$locale().weekStart||0},weekdays:function(a){return a?a.format("dddd"):r(e,"weekdays")},weekdaysMin:function(a){return a?a.format("dd"):r(e,"weekdaysMin","weekdays",2)},weekdaysShort:function(a){return a?a.format("ddd"):r(e,"weekdaysShort","weekdays",3)},longDateFormat:function(a){return o(e.$locale(),a)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};l.localeData=function(){return i.bind(this)()},t.localeData=function(){var e=s();return{firstDayOfWeek:function(){return e.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(a){return o(e,a)},meridiem:e.meridiem,ordinal:e.ordinal}},t.months=function(){return r(s(),"months")},t.monthsShort=function(){return r(s(),"monthsShort","months",3)},t.weekdays=function(e){return r(s(),"weekdays",null,null,e)},t.weekdaysShort=function(e){return r(s(),"weekdaysShort","weekdays",3,e)},t.weekdaysMin=function(e){return r(s(),"weekdaysMin","weekdays",2,e)}};const ca=d(da.exports);var va={exports:{}};va.exports=function(){var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},a=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,t=/\d/,l=/\d\d/,n=/\d\d?/,r=/\d*[^-_:/,()\s\d]+/,s={},o=function(e){return(e=+e)+(e>68?1900:2e3)},i=function(e){return function(a){this[e]=+a}},u=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if("Z"===e)return 0;var a=e.match(/([+-]|\d\d)/g),t=60*a[1]+(+a[2]||0);return 0===t?0:"+"===a[0]?-t:t}(e)}],d=function(e){var a=s[e];return a&&(a.indexOf?a:a.s.concat(a.f))},c=function(e,a){var t,l=s.meridiem;if(l){for(var n=1;n<=24;n+=1)if(e.indexOf(l(n,0,a))>-1){t=n>12;break}}else t=e===(a?"pm":"PM");return t},v={A:[r,function(e){this.afternoon=c(e,!1)}],a:[r,function(e){this.afternoon=c(e,!0)}],Q:[t,function(e){this.month=3*(e-1)+1}],S:[t,function(e){this.milliseconds=100*+e}],SS:[l,function(e){this.milliseconds=10*+e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[n,i("seconds")],ss:[n,i("seconds")],m:[n,i("minutes")],mm:[n,i("minutes")],H:[n,i("hours")],h:[n,i("hours")],HH:[n,i("hours")],hh:[n,i("hours")],D:[n,i("day")],DD:[l,i("day")],Do:[r,function(e){var a=s.ordinal,t=e.match(/\d+/);if(this.day=t[0],a)for(var l=1;l<=31;l+=1)a(l).replace(/\[|\]/g,"")===e&&(this.day=l)}],w:[n,i("week")],ww:[l,i("week")],M:[n,i("month")],MM:[l,i("month")],MMM:[r,function(e){var a=d("months"),t=(d("monthsShort")||a.map(function(e){return e.slice(0,3)})).indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],MMMM:[r,function(e){var a=d("months").indexOf(e)+1;if(a<1)throw new Error;this.month=a%12||a}],Y:[/[+-]?\d+/,i("year")],YY:[l,function(e){this.year=o(e)}],YYYY:[/\d{4}/,i("year")],Z:u,ZZ:u};function p(t){var l,n;l=t,n=s&&s.formats;for(var r=(t=l.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(a,t,l){var r=l&&l.toUpperCase();return t||n[l]||e[l]||n[r].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(e,a,t){return a||t.slice(1)})})).match(a),o=r.length,i=0;i-1)return new Date(("X"===a?1e3:1)*e);var n=p(a)(e),r=n.year,s=n.month,o=n.day,i=n.hours,u=n.minutes,d=n.seconds,c=n.milliseconds,v=n.zone,m=n.week,f=new Date,h=o||(r||s?1:f.getDate()),b=r||f.getFullYear(),y=0;r&&!s||(y=s>0?s-1:f.getMonth());var g,k=i||0,w=u||0,D=d||0,C=c||0;return v?new Date(Date.UTC(b,y,h,k,w,D,C+60*v.offset*1e3)):t?new Date(Date.UTC(b,y,h,k,w,D,C)):(g=new Date(b,y,h,k,w,D,C),m&&(g=l(g).week(m).toDate()),g)}catch(S){return new Date("")}}(a,o,l,t),this.init(),c&&!0!==c&&(this.$L=this.locale(c).$L),d&&a!=this.format(o)&&(this.$d=new Date("")),s={}}else if(o instanceof Array)for(var v=o.length,m=1;m<=v;m+=1){r[1]=o[m-1];var f=t.apply(this,r);if(f.isValid()){this.$d=f.$d,this.$L=f.$L,this.init();break}m===v&&(this.$d=new Date(""))}else n.call(this,e)}}}();const pa=d(va.exports),ma=["hours","minutes","seconds"],fa="EP_PICKER_BASE",ha="ElPopperOptions",ba=Symbol("commonPickerContextKey"),ya="HH:mm:ss",ga="YYYY-MM-DD",ka={date:ga,dates:ga,week:"gggg[w]ww",year:"YYYY",years:"YYYY",month:"YYYY-MM",months:"YYYY-MM",datetime:`${ga} ${ya}`,monthrange:"YYYY-MM",yearrange:"YYYY",daterange:ga,datetimerange:`${ga} ${ya}`},wa=(e,a)=>{const{lang:t}=f(),l=h(!1),n=h(!1),r=h(null),s=b(()=>{const{modelValue:a}=e;return!a||v(a)&&!a.filter(Boolean).length}),o=l=>{if(!ra(e.modelValue,l)){let n;v(l)?n=l.map(a=>oa(a,e.valueFormat,t.value)):l&&(n=oa(l,e.valueFormat,t.value));a(g,l?n:l,t.value)}},i=b(()=>{var a;let l;if(s.value?u.value.getDefaultValue&&(l=u.value.getDefaultValue()):l=v(e.modelValue)?e.modelValue.map(a=>sa(a,e.valueFormat,t.value)):sa(null!=(a=e.modelValue)?a:"",e.valueFormat,t.value),u.value.getRangeAvailableTime){const e=u.value.getRangeAvailableTime(l);y(e,l)||(l=e,s.value||o(ua(l)))}return v(l)&&l.some(e=>!e)&&(l=[]),l}),u=h({});return{parsedValue:i,pickerActualVisible:n,pickerOptions:u,pickerVisible:l,userInput:r,valueIsEmpty:s,emitInput:o,onCalendarChange:e=>{a("calendar-change",e)},onPanelChange:(e,t,l)=>{a("panel-change",e,t,l)},onPick:(e="",a=!1)=>{let t;l.value=a,t=v(e)?e.map(e=>e.toDate()):e?e.toDate():e,r.value=null,o(t)},onSetPickerOption:e=>{u.value[e[0]]=e[1],u.value.panelReady=!0}}},Da=k({disabledHours:{type:w(Function)},disabledMinutes:{type:w(Function)},disabledSeconds:{type:w(Function)}}),Ca=k({visible:Boolean,actualVisible:{type:Boolean,default:void 0},format:{type:String,default:""}}),Sa=k(i(o(o(i(o({automaticDropdown:{type:Boolean,default:!0},id:{type:w([Array,String])},name:{type:w([Array,String])},popperClass:Ee.popperClass,popperStyle:Ee.popperStyle,format:String,valueFormat:String,dateFormat:String,timeFormat:String,type:{type:String,default:""},clearable:{type:Boolean,default:!0},clearIcon:{type:w([String,Object]),default:x},editable:{type:Boolean,default:!0},prefixIcon:{type:w([String,Object]),default:""},size:S,readonly:Boolean,disabled:Boolean,placeholder:{type:String,default:""},popperOptions:{type:w(Object),default:()=>({})},modelValue:{type:w([Date,Array,String,Number]),default:""},rangeSeparator:{type:String,default:"-"},startPlaceholder:String,endPlaceholder:String,defaultValue:{type:w([Date,Array])},defaultTime:{type:w([Date,Array])},isRange:Boolean},Da),{disabledDate:{type:Function},cellClassName:{type:Function},shortcuts:{type:Array,default:()=>[]},arrowControl:Boolean,tabindex:{type:w([String,Number]),default:0},validateEvent:{type:Boolean,default:!0},unlinkPanels:Boolean,placement:{type:w(String),values:He,default:"bottom"},fallbackPlacements:{type:w(Array),default:["bottom","top","right","left"]}}),C),D(["ariaLabel"])),{showNow:{type:Boolean,default:!0},showConfirm:{type:Boolean,default:!0},showFooter:{type:Boolean,default:!0},showWeekNumber:Boolean})),xa=k({id:{type:w(Array)},name:{type:w(Array)},modelValue:{type:w([Array,String])},startPlaceholder:String,endPlaceholder:String,disabled:Boolean}),Ma=$({name:"PickerRangeTrigger",inheritAttrs:!1});var $a=M($(i(o({},Ma),{props:xa,emits:["mouseenter","mouseleave","click","touchstart","focus","blur","startInput","endInput","startChange","endChange"],setup(e,{expose:a,emit:t}){const l=e,{formItem:n}=P(),{inputId:r}=V(O({id:b(()=>{var e;return null==(e=l.id)?void 0:e[0]})}),{formItemContext:n}),s=Y(),o=_("date"),i=_("range"),u=h(),d=h(),{wrapperRef:c,isFocused:v}=I(u,{disabled:b(()=>l.disabled)}),p=e=>{t("click",e)},m=e=>{t("mouseenter",e)},f=e=>{t("mouseleave",e)},y=e=>{t("touchstart",e)},g=e=>{t("startInput",e)},k=e=>{t("endInput",e)},w=e=>{t("startChange",e)},D=e=>{t("endChange",e)};return a({focus:()=>{var e;null==(e=u.value)||e.focus()},blur:()=>{var e,a;null==(e=u.value)||e.blur(),null==(a=d.value)||a.blur()}}),(e,a)=>(R(),N("div",{ref_key:"wrapperRef",ref:c,class:j([L(o).is("active",L(v)),e.$attrs.class]),style:T(e.$attrs.style),onClick:p,onMouseenter:m,onMouseleave:f,onTouchstartPassive:y},[B(e.$slots,"prefix"),A("input",F(L(s),{id:L(r),ref_key:"inputRef",ref:u,name:e.name&&e.name[0],placeholder:e.startPlaceholder,value:e.modelValue&&e.modelValue[0],class:L(i).b("input"),disabled:e.disabled,onInput:g,onChange:w}),null,16,["id","name","placeholder","value","disabled"]),B(e.$slots,"range-separator"),A("input",F(L(s),{id:e.id&&e.id[1],ref_key:"endInputRef",ref:d,name:e.name&&e.name[1],placeholder:e.endPlaceholder,value:e.modelValue&&e.modelValue[1],class:L(i).b("input"),disabled:e.disabled,onInput:k,onChange:D}),null,16,["id","name","placeholder","value","disabled"]),B(e.$slots,"suffix")],38))}})),[["__file","picker-range-trigger.vue"]]);const Pa=$({name:"Picker"}),Va=$(i(o({},Pa),{props:Sa,emits:[g,W,"focus","blur","clear","calendar-change","panel-change","visible-change","keydown"],setup(e,{expose:a,emit:t}){const l=e,n=H(),r=_("date"),s=_("input"),o=_("range"),{formItem:i}=P(),d=E(ha,{}),c=K(l,null),p=h(),m=h(),f=h(null);let y=!1;const g=z(),k=wa(l,t),{parsedValue:w,pickerActualVisible:D,userInput:C,pickerVisible:S,pickerOptions:x,valueIsEmpty:M,emitInput:$,onPick:V,onSetPickerOption:O,onCalendarChange:Y,onPanelChange:N}=k,{isFocused:me,handleFocus:fe,handleBlur:he}=I(m,{disabled:g,beforeFocus:()=>l.readonly,afterFocus(){l.automaticDropdown&&(S.value=!0)},beforeBlur(e){var a;return!y&&(null==(a=p.value)?void 0:a.isFocusInsideContent(e))},afterBlur(){He(),S.value=!1,y=!1,l.validateEvent&&(null==i||i.validate("blur").catch(e=>U()))}}),be=h(!1),ye=b(()=>[r.b("editor"),r.bm("editor",l.type),s.e("wrapper"),r.is("disabled",g.value),r.is("active",S.value),o.b("editor"),Te?o.bm("editor",Te.value):"",n.class]),ge=b(()=>[s.e("icon"),o.e("close-icon"),Ie.value?"":o.em("close-icon","hidden")]);G(S,e=>{e?ce(()=>{e&&(f.value=l.modelValue)}):(C.value=null,ce(()=>{ke(l.modelValue)}))});const ke=(e,a)=>{!a&&ra(e,f.value)||(t(W,e),a&&(f.value=e),l.validateEvent&&(null==i||i.validate("change").catch(e=>U())))},we=b(()=>m.value?Array.from(m.value.$el.querySelectorAll("input")):[]),De=(e,a,t)=>{const l=we.value;l.length&&(t&&"min"!==t?"max"===t&&(l[1].setSelectionRange(e,a),l[1].focus()):(l[0].setSelectionRange(e,a),l[0].focus()))},Ce=()=>{D.value=!0},Se=()=>{t("visible-change",!0)},xe=()=>{D.value=!1,S.value=!1,t("visible-change",!1)},Me=b(()=>{if(!x.value.panelReady)return"";const e=ze(w.value);return v(C.value)?[C.value[0]||e&&e[0]||"",C.value[1]||e&&e[1]||""]:null!==C.value?C.value:!Pe.value&&M.value||!S.value&&M.value?"":e?Ve.value||Oe.value||Ye.value?e.join(", "):e:""}),$e=b(()=>l.type.includes("time")),Pe=b(()=>l.type.startsWith("time")),Ve=b(()=>"dates"===l.type),Oe=b(()=>"months"===l.type),Ye=b(()=>"years"===l.type),_e=b(()=>l.prefixIcon||($e.value?q:J)),Ie=b(()=>l.clearable&&!g.value&&!l.readonly&&!M.value&&(be.value||me.value)),Ne=e=>{l.readonly||g.value||(Ie.value&&(e.stopPropagation(),x.value.handleClear?x.value.handleClear():$(c.valueOnClear.value),ke(c.valueOnClear.value,!0),xe()),t("clear"))},Re=e=>u(this,null,function*(){var a;l.readonly||g.value||"INPUT"===(null==(a=e.target)?void 0:a.tagName)&&!me.value&&l.automaticDropdown||(S.value=!0)}),Be=()=>{l.readonly||g.value||!M.value&&l.clearable&&(be.value=!0)},Ae=()=>{be.value=!1},Fe=e=>{var a;l.readonly||g.value||"INPUT"===(null==(a=e.touches[0].target)?void 0:a.tagName)&&!me.value&&l.automaticDropdown||(S.value=!0)},Le=b(()=>l.type.includes("range")),Te=Z(),je=b(()=>{var e,a;return null==(a=null==(e=L(p))?void 0:e.popperRef)?void 0:a.contentRef}),We=Q(m,e=>{const a=L(je),t=ve(m);a&&(e.target===a||e.composedPath().includes(a))||e.target===t||t&&e.composedPath().includes(t)||(S.value=!1)});X(()=>{null==We||We()});const He=()=>{if(C.value){const e=Ee(Me.value);e&&Ue(e)&&($(ua(e)),C.value=null)}""===C.value&&($(c.valueOnClear.value),ke(c.valueOnClear.value,!0),C.value=null)},Ee=e=>e?x.value.parseUserInput(e):null,ze=e=>e?x.value.formatToString(e):null,Ue=e=>x.value.isValidValue(e),Ze=e=>u(this,null,function*(){if(l.readonly||g.value)return;const a=ue(e);if(t("keydown",e),a!==de.esc)if(a===de.down&&(x.value.handleFocusPicker&&(e.preventDefault(),e.stopPropagation()),!1===S.value&&(S.value=!0,yield ce()),x.value.handleFocusPicker))x.value.handleFocusPicker();else{if(a!==de.tab)return a===de.enter||a===de.numpadEnter?(S.value?(null===C.value||""===C.value||Ue(Ee(Me.value)))&&(He(),S.value=!1):S.value=!0,e.preventDefault(),void e.stopPropagation()):void(C.value?e.stopPropagation():x.value.handleKeydownInput&&x.value.handleKeydownInput(e));y=!0}else!0===S.value&&(S.value=!1,e.preventDefault(),e.stopPropagation())}),Ge=e=>{C.value=e,S.value||(S.value=!0)},qe=e=>{const a=e.target;C.value?C.value=[a.value,C.value[1]]:C.value=[a.value,null]},Je=e=>{const a=e.target;C.value?C.value=[C.value[0],a.value]:C.value=[null,a.value]},Qe=()=>{var e;const a=C.value,t=Ee(a&&a[0]),l=L(w);if(t&&t.isValid()){C.value=[ze(t),(null==(e=Me.value)?void 0:e[1])||null];const a=[t,l&&(l[1]||null)];Ue(a)&&($(ua(a)),C.value=null)}},Xe=()=>{var e;const a=L(C),t=Ee(a&&a[1]),l=L(w);if(t&&t.isValid()){C.value=[(null==(e=L(Me))?void 0:e[0])||null,ze(t)];const a=[l&&l[0],t];Ue(a)&&($(ua(a)),C.value=null)}};return pe(fa,{props:l,emptyValues:c}),pe(ba,k),a({focus:()=>{var e;null==(e=m.value)||e.focus()},blur:()=>{var e;null==(e=m.value)||e.blur()},handleOpen:()=>{S.value=!0},handleClose:()=>{S.value=!1},onPick:V}),(e,a)=>(R(),ee(L(Ke),F({ref_key:"refPopper",ref:p,visible:L(S),effect:"light",pure:"",trigger:"click"},e.$attrs,{role:"dialog",teleported:"",transition:`${L(r).namespace.value}-zoom-in-top`,"popper-class":[`${L(r).namespace.value}-picker__popper`,e.popperClass],"popper-style":e.popperStyle,"popper-options":L(d),"fallback-placements":e.fallbackPlacements,"gpu-acceleration":!1,placement:e.placement,"stop-popper-mouse-event":!1,"hide-after":0,persistent:"",onBeforeShow:Ce,onShow:Se,onHide:xe}),{default:ae(()=>[L(Le)?(R(),ee($a,{key:1,id:e.id,ref_key:"inputRef",ref:m,"model-value":L(Me),name:e.name,disabled:L(g),readonly:!e.editable||e.readonly,"start-placeholder":e.startPlaceholder,"end-placeholder":e.endPlaceholder,class:j(L(ye)),style:T(e.$attrs.style),"aria-label":e.ariaLabel,tabindex:e.tabindex,autocomplete:"off",role:"combobox",onClick:Re,onFocus:L(fe),onBlur:L(he),onStartInput:qe,onStartChange:Qe,onEndInput:Je,onEndChange:Xe,onMousedown:Re,onMouseenter:Be,onMouseleave:Ae,onTouchstartPassive:Fe,onKeydown:Ze},{prefix:ae(()=>[L(_e)?(R(),ee(L(re),{key:0,class:j([L(s).e("icon"),L(o).e("icon")])},{default:ae(()=>[(R(),ee(oe(L(_e))))]),_:1},8,["class"])):ne("v-if",!0)]),"range-separator":ae(()=>[B(e.$slots,"range-separator",{},()=>[A("span",{class:j(L(o).b("separator"))},ie(e.rangeSeparator),3)])]),suffix:ae(()=>[e.clearIcon?(R(),ee(L(re),{key:0,class:j(L(ge)),onMousedown:te(L(se),["prevent"]),onClick:Ne},{default:ae(()=>[(R(),ee(oe(e.clearIcon)))]),_:1},8,["class","onMousedown"])):ne("v-if",!0)]),_:3},8,["id","model-value","name","disabled","readonly","start-placeholder","end-placeholder","class","style","aria-label","tabindex","onFocus","onBlur"])):(R(),ee(L(le),{key:0,id:e.id,ref_key:"inputRef",ref:m,"container-role":"combobox","model-value":L(Me),name:e.name,size:L(Te),disabled:L(g),placeholder:e.placeholder,class:j([L(r).b("editor"),L(r).bm("editor",e.type),L(r).is("focus",L(S)),e.$attrs.class]),style:T(e.$attrs.style),readonly:!e.editable||e.readonly||L(Ve)||L(Oe)||L(Ye)||"week"===e.type,"aria-label":e.ariaLabel,tabindex:e.tabindex,"validate-event":!1,onInput:Ge,onFocus:L(fe),onBlur:L(he),onKeydown:Ze,onChange:He,onMousedown:Re,onMouseenter:Be,onMouseleave:Ae,onTouchstartPassive:Fe,onClick:te(()=>{},["stop"])},{prefix:ae(()=>[L(_e)?(R(),ee(L(re),{key:0,class:j(L(s).e("icon")),onMousedown:te(Re,["prevent"]),onTouchstartPassive:Fe},{default:ae(()=>[(R(),ee(oe(L(_e))))]),_:1},8,["class","onMousedown"])):ne("v-if",!0)]),suffix:ae(()=>[L(Ie)&&e.clearIcon?(R(),ee(L(re),{key:0,class:j(`${L(s).e("icon")} clear-icon`),onMousedown:te(L(se),["prevent"]),onClick:Ne},{default:ae(()=>[(R(),ee(oe(e.clearIcon)))]),_:1},8,["class","onMousedown"])):ne("v-if",!0)]),_:1},8,["id","model-value","name","size","disabled","placeholder","class","style","readonly","aria-label","tabindex","onFocus","onBlur","onClick"]))]),content:ae(()=>[B(e.$slots,"default",{visible:L(S),actualVisible:L(D),parsedValue:L(w),format:e.format,dateFormat:e.dateFormat,timeFormat:e.timeFormat,unlinkPanels:e.unlinkPanels,type:e.type,defaultValue:e.defaultValue,showNow:e.showNow,showConfirm:e.showConfirm,showFooter:e.showFooter,showWeekNumber:e.showWeekNumber,onPick:L(V),onSelectRange:De,onSetPickerOption:L(O),onCalendarChange:L(Y),onPanelChange:L(N),onMousedown:te(()=>{},["stop"])})]),_:3},16,["visible","transition","popper-class","popper-style","popper-options","fallback-placements","placement"]))}}));var Oa=M(Va,[["__file","picker.vue"]]);const Ya=k(i(o({},Ca),{datetimeRole:String,parsedValue:{type:w(Object)}})),_a=({getAvailableHours:e,getAvailableMinutes:a,getAvailableSeconds:t})=>{const l={};return{timePickerOptions:l,getAvailableTime:(l,n,r,s)=>{const o={hour:e,minute:a,second:t};let i=l;return["hour","minute","second"].forEach(e=>{if(o[e]){let a;const t=o[e];switch(e){case"minute":a=t(i.hour(),n,s);break;case"second":a=t(i.hour(),i.minute(),n,s);break;default:a=t(n,s)}if((null==a?void 0:a.length)&&!a.includes(i[e]())){const t=r?0:a.length-1;i=i[e](a[t])}}}),i},onSetOption:([e,a])=>{l[e]=a}}},Ia=e=>e.map((e,a)=>e||a).filter(e=>!0!==e),Na=(e,a,t)=>({getHoursList:(a,t)=>ia(24,e&&(()=>null==e?void 0:e(a,t))),getMinutesList:(e,t,l)=>ia(60,a&&(()=>null==a?void 0:a(e,t,l))),getSecondsList:(e,a,l,n)=>ia(60,t&&(()=>null==t?void 0:t(e,a,l,n)))}),Ra=(e,a,t)=>{const{getHoursList:l,getMinutesList:n,getSecondsList:r}=Na(e,a,t);return{getAvailableHours:(e,a)=>Ia(l(e,a)),getAvailableMinutes:(e,a,t)=>Ia(n(e,a,t)),getAvailableSeconds:(e,a,t,l)=>Ia(r(e,a,t,l))}},Ba=e=>{const a=h(e.parsedValue);return G(()=>e.visible,t=>{t||(a.value=e.parsedValue)}),a};var Aa=M($({__name:"basic-time-spinner",props:k(o({role:{type:String,required:!0},spinnerDate:{type:w(Object),required:!0},showSeconds:{type:Boolean,default:!0},arrowControl:Boolean,amPmMode:{type:w(String),default:""}},Da)),emits:[W,"select-range","set-option"],setup(e,{emit:a}){const t=e,l=E(fa),{isRange:n,format:r}=l.props,s=_("time"),{getHoursList:o,getMinutesList:i,getSecondsList:u}=Na(t.disabledHours,t.disabledMinutes,t.disabledSeconds);let d=!1;const c=h(),v={hours:h(),minutes:h(),seconds:h()},p=b(()=>t.showSeconds?ma:ma.slice(0,2)),m=b(()=>{const{spinnerDate:e}=t;return{hours:e.hour(),minutes:e.minute(),seconds:e.second()}}),f=b(()=>{const{hours:e,minutes:a}=L(m),{role:l,spinnerDate:r}=t,s=n?void 0:r;return{hours:o(l,s),minutes:i(e,l,s),seconds:u(e,a,l,s)}}),y=b(()=>{const{hours:e,minutes:a,seconds:t}=L(m);return{hours:ea(e,23),minutes:ea(a,59),seconds:ea(t,59)}}),g=qe(e=>{d=!1,D(e)},200),k=e=>{if(!!!t.amPmMode)return"";let a=e<12?" am":" pm";return"A"===t.amPmMode&&(a=a.toUpperCase()),a},w=e=>{let t=[0,0];const l=r||ya,n=l.indexOf("HH"),s=l.indexOf("mm"),o=l.indexOf("ss");switch(e){case"hours":-1!==n&&(t=[n,n+2]);break;case"minutes":-1!==s&&(t=[s,s+2]);break;case"seconds":-1!==o&&(t=[o,o+2])}const[i,u]=t;a("select-range",i,u),c.value=e},D=e=>{x(e,L(m)[e])},C=()=>{D("hours"),D("minutes"),D("seconds")},S=e=>e.querySelector(`.${s.namespace.value}-scrollbar__wrap`),x=(e,a)=>{if(t.arrowControl)return;const l=L(v[e]);l&&l.$el&&(S(l.$el).scrollTop=Math.max(0,a*M(e)))},M=e=>{const a=L(v[e]),t=null==a?void 0:a.$el.querySelector("li");return t&&Number.parseFloat(me(t,"height"))||0},$=()=>{V(1)},P=()=>{V(-1)},V=e=>{c.value||w("hours");const a=c.value,t=L(m)[a],l="hours"===c.value?24:60,n=O(a,t,e,l);Y(a,n),x(a,n),ce(()=>w(a))},O=(e,a,t,l)=>{let n=(a+t+l)%l;const r=L(f)[e];for(;r[n]&&n!==a;)n=(n+t+l)%l;return n},Y=(e,l)=>{if(L(f)[e][l])return;const{hours:n,minutes:r,seconds:s}=L(m);let o;switch(e){case"hours":o=t.spinnerDate.hour(l).minute(r).second(s);break;case"minutes":o=t.spinnerDate.hour(n).minute(l).second(s);break;case"seconds":o=t.spinnerDate.hour(n).minute(r).second(l)}a(W,o)},I=e=>L(v[e]).$el.offsetHeight,B=()=>{const e=e=>{const a=L(v[e]);a&&a.$el&&(S(a.$el).onscroll=()=>{(e=>{const a=L(v[e]);if(!a)return;d=!0,g(e);const t=Math.min(Math.round((S(a.$el).scrollTop-(.5*I(e)-10)/M(e)+3)/M(e)),"hours"===e?23:59);Y(e,t)})(e)})};e("hours"),e("minutes"),e("seconds")};fe(()=>{ce(()=>{!t.arrowControl&&B(),C(),"start"===t.role&&w("hours")})});return a("set-option",[`${t.role}_scrollDown`,V]),a("set-option",[`${t.role}_emitSelectRange`,w]),G(()=>t.spinnerDate,()=>{d||C()}),(e,a)=>(R(),N("div",{class:j([L(s).b("spinner"),{"has-seconds":e.showSeconds}])},[e.arrowControl?ne("v-if",!0):(R(!0),N(he,{key:0},be(L(p),a=>(R(),ee(L(Ze),{key:a,ref_for:!0,ref:e=>((e,a)=>{v[a].value=null!=e?e:void 0})(e,a),class:j(L(s).be("spinner","wrapper")),"wrap-style":"max-height: inherit;","view-class":L(s).be("spinner","list"),noresize:"",tag:"ul",onMouseenter:e=>w(a),onMousemove:e=>D(a)},{default:ae(()=>[(R(!0),N(he,null,be(L(f)[a],(t,l)=>(R(),N("li",{key:l,class:j([L(s).be("spinner","item"),L(s).is("active",l===L(m)[a]),L(s).is("disabled",t)]),onClick:e=>((e,{value:a,disabled:t})=>{t||(Y(e,a),w(e),x(e,a))})(a,{value:l,disabled:t})},["hours"===a?(R(),N(he,{key:0},[ye(ie(("0"+(e.amPmMode?l%12||12:l)).slice(-2))+ie(k(l)),1)],64)):(R(),N(he,{key:1},[ye(ie(("0"+l).slice(-2)),1)],64))],10,["onClick"]))),128))]),_:2},1032,["class","view-class","onMouseenter","onMousemove"]))),128)),e.arrowControl?(R(!0),N(he,{key:1},be(L(p),a=>(R(),N("div",{key:a,class:j([L(s).be("spinner","wrapper"),L(s).is("arrow")]),onMouseenter:e=>w(a)},[ge((R(),ee(L(re),{class:j(["arrow-up",L(s).be("spinner","arrow")])},{default:ae(()=>[ke(L(we))]),_:1},8,["class"])),[[L(Ge),P]]),ge((R(),ee(L(re),{class:j(["arrow-down",L(s).be("spinner","arrow")])},{default:ae(()=>[ke(L(De))]),_:1},8,["class"])),[[L(Ge),$]]),A("ul",{class:j(L(s).be("spinner","list"))},[(R(!0),N(he,null,be(L(y)[a],(t,l)=>(R(),N("li",{key:l,class:j([L(s).be("spinner","item"),L(s).is("active",t===L(m)[a]),L(s).is("disabled",L(f)[a][t])])},[L(Ce)(t)?(R(),N(he,{key:0},["hours"===a?(R(),N(he,{key:0},[ye(ie(("0"+(e.amPmMode?t%12||12:t)).slice(-2))+ie(k(t)),1)],64)):(R(),N(he,{key:1},[ye(ie(("0"+t).slice(-2)),1)],64))],64)):ne("v-if",!0)],2))),128))],2)],42,["onMouseenter"]))),128)):ne("v-if",!0)],2))}}),[["__file","basic-time-spinner.vue"]]);const Fa=$({__name:"panel-time-pick",props:Ya,emits:["pick","select-range","set-picker-option"],setup(e,{emit:a}){const t=e,l=E(fa),{arrowControl:n,disabledHours:r,disabledMinutes:s,disabledSeconds:o,defaultValue:i}=l.props,{getAvailableHours:u,getAvailableMinutes:d,getAvailableSeconds:c}=Ra(r,s,o),v=_("time"),{t:p,lang:m}=f(),y=h([0,2]),g=Ba(t),k=b(()=>Se(t.actualVisible)?`${v.namespace.value}-zoom-in-top`:""),w=b(()=>t.format.includes("ss")),D=b(()=>t.format.includes("A")?"A":t.format.includes("a")?"a":""),C=()=>{a("pick",g.value,!1)},S=e=>{if(!t.visible)return;const l=V(e).millisecond(0);a("pick",l,!0)},x=(e,t)=>{a("select-range",e,t),y.value=[e,t]},{timePickerOptions:M,onSetOption:$,getAvailableTime:P}=_a({getAvailableHours:u,getAvailableMinutes:d,getAvailableSeconds:c}),V=e=>P(e,t.datetimeRole||"",!0);return a("set-picker-option",["isValidValue",e=>{const a=Xe(e).locale(m.value),t=V(a);return a.isSame(t)}]),a("set-picker-option",["formatToString",e=>e?e.format(t.format):null]),a("set-picker-option",["parseUserInput",e=>e?Xe(e,t.format).locale(m.value):null]),a("set-picker-option",["handleKeydownInput",e=>{const a=ue(e),{left:l,right:n,up:r,down:s}=de;if([l,n].includes(a)){return(e=>{const a=t.format,l=a.indexOf("HH"),n=a.indexOf("mm"),r=a.indexOf("ss"),s=[],o=[];-1!==l&&(s.push(l),o.push("hours")),-1!==n&&(s.push(n),o.push("minutes")),-1!==r&&w.value&&(s.push(r),o.push("seconds"));const i=(s.indexOf(y.value[0])+e+s.length)%s.length;M.start_emitSelectRange(o[i])})(a===l?-1:1),void e.preventDefault()}if([r,s].includes(a)){const t=a===r?-1:1;return M.start_scrollDown(t),void e.preventDefault()}}]),a("set-picker-option",["getRangeAvailableTime",V]),a("set-picker-option",["getDefaultValue",()=>Xe(i).locale(m.value)]),(e,l)=>(R(),ee(xe,{name:L(k)},{default:ae(()=>[e.actualVisible||e.visible?(R(),N("div",{key:0,class:j(L(v).b("panel"))},[A("div",{class:j([L(v).be("panel","content"),{"has-seconds":L(w)}])},[ke(Aa,{ref:"spinner",role:e.datetimeRole||"start","arrow-control":L(n),"show-seconds":L(w),"am-pm-mode":L(D),"spinner-date":e.parsedValue,"disabled-hours":L(r),"disabled-minutes":L(s),"disabled-seconds":L(o),onChange:S,onSetOption:L($),onSelectRange:x},null,8,["role","arrow-control","show-seconds","am-pm-mode","spinner-date","disabled-hours","disabled-minutes","disabled-seconds","onSetOption"])],2),A("div",{class:j(L(v).be("panel","footer"))},[A("button",{type:"button",class:j([L(v).be("panel","btn"),"cancel"]),onClick:C},ie(L(p)("el.datepicker.cancel")),3),A("button",{type:"button",class:j([L(v).be("panel","btn"),"confirm"]),onClick:e=>((e=!1,l=!1)=>{l||a("pick",t.parsedValue,e)})()},ie(L(p)("el.datepicker.confirm")),11,["onClick"])],2)],2)):ne("v-if",!0)]),_:1},8,["name"]))}});var La=M(Fa,[["__file","panel-time-pick.vue"]]),Ta={exports:{}};Ta.exports=function(e,a){var t=a.prototype,l=t.format;t.format=function(e){var a=this,t=this.$locale();if(!this.isValid())return l.bind(this)(e);var n=this.$utils(),r=(e||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(e){switch(e){case"Q":return Math.ceil((a.$M+1)/3);case"Do":return t.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return t.ordinal(a.week(),"W");case"w":case"ww":return n.s(a.week(),"w"===e?1:2,"0");case"W":case"WW":return n.s(a.isoWeek(),"W"===e?1:2,"0");case"k":case"kk":return n.s(String(0===a.$H?24:a.$H),"k"===e?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return e}});return l.bind(this)(r)}};const ja=d(Ta.exports);var Wa,Ha,Ea={exports:{}};const Ka=d(Ea.exports=(Wa="week",Ha="year",function(e,a,t){var l=a.prototype;l.week=function(e){if(void 0===e&&(e=null),null!==e)return this.add(7*(e-this.week()),"day");var a=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var l=t(this).startOf(Ha).add(1,Ha).date(a),n=t(this).endOf(Wa);if(l.isBefore(n))return 1}var r=t(this).startOf(Ha).date(a).startOf(Wa).subtract(1,"millisecond"),s=this.diff(r,Wa,!0);return s<0?t(this).startOf("week").week():Math.ceil(s)},l.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}));var za={exports:{}};za.exports=function(e,a){a.prototype.weekYear=function(){var e=this.month(),a=this.week(),t=this.year();return 1===a&&11===e?t+1:0===e&&a>=52?t-1:t}};const Ua=d(za.exports);var Za={exports:{}};Za.exports=function(e,a,t){a.prototype.dayOfYear=function(e){var a=Math.round((t(this).startOf("day")-t(this).startOf("year"))/864e5)+1;return null==e?a:this.add(e-a,"day")}};const Ga=d(Za.exports);var qa={exports:{}};qa.exports=function(e,a){a.prototype.isSameOrAfter=function(e,a){return this.isSame(e,a)||this.isAfter(e,a)}};const Ja=d(qa.exports);var Qa={exports:{}};const Xa=d(Qa.exports=function(e,a){a.prototype.isSameOrBefore=function(e,a){return this.isSame(e,a)||this.isBefore(e,a)}}),et=k(i(o({valueFormat:String,dateFormat:String,timeFormat:String,disabled:Boolean,modelValue:{type:w([Date,Array,String,Number]),default:""},defaultValue:{type:w([Date,Array])},defaultTime:{type:w([Date,Array])},isRange:Boolean},Da),{disabledDate:{type:Function},cellClassName:{type:Function},shortcuts:{type:Array,default:()=>[]},arrowControl:Boolean,unlinkPanels:Boolean,showNow:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:Boolean,showWeekNumber:Boolean,type:{type:w(String),default:"date"},clearable:{type:Boolean,default:!0},border:{type:Boolean,default:!0}})),at=Symbol("rootPickerContextKey"),tt="ElIsDefaultFormat",lt=["date","dates","year","years","month","months","week","range"],nt=k({cellClassName:{type:w(Function)},disabledDate:{type:w(Function)},date:{type:w(Object),required:!0},minDate:{type:w(Object)},maxDate:{type:w(Object)},parsedValue:{type:w([Object,Array])},rangeState:{type:w(Object),default:()=>({endDate:null,selecting:!1})},disabled:Boolean}),rt=k({type:{type:w(String),required:!0,values:["year","years","month","months","date","dates","week","datetime","datetimerange","daterange","monthrange","yearrange"]},dateFormat:String,timeFormat:String,showNow:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:{type:Boolean,default:!0},showWeekNumber:Boolean,border:Boolean,disabled:Boolean}),st=k({unlinkPanels:Boolean,visible:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:{type:Boolean,default:!0},border:Boolean,disabled:Boolean,parsedValue:{type:w(Array)}}),ot=e=>({type:String,values:lt,default:e}),it=k(i(o({},rt),{parsedValue:{type:w([Object,Array])},visible:{type:Boolean,default:!0},format:{type:String,default:""}})),ut=e=>{if(!v(e))return!1;const[a,t]=e;return Xe.isDayjs(a)&&Xe.isDayjs(t)&&Xe(a).isValid()&&Xe(t).isValid()&&a.isSameOrBefore(t)},dt=(e,{lang:a,step:t=1,unit:l,unlinkPanels:n})=>{let r;if(v(e)){let[r,s]=e.map(e=>Xe(e).locale(a));return n||(s=r.add(t,l)),[r,s]}return r=e?Xe(e):Xe(),r=r.locale(a),[r,r.add(t,l)]},ct=(e,a,t,l)=>{const n=Xe().locale(l).startOf("month").month(t).year(a).hour(e.hour()).minute(e.minute()).second(e.second()),r=n.daysInMonth();return aa(r).map(e=>n.add(e,"day").toDate())},vt=(e,a,t,l,n)=>{const r=Xe().year(a).month(t).startOf("month").hour(e.hour()).minute(e.minute()).second(e.second()),s=ct(e,a,t,l).find(e=>!(null==n?void 0:n(e)));return s?Xe(s).locale(l):r.locale(l)},pt=(e,a,t)=>{const l=e.year();if(!(null==t?void 0:t(e.toDate())))return e.locale(a);const n=e.month();if(!ct(e,l,n,a).every(t))return vt(e,l,n,a,t);for(let r=0;r<12;r++)if(!ct(e,l,r,a).every(t))return vt(e,l,r,a,t);return e},mt=(e,a,t,l)=>{if(v(e))return e.map(e=>mt(e,a,t,l));if(Me(e)){const t=(null==l?void 0:l.value)?Xe(e):Xe(e,a);if(!t.isValid())return t}return Xe(e,a).locale(t)},ft=k(i(o({},nt),{showWeekNumber:Boolean,selectionMode:ot("date")})),ht=(e="")=>["normal","today"].includes(e),bt=(e,a)=>{const{lang:t}=f(),l=h(),n=h(),r=h(),s=h(),o=h([[],[],[],[],[],[]]);let i=!1;const d=e.date.$locale().weekStart||7,c=e.date.locale("en").localeData().weekdaysShort().map(e=>e.toLowerCase()),p=b(()=>d>3?7-d:-d),m=b(()=>{const a=e.date.startOf("month");return a.subtract(a.day()||7,"day")}),y=b(()=>c.concat(c).slice(d,d+7)),g=b(()=>$e(L(S)).some(e=>e.isCurrent)),k=b(()=>{const a=e.date.startOf("month");return{startOfMonthDay:a.day()||7,dateCountOfMonth:a.daysInMonth(),dateCountOfLastMonth:a.subtract(1,"month").daysInMonth()}}),w=b(()=>"dates"===e.selectionMode?ze(e.parsedValue):[]),D=(a,{columnIndex:t,rowIndex:l},n)=>{const{disabledDate:r,cellClassName:s}=e,o=L(w),i=((e,{count:a,rowIndex:t,columnIndex:l})=>{const{startOfMonthDay:n,dateCountOfMonth:r,dateCountOfLastMonth:s}=L(k),o=L(p);if(!(t>=0&&t<=1))return a<=r?e.text=a:(e.text=a-r,e.type="next-month"),!0;{const r=n+o<0?7+n+o:n+o;if(l+7*t>=r)return e.text=a,!0;e.text=s-(r-l%7)+1+7*t,e.type="prev-month"}return!1})(a,{count:n,rowIndex:l,columnIndex:t}),u=a.dayjs.toDate();return a.selected=o.find(e=>e.isSame(a.dayjs,"day")),a.isSelected=!!a.selected,a.isCurrent=M(a),a.disabled=null==r?void 0:r(u),a.customClass=null==s?void 0:s(u),i},C=a=>{if("week"===e.selectionMode){const[t,l]=e.showWeekNumber?[1,7]:[0,6],n=O(a[t+1]);a[t].inRange=n,a[t].start=n,a[l].inRange=n,a[l].end=n}},S=b(()=>{const{minDate:a,maxDate:l,rangeState:n,showWeekNumber:r}=e,s=L(p),i=L(o),u="day";let d=1;if(((e,a,{columnIndexOffset:t,startDate:l,nextEndDate:n,now:r,unit:s,relativeDateGetter:o,setCellMetadata:i,setRowMetadata:u})=>{for(let d=0;dL(m).add(e-s,u),setCellMetadata:(...e)=>{D(...e,d)&&(d+=1)},setRowMetadata:C}),r)for(let e=0;e<6;e++)i[e][1].dayjs&&(i[e][0]={type:"week",text:i[e][1].dayjs.week()});return i});G(()=>e.date,()=>u(void 0,null,function*(){var e;(null==(e=L(l))?void 0:e.contains(document.activeElement))&&(yield ce(),yield x())}));const x=()=>u(void 0,null,function*(){var e;return null==(e=L(n))?void 0:e.focus()}),M=a=>"date"===e.selectionMode&&ht(a.type)&&$(a,e.parsedValue),$=(a,l)=>!!l&&Xe(l).locale(L(t)).isSame(e.date.date(Number(a.text)),"day"),P=(a,t)=>{const l=7*a+(t-(e.showWeekNumber?1:0))-L(p);return L(m).add(l,"day")},V=(t,l=!1)=>{if(e.disabled)return;const n=t.target.closest("td");if(!n)return;const r=n.parentNode.rowIndex-1,s=n.cellIndex,o=L(S)[r][s];if(o.disabled||"week"===o.type)return;const i=P(r,s);switch(e.selectionMode){case"range":(t=>{e.rangeState.selecting&&e.minDate?(t>=e.minDate?a("pick",{minDate:e.minDate,maxDate:t}):a("pick",{minDate:t,maxDate:e.minDate}),a("select",!1)):(a("pick",{minDate:t,maxDate:null}),a("select",!0))})(i);break;case"date":a("pick",i,l);break;case"week":(e=>{const t=e.week(),l=`${e.year()}w${t}`;a("pick",{year:e.year(),week:t,value:l,date:e.startOf("week")})})(i);break;case"dates":((t,l)=>{const n=l?ze(e.parsedValue).filter(e=>(null==e?void 0:e.valueOf())!==t.valueOf()):ze(e.parsedValue).concat([t]);a("pick",n)})(i,!!o.selected)}},O=a=>{if("week"!==e.selectionMode)return!1;let t=e.date.startOf("day");if("prev-month"===a.type&&(t=t.subtract(1,"month")),"next-month"===a.type&&(t=t.add(1,"month")),t=t.date(Number.parseInt(a.text,10)),e.parsedValue&&!v(e.parsedValue)){const a=(e.parsedValue.day()-d+7)%7-1;return e.parsedValue.subtract(a,"day").isSame(t,"day")}return!1};return{WEEKS:y,rows:S,tbodyRef:l,currentCellRef:n,focus:x,isCurrent:M,isWeekActive:O,isSelectedCell:e=>!L(g)&&1===(null==e?void 0:e.text)&&"normal"===e.type||e.isCurrent,handlePickDate:V,handleMouseUp:e=>{e.target.closest("td")&&(i=!1)},handleMouseDown:e=>{e.target.closest("td")&&(i=!0)},handleMouseMove:t=>{var l;if(!e.rangeState.selecting)return;let n=t.target;if("SPAN"===n.tagName&&(n=null==(l=n.parentNode)?void 0:l.parentNode),"DIV"===n.tagName&&(n=n.parentNode),"TD"!==n.tagName)return;const o=n.parentNode.rowIndex-1,i=n.cellIndex;L(S)[o][i].disabled||o===L(r)&&i===L(s)||(r.value=o,s.value=i,a("changerange",{selecting:!0,endDate:P(o,i)}))},handleFocus:a=>{i||L(g)||"date"!==e.selectionMode||V(a,!0)}}};var yt=$({name:"ElDatePickerCell",props:k({cell:{type:w(Object)}}),setup(e){const a=_("date-table-cell"),{slots:t}=E(at);return()=>{const{cell:l}=e;return B(t,"default",o({},l),()=>{var e;return[ke("div",{class:a.b()},[ke("span",{class:a.e("text")},[null!=(e=null==l?void 0:l.renderText)?e:null==l?void 0:l.text])])]})}}});const gt=$({__name:"basic-date-table",props:ft,emits:["changerange","pick","select"],setup(e,{expose:a,emit:t}){const l=e,{WEEKS:n,rows:r,tbodyRef:s,currentCellRef:o,focus:i,isCurrent:u,isWeekActive:d,isSelectedCell:c,handlePickDate:v,handleMouseUp:p,handleMouseDown:m,handleMouseMove:h,handleFocus:y}=bt(l,t),{tableLabel:g,tableKls:k,getCellClasses:w,getRowKls:D,weekHeaderClass:C,t:S}=((e,{isCurrent:a,isWeekActive:t})=>{const l=_("date-table"),{t:n}=f();return{tableKls:b(()=>[l.b(),{"is-week-mode":"week"===e.selectionMode&&!e.disabled}]),tableLabel:b(()=>n("el.datepicker.dateTablePrompt")),weekHeaderClass:l.e("week-header"),getCellClasses:t=>{const l=[];return ht(t.type)&&!t.disabled?(l.push("available"),"today"===t.type&&l.push("today")):l.push(t.type),a(t)&&l.push("current"),t.inRange&&(ht(t.type)||"week"===e.selectionMode)&&(l.push("in-range"),t.start&&l.push("start-date"),t.end&&l.push("end-date")),(t.disabled||e.disabled)&&l.push("disabled"),t.selected&&l.push("selected"),t.customClass&&l.push(t.customClass),l.join(" ")},getRowKls:e=>[l.e("row"),{current:t(e)}],t:n}})(l,{isCurrent:u,isWeekActive:d});let x=!1;return X(()=>{x=!0}),a({focus:i}),(e,a)=>(R(),N("table",{"aria-label":L(g),class:j(L(k)),cellspacing:"0",cellpadding:"0",role:"grid",onClick:L(v),onMousemove:L(h),onMousedown:L(m),onMouseup:L(p)},[A("tbody",{ref_key:"tbodyRef",ref:s},[A("tr",null,[e.showWeekNumber?(R(),N("th",{key:0,scope:"col",class:j(L(C))},null,2)):ne("v-if",!0),(R(!0),N(he,null,be(L(n),(e,a)=>(R(),N("th",{key:a,"aria-label":L(S)("el.datepicker.weeksFull."+e),scope:"col"},ie(L(S)("el.datepicker.weeks."+e)),9,["aria-label"]))),128))]),(R(!0),N(he,null,be(L(r),(e,a)=>(R(),N("tr",{key:a,class:j(L(D)(e[1]))},[(R(!0),N(he,null,be(e,(e,t)=>(R(),N("td",{key:`${a}.${t}`,ref_for:!0,ref:a=>!L(x)&&L(c)(e)&&(o.value=a),class:j(L(w)(e)),"aria-current":e.isCurrent?"date":void 0,"aria-selected":e.isCurrent,tabindex:L(c)(e)?0:-1,onFocus:L(y)},[ke(L(yt),{cell:e},null,8,["cell"])],42,["aria-current","aria-selected","tabindex","onFocus"]))),128))],2))),128))],512)],42,["aria-label","onClick","onMousemove","onMousedown","onMouseup"]))}});var kt=M(gt,[["__file","basic-date-table.vue"]]);const wt=$({__name:"basic-month-table",props:k(i(o({},nt),{selectionMode:ot("month")})),emits:["changerange","pick","select"],setup(e,{expose:a,emit:t}){const l=e,n=_("month-table"),{t:r,lang:s}=f(),d=h(),c=h(),v=h(l.date.locale("en").localeData().monthsShort().map(e=>e.toLowerCase())),p=h([[],[],[]]),m=h(),y=h(),g=b(()=>{var e,a,t;const n=p.value,r=Xe().locale(s.value).startOf("month");for(let s=0;s<3;s++){const o=n[s];for(let n=0;n<4;n++){const i=o[n]||(o[n]={row:s,column:n,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1,isSelected:!1,customClass:void 0,date:void 0,dayjs:void 0,isCurrent:void 0,selected:void 0,renderText:void 0,timestamp:void 0});i.type="normal";const u=4*s+n,d=l.date.startOf("year").month(u),c=l.rangeState.endDate||l.maxDate||l.rangeState.selecting&&l.minDate||null;i.inRange=!!(l.minDate&&d.isSameOrAfter(l.minDate,"month")&&c&&d.isSameOrBefore(c,"month"))||!!(l.minDate&&d.isSameOrBefore(l.minDate,"month")&&c&&d.isSameOrAfter(c,"month")),(null==(e=l.minDate)?void 0:e.isSameOrAfter(c))?(i.start=!(!c||!d.isSame(c,"month")),i.end=l.minDate&&d.isSame(l.minDate,"month")):(i.start=!(!l.minDate||!d.isSame(l.minDate,"month")),i.end=!(!c||!d.isSame(c,"month")));r.isSame(d)&&(i.type="today");const v=d.toDate();i.text=u,i.disabled=(null==(a=l.disabledDate)?void 0:a.call(l,v))||!1,i.date=v,i.customClass=null==(t=l.cellClassName)?void 0:t.call(l,v),i.dayjs=d,i.timestamp=d.valueOf(),i.isSelected=w(i)}}return n}),k=e=>{const a={},t=l.date.year(),n=new Date,r=e.text;return a.disabled=l.disabled||!!l.disabledDate&&ct(l.date,t,r,s.value).every(l.disabledDate),a.current=ze(l.parsedValue).findIndex(e=>Xe.isDayjs(e)&&e.year()===t&&e.month()===r)>=0,a.today=n.getFullYear()===t&&n.getMonth()===r,e.customClass&&(a[e.customClass]=!0),e.inRange&&(a["in-range"]=!0,e.start&&(a["start-date"]=!0),e.end&&(a["end-date"]=!0)),a},w=e=>{const a=l.date.year(),t=e.text;return ze(l.date).findIndex(e=>e.year()===a&&e.month()===t)>=0},D=e=>{var a;if(!l.rangeState.selecting)return;let n=e.target;if("SPAN"===n.tagName&&(n=null==(a=n.parentNode)?void 0:a.parentNode),"DIV"===n.tagName&&(n=n.parentNode),"TD"!==n.tagName)return;const r=n.parentNode.rowIndex,s=n.cellIndex;g.value[r][s].disabled||r===m.value&&s===y.value||(m.value=r,y.value=s,t("changerange",{selecting:!0,endDate:l.date.startOf("year").month(4*r+s)}))},C=e=>{var a;if(l.disabled)return;const n=null==(a=e.target)?void 0:a.closest("td");if("TD"!==(null==n?void 0:n.tagName))return;if(Ve(n,"disabled"))return;const r=n.cellIndex,o=4*n.parentNode.rowIndex+r,i=l.date.startOf("year").month(o);if("months"===l.selectionMode){if("keydown"===e.type)return void t("pick",ze(l.parsedValue),!1);const a=vt(l.date,l.date.year(),o,s.value,l.disabledDate),r=Ve(n,"current")?ze(l.parsedValue).filter(e=>(null==e?void 0:e.year())!==a.year()||(null==e?void 0:e.month())!==a.month()):ze(l.parsedValue).concat([Xe(a)]);t("pick",r)}else"range"===l.selectionMode?l.rangeState.selecting?(l.minDate&&i>=l.minDate?t("pick",{minDate:l.minDate,maxDate:i}):t("pick",{minDate:i,maxDate:l.minDate}),t("select",!1)):(t("pick",{minDate:i,maxDate:null}),t("select",!0)):t("pick",o)};return G(()=>l.date,()=>u(this,null,function*(){var e,a;(null==(e=d.value)?void 0:e.contains(document.activeElement))&&(yield ce(),null==(a=c.value)||a.focus())})),a({focus:()=>{var e;null==(e=c.value)||e.focus()}}),(e,a)=>(R(),N("table",{role:"grid","aria-label":L(r)("el.datepicker.monthTablePrompt"),class:j(L(n).b()),onClick:C,onMousemove:D},[A("tbody",{ref_key:"tbodyRef",ref:d},[(R(!0),N(he,null,be(L(g),(e,a)=>(R(),N("tr",{key:a},[(R(!0),N(he,null,be(e,(e,a)=>(R(),N("td",{key:a,ref_for:!0,ref:a=>e.isSelected&&(c.value=a),class:j(k(e)),"aria-selected":!!e.isSelected,"aria-label":L(r)("el.datepicker.month"+(+e.text+1)),tabindex:e.isSelected?0:-1,onKeydown:[Pe(te(C,["prevent","stop"]),["space"]),Pe(te(C,["prevent","stop"]),["enter"])]},[ke(L(yt),{cell:i(o({},e),{renderText:L(r)("el.datepicker.months."+v.value[e.text])})},null,8,["cell"])],42,["aria-selected","aria-label","tabindex","onKeydown"]))),128))]))),128))],512)],42,["aria-label"]))}});var Dt=M(wt,[["__file","basic-month-table.vue"]]);const Ct=$({__name:"basic-year-table",props:k(i(o({},nt),{selectionMode:ot("year")})),emits:["changerange","pick","select"],setup(e,{expose:a,emit:t}){const l=e,n=_("year-table"),{t:r,lang:s}=f(),o=h(),i=h(),d=b(()=>10*Math.floor(l.date.year()/10)),c=h([[],[],[]]),v=h(),p=h(),m=b(()=>{var e,a,t;const n=c.value,r=Xe().locale(s.value).startOf("year");for(let s=0;s<3;s++){const o=n[s];for(let n=0;n<4&&!(4*s+n>=10);n++){let i=o[n];i||(i={row:s,column:n,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1,isSelected:!1,customClass:void 0,date:void 0,dayjs:void 0,isCurrent:void 0,selected:void 0,renderText:void 0,timestamp:void 0}),i.type="normal";const u=4*s+n+d.value,c=Xe().year(u),v=l.rangeState.endDate||l.maxDate||l.rangeState.selecting&&l.minDate||null;i.inRange=!!(l.minDate&&c.isSameOrAfter(l.minDate,"year")&&v&&c.isSameOrBefore(v,"year"))||!!(l.minDate&&c.isSameOrBefore(l.minDate,"year")&&v&&c.isSameOrAfter(v,"year")),(null==(e=l.minDate)?void 0:e.isSameOrAfter(v))?(i.start=!(!v||!c.isSame(v,"year")),i.end=!(!l.minDate||!c.isSame(l.minDate,"year"))):(i.start=!(!l.minDate||!c.isSame(l.minDate,"year")),i.end=!(!v||!c.isSame(v,"year")));r.isSame(c)&&(i.type="today"),i.text=u;const p=c.toDate();i.disabled=(null==(a=l.disabledDate)?void 0:a.call(l,p))||!1,i.date=p,i.customClass=null==(t=l.cellClassName)?void 0:t.call(l,p),i.dayjs=c,i.timestamp=c.valueOf(),i.isSelected=g(i),o[n]=i}}return n}),y=e=>{const a={},t=Xe().locale(s.value),n=e.text;return a.disabled=l.disabled||!!l.disabledDate&&((e,a)=>{const t=Xe(String(e)).locale(a).startOf("year"),l=t.endOf("year").dayOfYear();return aa(l).map(e=>t.add(e,"day").toDate())})(n,s.value).every(l.disabledDate),a.today=t.year()===n,a.current=ze(l.parsedValue).findIndex(e=>e.year()===n)>=0,e.customClass&&(a[e.customClass]=!0),e.inRange&&(a["in-range"]=!0,e.start&&(a["start-date"]=!0),e.end&&(a["end-date"]=!0)),a},g=e=>{const a=e.text;return ze(l.date).findIndex(e=>e.year()===a)>=0},k=e=>{var a;if(l.disabled)return;const n=null==(a=e.target)?void 0:a.closest("td");if(!n||!n.textContent||Ve(n,"disabled"))return;const r=n.cellIndex,o=4*n.parentNode.rowIndex+r+d.value,i=Xe().year(o);if("range"===l.selectionMode)l.rangeState.selecting?(l.minDate&&i>=l.minDate?t("pick",{minDate:l.minDate,maxDate:i}):t("pick",{minDate:i,maxDate:l.minDate}),t("select",!1)):(t("pick",{minDate:i,maxDate:null}),t("select",!0));else if("years"===l.selectionMode){if("keydown"===e.type)return void t("pick",ze(l.parsedValue),!1);const a=pt(i.startOf("year"),s.value,l.disabledDate),r=Ve(n,"current")?ze(l.parsedValue).filter(e=>(null==e?void 0:e.year())!==o):ze(l.parsedValue).concat([a]);t("pick",r)}else t("pick",o)},w=e=>{var a;if(!l.rangeState.selecting)return;const n=null==(a=e.target)?void 0:a.closest("td");if(!n)return;const r=n.parentNode.rowIndex,s=n.cellIndex;m.value[r][s].disabled||r===v.value&&s===p.value||(v.value=r,p.value=s,t("changerange",{selecting:!0,endDate:Xe().year(d.value).add(4*r+s,"year")}))};return G(()=>l.date,()=>u(this,null,function*(){var e,a;(null==(e=o.value)?void 0:e.contains(document.activeElement))&&(yield ce(),null==(a=i.value)||a.focus())})),a({focus:()=>{var e;null==(e=i.value)||e.focus()}}),(e,a)=>(R(),N("table",{role:"grid","aria-label":L(r)("el.datepicker.yearTablePrompt"),class:j(L(n).b()),onClick:k,onMousemove:w},[A("tbody",{ref_key:"tbodyRef",ref:o},[(R(!0),N(he,null,be(L(m),(e,a)=>(R(),N("tr",{key:a},[(R(!0),N(he,null,be(e,(e,t)=>(R(),N("td",{key:`${a}_${t}`,ref_for:!0,ref:a=>e.isSelected&&(i.value=a),class:j(["available",y(e)]),"aria-selected":e.isSelected,"aria-label":String(e.text),tabindex:e.isSelected?0:-1,onKeydown:[Pe(te(k,["prevent","stop"]),["space"]),Pe(te(k,["prevent","stop"]),["enter"])]},[ke(L(yt),{cell:e},null,8,["cell"])],42,["aria-selected","aria-label","tabindex","onKeydown"]))),128))]))),128))],512)],42,["aria-label"]))}});var St=M(Ct,[["__file","basic-year-table.vue"]]);const xt=$({__name:"panel-date-pick",props:it,emits:["pick","set-picker-option","panel-change"],setup(e,{emit:a}){const t=e,l=_("picker-panel"),n=_("date-picker"),r=H(),s=Oe(),{t:o,lang:i}=f(),d=E(fa),c=E(tt,void 0),{shortcuts:p,disabledDate:m,cellClassName:y,defaultTime:g}=d.props,k=Ye(d.props,"defaultValue"),w=h(),D=h(Xe().locale(i.value)),C=h(!1);let S=!1;const x=b(()=>Xe(g).locale(i.value)),M=b(()=>D.value.month()),$=b(()=>D.value.year()),P=h([]),V=h(null),O=h(null),Y=e=>!(P.value.length>0)||(P.value,t.format,!0),I=e=>!g||xe.value||C.value||S?oe.value?e.millisecond(0):e.startOf("day"):x.value.year(e.year()).month(e.month()).date(e.date()),F=(e,...t)=>{if(e)if(v(e)){const l=e.map(I);a("pick",l,...t)}else a("pick",I(e),...t);else a("pick",e,...t);V.value=null,O.value=null,C.value=!1,S=!1},T=(e,a)=>u(this,null,function*(){if("date"===Z.value&&Xe.isDayjs(e)){const l=Ue(t.parsedValue);let n=l?l.year(e.year()).month(e.month()).date(e.date()):e;Y(),D.value=n,F(n,oe.value||a)}else"week"===Z.value?F(e.date):"dates"===Z.value&&F(e,!0)}),W=e=>{const a=e?"add":"subtract";D.value=D.value[a](1,"month"),Ge("month")},K=e=>{const a=D.value,t=e?"add":"subtract";D.value="year"===z.value?a[t](10,"year"):a[t](1,"year"),Ge("year")},z=h("date"),U=b(()=>{const e=o("el.datepicker.year");if("year"===z.value){const a=10*Math.floor($.value/10);return e?`${a} ${e} - ${a+9} ${e}`:`${a} - ${a+9}`}return`${$.value} ${e}`}),Z=b(()=>{const{type:e}=t;return["week","month","months","year","years","dates"].includes(e)?e:"date"}),q=b(()=>"dates"===Z.value||"months"===Z.value||"years"===Z.value),J=b(()=>"date"===Z.value?z.value:Z.value),Q=b(()=>!!p.length),X=(e,a)=>u(this,null,function*(){"month"===Z.value?(D.value=vt(D.value,D.value.year(),e,i.value,m),F(D.value,!1)):"months"===Z.value?F(e,null==a||a):(D.value=vt(D.value,D.value.year(),e,i.value,m),z.value="date",["month","year","date","week"].includes(Z.value)&&(F(D.value,!0),yield ce(),Ke())),Ge("month")}),te=(e,a)=>u(this,null,function*(){if("year"===Z.value){const a=D.value.startOf("year").year(e);D.value=pt(a,i.value,m),F(D.value,!1)}else if("years"===Z.value)F(e,null==a||a);else{const a=D.value.year(e);D.value=pt(a,i.value,m),z.value="month",["month","year","date","week"].includes(Z.value)&&(F(D.value,!0),yield ce(),Ke())}Ge("year")}),se=e=>u(this,null,function*(){t.disabled||(z.value=e,yield ce(),Ke())}),oe=b(()=>"datetime"===t.type||"datetimerange"===t.type),ve=b(()=>{const e=oe.value||"dates"===Z.value,a="years"===Z.value,t="months"===Z.value,l="date"===z.value,n="year"===z.value,r="month"===z.value;return e&&l||a&&n||t&&r}),pe=b(()=>!q.value&&t.showNow||t.showConfirm),me=b(()=>!!m&&(!t.parsedValue||(v(t.parsedValue)?m(t.parsedValue[0].toDate()):m(t.parsedValue.toDate())))),fe=()=>{if(q.value)F(t.parsedValue);else{let e=Ue(t.parsedValue);if(!e){const a=Xe(g).locale(i.value),t=Ee();e=a.year(t.year()).month(t.month()).date(t.date())}D.value=e,F(e)}},we=b(()=>!!m&&m(Xe().locale(i.value).toDate())),De=()=>{const e=Xe().locale(i.value).toDate();C.value=!0,m&&m(e)||!Y()||(D.value=Xe().locale(i.value),F(D.value))},Ce=b(()=>t.timeFormat||la(t.format)||ya),Se=b(()=>t.dateFormat||ta(t.format)||ga),xe=b(()=>{if(O.value)return O.value;if(!t.parsedValue&&!k.value)return;return(Ue(t.parsedValue)||D.value).format(Ce.value)}),Me=b(()=>{if(V.value)return V.value;if(!t.parsedValue&&!k.value)return;return(Ue(t.parsedValue)||D.value).format(Se.value)}),$e=h(!1),Ve=()=>{$e.value=!0},Le=()=>{$e.value=!1},Te=e=>({hour:e.hour(),minute:e.minute(),second:e.second(),year:e.year(),month:e.month(),date:e.date()}),je=(e,a,l)=>{const{hour:n,minute:r,second:s}=Te(e),o=Ue(t.parsedValue),i=o?o.hour(n).minute(r).second(s):e;D.value=i,F(D.value,!0),l||($e.value=a)},We=e=>{const a=Xe(e,Ce.value).locale(i.value);if(a.isValid()&&Y()){const{year:e,month:t,date:l}=Te(D.value);D.value=a.year(e).month(t).date(l),O.value=null,$e.value=!1,F(D.value,!0)}},He=e=>{const a=mt(e,Se.value,i.value,c);if(a.isValid()){if(m&&m(a.toDate()))return;const{hour:e,minute:t,second:l}=Te(D.value);D.value=a.hour(e).minute(t).second(l),V.value=null,F(D.value,!0)}},Ee=()=>{const e=Xe(k.value).locale(i.value);if(!k.value){const e=x.value;return Xe().hour(e.hour()).minute(e.minute()).second(e.second()).locale(i.value)}return e},Ke=()=>{var e;["week","month","year","date"].includes(Z.value)&&(null==(e=w.value)||e.focus())},ze=e=>{const a=ue(e);[de.up,de.down,de.left,de.right,de.home,de.end,de.pageUp,de.pageDown].includes(a)&&(Ze(a),e.stopPropagation(),e.preventDefault()),[de.enter,de.space,de.numpadEnter].includes(a)&&null===V.value&&null===O.value&&(e.preventDefault(),F(D.value,!1))},Ze=e=>{var t;const{up:l,down:n,left:r,right:s,home:o,end:u,pageUp:d,pageDown:c}=de,v={year:{[l]:-4,[n]:4,[r]:-1,[s]:1,offset:(e,a)=>e.setFullYear(e.getFullYear()+a)},month:{[l]:-4,[n]:4,[r]:-1,[s]:1,offset:(e,a)=>e.setMonth(e.getMonth()+a)},week:{[l]:-1,[n]:1,[r]:-1,[s]:1,offset:(e,a)=>e.setDate(e.getDate()+7*a)},date:{[l]:-7,[n]:7,[r]:-1,[s]:1,[o]:e=>-e.getDay(),[u]:e=>6-e.getDay(),[d]:e=>-new Date(e.getFullYear(),e.getMonth(),0).getDate(),[c]:e=>new Date(e.getFullYear(),e.getMonth()+1,0).getDate(),offset:(e,a)=>e.setDate(e.getDate()+a)}},p=D.value.toDate();for(;Math.abs(D.value.diff(p,"year",!0))<1;){const l=v[J.value];if(!l)return;if(l.offset(p,Fe(l[e])?l[e](p):null!=(t=l[e])?t:0),m&&m(p))break;const n=Xe(p).locale(i.value);D.value=n,a("pick",n,!0);break}},Ge=e=>{a("panel-change",D.value.toDate(),e,z.value)};return G(()=>Z.value,e=>{["month","year"].includes(e)?z.value=e:z.value="years"!==e?"months"!==e?"date":"month":"year"},{immediate:!0}),G(()=>k.value,e=>{e&&(D.value=Ee())},{immediate:!0}),G(()=>t.parsedValue,e=>{if(e){if(q.value)return;if(v(e))return;D.value=e}else D.value=Ee()},{immediate:!0}),a("set-picker-option",["isValidValue",e=>Xe.isDayjs(e)&&e.isValid()&&(!m||!m(e.toDate()))]),a("set-picker-option",["formatToString",e=>v(e)?e.map(e=>e.format(t.format)):e.format(t.format)]),a("set-picker-option",["parseUserInput",e=>mt(e,t.format,i.value,c)]),a("set-picker-option",["handleFocusPicker",()=>{Ke(),"week"===Z.value&&Ze(de.down)}]),(e,t)=>(R(),N("div",{class:j([L(l).b(),L(n).b(),L(l).is("border",e.border),L(l).is("disabled",e.disabled),{"has-sidebar":e.$slots.sidebar||L(Q),"has-time":L(oe)}])},[A("div",{class:j(L(l).e("body-wrapper"))},[B(e.$slots,"sidebar",{class:j(L(l).e("sidebar"))}),L(Q)?(R(),N("div",{key:0,class:j(L(l).e("sidebar"))},[(R(!0),N(he,null,be(L(p),(t,n)=>(R(),N("button",{key:n,type:"button",disabled:e.disabled,class:j(L(l).e("shortcut")),onClick:e=>(e=>{const t=Fe(e.value)?e.value():e.value;if(t)return S=!0,void F(Xe(t).locale(i.value));e.onClick&&e.onClick({attrs:r,slots:s,emit:a})})(t)},ie(t.text),11,["disabled","onClick"]))),128))],2)):ne("v-if",!0),A("div",{class:j(L(l).e("body"))},[L(oe)?(R(),N("div",{key:0,class:j(L(n).e("time-header"))},[A("span",{class:j(L(n).e("editor-wrap"))},[ke(L(le),{placeholder:L(o)("el.datepicker.selectDate"),"model-value":L(Me),size:"small","validate-event":!1,disabled:e.disabled,onInput:e=>V.value=e,onChange:He},null,8,["placeholder","model-value","disabled","onInput"])],2),ge((R(),N("span",{class:j(L(n).e("editor-wrap"))},[ke(L(le),{placeholder:L(o)("el.datepicker.selectTime"),"model-value":L(xe),size:"small","validate-event":!1,disabled:e.disabled,onFocus:Ve,onInput:e=>O.value=e,onChange:We},null,8,["placeholder","model-value","disabled","onInput"]),ke(L(La),{visible:$e.value,format:L(Ce),"parsed-value":D.value,onPick:je},null,8,["visible","format","parsed-value"])],2)),[[L(Je),Le]])],2)):ne("v-if",!0),ge(A("div",{class:j([L(n).e("header"),("year"===z.value||"month"===z.value)&&L(n).em("header","bordered")])},[A("span",{class:j(L(n).e("prev-btn"))},[A("button",{type:"button","aria-label":L(o)("el.datepicker.prevYear"),class:j(["d-arrow-left",L(l).e("icon-btn")]),disabled:e.disabled,onClick:e=>K(!1)},[B(e.$slots,"prev-year",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Ie))]),_:1})])],10,["aria-label","disabled","onClick"]),ge(A("button",{type:"button","aria-label":L(o)("el.datepicker.prevMonth"),class:j([L(l).e("icon-btn"),"arrow-left"]),disabled:e.disabled,onClick:e=>W(!1)},[B(e.$slots,"prev-month",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Ne))]),_:1})])],10,["aria-label","disabled","onClick"]),[[_e,"date"===z.value]])],2),A("span",{role:"button",class:j(L(n).e("header-label")),"aria-live":"polite",tabindex:"0",onKeydown:Pe(e=>se("year"),["enter"]),onClick:e=>se("year")},ie(L(U)),43,["onKeydown","onClick"]),ge(A("span",{role:"button","aria-live":"polite",tabindex:"0",class:j([L(n).e("header-label"),{active:"month"===z.value}]),onKeydown:Pe(e=>se("month"),["enter"]),onClick:e=>se("month")},ie(L(o)(`el.datepicker.month${L(M)+1}`)),43,["onKeydown","onClick"]),[[_e,"date"===z.value]]),A("span",{class:j(L(n).e("next-btn"))},[ge(A("button",{type:"button","aria-label":L(o)("el.datepicker.nextMonth"),class:j([L(l).e("icon-btn"),"arrow-right"]),disabled:e.disabled,onClick:e=>W(!0)},[B(e.$slots,"next-month",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Re))]),_:1})])],10,["aria-label","disabled","onClick"]),[[_e,"date"===z.value]]),A("button",{type:"button","aria-label":L(o)("el.datepicker.nextYear"),class:j([L(l).e("icon-btn"),"d-arrow-right"]),disabled:e.disabled,onClick:e=>K(!0)},[B(e.$slots,"next-year",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Be))]),_:1})])],10,["aria-label","disabled","onClick"])],2)],2),[[_e,"time"!==z.value]]),A("div",{class:j(L(l).e("content")),onKeydown:ze},["date"===z.value?(R(),ee(kt,{key:0,ref_key:"currentViewRef",ref:w,"selection-mode":L(Z),date:D.value,"parsed-value":e.parsedValue,"disabled-date":L(m),disabled:e.disabled,"cell-class-name":L(y),"show-week-number":e.showWeekNumber,onPick:T},null,8,["selection-mode","date","parsed-value","disabled-date","disabled","cell-class-name","show-week-number"])):ne("v-if",!0),"year"===z.value?(R(),ee(St,{key:1,ref_key:"currentViewRef",ref:w,"selection-mode":L(Z),date:D.value,"disabled-date":L(m),disabled:e.disabled,"parsed-value":e.parsedValue,"cell-class-name":L(y),onPick:te},null,8,["selection-mode","date","disabled-date","disabled","parsed-value","cell-class-name"])):ne("v-if",!0),"month"===z.value?(R(),ee(Dt,{key:2,ref_key:"currentViewRef",ref:w,"selection-mode":L(Z),date:D.value,"parsed-value":e.parsedValue,"disabled-date":L(m),disabled:e.disabled,"cell-class-name":L(y),onPick:X},null,8,["selection-mode","date","parsed-value","disabled-date","disabled","cell-class-name"])):ne("v-if",!0)],34)],2)],2),e.showFooter&&L(ve)&&L(pe)?(R(),N("div",{key:0,class:j(L(l).e("footer"))},[ge(ke(L(Ae),{text:"",size:"small",class:j(L(l).e("link-btn")),disabled:L(we),onClick:De},{default:ae(()=>[ye(ie(L(o)("el.datepicker.now")),1)]),_:1},8,["class","disabled"]),[[_e,!L(q)&&e.showNow]]),e.showConfirm?(R(),ee(L(Ae),{key:0,plain:"",size:"small",class:j(L(l).e("link-btn")),disabled:L(me),onClick:fe},{default:ae(()=>[ye(ie(L(o)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])):ne("v-if",!0)],2)):ne("v-if",!0)],2))}});var Mt=M(xt,[["__file","panel-date-pick.vue"]]);const $t=k(o(o({},rt),st)),Pt=(e,{defaultValue:a,defaultTime:t,leftDate:l,rightDate:n,step:r,unit:s,sortDates:o})=>{const{emit:i}=Le(),{pickerNs:u}=E(at),d=_("date-range-picker"),{t:c,lang:p}=f(),m=(e=>{const{emit:a}=Le(),t=H(),l=Oe();return n=>{const r=Fe(n.value)?n.value():n.value;r?a("pick",[Xe(r[0]).locale(e.value),Xe(r[1]).locale(e.value)]):n.onClick&&n.onClick({attrs:t,slots:l,emit:a})}})(p),b=h(),g=h(),k=h({endDate:null,selecting:!1}),w=e=>{if(v(e)&&2===e.length){const[a,t]=e;b.value=a,l.value=a,g.value=t,o(L(b),L(g))}else D()},D=()=>{let[o,i]=dt(L(a),{lang:L(p),step:r,unit:s,unlinkPanels:e.unlinkPanels});const u=e=>e.diff(e.startOf("d"),"ms"),d=L(t);if(d){let e=0,a=0;if(v(d)){const[t,l]=d.map(Xe);e=u(t),a=u(l)}else{const t=u(Xe(d));e=t,a=t}o=o.startOf("d").add(e,"ms"),i=i.startOf("d").add(a,"ms")}b.value=void 0,g.value=void 0,l.value=o,n.value=i};return G(a,e=>{e&&D()},{immediate:!0}),G(()=>e.parsedValue,e=>{(null==e?void 0:e.length)&&y(e,[b.value,g.value])||w(e)},{immediate:!0}),G(()=>e.visible,()=>{e.visible&&w(e.parsedValue)},{immediate:!0}),{minDate:b,maxDate:g,rangeState:k,lang:p,ppNs:u,drpNs:d,handleChangeRange:e=>{k.value=e},handleRangeConfirm:(e=!1)=>{const a=L(b),t=L(g);ut([a,t])&&i("pick",[a,t],e)},handleShortcutClick:m,onSelect:e=>{k.value.selecting=e,e||(k.value.endDate=null)},parseValue:w,t:c}},Vt=(e,a,t,l)=>{const n=h("date"),r=h(),s=h("date"),o=h(),i=E(fa),{disabledDate:d}=i.props,{t:c,lang:v}=f(),p=b(()=>t.value.year()),m=b(()=>t.value.month()),y=b(()=>l.value.year()),g=b(()=>l.value.month());function k(e,a){const t=c("el.datepicker.year");if("year"===e.value){const e=10*Math.floor(a.value/10);return t?`${e} ${t} - ${e+9} ${t}`:`${e} - ${e+9}`}return`${a.value} ${t}`}function w(e){null==e||e.focus()}function D(a,t){return u(this,null,function*(){if(e.disabled)return;const l="left"===a?r:o;("left"===a?n:s).value=t,yield ce(),w(l.value)})}function C(a,i,c){return u(this,null,function*(){if(e.disabled)return;const u="left"===i,p=u?t:l,m=u?l:t,f=u?n:s,h=u?r:o;if("year"===a){const e=p.value.year(c);p.value=pt(e,v.value,d)}"month"===a&&(p.value=vt(p.value,p.value.year(),c,v.value,d)),e.unlinkPanels||(m.value="left"===i?p.value.add(1,"month"):p.value.subtract(1,"month")),f.value="year"===a?"month":"date",yield ce(),w(h.value),S(a)})}function S(e){a("panel-change",[t.value.toDate(),l.value.toDate()],e)}return{leftCurrentView:n,rightCurrentView:s,leftCurrentViewRef:r,rightCurrentViewRef:o,leftYear:p,rightYear:y,leftMonth:m,rightMonth:g,leftYearLabel:b(()=>k(n,p)),rightYearLabel:b(()=>k(s,y)),showLeftPicker:e=>D("left",e),showRightPicker:e=>D("right",e),handleLeftYearPick:e=>C("year","left",e),handleRightYearPick:e=>C("year","right",e),handleLeftMonthPick:e=>C("month","left",e),handleRightMonthPick:e=>C("month","right",e),handlePanelChange:S,adjustDateByView:function(e,a,t){const l=t?"add":"subtract";return"year"===e?a[l](10,"year"):a[l](1,"year")}}},Ot="month",Yt=$({__name:"panel-date-range",props:$t,emits:["pick","set-picker-option","calendar-change","panel-change"],setup(e,{emit:a}){const t=e,l=E(fa),n=E(tt,void 0),{disabledDate:r,cellClassName:s,defaultTime:o,clearable:i}=l.props,u=Ye(l.props,"format"),d=Ye(l.props,"shortcuts"),c=Ye(l.props,"defaultValue"),{lang:p}=f(),m=h(Xe().locale(p.value)),y=h(Xe().locale(p.value).add(1,Ot)),{minDate:g,maxDate:k,rangeState:w,ppNs:D,drpNs:C,handleChangeRange:S,handleRangeConfirm:x,handleShortcutClick:M,onSelect:$,parseValue:P,t:V}=Pt(t,{defaultValue:c,defaultTime:o,leftDate:m,rightDate:y,unit:Ot,sortDates:sa});G(()=>t.visible,e=>{!e&&w.value.selecting&&(P(t.parsedValue),$(!1))});const O=h({min:null,max:null}),Y=h({min:null,max:null}),{leftCurrentView:_,rightCurrentView:I,leftCurrentViewRef:F,rightCurrentViewRef:T,leftYear:W,rightYear:H,leftMonth:K,rightMonth:z,leftYearLabel:U,rightYearLabel:Z,showLeftPicker:q,showRightPicker:J,handleLeftYearPick:Q,handleRightYearPick:X,handleLeftMonthPick:te,handleRightMonthPick:se,handlePanelChange:oe,adjustDateByView:ue}=Vt(t,a,m,y),de=b(()=>!!d.value.length),ve=b(()=>null!==O.value.min?O.value.min:g.value?g.value.format(De.value):""),pe=b(()=>null!==O.value.max?O.value.max:k.value||g.value?(k.value||g.value).format(De.value):""),me=b(()=>null!==Y.value.min?Y.value.min:g.value?g.value.format(we.value):""),fe=b(()=>null!==Y.value.max?Y.value.max:k.value||g.value?(k.value||g.value).format(we.value):""),we=b(()=>t.timeFormat||la(u.value||"")||ya),De=b(()=>t.dateFormat||ta(u.value||"")||ga),Ce=()=>{m.value=ue(_.value,m.value,!1),t.unlinkPanels||(y.value=m.value.add(1,"month")),oe("year")},Se=()=>{m.value=m.value.subtract(1,"month"),t.unlinkPanels||(y.value=m.value.add(1,"month")),oe("month")},xe=()=>{t.unlinkPanels?y.value=ue(I.value,y.value,!0):(m.value=ue(I.value,m.value,!0),y.value=m.value.add(1,"month")),oe("year")},Me=()=>{t.unlinkPanels?y.value=y.value.add(1,"month"):(m.value=m.value.add(1,"month"),y.value=m.value.add(1,"month")),oe("month")},$e=()=>{m.value=ue(_.value,m.value,!0),oe("year")},Ve=()=>{m.value=m.value.add(1,"month"),oe("month")},Oe=()=>{y.value=ue(I.value,y.value,!1),oe("year")},Fe=()=>{y.value=y.value.subtract(1,"month"),oe("month")},Le=b(()=>{const e=(K.value+1)%12,a=K.value+1>=12?1:0;return t.unlinkPanels&&new Date(W.value+a,e)t.unlinkPanels&&12*H.value+z.value-(12*W.value+K.value+1)>=12),je=b(()=>!(g.value&&k.value&&!w.value.selecting&&ut([g.value,k.value]))),We=b(()=>"datetime"===t.type||"datetimerange"===t.type),He=(e,a)=>{if(e){if(o){return Xe(o[a]||o).locale(p.value).year(e.year()).month(e.month()).date(e.date())}return e}},Ee=(e,t=!0)=>{const l=e.minDate,n=e.maxDate,r=He(l,0),s=He(n,1);k.value===s&&g.value===r||(a("calendar-change",[l.toDate(),n&&n.toDate()]),k.value=s,g.value=r,!We.value&&t&&(t=!r||!s),x(t))},Ke=h(!1),ze=h(!1),Ue=()=>{Ke.value=!1},Ze=()=>{ze.value=!1},Ge=(e,a)=>{O.value[a]=e;const l=Xe(e,De.value).locale(p.value);if(l.isValid()){if(r&&r(l.toDate()))return;"min"===a?(m.value=l,g.value=(g.value||m.value).year(l.year()).month(l.month()).date(l.date()),t.unlinkPanels||k.value&&!k.value.isBefore(g.value)||(y.value=l.add(1,"month"),k.value=g.value.add(1,"month"))):(y.value=l,k.value=(k.value||y.value).year(l.year()).month(l.month()).date(l.date()),t.unlinkPanels||g.value&&!g.value.isAfter(k.value)||(m.value=l.subtract(1,"month"),g.value=k.value.subtract(1,"month"))),sa(g.value,k.value),x(!0)}},qe=(e,a)=>{O.value[a]=null},Qe=(e,a)=>{Y.value[a]=e;const t=Xe(e,we.value).locale(p.value);t.isValid()&&("min"===a?(Ke.value=!0,g.value=(g.value||m.value).hour(t.hour()).minute(t.minute()).second(t.second())):(ze.value=!0,k.value=(k.value||y.value).hour(t.hour()).minute(t.minute()).second(t.second()),y.value=k.value))},ea=(e,a)=>{Y.value[a]=null,"min"===a?(m.value=g.value,Ke.value=!1,k.value&&!k.value.isBefore(g.value)||(k.value=g.value)):(y.value=k.value,ze.value=!1,k.value&&k.value.isBefore(g.value)&&(g.value=k.value)),x(!0)},aa=(e,a,l)=>{Y.value.min||(e&&(m.value=e,g.value=(g.value||m.value).hour(e.hour()).minute(e.minute()).second(e.second())),l||(Ke.value=a),k.value&&!k.value.isBefore(g.value)||(k.value=g.value,y.value=e,ce(()=>{P(t.parsedValue)})),x(!0))},na=(e,a,t)=>{Y.value.max||(e&&(y.value=e,k.value=(k.value||y.value).hour(e.hour()).minute(e.minute()).second(e.second())),t||(ze.value=a),k.value&&k.value.isBefore(g.value)&&(g.value=k.value),x(!0))},ra=()=>{let e=null;(null==l?void 0:l.emptyValues)&&(e=l.emptyValues.valueOnClear.value),m.value=dt(L(c),{lang:L(p),unit:"month",unlinkPanels:t.unlinkPanels})[0],y.value=m.value.add(1,"month"),k.value=void 0,g.value=void 0,x(!0),a("pick",e)};function sa(e,a){if(t.unlinkPanels&&a){const t=(null==e?void 0:e.year())||0,l=(null==e?void 0:e.month())||0,n=a.year(),r=a.month();y.value=t===n&&l===r?a.add(1,Ot):a}else y.value=m.value.add(1,Ot),a&&(y.value=y.value.hour(a.hour()).minute(a.minute()).second(a.second()))}return a("set-picker-option",["isValidValue",e=>ut(e)&&(!r||!r(e[0].toDate())&&!r(e[1].toDate()))]),a("set-picker-option",["parseUserInput",e=>mt(e,u.value||"",p.value,n)]),a("set-picker-option",["formatToString",e=>v(e)?e.map(e=>e.format(u.value)):e.format(u.value)]),a("set-picker-option",["handleClear",ra]),(e,a)=>(R(),N("div",{class:j([L(D).b(),L(C).b(),L(D).is("border",e.border),L(D).is("disabled",e.disabled),{"has-sidebar":e.$slots.sidebar||L(de),"has-time":L(We)}])},[A("div",{class:j(L(D).e("body-wrapper"))},[B(e.$slots,"sidebar",{class:j(L(D).e("sidebar"))}),L(de)?(R(),N("div",{key:0,class:j(L(D).e("sidebar"))},[(R(!0),N(he,null,be(L(d),(a,t)=>(R(),N("button",{key:t,type:"button",disabled:e.disabled,class:j(L(D).e("shortcut")),onClick:e=>L(M)(a)},ie(a.text),11,["disabled","onClick"]))),128))],2)):ne("v-if",!0),A("div",{class:j(L(D).e("body"))},[L(We)?(R(),N("div",{key:0,class:j(L(C).e("time-header"))},[A("span",{class:j(L(C).e("editors-wrap"))},[A("span",{class:j(L(C).e("time-picker-wrap"))},[ke(L(le),{size:"small",disabled:L(w).selecting||e.disabled,placeholder:L(V)("el.datepicker.startDate"),class:j(L(C).e("editor")),"model-value":L(ve),"validate-event":!1,onInput:e=>Ge(e,"min"),onChange:e=>qe(0,"min")},null,8,["disabled","placeholder","class","model-value","onInput","onChange"])],2),ge((R(),N("span",{class:j(L(C).e("time-picker-wrap"))},[ke(L(le),{size:"small",class:j(L(C).e("editor")),disabled:L(w).selecting||e.disabled,placeholder:L(V)("el.datepicker.startTime"),"model-value":L(me),"validate-event":!1,onFocus:e=>Ke.value=!0,onInput:e=>Qe(e,"min"),onChange:e=>ea(0,"min")},null,8,["class","disabled","placeholder","model-value","onFocus","onInput","onChange"]),ke(L(La),{visible:Ke.value,format:L(we),"datetime-role":"start","parsed-value":m.value,onPick:aa},null,8,["visible","format","parsed-value"])],2)),[[L(Je),Ue]])],2),A("span",null,[ke(L(re),null,{default:ae(()=>[ke(L(Re))]),_:1})]),A("span",{class:j([L(C).e("editors-wrap"),"is-right"])},[A("span",{class:j(L(C).e("time-picker-wrap"))},[ke(L(le),{size:"small",class:j(L(C).e("editor")),disabled:L(w).selecting||e.disabled,placeholder:L(V)("el.datepicker.endDate"),"model-value":L(pe),readonly:!L(g),"validate-event":!1,onInput:e=>Ge(e,"max"),onChange:e=>qe(0,"max")},null,8,["class","disabled","placeholder","model-value","readonly","onInput","onChange"])],2),ge((R(),N("span",{class:j(L(C).e("time-picker-wrap"))},[ke(L(le),{size:"small",class:j(L(C).e("editor")),disabled:L(w).selecting||e.disabled,placeholder:L(V)("el.datepicker.endTime"),"model-value":L(fe),readonly:!L(g),"validate-event":!1,onFocus:e=>L(g)&&(ze.value=!0),onInput:e=>Qe(e,"max"),onChange:e=>ea(0,"max")},null,8,["class","disabled","placeholder","model-value","readonly","onFocus","onInput","onChange"]),ke(L(La),{"datetime-role":"end",visible:ze.value,format:L(we),"parsed-value":y.value,onPick:na},null,8,["visible","format","parsed-value"])],2)),[[L(Je),Ze]])],2)],2)):ne("v-if",!0),A("div",{class:j([[L(D).e("content"),L(C).e("content")],"is-left"])},[A("div",{class:j(L(C).e("header"))},[A("button",{type:"button",class:j([L(D).e("icon-btn"),"d-arrow-left"]),"aria-label":L(V)("el.datepicker.prevYear"),disabled:e.disabled,onClick:Ce},[B(e.$slots,"prev-year",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Ie))]),_:1})])],10,["aria-label","disabled"]),ge(A("button",{type:"button",class:j([L(D).e("icon-btn"),"arrow-left"]),"aria-label":L(V)("el.datepicker.prevMonth"),disabled:e.disabled,onClick:Se},[B(e.$slots,"prev-month",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Ne))]),_:1})])],10,["aria-label","disabled"]),[[_e,"date"===L(_)]]),e.unlinkPanels?(R(),N("button",{key:0,type:"button",disabled:!L(Te)||e.disabled,class:j([[L(D).e("icon-btn"),L(D).is("disabled",!L(Te)||e.disabled)],"d-arrow-right"]),"aria-label":L(V)("el.datepicker.nextYear"),onClick:$e},[B(e.$slots,"next-year",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Be))]),_:1})])],10,["disabled","aria-label"])):ne("v-if",!0),e.unlinkPanels&&"date"===L(_)?(R(),N("button",{key:1,type:"button",disabled:!L(Le)||e.disabled,class:j([[L(D).e("icon-btn"),L(D).is("disabled",!L(Le)||e.disabled)],"arrow-right"]),"aria-label":L(V)("el.datepicker.nextMonth"),onClick:Ve},[B(e.$slots,"next-month",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Re))]),_:1})])],10,["disabled","aria-label"])):ne("v-if",!0),A("div",null,[A("span",{role:"button",class:j(L(C).e("header-label")),"aria-live":"polite",tabindex:"0",onKeydown:Pe(e=>L(q)("year"),["enter"]),onClick:e=>L(q)("year")},ie(L(U)),43,["onKeydown","onClick"]),ge(A("span",{role:"button","aria-live":"polite",tabindex:"0",class:j([L(C).e("header-label"),{active:"month"===L(_)}]),onKeydown:Pe(e=>L(q)("month"),["enter"]),onClick:e=>L(q)("month")},ie(L(V)(`el.datepicker.month${m.value.month()+1}`)),43,["onKeydown","onClick"]),[[_e,"date"===L(_)]])])],2),"date"===L(_)?(R(),ee(kt,{key:0,ref_key:"leftCurrentViewRef",ref:F,"selection-mode":"range",date:m.value,"min-date":L(g),"max-date":L(k),"range-state":L(w),"disabled-date":L(r),"cell-class-name":L(s),"show-week-number":e.showWeekNumber,disabled:e.disabled,onChangerange:L(S),onPick:Ee,onSelect:L($)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","show-week-number","disabled","onChangerange","onSelect"])):ne("v-if",!0),"year"===L(_)?(R(),ee(St,{key:1,ref_key:"leftCurrentViewRef",ref:F,"selection-mode":"year",date:m.value,"disabled-date":L(r),"parsed-value":e.parsedValue,disabled:e.disabled,onPick:L(Q)},null,8,["date","disabled-date","parsed-value","disabled","onPick"])):ne("v-if",!0),"month"===L(_)?(R(),ee(Dt,{key:2,ref_key:"leftCurrentViewRef",ref:F,"selection-mode":"month",date:m.value,"parsed-value":e.parsedValue,"disabled-date":L(r),disabled:e.disabled,onPick:L(te)},null,8,["date","parsed-value","disabled-date","disabled","onPick"])):ne("v-if",!0)],2),A("div",{class:j([[L(D).e("content"),L(C).e("content")],"is-right"])},[A("div",{class:j([L(C).e("header"),L(D).is("disabled",!L(Te)||e.disabled)])},[e.unlinkPanels?(R(),N("button",{key:0,type:"button",disabled:!L(Te)||e.disabled,class:j([L(D).e("icon-btn"),"d-arrow-left"]),"aria-label":L(V)("el.datepicker.prevYear"),onClick:Oe},[B(e.$slots,"prev-year",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Ie))]),_:1})])],10,["disabled","aria-label"])):ne("v-if",!0),e.unlinkPanels&&"date"===L(I)?(R(),N("button",{key:1,type:"button",disabled:!L(Le)||e.disabled,class:j([L(D).e("icon-btn"),"arrow-left"]),"aria-label":L(V)("el.datepicker.prevMonth"),onClick:Fe},[B(e.$slots,"prev-month",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Ne))]),_:1})])],10,["disabled","aria-label"])):ne("v-if",!0),A("button",{type:"button","aria-label":L(V)("el.datepicker.nextYear"),class:j([L(D).e("icon-btn"),"d-arrow-right"]),disabled:e.disabled,onClick:xe},[B(e.$slots,"next-year",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Be))]),_:1})])],10,["aria-label","disabled"]),ge(A("button",{type:"button",class:j([L(D).e("icon-btn"),"arrow-right"]),disabled:e.disabled,"aria-label":L(V)("el.datepicker.nextMonth"),onClick:Me},[B(e.$slots,"next-month",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Re))]),_:1})])],10,["disabled","aria-label"]),[[_e,"date"===L(I)]]),A("div",null,[A("span",{role:"button",class:j(L(C).e("header-label")),"aria-live":"polite",tabindex:"0",onKeydown:Pe(e=>L(J)("year"),["enter"]),onClick:e=>L(J)("year")},ie(L(Z)),43,["onKeydown","onClick"]),ge(A("span",{role:"button","aria-live":"polite",tabindex:"0",class:j([L(C).e("header-label"),{active:"month"===L(I)}]),onKeydown:Pe(e=>L(J)("month"),["enter"]),onClick:e=>L(J)("month")},ie(L(V)(`el.datepicker.month${y.value.month()+1}`)),43,["onKeydown","onClick"]),[[_e,"date"===L(I)]])])],2),"date"===L(I)?(R(),ee(kt,{key:0,ref_key:"rightCurrentViewRef",ref:T,"selection-mode":"range",date:y.value,"min-date":L(g),"max-date":L(k),"range-state":L(w),"disabled-date":L(r),"cell-class-name":L(s),"show-week-number":e.showWeekNumber,disabled:e.disabled,onChangerange:L(S),onPick:Ee,onSelect:L($)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","show-week-number","disabled","onChangerange","onSelect"])):ne("v-if",!0),"year"===L(I)?(R(),ee(St,{key:1,ref_key:"rightCurrentViewRef",ref:T,"selection-mode":"year",date:y.value,"disabled-date":L(r),"parsed-value":e.parsedValue,disabled:e.disabled,onPick:L(X)},null,8,["date","disabled-date","parsed-value","disabled","onPick"])):ne("v-if",!0),"month"===L(I)?(R(),ee(Dt,{key:2,ref_key:"rightCurrentViewRef",ref:T,"selection-mode":"month",date:y.value,"parsed-value":e.parsedValue,"disabled-date":L(r),disabled:e.disabled,onPick:L(se)},null,8,["date","parsed-value","disabled-date","disabled","onPick"])):ne("v-if",!0)],2)],2)],2),e.showFooter&&L(We)&&(e.showConfirm||L(i))?(R(),N("div",{key:0,class:j(L(D).e("footer"))},[L(i)?(R(),ee(L(Ae),{key:0,text:"",size:"small",class:j(L(D).e("link-btn")),onClick:ra},{default:ae(()=>[ye(ie(L(V)("el.datepicker.clear")),1)]),_:1},8,["class"])):ne("v-if",!0),e.showConfirm?(R(),ee(L(Ae),{key:1,plain:"",size:"small",class:j(L(D).e("link-btn")),disabled:L(je),onClick:e=>L(x)(!1)},{default:ae(()=>[ye(ie(L(V)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled","onClick"])):ne("v-if",!0)],2)):ne("v-if",!0)],2))}});var _t=M(Yt,[["__file","panel-date-range.vue"]]);const It=k(o({},st)),Nt="year",Rt=$({name:"DatePickerMonthRange"}),Bt=$(i(o({},Rt),{props:It,emits:["pick","set-picker-option","calendar-change"],setup(e,{emit:a}){const t=e,{lang:l}=f(),n=E(fa),r=E(tt,void 0),{shortcuts:s,disabledDate:o,cellClassName:i}=n.props,u=Ye(n.props,"format"),d=Ye(n.props,"defaultValue"),c=h(Xe().locale(l.value)),p=h(Xe().locale(l.value).add(1,Nt)),{minDate:m,maxDate:y,rangeState:g,ppNs:k,drpNs:w,handleChangeRange:D,handleRangeConfirm:C,handleShortcutClick:S,onSelect:x,parseValue:M}=Pt(t,{defaultValue:d,leftDate:c,rightDate:p,unit:Nt,sortDates:function(e,a){if(t.unlinkPanels&&a){const t=(null==e?void 0:e.year())||0,l=a.year();p.value=t===l?a.add(1,Nt):a}else p.value=c.value.add(1,Nt)}}),$=b(()=>!!s.length),{leftPrevYear:P,rightNextYear:V,leftNextYear:O,rightPrevYear:Y,leftLabel:_,rightLabel:I,leftYear:F,rightYear:T}=(({unlinkPanels:e,leftDate:a,rightDate:t})=>{const{t:l}=f();return{leftPrevYear:()=>{a.value=a.value.subtract(1,"year"),e.value||(t.value=t.value.subtract(1,"year"))},rightNextYear:()=>{e.value||(a.value=a.value.add(1,"year")),t.value=t.value.add(1,"year")},leftNextYear:()=>{a.value=a.value.add(1,"year")},rightPrevYear:()=>{t.value=t.value.subtract(1,"year")},leftLabel:b(()=>`${a.value.year()} ${l("el.datepicker.year")}`),rightLabel:b(()=>`${t.value.year()} ${l("el.datepicker.year")}`),leftYear:b(()=>a.value.year()),rightYear:b(()=>t.value.year()===a.value.year()?a.value.year()+1:t.value.year())}})({unlinkPanels:Ye(t,"unlinkPanels"),leftDate:c,rightDate:p}),W=b(()=>t.unlinkPanels&&T.value>F.value+1),H=(e,t=!0)=>{const l=e.minDate,n=e.maxDate;y.value===n&&m.value===l||(a("calendar-change",[l.toDate(),n&&n.toDate()]),y.value=n,m.value=l,t&&C())};return G(()=>t.visible,e=>{!e&&g.value.selecting&&(M(t.parsedValue),x(!1))}),a("set-picker-option",["isValidValue",ut]),a("set-picker-option",["formatToString",e=>v(e)?e.map(e=>e.format(u.value)):e.format(u.value)]),a("set-picker-option",["parseUserInput",e=>mt(e,u.value,l.value,r)]),a("set-picker-option",["handleClear",()=>{c.value=dt(L(d),{lang:L(l),unit:"year",unlinkPanels:t.unlinkPanels})[0],p.value=c.value.add(1,"year"),a("pick",null)}]),(e,a)=>(R(),N("div",{class:j([L(k).b(),L(w).b(),L(k).is("border",e.border),L(k).is("disabled",e.disabled),{"has-sidebar":Boolean(e.$slots.sidebar)||L($)}])},[A("div",{class:j(L(k).e("body-wrapper"))},[B(e.$slots,"sidebar",{class:j(L(k).e("sidebar"))}),L($)?(R(),N("div",{key:0,class:j(L(k).e("sidebar"))},[(R(!0),N(he,null,be(L(s),(a,t)=>(R(),N("button",{key:t,type:"button",class:j(L(k).e("shortcut")),disabled:e.disabled,onClick:e=>L(S)(a)},ie(a.text),11,["disabled","onClick"]))),128))],2)):ne("v-if",!0),A("div",{class:j(L(k).e("body"))},[A("div",{class:j([[L(k).e("content"),L(w).e("content")],"is-left"])},[A("div",{class:j(L(w).e("header"))},[A("button",{type:"button",class:j([L(k).e("icon-btn"),"d-arrow-left"]),disabled:e.disabled,onClick:L(P)},[B(e.$slots,"prev-year",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Ie))]),_:1})])],10,["disabled","onClick"]),e.unlinkPanels?(R(),N("button",{key:0,type:"button",disabled:!L(W)||e.disabled,class:j([[L(k).e("icon-btn"),{[L(k).is("disabled")]:!L(W)}],"d-arrow-right"]),onClick:L(O)},[B(e.$slots,"next-year",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Be))]),_:1})])],10,["disabled","onClick"])):ne("v-if",!0),A("div",null,ie(L(_)),1)],2),ke(Dt,{"selection-mode":"range",date:c.value,"min-date":L(m),"max-date":L(y),"range-state":L(g),"disabled-date":L(o),disabled:e.disabled,"cell-class-name":L(i),onChangerange:L(D),onPick:H,onSelect:L(x)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2),A("div",{class:j([[L(k).e("content"),L(w).e("content")],"is-right"])},[A("div",{class:j(L(w).e("header"))},[e.unlinkPanels?(R(),N("button",{key:0,type:"button",disabled:!L(W)||e.disabled,class:j([[L(k).e("icon-btn"),{"is-disabled":!L(W)}],"d-arrow-left"]),onClick:L(Y)},[B(e.$slots,"prev-year",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Ie))]),_:1})])],10,["disabled","onClick"])):ne("v-if",!0),A("button",{type:"button",class:j([L(k).e("icon-btn"),"d-arrow-right"]),disabled:e.disabled,onClick:L(V)},[B(e.$slots,"next-year",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Be))]),_:1})])],10,["disabled","onClick"]),A("div",null,ie(L(I)),1)],2),ke(Dt,{"selection-mode":"range",date:p.value,"min-date":L(m),"max-date":L(y),"range-state":L(g),"disabled-date":L(o),disabled:e.disabled,"cell-class-name":L(i),onChangerange:L(D),onPick:H,onSelect:L(x)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2)],2)],2)],2))}}));var At=M(Bt,[["__file","panel-month-range.vue"]]);const Ft=k(o({},st)),Lt=10,Tt="year",jt=$({name:"DatePickerYearRange"});var Wt=M($(i(o({},jt),{props:Ft,emits:["pick","set-picker-option","calendar-change"],setup(e,{emit:a}){const t=e,{lang:l}=f(),n=h(Xe().locale(l.value)),r=h(Xe().locale(l.value).add(Lt,Tt)),s=E(tt,void 0),o=E(fa),{shortcuts:i,disabledDate:u,cellClassName:d}=o.props,c=Ye(o.props,"format"),p=Ye(o.props,"defaultValue"),{minDate:m,maxDate:y,rangeState:g,ppNs:k,drpNs:w,handleChangeRange:D,handleRangeConfirm:C,handleShortcutClick:S,onSelect:x,parseValue:M}=Pt(t,{defaultValue:p,leftDate:n,rightDate:r,step:Lt,unit:Tt,sortDates:function(e,a){if(t.unlinkPanels&&a){const t=(null==e?void 0:e.year())||0,l=a.year();r.value=t+Lt>l?a.add(Lt,Tt):a}else r.value=n.value.add(Lt,Tt)}}),{leftPrevYear:$,rightNextYear:P,leftNextYear:V,rightPrevYear:O,leftLabel:Y,rightLabel:_,leftYear:I,rightYear:F}=(({unlinkPanels:e,leftDate:a,rightDate:t})=>({leftPrevYear:()=>{a.value=a.value.subtract(10,"year"),e.value||(t.value=t.value.subtract(10,"year"))},rightNextYear:()=>{e.value||(a.value=a.value.add(10,"year")),t.value=t.value.add(10,"year")},leftNextYear:()=>{a.value=a.value.add(10,"year")},rightPrevYear:()=>{t.value=t.value.subtract(10,"year")},leftLabel:b(()=>{const e=10*Math.floor(a.value.year()/10);return`${e}-${e+9}`}),rightLabel:b(()=>{const e=10*Math.floor(t.value.year()/10);return`${e}-${e+9}`}),leftYear:b(()=>10*Math.floor(a.value.year()/10)+9),rightYear:b(()=>10*Math.floor(t.value.year()/10))}))({unlinkPanels:Ye(t,"unlinkPanels"),leftDate:n,rightDate:r}),T=b(()=>!!i.length),W=b(()=>[k.b(),w.b(),k.is("border",t.border),k.is("disabled",t.disabled),{"has-sidebar":Boolean(Oe().sidebar)||T.value}]),H=b(()=>({content:[k.e("content"),w.e("content"),"is-left"],arrowLeftBtn:[k.e("icon-btn"),"d-arrow-left"],arrowRightBtn:[k.e("icon-btn"),{[k.is("disabled")]:!z.value},"d-arrow-right"]})),K=b(()=>({content:[k.e("content"),w.e("content"),"is-right"],arrowLeftBtn:[k.e("icon-btn"),{"is-disabled":!z.value},"d-arrow-left"],arrowRightBtn:[k.e("icon-btn"),"d-arrow-right"]})),z=b(()=>t.unlinkPanels&&F.value>I.value+1),U=(e,t=!0)=>{const l=e.minDate,n=e.maxDate;y.value===n&&m.value===l||(a("calendar-change",[l.toDate(),n&&n.toDate()]),y.value=n,m.value=l,t&&C())};return G(()=>t.visible,e=>{!e&&g.value.selecting&&(M(t.parsedValue),x(!1))}),a("set-picker-option",["isValidValue",e=>ut(e)&&(!u||!u(e[0].toDate())&&!u(e[1].toDate()))]),a("set-picker-option",["parseUserInput",e=>mt(e,c.value,l.value,s)]),a("set-picker-option",["formatToString",e=>v(e)?e.map(e=>e.format(c.value)):e.format(c.value)]),a("set-picker-option",["handleClear",()=>{const e=dt(L(p),{lang:L(l),step:Lt,unit:Tt,unlinkPanels:t.unlinkPanels});n.value=e[0],r.value=e[1],a("pick",null)}]),(e,a)=>(R(),N("div",{class:j(L(W))},[A("div",{class:j(L(k).e("body-wrapper"))},[B(e.$slots,"sidebar",{class:j(L(k).e("sidebar"))}),L(T)?(R(),N("div",{key:0,class:j(L(k).e("sidebar"))},[(R(!0),N(he,null,be(L(i),(a,t)=>(R(),N("button",{key:t,type:"button",class:j(L(k).e("shortcut")),disabled:e.disabled,onClick:e=>L(S)(a)},ie(a.text),11,["disabled","onClick"]))),128))],2)):ne("v-if",!0),A("div",{class:j(L(k).e("body"))},[A("div",{class:j(L(H).content)},[A("div",{class:j(L(w).e("header"))},[A("button",{type:"button",class:j(L(H).arrowLeftBtn),disabled:e.disabled,onClick:L($)},[B(e.$slots,"prev-year",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Ie))]),_:1})])],10,["disabled","onClick"]),e.unlinkPanels?(R(),N("button",{key:0,type:"button",disabled:!L(z)||e.disabled,class:j(L(H).arrowRightBtn),onClick:L(V)},[B(e.$slots,"next-year",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Be))]),_:1})])],10,["disabled","onClick"])):ne("v-if",!0),A("div",null,ie(L(Y)),1)],2),ke(St,{"selection-mode":"range",date:n.value,"min-date":L(m),"max-date":L(y),"range-state":L(g),"disabled-date":L(u),disabled:e.disabled,"cell-class-name":L(d),onChangerange:L(D),onPick:U,onSelect:L(x)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2),A("div",{class:j(L(K).content)},[A("div",{class:j(L(w).e("header"))},[e.unlinkPanels?(R(),N("button",{key:0,type:"button",disabled:!L(z)||e.disabled,class:j(L(K).arrowLeftBtn),onClick:L(O)},[B(e.$slots,"prev-year",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Ie))]),_:1})])],10,["disabled","onClick"])):ne("v-if",!0),A("button",{type:"button",class:j(L(K).arrowRightBtn),disabled:e.disabled,onClick:L(P)},[B(e.$slots,"next-year",{},()=>[ke(L(re),null,{default:ae(()=>[ke(L(Be))]),_:1})])],10,["disabled","onClick"]),A("div",null,ie(L(_)),1)],2),ke(St,{"selection-mode":"range",date:r.value,"min-date":L(m),"max-date":L(y),"range-state":L(g),"disabled-date":L(u),disabled:e.disabled,"cell-class-name":L(d),onChangerange:L(D),onPick:U,onSelect:L(x)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2)],2)],2)],2))}})),[["__file","panel-year-range.vue"]]);Xe.extend(ca),Xe.extend(ja),Xe.extend(pa),Xe.extend(Ka),Xe.extend(Ua),Xe.extend(Ga),Xe.extend(Ja),Xe.extend(Xa);const Ht=We($({name:"ElDatePickerPanel",install:null,props:et,emits:[g,"calendar-change","panel-change","visible-change","pick"],setup(e,{slots:a,emit:t}){const l=_("picker-panel"),n=E(fa,void 0);if(Se(n)){const a=O(o({},Te(e)));pe(fa,{props:a})}pe(at,{slots:a,pickerNs:l});const{parsedValue:r,onCalendarChange:s,onPanelChange:i,onSetPickerOption:u,onPick:d}=E(ba,()=>wa(e,t),!0);return()=>{const t=function(e){switch(e){case"daterange":case"datetimerange":return _t;case"monthrange":return At;case"yearrange":return Wt;default:return Mt}}(e.type);return ke(t,F(e,{parsedValue:r.value,"onSet-picker-option":u,"onCalendar-change":s,"onPanel-change":i,onPick:d}),"function"==typeof(l=a)||"[object Object]"===Object.prototype.toString.call(l)&&!je(l)?a:{default:()=>[a]});var l}}}));const Et=We($({name:"ElDatePicker",install:null,props:k(i(o({},Sa),{type:{type:w(String),default:"date"}})),emits:[g],setup(e,{expose:a,emit:t,slots:l}){const n=b(()=>!e.format);pe(tt,n),pe(ha,O(Ye(e,"popperOptions")));const r=h();a({focus:()=>{var e;null==(e=r.value)||e.focus()},blur:()=>{var e;null==(e=r.value)||e.blur()},handleOpen:()=>{var e;null==(e=r.value)||e.handleOpen()},handleClose:()=>{var e;null==(e=r.value)||e.handleClose()}});const s=e=>{t(g,e)};return()=>{var a;const t=null!=(a=e.format)?a:ka[e.type]||ga;return ke(Oa,F(e,{format:t,type:e.type,ref:r,"onUpdate:modelValue":s}),{default:e=>{return ke(Ht,F({border:!1},e),"function"==typeof(a=l)||"[object Object]"===Object.prototype.toString.call(a)&&!je(a)?l:{default:()=>[l]});var a},"range-separator":l["range-separator"]})}}}));export{Oa as C,ya as D,Et as E,fa as P,Aa as T,_a as a,Ra as b,Sa as c,Xe as d,La as e,ha as f,pa as g,Ca as t,Ba as u}; diff --git a/nginx/admin/assets/index-BneqRonp.js.gz b/nginx/admin/assets/index-BneqRonp.js.gz new file mode 100644 index 0000000..06e8ad1 Binary files /dev/null and b/nginx/admin/assets/index-BneqRonp.js.gz differ diff --git a/nginx/admin/assets/index-BoIUJTA2.js b/nginx/admin/assets/index-BoIUJTA2.js new file mode 100644 index 0000000..48e8dd3 --- /dev/null +++ b/nginx/admin/assets/index-BoIUJTA2.js @@ -0,0 +1,54 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Cg76DmSa.js","assets/el-tab-pane-BpPSIX41.js","assets/raf-DsHSIRfX.js","assets/_initCloneObject-DRmC-q3t.js","assets/index-D2gD5Tn5.js","assets/index-BMeOzN3u.js","assets/index-COyGylbk.js","assets/index-Bq8lawOo.js","assets/index-Cp4NEpJ7.js","assets/index-ZsMdSUVI.js","assets/token-DWNpOE8r.js","assets/castArray-nM8ho4U3.js","assets/debounce-DQl5eUwG.js","assets/_baseIteratee-CtIat01j.js","assets/index-CXORCV4U.js","assets/clamp-BXzPLned.js","assets/index-C0Ar9TSn.js","assets/_baseClone-Ct7RL6h5.js","assets/el-tab-pane-BLUvaGkK.css","assets/card-list-NIswF7Y2.js","assets/index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js","assets/iconify-DFoKediz.js","assets/index.vue_vue_type_script_setup_true_lang-Dk4553Z8.js","assets/dashboard-Csmn9wla.js","assets/index-C_sVHlWz.js","assets/index-CXD7B41Z.js","assets/_plugin-vue_export-helper-BCo6x5W8.js","assets/card-list-DY01W_wZ.css","assets/el-row-C6BJsxyy.css","assets/el-col-DD1Vn-Yu.css","assets/sales-overview-C-HoRPpG.js","assets/index.vue_vue_type_script_setup_true_lang-DUnXk1_V.js","assets/useChart-DmniNG26.js","assets/installCanvasRenderer-D-xUkWdX.js","assets/sales-overview-C7_ADrCO.css","assets/el-tag-DljBBxJR.css","assets/el-option-BHqzF8z9.css","assets/el-select-DdmnTlAY.css","assets/el-scrollbar-BWxh-h6K.css","assets/el-popper-D1i0e6ba.css","assets/product-performance-BM4GGkhB.js","assets/el-tooltip-l0sNRNKZ.js","assets/operations-Cr4YfoRu.js","assets/product-performance-DaRWHqrY.css","assets/marketing-conversion-CKp3HkTT.js","assets/marketing-conversion-mvpgRkYR.css","assets/points-economy-IIgvLFBX.js","assets/index-DqTthkO7.js","assets/points-economy-DSfhVtTb.css","assets/el-radio-BuDgLcOG.css","assets/el-radio-group-BzMpJalG.css","assets/el-radio-button-CSkroacn.css","assets/coupon-roi-BImVQWIN.js","assets/index-Bwtbh5WQ.js","assets/el-empty-CV-PB2A2.js","assets/el-empty-D4ZqTl4F.css","assets/index-BjuMygln.js","assets/isArrayLikeObject-CFQi-X2M.js","assets/index-D8nVJoNy.js","assets/index-C1haaLtB.js","assets/index-CHkI0jTX.css","assets/el-pagination-BNQcHhjS.css","assets/el-input-tPmZxDKr.css","assets/el-table-column-CKoPG0Y8.css","assets/el-checkbox-DIj50LEB.css","assets/coupon-roi-DsiOTsAh.css","assets/inventory-alert-CdyvmmdE.js","assets/index-ClDjAOOe.js","assets/inventory-alert-CmJ2Szk7.css","assets/el-progress-Dw9yTa91.css","assets/risk-monitor-ChKuHaAC.js","assets/player-detail-drawer-BMnLvEIg.js","assets/player-profit-loss-chart-CaOwxgxN.js","assets/player-manage-ReHd8eMR.js","assets/player-profit-loss-chart-Cy9eOjUZ.css","assets/table-column-BvPb36I5.css","assets/checkbox-Bxb--veJ.css","assets/tooltip-tn0RQdqM.css","assets/popper-kmEP6Jl6.css","assets/scrollbar-C8iP3G9A.css","assets/tag-CtW1DIiB.css","assets/pagination-C7ic7VuY.css","assets/select-C2cjPkEh.css","assets/index-B18-crhn.js","assets/use-dialog-FwJ-QdmW.js","assets/index-BaD29Izp.js","assets/index-DpfIyoxx.js","assets/index-DvejFoOw.js","assets/index-Dy3gZN7-.js","assets/index-CjpBlozU.js","assets/refs-Cw5r5QN8.js","assets/player-detail-drawer-yrMjoiUp.css","assets/drawer-Dm1ELI1k.css","assets/card-D34vavgk.css","assets/col-yED17g82.css","assets/radio-group-DfFloULT.css","assets/radio-button-CwzvjsHM.css","assets/avatar-BTatxDD8.css","assets/progress-umvVy5wk.css","assets/dialog-2KKj2Euo.css","assets/el-button-CDqfIFiK.css","assets/risk-monitor-CIhKnuDH.css","assets/el-avatar-BmRr_O8d.css","assets/user-economics-DXWKpriU.js","assets/user-economics-CiX6xYLn.css","assets/prize-pool-health-C4iWrchz.js","assets/prize-pool-health-DzxY0diW.css","assets/live-stream-premium-Cab6EXZZ.js","assets/live-stream-premium-C49lC_nq.css","assets/growth-analytics-C1Kpa-bS.js","assets/growth-analytics-CIkQmpmj.css","assets/retention-cohort-B-YYnU2w.js","assets/retention-cohort-D8isvsZu.css","assets/about-project-DgJMbhc5.js","assets/activity-profit-loss-QBBuvhKV.js","assets/index-BjQJlHTd.js","assets/index-1OHUSGeP.js","assets/activity-profit-loss-C6encsTT.css","assets/el-dialog-DyK7vRzj.css","assets/el-overlay-Db7iXMEX.css","assets/el-image-CtVnJP8l.css","assets/el-image-viewer-Ba-UrN8P.css","assets/player-spending-leaderboard-BFGfnSUS.js","assets/user-spending-drawer.vue_vue_type_script_setup_true_lang-CGv7feAY.js","assets/index-BneqRonp.js","assets/index-BnK4BbY2.js","assets/el-drawer-BhCnIJJ3.css","assets/el-date-picker-panel-BhfPqR_w.css","assets/player-spending-leaderboard-KyiXWUiU.css","assets/index-B_Kz8Jyy.css","assets/index-BRWPcNau.js","assets/LoginLeftView-DmcFsDtV.js","assets/el-dropdown-item-D7SYN_RE.js","assets/dropdown-Dk_wSiK6.js","assets/el-dropdown-item-11ZCvSOX.css","assets/useHeaderBar-B65RzJLX.js","assets/index-DVdhsH_J.js","assets/index-CIZk353b.css","assets/LoginLeftView-BN4zi5Xi.css","assets/md5-NkLrx3AN.js","assets/index-BcfO0-fK.js","assets/index-BxiCehmI.css","assets/el-form-item-BWkJzdQ_.css","assets/index-CK9ybLMc.js","assets/index-B7q-DPlS.css","assets/index-D9BDvlwO.js","assets/index-86w9PCiC.css","assets/index-C5DZ7Oey.js","assets/ArtException.vue_vue_type_script_setup_true_lang-BNdHgCsP.js","assets/index-B68OhD7Z.js","assets/index-CiCawzce.js","assets/index-BWpRQH81.js","assets/avatar6-6Evj8BB9.js","assets/index-BObA9rVr.js","assets/index-CZJaGuxf.js","assets/index.vue_vue_type_script_setup_true_lang-DRT_iaSg.js","assets/index-CEpEmnur.css","assets/el-popover-Cktl5fHm.css","assets/index-DotPmHvl.js","assets/adminActivities-Dgt25iR5.js","assets/index-DHPwBwle.css","assets/el-card-fwQOLwdi.css","assets/index-BErwC85X.js","assets/index-BaXJ8CyS.js","assets/index-BF_swEeW.css","assets/index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js","assets/useTable-DzUOUR11.js","assets/useTableColumns-FR69a2pD.js","assets/index-DGXimUMN.js","assets/activity-CMsiETfu.js","assets/ActivityAnalysisDrawer-C_7KPjWt.js","assets/activityEnums-zI8yOqFS.js","assets/ActivityAnalysisDrawer-BHxCQLVD.css","assets/ActivityRankingDrawer-D7wqNV1b.js","assets/ActivityRankingDrawer.vue_vue_type_script_setup_true_lang-DgB00tZC.js","assets/index-D5RyP_zf.js","assets/el-step-DRmJIHnU.js","assets/el-step-BBhkl3Wt.css","assets/activity-search-7kOl5pCK.js","assets/index-js0HKKV6.js","assets/activity-search-D6yxCZ5K.css","assets/form-item-B4F-CS9A.css","assets/space-3oFudasq.css","assets/product-qKpGgPBm.js","assets/index.vue_vue_type_style_index_0_lang-HxUCIPrH.js","assets/index-Cx_wuDDL.css","assets/coupons-tpfgWUoF.js","assets/index-C_S0YbqD.js","assets/index-rgHg98E6.js","assets/index-CSr24crn.js","assets/cloneDeep-B1gZFPYK.js","assets/index-dBzz0k3i.js","assets/index-Dt1JQooD.css","assets/el-alert-G57rL0jl.css","assets/el-upload-q8uObtwj.css","assets/el-switch-B5lTGWdM.css","assets/el-input-number-D6iOyBgb.css","assets/index-CzLAoq5c.js","assets/index-CF5VuMnX.css","assets/image-viewer-CDDDnorJ.css","assets/index-B48yC-b4.js","assets/index-DpD665hi.css","assets/active-user-B-AWR0LI.js","assets/activity-lottery-Canzwjq1.js","assets/activity-prize-analysis-4VDKbVv3.js","assets/dynamic-stats-typyHKGx.js","assets/new-user-ismIeZnf.js","assets/new-user-3ZQ25ksW.css","assets/order-funnel-B_tGoRnf.js","assets/order-funnel-CxvO8S8s.css","assets/todo-list-Cg4NZOTG.js","assets/user-spending-drawer-DVceM0kc.js","assets/index-ClsssJe5.js","assets/index-CHx7KC7r.js","assets/index-DG1NKJpi.css","assets/index-Bhf_oWP3.js","assets/index-BacKueNW.js","assets/index-oPcNh_Ue.js","assets/tree-select-DdXiCp9j.js","assets/index-sK8AD9wr.js","assets/tree-select-DuR1hfhn.css","assets/slider-DTwTybBj.js","assets/slider-CppPl5od.css","assets/index-DGLhvuMQ.js","assets/index-CsQLNvm4.css","assets/date-picker-panel-Dxdk0yRA.css","assets/input-number-BXCadU-U.css","assets/switch-LXCW8puc.css","assets/coupon-dialog-Bouy1Y8o.js","assets/coupon-dialog-BQdNhN-j.css","assets/index-CBfoGocR.css","assets/index-DxbtB6zA.js","assets/product-rewards-D8UEC6GF.js","assets/task-center-B4yQCrbd.js","assets/index-CoZ0WyFR.js","assets/index-Bz1J5qw2.js","assets/gamePasses-BXLFUsdE.js","assets/ichiban-slots-L0I2lhy7.js","assets/index-C44phqkN.js","assets/itemCards-WBDl8YV9.js","assets/item-card-dialog-jKZhetqa.js","assets/item-card-dialog-0cyK0oJd.css","assets/index-CyFLb3hx.css","assets/index-BjIcYfBF.js","assets/index-D5gbs2lC.css","assets/el-divider-BUtF_RGI.css","assets/index-2JMPPnu4.js","assets/index-BZThgDKa.css","assets/index-v8M328ei.js","assets/index-eQDjV_i0.css","assets/index-iyjiSOej.js","assets/configs-BgITfp3i.js","assets/index-D9xd-9h8.css","assets/index-C8sDFq-z.js","assets/index-CXjivOvk.css","assets/index-ChDietE5.js","assets/index-nMx0qMvh.css","assets/index-BAhrL1sQ.js","assets/index-ChvI7PmB.css","assets/el-descriptions-item-o9ObloqJ.css","assets/EffectEditDialog-CaIWUZ9w.js","assets/titles-D1iSw7M5.js","assets/EffectEditDialog-BmAJKxJl.css","assets/EffectManagerDialog-BmMTyIDl.js","assets/EffectManagerDialog-DnvqZPdh.css","assets/RuleConfigDialog-ByrOghLW.js","assets/RuleConfigDialog-CuEwDR7p.css","assets/TitleEditDialog-G6a4Tu5P.js","assets/TitleEditDialog-i9x-drPp.css","assets/UserAssignmentDialog-Cd2RiWKB.js","assets/UserAssignmentDialog-BTSnDJ3n.css","assets/index-DecqjAlx.js","assets/index-BNSk_VsH.css","assets/index-BboZvJE8.js","assets/snapshot-modal-DiND74kN.js","assets/snapshot-modal-DZFNMm5i.css","assets/enums-B_hZIbhP.js","assets/price-CGt8tHWF.js","assets/index-DgQmEjZp.css","assets/index-EOF-s6Ya.js","assets/player-search-DWMdzkUG.js","assets/player-search-Bx0w7f0u.css","assets/time-range-filter-C98LHEv0.js","assets/time-range-filter-BNYtlkdW.css","assets/add-points-dialog.vue_vue_type_script_setup_true_lang-C3778r95.js","assets/add-coupon-dialog.vue_vue_type_script_setup_true_lang-G6pFWYH-.js","assets/grant-reward-dialog-b2ANVjTQ.js","assets/grant-reward-dialog-D7-C3J8j.css","assets/add-item-card-dialog.vue_vue_type_script_setup_true_lang-C9E8CieY.js","assets/assign-title-dialog.vue_vue_type_script_setup_true_lang-BqTGbynB.js","assets/add-game-ticket-dialog.vue_vue_type_script_setup_true_lang-DNRKIxIT.js","assets/audit-log-drawer-L5ySH8zh.js","assets/audit-log-drawer-CrL-7kbb.css","assets/invitee-consume-dialog.vue_vue_type_script_setup_true_lang-Cnv6xzfB.js","assets/grant-pass-dialog.vue_vue_type_script_setup_true_lang-BRWnqJeo.js","assets/index-HobI4KXN.css","assets/add-coupon-dialog-2jJPLiHG.js","assets/add-game-ticket-dialog-j5t15bRi.js","assets/add-item-card-dialog-DFC9DYMs.js","assets/add-points-dialog-CEY7RhMt.js","assets/assign-title-dialog-_0Ks363k.js","assets/invitee-consume-dialog-B16Eo42f.js","assets/index-CiiHKhHN.js","assets/category-search-0fyNR6nV.js","assets/category-search-BqILMF9x.css","assets/index-OWLr3nQL.js","assets/product-search-DSJH5irW.js","assets/product-search-Cun_ywfi.css","assets/index-Cup_eQSA.js","assets/synthesis-BIc3Ymli.js","assets/logs-CB9VEWV7.js","assets/index-C1dwx9tB.js","assets/index-COVbtKb2.css","assets/index-B9jkV22W.js","assets/index-Bj_S5uYq.css","assets/index-BeuS3fUG.js","assets/ArtResultPage.vue_vue_type_script_setup_true_lang-D5vO0ry2.js","assets/index-CXm1nqMJ.js","assets/index-DkpT8YSW.js","assets/index-7_BE1ymS.js","assets/index-CEo8vjCU.css","assets/index-Bdn-FVK1.js","assets/menu-dialog.vue_vue_type_script_setup_true_lang-BHUwTkkc.js","assets/menu-dialog-DTCN0Hl9.js","assets/index-D31cv9lq.js","assets/index-CUyQwStl.js","assets/role-search.vue_vue_type_script_setup_true_lang-DmXBZh-D.js","assets/role-edit-dialog.vue_vue_type_script_setup_true_lang-BlR9E0nm.js","assets/role-permission-dialog.vue_vue_type_script_setup_true_lang-D_UfifsO.js","assets/role-permission-dialog-BYEPGzFo.css","assets/role-edit-dialog-mZgZMy9k.js","assets/role-permission-dialog-EMeZyBKY.js","assets/role-search-WLBqp4Dl.js","assets/index-CK4gMf_x.js","assets/avatar-pR7-E1hl.js","assets/index-CUdgQS4Q.js","assets/avatar10-Dom60BwY.js","assets/user-search.vue_vue_type_script_setup_true_lang-BJMmAzdn.js","assets/user-dialog.vue_vue_type_script_setup_true_lang-8ugrUkcJ.js","assets/grant-pass-dialog-Dfv4U4Lo.js","assets/user-dialog-CIsM75Gs.js","assets/user-search-CftsJys8.js","assets/index-Bbs9NYau.js","assets/index.vue_vue_type_script_setup_true_lang-g70nAmZn.js","assets/index-n5HeLR2m.js","assets/index.vue_vue_type_script_setup_true_lang-52kir2M8.js","assets/index-B-d2EqGf.js","assets/index.vue_vue_type_script_setup_true_lang-CPE8D7by.js","assets/index-C8JkS7QR.js","assets/index-CGW0tBaS.js"])))=>i.map(i=>d[i]); +var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,o=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),s=(t,n,a)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[n]=a,l=(e,t)=>{for(var n in t||(t={}))r.call(t,n)&&s(e,n,t[n]);if(a)for(var n of a(t))i.call(t,n)&&s(e,n,t[n]);return e},c=(e,a)=>t(e,n(a)),d=(e,t)=>{var n={};for(var o in e)r.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&a)for(var o of a(e))t.indexOf(o)<0&&i.call(e,o)&&(n[o]=e[o]);return n},u=(e,t,n)=>s(e,"symbol"!=typeof t?t+"":t,n),_=(e,t,n)=>new Promise((a,r)=>{var i=e=>{try{s(n.next(e))}catch(t){r(t)}},o=e=>{try{s(n.throw(e))}catch(t){r(t)}},s=e=>e.done?a(e.value):Promise.resolve(e.value).then(i,o);s((n=n.apply(e,t)).next())}),p=function(e,t){this[0]=e,this[1]=t},m=(e,t,n)=>{var a=(e,t,r,i)=>{try{var o=n[e](t),s=(t=o.value)instanceof p,l=o.done;Promise.resolve(s?t[0]:t).then(n=>s?a("return"===e?e:"next",t[1]?{done:n.done,value:n.value}:n,r,i):r({value:n,done:l})).catch(e=>a("throw",e,r,i))}catch(c){i(c)}},r=e=>i[e]=t=>new Promise((n,r)=>a(e,t,n,r)),i={};return n=n.apply(e,t),i[o("asyncIterator")]=()=>i,r("next"),r("throw"),r("return"),i},g=e=>{var t,n=e[o("asyncIterator")],a=!1,r={};return null==n?(n=e[o("iterator")](),t=e=>r[e]=t=>n[e](t)):(n=n.call(e),t=e=>r[e]=t=>{if(a){if(a=!1,"throw"===e)throw t;return t}return a=!0,{done:!1,value:new p(new Promise(a=>{var r=n[e](t);r instanceof Object||(e=>{throw TypeError(e)})("Object expected"),a(r)}),1)}}),r[o("iterator")]=()=>r,t("next"),"throw"in n?t("throw"):r.throw=e=>{throw e},"return"in n&&t("return"),r}; +/** +* @vue/shared v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +function E(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return e=>e in t}!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))t(e);new MutationObserver(e=>{for(const n of e)if("childList"===n.type)for(const e of n.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&t(e)}).observe(document,{childList:!0,subtree:!0})}function t(e){if(e.ep)return;e.ep=!0;const t=function(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?t.credentials="include":"anonymous"===e.crossOrigin?t.credentials="omit":t.credentials="same-origin",t}(e);fetch(e.href,t)}}();const f={},S=[],b=()=>{},h=()=>!1,v=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),T=e=>e.startsWith("onUpdate:"),y=Object.assign,C=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},R=Object.prototype.hasOwnProperty,O=(e,t)=>R.call(e,t),N=Array.isArray,A=e=>"[object Map]"===F(e),I=e=>"[object Set]"===F(e),w=e=>"[object Date]"===F(e),D=e=>"function"==typeof e,x=e=>"string"==typeof e,L=e=>"symbol"==typeof e,M=e=>null!==e&&"object"==typeof e,P=e=>(M(e)||D(e))&&D(e.then)&&D(e.catch),k=Object.prototype.toString,F=e=>k.call(e),U=e=>"[object Object]"===F(e),B=e=>x(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,G=E(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Y=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},V=/-\w/g,H=Y(e=>e.replace(V,e=>e.slice(1).toUpperCase())),z=/\B([A-Z])/g,q=Y(e=>e.replace(z,"-$1").toLowerCase()),$=Y(e=>e.charAt(0).toUpperCase()+e.slice(1)),j=Y(e=>e?`on${$(e)}`:""),W=(e,t)=>!Object.is(e,t),K=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:a,value:n})},X=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Z;const J=()=>Z||(Z="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});function ee(e){if(N(e)){const t={};for(let n=0;n{if(e){const n=e.split(ne);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function ie(e){let t="";if(x(e))t=e;else if(N(e))for(let n=0;nce(e,t))}const ue=e=>!(!e||!0!==e.__v_isRef),_e=e=>x(e)?e:null==e?"":N(e)||M(e)&&(e.toString===k||!D(e.toString))?ue(e)?_e(e.value):JSON.stringify(e,pe,2):String(e),pe=(e,t)=>ue(t)?pe(e,t.value):A(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],a)=>(e[me(t,a)+" =>"]=n,e),{})}:I(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>me(e))}:L(t)?me(t):!M(t)||N(t)||U(t)?t:String(t),me=(e,t="")=>{var n;return L(e)?`Symbol(${null!=(n=e.description)?n:t})`:e};function ge(e){return null==e?"initial":"string"==typeof e?""===e?" ":e:String(e)} +/** +* @vue/reactivity v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Ee,fe;class Se{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ee,!e&&Ee&&(this.index=(Ee.scopes||(Ee.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e0&&0===--this._on&&(Ee=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){let t,n;for(this._active=!1,t=0,n=this.effects.length;t0)return;if(Re){let e=Re;for(Re=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Ce;){let n=Ce;for(Ce=void 0;n;){const a=n.next;if(n.next=void 0,n.flags&=-9,1&n.flags)try{n.trigger()}catch(t){e||(e=t)}n=a}}if(e)throw e}function we(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function De(e){let t,n=e.depsTail,a=n;for(;a;){const e=a.prevDep;-1===a.version?(a===n&&(n=e),Me(a),Pe(a)):t=a,a.dep.activeLink=a.prevActiveLink,a.prevActiveLink=void 0,a=e}e.deps=t,e.depsTail=n}function xe(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Le(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Le(e){if(4&e.flags&&!(16&e.flags))return;if(e.flags&=-17,e.globalVersion===Ye)return;if(e.globalVersion=Ye,!e.isSSR&&128&e.flags&&(!e.deps&&!e._dirty||!xe(e)))return;e.flags|=2;const t=e.dep,n=fe,a=ke;fe=e,ke=!0;try{we(e);const n=e.fn(e._value);(0===t.version||W(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(r){throw t.version++,r}finally{fe=n,ke=a,De(e),e.flags&=-3}}function Me(e,t=!1){const{dep:n,prevSub:a,nextSub:r}=e;if(a&&(a.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=a,e.nextSub=void 0),n.subs===e&&(n.subs=a,!a&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)Me(e,!0)}t||--n.sc||!n.map||n.map.delete(n.key)}function Pe(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let ke=!0;const Fe=[];function Ue(){Fe.push(ke),ke=!1}function Be(){const e=Fe.pop();ke=void 0===e||e}function Ge(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const e=fe;fe=void 0;try{t()}finally{fe=e}}}let Ye=0;class Ve{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class He{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!fe||!ke||fe===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==fe)t=this.activeLink=new Ve(fe,this),fe.deps?(t.prevDep=fe.depsTail,fe.depsTail.nextDep=t,fe.depsTail=t):fe.deps=fe.depsTail=t,ze(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){const e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=fe.depsTail,t.nextDep=void 0,fe.depsTail.nextDep=t,fe.depsTail=t,fe.deps===t&&(fe.deps=e)}return t}trigger(e){this.version++,Ye++,this.notify(e)}notify(e){Ae();try{0;for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Ie()}}}function ze(e){if(e.dep.sc++,4&e.sub.flags){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)ze(e)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const qe=new WeakMap,$e=Symbol(""),je=Symbol(""),We=Symbol("");function Ke(e,t,n){if(ke&&fe){let t=qe.get(e);t||qe.set(e,t=new Map);let a=t.get(n);a||(t.set(n,a=new He),a.map=t,a.key=n),a.track()}}function Qe(e,t,n,a,r,i){const o=qe.get(e);if(!o)return void Ye++;const s=e=>{e&&e.trigger()};if(Ae(),"clear"===t)o.forEach(s);else{const r=N(e),i=r&&B(n);if(r&&"length"===n){const e=Number(a);o.forEach((t,n)=>{("length"===n||n===We||!L(n)&&n>=e)&&s(t)})}else switch((void 0!==n||o.has(void 0))&&s(o.get(n)),i&&s(o.get(We)),t){case"add":r?i&&s(o.get("length")):(s(o.get($e)),A(e)&&s(o.get(je)));break;case"delete":r||(s(o.get($e)),A(e)&&s(o.get(je)));break;case"set":A(e)&&s(o.get($e))}}Ie()}function Xe(e){const t=Bt(e);return t===e?t:(Ke(t,0,We),Ft(e)?t:t.map(Yt))}function Ze(e){return Ke(e=Bt(e),0,We),e}const Je={__proto__:null,[Symbol.iterator](){return et(this,Symbol.iterator,Yt)},concat(...e){return Xe(this).concat(...e.map(e=>N(e)?Xe(e):e))},entries(){return et(this,"entries",e=>(e[1]=Yt(e[1]),e))},every(e,t){return nt(this,"every",e,t,void 0,arguments)},filter(e,t){return nt(this,"filter",e,t,e=>e.map(Yt),arguments)},find(e,t){return nt(this,"find",e,t,Yt,arguments)},findIndex(e,t){return nt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return nt(this,"findLast",e,t,Yt,arguments)},findLastIndex(e,t){return nt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return nt(this,"forEach",e,t,void 0,arguments)},includes(...e){return rt(this,"includes",e)},indexOf(...e){return rt(this,"indexOf",e)},join(e){return Xe(this).join(e)},lastIndexOf(...e){return rt(this,"lastIndexOf",e)},map(e,t){return nt(this,"map",e,t,void 0,arguments)},pop(){return it(this,"pop")},push(...e){return it(this,"push",e)},reduce(e,...t){return at(this,"reduce",e,t)},reduceRight(e,...t){return at(this,"reduceRight",e,t)},shift(){return it(this,"shift")},some(e,t){return nt(this,"some",e,t,void 0,arguments)},splice(...e){return it(this,"splice",e)},toReversed(){return Xe(this).toReversed()},toSorted(e){return Xe(this).toSorted(e)},toSpliced(...e){return Xe(this).toSpliced(...e)},unshift(...e){return it(this,"unshift",e)},values(){return et(this,"values",Yt)}};function et(e,t,n){const a=Ze(e),r=a[t]();return a===e||Ft(e)||(r._next=r.next,r.next=()=>{const e=r._next();return e.done||(e.value=n(e.value)),e}),r}const tt=Array.prototype;function nt(e,t,n,a,r,i){const o=Ze(e),s=o!==e&&!Ft(e),l=o[t];if(l!==tt[t]){const t=l.apply(e,i);return s?Yt(t):t}let c=n;o!==e&&(s?c=function(t,a){return n.call(this,Yt(t),a,e)}:n.length>2&&(c=function(t,a){return n.call(this,t,a,e)}));const d=l.call(o,c,a);return s&&r?r(d):d}function at(e,t,n,a){const r=Ze(e);let i=n;return r!==e&&(Ft(e)?n.length>3&&(i=function(t,a,r){return n.call(this,t,a,r,e)}):i=function(t,a,r){return n.call(this,t,Yt(a),r,e)}),r[t](i,...a)}function rt(e,t,n){const a=Bt(e);Ke(a,0,We);const r=a[t](...n);return-1!==r&&!1!==r||!Ut(n[0])?r:(n[0]=Bt(n[0]),a[t](...n))}function it(e,t,n=[]){Ue(),Ae();const a=Bt(e)[t].apply(e,n);return Ie(),Be(),a}const ot=E("__proto__,__v_isRef,__isVue"),st=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(L));function lt(e){L(e)||(e=String(e));const t=Bt(this);return Ke(t,0,e),t.hasOwnProperty(e)}class ct{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if("__v_skip"===t)return e.__v_skip;const a=this._isReadonly,r=this._isShallow;if("__v_isReactive"===t)return!a;if("__v_isReadonly"===t)return a;if("__v_isShallow"===t)return r;if("__v_raw"===t)return n===(a?r?At:Nt:r?Ot:Rt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const i=N(e);if(!a){let e;if(i&&(e=Je[t]))return e;if("hasOwnProperty"===t)return lt}const o=Reflect.get(e,t,Ht(e)?e:n);if(L(t)?st.has(t):ot(t))return o;if(a||Ke(e,0,t),r)return o;if(Ht(o)){const e=i&&B(t)?o:o.value;return a&&M(e)?xt(e):e}return M(o)?a?xt(o):wt(o):o}}class dt extends ct{constructor(e=!1){super(!1,e)}set(e,t,n,a){let r=e[t];if(!this._isShallow){const t=kt(r);if(Ft(n)||kt(n)||(r=Bt(r),n=Bt(n)),!N(e)&&Ht(r)&&!Ht(n))return t||(r.value=n),!0}const i=N(e)&&B(t)?Number(t)e,ft=e=>Reflect.getPrototypeOf(e);function St(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function bt(e,t){const n={get(n){const a=this.__v_raw,r=Bt(a),i=Bt(n);e||(W(n,i)&&Ke(r,0,n),Ke(r,0,i));const{has:o}=ft(r),s=t?Et:e?Vt:Yt;return o.call(r,n)?s(a.get(n)):o.call(r,i)?s(a.get(i)):void(a!==r&&a.get(n))},get size(){const t=this.__v_raw;return!e&&Ke(Bt(t),0,$e),t.size},has(t){const n=this.__v_raw,a=Bt(n),r=Bt(t);return e||(W(t,r)&&Ke(a,0,t),Ke(a,0,r)),t===r?n.has(t):n.has(t)||n.has(r)},forEach(n,a){const r=this,i=r.__v_raw,o=Bt(i),s=t?Et:e?Vt:Yt;return!e&&Ke(o,0,$e),i.forEach((e,t)=>n.call(a,s(e),s(t),r))}};y(n,e?{add:St("add"),set:St("set"),delete:St("delete"),clear:St("clear")}:{add(e){t||Ft(e)||kt(e)||(e=Bt(e));const n=Bt(this);return ft(n).has.call(n,e)||(n.add(e),Qe(n,"add",e,e)),this},set(e,n){t||Ft(n)||kt(n)||(n=Bt(n));const a=Bt(this),{has:r,get:i}=ft(a);let o=r.call(a,e);o||(e=Bt(e),o=r.call(a,e));const s=i.call(a,e);return a.set(e,n),o?W(n,s)&&Qe(a,"set",e,n):Qe(a,"add",e,n),this},delete(e){const t=Bt(this),{has:n,get:a}=ft(t);let r=n.call(t,e);r||(e=Bt(e),r=n.call(t,e)),a&&a.call(t,e);const i=t.delete(e);return r&&Qe(t,"delete",e,void 0),i},clear(){const e=Bt(this),t=0!==e.size,n=e.clear();return t&&Qe(e,"clear",void 0,void 0),n}});return["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=function(e,t,n){return function(...a){const r=this.__v_raw,i=Bt(r),o=A(i),s="entries"===e||e===Symbol.iterator&&o,l="keys"===e&&o,c=r[e](...a),d=n?Et:t?Vt:Yt;return!t&&Ke(i,0,l?je:$e),{next(){const{value:e,done:t}=c.next();return t?{value:e,done:t}:{value:s?[d(e[0]),d(e[1])]:d(e),done:t}},[Symbol.iterator](){return this}}}}(a,e,t)}),n}function ht(e,t){const n=bt(e,t);return(t,a,r)=>"__v_isReactive"===a?!e:"__v_isReadonly"===a?e:"__v_raw"===a?t:Reflect.get(O(n,a)&&a in t?n:t,a,r)}const vt={get:ht(!1,!1)},Tt={get:ht(!1,!0)},yt={get:ht(!0,!1)},Ct={get:ht(!0,!0)},Rt=new WeakMap,Ot=new WeakMap,Nt=new WeakMap,At=new WeakMap;function It(e){return e.__v_skip||!Object.isExtensible(e)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((e=>F(e).slice(8,-1))(e))}function wt(e){return kt(e)?e:Mt(e,!1,_t,vt,Rt)}function Dt(e){return Mt(e,!1,mt,Tt,Ot)}function xt(e){return Mt(e,!0,pt,yt,Nt)}function Lt(e){return Mt(e,!0,gt,Ct,At)}function Mt(e,t,n,a,r){if(!M(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const i=It(e);if(0===i)return e;const o=r.get(e);if(o)return o;const s=new Proxy(e,2===i?a:n);return r.set(e,s),s}function Pt(e){return kt(e)?Pt(e.__v_raw):!(!e||!e.__v_isReactive)}function kt(e){return!(!e||!e.__v_isReadonly)}function Ft(e){return!(!e||!e.__v_isShallow)}function Ut(e){return!!e&&!!e.__v_raw}function Bt(e){const t=e&&e.__v_raw;return t?Bt(t):e}function Gt(e){return!O(e,"__v_skip")&&Object.isExtensible(e)&&Q(e,"__v_skip",!0),e}const Yt=e=>M(e)?wt(e):e,Vt=e=>M(e)?xt(e):e;function Ht(e){return!!e&&!0===e.__v_isRef}function zt(e){return $t(e,!1)}function qt(e){return $t(e,!0)}function $t(e,t){return Ht(e)?e:new jt(e,t)}class jt{constructor(e,t){this.dep=new He,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:Bt(e),this._value=t?e:Yt(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,n=this.__v_isShallow||Ft(e)||kt(e);e=n?e:Bt(e),W(e,t)&&(this._rawValue=e,this._value=n?e:Yt(e),this.dep.trigger())}}function Wt(e){e.dep&&e.dep.trigger()}function Kt(e){return Ht(e)?e.value:e}function Qt(e){return D(e)?e():Kt(e)}const Xt={get:(e,t,n)=>"__v_raw"===t?e:Kt(Reflect.get(e,t,n)),set:(e,t,n,a)=>{const r=e[t];return Ht(r)&&!Ht(n)?(r.value=n,!0):Reflect.set(e,t,n,a)}};function Zt(e){return Pt(e)?e:new Proxy(e,Xt)}class Jt{constructor(e){this.__v_isRef=!0,this._value=void 0;const t=this.dep=new He,{get:n,set:a}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=a}get value(){return this._value=this._get()}set value(e){this._set(e)}}function en(e){const t=N(e)?new Array(e.length):{};for(const n in e)t[n]=rn(e,n);return t}class tn{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){const e=this._object[this._key];return this._value=void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return function(e,t){const n=qe.get(e);return n&&n.get(t)}(Bt(this._object),this._key)}}class nn{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function an(e,t,n){return Ht(e)?e:D(e)?new nn(e):M(e)&&arguments.length>1?rn(e,t,n):zt(e)}function rn(e,t,n){const a=e[t];return Ht(a)?a:new tn(e,t,n)}class on{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new He(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ye-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(8&this.flags)&&fe!==this)return Ne(this,!0),!0}get value(){const e=this.dep.track();return Le(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}const sn={},ln=new WeakMap;let cn;function dn(e,t,n=f){const{immediate:a,deep:r,once:i,scheduler:o,augmentJob:s,call:l}=n,c=e=>r?e:Ft(e)||!1===r||0===r?un(e,1):un(e);let d,u,_,p,m=!1,g=!1;if(Ht(e)?(u=()=>e.value,m=Ft(e)):Pt(e)?(u=()=>c(e),m=!0):N(e)?(g=!0,m=e.some(e=>Pt(e)||Ft(e)),u=()=>e.map(e=>Ht(e)?e.value:Pt(e)?c(e):D(e)?l?l(e,2):e():void 0)):u=D(e)?t?l?()=>l(e,2):e:()=>{if(_){Ue();try{_()}finally{Be()}}const t=cn;cn=d;try{return l?l(e,3,[p]):e(p)}finally{cn=t}}:b,t&&r){const e=u,t=!0===r?1/0:r;u=()=>un(e(),t)}const E=he(),S=()=>{d.stop(),E&&E.active&&C(E.effects,d)};if(i&&t){const e=t;t=(...t)=>{e(...t),S()}}let h=g?new Array(e.length).fill(sn):sn;const v=e=>{if(1&d.flags&&(d.dirty||e))if(t){const e=d.run();if(r||m||(g?e.some((e,t)=>W(e,h[t])):W(e,h))){_&&_();const n=cn;cn=d;try{const n=[e,h===sn?void 0:g&&h[0]===sn?[]:h,p];h=e,l?l(t,3,n):t(...n)}finally{cn=n}}}else d.run()};return s&&s(v),d=new ye(u),d.scheduler=o?()=>o(v,!1):v,p=e=>function(e,t=!1,n=cn){if(n){let t=ln.get(n);t||ln.set(n,t=[]),t.push(e)}}(e,!1,d),_=d.onStop=()=>{const e=ln.get(d);if(e){if(l)l(e,4);else for(const t of e)t();ln.delete(d)}},t?a?v(!0):h=d.run():o?o(v.bind(null,!0),!0):d.run(),S.pause=d.pause.bind(d),S.resume=d.resume.bind(d),S.stop=S,S}function un(e,t=1/0,n){if(t<=0||!M(e)||e.__v_skip)return e;if(((n=n||new Map).get(e)||0)>=t)return e;if(n.set(e,t),t--,Ht(e))un(e.value,t,n);else if(N(e))for(let a=0;a{un(e,t,n)});else if(U(e)){for(const a in e)un(e[a],t,n);for(const a of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,a)&&un(e[a],t,n)}return e} +/** +* @vue/runtime-core v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function _n(e,t,n,a){try{return a?e(...a):e()}catch(r){mn(r,t,n)}}function pn(e,t,n,a){if(D(e)){const r=_n(e,t,n,a);return r&&P(r)&&r.catch(e=>{mn(e,t,n)}),r}if(N(e)){const r=[];for(let i=0;i=An(n)?gn.push(e):gn.splice(function(e){let t=En+1,n=gn.length;for(;t>>1,r=gn[a],i=An(r);iAn(e)-An(t));if(fn.length=0,Sn)return void Sn.push(...e);for(Sn=e,bn=0;bnnull==e.id?2&e.flags?-1:1/0:e.id;function In(e){try{for(En=0;En{a._d&&Si(-1);const r=xn(t);let i;try{i=e(...n)}finally{xn(r),a._d&&Si(1)}return i};return a._n=!0,a._c=!0,a._d=!0,a}function Mn(e,t){if(null===wn)return e;const n=Zi(wn),a=e.dirs||(e.dirs=[]);for(let r=0;re.__isTeleport,Un=e=>e&&(e.disabled||""===e.disabled),Bn=e=>e&&(e.defer||""===e.defer),Gn=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,Yn=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,Vn=(e,t)=>{const n=e&&e.to;if(x(n)){if(t){return t(n)}return null}return n},Hn={name:"Teleport",__isTeleport:!0,process(e,t,n,a,r,i,o,s,l,c){const{mc:d,pc:u,pbc:_,o:{insert:p,querySelector:m,createText:g,createComment:E}}=c,f=Un(t.props);let{shapeFlag:S,children:b,dynamicChildren:h}=t;if(null==e){const e=t.el=g(""),c=t.anchor=g("");p(e,n,a),p(c,n,a);const u=(e,t)=>{16&S&&d(b,e,t,r,i,o,s,l)},_=()=>{const e=t.target=Vn(t.props,m),n=jn(e,t,g,p);e&&("svg"!==o&&Gn(e)?o="svg":"mathml"!==o&&Yn(e)&&(o="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(e),f||(u(e,n),$n(t,!1)))};f&&(u(n,c),$n(t,!0)),Bn(t.props)?(t.el.__isMounted=!1,Br(()=>{_(),delete t.el.__isMounted},i)):_()}else{if(Bn(t.props)&&!1===e.el.__isMounted)return void Br(()=>{Hn.process(e,t,n,a,r,i,o,s,l,c)},i);t.el=e.el,t.targetStart=e.targetStart;const d=t.anchor=e.anchor,p=t.target=e.target,g=t.targetAnchor=e.targetAnchor,E=Un(e.props),S=E?n:p,b=E?d:g;if("svg"===o||Gn(p)?o="svg":("mathml"===o||Yn(p))&&(o="mathml"),h?(_(e.dynamicChildren,h,S,r,i,o,s),Hr(e,t,!0)):l||u(e,t,S,b,r,i,o,s,!1),f)E?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):zn(t,n,d,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=Vn(t.props,m);e&&zn(t,e,null,c,0)}else E&&zn(t,p,g,c,1);$n(t,f)}},remove(e,t,n,{um:a,o:{remove:r}},i){const{shapeFlag:o,children:s,anchor:l,targetStart:c,targetAnchor:d,target:u,props:_}=e;if(u&&(r(c),r(d)),i&&r(l),16&o){const e=i||!Un(_);for(let r=0;r{e.isMounted=!0}),La(()=>{e.isUnmounting=!0}),e}const Xn=[Function,Array],Zn={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Xn,onEnter:Xn,onAfterEnter:Xn,onEnterCancelled:Xn,onBeforeLeave:Xn,onLeave:Xn,onAfterLeave:Xn,onLeaveCancelled:Xn,onBeforeAppear:Xn,onAppear:Xn,onAfterAppear:Xn,onAppearCancelled:Xn},Jn=e=>{const t=e.subTree;return t.component?Jn(t.component):t};function ea(e){let t=e[0];if(e.length>1)for(const n of e)if(n.type!==_i){t=n;break}return t}const ta={name:"BaseTransition",props:Zn,setup(e,{slots:t}){const n=Yi(),a=Qn();return()=>{const r=t.default&&sa(t.default(),!0);if(!r||!r.length)return;const i=ea(r),o=Bt(e),{mode:s}=o;if(a.isLeaving)return ra(i);const l=ia(i);if(!l)return ra(i);let c=aa(l,o,a,n,e=>c=e);l.type!==_i&&oa(l,c);let d=n.subTree&&ia(n.subTree);if(d&&d.type!==_i&&!yi(d,l)&&Jn(n).type!==_i){let e=aa(d,o,a,n);if(oa(d,e),"out-in"===s&&l.type!==_i)return a.isLeaving=!0,e.afterLeave=()=>{a.isLeaving=!1,8&n.job.flags||n.update(),delete e.afterLeave,d=void 0},ra(i);"in-out"===s&&l.type!==_i?e.delayLeave=(e,t,n)=>{na(a,d)[String(d.key)]=d,e[Wn]=()=>{t(),e[Wn]=void 0,delete c.delayedLeave,d=void 0},c.delayedLeave=()=>{n(),delete c.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return i}}};function na(e,t){const{leavingVNodes:n}=e;let a=n.get(t.type);return a||(a=Object.create(null),n.set(t.type,a)),a}function aa(e,t,n,a,r){const{appear:i,mode:o,persisted:s=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:d,onEnterCancelled:u,onBeforeLeave:_,onLeave:p,onAfterLeave:m,onLeaveCancelled:g,onBeforeAppear:E,onAppear:f,onAfterAppear:S,onAppearCancelled:b}=t,h=String(e.key),v=na(n,e),T=(e,t)=>{e&&pn(e,a,9,t)},y=(e,t)=>{const n=t[1];T(e,t),N(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},C={mode:o,persisted:s,beforeEnter(t){let a=l;if(!n.isMounted){if(!i)return;a=E||l}t[Wn]&&t[Wn](!0);const r=v[h];r&&yi(e,r)&&r.el[Wn]&&r.el[Wn](),T(a,[t])},enter(e){let t=c,a=d,r=u;if(!n.isMounted){if(!i)return;t=f||c,a=S||d,r=b||u}let o=!1;const s=e[Kn]=t=>{o||(o=!0,T(t?r:a,[e]),C.delayedLeave&&C.delayedLeave(),e[Kn]=void 0)};t?y(t,[e,s]):s()},leave(t,a){const r=String(e.key);if(t[Kn]&&t[Kn](!0),n.isUnmounting)return a();T(_,[t]);let i=!1;const o=t[Wn]=n=>{i||(i=!0,a(),T(n?g:m,[t]),t[Wn]=void 0,v[r]===e&&delete v[r])};v[r]=e,p?y(p,[t,o]):o()},clone(e){const i=aa(e,t,n,a,r);return r&&r(i),i}};return C}function ra(e){if(Sa(e))return(e=Ii(e)).children=null,e}function ia(e){if(!Sa(e))return Fn(e.type)&&e.children?ea(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(16&t)return n[0];if(32&t&&D(n.default))return n.default()}}function oa(e,t){6&e.shapeFlag&&e.component?(e.transition=t,oa(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function sa(e,t=!1,n){let a=[],r=0;for(let i=0;i1)for(let i=0;iy({name:e.name},t,{setup:e}))():e}function ca(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function da(e){const t=Yi(),n=qt(null);if(t){const a=t.refs===f?t.refs={}:t.refs;Object.defineProperty(a,e,{enumerable:!0,get:()=>n.value,set:e=>n.value=e})}return n}const ua=new WeakMap;function _a(e,t,n,a,r=!1){if(N(e))return void e.forEach((e,i)=>_a(e,t&&(N(t)?t[i]:t),n,a,r));if(ga(a)&&!r)return void(512&a.shapeFlag&&a.type.__asyncResolved&&a.component.subTree.component&&_a(e,t,n,a.component.subTree));const i=4&a.shapeFlag?Zi(a.component):a.el,o=r?null:i,{i:s,r:l}=e,c=t&&t.r,d=s.refs===f?s.refs={}:s.refs,u=s.setupState,_=Bt(u),p=u===f?h:e=>O(_,e);if(null!=c&&c!==l)if(pa(t),x(c))d[c]=null,p(c)&&(u[c]=null);else if(Ht(c)){c.value=null;const e=t;e.k&&(d[e.k]=null)}if(D(l))_n(l,s,12,[o,d]);else{const t=x(l),a=Ht(l);if(t||a){const s=()=>{if(e.f){const n=t?p(l)?u[l]:d[l]:l.value;if(r)N(n)&&C(n,i);else if(N(n))n.includes(i)||n.push(i);else if(t)d[l]=[i],p(l)&&(u[l]=d[l]);else{const t=[i];l.value=t,e.k&&(d[e.k]=t)}}else t?(d[l]=o,p(l)&&(u[l]=o)):a&&(l.value=o,e.k&&(d[e.k]=o))};if(o){const t=()=>{s(),ua.delete(e)};t.id=-1,ua.set(e,t),Br(t,n)}else pa(e),s()}}}function pa(e){const t=ua.get(e);t&&(t.flags|=8,ua.delete(e))}const ma=e=>8===e.nodeType;J().requestIdleCallback,J().cancelIdleCallback;const ga=e=>!!e.type.__asyncLoader;function Ea(e){D(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:a,delay:r=200,hydrate:i,timeout:o,suspensible:s=!0,onError:l}=e;let c,d=null,u=0;const _=()=>{let e;return d||(e=d=t().catch(e=>{if(e=e instanceof Error?e:new Error(String(e)),l)return new Promise((t,n)=>{l(e,()=>t((u++,d=null,_())),()=>n(e),u+1)});throw e}).then(t=>e!==d&&d?d:(t&&(t.__esModule||"Module"===t[Symbol.toStringTag])&&(t=t.default),c=t,t)))};return la({name:"AsyncComponentWrapper",__asyncLoader:_,__asyncHydrate(e,t,n){let a=!1;(t.bu||(t.bu=[])).push(()=>a=!0);const r=()=>{a||n()},o=i?()=>{const n=i(r,t=>function(e,t){if(ma(e)&&"["===e.data){let n=1,a=e.nextSibling;for(;a;){if(1===a.nodeType){if(!1===t(a))break}else if(ma(a))if("]"===a.data){if(0===--n)break}else"["===a.data&&n++;a=a.nextSibling}}else t(e)}(e,t));n&&(t.bum||(t.bum=[])).push(n)}:r;c?o():_().then(()=>!t.isUnmounted&&o())},get __asyncResolved(){return c},setup(){const e=Gi;if(ca(e),c)return()=>fa(c,e);const t=t=>{d=null,mn(t,e,13,!a)};if(s&&e.suspense||ji)return _().then(t=>()=>fa(t,e)).catch(e=>(t(e),()=>a?Ni(a,{error:e}):null));const i=zt(!1),l=zt(),u=zt(!!r);return r&&setTimeout(()=>{u.value=!1},r),null!=o&&setTimeout(()=>{if(!i.value&&!l.value){const e=new Error(`Async component timed out after ${o}ms.`);t(e),l.value=e}},o),_().then(()=>{i.value=!0,e.parent&&Sa(e.parent.vnode)&&e.parent.update()}).catch(e=>{t(e),l.value=e}),()=>i.value&&c?fa(c,e):l.value&&a?Ni(a,{error:l.value}):n&&!u.value?Ni(n):void 0}})}function fa(e,t){const{ref:n,props:a,children:r,ce:i}=t.vnode,o=Ni(e,a,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const Sa=e=>e.type.__isKeepAlive,ba={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=Yi(),a=n.ctx;if(!a.renderer)return()=>{const e=t.default&&t.default();return e&&1===e.length?e[0]:e};const r=new Map,i=new Set;let o=null;const s=n.suspense,{renderer:{p:l,m:c,um:d,o:{createElement:u}}}=a,_=u("div");function p(e){Ra(e),d(e,n,s,!0)}function m(e){r.forEach((t,n)=>{const a=Ji(t.type);a&&!e(a)&&g(n)})}function g(e){const t=r.get(e);!t||o&&yi(t,o)?o&&Ra(o):p(t),r.delete(e),i.delete(e)}a.activate=(e,t,n,a,r)=>{const i=e.component;c(e,t,n,0,s),l(i.vnode,e,t,n,i,s,a,e.slotScopeIds,r),Br(()=>{i.isDeactivated=!1,i.a&&K(i.a);const t=e.props&&e.props.onVnodeMounted;t&&Fi(t,i.parent,e)},s)},a.deactivate=e=>{const t=e.component;qr(t.m),qr(t.a),c(e,_,null,1,s),Br(()=>{t.da&&K(t.da);const n=e.props&&e.props.onVnodeUnmounted;n&&Fi(n,t.parent,e),t.isDeactivated=!0},s)},Kr(()=>[e.include,e.exclude],([e,t])=>{e&&m(t=>ha(e,t)),t&&m(e=>!ha(t,e))},{flush:"post",deep:!0});let E=null;const f=()=>{null!=E&&(ci(n.subTree.type)?Br(()=>{r.set(E,Oa(n.subTree))},n.subTree.suspense):r.set(E,Oa(n.subTree)))};return wa(f),xa(f),La(()=>{r.forEach(e=>{const{subTree:t,suspense:a}=n,r=Oa(t);if(e.type===r.type&&e.key===r.key){Ra(r);const e=r.component.da;return void(e&&Br(e,a))}p(e)})}),()=>{if(E=null,!t.default)return o=null;const n=t.default(),a=n[0];if(n.length>1)return o=null,n;if(!(Ti(a)&&(4&a.shapeFlag||128&a.shapeFlag)))return o=null,a;let s=Oa(a);if(s.type===_i)return o=null,s;const l=s.type,c=Ji(ga(s)?s.type.__asyncResolved||{}:l),{include:d,exclude:u,max:_}=e;if(d&&(!c||!ha(d,c))||u&&c&&ha(u,c))return s.shapeFlag&=-257,o=s,a;const p=null==s.key?l:s.key,m=r.get(p);return s.el&&(s=Ii(s),128&a.shapeFlag&&(a.ssContent=s)),E=p,m?(s.el=m.el,s.component=m.component,s.transition&&oa(s,s.transition),s.shapeFlag|=512,i.delete(p),i.add(p)):(i.add(p),_&&i.size>parseInt(_,10)&&g(i.values().next().value)),s.shapeFlag|=256,o=s,ci(a.type)?a:s}}};function ha(e,t){return N(e)?e.some(e=>ha(e,t)):x(e)?e.split(",").includes(t):"[object RegExp]"===F(e)&&(e.lastIndex=0,e.test(t))}function va(e,t){ya(e,"a",t)}function Ta(e,t){ya(e,"da",t)}function ya(e,t,n=Gi){const a=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(Na(t,a,n),n){let e=n.parent;for(;e&&e.parent;)Sa(e.parent.vnode)&&Ca(a,t,n,e),e=e.parent}}function Ca(e,t,n,a){const r=Na(t,e,a,!0);Ma(()=>{C(a[t],r)},n)}function Ra(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Oa(e){return 128&e.shapeFlag?e.ssContent:e}function Na(e,t,n=Gi,a=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...a)=>{Ue();const r=zi(n),i=pn(t,n,e,a);return r(),Be(),i});return a?r.unshift(i):r.push(i),i}}const Aa=e=>(t,n=Gi)=>{ji&&"sp"!==e||Na(e,(...e)=>t(...e),n)},Ia=Aa("bm"),wa=Aa("m"),Da=Aa("bu"),xa=Aa("u"),La=Aa("bum"),Ma=Aa("um"),Pa=Aa("sp"),ka=Aa("rtg"),Fa=Aa("rtc");function Ua(e,t=Gi){Na("ec",e,t)}const Ba="components";function Ga(e,t){return za(Ba,e,!0,t)||e}const Ya=Symbol.for("v-ndc");function Va(e){return x(e)?za(Ba,e,!1)||e:e||Ya}function Ha(e){return za("directives",e)}function za(e,t,n=!0,a=!1){const r=wn||Gi;if(r){const n=r.type;if(e===Ba){const e=Ji(n,!1);if(e&&(e===t||e===H(t)||e===$(H(t))))return n}const i=qa(r[e]||n[e],t)||qa(r.appContext[e],t);return!i&&a?n:i}}function qa(e,t){return e&&(e[t]||e[H(t)]||e[$(H(t))])}function $a(e,t,n,a){let r;const i=n,o=N(e);if(o||x(e)){let n=!1,a=!1;o&&Pt(e)&&(n=!Ft(e),a=kt(e),e=Ze(e)),r=new Array(e.length);for(let o=0,s=e.length;ot(e,n,void 0,i));else{const n=Object.keys(e);r=new Array(n.length);for(let a=0,o=n.length;a{const t=a.fn(...e);return t&&(t.key=a.key),t}:a.fn)}return e}function Wa(e,t,n={},a,r){if(wn.ce||wn.parent&&ga(wn.parent)&&wn.parent.ce){const e=Object.keys(n).length>0;return"default"!==t&&(n.name=t),Ei(),vi(di,null,[Ni("slot",n,a&&a())],e?-2:64)}let i=e[t];i&&i._c&&(i._d=!1),Ei();const o=i&&Ka(i(n)),s=n.key||o&&o.key,l=vi(di,{key:(s&&!L(s)?s:`_${t}`)+(!o&&a?"_fb":"")},o||(a?a():[]),o&&1===e._?64:-2);return!r&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),i&&i._c&&(i._d=!0),l}function Ka(e){return e.some(e=>!Ti(e)||e.type!==_i&&!(e.type===di&&!Ka(e.children)))?e:null}function Qa(e,t){const n={};for(const a in e)n[j(a)]=e[a];return n}const Xa=e=>e?$i(e)?Zi(e):Xa(e.parent):null,Za=y(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=>Xa(e.parent),$root:e=>Xa(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>dr(e),$forceUpdate:e=>e.f||(e.f=()=>{yn(e.update)}),$nextTick:e=>e.n||(e.n=Tn.bind(e.proxy)),$watch:e=>Xr.bind(e)}),Ja=(e,t)=>e!==f&&!e.__isScriptSetup&&O(e,t),er={get({_:e},t){if("__v_skip"===t)return!0;const{ctx:n,setupState:a,data:r,props:i,accessCache:o,type:s,appContext:l}=e;let c;if("$"!==t[0]){const s=o[t];if(void 0!==s)switch(s){case 1:return a[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(Ja(a,t))return o[t]=1,a[t];if(r!==f&&O(r,t))return o[t]=2,r[t];if((c=e.propsOptions[0])&&O(c,t))return o[t]=3,i[t];if(n!==f&&O(n,t))return o[t]=4,n[t];or&&(o[t]=0)}}const d=Za[t];let u,_;return d?("$attrs"===t&&Ke(e.attrs,0,""),d(e)):(u=s.__cssModules)&&(u=u[t])?u:n!==f&&O(n,t)?(o[t]=4,n[t]):(_=l.config.globalProperties,O(_,t)?_[t]:void 0)},set({_:e},t,n){const{data:a,setupState:r,ctx:i}=e;return Ja(r,t)?(r[t]=n,!0):a!==f&&O(a,t)?(a[t]=n,!0):!O(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(i[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:a,appContext:r,propsOptions:i,type:o}},s){let l,c;return!!(n[s]||e!==f&&"$"!==s[0]&&O(e,s)||Ja(t,s)||(l=i[0])&&O(l,s)||O(a,s)||O(Za,s)||O(r.config.globalProperties,s)||(c=o.__cssModules)&&c[s])},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:O(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function tr(){return ar().slots}function nr(){return ar().attrs}function ar(e){const t=Yi();return t.setupContext||(t.setupContext=Xi(t))}function rr(e){return N(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function ir(e,t){return e&&t?N(e)&&N(t)?e.concat(t):y({},rr(e),rr(t)):e||t}let or=!0;function sr(e){const t=dr(e),n=e.proxy,a=e.ctx;or=!1,t.beforeCreate&&lr(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:s,provide:l,inject:c,created:d,beforeMount:u,mounted:_,beforeUpdate:p,updated:m,activated:g,deactivated:E,beforeDestroy:f,beforeUnmount:S,destroyed:h,unmounted:v,render:T,renderTracked:y,renderTriggered:C,errorCaptured:R,serverPrefetch:O,expose:A,inheritAttrs:I,components:w,directives:x,filters:L}=t;if(c&&function(e,t){N(e)&&(e=mr(e));for(const n in e){const a=e[n];let r;r=M(a)?"default"in a?yr(a.from||n,a.default,!0):yr(a.from||n):yr(a),Ht(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:e=>r.value=e}):t[n]=r}}(c,a,null),o)for(const b in o){const e=o[b];D(e)&&(a[b]=e.bind(n))}if(r){const t=r.call(n,n);M(t)&&(e.data=wt(t))}if(or=!0,i)for(const N in i){const e=i[N],t=D(e)?e.bind(n,n):D(e.get)?e.get.bind(n,n):b,r=!D(e)&&D(e.set)?e.set.bind(n):b,o=eo({get:t,set:r});Object.defineProperty(a,N,{enumerable:!0,configurable:!0,get:()=>o.value,set:e=>o.value=e})}if(s)for(const b in s)cr(s[b],a,n,b);if(l){const e=D(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{Tr(t,e[t])})}function P(e,t){N(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(d&&lr(d,e,"c"),P(Ia,u),P(wa,_),P(Da,p),P(xa,m),P(va,g),P(Ta,E),P(Ua,R),P(Fa,y),P(ka,C),P(La,S),P(Ma,v),P(Pa,O),N(A))if(A.length){const t=e.exposed||(e.exposed={});A.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||(e.exposed={});T&&e.render===b&&(e.render=T),null!=I&&(e.inheritAttrs=I),w&&(e.components=w),x&&(e.directives=x),O&&ca(e)}function lr(e,t,n){pn(N(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function cr(e,t,n,a){let r=a.includes(".")?Zr(n,a):()=>n[a];if(x(e)){const n=t[e];D(n)&&Kr(r,n)}else if(D(e))Kr(r,e.bind(n));else if(M(e))if(N(e))e.forEach(e=>cr(e,t,n,a));else{const a=D(e.handler)?e.handler.bind(n):t[e.handler];D(a)&&Kr(r,a,e)}}function dr(e){const t=e.type,{mixins:n,extends:a}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,s=i.get(t);let l;return s?l=s:r.length||n||a?(l={},r.length&&r.forEach(e=>ur(l,e,o,!0)),ur(l,t,o)):l=t,M(t)&&i.set(t,l),l}function ur(e,t,n,a=!1){const{mixins:r,extends:i}=t;i&&ur(e,i,n,!0),r&&r.forEach(t=>ur(e,t,n,!0));for(const o in t)if(a&&"expose"===o);else{const a=_r[o]||n&&n[o];e[o]=a?a(e[o],t[o]):t[o]}return e}const _r={data:pr,props:fr,emits:fr,methods:Er,computed:Er,beforeCreate:gr,created:gr,beforeMount:gr,mounted:gr,beforeUpdate:gr,updated:gr,beforeDestroy:gr,beforeUnmount:gr,destroyed:gr,unmounted:gr,activated:gr,deactivated:gr,errorCaptured:gr,serverPrefetch:gr,components:Er,directives:Er,watch:function(e,t){if(!e)return t;if(!t)return e;const n=y(Object.create(null),e);for(const a in t)n[a]=gr(e[a],t[a]);return n},provide:pr,inject:function(e,t){return Er(mr(e),mr(t))}};function pr(e,t){return t?e?function(){return y(D(e)?e.call(this,this):e,D(t)?t.call(this,this):t)}:t:e}function mr(e){if(N(e)){const t={};for(let n=0;n(r.has(e)||(e&&D(e.install)?(r.add(e),e.install(s,...t)):D(e)&&(r.add(e),e(s,...t))),s),mixin:e=>(a.mixins.includes(e)||a.mixins.push(e),s),component:(e,t)=>t?(a.components[e]=t,s):a.components[e],directive:(e,t)=>t?(a.directives[e]=t,s):a.directives[e],mount(r,i,l){if(!o){const i=s._ceVNode||Ni(t,n);return i.appContext=a,!0===l?l="svg":!1===l&&(l=void 0),e(i,r,l),o=!0,s._container=r,r.__vue_app__=s,Zi(i.component)}},onUnmount(e){i.push(e)},unmount(){o&&(pn(i,s._instance,16),e(null,s._container),delete s._container.__vue_app__)},provide:(e,t)=>(a.provides[e]=t,s),runWithContext(e){const t=vr;vr=s;try{return e()}finally{vr=t}}};return s}}let vr=null;function Tr(e,t){if(Gi){let n=Gi.provides;const a=Gi.parent&&Gi.parent.provides;a===n&&(n=Gi.provides=Object.create(a)),n[e]=t}else;}function yr(e,t,n=!1){const a=Yi();if(a||vr){let r=vr?vr._context.provides:a?null==a.parent||a.ce?a.vnode.appContext&&a.vnode.appContext.provides:a.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&D(t)?t.call(a&&a.proxy):t}}function Cr(){return!(!Yi()&&!vr)}const Rr={},Or=()=>Object.create(Rr),Nr=e=>Object.getPrototypeOf(e)===Rr;function Ar(e,t,n,a){const[r,i]=e.propsOptions;let o,s=!1;if(t)for(let l in t){if(G(l))continue;const c=t[l];let d;r&&O(r,d=H(l))?i&&i.includes(d)?(o||(o={}))[d]=c:n[d]=c:ri(e.emitsOptions,l)||l in a&&c===a[l]||(a[l]=c,s=!0)}if(i){const t=Bt(n),a=o||f;for(let o=0;o{l=!0;const[n,a]=Dr(e,t,!0);y(o,n),a&&s.push(...a)};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!i&&!l)return M(e)&&a.set(e,S),S;if(N(i))for(let d=0;d"_"===e||"_ctx"===e||"$stable"===e,Mr=e=>N(e)?e.map(Li):[Li(e)],Pr=(e,t,n)=>{if(t._n)return t;const a=Ln((...e)=>Mr(t(...e)),n);return a._c=!1,a},kr=(e,t,n)=>{const a=e._ctx;for(const r in e){if(Lr(r))continue;const n=e[r];if(D(n))t[r]=Pr(0,n,a);else if(null!=n){const e=Mr(n);t[r]=()=>e}}},Fr=(e,t)=>{const n=Mr(t);e.slots.default=()=>n},Ur=(e,t,n)=>{for(const a in t)!n&&Lr(a)||(e[a]=t[a])},Br=function(e,t){t&&t.pendingBranch?N(e)?t.effects.push(...e):t.effects.push(e):Rn(e)};function Gr(e){return function(e){J().__VUE__=!0;const{insert:t,remove:n,patchProp:a,createElement:r,createText:i,createComment:o,setText:s,setElementText:l,parentNode:c,nextSibling:d,setScopeId:u=b,insertStaticContent:_}=e,p=(e,t,n,a=null,r=null,i=null,o=void 0,s=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!yi(e,t)&&(a=X(e),V(e,r,i,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:c,ref:d,shapeFlag:u}=t;switch(c){case ui:m(e,t,n,a);break;case _i:g(e,t,n,a);break;case pi:null==e&&E(t,n,a,o);break;case di:w(e,t,n,a,r,i,o,s,l);break;default:1&u?T(e,t,n,a,r,i,o,s,l):6&u?D(e,t,n,a,r,i,o,s,l):(64&u||128&u)&&c.process(e,t,n,a,r,i,o,s,l,te)}null!=d&&r?_a(d,e&&e.ref,i,t||e,!t):null==d&&e&&null!=e.ref&&_a(e.ref,null,i,e,!0)},m=(e,n,a,r)=>{if(null==e)t(n.el=i(n.children),a,r);else{const t=n.el=e.el;n.children!==e.children&&s(t,n.children)}},g=(e,n,a,r)=>{null==e?t(n.el=o(n.children||""),a,r):n.el=e.el},E=(e,t,n,a)=>{[e.el,e.anchor]=_(e.children,t,n,a,e.el,e.anchor)},h=({el:e,anchor:n},a,r)=>{let i;for(;e&&e!==n;)i=d(e),t(e,a,r),e=i;t(n,a,r)},v=({el:e,anchor:t})=>{let a;for(;e&&e!==t;)a=d(e),n(e),e=a;n(t)},T=(e,t,n,a,r,i,o,s,l)=>{"svg"===t.type?o="svg":"math"===t.type&&(o="mathml"),null==e?y(t,n,a,r,i,o,s,l):N(e,t,r,i,o,s,l)},y=(e,n,i,o,s,c,d,u)=>{let _,p;const{props:m,shapeFlag:g,transition:E,dirs:f}=e;if(_=e.el=r(e.type,c,m&&m.is,m),8&g?l(_,e.children):16&g&&R(e.children,_,null,o,s,Yr(e,c),d,u),f&&Pn(e,null,o,"created"),C(_,e,e.scopeId,d,o),m){for(const e in m)"value"===e||G(e)||a(_,e,null,m[e],c,o);"value"in m&&a(_,"value",null,m.value,c),(p=m.onVnodeBeforeMount)&&Fi(p,o,e)}f&&Pn(e,null,o,"beforeMount");const S=function(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}(s,E);S&&E.beforeEnter(_),t(_,n,i),((p=m&&m.onVnodeMounted)||S||f)&&Br(()=>{p&&Fi(p,o,e),S&&E.enter(_),f&&Pn(e,null,o,"mounted")},s)},C=(e,t,n,a,r)=>{if(n&&u(e,n),a)for(let i=0;i{for(let c=l;c{const c=t.el=e.el;let{patchFlag:d,dynamicChildren:u,dirs:_}=t;d|=16&e.patchFlag;const p=e.props||f,m=t.props||f;let g;if(n&&Vr(n,!1),(g=m.onVnodeBeforeUpdate)&&Fi(g,n,t,e),_&&Pn(t,e,n,"beforeUpdate"),n&&Vr(n,!0),(p.innerHTML&&null==m.innerHTML||p.textContent&&null==m.textContent)&&l(c,""),u?A(e.dynamicChildren,u,c,n,r,Yr(t,i),o):s||F(e,t,c,null,n,r,Yr(t,i),o,!1),d>0){if(16&d)I(c,p,m,n,i);else if(2&d&&p.class!==m.class&&a(c,"class",null,m.class,i),4&d&&a(c,"style",p.style,m.style,i),8&d){const e=t.dynamicProps;for(let t=0;t{g&&Fi(g,n,t,e),_&&Pn(t,e,n,"updated")},r)},A=(e,t,n,a,r,i,o)=>{for(let s=0;s{if(t!==n){if(t!==f)for(const o in t)G(o)||o in n||a(e,o,t[o],null,i,r);for(const o in n){if(G(o))continue;const s=n[o],l=t[o];s!==l&&"value"!==o&&a(e,o,l,s,i,r)}"value"in n&&a(e,"value",t.value,n.value,i)}},w=(e,n,a,r,o,s,l,c,d)=>{const u=n.el=e?e.el:i(""),_=n.anchor=e?e.anchor:i("");let{patchFlag:p,dynamicChildren:m,slotScopeIds:g}=n;g&&(c=c?c.concat(g):g),null==e?(t(u,a,r),t(_,a,r),R(n.children||[],a,_,o,s,l,c,d)):p>0&&64&p&&m&&e.dynamicChildren?(A(e.dynamicChildren,m,a,o,s,l,c),(null!=n.key||o&&n===o.subTree)&&Hr(e,n,!0)):F(e,n,a,_,o,s,l,c,d)},D=(e,t,n,a,r,i,o,s,l)=>{t.slotScopeIds=s,null==e?512&t.shapeFlag?r.ctx.activate(t,n,a,o,l):x(t,n,a,r,i,o,l):L(e,t,l)},x=(e,t,n,a,r,i,o)=>{const s=e.component=function(e,t,n){const a=e.type,r=(t?t.appContext:e.appContext)||Ui,i={uid:Bi++,vnode:e,type:a,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Se(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Dr(a,r),emitsOptions:ai(a,r),emit:null,emitted:null,propsDefaults:f,inheritAttrs:a.inheritAttrs,ctx:f,data:f,props:f,attrs:f,slots:f,refs:f,setupState:f,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};i.ctx={_:i},i.root=t?t.root:i,i.emit=ti.bind(null,i),e.ce&&e.ce(i);return i}(e,a,r);if(Sa(e)&&(s.ctx.renderer=te),function(e,t=!1,n=!1){t&&Hi(t);const{props:a,children:r}=e.vnode,i=$i(e);(function(e,t,n,a=!1){const r={},i=Or();e.propsDefaults=Object.create(null),Ar(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=a?r:Dt(r):e.type.props?e.props=r:e.props=i,e.attrs=i})(e,a,i,t),((e,t,n)=>{const a=e.slots=Or();if(32&e.vnode.shapeFlag){const e=t._;e?(Ur(a,t,n),n&&Q(a,"_",e,!0)):kr(t,a)}else t&&Fr(e,t)})(e,r,n||t);const o=i?function(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,er);const{setup:a}=n;if(a){Ue();const n=e.setupContext=a.length>1?Xi(e):null,r=zi(e),i=_n(a,e,0,[e.props,n]),o=P(i);if(Be(),r(),!o&&!e.sp||ga(e)||ca(e),o){if(i.then(qi,qi),t)return i.then(t=>{Wi(e,t)}).catch(t=>{mn(t,e,0)});e.asyncDep=i}else Wi(e,i)}else Ki(e)}(e,t):void 0;t&&Hi(!1)}(s,!1,o),s.asyncDep){if(r&&r.registerDep(s,M,o),!e.el){const a=s.subTree=Ni(_i);g(null,a,t,n),e.placeholder=a.el}}else M(s,e,t,n,r,i,o)},L=(e,t,n)=>{const a=t.component=e.component;if(function(e,t,n){const{props:a,children:r,component:i}=e,{props:o,children:s,patchFlag:l}=t,c=i.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&l>=0))return!(!r&&!s||s&&s.$stable)||a!==o&&(a?!o||li(a,o,c):!!o);if(1024&l)return!0;if(16&l)return a?li(a,o,c):!!o;if(8&l){const e=t.dynamicProps;for(let t=0;t{const s=()=>{if(e.isMounted){let{next:t,bu:n,u:a,parent:l,vnode:d}=e;{const n=zr(e);if(n)return t&&(t.el=d.el,k(e,t,o)),void n.asyncDep.then(()=>{e.isUnmounted||s()})}let u,_=t;Vr(e,!1),t?(t.el=d.el,k(e,t,o)):t=d,n&&K(n),(u=t.props&&t.props.onVnodeBeforeUpdate)&&Fi(u,l,t,d),Vr(e,!0);const m=ii(e),g=e.subTree;e.subTree=m,p(g,m,c(g.el),X(g),e,r,i),t.el=m.el,null===_&&function({vnode:e,parent:t},n){for(;t;){const a=t.subTree;if(a.suspense&&a.suspense.activeBranch===e&&(a.el=e.el),a!==e)break;(e=t.vnode).el=n,t=t.parent}}(e,m.el),a&&Br(a,r),(u=t.props&&t.props.onVnodeUpdated)&&Br(()=>Fi(u,l,t,d),r)}else{let o;const{el:s,props:l}=t,{bm:c,m:d,parent:u,root:_,type:m}=e,g=ga(t);Vr(e,!1),c&&K(c),!g&&(o=l&&l.onVnodeBeforeMount)&&Fi(o,u,t),Vr(e,!0);{_.ce&&!1!==_.ce._def.shadowRoot&&_.ce._injectChildStyle(m);const o=e.subTree=ii(e);p(null,o,n,a,e,r,i),t.el=o.el}if(d&&Br(d,r),!g&&(o=l&&l.onVnodeMounted)){const e=t;Br(()=>Fi(o,u,e),r)}(256&t.shapeFlag||u&&ga(u.vnode)&&256&u.vnode.shapeFlag)&&e.a&&Br(e.a,r),e.isMounted=!0,t=n=a=null}};e.scope.on();const l=e.effect=new ye(s);e.scope.off();const d=e.update=l.run.bind(l),u=e.job=l.runIfDirty.bind(l);u.i=e,u.id=e.uid,l.scheduler=()=>yn(u),Vr(e,!0),d()},k=(e,t,n)=>{t.component=e;const a=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,a){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,s=Bt(r),[l]=e.propsOptions;let c=!1;if(!(a||o>0)||16&o){let a;Ar(e,t,r,i)&&(c=!0);for(const i in s)t&&(O(t,i)||(a=q(i))!==i&&O(t,a))||(l?!n||void 0===n[i]&&void 0===n[a]||(r[i]=Ir(l,s,i,void 0,e,!0)):delete r[i]);if(i!==s)for(const e in i)t&&O(t,e)||(delete i[e],c=!0)}else if(8&o){const n=e.vnode.dynamicProps;for(let a=0;a{const{vnode:a,slots:r}=e;let i=!0,o=f;if(32&a.shapeFlag){const e=t._;e?n&&1===e?i=!1:Ur(r,t,n):(i=!t.$stable,kr(t,r)),o=t}else t&&(Fr(e,t),o={default:1});if(i)for(const s in r)Lr(s)||null!=o[s]||delete r[s]})(e,t.children,n),Ue(),On(e),Be()},F=(e,t,n,a,r,i,o,s,c=!1)=>{const d=e&&e.children,u=e?e.shapeFlag:0,_=t.children,{patchFlag:p,shapeFlag:m}=t;if(p>0){if(128&p)return void B(d,_,n,a,r,i,o,s,c);if(256&p)return void U(d,_,n,a,r,i,o,s,c)}8&m?(16&u&&W(d,r,i),_!==d&&l(n,_)):16&u?16&m?B(d,_,n,a,r,i,o,s,c):W(d,r,i,!0):(8&u&&l(n,""),16&m&&R(_,n,a,r,i,o,s,c))},U=(e,t,n,a,r,i,o,s,l)=>{t=t||S;const c=(e=e||S).length,d=t.length,u=Math.min(c,d);let _;for(_=0;_d?W(e,r,i,!0,!1,u):R(t,n,a,r,i,o,s,l,u)},B=(e,t,n,a,r,i,o,s,l)=>{let c=0;const d=t.length;let u=e.length-1,_=d-1;for(;c<=u&&c<=_;){const a=e[c],d=t[c]=l?Mi(t[c]):Li(t[c]);if(!yi(a,d))break;p(a,d,n,null,r,i,o,s,l),c++}for(;c<=u&&c<=_;){const a=e[u],c=t[_]=l?Mi(t[_]):Li(t[_]);if(!yi(a,c))break;p(a,c,n,null,r,i,o,s,l),u--,_--}if(c>u){if(c<=_){const e=_+1,u=e_)for(;c<=u;)V(e[c],r,i,!0),c++;else{const m=c,g=c,E=new Map;for(c=g;c<=_;c++){const e=t[c]=l?Mi(t[c]):Li(t[c]);null!=e.key&&E.set(e.key,c)}let f,b=0;const h=_-g+1;let v=!1,T=0;const y=new Array(h);for(c=0;c=h){V(a,r,i,!0);continue}let d;if(null!=a.key)d=E.get(a.key);else for(f=g;f<=_;f++)if(0===y[f-g]&&yi(a,t[f])){d=f;break}void 0===d?V(a,r,i,!0):(y[d-g]=c+1,d>=T?T=d:v=!0,p(a,t[d],n,null,r,i,o,s,l),b++)}const C=v?function(e){const t=e.slice(),n=[0];let a,r,i,o,s;const l=e.length;for(a=0;a>1,e[n[s]]0&&(t[a]=n[i-1]),n[i]=a)}}i=n.length,o=n[i-1];for(;i-- >0;)n[i]=o,o=t[o];return n}(y):S;for(f=C.length-1,c=h-1;c>=0;c--){const e=g+c,u=t[e],_=t[e+1],m=e+1{const{el:s,type:l,transition:c,children:d,shapeFlag:u}=e;if(6&u)return void Y(e.component.subTree,a,r,i);if(128&u)return void e.suspense.move(a,r,i);if(64&u)return void l.move(e,a,r,te);if(l===di){t(s,a,r);for(let e=0;ec.enter(s),o);else{const{leave:i,delayLeave:o,afterLeave:l}=c,d=()=>{e.ctx.isUnmounted?n(s):t(s,a,r)},u=()=>{s._isLeaving&&s[Wn](!0),i(s,()=>{d(),l&&l()})};o?o(s,d,u):u()}else t(s,a,r)},V=(e,t,n,a=!1,r=!1)=>{const{type:i,props:o,ref:s,children:l,dynamicChildren:c,shapeFlag:d,patchFlag:u,dirs:_,cacheIndex:p}=e;if(-2===u&&(r=!1),null!=s&&(Ue(),_a(s,null,n,e,!0),Be()),null!=p&&(t.renderCache[p]=void 0),256&d)return void t.ctx.deactivate(e);const m=1&d&&_,g=!ga(e);let E;if(g&&(E=o&&o.onVnodeBeforeUnmount)&&Fi(E,t,e),6&d)j(e.component,n,a);else{if(128&d)return void e.suspense.unmount(n,a);m&&Pn(e,null,t,"beforeUnmount"),64&d?e.type.remove(e,t,n,te,a):c&&!c.hasOnce&&(i!==di||u>0&&64&u)?W(c,t,n,!1,!0):(i===di&&384&u||!r&&16&d)&&W(l,t,n),a&&z(e)}(g&&(E=o&&o.onVnodeUnmounted)||m)&&Br(()=>{E&&Fi(E,t,e),m&&Pn(e,null,t,"unmounted")},n)},z=e=>{const{type:t,el:a,anchor:r,transition:i}=e;if(t===di)return void $(a,r);if(t===pi)return void v(e);const o=()=>{n(a),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&e.shapeFlag&&i&&!i.persisted){const{leave:t,delayLeave:n}=i,r=()=>t(a,o);n?n(e.el,o,r):r()}else o()},$=(e,t)=>{let a;for(;e!==t;)a=d(e),n(e),e=a;n(t)},j=(e,t,n)=>{const{bum:a,scope:r,job:i,subTree:o,um:s,m:l,a:c}=e;qr(l),qr(c),a&&K(a),r.stop(),i&&(i.flags|=8,V(o,e,t,n)),s&&Br(s,t),Br(()=>{e.isUnmounted=!0},t)},W=(e,t,n,a=!1,r=!1,i=0)=>{for(let o=i;o{if(6&e.shapeFlag)return X(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();const t=d(e.anchor||e.el),n=t&&t[kn];return n?d(n):t};let Z=!1;const ee=(e,t,n)=>{null==e?t._vnode&&V(t._vnode,null,null,!0):p(t._vnode||null,e,t,null,null,null,n),t._vnode=e,Z||(Z=!0,On(),Nn(),Z=!1)},te={p:p,um:V,m:Y,r:z,mt:x,mc:R,pc:F,pbc:A,n:X,o:e};let ne;return{render:ee,hydrate:ne,createApp:hr(ee)}}(e)}function Yr({type:e,props:t},n){return"svg"===n&&"foreignObject"===e||"mathml"===n&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Vr({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Hr(e,t,n=!1){const a=e.children,r=t.children;if(N(a)&&N(r))for(let i=0;iyr($r);function Wr(e,t){return Qr(e,null,t)}function Kr(e,t,n){return Qr(e,t,n)}function Qr(e,t,n=f){const{immediate:a,deep:r,flush:i,once:o}=n,s=y({},n),l=t&&a||!t&&"post"!==i;let c;if(ji)if("sync"===i){const e=jr();c=e.__watcherHandles||(e.__watcherHandles=[])}else if(!l){const e=()=>{};return e.stop=b,e.resume=b,e.pause=b,e}const d=Gi;s.call=(e,t,n)=>pn(e,d,t,n);let u=!1;"post"===i?s.scheduler=e=>{Br(e,d&&d.suspense)}:"sync"!==i&&(u=!0,s.scheduler=(e,t)=>{t?e():yn(e)}),s.augmentJob=e=>{t&&(e.flags|=4),u&&(e.flags|=2,d&&(e.id=d.uid,e.i=d))};const _=dn(e,t,s);return ji&&(c?c.push(_):l&&_()),_}function Xr(e,t,n){const a=this.proxy,r=x(e)?e.includes(".")?Zr(a,e):()=>a[e]:e.bind(a,a);let i;D(t)?i=t:(i=t.handler,n=t);const o=zi(this),s=Qr(r,i.bind(a),n);return o(),s}function Zr(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{let l,c,d=f;return Qr(()=>{const t=e[r];W(l,t)&&(l=t,s())},null,{flush:"sync"}),{get:()=>(o(),n.get?n.get(l):l),set(e){const o=n.set?n.set(e):e;if(!(W(o,l)||d!==f&&W(e,d)))return;const u=a.vnode.props;u&&(t in u||r in u||i in u)&&(`onUpdate:${t}`in u||`onUpdate:${r}`in u||`onUpdate:${i}`in u)||(l=e,s()),a.emit(`update:${t}`,o),W(e,o)&&W(e,d)&&!W(o,c)&&s(),d=e,c=o}}});return s[Symbol.iterator]=()=>{let e=0;return{next:()=>e<2?{value:e++?o||f:s,done:!1}:{done:!0}}},s}const ei=(e,t)=>"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${H(t)}Modifiers`]||e[`${q(t)}Modifiers`];function ti(e,t,...n){if(e.isUnmounted)return;const a=e.vnode.props||f;let r=n;const i=t.startsWith("update:"),o=i&&ei(a,t.slice(7));let s;o&&(o.trim&&(r=n.map(e=>x(e)?e.trim():e)),o.number&&(r=n.map(X)));let l=a[s=j(t)]||a[s=j(H(t))];!l&&i&&(l=a[s=j(q(t))]),l&&pn(l,e,6,r);const c=a[s+"Once"];if(c){if(e.emitted){if(e.emitted[s])return}else e.emitted={};e.emitted[s]=!0,pn(c,e,6,r)}}const ni=new WeakMap;function ai(e,t,n=!1){const a=n?ni:t.emitsCache,r=a.get(e);if(void 0!==r)return r;const i=e.emits;let o={},s=!1;if(!D(e)){const a=e=>{const n=ai(e,t,!0);n&&(s=!0,y(o,n))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return i||s?(N(i)?i.forEach(e=>o[e]=null):y(o,i),M(e)&&a.set(e,o),o):(M(e)&&a.set(e,null),null)}function ri(e,t){return!(!e||!v(t))&&(t=t.slice(2).replace(/Once$/,""),O(e,t[0].toLowerCase()+t.slice(1))||O(e,q(t))||O(e,t))}function ii(e){const{type:t,vnode:n,proxy:a,withProxy:r,propsOptions:[i],slots:o,attrs:s,emit:l,render:c,renderCache:d,props:u,data:_,setupState:p,ctx:m,inheritAttrs:g}=e,E=xn(e);let f,S;try{if(4&n.shapeFlag){const e=r||a,t=e;f=Li(c.call(t,e,d,u,p,_,m)),S=s}else{const e=t;0,f=Li(e.length>1?e(u,{attrs:s,slots:o,emit:l}):e(u,null)),S=t.props?s:oi(s)}}catch(h){mi.length=0,mn(h,e,1),f=Ni(_i)}let b=f;if(S&&!1!==g){const e=Object.keys(S),{shapeFlag:t}=b;e.length&&7&t&&(i&&e.some(T)&&(S=si(S,i)),b=Ii(b,S,!1,!0))}return n.dirs&&(b=Ii(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&oa(b,n.transition),f=b,xn(E),f}const oi=e=>{let t;for(const n in e)("class"===n||"style"===n||v(n))&&((t||(t={}))[n]=e[n]);return t},si=(e,t)=>{const n={};for(const a in e)T(a)&&a.slice(9)in t||(n[a]=e[a]);return n};function li(e,t,n){const a=Object.keys(t);if(a.length!==Object.keys(e).length)return!0;for(let r=0;re.__isSuspense;const di=Symbol.for("v-fgt"),ui=Symbol.for("v-txt"),_i=Symbol.for("v-cmt"),pi=Symbol.for("v-stc"),mi=[];let gi=null;function Ei(e=!1){mi.push(gi=e?null:[])}let fi=1;function Si(e,t=!1){fi+=e,e<0&&gi&&t&&(gi.hasOnce=!0)}function bi(e){return e.dynamicChildren=fi>0?gi||S:null,mi.pop(),gi=mi[mi.length-1]||null,fi>0&&gi&&gi.push(e),e}function hi(e,t,n,a,r,i){return bi(Oi(e,t,n,a,r,i,!0))}function vi(e,t,n,a,r){return bi(Ni(e,t,n,a,r,!0))}function Ti(e){return!!e&&!0===e.__v_isVNode}function yi(e,t){return e.type===t.type&&e.key===t.key}const Ci=({key:e})=>null!=e?e:null,Ri=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?x(e)||Ht(e)||D(e)?{i:wn,r:e,k:t,f:!!n}:e:null);function Oi(e,t=null,n=null,a=0,r=null,i=(e===di?0:1),o=!1,s=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ci(t),ref:t&&Ri(t),scopeId:Dn,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:a,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:wn};return s?(Pi(l,n),128&i&&e.normalize(l)):n&&(l.shapeFlag|=x(n)?8:16),fi>0&&!o&&gi&&(l.patchFlag>0||6&i)&&32!==l.patchFlag&&gi.push(l),l}const Ni=function(e,t=null,n=null,a=0,r=null,i=!1){e&&e!==Ya||(e=_i);if(Ti(e)){const a=Ii(e,t,!0);return n&&Pi(a,n),fi>0&&!i&&gi&&(6&a.shapeFlag?gi[gi.indexOf(e)]=a:gi.push(a)),a.patchFlag=-2,a}o=e,D(o)&&"__vccOpts"in o&&(e=e.__vccOpts);var o;if(t){t=Ai(t);let{class:e,style:n}=t;e&&!x(e)&&(t.class=ie(e)),M(n)&&(Ut(n)&&!N(n)&&(n=y({},n)),t.style=ee(n))}const s=x(e)?1:ci(e)?128:Fn(e)?64:M(e)?4:D(e)?2:0;return Oi(e,t,n,a,r,s,i,!0)};function Ai(e){return e?Ut(e)||Nr(e)?y({},e):e:null}function Ii(e,t,n=!1,a=!1){const{props:r,ref:i,patchFlag:o,children:s,transition:l}=e,c=t?ki(r||{},t):r,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Ci(c),ref:t&&t.ref?n&&i?N(i)?i.concat(Ri(t)):[i,Ri(t)]:Ri(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!==di?-1===o?16:16|o:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ii(e.ssContent),ssFallback:e.ssFallback&&Ii(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&a&&oa(d,l.clone(d)),d}function wi(e=" ",t=0){return Ni(ui,null,e,t)}function Di(e,t){const n=Ni(pi,null,e);return n.staticCount=t,n}function xi(e="",t=!1){return t?(Ei(),vi(_i,null,e)):Ni(_i,null,e)}function Li(e){return null==e||"boolean"==typeof e?Ni(_i):N(e)?Ni(di,null,e.slice()):Ti(e)?Mi(e):Ni(ui,null,String(e))}function Mi(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:Ii(e)}function Pi(e,t){let n=0;const{shapeFlag:a}=e;if(null==t)t=null;else if(N(t))n=16;else if("object"==typeof t){if(65&a){const n=t.default;return void(n&&(n._c&&(n._d=!1),Pi(e,n()),n._c&&(n._d=!0)))}{n=32;const a=t._;a||Nr(t)?3===a&&wn&&(1===wn.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=wn}}else D(t)?(t={default:t,_ctx:wn},n=32):(t=String(t),64&a?(n=16,t=[wi(t)]):n=8);e.children=t,e.shapeFlag|=n}function ki(...e){const t={};for(let n=0;nGi||wn;let Vi,Hi;{const e=J(),t=(t,n)=>{let a;return(a=e[t])||(a=e[t]=[]),a.push(n),e=>{a.length>1?a.forEach(t=>t(e)):a[0](e)}};Vi=t("__VUE_INSTANCE_SETTERS__",e=>Gi=e),Hi=t("__VUE_SSR_SETTERS__",e=>ji=e)}const zi=e=>{const t=Gi;return Vi(e),e.scope.on(),()=>{e.scope.off(),Vi(t)}},qi=()=>{Gi&&Gi.scope.off(),Vi(null)};function $i(e){return 4&e.vnode.shapeFlag}let ji=!1;function Wi(e,t,n){D(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:M(t)&&(e.setupState=Zt(t)),Ki(e)}function Ki(e,t,n){const a=e.type;e.render||(e.render=a.render||b);{const t=zi(e);Ue();try{sr(e)}finally{Be(),t()}}}const Qi={get:(e,t)=>(Ke(e,0,""),e[t])};function Xi(e){const t=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,Qi),slots:e.slots,emit:e.emit,expose:t}}function Zi(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Zt(Gt(e.exposed)),{get:(t,n)=>n in t?t[n]:n in Za?Za[n](e):void 0,has:(e,t)=>t in e||t in Za})):e.proxy}function Ji(e,t=!0){return D(e)?e.displayName||e.name:e.name||t&&e.__name}const eo=(e,t)=>{const n=function(e,t,n=!1){let a,r;return D(e)?a=e:(a=e.get,r=e.set),new on(a,r,n)}(e,0,ji);return n};function to(e,t,n){try{Si(-1);const a=arguments.length;return 2===a?M(t)&&!N(t)?Ti(t)?Ni(e,null,[t]):Ni(e,t):Ni(e,null,t):(a>3?n=Array.prototype.slice.call(arguments,2):3===a&&Ti(n)&&(n=[n]),Ni(e,t,n))}finally{Si(1)}}const no="3.5.22",ao=b; +/** +* @vue/runtime-dom v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +let ro;const io="undefined"!=typeof window&&window.trustedTypes;if(io)try{ro=io.createPolicy("vue",{createHTML:e=>e})}catch(vk){}const oo=ro?e=>ro.createHTML(e):e=>e,so="undefined"!=typeof document?document:null,lo=so&&so.createElement("template"),co={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,a)=>{const r="svg"===t?so.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?so.createElementNS("http://www.w3.org/1998/Math/MathML",e):n?so.createElement(e,{is:n}):so.createElement(e);return"select"===e&&a&&null!=a.multiple&&r.setAttribute("multiple",a.multiple),r},createText:e=>so.createTextNode(e),createComment:e=>so.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>so.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,a,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),r!==i&&(r=r.nextSibling););else{lo.innerHTML=oo("svg"===a?`${e}`:"mathml"===a?`${e}`:e);const r=lo.content;if("svg"===a||"mathml"===a){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},uo="transition",_o="animation",po=Symbol("_vtc"),mo={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},go=y({},Zn,mo),Eo=(e=>(e.displayName="Transition",e.props=go,e))((e,{slots:t})=>to(ta,bo(e),t)),fo=(e,t=[])=>{N(e)?e.forEach(e=>e(...t)):e&&e(...t)},So=e=>!!e&&(N(e)?e.some(e=>e.length>1):e.length>1);function bo(e){const t={};for(const y in e)y in mo||(t[y]=e[y]);if(!1===e.css)return t;const{name:n="v",type:a,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:l=i,appearActiveClass:c=o,appearToClass:d=s,leaveFromClass:u=`${n}-leave-from`,leaveActiveClass:_=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,m=function(e){if(null==e)return null;if(M(e))return[ho(e.enter),ho(e.leave)];{const t=ho(e);return[t,t]}}(r),g=m&&m[0],E=m&&m[1],{onBeforeEnter:f,onEnter:S,onEnterCancelled:b,onLeave:h,onLeaveCancelled:v,onBeforeAppear:T=f,onAppear:C=S,onAppearCancelled:R=b}=t,O=(e,t,n,a)=>{e._enterCancelled=a,To(e,t?d:s),To(e,t?c:o),n&&n()},N=(e,t)=>{e._isLeaving=!1,To(e,u),To(e,p),To(e,_),t&&t()},A=e=>(t,n)=>{const r=e?C:S,o=()=>O(t,e,n);fo(r,[t,o]),yo(()=>{To(t,e?l:i),vo(t,e?d:s),So(r)||Ro(t,a,g,o)})};return y(t,{onBeforeEnter(e){fo(f,[e]),vo(e,i),vo(e,o)},onBeforeAppear(e){fo(T,[e]),vo(e,l),vo(e,c)},onEnter:A(!1),onAppear:A(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>N(e,t);vo(e,u),e._enterCancelled?(vo(e,_),Io(e)):(Io(e),vo(e,_)),yo(()=>{e._isLeaving&&(To(e,u),vo(e,p),So(h)||Ro(e,a,E,n))}),fo(h,[e,n])},onEnterCancelled(e){O(e,!1,void 0,!0),fo(b,[e])},onAppearCancelled(e){O(e,!0,void 0,!0),fo(R,[e])},onLeaveCancelled(e){N(e),fo(v,[e])}})}function ho(e){const t=(e=>{const t=x(e)?Number(e):NaN;return isNaN(t)?e:t})(e);return t}function vo(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[po]||(e[po]=new Set)).add(t)}function To(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));const n=e[po];n&&(n.delete(t),n.size||(e[po]=void 0))}function yo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Co=0;function Ro(e,t,n,a){const r=e._endId=++Co,i=()=>{r===e._endId&&a()};if(null!=n)return setTimeout(i,n);const{type:o,timeout:s,propCount:l}=Oo(e,t);if(!o)return a();const c=o+"end";let d=0;const u=()=>{e.removeEventListener(c,_),i()},_=t=>{t.target===e&&++d>=l&&u()};setTimeout(()=>{d(n[e]||"").split(", "),r=a(`${uo}Delay`),i=a(`${uo}Duration`),o=No(r,i),s=a(`${_o}Delay`),l=a(`${_o}Duration`),c=No(s,l);let d=null,u=0,_=0;t===uo?o>0&&(d=uo,u=o,_=i.length):t===_o?c>0&&(d=_o,u=c,_=l.length):(u=Math.max(o,c),d=u>0?o>c?uo:_o:null,_=d?d===uo?i.length:l.length:0);return{type:d,timeout:u,propCount:_,hasTransform:d===uo&&/\b(?:transform|all)(?:,|$)/.test(a(`${uo}Property`).toString())}}function No(e,t){for(;e.lengthAo(t)+Ao(e[n])))}function Ao(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function Io(e){return(e?e.ownerDocument:document).body.offsetHeight}const wo=Symbol("_vod"),Do=Symbol("_vsh"),xo={name:"show",beforeMount(e,{value:t},{transition:n}){e[wo]="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):Lo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:a}){!t!=!n&&(a?t?(a.beforeEnter(e),Lo(e,!0),a.enter(e)):a.leave(e,()=>{Lo(e,!1)}):Lo(e,t))},beforeUnmount(e,{value:t}){Lo(e,t)}};function Lo(e,t){e.style.display=t?e[wo]:"none",e[Do]=!t}const Mo=Symbol("");function Po(e){const t=Yi();if(!t)return;const n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(e=>Fo(e,n))},a=()=>{const a=e(t.proxy);t.ce?Fo(t.ce,a):ko(t.subTree,a),n(a)};Da(()=>{Rn(a)}),wa(()=>{Kr(a,b,{flush:"post"});const e=new MutationObserver(a);e.observe(t.subTree.el.parentNode,{childList:!0}),Ma(()=>e.disconnect())})}function ko(e,t){if(128&e.shapeFlag){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{ko(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(1&e.shapeFlag&&e.el)Fo(e.el,t);else if(e.type===di)e.children.forEach(e=>ko(e,t));else if(e.type===pi){let{el:n,anchor:a}=e;for(;n&&(Fo(n,t),n!==a);)n=n.nextSibling}}function Fo(e,t){if(1===e.nodeType){const n=e.style;let a="";for(const e in t){const r=ge(t[e]);n.setProperty(`--${e}`,r),a+=`--${e}: ${r};`}n[Mo]=a}}const Uo=/(?:^|;)\s*display\s*:/;const Bo=/\s*!important$/;function Go(e,t,n){if(N(n))n.forEach(n=>Go(e,t,n));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const a=function(e,t){const n=Vo[t];if(n)return n;let a=H(t);if("filter"!==a&&a in e)return Vo[t]=a;a=$(a);for(let r=0;r{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();pn(function(e,t){if(N(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=Zo(),n}(a,r);$o(e,n,o,s)}else o&&(!function(e,t,n,a){e.removeEventListener(t,n,a)}(e,n,o,s),i[t]=void 0)}}const Ko=/(?:Once|Passive|Capture)$/;let Qo=0;const Xo=Promise.resolve(),Zo=()=>Qo||(Xo.then(()=>Qo=0),Qo=Date.now());const Jo=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123;const es=new WeakMap,ts=new WeakMap,ns=Symbol("_moveCb"),as=Symbol("_enterCb"),rs=(e=>(delete e.props.mode,e))({name:"TransitionGroup",props:y({},go,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Yi(),a=Qn();let r,i;return xa(()=>{if(!r.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,n){const a=e.cloneNode(),r=e[po];r&&r.forEach(e=>{e.split(/\s+/).forEach(e=>e&&a.classList.remove(e))});n.split(/\s+/).forEach(e=>e&&a.classList.add(e)),a.style.display="none";const i=1===t.nodeType?t:t.parentNode;i.appendChild(a);const{hasTransform:o}=Oo(a);return i.removeChild(a),o}(r[0].el,n.vnode.el,t))return void(r=[]);r.forEach(is),r.forEach(os);const a=r.filter(ss);Io(n.vnode.el),a.forEach(e=>{const n=e.el,a=n.style;vo(n,t),a.transform=a.webkitTransform=a.transitionDuration="";const r=n[ns]=e=>{e&&e.target!==n||e&&!e.propertyName.endsWith("transform")||(n.removeEventListener("transitionend",r),n[ns]=null,To(n,t))};n.addEventListener("transitionend",r)}),r=[]}),()=>{const o=Bt(e),s=bo(o);let l=o.tag||di;if(r=[],i)for(let e=0;e{const t=e.props["onUpdate:modelValue"]||!1;return N(t)?e=>K(t,e):t};function cs(e){e.target.composing=!0}function ds(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const us=Symbol("_assign"),_s={created(e,{modifiers:{lazy:t,trim:n,number:a}},r){e[us]=ls(r);const i=a||r.props&&"number"===r.props.type;$o(e,t?"change":"input",t=>{if(t.target.composing)return;let a=e.value;n&&(a=a.trim()),i&&(a=X(a)),e[us](a)}),n&&$o(e,"change",()=>{e.value=e.value.trim()}),t||($o(e,"compositionstart",cs),$o(e,"compositionend",ds),$o(e,"change",ds))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:a,trim:r,number:i}},o){if(e[us]=ls(o),e.composing)return;const s=null==t?"":t;if((!i&&"number"!==e.type||/^0\d/.test(e.value)?e.value:X(e.value))!==s){if(document.activeElement===e&&"range"!==e.type){if(a&&t===n)return;if(r&&e.value.trim()===s)return}e.value=s}}},ps={deep:!0,created(e,t,n){e[us]=ls(n),$o(e,"change",()=>{const t=e._modelValue,n=Es(e),a=e.checked,r=e[us];if(N(t)){const e=de(t,n),i=-1!==e;if(a&&!i)r(t.concat(n));else if(!a&&i){const n=[...t];n.splice(e,1),r(n)}}else if(I(t)){const e=new Set(t);a?e.add(n):e.delete(n),r(e)}else r(fs(e,a))})},mounted:ms,beforeUpdate(e,t,n){e[us]=ls(n),ms(e,t,n)}};function ms(e,{value:t,oldValue:n},a){let r;if(e._modelValue=t,N(t))r=de(t,a.props.value)>-1;else if(I(t))r=t.has(a.props.value);else{if(t===n)return;r=ce(t,fs(e,!0))}e.checked!==r&&(e.checked=r)}const gs={created(e,{value:t},n){e.checked=ce(t,n.props.value),e[us]=ls(n),$o(e,"change",()=>{e[us](Es(e))})},beforeUpdate(e,{value:t,oldValue:n},a){e[us]=ls(a),t!==n&&(e.checked=ce(t,a.props.value))}};function Es(e){return"_value"in e?e._value:e.value}function fs(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Ss=["ctrl","shift","alt","meta"],bs={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&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>Ss.some(n=>e[`${n}Key`]&&!t.includes(n))},hs=(e,t)=>{const n=e._withMods||(e._withMods={}),a=t.join(".");return n[a]||(n[a]=(n,...a)=>{for(let e=0;e{const n=e._withKeys||(e._withKeys={}),a=t.join(".");return n[a]||(n[a]=n=>{if(!("key"in n))return;const a=q(n.key);return t.some(e=>e===a||vs[e]===a)?e(n):void 0})},ys=y({patchProp:(e,t,n,a,r,i)=>{const o="svg"===r;"class"===t?function(e,t,n){const a=e[po];a&&(t=(t?[t,...a]:[...a]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,a,o):"style"===t?function(e,t,n){const a=e.style,r=x(n);let i=!1;if(n&&!r){if(t)if(x(t))for(const e of t.split(";")){const t=e.slice(0,e.indexOf(":")).trim();null==n[t]&&Go(a,t,"")}else for(const e in t)null==n[e]&&Go(a,e,"");for(const e in n)"display"===e&&(i=!0),Go(a,e,n[e])}else if(r){if(t!==n){const e=a[Mo];e&&(n+=";"+e),a.cssText=n,i=Uo.test(n)}}else t&&e.removeAttribute("style");wo in e&&(e[wo]=i?a.display:"",e[Do]&&(a.display="none"))}(e,n,a):v(t)?T(t)||Wo(e,t,0,a,i):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,a){if(a)return"innerHTML"===t||"textContent"===t||!!(t in e&&Jo(t)&&D(n));if("spellcheck"===t||"draggable"===t||"translate"===t||"autocorrect"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){const t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}if(Jo(t)&&x(n))return!1;return t in e}(e,t,a,o))?(qo(e,t,a),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||zo(e,t,a,o,0,"value"!==t)):!e._isVueCE||!/[A-Z]/.test(t)&&x(a)?("true-value"===t?e._trueValue=a:"false-value"===t&&(e._falseValue=a),zo(e,t,a,o)):qo(e,H(t),a,0,t)}},co);let Cs;function Rs(){return Cs||(Cs=Gr(ys))}const Os=(...e)=>{Rs().render(...e)},Ns=(...e)=>{const t=Rs().createApp(...e),{mount:n}=t;return t.mount=e=>{const a=function(e){if(x(e)){return document.querySelector(e)}return e}(e);if(!a)return;const r=t._component;D(r)||r.render||r.template||(r.template=a.innerHTML),1===a.nodeType&&(a.textContent="");const i=n(a,!1,function(e){if(e instanceof SVGElement)return"svg";if("function"==typeof MathMLElement&&e instanceof MathMLElement)return"mathml"}(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),i},t};const As=Symbol(),Is="el",ws=(e,t,n,a,r)=>{let i=`${e}-${t}`;return n&&(i+=`-${n}`),a&&(i+=`__${a}`),r&&(i+=`--${r}`),i},Ds=Symbol("namespaceContextKey"),xs=e=>{const t=e||(Yi()?yr(Ds,zt(Is)):zt(Is));return eo(()=>Kt(t)||Is)},Ls=(e,t)=>{const n=xs(t);return{namespace:n,b:(t="")=>ws(n.value,e,t,"",""),e:t=>t?ws(n.value,e,"",t,""):"",m:t=>t?ws(n.value,e,"","",t):"",be:(t,a)=>t&&a?ws(n.value,e,t,a,""):"",em:(t,a)=>t&&a?ws(n.value,e,"",t,a):"",bm:(t,a)=>t&&a?ws(n.value,e,t,"",a):"",bem:(t,a,r)=>t&&a&&r?ws(n.value,e,t,a,r):"",is:(e,...t)=>{const n=!(t.length>=1)||t[0];return e&&n?`is-${e}`:""},cssVar:e=>{const t={};for(const a in e)e[a]&&(t[`--${n.value}-${a}`]=e[a]);return t},cssVarName:e=>`--${n.value}-${e}`,cssVarBlock:t=>{const a={};for(const r in t)t[r]&&(a[`--${n.value}-${e}-${r}`]=t[r]);return a},cssVarBlockName:t=>`--${n.value}-${e}-${t}`}};var Ms="object"==typeof global&&global&&global.Object===Object&&global,Ps="object"==typeof self&&self&&self.Object===Object&&self,ks=Ms||Ps||Function("return this")(),Fs=ks.Symbol,Us=Object.prototype,Bs=Us.hasOwnProperty,Gs=Us.toString,Ys=Fs?Fs.toStringTag:void 0;var Vs=Object.prototype.toString;var Hs=Fs?Fs.toStringTag:void 0;function zs(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Hs&&Hs in Object(e)?function(e){var t=Bs.call(e,Ys),n=e[Ys];try{e[Ys]=void 0;var a=!0}catch(vk){}var r=Gs.call(e);return a&&(t?e[Ys]=n:delete e[Ys]),r}(e):function(e){return Vs.call(e)}(e)}function qs(e){return null!=e&&"object"==typeof e}function $s(e){return"symbol"==typeof e||qs(e)&&"[object Symbol]"==zs(e)}function js(e,t){for(var n=-1,a=null==e?0:e.length,r=Array(a);++n0){if(++fl>=800)return arguments[0]}else fl=0;return El.apply(void 0,arguments)}),Tl=/^(?:0|[1-9]\d*)$/;function yl(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&Tl.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=9007199254740991}function Dl(e){return null!=e&&wl(e.length)&&!el(e)}var xl=Object.prototype;function Ll(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||xl)}function Ml(e){return qs(e)&&"[object Arguments]"==zs(e)}var Pl=Object.prototype,kl=Pl.hasOwnProperty,Fl=Pl.propertyIsEnumerable,Ul=Ml(function(){return arguments}())?Ml:function(e){return qs(e)&&kl.call(e,"callee")&&!Fl.call(e,"callee")};var Bl="object"==typeof exports&&exports&&!exports.nodeType&&exports,Gl=Bl&&"object"==typeof module&&module&&!module.nodeType&&module,Yl=Gl&&Gl.exports===Bl?ks.Buffer:void 0,Vl=(Yl?Yl.isBuffer:void 0)||function(){return!1},Hl={};function zl(e){return function(t){return e(t)}}Hl["[object Float32Array]"]=Hl["[object Float64Array]"]=Hl["[object Int8Array]"]=Hl["[object Int16Array]"]=Hl["[object Int32Array]"]=Hl["[object Uint8Array]"]=Hl["[object Uint8ClampedArray]"]=Hl["[object Uint16Array]"]=Hl["[object Uint32Array]"]=!0,Hl["[object Arguments]"]=Hl["[object Array]"]=Hl["[object ArrayBuffer]"]=Hl["[object Boolean]"]=Hl["[object DataView]"]=Hl["[object Date]"]=Hl["[object Error]"]=Hl["[object Function]"]=Hl["[object Map]"]=Hl["[object Number]"]=Hl["[object Object]"]=Hl["[object RegExp]"]=Hl["[object Set]"]=Hl["[object String]"]=Hl["[object WeakMap]"]=!1;var ql="object"==typeof exports&&exports&&!exports.nodeType&&exports,$l=ql&&"object"==typeof module&&module&&!module.nodeType&&module,jl=$l&&$l.exports===ql&&Ms.process,Wl=function(){try{var e=$l&&$l.require&&$l.require("util").types;return e||jl&&jl.binding&&jl.binding("util")}catch(vk){}}(),Kl=Wl&&Wl.isTypedArray,Ql=Kl?zl(Kl):function(e){return qs(e)&&wl(e.length)&&!!Hl[zs(e)]},Xl=Object.prototype.hasOwnProperty;function Zl(e,t){var n=Ws(e),a=!n&&Ul(e),r=!n&&!a&&Vl(e),i=!n&&!a&&!r&&Ql(e),o=n||a||r||i,s=o?function(e,t){for(var n=-1,a=Array(e);++n-1},_c.prototype.set=function(e,t){var n=this.__data__,a=dc(n,e);return a<0?(++this.size,n.push([e,t])):n[a][1]=t,this};var pc=pl(ks,"Map");function mc(e,t){var n,a,r=e.__data__;return("string"==(a=typeof(n=t))||"number"==a||"symbol"==a||"boolean"==a?"__proto__"!==n:null===n)?r["string"==typeof t?"string":"hash"]:r.map}function gc(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t0&&n(s)?t>1?Nc(s,t-1,n,a,r):Cc(r,s):a||(r[r.length]=s)}return r}function Ac(e){return(null==e?0:e.length)?Nc(e,1):[]}function Ic(e){return vl(Il(e,void 0,Ac),e+"")}function wc(e){var t=this.__data__=new _c(e);this.size=t.size}function Dc(){return[]}wc.prototype.clear=function(){this.__data__=new _c,this.size=0},wc.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},wc.prototype.get=function(e){return this.__data__.get(e)},wc.prototype.has=function(e){return this.__data__.has(e)},wc.prototype.set=function(e,t){var n=this.__data__;if(n instanceof _c){var a=n.__data__;if(!pc||a.length<199)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new gc(a)}return n.set(e,t),this.size=n.size,this};var xc=Object.prototype.propertyIsEnumerable,Lc=Object.getOwnPropertySymbols,Mc=Lc?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var n=-1,a=null==e?0:e.length,r=0,i=[];++ns))return!1;var c=i.get(e),d=i.get(t);if(c&&d)return c==t&&d==e;var u=-1,_=!0,p=2&n?new Zc:void 0;for(i.set(e,t),i.set(t,e);++uvoid 0===e,Td=e=>"boolean"==typeof e,yd=e=>"number"==typeof e,Cd=e=>!e&&0!==e||N(e)&&0===e.length||M(e)&&!Object.keys(e).length,Rd=e=>"undefined"!=typeof Element&&e instanceof Element,Od=e=>fd(e),Nd=e=>e===window;var Ad,Id=Object.defineProperty,wd=Object.defineProperties,Dd=Object.getOwnPropertyDescriptors,xd=Object.getOwnPropertySymbols,Ld=Object.prototype.hasOwnProperty,Md=Object.prototype.propertyIsEnumerable,Pd=(e,t,n)=>t in e?Id(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function kd(e,t){const n=qt();var a,r;return Wr(()=>{n.value=e()},(a=((e,t)=>{for(var n in t||(t={}))Ld.call(t,n)&&Pd(e,n,t[n]);if(xd)for(var n of xd(t))Md.call(t,n)&&Pd(e,n,t[n]);return e})({},t),r={flush:null!=void 0?void 0:"sync"},wd(a,Dd(r)))),xt(n)}const Fd="undefined"!=typeof window,Ud=(e,t,n)=>Math.min(n,Math.max(t,e)),Bd=()=>{},Gd=Fd&&(null==(Ad=null==window?void 0:window.navigator)?void 0:Ad.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function Yd(e){return"function"==typeof e?e():Kt(e)}function Vd(e,t){return function(...n){return new Promise((a,r)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(a).catch(r)})}}function Hd(e){return!!he()&&(ve(e),!0)}function zd(e,t=200,n={}){return Vd(function(e,t={}){let n,a,r=Bd;const i=e=>{clearTimeout(e),r(),r=Bd};return o=>{const s=Yd(e),l=Yd(t.maxWait);return n&&i(n),s<=0||void 0!==l&&l<=0?(a&&(i(a),a=null),Promise.resolve(o())):new Promise((e,c)=>{r=t.rejectOnCancel?c:e,l&&!a&&(a=setTimeout(()=>{n&&i(n),a=null,e(o())},l)),n=setTimeout(()=>{a&&i(a),a=null,e(o())},s)})}}(t,n),e)}function qd(e,t=200,n={}){const a=zt(e.value),r=zd(()=>{a.value=e.value},t,n);return Kr(e,()=>r()),a}function $d(e,t=200,n=!1,a=!0,r=!1){return Vd(function(e,t=!0,n=!0,a=!1){let r,i,o=0,s=!0,l=Bd;const c=()=>{r&&(clearTimeout(r),r=void 0,l(),l=Bd)};return d=>{const u=Yd(e),_=Date.now()-o,p=()=>i=d();return c(),u<=0?(o=Date.now(),p()):(_>u&&(n||!s)?(o=Date.now(),p()):t&&(i=new Promise((e,t)=>{l=a?t:e,r=setTimeout(()=>{o=Date.now(),s=!0,e(p()),c()},Math.max(0,u-_))})),n||r||(r=setTimeout(()=>s=!0,u)),s=!1,i)}}(t,n,a,r),e)}function jd(e,t=!0){Yi()?wa(e):t?e():Tn(e)}function Wd(e,t,n={}){const{immediate:a=!0}=n,r=zt(!1);let i=null;function o(){i&&(clearTimeout(i),i=null)}function s(){r.value=!1,o()}function l(...n){o(),r.value=!0,i=setTimeout(()=>{r.value=!1,i=null,e(...n)},Yd(t))}return a&&(r.value=!0,Fd&&l()),Hd(s),{isPending:xt(r),start:l,stop:s}}function Kd(e){var t;const n=Yd(e);return null!=(t=null==n?void 0:n.$el)?t:n}const Qd=Fd?window:void 0,Xd=Fd?window.document:void 0;function Zd(...e){let t,n,a,r;if("string"==typeof e[0]||Array.isArray(e[0])?([n,a,r]=e,t=Qd):[t,n,a,r]=e,!t)return Bd;Array.isArray(n)||(n=[n]),Array.isArray(a)||(a=[a]);const i=[],o=()=>{i.forEach(e=>e()),i.length=0},s=Kr(()=>[Kd(t),Yd(r)],([e,t])=>{o(),e&&i.push(...n.flatMap(n=>a.map(a=>((e,t,n,a)=>(e.addEventListener(t,n,a),()=>e.removeEventListener(t,n,a)))(e,n,a,t))))},{immediate:!0,flush:"post"}),l=()=>{s(),o()};return Hd(l),l}let Jd=!1;function eu(e,t,n={}){const{window:a=Qd,ignore:r=[],capture:i=!0,detectIframe:o=!1}=n;if(!a)return;Gd&&!Jd&&(Jd=!0,Array.from(a.document.body.children).forEach(e=>e.addEventListener("click",Bd)));let s=!0;const l=e=>r.some(t=>{if("string"==typeof t)return Array.from(a.document.querySelectorAll(t)).some(t=>t===e.target||e.composedPath().includes(t));{const n=Kd(t);return n&&(e.target===n||e.composedPath().includes(n))}}),c=[Zd(a,"click",n=>{const a=Kd(e);a&&a!==n.target&&!n.composedPath().includes(a)&&(0===n.detail&&(s=!l(n)),s?t(n):s=!0)},{passive:!0,capture:i}),Zd(a,"pointerdown",t=>{const n=Kd(e);n&&(s=!t.composedPath().includes(n)&&!l(t))},{passive:!0}),o&&Zd(a,"blur",n=>{var r;const i=Kd(e);"IFRAME"!==(null==(r=a.document.activeElement)?void 0:r.tagName)||(null==i?void 0:i.contains(a.document.activeElement))||t(n)})].filter(Boolean);return()=>c.forEach(e=>e())}function tu(e,t=!1){const n=zt(),a=()=>n.value=Boolean(e());return a(),jd(a,t),n}const nu="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},au="__vueuse_ssr_handlers__";function ru(e,t,{window:n=Qd,initialValue:a=""}={}){const r=zt(a),i=eo(()=>{var e;return Kd(t)||(null==(e=null==n?void 0:n.document)?void 0:e.documentElement)});return Kr([i,()=>Yd(e)],([e,t])=>{var i;if(e&&n){const o=null==(i=n.getComputedStyle(e).getPropertyValue(t))?void 0:i.trim();r.value=o||a}},{immediate:!0}),Kr(r,t=>{var n;(null==(n=i.value)?void 0:n.style)&&i.value.style.setProperty(Yd(e),t)}),r}function iu({document:e=Xd}={}){if(!e)return zt("visible");const t=zt(e.visibilityState);return Zd(e,"visibilitychange",()=>{t.value=e.visibilityState}),t}nu[au]=nu[au]||{};var ou=Object.getOwnPropertySymbols,su=Object.prototype.hasOwnProperty,lu=Object.prototype.propertyIsEnumerable;function cu(e,t,n={}){const a=n,{window:r=Qd}=a,i=((e,t)=>{var n={};for(var a in e)su.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&ou)for(var a of ou(e))t.indexOf(a)<0&&lu.call(e,a)&&(n[a]=e[a]);return n})(a,["window"]);let o;const s=tu(()=>r&&"ResizeObserver"in r),l=()=>{o&&(o.disconnect(),o=void 0)},c=Kr(()=>Kd(e),e=>{l(),s.value&&r&&e&&(o=new ResizeObserver(t),o.observe(e,i))},{immediate:!0,flush:"post"}),d=()=>{l(),c()};return Hd(d),{isSupported:s,stop:d}}function du(e,t={width:0,height:0},n={}){const{window:a=Qd,box:r="content-box"}=n,i=eo(()=>{var t,n;return null==(n=null==(t=Kd(e))?void 0:t.namespaceURI)?void 0:n.includes("svg")}),o=zt(t.width),s=zt(t.height);return cu(e,([t])=>{const n="border-box"===r?t.borderBoxSize:"content-box"===r?t.contentBoxSize:t.devicePixelContentBoxSize;if(a&&i.value){const t=Kd(e);if(t){const e=a.getComputedStyle(t);o.value=parseFloat(e.width),s.value=parseFloat(e.height)}}else if(n){const e=Array.isArray(n)?n:[n];o.value=e.reduce((e,{inlineSize:t})=>e+t,0),s.value=e.reduce((e,{blockSize:t})=>e+t,0)}else o.value=t.contentRect.width,s.value=t.contentRect.height},n),Kr(()=>Kd(e),e=>{o.value=e?t.width:0,s.value=e?t.height:0}),{width:o,height:s}}function uu(e,t,n={}){const{root:a,rootMargin:r="0px",threshold:i=.1,window:o=Qd}=n,s=tu(()=>o&&"IntersectionObserver"in o);let l=Bd;const c=s.value?Kr(()=>({el:Kd(e),root:Kd(a)}),({el:e,root:n})=>{if(l(),!e)return;const a=new IntersectionObserver(t,{root:n,rootMargin:r,threshold:i});a.observe(e),l=()=>{a.disconnect(),l=Bd}},{immediate:!0,flush:"post"}):Bd,d=()=>{l(),c()};return Hd(d),{isSupported:s,stop:d}}var _u,pu,mu=Object.getOwnPropertySymbols,gu=Object.prototype.hasOwnProperty,Eu=Object.prototype.propertyIsEnumerable;function fu(e,t,n={}){const a=n,{window:r=Qd}=a,i=((e,t)=>{var n={};for(var a in e)gu.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&mu)for(var a of mu(e))t.indexOf(a)<0&&Eu.call(e,a)&&(n[a]=e[a]);return n})(a,["window"]);let o;const s=tu(()=>r&&"MutationObserver"in r),l=()=>{o&&(o.disconnect(),o=void 0)},c=Kr(()=>Kd(e),e=>{l(),s.value&&r&&e&&(o=new MutationObserver(t),o.observe(e,i))},{immediate:!0}),d=()=>{l(),c()};return Hd(d),{isSupported:s,stop:d}}(pu=_u||(_u={})).UP="UP",pu.RIGHT="RIGHT",pu.DOWN="DOWN",pu.LEFT="LEFT",pu.NONE="NONE";var Su=Object.defineProperty,bu=Object.getOwnPropertySymbols,hu=Object.prototype.hasOwnProperty,vu=Object.prototype.propertyIsEnumerable,Tu=(e,t,n)=>t in e?Su(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function yu(e,t,n,a={}){var r,i,o;const{clone:s=!1,passive:l=!1,eventName:c,deep:d=!1,defaultValue:u}=a,_=Yi(),p=(null==_?void 0:_.emit)||(null==(r=null==_?void 0:_.$emit)?void 0:r.bind(_))||(null==(o=null==(i=null==_?void 0:_.proxy)?void 0:i.$emit)?void 0:o.bind(null==_?void 0:_.proxy));let m=c;m=c||m||`update:${t.toString()}`;const g=e=>{return s?(e=>"function"==typeof e)(s)?s(e):(t=e,JSON.parse(JSON.stringify(t))):e;var t},E=()=>void 0!==e[t]?g(e[t]):u;if(l){const n=zt(E());return Kr(()=>e[t],e=>n.value=g(e)),Kr(n,n=>{(n!==e[t]||d)&&p(m,n)},{deep:d}),n}return eo({get:()=>E(),set(e){p(m,e)}})}function Cu({window:e=Qd}={}){if(!e)return zt(!1);const t=zt(e.document.hasFocus());return Zd(e,"blur",()=>{t.value=!1}),Zd(e,"focus",()=>{t.value=!0}),t}function Ru(e={}){const{window:t=Qd,initialWidth:n=1/0,initialHeight:a=1/0,listenOrientation:r=!0,includeScrollbar:i=!0}=e,o=zt(n),s=zt(a),l=()=>{t&&(i?(o.value=t.innerWidth,s.value=t.innerHeight):(o.value=t.document.documentElement.clientWidth,s.value=t.document.documentElement.clientHeight))};return l(),jd(l),Zd("resize",l,{passive:!0}),r&&Zd("orientationchange",l,{passive:!0}),{width:o,height:s}}((e,t)=>{for(var n in t||(t={}))hu.call(t,n)&&Tu(e,n,t[n]);if(bu)for(var n of bu(t))vu.call(t,n)&&Tu(e,n,t[n])})({linear:function(e){return e}},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]});const Ou={current:0},Nu=zt(0),Au=Symbol("elZIndexContextKey"),Iu=Symbol("zIndexContextKey"),wu=e=>{const t=Yi()?yr(Au,Ou):Ou,n=e||(Yi()?yr(Iu,void 0):void 0),a=eo(()=>{const e=Kt(n);return yd(e)?e:2e3}),r=eo(()=>a.value+Nu.value);return!Fd&&yr(Au),{initialZIndex:a,currentZIndex:r,nextZIndex:()=>(t.current++,Nu.value=t.current,r.value)}};var Du={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color.",alphaLabel:"pick alpha value"},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},mention:{loading:"Loading"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},tour:{next:"Next",previous:"Previous",finish:"Finish",close:"Close this dialog"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"}}};const xu=e=>(t,n)=>Lu(t,n,Kt(e)),Lu=(e,t,n)=>yc(n,e,e).replace(/\{(\w+)\}/g,(e,n)=>{var a;return`${null!=(a=null==t?void 0:t[n])?a:`{${n}}`}`}),Mu=Symbol("localeContextKey"),Pu=e=>{const t=e||yr(Mu,zt());return(e=>({lang:eo(()=>Kt(e).name),locale:Ht(e)?e:zt(e),t:xu(e)}))(eo(()=>t.value||Du))},ku="__epPropKey",Fu=e=>e,Uu=(e,t)=>{if(!M(e)||M(n=e)&&n[ku])return e;var n;const{values:a,required:r,default:i,type:o,validator:s}=e,l=a||s?n=>{let r=!1,o=[];if(a&&(o=Array.from(a),O(e,"default")&&o.push(i),r||(r=o.includes(n))),s&&(r||(r=s(n))),!r&&o.length>0){const e=[...new Set(o)].map(e=>JSON.stringify(e)).join(", ");ao(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${e}], got value ${JSON.stringify(n)}.`)}return r}:void 0,c={type:o,required:!!r,validator:l,[ku]:!0};return O(e,"default")&&(c.default=i),c},Bu=e=>gd(Object.entries(e).map(([e,t])=>[e,Uu(t,e)])),Gu=["","default","small","large"],Yu=Uu({type:String,values:Gu,required:!1}),Vu=Symbol("size"),Hu=()=>{const e=yr(Vu,{});return eo(()=>Kt(e.size)||"")},zu=Symbol("emptyValuesContextKey"),qu=["",void 0,null],$u=Bu({emptyValues:Array,valueOnClear:{type:[String,Number,Boolean,Function],default:void 0,validator:e=>(e=D(e)?e():e,N(e)?e.every(e=>!e):!e)}}),ju=(e,t)=>{const n=Yi()?yr(zu,zt({})):zt({}),a=eo(()=>e.emptyValues||n.value.emptyValues||qu),r=eo(()=>D(e.valueOnClear)?e.valueOnClear():void 0!==e.valueOnClear?e.valueOnClear:D(n.value.valueOnClear)?n.value.valueOnClear():void 0!==n.value.valueOnClear?n.value.valueOnClear:void 0!==t?t:undefined),i=e=>{let t=!0;return t=N(e)?a.value.some(t=>Ed(e,t)):a.value.includes(e),t};return i(r.value),{emptyValues:a,valueOnClear:r,isEmptyValue:i}},Wu=e=>Object.keys(e),Ku=e=>Object.entries(e),Qu=(e,t,n)=>({get value(){return yc(e,t,n)},set value(n){!function(e,t,n){null==e||Sd(e,t,n)}(e,t,n)}}),Xu=zt();function Zu(e,t=void 0){const n=Yi()?yr(As,Xu):Xu;return e?eo(()=>{var a,r;return null!=(r=null==(a=n.value)?void 0:a[e])?r:t}):n}function Ju(e,t){const n=Zu(),a=Ls(e,eo(()=>{var e;return(null==(e=n.value)?void 0:e.namespace)||Is})),r=Pu(eo(()=>{var e;return null==(e=n.value)?void 0:e.locale})),i=wu(eo(()=>{var e;return(null==(e=n.value)?void 0:e.zIndex)||2e3})),o=eo(()=>{var e;return Kt(t)||(null==(e=n.value)?void 0:e.size)||""});return e_(eo(()=>Kt(n)||{})),{ns:a,locale:r,zIndex:i,size:o}}const e_=(e,t,n=!1)=>{const a=!!Yi(),r=a?Zu():void 0,i=null!=void 0?undefined:a?Tr:void 0;if(!i)return;const o=eo(()=>{const t=Kt(e);return(null==r?void 0:r.value)?t_(r.value,t):t});return i(As,o),i(Mu,eo(()=>o.value.locale)),i(Ds,eo(()=>o.value.namespace)),i(Iu,eo(()=>o.value.zIndex)),i(Vu,{size:eo(()=>o.value.size||"")}),i(zu,eo(()=>({emptyValues:o.value.emptyValues,valueOnClear:o.value.valueOnClear}))),!n&&Xu.value||(Xu.value=o.value),o},t_=(e,t)=>{const n=[...new Set([...Wu(e),...Wu(t)])],a={};for(const r of n)a[r]=void 0!==t[r]?t[r]:e[r];return a},n_="update:modelValue",a_="change",r_="input";var i_=(e,t)=>{const n=e.__vccOpts||e;for(const[a,r]of t)n[a]=r;return n};const o_=(e="")=>e.split(" ").filter(e=>!!e.trim()),s_=(e,t)=>{if(!e||!t)return!1;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},l_=(e,t)=>{e&&t.trim()&&e.classList.add(...o_(t))},c_=(e,t)=>{e&&t.trim()&&e.classList.remove(...o_(t))},d_=(e,t)=>{var n;if(!Fd||!e||!t)return"";let a=H(t);"float"===a&&(a="cssFloat");try{const t=e.style[a];if(t)return t;const r=null==(n=document.defaultView)?void 0:n.getComputedStyle(e,"");return r?r[a]:""}catch(vk){return e.style[a]}},u_=(e,t,n)=>{if(e&&t)if(M(t))Ku(t).forEach(([t,n])=>u_(e,t,n));else{const a=H(t);e.style[a]=n}};function __(e,t="px"){return e?yd(e)||x(n=e)&&!Number.isNaN(Number(n))?`${e}${t}`:x(e)?e:void 0:"";var n}const p_=(e,t)=>{if(!Fd)return!1;const n={undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)],a=d_(e,n);return["scroll","auto","overlay"].some(e=>a.includes(e))},m_=(e,t)=>{if(!Fd)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(p_(n,t))return n;n=n.parentNode}return n};let g_;function E_(e,t){if(!Fd)return;if(!t)return void(e.scrollTop=0);const n=[];let a=t.offsetParent;for(;null!==a&&e!==a&&e.contains(a);)n.push(a),a=a.offsetParent;const r=t.offsetTop+n.reduce((e,t)=>e+t.offsetTop,0),i=r+t.offsetHeight,o=e.scrollTop,s=o+e.clientHeight;rs&&(e.scrollTop=i-e.clientHeight)}class f_ extends Error{constructor(e){super(e),this.name="ElementPlusError"}}function S_(e,t){throw new f_(`[${e}] ${t}`)}function b_(e,t){}const h_=(e,t)=>{if(e.install=n=>{for(const a of[e,...Object.values(null!=t?t:{})])n.component(a.name,a)},t)for(const[n,a]of Object.entries(t))e[n]=a;return e},v_=(e,t)=>(e.install=n=>{e._context=n._context,n.config.globalProperties[t]=e},e),T_=(e,t)=>(e.install=n=>{n.directive(t,e)},e),y_=e=>(e.install=b,e),C_=Bu({size:{type:[Number,String]},color:{type:String}});const R_=h_(i_(la(c(l({},la({name:"ElIcon",inheritAttrs:!1})),{props:C_,setup(e){const t=e,n=Ls("icon"),a=eo(()=>{const{size:e,color:n}=t;return e||n?{fontSize:vd(e)?void 0:__(e),"--color":n}:{}});return(e,t)=>(Ei(),hi("i",ki({class:Kt(n).b(),style:Kt(a)},e.$attrs),[Wa(e.$slots,"default")],16))}})),[["__file","icon.vue"]])); +/*! Element Plus Icons Vue v2.3.2 */var O_=la({name:"ArrowDownBold",__name:"arrow-down-bold",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M104.704 338.752a64 64 0 0 1 90.496 0l316.8 316.8 316.8-316.8a64 64 0 0 1 90.496 90.496L557.248 791.296a64 64 0 0 1-90.496 0L104.704 429.248a64 64 0 0 1 0-90.496"})]))}),N_=la({name:"ArrowDown",__name:"arrow-down",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.59 30.59 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.59 30.59 0 0 0-42.752 0z"})]))}),A_=la({name:"ArrowLeft",__name:"arrow-left",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.59 30.59 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.59 30.59 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0"})]))}),I_=la({name:"ArrowRight",__name:"arrow-right",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M340.864 149.312a30.59 30.59 0 0 0 0 42.752L652.736 512 340.864 831.872a30.59 30.59 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"})]))}),w_=la({name:"ArrowUpBold",__name:"arrow-up-bold",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M104.704 685.248a64 64 0 0 0 90.496 0l316.8-316.8 316.8 316.8a64 64 0 0 0 90.496-90.496L557.248 232.704a64 64 0 0 0-90.496 0L104.704 594.752a64 64 0 0 0 0 90.496"})]))}),D_=la({name:"ArrowUp",__name:"arrow-up",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}),x_=la({name:"Calendar",__name:"calendar",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M128 384v512h768V192H768v32a32 32 0 1 1-64 0v-32H320v32a32 32 0 0 1-64 0v-32H128v128h768v64zm192-256h384V96a32 32 0 1 1 64 0v32h160a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h160V96a32 32 0 0 1 64 0zm-32 384h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64"})]))}),L_=la({name:"CaretRight",__name:"caret-right",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M384 192v640l384-320.064z"})]))}),M_=la({name:"ChatDotRound",__name:"chat-dot-round",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.06 461.06 0 0 1-206.912-48.384l-175.616 58.56z"}),Oi("path",{fill:"currentColor",d:"M512 563.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4"})]))}),P_=la({name:"Check",__name:"check",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"})]))}),k_=la({name:"CircleCheck",__name:"circle-check",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),Oi("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752z"})]))}),F_=la({name:"CircleCloseFilled",__name:"circle-close-filled",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"})]))}),U_=la({name:"CircleClose",__name:"circle-close",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),Oi("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}),B_=la({name:"Clock",__name:"clock",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),Oi("path",{fill:"currentColor",d:"M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"}),Oi("path",{fill:"currentColor",d:"M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32"})]))}),G_=la({name:"Close",__name:"close",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}),Y_=la({name:"Coin",__name:"coin",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"m161.92 580.736 29.888 58.88C171.328 659.776 160 681.728 160 704c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 615.808 928 657.664 928 704c0 129.728-188.544 224-416 224S96 833.728 96 704c0-46.592 24.32-88.576 65.92-123.264"}),Oi("path",{fill:"currentColor",d:"m161.92 388.736 29.888 58.88C171.328 467.84 160 489.792 160 512c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 423.808 928 465.664 928 512c0 129.728-188.544 224-416 224S96 641.728 96 512c0-46.592 24.32-88.576 65.92-123.264"}),Oi("path",{fill:"currentColor",d:"M512 544c-227.456 0-416-94.272-416-224S284.544 96 512 96s416 94.272 416 224-188.544 224-416 224m0-64c196.672 0 352-77.696 352-160S708.672 160 512 160s-352 77.696-352 160 155.328 160 352 160"})]))}),V_=la({name:"DArrowLeft",__name:"d-arrow-left",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M529.408 149.376a29.12 29.12 0 0 1 41.728 0 30.59 30.59 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.59 30.59 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L197.76 534.272a32 32 0 0 1 0-44.672zm256 0a29.12 29.12 0 0 1 41.728 0 30.59 30.59 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.59 30.59 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L453.76 534.272a32 32 0 0 1 0-44.672z"})]))}),H_=la({name:"DArrowRight",__name:"d-arrow-right",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M452.864 149.312a29.12 29.12 0 0 1 41.728.064L826.24 489.664a32 32 0 0 1 0 44.672L494.592 874.624a29.12 29.12 0 0 1-41.728 0 30.59 30.59 0 0 1 0-42.752L764.736 512 452.864 192a30.59 30.59 0 0 1 0-42.688m-256 0a29.12 29.12 0 0 1 41.728.064L570.24 489.664a32 32 0 0 1 0 44.672L238.592 874.624a29.12 29.12 0 0 1-41.728 0 30.59 30.59 0 0 1 0-42.752L508.736 512 196.864 192a30.59 30.59 0 0 1 0-42.688"})]))}),z_=la({name:"DCaret",__name:"d-caret",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"m512 128 288 320H224zM224 576h576L512 896z"})]))}),q_=la({name:"Delete",__name:"delete",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}),$_=la({name:"Document",__name:"document",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}),j_=la({name:"Edit",__name:"edit",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M832 512a32 32 0 1 1 64 0v352a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h352a32 32 0 0 1 0 64H192v640h640z"}),Oi("path",{fill:"currentColor",d:"m469.952 554.24 52.8-7.552L847.104 222.4a32 32 0 1 0-45.248-45.248L477.44 501.44l-7.552 52.8zm422.4-422.4a96 96 0 0 1 0 135.808l-331.84 331.84a32 32 0 0 1-18.112 9.088L436.8 623.68a32 32 0 0 1-36.224-36.224l15.104-105.6a32 32 0 0 1 9.024-18.112l331.904-331.84a96 96 0 0 1 135.744 0z"})]))}),W_=la({name:"FolderOpened",__name:"folder-opened",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M878.08 448H241.92l-96 384h636.16zM832 384v-64H485.76L357.504 192H128v448l57.92-231.744A32 32 0 0 1 216.96 384zm-24.96 512H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h287.872l128.384 128H864a32 32 0 0 1 32 32v96h23.04a32 32 0 0 1 31.04 39.744l-112 448A32 32 0 0 1 807.04 896"})]))}),K_=la({name:"FullScreen",__name:"full-screen",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}),Q_=la({name:"Hide",__name:"hide",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4s-12.8-9.6-22.4-9.6-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176S0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4 12.8 9.6 22.4 9.6 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4m-646.4 528Q115.2 579.2 76.8 512q43.2-72 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4m140.8-96Q352 555.2 352 512c0-44.8 16-83.2 48-112s67.2-48 112-48c28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6q-43.2 72-153.6 172.8c-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176S1024 528 1024 512s-48.001-73.6-134.401-176"}),Oi("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112s-67.2 48-112 48"})]))}),X_=la({name:"InfoFilled",__name:"info-filled",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.99 12.99 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}),Z_=la({name:"Loading",__name:"loading",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248m452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248M828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0"})]))}),J_=la({name:"Lock",__name:"lock",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96"}),Oi("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32m192-160v-64a192 192 0 1 0-384 0v64zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64"})]))}),ep=la({name:"Message",__name:"message",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M128 224v512a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V224zm0-64h768a64 64 0 0 1 64 64v512a128 128 0 0 1-128 128H192A128 128 0 0 1 64 736V224a64 64 0 0 1 64-64"}),Oi("path",{fill:"currentColor",d:"M904 224 656.512 506.88a192 192 0 0 1-289.024 0L120 224zm-698.944 0 210.56 240.704a128 128 0 0 0 192.704 0L818.944 224z"})]))}),tp=la({name:"Minus",__name:"minus",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64"})]))}),np=la({name:"MoreFilled",__name:"more-filled",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M176 416a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224"})]))}),ap=la({name:"More",__name:"more",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96"})]))}),rp=la({name:"Operation",__name:"operation",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M389.44 768a96.064 96.064 0 0 1 181.12 0H896v64H570.56a96.064 96.064 0 0 1-181.12 0H128v-64zm192-288a96.064 96.064 0 0 1 181.12 0H896v64H762.56a96.064 96.064 0 0 1-181.12 0H128v-64zm-320-288a96.064 96.064 0 0 1 181.12 0H896v64H442.56a96.064 96.064 0 0 1-181.12 0H128v-64z"})]))}),ip=la({name:"Paperclip",__name:"paperclip",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M602.496 240.448A192 192 0 1 1 874.048 512l-316.8 316.8A256 256 0 0 1 195.2 466.752L602.496 59.456l45.248 45.248L240.448 512A192 192 0 0 0 512 783.552l316.8-316.8a128 128 0 1 0-181.056-181.056L353.6 579.904a32 32 0 1 0 45.248 45.248l294.144-294.144 45.312 45.248L444.096 670.4a96 96 0 1 1-135.744-135.744z"})]))}),op=la({name:"PictureFilled",__name:"picture-filled",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M96 896a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h832a32 32 0 0 1 32 32v704a32 32 0 0 1-32 32zm315.52-228.48-68.928-68.928a32 32 0 0 0-45.248 0L128 768.064h778.688l-242.112-290.56a32 32 0 0 0-49.216 0L458.752 665.408a32 32 0 0 1-47.232 2.112M256 384a96 96 0 1 0 192.064-.064A96 96 0 0 0 256 384"})]))}),sp=la({name:"Picture",__name:"picture",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M160 160v704h704V160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32"}),Oi("path",{fill:"currentColor",d:"M384 288q64 0 64 64t-64 64-64-64 64-64M185.408 876.992l-50.816-38.912L350.72 556.032a96 96 0 0 1 134.592-17.856l1.856 1.472 122.88 99.136a32 32 0 0 0 44.992-4.864l216-269.888 49.92 39.936-215.808 269.824-.256.32a96 96 0 0 1-135.04 14.464l-122.88-99.072-.64-.512a32 32 0 0 0-44.8 5.952z"})]))}),lp=la({name:"Plus",__name:"plus",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})]))}),cp=la({name:"Present",__name:"present",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M480 896V640H192v-64h288V320H192v576zm64 0h288V320H544v256h288v64H544zM128 256h768v672a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32z"}),Oi("path",{fill:"currentColor",d:"M96 256h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32"}),Oi("path",{fill:"currentColor",d:"M416 256a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"}),Oi("path",{fill:"currentColor",d:"M608 256a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256"})]))}),dp=la({name:"QuestionFilled",__name:"question-filled",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m23.744 191.488c-52.096 0-92.928 14.784-123.2 44.352-30.976 29.568-45.76 70.4-45.76 122.496h80.256c0-29.568 5.632-52.8 17.6-68.992 13.376-19.712 35.2-28.864 66.176-28.864 23.936 0 42.944 6.336 56.32 19.712 12.672 13.376 19.712 31.68 19.712 54.912 0 17.6-6.336 34.496-19.008 49.984l-8.448 9.856c-45.76 40.832-73.216 70.4-82.368 89.408-9.856 19.008-14.08 42.24-14.08 68.992v9.856h80.96v-9.856c0-16.896 3.52-31.68 10.56-45.76 6.336-12.672 15.488-24.64 28.16-35.2 33.792-29.568 54.208-48.576 60.544-55.616 16.896-22.528 26.048-51.392 26.048-86.592q0-64.416-42.24-101.376c-28.16-25.344-65.472-37.312-111.232-37.312m-12.672 406.208a54.27 54.27 0 0 0-38.72 14.784 49.4 49.4 0 0 0-15.488 38.016c0 15.488 4.928 28.16 15.488 38.016A54.85 54.85 0 0 0 523.072 768c15.488 0 28.16-4.928 38.72-14.784a51.52 51.52 0 0 0 16.192-38.72 51.97 51.97 0 0 0-15.488-38.016 55.94 55.94 0 0 0-39.424-14.784"})]))}),up=la({name:"RefreshLeft",__name:"refresh-left",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"})]))}),_p=la({name:"RefreshRight",__name:"refresh-right",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88"})]))}),pp=la({name:"Refresh",__name:"refresh",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M771.776 794.88A384 384 0 0 1 128 512h64a320 320 0 0 0 555.712 216.448H654.72a32 32 0 1 1 0-64h149.056a32 32 0 0 1 32 32v148.928a32 32 0 1 1-64 0v-50.56zM276.288 295.616h92.992a32 32 0 0 1 0 64H220.16a32 32 0 0 1-32-32V178.56a32 32 0 0 1 64 0v50.56A384 384 0 0 1 896.128 512h-64a320 320 0 0 0-555.776-216.384z"})]))}),mp=la({name:"ScaleToOriginal",__name:"scale-to-original",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118m-361.412 0a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118M512 361.412a30.12 30.12 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.12 30.12 0 0 0 512 361.412M512 512a30.12 30.12 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.12 30.12 0 0 0 512 512"})]))}),gp=la({name:"Search",__name:"search",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704"})]))}),Ep=la({name:"Service",__name:"service",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M864 409.6a192 192 0 0 1-37.888 349.44A256.064 256.064 0 0 1 576 960h-96a32 32 0 1 1 0-64h96a192.06 192.06 0 0 0 181.12-128H736a32 32 0 0 1-32-32V416a32 32 0 0 1 32-32h32c10.368 0 20.544.832 30.528 2.432a288 288 0 0 0-573.056 0A193 193 0 0 1 256 384h32a32 32 0 0 1 32 32v320a32 32 0 0 1-32 32h-32a192 192 0 0 1-96-358.4 352 352 0 0 1 704 0M256 448a128 128 0 1 0 0 256zm640 128a128 128 0 0 0-128-128v256a128 128 0 0 0 128-128"})]))}),fp=la({name:"StarFilled",__name:"star-filled",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M313.6 924.48a70.4 70.4 0 0 1-74.152-5.365 70.4 70.4 0 0 1-27.992-68.875l37.888-220.928L88.96 472.96a70.4 70.4 0 0 1 3.788-104.225A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 100.246-28.595 70.4 70.4 0 0 1 25.962 28.595l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"})]))}),Sp=la({name:"Star",__name:"star",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"m512 747.84 228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"})]))}),bp=la({name:"SuccessFilled",__name:"success-filled",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}),hp=la({name:"Unlock",__name:"unlock",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96"}),Oi("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32m178.304-295.296A192.064 192.064 0 0 0 320 320v64h352l96 38.4V448H256V320a256 256 0 0 1 493.76-95.104z"})]))}),vp=la({name:"VideoPlay",__name:"video-play",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-48-247.616L668.608 512 464 375.616zm10.624-342.656 249.472 166.336a48 48 0 0 1 0 79.872L474.624 718.272A48 48 0 0 1 400 678.336V345.6a48 48 0 0 1 74.624-39.936z"})]))}),Tp=la({name:"View",__name:"view",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}),yp=la({name:"Wallet",__name:"wallet",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M640 288h-64V128H128v704h384v32a32 32 0 0 0 32 32H96a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h512a32 32 0 0 1 32 32z"}),Oi("path",{fill:"currentColor",d:"M128 320v512h768V320zm-32-64h832a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32"}),Oi("path",{fill:"currentColor",d:"M704 640a64 64 0 1 1 0-128 64 64 0 0 1 0 128"})]))}),Cp=la({name:"WarningFilled",__name:"warning-filled",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.43 58.43 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.43 58.43 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}),Rp=la({name:"Warning",__name:"warning",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m48-176a48 48 0 1 1-96 0 48 48 0 0 1 96 0m-48-464a32 32 0 0 1 32 32v288a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"})]))}),Op=la({name:"ZoomIn",__name:"zoom-in",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}),Np=la({name:"ZoomOut",__name:"zoom-out",setup:e=>(e,t)=>(Ei(),hi("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[Oi("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))});const Ap=[String,Object,Function],Ip={Close:G_},wp={Close:G_,SuccessFilled:bp,InfoFilled:X_,WarningFilled:Cp,CircleCloseFilled:F_},Dp={primary:X_,success:bp,warning:Cp,error:F_,info:X_},xp={validating:Z_,success:k_,error:U_},Lp=()=>Fd&&/firefox/i.test(window.navigator.userAgent);let Mp;const Pp={height:"0",visibility:"hidden",overflow:Lp()?"":"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},kp=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break"];function Fp(e,t=1,n){var a,r;Mp||(Mp=document.createElement("textarea"),(null!=(a=e.parentNode)?a:document.body).appendChild(Mp));const{paddingSize:i,borderSize:o,boxSizing:s,contextStyle:l}=function(e){const t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing"),a=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),r=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:kp.map(e=>[e,t.getPropertyValue(e)]),paddingSize:a,borderSize:r,boxSizing:n}}(e);l.forEach(([e,t])=>null==Mp?void 0:Mp.style.setProperty(e,t)),Object.entries(Pp).forEach(([e,t])=>null==Mp?void 0:Mp.style.setProperty(e,t,"important")),Mp.value=e.value||e.placeholder||"";let c=Mp.scrollHeight;const d={};"border-box"===s?c+=o:"content-box"===s&&(c-=i),Mp.value="";const u=Mp.scrollHeight-i;if(yd(t)){let e=u*t;"border-box"===s&&(e=e+i+o),c=Math.max(e,c),d.minHeight=`${e}px`}if(yd(n)){let e=u*n;"border-box"===s&&(e=e+i+o),c=Math.min(e,c)}return d.height=`${c}px`,null==(r=Mp.parentNode)||r.removeChild(Mp),Mp=void 0,d}const Up=e=>e,Bp=Bu({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),Gp=e=>hd(Bp,e),Yp=Bu(c(l({id:{type:String,default:void 0},size:Yu,disabled:Boolean,modelValue:{type:[String,Number,Object],default:""},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:String,default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:[Boolean,Object],default:!1},autocomplete:{type:String,default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:Boolean,clearable:Boolean,clearIcon:{type:Ap,default:U_},showPassword:Boolean,showWordLimit:Boolean,suffixIcon:{type:Ap},prefixIcon:{type:Ap},containerRole:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:[Object,Array,String],default:()=>({})},autofocus:Boolean,rows:{type:Number,default:2}},Gp(["ariaLabel"])),{inputmode:{type:String,default:void 0},name:String})),Vp={[n_]:e=>x(e),input:e=>x(e),change:e=>x(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent},Hp=["class","style"],zp=/^on[A-Z]/,qp=(e={})=>{const{excludeListeners:t=!1,excludeKeys:n}=e,a=eo(()=>((null==n?void 0:n.value)||[]).concat(Hp)),r=Yi();return eo(r?()=>{var e;return gd(Object.entries(null==(e=r.proxy)?void 0:e.$attrs).filter(([e])=>!(a.value.includes(e)||t&&zp.test(e))))}:()=>({}))},$p={prefix:Math.floor(1e4*Math.random()),current:0},jp=Symbol("elIdInjection"),Wp=()=>Yi()?yr(jp,$p):$p,Kp=e=>{const t=Wp(),n=xs();return kd(()=>Kt(e)||`${n.value}-id-${t.prefix}-${t.current++}`)},Qp=Symbol("formContextKey"),Xp=Symbol("formItemContextKey"),Zp=()=>({form:yr(Qp,void 0),formItem:yr(Xp,void 0)}),Jp=(e,{formItemContext:t,disableIdGeneration:n,disableIdManagement:a})=>{n||(n=zt(!1)),a||(a=zt(!1));const r=Yi(),i=zt();let o;const s=eo(()=>{var n;return!!(!e.label&&!e.ariaLabel&&t&&t.inputIds&&(null==(n=t.inputIds)?void 0:n.length)<=1)});return wa(()=>{o=Kr([an(e,"id"),n],([e,n])=>{const o=null!=e?e:n?void 0:Kp().value;o!==i.value&&((null==t?void 0:t.removeInputId)&&!(()=>{let e=null==r?void 0:r.parent;for(;e;){if("ElFormItem"===e.type.name)return!1;if("ElLabelWrap"===e.type.name)return!0;e=e.parent}return!1})()&&(i.value&&t.removeInputId(i.value),(null==a?void 0:a.value)||n||!o||t.addInputId(o)),i.value=o)},{immediate:!0})}),Ma(()=>{o&&o(),(null==t?void 0:t.removeInputId)&&i.value&&t.removeInputId(i.value)}),{isLabeledByFormItem:s,inputId:i}},em=e=>{const t=Yi();return eo(()=>{var n,a;return null==(a=null==(n=null==t?void 0:t.proxy)?void 0:n.$props)?void 0:a[e]})},tm=(e,t={})=>{const n=zt(void 0),a=t.prop?n:em("size"),r=t.global?n:Hu(),i=t.form?{size:void 0}:yr(Qp,void 0),o=t.formItem?{size:void 0}:yr(Xp,void 0);return eo(()=>a.value||Kt(e)||(null==o?void 0:o.size)||(null==i?void 0:i.size)||r.value||"")},nm=e=>{const t=em("disabled"),n=yr(Qp,void 0);return eo(()=>t.value||Kt(e)||(null==n?void 0:n.disabled)||!1)},am=e=>"undefined"!=typeof Element&&e instanceof Element,rm=e=>Array.from(e.querySelectorAll('a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])')).filter(e=>im(e)&&(e=>"fixed"!==getComputedStyle(e).position&&null!==e.offsetParent)(e)),im=e=>{if(e.tabIndex>0||0===e.tabIndex&&null!==e.getAttribute("tabIndex"))return!0;if(e.tabIndex<0||e.hasAttribute("disabled")||"true"===e.getAttribute("aria-disabled"))return!1;switch(e.nodeName){case"A":return!!e.href&&"ignore"!==e.rel;case"INPUT":return!("hidden"===e.type||"file"===e.type);case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},om=function(e,t,...n){let a;a=t.includes("mouse")||t.includes("click")?"MouseEvents":t.includes("key")?"KeyboardEvent":"HTMLEvents";const r=document.createEvent(a);return r.initEvent(t,...n),e.dispatchEvent(r),e},sm=e=>!e.getAttribute("aria-owns"),lm=(e,t,n)=>{const{parentNode:a}=e;if(!a)return null;const r=a.querySelectorAll(n);return r[Array.prototype.indexOf.call(r,e)+t]||null},cm=(e,t)=>{if(!e||!e.focus)return;let n=!1;!am(e)||im(e)||e.getAttribute("tabindex")||(e.setAttribute("tabindex","-1"),n=!0),e.focus(t),am(e)&&n&&e.removeAttribute("tabindex")},dm=e=>{e&&(cm(e),!sm(e)&&e.click())};function um(e,{disabled:t,beforeFocus:n,afterFocus:a,beforeBlur:r,afterBlur:i}={}){const o=Yi(),{emit:s}=o,l=qt(),c=zt(!1),d=e=>{const r=!!D(n)&&n(e);Kt(t)||c.value||r||(c.value=!0,s("focus",e),null==a||a())},u=e=>{var n;const a=!!D(r)&&r(e);Kt(t)||e.relatedTarget&&(null==(n=l.value)?void 0:n.contains(e.relatedTarget))||a||(c.value=!1,s("blur",e),null==i||i())};return Kr([l,()=>Kt(t)],([e,t])=>{e&&(t?e.removeAttribute("tabindex"):e.setAttribute("tabindex","-1"))}),Zd(l,"focus",d,!0),Zd(l,"blur",u,!0),Zd(l,"click",n=>{var a,r;Kt(t)||im(n.target)||(null==(a=l.value)?void 0:a.contains(document.activeElement))&&l.value!==document.activeElement||null==(r=e.value)||r.focus()},!0),{isFocused:c,wrapperRef:l,handleFocus:d,handleBlur:u}}function _m({afterComposition:e,emit:t}){const n=zt(!1),a=e=>{var a;null==t||t("compositionupdate",e);const r=null==(a=e.target)?void 0:a.value,i=r[r.length-1]||"";n.value=!(e=>/([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(e))(i)},r=a=>{null==t||t("compositionend",a),n.value&&(n.value=!1,Tn(()=>e(a)))};return{isComposing:n,handleComposition:e=>{"compositionend"===e.type?r(e):a(e)},handleCompositionStart:e=>{null==t||t("compositionstart",e),n.value=!0},handleCompositionUpdate:a,handleCompositionEnd:r}}const pm=h_(i_(la(c(l({},la({name:"ElInput",inheritAttrs:!1})),{props:Yp,emits:Vp,setup(e,{expose:t,emit:n}){const a=e,r=nr(),i=qp(),o=tr(),s=eo(()=>["textarea"===a.type?f.b():E.b(),E.m(m.value),E.is("disabled",g.value),E.is("exceed",V.value),{[E.b("group")]:o.prepend||o.append,[E.m("prefix")]:o.prefix||a.prefixIcon,[E.m("suffix")]:o.suffix||a.suffixIcon||a.clearable||a.showPassword,[E.bm("suffix","password-clear")]:U.value&&B.value,[E.b("hidden")]:"hidden"===a.type},r.class]),c=eo(()=>[E.e("wrapper"),E.is("focus",N.value)]),{form:d,formItem:u}=Zp(),{inputId:p}=Jp(a,{formItemContext:u}),m=tm(),g=nm(),E=Ls("input"),f=Ls("textarea"),S=qt(),h=qt(),v=zt(!1),T=zt(!1),y=zt(),C=qt(a.inputStyle),R=eo(()=>S.value||h.value),{wrapperRef:O,isFocused:N,handleFocus:A,handleBlur:I}=um(R,{disabled:g,afterBlur(){var e;a.validateEvent&&(null==(e=null==u?void 0:u.validate)||e.call(u,"blur").catch(e=>{}))}}),w=eo(()=>{var e;return null!=(e=null==d?void 0:d.statusIcon)&&e}),D=eo(()=>(null==u?void 0:u.validateState)||""),x=eo(()=>D.value&&xp[D.value]),L=eo(()=>T.value?Tp:Q_),P=eo(()=>[r.style]),k=eo(()=>[a.inputStyle,C.value,{resize:a.resize}]),F=eo(()=>fd(a.modelValue)?"":String(a.modelValue)),U=eo(()=>a.clearable&&!g.value&&!a.readonly&&!!F.value&&(N.value||v.value)),B=eo(()=>a.showPassword&&!g.value&&!!F.value),G=eo(()=>a.showWordLimit&&!!a.maxlength&&("text"===a.type||"textarea"===a.type)&&!g.value&&!a.readonly&&!a.showPassword),Y=eo(()=>F.value.length),V=eo(()=>!!G.value&&Y.value>Number(a.maxlength)),H=eo(()=>!!o.suffix||!!a.suffixIcon||U.value||a.showPassword||G.value||!!D.value&&w.value),[z,q]=function(e){let t;return[function(){if(null==e.value)return;const{selectionStart:n,selectionEnd:a,value:r}=e.value;if(null==n||null==a)return;const i=r.slice(0,Math.max(0,n)),o=r.slice(Math.max(0,a));t={selectionStart:n,selectionEnd:a,value:r,beforeTxt:i,afterTxt:o}},function(){if(null==e.value||null==t)return;const{value:n}=e.value,{beforeTxt:a,afterTxt:r,selectionStart:i}=t;if(null==a||null==r||null==i)return;let o=n.length;if(n.endsWith(r))o=n.length-r.length;else if(n.startsWith(a))o=a.length;else{const e=a[i-1],t=n.indexOf(e,i-1);-1!==t&&(o=t+1)}e.value.setSelectionRange(o,o)}]}(S);cu(h,e=>{if(j(),!G.value||"both"!==a.resize)return;const t=e[0],{width:n}=t.contentRect;y.value={right:`calc(100% - ${n+15+6}px)`}});const $=()=>{const{type:e,autosize:t}=a;if(Fd&&"textarea"===e&&h.value)if(t){const e=M(t)?t.minRows:void 0,n=M(t)?t.maxRows:void 0,a=Fp(h.value,e,n);C.value=l({overflowY:"hidden"},a),Tn(()=>{h.value.offsetHeight,C.value=a})}else C.value={minHeight:Fp(h.value).minHeight}},j=(e=>{let t=!1;return()=>{var n;if(t||!a.autosize)return;null===(null==(n=h.value)?void 0:n.offsetParent)||(setTimeout(e),t=!0)}})($),W=()=>{const e=R.value,t=a.formatter?a.formatter(F.value):F.value;e&&e.value!==t&&(e.value=t)},K=e=>_(this,null,function*(){z();let{value:t}=e.target;a.formatter&&a.parser&&(t=a.parser(t)),X.value||(t!==F.value?(n(n_,t),n(r_,t),yield Tn(),W(),q()):W())}),Q=e=>{let{value:t}=e.target;a.formatter&&a.parser&&(t=a.parser(t)),n(a_,t)},{isComposing:X,handleCompositionStart:Z,handleCompositionUpdate:J,handleCompositionEnd:te}=_m({emit:n,afterComposition:K}),ne=()=>{z(),T.value=!T.value,setTimeout(q)},ae=e=>{v.value=!1,n("mouseleave",e)},re=e=>{v.value=!0,n("mouseenter",e)},oe=e=>{n("keydown",e)},se=()=>{n(n_,""),n(a_,""),n("clear"),n(r_,"")};return Kr(()=>a.modelValue,()=>{var e;Tn(()=>$()),a.validateEvent&&(null==(e=null==u?void 0:u.validate)||e.call(u,"change").catch(e=>{}))}),Kr(F,()=>W()),Kr(()=>a.type,()=>_(this,null,function*(){yield Tn(),W(),$()})),wa(()=>{!a.formatter&&a.parser,W(),Tn($)}),t({input:S,textarea:h,ref:R,textareaStyle:k,autosize:an(a,"autosize"),isComposing:X,focus:()=>{var e;return null==(e=R.value)?void 0:e.focus()},blur:()=>{var e;return null==(e=R.value)?void 0:e.blur()},select:()=>{var e;null==(e=R.value)||e.select()},clear:se,resizeTextarea:$}),(e,t)=>(Ei(),hi("div",{class:ie([Kt(s),{[Kt(E).bm("group","append")]:e.$slots.append,[Kt(E).bm("group","prepend")]:e.$slots.prepend}]),style:ee(Kt(P)),onMouseenter:re,onMouseleave:ae},[xi(" input "),"textarea"!==e.type?(Ei(),hi(di,{key:0},[xi(" prepend slot "),e.$slots.prepend?(Ei(),hi("div",{key:0,class:ie(Kt(E).be("group","prepend"))},[Wa(e.$slots,"prepend")],2)):xi("v-if",!0),Oi("div",{ref_key:"wrapperRef",ref:O,class:ie(Kt(c))},[xi(" prefix slot "),e.$slots.prefix||e.prefixIcon?(Ei(),hi("span",{key:0,class:ie(Kt(E).e("prefix"))},[Oi("span",{class:ie(Kt(E).e("prefix-inner"))},[Wa(e.$slots,"prefix"),e.prefixIcon?(Ei(),vi(Kt(R_),{key:0,class:ie(Kt(E).e("icon"))},{default:Ln(()=>[(Ei(),vi(Va(e.prefixIcon)))]),_:1},8,["class"])):xi("v-if",!0)],2)],2)):xi("v-if",!0),Oi("input",ki({id:Kt(p),ref_key:"input",ref:S,class:Kt(E).e("inner")},Kt(i),{name:e.name,minlength:e.minlength,maxlength:e.maxlength,type:e.showPassword?T.value?"text":"password":e.type,disabled:Kt(g),readonly:e.readonly,autocomplete:e.autocomplete,tabindex:e.tabindex,"aria-label":e.ariaLabel,placeholder:e.placeholder,style:e.inputStyle,form:e.form,autofocus:e.autofocus,role:e.containerRole,inputmode:e.inputmode,onCompositionstart:Kt(Z),onCompositionupdate:Kt(J),onCompositionend:Kt(te),onInput:K,onChange:Q,onKeydown:oe}),null,16,["id","name","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus","role","inputmode","onCompositionstart","onCompositionupdate","onCompositionend"]),xi(" suffix slot "),Kt(H)?(Ei(),hi("span",{key:1,class:ie(Kt(E).e("suffix"))},[Oi("span",{class:ie(Kt(E).e("suffix-inner"))},[Kt(U)&&Kt(B)&&Kt(G)?xi("v-if",!0):(Ei(),hi(di,{key:0},[Wa(e.$slots,"suffix"),e.suffixIcon?(Ei(),vi(Kt(R_),{key:0,class:ie(Kt(E).e("icon"))},{default:Ln(()=>[(Ei(),vi(Va(e.suffixIcon)))]),_:1},8,["class"])):xi("v-if",!0)],64)),Kt(U)?(Ei(),vi(Kt(R_),{key:1,class:ie([Kt(E).e("icon"),Kt(E).e("clear")]),onMousedown:hs(Kt(b),["prevent"]),onClick:se},{default:Ln(()=>[(Ei(),vi(Va(e.clearIcon)))]),_:1},8,["class","onMousedown"])):xi("v-if",!0),Kt(B)?(Ei(),vi(Kt(R_),{key:2,class:ie([Kt(E).e("icon"),Kt(E).e("password")]),onClick:ne},{default:Ln(()=>[(Ei(),vi(Va(Kt(L))))]),_:1},8,["class"])):xi("v-if",!0),Kt(G)?(Ei(),hi("span",{key:3,class:ie(Kt(E).e("count"))},[Oi("span",{class:ie(Kt(E).e("count-inner"))},_e(Kt(Y))+" / "+_e(e.maxlength),3)],2)):xi("v-if",!0),Kt(D)&&Kt(x)&&Kt(w)?(Ei(),vi(Kt(R_),{key:4,class:ie([Kt(E).e("icon"),Kt(E).e("validateIcon"),Kt(E).is("loading","validating"===Kt(D))])},{default:Ln(()=>[(Ei(),vi(Va(Kt(x))))]),_:1},8,["class"])):xi("v-if",!0)],2)],2)):xi("v-if",!0)],2),xi(" append slot "),e.$slots.append?(Ei(),hi("div",{key:1,class:ie(Kt(E).be("group","append"))},[Wa(e.$slots,"append")],2)):xi("v-if",!0)],64)):(Ei(),hi(di,{key:1},[xi(" textarea "),Oi("textarea",ki({id:Kt(p),ref_key:"textarea",ref:h,class:[Kt(f).e("inner"),Kt(E).is("focus",Kt(N))]},Kt(i),{minlength:e.minlength,maxlength:e.maxlength,tabindex:e.tabindex,disabled:Kt(g),readonly:e.readonly,autocomplete:e.autocomplete,style:Kt(k),"aria-label":e.ariaLabel,placeholder:e.placeholder,form:e.form,autofocus:e.autofocus,rows:e.rows,role:e.containerRole,onCompositionstart:Kt(Z),onCompositionupdate:Kt(J),onCompositionend:Kt(te),onInput:K,onFocus:Kt(A),onBlur:Kt(I),onChange:Q,onKeydown:oe}),null,16,["id","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus","rows","role","onCompositionstart","onCompositionupdate","onCompositionend","onFocus","onBlur"]),Kt(G)?(Ei(),hi("span",{key:0,style:ee(y.value),class:ie(Kt(E).e("count"))},_e(Kt(Y))+" / "+_e(e.maxlength),7)):xi("v-if",!0)],64))],38))}})),[["__file","input.vue"]])),mm="focus-trap.focus-after-trapped",gm="focus-trap.focus-after-released",Em={cancelable:!0,bubbles:!1},fm={cancelable:!0,bubbles:!1},Sm="focusAfterTrapped",bm="focusAfterReleased",hm=Symbol("elFocusTrap"),vm=zt(),Tm=zt(0),ym=zt(0);let Cm=0;const Rm=e=>{const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{const t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0||e===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t},Om=(e,t)=>{for(const n of e)if(!Nm(n,t))return n},Nm=(e,t)=>{if("hidden"===getComputedStyle(e).visibility)return!0;for(;e;){if(t&&e===t)return!1;if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1},Am=(e,t)=>{if(e){const n=document.activeElement;cm(e,{preventScroll:!0}),ym.value=window.performance.now(),e!==n&&(e=>e instanceof HTMLInputElement&&"select"in e)(e)&&t&&e.select()}};function Im(e,t){const n=[...e],a=e.indexOf(t);return-1!==a&&n.splice(a,1),n}const wm=(()=>{let e=[];return{push:t=>{const n=e[0];n&&t!==n&&n.pause(),e=Im(e,t),e.unshift(t)},remove:t=>{var n,a;e=Im(e,t),null==(a=null==(n=e[0])?void 0:n.resume)||a.call(n)}}})(),Dm=()=>{vm.value="pointer",Tm.value=window.performance.now()},xm=()=>{vm.value="keyboard",Tm.value=window.performance.now()},Lm=e=>new CustomEvent("focus-trap.focusout-prevented",c(l({},fm),{detail:e})),Mm={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"},Pm=(e,t,{checkForDefaultPrevented:n=!0}={})=>a=>{const r=null==e?void 0:e(a);if(!1===n||!r)return null==t?void 0:t(a)},km=e=>t=>"mouse"===t.pointerType?e(t):void 0,Fm=e=>{if(e.code&&"Unidentified"!==e.code)return e.code;const t=Um(e);return t?Object.values(Mm).includes(t)?t:" "===t?Mm.space:"":""},Um=e=>{let t=e.key&&"Unidentified"!==e.key?e.key:"";if(!t&&"keyup"===e.type&&Fd&&/android/i.test(window.navigator.userAgent)){const n=e.target;t=n.value.charAt(n.selectionStart-1)}return t};let Bm=[];const Gm=e=>{Fm(e)===Mm.esc&&Bm.forEach(t=>t(e))};var Ym=i_(la({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[Sm,bm,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const n=zt();let a,r;const{focusReason:i}=(wa(()=>{0===Cm&&(document.addEventListener("mousedown",Dm),document.addEventListener("touchstart",Dm),document.addEventListener("keydown",xm)),Cm++}),La(()=>{Cm--,Cm<=0&&(document.removeEventListener("mousedown",Dm),document.removeEventListener("touchstart",Dm),document.removeEventListener("keydown",xm))}),{focusReason:vm,lastUserFocusTimestamp:Tm,lastAutomatedFocusTimestamp:ym});var o;o=n=>{e.trapped&&!s.paused&&t("release-requested",n)},wa(()=>{0===Bm.length&&document.addEventListener("keydown",Gm),Fd&&Bm.push(o)}),La(()=>{Bm=Bm.filter(e=>e!==o),0===Bm.length&&Fd&&document.removeEventListener("keydown",Gm)});const s={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},d=n=>{if(!e.loop&&!e.trapped)return;if(s.paused)return;const{altKey:a,ctrlKey:r,metaKey:o,currentTarget:l,shiftKey:c}=n,{loop:d}=e,u=Fm(n)===Mm.tab&&!a&&!r&&!o,_=document.activeElement;if(u&&_){const e=l,[a,r]=(e=>{const t=Rm(e);return[Om(t,e),Om(t.reverse(),e)]})(e);if(a&&r)if(c||_!==r){if(c&&[a,e].includes(_)){const e=Lm({focusReason:i.value});t("focusout-prevented",e),e.defaultPrevented||(n.preventDefault(),d&&Am(r,!0))}}else{const e=Lm({focusReason:i.value});t("focusout-prevented",e),e.defaultPrevented||(n.preventDefault(),d&&Am(a,!0))}else if(_===e){const e=Lm({focusReason:i.value});t("focusout-prevented",e),e.defaultPrevented||n.preventDefault()}}};Tr(hm,{focusTrapRef:n,onKeydown:d}),Kr(()=>e.focusTrapEl,e=>{e&&(n.value=e)},{immediate:!0}),Kr([n],([e],[t])=>{e&&(e.addEventListener("keydown",d),e.addEventListener("focusin",m),e.addEventListener("focusout",g)),t&&(t.removeEventListener("keydown",d),t.removeEventListener("focusin",m),t.removeEventListener("focusout",g))});const u=e=>{t(Sm,e)},p=e=>t(bm,e),m=i=>{const o=Kt(n);if(!o)return;const l=i.target,c=i.relatedTarget,d=l&&o.contains(l);if(!e.trapped){c&&o.contains(c)||(a=c)}d&&t("focusin",i),s.paused||e.trapped&&(d?r=l:Am(r,!0))},g=a=>{const o=Kt(n);if(!s.paused&&o)if(e.trapped){const n=a.relatedTarget;fd(n)||o.contains(n)||setTimeout(()=>{if(!s.paused&&e.trapped){const e=Lm({focusReason:i.value});t("focusout-prevented",e),e.defaultPrevented||Am(r,!0)}},0)}else{const e=a.target;e&&o.contains(e)||t("focusout",a)}};function E(){return _(this,null,function*(){yield Tn();const t=Kt(n);if(t){wm.push(s);const n=t.contains(document.activeElement)?a:document.activeElement;a=n;if(!t.contains(n)){const a=new Event(mm,Em);t.addEventListener(mm,u),t.dispatchEvent(a),a.defaultPrevented||Tn(()=>{let a=e.focusStartEl;x(a)||(Am(a),document.activeElement!==a&&(a="first")),"first"===a&&((e,t=!1)=>{const n=document.activeElement;for(const a of e)if(Am(a,t),document.activeElement!==n)return})(Rm(t),!0),document.activeElement!==n&&"container"!==a||Am(t)})}}})}function f(){const e=Kt(n);if(e){e.removeEventListener(mm,u);const t=new CustomEvent(gm,c(l({},Em),{detail:{focusReason:i.value}}));e.addEventListener(gm,p),e.dispatchEvent(t),t.defaultPrevented||"keyboard"!=i.value&&Tm.value>ym.value&&!e.contains(document.activeElement)||Am(null!=a?a:document.body),e.removeEventListener(gm,p),wm.remove(s),a=null,r=null}}return wa(()=>{e.trapped&&E(),Kr(()=>e.trapped,e=>{e?E():f()})}),La(()=>{e.trapped&&f(),n.value&&(n.value.removeEventListener("keydown",d),n.value.removeEventListener("focusin",m),n.value.removeEventListener("focusout",g),n.value=void 0)}),{onKeydown:d}}}),[["render",function(e,t,n,a,r,i){return Wa(e.$slots,"default",{handleKeydown:e.onKeydown})}],["__file","focus-trap.vue"]]);const Vm=Bu({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"},showZero:{type:Boolean,default:!0},color:String,badgeStyle:{type:[String,Object,Array]},offset:{type:Array,default:[0,0]},badgeClass:{type:String}});const Hm=h_(i_(la(c(l({},la({name:"ElBadge"})),{props:Vm,setup(e,{expose:t}){const n=e,a=Ls("badge"),r=eo(()=>n.isDot?"":yd(n.value)&&yd(n.max)&&n.max{var e,t,a,r,i;return[{backgroundColor:n.color,marginRight:__(-(null!=(t=null==(e=n.offset)?void 0:e[0])?t:0)),marginTop:__(null!=(r=null==(a=n.offset)?void 0:a[1])?r:0)},null!=(i=n.badgeStyle)?i:{}]});return t({content:r}),(e,t)=>(Ei(),hi("div",{class:ie(Kt(a).b())},[Wa(e.$slots,"default"),Ni(Eo,{name:`${Kt(a).namespace.value}-zoom-in-center`,persisted:""},{default:Ln(()=>[Mn(Oi("sup",{class:ie([Kt(a).e("content"),Kt(a).em("content",e.type),Kt(a).is("fixed",!!e.$slots.default),Kt(a).is("dot",e.isDot),Kt(a).is("hide-zero",!e.showZero&&0===n.value),e.badgeClass]),style:ee(Kt(i))},[Wa(e.$slots,"content",{value:Kt(r)},()=>[wi(_e(Kt(r)),1)])],6),[[xo,!e.hidden&&(Kt(r)||e.isDot||e.$slots.content)]])]),_:3},8,["name"])],2))}})),[["__file","badge.vue"]])),zm=Symbol("buttonGroupContextKey"),qm=({from:e,replacement:t,scope:n,version:a,ref:r,type:i="API"},o)=>{Kr(()=>Kt(o),e=>{},{immediate:!0})},$m=["default","primary","success","warning","info","danger","text",""],jm=Bu({size:Yu,disabled:Boolean,type:{type:String,values:$m,default:""},icon:{type:Ap},nativeType:{type:String,values:["button","submit","reset"],default:"button"},loading:Boolean,loadingIcon:{type:Ap,default:()=>Z_},plain:{type:Boolean,default:void 0},text:{type:Boolean,default:void 0},link:Boolean,bg:Boolean,autofocus:Boolean,round:{type:Boolean,default:void 0},circle:Boolean,color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0},tag:{type:[String,Object],default:"button"}}),Wm={click:e=>e instanceof MouseEvent};function Km(e,t){(function(e){return"string"==typeof e&&-1!==e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var n=function(e){return"string"==typeof e&&-1!==e.indexOf("%")}(e);return e=360===t?e:Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:e=360===t?(e<0?e%t+t:e%t)/parseFloat(String(t)):e%t/parseFloat(String(t))}function Qm(e){return Math.min(1,Math.max(0,e))}function Xm(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function Zm(e){return e<=1?"".concat(100*Number(e),"%"):e}function Jm(e){return 1===e.length?"0"+e:String(e)}function eg(e,t,n){e=Km(e,255),t=Km(t,255),n=Km(n,255);var a=Math.max(e,t,n),r=Math.min(e,t,n),i=0,o=0,s=(a+r)/2;if(a===r)o=0,i=0;else{var l=a-r;switch(o=s>.5?l/(2-a-r):l/(a+r),a){case e:i=(t-n)/l+(t1&&(n-=1),n<1/6?e+6*n*(t-e):n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function ng(e,t,n){e=Km(e,255),t=Km(t,255),n=Km(n,255);var a=Math.max(e,t,n),r=Math.min(e,t,n),i=0,o=a,s=a-r,l=0===a?0:s/a;if(a===r)i=0;else{switch(a){case e:i=(t-n)/s+(t>16,g:(65280&e)>>8,b:255&e}}(t)),this.originalInput=t;var r=sg(t);this.originalInput=t,this.r=r.r,this.g=r.g,this.b=r.b,this.a=r.a,this.roundA=Math.round(100*this.a)/100,this.format=null!==(a=n.format)&&void 0!==a?a:r.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=r.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},e.prototype.getLuminance=function(){var e=this.toRgb(),t=e.r/255,n=e.g/255,a=e.b/255;return.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4))},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(e){return this.a=Xm(e),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){return 0===this.toHsl().s},e.prototype.toHsv=function(){var e=ng(this.r,this.g,this.b);return{h:360*e.h,s:e.s,v:e.v,a:this.a}},e.prototype.toHsvString=function(){var e=ng(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),a=Math.round(100*e.v);return 1===this.a?"hsv(".concat(t,", ").concat(n,"%, ").concat(a,"%)"):"hsva(".concat(t,", ").concat(n,"%, ").concat(a,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var e=eg(this.r,this.g,this.b);return{h:360*e.h,s:e.s,l:e.l,a:this.a}},e.prototype.toHslString=function(){var e=eg(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),a=Math.round(100*e.l);return 1===this.a?"hsl(".concat(t,", ").concat(n,"%, ").concat(a,"%)"):"hsla(".concat(t,", ").concat(n,"%, ").concat(a,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(e){return void 0===e&&(e=!1),ag(this.r,this.g,this.b,e)},e.prototype.toHexString=function(e){return void 0===e&&(e=!1),"#"+this.toHex(e)},e.prototype.toHex8=function(e){return void 0===e&&(e=!1),function(e,t,n,a,r){var i,o=[Jm(Math.round(e).toString(16)),Jm(Math.round(t).toString(16)),Jm(Math.round(n).toString(16)),Jm((i=a,Math.round(255*parseFloat(i)).toString(16)))];return r&&o[0].startsWith(o[0].charAt(1))&&o[1].startsWith(o[1].charAt(1))&&o[2].startsWith(o[2].charAt(1))&&o[3].startsWith(o[3].charAt(1))?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0):o.join("")}(this.r,this.g,this.b,this.a,e)},e.prototype.toHex8String=function(e){return void 0===e&&(e=!1),"#"+this.toHex8(e)},e.prototype.toHexShortString=function(e){return void 0===e&&(e=!1),1===this.a?this.toHexString(e):this.toHex8String(e)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var e=Math.round(this.r),t=Math.round(this.g),n=Math.round(this.b);return 1===this.a?"rgb(".concat(e,", ").concat(t,", ").concat(n,")"):"rgba(".concat(e,", ").concat(t,", ").concat(n,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var e=function(e){return"".concat(Math.round(100*Km(e,255)),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var e=function(e){return Math.round(100*Km(e,255))};return 1===this.a?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var e="#"+ag(this.r,this.g,this.b,!1),t=0,n=Object.entries(og);t=0;return t||!a||!e.startsWith("hex")&&"name"!==e?("rgb"===e&&(n=this.toRgbString()),"prgb"===e&&(n=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(n=this.toHexString()),"hex3"===e&&(n=this.toHexString(!0)),"hex4"===e&&(n=this.toHex8String(!0)),"hex8"===e&&(n=this.toHex8String()),"name"===e&&(n=this.toName()),"hsl"===e&&(n=this.toHslString()),"hsv"===e&&(n=this.toHsvString()),n||this.toHexString()):"name"===e&&0===this.a?this.toName():this.toRgbString()},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=Qm(n.l),new e(n)},e.prototype.brighten=function(t){void 0===t&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(-t/100*255))),n.g=Math.max(0,Math.min(255,n.g-Math.round(-t/100*255))),n.b=Math.max(0,Math.min(255,n.b-Math.round(-t/100*255))),new e(n)},e.prototype.darken=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=Qm(n.l),new e(n)},e.prototype.tint=function(e){return void 0===e&&(e=10),this.mix("white",e)},e.prototype.shade=function(e){return void 0===e&&(e=10),this.mix("black",e)},e.prototype.desaturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=Qm(n.s),new e(n)},e.prototype.saturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=Qm(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),a=(n.h+t)%360;return n.h=a<0?360+a:a,new e(n)},e.prototype.mix=function(t,n){void 0===n&&(n=50);var a=this.toRgb(),r=new e(t).toRgb(),i=n/100;return new e({r:(r.r-a.r)*i+a.r,g:(r.g-a.g)*i+a.g,b:(r.b-a.b)*i+a.b,a:(r.a-a.a)*i+a.a})},e.prototype.analogous=function(t,n){void 0===t&&(t=6),void 0===n&&(n=30);var a=this.toHsl(),r=360/n,i=[this];for(a.h=(a.h-(r*t>>1)+720)%360;--t;)a.h=(a.h+r)%360,i.push(new e(a));return i},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var n=this.toHsv(),a=n.h,r=n.s,i=n.v,o=[],s=1/t;t--;)o.push(new e({h:a,s:r,v:i})),i=(i+s)%1;return o},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),a=new e(t).toRgb(),r=n.a+a.a*(1-n.a);return new e({r:(n.r*n.a+a.r*a.a*(1-n.a))/r,g:(n.g*n.a+a.g*a.a*(1-n.a))/r,b:(n.b*n.a+a.b*a.a*(1-n.a))/r,a:r})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),a=n.h,r=[this],i=360/t,o=1;o{let a={},r=e.color;if(r){const i=r.match(/var\((.*?)\)/);i&&(r=window.getComputedStyle(window.document.documentElement).getPropertyValue(i[1]));const o=new pg(r),s=e.dark?o.tint(20).toString():mg(o,20);if(e.plain)a=n.cssVarBlock({"bg-color":e.dark?mg(o,90):o.tint(90).toString(),"text-color":r,"border-color":e.dark?mg(o,50):o.tint(50).toString(),"hover-text-color":`var(${n.cssVarName("color-white")})`,"hover-bg-color":r,"hover-border-color":r,"active-bg-color":s,"active-text-color":`var(${n.cssVarName("color-white")})`,"active-border-color":s}),t.value&&(a[n.cssVarBlockName("disabled-bg-color")]=e.dark?mg(o,90):o.tint(90).toString(),a[n.cssVarBlockName("disabled-text-color")]=e.dark?mg(o,50):o.tint(50).toString(),a[n.cssVarBlockName("disabled-border-color")]=e.dark?mg(o,80):o.tint(80).toString());else{const i=e.dark?mg(o,30):o.tint(30).toString(),l=o.isDark()?`var(${n.cssVarName("color-white")})`:`var(${n.cssVarName("color-black")})`;if(a=n.cssVarBlock({"bg-color":r,"text-color":l,"border-color":r,"hover-bg-color":i,"hover-text-color":l,"hover-border-color":i,"active-bg-color":s,"active-border-color":s}),t.value){const t=e.dark?mg(o,50):o.tint(50).toString();a[n.cssVarBlockName("disabled-bg-color")]=t,a[n.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${n.cssVarName("color-white")})`,a[n.cssVarBlockName("disabled-border-color")]=t}}}return a})}(a),i=Ls("button"),{_ref:o,_size:s,_type:l,_disabled:c,_props:d,_plain:u,_round:_,_text:p,shouldAddSpace:m,handleClick:g}=((e,t)=>{qm({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},eo(()=>"text"===e.type));const n=yr(zm,void 0),a=Zu("button"),{form:r}=Zp(),i=tm(eo(()=>null==n?void 0:n.size)),o=nm(),s=zt(),l=tr(),c=eo(()=>{var t;return e.type||(null==n?void 0:n.type)||(null==(t=a.value)?void 0:t.type)||""}),d=eo(()=>{var t,n,r;return null!=(r=null!=(n=e.autoInsertSpace)?n:null==(t=a.value)?void 0:t.autoInsertSpace)&&r}),u=eo(()=>{var t,n,r;return null!=(r=null!=(n=e.plain)?n:null==(t=a.value)?void 0:t.plain)&&r}),_=eo(()=>{var t,n,r;return null!=(r=null!=(n=e.round)?n:null==(t=a.value)?void 0:t.round)&&r}),p=eo(()=>{var t,n,r;return null!=(r=null!=(n=e.text)?n:null==(t=a.value)?void 0:t.text)&&r}),m=eo(()=>"button"===e.tag?{ariaDisabled:o.value||e.loading,disabled:o.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),g=eo(()=>{var e;const t=null==(e=l.default)?void 0:e.call(l);if(d.value&&1===(null==t?void 0:t.length)){const e=t[0];if((null==e?void 0:e.type)===ui){const t=e.children;return new RegExp("^\\p{Unified_Ideograph}{2}$","u").test(t.trim())}}return!1});return{_disabled:o,_size:i,_type:c,_ref:s,_props:m,_plain:u,_round:_,_text:p,shouldAddSpace:g,handleClick:n=>{o.value||e.loading?n.stopPropagation():("reset"===e.nativeType&&(null==r||r.resetFields()),t("click",n))}}})(a,n),E=eo(()=>[i.b(),i.m(l.value),i.m(s.value),i.is("disabled",c.value),i.is("loading",a.loading),i.is("plain",u.value),i.is("round",_.value),i.is("circle",a.circle),i.is("text",p.value),i.is("link",a.link),i.is("has-bg",a.bg)]);return t({ref:o,size:s,type:l,disabled:c,shouldAddSpace:m}),(e,t)=>(Ei(),vi(Va(e.tag),ki({ref_key:"_ref",ref:o},Kt(d),{class:Kt(E),style:Kt(r),onClick:Kt(g)}),{default:Ln(()=>[e.loading?(Ei(),hi(di,{key:0},[e.$slots.loading?Wa(e.$slots,"loading",{key:0}):(Ei(),vi(Kt(R_),{key:1,class:ie(Kt(i).is("loading"))},{default:Ln(()=>[(Ei(),vi(Va(e.loadingIcon)))]),_:1},8,["class"]))],64)):e.icon||e.$slots.icon?(Ei(),vi(Kt(R_),{key:1},{default:Ln(()=>[e.icon?(Ei(),vi(Va(e.icon),{key:0})):Wa(e.$slots,"icon",{key:1})]),_:3})):xi("v-if",!0),e.$slots.default?(Ei(),hi("span",{key:2,class:ie({[Kt(i).em("text","expand")]:Kt(m)})},[Wa(e.$slots,"default")],2)):xi("v-if",!0)]),_:3},16,["class","style","onClick"]))}})),[["__file","button.vue"]]);const Eg={size:jm.size,type:jm.type};var fg=i_(la(c(l({},la({name:"ElButtonGroup"})),{props:Eg,setup(e){const t=e;Tr(zm,wt({size:an(t,"size"),type:an(t,"type")}));const n=Ls("button");return(e,t)=>(Ei(),hi("div",{class:ie(Kt(n).b("group"))},[Wa(e.$slots,"default")],2))}})),[["__file","button-group.vue"]]);const Sg=h_(gg,{ButtonGroup:fg});y_(fg);var bg="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function hg(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function vg(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var n=function e(){return this instanceof e?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(t){var a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,a.get?a:{enumerable:!0,get:function(){return e[t]}})}),n}var Tg=(e=>(e[e.TEXT=1]="TEXT",e[e.CLASS=2]="CLASS",e[e.STYLE=4]="STYLE",e[e.PROPS=8]="PROPS",e[e.FULL_PROPS=16]="FULL_PROPS",e[e.HYDRATE_EVENTS=32]="HYDRATE_EVENTS",e[e.STABLE_FRAGMENT=64]="STABLE_FRAGMENT",e[e.KEYED_FRAGMENT=128]="KEYED_FRAGMENT",e[e.UNKEYED_FRAGMENT=256]="UNKEYED_FRAGMENT",e[e.NEED_PATCH=512]="NEED_PATCH",e[e.DYNAMIC_SLOTS=1024]="DYNAMIC_SLOTS",e[e.HOISTED=-1]="HOISTED",e[e.BAIL=-2]="BAIL",e))(Tg||{});function yg(e){return Ti(e)&&e.type===di}function Cg(e){return Ti(e)&&!yg(e)&&!function(e){return Ti(e)&&e.type===_i}(e)}const Rg=e=>{if(!Ti(e))return{};const t=e.props||{},n=(Ti(e.type)?e.type.props:void 0)||{},a={};return Object.keys(n).forEach(e=>{O(n[e],"default")&&(a[e]=n[e].default)}),Object.keys(t).forEach(e=>{a[H(e)]=t[e]}),a},Og=e=>{const t=N(e)?e:[e],n=[];return t.forEach(e=>{var t;N(e)?n.push(...Og(e)):Ti(e)&&(null==(t=e.component)?void 0:t.subTree)?n.push(e,...Og(e.component.subTree)):Ti(e)&&N(e.children)?n.push(...Og(e.children)):Ti(e)&&2===e.shapeFlag?n.push(...Og(e.type())):n.push(e)}),n},Ng=Bu(l({a11y:{type:Boolean,default:!0},locale:{type:Object},size:Yu,button:{type:Object},card:{type:Object},dialog:{type:Object},link:{type:Object},experimentalFeatures:{type:Object},keyboardNavigation:{type:Boolean,default:!0},message:{type:Object},zIndex:Number,namespace:{type:String,default:"el"}},$u)),Ag={placement:"top"},Ig=h_(la({name:"ElConfigProvider",props:Ng,setup(e,{slots:t}){const n=e_(e);return Kr(()=>e.message,e=>{var t,a;Object.assign(Ag,null!=(a=null==(t=null==n?void 0:n.value)?void 0:t.message)?a:{},null!=e?e:{})},{immediate:!0,deep:!0}),()=>Wa(t,"default",{config:null==n?void 0:n.value})}})),wg=e=>{if(!e)return{onClick:b,onMousedown:b,onMouseup:b};let t=!1,n=!1;return{onClick:a=>{t&&n&&e(a),t=n=!1},onMousedown:e=>{t=e.target===e.currentTarget},onMouseup:e=>{n=e.target===e.currentTarget}}},Dg=Bu({mask:{type:Boolean,default:!0},customMaskEvent:Boolean,overlayClass:{type:[String,Array,Object]},zIndex:{type:[String,Number]}});const xg=la({name:"ElOverlay",props:Dg,emits:{click:e=>e instanceof MouseEvent},setup(e,{slots:t,emit:n}){const a=Ls("overlay"),{onClick:r,onMousedown:i,onMouseup:o}=wg(e.customMaskEvent?void 0:e=>{n("click",e)});return()=>e.mask?Ni("div",{class:[a.b(),e.overlayClass],style:{zIndex:e.zIndex},onClick:r,onMousedown:i,onMouseup:o},[Wa(t,"default")],Tg.STYLE|Tg.CLASS|Tg.PROPS,["onClick","onMouseup","onMousedown"]):to("div",{class:e.overlayClass,style:{zIndex:e.zIndex,position:"fixed",top:"0px",right:"0px",bottom:"0px",left:"0px"}},[Wa(t,"default")])}}),Lg=(e,t,n,a)=>{const r={offsetX:0,offsetY:0},i=zt(!1),o=(t,n)=>{if(e.value){const{offsetX:i,offsetY:o}=r,s=e.value.getBoundingClientRect(),l=s.left,c=s.top,d=s.width,u=s.height,_=document.documentElement.clientWidth,p=document.documentElement.clientHeight,m=-l+i,g=-c+o,E=_-l-d+i,f=p-c-(u{const t=e.clientX,n=e.clientY,{offsetX:a,offsetY:s}=r,l=e=>{i.value||(i.value=!0);const r=a+e.clientX-t,l=s+e.clientY-n;o(r,l)},c=()=>{i.value=!1,document.removeEventListener("mousemove",l),document.removeEventListener("mouseup",c)};document.addEventListener("mousemove",l),document.addEventListener("mouseup",c)},l=()=>{t.value&&e.value&&(t.value.removeEventListener("mousedown",s),window.removeEventListener("resize",c))},c=()=>{const{offsetX:e,offsetY:t}=r;o(e,t)};return wa(()=>{Wr(()=>{n.value?t.value&&e.value&&(t.value.addEventListener("mousedown",s),window.addEventListener("resize",c)):l()})}),La(()=>{l()}),{isDragging:i,resetPosition:()=>{r.offsetX=0,r.offsetY=0,e.value&&(e.value.style.transform="")},updatePosition:c}},Mg=(e,t={})=>{Ht(e)||S_("[useLockscreen]","You need to pass a ref param to this function");const n=t.ns||Ls("popup"),a=eo(()=>n.bm("parent","hidden"));if(!Fd||s_(document.body,a.value))return;let r=0,i=!1,o="0";const s=()=>{setTimeout(()=>{"undefined"!=typeof document&&i&&document&&(document.body.style.width=o,c_(document.body,a.value))},200)};Kr(e,e=>{if(!e)return void s();i=!s_(document.body,a.value),i&&(o=document.body.style.width,l_(document.body,a.value)),r=(e=>{var t;if(!Fd)return 0;if(void 0!==g_)return g_;const n=document.createElement("div");n.className=`${e}-scrollbar__wrap`,n.style.visibility="hidden",n.style.width="100px",n.style.position="absolute",n.style.top="-9999px",document.body.appendChild(n);const a=n.offsetWidth;n.style.overflow="scroll";const r=document.createElement("div");r.style.width="100%",n.appendChild(r);const i=r.offsetWidth;return null==(t=n.parentNode)||t.removeChild(n),g_=a-i,g_})(n.namespace.value);const t=document.documentElement.clientHeight0&&(t||"scroll"===l)&&i&&(document.body.style.width=`calc(100% - ${r}px)`)}),ve(()=>s())},Pg=e=>["",...Gu].includes(e);function kg(e,t){let n;const a=zt(!1),r=wt(c(l({},e),{originalPosition:"",originalOverflow:"",visible:!1}));function i(){var e,t;null==(t=null==(e=d.$el)?void 0:e.parentNode)||t.removeChild(d.$el)}function o(){if(!a.value)return;const e=r.parent;a.value=!1,e.vLoadingAddClassList=void 0,function(){const e=r.parent,t=d.ns;if(!e.vLoadingAddClassList){let n=e.getAttribute("loading-number");n=Number.parseInt(n)-1,n?e.setAttribute("loading-number",n.toString()):(c_(e,t.bm("parent","relative")),e.removeAttribute("loading-number")),c_(e,t.bm("parent","hidden"))}i(),s.unmount()}()}const s=Ns(la({name:"ElLoading",setup(e,{expose:t}){const{ns:n,zIndex:a}=Ju("loading");return t({ns:n,zIndex:a}),()=>{const e=r.spinner||r.svg,t=to("svg",l({class:"circular",viewBox:r.svgViewBox?r.svgViewBox:"0 0 50 50"},e?{innerHTML:e}:{}),[to("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),a=r.text?to("p",{class:n.b("text")},[r.text]):void 0;return to(Eo,{name:n.b("fade"),onAfterLeave:o},{default:Ln(()=>[Mn(Ni("div",{style:{backgroundColor:r.background||""},class:[n.b("mask"),r.customClass,r.fullscreen?"is-fullscreen":""]},[to("div",{class:n.b("spinner")},[t,a])]),[[xo,r.visible]])])})}}}));Object.assign(s._context,null!=t?t:{});const d=s.mount(document.createElement("div"));return c(l({},en(r)),{setText:function(e){r.text=e},removeElLoadingChild:i,close:function(){var t;e.beforeClose&&!e.beforeClose()||(a.value=!0,clearTimeout(n),n=setTimeout(o,400),r.visible=!1,null==(t=e.closed)||t.call(e))},handleAfterLeave:o,vm:d,get $el(){return d.$el}})}let Fg;const Ug=function(e={},t){if(!Fd)return;const n=Bg(e);if(n.fullscreen&&Fg)return Fg;const a=kg(c(l({},n),{closed:()=>{var e;null==(e=n.closed)||e.call(n),n.fullscreen&&(Fg=void 0)}}),null!=t?t:Ug._context);Gg(n,n.parent,a),Yg(n,n.parent,a),n.parent.vLoadingAddClassList=()=>Yg(n,n.parent,a);let r=n.parent.getAttribute("loading-number");return r=r?`${Number.parseInt(r)+1}`:"1",n.parent.setAttribute("loading-number",r),n.parent.appendChild(a.$el),Tn(()=>a.visible.value=n.visible),n.fullscreen&&(Fg=a),a},Bg=e=>{var t,n,a,r;let i;return i=x(e.target)?null!=(t=document.querySelector(e.target))?t:document.body:e.target||document.body,{parent:i===document.body||e.body?document.body:i,background:e.background||"",svg:e.svg||"",svgViewBox:e.svgViewBox||"",spinner:e.spinner||!1,text:e.text||"",fullscreen:i===document.body&&(null==(n=e.fullscreen)||n),lock:null!=(a=e.lock)&&a,customClass:e.customClass||"",visible:null==(r=e.visible)||r,beforeClose:e.beforeClose,closed:e.closed,target:i}},Gg=(e,t,n)=>_(void 0,null,function*(){const{nextZIndex:a}=n.vm.zIndex||n.vm._.exposed.zIndex,r={};if(e.fullscreen)n.originalPosition.value=d_(document.body,"position"),n.originalOverflow.value=d_(document.body,"overflow"),r.zIndex=a();else if(e.parent===document.body){n.originalPosition.value=d_(document.body,"position"),yield Tn();for(const t of["top","left"]){const n="top"===t?"scrollTop":"scrollLeft";r[t]=e.target.getBoundingClientRect()[t]+document.body[n]+document.documentElement[n]-Number.parseInt(d_(document.body,`margin-${t}`),10)+"px"}for(const t of["height","width"])r[t]=`${e.target.getBoundingClientRect()[t]}px`}else n.originalPosition.value=d_(t,"position");for(const[e,t]of Object.entries(r))n.$el.style[e]=t}),Yg=(e,t,n)=>{const a=n.vm.ns||n.vm._.exposed.ns;["absolute","fixed","sticky"].includes(n.originalPosition.value)?c_(t,a.bm("parent","relative")):l_(t,a.bm("parent","relative")),e.fullscreen&&e.lock?l_(t,a.bm("parent","hidden")):c_(t,a.bm("parent","hidden"))};Ug._context=null;const Vg=Symbol("ElLoading"),Hg=e=>`element-loading-${q(e)}`,zg=(e,t)=>{var n,a,r,i;const o=t.instance,s=e=>M(t.value)?t.value[e]:void 0,l=t=>{return n=s(t)||e.getAttribute(Hg(t)),zt(x(n)&&(null==o?void 0:o[n])||n);var n},c=null!=(n=s("fullscreen"))?n:t.modifiers.fullscreen,d={text:l("text"),svg:l("svg"),svgViewBox:l("svgViewBox"),spinner:l("spinner"),background:l("background"),customClass:l("customClass"),fullscreen:c,target:null!=(a=s("target"))?a:c?void 0:e,body:null!=(r=s("body"))?r:t.modifiers.body,lock:null!=(i=s("lock"))?i:t.modifiers.lock},u=Ug(d);u._context=qg._context,e[Vg]={options:d,instance:u}},qg={mounted(e,t){t.value&&zg(e,t)},updated(e,t){const n=e[Vg];if(!t.value)return null==n||n.instance.close(),void(e[Vg]=null);n?((e,t)=>{for(const n of Object.keys(e))Ht(e[n])&&(e[n].value=t[n])})(n.options,M(t.value)?t.value:{text:e.getAttribute(Hg("text")),svg:e.getAttribute(Hg("svg")),svgViewBox:e.getAttribute(Hg("svgViewBox")),spinner:e.getAttribute(Hg("spinner")),background:e.getAttribute(Hg("background")),customClass:e.getAttribute(Hg("customClass"))}):zg(e,t)},unmounted(e){var t;null==(t=e[Vg])||t.instance.close(),e[Vg]=null},_context:null},$g={install(e){Ug._context=e._context,qg._context=e._context,e.directive("loading",qg),e.config.globalProperties.$loading=Ug},directive:qg,service:Ug},jg=["primary","success","info","warning","error"],Wg=["top","top-left","top-right","bottom","bottom-left","bottom-right"],Kg="top",Qg={customClass:"",dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,placement:void 0,zIndex:0,grouping:!1,repeatNum:1,appendTo:Fd?document.body:void 0},Xg=Bu({customClass:{type:String,default:Qg.customClass},dangerouslyUseHTMLString:{type:Boolean,default:Qg.dangerouslyUseHTMLString},duration:{type:Number,default:Qg.duration},icon:{type:Ap,default:Qg.icon},id:{type:String,default:Qg.id},message:{type:[String,Object,Function],default:Qg.message},onClose:{type:Function,default:Qg.onClose},showClose:{type:Boolean,default:Qg.showClose},type:{type:String,values:jg,default:Qg.type},plain:{type:Boolean,default:Qg.plain},offset:{type:Number,default:Qg.offset},placement:{type:String,values:Wg,default:Qg.placement},zIndex:{type:Number,default:Qg.zIndex},grouping:{type:Boolean,default:Qg.grouping},repeatNum:{type:Number,default:Qg.repeatNum}}),Zg=Dt({}),Jg=(e,t)=>{const{prev:n}=((e,t)=>{const n=Zg[t]||[],a=n.findIndex(t=>t.id===e),r=n[a];let i;return a>0&&(i=n[a-1]),{current:r,prev:i}})(e,t);return n?n.vm.exposed.bottom.value:0};var eE=i_(la(c(l({},la({name:"ElMessage"})),{props:Xg,emits:{destroy:()=>!0},setup(e,{expose:t,emit:n}){const a=e,{Close:r}=wp,i=zt(!1),{ns:o,zIndex:s}=Ju("message"),{currentZIndex:l,nextZIndex:c}=s,d=zt(),u=zt(!1),_=zt(0);let p;const m=eo(()=>a.type?"error"===a.type?"danger":a.type:"info"),g=eo(()=>{const e=a.type;return{[o.bm("icon",e)]:e&&Dp[e]}}),E=eo(()=>a.icon||Dp[a.type]||""),f=eo(()=>a.placement||Kg),S=eo(()=>Jg(a.id,f.value)),b=eo(()=>((e,t,n)=>(Zg[n]||[]).findIndex(t=>t.id===e)>0?16:t)(a.id,a.offset,f.value)+S.value),h=eo(()=>_.value+b.value),v=eo(()=>f.value.includes("left")?o.is("left"):f.value.includes("right")?o.is("right"):o.is("center")),T=eo(()=>f.value.startsWith("top")?"top":"bottom"),y=eo(()=>({[T.value]:`${b.value}px`,zIndex:l.value}));function C(){0!==a.duration&&({stop:p}=Wd(()=>{O()},a.duration))}function R(){null==p||p()}function O(){u.value=!1,Tn(()=>{var e;i.value||(null==(e=a.onClose)||e.call(a),n("destroy"))})}return wa(()=>{C(),c(),u.value=!0}),Kr(()=>a.repeatNum,()=>{R(),C()}),Zd(document,"keydown",function(e){Fm(e)===Mm.esc&&O()}),cu(d,()=>{_.value=d.value.getBoundingClientRect().height}),t({visible:u,bottom:h,close:O}),(e,t)=>(Ei(),vi(Eo,{name:Kt(o).b("fade"),onBeforeEnter:e=>i.value=!0,onBeforeLeave:e.onClose,onAfterLeave:t=>e.$emit("destroy"),persisted:""},{default:Ln(()=>[Mn(Oi("div",{id:e.id,ref_key:"messageRef",ref:d,class:ie([Kt(o).b(),{[Kt(o).m(e.type)]:e.type},Kt(o).is("closable",e.showClose),Kt(o).is("plain",e.plain),Kt(o).is("bottom","bottom"===Kt(T)),Kt(v),e.customClass]),style:ee(Kt(y)),role:"alert",onMouseenter:R,onMouseleave:C},[e.repeatNum>1?(Ei(),vi(Kt(Hm),{key:0,value:e.repeatNum,type:Kt(m),class:ie(Kt(o).e("badge"))},null,8,["value","type","class"])):xi("v-if",!0),Kt(E)?(Ei(),vi(Kt(R_),{key:1,class:ie([Kt(o).e("icon"),Kt(g)])},{default:Ln(()=>[(Ei(),vi(Va(Kt(E))))]),_:1},8,["class"])):xi("v-if",!0),Wa(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(Ei(),hi(di,{key:1},[xi(" Caution here, message could've been compromised, never use user's input as message "),Oi("p",{class:ie(Kt(o).e("content")),innerHTML:e.message},null,10,["innerHTML"])],2112)):(Ei(),hi("p",{key:0,class:ie(Kt(o).e("content"))},_e(e.message),3))]),e.showClose?(Ei(),vi(Kt(R_),{key:2,class:ie(Kt(o).e("closeBtn")),onClick:hs(O,["stop"])},{default:Ln(()=>[Ni(Kt(r))]),_:1},8,["class","onClick"])):xi("v-if",!0)],46,["id"]),[[xo,u.value]])]),_:3},8,["name","onBeforeEnter","onBeforeLeave","onAfterLeave"]))}})),[["__file","message.vue"]]);let tE=1;const nE=e=>{const t=!e||x(e)||Ti(e)||D(e)?{message:e}:e,n=l(l({},Qg),t);return(e=>{if(e.appendTo){if(x(e.appendTo)){let t=document.querySelector(e.appendTo);Rd(t)||(t=document.body),e.appendTo=t}}else e.appendTo=document.body})(n),(e=>{!e.placement&&x(Ag.placement)&&Ag.placement&&(e.placement=Ag.placement),e.placement||(e.placement=Kg),Wg.includes(e.placement)||(e.placement=Kg)})(n),Td(Ag.grouping)&&!n.grouping&&(n.grouping=Ag.grouping),yd(Ag.duration)&&3e3===n.duration&&(n.duration=Ag.duration),yd(Ag.offset)&&16===n.offset&&(n.offset=Ag.offset),Td(Ag.showClose)&&!n.showClose&&(n.showClose=Ag.showClose),Td(Ag.plain)&&!n.plain&&(n.plain=Ag.plain),n},aE=(e,t)=>{var n=e,{appendTo:a}=n,r=d(n,["appendTo"]);const i="message_"+tE++,o=r.onClose,s=document.createElement("div"),u=c(l({},r),{id:i,onClose:()=>{null==o||o(),(e=>{const t=e.props.placement||Kg,n=Zg[t],a=n.indexOf(e);if(-1===a)return;n.splice(a,1);const{handler:r}=e;r.close()})(g)},onDestroy:()=>{Os(null,s)}}),_=Ni(eE,u,D(u.message)||Ti(u.message)?{default:D(u.message)?u.message:()=>u.message}:null);_.appContext=t||rE._context,Os(_,s),a.appendChild(s.firstElementChild);const p=_.component,m={close:()=>{p.exposed.close()}},g={id:i,vnode:_,vm:p,handler:m,props:_.component.props};return g},rE=(e={},t)=>{if(!Fd)return{close:()=>{}};const n=nE(e),a=(r=n.placement||Kg,Zg[r]||(Zg[r]=Dt([])),Zg[r]);var r;if(n.grouping&&a.length){const e=a.find(({vnode:e})=>{var t;return(null==(t=e.props)?void 0:t.message)===n.message});if(e)return e.props.repeatNum+=1,e.props.type=n.type,e.handler}if(yd(Ag.max)&&a.length>=Ag.max)return{close:()=>{}};const i=aE(n,t);return a.push(i),i.handler};jg.forEach(e=>{rE[e]=(t={},n)=>{const a=nE(t);return rE(c(l({},a),{type:e}),n)}}),rE.closeAll=function(e){for(const t in Zg)if(O(Zg,t)){const n=[...Zg[t]];for(const t of n)e&&e!==t.props.type||t.handler.close()}},rE.closeAllByPlacement=function(e){if(!Zg[e])return;[...Zg[e]].forEach(e=>e.handler.close())},rE._context=null;const iE=v_(rE,"$message"),oE="_trap-focus-children",sE=[],lE=e=>{if(0===sE.length)return;const t=Fm(e),n=sE[sE.length-1][oE];if(n.length>0&&t===Mm.tab){if(1===n.length)return e.preventDefault(),void(document.activeElement!==n[0]&&n[0].focus());const t=e.shiftKey,a=e.target===n[0],r=e.target===n[n.length-1];a&&t&&(e.preventDefault(),n[n.length-1].focus()),r&&!t&&(e.preventDefault(),n[0].focus())}};var cE=i_(la({name:"ElMessageBox",directives:{TrapFocus:{beforeMount(e){e[oE]=rm(e),sE.push(e),sE.length<=1&&document.addEventListener("keydown",lE)},updated(e){Tn(()=>{e[oE]=rm(e)})},unmounted(){sE.shift(),0===sE.length&&document.removeEventListener("keydown",lE)}}},components:l({ElButton:Sg,ElFocusTrap:Ym,ElInput:pm,ElOverlay:xg,ElIcon:R_},wp),inheritAttrs:!1,props:{buttonSize:{type:String,validator:Pg},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,overflow:Boolean,roundButton:Boolean,container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:t}){const{locale:n,zIndex:a,ns:r,size:i}=Ju("message-box",eo(()=>e.buttonSize)),{t:o}=n,{nextZIndex:s}=a,d=zt(!1),u=wt({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",closeIcon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:"",inputValidator:void 0,inputErrorMessage:"",message:"",modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonLoadingIcon:Gt(Z_),cancelButtonLoadingIcon:Gt(Z_),confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:s()}),p=eo(()=>{const e=u.type;return{[r.bm("icon",e)]:e&&Dp[e]}}),m=Kp(),g=Kp(),E=eo(()=>{const e=u.type;return u.icon||e&&Dp[e]||""}),f=eo(()=>!!u.message),S=zt(),b=zt(),h=zt(),v=zt(),T=zt(),y=eo(()=>u.confirmButtonClass);Kr(()=>u.inputValue,t=>_(this,null,function*(){yield Tn(),"prompt"===e.boxType&&t&&L()}),{immediate:!0}),Kr(()=>d.value,t=>{var n,a;t&&("prompt"!==e.boxType&&(u.autofocus?h.value=null!=(a=null==(n=T.value)?void 0:n.$el)?a:S.value:h.value=S.value),u.zIndex=s()),"prompt"===e.boxType&&(t?Tn().then(()=>{var e;v.value&&v.value.$el&&(u.autofocus?h.value=null!=(e=M())?e:S.value:h.value=S.value)}):(u.editorErrorMessage="",u.validateError=!1))});const C=eo(()=>e.draggable),R=eo(()=>e.overflow),{isDragging:O}=Lg(S,b,C,R);function N(){d.value&&(d.value=!1,Tn(()=>{u.action&&t("action",u.action)}))}wa(()=>_(this,null,function*(){yield Tn(),e.closeOnHashChange&&window.addEventListener("hashchange",N)})),La(()=>{e.closeOnHashChange&&window.removeEventListener("hashchange",N)});const A=()=>{e.closeOnClickModal&&w(u.distinguishCancelAndClose?"close":"cancel")},I=wg(A),w=t=>{var n;("prompt"!==e.boxType||"confirm"!==t||L())&&(u.action=t,u.beforeClose?null==(n=u.beforeClose)||n.call(u,t,u,N):N())},L=()=>{if("prompt"===e.boxType){const e=u.inputPattern;if(e&&!e.test(u.inputValue||""))return u.editorErrorMessage=u.inputErrorMessage||o("el.messagebox.error"),u.validateError=!0,!1;const t=u.inputValidator;if(D(t)){const e=t(u.inputValue);if(!1===e)return u.editorErrorMessage=u.inputErrorMessage||o("el.messagebox.error"),u.validateError=!0,!1;if(x(e))return u.editorErrorMessage=e,u.validateError=!0,!1}}return u.editorErrorMessage="",u.validateError=!1,!0},M=()=>{var e,t;const n=null==(e=v.value)?void 0:e.$refs;return null!=(t=null==n?void 0:n.input)?t:null==n?void 0:n.textarea},P=()=>{w("close")};return e.lockScroll&&Mg(d),c(l({},en(u)),{ns:r,overlayEvent:I,visible:d,hasMessage:f,typeClass:p,contentId:m,inputId:g,btnSize:i,iconComponent:E,confirmButtonClasses:y,rootRef:S,focusStartRef:h,headerRef:b,inputRef:v,isDragging:O,confirmRef:T,doClose:N,handleClose:P,onCloseRequested:()=>{e.closeOnPressEscape&&P()},handleWrapperClick:A,handleInputEnter:e=>{if("textarea"!==u.inputType)return e.preventDefault(),w("confirm")},handleAction:w,t:o})}}),[["render",function(e,t,n,a,r,i){const o=Ga("el-icon"),s=Ga("el-input"),l=Ga("el-button"),c=Ga("el-focus-trap"),d=Ga("el-overlay");return Ei(),vi(Eo,{name:"fade-in-linear",onAfterLeave:t=>e.$emit("vanish"),persisted:""},{default:Ln(()=>[Mn(Ni(d,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:Ln(()=>[Oi("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:ie(`${e.ns.namespace.value}-overlay-message-box`),onClick:e.overlayEvent.onClick,onMousedown:e.overlayEvent.onMousedown,onMouseup:e.overlayEvent.onMouseup},[Ni(c,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:Ln(()=>[Oi("div",{ref:"rootRef",class:ie([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),e.ns.is("dragging",e.isDragging),{[e.ns.m("center")]:e.center}]),style:ee(e.customStyle),tabindex:"-1",onClick:hs(()=>{},["stop"])},[null!==e.title&&void 0!==e.title?(Ei(),hi("div",{key:0,ref:"headerRef",class:ie([e.ns.e("header"),{"show-close":e.showClose}])},[Oi("div",{class:ie(e.ns.e("title"))},[e.iconComponent&&e.center?(Ei(),vi(o,{key:0,class:ie([e.ns.e("status"),e.typeClass])},{default:Ln(()=>[(Ei(),vi(Va(e.iconComponent)))]),_:1},8,["class"])):xi("v-if",!0),Oi("span",null,_e(e.title),1)],2),e.showClose?(Ei(),hi("button",{key:0,type:"button",class:ie(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:t=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),onKeydown:Ts(hs(t=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"])},[Ni(o,{class:ie(e.ns.e("close"))},{default:Ln(()=>[(Ei(),vi(Va(e.closeIcon||"close")))]),_:1},8,["class"])],42,["aria-label","onClick","onKeydown"])):xi("v-if",!0)],2)):xi("v-if",!0),Oi("div",{id:e.contentId,class:ie(e.ns.e("content"))},[Oi("div",{class:ie(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(Ei(),vi(o,{key:0,class:ie([e.ns.e("status"),e.typeClass])},{default:Ln(()=>[(Ei(),vi(Va(e.iconComponent)))]),_:1},8,["class"])):xi("v-if",!0),e.hasMessage?(Ei(),hi("div",{key:1,class:ie(e.ns.e("message"))},[Wa(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(Ei(),vi(Va(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(Ei(),vi(Va(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0,textContent:_e(e.message)},null,8,["for","textContent"]))])],2)):xi("v-if",!0)],2),Mn(Oi("div",{class:ie(e.ns.e("input"))},[Ni(s,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":t=>e.inputValue=t,type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:ie({invalid:e.validateError}),onKeydown:Ts(e.handleInputEnter,["enter"])},null,8,["id","modelValue","onUpdate:modelValue","type","placeholder","aria-invalid","class","onKeydown"]),Oi("div",{class:ie(e.ns.e("errormsg")),style:ee({visibility:e.editorErrorMessage?"visible":"hidden"})},_e(e.editorErrorMessage),7)],2),[[xo,e.showInput]])],10,["id"]),Oi("div",{class:ie(e.ns.e("btns"))},[e.showCancelButton?(Ei(),vi(l,{key:0,loading:e.cancelButtonLoading,"loading-icon":e.cancelButtonLoadingIcon,class:ie([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:t=>e.handleAction("cancel"),onKeydown:Ts(hs(t=>e.handleAction("cancel"),["prevent"]),["enter"])},{default:Ln(()=>[wi(_e(e.cancelButtonText||e.t("el.messagebox.cancel")),1)]),_:1},8,["loading","loading-icon","class","round","size","onClick","onKeydown"])):xi("v-if",!0),Mn(Ni(l,{ref:"confirmRef",type:"primary",loading:e.confirmButtonLoading,"loading-icon":e.confirmButtonLoadingIcon,class:ie([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:t=>e.handleAction("confirm"),onKeydown:Ts(hs(t=>e.handleAction("confirm"),["prevent"]),["enter"])},{default:Ln(()=>[wi(_e(e.confirmButtonText||e.t("el.messagebox.confirm")),1)]),_:1},8,["loading","loading-icon","class","round","disabled","size","onClick","onKeydown"]),[[xo,e.showConfirmButton]])],2)],14,["onClick"])]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,["aria-label","aria-describedby","onClick","onMousedown","onMouseup"])]),_:3},8,["z-index","overlay-class","mask"]),[[xo,e.visible]])]),_:3},8,["onAfterLeave"])}],["__file","index.vue"]]);const dE=new Map,uE=(e,t,n=null)=>{const a=Ni(cE,e,D(e.message)||Ti(e.message)?{default:D(e.message)?e.message:()=>e.message}:null);return a.appContext=n,Os(a,t),(e=>{let t=document.body;return e.appendTo&&(x(e.appendTo)&&(t=document.querySelector(e.appendTo)),Rd(e.appendTo)&&(t=e.appendTo),Rd(t)||(t=document.body)),t})(e).appendChild(t.firstElementChild),a.component},_E=(e,t)=>{const n=document.createElement("div");e.onVanish=()=>{Os(null,n),dE.delete(r)},e.onAction=t=>{const n=dE.get(r);let i;i=e.showInput?{value:r.inputValue,action:t}:t,e.callback?e.callback(i,a.proxy):"cancel"===t||"close"===t?e.distinguishCancelAndClose&&"cancel"!==t?n.reject("close"):n.reject("cancel"):n.resolve(i)};const a=uE(e,n,t),r=a.proxy;for(const i in e)O(e,i)&&!O(r.$props,i)&&("closeIcon"===i&&M(e[i])?r[i]=Gt(e[i]):r[i]=e[i]);return r.visible=!0,r};function pE(e,t=null){if(!Fd)return Promise.reject();let n;return x(e)||Ti(e)?e={message:e}:n=e.callback,new Promise((a,r)=>{const i=_E(e,null!=t?t:pE._context);dE.set(i,{options:e,callback:n,resolve:a,reject:r})})}const mE={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};["alert","confirm","prompt"].forEach(e=>{pE[e]=function(e){return(t,n,a,r)=>{let i="";return M(n)?(a=n,i=""):i=vd(n)?"":n,pE(Object.assign(l({title:i,message:t,type:""},mE[e]),a,{boxType:e}),r)}}(e)}),pE.close=()=>{dE.forEach((e,t)=>{t.doClose()}),dE.clear()},pE._context=null;const gE=pE;gE.install=e=>{gE._context=e._context,e.config.globalProperties.$msgbox=gE,e.config.globalProperties.$messageBox=gE,e.config.globalProperties.$alert=gE.alert,e.config.globalProperties.$confirm=gE.confirm,e.config.globalProperties.$prompt=gE.prompt};const EE=gE,fE=["primary","success","info","warning","error"],SE=Bu({customClass:{type:String,default:""},dangerouslyUseHTMLString:Boolean,duration:{type:Number,default:4500},icon:{type:Ap},id:{type:String,default:""},message:{type:[String,Object,Function],default:""},offset:{type:Number,default:0},onClick:{type:Function,default:()=>{}},onClose:{type:Function,required:!0},position:{type:String,values:["top-right","top-left","bottom-right","bottom-left"],default:"top-right"},showClose:{type:Boolean,default:!0},title:{type:String,default:""},type:{type:String,values:[...fE,""],default:""},zIndex:Number,closeIcon:{type:Ap,default:G_}});var bE=i_(la(c(l({},la({name:"ElNotification"})),{props:SE,emits:{destroy:()=>!0},setup(e,{expose:t}){const n=e,{ns:a,zIndex:r}=Ju("notification"),{nextZIndex:i,currentZIndex:o}=r,s=zt(!1);let l;const c=eo(()=>{const e=n.type;return e&&Dp[n.type]?a.m(e):""}),d=eo(()=>n.type&&Dp[n.type]||n.icon),u=eo(()=>n.position.endsWith("right")?"right":"left"),_=eo(()=>n.position.startsWith("top")?"top":"bottom"),p=eo(()=>{var e;return{[_.value]:`${n.offset}px`,zIndex:null!=(e=n.zIndex)?e:o.value}});function m(){n.duration>0&&({stop:l}=Wd(()=>{s.value&&E()},n.duration))}function g(){null==l||l()}function E(){s.value=!1}return wa(()=>{m(),i(),s.value=!0}),Zd(document,"keydown",function(e){switch(Fm(e)){case Mm.delete:case Mm.backspace:g();break;case Mm.esc:s.value&&E();break;default:m()}}),t({visible:s,close:E}),(e,t)=>(Ei(),vi(Eo,{name:Kt(a).b("fade"),onBeforeLeave:e.onClose,onAfterLeave:t=>e.$emit("destroy"),persisted:""},{default:Ln(()=>[Mn(Oi("div",{id:e.id,class:ie([Kt(a).b(),e.customClass,Kt(u)]),style:ee(Kt(p)),role:"alert",onMouseenter:g,onMouseleave:m,onClick:e.onClick},[Kt(d)?(Ei(),vi(Kt(R_),{key:0,class:ie([Kt(a).e("icon"),Kt(c)])},{default:Ln(()=>[(Ei(),vi(Va(Kt(d))))]),_:1},8,["class"])):xi("v-if",!0),Oi("div",{class:ie(Kt(a).e("group"))},[Oi("h2",{class:ie(Kt(a).e("title")),textContent:_e(e.title)},null,10,["textContent"]),Mn(Oi("div",{class:ie(Kt(a).e("content")),style:ee(e.title?void 0:{margin:0})},[Wa(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(Ei(),hi(di,{key:1},[xi(" Caution here, message could've been compromised, never use user's input as message "),Oi("p",{innerHTML:e.message},null,8,["innerHTML"])],2112)):(Ei(),hi("p",{key:0},_e(e.message),1))])],6),[[xo,e.message]]),e.showClose?(Ei(),vi(Kt(R_),{key:0,class:ie(Kt(a).e("closeBtn")),onClick:hs(E,["stop"])},{default:Ln(()=>[(Ei(),vi(Va(e.closeIcon)))]),_:1},8,["class","onClick"])):xi("v-if",!0)],2)],46,["id","onClick"]),[[xo,s.value]])]),_:3},8,["name","onBeforeLeave","onAfterLeave"]))}})),[["__file","notification.vue"]]);const hE={"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]};let vE=1;const TE=function(e={},t){if(!Fd)return{close:()=>{}};(x(e)||Ti(e))&&(e={message:e});const n=e.position||"top-right";let a=e.offset||0;hE[n].forEach(({vm:e})=>{var t;a+=((null==(t=e.el)?void 0:t.offsetHeight)||0)+16}),a+=16;const r="notification_"+vE++,i=e.onClose,o=c(l({},e),{offset:a,id:r,onClose:()=>{!function(e,t,n){const a=hE[t],r=a.findIndex(({vm:t})=>{var n;return(null==(n=t.component)?void 0:n.props.id)===e});if(-1===r)return;const{vm:i}=a[r];if(!i)return;null==n||n(i);const o=i.el.offsetHeight,s=t.split("-")[0];a.splice(r,1);const l=a.length;if(l<1)return;for(let c=r;co.message:null);return u.appContext=vd(t)?TE._context:t,u.props.onDestroy=()=>{Os(null,d)},Os(u,d),hE[n].push({vm:u}),s.appendChild(d.firstElementChild),{close:()=>{u.component.exposed.visible.value=!1}}};fE.forEach(e=>{TE[e]=(t={},n)=>((x(t)||Ti(t))&&(t={message:t}),TE(c(l({},t),{type:e}),n))}),TE.closeAll=function(){for(const e of Object.values(hE))e.forEach(({vm:e})=>{e.component.exposed.visible.value=!1})},TE.updateOffsets=function(e="top-right"){var t,n,a,r;let i=(null==(a=null==(n=null==(t=hE[e][0])?void 0:t.vm.component)?void 0:n.props)?void 0:a.offset)||0;for(const{vm:o}of hE[e])o.component.props.offset=i,i+=((null==(r=o.el)?void 0:r.offsetHeight)||0)+16},TE._context=null;const yE=v_(TE,"$notify"); +/*! + * pinia v3.0.3 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */let CE;const RE=e=>CE=e,OE=Symbol();function NE(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var AE,IE;(IE=AE||(AE={})).direct="direct",IE.patchObject="patch object",IE.patchFunction="patch function";const wE=()=>{};function DE(e,t,n,a=wE){e.push(t);const r=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),a())};return!n&&he()&&ve(r),r}function xE(e,...t){e.slice().forEach(e=>{e(...t)})}const LE=e=>e(),ME=Symbol(),PE=Symbol();function kE(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const a=t[n],r=e[n];NE(r)&&NE(a)&&e.hasOwnProperty(n)&&!Ht(a)&&!Pt(a)?e[n]=kE(r,a):e[n]=a}return e}const FE=Symbol();function UE(e){return!NE(e)||!Object.prototype.hasOwnProperty.call(e,FE)}const{assign:BE}=Object;function GE(e){return!(!Ht(e)||!e.effect)}function YE(e,t,n={},a,r,i){let o;const s=BE({actions:{}},n),l={deep:!0};let c,d,u,_=[],p=[];const m=a.state.value[e];let g;function E(t){let n;c=d=!1,"function"==typeof t?(t(a.state.value[e]),n={type:AE.patchFunction,storeId:e,events:u}):(kE(a.state.value[e],t),n={type:AE.patchObject,payload:t,storeId:e,events:u});const r=g=Symbol();Tn().then(()=>{g===r&&(c=!0)}),d=!0,xE(_,n,a.state.value[e])}i||m||(a.state.value[e]={}),zt({});const f=i?function(){const{state:e}=n,t=e?e():{};this.$patch(e=>{BE(e,t)})}:wE;const S=(t,n="")=>{if(ME in t)return t[PE]=n,t;const r=function(){RE(a);const n=Array.from(arguments),i=[],o=[];let s;xE(p,{args:n,name:r[PE],store:b,after:function(e){i.push(e)},onError:function(e){o.push(e)}});try{s=t.apply(this&&this.$id===e?this:b,n)}catch(l){throw xE(o,l),l}return s instanceof Promise?s.then(e=>(xE(i,e),e)).catch(e=>(xE(o,e),Promise.reject(e))):(xE(i,s),s)};return r[ME]=!0,r[PE]=n,r},b=wt({_p:a,$id:e,$onAction:DE.bind(null,p),$patch:E,$reset:f,$subscribe(t,n={}){const r=DE(_,t,n.detached,()=>i()),i=o.run(()=>Kr(()=>a.state.value[e],a=>{("sync"===n.flush?d:c)&&t({storeId:e,type:AE.direct,events:u},a)},BE({},l,n)));return r},$dispose:function(){o.stop(),_=[],p=[],a._s.delete(e)}});a._s.set(e,b);const h=(a._a&&a._a.runWithContext||LE)(()=>a._e.run(()=>(o=be()).run(()=>t({action:S}))));for(const v in h){const t=h[v];if(Ht(t)&&!GE(t)||Pt(t))i||(m&&UE(t)&&(Ht(t)?t.value=m[v]:kE(t,m[v])),a.state.value[e][v]=t);else if("function"==typeof t){const e=S(t,v);h[v]=e,s.actions[v]=t}}return BE(b,h),BE(Bt(b),h),Object.defineProperty(b,"$state",{get:()=>a.state.value[e],set:e=>{E(t=>{BE(t,e)})}}),a._p.forEach(e=>{BE(b,o.run(()=>e({store:b,app:a._a,pinia:a,options:s})))}),m&&i&&n.hydrate&&n.hydrate(b.$state,m),c=!0,d=!0,b} +/*! #__NO_SIDE_EFFECTS__ */function VE(e,t,n){let a;const r="function"==typeof t;function i(n,i){const o=Cr();(n=n||(o?yr(OE,null):null))&&RE(n),(n=CE)._s.has(e)||(r?YE(e,t,a,n):function(e,t,n){const{state:a,actions:r,getters:i}=t,o=n.state.value[e];let s;s=YE(e,function(){o||(n.state.value[e]=a?a():{});const t=en(n.state.value[e]);return BE(t,r,Object.keys(i||{}).reduce((t,a)=>(t[a]=Gt(eo(()=>{RE(n);const t=n._s.get(e);return i[a].call(t,t)})),t),{}))},t,n,0,!0)}(e,a,n));return n._s.get(e)}return a=r?n:t,i.$id=e,i}function HE(e){const t=Bt(e),n={};for(const a in t){const r=t[a];r.effect?n[a]=eo({get:()=>e[a],set(t){e[a]=t}}):(Ht(r)||Pt(r))&&(n[a]=an(e,a))}return n}var zE=(e=>(e.LEFT="left",e.TOP="top",e.TOP_LEFT="top-left",e.DUAL_MENU="dual-menu",e))(zE||{}),qE=(e=>(e.DARK="dark",e.LIGHT="light",e.AUTO="auto",e))(qE||{}),$E=(e=>(e.DARK="dark",e.LIGHT="light",e.DESIGN="design",e))($E||{}),jE=(e=>(e.CLOSE="64px",e))(jE||{}),WE=(e=>(e.ZH="zh",e.EN="en",e))(WE||{}),KE=(e=>(e.FULL="100%",e.BOXED="1200px",e))(KE||{}); +/*! + * vue-router v4.5.1 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */ +const QE="undefined"!=typeof document;function XE(e){return"object"==typeof e||"displayName"in e||"props"in e||"__vccOpts"in e}const ZE=Object.assign;function JE(e,t){const n={};for(const a in t){const r=t[a];n[a]=tf(r)?r.map(e):e(r)}return n}const ef=()=>{},tf=Array.isArray,nf=/#/g,af=/&/g,rf=/\//g,of=/=/g,sf=/\?/g,lf=/\+/g,cf=/%5B/g,df=/%5D/g,uf=/%5E/g,_f=/%60/g,pf=/%7B/g,mf=/%7C/g,gf=/%7D/g,Ef=/%20/g;function ff(e){return encodeURI(""+e).replace(mf,"|").replace(cf,"[").replace(df,"]")}function Sf(e){return ff(e).replace(lf,"%2B").replace(Ef,"+").replace(nf,"%23").replace(af,"%26").replace(_f,"`").replace(pf,"{").replace(gf,"}").replace(uf,"^")}function bf(e){return Sf(e).replace(of,"%3D")}function hf(e){return null==e?"":function(e){return ff(e).replace(nf,"%23").replace(sf,"%3F")}(e).replace(rf,"%2F")}function vf(e){try{return decodeURIComponent(""+e)}catch(t){}return""+e}const Tf=/\/$/;function yf(e,t,n="/"){let a,r={},i="",o="";const s=t.indexOf("#");let l=t.indexOf("?");return s=0&&(l=-1),l>-1&&(a=t.slice(0,l),i=t.slice(l+1,s>-1?s:t.length),r=e(i)),s>-1&&(a=a||t.slice(0,s),o=t.slice(s,t.length)),a=function(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),a=e.split("/"),r=a[a.length-1];".."!==r&&"."!==r||a.push("");let i,o,s=n.length-1;for(i=0;i1&&s--}return n.slice(0,s).join("/")+"/"+a.slice(i).join("/")}(null!=a?a:t,n),{fullPath:a+(i&&"?")+i+o,path:a,query:r,hash:vf(o)}}function Cf(e,t){return t&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length)||"/":e}function Rf(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Of(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Nf(e[n],t[n]))return!1;return!0}function Nf(e,t){return tf(e)?Af(e,t):tf(t)?Af(t,e):e===t}function Af(e,t){return tf(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):1===e.length&&e[0]===t}const If={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var wf,Df,xf,Lf;function Mf(e){if(!e)if(QE){const t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),e.replace(Tf,"")}(Df=wf||(wf={})).pop="pop",Df.push="push",(Lf=xf||(xf={})).back="back",Lf.forward="forward",Lf.unknown="";const Pf=/^[^#]+#/;function kf(e,t){return e.replace(Pf,"#")+t}const Ff=()=>({left:window.scrollX,top:window.scrollY});function Uf(e){let t;if("el"in e){const n=e.el,a="string"==typeof n&&n.startsWith("#"),r="string"==typeof n?a?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=function(e,t){const n=document.documentElement.getBoundingClientRect(),a=e.getBoundingClientRect();return{behavior:t.behavior,left:a.left-n.left-(t.left||0),top:a.top-n.top-(t.top||0)}}(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(null!=t.left?t.left:window.scrollX,null!=t.top?t.top:window.scrollY)}function Bf(e,t){return(history.state?history.state.position-t:-1)+e}const Gf=new Map;function Yf(e,t){const{pathname:n,search:a,hash:r}=t,i=e.indexOf("#");if(i>-1){let t=r.includes(e.slice(i))?e.slice(i).length:1,n=r.slice(t);return"/"!==n[0]&&(n="/"+n),Cf(n,"")}return Cf(n,e)+a+r}function Vf(e,t,n,a=!1,r=!1){return{back:e,current:t,forward:n,replaced:a,position:window.history.length,scroll:r?Ff():null}}function Hf(e){const{history:t,location:n}=window,a={value:Yf(e,n)},r={value:t.state};function i(a,i,o){const s=e.indexOf("#"),l=s>-1?(n.host&&document.querySelector("base")?e:e.slice(s))+a:location.protocol+"//"+location.host+e+a;try{t[o?"replaceState":"pushState"](i,"",l),r.value=i}catch(c){n[o?"replace":"assign"](l)}}return r.value||i(a.value,{back:null,current:a.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0),{location:a,state:r,push:function(e,n){const o=ZE({},r.value,t.state,{forward:e,scroll:Ff()});i(o.current,o,!0),i(e,ZE({},Vf(a.value,e,null),{position:o.position+1},n),!1),a.value=e},replace:function(e,n){i(e,ZE({},t.state,Vf(r.value.back,e,r.value.forward,!0),n,{position:r.value.position}),!0),a.value=e}}}function zf(e){return"string"==typeof e||"symbol"==typeof e}const qf=Symbol("");var $f,jf;function Wf(e,t){return ZE(new Error,{type:e,[qf]:!0},t)}function Kf(e,t){return e instanceof Error&&qf in e&&(null==t||!!(e.type&t))}(jf=$f||($f={}))[jf.aborted=4]="aborted",jf[jf.cancelled=8]="cancelled",jf[jf.duplicated=16]="duplicated";const Qf="[^/]+?",Xf={sensitive:!1,strict:!1,start:!0,end:!0},Zf=/[.+*?^${}()[\]/\\]/g;function Jf(e,t){let n=0;for(;nt.length?1===t.length&&80===t[0]?1:-1:0}function eS(e,t){let n=0;const a=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const nS={type:0,value:""},aS=/[a-zA-Z0-9_]/;function rS(e,t,n){const a=function(e,t){const n=ZE({},Xf,t),a=[];let r=n.start?"^":"";const i=[];for(const l of e){const e=l.length?[]:[90];n.strict&&!l.length&&(r+="/");for(let t=0;t1&&("*"===s||"+"===s)&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:c,regexp:d,repeatable:"*"===s||"+"===s,optional:"*"===s||"?"===s})):t("Invalid state to consume buffer"),c="")}function _(){c+=s}for(;l{i(_)}:ef}function i(e){if(zf(e)){const t=a.get(e);t&&(a.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(i),t.alias.forEach(i))}else{const t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&a.delete(e.record.name),e.children.forEach(i),e.alias.forEach(i))}}function o(e){const t=function(e,t){let n=0,a=t.length;for(;n!==a;){const r=n+a>>1;eS(e,t[r])<0?a=r:n=r+1}const r=function(e){let t=e;for(;t=t.parent;)if(_S(t)&&0===eS(e,t))return t;return}(e);r&&(a=t.lastIndexOf(r,a-1));return a}(e,n);n.splice(t,0,e),e.record.name&&!cS(e)&&a.set(e.record.name,e)}return t=uS({strict:!1,end:!0,sensitive:!1},t),e.forEach(e=>r(e)),{addRoute:r,resolve:function(e,t){let r,i,o,s={};if("name"in e&&e.name){if(r=a.get(e.name),!r)throw Wf(1,{location:e});o=r.record.name,s=ZE(oS(t.params,r.keys.filter(e=>!e.optional).concat(r.parent?r.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&oS(e.params,r.keys.map(e=>e.name))),i=r.stringify(s)}else if(null!=e.path)i=e.path,r=n.find(e=>e.re.test(i)),r&&(s=r.parse(i),o=r.record.name);else{if(r=t.name?a.get(t.name):n.find(e=>e.re.test(t.path)),!r)throw Wf(1,{location:e,currentLocation:t});o=r.record.name,s=ZE({},t.params,e.params),i=r.stringify(s)}const l=[];let c=r;for(;c;)l.unshift(c.record),c=c.parent;return{name:o,path:i,params:s,matched:l,meta:dS(l)}},removeRoute:i,clearRoutes:function(){n.length=0,a.clear()},getRoutes:function(){return n},getRecordMatcher:function(e){return a.get(e)}}}function oS(e,t){const n={};for(const a of t)a in e&&(n[a]=e[a]);return n}function sS(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:lS(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function lS(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const a in e.components)t[a]="object"==typeof n?n[a]:n;return t}function cS(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function dS(e){return e.reduce((e,t)=>ZE(e,t.meta),{})}function uS(e,t){const n={};for(const a in e)n[a]=a in t?t[a]:e[a];return n}function _S({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function pS(e){const t={};if(""===e||"?"===e)return t;const n=("?"===e[0]?e.slice(1):e).split("&");for(let a=0;ae&&Sf(e)):[a&&Sf(a)]).forEach(e=>{void 0!==e&&(t+=(t.length?"&":"")+n,null!=e&&(t+="="+e))})}return t}function gS(e){const t={};for(const n in e){const a=e[n];void 0!==a&&(t[n]=tf(a)?a.map(e=>null==e?null:""+e):null==a?a:""+a)}return t}const ES=Symbol(""),fS=Symbol(""),SS=Symbol(""),bS=Symbol(""),hS=Symbol("");function vS(){let e=[];return{add:function(t){return e.push(t),()=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)}},list:()=>e.slice(),reset:function(){e=[]}}}function TS(e,t,n,a,r,i=e=>e()){const o=a&&(a.enterCallbacks[r]=a.enterCallbacks[r]||[]);return()=>new Promise((s,l)=>{const c=e=>{var i;!1===e?l(Wf(4,{from:n,to:t})):e instanceof Error?l(e):"string"==typeof(i=e)||i&&"object"==typeof i?l(Wf(2,{from:t,to:e})):(o&&a.enterCallbacks[r]===o&&"function"==typeof e&&o.push(e),s())},d=i(()=>e.call(a&&a.instances[r],t,n,c));let u=Promise.resolve(d);e.length<3&&(u=u.then(c)),u.catch(e=>l(e))})}function yS(e,t,n,a,r=e=>e()){const i=[];for(const o of e)for(const e in o.components){let s=o.components[e];if("beforeRouteEnter"===t||o.instances[e])if(XE(s)){const l=(s.__vccOpts||s)[t];l&&i.push(TS(l,n,a,o,e,r))}else{let l=s();i.push(()=>l.then(i=>{if(!i)throw new Error(`Couldn't resolve component "${e}" at "${o.path}"`);const s=(l=i).__esModule||"Module"===l[Symbol.toStringTag]||l.default&&XE(l.default)?i.default:i;var l;o.mods[e]=i,o.components[e]=s;const c=(s.__vccOpts||s)[t];return c&&TS(c,n,a,o,e,r)()}))}}return i}function CS(e){const t=yr(SS),n=yr(bS),a=eo(()=>{const n=Kt(e.to);return t.resolve(n)}),r=eo(()=>{const{matched:e}=a.value,{length:t}=e,r=e[t-1],i=n.matched;if(!r||!i.length)return-1;const o=i.findIndex(Rf.bind(null,r));if(o>-1)return o;const s=OS(e[t-2]);return t>1&&OS(r)===s&&i[i.length-1].path!==s?i.findIndex(Rf.bind(null,e[t-2])):o}),i=eo(()=>r.value>-1&&function(e,t){for(const n in t){const a=t[n],r=e[n];if("string"==typeof a){if(a!==r)return!1}else if(!tf(r)||r.length!==a.length||a.some((e,t)=>e!==r[t]))return!1}return!0}(n.params,a.value.params)),o=eo(()=>r.value>-1&&r.value===n.matched.length-1&&Of(n.params,a.value.params));return{route:a,href:eo(()=>a.value.href),isActive:i,isExactActive:o,navigate:function(n={}){if(function(e){if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)return;if(e.defaultPrevented)return;if(void 0!==e.button&&0!==e.button)return;if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}e.preventDefault&&e.preventDefault();return!0}(n)){const n=t[Kt(e.replace)?"replace":"push"](Kt(e.to)).catch(ef);return e.viewTransition&&"undefined"!=typeof document&&"startViewTransition"in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}}}const RS=la({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"},viewTransition:Boolean},useLink:CS,setup(e,{slots:t}){const n=wt(CS(e)),{options:a}=yr(SS),r=eo(()=>({[NS(e.activeClass,a.linkActiveClass,"router-link-active")]:n.isActive,[NS(e.exactActiveClass,a.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const a=t.default&&(1===(i=t.default(n)).length?i[0]:i);var i;return e.custom?a:to("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},a)}}});function OS(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const NS=(e,t,n)=>null!=e?e:null!=t?t:n;function AS(e,t){if(!e)return null;const n=e(t);return 1===n.length?n[0]:n}const IS=la({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const a=yr(hS),r=eo(()=>e.route||a.value),i=yr(fS,0),o=eo(()=>{let e=Kt(i);const{matched:t}=r.value;let n;for(;(n=t[e])&&!n.components;)e++;return e}),s=eo(()=>r.value.matched[o.value]);Tr(fS,eo(()=>o.value+1)),Tr(ES,s),Tr(hS,r);const l=zt();return Kr(()=>[l.value,s.value,e.name],([e,t,n],[a,r,i])=>{t&&(t.instances[n]=e,r&&r!==t&&e&&e===a&&(t.leaveGuards.size||(t.leaveGuards=r.leaveGuards),t.updateGuards.size||(t.updateGuards=r.updateGuards))),!e||!t||r&&Rf(t,r)&&a||(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:"post"}),()=>{const a=r.value,i=e.name,o=s.value,c=o&&o.components[i];if(!c)return AS(n.default,{Component:c,route:a});const d=o.props[i],u=d?!0===d?a.params:"function"==typeof d?d(a):d:null,_=to(c,ZE({},u,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[i]=null)},ref:l}));return AS(n.default,{Component:_,route:a})||_}}});function wS(){return yr(SS)}function DS(e){return yr(bS)}const xS={},LS=function(e,t,n){let a=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const e=document.querySelector("meta[property=csp-nonce]"),n=(null==e?void 0:e.nonce)||(null==e?void 0:e.getAttribute("nonce"));a=Promise.allSettled(t.map(e=>{if((e=function(e){return"/admin/"+e}(e))in xS)return;xS[e]=!0;const t=e.endsWith(".css"),a=t?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${e}"]${a}`))return;const r=document.createElement("link");return r.rel=t?"stylesheet":"modulepreload",t||(r.as="script"),r.crossOrigin="",r.href=e,n&&r.setAttribute("nonce",n),document.head.appendChild(r),t?new Promise((t,n)=>{r.addEventListener("load",t),r.addEventListener("error",()=>n(new Error(`Unable to preload CSS for ${e}`)))}):void 0}))}function r(e){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return a.then(t=>{for(const e of t||[])"rejected"===e.status&&r(e.reason);return e().catch(r)})},MS=[{path:"/welcome",name:"WelcomeStatic",component:()=>LS(()=>import("./index-Cg76DmSa.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129])),meta:{title:"menus.dashboard.title"}},{path:"/auth/login",name:"Login",component:()=>LS(()=>import("./index-BRWPcNau.js"),__vite__mapDeps([130,20,21,26,131,132,5,6,7,8,133,11,90,134,135,136,137,138,100,39,38,139,140,17,3,4,9,10,12,13,14,58,141,142,64,62,35,36,37])),meta:{title:"menus.login.title",isHideTab:!0}},{path:"/auth/register",name:"Register",component:()=>LS(()=>import("./index-CK9ybLMc.js"),__vite__mapDeps([143,131,132,5,6,7,8,133,11,90,134,20,21,135,26,136,137,138,100,39,38,140,17,3,58,144,142,64,62])),meta:{title:"menus.register.title",isHideTab:!0}},{path:"/auth/forget-password",name:"ForgetPassword",component:()=>LS(()=>import("./index-D9BDvlwO.js"),__vite__mapDeps([145,131,132,5,6,7,8,133,11,90,134,20,21,135,26,136,137,138,100,39,38,146,62])),meta:{title:"menus.forgetPassword.title",isHideTab:!0}},{path:"/403",name:"Exception403",component:()=>LS(()=>import("./index-C5DZ7Oey.js"),__vite__mapDeps([147,148,136,26,137,100])),meta:{title:"403",isHideTab:!0}},{path:"/:pathMatch(.*)*",name:"Exception404",component:()=>LS(()=>import("./index-B68OhD7Z.js"),__vite__mapDeps([149,148,136,26,137,100])),meta:{title:"404",isHideTab:!0}},{path:"/500",name:"Exception500",component:()=>LS(()=>import("./index-CiCawzce.js"),__vite__mapDeps([150,148,136,26,137,100])),meta:{title:"500",isHideTab:!0}},{path:"/outside",component:()=>LS(()=>import("./index-BWpRQH81.js"),__vite__mapDeps([151,20,21,152,26,132,5,6,7,8,133,11,90,134,41,153,14,154,155,135,156,100,39,157,38])),name:"Outside",meta:{title:"menus.outside.title"},children:[{path:"/outside/iframe/:path",name:"Iframe",component:()=>LS(()=>import("./Iframe-N6cwNV9d.js"),[]),meta:{title:"iframe"}}]}],PS={light:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAACSBAMAAADcJrmuAAAAD1BMVEXy8vX////29vj9/f34+Pox8uq3AAABTElEQVRo3u2VwW3EMAwEhcs1QKuBE5QCYlfg9N9UcjHyMUQQtlaASOz89jWwzCUTIYQQQgghhJCUPleBo9ueYoDVrTIAwMdBdEUMsLpvGQHg10F0ojBat6VU9YDWbe9Q9YDV5dc7PFY9QHXLkYoeoLqvI33oAap7HemhB6juP+qBull19qh4LoJdc89LzFzRvg/QH3GvOXXUzahLWKhrQB111P0SS1elj+2S7im97Fd0RXpZruhW6SVf0Uk/E+sAjznxqACKMHHNG0TamWeoo24OXe1sccJe8x2qK/YGtoAeoAzViYlnnf2YnkfFLoLnmjeItDPPUEfdHLoqd9igS8xmR65omwV5gGwy9LzauNDdfkwXo3K7CC5q3iDSzjxDHXVz6GpHj4FLbB+iKx07GHmA8hCdqETQ6Y8ZYVT0IkSoeYNIO/MMddQN1v0AFy9OBRBx85QAAAAASUVORK5CYII=",dark:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAACSBAMAAADcJrmuAAAAG1BMVEUnJyo/P0ZSUlxKSlNOTlc5OT8vLzJDQ0s0NDkX0J24AAABYElEQVRo3u2XMWrEMBBFVW47LM4BHEPqTZPeN3CzvQtD6uQCzs1j4lRGw2DPF2jEf900eqxW/w9OhBBCCCGEEEJS+pwEjm67iQFWN0kBHD8OqpvFAKv7kRI4/jqoThx4dN/j8KEPaN2933joA1g39huDPmB19/6Phz5AdV/7oW/6ANW974e+6gNUN+6HDvoA1fX/6ENknX2ZkZ+KHYTIMTdLLHZFGwso+nqljjrqJGGhLgN11FG30ZZuER/PU7qbeFnP6Gbx8nJGN4mX7oxO/FSsA1xmxU8FEISKY56hpc48Qh11degWZ4oTdpuvUN1sN7AFdAF1UJ2YRNbZlxn5qdhBiBzzDC115hHqqKtDt8gVntASs1mxFe1qbvznZAddrzYhdJcvM8RTuRyEEDHP0FJnHqGOujp0iyPHwBJbi+hmRwcjF1BXRCcqLej0y2zhqehBaCHmGVrqzCPUUVdY9wter4K58MOVTQAAAABJRU5ErkJggg==",system:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAACSBAMAAADcJrmuAAAAJFBMVEXy8vUREREzMzP////4+Pr19fgcHBz8/P0rKysyMjIwMDAjIyPGISqaAAABlElEQVRo3u3XsUoEMRAGYItdrNMc1hZhY5t7AMHCduEE67MSKyG+gM09iIX9vqFeooRwhGGTIZfk/umm+iA3/8ztVWKJtAIHDhw4cODAgQMHDhy4Orkno+N1m1ZxbdC6JGeKcoMuyu3Kcg9lOVOW02fiPubx8aSx3EGIV25u639I31juW/zWGzM3H5sxaBx3tz9ymy9Wbuvn1DeWk8LWCyv37rrroLHcp+NuWLl71w1BY7m94zas3Oy6MWgsJ/6Klftvg6Ybjn7MlkeFDkLLMaeXWNMrmjhArZ9XcODAaebPSXDgwIG7BO45b0WrwypuyL4Iyxpul83JNZzJ5qY1nM7mVMUcw2NWPCoMQag45p3vTHDg6uQiMfcppor3mi8kxLqiJStnKG5i5TTFqZY5+jFbHhU6CC3HvPOdCQ5cnVzCn/Yw/UW+zRfOFU2X5DxAdE2c55Uu1QSX/JhNjEpyEJqIeec7Exy4OrnTmIc5LvRtvpAA64qWJMB6gCYSYD2vqgcu/pg9jEo8CD3EvPOdCQ5cYe4H2qWIxMTt67gAAAAASUVORK5CYII="},kS={vertical:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAACSBAMAAADcJrmuAAAAFVBMVEXy8vX6+vrd3d339/jx8fLu7vHj4+RfzH3aAAABXUlEQVRo3u2bwW3DMAxFCdgdgOAGBpqztIEPGqDoCNl/iDZBgVhpAsogJdvyfzeeHv4hMBlSBAAAAGR8XKeMyxfV5Ht64pNqcn3WXagm0z9oAXRrdbwAui50ka3ICt3A0Uwo10VhM1KuY452yn/mImxH0yEd0iHdlukii51y3eCQLpTrKIqZHX9eb0AH3Xl0fU9Ap9QpM4K46vQZIbjqorA9nmevQjqevQrSbZ+OF7im03VI10M6fUbw1OkzQvDU6TPCsT+vN6Bz040pzUrhqBvTL7NS+OnSHaVw043pzvy+OLIu/fG+gK7FHkHW6wZ2WCA02iOIa6+i49qr6CBdi3Q51dPlIF0P6Wx7BHrQYI8Q6EGDPcIR2loi6Hb+1zd00EGn7BFMiKqrfmuU43xrhJsHpEO6U6bjBfXS6XsEO5rO+dZI0+HWCLr9jCQd60oedxz36cqLhzkAAAC25QfLWMrPbjC6qQAAAABJRU5ErkJggg==",horizontal:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAACSBAMAAADcJrmuAAAAGFBMVEXy8vX4+Pjd3d36+vrx8fL09Pbu7vHj4+RNYWVgAAABPElEQVRo3u3XMUoEQRCFYQPHvCi8wAQaF7K5wRzAvoF4BO8fKI3giF3gMPPKWfi/rDfYx6MYuusGALDZ3fus9fi6jnub1R7Wcdpyvd46btYjjrgriXtamw/8iTjiiPt0is/8B+KIO0NcwcOv+Flb/WgHAOCXyWReBnHNQuV+EGduKjGK07WzQZzL2rkP27mI1baL2tnVtvPa2Vltu6idnZW289rZmQ3bNVG7iLgML6CQ6BcQvt0uy3N+EKT1f00Px1q6/CAo10tkh2uOW77kB+KI+2Pc+T+ESbHq5JpJVp1OtAHFhjgTrDo5d8mq02leYlbbLmpnV9vOa2dnte2idna17bx2drapXXPBqpObjFUHAPAPJsW2k2t2wLaj24BiZ5wJtp2c0452tKPdjnb7N6DL3gvIt2DbAQAg9wFGfUhczPxdQQAAAABJRU5ErkJggg==",mixed:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAACSBAMAAADcJrmuAAAAFVBMVEXy8vX6+vrd3d3x8fL4+Pjf39/l5eb3qVelAAABVUlEQVRo3u2bUQqCQBRFB2wDA65AqG9h6L+2UNACgva/hUSC1FfdzPto1Hv+xvdxeILvPoQJQgghRlPcqh6XOniyrwacgyfXoW5nmp6AeV+nYXVrmp6AeV+2+myaxA7rThWPLdZVTP6qix2kW4huUMBP7CPpPHV9pFuIbhGJIN2ydP6rkd/iB0a041prdfylHejYSNci3ThdH+mky1x3jATKb3WbSOGAdaY5QntIF0msTtctSyeddA3sIZbniCYFUK7xavDXFSnV4EDUFamhBgeeLrWAA01XpJb6/WHOuvTg/UG6zyNaOqKO+iFg3cQAKn/UbUh5Sl0ecHveq9G4z1w66aRbjc5tiBl8R7RhUgDl9+tbOumky+hXQAjSSUcLIExJjVfMgbk8YEqsi0zWpOtWpJNOugaXIZbdiGYGUIbxygRcXTG4XsyxzPba0YtLVUIIkT93VIcamQMOVTAAAAAASUVORK5CYII=",dualColumn:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAACSBAMAAADcJrmuAAAAFVBMVEXy8vX4+Pjd3d36+vru7u7x8fLj4+QsU3hHAAABqElEQVRo3u2bUU6EMBRFO4n+c/N2QIzfEjdgjAvghw24/0VYh0xqqqFyaV+AueevXydnmikQHkEIIdqAxHX98NnfeH6rbrsg0YXIe594qq4DsrwYl/La6/qfSNdABxpGd4GRoPul+5hJuteZpIOBZACjw0BijM7YOoNRdcYBz7rrHnjuHeBZZxHHvUOE+JuzdUOE0LF751tn31B1xgCy7oKB3boX7gLEbt0RLq/SSbd0REsnnXSRc/zN96fDMoyOf75DV1cHwxKGyrpCXWWdFepMdaoj6tgjmqrjdaqrX1d+vrOuri4U6vZ886B7FemkW9ZNY7jxOGWLFrppTIJ80UI3hZkpki2a6MbUky9OoJvSz5cvKh/RSYf1sDruDRc6XgfDWgwbdETdBp0RdcbpRt+60bcusHXkEc3WcRcgz7q4pusoneoKdR5vuKzjdYGoO8CNn3Q7f5yUTjrpTn+q3L0O/2KXE4wF3cYJRkaHgcQI3aYJRqrOOOBbt2YKThOMy8C3bvCdPvWtM9+9A1FXaYKxrNMEo3R70v35Yc5RPzsqfFQlhBDCny+6r+IVe0J7SwAAAABJRU5ErkJggg=="},FS={design:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAACSBAMAAADcJrmuAAAAD1BMVEXy8vX////5+fnx8fHd3d0ah087AAAAyklEQVRo3u3Z0Q2AIAxFUeIGbmBYgRXcfyYXaEh8PhXKvQucvzaUsncq9uDg4ODg4OAK3G3uDIJLxFU1idtk7lC4qvcrFwcHBwfn5YwjWuCcC6gF+dYrHBzcAE8SOEO2ES1x+gI67FztBgf3BteC4ODm4KQRrXOlx82/XuHg4OBG5VrQx2cc45FK4aoeHFye4zAcXPp/hNzbPDeX+9IOBzcm5x/Rj7lNXzofrFc4OLiluRa0Fmcc0f4j1UjrFW7eJwkcHBwcHBycswty2jT2B1pWhwAAAABJRU5ErkJggg==",dark:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAACSBAMAAADcJrmuAAAAD1BMVEXy8vUnJyr5+fk/P0bz8/YkmYUBAAAA0ElEQVRo3u3ZwQ3EMAhEUR/SwHZgWenADVjbf1FpwCIyIg6QPw28GyOg/IQU88DBwcHBwcEVuGWuTwKXhzuaNkPD/dXcqeGaPq9y88DBwcHZcnYjui5wFgUUoF7h4NJzuTcguEOewlLMC+g055oYOLgnuD4JHFwMThzRde+RakSvVzg4ODi3HH+EdhO/fwS4uJzD4zAcXPo/Qu42z83lvrTDwfnk7Ef0ePSPIO8FG+oVDg7u01yf5Fvc2oiue49Uw1G9wsVdSeDg4ODg4OAscwFb7y6GSsIW5AAAAABJRU5ErkJggg==",light:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAACSBAMAAADcJrmuAAAAElBMVEXy8vX////5+fnx8fHd3d1VVVVl+HYBAAAAzklEQVRo3u3ZYQ2FMAxF4QUHzwGZhVl4FvBvBQE0S7hcYCvnGPj+tVlXfp2KPTg4ODg4OLgCd5rb/sfgEnFVTeIWmVsVruq9ysXBwcHBeTnjiBY45wJqQb71CgcHN8CTBM6QbURLnL6AVjtXu8HB3cG1IDi4OThpROtc6XHzr1c4ODi4UbkW9PAZx3ikUriqBweX5zgMB5f+HyH3Ns/N5b60w8GNyflH9GVu0ZfOA+sVDg7u01wL+hZnHNH+I9VI6xVu3icJHBwcHBwcnLMdqYI1ftKrSesAAAAASUVORK5CYII="},US={GITHUB:"https://github.com/Daymychen/art-design-pro",DOCS:"https://www.artd.pro/docs/zh/",COMMUNITY:"https://www.artd.pro/docs/zh/community/communicate.html",BILIBILI:"https://space.bilibili.com/425500936?spm_id_from=333.1007.0.0"},BS={minWidth:1200,applications:[{name:"工作台",description:"系统概览与数据统计",icon:"ri:pie-chart-line",iconColor:"#377dff",enabled:!0,order:1,routeName:"Console"},{name:"分析页",description:"数据分析与可视化",icon:"ri:game-line",iconColor:"#ff3b30",enabled:!0,order:2,routeName:"Analysis"},{name:"礼花效果",description:"动画特效展示",icon:"ri:loader-line",iconColor:"#7A7FFF",enabled:!0,order:3,routeName:"Fireworks"},{name:"聊天",description:"即时通讯功能",icon:"ri:user-line",iconColor:"#13DEB9",enabled:!0,order:4,routeName:"Chat"},{name:"官方文档",description:"使用指南与开发文档",icon:"ri:bill-line",iconColor:"#ffb100",enabled:!0,order:5,link:US.DOCS},{name:"技术支持",description:"技术支持与问题反馈",icon:"ri:user-location-line",iconColor:"#ff6b6b",enabled:!0,order:6,link:US.COMMUNITY},{name:"更新日志",description:"版本更新与变更记录",icon:"ri:gamepad-line",iconColor:"#38C0FC",enabled:!0,order:7,routeName:"ChangeLog"},{name:"哔哩哔哩",description:"技术分享与交流",icon:"ri:bilibili-line",iconColor:"#FB7299",enabled:!0,order:8,link:US.BILIBILI}],quickLinks:[{name:"登录",enabled:!0,order:1,routeName:"Login"},{name:"注册",enabled:!0,order:2,routeName:"Register"},{name:"忘记密码",enabled:!0,order:3,routeName:"ForgetPassword"},{name:"定价",enabled:!0,order:4,routeName:"Pricing"},{name:"个人中心",enabled:!0,order:5,routeName:"UserCenter"},{name:"留言管理",enabled:!0,order:6,routeName:"ArticleComment"}]},GS=Object.freeze(BS),YS={menuButton:{enabled:!0,description:"控制左侧菜单的展开/收起按钮"},refreshButton:{enabled:!0,description:"页面刷新按钮"},fastEnter:{enabled:!0,description:"快速入口功能,提供常用应用和链接的快速访问"},breadcrumb:{enabled:!0,description:"面包屑导航,显示当前页面路径"},globalSearch:{enabled:!0,description:"全局搜索功能,支持快捷键 Ctrl+K 或 Cmd+K"},fullscreen:{enabled:!0,description:"全屏切换功能"},notification:{enabled:!0,description:"通知中心,显示系统通知和消息"},chat:{enabled:!0,description:"聊天功能,提供实时沟通"},language:{enabled:!0,description:"多语言切换功能"},settings:{enabled:!0,description:"系统设置面板"},themeToggle:{enabled:!0,description:"主题切换功能(明暗主题)"}},VS={systemInfo:{name:"BindBox Admin"},systemThemeStyles:{[qE.LIGHT]:{className:""},[qE.DARK]:{className:qE.DARK}},settingThemeList:[{name:"Light",theme:qE.LIGHT,color:["#fff","#fff"],leftLineColor:"#EDEEF0",rightLineColor:"#EDEEF0",img:PS.light},{name:"Dark",theme:qE.DARK,color:["#22252A"],leftLineColor:"#3F4257",rightLineColor:"#3F4257",img:PS.dark},{name:"System",theme:qE.AUTO,color:["#fff","#22252A"],leftLineColor:"#EDEEF0",rightLineColor:"#3F4257",img:PS.system}],menuLayoutList:[{name:"Left",value:zE.LEFT,img:kS.vertical},{name:"Top",value:zE.TOP,img:kS.horizontal},{name:"Mixed",value:zE.TOP_LEFT,img:kS.mixed},{name:"Dual Column",value:zE.DUAL_MENU,img:kS.dualColumn}],themeList:[{theme:$E.DESIGN,background:"#FFFFFF",systemNameColor:"var(--art-gray-800)",iconColor:"#6B6B6B",textColor:"#29343D",img:FS.design},{theme:$E.DARK,background:"#191A23",systemNameColor:"#D9DADB",iconColor:"#BABBBD",textColor:"#BABBBD",img:FS.dark},{theme:$E.LIGHT,background:"#ffffff",systemNameColor:"var(--art-gray-800)",iconColor:"#6B6B6B",textColor:"#29343D",img:FS.light}],darkMenuStyles:[{theme:$E.DARK,background:"var(--default-box-color)",systemNameColor:"#DDDDDD",iconColor:"#BABBBD",textColor:"rgba(#FFFFFF, 0.7)"}],systemMainColor:["#5D87FF","#B48DF3","#1D84FF","#60C041","#38C0FC","#F9901F","#FF80C8"],fastEnter:GS,headerBar:YS},HS=Object.freeze(VS);var zS={exports:{}}; +/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */zS.exports=function(){var e,t,n={version:"0.2.0"},a=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function r(e,t,n){return en?n:e}function i(e){return 100*(-1+e)}function o(e,t,n){var r;return(r="translate3d"===a.positionUsing?{transform:"translate3d("+i(e)+"%,0,0)"}:"translate"===a.positionUsing?{transform:"translate("+i(e)+"%,0)"}:{"margin-left":i(e)+"%"}).transition="all "+t+"ms "+n,r}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(a[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=r(e,a.minimum,1),n.status=1===e?null:e;var i=n.render(!t),c=i.querySelector(a.barSelector),d=a.speed,u=a.easing;return i.offsetWidth,s(function(t){""===a.positionUsing&&(a.positionUsing=n.getPositioningCSS()),l(c,o(e,d,u)),1===e?(l(i,{transition:"none",opacity:1}),i.offsetWidth,setTimeout(function(){l(i,{transition:"all "+d+"ms linear",opacity:0}),setTimeout(function(){n.remove(),t()},d)},d)):setTimeout(t,d)}),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout(function(){n.status&&(n.trickle(),e())},a.trickleSpeed)};return a.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*r(Math.random()*t,.1,.95)),t=r(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*a.trickleRate)},e=0,t=0,n.promise=function(a){return a&&"resolved"!==a.state()?(0===t&&n.start(),e++,t++,a.always(function(){0===--t?(e=0,n.done()):n.set((e-t)/e)}),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");d(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=a.template;var r,o=t.querySelector(a.barSelector),s=e?"-100":i(n.status||0),c=document.querySelector(a.parent);return l(o,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),a.showSpinner||(r=t.querySelector(a.spinnerSelector))&&p(r),c!=document.body&&d(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){u(document.documentElement,"nprogress-busy"),u(document.querySelector(a.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(e,t){return t.toUpperCase()})}function a(t){var n=document.body.style;if(t in n)return t;for(var a,r=e.length,i=t.charAt(0).toUpperCase()+t.slice(1);r--;)if((a=e[r]+i)in n)return a;return t}function r(e){return e=n(e),t[e]||(t[e]=a(e))}function i(e,t,n){t=r(t),e.style[t]=n}return function(e,t){var n,a,r=arguments;if(2==r.length)for(n in t)void 0!==(a=t[n])&&t.hasOwnProperty(n)&&i(e,n,a);else i(e,r[1],r[2])}}();function c(e,t){return("string"==typeof e?e:_(e)).indexOf(" "+t+" ")>=0}function d(e,t){var n=_(e),a=n+t;c(n,t)||(e.className=a.substring(1))}function u(e,t){var n,a=_(e);c(e,t)&&(n=a.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function _(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n}();const qS=hg(zS.exports); +/*! + * shared v9.14.5 + * (c) 2025 kazuya kawaguchi + * Released under the MIT License. + */function $S(e,t){}const jS="undefined"!=typeof window,WS=(e,t=!1)=>t?Symbol.for(e):Symbol(e),KS=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),QS=e=>"number"==typeof e&&isFinite(e),XS=e=>"[object RegExp]"===mb(e),ZS=e=>gb(e)&&0===Object.keys(e).length,JS=Object.assign,eb=Object.create,tb=(e=null)=>eb(e);let nb;const ab=()=>nb||(nb="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:tb());function rb(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function ib(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}const ob=Object.prototype.hasOwnProperty;function sb(e,t){return ob.call(e,t)}const lb=Array.isArray,cb=e=>"function"==typeof e,db=e=>"string"==typeof e,ub=e=>"boolean"==typeof e,_b=e=>null!==e&&"object"==typeof e,pb=Object.prototype.toString,mb=e=>pb.call(e),gb=e=>{if(!_b(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t.constructor===Object};function Eb(e){let t=e;return()=>++t}const fb=e=>!_b(e)||lb(e);function Sb(e,t){if(fb(e)||fb(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:e,des:t}=n.pop();Object.keys(e).forEach(a=>{"__proto__"!==a&&(_b(e[a])&&!_b(t[a])&&(t[a]=Array.isArray(e[a])?[]:tb()),fb(t[a])||fb(e[a])?t[a]=e[a]:n.push({src:e[a],des:t[a]}))})}} +/*! + * message-compiler v9.14.5 + * (c) 2025 kazuya kawaguchi + * Released under the MIT License. + */function bb(e,t,n){return{start:e,end:t}}const hb=/\{([0-9a-zA-Z]+)\}/g;function vb(e,...t){return 1===t.length&&Cb(t[0])&&(t=t[0]),t&&t.hasOwnProperty||(t={}),e.replace(hb,(e,n)=>t.hasOwnProperty(n)?t[n]:"")}const Tb=Object.assign,yb=e=>"string"==typeof e,Cb=e=>null!==e&&"object"==typeof e;function Rb(e,t=""){return e.reduce((e,n,a)=>0===a?e+n:e+t+n,"")}const Ob=1,Nb=2,Ab={[Ob]:"Use modulo before '{{0}}'."};const Ib=1,wb=2,Db=3,xb=4,Lb=5,Mb=6,Pb=7,kb=8,Fb=9,Ub=10,Bb=11,Gb=12,Yb=13,Vb=14,Hb=15,zb=16,qb=17,$b={[Ib]:"Expected token: '{0}'",[wb]:"Invalid token in placeholder: '{0}'",[Db]:"Unterminated single quote in placeholder",[xb]:"Unknown escape sequence: \\{0}",[Lb]:"Invalid unicode escape sequence: {0}",[Mb]:"Unbalanced closing brace",[Pb]:"Unterminated closing brace",[kb]:"Empty placeholder",[Fb]:"Not allowed nest placeholder",[Ub]:"Invalid linked format",[Bb]:"Plural must have messages",[Gb]:"Unexpected empty linked modifier",[Yb]:"Unexpected empty linked key",[Vb]:"Unexpected lexical analysis in token: '{0}'",[Hb]:"unhandled codegen node type: '{0}'",[zb]:"unhandled mimifier node type: '{0}'"};function jb(e,t,n={}){const{domain:a,messages:r,args:i}=n,o=vb((r||$b)[e]||"",...i||[]),s=new SyntaxError(String(o));return s.code=e,t&&(s.location=t),s.domain=a,s}function Wb(e){throw e}const Kb=" ",Qb="\n",Xb=String.fromCharCode(8232),Zb=String.fromCharCode(8233);function Jb(e){const t=e;let n=0,a=1,r=1,i=0;const o=e=>"\r"===t[e]&&t[e+1]===Qb,s=e=>t[e]===Zb,l=e=>t[e]===Xb,c=e=>o(e)||(e=>t[e]===Qb)(e)||s(e)||l(e),d=e=>o(e)||s(e)||l(e)?Qb:t[e];function u(){return i=0,c(n)&&(a++,r=0),o(n)&&n++,n++,r++,t[n]}return{index:()=>n,line:()=>a,column:()=>r,peekOffset:()=>i,charAt:d,currentChar:()=>d(n),currentPeek:()=>d(n+i),next:u,peek:function(){return o(n+i)&&i++,i++,t[n+i]},reset:function(){n=0,a=1,r=1,i=0},resetPeek:function(e=0){i=e},skipToPeek:function(){const e=n+i;for(;e!==n;)u();i=0}}}const eh=void 0;function th(e,t={}){const n=!1!==t.location,a=Jb(e),r=()=>a.index(),i=()=>{return e=a.line(),t=a.column(),n=a.index(),{line:e,column:t,offset:n};var e,t,n},o=i(),s=r(),l={currentType:14,offset:s,startLoc:o,endLoc:o,lastType:14,lastOffset:s,lastStartLoc:o,lastEndLoc:o,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:d}=t;function u(e,t,a,...r){const i=c();if(t.column+=a,t.offset+=a,d){const a=jb(e,n?bb(i.startLoc,t):null,{domain:"tokenizer",args:r});d(a)}}function _(e,t,a){e.endLoc=i(),e.currentType=t;const r={type:t};return n&&(r.loc=bb(e.startLoc,e.endLoc)),null!=a&&(r.value=a),r}const p=e=>_(e,14);function m(e,t){return e.currentChar()===t?(e.next(),t):(u(Ib,i(),0,t),"")}function g(e){let t="";for(;e.currentPeek()===Kb||e.currentPeek()===Qb;)t+=e.currentPeek(),e.peek();return t}function E(e){const t=g(e);return e.skipToPeek(),t}function f(e){if(e===eh)return!1;const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||95===t}function S(e,t){const{currentType:n}=t;if(2!==n)return!1;g(e);const a=function(e){if(e===eh)return!1;const t=e.charCodeAt(0);return t>=48&&t<=57}("-"===e.currentPeek()?e.peek():e.currentPeek());return e.resetPeek(),a}function b(e){g(e);const t="|"===e.currentPeek();return e.resetPeek(),t}function h(e,t=!0){const n=(t=!1,a="",r=!1)=>{const i=e.currentPeek();return"{"===i?"%"!==a&&t:"@"!==i&&i?"%"===i?(e.peek(),n(t,"%",!0)):"|"===i?!("%"!==a&&!r)||!(a===Kb||a===Qb):i===Kb?(e.peek(),n(!0,Kb,r)):i!==Qb||(e.peek(),n(!0,Qb,r)):"%"===a||t},a=n();return t&&e.resetPeek(),a}function v(e,t){const n=e.currentChar();return n===eh?eh:t(n)?(e.next(),n):null}function T(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t}function y(e){return v(e,T)}function C(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t||45===t}function R(e){return v(e,C)}function O(e){const t=e.charCodeAt(0);return t>=48&&t<=57}function N(e){return v(e,O)}function A(e){const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function I(e){return v(e,A)}function w(e){let t="",n="";for(;t=N(e);)n+=t;return n}function D(e){let t="";for(;;){const n=e.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if("%"===n){if(!h(e))break;t+=n,e.next()}else if(n===Kb||n===Qb)if(h(e))t+=n,e.next();else{if(b(e))break;t+=n,e.next()}else t+=n,e.next()}return t}function x(e){return"'"!==e&&e!==Qb}function L(e){const t=e.currentChar();switch(t){case"\\":case"'":return e.next(),`\\${t}`;case"u":return M(e,t,4);case"U":return M(e,t,6);default:return u(xb,i(),0,t),""}}function M(e,t,n){m(e,t);let a="";for(let r=0;r=1&&u(Fb,i(),0),e.next(),n=_(t,2,"{"),E(e),t.braceNest++,n;case"}":return t.braceNest>0&&2===t.currentType&&u(kb,i(),0),e.next(),n=_(t,3,"}"),t.braceNest--,t.braceNest>0&&E(e),t.inLinked&&0===t.braceNest&&(t.inLinked=!1),n;case"@":return t.braceNest>0&&u(Pb,i(),0),n=U(e,t)||p(t),t.braceNest=0,n;default:{let a=!0,r=!0,o=!0;if(b(e))return t.braceNest>0&&u(Pb,i(),0),n=_(t,1,k(e)),t.braceNest=0,t.inLinked=!1,n;if(t.braceNest>0&&(5===t.currentType||6===t.currentType||7===t.currentType))return u(Pb,i(),0),t.braceNest=0,B(e,t);if(a=function(e,t){const{currentType:n}=t;if(2!==n)return!1;g(e);const a=f(e.currentPeek());return e.resetPeek(),a}(e,t))return n=_(t,5,function(e){E(e);let t="",n="";for(;t=R(e);)n+=t;return e.currentChar()===eh&&u(Pb,i(),0),n}(e)),E(e),n;if(r=S(e,t))return n=_(t,6,function(e){E(e);let t="";return"-"===e.currentChar()?(e.next(),t+=`-${w(e)}`):t+=w(e),e.currentChar()===eh&&u(Pb,i(),0),t}(e)),E(e),n;if(o=function(e,t){const{currentType:n}=t;if(2!==n)return!1;g(e);const a="'"===e.currentPeek();return e.resetPeek(),a}(e,t))return n=_(t,7,function(e){E(e),m(e,"'");let t="",n="";for(;t=v(e,x);)n+="\\"===t?L(e):t;const a=e.currentChar();return a===Qb||a===eh?(u(Db,i(),0),a===Qb&&(e.next(),m(e,"'")),n):(m(e,"'"),n)}(e)),E(e),n;if(!a&&!r&&!o)return n=_(t,13,function(e){E(e);let t="",n="";for(;t=v(e,P);)n+=t;return n}(e)),u(wb,i(),0,n.value),E(e),n;break}}return n}function U(e,t){const{currentType:n}=t;let a=null;const r=e.currentChar();switch(8!==n&&9!==n&&12!==n&&10!==n||r!==Qb&&r!==Kb||u(Ub,i(),0),r){case"@":return e.next(),a=_(t,8,"@"),t.inLinked=!0,a;case".":return E(e),e.next(),_(t,9,".");case":":return E(e),e.next(),_(t,10,":");default:return b(e)?(a=_(t,1,k(e)),t.braceNest=0,t.inLinked=!1,a):function(e,t){const{currentType:n}=t;if(8!==n)return!1;g(e);const a="."===e.currentPeek();return e.resetPeek(),a}(e,t)||function(e,t){const{currentType:n}=t;if(8!==n&&12!==n)return!1;g(e);const a=":"===e.currentPeek();return e.resetPeek(),a}(e,t)?(E(e),U(e,t)):function(e,t){const{currentType:n}=t;if(9!==n)return!1;g(e);const a=f(e.currentPeek());return e.resetPeek(),a}(e,t)?(E(e),_(t,12,function(e){let t="",n="";for(;t=y(e);)n+=t;return n}(e))):function(e,t){const{currentType:n}=t;if(10!==n)return!1;const a=()=>{const t=e.currentPeek();return"{"===t?f(e.peek()):!("@"===t||"%"===t||"|"===t||":"===t||"."===t||t===Kb||!t)&&(t===Qb?(e.peek(),a()):h(e,!1))},r=a();return e.resetPeek(),r}(e,t)?(E(e),"{"===r?F(e,t)||a:_(t,11,function(e){const t=n=>{const a=e.currentChar();return"{"!==a&&"%"!==a&&"@"!==a&&"|"!==a&&"("!==a&&")"!==a&&a?a===Kb?n:(n+=a,e.next(),t(n)):n};return t("")}(e))):(8===n&&u(Ub,i(),0),t.braceNest=0,t.inLinked=!1,B(e,t))}}function B(e,t){let n={type:14};if(t.braceNest>0)return F(e,t)||p(t);if(t.inLinked)return U(e,t)||p(t);switch(e.currentChar()){case"{":return F(e,t)||p(t);case"}":return u(Mb,i(),0),e.next(),_(t,3,"}");case"@":return U(e,t)||p(t);default:{if(b(e))return n=_(t,1,k(e)),t.braceNest=0,t.inLinked=!1,n;const{isModulo:a,hasSpace:r}=function(e){const t=g(e),n="%"===e.currentPeek()&&"{"===e.peek();return e.resetPeek(),{isModulo:n,hasSpace:t.length>0}}(e);if(a)return r?_(t,0,D(e)):_(t,4,function(e){E(e);const t=e.currentChar();return"%"!==t&&u(Ib,i(),0,t),e.next(),"%"}(e));if(h(e))return _(t,0,D(e));break}}return n}return{nextToken:function(){const{currentType:e,offset:t,startLoc:n,endLoc:o}=l;return l.lastType=e,l.lastOffset=t,l.lastStartLoc=n,l.lastEndLoc=o,l.offset=r(),l.startLoc=i(),a.currentChar()===eh?_(l,14):B(a,l)},currentOffset:r,currentPosition:i,context:c}}const nh=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function ah(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const e=parseInt(t||n,16);return e<=55295||e>=57344?String.fromCodePoint(e):"�"}}}function rh(e={}){const t=!1!==e.location,{onError:n,onWarn:a}=e;function r(e,a,r,i,...o){const s=e.currentPosition();if(s.offset+=i,s.column+=i,n){const e=jb(a,t?bb(r,s):null,{domain:"parser",args:o});n(e)}}function i(e,n,r,i,...o){const s=e.currentPosition();if(s.offset+=i,s.column+=i,a){const e=t?bb(r,s):null;a(function(e,t,...n){const a=vb(Ab[e],...n||[]),r={message:String(a),code:e};return t&&(r.location=t),r}(n,e,o))}}function o(e,n,a){const r={type:e};return t&&(r.start=n,r.end=n,r.loc={start:a,end:a}),r}function s(e,n,a,r){t&&(e.end=n,e.loc&&(e.loc.end=a))}function l(e,t){const n=e.context(),a=o(3,n.offset,n.startLoc);return a.value=t,s(a,e.currentOffset(),e.currentPosition()),a}function c(e,t){const n=e.context(),{lastOffset:a,lastStartLoc:r}=n,i=o(5,a,r);return i.index=parseInt(t,10),e.nextToken(),s(i,e.currentOffset(),e.currentPosition()),i}function d(e,t,n){const a=e.context(),{lastOffset:r,lastStartLoc:i}=a,l=o(4,r,i);return l.key=t,!0===n&&(l.modulo=!0),e.nextToken(),s(l,e.currentOffset(),e.currentPosition()),l}function u(e,t){const n=e.context(),{lastOffset:a,lastStartLoc:r}=n,i=o(9,a,r);return i.value=t.replace(nh,ah),e.nextToken(),s(i,e.currentOffset(),e.currentPosition()),i}function _(e){const t=e.context(),n=o(6,t.offset,t.startLoc);let a=e.nextToken();if(9===a.type){const t=function(e){const t=e.nextToken(),n=e.context(),{lastOffset:a,lastStartLoc:i}=n,l=o(8,a,i);return 12!==t.type?(r(e,Gb,n.lastStartLoc,0),l.value="",s(l,a,i),{nextConsumeToken:t,node:l}):(null==t.value&&r(e,Vb,n.lastStartLoc,0,ih(t)),l.value=t.value||"",s(l,e.currentOffset(),e.currentPosition()),{node:l})}(e);n.modifier=t.node,a=t.nextConsumeToken||e.nextToken()}switch(10!==a.type&&r(e,Vb,t.lastStartLoc,0,ih(a)),a=e.nextToken(),2===a.type&&(a=e.nextToken()),a.type){case 11:null==a.value&&r(e,Vb,t.lastStartLoc,0,ih(a)),n.key=function(e,t){const n=e.context(),a=o(7,n.offset,n.startLoc);return a.value=t,s(a,e.currentOffset(),e.currentPosition()),a}(e,a.value||"");break;case 5:null==a.value&&r(e,Vb,t.lastStartLoc,0,ih(a)),n.key=d(e,a.value||"");break;case 6:null==a.value&&r(e,Vb,t.lastStartLoc,0,ih(a)),n.key=c(e,a.value||"");break;case 7:null==a.value&&r(e,Vb,t.lastStartLoc,0,ih(a)),n.key=u(e,a.value||"");break;default:{r(e,Yb,t.lastStartLoc,0);const i=e.context(),l=o(7,i.offset,i.startLoc);return l.value="",s(l,i.offset,i.startLoc),n.key=l,s(n,i.offset,i.startLoc),{nextConsumeToken:a,node:n}}}return s(n,e.currentOffset(),e.currentPosition()),{node:n}}function p(e){const t=e.context(),n=o(2,1===t.currentType?e.currentOffset():t.offset,1===t.currentType?t.endLoc:t.startLoc);n.items=[];let a=null,p=null;do{const o=a||e.nextToken();switch(a=null,o.type){case 0:null==o.value&&r(e,Vb,t.lastStartLoc,0,ih(o)),n.items.push(l(e,o.value||""));break;case 6:null==o.value&&r(e,Vb,t.lastStartLoc,0,ih(o)),n.items.push(c(e,o.value||""));break;case 4:p=!0;break;case 5:null==o.value&&r(e,Vb,t.lastStartLoc,0,ih(o)),n.items.push(d(e,o.value||"",!!p)),p&&(i(e,Ob,t.lastStartLoc,0,ih(o)),p=null);break;case 7:null==o.value&&r(e,Vb,t.lastStartLoc,0,ih(o)),n.items.push(u(e,o.value||""));break;case 8:{const t=_(e);n.items.push(t.node),a=t.nextConsumeToken||null;break}}}while(14!==t.currentType&&1!==t.currentType);return s(n,1===t.currentType?t.lastOffset:e.currentOffset(),1===t.currentType?t.lastEndLoc:e.currentPosition()),n}function m(e){const t=e.context(),{offset:n,startLoc:a}=t,i=p(e);return 14===t.currentType?i:function(e,t,n,a){const i=e.context();let l=0===a.items.length;const c=o(1,t,n);c.cases=[],c.cases.push(a);do{const t=p(e);l||(l=0===t.items.length),c.cases.push(t)}while(14!==i.currentType);return l&&r(e,Bb,n,0),s(c,e.currentOffset(),e.currentPosition()),c}(e,n,a,i)}return{parse:function(n){const a=th(n,Tb({},e)),i=a.context(),l=o(0,i.offset,i.startLoc);return t&&l.loc&&(l.loc.source=n),l.body=m(a),e.onCacheKey&&(l.cacheKey=e.onCacheKey(n)),14!==i.currentType&&r(a,Vb,i.lastStartLoc,0,n[i.offset]||""),s(l,a.currentOffset(),a.currentPosition()),l}}}function ih(e){if(14===e.type)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function oh(e,t){for(let n=0;nt,helper:e=>(t.helpers.add(e),e)}}(e);n.helper("normalize"),e.body&&sh(e.body,n);const a=n.context();e.helpers=Array.from(a.helpers)}function ch(e){if(1===e.items.length){const t=e.items[0];3!==t.type&&9!==t.type||(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;n1){e.push(`${n("plural")}([`),e.indent(a());const r=t.cases.length;for(let n=0;nch(e))}(o),r&&dh(o),{ast:o,code:""}):(lh(o,n),((e,t={})=>{const n=yb(t.mode)?t.mode:"normal",a=yb(t.filename)?t.filename:"message.intl";t.sourceMap;const r=null!=t.breakLineCode?t.breakLineCode:"arrow"===n?";":"\n",i=t.needIndent?t.needIndent:"arrow"!==n,o=e.helpers||[],s=function(e,t){const{filename:n,breakLineCode:a,needIndent:r}=t,i=!1!==t.location,o={filename:n,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:a,needIndent:r,indentLevel:0};function s(e,t){o.code+=e}function l(e,t=!0){const n=t?a:"";s(r?n+" ".repeat(e):n)}return i&&e.loc&&(o.source=e.loc.source),{context:()=>o,push:s,indent:function(e=!0){const t=++o.indentLevel;e&&l(t)},deindent:function(e=!0){const t=--o.indentLevel;e&&l(t)},newline:function(){l(o.indentLevel)},helper:e=>`_${e}`,needIndent:()=>o.needIndent}}(e,{filename:a,breakLineCode:r,needIndent:i});s.push("normal"===n?"function __msg__ (ctx) {":"(ctx) => {"),s.indent(i),o.length>0&&(s.push(`const { ${Rb(o.map(e=>`${e}: _${e}`),", ")} } = ctx`),s.newline()),s.push("return "),uh(s,e),s.deindent(i),s.push("}"),delete e.helpers;const{code:l,map:c}=s.context();return{ast:e,code:l,map:c?c.toJSON():void 0}})(o,n))} +/*! + * core-base v9.14.5 + * (c) 2025 kazuya kawaguchi + * Released under the MIT License. + */function ph(e){return _b(e)&&0===bh(e)&&(sb(e,"b")||sb(e,"body"))}const mh=["b","body"];const gh=["c","cases"];const Eh=["s","static"];const fh=["i","items"];const Sh=["t","type"];function bh(e){return Ch(e,Sh)}const hh=["v","value"];function vh(e,t){const n=Ch(e,hh);if(null!=n)return n;throw Oh(t)}const Th=["m","modifier"];const yh=["k","key"];function Ch(e,t,n){for(let a=0;ae,Mh=e=>"",Ph=e=>0===e.length?"":function(e,t=""){return e.reduce((e,n,a)=>0===a?e+n:e+t+n,"")}(e),kh=e=>null==e?"":lb(e)||gb(e)&&e.toString===pb?JSON.stringify(e,null,2):String(e);function Fh(e,t){return e=Math.abs(e),2===t?e?e>1?1:0:1:e?Math.min(e,2):0}function Uh(e={}){const t=e.locale,n=function(e){const t=QS(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(QS(e.named.count)||QS(e.named.n))?QS(e.named.count)?e.named.count:QS(e.named.n)?e.named.n:t:t}(e),a=_b(e.pluralRules)&&db(t)&&cb(e.pluralRules[t])?e.pluralRules[t]:Fh,r=_b(e.pluralRules)&&db(t)&&cb(e.pluralRules[t])?Fh:void 0,i=e.list||[],o=e.named||tb();QS(e.pluralIndex)&&function(e,t){t.count||(t.count=e),t.n||(t.n=e)}(n,o);function s(t){const n=cb(e.messages)?e.messages(t):!!_b(e.messages)&&e.messages[t];return n||(e.parent?e.parent.message(t):Mh)}const l=gb(e.processor)&&cb(e.processor.normalize)?e.processor.normalize:Ph,c=gb(e.processor)&&cb(e.processor.interpolate)?e.processor.interpolate:kh,d={list:e=>i[e],named:e=>o[e],plural:e=>e[a(n,e.length,r)],linked:(t,...n)=>{const[a,r]=n;let i="text",o="";1===n.length?_b(a)?(o=a.modifier||o,i=a.type||i):db(a)&&(o=a||o):2===n.length&&(db(a)&&(o=a||o),db(r)&&(i=r||i));const l=s(t)(d),c="vnode"===i&&lb(l)&&o?l[0]:l;return o?(u=o,e.modifiers?e.modifiers[u]:Lh)(c,i):c;var u},message:s,type:gb(e.processor)&&db(e.processor.type)?e.processor.type:"text",interpolate:c,normalize:l,values:JS(tb(),i,o)};return d}let Bh=null;const Gh=Yh("function:translate");function Yh(e){return t=>Bh&&Bh.emit(e,t)}const Vh=Eb(Nb),Hh={FALLBACK_TO_TRANSLATE:Vh(),CANNOT_FORMAT_NUMBER:Vh(),FALLBACK_TO_NUMBER_FORMAT:Vh(),CANNOT_FORMAT_DATE:Vh(),FALLBACK_TO_DATE_FORMAT:Vh(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:Vh(),__EXTEND_POINT__:Vh()},zh=qb,qh=Eb(zh),$h={INVALID_ARGUMENT:zh,INVALID_DATE_ARGUMENT:qh(),INVALID_ISO_DATE_ARGUMENT:qh(),NOT_SUPPORT_NON_STRING_MESSAGE:qh(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:qh(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:qh(),NOT_SUPPORT_LOCALE_TYPE:qh(),__EXTEND_POINT__:qh()};function jh(e){return jb(e,null,void 0)}function Wh(e,t){return null!=t.locale?Qh(t.locale):Qh(e.locale)}let Kh;function Qh(e){if(db(e))return e;if(cb(e)){if(e.resolvedOnce&&null!=Kh)return Kh;if("Function"===e.constructor.name){const n=e();if(_b(t=n)&&cb(t.then)&&cb(t.catch))throw jh($h.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Kh=n}throw jh($h.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}throw jh($h.NOT_SUPPORT_LOCALE_TYPE);var t}function Xh(e,t,n){return[...new Set([n,...lb(t)?t:_b(t)?Object.keys(t):db(t)?[t]:[n]])]}function Zh(e,t,n){const a=db(n)?n:nv,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let i=r.__localeChainCache.get(a);if(!i){i=[];let e=[n];for(;lb(e);)e=Jh(i,e,t);const o=lb(t)||!gb(t)?t:t.default?t.default:null;e=db(o)?[o]:o,lb(e)&&Jh(i,e,!1),r.__localeChainCache.set(a,i)}return i}function Jh(e,t,n){let a=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;let rv,iv,ov;function sv(e){rv=e}let lv=null;const cv=()=>lv;let dv=null;const uv=e=>{dv=e};let _v=0;function pv(e={}){const t=cb(e.onWarn)?e.onWarn:$S,n=db(e.version)?e.version:"9.14.5",a=db(e.locale)||cb(e.locale)?e.locale:nv,r=cb(a)?nv:a,i=lb(e.fallbackLocale)||gb(e.fallbackLocale)||db(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:r,o=gb(e.messages)?e.messages:mv(r),s=gb(e.datetimeFormats)?e.datetimeFormats:mv(r),l=gb(e.numberFormats)?e.numberFormats:mv(r),c=JS(tb(),e.modifiers,{upper:(e,t)=>"text"===t&&db(e)?e.toUpperCase():"vnode"===t&&_b(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>"text"===t&&db(e)?e.toLowerCase():"vnode"===t&&_b(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>"text"===t&&db(e)?av(e):"vnode"===t&&_b(e)&&"__v_isVNode"in e?av(e.children):e}),d=e.pluralRules||tb(),u=cb(e.missing)?e.missing:null,_=!ub(e.missingWarn)&&!XS(e.missingWarn)||e.missingWarn,p=!ub(e.fallbackWarn)&&!XS(e.fallbackWarn)||e.fallbackWarn,m=!!e.fallbackFormat,g=!!e.unresolving,E=cb(e.postTranslation)?e.postTranslation:null,f=gb(e.processor)?e.processor:null,S=!ub(e.warnHtmlMessage)||e.warnHtmlMessage,b=!!e.escapeParameter,h=cb(e.messageCompiler)?e.messageCompiler:rv,v=cb(e.messageResolver)?e.messageResolver:iv||xh,T=cb(e.localeFallbacker)?e.localeFallbacker:ov||Xh,y=_b(e.fallbackContext)?e.fallbackContext:void 0,C=e,R=_b(C.__datetimeFormatters)?C.__datetimeFormatters:new Map,O=_b(C.__numberFormatters)?C.__numberFormatters:new Map,N=_b(C.__meta)?C.__meta:{};_v++;const A={version:n,cid:_v,locale:a,fallbackLocale:i,messages:o,modifiers:c,pluralRules:d,missing:u,missingWarn:_,fallbackWarn:p,fallbackFormat:m,unresolving:g,postTranslation:E,processor:f,warnHtmlMessage:S,escapeParameter:b,messageCompiler:h,messageResolver:v,localeFallbacker:T,fallbackContext:y,onWarn:t,__meta:N};return A.datetimeFormats=s,A.numberFormats=l,A.__datetimeFormatters=R,A.__numberFormatters=O,__INTLIFY_PROD_DEVTOOLS__&&function(e,t,n){Bh&&Bh.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}(A,n,N),A}const mv=e=>({[e]:tb()});function gv(e,t,n,a,r){const{missing:i,onWarn:o}=e;if(null!==i){const a=i(e,n,t,r);return db(a)?a:t}return t}function Ev(e,t,n){e.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function fv(e,t){return e!==t&&e.split("-")[0]===t.split("-")[0]}function Sv(e,t){const n=t.indexOf(e);if(-1===n)return!1;for(let a=n+1;afunction(e,t){const n=(a=t,Ch(a,mh));var a;if(null==n)throw Oh(0);if(1===bh(n)){const t=function(e){return Ch(e,gh,[])}(n);return e.plural(t.reduce((t,n)=>[...t,hv(e,n)],[]))}return hv(e,n)}(t,e)}function hv(e,t){const n=function(e){return Ch(e,Eh)}(t);if(null!=n)return"text"===e.type?n:e.normalize([n]);{const n=function(e){return Ch(e,fh,[])}(t).reduce((t,n)=>[...t,vv(e,n)],[]);return e.normalize(n)}}function vv(e,t){const n=bh(t);switch(n){case 3:case 9:case 7:case 8:return vh(t,n);case 4:{const a=t;if(sb(a,"k")&&a.k)return e.interpolate(e.named(a.k));if(sb(a,"key")&&a.key)return e.interpolate(e.named(a.key));throw Oh(n)}case 5:{const a=t;if(sb(a,"i")&&QS(a.i))return e.interpolate(e.list(a.i));if(sb(a,"index")&&QS(a.index))return e.interpolate(e.list(a.index));throw Oh(n)}case 6:{const n=t,a=function(e){return Ch(e,Th)}(n),r=function(e){const t=Ch(e,yh);if(t)return t;throw Oh(6)}(n);return e.linked(vv(e,r),a?vv(e,a):void 0,e.type)}default:throw new Error(`unhandled node on format message part: ${n}`)}}const Tv=e=>e;let yv=tb();function Cv(e,t={}){let n=!1;const a=t.onError||Wb;return t.onError=e=>{n=!0,a(e)},c(l({},_h(e,t)),{detectError:n})}const Rv=(e,t)=>{if(!db(e))throw jh($h.NOT_SUPPORT_NON_STRING_MESSAGE);{!ub(t.warnHtmlMessage)||t.warnHtmlMessage;const n=(t.onCacheKey||Tv)(e),a=yv[n];if(a)return a;const{code:r,detectError:i}=Cv(e,t),o=new Function(`return ${r}`)();return i?o:yv[n]=o}};const Ov=()=>"",Nv=e=>cb(e);function Av(e,...t){const{fallbackFormat:n,postTranslation:a,unresolving:r,messageCompiler:i,fallbackLocale:o,messages:s}=e,[l,c]=Dv(...t),d=ub(c.missingWarn)?c.missingWarn:e.missingWarn,u=ub(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,_=ub(c.escapeParameter)?c.escapeParameter:e.escapeParameter,p=!!c.resolvedMessage,m=db(c.default)||ub(c.default)?ub(c.default)?i?l:()=>l:c.default:n?i?l:()=>l:"",g=n||""!==m,E=Wh(e,c);_&&function(e){lb(e.list)?e.list=e.list.map(e=>db(e)?rb(e):e):_b(e.named)&&Object.keys(e.named).forEach(t=>{db(e.named[t])&&(e.named[t]=rb(e.named[t]))})}(c);let[f,S,b]=p?[l,E,s[E]||tb()]:Iv(e,l,E,o,u,d),h=f,v=l;if(p||db(h)||ph(h)||Nv(h)||g&&(h=m,v=h),!(p||(db(h)||ph(h)||Nv(h))&&db(S)))return r?-1:l;let T=!1;const y=Nv(h)?h:wv(e,l,S,h,v,()=>{T=!0});if(T)return h;const C=function(e,t,n,a){const{modifiers:r,pluralRules:i,messageResolver:o,fallbackLocale:s,fallbackWarn:l,missingWarn:c,fallbackContext:d}=e,u=a=>{let r=o(n,a);if(null==r&&d){const[,,e]=Iv(d,a,t,s,l,c);r=o(e,a)}if(db(r)||ph(r)){let n=!1;const i=wv(e,a,t,r,a,()=>{n=!0});return n?Ov:i}return Nv(r)?r:Ov},_={locale:t,modifiers:r,pluralRules:i,messages:u};e.processor&&(_.processor=e.processor);a.list&&(_.list=a.list);a.named&&(_.named=a.named);QS(a.plural)&&(_.pluralIndex=a.plural);return _}(e,S,b,c),R=function(e,t,n){const a=t(n);return a}(0,y,Uh(C));let O=a?a(R,l):R;var N;if(_&&db(O)&&(N=(N=(N=O).replace(/(\w+)\s*=\s*"([^"]*)"/g,(e,t,n)=>`${t}="${ib(n)}"`)).replace(/(\w+)\s*=\s*'([^']*)'/g,(e,t,n)=>`${t}='${ib(n)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(N)&&(N=N.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(e=>{N=N.replace(e,"$1javascript:")}),O=N),__INTLIFY_PROD_DEVTOOLS__){const t={timestamp:Date.now(),key:db(l)?l:Nv(h)?h.key:"",locale:S||(Nv(h)?h.locale:""),format:db(h)?h:Nv(h)?h.source:"",message:O};t.meta=JS({},e.__meta,cv()||{}),Gh(t)}return O}function Iv(e,t,n,a,r,i){const{messages:o,onWarn:s,messageResolver:l,localeFallbacker:c}=e,d=c(e,a,n);let u,_=tb(),p=null;for(let m=0;ma;return e.locale=n,e.key=t,e}const l=o(a,function(e,t,n,a,r,i){return{locale:t,key:n,warnHtmlMessage:r,onError:e=>{throw i&&i(e),e},onCacheKey:e=>((e,t,n)=>KS({l:e,k:t,s:n}))(t,n,e)}}(0,n,r,0,s,i));return l.locale=n,l.key=t,l.source=a,l}function Dv(...e){const[t,n,a]=e,r=tb();if(!(db(t)||QS(t)||Nv(t)||ph(t)))throw jh($h.INVALID_ARGUMENT);const i=QS(t)?String(t):(Nv(t),t);return QS(n)?r.plural=n:db(n)?r.default=n:gb(n)&&!ZS(n)?r.named=n:lb(n)&&(r.list=n),QS(a)?r.plural=a:db(a)?r.default=a:gb(a)&&JS(r,a),[i,r]}function xv(e,...t){const{datetimeFormats:n,unresolving:a,fallbackLocale:r,onWarn:i,localeFallbacker:o}=e,{__datetimeFormatters:s}=e,[l,c,d,u]=Mv(...t);ub(d.missingWarn)?d.missingWarn:e.missingWarn;ub(d.fallbackWarn)?d.fallbackWarn:e.fallbackWarn;const _=!!d.part,p=Wh(e,d),m=o(e,r,p);if(!db(l)||""===l)return new Intl.DateTimeFormat(p,u).format(c);let g,E={},f=null;for(let h=0;h{Lv.includes(e)?s[e]=n[e]:i[e]=n[e]}),db(a)?i.locale=a:gb(a)&&(s=a),gb(r)&&(s=r),[i.key||"",o,i,s]}function Pv(e,t,n){const a=e;for(const r in n){const e=`${t}__${r}`;a.__datetimeFormatters.has(e)&&a.__datetimeFormatters.delete(e)}}function kv(e,...t){const{numberFormats:n,unresolving:a,fallbackLocale:r,onWarn:i,localeFallbacker:o}=e,{__numberFormatters:s}=e,[l,c,d,u]=Uv(...t);ub(d.missingWarn)?d.missingWarn:e.missingWarn;ub(d.fallbackWarn)?d.fallbackWarn:e.fallbackWarn;const _=!!d.part,p=Wh(e,d),m=o(e,r,p);if(!db(l)||""===l)return new Intl.NumberFormat(p,u).format(c);let g,E={},f=null;for(let h=0;h{Fv.includes(e)?o[e]=n[e]:i[e]=n[e]}),db(a)?i.locale=a:gb(a)&&(o=a),gb(r)&&(o=r),[i.key||"",s,i,o]}function Bv(e,t,n){const a=e;for(const r in n){const e=`${t}__${r}`;a.__numberFormatters.has(e)&&a.__numberFormatters.delete(e)}}"boolean"!=typeof __INTLIFY_PROD_DEVTOOLS__&&(ab().__INTLIFY_PROD_DEVTOOLS__=!1),"boolean"!=typeof __INTLIFY_JIT_COMPILATION__&&(ab().__INTLIFY_JIT_COMPILATION__=!1),"boolean"!=typeof __INTLIFY_DROP_MESSAGE_COMPILER__&&(ab().__INTLIFY_DROP_MESSAGE_COMPILER__=!1);const Gv=Eb(Hh.__EXTEND_POINT__);Gv(),Gv(),Gv(),Gv(),Gv(),Gv(),Gv(),Gv(),Gv();const Yv=$h.__EXTEND_POINT__,Vv=Eb(Yv),Hv={UNEXPECTED_RETURN_TYPE:Yv,INVALID_ARGUMENT:Vv(),MUST_BE_CALL_SETUP_TOP:Vv(),NOT_INSTALLED:Vv(),NOT_AVAILABLE_IN_LEGACY_MODE:Vv(),REQUIRED_VALUE:Vv(),INVALID_VALUE:Vv(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Vv(),NOT_INSTALLED_WITH_PROVIDE:Vv(),UNEXPECTED_ERROR:Vv(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Vv(),BRIDGE_SUPPORT_VUE_2_ONLY:Vv(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Vv(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Vv(),__EXTEND_POINT__:Vv()};function zv(e,...t){return jb(e,null,void 0)}const qv=WS("__translateVNode"),$v=WS("__datetimeParts"),jv=WS("__numberParts"),Wv=WS("__setPluralRules"),Kv=WS("__injectWithOption"),Qv=WS("__dispose");function Xv(e){if(!_b(e))return e;if(ph(e))return e;for(const t in e)if(sb(e,t))if(t.includes(".")){const n=t.split("."),a=n.length-1;let r=e,i=!1;for(let e=0;e{if("locale"in e&&"resource"in e){const{locale:t,resource:n}=e;t?(o[t]=o[t]||tb(),Sb(n,o[t])):Sb(n,o)}else db(e)&&Sb(JSON.parse(e),o)}),null==r&&i)for(const s in o)sb(o,s)&&Xv(o[s]);return o}function Jv(e){return e.type}function eT(e,t,n){let a=_b(t.messages)?t.messages:tb();"__i18nGlobal"in n&&(a=Zv(e.locale.value,{messages:a,__i18n:n.__i18nGlobal}));const r=Object.keys(a);if(r.length&&r.forEach(t=>{e.mergeLocaleMessage(t,a[t])}),_b(t.datetimeFormats)){const n=Object.keys(t.datetimeFormats);n.length&&n.forEach(n=>{e.mergeDateTimeFormat(n,t.datetimeFormats[n])})}if(_b(t.numberFormats)){const n=Object.keys(t.numberFormats);n.length&&n.forEach(n=>{e.mergeNumberFormat(n,t.numberFormats[n])})}}function tT(e){return Ni(ui,null,e,0)}const nT=()=>[],aT=()=>!1;let rT=0;function iT(e){return(t,n,a,r)=>e(n,a,Yi()||void 0,r)}function oT(e={},t){const{__root:n,__injectWithOption:a}=e,r=void 0===n,i=e.flatJson,o=jS?zt:qt,s=!!e.translateExistCompatible;let l=!ub(e.inheritLocale)||e.inheritLocale;const c=o(n&&l?n.locale.value:db(e.locale)?e.locale:nv),d=o(n&&l?n.fallbackLocale.value:db(e.fallbackLocale)||lb(e.fallbackLocale)||gb(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:c.value),u=o(Zv(c.value,e)),_=o(gb(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),p=o(gb(e.numberFormats)?e.numberFormats:{[c.value]:{}});let m=n?n.missingWarn:!ub(e.missingWarn)&&!XS(e.missingWarn)||e.missingWarn,g=n?n.fallbackWarn:!ub(e.fallbackWarn)&&!XS(e.fallbackWarn)||e.fallbackWarn,E=n?n.fallbackRoot:!ub(e.fallbackRoot)||e.fallbackRoot,f=!!e.fallbackFormat,S=cb(e.missing)?e.missing:null,b=cb(e.missing)?iT(e.missing):null,h=cb(e.postTranslation)?e.postTranslation:null,v=n?n.warnHtmlMessage:!ub(e.warnHtmlMessage)||e.warnHtmlMessage,T=!!e.escapeParameter;const y=n?n.modifiers:gb(e.modifiers)?e.modifiers:{};let C,R=e.pluralRules||n&&n.pluralRules;C=(()=>{r&&uv(null);const t={version:"9.14.5",locale:c.value,fallbackLocale:d.value,messages:u.value,modifiers:y,pluralRules:R,missing:null===b?void 0:b,missingWarn:m,fallbackWarn:g,fallbackFormat:f,unresolving:!0,postTranslation:null===h?void 0:h,warnHtmlMessage:v,escapeParameter:T,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};t.datetimeFormats=_.value,t.numberFormats=p.value,t.__datetimeFormatters=gb(C)?C.__datetimeFormatters:void 0,t.__numberFormatters=gb(C)?C.__numberFormatters:void 0;const n=pv(t);return r&&uv(n),n})(),Ev(C,c.value,d.value);const O=eo({get:()=>c.value,set:e=>{c.value=e,C.locale=c.value}}),N=eo({get:()=>d.value,set:e=>{d.value=e,C.fallbackLocale=d.value,Ev(C,c.value,e)}}),A=eo(()=>u.value),I=eo(()=>_.value),w=eo(()=>p.value);const D=(e,t,a,i,o,s)=>{let l;c.value,d.value,u.value,_.value,p.value;try{__INTLIFY_PROD_DEVTOOLS__,r||(C.fallbackContext=n?dv:void 0),l=e(C)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(C.fallbackContext=void 0)}if("translate exists"!==a&&QS(l)&&-1===l||"translate exists"===a&&!l){const[e,a]=t();return n&&E?i(n):o(e)}if(s(l))return l;throw zv(Hv.UNEXPECTED_RETURN_TYPE)};function x(...e){return D(t=>Reflect.apply(Av,null,[t,...e]),()=>Dv(...e),"translate",t=>Reflect.apply(t.t,t,[...e]),e=>e,e=>db(e))}const L={normalize:function(e){return e.map(e=>db(e)||QS(e)||ub(e)?tT(String(e)):e)},interpolate:e=>e,type:"vnode"};function M(e){return u.value[e]||{}}rT++,n&&jS&&(Kr(n.locale,e=>{l&&(c.value=e,C.locale=e,Ev(C,c.value,d.value))}),Kr(n.fallbackLocale,e=>{l&&(d.value=e,C.fallbackLocale=e,Ev(C,c.value,d.value))}));const P={id:rT,locale:O,fallbackLocale:N,get inheritLocale(){return l},set inheritLocale(e){l=e,e&&n&&(c.value=n.locale.value,d.value=n.fallbackLocale.value,Ev(C,c.value,d.value))},get availableLocales(){return Object.keys(u.value).sort()},messages:A,get modifiers(){return y},get pluralRules(){return R||{}},get isGlobal(){return r},get missingWarn(){return m},set missingWarn(e){m=e,C.missingWarn=m},get fallbackWarn(){return g},set fallbackWarn(e){g=e,C.fallbackWarn=g},get fallbackRoot(){return E},set fallbackRoot(e){E=e},get fallbackFormat(){return f},set fallbackFormat(e){f=e,C.fallbackFormat=f},get warnHtmlMessage(){return v},set warnHtmlMessage(e){v=e,C.warnHtmlMessage=e},get escapeParameter(){return T},set escapeParameter(e){T=e,C.escapeParameter=e},t:x,getLocaleMessage:M,setLocaleMessage:function(e,t){if(i){const n={[e]:t};for(const e in n)sb(n,e)&&Xv(n[e]);t=n[e]}u.value[e]=t,C.messages=u.value},mergeLocaleMessage:function(e,t){u.value[e]=u.value[e]||{};const n={[e]:t};if(i)for(const a in n)sb(n,a)&&Xv(n[a]);Sb(t=n[e],u.value[e]),C.messages=u.value},getPostTranslationHandler:function(){return cb(h)?h:null},setPostTranslationHandler:function(e){h=e,C.postTranslation=e},getMissingHandler:function(){return S},setMissingHandler:function(e){null!==e&&(b=iT(e)),S=e,C.missing=b},[Wv]:function(e){R=e,C.pluralRules=R}};return P.datetimeFormats=I,P.numberFormats=w,P.rt=function(...e){const[t,n,a]=e;if(a&&!_b(a))throw zv(Hv.INVALID_ARGUMENT);return x(t,n,JS({resolvedMessage:!0},a||{}))},P.te=function(e,t){return D(()=>{if(!e)return!1;const n=M(db(t)?t:c.value),a=C.messageResolver(n,e);return s?null!=a:ph(a)||Nv(a)||db(a)},()=>[e],"translate exists",n=>Reflect.apply(n.te,n,[e,t]),aT,e=>ub(e))},P.tm=function(e){const t=function(e){let t=null;const n=Zh(C,d.value,c.value);for(let a=0;aReflect.apply(xv,null,[t,...e]),()=>Mv(...e),"datetime format",t=>Reflect.apply(t.d,t,[...e]),()=>"",e=>db(e))},P.n=function(...e){return D(t=>Reflect.apply(kv,null,[t,...e]),()=>Uv(...e),"number format",t=>Reflect.apply(t.n,t,[...e]),()=>"",e=>db(e))},P.getDateTimeFormat=function(e){return _.value[e]||{}},P.setDateTimeFormat=function(e,t){_.value[e]=t,C.datetimeFormats=_.value,Pv(C,e,t)},P.mergeDateTimeFormat=function(e,t){_.value[e]=JS(_.value[e]||{},t),C.datetimeFormats=_.value,Pv(C,e,t)},P.getNumberFormat=function(e){return p.value[e]||{}},P.setNumberFormat=function(e,t){p.value[e]=t,C.numberFormats=p.value,Bv(C,e,t)},P.mergeNumberFormat=function(e,t){p.value[e]=JS(p.value[e]||{},t),C.numberFormats=p.value,Bv(C,e,t)},P[Kv]=a,P[qv]=function(...e){return D(t=>{let n;const a=t;try{a.processor=L,n=Reflect.apply(Av,null,[a,...e])}finally{a.processor=null}return n},()=>Dv(...e),"translate",t=>t[qv](...e),e=>[tT(e)],e=>lb(e))},P[$v]=function(...e){return D(t=>Reflect.apply(xv,null,[t,...e]),()=>Mv(...e),"datetime format",t=>t[$v](...e),nT,e=>db(e)||lb(e))},P[jv]=function(...e){return D(t=>Reflect.apply(kv,null,[t,...e]),()=>Uv(...e),"number format",t=>t[jv](...e),nT,e=>db(e)||lb(e))},P}function sT(e={},t){{const t=oT(function(e){const t=db(e.locale)?e.locale:nv,n=db(e.fallbackLocale)||lb(e.fallbackLocale)||gb(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:t,a=cb(e.missing)?e.missing:void 0,r=!ub(e.silentTranslationWarn)&&!XS(e.silentTranslationWarn)||!e.silentTranslationWarn,i=!ub(e.silentFallbackWarn)&&!XS(e.silentFallbackWarn)||!e.silentFallbackWarn,o=!ub(e.fallbackRoot)||e.fallbackRoot,s=!!e.formatFallbackMessages,l=gb(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,d=cb(e.postTranslation)?e.postTranslation:void 0,u=!db(e.warnHtmlInMessage)||"off"!==e.warnHtmlInMessage,_=!!e.escapeParameterHtml,p=!ub(e.sync)||e.sync;let m=e.messages;if(gb(e.sharedMessages)){const t=e.sharedMessages;m=Object.keys(t).reduce((e,n)=>{const a=e[n]||(e[n]={});return JS(a,t[n]),e},m||{})}const{__i18n:g,__root:E,__injectWithOption:f}=e,S=e.datetimeFormats,b=e.numberFormats,h=e.flatJson,v=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:m,flatJson:h,datetimeFormats:S,numberFormats:b,missing:a,missingWarn:r,fallbackWarn:i,fallbackRoot:o,fallbackFormat:s,modifiers:l,pluralRules:c,postTranslation:d,warnHtmlMessage:u,escapeParameter:_,messageResolver:e.messageResolver,inheritLocale:p,translateExistCompatible:v,__i18n:g,__root:E,__injectWithOption:f}}(e)),{__extender:n}=e,a={id:t.id,get locale(){return t.locale.value},set locale(e){t.locale.value=e},get fallbackLocale(){return t.fallbackLocale.value},set fallbackLocale(e){t.fallbackLocale.value=e},get messages(){return t.messages.value},get datetimeFormats(){return t.datetimeFormats.value},get numberFormats(){return t.numberFormats.value},get availableLocales(){return t.availableLocales},get formatter(){return{interpolate:()=>[]}},set formatter(e){},get missing(){return t.getMissingHandler()},set missing(e){t.setMissingHandler(e)},get silentTranslationWarn(){return ub(t.missingWarn)?!t.missingWarn:t.missingWarn},set silentTranslationWarn(e){t.missingWarn=ub(e)?!e:e},get silentFallbackWarn(){return ub(t.fallbackWarn)?!t.fallbackWarn:t.fallbackWarn},set silentFallbackWarn(e){t.fallbackWarn=ub(e)?!e:e},get modifiers(){return t.modifiers},get formatFallbackMessages(){return t.fallbackFormat},set formatFallbackMessages(e){t.fallbackFormat=e},get postTranslation(){return t.getPostTranslationHandler()},set postTranslation(e){t.setPostTranslationHandler(e)},get sync(){return t.inheritLocale},set sync(e){t.inheritLocale=e},get warnHtmlInMessage(){return t.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(e){t.warnHtmlMessage="off"!==e},get escapeParameterHtml(){return t.escapeParameter},set escapeParameterHtml(e){t.escapeParameter=e},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(e){},get pluralizationRules(){return t.pluralRules||{}},__composer:t,t(...e){const[n,a,r]=e,i={};let o=null,s=null;if(!db(n))throw zv(Hv.INVALID_ARGUMENT);const l=n;return db(a)?i.locale=a:lb(a)?o=a:gb(a)&&(s=a),lb(r)?o=r:gb(r)&&(s=r),Reflect.apply(t.t,t,[l,o||s||{},i])},rt:(...e)=>Reflect.apply(t.rt,t,[...e]),tc(...e){const[n,a,r]=e,i={plural:1};let o=null,s=null;if(!db(n))throw zv(Hv.INVALID_ARGUMENT);const l=n;return db(a)?i.locale=a:QS(a)?i.plural=a:lb(a)?o=a:gb(a)&&(s=a),db(r)?i.locale=r:lb(r)?o=r:gb(r)&&(s=r),Reflect.apply(t.t,t,[l,o||s||{},i])},te:(e,n)=>t.te(e,n),tm:e=>t.tm(e),getLocaleMessage:e=>t.getLocaleMessage(e),setLocaleMessage(e,n){t.setLocaleMessage(e,n)},mergeLocaleMessage(e,n){t.mergeLocaleMessage(e,n)},d:(...e)=>Reflect.apply(t.d,t,[...e]),getDateTimeFormat:e=>t.getDateTimeFormat(e),setDateTimeFormat(e,n){t.setDateTimeFormat(e,n)},mergeDateTimeFormat(e,n){t.mergeDateTimeFormat(e,n)},n:(...e)=>Reflect.apply(t.n,t,[...e]),getNumberFormat:e=>t.getNumberFormat(e),setNumberFormat(e,n){t.setNumberFormat(e,n)},mergeNumberFormat(e,n){t.mergeNumberFormat(e,n)},getChoiceIndex:(e,t)=>-1};return a.__extender=n,a}}const lT={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>"parent"===e||"global"===e,default:"parent"},i18n:{type:Object}};function cT(e){return di}const dT=la({name:"i18n-t",props:JS({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>QS(e)||!isNaN(e)}},lT),setup(e,t){const{slots:n,attrs:a}=t,r=e.i18n||bT({useScope:e.scope,__useComponent:!0});return()=>{const i=Object.keys(n).filter(e=>"_"!==e),o=tb();e.locale&&(o.locale=e.locale),void 0!==e.plural&&(o.plural=db(e.plural)?+e.plural:e.plural);const s=function({slots:e},t){if(1===t.length&&"default"===t[0])return(e.default?e.default():[]).reduce((e,t)=>[...e,...t.type===di?t.children:[t]],[]);return t.reduce((t,n)=>{const a=e[n];return a&&(t[n]=a()),t},tb())}(t,i),l=r[qv](e.keypath,s,o),c=JS(tb(),a);return to(db(e.tag)||_b(e.tag)?e.tag:cT(),c,l)}}});function uT(e,t,n,a){const{slots:r,attrs:i}=t;return()=>{const t={part:!0};let o=tb();e.locale&&(t.locale=e.locale),db(e.format)?t.key=e.format:_b(e.format)&&(db(e.format.key)&&(t.key=e.format.key),o=Object.keys(e.format).reduce((t,a)=>n.includes(a)?JS(tb(),t,{[a]:e.format[a]}):t,tb()));const s=a(e.value,t,o);let l=[t.key];lb(s)?l=s.map((e,t)=>{const n=r[e.type],a=n?n({[e.type]:e.value,index:t,parts:s}):[e.value];var i;return lb(i=a)&&!db(i[0])&&(a[0].key=`${e.type}-${t}`),a}):db(s)&&(l=[s]);const c=JS(tb(),i);return to(db(e.tag)||_b(e.tag)?e.tag:cT(),c,l)}}const _T=la({name:"i18n-n",props:JS({value:{type:Number,required:!0},format:{type:[String,Object]}},lT),setup(e,t){const n=e.i18n||bT({useScope:e.scope,__useComponent:!0});return uT(e,t,Fv,(...e)=>n[jv](...e))}}),pT=la({name:"i18n-d",props:JS({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},lT),setup(e,t){const n=e.i18n||bT({useScope:e.scope,__useComponent:!0});return uT(e,t,Lv,(...e)=>n[$v](...e))}});function mT(e){if(db(e))return{path:e};if(gb(e)){if(!("path"in e))throw zv(Hv.REQUIRED_VALUE);return e}throw zv(Hv.INVALID_VALUE)}function gT(e){const{path:t,locale:n,args:a,choice:r,plural:i}=e,o={},s=a||{};return db(n)&&(o.locale=n),QS(r)&&(o.plural=r),QS(i)&&(o.plural=i),[t,s,o]}function ET(e,t,...n){const a=gb(n[0])?n[0]:{},r=!!a.useI18nComponentName;(!ub(a.globalInstall)||a.globalInstall)&&([r?"i18n":dT.name,"I18nT"].forEach(t=>e.component(t,dT)),[_T.name,"I18nN"].forEach(t=>e.component(t,_T)),[pT.name,"I18nD"].forEach(t=>e.component(t,pT))),e.directive("t",function(e){const t=t=>{const{instance:n,modifiers:a,value:r}=t;if(!n||!n.$)throw zv(Hv.UNEXPECTED_ERROR);const i=function(e,t){const n=e;if("composition"===e.mode)return n.__getInstance(t)||e.global;{const a=n.__getInstance(t);return null!=a?a.__composer:e.global.__composer}}(e,n.$),o=mT(r);return[Reflect.apply(i.t,i,[...gT(o)]),i]};return{created:(n,a)=>{const[r,i]=t(a);jS&&e.global===i&&(n.__i18nWatcher=Kr(i.locale,()=>{a.instance&&a.instance.$forceUpdate()})),n.__composer=i,n.textContent=r},unmounted:e=>{jS&&e.__i18nWatcher&&(e.__i18nWatcher(),e.__i18nWatcher=void 0,delete e.__i18nWatcher),e.__composer&&(e.__composer=void 0,delete e.__composer)},beforeUpdate:(e,{value:t})=>{if(e.__composer){const n=e.__composer,a=mT(t);e.textContent=Reflect.apply(n.t,n,[...gT(a)])}},getSSRProps:e=>{const[n]=t(e);return{textContent:n}}}}(t))}function fT(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[Wv](t.pluralizationRules||e.pluralizationRules);const n=Zv(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(t=>e.mergeLocaleMessage(t,n[t])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const ST=WS("global-vue-i18n");function bT(e={}){const t=Yi();if(null==t)throw zv(Hv.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&null!=t.appContext.app&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw zv(Hv.NOT_INSTALLED);const n=function(e){{const t=yr(e.isCE?ST:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw zv(e.isCE?Hv.NOT_INSTALLED_WITH_PROVIDE:Hv.UNEXPECTED_ERROR);return t}}(t),a=function(e){return"composition"===e.mode?e.global:e.global.__composer}(n),r=Jv(t),i=function(e,t){return ZS(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}(e,r);if(__VUE_I18N_LEGACY_API__&&"legacy"===n.mode&&!e.__useComponent){if(!n.allowComposition)throw zv(Hv.NOT_AVAILABLE_IN_LEGACY_MODE);return function(e,t,n,a={}){const r="local"===t,i=qt(null);if(r&&e.proxy&&!e.proxy.$options.i18n&&!e.proxy.$options.__i18n)throw zv(Hv.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const o=ub(a.inheritLocale)?a.inheritLocale:!db(a.locale),s=zt(!r||o?n.locale.value:db(a.locale)?a.locale:nv),l=zt(!r||o?n.fallbackLocale.value:db(a.fallbackLocale)||lb(a.fallbackLocale)||gb(a.fallbackLocale)||!1===a.fallbackLocale?a.fallbackLocale:s.value),c=zt(Zv(s.value,a)),d=zt(gb(a.datetimeFormats)?a.datetimeFormats:{[s.value]:{}}),u=zt(gb(a.numberFormats)?a.numberFormats:{[s.value]:{}}),_=r?n.missingWarn:!ub(a.missingWarn)&&!XS(a.missingWarn)||a.missingWarn,p=r?n.fallbackWarn:!ub(a.fallbackWarn)&&!XS(a.fallbackWarn)||a.fallbackWarn,m=r?n.fallbackRoot:!ub(a.fallbackRoot)||a.fallbackRoot,g=!!a.fallbackFormat,E=cb(a.missing)?a.missing:null,f=cb(a.postTranslation)?a.postTranslation:null,S=r?n.warnHtmlMessage:!ub(a.warnHtmlMessage)||a.warnHtmlMessage,b=!!a.escapeParameter,h=r?n.modifiers:gb(a.modifiers)?a.modifiers:{},v=a.pluralRules||r&&n.pluralRules;function T(){return[s.value,l.value,c.value,d.value,u.value]}const y=eo({get:()=>i.value?i.value.locale.value:s.value,set:e=>{i.value&&(i.value.locale.value=e),s.value=e}}),C=eo({get:()=>i.value?i.value.fallbackLocale.value:l.value,set:e=>{i.value&&(i.value.fallbackLocale.value=e),l.value=e}}),R=eo(()=>i.value?i.value.messages.value:c.value),O=eo(()=>d.value),N=eo(()=>u.value);function A(){return i.value?i.value.getPostTranslationHandler():f}function I(e){i.value&&i.value.setPostTranslationHandler(e)}function w(){return i.value?i.value.getMissingHandler():E}function D(e){i.value&&i.value.setMissingHandler(e)}function x(e){return T(),e()}function L(...e){return i.value?x(()=>Reflect.apply(i.value.t,null,[...e])):x(()=>"")}function M(...e){return i.value?Reflect.apply(i.value.rt,null,[...e]):""}function P(...e){return i.value?x(()=>Reflect.apply(i.value.d,null,[...e])):x(()=>"")}function k(...e){return i.value?x(()=>Reflect.apply(i.value.n,null,[...e])):x(()=>"")}function F(e){return i.value?i.value.tm(e):{}}function U(e,t){return!!i.value&&i.value.te(e,t)}function B(e){return i.value?i.value.getLocaleMessage(e):{}}function G(e,t){i.value&&(i.value.setLocaleMessage(e,t),c.value[e]=t)}function Y(e,t){i.value&&i.value.mergeLocaleMessage(e,t)}function V(e){return i.value?i.value.getDateTimeFormat(e):{}}function H(e,t){i.value&&(i.value.setDateTimeFormat(e,t),d.value[e]=t)}function z(e,t){i.value&&i.value.mergeDateTimeFormat(e,t)}function q(e){return i.value?i.value.getNumberFormat(e):{}}function $(e,t){i.value&&(i.value.setNumberFormat(e,t),u.value[e]=t)}function j(e,t){i.value&&i.value.mergeNumberFormat(e,t)}const W={get id(){return i.value?i.value.id:-1},locale:y,fallbackLocale:C,messages:R,datetimeFormats:O,numberFormats:N,get inheritLocale(){return i.value?i.value.inheritLocale:o},set inheritLocale(e){i.value&&(i.value.inheritLocale=e)},get availableLocales(){return i.value?i.value.availableLocales:Object.keys(c.value)},get modifiers(){return i.value?i.value.modifiers:h},get pluralRules(){return i.value?i.value.pluralRules:v},get isGlobal(){return!!i.value&&i.value.isGlobal},get missingWarn(){return i.value?i.value.missingWarn:_},set missingWarn(e){i.value&&(i.value.missingWarn=e)},get fallbackWarn(){return i.value?i.value.fallbackWarn:p},set fallbackWarn(e){i.value&&(i.value.missingWarn=e)},get fallbackRoot(){return i.value?i.value.fallbackRoot:m},set fallbackRoot(e){i.value&&(i.value.fallbackRoot=e)},get fallbackFormat(){return i.value?i.value.fallbackFormat:g},set fallbackFormat(e){i.value&&(i.value.fallbackFormat=e)},get warnHtmlMessage(){return i.value?i.value.warnHtmlMessage:S},set warnHtmlMessage(e){i.value&&(i.value.warnHtmlMessage=e)},get escapeParameter(){return i.value?i.value.escapeParameter:b},set escapeParameter(e){i.value&&(i.value.escapeParameter=e)},t:L,getPostTranslationHandler:A,setPostTranslationHandler:I,getMissingHandler:w,setMissingHandler:D,rt:M,d:P,n:k,tm:F,te:U,getLocaleMessage:B,setLocaleMessage:G,mergeLocaleMessage:Y,getDateTimeFormat:V,setDateTimeFormat:H,mergeDateTimeFormat:z,getNumberFormat:q,setNumberFormat:$,mergeNumberFormat:j};function K(e){e.locale.value=s.value,e.fallbackLocale.value=l.value,Object.keys(c.value).forEach(t=>{e.mergeLocaleMessage(t,c.value[t])}),Object.keys(d.value).forEach(t=>{e.mergeDateTimeFormat(t,d.value[t])}),Object.keys(u.value).forEach(t=>{e.mergeNumberFormat(t,u.value[t])}),e.escapeParameter=b,e.fallbackFormat=g,e.fallbackRoot=m,e.fallbackWarn=p,e.missingWarn=_,e.warnHtmlMessage=S}return Ia(()=>{if(null==e.proxy||null==e.proxy.$i18n)throw zv(Hv.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const n=i.value=e.proxy.$i18n.__composer;"global"===t?(s.value=n.locale.value,l.value=n.fallbackLocale.value,c.value=n.messages.value,d.value=n.datetimeFormats.value,u.value=n.numberFormats.value):r&&K(n)}),W}(t,i,a,e)}if("global"===i)return eT(a,e,r),a;if("parent"===i){let r=function(e,t,n=!1){let a=null;const r=t.root;let i=function(e,t=!1){if(null==e)return null;return t&&e.vnode.ctx||e.parent}(t,n);for(;null!=i;){const t=e;if("composition"===e.mode)a=t.__getInstance(i);else if(__VUE_I18N_LEGACY_API__){const e=t.__getInstance(i);null!=e&&(a=e.__composer,n&&a&&!a[Kv]&&(a=null))}if(null!=a)break;if(r===i)break;i=i.parent}return a}(n,t,e.__useComponent);return null==r&&(r=a),r}const o=n;let s=o.__getInstance(t);if(null==s){const n=JS({},e);"__i18n"in r&&(n.__i18n=r.__i18n),a&&(n.__root=a),s=oT(n),o.__composerExtend&&(s[Qv]=o.__composerExtend(s)),function(e,t,n){wa(()=>{},t),Ma(()=>{const a=n;e.__deleteInstance(t);const r=a[Qv];r&&(r(),delete a[Qv])},t)}(o,t,s),o.__setInstance(t,s)}return s}const hT=["locale","fallbackLocale","availableLocales"],vT=["t","rt","d","n","tm","te"];var TT;if("boolean"!=typeof __VUE_I18N_FULL_INSTALL__&&(ab().__VUE_I18N_FULL_INSTALL__=!0),"boolean"!=typeof __VUE_I18N_LEGACY_API__&&(ab().__VUE_I18N_LEGACY_API__=!0),"boolean"!=typeof __INTLIFY_JIT_COMPILATION__&&(ab().__INTLIFY_JIT_COMPILATION__=!1),"boolean"!=typeof __INTLIFY_DROP_MESSAGE_COMPILER__&&(ab().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),"boolean"!=typeof __INTLIFY_PROD_DEVTOOLS__&&(ab().__INTLIFY_PROD_DEVTOOLS__=!1),__INTLIFY_JIT_COMPILATION__?sv(function(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&db(e)){!ub(t.warnHtmlMessage)||t.warnHtmlMessage;const n=(t.onCacheKey||Tv)(e),a=yv[n];if(a)return a;const{ast:r,detectError:i}=Cv(e,c(l({},t),{location:!1,jit:!0})),o=bv(r);return i?o:yv[n]=o}{const t=e.cacheKey;if(t){return yv[t]||(yv[t]=bv(e))}return bv(e)}}):sv(Rv),iv=function(e,t){if(!_b(e))return null;let n=Dh.get(t);if(n||(n=function(e){const t=[];let n,a,r,i,o,s,l,c=-1,d=0,u=0;const _=[];function p(){const t=e[c+1];if(5===d&&"'"===t||6===d&&'"'===t)return c++,r="\\"+t,_[0](),!0}for(_[0]=()=>{void 0===a?a=r:a+=r},_[1]=()=>{void 0!==a&&(t.push(a),a=void 0)},_[2]=()=>{_[0](),u++},_[3]=()=>{if(u>0)u--,d=4,_[0]();else{if(u=0,void 0===a)return!1;if(a=wh(a),!1===a)return!1;_[1]()}};null!==d;)if(c++,n=e[c],"\\"!==n||!p()){if(i=Ih(n),l=Nh[d],o=l[i]||l.l||8,8===o)return;if(d=o[0],void 0!==o[1]&&(s=_[o[1]],s&&(r=n,!1===s())))return;if(7===d)return t}}(t),n&&Dh.set(t,n)),!n)return null;const a=n.length;let r=e,i=0;for(;it.test(e)&&null!==localStorage.getItem(e))}hasAnyVersionStorage(){const e=Object.keys(localStorage),t=yT.createVersionPattern();return e.some(e=>t.test(e)&&null!==localStorage.getItem(e))}getLegacyStorageData(){try{return this.getSystemStorage()||{}}catch(e){return{}}}showStorageError(){iE({type:"error",offset:40,duration:5e3,message:"系统检测到本地数据异常,请重新登录系统恢复使用!"})}performSystemLogout(){setTimeout(()=>{try{localStorage.clear(),CN().logOut(),TN.push({name:"Login"})}catch(e){}},yT.LOGOUT_DELAY)}handleStorageError(){this.showStorageError(),this.performSystemLogout()}validateStorageData(e=!1){try{if(this.hasCurrentVersionStorage())return!0;if(this.hasAnyVersionStorage())return!0;const t=this.getLegacyStorageData();return 0!==Object.keys(t).length||(!e||(this.performSystemLogout(),!1))}catch(t){return!e||(this.handleStorageError(),!1)}}isStorageEmpty(){if(this.hasCurrentVersionStorage())return!1;if(this.hasAnyVersionStorage())return!1;const e=this.getLegacyStorageData();return 0===Object.keys(e).length}checkCompatibility(e=!1){try{const t=this.validateStorageData(e),n=this.isStorageEmpty();return!(!t&&!n)}catch(t){return!1}}};class RT{getCurrentVersionKey(e){return yT.generateStorageKey(e)}hasCurrentVersionData(e){return null!==localStorage.getItem(e)}findExistingKey(e){const t=Object.keys(localStorage),n=yT.createKeyPattern(e);return t.find(e=>n.test(e)&&localStorage.getItem(e))||null}migrateData(e,t){try{const n=localStorage.getItem(e);n&&localStorage.setItem(t,n)}catch(n){}}getStorageKey(e){const t=this.getCurrentVersionKey(e);if(this.hasCurrentVersionData(t))return t;const n=this.findExistingKey(e);return n&&this.migrateData(n,t),t}}const OT={httpMsg:{unauthorized:"Unauthorized access, please login again",forbidden:"Access to this resource is forbidden",notFound:"The requested resource does not exist",methodNotAllowed:"Request method not allowed",requestTimeout:"Request timeout, please try again later",internalServerError:"Internal server error, please try again later",badGateway:"Bad gateway error, please try again later",serviceUnavailable:"Service temporarily unavailable, please try again later",gatewayTimeout:"Gateway timeout, please try again later",requestCancelled:"Request cancelled",networkError:"Network connection error, please check your connection",requestFailed:"Request failed",requestConfigError:"Request configuration error",badRequest:"Bad request parameters",validationError:"Data validation failed",businessError:"Business processing failed",unknownError:"Unknown error",serverBusy:"Server is busy, please try again later",serviceError:"Service exception, please contact administrator",dataNotFound:"Data not found",permissionDenied:"Insufficient permissions",operationFailed:"Operation failed",operationSuccess:"Operation successful",saveSuccess:"Save successful",deleteSuccess:"Delete successful",updateSuccess:"Update successful",createSuccess:"Create successful",submitSuccess:"Submit successful",loginFailed:"Login failed",logoutSuccess:"Logout successful",tokenExpired:"Token expired, please login again",invalidToken:"Invalid token",userNotFound:"User does not exist",passwordError:"Password error",accountLocked:"Account has been locked",accountDisabled:"Account has been disabled",duplicateData:"Duplicate data",dataConstraintError:"Data constraint error",fileUploadError:"File upload failed",fileTooLarge:"File too large",unsupportedFileType:"Unsupported file type",rateLimitExceeded:"Too many requests, please try again later",maintenanceMode:"System under maintenance, please visit later"},authError:{relogin:"Login Again",refresh:"Refresh Page",sessionExpired:{title:"Session Expired",message:"Your login session has expired, please login again to continue using the system"}},topBar:{search:{title:"Search"},user:{userCenter:"User center",docs:"Document",github:"Github",lockScreen:"Lock screen",logout:"Log out"},guide:{title:"Click here to view",theme:"Theme style",menu:"Open top menu",description:"More configurations"}},common:{tips:"Prompt",cancel:"Cancel",confirm:"Confirm",logOutTips:"Do you want to log out?"},search:{placeholder:"Search page",historyTitle:"Search history",switchKeydown:"Navigate",selectKeydown:"Select",exitKeydown:"Close"},setting:{menuType:{title:"Menu Layout",list:["Vertical","Horizontal","Mixed","Dual"]},theme:{title:"Theme Style",list:["Light","Dark","System"]},menu:{title:"Menu Style"},color:{title:"Theme Color"},box:{title:"Box Style",list:["Border","Shadow"]},container:{title:"Container Width",list:["Full","Boxed"]},basics:{title:"Basic Config",list:{multiTab:"Show work tab",accordion:"Sidebar opens accordion",collapseSidebar:"Show sidebar button",reloadPage:"Show reload page button",fastEnter:"Show fast enter",breadcrumb:"Show crumb navigation",language:"Show multilingual selection",progressBar:"Show top progress bar",weakMode:"Color Weakness Mode",watermark:"Global watermark",menuWidth:"Menu width",tabStyle:"Tab style",pageTransition:"Page animation",borderRadius:"Custom radius"}},tabStyle:{default:"Default",card:"Card",google:"Chrome"},transition:{list:{none:"None",fade:"Fade",slideLeft:"Slide Left",slideBottom:"Slide Bottom",slideTop:"Slide Top"}},actions:{resetConfig:"Reset Config",copyConfig:"Copy Config",copySuccess:"Configuration copied to clipboard, paste it into src/config/setting.ts file",copyFailed:"Copy failed, please try again",resetFailed:"Reset failed, please refresh the page and try again"}},notice:{title:"Notice",btnRead:"Mark as read",bar:["Notice","Message","Todo"],text:["No"],viewAll:"View all"},worktab:{btn:{refresh:"Refresh",fixed:"Fixed",unfixed:"Unfixed",closeLeft:"Close left",closeRight:"Close right",closeOther:"Close other",closeAll:"Close all"}},login:{leftView:{title:"A backend system of beauty and efficiency",subTitle:"A sleek and practical interface for a great user experience"},title:"Welcome back",subTitle:"Please enter your account and password to login",sessionExpired:{title:"Session Expired",message:"Your login session has expired, please login again to continue using the system"},roles:{super:"Super Admin",admin:"Admin",user:"User"},placeholder:{username:"Please enter your account",password:"Please enter your password",slider:"Please slide to verify"},sliderText:"Please slide to verify",sliderSuccessText:"Verification successful",rememberPwd:"Remember password",forgetPwd:"Forgot password",btnText:"Login",noAccount:"No account yet?",register:"Register",success:{title:"Login successful",message:"Welcome back"}},forgetPassword:{title:"Forgot password?",subTitle:"Enter your email to reset your password",placeholder:"Please enter your email",submitBtnText:"Submit",backBtnText:"Back"},register:{title:"Create account",subTitle:"Welcome to join us, please fill in the following information to complete the registration",placeholder:{username:"Please enter your account",password:"Please enter your password",confirmPassword:"Please enter your password again"},rule:{confirmPasswordRequired:"Please enter your password again",passwordMismatch:"The two passwords are inconsistent!",usernameLength:"The length is 3 to 20 characters",passwordLength:"The password length cannot be less than 6 digits",agreementRequired:"Please agree to the privacy policy"},agreeText:"I agree",privacyPolicy:"Privacy policy",submitBtnText:"Register",hasAccount:"Already have an account?",toLogin:"To login"},lockScreen:{pwdError:"Password error",lock:{inputPlaceholder:"Please input lock screen password",btnText:"Lock"},unlock:{inputPlaceholder:"Please input unlock password",btnText:"Unlock",backBtnText:"Back to login"}},greeting:{dawn:"Good morning!",morning:"Good morning!",afternoon:"Good afternoon!",evening:"Good evening!"},exceptionPage:{403:"Sorry, you do not have permission to access this page",404:"Sorry, the page you are trying to access does not exist",500:"Sorry, there was an error on the server",gohome:"Go Home"},menus:{login:{title:"Login"},register:{title:"Register"},forgetPassword:{title:"Forget Password"},outside:{title:"Outside"},dashboard:{title:"Dashboard",console:"Console"},result:{title:"Result Page",success:"Success",fail:"Fail"},exception:{title:"Exception",forbidden:"403",notFound:"404",serverError:"500"},system:{title:"System Settings",user:"User Manage",role:"Role Manage",userCenter:"User Center",menu:"Menu Manage"},operations:{title:"Operations",itemCards:"Item Cards",coupons:"Coupons"},games:{title:"Game Center",matching:"Matching Game",minesweeper:"Minesweeper",passes:"Game Passes"},douyin:{title:"Douyin Shop",orders:"Order Sync",rewards:"Product Rewards",livestream:"Livestream Activities"},taskCenter:{title:"Task Center",tasks:"Task List"}},table:{form:{reset:"Reset",submit:"Submit"},searchBar:{reset:"Reset",search:"Search",expand:"Expand",collapse:"Collapse",searchInputPlaceholder:"Please enter",searchSelectPlaceholder:"Please select"},selection:"Select",sizeOptions:{small:"Compact",default:"Default",large:"Loose"},column:{selection:"Select",expand:"Expand",index:"Index"},zebra:"Zebra",border:"Border",headerBackground:"Header BG"}},NT={httpMsg:{unauthorized:"未授权访问,请重新登录",forbidden:"禁止访问该资源",notFound:"请求的资源不存在",methodNotAllowed:"请求方法不允许",requestTimeout:"请求超时,请稍后重试",internalServerError:"服务器内部错误,请稍后重试",badGateway:"网关错误,请稍后重试",serviceUnavailable:"服务暂时不可用,请稍后重试",gatewayTimeout:"网关超时,请稍后重试",requestCancelled:"请求已取消",networkError:"网络连接异常,请检查网络连接",requestFailed:"请求失败",requestConfigError:"请求配置错误",badRequest:"请求参数错误",validationError:"数据验证失败",businessError:"业务处理失败",unknownError:"未知错误",serverBusy:"服务器繁忙,请稍后重试",serviceError:"服务异常,请联系管理员",dataNotFound:"数据不存在",permissionDenied:"权限不足",operationFailed:"操作失败",operationSuccess:"操作成功",saveSuccess:"保存成功",deleteSuccess:"删除成功",updateSuccess:"更新成功",createSuccess:"创建成功",submitSuccess:"提交成功",loginFailed:"登录失败",logoutSuccess:"退出成功",tokenExpired:"令牌已过期,请重新登录",invalidToken:"无效的令牌",userNotFound:"用户不存在",passwordError:"密码错误",accountLocked:"账户已被锁定",accountDisabled:"账户已被禁用",duplicateData:"数据重复",dataConstraintError:"数据约束错误",fileUploadError:"文件上传失败",fileTooLarge:"文件过大",unsupportedFileType:"不支持的文件类型",rateLimitExceeded:"请求过于频繁,请稍后重试",maintenanceMode:"系统维护中,请稍后访问"},authError:{relogin:"重新登录",refresh:"刷新页面",sessionExpired:{title:"会话已过期",message:"您的登录会话已过期,请重新登录以继续使用系统"}},topBar:{search:{title:"搜索"},user:{userCenter:"个人中心",docs:"使用文档",github:"Github",lockScreen:"锁定屏幕",logout:"退出登录"},guide:{title:"点击这里查看",theme:"主题风格",menu:"开启顶栏菜单",description:"等更多配置"}},common:{tips:"提示",cancel:"取消",confirm:"确定",logOutTips:"您是否要退出登录?"},search:{placeholder:"搜索页面",historyTitle:"搜索历史",switchKeydown:"切换",selectKeydown:"选择",exitKeydown:"关闭"},setting:{menuType:{title:"菜单布局",list:["垂直","水平","混合","双列"]},theme:{title:"主题风格",list:["浅色","深色","系统"]},menu:{title:"菜单风格"},color:{title:"系统主题色"},box:{title:"盒子样式",list:["边框","阴影"]},container:{title:"容器宽度",list:["铺满","定宽"]},basics:{title:"基础配置",list:{multiTab:"开启多标签栏",accordion:"侧边栏开启手风琴模式",collapseSidebar:"显示折叠侧边栏按钮",fastEnter:"显示快速入口",reloadPage:"显示重载页面按钮",breadcrumb:"显示全局面包屑导航",language:"显示多语言选择",progressBar:"显示顶部进度条",weakMode:"色弱模式",watermark:"全局水印",menuWidth:"菜单宽度",tabStyle:"标签页风格",pageTransition:"页面切换动画",borderRadius:"自定义圆角"}},tabStyle:{default:"默认",card:"卡片",google:"谷歌"},transition:{list:{none:"无动画",fade:"淡入淡出",slideLeft:"左侧滑入",slideBottom:"下方滑入",slideTop:"上方滑入"}},actions:{resetConfig:"重置配置",copyConfig:"复制配置",copySuccess:"配置已复制到剪贴板,可粘贴到 src/config/setting.ts 文件中",copyFailed:"复制失败,请重试",resetFailed:"重置失败,请刷新页面后重试"}},notice:{title:"通知",btnRead:"标为已读",bar:["通知","消息","代办"],text:["暂无"],viewAll:"查看全部"},worktab:{btn:{refresh:"刷新",fixed:"固定",unfixed:"取消固定",closeLeft:"关闭左侧",closeRight:"关闭右侧",closeOther:"关闭其他",closeAll:"关闭全部"}},login:{leftView:{title:"一款兼具设计美学与高效开发的后台系统",subTitle:"美观实用的界面,经过视觉优化,确保卓越的用户体验"},title:"欢迎回来",subTitle:"输入您的账号和密码登录",sessionExpired:{title:"会话已过期",message:"您的登录会话已过期,请重新登录以继续使用系统"},roles:{super:"超级管理员",admin:"管理员",user:"普通用户"},placeholder:{username:"请输入账号",password:"请输入密码",slider:"请拖动滑块完成验证"},sliderText:"按住滑块拖动",sliderSuccessText:"验证成功",rememberPwd:"记住密码",forgetPwd:"忘记密码",btnText:"登录",noAccount:"还没有账号?",register:"注册",success:{title:"登录成功",message:"欢迎回来"}},forgetPassword:{title:"忘记密码?",subTitle:"输入您的电子邮件来重置您的密码",placeholder:"请输入您的电子邮件",submitBtnText:"提交",backBtnText:"返回"},register:{title:"创建账号",subTitle:"欢迎加入我们,请填写以下信息完成注册",placeholder:{username:"请输入账号",password:"请输入密码",confirmPassword:"请再次输入密码"},rule:{confirmPasswordRequired:"请再次输入密码",passwordMismatch:"两次输入密码不一致!",usernameLength:"长度在 3 到 20 个字符",passwordLength:"密码长度不能小于6位",agreementRequired:"请同意隐私协议"},agreeText:"我同意",privacyPolicy:"《隐私政策》",submitBtnText:"注册",hasAccount:"已有账号?",toLogin:"去登录"},lockScreen:{pwdError:"密码错误",lock:{inputPlaceholder:"请输入锁屏密码",btnText:"锁定"},unlock:{inputPlaceholder:"请输入解锁密码",btnText:"解锁",backBtnText:"返回登录"}},greeting:{dawn:"凌晨了!",morning:"上午好!",afternoon:"下午好!",evening:"晚上好!"},exceptionPage:{403:"抱歉,您无权访问该页面",404:"抱歉,您访问的页面不存在",500:"抱歉,服务器出错了",gohome:"返回首页"},menus:{login:{title:"登录"},register:{title:"注册"},forgetPassword:{title:"忘记密码"},outside:{title:"内嵌页面"},dashboard:{title:"仪表盘",console:"工作台"},result:{title:"结果页面",success:"成功页",fail:"失败页"},exception:{title:"异常页面",forbidden:"403",notFound:"404",serverError:"500"},system:{title:"系统管理",user:"用户管理",role:"角色管理",userCenter:"个人中心",menu:"菜单管理",announcement:"系统公告"},operations:{title:"运营中心",itemCards:"道具卡管理",coupons:"优惠券管理"},games:{title:"游戏中心",matching:"对对碰管理",minesweeper:"扫雷管理",passes:"次数卡管理"},douyin:{title:"抖店同步",orders:"订单同步",rewards:"商品奖励",livestream:"直播间活动",blacklist:"用户黑名单"},taskCenter:{title:"任务中心",tasks:"任务列表"}},table:{form:{reset:"重置",submit:"提交"},searchBar:{reset:"重置",search:"查询",expand:"展开",collapse:"收起",searchInputPlaceholder:"请输入",searchSelectPlaceholder:"请选择"},selection:"选择",sizeOptions:{small:"紧凑",default:"默认",large:"宽松"},column:{selection:"勾选",expand:"展开",index:"序号"},zebra:"斑马纹",border:"边框",headerBackground:"表头背景"}},AT=new RT,IT={[WE.EN]:OT,[WE.ZH]:NT},wT=[{value:WE.ZH,label:"简体中文"},{value:WE.EN,label:"English"}],DT=function(e={}){const t=__VUE_I18N_LEGACY_API__&&ub(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=!ub(e.globalInjection)||e.globalInjection,a=!__VUE_I18N_LEGACY_API__||!t||!!e.allowComposition,r=new Map,[i,o]=function(e,t){const n=be();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>sT(e)):n.run(()=>oT(e));if(null==a)throw zv(Hv.UNEXPECTED_ERROR);return[n,a]}}(e,t),s=WS("");{const e={get mode(){return __VUE_I18N_LEGACY_API__&&t?"legacy":"composition"},get allowComposition(){return a},install(a,...r){return _(this,null,function*(){if(a.__VUE_I18N_SYMBOL__=s,a.provide(a.__VUE_I18N_SYMBOL__,e),gb(r[0])){const t=r[0];e.__composerExtend=t.__composerExtend,e.__vueI18nExtend=t.__vueI18nExtend}let i=null;!t&&n&&(i=function(e,t){const n=Object.create(null);hT.forEach(e=>{const a=Object.getOwnPropertyDescriptor(t,e);if(!a)throw zv(Hv.UNEXPECTED_ERROR);const r=Ht(a.value)?{get:()=>a.value.value,set(e){a.value.value=e}}:{get:()=>a.get&&a.get()};Object.defineProperty(n,e,r)}),e.config.globalProperties.$i18n=n,vT.forEach(n=>{const a=Object.getOwnPropertyDescriptor(t,n);if(!a||!a.value)throw zv(Hv.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${n}`,a)});const a=()=>{delete e.config.globalProperties.$i18n,vT.forEach(t=>{delete e.config.globalProperties[`$${t}`]})};return a}(a,e.global)),__VUE_I18N_FULL_INSTALL__&&ET(a,e,...r),__VUE_I18N_LEGACY_API__&&t&&a.mixin(function(e,t,n){return{beforeCreate(){const a=Yi();if(!a)throw zv(Hv.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const a=r.i18n;if(r.__i18n&&(a.__i18n=r.__i18n),a.__root=t,this===this.$root)this.$i18n=fT(e,a);else{a.__injectWithOption=!0,a.__extender=n.__vueI18nExtend,this.$i18n=sT(a);const e=this.$i18n;e.__extender&&(e.__disposer=e.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=fT(e,r);else{this.$i18n=sT({__i18n:r.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const e=this.$i18n;e.__extender&&(e.__disposer=e.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&eT(t,r,r),this.$t=(...e)=>this.$i18n.t(...e),this.$rt=(...e)=>this.$i18n.rt(...e),this.$tc=(...e)=>this.$i18n.tc(...e),this.$te=(e,t)=>this.$i18n.te(e,t),this.$d=(...e)=>this.$i18n.d(...e),this.$n=(...e)=>this.$i18n.n(...e),this.$tm=e=>this.$i18n.tm(e),n.__setInstance(a,this.$i18n)},mounted(){},unmounted(){const e=Yi();if(!e)throw zv(Hv.UNEXPECTED_ERROR);const t=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,t.__disposer&&(t.__disposer(),delete t.__disposer,delete t.__extender),n.__deleteInstance(e),delete this.$i18n}}}(o,o.__composer,e));const l=a.unmount;a.unmount=()=>{i&&i(),e.dispose(),l()}})},get global(){return o},dispose(){i.stop()},__instances:r,__getInstance:function(e){return r.get(e)||null},__setInstance:function(e,t){r.set(e,t)},__deleteInstance:function(e){r.delete(e)}};return e}}({locale:(()=>{try{const e=AT.getStorageKey("user"),t=localStorage.getItem(e);if(t){const{language:e}=JSON.parse(t);if(e&&Object.values(WE).includes(e))return e}}catch(e){}try{const e=CT.getSystemStorage();if(e){const{user:t}=JSON.parse(e);if((null==t?void 0:t.language)&&Object.values(WE).includes(t.language))return t.language}}catch(e){}return WE.ZH})(),legacy:!1,globalInjection:!0,fallbackLocale:WE.ZH,messages:IT}),xT=DT.global.t,LT=e=>{const{title:t}=e.meta;t&&setTimeout(()=>{document.title=`${MT(String(t))} - ${HS.systemInfo.name}`},150)},MT=e=>e?e.startsWith("menus.")?DT.global.te(e)?xT(e):e.split(".").pop()||e:e:"";function PT(e){return getComputedStyle(document.documentElement).getPropertyValue(e)}function kT(e){const t=e.trim().replace(/^#/,"");return/^[0-9A-Fa-f]{3}$|^[0-9A-Fa-f]{6}$/.test(t)}function FT(e,t){if(!kT(e))throw new Error("Invalid hex color format");let n=e.trim().replace(/^#/,"").toUpperCase();3===n.length&&(n=n.split("").map(e=>e.repeat(2)).join(""));const[a,r,i]=n.match(/\w\w/g).map(e=>parseInt(e,16));return{red:a,green:r,blue:i,rgba:`rgba(${a}, ${r}, ${i}, ${Math.max(0,Math.min(1,t)).toFixed(2)})`}}function UT(e){if(!kT(e))throw iE.warning("输入错误的hex颜色值"),new Error("Invalid hex color format");let t=e.replace(/^#/,"");3===t.length&&(t=t.split("").map(e=>e.repeat(2)).join(""));const n=t.match(/../g);if(!n)throw new Error("Invalid hex color format");return n.map(e=>parseInt(e,16))}function BT(e,t,n){if(!function(e,t,n){const a=e=>Number.isInteger(e)&&e>=0&&e<=255;return a(e)&&a(t)&&a(n)}(e,t,n))throw iE.warning("输入错误的RGB颜色值"),new Error("Invalid RGB color values");const a=e=>{const t=e.toString(16);return 1===t.length?`0${t}`:t};return`#${a(e)}${a(t)}${a(n)}`}function GT(e,t,n){const a=Math.max(0,Math.min(1,Number(n))),r=UT(e),i=UT(t),o=r.map((e,t)=>{const n=i[t];return Math.round(e*(1-a)+n*a)});return BT(o[0],o[1],o[2])}function YT(e,t,n=!1){if(!kT(e))throw iE.warning("输入错误的hex颜色值"),new Error("Invalid hex color format");if(n)return VT(e,t);const a=UT(e).map(e=>Math.floor((255-e)*t+e));return BT(a[0],a[1],a[2])}function VT(e,t){if(!kT(e))throw iE.warning("输入错误的hex颜色值"),new Error("Invalid hex color format");const n=UT(e).map(e=>Math.floor(e*(1-t)));return BT(n[0],n[1],n[2])}function HT(e){const t=document.documentElement.style;t.setProperty("--el-color-primary",e),function(e,t=!1){document.documentElement.style.setProperty("--el-color-primary",e);for(let n=1;n<=9;n++)document.documentElement.style.setProperty(`--el-color-primary-light-${n}`,YT(e,n/10,t));for(let n=1;n<=9;n++)document.documentElement.style.setProperty(`--el-color-primary-dark-${n}`,VT(e,n/10))}(e,_N().isDark);for(let n=1;n<16;n++){const a=GT(e,"#ffffff",n/16);t.setProperty(`--el-color-primary-custom-${n}`,a)}}const zT=()=>document.documentElement.classList.contains("dark")?"rgba(7, 7, 7, 0.85)":"#fff",qT={lock:!0,get background(){return zT()},svg:'\n \n \n \n \n \n \n \n \n \n',svgViewBox:"0 0 40 40",customClass:"art-loading-fix"};let $T=null;const jT={showLoading(){if(!$T){const e=c(l({},qT),{background:zT()});$T=$g.service(e)}return()=>this.hideLoading()},hideLoading(){$T&&($T.close(),$T=null)}};function WT(e){return!!he()&&(ve(e),!0)}const KT=new WeakMap,QT=(...e)=>{var t;const n=e[0],a=null==(t=Yi())?void 0:t.proxy;if(null==a&&!Cr())throw new Error("injectLocal must be called in setup");return a&&KT.has(a)&&n in KT.get(a)?KT.get(a)[n]:yr(...e)},XT="undefined"!=typeof window&&"undefined"!=typeof document;"undefined"!=typeof WorkerGlobalScope&&(globalThis,WorkerGlobalScope);const ZT=e=>null!=e,JT=Object.prototype.toString,ey=()=>{};function ty(e,t){return function(...n){return new Promise((a,r)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(a).catch(r)})}}function ny(e){return e}function ay(e){return e.endsWith("rem")?16*Number.parseFloat(e):Number.parseFloat(e)}function ry(e){return Array.isArray(e)?e:[e]}function iy(e,t=200,n={}){return ty(function(e,t={}){let n,a,r=ey;const i=e=>{clearTimeout(e),r(),r=ey};let o;return s=>{const l=Qt(e),c=Qt(t.maxWait);return n&&i(n),l<=0||void 0!==c&&c<=0?(a&&(i(a),a=void 0),Promise.resolve(s())):new Promise((e,d)=>{r=t.rejectOnCancel?d:e,o=s,c&&!a&&(a=setTimeout(()=>{n&&i(n),a=void 0,e(o())},c)),n=setTimeout(()=>{a&&i(a),a=void 0,e(s())},l)})}}(t,n),e)}function oy(e,t=200,n=!1,a=!0,r=!1){return ty(function(...e){let t,n,a,r,i,o,s=0,l=!0,c=ey;Ht(e[0])||"object"!=typeof e[0]?[a,r=!0,i=!0,o=!1]=e:({delay:a,trailing:r=!0,leading:i=!0,rejectOnCancel:o=!1}=e[0]);const d=()=>{t&&(clearTimeout(t),t=void 0,c(),c=ey)};return e=>{const u=Qt(a),_=Date.now()-s,p=()=>n=e();return d(),u<=0?(s=Date.now(),p()):(_>u&&(i||!l)?(s=Date.now(),p()):r&&(n=new Promise((e,n)=>{c=o?n:e,t=setTimeout(()=>{s=Date.now(),l=!0,e(p()),d()},Math.max(0,u-_))})),i||t||(t=setTimeout(()=>l=!0,u)),l=!1,n)}}(t,n,a,r),e)}function sy(e,t=!0,n){Yi()?wa(e,n):t?e():Tn(e)}const ly=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[T\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/i,cy=/[YMDHhms]o|\[([^\]]+)\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|z{1,4}|SSS/g;function dy(e,t,n,a){let r=e<12?"AM":"PM";return a&&(r=r.split("").reduce((e,t)=>e+`${t}.`,"")),n?r.toLowerCase():r}function uy(e){const t=["th","st","nd","rd"],n=e%100;return e+(t[(n-20)%10]||t[n]||t[0])}function _y(e,t="HH:mm:ss",n={}){return eo(()=>function(e,t,n={}){var a;const r=e.getFullYear(),i=e.getMonth(),o=e.getDate(),s=e.getHours(),l=e.getMinutes(),c=e.getSeconds(),d=e.getMilliseconds(),u=e.getDay(),_=null!=(a=n.customMeridiem)?a:dy,p=e=>{var t;return null!=(t=e.split(" ")[1])?t:""},m={Yo:()=>uy(r),YY:()=>String(r).slice(-2),YYYY:()=>r,M:()=>i+1,Mo:()=>uy(i+1),MM:()=>`${i+1}`.padStart(2,"0"),MMM:()=>e.toLocaleDateString(Qt(n.locales),{month:"short"}),MMMM:()=>e.toLocaleDateString(Qt(n.locales),{month:"long"}),D:()=>String(o),Do:()=>uy(o),DD:()=>`${o}`.padStart(2,"0"),H:()=>String(s),Ho:()=>uy(s),HH:()=>`${s}`.padStart(2,"0"),h:()=>`${s%12||12}`.padStart(1,"0"),ho:()=>uy(s%12||12),hh:()=>`${s%12||12}`.padStart(2,"0"),m:()=>String(l),mo:()=>uy(l),mm:()=>`${l}`.padStart(2,"0"),s:()=>String(c),so:()=>uy(c),ss:()=>`${c}`.padStart(2,"0"),SSS:()=>`${d}`.padStart(3,"0"),d:()=>u,dd:()=>e.toLocaleDateString(Qt(n.locales),{weekday:"narrow"}),ddd:()=>e.toLocaleDateString(Qt(n.locales),{weekday:"short"}),dddd:()=>e.toLocaleDateString(Qt(n.locales),{weekday:"long"}),A:()=>_(s,l),AA:()=>_(s,l,!1,!0),a:()=>_(s,l,!0),aa:()=>_(s,l,!0,!0),z:()=>p(e.toLocaleDateString(Qt(n.locales),{timeZoneName:"shortOffset"})),zz:()=>p(e.toLocaleDateString(Qt(n.locales),{timeZoneName:"shortOffset"})),zzz:()=>p(e.toLocaleDateString(Qt(n.locales),{timeZoneName:"shortOffset"})),zzzz:()=>p(e.toLocaleDateString(Qt(n.locales),{timeZoneName:"longOffset"}))};return t.replace(cy,(e,t)=>{var n,a;return null!=(a=null!=t?t:null==(n=m[e])?void 0:n.call(m))?a:e})}(function(e){if(null===e)return new Date(Number.NaN);if(void 0===e)return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){const t=e.match(ly);if(t){const e=t[2]-1||0,n=(t[7]||"0").substring(0,3);return new Date(t[1],e,t[3]||1,t[4]||0,t[5]||0,t[6]||0,n)}}return new Date(e)}(Qt(e)),Qt(t),n))}function py(e,t,n={}){const{immediate:a=!0,immediateCallback:r=!1}=n,i=qt(!1);let o;function s(){o&&(clearTimeout(o),o=void 0)}function l(){i.value=!1,s()}function c(...n){r&&e(),s(),i.value=!0,o=setTimeout(()=>{i.value=!1,o=void 0,e(...n)},Qt(t))}return a&&(i.value=!0,XT&&c()),WT(l),{isPending:Lt(i),start:c,stop:l}}const my=XT?window:void 0,gy=XT?window.document:void 0,Ey=XT?window.navigator:void 0;function fy(e){var t;const n=Qt(e);return null!=(t=null==n?void 0:n.$el)?t:n}function Sy(...e){const t=[],n=()=>{t.forEach(e=>e()),t.length=0},a=eo(()=>{const t=ry(Qt(e[0])).filter(e=>null!=e);return t.every(e=>"string"!=typeof e)?t:void 0}),r=(i=([e,a,r,i])=>{if(n(),!(null==e?void 0:e.length)||!(null==a?void 0:a.length)||!(null==r?void 0:r.length))return;const o=(s=i,"[object Object]"===JT.call(s)?l({},i):i);var s;t.push(...e.flatMap(e=>a.flatMap(t=>r.map(n=>((e,t,n,a)=>(e.addEventListener(t,n,a),()=>e.removeEventListener(t,n,a)))(e,t,n,o)))))},Kr(()=>{var t,n;return[null!=(n=null==(t=a.value)?void 0:t.map(e=>fy(e)))?n:[my].filter(e=>null!=e),ry(Qt(a.value?e[1]:e[0])),ry(Kt(a.value?e[2]:e[1])),Qt(a.value?e[3]:e[2])]},i,c(l({},{flush:"post"}),{immediate:!0})));var i;return WT(n),()=>{r(),n()}}function by(){const e=qt(!1),t=Yi();return t&&wa(()=>{e.value=!0},t),e}function hy(e){const t=by();return eo(()=>(t.value,Boolean(e())))}function vy(e,t,n={}){const{window:a=my,document:r=(null==a?void 0:a.document),flush:i="sync"}=n;if(!a||!r)return ey;let o;const s=e=>{null==o||o(),o=e},l=Wr(()=>{const n=fy(e);if(n){const{stop:e}=function(e,t,n={}){const a=n,{window:r=my}=a,i=d(a,["window"]);let o;const s=hy(()=>r&&"MutationObserver"in r),l=()=>{o&&(o.disconnect(),o=void 0)},c=Kr(eo(()=>{const t=ry(Qt(e)).map(fy).filter(ZT);return new Set(t)}),e=>{l(),s.value&&e.size&&(o=new MutationObserver(t),e.forEach(e=>o.observe(e,i)))},{immediate:!0,flush:"post"}),u=()=>{c(),l()};return WT(u),{isSupported:s,stop:u,takeRecords:()=>null==o?void 0:o.takeRecords()}}(r,e=>{e.map(e=>[...e.removedNodes]).flat().some(e=>e===n||e.contains(n))&&t(e)},{window:a,childList:!0,subtree:!0});s(e)}},{flush:i}),c=()=>{l(),s()};return WT(c),c}function Ty(e,t={}){const{immediate:n=!0,fpsLimit:a,window:r=my,once:i=!1}=t,o=qt(!1),s=eo(()=>a?1e3/Qt(a):null);let l=0,c=null;function d(t){if(!o.value||!r)return;l||(l=t);const n=t-l;if(s.value&&nn&&"matchMedia"in n&&"function"==typeof n.matchMedia),i=qt("number"==typeof a),o=qt(),s=qt(!1);return Wr(()=>{if(i.value){i.value=!r.value;const t=Qt(e).split(",");return void(s.value=t.some(e=>{const t=e.includes("not all"),n=e.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),r=e.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);let i=Boolean(n||r);return n&&i&&(i=a>=ay(n[1])),r&&i&&(i=a<=ay(r[1])),t?!i:i}))}r.value&&(o.value=n.matchMedia(Qt(e)),s.value=o.value.matches)}),Sy(o,"change",e=>{s.value=e.matches},{passive:!0}),eo(()=>s.value)}function Oy(e,t={}){function n(t,n){let a=Qt(e[Qt(t)]);return null!=n&&(a=function(e,t){var n;if("number"==typeof e)return e+t;const a=(null==(n=e.match(/^-?\d+\.?\d*/))?void 0:n[0])||"",r=e.slice(a.length),i=Number.parseFloat(a)+t;return Number.isNaN(i)?e:i+r}(a,n)),"number"==typeof a&&(a=`${a}px`),a}const{window:a=my,strategy:r="min-width",ssrWidth:i=Cy()}=t,o="number"==typeof i,s=o?qt(!1):{value:!0};function l(e,t){return!s.value&&o?"min"===e?i>=ay(t):i<=ay(t):!!a&&a.matchMedia(`(${e}-width: ${t})`).matches}o&&sy(()=>s.value=!!a);const c=e=>Ry(()=>`(min-width: ${n(e)})`,t),d=e=>Ry(()=>`(max-width: ${n(e)})`,t),u=Object.keys(e).reduce((e,t)=>(Object.defineProperty(e,t,{get:()=>"min-width"===r?c(t):d(t),enumerable:!0,configurable:!0}),e),{});function _(){const t=Object.keys(e).map(e=>[e,u[e],ay(n(e))]).sort((e,t)=>e[2]-t[2]);return eo(()=>t.filter(([,e])=>e.value).map(([e])=>e))}return Object.assign(u,{greaterOrEqual:c,smallerOrEqual:d,greater:e=>Ry(()=>`(min-width: ${n(e,.1)})`,t),smaller:e=>Ry(()=>`(max-width: ${n(e,-.1)})`,t),between:(e,a)=>Ry(()=>`(min-width: ${n(e)}) and (max-width: ${n(a,-.1)})`,t),isGreater:e=>l("min",n(e,.1)),isGreaterOrEqual:e=>l("min",n(e)),isSmaller:e=>l("max",n(e,-.1)),isSmallerOrEqual:e=>l("max",n(e)),isInBetween:(e,t)=>l("min",n(e))&&l("max",n(t,-.1)),current:_,active(){const e=_();return eo(()=>0===e.value.length?"":e.value.at("min-width"===r?-1:0))}})}function Ny(e,t={}){const{controls:n=!1,navigator:a=Ey}=t,r=hy(()=>a&&"permissions"in a),i=qt(),o="string"==typeof e?{name:e}:e,s=qt(),l=()=>{var e,t;s.value=null!=(t=null==(e=i.value)?void 0:e.state)?t:"prompt"};Sy(i,"change",l,{passive:!0});const c=function(e){let t;function n(){return t||(t=e()),t}return n.reset=()=>_(this,null,function*(){const e=t;t=void 0,e&&(yield e)}),n}(()=>_(this,null,function*(){if(r.value){if(!i.value)try{i.value=yield a.permissions.query(o)}catch(vk){i.value=void 0}finally{l()}return n?Bt(i.value):void 0}}));return c(),n?{state:s,isSupported:r,query:c}:s}function Ay(e={}){const{navigator:t=Ey,read:n=!1,source:a,copiedDuring:r=1500,legacy:i=!1}=e,o=hy(()=>t&&"clipboard"in t),s=Ny("clipboard-read"),l=Ny("clipboard-write"),c=eo(()=>o.value||i),d=qt(""),u=qt(!1),p=py(()=>u.value=!1,r,{immediate:!1});function m(e){return"granted"===e||"prompt"===e}return c.value&&n&&Sy(["copy","cut"],function(){return _(this,null,function*(){let e=!(o.value&&m(s.value));if(!e)try{d.value=yield t.clipboard.readText()}catch(vk){e=!0}var n,a,r;e&&(d.value=null!=(r=null==(a=null==(n=null==document?void 0:document.getSelection)?void 0:n.call(document))?void 0:a.toString())?r:"")})},{passive:!0}),{isSupported:c,text:d,copied:u,copy:function(){return _(this,arguments,function*(e=Qt(a)){if(c.value&&null!=e){let n=!(o.value&&m(l.value));if(!n)try{yield t.clipboard.writeText(e)}catch(vk){n=!0}n&&function(e){const t=document.createElement("textarea");t.value=null!=e?e:"",t.style.position="absolute",t.style.opacity="0",document.body.appendChild(t),t.select(),document.execCommand("copy"),t.remove()}(e),d.value=e,u.value=!0,p.start()}})}}}function Iy(e){return Ry("(prefers-color-scheme: dark)",e)}function wy(e,t,n={}){const a=n,{window:r=my}=a,i=d(a,["window"]);let o;const s=hy(()=>r&&"ResizeObserver"in r),l=()=>{o&&(o.disconnect(),o=void 0)},c=Kr(eo(()=>{const t=Qt(e);return Array.isArray(t)?t.map(e=>fy(e)):[fy(t)]}),e=>{if(l(),s.value&&r){o=new ResizeObserver(t);for(const t of e)t&&o.observe(t,i)}},{immediate:!0,flush:"post"}),u=()=>{l(),c()};return WT(u),{isSupported:s,stop:u}}function Dy(e,t={}){const{delayEnter:n=0,delayLeave:a=0,triggerOnRemoval:r=!1,window:i=my}=t,o=qt(!1);let s;const l=e=>{const t=e?n:a;s&&(clearTimeout(s),s=void 0),t?s=setTimeout(()=>o.value=e,t):o.value=e};return i?(Sy(e,"mouseenter",()=>l(!0),{passive:!0}),Sy(e,"mouseleave",()=>l(!1),{passive:!0}),r&&vy(eo(()=>fy(e)),()=>l(!1)),o):o}function xy(e,t={width:0,height:0},n={}){const{window:a=my,box:r="content-box"}=n,i=eo(()=>{var t,n;return null==(n=null==(t=fy(e))?void 0:t.namespaceURI)?void 0:n.includes("svg")}),o=qt(t.width),s=qt(t.height),{stop:l}=wy(e,([t])=>{const n="border-box"===r?t.borderBoxSize:"content-box"===r?t.contentBoxSize:t.devicePixelContentBoxSize;if(a&&i.value){const t=fy(e);if(t){const e=t.getBoundingClientRect();o.value=e.width,s.value=e.height}}else if(n){const e=ry(n);o.value=e.reduce((e,{inlineSize:t})=>e+t,0),s.value=e.reduce((e,{blockSize:t})=>e+t,0)}else o.value=t.contentRect.width,s.value=t.contentRect.height},n);sy(()=>{const n=fy(e);n&&(o.value="offsetWidth"in n?n.offsetWidth:t.width,s.value="offsetHeight"in n?n.offsetHeight:t.height)});const c=Kr(()=>fy(e),e=>{o.value=e?t.width:0,s.value=e?t.height:0});return{width:o,height:s,stop:function(){l(),c()}}}const Ly=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function My(e,t={}){const{document:n=gy,autoExit:a=!1}=t,r=eo(()=>{var t;return null!=(t=fy(e))?t:null==n?void 0:n.documentElement}),i=qt(!1),o=eo(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(e=>n&&e in n||r.value&&e in r.value)),s=eo(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(e=>n&&e in n||r.value&&e in r.value)),l=eo(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(e=>n&&e in n||r.value&&e in r.value)),c=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(e=>n&&e in n),d=hy(()=>r.value&&n&&void 0!==o.value&&void 0!==s.value&&void 0!==l.value),u=()=>{if(l.value){if(n&&null!=n[l.value])return n[l.value];{const e=r.value;if(null!=(null==e?void 0:e[l.value]))return Boolean(e[l.value])}}return!1};function p(){return _(this,null,function*(){if(d.value&&i.value){if(s.value)if(null!=(null==n?void 0:n[s.value]))yield n[s.value]();else{const e=r.value;null!=(null==e?void 0:e[s.value])&&(yield e[s.value]())}i.value=!1}})}function m(){return _(this,null,function*(){if(!d.value||i.value)return;u()&&(yield p());const e=r.value;o.value&&null!=(null==e?void 0:e[o.value])&&(yield e[o.value](),i.value=!0)})}const g=()=>{const e=u();(!e||e&&c&&(null==n?void 0:n[c])===r.value)&&(i.value=e)},E={capture:!1,passive:!0};return Sy(n,Ly,g,E),Sy(()=>fy(r),Ly,g,E),sy(g,!1),a&&WT(p),{isSupported:d,isFullscreen:i,enter:m,exit:p,toggle:function(){return _(this,null,function*(){yield i.value?p():m()})}}}const Py={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]},ky=Object.assign({},{linear:ny},Py);function Fy([e,t,n,a]){const r=(e,t)=>1-3*t+3*e,i=(e,t)=>3*t-6*e,o=e=>3*e,s=(e,t,n)=>((r(t,n)*e+i(t,n))*e+o(t))*e,l=(e,t,n)=>3*r(t,n)*e*e+2*i(t,n)*e+o(t);return r=>e===t&&n===a?r:s((t=>{let a=t;for(let r=0;r<4;++r){const r=l(a,e,n);if(0===r)return a;a-=(s(a,e,n)-t)/r}return a})(r),t,a)}function Uy(e,t,n){return e+n*(t-e)}function By(e){return("number"==typeof e?[e]:e)||[]}function Gy(e,t={}){let n=0;const a=()=>{const t=Qt(e);return"number"==typeof t?t:t.map(Qt)},r=zt(a());return Kr(a,e=>_(this,null,function*(){var a,i;if(Qt(t.disabled))return;const o=++n;if(t.delay&&(yield function(e,t=!1,n="Timeout"){return new Promise((a,r)=>{t?setTimeout(()=>r(n),e):setTimeout(a,e)})}(Qt(t.delay))),o!==n)return;const s=Array.isArray(e)?e.map(Qt):Qt(e);null==(a=t.onStarted)||a.call(t),yield function(e,t,n,a={}){var r,i;const{window:o=my}=a,s=Qt(t),l=Qt(n),c=By(s),d=By(l),u=null!=(r=Qt(a.duration))?r:1e3,_=Date.now(),p=Date.now()+u,m="function"==typeof a.transition?a.transition:null!=(i=Qt(a.transition))?i:ny,g="function"==typeof m?m:Fy(m);return new Promise(t=>{e.value=s;const n=()=>{var r;if(null==(r=a.abort)?void 0:r.call(a))return void t();const i=Date.now(),s=g((i-_)/u),m=By(e.value).map((e,t)=>Uy(c[t],d[t],s));Array.isArray(e.value)?e.value=m.map((e,t)=>{var n,a;return Uy(null!=(n=c[t])?n:0,null!=(a=d[t])?a:0,s)}):"number"==typeof e.value&&(e.value=m[0]),i{var e;return o!==n||(null==(e=t.abort)?void 0:e.call(t))}})),null==(i=t.onFinished)||i.call(t)}),{deep:!0}),Kr(()=>Qt(t.disabled),e=>{e&&(n++,r.value=a())}),WT(()=>{n++}),eo(()=>Qt(t.disabled)?a():r.value)}function Yy(e={}){const{window:t=my,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:a=Number.POSITIVE_INFINITY,listenOrientation:r=!0,includeScrollbar:i=!0,type:o="inner"}=e,s=qt(n),l=qt(a),c=()=>{if(t)if("outer"===o)s.value=t.outerWidth,l.value=t.outerHeight;else if("visual"===o&&t.visualViewport){const{width:e,height:n,scale:a}=t.visualViewport;s.value=Math.round(e*a),l.value=Math.round(n*a)}else i?(s.value=t.innerWidth,l.value=t.innerHeight):(s.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight)};c(),sy(c);const d={passive:!0};if(Sy("resize",c,d),t&&"visual"===o&&t.visualViewport&&Sy(t.visualViewport,"resize",c,d),r){Kr(Ry("(orientation: portrait)"),()=>c())}return{width:s,height:l}}const Vy=zt([]);const Hy=new class{normalizeVersion(e){return e.replace(/^v/,"")}getStoredVersion(){return localStorage.getItem(yT.VERSION_KEY)}setStoredVersion(e){localStorage.setItem(yT.VERSION_KEY,e)}shouldSkipUpgrade(){return yT.CURRENT_VERSION===yT.SKIP_UPGRADE_VERSION}isFirstVisit(e){return!e}isSameVersion(e){return e===yT.CURRENT_VERSION}findLegacyStorage(){const e=Object.keys(localStorage),t=yT.generateStorageKey("").slice(0,-1);return{oldSysKey:e.find(e=>yT.isVersionedKey(e)&&e!==t&&!e.includes("-"))||null,oldVersionKeys:e.filter(e=>yT.isVersionedKey(e)&&!yT.isCurrentVersionKey(e)&&e.includes("-"))}}shouldRequireReLogin(e){const t=this.normalizeVersion(yT.CURRENT_VERSION),n=this.normalizeVersion(e);return Vy.value.some(e=>{const a=this.normalizeVersion(e.version);return e.requireReLogin&&a>n&&a<=t})}buildUpgradeMessage(e){const{title:t}=Vy.value[0],n=['

',`系统已升级到 ${yT.CURRENT_VERSION} 版本,此次更新带来了以下改进:`,"

",t];return e&&n.push('

升级完成,请重新登录后继续使用。

'),n.join("")}showUpgradeNotification(e){yE({title:"系统升级公告",message:e,duration:0,type:"success",dangerouslyUseHTMLString:!0})}cleanupLegacyData(e,t){e&&localStorage.removeItem(e),t.forEach(e=>{localStorage.removeItem(e)})}performLogout(){try{CN().logOut()}catch(e){}}executeUpgrade(e,t){return _(this,null,function*(){try{if(!Vy.value.length)return;const n=this.shouldRequireReLogin(e),a=this.buildUpgradeMessage(n);this.showUpgradeNotification(a),this.setStoredVersion(yT.CURRENT_VERSION),this.cleanupLegacyData(t.oldSysKey,t.oldVersionKeys),n&&this.performLogout()}catch(n){}})}processUpgrade(){return _(this,null,function*(){if(this.shouldSkipUpgrade())return;const e=this.getStoredVersion();if(this.isFirstVisit(e))return void this.setStoredVersion(yT.CURRENT_VERSION);if(this.isSameVersion(e))return;const t=this.findLegacyStorage();t.oldSysKey||0!==t.oldVersionKeys.length?setTimeout(()=>{this.executeUpgrade(e,t)},yT.UPGRADE_DELAY):this.setStoredVersion(yT.CURRENT_VERSION)})}};const zy={all:qy=qy||new Map,on:function(e,t){var n=qy.get(e);n?n.push(t):qy.set(e,[t])},off:function(e,t){var n=qy.get(e);n&&(t?n.splice(n.indexOf(t)>>>0,1):qy.set(e,[]))},emit:function(e,t){var n=qy.get(e);n&&n.slice().map(function(e){e(t)}),(n=qy.get("*"))&&n.slice().map(function(n){n(e,t)})}};var qy;const $y=Object.freeze(Object.defineProperty({__proto__:null,default:zy},Symbol.toStringTag,{value:"Module"})),jy=[],Wy=300,Ky=1e3,Qy=2e3,Xy=3;function Zy(){const e=_N(),{holidayFireworksLoaded:t,isShowFireworks:n}=HE(e);let a=null;const r=eo(()=>{const e=_y(new Date,"YYYY-MM-DD").value;return jy.find(t=>((e,t,n)=>{if(!n)return e===t;const a=new Date(e),r=new Date(t),i=new Date(n);return a>=r&&a<=i})(e,t.date,t.endDate))}),i=()=>{var t;e.setFestivalDate((null==(t=r.value)?void 0:t.date)||"")},o=()=>{var t,n;let o=0;const s=null!=(n=null==(t=r.value)?void 0:t.count)?n:Xy,{pause:l}=function(e,t=1e3,n={}){const{immediate:a=!0,immediateCallback:r=!1}=n;let i=null;const o=qt(!1);function s(){i&&(clearInterval(i),i=null)}function l(){o.value=!1,s()}function c(){const n=Qt(t);n<=0||(o.value=!0,r&&e(),s(),o.value&&(i=setInterval(e,n)))}a&&XT&&c(),(Ht(t)||"function"==typeof t)&&WT(Kr(t,()=>{o.value&&XT&&c()}));return WT(l),{isActive:Lt(o),pause:l,resume:c}}(()=>{(()=>{var e;zy.emit("triggerFireworks",null==(e=r.value)?void 0:e.image)})(),o++,o>=s&&(l(),e.setholidayFireworksLoaded(!0),py(()=>{e.setShowFestivalText(!0),i()},Qy))},Ky);a={pause:l}};return{openFestival:()=>{if(!r.value||!n.value)return;const{start:e}=py(o,Wy);e()},cleanup:()=>{a&&(a.pause(),a=null),e.setShowFestivalText(!1),i()},holidayFireworksLoaded:t,currentFestivalData:r,isShowFireworks:n}}const Jy=VE("menuStore",()=>{const e=zt(yN),t=zt([]),n=zt(""),a=zt([]),r=t=>{e.value=t};return{menuList:t,menuWidth:n,removeRouteFns:a,setMenuList:e=>{t.value=e,r(iC(e))},getHomePath:()=>e.value,setHomePath:r,addRemoveRouteFns:e=>{a.value.push(...e)},removeAllDynamicRoutes:()=>{a.value.forEach(e=>e()),a.value=[]},clearRemoveRouteFns:()=>{a.value=[]}}});function eC(){const e=Jy(),t=_N();return{homePath:eo(()=>e.getHomePath()),refresh:()=>{t.reload()},scrollTo:(e,t=!1)=>{const n=document.getElementById("app-main");n&&n.scrollTo({top:e,behavior:t?"smooth":"auto"})},scrollToTop:()=>{const e=document.getElementById("app-main");e&&(e.scrollTop=0)},smoothScrollToTop:()=>{const e=document.getElementById("app-main");e&&e.scrollTo({top:0,behavior:"smooth"})}}}const tC=VE("worktabStore",()=>{const e=zt({}),t=zt([]),n=zt([]),a=eo(()=>t.value.length>0),r=eo(()=>t.value.length>1),i=eo(()=>e.value.path?t.value.findIndex(t=>t.path===e.value.path):-1),o=e=>t.value.findIndex(t=>t.path===e),s=e=>t.value.find(t=>t.path===e),d=e=>!e.fixedTab,u=e=>{if(e.path)try{TN.push({path:e.path,query:e.query})}catch(t){}},_=()=>{let e=0;for(let n=0;n{e.keepAlive&&e.name&&(n.value.includes(e.name)||n.value.push(e.name))},m=e=>{e&&(n.value=n.value.filter(t=>t!==e))},g=e=>{e.forEach(e=>{e.name&&p(e)})};return{current:e,opened:t,keepAliveExclude:n,hasOpenedTabs:a,hasMultipleTabs:r,currentTabIndex:i,openTab:n=>{var a,r;if(!n.path)return;n.name&&m(n.name);let i=-1;if(n.name&&(i=t.value.findIndex(e=>e.name===n.name)),-1===i&&(i=o(n.path)),-1===i){const a=n.fixedTab?_():t.value.length,r=l({},n);n.fixedTab?t.value.splice(a,0,r):t.value.push(r),e.value=r}else{const o=t.value[i];t.value[i]=c(l({},o),{path:n.path,params:n.params,query:n.query,title:n.title||o.title,fixedTab:null!=(a=n.fixedTab)?a:o.fixedTab,keepAlive:null!=(r=n.keepAlive)?r:o.keepAlive,name:n.name||o.name,icon:n.icon||o.icon}),e.value=t.value[i]}},removeTab:n=>{const r=s(n),i=o(n);if(-1===i)return;if(r&&!d(r))return;t.value.splice(i,1),(null==r?void 0:r.name)&&p(r);const{homePath:l}=eC();if(a.value){if(e.value.path===n){const n=i>=t.value.length?t.value.length-1:i;e.value=t.value[n],u(e.value)}}else n!==l.value&&(e.value={},u({path:l.value}))},removeLeft:n=>{const a=o(n);if(-1===a)return;const r=t.value.slice(0,a).filter(d);if(0===r.length)return;g(r),t.value=t.value.filter((e,t)=>t>=a||!d(e));const i=s(n);i&&(e.value=i)},removeRight:n=>{const a=o(n);if(-1===a)return;const r=t.value.slice(a+1).filter(d);if(0===r.length)return;g(r),t.value=t.value.filter((e,t)=>t<=a||!d(e));const i=s(n);i&&(e.value=i)},removeOthers:n=>{const a=s(n);if(!a)return;const r=t.value.filter(e=>e.path!==n).filter(d);0!==r.length&&(g(r),t.value=t.value.filter(e=>e.path===n||!d(e)),e.value=a)},removeAll:()=>{const{homePath:n}=eC(),r=t.value.some(e=>e.fixedTab),i=t.value.filter(e=>!!d(e)&&(r||e.path!==n.value));if(0===i.length)return;if(g(i),t.value=t.value.filter(e=>!d(e)||!r&&e.path===n.value),!a.value)return e.value={},void u({path:n.value});const o=t.value.find(e=>e.path===n.value)||t.value[0];e.value=o,u(o)},toggleFixedTab:n=>{const a=o(n);if(-1===a)return;const r=l({},t.value[a]);if(r.fixedTab=!r.fixedTab,t.value.splice(a,1),r.fixedTab){const e=t.value.findIndex(e=>!e.fixedTab),n=-1===e?t.value.length:e;t.value.splice(n,0,r)}else{const e=t.value.filter(e=>e.fixedTab).length;t.value.splice(e,0,r)}e.value.path===n&&(e.value=r)},validateWorktabs:n=>{try{const a=e=>{try{if(e.name){if(n.getRoutes().some(t=>t.name===e.name))return!0}if(e.path){return n.resolve({path:e.path,query:e.query||void 0}).matched.length>0}return!1}catch(vk){return!1}},r=t.value.filter(e=>a(e));r.length!==t.value.length&&(t.value=r);const i=e.value&&a(e.value);!i&&r.length>0?e.value=r[0]:i||(e.value={})}catch(a){}},clearAll:()=>{e.value={},t.value=[],n.value=[]},getStateSnapshot:()=>({current:l({},e.value),opened:[...t.value],keepAliveExclude:[...n.value]}),findTabIndex:o,getTab:s,isTabClosable:d,addKeepAliveExclude:p,removeKeepAliveExclude:m,markTabsToRemove:g,getTabTitle:e=>s(e),updateTabTitle:(e,t)=>{const n=s(e);n&&(n.customTitle=t)},resetTabTitle:e=>{const t=s(e);t&&(t.customTitle="")}}},{persist:{key:"worktab",storage:localStorage}});function nC(e){return e.startsWith("/outside/iframe/")}const aC=e=>{var t;return!(!e.path||!e.path.trim()||(null==(t=e.meta)?void 0:t.isHide))},rC=e=>e.startsWith("/")?e:`/${e}`,iC=e=>{var t;if(!Array.isArray(e)||0===e.length)return"";for(const n of e)if(aC(n)){if(null==(t=n.children)?void 0:t.length){const e=iC(n.children);if(e)return e}return rC(n.path)}return""};class oC{constructor(){u(this,"modules"),this.modules=Object.assign({"../../views/activity/audit/index.vue":()=>LS(()=>import("./index-DotPmHvl.js"),__vite__mapDeps([158,54,55,41,159,85,25,24,56,8,5,6,7,3,57,2,13,11,12,58,14,9,26,160,63,64,39,38,35,28,29,161,62,100])),"../../views/activity/issues/index.vue":()=>LS(()=>import("./index-BErwC85X.js"),__vite__mapDeps([162,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,163,132,133,90,134,20,21,154,164,157,100,79,165,77,78,166,167,159,140,17,89,84,118,119,142])),"../../views/activity/list/index.vue":()=>LS(()=>import("./index-DGXimUMN.js"),__vite__mapDeps([168,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,165,20,21,77,78,166,167,169,100])),"../../views/activity/manage/components/ActivityAnalysisDrawer.vue":()=>LS(()=>import("./ActivityAnalysisDrawer-C_7KPjWt.js"),__vite__mapDeps([170,41,42,171,56,8,5,6,7,3,57,2,13,11,12,58,14,67,83,84,26,172,126,119,63,64,39,38,69,35])),"../../views/activity/manage/components/ActivityRankingDrawer.vue":()=>LS(()=>import("./ActivityRankingDrawer-D7wqNV1b.js"),__vite__mapDeps([173,174,41,159,47,56,8,5,6,7,3,57,2,13,11,12,58,14,87,59,4,9,10,83,84,126,119,61,35,36,37,38,39,62,63,64,102,49,50,51])),"../../views/activity/manage/index.vue":()=>LS(()=>import("./index-D5RyP_zf.js"),__vite__mapDeps([175,132,5,6,7,8,133,11,90,134,176,16,177,53,41,54,55,56,3,57,2,13,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,163,20,21,154,164,157,100,79,165,77,78,166,167,169,178,159,171,140,17,24,25,179,85,180,93,181,80,82,94,182,183,184,185,186,170,42,67,83,84,172,126,119,69,174,47,87,102,49,50,51,89,187,125,124,188,189,190,191,192,193,194,195,127,28,196,29,118,142])),"../../views/activity/manage/modules/activity-search.vue":()=>LS(()=>import("./activity-search-7kOl5pCK.js"),__vite__mapDeps([178,159,171,140,11,17,3,24,25,4,5,6,7,8,9,10,12,13,14,179,85,26,180,93,181,80,82,79,78,94,182])),"../../views/activity/rewards/index.vue":()=>LS(()=>import("./index-CzLAoq5c.js"),__vite__mapDeps([197,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,163,132,133,90,134,20,21,154,164,157,100,79,165,77,78,159,183,171,187,125,179,115,116,140,17,89,84,191,198,118,119,142,196,182,80,82,75,76,199])),"../../views/activity/wizard/index.vue":()=>LS(()=>import("./index-B48yC-b4.js"),__vite__mapDeps([200,176,16,177,159,183,184,185,186,171,140,11,17,3,24,25,4,5,6,7,8,9,10,12,13,14,47,187,125,188,124,189,67,190,85,89,84,90,26,201,118,119,161,100,35,142,194,69,127,62,38,39,195,196,28,49,50,29,36,37])),"../../views/auth/forget-password/index.vue":()=>LS(()=>import("./index-D9BDvlwO.js"),__vite__mapDeps([145,131,132,5,6,7,8,133,11,90,134,20,21,135,26,136,137,138,100,39,38,146,62])),"../../views/auth/login/index.vue":()=>LS(()=>import("./index-BRWPcNau.js"),__vite__mapDeps([130,20,21,26,131,132,5,6,7,8,133,11,90,134,135,136,137,138,100,39,38,139,140,17,3,4,9,10,12,13,14,58,141,142,64,62,35,36,37])),"../../views/auth/register/index.vue":()=>LS(()=>import("./index-CK9ybLMc.js"),__vite__mapDeps([143,131,132,5,6,7,8,133,11,90,134,20,21,135,26,136,137,138,100,39,38,140,17,3,58,144,142,64,62])),"../../views/dashboard/console/index.vue":()=>LS(()=>import("./index-Cg76DmSa.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129])),"../../views/dashboard/console/modules/about-project.vue":()=>LS(()=>import("./about-project-DgJMbhc5.js"),__vite__mapDeps([113,26])),"../../views/dashboard/console/modules/active-user.vue":()=>LS(()=>import("./active-user-B-AWR0LI.js"),__vite__mapDeps([202,32,33,42])),"../../views/dashboard/console/modules/activity-lottery.vue":()=>LS(()=>import("./activity-lottery-Canzwjq1.js"),__vite__mapDeps([203,42,9,35])),"../../views/dashboard/console/modules/activity-prize-analysis.vue":()=>LS(()=>import("./activity-prize-analysis-4VDKbVv3.js"),__vite__mapDeps([204,42,171,4,5,6,7,8,9,10,11,12,13,14,67,69,35,36,37,38,39])),"../../views/dashboard/console/modules/activity-profit-loss.vue":()=>LS(()=>import("./activity-profit-loss-QBBuvhKV.js"),__vite__mapDeps([114,41,54,55,23,4,5,6,7,8,9,10,11,12,13,14,59,89,84,90,56,3,57,2,58,87,115,116,26,117,118,119,63,64,39,38,120,121,102,35,61,36,37,62,100])),"../../views/dashboard/console/modules/card-list.vue":()=>LS(()=>import("./card-list-NIswF7Y2.js"),__vite__mapDeps([19,20,21,22,23,24,25,26,27,28,29])),"../../views/dashboard/console/modules/coupon-roi.vue":()=>LS(()=>import("./coupon-roi-BImVQWIN.js"),__vite__mapDeps([52,20,21,42,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,65])),"../../views/dashboard/console/modules/dynamic-stats.vue":()=>LS(()=>import("./dynamic-stats-typyHKGx.js"),__vite__mapDeps([205,23,9,8,38,35])),"../../views/dashboard/console/modules/growth-analytics.vue":()=>LS(()=>import("./growth-analytics-C1Kpa-bS.js"),__vite__mapDeps([109,42,26,110])),"../../views/dashboard/console/modules/inventory-alert.vue":()=>LS(()=>import("./inventory-alert-CdyvmmdE.js"),__vite__mapDeps([66,20,21,42,9,67,26,68,69,35])),"../../views/dashboard/console/modules/live-stream-premium.vue":()=>LS(()=>import("./live-stream-premium-Cab6EXZZ.js"),__vite__mapDeps([107,20,21,42,87,26,108,102])),"../../views/dashboard/console/modules/marketing-conversion.vue":()=>LS(()=>import("./marketing-conversion-CKp3HkTT.js"),__vite__mapDeps([44,42,20,21,26,45])),"../../views/dashboard/console/modules/new-user.vue":()=>LS(()=>import("./new-user-ismIeZnf.js"),__vite__mapDeps([206,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,23,47,207,49,50,51])),"../../views/dashboard/console/modules/order-funnel.vue":()=>LS(()=>import("./order-funnel-B_tGoRnf.js"),__vite__mapDeps([208,42,26,209])),"../../views/dashboard/console/modules/player-spending-leaderboard.vue":()=>LS(()=>import("./player-spending-leaderboard-BFGfnSUS.js"),__vite__mapDeps([122,41,42,123,23,47,124,5,6,7,8,125,12,14,56,3,57,2,13,11,58,9,89,84,90,115,116,59,4,10,83,126,119,118,61,35,36,37,38,39,62,120,121,63,64,100,127,49,50,51,87,26,128,102])),"../../views/dashboard/console/modules/points-economy.vue":()=>LS(()=>import("./points-economy-IIgvLFBX.js"),__vite__mapDeps([46,20,21,42,31,32,33,47,26,48,49,50,51])),"../../views/dashboard/console/modules/prize-pool-health.vue":()=>LS(()=>import("./prize-pool-health-C4iWrchz.js"),__vite__mapDeps([105,42,20,21,4,5,6,7,8,9,10,11,12,13,14,26,106,35,36,37,38,39])),"../../views/dashboard/console/modules/product-performance.vue":()=>LS(()=>import("./product-performance-BM4GGkhB.js"),__vite__mapDeps([40,41,42,5,6,7,26,43,39])),"../../views/dashboard/console/modules/retention-cohort.vue":()=>LS(()=>import("./retention-cohort-B-YYnU2w.js"),__vite__mapDeps([111,42,26,112])),"../../views/dashboard/console/modules/risk-monitor.vue":()=>LS(()=>import("./risk-monitor-ChKuHaAC.js"),__vite__mapDeps([70,20,21,42,71,8,72,73,31,32,33,47,56,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,74,49,50,51,75,76,77,78,79,80,81,82,83,84,85,86,87,24,25,88,89,90,67,91,92,93,94,95,96,97,98,99,38,100,101,102])),"../../views/dashboard/console/modules/sales-overview.vue":()=>LS(()=>import("./sales-overview-C-HoRPpG.js"),__vite__mapDeps([30,23,31,32,33,4,5,6,7,8,9,10,11,12,13,14,26,34,35,36,37,38,39])),"../../views/dashboard/console/modules/todo-list.vue":()=>LS(()=>import("./todo-list-Cg4NZOTG.js"),__vite__mapDeps([210,23,87,9,8,38,35,102])),"../../views/dashboard/console/modules/user-economics.vue":()=>LS(()=>import("./user-economics-DXWKpriU.js"),__vite__mapDeps([103,42,20,21,67,26,104,69])),"../../views/dashboard/console/modules/user-spending-drawer.vue":()=>LS(()=>import("./user-spending-drawer-DVceM0kc.js"),__vite__mapDeps([211,123,41,42,23,47,124,5,6,7,8,125,12,14,56,3,57,2,13,11,58,9,89,84,90,115,116,59,4,10,83,126,119,118,61,35,36,37,38,39,62,120,121,63,64,100,127,49,50,51])),"../../views/exception/403/index.vue":()=>LS(()=>import("./index-C5DZ7Oey.js"),__vite__mapDeps([147,148,136,26,137,100])),"../../views/exception/404/index.vue":()=>LS(()=>import("./index-B68OhD7Z.js"),__vite__mapDeps([149,148,136,26,137,100])),"../../views/exception/500/index.vue":()=>LS(()=>import("./index-CiCawzce.js"),__vite__mapDeps([150,148,136,26,137,100])),"../../views/index/index.vue":()=>LS(()=>import("./index-BWpRQH81.js"),__vite__mapDeps([151,20,21,152,26,132,5,6,7,8,133,11,90,134,41,153,14,154,155,135,156,100,39,157,38])),"../../views/operations/banner/index.vue":()=>LS(()=>import("./index-ClsssJe5.js"),__vite__mapDeps([212,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,165,20,21,77,78,163,132,133,90,134,154,164,157,100,79,166,167,140,17,189,67,190,89,84,118,119,142,194,69])),"../../views/operations/blacklist/index.vue":()=>LS(()=>import("./index-CHx7KC7r.js"),__vite__mapDeps([213,41,56,8,5,6,7,3,57,2,13,11,12,58,14,9,59,4,10,85,140,17,89,84,90,26,214,118,119,142,161,61,35,36,37,38,39,62,63,64,157,100])),"../../views/operations/channels/index.vue":()=>LS(()=>import("./index-Bhf_oWP3.js"),__vite__mapDeps([215,41,42,22,20,21,31,32,33,140,11,17,3,56,8,5,6,7,57,2,13,12,58,14,59,4,9,10,85,89,84,90,124,125,47,26,77,49,50,51,127,62,38,100,39,118,119,35,36,37,161,61,63,64,142])),"../../views/operations/coupons/index.vue":()=>LS(()=>import("./index-BacKueNW.js"),__vite__mapDeps([216,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,217,218,124,125,15,219,153,220,221,187,222,24,25,140,17,47,223,190,188,224,142,28,100,29,49,78,80,76,95,79,225,77,226,82,227,186,228,89,84,90,229,118,119,50,196,165,20,21,163,132,133,134,154,164,157,230])),"../../views/operations/coupons/modules/coupon-dialog.vue":()=>LS(()=>import("./coupon-dialog-Bouy1Y8o.js"),__vite__mapDeps([228,186,140,11,17,3,4,5,6,7,8,9,10,12,13,14,187,125,47,89,84,90,26,229,118,119,100,142,49,50,62,196,35,36,37,38,39])),"../../views/operations/douyin-orders/index.vue":()=>LS(()=>import("./index-DxbtB6zA.js"),__vite__mapDeps([231,41,132,5,6,7,8,133,11,90,134,140,17,3,187,125,85,188,4,9,10,12,13,14,191,56,57,2,58,59,61,35,36,37,38,39,62,63,64,193,100,195,161,142,196])),"../../views/operations/douyin/product-rewards.vue":()=>LS(()=>import("./product-rewards-D8UEC6GF.js"),__vite__mapDeps([232,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,163,132,133,90,134,20,21,154,164,157,100,79,166,167,233,183,89,84,140,17,187,125,47,85,161,118,119,142,49,50,196])),"../../views/operations/game-pass-packages/index.vue":()=>LS(()=>import("./index-CoZ0WyFR.js"),__vite__mapDeps([234,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,163,132,133,90,134,20,21,154,164,157,100,79,166,167,169,89,84,140,17,187,125,47,85,161,118,119,142,49,50,196])),"../../views/operations/game-passes/index.vue":()=>LS(()=>import("./index-Bz1J5qw2.js"),__vite__mapDeps([235,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,163,132,133,90,134,20,21,154,164,157,100,79,166,167,236,169,73,89,84,140,17,187,125,85,161,118,119,142,196])),"../../views/operations/ichiban-slots.vue":()=>LS(()=>import("./ichiban-slots-L0I2lhy7.js"),__vite__mapDeps([237,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,163,132,133,90,134,20,21,154,164,157,100,79,166,167,159,169,171,191,179,89,84,118,119,182,193])),"../../views/operations/item-cards/index.vue":()=>LS(()=>import("./index-C44phqkN.js"),__vite__mapDeps([238,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,217,218,124,125,15,219,153,220,221,187,222,24,25,140,17,47,223,190,188,224,142,28,100,29,49,78,80,76,95,79,225,77,226,82,227,239,240,89,84,90,241,118,119,50,127,196,165,20,21,163,132,133,134,154,164,157,242])),"../../views/operations/item-cards/modules/item-card-dialog.vue":()=>LS(()=>import("./item-card-dialog-jKZhetqa.js"),__vite__mapDeps([240,239,140,11,17,3,4,5,6,7,8,9,10,12,13,14,187,125,124,47,89,84,90,26,241,118,119,100,142,49,50,127,62,38,39,196,35,36,37])),"../../views/operations/livestream/index.vue":()=>LS(()=>import("./index-BjIcYfBF.js"),__vite__mapDeps([243,41,183,33,56,8,5,6,7,3,57,2,13,11,12,58,14,9,59,4,10,85,140,17,187,125,47,89,84,90,115,116,24,25,88,124,83,26,244,126,119,127,62,38,100,39,245,28,29,120,121,118,142,49,50,196,35,36,37,161,61,63,64])),"../../views/operations/lottery-simulation/index.vue":()=>LS(()=>import("./index-2JMPPnu4.js"),__vite__mapDeps([246,41,169,159,42,140,11,17,3,4,5,6,7,8,9,10,12,13,14,187,125,191,25,24,85,154,133,56,57,2,58,26,247,63,64,39,38,35,28,29,161,157,193,142,100,62,196,36,37])),"../../views/operations/matching-cards/index.vue":()=>LS(()=>import("./index-v8M328ei.js"),__vite__mapDeps([248,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,165,20,21,77,78,163,132,133,90,134,154,164,157,100,79,115,116,140,17,189,67,190,187,125,47,89,84,249,118,119,142,49,50,196,194,69,120,121])),"../../views/operations/minesweeper/index.vue":()=>LS(()=>import("./index-iyjiSOej.js"),__vite__mapDeps([250,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,41,251,183,186,140,191,88,24,25,187,125,56,57,58,188,85,26,252,161,35,36,37,38,39,63,64,195,28,29,62,196,142,245,193,100])),"../../views/operations/miniapp-qrcode/index.vue":()=>LS(()=>import("./index-C8sDFq-z.js"),__vite__mapDeps([253,221,187,125,5,6,7,12,222,42,140,11,17,3,85,26,254,93,181,226,77,78])),"../../views/operations/shipping-orders/index.vue":()=>LS(()=>import("./index-ChDietE5.js"),__vite__mapDeps([255,41,21,140,11,17,3,4,5,6,7,8,9,10,12,13,14,56,57,2,58,115,116,59,89,84,90,26,256,118,119,61,35,36,37,38,39,62,63,64,120,121,142,100])),"../../views/operations/shipping-stats/index.vue":()=>LS(()=>import("./index-BAhrL1sQ.js"),__vite__mapDeps([257,41,217,218,124,5,6,7,8,125,12,14,57,4,9,10,11,13,15,219,153,58,220,221,187,222,24,25,140,17,3,47,223,190,188,26,224,142,28,100,29,49,36,78,80,76,95,79,225,77,226,82,227,163,132,133,90,134,20,21,53,54,55,56,2,59,60,61,35,37,38,39,62,63,64,154,164,157,85,89,84,86,83,258,126,119,259,118,161])),"../../views/operations/titles/components/EffectEditDialog.vue":()=>LS(()=>import("./EffectEditDialog-CaIWUZ9w.js"),__vite__mapDeps([260,261,169,159,89,6,84,90,140,11,17,3,4,5,7,8,9,10,12,13,14,187,125,47,88,26,262,118,119,100,142,245,49,50,62,196,35,36,37,38,39])),"../../views/operations/titles/components/EffectManagerDialog.vue":()=>LS(()=>import("./EffectManagerDialog-BmMTyIDl.js"),__vite__mapDeps([263,41,261,260,169,159,89,6,84,90,140,11,17,3,4,5,7,8,9,10,12,13,14,187,125,47,88,26,262,118,119,100,142,245,49,50,62,196,35,36,37,38,39,56,57,2,58,264,63,64])),"../../views/operations/titles/components/RuleConfigDialog.vue":()=>LS(()=>import("./RuleConfigDialog-ByrOghLW.js"),__vite__mapDeps([265,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,261,140,58,88,187,125,223,47,190,124,191,89,84,90,26,266,118,119,100,193,127,62,38,39,49,50,35,64,142,36,37,196,245])),"../../views/operations/titles/components/TitleEditDialog.vue":()=>LS(()=>import("./TitleEditDialog-G6a4Tu5P.js"),__vite__mapDeps([267,261,140,11,17,3,47,89,6,84,90,26,268,118,119,142,100,49,50,62])),"../../views/operations/titles/components/UserAssignmentDialog.vue":()=>LS(()=>import("./UserAssignmentDialog-Cd2RiWKB.js"),__vite__mapDeps([269,41,85,140,11,17,3,4,5,6,7,8,9,10,12,13,14,124,125,56,57,2,58,47,59,187,89,84,90,26,270,118,119,64,62,196,49,50,61,35,36,37,38,39,63,161,142,100,127])),"../../views/operations/titles/index.vue":()=>LS(()=>import("./index-DecqjAlx.js"),__vite__mapDeps([271,217,218,124,5,6,7,8,125,12,14,57,4,9,10,11,13,15,219,153,58,220,221,187,222,24,25,140,17,3,47,223,190,188,26,224,142,28,100,29,49,36,78,80,76,95,79,225,77,226,82,227,163,132,133,90,134,20,21,53,41,54,55,56,2,59,60,61,35,37,38,39,62,63,64,154,164,157,261,267,89,84,268,118,119,50,263,260,169,159,88,262,245,196,264,265,1,16,18,191,266,193,127,269,85,270,161,272])),"../../views/orders/list/index.vue":()=>LS(()=>import("./index-BboZvJE8.js"),__vite__mapDeps([273,41,53,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,274,86,191,24,25,85,140,17,89,84,90,275,118,119,100,142,28,29,161,193,259,166,167,276,277,88,83,278,126,245])),"../../views/orders/snapshot-modal.vue":()=>LS(()=>import("./snapshot-modal-DiND74kN.js"),__vite__mapDeps([274,86,191,7,24,25,85,9,140,11,17,3,89,6,84,90,26,275,118,119,100,142,62,28,35,29,161,193,259])),"../../views/outside/Iframe.vue":()=>LS(()=>import("./Iframe-N6cwNV9d.js"),[]),"../../views/player-manage/index.vue":()=>LS(()=>import("./index-EOF-s6Ya.js"),__vite__mapDeps([279,166,167,73,280,140,11,17,3,24,25,124,5,6,7,8,125,12,14,179,85,26,281,93,181,225,79,78,94,182,282,154,133,283,284,47,187,4,9,10,13,89,84,90,99,226,80,82,95,96,285,186,286,183,287,118,119,100,142,62,196,35,36,37,38,39,288,239,289,261,290,71,20,21,72,31,32,33,56,57,2,58,59,74,49,50,51,75,76,77,81,83,86,87,88,67,91,92,97,98,291,292,293,277,188,227,123,41,42,23,115,116,126,61,120,121,63,64,127,294,236,169,163,132,134,53,54,55,60,164,157,165,295])),"../../views/player-manage/modules/add-coupon-dialog.vue":()=>LS(()=>import("./add-coupon-dialog-2jJPLiHG.js"),__vite__mapDeps([296,285,186,140,11,17,3,4,5,6,7,8,9,10,12,13,14,89,84,90,99,181,80,82,79,78])),"../../views/player-manage/modules/add-game-ticket-dialog.vue":()=>LS(()=>import("./add-game-ticket-dialog-j5t15bRi.js"),__vite__mapDeps([297,290,140,11,17,3,4,5,6,7,8,9,10,12,13,14,187,125,89,84,90,99,181,226,80,82,79,78])),"../../views/player-manage/modules/add-item-card-dialog.vue":()=>LS(()=>import("./add-item-card-dialog-DFC9DYMs.js"),__vite__mapDeps([298,288,239,140,11,17,3,4,5,6,7,8,9,10,12,13,14,187,125,89,84,90,99,181,80,82,79,78,226])),"../../views/player-manage/modules/add-points-dialog.vue":()=>LS(()=>import("./add-points-dialog-CEY7RhMt.js"),__vite__mapDeps([299,284,140,11,17,3,47,187,125,4,5,6,7,8,9,10,12,13,14,89,84,90,99,181,226,80,82,79,78,95,96])),"../../views/player-manage/modules/assign-title-dialog.vue":()=>LS(()=>import("./assign-title-dialog-_0Ks363k.js"),__vite__mapDeps([300,289,261,140,11,17,3,4,5,6,7,8,9,10,12,13,14,124,125,89,84,90,99,181,80,82,79,78,225])),"../../views/player-manage/modules/audit-log-drawer.vue":()=>LS(()=>import("./audit-log-drawer-L5ySH8zh.js"),__vite__mapDeps([291,73,85,9,59,4,5,6,7,8,10,11,12,13,14,83,84,26,292,92,93,80,81,82,79,78])),"../../views/player-manage/modules/grant-reward-dialog.vue":()=>LS(()=>import("./grant-reward-dialog-b2ANVjTQ.js"),__vite__mapDeps([286,183,140,11,17,3,4,5,6,7,8,9,10,12,13,14,187,125,89,84,90,26,287,118,119,100,142,62,196,35,36,37,38,39])),"../../views/player-manage/modules/invitee-consume-dialog.vue":()=>LS(()=>import("./invitee-consume-dialog-B16Eo42f.js"),__vite__mapDeps([301,293,124,5,6,7,8,125,12,14,277,73,87,188,56,3,57,2,13,11,58,59,4,9,10,89,84,90,99,75,76,77,78,79,80,97,81,82,227,225])),"../../views/player-manage/modules/player-detail-drawer.vue":()=>LS(()=>import("./player-detail-drawer-BMnLvEIg.js"),__vite__mapDeps([71,20,21,8,72,73,31,32,33,47,56,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,74,49,50,51,75,76,77,78,79,80,81,82,83,84,85,86,87,24,25,88,89,90,67,91,92,93,94,95,96,97,98,99,38,100])),"../../views/player-manage/modules/player-profit-loss-chart.vue":()=>LS(()=>import("./player-profit-loss-chart-CaOwxgxN.js"),__vite__mapDeps([72,73,31,32,33,20,21,47,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,74,49,50,51,75,76,77,78,79,80,81,82])),"../../views/player-manage/modules/player-search.vue":()=>LS(()=>import("./player-search-DWMdzkUG.js"),__vite__mapDeps([280,140,11,17,3,24,25,124,5,6,7,8,125,12,14,179,85,26,281,93,181,225,79,78,94,182])),"../../views/player-manage/modules/time-range-filter.vue":()=>LS(()=>import("./time-range-filter-C98LHEv0.js"),__vite__mapDeps([282,124,5,6,7,8,125,12,14,154,133,179,26,283,182,78,225,79])),"../../views/product/categories/index.vue":()=>LS(()=>import("./index-CiiHKhHN.js"),__vite__mapDeps([302,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,165,20,21,77,78,163,132,133,90,134,154,164,157,100,79,166,167,183,303,140,17,24,25,179,85,304,93,181,80,82,94,182,188,89,84,118,119,142,195])),"../../views/product/categories/modules/category-search.vue":()=>LS(()=>import("./category-search-0fyNR6nV.js"),__vite__mapDeps([303,140,11,17,3,24,25,4,5,6,7,8,9,10,12,13,14,179,85,26,304,93,181,80,82,79,78,94,182])),"../../views/product/list/index.vue":()=>LS(()=>import("./index-OWLr3nQL.js"),__vite__mapDeps([305,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,165,20,21,77,78,163,132,133,90,134,154,164,157,100,79,184,185,166,167,183,306,140,17,24,25,179,85,307,93,181,80,82,94,182,277,189,67,190,187,125,89,84,116,121,118,119,142,196,194,69])),"../../views/product/list/modules/product-search.vue":()=>LS(()=>import("./product-search-DSJH5irW.js"),__vite__mapDeps([306,183,140,11,17,3,24,25,4,5,6,7,8,9,10,12,13,14,179,85,26,307,93,181,80,82,79,78,94,182])),"../../views/product/synthesis/index.vue":()=>LS(()=>import("./index-Cup_eQSA.js"),__vite__mapDeps([308,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,165,20,21,77,78,163,132,133,90,134,154,164,157,100,79,166,167,309,183,140,17,88,187,125,83,84,126,119,142,196,245])),"../../views/product/synthesis/logs.vue":()=>LS(()=>import("./logs-CB9VEWV7.js"),__vite__mapDeps([310,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,163,132,133,90,134,20,21,154,164,157,100,79,166,167,309])),"../../views/reconcile/diff/index.vue":()=>LS(()=>import("./index-C1dwx9tB.js"),__vite__mapDeps([311,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,166,167,276,140,17,124,125,85,191,89,84,90,312,118,119,193,161,142,100,127])),"../../views/refunds/list/index.vue":()=>LS(()=>import("./index-B9jkV22W.js"),__vite__mapDeps([313,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,166,167,276,140,17,85,314,161,142,100])),"../../views/result/fail/index.vue":()=>LS(()=>import("./index-BeuS3fUG.js"),__vite__mapDeps([315,316,20,21,100])),"../../views/result/success/index.vue":()=>LS(()=>import("./index-CXm1nqMJ.js"),__vite__mapDeps([317,316,20,21,100])),"../../views/system/announcement/index.vue":()=>LS(()=>import("./index-DkpT8YSW.js"),__vite__mapDeps([318,251,140,11,17,3,47,191,7,85,161,142,193,62,49,50,51,100])),"../../views/system/configs/index.vue":()=>LS(()=>import("./index-7_BE1ymS.js"),__vite__mapDeps([319,251,85,115,116,6,12,140,11,17,3,189,67,190,89,84,90,26,320,93,99,181,199,98])),"../../views/system/menu/index.vue":()=>LS(()=>import("./index-Bdn-FVK1.js"),__vite__mapDeps([321,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,163,132,133,90,134,20,21,154,164,157,100,79,217,218,124,125,15,219,153,220,221,187,222,24,25,140,17,47,223,190,188,224,142,28,29,49,78,80,76,95,225,77,226,82,227,165,167,322,89,84,118,119,50,51,85,161])),"../../views/system/menu/modules/menu-dialog.vue":()=>LS(()=>import("./menu-dialog-DTCN0Hl9.js"),__vite__mapDeps([323,322,218,124,5,6,7,8,125,12,14,57,4,9,10,11,13,15,219,153,58,220,221,187,222,24,25,140,17,3,47,223,190,188,89,84,90,118,119,100,49,50,51,142,28,29,36,78,80,76,95,79,225,77,226,82,227])),"../../views/system/recycle/index.vue":()=>LS(()=>import("./index-D31cv9lq.js"),__vite__mapDeps([324,217,218,124,5,6,7,8,125,12,14,57,4,9,10,11,13,15,219,153,58,220,221,187,222,24,25,140,17,3,47,223,190,188,26,224,142,28,100,29,49,36,78,80,76,95,79,225,77,226,82,227,53,41,54,55,56,2,59,60,61,35,37,38,39,62,63,64,163,132,133,90,134,20,21,154,164,157,165,167,85,161])),"../../views/system/role/index.vue":()=>LS(()=>import("./index-CUyQwStl.js"),__vite__mapDeps([325,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,163,132,133,90,134,20,21,154,164,157,100,79,166,167,155,326,217,218,124,125,15,219,153,220,221,187,222,24,25,140,17,47,223,190,188,224,142,28,29,49,78,80,76,95,225,77,226,82,227,327,89,84,118,119,195,328,329,179,85,161,182])),"../../views/system/role/modules/role-edit-dialog.vue":()=>LS(()=>import("./role-edit-dialog-mZgZMy9k.js"),__vite__mapDeps([330,327,140,11,17,3,188,89,6,84,90,118,119,100,142,195,62])),"../../views/system/role/modules/role-permission-dialog.vue":()=>LS(()=>import("./role-permission-dialog-EMeZyBKY.js"),__vite__mapDeps([331,328,8,219,10,153,58,89,6,84,90,329,118,119,100,38,64])),"../../views/system/role/modules/role-search.vue":()=>LS(()=>import("./role-search-WLBqp4Dl.js"),__vite__mapDeps([332,326,217,218,124,5,6,7,8,125,12,14,57,4,9,10,11,13,15,219,153,58,220,221,187,222,24,25,140,17,3,47,223,190,188,26,224,142,28,100,29,49,36,78,80,76,95,79,225,77,226,82,227])),"../../views/system/user-center/index.vue":()=>LS(()=>import("./index-CK4gMf_x.js"),__vite__mapDeps([333,20,21,334,24,140,11,17,3,4,5,6,7,8,9,10,12,13,14,142,100,28,35,36,37,38,39,62])),"../../views/system/user/index.vue":()=>LS(()=>import("./index-CUdgQS4Q.js"),__vite__mapDeps([335,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,163,132,133,90,134,20,21,154,164,157,100,79,165,77,78,152,336,166,167,337,217,218,124,125,15,219,153,220,221,187,222,24,25,140,17,47,223,190,188,224,142,28,29,49,80,76,95,225,226,82,227,338,139,89,84,118,119,294,236,169,73,196,179,85,115,116,161,182,199])),"../../views/system/user/modules/grant-pass-dialog.vue":()=>LS(()=>import("./grant-pass-dialog-Dfv4U4Lo.js"),__vite__mapDeps([339,294,236,169,73,140,11,17,3,4,5,6,7,8,9,10,12,13,14,187,125,89,84,90,118,119,100,142,62,196,35,36,37,38,39])),"../../views/system/user/modules/user-dialog.vue":()=>LS(()=>import("./user-dialog-CIsM75Gs.js"),__vite__mapDeps([340,338,139,140,11,17,3,89,6,84,90,118,119,100,142,62])),"../../views/system/user/modules/user-search.vue":()=>LS(()=>import("./user-search-CftsJys8.js"),__vite__mapDeps([341,337,217,218,124,5,6,7,8,125,12,14,57,4,9,10,11,13,15,219,153,58,220,221,187,222,24,25,140,17,3,47,223,190,188,26,224,142,28,100,29,49,36,78,80,76,95,79,225,77,226,82,227])),"../../views/task-center/reward-stats/index.vue":()=>LS(()=>import("./index-Bbs9NYau.js"),__vite__mapDeps([342,343,41,233,56,8,5,6,7,3,57,2,13,11,12,58,14,9,63,64,39,38,35])),"../../views/task-center/rewards/index.vue":()=>LS(()=>import("./index-n5HeLR2m.js"),__vite__mapDeps([344,345,41,233,183,85,56,8,5,6,7,3,57,2,13,11,12,58,14,4,9,10,187,125,161,63,64,39,38,62,196,35,36,37,100])),"../../views/task-center/task-detail/index.vue":()=>LS(()=>import("./index-B-d2EqGf.js"),__vite__mapDeps([346,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,347,41,233,159,56,57,58,187,125,188,85,161,63,64,39,38,195,62,196,35,36,37,100,345,183,343])),"../../views/task-center/tasks/index.vue":()=>LS(()=>import("./index-C8JkS7QR.js"),__vite__mapDeps([348,53,41,54,55,56,8,5,6,7,3,57,2,13,11,12,58,14,59,4,9,10,26,60,61,35,36,37,38,39,62,63,64,163,132,133,90,134,20,21,154,164,157,100,79,166,167,165,77,78,233,179,89,84,140,17,124,125,188,187,85,161,118,119,142,196,195,127,182,80])),"../../views/task-center/tiers/index.vue":()=>LS(()=>import("./index-CGW0tBaS.js"),__vite__mapDeps([349,347,41,233,159,56,8,5,6,7,3,57,2,13,11,12,58,14,4,9,10,187,125,188,85,161,63,64,39,38,195,62,196,35,36,37,100]))})}load(e){if(!e)return this.createEmptyComponent();const t=`../../views${e}.vue`,n=`../../views${e}/index.vue`,a=this.modules[t]||this.modules[n];return a||this.createErrorComponent(e)}loadLayout(){return()=>LS(()=>import("./index-BWpRQH81.js"),__vite__mapDeps([151,20,21,152,26,132,5,6,7,8,133,11,90,134,41,153,14,154,155,135,156,100,39,157,38]))}loadIframe(){return()=>LS(()=>import("./Iframe-N6cwNV9d.js"),[])}createEmptyComponent(){return()=>Promise.resolve({render:()=>to("div",{})})}createErrorComponent(e){return()=>Promise.resolve({render:()=>to("div",{class:"route-error"},`组件未找到: ${e}`)})}}var sC=(e=>(e.Layout="/index/index",e.Login="/auth/login",e))(sC||{});class lC{validate(e){const t=[],n=[];return this.checkDuplicates(e,t,n),this.checkComponents(e,t,n),{valid:0===t.length,errors:t,warnings:n}}checkDuplicates(e,t,n,a=""){const r=new Map,i=new Map,o=(e,t="")=>{e.forEach(e=>{var a;const s=e.path||"",l=this.resolvePath(t,s);if(e.name){const t=String(e.name);r.has(t)?n.push(`路由名称重复: "${t}" (${l})`):r.set(t,l)}if(e.component&&"string"==typeof e.component){const a=e.component;if(a!==sC.Layout){const e=`${t}:${a}`;i.has(e)?n.push(`组件路径重复: "${a}" (${l})`):i.set(e,l)}}(null==(a=e.children)?void 0:a.length)&&o(e.children,l)})};o(e,a)}checkComponents(e,t,n,a=""){e.forEach(e=>{var r,i,o,s,l;const c=!!(null==(i=null==(r=e.meta)?void 0:r.link)?void 0:i.trim()),d=Array.isArray(e.children)&&e.children.length>0,u=e.path||"[未定义路径]",_=null==(o=e.meta)?void 0:o.isIframe;if(e.component){if(null==(s=e.children)?void 0:s.length){const r=this.resolvePath(a,e.path||"");this.checkComponents(e.children,t,n,r)}}else if(""!==a||c||_){if(c||_||d||t.push(`路由(${u}) 缺少 component 配置`),null==(l=e.children)?void 0:l.length){const r=this.resolvePath(a,e.path||"");this.checkComponents(e.children,t,n,r)}}else t.push(`一级菜单(${u}) 缺少 component,必须指向 ${sC.Layout}`)})}resolvePath(e,t){return[e.replace(/\/$/,""),t.replace(/^\//,"")].filter(Boolean).join("/")}}const cC=class e{constructor(){u(this,"iframeRoutes",[])}static getInstance(){return e.instance||(e.instance=new e),e.instance}add(e){this.iframeRoutes.find(t=>t.path===e.path)||this.iframeRoutes.push(e)}getAll(){return this.iframeRoutes}findByPath(e){return this.iframeRoutes.find(t=>t.path===e)}clear(){this.iframeRoutes=[]}save(){this.iframeRoutes.length>0&&sessionStorage.setItem("iframeRoutes",JSON.stringify(this.iframeRoutes))}load(){try{const e=sessionStorage.getItem("iframeRoutes");e&&(this.iframeRoutes=JSON.parse(e))}catch(e){this.iframeRoutes=[]}}};u(cC,"instance");let dC=cC;class uC{constructor(e){u(this,"componentLoader"),u(this,"iframeManager"),this.componentLoader=e,this.iframeManager=dC.getInstance()}transform(e,t=0){const n=e,{component:a,children:r}=n,i=d(n,["component","children"]),o=c(l({},i),{component:void 0});return e.meta.isIframe?this.handleIframeRoute(o,e,t):this.isFirstLevelRoute(e,t)?this.handleFirstLevelRoute(o,e,a):this.handleNormalRoute(o,a),(null==r?void 0:r.length)&&(o.children=r.map(e=>this.transform(e,t+1))),o}isFirstLevelRoute(e,t){return 0===t&&(!e.children||0===e.children.length)}handleIframeRoute(e,t,n){0===n?(e.component=this.componentLoader.loadLayout(),e.path=this.extractFirstSegment(t.path||""),e.name="",e.children=[c(l({},t),{component:this.componentLoader.loadIframe()})]):e.component=this.componentLoader.loadIframe(),this.iframeManager.add(t)}handleFirstLevelRoute(e,t,n){e.component=this.componentLoader.loadLayout(),e.path=this.extractFirstSegment(t.path||""),e.name="",t.meta.isFirstLevel=!0,e.children=[c(l({},t),{component:n?this.componentLoader.load(n):void 0})]}handleNormalRoute(e,t){t&&(e.component=this.componentLoader.load(t))}extractFirstSegment(e){const t=e.split("/").filter(Boolean);return t.length>0?`/${t[0]}`:"/"}}class _C{constructor(e){u(this,"router"),u(this,"componentLoader"),u(this,"validator"),u(this,"transformer"),u(this,"removeRouteFns",[]),u(this,"registered",!1),this.router=e,this.componentLoader=new oC,this.validator=new lC,this.transformer=new uC(this.componentLoader)}register(e){if(this.registered)return;const t=this.validator.validate(e);if(!t.valid)throw new Error(`路由配置验证失败: ${t.errors.join(", ")}`);const n=[];e.forEach(e=>{if(e.name&&!this.router.hasRoute(e.name)){const t=this.transformer.transform(e),a=this.router.addRoute(t);n.push(a)}}),this.removeRouteFns=n,this.registered=!0}unregister(){this.removeRouteFns.forEach(e=>e()),this.removeRouteFns=[],this.registered=!1}isRegistered(){return this.registered}getRemoveRouteFns(){return this.removeRouteFns}}function pC(){const e="frontend";return{isFrontendMode:eo(()=>!0),isBackendMode:eo(()=>!1),currentMode:eo(()=>e)}}function mC(e,t){return function(){return e.apply(t,arguments)}}const{toString:gC}=Object.prototype,{getPrototypeOf:EC}=Object,{iterator:fC,toStringTag:SC}=Symbol,bC=(e=>t=>{const n=gC.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),hC=e=>(e=e.toLowerCase(),t=>bC(t)===e),vC=e=>t=>typeof t===e,{isArray:TC}=Array,yC=vC("undefined");function CC(e){return null!==e&&!yC(e)&&null!==e.constructor&&!yC(e.constructor)&&NC(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const RC=hC("ArrayBuffer");const OC=vC("string"),NC=vC("function"),AC=vC("number"),IC=e=>null!==e&&"object"==typeof e,wC=e=>{if("object"!==bC(e))return!1;const t=EC(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||SC in e||fC in e)},DC=hC("Date"),xC=hC("File"),LC=hC("Blob"),MC=hC("FileList"),PC=hC("URLSearchParams"),[kC,FC,UC,BC]=["ReadableStream","Request","Response","Headers"].map(hC);function GC(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let a,r;if("object"!=typeof e&&(e=[e]),TC(e))for(a=0,r=e.length;a0;)if(a=n[r],t===a.toLowerCase())return a;return null}const VC="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,HC=e=>!yC(e)&&e!==VC;const zC=(e=>t=>e&&t instanceof e)("undefined"!=typeof Uint8Array&&EC(Uint8Array)),qC=hC("HTMLFormElement"),$C=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),jC=hC("RegExp"),WC=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),a={};GC(n,(n,r)=>{let i;!1!==(i=t(n,r,e))&&(a[r]=i||n)}),Object.defineProperties(e,a)};const KC=hC("AsyncFunction"),QC=(XC="function"==typeof setImmediate,ZC=NC(VC.postMessage),XC?setImmediate:ZC?(JC=`axios@${Math.random()}`,eR=[],VC.addEventListener("message",({source:e,data:t})=>{e===VC&&t===JC&&eR.length&&eR.shift()()},!1),e=>{eR.push(e),VC.postMessage(JC,"*")}):e=>setTimeout(e));var XC,ZC,JC,eR;const tR="undefined"!=typeof queueMicrotask?queueMicrotask.bind(VC):"undefined"!=typeof process&&process.nextTick||QC,nR={isArray:TC,isArrayBuffer:RC,isBuffer:CC,isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||NC(e.append)&&("formdata"===(t=bC(e))||"object"===t&&NC(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&RC(e.buffer),t},isString:OC,isNumber:AC,isBoolean:e=>!0===e||!1===e,isObject:IC,isPlainObject:wC,isEmptyObject:e=>{if(!IC(e)||CC(e))return!1;try{return 0===Object.keys(e).length&&Object.getPrototypeOf(e)===Object.prototype}catch(vk){return!1}},isReadableStream:kC,isRequest:FC,isResponse:UC,isHeaders:BC,isUndefined:yC,isDate:DC,isFile:xC,isBlob:LC,isRegExp:jC,isFunction:NC,isStream:e=>IC(e)&&NC(e.pipe),isURLSearchParams:PC,isTypedArray:zC,isFileList:MC,forEach:GC,merge:function e(){const{caseless:t,skipUndefined:n}=HC(this)&&this||{},a={},r=(r,i)=>{const o=t&&YC(a,i)||i;wC(a[o])&&wC(r)?a[o]=e(a[o],r):wC(r)?a[o]=e({},r):TC(r)?a[o]=r.slice():n&&yC(r)||(a[o]=r)};for(let i=0,o=arguments.length;i(GC(t,(t,a)=>{n&&NC(t)?e[a]=mC(t,n):e[a]=t},{allOwnKeys:a}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,a)=>{e.prototype=Object.create(t.prototype,a),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,a)=>{let r,i,o;const s={};if(t=t||{},null==e)return t;do{for(r=Object.getOwnPropertyNames(e),i=r.length;i-- >0;)o=r[i],a&&!a(o,e,t)||s[o]||(t[o]=e[o],s[o]=!0);e=!1!==n&&EC(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:bC,kindOfTest:hC,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const a=e.indexOf(t,n);return-1!==a&&a===n},toArray:e=>{if(!e)return null;if(TC(e))return e;let t=e.length;if(!AC(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[fC]).call(e);let a;for(;(a=n.next())&&!a.done;){const n=a.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const a=[];for(;null!==(n=e.exec(t));)a.push(n);return a},isHTMLForm:qC,hasOwnProperty:$C,hasOwnProp:$C,reduceDescriptors:WC,freezeMethods:e=>{WC(e,(t,n)=>{if(NC(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const a=e[n];NC(a)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))})},toObjectSet:(e,t)=>{const n={},a=e=>{e.forEach(e=>{n[e]=!0})};return TC(e)?a(e):a(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,n){return t.toUpperCase()+n}),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:YC,global:VC,isContextDefined:HC,isSpecCompliantForm:function(e){return!!(e&&NC(e.append)&&"FormData"===e[SC]&&e[fC])},toJSONObject:e=>{const t=new Array(10),n=(e,a)=>{if(IC(e)){if(t.indexOf(e)>=0)return;if(CC(e))return e;if(!("toJSON"in e)){t[a]=e;const r=TC(e)?[]:{};return GC(e,(e,t)=>{const i=n(e,a+1);!yC(i)&&(r[t]=i)}),t[a]=void 0,r}}return e};return n(e,0)},isAsyncFn:KC,isThenable:e=>e&&(IC(e)||NC(e))&&NC(e.then)&&NC(e.catch),setImmediate:QC,asap:tR,isIterable:e=>null!=e&&NC(e[fC])};function aR(e,t,n,a,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),a&&(this.request=a),r&&(this.response=r,this.status=r.status?r.status:null)}nR.inherits(aR,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:nR.toJSONObject(this.config),code:this.code,status:this.status}}});const rR=aR.prototype,iR={};["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=>{iR[e]={value:e}}),Object.defineProperties(aR,iR),Object.defineProperty(rR,"isAxiosError",{value:!0}),aR.from=(e,t,n,a,r,i)=>{const o=Object.create(rR);nR.toFlatObject(e,o,function(e){return e!==Error.prototype},e=>"isAxiosError"!==e);const s=e&&e.message?e.message:"Error",l=null==t&&e?e.code:t;return aR.call(o,s,l,n,a,r),e&&null==o.cause&&Object.defineProperty(o,"cause",{value:e,configurable:!0}),o.name=e&&e.name||"Error",i&&Object.assign(o,i),o};function oR(e){return nR.isPlainObject(e)||nR.isArray(e)}function sR(e){return nR.endsWith(e,"[]")?e.slice(0,-2):e}function lR(e,t,n){return e?e.concat(t).map(function(e,t){return e=sR(e),!n&&t?"["+e+"]":e}).join(n?".":""):t}const cR=nR.toFlatObject(nR,{},null,function(e){return/^is[A-Z]/.test(e)});function dR(e,t,n){if(!nR.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const a=(n=nR.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,t){return!nR.isUndefined(t[e])})).metaTokens,r=n.visitor||c,i=n.dots,o=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&nR.isSpecCompliantForm(t);if(!nR.isFunction(r))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if(nR.isDate(e))return e.toISOString();if(nR.isBoolean(e))return e.toString();if(!s&&nR.isBlob(e))throw new aR("Blob is not supported. Use a Buffer instead.");return nR.isArrayBuffer(e)||nR.isTypedArray(e)?s&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function c(e,n,r){let s=e;if(e&&!r&&"object"==typeof e)if(nR.endsWith(n,"{}"))n=a?n:n.slice(0,-2),e=JSON.stringify(e);else if(nR.isArray(e)&&function(e){return nR.isArray(e)&&!e.some(oR)}(e)||(nR.isFileList(e)||nR.endsWith(n,"[]"))&&(s=nR.toArray(e)))return n=sR(n),s.forEach(function(e,a){!nR.isUndefined(e)&&null!==e&&t.append(!0===o?lR([n],a,i):null===o?n:n+"[]",l(e))}),!1;return!!oR(e)||(t.append(lR(r,n,i),l(e)),!1)}const d=[],u=Object.assign(cR,{defaultVisitor:c,convertValue:l,isVisitable:oR});if(!nR.isObject(e))throw new TypeError("data must be an object");return function e(n,a){if(!nR.isUndefined(n)){if(-1!==d.indexOf(n))throw Error("Circular reference detected in "+a.join("."));d.push(n),nR.forEach(n,function(n,i){!0===(!(nR.isUndefined(n)||null===n)&&r.call(t,n,nR.isString(i)?i.trim():i,a,u))&&e(n,a?a.concat(i):[i])}),d.pop()}}(e),t}function uR(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(e){return t[e]})}function _R(e,t){this._pairs=[],e&&dR(e,this,t)}const pR=_R.prototype;function mR(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function gR(e,t,n){if(!t)return e;const a=n&&n.encode||mR;nR.isFunction(n)&&(n={serialize:n});const r=n&&n.serialize;let i;if(i=r?r(t,n):nR.isURLSearchParams(t)?t.toString():new _R(t,n).toString(a),i){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}pR.append=function(e,t){this._pairs.push([e,t])},pR.toString=function(e){const t=e?function(t){return e.call(this,t,uR)}:uR;return this._pairs.map(function(e){return t(e[0])+"="+t(e[1])},"").join("&")};class ER{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){nR.forEach(this.handlers,function(t){null!==t&&e(t)})}}const fR={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},SR={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:_R,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},bR="undefined"!=typeof window&&"undefined"!=typeof document,hR="object"==typeof navigator&&navigator||void 0,vR=bR&&(!hR||["ReactNative","NativeScript","NS"].indexOf(hR.product)<0),TR="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,yR=bR&&window.location.href||"http://localhost",CR=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:bR,hasStandardBrowserEnv:vR,hasStandardBrowserWebWorkerEnv:TR,navigator:hR,origin:yR},Symbol.toStringTag,{value:"Module"})),RR=l(l({},CR),SR);function OR(e){function t(e,n,a,r){let i=e[r++];if("__proto__"===i)return!0;const o=Number.isFinite(+i),s=r>=e.length;if(i=!i&&nR.isArray(a)?a.length:i,s)return nR.hasOwnProp(a,i)?a[i]=[a[i],n]:a[i]=n,!o;a[i]&&nR.isObject(a[i])||(a[i]=[]);return t(e,n,a[i],r)&&nR.isArray(a[i])&&(a[i]=function(e){const t={},n=Object.keys(e);let a;const r=n.length;let i;for(a=0;a{t(function(e){return nR.matchAll(/\w+|\[(\w*)]/g,e).map(e=>"[]"===e[0]?"":e[1]||e[0])}(e),a,n,0)}),n}return null}const NR={transitional:fR,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",a=n.indexOf("application/json")>-1,r=nR.isObject(e);r&&nR.isHTMLForm(e)&&(e=new FormData(e));if(nR.isFormData(e))return a?JSON.stringify(OR(e)):e;if(nR.isArrayBuffer(e)||nR.isBuffer(e)||nR.isStream(e)||nR.isFile(e)||nR.isBlob(e)||nR.isReadableStream(e))return e;if(nR.isArrayBufferView(e))return e.buffer;if(nR.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let i;if(r){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return dR(e,new RR.classes.URLSearchParams,l({visitor:function(e,t,n,a){return RR.isNode&&nR.isBuffer(e)?(this.append(t,e.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((i=nR.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return dR(i?{"files[]":e}:e,t&&new t,this.formSerializer)}}return r||a?(t.setContentType("application/json",!1),function(e,t,n){if(nR.isString(e))try{return(t||JSON.parse)(e),nR.trim(e)}catch(vk){if("SyntaxError"!==vk.name)throw vk}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||NR.transitional,n=t&&t.forcedJSONParsing,a="json"===this.responseType;if(nR.isResponse(e)||nR.isReadableStream(e))return e;if(e&&nR.isString(e)&&(n&&!this.responseType||a)){const n=!(t&&t.silentJSONParsing)&&a;try{return JSON.parse(e,this.parseReviver)}catch(vk){if(n){if("SyntaxError"===vk.name)throw aR.from(vk,aR.ERR_BAD_RESPONSE,this,null,this.response);throw vk}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:RR.classes.FormData,Blob:RR.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};nR.forEach(["delete","get","head","post","put","patch"],e=>{NR.headers[e]={}});const AR=nR.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"]),IR=Symbol("internals");function wR(e){return e&&String(e).trim().toLowerCase()}function DR(e){return!1===e||null==e?e:nR.isArray(e)?e.map(DR):String(e)}function xR(e,t,n,a,r){return nR.isFunction(a)?a.call(this,t,n):(r&&(t=n),nR.isString(t)?nR.isString(a)?-1!==t.indexOf(a):nR.isRegExp(a)?a.test(t):void 0:void 0)}let LR=class{constructor(e){e&&this.set(e)}set(e,t,n){const a=this;function r(e,t,n){const r=wR(t);if(!r)throw new Error("header name must be a non-empty string");const i=nR.findKey(a,r);(!i||void 0===a[i]||!0===n||void 0===n&&!1!==a[i])&&(a[i||t]=DR(e))}const i=(e,t)=>nR.forEach(e,(e,n)=>r(e,n,t));if(nR.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(nR.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))i((e=>{const t={};let n,a,r;return e&&e.split("\n").forEach(function(e){r=e.indexOf(":"),n=e.substring(0,r).trim().toLowerCase(),a=e.substring(r+1).trim(),!n||t[n]&&AR[n]||("set-cookie"===n?t[n]?t[n].push(a):t[n]=[a]:t[n]=t[n]?t[n]+", "+a:a)}),t})(e),t);else if(nR.isObject(e)&&nR.isIterable(e)){let n,a,r={};for(const t of e){if(!nR.isArray(t))throw TypeError("Object iterator must return a key-value pair");r[a=t[0]]=(n=r[a])?nR.isArray(n)?[...n,t[1]]:[n,t[1]]:t[1]}i(r,t)}else null!=e&&r(t,e,n);return this}get(e,t){if(e=wR(e)){const n=nR.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let a;for(;a=n.exec(e);)t[a[1]]=a[2];return t}(e);if(nR.isFunction(t))return t.call(this,e,n);if(nR.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=wR(e)){const n=nR.findKey(this,e);return!(!n||void 0===this[n]||t&&!xR(0,this[n],n,t))}return!1}delete(e,t){const n=this;let a=!1;function r(e){if(e=wR(e)){const r=nR.findKey(n,e);!r||t&&!xR(0,n[r],r,t)||(delete n[r],a=!0)}}return nR.isArray(e)?e.forEach(r):r(e),a}clear(e){const t=Object.keys(this);let n=t.length,a=!1;for(;n--;){const r=t[n];e&&!xR(0,this[r],r,e,!0)||(delete this[r],a=!0)}return a}normalize(e){const t=this,n={};return nR.forEach(this,(a,r)=>{const i=nR.findKey(n,r);if(i)return t[i]=DR(a),void delete t[r];const o=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}(r):String(r).trim();o!==r&&delete t[r],t[o]=DR(a),n[o]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return nR.forEach(this,(n,a)=>{null!=n&&!1!==n&&(t[a]=e&&nR.isArray(n)?n.join(", "):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join("\n")}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach(e=>n.set(e)),n}static accessor(e){const t=(this[IR]=this[IR]={accessors:{}}).accessors,n=this.prototype;function a(e){const a=wR(e);t[a]||(!function(e,t){const n=nR.toCamelCase(" "+t);["get","set","has"].forEach(a=>{Object.defineProperty(e,a+n,{value:function(e,n,r){return this[a].call(this,t,e,n,r)},configurable:!0})})}(n,e),t[a]=!0)}return nR.isArray(e)?e.forEach(a):a(e),this}};function MR(e,t){const n=this||NR,a=t||n,r=LR.from(a.headers);let i=a.data;return nR.forEach(e,function(e){i=e.call(n,i,r.normalize(),t?t.status:void 0)}),r.normalize(),i}function PR(e){return!(!e||!e.__CANCEL__)}function kR(e,t,n){aR.call(this,null==e?"canceled":e,aR.ERR_CANCELED,t,n),this.name="CanceledError"}function FR(e,t,n){const a=n.config.validateStatus;n.status&&a&&!a(n.status)?t(new aR("Request failed with status code "+n.status,[aR.ERR_BAD_REQUEST,aR.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}LR.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),nR.reduceDescriptors(LR.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}}),nR.freezeMethods(LR),nR.inherits(kR,aR,{__CANCEL__:!0});const UR=(e,t,n=3)=>{let a=0;const r=function(e,t){e=e||10;const n=new Array(e),a=new Array(e);let r,i=0,o=0;return t=void 0!==t?t:1e3,function(s){const l=Date.now(),c=a[o];r||(r=l),n[i]=s,a[i]=l;let d=o,u=0;for(;d!==i;)u+=n[d++],d%=e;if(i=(i+1)%e,i===o&&(o=(o+1)%e),l-r{r=i,n=null,a&&(clearTimeout(a),a=null),e(...t)};return[(...e)=>{const t=Date.now(),s=t-r;s>=i?o(e,t):(n=e,a||(a=setTimeout(()=>{a=null,o(n)},i-s)))},()=>n&&o(n)]}(n=>{const i=n.loaded,o=n.lengthComputable?n.total:void 0,s=i-a,l=r(s);a=i;e({loaded:i,total:o,progress:o?i/o:void 0,bytes:s,rate:l||void 0,estimated:l&&o&&i<=o?(o-i)/l:void 0,event:n,lengthComputable:null!=o,[t?"download":"upload"]:!0})},n)},BR=(e,t)=>{const n=null!=e;return[a=>t[0]({lengthComputable:n,total:e,loaded:a}),t[1]]},GR=e=>(...t)=>nR.asap(()=>e(...t)),YR=RR.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,RR.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(RR.origin),RR.navigator&&/(msie|trident)/i.test(RR.navigator.userAgent)):()=>!0,VR=RR.hasStandardBrowserEnv?{write(e,t,n,a,r,i){const o=[e+"="+encodeURIComponent(t)];nR.isNumber(n)&&o.push("expires="+new Date(n).toGMTString()),nR.isString(a)&&o.push("path="+a),nR.isString(r)&&o.push("domain="+r),!0===i&&o.push("secure"),document.cookie=o.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function HR(e,t,n){let a=!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t);return e&&(a||0==n)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const zR=e=>e instanceof LR?l({},e):e;function qR(e,t){t=t||{};const n={};function a(e,t,n,a){return nR.isPlainObject(e)&&nR.isPlainObject(t)?nR.merge.call({caseless:a},e,t):nR.isPlainObject(t)?nR.merge({},t):nR.isArray(t)?t.slice():t}function r(e,t,n,r){return nR.isUndefined(t)?nR.isUndefined(e)?void 0:a(void 0,e,0,r):a(e,t,0,r)}function i(e,t){if(!nR.isUndefined(t))return a(void 0,t)}function o(e,t){return nR.isUndefined(t)?nR.isUndefined(e)?void 0:a(void 0,e):a(void 0,t)}function s(n,r,i){return i in t?a(n,r):i in e?a(void 0,n):void 0}const c={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:s,headers:(e,t,n)=>r(zR(e),zR(t),0,!0)};return nR.forEach(Object.keys(l(l({},e),t)),function(a){const i=c[a]||r,o=i(e[a],t[a],a);nR.isUndefined(o)&&i!==s||(n[a]=o)}),n}const $R=e=>{const t=qR({},e);let{data:n,withXSRFToken:a,xsrfHeaderName:r,xsrfCookieName:i,headers:o,auth:s}=t;if(t.headers=o=LR.from(o),t.url=gR(HR(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),s&&o.set("Authorization","Basic "+btoa((s.username||"")+":"+(s.password?unescape(encodeURIComponent(s.password)):""))),nR.isFormData(n))if(RR.hasStandardBrowserEnv||RR.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if(nR.isFunction(n.getHeaders)){const e=n.getHeaders(),t=["content-type","content-length"];Object.entries(e).forEach(([e,n])=>{t.includes(e.toLowerCase())&&o.set(e,n)})}if(RR.hasStandardBrowserEnv&&(a&&nR.isFunction(a)&&(a=a(t)),a||!1!==a&&YR(t.url))){const e=r&&i&&VR.read(i);e&&o.set(r,e)}return t},jR="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise(function(t,n){const a=$R(e);let r=a.data;const i=LR.from(a.headers).normalize();let o,s,l,c,d,{responseType:u,onUploadProgress:_,onDownloadProgress:p}=a;function m(){c&&c(),d&&d(),a.cancelToken&&a.cancelToken.unsubscribe(o),a.signal&&a.signal.removeEventListener("abort",o)}let g=new XMLHttpRequest;function E(){if(!g)return;const a=LR.from("getAllResponseHeaders"in g&&g.getAllResponseHeaders());FR(function(e){t(e),m()},function(e){n(e),m()},{data:u&&"text"!==u&&"json"!==u?g.response:g.responseText,status:g.status,statusText:g.statusText,headers:a,config:e,request:g}),g=null}g.open(a.method.toUpperCase(),a.url,!0),g.timeout=a.timeout,"onloadend"in g?g.onloadend=E:g.onreadystatechange=function(){g&&4===g.readyState&&(0!==g.status||g.responseURL&&0===g.responseURL.indexOf("file:"))&&setTimeout(E)},g.onabort=function(){g&&(n(new aR("Request aborted",aR.ECONNABORTED,e,g)),g=null)},g.onerror=function(t){const a=new aR(t&&t.message?t.message:"Network Error",aR.ERR_NETWORK,e,g);a.event=t||null,n(a),g=null},g.ontimeout=function(){let t=a.timeout?"timeout of "+a.timeout+"ms exceeded":"timeout exceeded";const r=a.transitional||fR;a.timeoutErrorMessage&&(t=a.timeoutErrorMessage),n(new aR(t,r.clarifyTimeoutError?aR.ETIMEDOUT:aR.ECONNABORTED,e,g)),g=null},void 0===r&&i.setContentType(null),"setRequestHeader"in g&&nR.forEach(i.toJSON(),function(e,t){g.setRequestHeader(t,e)}),nR.isUndefined(a.withCredentials)||(g.withCredentials=!!a.withCredentials),u&&"json"!==u&&(g.responseType=a.responseType),p&&([l,d]=UR(p,!0),g.addEventListener("progress",l)),_&&g.upload&&([s,c]=UR(_),g.upload.addEventListener("progress",s),g.upload.addEventListener("loadend",c)),(a.cancelToken||a.signal)&&(o=t=>{g&&(n(!t||t.type?new kR(null,e,g):t),g.abort(),g=null)},a.cancelToken&&a.cancelToken.subscribe(o),a.signal&&(a.signal.aborted?o():a.signal.addEventListener("abort",o)));const f=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(a.url);f&&-1===RR.protocols.indexOf(f)?n(new aR("Unsupported protocol "+f+":",aR.ERR_BAD_REQUEST,e)):g.send(r||null)})},WR=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let n,a=new AbortController;const r=function(e){if(!n){n=!0,o();const t=e instanceof Error?e:this.reason;a.abort(t instanceof aR?t:new kR(t instanceof Error?t.message:t))}};let i=t&&setTimeout(()=>{i=null,r(new aR(`timeout ${t} of ms exceeded`,aR.ETIMEDOUT))},t);const o=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(e=>{e.unsubscribe?e.unsubscribe(r):e.removeEventListener("abort",r)}),e=null)};e.forEach(e=>e.addEventListener("abort",r));const{signal:s}=a;return s.unsubscribe=()=>nR.asap(o),s}},KR=function*(e,t){let n=e.byteLength;if(n(t=e[o("asyncIterator")])?t.call(e):(e=e[o("iterator")](),t={},(n=(n,a)=>(a=e[n])&&(t[n]=t=>new Promise((n,r,i)=>(t=a.call(e,t),i=t.done,Promise.resolve(t.value).then(e=>n({value:e,done:i}),r)))))("next"),n("return"),t))(XR(e));n=!(a=yield new p(i.next())).done;n=!1){const e=a.value;yield*g(KR(e,t))}}catch(a){r=[a]}finally{try{n&&(a=i.return)&&(yield new p(a.call(i)))}finally{if(r)throw r[0]}}})},XR=function(e){return m(this,null,function*(){if(e[Symbol.asyncIterator])return void(yield*g(e));const t=e.getReader();try{for(;;){const{done:e,value:n}=yield new p(t.read());if(e)break;yield n}}finally{yield new p(t.cancel())}})},ZR=(e,t,n,a)=>{const r=QR(e,t);let i,o=0,s=e=>{i||(i=!0,a&&a(e))};return new ReadableStream({pull(e){return _(this,null,function*(){try{const{done:t,value:a}=yield r.next();if(t)return s(),void e.close();let i=a.byteLength;if(n){let e=o+=i;n(e)}e.enqueue(new Uint8Array(a))}catch(t){throw s(t),t}})},cancel:e=>(s(e),r.return())},{highWaterMark:2})},{isFunction:JR}=nR,eO=(({Request:e,Response:t})=>({Request:e,Response:t}))(nR.global),{ReadableStream:tO,TextEncoder:nO}=nR.global,aO=(e,...t)=>{try{return!!e(...t)}catch(vk){return!1}},rO=e=>{e=nR.merge.call({skipUndefined:!0},eO,e);const{fetch:t,Request:n,Response:a}=e,r=t?JR(t):"function"==typeof fetch,i=JR(n),o=JR(a);if(!r)return!1;const s=r&&JR(tO),d=r&&("function"==typeof nO?(e=>t=>e.encode(t))(new nO):e=>_(void 0,null,function*(){return new Uint8Array(yield new n(e).arrayBuffer())})),u=i&&s&&aO(()=>{let e=!1;const t=new n(RR.origin,{body:new tO,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),p=o&&s&&aO(()=>nR.isReadableStream(new a("").body)),m={stream:p&&(e=>e.body)};r&&["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!m[e]&&(m[e]=(t,n)=>{let a=t&&t[e];if(a)return a.call(t);throw new aR(`Response type '${e}' is not supported`,aR.ERR_NOT_SUPPORT,n)})});const g=(e,t)=>_(void 0,null,function*(){const a=nR.toFiniteNumber(e.getContentLength());return null==a?(e=>_(void 0,null,function*(){if(null==e)return 0;if(nR.isBlob(e))return e.size;if(nR.isSpecCompliantForm(e)){const t=new n(RR.origin,{method:"POST",body:e});return(yield t.arrayBuffer()).byteLength}return nR.isArrayBufferView(e)||nR.isArrayBuffer(e)?e.byteLength:(nR.isURLSearchParams(e)&&(e+=""),nR.isString(e)?(yield d(e)).byteLength:void 0)}))(t):a});return e=>_(void 0,null,function*(){let{url:r,method:o,data:s,signal:d,cancelToken:_,timeout:E,onDownloadProgress:f,onUploadProgress:S,responseType:b,headers:h,withCredentials:v="same-origin",fetchOptions:T}=$R(e),y=t||fetch;b=b?(b+"").toLowerCase():"text";let C=WR([d,_&&_.toAbortSignal()],E),R=null;const O=C&&C.unsubscribe&&(()=>{C.unsubscribe()});let N;try{if(S&&u&&"get"!==o&&"head"!==o&&0!==(N=yield g(h,s))){let e,t=new n(r,{method:"POST",body:s,duplex:"half"});if(nR.isFormData(s)&&(e=t.headers.get("content-type"))&&h.setContentType(e),t.body){const[e,n]=BR(N,UR(GR(S)));s=ZR(t.body,65536,e,n)}}nR.isString(v)||(v=v?"include":"omit");const t=i&&"credentials"in n.prototype,d=c(l({},T),{signal:C,method:o.toUpperCase(),headers:h.normalize().toJSON(),body:s,duplex:"half",credentials:t?v:void 0});R=i&&new n(r,d);let _=yield i?y(R,T):y(r,d);const E=p&&("stream"===b||"response"===b);if(p&&(f||E&&O)){const e={};["status","statusText","headers"].forEach(t=>{e[t]=_[t]});const t=nR.toFiniteNumber(_.headers.get("content-length")),[n,r]=f&&BR(t,UR(GR(f),!0))||[];_=new a(ZR(_.body,65536,n,()=>{r&&r(),O&&O()}),e)}b=b||"text";let A=yield m[nR.findKey(m,b)||"text"](_,e);return!E&&O&&O(),yield new Promise((t,n)=>{FR(t,n,{data:A,headers:LR.from(_.headers),status:_.status,statusText:_.statusText,config:e,request:R})})}catch(A){if(O&&O(),A&&"TypeError"===A.name&&/Load failed|fetch/i.test(A.message))throw Object.assign(new aR("Network Error",aR.ERR_NETWORK,e,R),{cause:A.cause||A});throw aR.from(A,A&&A.code,e,R)}})},iO=new Map,oO=e=>{let t=e?e.env:{};const{fetch:n,Request:a,Response:r}=t,i=[a,r,n];let o,s,l=i.length,c=iO;for(;l--;)o=i[l],s=c.get(o),void 0===s&&c.set(o,s=l?new Map:rO(t)),c=s;return s};oO();const sO={http:null,xhr:jR,fetch:{get:oO}};nR.forEach(sO,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(vk){}Object.defineProperty(e,"adapterName",{value:t})}});const lO=e=>`- ${e}`,cO=e=>nR.isFunction(e)||null===e||!1===e,dO=(e,t)=>{e=nR.isArray(e)?e:[e];const{length:n}=e;let a,r;const i={};for(let o=0;o`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build"));throw new aR("There is no suitable adapter to dispatch the request "+(n?e.length>1?"since :\n"+e.map(lO).join("\n"):" "+lO(e[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return r};function uO(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new kR(null,e)}function _O(e){uO(e),e.headers=LR.from(e.headers),e.data=MR.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);return dO(e.adapter||NR.adapter,e)(e).then(function(t){return uO(e),t.data=MR.call(e,e.transformResponse,t),t.headers=LR.from(t.headers),t},function(t){return PR(t)||(uO(e),t&&t.response&&(t.response.data=MR.call(e,e.transformResponse,t.response),t.response.headers=LR.from(t.response.headers))),Promise.reject(t)})}const pO="1.12.2",mO={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{mO[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});const gO={};mO.transitional=function(e,t,n){return(a,r,i)=>{if(!1===e)throw new aR(function(e,t){return"[Axios v"+pO+"] Transitional option '"+e+"'"+t+(n?". "+n:"")}(r," has been removed"+(t?" in "+t:"")),aR.ERR_DEPRECATED);return t&&!gO[r]&&(gO[r]=!0),!e||e(a,r,i)}},mO.spelling=function(e){return(e,t)=>!0};const EO={assertOptions:function(e,t,n){if("object"!=typeof e)throw new aR("options must be an object",aR.ERR_BAD_OPTION_VALUE);const a=Object.keys(e);let r=a.length;for(;r-- >0;){const i=a[r],o=t[i];if(o){const t=e[i],n=void 0===t||o(t,i,e);if(!0!==n)throw new aR("option "+i+" must be "+n,aR.ERR_BAD_OPTION_VALUE);continue}if(!0!==n)throw new aR("Unknown option "+i,aR.ERR_BAD_OPTION)}},validators:mO},fO=EO.validators;let SO=class{constructor(e){this.defaults=e||{},this.interceptors={request:new ER,response:new ER}}request(e,t){return _(this,null,function*(){try{return yield this._request(e,t)}catch(n){if(n instanceof Error){let e={};Error.captureStackTrace?Error.captureStackTrace(e):e=new Error;const t=e.stack?e.stack.replace(/^.+\n/,""):"";try{n.stack?t&&!String(n.stack).endsWith(t.replace(/^.+\n.+\n/,""))&&(n.stack+="\n"+t):n.stack=t}catch(vk){}}throw n}})}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=qR(this.defaults,t);const{transitional:n,paramsSerializer:a,headers:r}=t;void 0!==n&&EO.assertOptions(n,{silentJSONParsing:fO.transitional(fO.boolean),forcedJSONParsing:fO.transitional(fO.boolean),clarifyTimeoutError:fO.transitional(fO.boolean)},!1),null!=a&&(nR.isFunction(a)?t.paramsSerializer={serialize:a}:EO.assertOptions(a,{encode:fO.function,serialize:fO.function},!0)),void 0!==t.allowAbsoluteUrls||(void 0!==this.defaults.allowAbsoluteUrls?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),EO.assertOptions(t,{baseUrl:fO.spelling("baseURL"),withXsrfToken:fO.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=r&&nR.merge(r.common,r[t.method]);r&&nR.forEach(["delete","get","head","post","put","patch","common"],e=>{delete r[e]}),t.headers=LR.concat(i,r);const o=[];let s=!0;this.interceptors.request.forEach(function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(s=s&&e.synchronous,o.unshift(e.fulfilled,e.rejected))});const l=[];let c;this.interceptors.response.forEach(function(e){l.push(e.fulfilled,e.rejected)});let d,u=0;if(!s){const e=[_O.bind(this),void 0];for(e.unshift(...o),e.push(...l),d=e.length,c=Promise.resolve(t);u{bO[t]=e});const hO=function e(t){const n=new SO(t),a=mC(SO.prototype.request,n);return nR.extend(a,SO.prototype,n,{allOwnKeys:!0}),nR.extend(a,n,null,{allOwnKeys:!0}),a.create=function(n){return e(qR(t,n))},a}(NR);hO.Axios=SO,hO.CanceledError=kR,hO.CancelToken=class e{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(e){t=e});const n=this;this.promise.then(e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null}),this.promise.then=e=>{let t;const a=new Promise(e=>{n.subscribe(e),t=e}).then(e);return a.cancel=function(){n.unsubscribe(t)},a},e(function(e,a,r){n.reason||(n.reason=new kR(e,a,r),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let t;return{token:new e(function(e){t=e}),cancel:t}}},hO.isCancel=PR,hO.VERSION=pO,hO.toFormData=dR,hO.AxiosError=aR,hO.Cancel=hO.CanceledError,hO.all=function(e){return Promise.all(e)},hO.spread=function(e){return function(t){return e.apply(null,t)}},hO.isAxiosError=function(e){return nR.isObject(e)&&!0===e.isAxiosError},hO.mergeConfig=qR,hO.AxiosHeaders=LR,hO.formToJSON=e=>OR(nR.isHTMLForm(e)?new FormData(e):e),hO.getAdapter=dO,hO.HttpStatusCode=bO,hO.default=hO;const{Axios:vO,AxiosError:TO,CanceledError:yO,isCancel:CO,CancelToken:RO,VERSION:OO,all:NO,Cancel:AO,isAxiosError:IO,spread:wO,toFormData:DO,AxiosHeaders:xO,HttpStatusCode:LO,formToJSON:MO,getAdapter:PO,mergeConfig:kO}=hO;var FO=(e=>(e[e.success=200]="success",e[e.error=400]="error",e[e.unauthorized=401]="unauthorized",e[e.forbidden=403]="forbidden",e[e.notFound=404]="notFound",e[e.methodNotAllowed=405]="methodNotAllowed",e[e.requestTimeout=408]="requestTimeout",e[e.internalServerError=500]="internalServerError",e[e.notImplemented=501]="notImplemented",e[e.badGateway=502]="badGateway",e[e.serviceUnavailable=503]="serviceUnavailable",e[e.gatewayTimeout=504]="gatewayTimeout",e[e.httpVersionNotSupported=505]="httpVersionNotSupported",e))(FO||{});class UO extends Error{constructor(e,t,n){super(e),u(this,"code"),u(this,"data"),u(this,"timestamp"),u(this,"url"),u(this,"method"),this.name="HttpError",this.code=t,this.data=null==n?void 0:n.data,this.timestamp=(new Date).toISOString(),this.url=null==n?void 0:n.url,this.method=null==n?void 0:n.method}toLogData(){return{code:this.code,message:this.message,data:this.data,timestamp:this.timestamp,url:this.url,method:this.method,stack:this.stack}}}function BO(e,t=!0){if(t){const t=e.businessCode||e.code;30117===t?iE.warning("该用户已拥有该称号"):401===t?iE.warning({message:"登录状态已过期,请重新登录",duration:5e3,showClose:!0}):iE.error(e.message)}}const GO=new class{constructor(){u(this,"errorCache",new Map),u(this,"defaultDebounceTime",3e3)}shouldShowError(e,t=this.defaultDebounceTime){const n=Date.now(),a=this.errorCache.get(e);return(!a||n-a>t)&&(this.errorCache.set(e,n),!0)}cleanup(){const e=Date.now(),t=2*this.defaultDebounceTime;for(const[n,a]of this.errorCache.entries())e-a>t&&this.errorCache.delete(n)}generateErrorKey(e,t){return`${e}-${t.slice(0,50)}`}};function YO(e){if(!e)return{};if("string"==typeof e)try{return YO(JSON.parse(e))}catch(vk){return{message:e}}if("object"==typeof e){if(void 0!==e.code||void 0!==e.message)return{code:e.code,message:e.message||e.msg,data:e.data};if(e.error&&"object"==typeof e.error)return{code:e.error.code,message:e.error.message,data:e.data};if(e.msg)return{code:e.code,message:e.msg,data:e.data}}return{}}function VO(e,t){if(!t.showSuccess||t.silent)return;const n={message:t.successMessage||e,duration:t.duration||3e3,showClose:!1};if("notification"===t.successType)yE(c(l({},n),{type:"success",position:"top-right",title:"成功提示"}));else iE.success(n)}function HO(e,t={}){var n,a,r,i,o,s,d;const u=(null==(n=e.response)?void 0:n.status)||FO.error,_=null==(a=e.response)?void 0:a.data,p=e.config,m=YO(_),g=function(e,t){if(e.message)return e.message;if(e.code){const t={20101:"httpMsg.loginFailed",20102:"httpMsg.accountDisabled",20103:"httpMsg.validationError",20201:"httpMsg.permissionDenied",20202:"httpMsg.dataNotFound",20301:"httpMsg.dataNotFound",20302:"httpMsg.duplicateData",20303:"httpMsg.dataConstraintError",20401:"httpMsg.badRequest",20402:"httpMsg.badRequest",20501:"httpMsg.operationFailed",20502:"httpMsg.requestTimeout",20601:"httpMsg.internalServerError",20602:"httpMsg.serviceUnavailable"}[e.code];if(t)return xT(t)}return xT({400:"httpMsg.badRequest",401:"httpMsg.unauthorized",403:"httpMsg.permissionDenied",404:"httpMsg.notFound",405:"httpMsg.methodNotAllowed",408:"httpMsg.requestTimeout",500:"httpMsg.internalServerError",502:"httpMsg.badGateway",503:"httpMsg.serviceUnavailable",504:"httpMsg.gatewayTimeout"}[t]||"httpMsg.operationFailed")}(m,u),E=GO.generateErrorKey(m.code||u,g);!1!==t.enableLog&&(m.code,m.data,null==p||p.url,null==(r=null==p?void 0:p.method)||r.toUpperCase(),null==p||p.params,null==p||p.data,null==(i=e.response)||i.status,null==(o=e.response)||o.statusText,null==(s=e.response)||s.headers,(new Date).toISOString()),!1!==t.showError&&function(e,t,n){if(t.silent)return;if(t.enableDebounce&&n&&!GO.shouldShowError(n,t.debounceTime))return;const a={message:e,duration:t.duration||4e3,showClose:!1!==t.showClose,dangerouslyUseHTMLString:!0};switch(t.errorType){case"modal":EE.alert(e,"错误提示",{confirmButtonText:"确定",type:"error",dangerouslyUseHTMLString:!0});break;case"notification":yE(c(l({},a),{type:"error",position:t.position||"top-right",title:"错误提示"}));break;default:iE.error(a)}}(g,t,E);const f=new UO(g,m.code||u,{data:m.data,url:null==p?void 0:p.url,method:null==(d=null==p?void 0:p.method)?void 0:d.toUpperCase()});throw m.code&&(f.businessCode=m.code),f}setInterval(function(){GO.cleanup()},3e5);let zO=!1,qO=null;const{VITE_API_URL:$O,VITE_WITH_CREDENTIALS:jO}={VITE_API_URL:"/api",VITE_WITH_CREDENTIALS:"false"},WO=hO.create({timeout:3e4,baseURL:$O,withCredentials:"true"===jO,validateStatus:e=>e>=200&&e<300,transformResponse:[(e,t)=>{const n=t["content-type"];if(null==n?void 0:n.includes("application/json"))try{return JSON.parse(e)}catch(vk){return e}return e}]}),KO=hO.create({timeout:3e4,baseURL:$O,withCredentials:"true"===jO});KO.interceptors.request.use(e=>{const t=CN().accessToken;return t&&e.headers.set("Authorization",t),e},e=>Promise.reject(e)),WO.interceptors.request.use(e=>{e._ts=Date.now();const t=CN().accessToken;return t&&e.headers.set("Authorization",t),!e.data||e.data instanceof FormData||e.headers["Content-Type"]||(e.headers.set("Content-Type","application/json"),e.data=JSON.stringify(e.data)),e},e=>(BO(ZO(xT("httpMsg.requestConfigError"),FO.error)),Promise.reject(e)));let QO=!1,XO=[];function ZO(e,t){return new UO(e,t)}function JO(e){const t=ZO(xT("httpMsg.unauthorized"),FO.unauthorized);if(!zO)throw zO=!0,FO.unauthorized,xT("httpMsg.unauthorized"),BO(t,!0),localStorage.removeItem("user_info_expire_time"),setTimeout(()=>{const e=window.location.pathname+window.location.search;CN().logOut(),TN?TN.push({name:"Login",query:{redirect:"/auth/login"!==e?e:void 0}}).catch(t=>{window.location.href="/auth/login"+("/auth/login"!==e?"?redirect="+encodeURIComponent(e):"")}):window.location.href="/auth/login"+("/auth/login"!==e?"?redirect="+encodeURIComponent(e):"")},100),qO=setTimeout(eN,500),t;throw t}function eN(){zO=!1,qO&&clearTimeout(qO),qO=null}function tN(e){return _(this,arguments,function*(e,t=0){try{return yield function(e){return _(this,null,function*(){var t;["POST","PUT"].includes((null==(t=e.method)?void 0:t.toUpperCase())||"")&&e.params&&!e.data&&(e.data=e.params,e.params=void 0);try{return yield WO.request(e)}catch(n){return Promise.reject(n)}})}(e)}catch(r){if(t>0&&r instanceof UO&&(a=r.code,[FO.requestTimeout,FO.internalServerError,FO.badGateway,FO.serviceUnavailable,FO.gatewayTimeout].includes(a)))return yield(n=1e3,new Promise(e=>setTimeout(e,n))),tN(e,t-1);throw r}var n,a})}WO.interceptors.response.use(e=>{const t=e.config._ts;if(t){Date.now()}const n=e.config,a=function(e,t={}){const n=e.data;return n?((t.successMessage||t.showSuccess)&&VO(t.successMessage||xT("httpMsg.operationSuccess"),t),n):(t.showSuccess&&!t.silent&&VO(xT("httpMsg.operationSuccess"),t),n)}(e,{showSuccess:n.showSuccessMessage,showError:n.showErrorMessage,successType:"toast"});return function(e){var t,n;if(function(e){return e&&"object"==typeof e&&"code"in e&&("data"in e||"result"in e)}(e)){const a=e.code,r="number"==typeof a?a:Number(a);if([FO.success,0].includes(r)){return null!=(n=null!=(t=e.data)?t:e.result)?n:e}const i=e.message||e.msg||xT("httpMsg.operationFailed");throw new UO(i,r,{data:e})}return e}(a)},e=>{var t,n;const a=e.config,r={showSuccess:a.showSuccessMessage,showError:a.showErrorMessage,successType:"toast",errorType:"toast"};if((null==(t=e.response)?void 0:t.status)===FO.unauthorized){const t=e.config;return new Promise((n,a)=>_(void 0,null,function*(){var r;if(XO.push({resolve:n,reject:a,config:t}),!QO){QO=!0;try{const t=yield KO.post("admin/auth/refresh"),n=(null==(r=t.data)?void 0:r.token)||t.token;n?(CN().setToken(n),XO.forEach(({resolve:e,config:t})=>{t.headers=c(l({},t.headers||{}),{Authorization:n}),e(WO.request(t))})):(XO.forEach(({reject:t})=>t(e)),JO())}catch(vk){XO.forEach(({reject:t})=>t(e)),JO()}finally{XO=[],QO=!1}}}))}try{const t=l({},r);(null==(n=e.response)?void 0:n.status)===FO.unauthorized&&(t.silent=!0,t.showError=!1),HO(e,t)}catch(i){return Promise.reject(i)}return Promise.reject(e)});const nN={get:e=>tN(c(l({},e),{method:"GET"})),post:e=>tN(c(l({},e),{method:"POST"})),put:e=>tN(c(l({},e),{method:"PUT"})),del:e=>tN(c(l({},e),{method:"DELETE"})),request:e=>tN(e)};function aN(e){return nN.get({url:"user/list",params:e})}function rN(e){return nN.get({url:"role/list",params:e})}function iN(){return nN.get({url:"v3/system/menus/simple"})}function oN(e){return nN.post({url:"menu",data:e})}function sN(e){return nN.del({url:`menu/${e}`})}function lN(e){return nN.del({url:`auth/${e}`})}function cN(e){return nN.post({url:"user",data:e})}const dN=[{name:"Dashboard",path:"/dashboard",component:"/index/index",meta:{title:"menus.dashboard.title",icon:"ri:pie-chart-line",roles:["R_SUPER","R_ADMIN"]},children:[{path:"console",name:"Console",component:"/dashboard/console",meta:{title:"menus.dashboard.console",keepAlive:!1,fixedTab:!0}}]},{path:"/system",name:"System",component:"/index/index",meta:{title:"menus.system.title",icon:"ri:user-3-line",roles:["R_SUPER","R_ADMIN"]},children:[{path:"user",name:"User",component:"/system/user",meta:{title:"menus.system.user",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"role",name:"Role",component:"/system/role",meta:{title:"menus.system.role",keepAlive:!0,roles:["R_SUPER"]}},{path:"user-center",name:"UserCenter",component:"/system/user-center",meta:{title:"menus.system.userCenter",isHide:!0,keepAlive:!0,isHideTab:!0}},{path:"menu",name:"Menus",component:"/system/menu",meta:{title:"menus.system.menu",keepAlive:!0,roles:["R_SUPER"],authList:[{title:"新增",authMark:"add"},{title:"编辑",authMark:"edit"},{title:"删除",authMark:"delete"}]}},{path:"announcement",name:"Announcement",component:"/system/announcement",meta:{title:"menus.system.announcement",keepAlive:!0,roles:["R_SUPER"]}},{path:"recycle",name:"Recycle",component:"/system/recycle",meta:{title:"回收站",keepAlive:!0,roles:["R_SUPER","R_ADMIN"],authList:[{title:"列表",authMark:"recycle:list"},{title:"恢复",authMark:"recycle:restore"},{title:"彻底删除",authMark:"recycle:forceDelete"}]}},{path:"configs",name:"SystemConfigs",component:"/system/configs",meta:{title:"系统配置",keepAlive:!0,roles:["R_SUPER"]}}]},{path:"/operations",name:"Operations",component:"/index/index",meta:{title:"menus.operations.title",icon:"ri:tools-line",roles:["R_SUPER","R_ADMIN"]},children:[{path:"banner",name:"Banner",component:"/operations/banner",meta:{title:"轮播图管理",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"channels",name:"Channels",component:"/operations/channels",meta:{title:"渠道管理",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"miniapp-qrcode",name:"MiniAppQRCode",component:"/operations/miniapp-qrcode",meta:{title:"小程序二维码",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"item-cards",name:"ItemCards",component:"/operations/item-cards",meta:{title:"menus.operations.itemCards",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"coupons",name:"Coupons",component:"/operations/coupons",meta:{title:"menus.operations.coupons",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"titles",name:"Titles",component:"/operations/titles",meta:{title:"称号管理",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}}]},{path:"/games",name:"Games",component:"/index/index",meta:{title:"menus.games.title",icon:"ri:gamepad-line",roles:["R_SUPER","R_ADMIN"]},children:[{path:"ichiban-slots",name:"IchibanSlots",component:"/operations/ichiban-slots",meta:{title:"一番赏序号映射",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"lottery-simulation",name:"LotterySimulation",component:"/operations/lottery-simulation",meta:{title:"抽奖模拟",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"matching-cards",name:"MatchingCards",component:"/operations/matching-cards",meta:{title:"menus.games.matching",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"minesweeper",name:"Minesweeper",component:"/operations/minesweeper",meta:{title:"menus.games.minesweeper",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"game-pass-packages",name:"GamePassPackages",component:"/operations/game-pass-packages",meta:{title:"次数卡套餐",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"game-passes",name:"GamePasses",component:"/operations/game-passes",meta:{title:"menus.games.passes",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}}]},{path:"/douyin",name:"Douyin",component:"/index/index",meta:{title:"menus.douyin.title",icon:"ri:tiktok-fill",roles:["R_SUPER","R_ADMIN"]},children:[{path:"orders",name:"DouyinOrders",component:"/operations/douyin-orders",meta:{title:"menus.douyin.orders",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"product-rewards",name:"DouyinProductRewards",component:"/operations/douyin/product-rewards",meta:{title:"menus.douyin.rewards",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"livestream",name:"LivestreamActivities",component:"/operations/livestream",meta:{title:"menus.douyin.livestream",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"blacklist",name:"DouyinBlacklist",component:"/operations/blacklist",meta:{title:"menus.douyin.blacklist",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}}]},{path:"/task-center",name:"TaskCenter",component:"/index/index",meta:{title:"menus.taskCenter.title",icon:"ri:flag-line",roles:["R_SUPER","R_ADMIN"]},children:[{path:"tasks",name:"TaskCenterTasks",component:"/task-center/tasks",meta:{title:"menus.taskCenter.tasks",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"tasks/:id",name:"TaskCenterTaskDetail",component:"/task-center/task-detail",meta:{title:"任务详情",keepAlive:!1,isHide:!0,roles:["R_SUPER","R_ADMIN"]}}]},{path:"/activity",name:"Activity",meta:{title:"活动管理",icon:"ri:calendar-event-line"},component:"/index/index",children:[{path:"wizard",name:"ActivityWizard",meta:{title:"创建活动",keepAlive:!1,isHide:!0},component:"/activity/wizard"},{path:"manage",name:"ActivityManage",meta:{title:"活动列表",keepAlive:!1},component:"/activity/manage"},{path:"issues/:activityId",name:"ActivityIssues",meta:{title:"期数管理",keepAlive:!1,isHide:!0},component:"/activity/issues"},{path:"rewards/:activityId/:issueId",name:"ActivityRewards",meta:{title:"奖励管理",keepAlive:!1,isHide:!0},component:"/activity/rewards"},{path:"audit",name:"ActivityAudit",meta:{title:"抽奖审计",keepAlive:!1},component:"/activity/audit"}]},{path:"/product",name:"Product",meta:{title:"商品管理",icon:"ri:shopping-bag-3-line"},component:"/index/index",children:[{path:"categories",name:"ProductCategories",meta:{title:"商品分类",keepAlive:!1},component:"/product/categories"},{path:"list",name:"ProductList",meta:{title:"商品列表",keepAlive:!1},component:"/product/list"},{path:"synthesis",name:"SynthesisRecipes",meta:{title:"碎片合成",keepAlive:!1},component:"/product/synthesis"},{path:"synthesis/logs",name:"SynthesisLogs",meta:{title:"合成日志",keepAlive:!1},component:"/product/synthesis/logs"}]},{name:"PlayerManage",path:"/player-manage",component:"/index/index",meta:{title:"玩家管理",icon:"ri:user-line",roles:["R_SUPER","R_ADMIN"]},children:[{path:"index",name:"PlayerManageIndex",component:"/player-manage/index",meta:{title:"玩家管理",keepAlive:!0}}]},{path:"/orders",name:"Orders",meta:{title:"订单管理",icon:"ri:file-list-3-line",roles:["R_SUPER","R_ADMIN"]},component:"/index/index",children:[{path:"list",name:"OrdersList",meta:{title:"订单列表",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]},component:"/orders/list"},{path:"shipping-orders",name:"ShippingOrders",component:"/operations/shipping-orders",meta:{title:"发货订单",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"refunds",name:"RefundsList",component:"/refunds/list",meta:{title:"退款列表",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"reconcile",name:"ReconcileDiff",component:"/reconcile/diff",meta:{title:"对账差异",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}},{path:"shipping-stats",name:"ShippingStats",component:"/operations/shipping-stats",meta:{title:"发货统计",keepAlive:!0,roles:["R_SUPER","R_ADMIN"]}}]}];const uN={menuType:zE.LEFT,menuOpenWidth:230,menuOpen:!0,dualMenuShowText:!1,systemThemeType:qE.AUTO,systemThemeMode:qE.AUTO,menuThemeType:$E.DESIGN,systemThemeColor:HS.systemMainColor[0],showMenuButton:!0,showFastEnter:!0,showRefreshButton:!0,showCrumbs:!0,showWorkTab:!0,showLanguage:!0,showNprogress:!1,showSettingGuide:!0,showFestivalText:!1,watermarkVisible:!1,autoClose:!1,uniqueOpened:!0,colorWeak:!1,refresh:!1,holidayFireworksLoaded:!1,boxBorderMode:!0,pageTransition:"slide-left",tabStyle:"tab-default",customRadius:"0.75",containerWidth:KE.FULL,festivalDate:""},_N=VE("settingStore",()=>{const e=zt(uN.menuType),t=zt(uN.menuOpenWidth),n=zt(uN.menuOpen),a=zt(uN.dualMenuShowText),r=zt(uN.systemThemeType),i=zt(uN.systemThemeMode),o=zt(uN.menuThemeType),s=zt(uN.systemThemeColor),l=zt(uN.showMenuButton),c=zt(uN.showFastEnter),d=zt(uN.showRefreshButton),u=zt(uN.showCrumbs),_=zt(uN.showWorkTab),p=zt(uN.showLanguage),m=zt(uN.showNprogress),g=zt(uN.showSettingGuide),E=zt(uN.showFestivalText),f=zt(uN.watermarkVisible),S=zt(uN.autoClose),b=zt(uN.uniqueOpened),h=zt(uN.colorWeak),v=zt(uN.refresh),T=zt(uN.holidayFireworksLoaded),y=zt(uN.boxBorderMode),C=zt(uN.pageTransition),R=zt(uN.tabStyle),O=zt(uN.customRadius),N=zt(uN.containerWidth),A=zt(""),I=eo(()=>{const e=HS.themeList.filter(e=>e.theme===o.value);return w.value?HS.darkMenuStyles[0]:e[0]}),w=eo(()=>r.value===qE.DARK),D=eo(()=>t.value+"px"||uN.menuOpenWidth+"px"),x=eo(()=>O.value+"rem"||uN.customRadius+"rem"),L=eo(()=>{var e;return A.value!==(null==(e=Zy().currentFestivalData.value)?void 0:e.date)});return{menuType:e,menuOpenWidth:t,systemThemeType:r,systemThemeMode:i,menuThemeType:o,systemThemeColor:s,boxBorderMode:y,uniqueOpened:b,showMenuButton:l,showFastEnter:c,showRefreshButton:d,showCrumbs:u,autoClose:S,showWorkTab:_,showLanguage:p,showNprogress:m,colorWeak:h,showSettingGuide:g,pageTransition:C,tabStyle:R,menuOpen:n,refresh:v,watermarkVisible:f,customRadius:O,holidayFireworksLoaded:T,showFestivalText:E,festivalDate:A,dualMenuShowText:a,containerWidth:N,getMenuTheme:I,isDark:w,getMenuOpenWidth:D,getCustomRadius:x,isShowFireworks:L,switchMenuLayouts:t=>{e.value=t},setMenuOpenWidth:e=>{t.value=e},setGlopTheme:(e,t)=>{r.value=e,i.value=t,localStorage.setItem(yT.THEME_KEY,e)},switchMenuStyles:e=>{o.value=e},setElementTheme:e=>{s.value=e,HT(e)},setBorderMode:()=>{y.value=!y.value},setContainerWidth:e=>{N.value=e},setUniqueOpened:()=>{b.value=!b.value},setButton:()=>{l.value=!l.value},setFastEnter:()=>{c.value=!c.value},setAutoClose:()=>{S.value=!S.value},setShowRefreshButton:()=>{d.value=!d.value},setCrumbs:()=>{u.value=!u.value},setWorkTab:e=>{_.value=e},setLanguage:()=>{p.value=!p.value},setNprogress:()=>{m.value=!m.value},setColorWeak:()=>{h.value=!h.value},hideSettingGuide:()=>{g.value=!1},openSettingGuide:()=>{g.value=!0},setPageTransition:e=>{C.value=e},setTabStyle:e=>{R.value=e},setMenuOpen:e=>{n.value=e},reload:()=>{v.value=!v.value},setWatermarkVisible:e=>{f.value=e},setCustomRadius:e=>{O.value=e,document.documentElement.style.setProperty("--custom-radius",`${e}rem`)},setholidayFireworksLoaded:e=>{T.value=e},setShowFestivalText:e=>{E.value=e},setFestivalDate:e=>{A.value=e},setDualMenuShowText:e=>{a.value=e}}},{persist:{key:"setting",storage:localStorage}});function pN(e){const t={username:e.userName,password:e.password};return nN.post({url:"admin/login",params:t})}function mN(){return Promise.resolve({buttons:[],roles:[],userId:0,userName:"admin",email:""})}let gN=null;function EN(){gN&&(clearInterval(gN),gN=null)}let fN=null;const SN=new class{getMenuList(){return _(this,null,function*(){const{isFrontendMode:e}=pC();let t;return t=e.value?yield this.processFrontendMenu():yield this.processBackendMenu(),this.normalizeMenuPaths(t)})}processFrontendMenu(){return _(this,null,function*(){var e;const t=null==(e=CN().info)?void 0:e.roles;let n=[...dN];return t&&t.length>0&&(n=this.filterMenuByRoles(n,t)),this.filterEmptyMenus(n)})}processBackendMenu(){return _(this,null,function*(){const e=yield iN();return this.filterEmptyMenus(e)})}filterMenuByRoles(e,t){return e.reduce((e,n)=>{var a,r;const i=null==(a=n.meta)?void 0:a.roles;if(!i||i.some(e=>null==t?void 0:t.includes(e))){const a=l({},n);(null==(r=a.children)?void 0:r.length)&&(a.children=this.filterMenuByRoles(a.children,t)),e.push(a)}return e},[])}filterEmptyMenus(e){return e.map(e=>{if(e.children&&e.children.length>0){const t=this.filterEmptyMenus(e.children);return c(l({},e),{children:t})}return e}).filter(e=>{var t,n;return"children"in e||(!(!0!==(null==(t=e.meta)?void 0:t.isIframe)&&!(null==(n=e.meta)?void 0:n.link))||!(!e.component||""===e.component||e.component===sC.Layout))})}validateMenuList(e){return Array.isArray(e)&&e.length>0}normalizeMenuPaths(e,t=""){return e.map(e=>{var n;const a=this.buildFullPath(e.path||"",t),r=(null==(n=e.children)?void 0:n.length)?this.normalizeMenuPaths(e.children,a):e.children;return c(l({},e),{path:a,children:r})})}buildFullPath(e,t){if(!e)return"";if(e.startsWith("http://")||e.startsWith("https://"))return e;if(e.startsWith("/"))return e;if(t){return`${t.replace(/\/$/,"")}/${e.replace(/^\//,"")}`}return`/${e}`}};let bN=!1;function hN(e){fN=new _C(e),e.beforeEach((t,n,a)=>_(this,null,function*(){try{yield function(e,t,n,a){return _(this,null,function*(){const t=_N(),r=CN();if(t.showNprogress&&qS.start(),function(e,t,n){if(t.isLogin||e.path===sC.Login||function(e){const t=(e,n)=>e.some(e=>{const a=e.path.replace(/:[^/]+/g,"[^/]+").replace(/\*/g,".*");return!!new RegExp(`^${a}$`).test(n)||!!(e.children&&e.children.length>0)&&t(e.children,n)});return t(MS,e)}(e.path))return t.isLogin&&(gN&&clearInterval(gN),gN=setInterval(()=>{const e=CN();e.isLogin&&e.isUserInfoExpired()},3e5)),!0;return t.logOut(),EN(),n({name:"Login",query:{redirect:e.fullPath}}),!1}(e,r,n))if((null==fN?void 0:fN.isRegistered())||!r.isLogin){if(!function(e,t){if("/"!==e.path)return!1;const{homePath:n}=eC();if(n.value&&"/"!==n.value)return t({path:n.value,replace:!0}),!0;return!1}(e,n))return e.matched.length>0?((e=>{const t=tC(),{meta:n,path:a,name:r,params:i,query:o}=e;if(!n.isHideTab)if(nC(a)){const s=dC.getInstance().findByPath(e.path);(null==s?void 0:s.meta)&&t.openTab({title:s.meta.title,path:a,name:r,keepAlive:n.keepAlive,params:i,query:o})}else(_N().showWorkTab||a===eC().homePath.value)&&t.openTab({title:n.title,path:a,name:r,keepAlive:n.keepAlive,params:i,query:o,fixedTab:n.fixedTab})})(e),LT(e),void n()):void n({name:"Exception404"})}else yield function(e,t,n){return _(this,null,function*(){bN=!0,jT.showLoading();try{yield function(){return _(this,null,function*(){const e=CN();e.isUserInfoExpired();const t=yield mN();e.setUserInfo(t)})}();const a=yield SN.getMenuList();if(!SN.validateMenuList(a))throw new Error("获取菜单列表失败,请重新登录");null==fN||fN.register(a);const r=Jy();r.setMenuList(a),r.addRemoveRouteFns((null==fN?void 0:fN.getRemoveRouteFns())||[]),dC.getInstance().save(),tC().validateWorktabs(n),t({path:e.path,query:e.query,hash:e.hash,replace:!0})}catch(a){if(function(e){return(e=>e instanceof UO)(e)&&e.code===FO.unauthorized}(a))return vN(),void t(!1);t({name:"Exception500"})}})}(e,n,a)})}(t,0,a,e)}catch(n){vN(),a({name:"Exception500"})}})),function(e){e.afterEach(()=>{vN()})}(e)}function vN(){_N().showNprogress&&qS.done(),bN&&Tn(()=>{jT.hideLoading(),bN=!1})}const TN=function(e){const t=iS(e.routes,e),n=e.parseQuery||pS,a=e.stringifyQuery||mS,r=e.history,i=vS(),o=vS(),s=vS(),l=qt(If);let c=If;QE&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=JE.bind(null,e=>""+e),u=JE.bind(null,hf),_=JE.bind(null,vf);function p(e,i){if(i=ZE({},i||l.value),"string"==typeof e){const a=yf(n,e,i.path),o=t.resolve({path:a.path},i),s=r.createHref(a.fullPath);return ZE(a,o,{params:_(o.params),hash:vf(a.hash),redirectedFrom:void 0,href:s})}let o;if(null!=e.path)o=ZE({},e,{path:yf(n,e.path,i.path).path});else{const t=ZE({},e.params);for(const e in t)null==t[e]&&delete t[e];o=ZE({},e,{params:u(t)}),i.params=u(i.params)}const s=t.resolve(o,i),c=e.hash||"";s.params=d(_(s.params));const p=function(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}(a,ZE({},e,{hash:(m=c,ff(m).replace(pf,"{").replace(gf,"}").replace(uf,"^")),path:s.path}));var m;const g=r.createHref(p);return ZE({fullPath:p,hash:c,query:a===mS?gS(e.query):e.query||{}},s,{redirectedFrom:void 0,href:g})}function m(e){return"string"==typeof e?yf(n,e,l.value.path):ZE({},e)}function g(e,t){if(c!==e)return Wf(8,{from:t,to:e})}function E(e){return S(e)}function f(e){const t=e.matched[e.matched.length-1];if(t&&t.redirect){const{redirect:n}=t;let a="function"==typeof n?n(e):n;return"string"==typeof a&&(a=a.includes("?")||a.includes("#")?a=m(a):{path:a},a.params={}),ZE({query:e.query,hash:e.hash,params:null!=a.path?{}:e.params},a)}}function S(e,t){const n=c=p(e),r=l.value,i=e.state,o=e.force,s=!0===e.replace,d=f(n);if(d)return S(ZE(m(d),{state:"object"==typeof d?ZE({},i,d.state):i,force:o,replace:s}),t||n);const u=n;let _;return u.redirectedFrom=t,!o&&function(e,t,n){const a=t.matched.length-1,r=n.matched.length-1;return a>-1&&a===r&&Rf(t.matched[a],n.matched[r])&&Of(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}(a,r,n)&&(_=Wf(16,{to:u,from:r}),D(r,r,!0,!1)),(_?Promise.resolve(_):v(u,r)).catch(e=>Kf(e)?Kf(e,2)?e:w(e):I(e,u,r)).then(e=>{if(e){if(Kf(e,2))return S(ZE({replace:s},m(e.to),{state:"object"==typeof e.to?ZE({},i,e.to.state):i,force:o}),t||u)}else e=y(u,r,!0,s,i);return T(u,r,e),e})}function b(e,t){const n=g(e,t);return n?Promise.reject(n):Promise.resolve()}function h(e){const t=M.values().next().value;return t&&"function"==typeof t.runWithContext?t.runWithContext(e):e()}function v(e,t){let n;const[a,r,s]=function(e,t){const n=[],a=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;oRf(e,i))?a.push(i):n.push(i));const s=e.matched[o];s&&(t.matched.find(e=>Rf(e,s))||r.push(s))}return[n,a,r]}(e,t);n=yS(a.reverse(),"beforeRouteLeave",e,t);for(const i of a)i.leaveGuards.forEach(a=>{n.push(TS(a,e,t))});const l=b.bind(null,e,t);return n.push(l),k(n).then(()=>{n=[];for(const a of i.list())n.push(TS(a,e,t));return n.push(l),k(n)}).then(()=>{n=yS(r,"beforeRouteUpdate",e,t);for(const a of r)a.updateGuards.forEach(a=>{n.push(TS(a,e,t))});return n.push(l),k(n)}).then(()=>{n=[];for(const a of s)if(a.beforeEnter)if(tf(a.beforeEnter))for(const r of a.beforeEnter)n.push(TS(r,e,t));else n.push(TS(a.beforeEnter,e,t));return n.push(l),k(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=yS(s,"beforeRouteEnter",e,t,h),n.push(l),k(n))).then(()=>{n=[];for(const a of o.list())n.push(TS(a,e,t));return n.push(l),k(n)}).catch(e=>Kf(e,8)?e:Promise.reject(e))}function T(e,t,n){s.list().forEach(a=>h(()=>a(e,t,n)))}function y(e,t,n,a,i){const o=g(e,t);if(o)return o;const s=t===If,c=QE?history.state:{};n&&(a||s?r.replace(e.fullPath,ZE({scroll:s&&c&&c.scroll},i)):r.push(e.fullPath,i)),l.value=e,D(e,t,n,s),w()}let C;function R(){C||(C=r.listen((e,t,n)=>{if(!P.listening)return;const a=p(e),i=f(a);if(i)return void S(ZE(i,{replace:!0,force:!0}),a).catch(ef);c=a;const o=l.value;var s,d;QE&&(s=Bf(o.fullPath,n.delta),d=Ff(),Gf.set(s,d)),v(a,o).catch(e=>Kf(e,12)?e:Kf(e,2)?(S(ZE(m(e.to),{force:!0}),a).then(e=>{Kf(e,20)&&!n.delta&&n.type===wf.pop&&r.go(-1,!1)}).catch(ef),Promise.reject()):(n.delta&&r.go(-n.delta,!1),I(e,a,o))).then(e=>{(e=e||y(a,o,!1))&&(n.delta&&!Kf(e,8)?r.go(-n.delta,!1):n.type===wf.pop&&Kf(e,20)&&r.go(-1,!1)),T(a,o,e)}).catch(ef)}))}let O,N=vS(),A=vS();function I(e,t,n){w(e);const a=A.list();return a.length&&a.forEach(a=>a(e,t,n)),Promise.reject(e)}function w(e){return O||(O=!e,R(),N.list().forEach(([t,n])=>e?n(e):t()),N.reset()),e}function D(t,n,a,r){const{scrollBehavior:i}=e;if(!QE||!i)return Promise.resolve();const o=!a&&function(e){const t=Gf.get(e);return Gf.delete(e),t}(Bf(t.fullPath,0))||(r||!a)&&history.state&&history.state.scroll||null;return Tn().then(()=>i(t,n,o)).then(e=>e&&Uf(e)).catch(e=>I(e,t,n))}const x=e=>r.go(e);let L;const M=new Set,P={currentRoute:l,listening:!0,addRoute:function(e,n){let a,r;return zf(e)?(a=t.getRecordMatcher(e),r=n):r=e,t.addRoute(r,a)},removeRoute:function(e){const n=t.getRecordMatcher(e);n&&t.removeRoute(n)},clearRoutes:t.clearRoutes,hasRoute:function(e){return!!t.getRecordMatcher(e)},getRoutes:function(){return t.getRoutes().map(e=>e.record)},resolve:p,options:e,push:E,replace:function(e){return E(ZE(m(e),{replace:!0}))},go:x,back:()=>x(-1),forward:()=>x(1),beforeEach:i.add,beforeResolve:o.add,afterEach:s.add,onError:A.add,isReady:function(){return O&&l.value!==If?Promise.resolve():new Promise((e,t)=>{N.add([e,t])})},install(e){e.component("RouterLink",RS),e.component("RouterView",IS),e.config.globalProperties.$router=this,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>Kt(l)}),QE&&!L&&l.value===If&&(L=!0,E(r.location).catch(e=>{}));const t={};for(const a in If)Object.defineProperty(t,a,{get:()=>l.value[a],enumerable:!0});e.provide(SS,this),e.provide(bS,Dt(t)),e.provide(hS,l);const n=e.unmount;M.add(e),e.unmount=function(){M.delete(e),M.size<1&&(c=If,C&&C(),C=null,l.value=If,L=!1,O=!1),n()}}};function k(e){return e.reduce((e,t)=>e.then(()=>h(t)),Promise.resolve())}return P}({history:function(e){const t=Hf(e=Mf(e)),n=function(e,t,n,a){let r=[],i=[],o=null;const s=({state:i})=>{const s=Yf(e,location),l=n.value,c=t.value;let d=0;if(i){if(n.value=s,t.value=i,o&&o===l)return void(o=null);d=c?i.position-c.position:0}else a(s);r.forEach(e=>{e(n.value,l,{delta:d,type:wf.pop,direction:d?d>0?xf.forward:xf.back:xf.unknown})})};function l(){const{history:e}=window;e.state&&e.replaceState(ZE({},e.state,{scroll:Ff()}),"")}return window.addEventListener("popstate",s),window.addEventListener("beforeunload",l,{passive:!0}),{pauseListeners:function(){o=n.value},listen:function(e){r.push(e);const t=()=>{const t=r.indexOf(e);t>-1&&r.splice(t,1)};return i.push(t),t},destroy:function(){for(const e of i)e();i=[],window.removeEventListener("popstate",s),window.removeEventListener("beforeunload",l)}}}(e,t.state,t.location,t.replace),a=ZE({location:"",base:e,go:function(e,t=!0){t||n.pauseListeners(),history.go(e)},createHref:kf.bind(null,e)},t,n);return Object.defineProperty(a,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(a,"state",{enumerable:!0,get:()=>t.state.value}),a}("/admin/"),routes:MS});const yN="",CN=VE("userStore",()=>{const e=zt(WE.ZH),t=zt(!1),n=zt(!1),a=zt(""),r=zt({}),i=zt([]),o=zt(""),s=zt(""),l=eo(()=>r.value),c=eo(()=>_N().$state),d=eo(()=>tC().$state);return{language:e,isLogin:t,isLock:n,lockPassword:a,info:r,searchHistory:i,accessToken:o,refreshToken:s,getUserInfo:l,getSettingState:c,getWorktabState:d,setUserInfo:e=>{r.value=e,localStorage.setItem("user_info_expire_time",String(Date.now()+18e5))},setLoginStatus:e=>{t.value=e},setLanguage:t=>{LT(TN.currentRoute.value),e.value=t},setSearchHistory:e=>{i.value=e},setLockStatus:e=>{n.value=e},setLockPassword:e=>{a.value=e},setToken:(e,t)=>{o.value=e,t&&(s.value=t)},isUserInfoExpired:()=>{const e=localStorage.getItem("user_info_expire_time");return!e||Date.now()>Number(e)},refreshUserInfoExpireTime:()=>{localStorage.setItem("user_info_expire_time",String(Date.now()+18e5))},logOut:()=>{r.value={},t.value=!1,n.value=!1,a.value="",o.value="",s.value="",localStorage.removeItem("user_info_expire_time"),tC().opened=[],sessionStorage.removeItem("iframeRoutes"),Jy().setHomePath(""),function(){null==fN||fN.unregister(),dC.getInstance().clear();const e=Jy();e.removeAllDynamicRoutes(),e.setMenuList([]),EN()}(),TN.push({name:"Login"})}}},{persist:{key:"user",storage:localStorage}});var RN={name:"zh-cn",el:{breadcrumb:{label:"面包屑"},colorpicker:{confirm:"确定",clear:"清空",defaultLabel:"颜色选择器",description:"当前颜色 {color},按 Enter 键选择新颜色",alphaLabel:"选择透明度的值"},datepicker:{now:"此刻",today:"今天",cancel:"取消",clear:"清空",confirm:"确定",dateTablePrompt:"使用方向键与 Enter 键可选择日期",monthTablePrompt:"使用方向键与 Enter 键可选择月份",yearTablePrompt:"使用方向键与 Enter 键可选择年份",selectedDate:"已选日期",selectDate:"选择日期",selectTime:"选择时间",startDate:"开始日期",startTime:"开始时间",endDate:"结束日期",endTime:"结束时间",prevYear:"前一年",nextYear:"后一年",prevMonth:"上个月",nextMonth:"下个月",year:"年",month1:"1 月",month2:"2 月",month3:"3 月",month4:"4 月",month5:"5 月",month6:"6 月",month7:"7 月",month8:"8 月",month9:"9 月",month10:"10 月",month11:"11 月",month12:"12 月",weeks:{sun:"日",mon:"一",tue:"二",wed:"三",thu:"四",fri:"五",sat:"六"},weeksFull:{sun:"星期日",mon:"星期一",tue:"星期二",wed:"星期三",thu:"星期四",fri:"星期五",sat:"星期六"},months:{jan:"一月",feb:"二月",mar:"三月",apr:"四月",may:"五月",jun:"六月",jul:"七月",aug:"八月",sep:"九月",oct:"十月",nov:"十一月",dec:"十二月"}},inputNumber:{decrease:"减少数值",increase:"增加数值"},select:{loading:"加载中",noMatch:"无匹配数据",noData:"无数据",placeholder:"请选择"},dropdown:{toggleDropdown:"切换下拉选项"},mention:{loading:"加载中"},cascader:{noMatch:"无匹配数据",loading:"加载中",placeholder:"请选择",noData:"暂无数据"},pagination:{goto:"前往",pagesize:"条/页",total:"共 {total} 条",pageClassifier:"页",page:"页",prev:"上一页",next:"下一页",currentPage:"第 {pager} 页",prevPages:"向前 {pager} 页",nextPages:"向后 {pager} 页",deprecationWarning:"你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档"},dialog:{close:"关闭此对话框"},drawer:{close:"关闭此对话框"},messagebox:{title:"提示",confirm:"确定",cancel:"取消",error:"输入的数据不合法!",close:"关闭此对话框"},upload:{deleteTip:"按 Delete 键可删除",delete:"删除",preview:"查看图片",continue:"继续上传"},slider:{defaultLabel:"滑块介于 {min} 至 {max}",defaultRangeStartLabel:"选择起始值",defaultRangeEndLabel:"选择结束值"},table:{emptyText:"暂无数据",confirmFilter:"筛选",resetFilter:"重置",clearFilter:"全部",sumText:"合计"},tour:{next:"下一步",previous:"上一步",finish:"结束导览",close:"关闭此对话框"},tree:{emptyText:"暂无数据"},transfer:{noMatch:"无匹配数据",noData:"无数据",titles:["列表 1","列表 2"],filterPlaceholder:"请输入搜索内容",noCheckedFormat:"共 {total} 项",hasCheckedFormat:"已选 {checked}/{total} 项"},image:{error:"加载失败"},pageHeader:{title:"返回"},popconfirm:{confirmButtonText:"确定",cancelButtonText:"取消"},carousel:{leftArrow:"上一张幻灯片",rightArrow:"下一张幻灯片",indicator:"幻灯片切换至索引 {index}"}}};function ON(){const e=_N(),t=(t,n)=>{(()=>{const e=document.createElement("style");e.setAttribute("id","disable-transitions"),e.textContent="* { transition: none !important; }",document.head.appendChild(e)})();const a=document.getElementsByTagName("html")[0],r=t===qE.DARK;n||(n=t);const i=HS.systemThemeStyles[t];i&&a.setAttribute("class",i.className);const o=e.systemThemeColor;for(let e=1;e<=9;e++)document.documentElement.style.setProperty(`--el-color-primary-light-${e}`,r?`${VT(o,e/10)}`:`${YT(o,e/10)}`);e.setGlopTheme(t,n),requestAnimationFrame(()=>{requestAnimationFrame(()=>{(()=>{const e=document.getElementById("disable-transitions");e&&e.remove()})()})})},n=Iy(),a=()=>{const e=n.value?qE.DARK:qE.LIGHT;t(e,qE.AUTO)};return{setSystemTheme:t,setSystemAutoTheme:a,switchThemeStyles:e=>{e===qE.AUTO?a():t(e)},prefersDark:n}}const{LIGHT:NN,DARK:AN}=qE,IN=e=>{const t=e.clientX,n=e.clientY,a=Math.hypot(Math.max(t,innerWidth-t),Math.max(n,innerHeight-n));document.documentElement.style.setProperty("--x",t+"px"),document.documentElement.style.setProperty("--y",n+"px"),document.documentElement.style.setProperty("--r",a+"px"),document.startViewTransition?document.startViewTransition(()=>wN()):wN()},wN=()=>{ON().switchThemeStyles(_N().systemThemeType===NN?AN:NN),eC().refresh()},DN=e=>{const t=document.body;e?t.classList.add("theme-change"):setTimeout(()=>{t.classList.remove("theme-change")},300)},xN=la({__name:"App",setup(e){const t=CN(),{language:n}=HE(t),a={zh:RN,en:Du};return Ia(()=>{DN(!0),function(){const e=_N(),t=Iy(),n=()=>{const n=document.getElementsByTagName("html")[0];let a=e.systemThemeType;e.systemThemeMode===qE.AUTO&&(a=t.value?qE.DARK:qE.LIGHT,e.systemThemeType=a);const r=HS.systemThemeStyles[a];r&&n.setAttribute("class",r.className),HT(e.systemThemeColor),document.documentElement.style.setProperty("--custom-radius",`${e.customRadius}rem`)};n(),e.systemThemeMode===qE.AUTO&&Kr(t,()=>{e.systemThemeMode===qE.AUTO&&n()},{immediate:!1})}()}),wa(()=>{!function(e=!1){CT.checkCompatibility(e)}(),DN(!1),function(){_(this,null,function*(){yield Hy.processUpgrade()})}()}),(e,t)=>{const r=Ga("RouterView"),i=Ig;return Ei(),vi(i,{size:"default",locale:a[Kt(n)],"z-index":3e3},{default:Ln(()=>[Ni(r)]),_:1},8,["locale"])}}}),LN=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,MN=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,PN=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function kN(e,t){if(!("__proto__"===e||"constructor"===e&&t&&"object"==typeof t&&"prototype"in t))return t}function FN(e,t){if(null==e)return;let n=e;for(let a=0;a1&&(t=UN("object"==typeof e&&null!==e&&Object.prototype.hasOwnProperty.call(e,a)?e[a]:Number.isInteger(Number(n[1]))?[]:{},t,Array.prototype.slice.call(n,1))),Number.isInteger(Number(a))&&Array.isArray(e)?e.slice()[a]:Object.assign({},e,{[a]:t})}function BN(e,t){if(null==e||0===t.length)return e;if(1===t.length){if(null==e)return e;if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.slice.call(e,0).splice(t[0],1);const n={};for(const t in e)n[t]=e[t];return delete n[t[0]],n}if(null==e[t[0]]){if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.concat.call([],e);const n={};for(const t in e)n[t]=e[t];return n}return UN(e,BN(e[t[0]],Array.prototype.slice.call(t,1)),[t[0]])}function GN(e,t){return t.map(e=>e.split(".")).map(t=>[t,FN(e,t)]).filter(e=>void 0!==e[1]).reduce((e,t)=>UN(e,t[1],t[0]),{})}function YN(e,t){return t.map(e=>e.split(".")).reduce((e,t)=>BN(e,t),e)}function VN(e,{storage:t,serializer:n,key:a,debug:r,pick:i,omit:o,beforeHydrate:s,afterHydrate:l},c,d=!0){try{d&&(null==s||s(c));const r=t.getItem(a);if(r){const t=n.deserialize(r),a=i?GN(t,i):t,s=o?YN(a,o):a;e.$patch(s)}d&&(null==l||l(c))}catch(u){}}function HN(e,{storage:t,serializer:n,key:a,debug:r,pick:i,omit:o}){try{const r=i?GN(e,i):e,s=o?YN(r,o):r,l=n.serialize(s);t.setItem(a,l)}catch(s){}}const zN=function(){const e=be(!0),t=e.run(()=>zt({}));let n=[],a=[];const r=Gt({install(e){RE(r),r._a=e,e.provide(OE,r),e.config.globalProperties.$pinia=r,a.forEach(e=>n.push(e)),a=[]},use(e){return this._a?n.push(e):a.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}(),qN=new RT;zN.use(function(e={}){return function(t){var n;!function(e,t,n){const{pinia:a,store:r,options:{persist:i=n}}=e;if(!i)return;if(!(r.$id in a.state.value)){const e=a._s.get(r.$id.replace("__hot:",""));return void(e&&Promise.resolve().then(()=>e.$persist()))}const o=(Array.isArray(i)?i:!0===i?[{}]:[i]).map(t);r.$hydrate=({runHooks:t=!0}={})=>{o.forEach(n=>{VN(r,n,e,t)})},r.$persist=()=>{o.forEach(e=>{HN(r.$state,e)})},o.forEach(t=>{VN(r,t,e),r.$subscribe((e,n)=>HN(n,t),{detached:!0})})}(t,n=>{var a,r,i,o,s,l,c;return{key:(e.key?e.key:e=>e)(null!=(a=n.key)?a:t.store.$id),debug:null!=(i=null!=(r=n.debug)?r:e.debug)&&i,serializer:null!=(s=null!=(o=n.serializer)?o:e.serializer)?s:{serialize:e=>JSON.stringify(e),deserialize:e=>function(e,t={}){if("string"!=typeof e)return e;if('"'===e[0]&&'"'===e[e.length-1]&&-1===e.indexOf("\\"))return e.slice(1,-1);const n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case"true":return!0;case"false":return!1;case"undefined":return;case"null":return null;case"nan":return Number.NaN;case"infinity":return Number.POSITIVE_INFINITY;case"-infinity":return Number.NEGATIVE_INFINITY}if(!PN.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(LN.test(e)||MN.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,kN)}return JSON.parse(e)}catch(a){if(t.strict)throw a;return e}}(e)},storage:null!=(c=null!=(l=n.storage)?l:e.storage)?c:window.localStorage,beforeHydrate:n.beforeHydrate,afterHydrate:n.afterHydrate,pick:n.pick,omit:n.omit}},null!=(n=e.auto)&&n)}}({key:e=>qN.getStorageKey(e),storage:localStorage,serializer:{serialize:JSON.stringify,deserialize:JSON.parse}}));function $N(e,t){(TN.currentRoute.value.meta.authList||[]).some(e=>e.authMark===t.value)||function(e){e.parentNode&&e.parentNode.removeChild(e)}(e)}const jN={mounted:$N,updated:$N};function WN(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const n=e[t],a=typeof n;"object"!==a&&"function"!==a||Object.isFrozen(n)||WN(n)}),e}class KN{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function QN(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function XN(e,...t){const n=Object.create(null);for(const a in e)n[a]=e[a];return t.forEach(function(e){for(const t in e)n[t]=e[t]}),n}const ZN=e=>!!e.scope;class JN{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=QN(e)}openNode(e){if(!ZN(e))return;const t=((e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${"_".repeat(t+1)}`)].join(" ")}return`${t}${e}`})(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){ZN(e)&&(this.buffer+="")}value(){return this.buffer}span(e){this.buffer+=``}}const eA=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class tA{constructor(){this.rootNode=eA(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t=eA({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{tA._collapse(e)}))}}class nA extends tA{constructor(e){super(),this.options=e}addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){const n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new JN(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function aA(e){return e?"string"==typeof e?e:e.source:null}function rA(e){return sA("(?=",e,")")}function iA(e){return sA("(?:",e,")*")}function oA(e){return sA("(?:",e,")?")}function sA(...e){return e.map(e=>aA(e)).join("")}function lA(...e){const t=function(e){const t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}(e);return"("+(t.capture?"":"?:")+e.map(e=>aA(e)).join("|")+")"}function cA(e){return new RegExp(e.toString()+"|").exec("").length-1}const dA=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function uA(e,{joinWith:t}){let n=0;return e.map(e=>{n+=1;const t=n;let a=aA(e),r="";for(;a.length>0;){const e=dA.exec(a);if(!e){r+=a;break}r+=a.substring(0,e.index),a=a.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?r+="\\"+String(Number(e[1])+t):(r+=e[0],"("===e[0]&&n++)}return r}).map(e=>`(${e})`).join(t)}const _A="[a-zA-Z]\\w*",pA="[a-zA-Z_]\\w*",mA="\\b\\d+(\\.\\d+)?",gA="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",EA="\\b(0b[01]+)",fA={begin:"\\\\[\\s\\S]",relevance:0},SA={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[fA]},bA={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[fA]},hA=function(e,t,n={}){const a=XN({scope:"comment",begin:e,end:t,contains:[]},n);a.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const r=lA("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return a.contains.push({begin:sA(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),a},vA=hA("//","$"),TA=hA("/\\*","\\*/"),yA=hA("#","$"),CA={scope:"number",begin:mA,relevance:0},RA={scope:"number",begin:gA,relevance:0},OA={scope:"number",begin:EA,relevance:0},NA={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[fA,{begin:/\[/,end:/\]/,relevance:0,contains:[fA]}]},AA={scope:"title",begin:_A,relevance:0},IA={scope:"title",begin:pA,relevance:0},wA={begin:"\\.\\s*"+pA,relevance:0};var DA=Object.freeze({__proto__:null,APOS_STRING_MODE:SA,BACKSLASH_ESCAPE:fA,BINARY_NUMBER_MODE:OA,BINARY_NUMBER_RE:EA,COMMENT:hA,C_BLOCK_COMMENT_MODE:TA,C_LINE_COMMENT_MODE:vA,C_NUMBER_MODE:RA,C_NUMBER_RE:gA,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:yA,IDENT_RE:_A,MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:wA,NUMBER_MODE:CA,NUMBER_RE:mA,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},QUOTE_STRING_MODE:bA,REGEXP_MODE:NA,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=sA(t,/.*\b/,e.binary,/\b.*/)),XN({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},TITLE_MODE:AA,UNDERSCORE_IDENT_RE:pA,UNDERSCORE_TITLE_MODE:IA});function xA(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function LA(e,t){void 0!==e.className&&(e.scope=e.className,delete e.className)}function MA(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=xA,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function PA(e,t){Array.isArray(e.illegal)&&(e.illegal=lA(...e.illegal))}function kA(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function FA(e,t){void 0===e.relevance&&(e.relevance=1)}const UA=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=sA(n.beforeMatch,rA(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},BA=["of","and","for","in","not","or","if","then","parent","list","value"];function GA(e,t,n="keyword"){const a=Object.create(null);return"string"==typeof e?r(n,e.split(" ")):Array.isArray(e)?r(n,e):Object.keys(e).forEach(function(n){Object.assign(a,GA(e[n],t,n))}),a;function r(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach(function(t){const n=t.split("|");a[n[0]]=[e,YA(n[0],n[1])]})}}function YA(e,t){return t?Number(t):function(e){return BA.includes(e.toLowerCase())}(e)?0:1}const VA={},HA=(e,t)=>{VA[`${e}/${t}`]||(VA[`${e}/${t}`]=!0)},zA=new Error;function qA(e,t,{key:n}){let a=0;const r=e[n],i={},o={};for(let s=1;s<=t.length;s++)o[s+a]=r[s],i[s+a]=!0,a+=cA(t[s-1]);e[n]=o,e[n]._emit=i,e[n]._multi=!0}function $A(e){!function(e){e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,delete e.scope)}(e),"string"==typeof e.beginScope&&(e.beginScope={_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope}),function(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw zA;if("object"!=typeof e.beginScope||null===e.beginScope)throw zA;qA(e,e.begin,{key:"beginScope"}),e.begin=uA(e.begin,{joinWith:""})}}(e),function(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw zA;if("object"!=typeof e.endScope||null===e.endScope)throw zA;qA(e,e.end,{key:"endScope"}),e.end=uA(e.end,{joinWith:""})}}(e)}function jA(e){function t(t,n){return new RegExp(aA(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(n?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=cA(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=t(uA(e,{joinWith:"|"}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const n=t.findIndex((e,t)=>t>0&&void 0!==e),a=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,a)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=XN(e.classNameAliases||{}),function n(r,i){const o=r;if(r.isCompiled)return o;[LA,kA,$A,UA].forEach(e=>e(r,i)),e.compilerExtensions.forEach(e=>e(r,i)),r.__beforeBegin=null,[MA,PA,FA].forEach(e=>e(r,i)),r.isCompiled=!0;let s=null;return"object"==typeof r.keywords&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords),s=r.keywords.$pattern,delete r.keywords.$pattern),s=s||/\w+/,r.keywords&&(r.keywords=GA(r.keywords,e.case_insensitive)),o.keywordPatternRe=t(s,!0),i&&(r.begin||(r.begin=/\B|\b/),o.beginRe=t(o.begin),r.end||r.endsWithParent||(r.end=/\B|\b/),r.end&&(o.endRe=t(o.end)),o.terminatorEnd=aA(o.end)||"",r.endsWithParent&&i.terminatorEnd&&(o.terminatorEnd+=(r.end?"|":"")+i.terminatorEnd)),r.illegal&&(o.illegalRe=t(r.illegal)),r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map(function(e){return function(e){e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return XN(e,{variants:null},t)}));if(e.cachedVariants)return e.cachedVariants;if(WA(e))return XN(e,{starts:e.starts?XN(e.starts):null});if(Object.isFrozen(e))return XN(e);return e}("self"===e?r:e)})),r.contains.forEach(function(e){n(e,o)}),r.starts&&n(r.starts,i),o.matcher=function(e){const t=new a;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:"begin"})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(o),o}(e)}function WA(e){return!!e&&(e.endsWithParent||WA(e.starts))}class KA extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}const QA=QN,XA=XN,ZA=Symbol("nomatch"),JA=function(e){const t=Object.create(null),n=Object.create(null),a=[];let r=!0;const i="Could not find the language '{}', did you forget to load/include a language module?",o={disableAutodetect:!0,name:"Plain text",contains:[]};let s={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:nA};function l(e){return s.noHighlightRe.test(e)}function c(e,t,n){let a="",r="";"object"==typeof t?(a=e,n=t.ignoreIllegals,r=t.language):(HA("10.7.0","highlight(lang, code, ...args) has been deprecated."),HA("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),r=e,a=t),void 0===n&&(n=!0);const i={code:a,language:r};S("before:highlight",i);const o=i.result?i.result:d(i.language,i.code,n);return o.code=i.code,S("after:highlight",o),o}function d(e,n,a,o){const l=Object.create(null);function c(e,t){return e.keywords[t]}function _(){if(!O.keywords)return void A.addText(I);let e=0;O.keywordPatternRe.lastIndex=0;let t=O.keywordPatternRe.exec(I),n="";for(;t;){n+=I.substring(e,t.index);const a=y.case_insensitive?t[0].toLowerCase():t[0],r=c(O,a);if(r){const[e,i]=r;if(A.addText(n),n="",l[a]=(l[a]||0)+1,l[a]<=7&&(w+=i),e.startsWith("_"))n+=t[0];else{const n=y.classNameAliases[e]||e;m(t[0],n)}}else n+=t[0];e=O.keywordPatternRe.lastIndex,t=O.keywordPatternRe.exec(I)}n+=I.substring(e),A.addText(n)}function p(){null!=O.subLanguage?function(){if(""===I)return;let e=null;if("string"==typeof O.subLanguage){if(!t[O.subLanguage])return void A.addText(I);e=d(O.subLanguage,I,!0,N[O.subLanguage]),N[O.subLanguage]=e._top}else e=u(I,O.subLanguage.length?O.subLanguage:null);O.relevance>0&&(w+=e.relevance),A.__addSublanguage(e._emitter,e.language)}():_(),I=""}function m(e,t){""!==e&&(A.startScope(t),A.addText(e),A.endScope())}function E(e,t){let n=1;const a=t.length-1;for(;n<=a;){if(!e._emit[n]){n++;continue}const a=y.classNameAliases[e[n]]||e[n],r=t[n];a?m(r,a):(I=r,_(),I=""),n++}}function f(e,t){return e.scope&&"string"==typeof e.scope&&A.openNode(y.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(m(I,y.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),I=""):e.beginScope._multi&&(E(e.beginScope,t),I="")),O=Object.create(e,{parent:{value:O}}),O}function S(e,t,n){let a=function(e,t){const n=e&&e.exec(t);return n&&0===n.index}(e.endRe,n);if(a){if(e["on:end"]){const n=new KN(e);e["on:end"](t,n),n.isMatchIgnored&&(a=!1)}if(a){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return S(e.parent,t,n)}function b(e){return 0===O.matcher.regexIndex?(I+=e[0],1):(L=!0,0)}function h(e){const t=e[0],a=n.substring(e.index),r=S(O,e,a);if(!r)return ZA;const i=O;O.endScope&&O.endScope._wrap?(p(),m(t,O.endScope._wrap)):O.endScope&&O.endScope._multi?(p(),E(O.endScope,e)):i.skip?I+=t:(i.returnEnd||i.excludeEnd||(I+=t),p(),i.excludeEnd&&(I=t));do{O.scope&&A.closeNode(),O.skip||O.subLanguage||(w+=O.relevance),O=O.parent}while(O!==r.parent);return r.starts&&f(r.starts,e),i.returnEnd?0:t.length}let v={};function T(t,i){const o=i&&i[0];if(I+=t,null==o)return p(),0;if("begin"===v.type&&"end"===i.type&&v.index===i.index&&""===o){if(I+=n.slice(i.index,i.index+1),!r){const t=new Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=v.rule,t}return 1}if(v=i,"begin"===i.type)return function(e){const t=e[0],n=e.rule,a=new KN(n),r=[n.__beforeBegin,n["on:begin"]];for(const i of r)if(i&&(i(e,a),a.isMatchIgnored))return b(t);return n.skip?I+=t:(n.excludeBegin&&(I+=t),p(),n.returnBegin||n.excludeBegin||(I=t)),f(n,e),n.returnBegin?0:t.length}(i);if("illegal"===i.type&&!a){const e=new Error('Illegal lexeme "'+o+'" for mode "'+(O.scope||"")+'"');throw e.mode=O,e}if("end"===i.type){const e=h(i);if(e!==ZA)return e}if("illegal"===i.type&&""===o)return I+="\n",1;if(x>1e5&&x>3*i.index){throw new Error("potential infinite loop, way more iterations than matches")}return I+=o,o.length}const y=g(e);if(!y)throw i.replace("{}",e),new Error('Unknown language: "'+e+'"');const C=jA(y);let R="",O=o||C;const N={},A=new s.__emitter(s);!function(){const e=[];for(let t=O;t!==y;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>A.openNode(e))}();let I="",w=0,D=0,x=0,L=!1;try{if(y.__emitTokens)y.__emitTokens(n,A);else{for(O.matcher.considerAll();;){x++,L?L=!1:O.matcher.considerAll(),O.matcher.lastIndex=D;const e=O.matcher.exec(n);if(!e)break;const t=T(n.substring(D,e.index),e);D=e.index+t}T(n.substring(D))}return A.finalize(),R=A.toHTML(),{language:e,value:R,relevance:w,illegal:!1,_emitter:A,_top:O}}catch(M){if(M.message&&M.message.includes("Illegal"))return{language:e,value:QA(n),illegal:!0,relevance:0,_illegalBy:{message:M.message,index:D,context:n.slice(D-100,D+100),mode:M.mode,resultSoFar:R},_emitter:A};if(r)return{language:e,value:QA(n),illegal:!1,relevance:0,errorRaised:M,_emitter:A,_top:O};throw M}}function u(e,n){n=n||s.languages||Object.keys(t);const a=function(e){const t={value:QA(e),illegal:!1,relevance:0,_top:o,_emitter:new s.__emitter(s)};return t._emitter.addText(e),t}(e),r=n.filter(g).filter(f).map(t=>d(t,e,!1));r.unshift(a);const i=r.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(g(e.language).supersetOf===t.language)return 1;if(g(t.language).supersetOf===e.language)return-1}return 0}),[l,c]=i,u=l;return u.secondBest=c,u}function _(e){let t=null;const a=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const n=s.languageDetectRe.exec(t);if(n){const e=g(n[1]);return e||i.replace("{}",n[1]),e?n[1]:"no-highlight"}return t.split(/\s+/).find(e=>l(e)||g(e))}(e);if(l(a))return;if(S("before:highlightElement",{el:e,language:a}),e.dataset.highlighted)return;if(e.children.length>0&&(s.ignoreUnescapedHTML,s.throwUnescapedHTML)){throw new KA("One of your code blocks includes unescaped HTML.",e.innerHTML)}t=e;const r=t.textContent,o=a?c(r,{language:a,ignoreIllegals:!0}):u(r);e.innerHTML=o.value,e.dataset.highlighted="yes",function(e,t,a){const r=t&&n[t]||a;e.classList.add("hljs"),e.classList.add(`language-${r}`)}(e,a,o.language),e.result={language:o.language,re:o.relevance,relevance:o.relevance},o.secondBest&&(e.secondBest={language:o.secondBest.language,relevance:o.secondBest.relevance}),S("after:highlightElement",{el:e,result:o,text:r})}let p=!1;function m(){if("loading"===document.readyState)return p||window.addEventListener("DOMContentLoaded",function(){m()},!1),void(p=!0);document.querySelectorAll(s.cssSelector).forEach(_)}function g(e){return e=(e||"").toLowerCase(),t[e]||t[n[e]]}function E(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach(e=>{n[e.toLowerCase()]=t})}function f(e){const t=g(e);return t&&!t.disableAutodetect}function S(e,t){const n=e;a.forEach(function(e){e[n]&&e[n](t)})}Object.assign(e,{highlight:c,highlightAuto:u,highlightAll:m,highlightElement:_,highlightBlock:function(e){return HA("10.7.0","highlightBlock will be removed entirely in v12.0"),HA("10.7.0","Please use highlightElement now."),_(e)},configure:function(e){s=XA(s,e)},initHighlighting:()=>{m(),HA("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){m(),HA("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(n,a){let i=null;try{i=a(e)}catch(s){if("Language definition for '{}' could not be registered.".replace("{}",n),!r)throw s;i=o}i.name||(i.name=n),t[n]=i,i.rawDefinition=a.bind(null,e),i.aliases&&E(i.aliases,{languageName:n})},unregisterLanguage:function(e){delete t[e];for(const t of Object.keys(n))n[t]===e&&delete n[t]},listLanguages:function(){return Object.keys(t)},getLanguage:g,registerAliases:E,autoDetection:f,inherit:XA,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}(e),a.push(e)},removePlugin:function(e){const t=a.indexOf(e);-1!==t&&a.splice(t,1)}}),e.debugMode=function(){r=!1},e.safeMode=function(){r=!0},e.versionString="11.11.1",e.regex={concat:sA,lookahead:rA,either:lA,optional:oA,anyNumberOfTimes:iA};for(const b in DA)"object"==typeof DA[b]&&WN(DA[b]);return Object.assign(e,DA),e},eI=JA({});eI.newInstance=()=>JA({});var tI,nI,aI,rI,iI,oI,sI,lI,cI,dI,uI,_I,pI,mI,gI,EI,fI,SI,bI,hI,vI,TI,yI,CI,RI,OI,NI,AI,II,wI,DI,xI,LI,MI,PI,kI,FI,UI,BI,GI,YI,VI,HI,zI,qI,$I,jI,WI,KI,QI,XI,ZI,JI,ew,tw,nw,aw,rw,iw,ow,sw,lw,cw,dw,uw,_w,pw,mw,gw,Ew,fw,Sw,bw,hw,vw,Tw,yw,Cw,Rw,Ow,Nw,Aw,Iw,ww,Dw,xw,Lw,Mw,Pw,kw,Fw,Uw,Bw,Gw,Yw,Vw,Hw,zw,qw,$w,jw,Ww,Kw,Qw,Xw,Zw,Jw,eD,tD,nD,aD,rD,iD,oD,sD,lD,cD,dD,uD,_D,pD,mD,gD,ED,fD,SD,bD,hD,vD,TD,yD,CD,RD,OD,ND,AD,ID,wD,DD,xD,LD,MD,PD,kD,FD,UD,BD,GD,YD,VD,HD,zD,qD,$D,jD,WD,KD,QD,XD,ZD,JD,ex,tx,nx,ax,rx,ix,ox,sx,lx,cx,dx,ux,_x,px,mx,gx,Ex,fx,Sx,bx,hx,vx,Tx,yx,Cx,Rx,Ox,Nx,Ax,Ix,wx,Dx,xx,Lx,Mx,Px,kx,Fx,Ux,Bx,Gx,Yx,Vx,Hx,zx,qx,$x,jx,Wx,Kx,Qx,Xx,Zx,Jx,eL,tL,nL,aL,rL,iL,oL,sL,lL,cL,dL,uL,_L,pL,mL,gL,EL,fL,SL,bL,hL,vL,TL,yL,CL,RL,OL,NL,AL,IL,wL,DL,xL,LL,ML,PL,kL,FL,UL,BL,GL,YL,VL,HL,zL,qL,$L,jL,WL,KL,QL,XL,ZL,JL,eM,tM,nM,aM,rM,iM,oM,sM,lM,cM,dM,uM,_M,pM,mM,gM,EM,fM,SM,bM,hM,vM,TM,yM,CM,RM,OM,NM,AM,IM,wM,DM,xM,LM,MM,PM,kM,FM,UM,BM,GM,YM,VM,HM,zM,qM,$M,jM,WM,KM,QM,XM,ZM,JM,eP,tP,nP,aP,rP,iP,oP,sP,lP,cP,dP,uP,_P,pP,mP,gP,EP,fP,SP,bP,hP,vP,TP,yP,CP,RP,OP,NP,AP,IP,wP,DP,xP,LP,MP,PP,kP,FP,UP,BP,GP,YP,VP,HP,zP,qP,$P,jP,WP,KP,QP,XP,ZP,JP,ek,tk,nk,ak,rk,ik,ok,sk=eI;eI.HighlightJS=eI,eI.default=eI;var lk=sk;lk.registerLanguage("1c",nI?tI:(nI=1,tI=function(e){const t="[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+",n="далее возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт ",a="null истина ложь неопределено",r=e.inherit(e.NUMBER_MODE),i={className:"string",begin:'"|\\|',end:'"|$',contains:[{begin:'""'}]},o={begin:"'",end:"'",excludeBegin:!0,excludeEnd:!0,contains:[{className:"number",begin:"\\d{4}([\\.\\\\/:-]?\\d{2}){0,5}"}]},s=e.inherit(e.C_LINE_COMMENT_MODE);return{name:"1C:Enterprise",case_insensitive:!0,keywords:{$pattern:t,keyword:n,built_in:"разделительстраниц разделительстрок символтабуляции ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек ",class:"webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени форматкартинки ширинаподчиненныхэлементовформы виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц отображениевремениэлементовпланировщика типфайлаформатированногодокумента обходрезультатазапроса типзаписизапроса видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов доступкфайлу режимдиалогавыборафайла режимоткрытияфайла типизмеренияпостроителязапроса видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs форматдатыjson экранированиесимволовjson видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных использованиеусловногооформлениякомпоновкиданных важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты статусразборапочтовогосообщения режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии типхранилищасертификатовкриптографии кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip режимсохраненияпутейzip уровеньсжатияzip звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи основноепредставлениепланаобмена основноепредставлениесправочника основноепредставлениесчета перемещениеграницыприпроведении периодичностьномерабизнеспроцесса периодичностьномерадокумента периодичностьрегистрарасчета периодичностьрегистрасведений повторноеиспользованиевозвращаемыхзначений полнотекстовыйпоискпривводепостроке принадлежностьобъекта проведение разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениерасширенийконфигурацииобщегореквизита режимавтонумерацииобъектов режимзаписирегистра режимиспользованиямодальности режимиспользованиясинхронныхвызововрасширенийплатформыивнешнихкомпонент режимповторногоиспользованиясеансов режимполученияданныхвыборапривводепостроке режимсовместимости режимсовместимостиинтерфейса режимуправленияблокировкойданныхпоумолчанию сериикодовпланавидовхарактеристик сериикодовпланасчетов сериикодовсправочника созданиепривводе способвыбора способпоискастрокипривводепостроке способредактирования типданныхтаблицывнешнегоисточникаданных типкодапланавидоврасчета типкодасправочника типмакета типномерабизнеспроцесса типномерадокумента типномеразадачи типформы удалениедвижений важностьпроблемыприменениярасширенияконфигурации вариантинтерфейсаклиентскогоприложения вариантмасштабаформклиентскогоприложения вариантосновногошрифтаклиентскогоприложения вариантстандартногопериода вариантстандартнойдатыначала видграницы видкартинки видотображенияполнотекстовогопоиска видрамки видсравнения видцвета видчисловогозначения видшрифта допустимаядлина допустимыйзнак использованиеbyteordermark использованиеметаданныхполнотекстовогопоиска источникрасширенийконфигурации клавиша кодвозвратадиалога кодировкаxbase кодировкатекста направлениепоиска направлениесортировки обновлениепредопределенныхданных обновлениеприизмененииданных отображениепанелиразделов проверказаполнения режимдиалогавопрос режимзапускаклиентскогоприложения режимокругления режимоткрытияформприложения режимполнотекстовогопоиска скоростьклиентскогосоединения состояниевнешнегоисточникаданных состояниеобновленияконфигурациибазыданных способвыборасертификатаwindows способкодированиястроки статуссообщения типвнешнейкомпоненты типплатформы типповеденияклавишиenter типэлементаинформацииовыполненииобновленияконфигурациибазыданных уровеньизоляциитранзакций хешфункция частидаты",type:"comобъект ftpсоединение httpзапрос httpсервисответ httpсоединение wsопределения wsпрокси xbase анализданных аннотацияxs блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторслучайныхчисел географическаясхема географическиекоординаты графическаясхема группамоделиxs данныерасшифровкикомпоновкиданных двоичныеданные дендрограмма диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограсписаниярегламентногозадания диалогредактированиястандартногопериода диапазон документdom документhtml документацияxs доставляемоеуведомление записьdom записьfastinfoset записьhtml записьjson записьxml записьzipфайла записьданных записьтекста записьузловdom запрос защищенноесоединениеopenssl значенияполейрасшифровкикомпоновкиданных извлечениетекста импортxs интернетпочта интернетпочтовоесообщение интернетпочтовыйпрофиль интернетпрокси интернетсоединение информациядляприложенияxs использованиеатрибутаxs использованиесобытияжурналарегистрации источникдоступныхнастроеккомпоновкиданных итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыстроки квалификаторычисла компоновщикмакетакомпоновкиданных компоновщикнастроеккомпоновкиданных конструктормакетаоформлениякомпоновкиданных конструкторнастроеккомпоновкиданных конструкторформатнойстроки линия макеткомпоновкиданных макетобластикомпоновкиданных макетоформлениякомпоновкиданных маскаxs менеджеркриптографии наборсхемxml настройкикомпоновкиданных настройкисериализацииjson обработкакартинок обработкарасшифровкикомпоновкиданных обходдереваdom объявлениеатрибутаxs объявлениенотацииxs объявлениеэлементаxs описаниеиспользованиясобытиядоступжурналарегистрации описаниеиспользованиясобытияотказвдоступежурналарегистрации описаниеобработкирасшифровкикомпоновкиданных описаниепередаваемогофайла описаниетипов определениегруппыатрибутовxs определениегруппымоделиxs определениеограниченияидентичностиxs определениепростоготипаxs определениесоставноготипаxs определениетипадокументаdom определенияxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных параметрызаписиjson параметрызаписиxml параметрычтенияxml переопределениеxs планировщик полеанализаданных полекомпоновкиданных построительdom построительзапроса построительотчета построительотчетаанализаданных построительсхемxml поток потоквпамяти почта почтовоесообщение преобразованиеxsl преобразованиекканоническомуxml процессорвыводарезультатакомпоновкиданныхвколлекциюзначений процессорвыводарезультатакомпоновкиданныхвтабличныйдокумент процессоркомпоновкиданных разыменовательпространствименdom рамка расписаниерегламентногозадания расширенноеимяxml результатчтенияданных своднаядиаграмма связьпараметравыбора связьпотипу связьпотипукомпоновкиданных сериализаторxdto сертификатклиентаwindows сертификатклиентафайл сертификаткриптографии сертификатыудостоверяющихцентровwindows сертификатыудостоверяющихцентровфайл сжатиеданных системнаяинформация сообщениепользователю сочетаниеклавиш сравнениезначений стандартнаядатаначала стандартныйпериод схемаxml схемакомпоновкиданных табличныйдокумент текстовыйдокумент тестируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток фасетдлиныxs фасетколичестваразрядовдробнойчастиxs фасетмаксимальноговключающегозначенияxs фасетмаксимальногоисключающегозначенияxs фасетмаксимальнойдлиныxs фасетминимальноговключающегозначенияxs фасетминимальногоисключающегозначенияxs фасетминимальнойдлиныxs фасетобразцаxs фасетобщегоколичестваразрядовxs фасетперечисленияxs фасетпробельныхсимволовxs фильтрузловdom форматированнаястрока форматированныйдокумент фрагментxs хешированиеданных хранилищезначения цвет чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла чтениеданных чтениетекста чтениеузловdom шрифт элементрезультатакомпоновкиданных comsafearray деревозначений массив соответствие списокзначений структура таблицазначений фиксированнаяструктура фиксированноесоответствие фиксированныймассив ",literal:a},contains:[{className:"meta",begin:"#|&",end:"$",keywords:{$pattern:t,keyword:n+"загрузитьизфайла вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент "},contains:[s]},{className:"function",variants:[{begin:"процедура|функция",end:"\\)",keywords:"процедура функция"},{begin:"конецпроцедуры|конецфункции",keywords:"конецпроцедуры конецфункции"}],contains:[{begin:"\\(",end:"\\)",endsParent:!0,contains:[{className:"params",begin:t,end:",",excludeEnd:!0,endsWithParent:!0,keywords:{$pattern:t,keyword:"знач",literal:a},contains:[r,i,o]},s]},e.inherit(e.TITLE_MODE,{begin:t})]},s,{className:"symbol",begin:"~",end:";|:",excludeEnd:!0},r,i,o,{match:/[;()+\-:=,]/,className:"punctuation",relevance:0}]}})),lk.registerLanguage("abnf",rI?aI:(rI=1,aI=function(e){const t=e.regex,n=e.COMMENT(/;/,/$/);return{name:"Augmented Backus-Naur Form",illegal:/[!@#$^&',?+~`|:]/,keywords:["ALPHA","BIT","CHAR","CR","CRLF","CTL","DIGIT","DQUOTE","HEXDIG","HTAB","LF","LWSP","OCTET","SP","VCHAR","WSP"],contains:[{scope:"operator",match:/=\/?/},{scope:"attribute",match:t.concat(/^[a-zA-Z][a-zA-Z0-9-]*/,/(?=\s*=)/)},n,{scope:"symbol",match:/%b[0-1]+(-[0-1]+|(\.[0-1]+)+)?/},{scope:"symbol",match:/%d[0-9]+(-[0-9]+|(\.[0-9]+)+)?/},{scope:"symbol",match:/%x[0-9A-F]+(-[0-9A-F]+|(\.[0-9A-F]+)+)?/},{scope:"symbol",match:/%[si](?=".*")/},e.QUOTE_STRING_MODE,e.NUMBER_MODE]}})),lk.registerLanguage("accesslog",oI?iI:(oI=1,iI=function(e){const t=e.regex,n=["GET","POST","HEAD","PUT","DELETE","CONNECT","OPTIONS","PATCH","TRACE"];return{name:"Apache Access Log",contains:[{className:"number",begin:/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?\b/,relevance:5},{className:"number",begin:/\b\d+\b/,relevance:0},{className:"string",begin:t.concat(/"/,t.either(...n)),end:/"/,keywords:n,illegal:/\n/,relevance:5,contains:[{begin:/HTTP\/[12]\.\d'/,relevance:5}]},{className:"string",begin:/\[\d[^\]\n]{8,}\]/,illegal:/\n/,relevance:1},{className:"string",begin:/\[/,end:/\]/,illegal:/\n/,relevance:0},{className:"string",begin:/"Mozilla\/\d\.\d \(/,end:/"/,illegal:/\n/,relevance:3},{className:"string",begin:/"/,end:/"/,illegal:/\n/,relevance:0}]}})),lk.registerLanguage("actionscript",lI?sI:(lI=1,sI=function(e){const t=e.regex,n=/[a-zA-Z_$][a-zA-Z0-9_$]*/,a=t.concat(n,t.concat("(\\.",n,")*")),r={className:"rest_arg",begin:/[.]{3}/,end:n,relevance:10};return{name:"ActionScript",aliases:["as"],keywords:{keyword:["as","break","case","catch","class","const","continue","default","delete","do","dynamic","each","else","extends","final","finally","for","function","get","if","implements","import","in","include","instanceof","interface","internal","is","namespace","native","new","override","package","private","protected","public","return","set","static","super","switch","this","throw","try","typeof","use","var","void","while","with"],literal:["true","false","null","undefined"]},contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,{match:[/\bpackage/,/\s+/,a],className:{1:"keyword",3:"title.class"}},{match:[/\b(?:class|interface|extends|implements)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{className:"meta",beginKeywords:"import include",end:/;/,keywords:{keyword:"import include"}},{beginKeywords:"function",end:/[{;]/,excludeEnd:!0,illegal:/\S/,contains:[e.inherit(e.TITLE_MODE,{className:"title.function"}),{className:"params",begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,r]},{begin:t.concat(/:\s*/,/([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)/)}]},e.METHOD_GUARD],illegal:/#/}})),lk.registerLanguage("ada",dI?cI:(dI=1,cI=function(e){const t="\\d(_|\\d)*",n="[eE][-+]?"+t,a="\\b("+t+"#\\w+(\\.\\w+)?#("+n+")?|"+t+"(\\."+t+")?("+n+")?)",r="[A-Za-z](_?[A-Za-z0-9.])*",i="[]\\{\\}%#'\"",o=e.COMMENT("--","$"),s={begin:"\\s+:\\s+",end:"\\s*(:=|;|\\)|=>|$)",illegal:i,contains:[{beginKeywords:"loop for declare others",endsParent:!0},{className:"keyword",beginKeywords:"not null constant access function procedure in out aliased exception"},{className:"type",begin:r,endsParent:!0,relevance:0}]};return{name:"Ada",case_insensitive:!0,keywords:{keyword:["abort","else","new","return","abs","elsif","not","reverse","abstract","end","accept","entry","select","access","exception","of","separate","aliased","exit","or","some","all","others","subtype","and","for","out","synchronized","array","function","overriding","at","tagged","generic","package","task","begin","goto","pragma","terminate","body","private","then","if","procedure","type","case","in","protected","constant","interface","is","raise","use","declare","range","delay","limited","record","when","delta","loop","rem","while","digits","renames","with","do","mod","requeue","xor"],literal:["True","False"]},contains:[o,{className:"string",begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{className:"string",begin:/'.'/},{className:"number",begin:a,relevance:0},{className:"symbol",begin:"'"+r},{className:"title",begin:"(\\bwith\\s+)?(\\bprivate\\s+)?\\bpackage\\s+(\\bbody\\s+)?",end:"(is|$)",keywords:"package body",excludeBegin:!0,excludeEnd:!0,illegal:i},{begin:"(\\b(with|overriding)\\s+)?\\b(function|procedure)\\s+",end:"(\\bis|\\bwith|\\brenames|\\)\\s*;)",keywords:"overriding function procedure with is renames return",returnBegin:!0,contains:[o,{className:"title",begin:"(\\bwith\\s+)?\\b(function|procedure)\\s+",end:"(\\(|\\s+|$)",excludeBegin:!0,excludeEnd:!0,illegal:i},s,{className:"type",begin:"\\breturn\\s+",end:"(\\s+|;|$)",keywords:"return",excludeBegin:!0,excludeEnd:!0,endsParent:!0,illegal:i}]},{className:"type",begin:"\\b(sub)?type\\s+",end:"\\s+",keywords:"type",excludeBegin:!0,illegal:i},s]}})),lk.registerLanguage("angelscript",_I?uI:(_I=1,uI=function(e){const t={className:"built_in",begin:"\\b(void|bool|int8|int16|int32|int64|int|uint8|uint16|uint32|uint64|uint|string|ref|array|double|float|auto|dictionary)"},n={className:"symbol",begin:"[a-zA-Z0-9_]+@"},a={className:"keyword",begin:"<",end:">",contains:[t,n]};return t.contains=[a],n.contains=[a],{name:"AngelScript",aliases:["asc"],keywords:["for","in|0","break","continue","while","do|0","return","if","else","case","switch","namespace","is","cast","or","and","xor","not","get|0","in","inout|10","out","override","set|0","private","public","const","default|0","final","shared","external","mixin|10","enum","typedef","funcdef","this","super","import","from","interface","abstract|0","try","catch","protected","explicit","property"],illegal:"(^using\\s+[A-Za-z0-9_\\.]+;$|\\bfunction\\s*[^\\(])",contains:[{className:"string",begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE],relevance:0},{className:"string",begin:'"""',end:'"""'},{className:"string",begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE],relevance:0},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",begin:"^\\s*\\[",end:"\\]"},{beginKeywords:"interface namespace",end:/\{/,illegal:"[;.\\-]",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+"}]},{beginKeywords:"class",end:/\{/,illegal:"[;.\\-]",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+",contains:[{begin:"[:,]\\s*",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+"}]}]}]},t,n,{className:"literal",begin:"\\b(null|true|false)"},{className:"number",relevance:0,begin:"(-?)(\\b0[xXbBoOdD][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?f?|\\.\\d+f?)([eE][-+]?\\d+f?)?)"}]}})),lk.registerLanguage("apache",mI?pI:(mI=1,pI=function(e){const t={className:"number",begin:/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?/};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:/<\/?/,end:/>/,contains:[t,{className:"number",begin:/:\d{1,5}/},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{_:["order","deny","allow","setenv","rewriterule","rewriteengine","rewritecond","documentroot","sethandler","errordocument","loadmodule","options","header","listen","serverroot","servername"]},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{scope:"punctuation",match:/\\\n/},{className:"meta",begin:/\s\[/,end:/\]$/},{className:"variable",begin:/[\$%]\{/,end:/\}/,contains:["self",{className:"number",begin:/[$%]\d+/}]},t,{className:"number",begin:/\b\d+/},e.QUOTE_STRING_MODE]}}],illegal:/\S/}})),lk.registerLanguage("applescript",EI?gI:(EI=1,gI=function(e){const t=e.regex,n=e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),a={className:"params",begin:/\(/,end:/\)/,contains:["self",e.C_NUMBER_MODE,n]},r=e.COMMENT(/--/,/$/),i=[r,e.COMMENT(/\(\*/,/\*\)/,{contains:["self",r]}),e.HASH_COMMENT_MODE];return{name:"AppleScript",aliases:["osascript"],keywords:{keyword:"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the|0 then third through thru timeout times to transaction try until where while whose with without",literal:"AppleScript false linefeed return pi quote result space tab true",built_in:"alias application boolean class constant date file integer list number real record string text activate beep count delay launch log offset read round run say summarize write character characters contents day frontmost id item length month name|0 paragraph paragraphs rest reverse running time version weekday word words year"},contains:[n,e.C_NUMBER_MODE,{className:"built_in",begin:t.concat(/\b/,t.either(/clipboard info/,/the clipboard/,/info for/,/list (disks|folder)/,/mount volume/,/path to/,/(close|open for) access/,/(get|set) eof/,/current date/,/do shell script/,/get volume settings/,/random number/,/set volume/,/system attribute/,/system info/,/time to GMT/,/(load|run|store) script/,/scripting components/,/ASCII (character|number)/,/localized string/,/choose (application|color|file|file name|folder|from list|remote application|URL)/,/display (alert|dialog)/),/\b/)},{className:"built_in",begin:/^\s*return\b/},{className:"literal",begin:/\b(text item delimiters|current application|missing value)\b/},{className:"keyword",begin:t.concat(/\b/,t.either(/apart from/,/aside from/,/instead of/,/out of/,/greater than/,/isn't|(doesn't|does not) (equal|come before|come after|contain)/,/(greater|less) than( or equal)?/,/(starts?|ends|begins?) with/,/contained by/,/comes (before|after)/,/a (ref|reference)/,/POSIX (file|path)/,/(date|time) string/,/quoted form/),/\b/)},{beginKeywords:"on",illegal:/[${=;\n]/,contains:[e.UNDERSCORE_TITLE_MODE,a]},...i],illegal:/\/\/|->|=>|\[\[/}})),lk.registerLanguage("arcade",SI?fI:(SI=1,fI=function(e){const t="[A-Za-z_][0-9A-Za-z_]*",n={keyword:["break","case","catch","continue","debugger","do","else","export","for","function","if","import","in","new","of","return","switch","try","var","void","while"],literal:["BackSlash","DoubleQuote","ForwardSlash","Infinity","NaN","NewLine","PI","SingleQuote","Tab","TextFormatting","false","null","true","undefined"],built_in:["Abs","Acos","All","Angle","Any","Area","AreaGeodetic","Array","Asin","Atan","Atan2","Attachments","Average","Back","Bearing","Boolean","Buffer","BufferGeodetic","Ceil","Centroid","ChangeTimeZone","Clip","Concatenate","Console","Constrain","Contains","ConvertDirection","ConvexHull","Cos","Count","Crosses","Cut","Date|0","DateAdd","DateDiff","DateOnly","Day","Decode","DefaultValue","Densify","DensifyGeodetic","Dictionary","Difference","Disjoint","Distance","DistanceGeodetic","DistanceToCoordinate","Distinct","Domain","DomainCode","DomainName","EnvelopeIntersects","Equals","Erase","Exp","Expects","Extent","Feature","FeatureInFilter","FeatureSet","FeatureSetByAssociation","FeatureSetById","FeatureSetByName","FeatureSetByPortalItem","FeatureSetByRelationshipClass","FeatureSetByRelationshipName","Filter","FilterBySubtypeCode","Find","First|0","Floor","FromCharCode","FromCodePoint","FromJSON","Front","GdbVersion","Generalize","Geometry","GetEnvironment","GetFeatureSet","GetFeatureSetInfo","GetUser","GroupBy","Guid","HasKey","HasValue","Hash","Hour","IIf","ISOMonth","ISOWeek","ISOWeekday","ISOYear","Includes","IndexOf","Insert","Intersection","Intersects","IsEmpty","IsNan","IsSelfIntersecting","IsSimple","KnowledgeGraphByPortalItem","Left|0","Length","Length3D","LengthGeodetic","Log","Lower","Map","Max","Mean","MeasureToCoordinate","Mid","Millisecond","Min","Minute","Month","MultiPartToSinglePart","Multipoint","NearestCoordinate","NearestVertex","NextSequenceValue","None","Now","Number","Offset","OrderBy","Overlaps","Point","PointToCoordinate","Polygon","Polyline","Pop","Portal","Pow","Proper","Push","QueryGraph","Random","Reduce","Relate","Replace","Resize","Reverse","Right|0","RingIsClockwise","Rotate","Round","Schema","Second","SetGeometry","Simplify","Sin","Slice","Sort","Splice","Split","Sqrt","StandardizeFilename","StandardizeGuid","Stdev","SubtypeCode","SubtypeName","Subtypes","Sum","SymmetricDifference","Tan","Text","Time","TimeZone","TimeZoneOffset","Timestamp","ToCharCode","ToCodePoint","ToHex","ToLocal","ToUTC","Today","Top|0","Touches","TrackAccelerationAt","TrackAccelerationWindow","TrackCurrentAcceleration","TrackCurrentDistance","TrackCurrentSpeed","TrackCurrentTime","TrackDistanceAt","TrackDistanceWindow","TrackDuration","TrackFieldWindow","TrackGeometryWindow","TrackIndex","TrackSpeedAt","TrackSpeedWindow","TrackStartTime","TrackWindow","Trim","TypeOf","Union","Upper","UrlEncode","Variance","Week","Weekday","When|0","Within","Year|0"]},a={className:"symbol",begin:"\\$"+e.regex.either("aggregatedFeatures","analytic","config","datapoint","datastore","editcontext","feature","featureSet","feedfeature","fencefeature","fencenotificationtype","graph","join","layer","locationupdate","map","measure","measure","originalFeature","record","reference","rowindex","sourcedatastore","sourcefeature","sourcelayer","target","targetdatastore","targetfeature","targetlayer","userInput","value","variables","view")},r={className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:e.C_NUMBER_RE}],relevance:0},i={className:"subst",begin:"\\$\\{",end:"\\}",keywords:n,contains:[]},o={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,i]};i.contains=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,o,r,e.REGEXP_MODE];const s=i.contains.concat([e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]);return{name:"ArcGIS Arcade",case_insensitive:!0,keywords:n,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,o,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,r,{begin:/[{,]\s*/,relevance:0,contains:[{begin:t+"\\s*:",returnBegin:!0,relevance:0,contains:[{className:"attr",begin:t,relevance:0}]}]},{begin:"("+e.RE_STARTERS_RE+"|\\b(return)\\b)\\s*",keywords:"return",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.REGEXP_MODE,{className:"function",begin:"(\\(.*?\\)|"+t+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,contains:s}]}]}],relevance:0},{beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{className:"title.function",begin:t}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:s}],illegal:/\[|%/},{begin:/\$[(.]/}],illegal:/#(?!!)/}})),lk.registerLanguage("arduino",hI?bI:(hI=1,bI=function(e){const t={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},n=function(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",i="(?!struct)("+a+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(s,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},u=t.optional(r)+e.IDENT_RE+"\\s*\\(",_={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},p={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},m=[p,c,o,n,e.C_BLOCK_COMMENT_MODE,l,s],g={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:_,contains:m.concat([{begin:/\(/,end:/\)/,keywords:_,contains:m.concat(["self"]),relevance:0}]),relevance:0},E={className:"function",begin:"("+i+"[\\*&\\s]+)+"+u,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:_,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:_,relevance:0},{begin:u,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[s,l]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,s,l,o,{begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,s,l,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:_,illegal:"",keywords:_,contains:["self",o]},{begin:e.IDENT_RE+"::",keywords:_},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}(e),a=n.keywords;return a.type=[...a.type,...t.type],a.literal=[...a.literal,...t.literal],a.built_in=[...a.built_in,...t.built_in],a._hints=t._hints,n.name="Arduino",n.aliases=["ino"],n.supersetOf="cpp",n})),lk.registerLanguage("armasm",TI?vI:(TI=1,vI=function(e){const t={variants:[e.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),e.COMMENT("[;@]","$",{relevance:0}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+e.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 w0 w1 w2 w3 w4 w5 w6 w7 w8 w9 w10 w11 w12 w13 w14 w15 w16 w17 w18 w19 w20 w21 w22 w23 w24 w25 w26 w27 w28 w29 w30 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},t,e.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}})),lk.registerLanguage("xml",CI?yI:(CI=1,yI=function(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},r={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},i=e.inherit(r,{begin:/\(/,end:/\)/}),o=e.inherit(e.APOS_STRING_MODE,{className:"string"}),s=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[r,s,o,i,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[r,i,s,o]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[s]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:l}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}})),lk.registerLanguage("asciidoc",OI?RI:(OI=1,RI=function(e){const t=e.regex,n=[{className:"strong",begin:/\*{2}([^\n]+?)\*{2}/},{className:"strong",begin:t.concat(/\*\*/,/((\*(?!\*)|\\[^\n]|[^*\n\\])+\n)+/,/(\*(?!\*)|\\[^\n]|[^*\n\\])*/,/\*\*/),relevance:0},{className:"strong",begin:/\B\*(\S|\S[^\n]*?\S)\*(?!\w)/},{className:"strong",begin:/\*[^\s]([^\n]+\n)+([^\n]+)\*/}],a=[{className:"emphasis",begin:/_{2}([^\n]+?)_{2}/},{className:"emphasis",begin:t.concat(/__/,/((_(?!_)|\\[^\n]|[^_\n\\])+\n)+/,/(_(?!_)|\\[^\n]|[^_\n\\])*/,/__/),relevance:0},{className:"emphasis",begin:/\b_(\S|\S[^\n]*?\S)_(?!\w)/},{className:"emphasis",begin:/_[^\s]([^\n]+\n)+([^\n]+)_/},{className:"emphasis",begin:"\\B'(?!['\\s])",end:"(\\n{2}|')",contains:[{begin:"\\\\'\\w",relevance:0}],relevance:0}];return{name:"AsciiDoc",aliases:["adoc"],contains:[e.COMMENT("^/{4,}\\n","\\n/{4,}$",{relevance:10}),e.COMMENT("^//","$",{relevance:0}),{className:"title",begin:"^\\.\\w.*$"},{begin:"^[=\\*]{4,}\\n",end:"\\n^[=\\*]{4,}$",relevance:10},{className:"section",relevance:10,variants:[{begin:"^(={1,6})[ \t].+?([ \t]\\1)?$"},{begin:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$"}]},{className:"meta",begin:"^:.+?:",end:"\\s",excludeEnd:!0,relevance:10},{className:"meta",begin:"^\\[.+?\\]$",relevance:0},{className:"quote",begin:"^_{4,}\\n",end:"\\n_{4,}$",relevance:10},{className:"code",begin:"^[\\-\\.]{4,}\\n",end:"\\n[\\-\\.]{4,}$",relevance:10},{begin:"^\\+{4,}\\n",end:"\\n\\+{4,}$",contains:[{begin:"<",end:">",subLanguage:"xml",relevance:0}],relevance:10},{className:"bullet",begin:"^(\\*+|-+|\\.+|[^\\n]+?::)\\s+"},{className:"symbol",begin:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",relevance:10},{begin:/\\[*_`]/},{begin:/\\\\\*{2}[^\n]*?\*{2}/},{begin:/\\\\_{2}[^\n]*_{2}/},{begin:/\\\\`{2}[^\n]*`{2}/},{begin:/[:;}][*_`](?![*_`])/},...n,...a,{className:"string",variants:[{begin:"``.+?''"},{begin:"`.+?'"}]},{className:"code",begin:/`{2}/,end:/(\n{2}|`{2})/},{className:"code",begin:"(`.+?`|\\+.+?\\+)",relevance:0},{className:"code",begin:"^[ \\t]",end:"$",relevance:0},{begin:"^'{3,}[ \\t]*$",relevance:10},{begin:"(link:)?(http|https|ftp|file|irc|image:?):\\S+?\\[[^[]*?\\]",returnBegin:!0,contains:[{begin:"(link|image:?):",relevance:0},{className:"link",begin:"\\w",end:"[^\\[]+",relevance:0},{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0,relevance:0}],relevance:10}]}})),lk.registerLanguage("aspectj",AI?NI:(AI=1,NI=function(e){const t=e.regex,n=["false","synchronized","int","abstract","float","private","char","boolean","static","null","if","const","for","true","while","long","throw","strictfp","finally","protected","import","native","final","return","void","enum","else","extends","implements","break","transient","new","catch","instanceof","byte","super","volatile","case","assert","short","package","default","double","public","try","this","switch","continue","throws","privileged","aspectOf","adviceexecution","proceed","cflowbelow","cflow","initialization","preinitialization","staticinitialization","withincode","target","within","execution","getWithinTypeName","handler","thisJoinPoint","thisJoinPointStaticPart","thisEnclosingJoinPointStaticPart","declare","parents","warning","error","soft","precedence","thisAspectInstance"],a=["get","set","args","call"];return{name:"AspectJ",keywords:n,illegal:/<\/|#/,contains:[e.COMMENT(/\/\*\*/,/\*\//,{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:/@[A-Za-z]+/}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"aspect",end:/[{;=]/,excludeEnd:!0,illegal:/[:;"\[\]]/,contains:[{beginKeywords:"extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton"},e.UNDERSCORE_TITLE_MODE,{begin:/\([^\)]*/,end:/[)]+/,keywords:n.concat(a),excludeEnd:!1}]},{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,relevance:0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"pointcut after before around throwing returning",end:/[)]/,excludeEnd:!1,illegal:/["\[\]]/,contains:[{begin:t.concat(e.UNDERSCORE_IDENT_RE,/\s*\(/),returnBegin:!0,contains:[e.UNDERSCORE_TITLE_MODE]}]},{begin:/[:]/,returnBegin:!0,end:/[{;]/,relevance:0,excludeEnd:!1,keywords:n,illegal:/["\[\]]/,contains:[{begin:t.concat(e.UNDERSCORE_IDENT_RE,/\s*\(/),keywords:n.concat(a),relevance:0},e.QUOTE_STRING_MODE]},{beginKeywords:"new throw",relevance:0},{className:"function",begin:/\w+ +\w+(\.\w+)?\s*\([^\)]*\)\s*((throws)[\w\s,]+)?[\{;]/,returnBegin:!0,end:/[{;=]/,keywords:n,excludeEnd:!0,contains:[{begin:t.concat(e.UNDERSCORE_IDENT_RE,/\s*\(/),returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,relevance:0,keywords:n,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_NUMBER_MODE,{className:"meta",begin:/@[A-Za-z]+/}]}})),lk.registerLanguage("autohotkey",wI?II:(wI=1,II=function(e){const t={begin:"`[\\s\\S]"};return{name:"AutoHotkey",case_insensitive:!0,aliases:["ahk"],keywords:{keyword:"Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group",literal:"true false NOT AND OR",built_in:"ComSpec Clipboard ClipboardAll ErrorLevel"},contains:[t,e.inherit(e.QUOTE_STRING_MODE,{contains:[t]}),e.COMMENT(";","$",{relevance:0}),e.C_BLOCK_COMMENT_MODE,{className:"number",begin:e.NUMBER_RE,relevance:0},{className:"variable",begin:"%[a-zA-Z0-9#_$@]+%"},{className:"built_in",begin:"^\\s*\\w+\\s*(,|%)"},{className:"title",variants:[{begin:'^[^\\n";]+::(?!=)'},{begin:'^[^\\n";]+:(?!=)',relevance:0}]},{className:"meta",begin:"^\\s*#\\w+",end:"$",relevance:0},{className:"built_in",begin:"A_[a-zA-Z0-9]+"},{begin:",\\s*,"}]}})),lk.registerLanguage("autoit",xI?DI:(xI=1,DI=function(e){const t={variants:[e.COMMENT(";","$",{relevance:0}),e.COMMENT("#cs","#ce"),e.COMMENT("#comments-start","#comments-end")]},n={begin:"\\$[A-z0-9_]+"},a={className:"string",variants:[{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]},r={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]};return{name:"AutoIt",case_insensitive:!0,illegal:/\/\*/,keywords:{keyword:"ByRef Case Const ContinueCase ContinueLoop Dim Do Else ElseIf EndFunc EndIf EndSelect EndSwitch EndWith Enum Exit ExitLoop For Func Global If In Local Next ReDim Return Select Static Step Switch Then To Until Volatile WEnd While With",built_in:"Abs ACos AdlibRegister AdlibUnRegister Asc AscW ASin Assign ATan AutoItSetOption AutoItWinGetTitle AutoItWinSetTitle Beep Binary BinaryLen BinaryMid BinaryToString BitAND BitNOT BitOR BitRotate BitShift BitXOR BlockInput Break Call CDTray Ceiling Chr ChrW ClipGet ClipPut ConsoleRead ConsoleWrite ConsoleWriteError ControlClick ControlCommand ControlDisable ControlEnable ControlFocus ControlGetFocus ControlGetHandle ControlGetPos ControlGetText ControlHide ControlListView ControlMove ControlSend ControlSetText ControlShow ControlTreeView Cos Dec DirCopy DirCreate DirGetSize DirMove DirRemove DllCall DllCallAddress DllCallbackFree DllCallbackGetPtr DllCallbackRegister DllClose DllOpen DllStructCreate DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData DriveGetDrive DriveGetFileSystem DriveGetLabel DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Execute Exp FileChangeDir FileClose FileCopy FileCreateNTFSLink FileCreateShortcut FileDelete FileExists FileFindFirstFile FileFindNextFile FileFlush FileGetAttrib FileGetEncoding FileGetLongName FileGetPos FileGetShortcut FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall FileMove FileOpen FileOpenDialog FileRead FileReadLine FileReadToArray FileRecycle FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetEnd FileSetPos FileSetTime FileWrite FileWriteLine Floor FtpSetProxy FuncName GUICreate GUICtrlCreateAvi GUICtrlCreateButton GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem GUICtrlCreateTreeView GUICtrlCreateTreeViewItem GUICtrlCreateUpdown GUICtrlDelete GUICtrlGetHandle GUICtrlGetState GUICtrlRead GUICtrlRecvMsg GUICtrlRegisterListViewSort GUICtrlSendMsg GUICtrlSendToDummy GUICtrlSetBkColor GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetDefBkColor GUICtrlSetDefColor GUICtrlSetFont GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle GUICtrlSetTip GUIDelete GUIGetCursorInfo GUIGetMsg GUIGetStyle GUIRegisterMsg GUISetAccelerators GUISetBkColor GUISetCoord GUISetCursor GUISetFont GUISetHelp GUISetIcon GUISetOnEvent GUISetState GUISetStyle GUIStartGroup GUISwitch Hex HotKeySet HttpSetProxy HttpSetUserAgent HWnd InetClose InetGet InetGetInfo InetGetSize InetRead IniDelete IniRead IniReadSection IniReadSectionNames IniRenameSection IniWrite IniWriteSection InputBox Int IsAdmin IsArray IsBinary IsBool IsDeclared IsDllStruct IsFloat IsFunc IsHWnd IsInt IsKeyword IsNumber IsObj IsPtr IsString Log MemGetStats Mod MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp MouseWheel MsgBox Number ObjCreate ObjCreateInterface ObjEvent ObjGet ObjName OnAutoItExitRegister OnAutoItExitUnRegister Ping PixelChecksum PixelGetColor PixelSearch ProcessClose ProcessExists ProcessGetStats ProcessList ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff ProgressOn ProgressSet Ptr Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite Round Run RunAs RunAsWait RunWait Send SendKeepActive SetError SetExtended ShellExecute ShellExecuteWait Shutdown Sin Sleep SoundPlay SoundSetWaveVolume SplashImageOn SplashOff SplashTextOn Sqrt SRandom StatusbarGetText StderrRead StdinWrite StdioClose StdoutRead String StringAddCR StringCompare StringFormat StringFromASCIIArray StringInStr StringIsAlNum StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft StringLen StringLower StringMid StringRegExp StringRegExpReplace StringReplace StringReverse StringRight StringSplit StringStripCR StringStripWS StringToASCIIArray StringToBinary StringTrimLeft StringTrimRight StringUpper Tan TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIP TCPRecv TCPSend TCPShutdown, UDPShutdown TCPStartup, UDPStartup TimerDiff TimerInit ToolTip TrayCreateItem TrayCreateMenu TrayGetMsg TrayItemDelete TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent TrayItemSetState TrayItemSetText TraySetClick TraySetIcon TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip UBound UDPBind UDPCloseSocket UDPOpen UDPRecv UDPSend VarGetType WinActivate WinActive WinClose WinExists WinFlash WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait WinWaitActive WinWaitClose WinWaitNotActive",literal:"True False And Null Not Or Default"},contains:[t,n,a,r,{className:"meta",begin:"#",end:"$",keywords:{keyword:["EndRegion","forcedef","forceref","ignorefunc","include","include-once","NoTrayIcon","OnAutoItStartRegister","pragma","Region","RequireAdmin","Tidy_Off","Tidy_On","Tidy_Parameters"]},contains:[{begin:/\\\n/,relevance:0},{beginKeywords:"include",keywords:{keyword:"include"},end:"$",contains:[a,{className:"string",variants:[{begin:"<",end:">"},{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]}]},a,t]},{className:"symbol",begin:"@[A-z0-9_]+"},{beginKeywords:"Func",end:"$",illegal:"\\$|\\[|%",contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{className:"title.function"}),{className:"params",begin:"\\(",end:"\\)",contains:[n,a,r]}]}]}})),lk.registerLanguage("avrasm",MI?LI:(MI=1,LI=function(e){return{name:"AVR Assembly",case_insensitive:!0,keywords:{$pattern:"\\.?"+e.IDENT_RE,keyword:"adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub subi swap tst wdr",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf",meta:".byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list .listmac .macro .nolist .org .set"},contains:[e.C_BLOCK_COMMENT_MODE,e.COMMENT(";","$",{relevance:0}),e.C_NUMBER_MODE,e.BINARY_NUMBER_MODE,{className:"number",begin:"\\b(\\$[a-zA-Z0-9]+|0o[0-7]+)"},e.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",illegal:"[^\\\\][^']"},{className:"symbol",begin:"^[A-Za-z0-9_.$]+:"},{className:"meta",begin:"#",end:"$"},{className:"subst",begin:"@[0-9]+"}]}})),lk.registerLanguage("awk",kI?PI:(kI=1,PI=function(e){return{name:"Awk",keywords:{keyword:"BEGIN END if else while do for in break continue delete next nextfile function func exit|10"},contains:[{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,relevance:10},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},e.REGEXP_MODE,e.HASH_COMMENT_MODE,e.NUMBER_MODE]}})),lk.registerLanguage("axapta",UI?FI:(UI=1,FI=function(e){const t=e.UNDERSCORE_IDENT_RE,n={keyword:["abstract","as","asc","avg","break","breakpoint","by","byref","case","catch","changecompany","class","client","client","common","const","continue","count","crosscompany","delegate","delete_from","desc","display","div","do","edit","else","eventhandler","exists","extends","final","finally","firstfast","firstonly","firstonly1","firstonly10","firstonly100","firstonly1000","flush","for","forceliterals","forcenestedloop","forceplaceholders","forceselectorder","forupdate","from","generateonly","group","hint","if","implements","in","index","insert_recordset","interface","internal","is","join","like","maxof","minof","mod","namespace","new","next","nofetch","notexists","optimisticlock","order","outer","pessimisticlock","print","private","protected","public","readonly","repeatableread","retry","return","reverse","select","server","setting","static","sum","super","switch","this","throw","try","ttsabort","ttsbegin","ttscommit","unchecked","update_recordset","using","validtimestate","void","where","while"],built_in:["anytype","boolean","byte","char","container","date","double","enum","guid","int","int64","long","real","short","str","utcdatetime","var"],literal:["default","false","null","true"]},a={variants:[{match:[/(class|interface)\s+/,t,/\s+(extends|implements)\s+/,t]},{match:[/class\s+/,t]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:n};return{name:"X++",aliases:["x++"],keywords:n,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{className:"meta",begin:"#",end:"$"},a]}})),lk.registerLanguage("bash",GI?BI:(GI=1,BI=function(e){const t=e.regex,n={},a={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const r={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},i=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),o={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},s={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,r]};r.contains.push(s);const l={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},c=e.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),d={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],literal:["true","false"],built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]},contains:[c,e.SHEBANG(),d,l,i,o,{match:/(\/[a-z._-]+)+/},s,{match:/\\"/},{className:"string",begin:/'/,end:/'/},{match:/\\'/},n]}})),lk.registerLanguage("basic",VI?YI:(VI=1,YI=function(e){return{name:"BASIC",case_insensitive:!0,illegal:"^.",keywords:{$pattern:"[a-zA-Z][a-zA-Z0-9_$%!#]*",keyword:["ABS","ASC","AND","ATN","AUTO|0","BEEP","BLOAD|10","BSAVE|10","CALL","CALLS","CDBL","CHAIN","CHDIR","CHR$|10","CINT","CIRCLE","CLEAR","CLOSE","CLS","COLOR","COM","COMMON","CONT","COS","CSNG","CSRLIN","CVD","CVI","CVS","DATA","DATE$","DEFDBL","DEFINT","DEFSNG","DEFSTR","DEF|0","SEG","USR","DELETE","DIM","DRAW","EDIT","END","ENVIRON","ENVIRON$","EOF","EQV","ERASE","ERDEV","ERDEV$","ERL","ERR","ERROR","EXP","FIELD","FILES","FIX","FOR|0","FRE","GET","GOSUB|10","GOTO","HEX$","IF","THEN","ELSE|0","INKEY$","INP","INPUT","INPUT#","INPUT$","INSTR","IMP","INT","IOCTL","IOCTL$","KEY","ON","OFF","LIST","KILL","LEFT$","LEN","LET","LINE","LLIST","LOAD","LOC","LOCATE","LOF","LOG","LPRINT","USING","LSET","MERGE","MID$","MKDIR","MKD$","MKI$","MKS$","MOD","NAME","NEW","NEXT","NOISE","NOT","OCT$","ON","OR","PEN","PLAY","STRIG","OPEN","OPTION","BASE","OUT","PAINT","PALETTE","PCOPY","PEEK","PMAP","POINT","POKE","POS","PRINT","PRINT]","PSET","PRESET","PUT","RANDOMIZE","READ","REM","RENUM","RESET|0","RESTORE","RESUME","RETURN|0","RIGHT$","RMDIR","RND","RSET","RUN","SAVE","SCREEN","SGN","SHELL","SIN","SOUND","SPACE$","SPC","SQR","STEP","STICK","STOP","STR$","STRING$","SWAP","SYSTEM","TAB","TAN","TIME$","TIMER","TROFF","TRON","TO","USR","VAL","VARPTR","VARPTR$","VIEW","WAIT","WHILE","WEND","WIDTH","WINDOW","WRITE","XOR"]},contains:[{scope:"string",begin:/"/,end:/"|$/,contains:[e.BACKSLASH_ESCAPE]},e.COMMENT("REM","$",{relevance:10}),e.COMMENT("'","$",{relevance:0}),{className:"symbol",begin:"^[0-9]+ ",relevance:10},{className:"number",begin:"\\b\\d+(\\.\\d+)?([edED]\\d+)?[#!]?",relevance:0},{className:"number",begin:"(&[hH][0-9a-fA-F]{1,4})"},{className:"number",begin:"(&[oO][0-7]{1,6})"}]}})),lk.registerLanguage("bnf",zI?HI:(zI=1,HI=function(e){return{name:"Backus–Naur Form",contains:[{className:"attribute",begin://},{begin:/::=/,end:/$/,contains:[{begin://},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]}]}})),lk.registerLanguage("brainfuck",$I?qI:($I=1,qI=function(e){const t={className:"literal",begin:/[+-]+/,relevance:0};return{name:"Brainfuck",aliases:["bf"],contains:[e.COMMENT(/[^\[\]\.,\+\-<> \r\n]/,/[\[\]\.,\+\-<> \r\n]/,{contains:[{match:/[ ]+[^\[\]\.,\+\-<> \r\n]/,relevance:0}],returnEnd:!0,relevance:0}),{className:"title",begin:"[\\[\\]]",relevance:0},{className:"string",begin:"[\\.,]",relevance:0},{begin:/(?=\+\+|--)/,contains:[t]},t]}})),lk.registerLanguage("c",WI?jI:(WI=1,jI=function(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",i="("+a+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",o={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},s={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(s,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},u=t.optional(r)+e.IDENT_RE+"\\s*\\(",_={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},p=[c,o,n,e.C_BLOCK_COMMENT_MODE,l,s],m={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:_,contains:p.concat([{begin:/\(/,end:/\)/,keywords:_,contains:p.concat(["self"]),relevance:0}]),relevance:0},g={begin:"("+i+"[\\*&\\s]+)+"+u,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:_,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:_,relevance:0},{begin:u,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,s,l,o,{begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,s,l,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:_,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:c,strings:s,keywords:_}}})),lk.registerLanguage("cal",QI?KI:(QI=1,KI=function(e){const t=e.regex,n=["div","mod","in","and","or","not","xor","asserterror","begin","case","do","downto","else","end","exit","for","local","if","of","repeat","then","to","until","while","with","var"],a=[e.C_LINE_COMMENT_MODE,e.COMMENT(/\{/,/\}/,{relevance:0}),e.COMMENT(/\(\*/,/\*\)/,{relevance:10})],r={className:"string",begin:/'/,end:/'/,contains:[{begin:/''/}]},i={className:"string",begin:/(#\d+)+/},o={match:[/procedure/,/\s+/,/[a-zA-Z_][\w@]*/,/\s*/],scope:{1:"keyword",3:"title.function"},contains:[{className:"params",begin:/\(/,end:/\)/,keywords:n,contains:[r,i,e.NUMBER_MODE]},...a]},s={match:[/OBJECT/,/\s+/,t.either("Table","Form","Report","Dataport","Codeunit","XMLport","MenuSuite","Page","Query"),/\s+/,/\d+/,/\s+(?=[^\s])/,/.*/,/$/],relevance:3,scope:{1:"keyword",3:"type",5:"number",7:"title"}};return{name:"C/AL",case_insensitive:!0,keywords:{keyword:n,literal:"false true"},illegal:/\/\*/,contains:[{match:/[\w]+(?=\=)/,scope:"attribute",relevance:0},r,i,{className:"number",begin:"\\b\\d+(\\.\\d+)?(DT|D|T)",relevance:0},{className:"string",begin:'"',end:'"'},e.NUMBER_MODE,s,o]}})),lk.registerLanguage("capnproto",ZI?XI:(ZI=1,XI=function(e){const t={variants:[{match:[/(struct|enum|interface)/,/\s+/,e.IDENT_RE]},{match:[/extends/,/\s*\(/,e.IDENT_RE,/\s*\)/]}],scope:{1:"keyword",3:"title.class"}};return{name:"Cap’n Proto",aliases:["capnp"],keywords:{keyword:["struct","enum","interface","union","group","import","using","const","annotation","extends","in","of","on","as","with","from","fixed"],type:["Void","Bool","Int8","Int16","Int32","Int64","UInt8","UInt16","UInt32","UInt64","Float32","Float64","Text","Data","AnyPointer","AnyStruct","Capability","List"],literal:["true","false"]},contains:[e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.HASH_COMMENT_MODE,{className:"meta",begin:/@0x[\w\d]{16};/,illegal:/\n/},{className:"symbol",begin:/@\d+\b/},t]}})),lk.registerLanguage("ceylon",ew?JI:(ew=1,JI=function(e){const t=["assembly","module","package","import","alias","class","interface","object","given","value","assign","void","function","new","of","extends","satisfies","abstracts","in","out","return","break","continue","throw","assert","dynamic","if","else","switch","case","for","while","try","catch","finally","then","let","this","outer","super","is","exists","nonempty"],n={className:"subst",excludeBegin:!0,excludeEnd:!0,begin:/``/,end:/``/,keywords:t,relevance:10},a=[{className:"string",begin:'"""',end:'"""',relevance:10},{className:"string",begin:'"',end:'"',contains:[n]},{className:"string",begin:"'",end:"'"},{className:"number",begin:"#[0-9a-fA-F_]+|\\$[01_]+|[0-9_]+(?:\\.[0-9_](?:[eE][+-]?\\d+)?)?[kMGTPmunpf]?",relevance:0}];return n.contains=a,{name:"Ceylon",keywords:{keyword:t.concat(["shared","abstract","formal","default","actual","variable","late","native","deprecated","final","sealed","annotation","suppressWarnings","small"]),meta:["doc","by","license","see","throws","tagged"]},illegal:"\\$[^01]|#[^0-9a-fA-F]",contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]}),{className:"meta",begin:'@[a-z]\\w*(?::"[^"]*")?'}].concat(a)}})),lk.registerLanguage("clean",nw?tw:(nw=1,tw=function(e){return{name:"Clean",aliases:["icl","dcl"],keywords:{keyword:["if","let","in","with","where","case","of","class","instance","otherwise","implementation","definition","system","module","from","import","qualified","as","special","code","inline","foreign","export","ccall","stdcall","generic","derive","infix","infixl","infixr"],built_in:"Int Real Char Bool",literal:"True False"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{begin:"->|<-[|:]?|#!?|>>=|\\{\\||\\|\\}|:==|=:|<>"}]}})),lk.registerLanguage("clojure",rw?aw:(rw=1,aw=function(e){const t="a-zA-Z_\\-!.?+*=<>&'",n="[#]?["+t+"]["+t+"0-9/;:$#]*",a="def defonce defprotocol defstruct defmulti defmethod defn- defn defmacro deftype defrecord",r={$pattern:n,built_in:a+" cond apply if-not if-let if not not= =|0 <|0 >|0 <=|0 >=|0 ==|0 +|0 /|0 *|0 -|0 rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy first rest cons cast coll last butlast sigs reify second ffirst fnext nfirst nnext meta with-meta ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"},i={begin:n,relevance:0},o={scope:"number",relevance:0,variants:[{match:/[-+]?0[xX][0-9a-fA-F]+N?/},{match:/[-+]?0[0-7]+N?/},{match:/[-+]?[1-9][0-9]?[rR][0-9a-zA-Z]+N?/},{match:/[-+]?[0-9]+\/[0-9]+N?/},{match:/[-+]?[0-9]+((\.[0-9]*([eE][+-]?[0-9]+)?M?)|([eE][+-]?[0-9]+M?|M))/},{match:/[-+]?([1-9][0-9]*|0)N?/}]},s={scope:"character",variants:[{match:/\\o[0-3]?[0-7]{1,2}/},{match:/\\u[0-9a-fA-F]{4}/},{match:/\\(newline|space|tab|formfeed|backspace|return)/},{match:/\\\S/,relevance:0}]},l={scope:"regex",begin:/#"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]},c=e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),d={scope:"punctuation",match:/,/,relevance:0},u=e.COMMENT(";","$",{relevance:0}),_={className:"literal",begin:/\b(true|false|nil)\b/},p={begin:"\\[|(#::?"+n+")?\\{",end:"[\\]\\}]",relevance:0},m={className:"symbol",begin:"[:]{1,2}"+n},g={begin:"\\(",end:"\\)"},E={endsWithParent:!0,relevance:0},f={keywords:r,className:"name",begin:n,relevance:0,starts:E},S=[d,g,s,l,c,u,m,p,o,_,i],b={beginKeywords:a,keywords:{$pattern:n,keyword:a},end:'(\\[|#|\\d|"|:|\\{|\\)|\\(|$)',contains:[{className:"title",begin:n,relevance:0,excludeEnd:!0,endsParent:!0}].concat(S)};return g.contains=[b,f,E],E.contains=S,p.contains=S,{name:"Clojure",aliases:["clj","edn"],illegal:/\S/,contains:[d,g,s,l,c,u,m,p,o,_]}})),lk.registerLanguage("clojure-repl",ow?iw:(ow=1,iw=function(e){return{name:"Clojure REPL",contains:[{className:"meta.prompt",begin:/^([\w.-]+|\s*#_)?=>/,starts:{end:/$/,subLanguage:"clojure"}}]}})),lk.registerLanguage("cmake",lw?sw:(lw=1,sw=function(e){return{name:"CMake",aliases:["cmake.in"],case_insensitive:!0,keywords:{keyword:"break cmake_host_system_information cmake_minimum_required cmake_parse_arguments cmake_policy configure_file continue elseif else endforeach endfunction endif endmacro endwhile execute_process file find_file find_library find_package find_path find_program foreach function get_cmake_property get_directory_property get_filename_component get_property if include include_guard list macro mark_as_advanced math message option return separate_arguments set_directory_properties set_property set site_name string unset variable_watch while add_compile_definitions add_compile_options add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_link_options add_subdirectory add_test aux_source_directory build_command create_test_sourcelist define_property enable_language enable_testing export fltk_wrap_ui get_source_file_property get_target_property get_test_property include_directories include_external_msproject include_regular_expression install link_directories link_libraries load_cache project qt_wrap_cpp qt_wrap_ui remove_definitions set_source_files_properties set_target_properties set_tests_properties source_group target_compile_definitions target_compile_features target_compile_options target_include_directories target_link_directories target_link_libraries target_link_options target_sources try_compile try_run ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ctest_test ctest_update ctest_upload build_name exec_program export_library_dependencies install_files install_programs install_targets load_command make_directory output_required_files remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or not command policy target test exists is_newer_than is_directory is_symlink is_absolute matches less greater equal less_equal greater_equal strless strgreater strequal strless_equal strgreater_equal version_less version_greater version_equal version_less_equal version_greater_equal in_list defined"},contains:[{className:"variable",begin:/\$\{/,end:/\}/},e.COMMENT(/#\[\[/,/]]/),e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE]}})),lk.registerLanguage("coffeescript",function(){if(dw)return cw;dw=1;const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],t=["true","false","null","undefined","NaN","Infinity"],n=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return cw=function(a){const r={keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((i=["var","const","let","function","static"],e=>!i.includes(e))),literal:t.concat(["yes","no","on","off"]),built_in:n.concat(["npm","print"])};var i;const o="[A-Za-z$_][0-9A-Za-z$_]*",s={className:"subst",begin:/#\{/,end:/\}/,keywords:r},l=[a.BINARY_NUMBER_MODE,a.inherit(a.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[a.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[a.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[a.BACKSLASH_ESCAPE,s]},{begin:/"/,end:/"/,contains:[a.BACKSLASH_ESCAPE,s]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[s,a.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+o},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];s.contains=l;const c=a.inherit(a.TITLE_MODE,{begin:o}),d="(\\(.*\\)\\s*)?\\B[-=]>",u={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:r,contains:["self"].concat(l)}]},_={variants:[{match:[/class\s+/,o,/\s+extends\s+/,o]},{match:[/class\s+/,o]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:r};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:r,illegal:/\/\*/,contains:[...l,a.COMMENT("###","###"),a.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+o+"\\s*=\\s*"+d,end:"[-=]>",returnBegin:!0,contains:[c,u]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:d,end:"[-=]>",returnBegin:!0,contains:[u]}]},_,{begin:o+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}]}}}()),lk.registerLanguage("coq",_w?uw:(_w=1,uw=function(e){return{name:"Coq",keywords:{keyword:["_|0","as","at","cofix","else","end","exists","exists2","fix","for","forall","fun","if","IF","in","let","match","mod","Prop","return","Set","then","Type","using","where","with","Abort","About","Add","Admit","Admitted","All","Arguments","Assumptions","Axiom","Back","BackTo","Backtrack","Bind","Blacklist","Canonical","Cd","Check","Class","Classes","Close","Coercion","Coercions","CoFixpoint","CoInductive","Collection","Combined","Compute","Conjecture","Conjectures","Constant","constr","Constraint","Constructors","Context","Corollary","CreateHintDb","Cut","Declare","Defined","Definition","Delimit","Dependencies","Dependent","Derive","Drop","eauto","End","Equality","Eval","Example","Existential","Existentials","Existing","Export","exporting","Extern","Extract","Extraction","Fact","Field","Fields","File","Fixpoint","Focus","for","From","Function","Functional","Generalizable","Global","Goal","Grab","Grammar","Graph","Guarded","Heap","Hint","HintDb","Hints","Hypotheses","Hypothesis","ident","Identity","If","Immediate","Implicit","Import","Include","Inductive","Infix","Info","Initial","Inline","Inspect","Instance","Instances","Intro","Intros","Inversion","Inversion_clear","Language","Left","Lemma","Let","Libraries","Library","Load","LoadPath","Local","Locate","Ltac","ML","Mode","Module","Modules","Monomorphic","Morphism","Next","NoInline","Notation","Obligation","Obligations","Opaque","Open","Optimize","Options","Parameter","Parameters","Parametric","Path","Paths","pattern","Polymorphic","Preterm","Print","Printing","Program","Projections","Proof","Proposition","Pwd","Qed","Quit","Rec","Record","Recursive","Redirect","Relation","Remark","Remove","Require","Reserved","Reset","Resolve","Restart","Rewrite","Right","Ring","Rings","Save","Scheme","Scope","Scopes","Script","Search","SearchAbout","SearchHead","SearchPattern","SearchRewrite","Section","Separate","Set","Setoid","Show","Solve","Sorted","Step","Strategies","Strategy","Structure","SubClass","Table","Tables","Tactic","Term","Test","Theorem","Time","Timeout","Transparent","Type","Typeclasses","Types","Undelimit","Undo","Unfocus","Unfocused","Unfold","Universe","Universes","Unset","Unshelve","using","Variable","Variables","Variant","Verbose","Visibility","where","with"],built_in:["abstract","absurd","admit","after","apply","as","assert","assumption","at","auto","autorewrite","autounfold","before","bottom","btauto","by","case","case_eq","cbn","cbv","change","classical_left","classical_right","clear","clearbody","cofix","compare","compute","congruence","constr_eq","constructor","contradict","contradiction","cut","cutrewrite","cycle","decide","decompose","dependent","destruct","destruction","dintuition","discriminate","discrR","do","double","dtauto","eapply","eassumption","eauto","ecase","econstructor","edestruct","ediscriminate","eelim","eexact","eexists","einduction","einjection","eleft","elim","elimtype","enough","equality","erewrite","eright","esimplify_eq","esplit","evar","exact","exactly_once","exfalso","exists","f_equal","fail","field","field_simplify","field_simplify_eq","first","firstorder","fix","fold","fourier","functional","generalize","generalizing","gfail","give_up","has_evar","hnf","idtac","in","induction","injection","instantiate","intro","intro_pattern","intros","intuition","inversion","inversion_clear","is_evar","is_var","lapply","lazy","left","lia","lra","move","native_compute","nia","nsatz","omega","once","pattern","pose","progress","proof","psatz","quote","record","red","refine","reflexivity","remember","rename","repeat","replace","revert","revgoals","rewrite","rewrite_strat","right","ring","ring_simplify","rtauto","set","setoid_reflexivity","setoid_replace","setoid_rewrite","setoid_symmetry","setoid_transitivity","shelve","shelve_unifiable","simpl","simple","simplify_eq","solve","specialize","split","split_Rabs","split_Rmult","stepl","stepr","subst","sum","swap","symmetry","tactic","tauto","time","timeout","top","transitivity","trivial","try","tryif","unfold","unify","until","using","vm_compute","with"]},contains:[e.QUOTE_STRING_MODE,e.COMMENT("\\(\\*","\\*\\)"),e.C_NUMBER_MODE,{className:"type",excludeBegin:!0,begin:"\\|\\s*",end:"\\w+"},{begin:/[-=]>/}]}})),lk.registerLanguage("cos",mw?pw:(mw=1,pw=function(e){return{name:"Caché Object Script",case_insensitive:!0,aliases:["cls"],keywords:"property parameter class classmethod clientmethod extends as break catch close continue do d|0 else elseif for goto halt hang h|0 if job j|0 kill k|0 lock l|0 merge new open quit q|0 read r|0 return set s|0 tcommit throw trollback try tstart use view while write w|0 xecute x|0 zkill znspace zn ztrap zwrite zw zzdump zzwrite print zbreak zinsert zload zprint zremove zsave zzprint mv mvcall mvcrt mvdim mvprint zquit zsync ascii",contains:[{className:"number",begin:"\\b(\\d+(\\.\\d*)?|\\.\\d+)",relevance:0},{className:"string",variants:[{begin:'"',end:'"',contains:[{begin:'""',relevance:0}]}]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"comment",begin:/;/,end:"$",relevance:0},{className:"built_in",begin:/(?:\$\$?|\.\.)\^?[a-zA-Z]+/},{className:"built_in",begin:/\$\$\$[a-zA-Z]+/},{className:"built_in",begin:/%[a-z]+(?:\.[a-z]+)*/},{className:"symbol",begin:/\^%?[a-zA-Z][\w]*/},{className:"keyword",begin:/##class|##super|#define|#dim/},{begin:/&sql\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,subLanguage:"sql"},{begin:/&(js|jscript|javascript)/,excludeBegin:!0,excludeEnd:!0,subLanguage:"javascript"},{begin:/&html<\s*\s*>/,subLanguage:"xml"}]}})),lk.registerLanguage("cpp",Ew?gw:(Ew=1,gw=function(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",i="(?!struct)("+a+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(s,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},u=t.optional(r)+e.IDENT_RE+"\\s*\\(",_={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},p={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},m=[p,c,o,n,e.C_BLOCK_COMMENT_MODE,l,s],g={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:_,contains:m.concat([{begin:/\(/,end:/\)/,keywords:_,contains:m.concat(["self"]),relevance:0}]),relevance:0},E={className:"function",begin:"("+i+"[\\*&\\s]+)+"+u,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:_,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:_,relevance:0},{begin:u,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[s,l]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,s,l,o,{begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,s,l,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:_,illegal:"",keywords:_,contains:["self",o]},{begin:e.IDENT_RE+"::",keywords:_},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}})),lk.registerLanguage("crmsh",Sw?fw:(Sw=1,fw=function(e){const t="group clone ms master location colocation order fencing_topology rsc_ticket acl_target acl_group user role tag xml";return{name:"crmsh",aliases:["crm","pcmk"],case_insensitive:!0,keywords:{keyword:"params meta operations op rule attributes utilization read write deny defined not_defined in_range date spec in ref reference attribute type xpath version and or lt gt tag lte gte eq ne \\ number string",literal:"Master Started Slave Stopped start promote demote stop monitor true false"},contains:[e.HASH_COMMENT_MODE,{beginKeywords:"node",starts:{end:"\\s*([\\w_-]+:)?",starts:{className:"title",end:"\\s*[\\$\\w_][\\w_-]*"}}},{beginKeywords:"primitive rsc_template",starts:{className:"title",end:"\\s*[\\$\\w_][\\w_-]*",starts:{end:"\\s*@?[\\w_][\\w_\\.:-]*"}}},{begin:"\\b("+t.split(" ").join("|")+")\\s+",keywords:t,starts:{className:"title",end:"[\\$\\w_][\\w_-]*"}},{beginKeywords:"property rsc_defaults op_defaults",starts:{className:"title",end:"\\s*([\\w_-]+:)?"}},e.QUOTE_STRING_MODE,{className:"meta",begin:"(ocf|systemd|service|lsb):[\\w_:-]+",relevance:0},{className:"number",begin:"\\b\\d+(\\.\\d+)?(ms|s|h|m)?",relevance:0},{className:"literal",begin:"[-]?(infinity|inf)",relevance:0},{className:"attr",begin:/([A-Za-z$_#][\w_-]+)=/,relevance:0},{className:"tag",begin:"",relevance:0}]}})),lk.registerLanguage("crystal",hw?bw:(hw=1,bw=function(e){const t="(_?[ui](8|16|32|64|128))?",n="[a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|[=!]~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~|]|//|//=|&[-+*]=?|&\\*\\*|\\[\\][=?]?",a="[A-Za-z_]\\w*(::\\w+)*(\\?|!)?",r={$pattern:"[a-zA-Z_]\\w*[!?=]?",keyword:"abstract alias annotation as as? asm begin break case class def do else elsif end ensure enum extend for fun if include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? return require select self sizeof struct super then type typeof union uninitialized unless until verbatim when while with yield __DIR__ __END_LINE__ __FILE__ __LINE__",literal:"false nil true"},i={className:"subst",begin:/#\{/,end:/\}/,keywords:r},o={className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},s={className:"template-variable",variants:[{begin:"\\{\\{",end:"\\}\\}"},{begin:"\\{%",end:"%\\}"}],keywords:r};function l(e,t){const n=[{begin:e,end:t}];return n[0].contains=n,n}const c={className:"string",contains:[e.BACKSLASH_ESCAPE,i],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[Qwi]?\\(",end:"\\)",contains:l("\\(","\\)")},{begin:"%[Qwi]?\\[",end:"\\]",contains:l("\\[","\\]")},{begin:"%[Qwi]?\\{",end:/\}/,contains:l(/\{/,/\}/)},{begin:"%[Qwi]?<",end:">",contains:l("<",">")},{begin:"%[Qwi]?\\|",end:"\\|"},{begin:/<<-\w+$/,end:/^\s*\w+$/}],relevance:0},d={className:"string",variants:[{begin:"%q\\(",end:"\\)",contains:l("\\(","\\)")},{begin:"%q\\[",end:"\\]",contains:l("\\[","\\]")},{begin:"%q\\{",end:/\}/,contains:l(/\{/,/\}/)},{begin:"%q<",end:">",contains:l("<",">")},{begin:"%q\\|",end:"\\|"},{begin:/<<-'\w+'$/,end:/^\s*\w+$/}],relevance:0},u={begin:"(?!%\\})("+e.RE_STARTERS_RE+"|\\n|\\b(case|if|select|unless|until|when|while)\\b)\\s*",keywords:"case if select unless until when while",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,i],variants:[{begin:"//[a-z]*",relevance:0},{begin:"/(?!\\/)",end:"/[a-z]*"}]}],relevance:0},_=[s,c,d,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,i],variants:[{begin:"%r\\(",end:"\\)",contains:l("\\(","\\)")},{begin:"%r\\[",end:"\\]",contains:l("\\[","\\]")},{begin:"%r\\{",end:/\}/,contains:l(/\{/,/\}/)},{begin:"%r<",end:">",contains:l("<",">")},{begin:"%r\\|",end:"\\|"}],relevance:0},u,{className:"meta",begin:"@\\[",end:"\\]",contains:[e.inherit(e.QUOTE_STRING_MODE,{className:"string"})]},o,e.HASH_COMMENT_MODE,{className:"class",beginKeywords:"class module struct",end:"$|;",illegal:/=/,contains:[e.HASH_COMMENT_MODE,e.inherit(e.TITLE_MODE,{begin:a}),{begin:"<"}]},{className:"class",beginKeywords:"lib enum union",end:"$|;",illegal:/=/,contains:[e.HASH_COMMENT_MODE,e.inherit(e.TITLE_MODE,{begin:a})]},{beginKeywords:"annotation",end:"$|;",illegal:/=/,contains:[e.HASH_COMMENT_MODE,e.inherit(e.TITLE_MODE,{begin:a})],relevance:2},{className:"function",beginKeywords:"def",end:/\B\b/,contains:[e.inherit(e.TITLE_MODE,{begin:n,endsParent:!0})]},{className:"function",beginKeywords:"fun macro",end:/\B\b/,contains:[e.inherit(e.TITLE_MODE,{begin:n,endsParent:!0})],relevance:2},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":",contains:[c,{begin:n}],relevance:0},{className:"number",variants:[{begin:"\\b0b([01_]+)"+t},{begin:"\\b0o([0-7_]+)"+t},{begin:"\\b0x([A-Fa-f0-9_]+)"+t},{begin:"\\b([1-9][0-9_]*[0-9]|[0-9])(\\.[0-9][0-9_]*)?([eE]_?[-+]?[0-9_]*)?(_?f(32|64))?(?!_)"},{begin:"\\b([1-9][0-9_]*|0)"+t}],relevance:0}];return i.contains=_,s.contains=_.slice(1),{name:"Crystal",aliases:["cr"],keywords:r,contains:_}})),lk.registerLanguage("csharp",Tw?vw:(Tw=1,vw=function(e){const t={keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"]),built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],literal:["default","false","null","true"]},n=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},r={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},i=e.inherit(r,{illegal:/\n/}),o={className:"subst",begin:/\{/,end:/\}/,keywords:t},s=e.inherit(o,{illegal:/\n/}),l={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,s]},c={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},o]},d=e.inherit(c,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},s]});o.contains=[c,l,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],s.contains=[d,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const u={variants:[{className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},c,l,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},_={begin:"<",end:">",contains:[{beginKeywords:"in out"},n]},p=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",m={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:t,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},u,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},n,_,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[n,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[n,_,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+p+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:t,contains:[{beginKeywords:["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"].join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,_],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,relevance:0,contains:[u,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},m]}})),lk.registerLanguage("csp",Cw?yw:(Cw=1,yw=function(e){return{name:"CSP",case_insensitive:!1,keywords:{$pattern:"[a-zA-Z][a-zA-Z0-9_-]*",keyword:["base-uri","child-src","connect-src","default-src","font-src","form-action","frame-ancestors","frame-src","img-src","manifest-src","media-src","object-src","plugin-types","report-uri","sandbox","script-src","style-src","trusted-types","unsafe-hashes","worker-src"]},contains:[{className:"string",begin:"'",end:"'"},{className:"attribute",begin:"^Content",end:":",excludeEnd:!0}]}})),lk.registerLanguage("css",function(){if(Ow)return Rw;Ow=1;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),n=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),a=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),r=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();return Rw=function(i){const o=i.regex,s=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}))(i),l=[i.APOS_STRING_MODE,i.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[s.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},s.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},s.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+n.join("|")+")"},{begin:":(:)?("+a.join("|")+")"}]},s.CSS_VARIABLE,{className:"attribute",begin:"\\b("+r.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[s.BLOCK_COMMENT,s.HEXCOLOR,s.IMPORTANT,s.CSS_NUMBER_MODE,...l,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...l,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},s.FUNCTION_DISPATCH]},{begin:o.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:t.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...l,s.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+e.join("|")+")\\b"}]}}}()),lk.registerLanguage("d",Aw?Nw:(Aw=1,Nw=function(e){const t={$pattern:e.UNDERSCORE_IDENT_RE,keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},n="(0|[1-9][\\d_]*)",a="(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)",r="([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)",i="([eE][+-]?"+a+")",o="("+n+"|0[bB][01_]+|0[xX]"+r+")",s="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",l={className:"number",begin:"\\b"+o+"(L|u|U|Lu|LU|uL|UL)?",relevance:0},c={className:"number",begin:"\\b(((0[xX]("+r+"\\."+r+"|\\.?"+r+")[pP][+-]?"+a+")|("+a+"(\\.\\d*|"+i+")|\\d+\\."+a+"|\\."+n+i+"?))([fF]|L|i|[fF]i|Li)?|"+o+"(i|[fF]i|Li))",relevance:0},d={className:"string",begin:"'("+s+"|.)",end:"'",illegal:"."},u={className:"string",begin:'"',contains:[{begin:s,relevance:0}],end:'"[cwd]?'},_=e.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{name:"D",keywords:t,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,_,{className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10},u,{className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5},{className:"string",begin:"`",end:"`[cwd]?"},{className:"string",begin:'q"\\{',end:'\\}"'},c,l,d,{className:"meta",begin:"^#!",end:"$",relevance:5},{className:"meta",begin:"#(line)",end:"$",relevance:5},{className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"}]}})),lk.registerLanguage("markdown",ww?Iw:(ww=1,Iw=function(e){const t={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},n={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},a={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},r={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},i=e.inherit(a,{contains:[]}),o=e.inherit(r,{contains:[]});a.contains.push(o),r.contains.push(i);let s=[t,n];return[a,r,i,o].forEach(e=>{e.contains=e.contains.concat(s)}),s=s.concat(a,r),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:s},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:s}]}]},t,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a,r,{className:"quote",begin:"^>\\s+",contains:s,end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},n,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}})),lk.registerLanguage("dart",xw?Dw:(xw=1,Dw=function(e){const t={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"}]},n={className:"subst",variants:[{begin:/\$\{/,end:/\}/}],keywords:"true false null this is new super"},a={className:"number",relevance:0,variants:[{match:/\b[0-9][0-9_]*(\.[0-9][0-9_]*)?([eE][+-]?[0-9][0-9_]*)?\b/},{match:/\b0[xX][0-9A-Fa-f][0-9A-Fa-f_]*\b/}]},r={className:"string",variants:[{begin:"r'''",end:"'''"},{begin:'r"""',end:'"""'},{begin:"r'",end:"'",illegal:"\\n"},{begin:'r"',end:'"',illegal:"\\n"},{begin:"'''",end:"'''",contains:[e.BACKSLASH_ESCAPE,t,n]},{begin:'"""',end:'"""',contains:[e.BACKSLASH_ESCAPE,t,n]},{begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,t,n]},{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,t,n]}]};n.contains=[a,r];const i=["Comparable","DateTime","Duration","Function","Iterable","Iterator","List","Map","Match","Object","Pattern","RegExp","Set","Stopwatch","String","StringBuffer","StringSink","Symbol","Type","Uri","bool","double","int","num","Element","ElementList"],o=i.map(e=>`${e}?`);return{name:"Dart",keywords:{keyword:["abstract","as","assert","async","await","base","break","case","catch","class","const","continue","covariant","default","deferred","do","dynamic","else","enum","export","extends","extension","external","factory","false","final","finally","for","Function","get","hide","if","implements","import","in","interface","is","late","library","mixin","new","null","on","operator","part","required","rethrow","return","sealed","set","show","static","super","switch","sync","this","throw","true","try","typedef","var","void","when","while","with","yield"],built_in:i.concat(o).concat(["Never","Null","dynamic","print","document","querySelector","querySelectorAll","window"]),$pattern:/[A-Za-z][A-Za-z0-9_]*\??/},contains:[r,e.COMMENT(/\/\*\*(?!\/)/,/\*\//,{subLanguage:"markdown",relevance:0}),e.COMMENT(/\/{3,} ?/,/$/,{contains:[{subLanguage:"markdown",begin:".",end:"$",relevance:0}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"class interface",end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},a,{className:"meta",begin:"@[A-Za-z]+"},{begin:"=>"}]}})),lk.registerLanguage("delphi",Mw?Lw:(Mw=1,Lw=function(e){const t=["exports","register","file","shl","array","record","property","for","mod","while","set","ally","label","uses","raise","not","stored","class","safecall","var","interface","or","private","static","exit","index","inherited","to","else","stdcall","override","shr","asm","far","resourcestring","finalization","packed","virtual","out","and","protected","library","do","xorwrite","goto","near","function","end","div","overload","object","unit","begin","string","on","inline","repeat","until","destructor","write","message","program","with","read","initialization","except","default","nil","if","case","cdecl","in","downto","threadvar","of","try","pascal","const","external","constructor","type","public","then","implementation","finally","published","procedure","absolute","reintroduce","operator","as","is","abstract","alias","assembler","bitpacked","break","continue","cppdecl","cvar","enumerator","experimental","platform","deprecated","unimplemented","dynamic","export","far16","forward","generic","helper","implements","interrupt","iochecks","local","name","nodefault","noreturn","nostackframe","oldfpccall","otherwise","saveregisters","softfloat","specialize","strict","unaligned","varargs"],n=[e.C_LINE_COMMENT_MODE,e.COMMENT(/\{/,/\}/,{relevance:0}),e.COMMENT(/\(\*/,/\*\)/,{relevance:10})],a={className:"meta",variants:[{begin:/\{\$/,end:/\}/},{begin:/\(\*\$/,end:/\*\)/}]},r={className:"string",begin:/'/,end:/'/,contains:[{begin:/''/}]},i={className:"string",variants:[{match:/#\d[\d_]*/},{match:/#\$[\dA-Fa-f][\dA-Fa-f_]*/},{match:/#&[0-7][0-7_]*/},{match:/#%[01][01_]*/}]},o={begin:e.IDENT_RE+"\\s*=\\s*class\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE]},s={className:"function",beginKeywords:"function constructor destructor procedure",end:/[:;]/,keywords:"function constructor|10 destructor|10 procedure|10",contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,keywords:t,contains:[r,i,a].concat(n)},a].concat(n)};return{name:"Delphi",aliases:["dpr","dfm","pas","pascal"],case_insensitive:!0,keywords:t,illegal:/"|\$[G-Zg-z]|\/\*|<\/|\|/,contains:[r,i,{className:"number",relevance:0,variants:[{match:/\b\d[\d_]*(\.\d[\d_]*)?/},{match:/\$[\dA-Fa-f_]+/},{match:/\$/,relevance:0},{match:/&[0-7][0-7_]*/},{match:/%[01_]+/},{match:/%/,relevance:0}]},o,s,a].concat(n)}})),lk.registerLanguage("diff",kw?Pw:(kw=1,Pw=function(e){const t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}})),lk.registerLanguage("django",Uw?Fw:(Uw=1,Fw=function(e){const t={begin:/\|[A-Za-z]+:?/,keywords:{name:"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc timezone"},contains:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE]};return{name:"Django",aliases:["jinja"],case_insensitive:!0,subLanguage:"xml",contains:[e.COMMENT(/\{%\s*comment\s*%\}/,/\{%\s*endcomment\s*%\}/),e.COMMENT(/\{#/,/#\}/),{className:"template-tag",begin:/\{%/,end:/%\}/,contains:[{className:"name",begin:/\w+/,keywords:{name:"comment endcomment load templatetag ifchanged endifchanged if endif firstof for endfor ifnotequal endifnotequal widthratio extends include spaceless endspaceless regroup ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime endlocaltime timezone endtimezone get_current_timezone verbatim"},starts:{endsWithParent:!0,keywords:"in by as",contains:[t],relevance:0}}]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[t]}]}})),lk.registerLanguage("dns",Gw?Bw:(Gw=1,Bw=function(e){return{name:"DNS Zone",aliases:["bind","zone"],keywords:["IN","A","AAAA","AFSDB","APL","CAA","CDNSKEY","CDS","CERT","CNAME","DHCID","DLV","DNAME","DNSKEY","DS","HIP","IPSECKEY","KEY","KX","LOC","MX","NAPTR","NS","NSEC","NSEC3","NSEC3PARAM","PTR","RRSIG","RP","SIG","SOA","SRV","SSHFP","TA","TKEY","TLSA","TSIG","TXT"],contains:[e.COMMENT(";","$",{relevance:0}),{className:"meta",begin:/^\$(TTL|GENERATE|INCLUDE|ORIGIN)\b/},{className:"number",begin:"((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))\\b"},{className:"number",begin:"((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])\\b"},e.inherit(e.NUMBER_MODE,{begin:/\b\d+[dhwm]?/})]}})),lk.registerLanguage("dockerfile",Vw?Yw:(Vw=1,Yw=function(e){return{name:"Dockerfile",aliases:["docker"],case_insensitive:!0,keywords:["from","maintainer","expose","env","arg","user","onbuild","stopsignal"],contains:[e.HASH_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{beginKeywords:"run cmd entrypoint volume add copy workdir label healthcheck shell",starts:{end:/[^\\]$/,subLanguage:"bash"}}],illegal:"",illegal:"\\n"}]},t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},r={className:"variable",begin:/&[a-z\d_]*\b/};return{name:"Device Tree",contains:[{className:"title.class",begin:/^\/(?=\s*\{)/,relevance:10},r,{className:"keyword",begin:"/[a-z][a-z\\d-]*/"},{className:"symbol",begin:"^\\s*[a-zA-Z_][a-zA-Z\\d_]*:"},{className:"title.class",begin:/[a-zA-Z_][a-zA-Z\d_@-]*(?=\s\{)/,relevance:.2},{relevance:0,match:[/[a-z][a-z-,]+/,/\s*/,/=/],scope:{1:"attr",3:"operator"}},{match:/[a-z][a-z-,]+(?=;)/,relevance:0,scope:"attr"},{className:"params",relevance:0,begin:"<",end:">",contains:[n,r]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n,t,a,{scope:"punctuation",relevance:0,match:/\};|[;{}]/},{begin:e.IDENT_RE+"::",keywords:""}]}})),lk.registerLanguage("dust",Qw?Kw:(Qw=1,Kw=function(e){return{name:"Dust",aliases:["dst"],case_insensitive:!0,subLanguage:"xml",contains:[{className:"template-tag",begin:/\{[#\/]/,end:/\}/,illegal:/;/,contains:[{className:"name",begin:/[a-zA-Z\.-]+/,starts:{endsWithParent:!0,relevance:0,contains:[e.QUOTE_STRING_MODE]}}]},{className:"template-variable",begin:/\{/,end:/\}/,illegal:/;/,keywords:"if eq ne lt lte gt gte select default math sep"}]}})),lk.registerLanguage("ebnf",Zw?Xw:(Zw=1,Xw=function(e){const t=e.COMMENT(/\(\*/,/\*\)/);return{name:"Extended Backus-Naur Form",illegal:/\S/,contains:[t,{className:"attribute",begin:/^[ ]*[a-zA-Z]+([\s_-]+[a-zA-Z]+)*/},{begin:/=/,end:/[.;]/,contains:[t,{className:"meta",begin:/\?.*\?/},{className:"string",variants:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{begin:"`",end:"`"}]}]}]}})),lk.registerLanguage("elixir",eD?Jw:(eD=1,Jw=function(e){const t=e.regex,n="[a-zA-Z_][a-zA-Z0-9_.]*(!|\\?)?",a={$pattern:n,keyword:["after","alias","and","case","catch","cond","defstruct","defguard","do","else","end","fn","for","if","import","in","not","or","quote","raise","receive","require","reraise","rescue","try","unless","unquote","unquote_splicing","use","when","with|0"],literal:["false","nil","true"]},r={className:"subst",begin:/#\{/,end:/\}/,keywords:a},i={match:/\\[\s\S]/,scope:"char.escape",relevance:0},o="[/|([{<\"']",s=[{begin:/"/,end:/"/},{begin:/'/,end:/'/},{begin:/\//,end:/\//},{begin:/\|/,end:/\|/},{begin:/\(/,end:/\)/},{begin:/\[/,end:/\]/},{begin:/\{/,end:/\}/},{begin://}],l=e=>({scope:"char.escape",begin:t.concat(/\\/,e),relevance:0}),c={className:"string",begin:"~[a-z](?="+o+")",contains:s.map(t=>e.inherit(t,{contains:[l(t.end),i,r]}))},d={className:"string",begin:"~[A-Z](?="+o+")",contains:s.map(t=>e.inherit(t,{contains:[l(t.end)]}))},u={className:"regex",variants:[{begin:"~r(?="+o+")",contains:s.map(n=>e.inherit(n,{end:t.concat(n.end,/[uismxfU]{0,7}/),contains:[l(n.end),i,r]}))},{begin:"~R(?="+o+")",contains:s.map(n=>e.inherit(n,{end:t.concat(n.end,/[uismxfU]{0,7}/),contains:[l(n.end)]}))}]},_={className:"string",contains:[e.BACKSLASH_ESCAPE,r],variants:[{begin:/"""/,end:/"""/},{begin:/'''/,end:/'''/},{begin:/~S"""/,end:/"""/,contains:[]},{begin:/~S"/,end:/"/,contains:[]},{begin:/~S'''/,end:/'''/,contains:[]},{begin:/~S'/,end:/'/,contains:[]},{begin:/'/,end:/'/},{begin:/"/,end:/"/}]},p={className:"function",beginKeywords:"def defp defmacro defmacrop",end:/\B\b/,contains:[e.inherit(e.TITLE_MODE,{begin:n,endsParent:!0})]},m=e.inherit(p,{className:"class",beginKeywords:"defimpl defmodule defprotocol defrecord",end:/\bdo\b|$|;/}),g=[_,u,d,c,e.HASH_COMMENT_MODE,m,p,{begin:"::"},{className:"symbol",begin:":(?![\\s:])",contains:[_,{begin:"[a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?"}],relevance:0},{className:"symbol",begin:n+":(?!:)",relevance:0},{className:"title.class",begin:/(\b[A-Z][a-zA-Z0-9_]+)/,relevance:0},{className:"number",begin:"(\\b0o[0-7_]+)|(\\b0b[01_]+)|(\\b0x[0-9a-fA-F_]+)|(-?\\b[0-9][0-9_]*(\\.[0-9_]+([eE][-+]?[0-9]+)?)?)",relevance:0},{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))"}];return r.contains=g,{name:"Elixir",aliases:["ex","exs"],keywords:a,contains:g}})),lk.registerLanguage("elm",nD?tD:(nD=1,tD=function(e){const t={variants:[e.COMMENT("--","$"),e.COMMENT(/\{-/,/-\}/,{contains:["self"]})]},n={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},a={begin:"\\(",end:"\\)",illegal:'"',contains:[{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},t]};return{name:"Elm",keywords:["let","in","if","then","else","case","of","where","module","import","exposing","type","alias","as","infix","infixl","infixr","port","effect","command","subscription"],contains:[{beginKeywords:"port effect module",end:"exposing",keywords:"port effect module where command subscription exposing",contains:[a,t],illegal:"\\W\\.|;"},{begin:"import",end:"$",keywords:"import as exposing",contains:[a,t],illegal:"\\W\\.|;"},{begin:"type",end:"$",keywords:"type alias",contains:[n,a,{begin:/\{/,end:/\}/,contains:a.contains},t]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,t]},{begin:"port",end:"$",keywords:"port",contains:[t]},{className:"string",begin:"'\\\\?.",end:"'",illegal:"."},e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,n,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),t,{begin:"->|<-"}],illegal:/;/}})),lk.registerLanguage("ruby",rD?aD:(rD=1,aD=function(e){const t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),r=t.concat(a,/(::\w+)*/),i={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},o={className:"doctag",begin:"@[A-Za-z]+"},s={begin:"#<",end:">"},l=[e.COMMENT("#","$",{contains:[o]}),e.COMMENT("^=begin","^=end",{contains:[o],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/,end:/\}/,keywords:i},d={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},u="[0-9](_?[0-9])*",_={className:"number",relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${u}))?([eE][+-]?(${u})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},p={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:i}]},m=[d,{variants:[{match:[/class\s+/,r,/\s+<\s+/,r]},{match:[/\b(class|module)\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:i},{match:[/(include|extend)\s+/,r],scope:{2:"title.class"},keywords:i},{relevance:0,match:[r,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[p]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[d,{begin:n}],relevance:0},_,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:i},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(s,l),relevance:0}].concat(s,l);c.contains=m,p.contains=m;const g=[{begin:/^\s*=>/,starts:{end:"$",contains:m}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:i,contains:m}}];return l.unshift(s),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:i,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(g).concat(l).concat(m)}})),lk.registerLanguage("erb",oD?iD:(oD=1,iD=function(e){return{name:"ERB",subLanguage:"xml",contains:[e.COMMENT("<%#","%>"),{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0}]}})),lk.registerLanguage("erlang-repl",lD?sD:(lD=1,sD=function(e){const t=e.regex;return{name:"Erlang REPL",keywords:{built_in:"spawn spawn_link self",keyword:"after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse|10 query receive rem try when xor"},contains:[{className:"meta.prompt",begin:"^[0-9]+> ",relevance:10},e.COMMENT("%","$"),{className:"number",begin:"\\b(\\d+(_\\d+)*#[a-fA-F0-9]+(_[a-fA-F0-9]+)*|\\d+(_\\d+)*(\\.\\d+(_\\d+)*)?([eE][-+]?\\d+)?)",relevance:0},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{begin:t.concat(/\?(::)?/,/([A-Z]\w*)/,/((::)[A-Z]\w*)*/)},{begin:"->"},{begin:"ok"},{begin:"!"},{begin:"(\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\b[a-z'][a-zA-Z0-9_']*)",relevance:0},{begin:"[A-Z][a-zA-Z0-9_']*",relevance:0}]}})),lk.registerLanguage("erlang",dD?cD:(dD=1,cD=function(e){const t="[a-z'][a-zA-Z0-9_']*",n="("+t+":"+t+"|"+t+")",a={keyword:"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor maybe else",literal:"false true"},r=e.COMMENT("%","$"),i={className:"number",begin:"\\b(\\d+(_\\d+)*#[a-fA-F0-9]+(_[a-fA-F0-9]+)*|\\d+(_\\d+)*(\\.\\d+(_\\d+)*)?([eE][-+]?\\d+)?)",relevance:0},o={begin:"fun\\s+"+t+"/\\d+"},s={begin:n+"\\(",end:"\\)",returnBegin:!0,relevance:0,contains:[{begin:n,relevance:0},{begin:"\\(",end:"\\)",endsWithParent:!0,returnEnd:!0,relevance:0}]},l={begin:/\{/,end:/\}/,relevance:0},c={begin:"\\b_([A-Z][A-Za-z0-9_]*)?",relevance:0},d={begin:"[A-Z][a-zA-Z0-9_]*",relevance:0},u={begin:"#"+e.UNDERSCORE_IDENT_RE,relevance:0,returnBegin:!0,contains:[{begin:"#"+e.UNDERSCORE_IDENT_RE,relevance:0},{begin:/\{/,end:/\}/,relevance:0}]},_={scope:"string",match:/\$(\\([^0-9]|[0-9]{1,3}|)|.)/},p={scope:"string",match:/"""("*)(?!")[\s\S]*?"""\1/},m={scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{match:/~\w?"""("*)(?!")[\s\S]*?"""\1/},{begin:/~\w?\(/,end:/\)/},{begin:/~\w?\[/,end:/\]/},{begin:/~\w?{/,end:/}/},{begin:/~\w?/},{begin:/~\w?\//,end:/\//},{begin:/~\w?\|/,end:/\|/},{begin:/~\w?'/,end:/'/},{begin:/~\w?"/,end:/"/},{begin:/~\w?`/,end:/`/},{begin:/~\w?#/,end:/#/}]},g={beginKeywords:"fun receive if try case maybe",end:"end",keywords:a};g.contains=[r,o,e.inherit(e.APOS_STRING_MODE,{className:""}),g,s,m,p,e.QUOTE_STRING_MODE,i,l,c,d,u,_];const E=[r,o,g,s,m,p,e.QUOTE_STRING_MODE,i,l,c,d,u,_];s.contains[1].contains=E,l.contains=E,u.contains[1].contains=E;const f={className:"params",begin:"\\(",end:"\\)",contains:E};return{name:"Erlang",aliases:["erl"],keywords:a,illegal:"(",returnBegin:!0,illegal:"\\(|#|//|/\\*|\\\\|:|;",contains:[f,e.inherit(e.TITLE_MODE,{begin:t})],starts:{end:";|\\.",keywords:a,contains:E}},r,{begin:"^-",end:"\\.",relevance:0,excludeEnd:!0,returnBegin:!0,keywords:{$pattern:"-"+e.IDENT_RE,keyword:["-module","-record","-undef","-export","-ifdef","-ifndef","-author","-copyright","-doc","-moduledoc","-vsn","-import","-include","-include_lib","-compile","-define","-else","-endif","-file","-behaviour","-behavior","-spec","-on_load","-nifs"].map(e=>`${e}|1.5`).join(" ")},contains:[f,m,p,e.QUOTE_STRING_MODE]},i,m,p,e.QUOTE_STRING_MODE,u,c,d,l,_,{begin:/\.$/}]}})),lk.registerLanguage("excel",_D?uD:(_D=1,uD=function(e){return{name:"Excel formulae",aliases:["xlsx","xls"],case_insensitive:!0,keywords:{$pattern:/[a-zA-Z][\w\.]*/,built_in:["ABS","ACCRINT","ACCRINTM","ACOS","ACOSH","ACOT","ACOTH","AGGREGATE","ADDRESS","AMORDEGRC","AMORLINC","AND","ARABIC","AREAS","ARRAYTOTEXT","ASC","ASIN","ASINH","ATAN","ATAN2","ATANH","AVEDEV","AVERAGE","AVERAGEA","AVERAGEIF","AVERAGEIFS","BAHTTEXT","BASE","BESSELI","BESSELJ","BESSELK","BESSELY","BETADIST","BETA.DIST","BETAINV","BETA.INV","BIN2DEC","BIN2HEX","BIN2OCT","BINOMDIST","BINOM.DIST","BINOM.DIST.RANGE","BINOM.INV","BITAND","BITLSHIFT","BITOR","BITRSHIFT","BITXOR","BYCOL","BYROW","CALL","CEILING","CEILING.MATH","CEILING.PRECISE","CELL","CHAR","CHIDIST","CHIINV","CHITEST","CHISQ.DIST","CHISQ.DIST.RT","CHISQ.INV","CHISQ.INV.RT","CHISQ.TEST","CHOOSE","CHOOSECOLS","CHOOSEROWS","CLEAN","CODE","COLUMN","COLUMNS","COMBIN","COMBINA","COMPLEX","CONCAT","CONCATENATE","CONFIDENCE","CONFIDENCE.NORM","CONFIDENCE.T","CONVERT","CORREL","COS","COSH","COT","COTH","COUNT","COUNTA","COUNTBLANK","COUNTIF","COUNTIFS","COUPDAYBS","COUPDAYS","COUPDAYSNC","COUPNCD","COUPNUM","COUPPCD","COVAR","COVARIANCE.P","COVARIANCE.S","CRITBINOM","CSC","CSCH","CUBEKPIMEMBER","CUBEMEMBER","CUBEMEMBERPROPERTY","CUBERANKEDMEMBER","CUBESET","CUBESETCOUNT","CUBEVALUE","CUMIPMT","CUMPRINC","DATE","DATEDIF","DATEVALUE","DAVERAGE","DAY","DAYS","DAYS360","DB","DBCS","DCOUNT","DCOUNTA","DDB","DEC2BIN","DEC2HEX","DEC2OCT","DECIMAL","DEGREES","DELTA","DEVSQ","DGET","DISC","DMAX","DMIN","DOLLAR","DOLLARDE","DOLLARFR","DPRODUCT","DROP","DSTDEV","DSTDEVP","DSUM","DURATION","DVAR","DVARP","EDATE","EFFECT","ENCODEURL","EOMONTH","ERF","ERF.PRECISE","ERFC","ERFC.PRECISE","ERROR.TYPE","EUROCONVERT","EVEN","EXACT","EXP","EXPAND","EXPON.DIST","EXPONDIST","FACT","FACTDOUBLE","FALSE","F.DIST","FDIST","F.DIST.RT","FILTER","FILTERXML","FIND","FINDB","F.INV","F.INV.RT","FINV","FISHER","FISHERINV","FIXED","FLOOR","FLOOR.MATH","FLOOR.PRECISE","FORECAST","FORECAST.ETS","FORECAST.ETS.CONFINT","FORECAST.ETS.SEASONALITY","FORECAST.ETS.STAT","FORECAST.LINEAR","FORMULATEXT","FREQUENCY","F.TEST","FTEST","FV","FVSCHEDULE","GAMMA","GAMMA.DIST","GAMMADIST","GAMMA.INV","GAMMAINV","GAMMALN","GAMMALN.PRECISE","GAUSS","GCD","GEOMEAN","GESTEP","GETPIVOTDATA","GROWTH","HARMEAN","HEX2BIN","HEX2DEC","HEX2OCT","HLOOKUP","HOUR","HSTACK","HYPERLINK","HYPGEOM.DIST","HYPGEOMDIST","IF","IFERROR","IFNA","IFS","IMABS","IMAGE","IMAGINARY","IMARGUMENT","IMCONJUGATE","IMCOS","IMCOSH","IMCOT","IMCSC","IMCSCH","IMDIV","IMEXP","IMLN","IMLOG10","IMLOG2","IMPOWER","IMPRODUCT","IMREAL","IMSEC","IMSECH","IMSIN","IMSINH","IMSQRT","IMSUB","IMSUM","IMTAN","INDEX","INDIRECT","INFO","INT","INTERCEPT","INTRATE","IPMT","IRR","ISBLANK","ISERR","ISERROR","ISEVEN","ISFORMULA","ISLOGICAL","ISNA","ISNONTEXT","ISNUMBER","ISODD","ISOMITTED","ISREF","ISTEXT","ISO.CEILING","ISOWEEKNUM","ISPMT","JIS","KURT","LAMBDA","LARGE","LCM","LEFT","LEFTB","LEN","LENB","LET","LINEST","LN","LOG","LOG10","LOGEST","LOGINV","LOGNORM.DIST","LOGNORMDIST","LOGNORM.INV","LOOKUP","LOWER","MAKEARRAY","MAP","MATCH","MAX","MAXA","MAXIFS","MDETERM","MDURATION","MEDIAN","MID","MIDB","MIN","MINIFS","MINA","MINUTE","MINVERSE","MIRR","MMULT","MOD","MODE","MODE.MULT","MODE.SNGL","MONTH","MROUND","MULTINOMIAL","MUNIT","N","NA","NEGBINOM.DIST","NEGBINOMDIST","NETWORKDAYS","NETWORKDAYS.INTL","NOMINAL","NORM.DIST","NORMDIST","NORMINV","NORM.INV","NORM.S.DIST","NORMSDIST","NORM.S.INV","NORMSINV","NOT","NOW","NPER","NPV","NUMBERVALUE","OCT2BIN","OCT2DEC","OCT2HEX","ODD","ODDFPRICE","ODDFYIELD","ODDLPRICE","ODDLYIELD","OFFSET","OR","PDURATION","PEARSON","PERCENTILE.EXC","PERCENTILE.INC","PERCENTILE","PERCENTRANK.EXC","PERCENTRANK.INC","PERCENTRANK","PERMUT","PERMUTATIONA","PHI","PHONETIC","PI","PMT","POISSON.DIST","POISSON","POWER","PPMT","PRICE","PRICEDISC","PRICEMAT","PROB","PRODUCT","PROPER","PV","QUARTILE","QUARTILE.EXC","QUARTILE.INC","QUOTIENT","RADIANS","RAND","RANDARRAY","RANDBETWEEN","RANK.AVG","RANK.EQ","RANK","RATE","RECEIVED","REDUCE","REGISTER.ID","REPLACE","REPLACEB","REPT","RIGHT","RIGHTB","ROMAN","ROUND","ROUNDDOWN","ROUNDUP","ROW","ROWS","RRI","RSQ","RTD","SCAN","SEARCH","SEARCHB","SEC","SECH","SECOND","SEQUENCE","SERIESSUM","SHEET","SHEETS","SIGN","SIN","SINH","SKEW","SKEW.P","SLN","SLOPE","SMALL","SORT","SORTBY","SQRT","SQRTPI","SQL.REQUEST","STANDARDIZE","STOCKHISTORY","STDEV","STDEV.P","STDEV.S","STDEVA","STDEVP","STDEVPA","STEYX","SUBSTITUTE","SUBTOTAL","SUM","SUMIF","SUMIFS","SUMPRODUCT","SUMSQ","SUMX2MY2","SUMX2PY2","SUMXMY2","SWITCH","SYD","T","TAN","TANH","TAKE","TBILLEQ","TBILLPRICE","TBILLYIELD","T.DIST","T.DIST.2T","T.DIST.RT","TDIST","TEXT","TEXTAFTER","TEXTBEFORE","TEXTJOIN","TEXTSPLIT","TIME","TIMEVALUE","T.INV","T.INV.2T","TINV","TOCOL","TOROW","TODAY","TRANSPOSE","TREND","TRIM","TRIMMEAN","TRUE","TRUNC","T.TEST","TTEST","TYPE","UNICHAR","UNICODE","UNIQUE","UPPER","VALUE","VALUETOTEXT","VAR","VAR.P","VAR.S","VARA","VARP","VARPA","VDB","VLOOKUP","VSTACK","WEBSERVICE","WEEKDAY","WEEKNUM","WEIBULL","WEIBULL.DIST","WORKDAY","WORKDAY.INTL","WRAPCOLS","WRAPROWS","XIRR","XLOOKUP","XMATCH","XNPV","XOR","YEAR","YEARFRAC","YIELD","YIELDDISC","YIELDMAT","Z.TEST","ZTEST"]},contains:[{begin:/^=/,end:/[^=]/,returnEnd:!0,illegal:/=/,relevance:10},{className:"symbol",begin:/\b[A-Z]{1,2}\d+\b/,end:/[^\d]/,excludeEnd:!0,relevance:0},{className:"symbol",begin:/[A-Z]{0,2}\d*:[A-Z]{0,2}\d*/,relevance:0},e.BACKSLASH_ESCAPE,e.QUOTE_STRING_MODE,{className:"number",begin:e.NUMBER_RE+"(%)?",relevance:0},e.COMMENT(/\bN\(/,/\)/,{excludeBegin:!0,excludeEnd:!0,illegal:/\n/})]}})),lk.registerLanguage("fix",mD?pD:(mD=1,pD=function(e){return{name:"FIX",contains:[{begin:/[^\u2401\u0001]+/,end:/[\u2401\u0001]/,excludeEnd:!0,returnBegin:!0,returnEnd:!1,contains:[{begin:/([^\u2401\u0001=]+)/,end:/=([^\u2401\u0001=]+)/,returnEnd:!0,returnBegin:!1,className:"attr"},{begin:/=/,end:/([\u2401\u0001])/,excludeEnd:!0,excludeBegin:!0,className:"string"}]}],case_insensitive:!0}})),lk.registerLanguage("flix",ED?gD:(ED=1,gD=function(e){const t={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[{className:"title",relevance:0,begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/}]};return{name:"Flix",keywords:{keyword:["case","class","def","else","enum","if","impl","import","in","lat","rel","index","let","match","namespace","switch","type","yield","with"],literal:["true","false"]},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},{className:"string",variants:[{begin:'"',end:'"'}]},t,e.C_NUMBER_MODE]}})),lk.registerLanguage("fortran",SD?fD:(SD=1,fD=function(e){const t=e.regex,n={variants:[e.COMMENT("!","$",{relevance:0}),e.COMMENT("^C[ ]","$",{relevance:0}),e.COMMENT("^C$","$",{relevance:0})]},a=/(_[a-z_\d]+)?/,r=/([de][+-]?\d+)?/,i={className:"number",variants:[{begin:t.concat(/\b\d+/,/\.(\d*)/,r,a)},{begin:t.concat(/\b\d+/,r,a)},{begin:t.concat(/\.\d+/,r,a)}],relevance:0},o={className:"function",beginKeywords:"subroutine function program",illegal:"[${=\\n]",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)"}]};return{name:"Fortran",case_insensitive:!0,aliases:["f90","f95"],keywords:{$pattern:/\b[a-z][a-z0-9_]+\b|\.[a-z][a-z0-9_]+\./,keyword:["kind","do","concurrent","local","shared","while","private","call","intrinsic","where","elsewhere","type","endtype","endmodule","endselect","endinterface","end","enddo","endif","if","forall","endforall","only","contains","default","return","stop","then","block","endblock","endassociate","public","subroutine|10","function","program",".and.",".or.",".not.",".le.",".eq.",".ge.",".gt.",".lt.","goto","save","else","use","module","select","case","access","blank","direct","exist","file","fmt","form","formatted","iostat","name","named","nextrec","number","opened","rec","recl","sequential","status","unformatted","unit","continue","format","pause","cycle","exit","c_null_char","c_alert","c_backspace","c_form_feed","flush","wait","decimal","round","iomsg","synchronous","nopass","non_overridable","pass","protected","volatile","abstract","extends","import","non_intrinsic","value","deferred","generic","final","enumerator","class","associate","bind","enum","c_int","c_short","c_long","c_long_long","c_signed_char","c_size_t","c_int8_t","c_int16_t","c_int32_t","c_int64_t","c_int_least8_t","c_int_least16_t","c_int_least32_t","c_int_least64_t","c_int_fast8_t","c_int_fast16_t","c_int_fast32_t","c_int_fast64_t","c_intmax_t","C_intptr_t","c_float","c_double","c_long_double","c_float_complex","c_double_complex","c_long_double_complex","c_bool","c_char","c_null_ptr","c_null_funptr","c_new_line","c_carriage_return","c_horizontal_tab","c_vertical_tab","iso_c_binding","c_loc","c_funloc","c_associated","c_f_pointer","c_ptr","c_funptr","iso_fortran_env","character_storage_size","error_unit","file_storage_size","input_unit","iostat_end","iostat_eor","numeric_storage_size","output_unit","c_f_procpointer","ieee_arithmetic","ieee_support_underflow_control","ieee_get_underflow_mode","ieee_set_underflow_mode","newunit","contiguous","recursive","pad","position","action","delim","readwrite","eor","advance","nml","interface","procedure","namelist","include","sequence","elemental","pure","impure","integer","real","character","complex","logical","codimension","dimension","allocatable|10","parameter","external","implicit|10","none","double","precision","assign","intent","optional","pointer","target","in","out","common","equivalence","data"],literal:[".False.",".True."],built_in:["alog","alog10","amax0","amax1","amin0","amin1","amod","cabs","ccos","cexp","clog","csin","csqrt","dabs","dacos","dasin","datan","datan2","dcos","dcosh","ddim","dexp","dint","dlog","dlog10","dmax1","dmin1","dmod","dnint","dsign","dsin","dsinh","dsqrt","dtan","dtanh","float","iabs","idim","idint","idnint","ifix","isign","max0","max1","min0","min1","sngl","algama","cdabs","cdcos","cdexp","cdlog","cdsin","cdsqrt","cqabs","cqcos","cqexp","cqlog","cqsin","cqsqrt","dcmplx","dconjg","derf","derfc","dfloat","dgamma","dimag","dlgama","iqint","qabs","qacos","qasin","qatan","qatan2","qcmplx","qconjg","qcos","qcosh","qdim","qerf","qerfc","qexp","qgamma","qimag","qlgama","qlog","qlog10","qmax1","qmin1","qmod","qnint","qsign","qsin","qsinh","qsqrt","qtan","qtanh","abs","acos","aimag","aint","anint","asin","atan","atan2","char","cmplx","conjg","cos","cosh","exp","ichar","index","int","log","log10","max","min","nint","sign","sin","sinh","sqrt","tan","tanh","print","write","dim","lge","lgt","lle","llt","mod","nullify","allocate","deallocate","adjustl","adjustr","all","allocated","any","associated","bit_size","btest","ceiling","count","cshift","date_and_time","digits","dot_product","eoshift","epsilon","exponent","floor","fraction","huge","iand","ibclr","ibits","ibset","ieor","ior","ishft","ishftc","lbound","len_trim","matmul","maxexponent","maxloc","maxval","merge","minexponent","minloc","minval","modulo","mvbits","nearest","pack","present","product","radix","random_number","random_seed","range","repeat","reshape","rrspacing","scale","scan","selected_int_kind","selected_real_kind","set_exponent","shape","size","spacing","spread","sum","system_clock","tiny","transpose","trim","ubound","unpack","verify","achar","iachar","transfer","dble","entry","dprod","cpu_time","command_argument_count","get_command","get_command_argument","get_environment_variable","is_iostat_end","ieee_arithmetic","ieee_support_underflow_control","ieee_get_underflow_mode","ieee_set_underflow_mode","is_iostat_eor","move_alloc","new_line","selected_char_kind","same_type_as","extends_type_of","acosh","asinh","atanh","bessel_j0","bessel_j1","bessel_jn","bessel_y0","bessel_y1","bessel_yn","erf","erfc","erfc_scaled","gamma","log_gamma","hypot","norm2","atomic_define","atomic_ref","execute_command_line","leadz","trailz","storage_size","merge_bits","bge","bgt","ble","blt","dshiftl","dshiftr","findloc","iall","iany","iparity","image_index","lcobound","ucobound","maskl","maskr","num_images","parity","popcnt","poppar","shifta","shiftl","shiftr","this_image","sync","change","team","co_broadcast","co_max","co_min","co_sum","co_reduce"]},illegal:/\/\*/,contains:[{className:"string",relevance:0,variants:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},o,{begin:/^C\s*=(?!=)/,relevance:0},n,i]}})),lk.registerLanguage("fsharp",function(){if(hD)return bD;function e(e){return new RegExp(e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}function t(e){return e?"string"==typeof e?e:e.source:null}function n(e){return a("(?=",e,")")}function a(...e){return e.map(e=>t(e)).join("")}function r(...e){const n=function(e){const t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}(e);return"("+(n.capture?"":"?:")+e.map(e=>t(e)).join("|")+")"}return hD=1,bD=function(t){const i={scope:"keyword",match:/\b(yield|return|let|do|match|use)!/},o=["bool","byte","sbyte","int8","int16","int32","uint8","uint16","uint32","int","uint","int64","uint64","nativeint","unativeint","decimal","float","double","float32","single","char","string","unit","bigint","option","voption","list","array","seq","byref","exn","inref","nativeptr","obj","outref","voidptr","Result"],s={keyword:["abstract","and","as","assert","base","begin","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","extern","finally","fixed","for","fun","function","global","if","in","inherit","inline","interface","internal","lazy","let","match","member","module","mutable","namespace","new","of","open","or","override","private","public","rec","return","static","struct","then","to","try","type","upcast","use","val","void","when","while","with","yield"],literal:["true","false","null","Some","None","Ok","Error","infinity","infinityf","nan","nanf"],built_in:["not","ref","raise","reraise","dict","readOnlyDict","set","get","enum","sizeof","typeof","typedefof","nameof","nullArg","invalidArg","invalidOp","id","fst","snd","ignore","lock","using","box","unbox","tryUnbox","printf","printfn","sprintf","eprintf","eprintfn","fprintf","fprintfn","failwith","failwithf"],"variable.constant":["__LINE__","__SOURCE_DIRECTORY__","__SOURCE_FILE__"]},l={variants:[t.COMMENT(/\(\*(?!\))/,/\*\)/,{contains:["self"]}),t.C_LINE_COMMENT_MODE]},c={scope:"variable",begin:/``/,end:/``/},d=/\B('|\^)/,u={scope:"symbol",variants:[{match:a(d,/``.*?``/)},{match:a(d,t.UNDERSCORE_IDENT_RE)}],relevance:0},_=function({includeEqual:t}){let i;i=t?"!%&*+-/<=>@^|~?":"!%&*+-/<>@^|~?";const o=a("[",...Array.from(i).map(e),"]"),s=r(o,/\./),l=a(s,n(s)),c=r(a(l,s,"*"),a(o,"+"));return{scope:"operator",match:r(c,/:\?>/,/:\?/,/:>/,/:=/,/::?/,/\$/),relevance:0}},p=_({includeEqual:!0}),m=_({includeEqual:!1}),g=function(e,i){return{begin:a(e,n(a(/\s*/,r(/\w/,/'/,/\^/,/#/,/``/,/\(/,/{\|/)))),beginScope:i,end:n(r(/\n/,/=/)),relevance:0,keywords:t.inherit(s,{type:o}),contains:[l,u,t.inherit(c,{scope:null}),m]}},E=g(/:/,"operator"),f=g(/\bof\b/,"keyword"),S={begin:[/(^|\s+)/,/type/,/\s+/,/[a-zA-Z_](\w|')*/],beginScope:{2:"keyword",4:"title.class"},end:n(/\(|=|$/),keywords:s,contains:[l,t.inherit(c,{scope:null}),u,{scope:"operator",match:/<|>/},E]},b={scope:"computation-expression",match:/\b[_a-z]\w*(?=\s*\{)/},h={begin:[/^\s*/,a(/#/,r("if","else","endif","line","nowarn","light","r","i","I","load","time","help","quit")),/\b/],beginScope:{2:"meta"},end:n(/\s|$/)},v={variants:[t.BINARY_NUMBER_MODE,t.C_NUMBER_MODE]},T={scope:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE]},y={scope:"string",begin:/@"/,end:/"/,contains:[{match:/""/},t.BACKSLASH_ESCAPE]},C={scope:"string",begin:/"""/,end:/"""/,relevance:2},R={scope:"subst",begin:/\{/,end:/\}/,keywords:s},O={scope:"string",begin:/\$"/,end:/"/,contains:[{match:/\{\{/},{match:/\}\}/},t.BACKSLASH_ESCAPE,R]},N={scope:"string",begin:/(\$@|@\$)"/,end:/"/,contains:[{match:/\{\{/},{match:/\}\}/},{match:/""/},t.BACKSLASH_ESCAPE,R]},A={scope:"string",begin:/\$"""/,end:/"""/,contains:[{match:/\{\{/},{match:/\}\}/},R],relevance:2},I={scope:"string",match:a(/'/,r(/[^\\']/,/\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8})/),/'/)};return R.contains=[N,O,y,T,I,i,l,c,E,b,h,v,u,p],{name:"F#",aliases:["fs","f#"],keywords:s,illegal:/\/\*/,classNameAliases:{"computation-expression":"keyword"},contains:[i,{variants:[A,N,O,C,y,T,I]},l,c,S,{scope:"meta",begin:/\[\]/,relevance:2,contains:[c,C,y,T,I,v]},f,E,b,h,v,u,p]}}}()),lk.registerLanguage("gams",TD?vD:(TD=1,vD=function(e){const t=e.regex,n={keyword:"abort acronym acronyms alias all and assign binary card diag display else eq file files for free ge gt if integer le loop lt maximizing minimizing model models ne negative no not option options or ord positive prod put putpage puttl repeat sameas semicont semiint smax smin solve sos1 sos2 sum system table then until using while xor yes",literal:"eps inf na",built_in:"abs arccos arcsin arctan arctan2 Beta betaReg binomial ceil centropy cos cosh cvPower div div0 eDist entropy errorf execSeed exp fact floor frac gamma gammaReg log logBeta logGamma log10 log2 mapVal max min mod ncpCM ncpF ncpVUpow ncpVUsin normal pi poly power randBinomial randLinear randTriangle round rPower sigmoid sign signPower sin sinh slexp sllog10 slrec sqexp sqlog10 sqr sqrec sqrt tan tanh trunc uniform uniformInt vcPower bool_and bool_eqv bool_imp bool_not bool_or bool_xor ifThen rel_eq rel_ge rel_gt rel_le rel_lt rel_ne gday gdow ghour gleap gmillisec gminute gmonth gsecond gyear jdate jnow jstart jtime errorLevel execError gamsRelease gamsVersion handleCollect handleDelete handleStatus handleSubmit heapFree heapLimit heapSize jobHandle jobKill jobStatus jobTerminate licenseLevel licenseStatus maxExecError sleep timeClose timeComp timeElapsed timeExec timeStart"},a={className:"symbol",variants:[{begin:/=[lgenxc]=/},{begin:/\$/}]},r={className:"comment",variants:[{begin:"'",end:"'"},{begin:'"',end:'"'}],illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},i={begin:"/",end:"/",keywords:n,contains:[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_NUMBER_MODE]},o=/[a-z0-9&#*=?@\\><:,()$[\]_.{}!+%^-]+/,s={begin:/[a-z][a-z0-9_]*(\([a-z0-9_, ]*\))?[ \t]+/,excludeBegin:!0,end:"$",endsWithParent:!0,contains:[r,i,{className:"comment",begin:t.concat(o,t.anyNumberOfTimes(t.concat(/[ ]+/,o))),relevance:0}]};return{name:"GAMS",aliases:["gms"],case_insensitive:!0,keywords:n,contains:[e.COMMENT(/^\$ontext/,/^\$offtext/),{className:"meta",begin:"^\\$[a-z0-9]+",end:"$",returnBegin:!0,contains:[{className:"keyword",begin:"^\\$[a-z0-9]+"}]},e.COMMENT("^\\*","$"),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{beginKeywords:"set sets parameter parameters variable variables scalar scalars equation equations",end:";",contains:[e.COMMENT("^\\*","$"),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,i,s]},{beginKeywords:"table",end:";",returnBegin:!0,contains:[{beginKeywords:"table",end:"$",contains:[s]},e.COMMENT("^\\*","$"),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_NUMBER_MODE]},{className:"function",begin:/^[a-z][a-z0-9_,\-+' ()$]+\.{2}/,returnBegin:!0,contains:[{className:"title",begin:/^[a-z0-9_]+/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0},a]},e.C_NUMBER_MODE,a]}})),lk.registerLanguage("gauss",CD?yD:(CD=1,yD=function(e){const t={keyword:"bool break call callexe checkinterrupt clear clearg closeall cls comlog compile continue create debug declare delete disable dlibrary dllcall do dos ed edit else elseif enable end endfor endif endp endo errorlog errorlogat expr external fn for format goto gosub graph if keyword let lib library line load loadarray loadexe loadf loadk loadm loadp loads loadx local locate loopnextindex lprint lpwidth lshow matrix msym ndpclex new open output outwidth plot plotsym pop prcsn print printdos proc push retp return rndcon rndmod rndmult rndseed run save saveall screen scroll setarray show sparse stop string struct system trace trap threadfor threadendfor threadbegin threadjoin threadstat threadend until use while winprint ne ge le gt lt and xor or not eq eqv",built_in:"abs acf aconcat aeye amax amean AmericanBinomCall AmericanBinomCall_Greeks AmericanBinomCall_ImpVol AmericanBinomPut AmericanBinomPut_Greeks AmericanBinomPut_ImpVol AmericanBSCall AmericanBSCall_Greeks AmericanBSCall_ImpVol AmericanBSPut AmericanBSPut_Greeks AmericanBSPut_ImpVol amin amult annotationGetDefaults annotationSetBkd annotationSetFont annotationSetLineColor annotationSetLineStyle annotationSetLineThickness annualTradingDays arccos arcsin areshape arrayalloc arrayindex arrayinit arraytomat asciiload asclabel astd astds asum atan atan2 atranspose axmargin balance band bandchol bandcholsol bandltsol bandrv bandsolpd bar base10 begwind besselj bessely beta box boxcox cdfBeta cdfBetaInv cdfBinomial cdfBinomialInv cdfBvn cdfBvn2 cdfBvn2e cdfCauchy cdfCauchyInv cdfChic cdfChii cdfChinc cdfChincInv cdfExp cdfExpInv cdfFc cdfFnc cdfFncInv cdfGam cdfGenPareto cdfHyperGeo cdfLaplace cdfLaplaceInv cdfLogistic cdfLogisticInv cdfmControlCreate cdfMvn cdfMvn2e cdfMvnce cdfMvne cdfMvt2e cdfMvtce cdfMvte cdfN cdfN2 cdfNc cdfNegBinomial cdfNegBinomialInv cdfNi cdfPoisson cdfPoissonInv cdfRayleigh cdfRayleighInv cdfTc cdfTci cdfTnc cdfTvn cdfWeibull cdfWeibullInv cdir ceil ChangeDir chdir chiBarSquare chol choldn cholsol cholup chrs close code cols colsf combinate combinated complex con cond conj cons ConScore contour conv convertsatostr convertstrtosa corrm corrms corrvc corrx corrxs cos cosh counts countwts crossprd crout croutp csrcol csrlin csvReadM csvReadSA cumprodc cumsumc curve cvtos datacreate datacreatecomplex datalist dataload dataloop dataopen datasave date datestr datestring datestrymd dayinyr dayofweek dbAddDatabase dbClose dbCommit dbCreateQuery dbExecQuery dbGetConnectOptions dbGetDatabaseName dbGetDriverName dbGetDrivers dbGetHostName dbGetLastErrorNum dbGetLastErrorText dbGetNumericalPrecPolicy dbGetPassword dbGetPort dbGetTableHeaders dbGetTables dbGetUserName dbHasFeature dbIsDriverAvailable dbIsOpen dbIsOpenError dbOpen dbQueryBindValue dbQueryClear dbQueryCols dbQueryExecPrepared dbQueryFetchAllM dbQueryFetchAllSA dbQueryFetchOneM dbQueryFetchOneSA dbQueryFinish dbQueryGetBoundValue dbQueryGetBoundValues dbQueryGetField dbQueryGetLastErrorNum dbQueryGetLastErrorText dbQueryGetLastInsertID dbQueryGetLastQuery dbQueryGetPosition dbQueryIsActive dbQueryIsForwardOnly dbQueryIsNull dbQueryIsSelect dbQueryIsValid dbQueryPrepare dbQueryRows dbQuerySeek dbQuerySeekFirst dbQuerySeekLast dbQuerySeekNext dbQuerySeekPrevious dbQuerySetForwardOnly dbRemoveDatabase dbRollback dbSetConnectOptions dbSetDatabaseName dbSetHostName dbSetNumericalPrecPolicy dbSetPort dbSetUserName dbTransaction DeleteFile delif delrows denseToSp denseToSpRE denToZero design det detl dfft dffti diag diagrv digamma doswin DOSWinCloseall DOSWinOpen dotfeq dotfeqmt dotfge dotfgemt dotfgt dotfgtmt dotfle dotflemt dotflt dotfltmt dotfne dotfnemt draw drop dsCreate dstat dstatmt dstatmtControlCreate dtdate dtday dttime dttodtv dttostr dttoutc dtvnormal dtvtodt dtvtoutc dummy dummybr dummydn eig eigh eighv eigv elapsedTradingDays endwind envget eof eqSolve eqSolvemt eqSolvemtControlCreate eqSolvemtOutCreate eqSolveset erf erfc erfccplx erfcplx error etdays ethsec etstr EuropeanBinomCall EuropeanBinomCall_Greeks EuropeanBinomCall_ImpVol EuropeanBinomPut EuropeanBinomPut_Greeks EuropeanBinomPut_ImpVol EuropeanBSCall EuropeanBSCall_Greeks EuropeanBSCall_ImpVol EuropeanBSPut EuropeanBSPut_Greeks EuropeanBSPut_ImpVol exctsmpl exec execbg exp extern eye fcheckerr fclearerr feq feqmt fflush fft ffti fftm fftmi fftn fge fgemt fgets fgetsa fgetsat fgetst fgt fgtmt fileinfo filesa fle flemt floor flt fltmt fmod fne fnemt fonts fopen formatcv formatnv fputs fputst fseek fstrerror ftell ftocv ftos ftostrC gamma gammacplx gammaii gausset gdaAppend gdaCreate gdaDStat gdaDStatMat gdaGetIndex gdaGetName gdaGetNames gdaGetOrders gdaGetType gdaGetTypes gdaGetVarInfo gdaIsCplx gdaLoad gdaPack gdaRead gdaReadByIndex gdaReadSome gdaReadSparse gdaReadStruct gdaReportVarInfo gdaSave gdaUpdate gdaUpdateAndPack gdaVars gdaWrite gdaWrite32 gdaWriteSome getarray getdims getf getGAUSShome getmatrix getmatrix4D getname getnamef getNextTradingDay getNextWeekDay getnr getorders getpath getPreviousTradingDay getPreviousWeekDay getRow getscalar3D getscalar4D getTrRow getwind glm gradcplx gradMT gradMTm gradMTT gradMTTm gradp graphprt graphset hasimag header headermt hess hessMT hessMTg hessMTgw hessMTm hessMTmw hessMTT hessMTTg hessMTTgw hessMTTm hessMTw hessp hist histf histp hsec imag indcv indexcat indices indices2 indicesf indicesfn indnv indsav integrate1d integrateControlCreate intgrat2 intgrat3 inthp1 inthp2 inthp3 inthp4 inthpControlCreate intquad1 intquad2 intquad3 intrleav intrleavsa intrsect intsimp inv invpd invswp iscplx iscplxf isden isinfnanmiss ismiss key keyav keyw lag lag1 lagn lapEighb lapEighi lapEighvb lapEighvi lapgEig lapgEigh lapgEighv lapgEigv lapgSchur lapgSvdcst lapgSvds lapgSvdst lapSvdcusv lapSvds lapSvdusv ldlp ldlsol linSolve listwise ln lncdfbvn lncdfbvn2 lncdfmvn lncdfn lncdfn2 lncdfnc lnfact lngammacplx lnpdfmvn lnpdfmvt lnpdfn lnpdft loadd loadstruct loadwind loess loessmt loessmtControlCreate log loglog logx logy lower lowmat lowmat1 ltrisol lu lusol machEpsilon make makevars makewind margin matalloc matinit mattoarray maxbytes maxc maxindc maxv maxvec mbesselei mbesselei0 mbesselei1 mbesseli mbesseli0 mbesseli1 meanc median mergeby mergevar minc minindc minv miss missex missrv moment momentd movingave movingaveExpwgt movingaveWgt nextindex nextn nextnevn nextwind ntos null null1 numCombinations ols olsmt olsmtControlCreate olsqr olsqr2 olsqrmt ones optn optnevn orth outtyp pacf packedToSp packr parse pause pdfCauchy pdfChi pdfExp pdfGenPareto pdfHyperGeo pdfLaplace pdfLogistic pdfn pdfPoisson pdfRayleigh pdfWeibull pi pinv pinvmt plotAddArrow plotAddBar plotAddBox plotAddHist plotAddHistF plotAddHistP plotAddPolar plotAddScatter plotAddShape plotAddTextbox plotAddTS plotAddXY plotArea plotBar plotBox plotClearLayout plotContour plotCustomLayout plotGetDefaults plotHist plotHistF plotHistP plotLayout plotLogLog plotLogX plotLogY plotOpenWindow plotPolar plotSave plotScatter plotSetAxesPen plotSetBar plotSetBarFill plotSetBarStacked plotSetBkdColor plotSetFill plotSetGrid plotSetLegend plotSetLineColor plotSetLineStyle plotSetLineSymbol plotSetLineThickness plotSetNewWindow plotSetTitle plotSetWhichYAxis plotSetXAxisShow plotSetXLabel plotSetXRange plotSetXTicInterval plotSetXTicLabel plotSetYAxisShow plotSetYLabel plotSetYRange plotSetZAxisShow plotSetZLabel plotSurface plotTS plotXY polar polychar polyeval polygamma polyint polymake polymat polymroot polymult polyroot pqgwin previousindex princomp printfm printfmt prodc psi putarray putf putvals pvCreate pvGetIndex pvGetParNames pvGetParVector pvLength pvList pvPack pvPacki pvPackm pvPackmi pvPacks pvPacksi pvPacksm pvPacksmi pvPutParVector pvTest pvUnpack QNewton QNewtonmt QNewtonmtControlCreate QNewtonmtOutCreate QNewtonSet QProg QProgmt QProgmtInCreate qqr qqre qqrep qr qre qrep qrsol qrtsol qtyr qtyre qtyrep quantile quantiled qyr qyre qyrep qz rank rankindx readr real reclassify reclassifyCuts recode recserar recsercp recserrc rerun rescale reshape rets rev rfft rffti rfftip rfftn rfftnp rfftp rndBernoulli rndBeta rndBinomial rndCauchy rndChiSquare rndCon rndCreateState rndExp rndGamma rndGeo rndGumbel rndHyperGeo rndi rndKMbeta rndKMgam rndKMi rndKMn rndKMnb rndKMp rndKMu rndKMvm rndLaplace rndLCbeta rndLCgam rndLCi rndLCn rndLCnb rndLCp rndLCu rndLCvm rndLogNorm rndMTu rndMVn rndMVt rndn rndnb rndNegBinomial rndp rndPoisson rndRayleigh rndStateSkip rndu rndvm rndWeibull rndWishart rotater round rows rowsf rref sampleData satostrC saved saveStruct savewind scale scale3d scalerr scalinfnanmiss scalmiss schtoc schur searchsourcepath seekr select selif seqa seqm setdif setdifsa setvars setvwrmode setwind shell shiftr sin singleindex sinh sleep solpd sortc sortcc sortd sorthc sorthcc sortind sortindc sortmc sortr sortrc spBiconjGradSol spChol spConjGradSol spCreate spDenseSubmat spDiagRvMat spEigv spEye spLDL spline spLU spNumNZE spOnes spreadSheetReadM spreadSheetReadSA spreadSheetWrite spScale spSubmat spToDense spTrTDense spTScalar spZeros sqpSolve sqpSolveMT sqpSolveMTControlCreate sqpSolveMTlagrangeCreate sqpSolveMToutCreate sqpSolveSet sqrt statements stdc stdsc stocv stof strcombine strindx strlen strput strrindx strsect strsplit strsplitPad strtodt strtof strtofcplx strtriml strtrimr strtrunc strtruncl strtruncpad strtruncr submat subscat substute subvec sumc sumr surface svd svd1 svd2 svdcusv svds svdusv sysstate tab tan tanh tempname time timedt timestr timeutc title tkf2eps tkf2ps tocart todaydt toeplitz token topolar trapchk trigamma trimr trunc type typecv typef union unionsa uniqindx uniqindxsa unique uniquesa upmat upmat1 upper utctodt utctodtv utrisol vals varCovMS varCovXS varget vargetl varmall varmares varput varputl vartypef vcm vcms vcx vcxs vec vech vecr vector vget view viewxyz vlist vnamecv volume vput vread vtypecv wait waitc walkindex where window writer xlabel xlsGetSheetCount xlsGetSheetSize xlsGetSheetTypes xlsMakeRange xlsReadM xlsReadSA xlsWrite xlsWriteM xlsWriteSA xpnd xtics xy xyz ylabel ytics zeros zeta zlabel ztics cdfEmpirical dot h5create h5open h5read h5readAttribute h5write h5writeAttribute ldl plotAddErrorBar plotAddSurface plotCDFEmpirical plotSetColormap plotSetContourLabels plotSetLegendFont plotSetTextInterpreter plotSetXTicCount plotSetYTicCount plotSetZLevels powerm strjoin sylvester strtrim",literal:"DB_AFTER_LAST_ROW DB_ALL_TABLES DB_BATCH_OPERATIONS DB_BEFORE_FIRST_ROW DB_BLOB DB_EVENT_NOTIFICATIONS DB_FINISH_QUERY DB_HIGH_PRECISION DB_LAST_INSERT_ID DB_LOW_PRECISION_DOUBLE DB_LOW_PRECISION_INT32 DB_LOW_PRECISION_INT64 DB_LOW_PRECISION_NUMBERS DB_MULTIPLE_RESULT_SETS DB_NAMED_PLACEHOLDERS DB_POSITIONAL_PLACEHOLDERS DB_PREPARED_QUERIES DB_QUERY_SIZE DB_SIMPLE_LOCKING DB_SYSTEM_TABLES DB_TABLES DB_TRANSACTIONS DB_UNICODE DB_VIEWS __STDIN __STDOUT __STDERR __FILE_DIR"},n=e.COMMENT("@","@"),a={className:"meta",begin:"#",end:"$",keywords:{keyword:"define definecs|10 undef ifdef ifndef iflight ifdllcall ifmac ifos2win ifunix else endif lineson linesoff srcfile srcline"},contains:[{begin:/\\\n/,relevance:0},{beginKeywords:"include",end:"$",keywords:{keyword:"include"},contains:[{className:"string",begin:'"',end:'"',illegal:"\\n"}]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n]},r={begin:/\bstruct\s+/,end:/\s/,keywords:"struct",contains:[{className:"type",begin:e.UNDERSCORE_IDENT_RE,relevance:0}]},i=[{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,endsWithParent:!0,relevance:0,contains:[{className:"literal",begin:/\.\.\./},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,r]}],o={className:"title",begin:e.UNDERSCORE_IDENT_RE,relevance:0},s=function(t,a,r){const s=e.inherit({className:"function",beginKeywords:t,end:a,excludeEnd:!0,contains:[].concat(i)},{});return s.contains.push(o),s.contains.push(e.C_NUMBER_MODE),s.contains.push(e.C_BLOCK_COMMENT_MODE),s.contains.push(n),s},l={className:"built_in",begin:"\\b("+t.built_in.split(" ").join("|")+")\\b"},c={className:"string",begin:'"',end:'"',contains:[e.BACKSLASH_ESCAPE],relevance:0},d={begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,keywords:t,relevance:0,contains:[{beginKeywords:t.keyword},l,{className:"built_in",begin:e.UNDERSCORE_IDENT_RE,relevance:0}]},u={begin:/\(/,end:/\)/,relevance:0,keywords:{built_in:t.built_in,literal:t.literal},contains:[e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,l,d,c,"self"]};return d.contains.push(u),{name:"GAUSS",aliases:["gss"],case_insensitive:!0,keywords:t,illegal:/(\{[%#]|[%#]\}| <- )/,contains:[e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n,c,a,{className:"keyword",begin:/\bexternal (matrix|string|array|sparse matrix|struct|proc|keyword|fn)/},s("proc keyword",";"),s("fn","="),{beginKeywords:"for threadfor",end:/;/,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE,n,u]},{variants:[{begin:e.UNDERSCORE_IDENT_RE+"\\."+e.UNDERSCORE_IDENT_RE},{begin:e.UNDERSCORE_IDENT_RE+"\\s*="}],relevance:0},d,r]}})),lk.registerLanguage("gcode",OD?RD:(OD=1,RD=function(e){const t=e.regex,n=/\b/;function a(e,t){if(0===e.index)return;const n=e.input[e.index-1];n>="0"&&n<="9"||"_"!==n&&t.ignoreMatch()}const r=/[+-]?((\.\d+)|(\d+)(\.\d*)?)/,i=/[GM]\s*\d+(\.\d+)?/,o=/T\s*\d+/,s=/O\s*\d+/,l=/O<.+>/,c=/[ABCUVWXYZ]\s*/,d=/[FHIJKPQRS]\s*/;return{name:"G-code (ISO 6983)",aliases:["nc"],case_insensitive:!0,disableAutodetect:!0,keywords:{$pattern:/[A-Z]+|%/,keyword:["THEN","ELSE","ENDIF","IF","GOTO","DO","WHILE","WH","END","CALL","SUB","ENDSUB","EQ","NE","LT","GT","LE","GE","AND","OR","XOR","%"],built_in:["ATAN","ABS","ACOS","ASIN","COS","EXP","FIX","FUP","ROUND","LN","SIN","SQRT","TAN","EXISTS"]},contains:[e.COMMENT(/\(/,/\)/),e.COMMENT(/;/,/$/),e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{scope:"title.function",variants:[{match:t.concat(n,i)},{begin:i,"on:begin":a},{match:t.concat(n,o)},{begin:o,"on:begin":a}]},{scope:"symbol",variants:[{match:t.concat(n,s)},{begin:s,"on:begin":a},{match:t.concat(n,l)},{begin:l,"on:begin":a},{match:/\*\s*\d+\s*$/}]},{scope:"operator",match:/^N\s*\d+/},{scope:"variable",match:/-?#\s*\d+/},{scope:"property",variants:[{match:t.concat(n,c,r)},{begin:t.concat(c,r),"on:begin":a}]},{scope:"params",variants:[{match:t.concat(n,d,r)},{begin:t.concat(d,r),"on:begin":a}]}]}})),lk.registerLanguage("gherkin",AD?ND:(AD=1,ND=function(e){return{name:"Gherkin",aliases:["feature"],keywords:"Feature Background Ability Business Need Scenario Scenarios Scenario Outline Scenario Template Examples Given And Then But When",contains:[{className:"symbol",begin:"\\*",relevance:0},{className:"meta",begin:"@[^@\\s]+"},{begin:"\\|",end:"\\|\\w*$",contains:[{className:"string",begin:"[^|]+"}]},{className:"variable",begin:"<",end:">"},e.HASH_COMMENT_MODE,{className:"string",begin:'"""',end:'"""'},e.QUOTE_STRING_MODE]}})),lk.registerLanguage("glsl",wD?ID:(wD=1,ID=function(e){return{name:"GLSL",keywords:{keyword:"break continue discard do else for if return while switch case default attribute binding buffer ccw centroid centroid varying coherent column_major const cw depth_any depth_greater depth_less depth_unchanged early_fragment_tests equal_spacing flat fractional_even_spacing fractional_odd_spacing highp in index inout invariant invocations isolines layout line_strip lines lines_adjacency local_size_x local_size_y local_size_z location lowp max_vertices mediump noperspective offset origin_upper_left out packed patch pixel_center_integer point_mode points precise precision quads r11f_g11f_b10f r16 r16_snorm r16f r16i r16ui r32f r32i r32ui r8 r8_snorm r8i r8ui readonly restrict rg16 rg16_snorm rg16f rg16i rg16ui rg32f rg32i rg32ui rg8 rg8_snorm rg8i rg8ui rgb10_a2 rgb10_a2ui rgba16 rgba16_snorm rgba16f rgba16i rgba16ui rgba32f rgba32i rgba32ui rgba8 rgba8_snorm rgba8i rgba8ui row_major sample shared smooth std140 std430 stream triangle_strip triangles triangles_adjacency uniform varying vertices volatile writeonly",type:"atomic_uint bool bvec2 bvec3 bvec4 dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 double dvec2 dvec3 dvec4 float iimage1D iimage1DArray iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBuffer iimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray image2DRect image3D imageBuffer imageCube imageCubeArray int isampler1D isampler1DArray isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 sampler1D sampler1DArray sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow image1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube uimageCubeArray uint usampler1D usampler1DArray usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D samplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 vec2 vec3 vec4 void",built_in:"gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxComputeAtomicCounterBuffers gl_MaxComputeAtomicCounters gl_MaxComputeImageUniforms gl_MaxComputeTextureImageUnits gl_MaxComputeUniformComponents gl_MaxComputeWorkGroupCount gl_MaxComputeWorkGroupSize gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentInputVectors gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms gl_MaxVertexOutputComponents gl_MaxVertexOutputVectors gl_MaxVertexTextureImageUnits gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffset gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial gl_FrontSecondaryColor gl_GlobalInvocationID gl_InstanceID gl_InvocationID gl_Layer gl_LightModel gl_LightSource gl_LocalInvocationID gl_LocalInvocationIndex gl_ModelViewMatrix gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_Normal gl_NormalMatrix gl_NormalScale gl_NumSamples gl_NumWorkGroups gl_ObjectPlaneQ gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_Point gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter gl_TexCoord gl_TextureEnvColor gl_TextureMatrix gl_TextureMatrixInverse gl_TextureMatrixInverseTranspose gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_WorkGroupID gl_WorkGroupSize gl_in gl_out EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin asinh atan atanh atomicAdd atomicAnd atomicCompSwap atomicCounter atomicCounterDecrement atomicCounterIncrement atomicExchange atomicMax atomicMin atomicOr atomicXor barrier bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan greaterThanEqual groupMemoryBarrier imageAtomicAdd imageAtomicAnd imageAtomicCompSwap imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad imageSize imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log log2 matrixCompMult max memoryBarrier memoryBarrierAtomicCounter memoryBarrierBuffer memoryBarrierImage memoryBarrierShared min mix mod modf noise1 noise2 noise3 noise4 normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset textureProjLod textureProjLodOffset textureProjOffset textureQueryLevels textureQueryLod textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow",literal:"true false"},illegal:'"',contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,{className:"meta",begin:"#",end:"$"}]}})),lk.registerLanguage("gml",xD?DD:(xD=1,DD=function(e){return{name:"GML",case_insensitive:!1,keywords:{keyword:["#endregion","#macro","#region","and","begin","break","case","constructor","continue","default","delete","div","do","else","end","enum","exit","for","function","globalvar","if","mod","new","not","or","repeat","return","static","switch","then","until","var","while","with","xor"],built_in:["abs","alarm_get","alarm_set","angle_difference","animcurve_channel_evaluate","animcurve_channel_new","animcurve_create","animcurve_destroy","animcurve_exists","animcurve_get","animcurve_get_channel","animcurve_get_channel_index","animcurve_point_new","ansi_char","application_get_position","application_surface_draw_enable","application_surface_enable","application_surface_is_enabled","arccos","arcsin","arctan","arctan2","array_all","array_any","array_concat","array_contains","array_contains_ext","array_copy","array_copy_while","array_create","array_create_ext","array_delete","array_equals","array_filter","array_filter_ext","array_find_index","array_first","array_foreach","array_get","array_get_index","array_insert","array_intersection","array_last","array_length","array_map","array_map_ext","array_pop","array_push","array_reduce","array_resize","array_reverse","array_reverse_ext","array_set","array_shuffle","array_shuffle_ext","array_sort","array_union","array_unique","array_unique_ext","asset_add_tags","asset_clear_tags","asset_get_ids","asset_get_index","asset_get_tags","asset_get_type","asset_has_any_tag","asset_has_tags","asset_remove_tags","audio_bus_clear_emitters","audio_bus_create","audio_bus_get_emitters","audio_channel_num","audio_create_buffer_sound","audio_create_play_queue","audio_create_stream","audio_create_sync_group","audio_debug","audio_destroy_stream","audio_destroy_sync_group","audio_effect_create","audio_emitter_bus","audio_emitter_create","audio_emitter_exists","audio_emitter_falloff","audio_emitter_free","audio_emitter_gain","audio_emitter_get_bus","audio_emitter_get_gain","audio_emitter_get_listener_mask","audio_emitter_get_pitch","audio_emitter_get_vx","audio_emitter_get_vy","audio_emitter_get_vz","audio_emitter_get_x","audio_emitter_get_y","audio_emitter_get_z","audio_emitter_pitch","audio_emitter_position","audio_emitter_set_listener_mask","audio_emitter_velocity","audio_exists","audio_falloff_set_model","audio_free_buffer_sound","audio_free_play_queue","audio_get_listener_count","audio_get_listener_info","audio_get_listener_mask","audio_get_master_gain","audio_get_name","audio_get_recorder_count","audio_get_recorder_info","audio_get_type","audio_group_get_assets","audio_group_get_gain","audio_group_is_loaded","audio_group_load","audio_group_load_progress","audio_group_name","audio_group_set_gain","audio_group_stop_all","audio_group_unload","audio_is_paused","audio_is_playing","audio_listener_get_data","audio_listener_orientation","audio_listener_position","audio_listener_set_orientation","audio_listener_set_position","audio_listener_set_velocity","audio_listener_velocity","audio_master_gain","audio_pause_all","audio_pause_sound","audio_pause_sync_group","audio_play_in_sync_group","audio_play_sound","audio_play_sound_at","audio_play_sound_ext","audio_play_sound_on","audio_queue_sound","audio_resume_all","audio_resume_sound","audio_resume_sync_group","audio_set_listener_mask","audio_set_master_gain","audio_sound_gain","audio_sound_get_audio_group","audio_sound_get_gain","audio_sound_get_listener_mask","audio_sound_get_loop","audio_sound_get_loop_end","audio_sound_get_loop_start","audio_sound_get_pitch","audio_sound_get_track_position","audio_sound_is_playable","audio_sound_length","audio_sound_loop","audio_sound_loop_end","audio_sound_loop_start","audio_sound_pitch","audio_sound_set_listener_mask","audio_sound_set_track_position","audio_start_recording","audio_start_sync_group","audio_stop_all","audio_stop_recording","audio_stop_sound","audio_stop_sync_group","audio_sync_group_debug","audio_sync_group_get_track_pos","audio_sync_group_is_paused","audio_sync_group_is_playing","audio_system_is_available","audio_system_is_initialised","base64_decode","base64_encode","bool","browser_input_capture","buffer_async_group_begin","buffer_async_group_end","buffer_async_group_option","buffer_base64_decode","buffer_base64_decode_ext","buffer_base64_encode","buffer_compress","buffer_copy","buffer_copy_from_vertex_buffer","buffer_copy_stride","buffer_crc32","buffer_create","buffer_create_from_vertex_buffer","buffer_create_from_vertex_buffer_ext","buffer_decompress","buffer_delete","buffer_exists","buffer_fill","buffer_get_address","buffer_get_alignment","buffer_get_size","buffer_get_surface","buffer_get_type","buffer_load","buffer_load_async","buffer_load_ext","buffer_load_partial","buffer_md5","buffer_peek","buffer_poke","buffer_read","buffer_resize","buffer_save","buffer_save_async","buffer_save_ext","buffer_seek","buffer_set_surface","buffer_set_used_size","buffer_sha1","buffer_sizeof","buffer_tell","buffer_write","call_cancel","call_later","camera_apply","camera_copy_transforms","camera_create","camera_create_view","camera_destroy","camera_get_active","camera_get_begin_script","camera_get_default","camera_get_end_script","camera_get_proj_mat","camera_get_update_script","camera_get_view_angle","camera_get_view_border_x","camera_get_view_border_y","camera_get_view_height","camera_get_view_mat","camera_get_view_speed_x","camera_get_view_speed_y","camera_get_view_target","camera_get_view_width","camera_get_view_x","camera_get_view_y","camera_set_begin_script","camera_set_default","camera_set_end_script","camera_set_proj_mat","camera_set_update_script","camera_set_view_angle","camera_set_view_border","camera_set_view_mat","camera_set_view_pos","camera_set_view_size","camera_set_view_speed","camera_set_view_target","ceil","choose","chr","clamp","clickable_add","clickable_add_ext","clickable_change","clickable_change_ext","clickable_delete","clickable_exists","clickable_set_style","clipboard_get_text","clipboard_has_text","clipboard_set_text","cloud_file_save","cloud_string_save","cloud_synchronise","code_is_compiled","collision_circle","collision_circle_list","collision_ellipse","collision_ellipse_list","collision_line","collision_line_list","collision_point","collision_point_list","collision_rectangle","collision_rectangle_list","color_get_blue","color_get_green","color_get_hue","color_get_red","color_get_saturation","color_get_value","colour_get_blue","colour_get_green","colour_get_hue","colour_get_red","colour_get_saturation","colour_get_value","cos","darccos","darcsin","darctan","darctan2","date_compare_date","date_compare_datetime","date_compare_time","date_create_datetime","date_current_datetime","date_date_of","date_date_string","date_datetime_string","date_day_span","date_days_in_month","date_days_in_year","date_get_day","date_get_day_of_year","date_get_hour","date_get_hour_of_year","date_get_minute","date_get_minute_of_year","date_get_month","date_get_second","date_get_second_of_year","date_get_timezone","date_get_week","date_get_weekday","date_get_year","date_hour_span","date_inc_day","date_inc_hour","date_inc_minute","date_inc_month","date_inc_second","date_inc_week","date_inc_year","date_is_today","date_leap_year","date_minute_span","date_month_span","date_second_span","date_set_timezone","date_time_of","date_time_string","date_valid_datetime","date_week_span","date_year_span","db_to_lin","dbg_add_font_glyphs","dbg_button","dbg_checkbox","dbg_color","dbg_colour","dbg_drop_down","dbg_same_line","dbg_section","dbg_section_delete","dbg_section_exists","dbg_slider","dbg_slider_int","dbg_sprite","dbg_text","dbg_text_input","dbg_view","dbg_view_delete","dbg_view_exists","dbg_watch","dcos","debug_event","debug_get_callstack","degtorad","device_get_tilt_x","device_get_tilt_y","device_get_tilt_z","device_is_keypad_open","device_mouse_check_button","device_mouse_check_button_pressed","device_mouse_check_button_released","device_mouse_dbclick_enable","device_mouse_raw_x","device_mouse_raw_y","device_mouse_x","device_mouse_x_to_gui","device_mouse_y","device_mouse_y_to_gui","directory_create","directory_destroy","directory_exists","display_get_dpi_x","display_get_dpi_y","display_get_frequency","display_get_gui_height","display_get_gui_width","display_get_height","display_get_orientation","display_get_sleep_margin","display_get_timing_method","display_get_width","display_mouse_get_x","display_mouse_get_y","display_mouse_set","display_reset","display_set_gui_maximise","display_set_gui_maximize","display_set_gui_size","display_set_sleep_margin","display_set_timing_method","display_set_ui_visibility","distance_to_object","distance_to_point","dot_product","dot_product_3d","dot_product_3d_normalised","dot_product_3d_normalized","dot_product_normalised","dot_product_normalized","draw_arrow","draw_button","draw_circle","draw_circle_color","draw_circle_colour","draw_clear","draw_clear_alpha","draw_ellipse","draw_ellipse_color","draw_ellipse_colour","draw_enable_drawevent","draw_enable_skeleton_blendmodes","draw_enable_swf_aa","draw_flush","draw_get_alpha","draw_get_color","draw_get_colour","draw_get_enable_skeleton_blendmodes","draw_get_font","draw_get_halign","draw_get_lighting","draw_get_swf_aa_level","draw_get_valign","draw_getpixel","draw_getpixel_ext","draw_healthbar","draw_highscore","draw_light_define_ambient","draw_light_define_direction","draw_light_define_point","draw_light_enable","draw_light_get","draw_light_get_ambient","draw_line","draw_line_color","draw_line_colour","draw_line_width","draw_line_width_color","draw_line_width_colour","draw_path","draw_point","draw_point_color","draw_point_colour","draw_primitive_begin","draw_primitive_begin_texture","draw_primitive_end","draw_rectangle","draw_rectangle_color","draw_rectangle_colour","draw_roundrect","draw_roundrect_color","draw_roundrect_color_ext","draw_roundrect_colour","draw_roundrect_colour_ext","draw_roundrect_ext","draw_self","draw_set_alpha","draw_set_circle_precision","draw_set_color","draw_set_colour","draw_set_font","draw_set_halign","draw_set_lighting","draw_set_swf_aa_level","draw_set_valign","draw_skeleton","draw_skeleton_collision","draw_skeleton_instance","draw_skeleton_time","draw_sprite","draw_sprite_ext","draw_sprite_general","draw_sprite_part","draw_sprite_part_ext","draw_sprite_pos","draw_sprite_stretched","draw_sprite_stretched_ext","draw_sprite_tiled","draw_sprite_tiled_ext","draw_surface","draw_surface_ext","draw_surface_general","draw_surface_part","draw_surface_part_ext","draw_surface_stretched","draw_surface_stretched_ext","draw_surface_tiled","draw_surface_tiled_ext","draw_text","draw_text_color","draw_text_colour","draw_text_ext","draw_text_ext_color","draw_text_ext_colour","draw_text_ext_transformed","draw_text_ext_transformed_color","draw_text_ext_transformed_colour","draw_text_transformed","draw_text_transformed_color","draw_text_transformed_colour","draw_texture_flush","draw_tile","draw_tilemap","draw_triangle","draw_triangle_color","draw_triangle_colour","draw_vertex","draw_vertex_color","draw_vertex_colour","draw_vertex_texture","draw_vertex_texture_color","draw_vertex_texture_colour","ds_exists","ds_grid_add","ds_grid_add_disk","ds_grid_add_grid_region","ds_grid_add_region","ds_grid_clear","ds_grid_copy","ds_grid_create","ds_grid_destroy","ds_grid_get","ds_grid_get_disk_max","ds_grid_get_disk_mean","ds_grid_get_disk_min","ds_grid_get_disk_sum","ds_grid_get_max","ds_grid_get_mean","ds_grid_get_min","ds_grid_get_sum","ds_grid_height","ds_grid_multiply","ds_grid_multiply_disk","ds_grid_multiply_grid_region","ds_grid_multiply_region","ds_grid_read","ds_grid_resize","ds_grid_set","ds_grid_set_disk","ds_grid_set_grid_region","ds_grid_set_region","ds_grid_shuffle","ds_grid_sort","ds_grid_to_mp_grid","ds_grid_value_disk_exists","ds_grid_value_disk_x","ds_grid_value_disk_y","ds_grid_value_exists","ds_grid_value_x","ds_grid_value_y","ds_grid_width","ds_grid_write","ds_list_add","ds_list_clear","ds_list_copy","ds_list_create","ds_list_delete","ds_list_destroy","ds_list_empty","ds_list_find_index","ds_list_find_value","ds_list_insert","ds_list_is_list","ds_list_is_map","ds_list_mark_as_list","ds_list_mark_as_map","ds_list_read","ds_list_replace","ds_list_set","ds_list_shuffle","ds_list_size","ds_list_sort","ds_list_write","ds_map_add","ds_map_add_list","ds_map_add_map","ds_map_clear","ds_map_copy","ds_map_create","ds_map_delete","ds_map_destroy","ds_map_empty","ds_map_exists","ds_map_find_first","ds_map_find_last","ds_map_find_next","ds_map_find_previous","ds_map_find_value","ds_map_is_list","ds_map_is_map","ds_map_keys_to_array","ds_map_read","ds_map_replace","ds_map_replace_list","ds_map_replace_map","ds_map_secure_load","ds_map_secure_load_buffer","ds_map_secure_save","ds_map_secure_save_buffer","ds_map_set","ds_map_size","ds_map_values_to_array","ds_map_write","ds_priority_add","ds_priority_change_priority","ds_priority_clear","ds_priority_copy","ds_priority_create","ds_priority_delete_max","ds_priority_delete_min","ds_priority_delete_value","ds_priority_destroy","ds_priority_empty","ds_priority_find_max","ds_priority_find_min","ds_priority_find_priority","ds_priority_read","ds_priority_size","ds_priority_write","ds_queue_clear","ds_queue_copy","ds_queue_create","ds_queue_dequeue","ds_queue_destroy","ds_queue_empty","ds_queue_enqueue","ds_queue_head","ds_queue_read","ds_queue_size","ds_queue_tail","ds_queue_write","ds_set_precision","ds_stack_clear","ds_stack_copy","ds_stack_create","ds_stack_destroy","ds_stack_empty","ds_stack_pop","ds_stack_push","ds_stack_read","ds_stack_size","ds_stack_top","ds_stack_write","dsin","dtan","effect_clear","effect_create_above","effect_create_below","effect_create_depth","effect_create_layer","environment_get_variable","event_inherited","event_perform","event_perform_async","event_perform_object","event_user","exception_unhandled_handler","exp","extension_exists","extension_get_option_count","extension_get_option_names","extension_get_option_value","extension_get_options","extension_get_version","external_call","external_define","external_free","file_attributes","file_bin_close","file_bin_open","file_bin_position","file_bin_read_byte","file_bin_rewrite","file_bin_seek","file_bin_size","file_bin_write_byte","file_copy","file_delete","file_exists","file_find_close","file_find_first","file_find_next","file_rename","file_text_close","file_text_eof","file_text_eoln","file_text_open_append","file_text_open_from_string","file_text_open_read","file_text_open_write","file_text_read_real","file_text_read_string","file_text_readln","file_text_write_real","file_text_write_string","file_text_writeln","filename_change_ext","filename_dir","filename_drive","filename_ext","filename_name","filename_path","floor","font_add","font_add_enable_aa","font_add_get_enable_aa","font_add_sprite","font_add_sprite_ext","font_cache_glyph","font_delete","font_enable_effects","font_enable_sdf","font_exists","font_get_bold","font_get_first","font_get_fontname","font_get_info","font_get_italic","font_get_last","font_get_name","font_get_sdf_enabled","font_get_sdf_spread","font_get_size","font_get_texture","font_get_uvs","font_replace_sprite","font_replace_sprite_ext","font_sdf_spread","font_set_cache_size","frac","fx_create","fx_get_name","fx_get_parameter","fx_get_parameter_names","fx_get_parameters","fx_get_single_layer","fx_set_parameter","fx_set_parameters","fx_set_single_layer","game_change","game_end","game_get_speed","game_load","game_load_buffer","game_restart","game_save","game_save_buffer","game_set_speed","gamepad_axis_count","gamepad_axis_value","gamepad_button_check","gamepad_button_check_pressed","gamepad_button_check_released","gamepad_button_count","gamepad_button_value","gamepad_get_axis_deadzone","gamepad_get_button_threshold","gamepad_get_description","gamepad_get_device_count","gamepad_get_guid","gamepad_get_mapping","gamepad_get_option","gamepad_hat_count","gamepad_hat_value","gamepad_is_connected","gamepad_is_supported","gamepad_remove_mapping","gamepad_set_axis_deadzone","gamepad_set_button_threshold","gamepad_set_color","gamepad_set_colour","gamepad_set_option","gamepad_set_vibration","gamepad_test_mapping","gc_collect","gc_enable","gc_get_stats","gc_get_target_frame_time","gc_is_enabled","gc_target_frame_time","gesture_double_tap_distance","gesture_double_tap_time","gesture_drag_distance","gesture_drag_time","gesture_flick_speed","gesture_get_double_tap_distance","gesture_get_double_tap_time","gesture_get_drag_distance","gesture_get_drag_time","gesture_get_flick_speed","gesture_get_pinch_angle_away","gesture_get_pinch_angle_towards","gesture_get_pinch_distance","gesture_get_rotate_angle","gesture_get_rotate_time","gesture_get_tap_count","gesture_pinch_angle_away","gesture_pinch_angle_towards","gesture_pinch_distance","gesture_rotate_angle","gesture_rotate_time","gesture_tap_count","get_integer","get_integer_async","get_login_async","get_open_filename","get_open_filename_ext","get_save_filename","get_save_filename_ext","get_string","get_string_async","get_timer","gif_add_surface","gif_open","gif_save","gif_save_buffer","gml_pragma","gml_release_mode","gpu_get_alphatestenable","gpu_get_alphatestref","gpu_get_blendenable","gpu_get_blendmode","gpu_get_blendmode_dest","gpu_get_blendmode_destalpha","gpu_get_blendmode_ext","gpu_get_blendmode_ext_sepalpha","gpu_get_blendmode_src","gpu_get_blendmode_srcalpha","gpu_get_colorwriteenable","gpu_get_colourwriteenable","gpu_get_cullmode","gpu_get_depth","gpu_get_fog","gpu_get_state","gpu_get_tex_filter","gpu_get_tex_filter_ext","gpu_get_tex_max_aniso","gpu_get_tex_max_aniso_ext","gpu_get_tex_max_mip","gpu_get_tex_max_mip_ext","gpu_get_tex_min_mip","gpu_get_tex_min_mip_ext","gpu_get_tex_mip_bias","gpu_get_tex_mip_bias_ext","gpu_get_tex_mip_enable","gpu_get_tex_mip_enable_ext","gpu_get_tex_mip_filter","gpu_get_tex_mip_filter_ext","gpu_get_tex_repeat","gpu_get_tex_repeat_ext","gpu_get_texfilter","gpu_get_texfilter_ext","gpu_get_texrepeat","gpu_get_texrepeat_ext","gpu_get_zfunc","gpu_get_ztestenable","gpu_get_zwriteenable","gpu_pop_state","gpu_push_state","gpu_set_alphatestenable","gpu_set_alphatestref","gpu_set_blendenable","gpu_set_blendmode","gpu_set_blendmode_ext","gpu_set_blendmode_ext_sepalpha","gpu_set_colorwriteenable","gpu_set_colourwriteenable","gpu_set_cullmode","gpu_set_depth","gpu_set_fog","gpu_set_state","gpu_set_tex_filter","gpu_set_tex_filter_ext","gpu_set_tex_max_aniso","gpu_set_tex_max_aniso_ext","gpu_set_tex_max_mip","gpu_set_tex_max_mip_ext","gpu_set_tex_min_mip","gpu_set_tex_min_mip_ext","gpu_set_tex_mip_bias","gpu_set_tex_mip_bias_ext","gpu_set_tex_mip_enable","gpu_set_tex_mip_enable_ext","gpu_set_tex_mip_filter","gpu_set_tex_mip_filter_ext","gpu_set_tex_repeat","gpu_set_tex_repeat_ext","gpu_set_texfilter","gpu_set_texfilter_ext","gpu_set_texrepeat","gpu_set_texrepeat_ext","gpu_set_zfunc","gpu_set_ztestenable","gpu_set_zwriteenable","handle_parse","highscore_add","highscore_clear","highscore_name","highscore_value","http_get","http_get_file","http_get_request_crossorigin","http_post_string","http_request","http_set_request_crossorigin","iap_acquire","iap_activate","iap_consume","iap_enumerate_products","iap_product_details","iap_purchase_details","iap_restore_all","iap_status","ini_close","ini_key_delete","ini_key_exists","ini_open","ini_open_from_string","ini_read_real","ini_read_string","ini_section_delete","ini_section_exists","ini_write_real","ini_write_string","instance_activate_all","instance_activate_layer","instance_activate_object","instance_activate_region","instance_change","instance_copy","instance_create_depth","instance_create_layer","instance_deactivate_all","instance_deactivate_layer","instance_deactivate_object","instance_deactivate_region","instance_destroy","instance_exists","instance_find","instance_furthest","instance_id_get","instance_nearest","instance_number","instance_place","instance_place_list","instance_position","instance_position_list","instanceof","int64","io_clear","irandom","irandom_range","is_array","is_bool","is_callable","is_debug_overlay_open","is_handle","is_infinity","is_instanceof","is_int32","is_int64","is_keyboard_used_debug_overlay","is_method","is_mouse_over_debug_overlay","is_nan","is_numeric","is_ptr","is_real","is_string","is_struct","is_undefined","json_decode","json_encode","json_parse","json_stringify","keyboard_check","keyboard_check_direct","keyboard_check_pressed","keyboard_check_released","keyboard_clear","keyboard_get_map","keyboard_get_numlock","keyboard_key_press","keyboard_key_release","keyboard_set_map","keyboard_set_numlock","keyboard_unset_map","keyboard_virtual_height","keyboard_virtual_hide","keyboard_virtual_show","keyboard_virtual_status","layer_add_instance","layer_background_alpha","layer_background_blend","layer_background_change","layer_background_create","layer_background_destroy","layer_background_exists","layer_background_get_alpha","layer_background_get_blend","layer_background_get_htiled","layer_background_get_id","layer_background_get_index","layer_background_get_speed","layer_background_get_sprite","layer_background_get_stretch","layer_background_get_visible","layer_background_get_vtiled","layer_background_get_xscale","layer_background_get_yscale","layer_background_htiled","layer_background_index","layer_background_speed","layer_background_sprite","layer_background_stretch","layer_background_visible","layer_background_vtiled","layer_background_xscale","layer_background_yscale","layer_clear_fx","layer_create","layer_depth","layer_destroy","layer_destroy_instances","layer_element_move","layer_enable_fx","layer_exists","layer_force_draw_depth","layer_fx_is_enabled","layer_get_all","layer_get_all_elements","layer_get_depth","layer_get_element_layer","layer_get_element_type","layer_get_forced_depth","layer_get_fx","layer_get_hspeed","layer_get_id","layer_get_id_at_depth","layer_get_name","layer_get_script_begin","layer_get_script_end","layer_get_shader","layer_get_target_room","layer_get_visible","layer_get_vspeed","layer_get_x","layer_get_y","layer_has_instance","layer_hspeed","layer_instance_get_instance","layer_is_draw_depth_forced","layer_reset_target_room","layer_script_begin","layer_script_end","layer_sequence_angle","layer_sequence_create","layer_sequence_destroy","layer_sequence_exists","layer_sequence_get_angle","layer_sequence_get_headdir","layer_sequence_get_headpos","layer_sequence_get_instance","layer_sequence_get_length","layer_sequence_get_sequence","layer_sequence_get_speedscale","layer_sequence_get_x","layer_sequence_get_xscale","layer_sequence_get_y","layer_sequence_get_yscale","layer_sequence_headdir","layer_sequence_headpos","layer_sequence_is_finished","layer_sequence_is_paused","layer_sequence_pause","layer_sequence_play","layer_sequence_speedscale","layer_sequence_x","layer_sequence_xscale","layer_sequence_y","layer_sequence_yscale","layer_set_fx","layer_set_target_room","layer_set_visible","layer_shader","layer_sprite_alpha","layer_sprite_angle","layer_sprite_blend","layer_sprite_change","layer_sprite_create","layer_sprite_destroy","layer_sprite_exists","layer_sprite_get_alpha","layer_sprite_get_angle","layer_sprite_get_blend","layer_sprite_get_id","layer_sprite_get_index","layer_sprite_get_speed","layer_sprite_get_sprite","layer_sprite_get_x","layer_sprite_get_xscale","layer_sprite_get_y","layer_sprite_get_yscale","layer_sprite_index","layer_sprite_speed","layer_sprite_x","layer_sprite_xscale","layer_sprite_y","layer_sprite_yscale","layer_tile_alpha","layer_tile_blend","layer_tile_change","layer_tile_create","layer_tile_destroy","layer_tile_exists","layer_tile_get_alpha","layer_tile_get_blend","layer_tile_get_region","layer_tile_get_sprite","layer_tile_get_visible","layer_tile_get_x","layer_tile_get_xscale","layer_tile_get_y","layer_tile_get_yscale","layer_tile_region","layer_tile_visible","layer_tile_x","layer_tile_xscale","layer_tile_y","layer_tile_yscale","layer_tilemap_create","layer_tilemap_destroy","layer_tilemap_exists","layer_tilemap_get_id","layer_vspeed","layer_x","layer_y","lengthdir_x","lengthdir_y","lerp","lin_to_db","ln","load_csv","log10","log2","logn","make_color_hsv","make_color_rgb","make_colour_hsv","make_colour_rgb","math_get_epsilon","math_set_epsilon","matrix_build","matrix_build_identity","matrix_build_lookat","matrix_build_projection_ortho","matrix_build_projection_perspective","matrix_build_projection_perspective_fov","matrix_get","matrix_multiply","matrix_set","matrix_stack_clear","matrix_stack_is_empty","matrix_stack_pop","matrix_stack_push","matrix_stack_set","matrix_stack_top","matrix_transform_vertex","max","md5_file","md5_string_unicode","md5_string_utf8","mean","median","merge_color","merge_colour","method","method_call","method_get_index","method_get_self","min","motion_add","motion_set","mouse_check_button","mouse_check_button_pressed","mouse_check_button_released","mouse_clear","mouse_wheel_down","mouse_wheel_up","move_and_collide","move_bounce_all","move_bounce_solid","move_contact_all","move_contact_solid","move_outside_all","move_outside_solid","move_random","move_snap","move_towards_point","move_wrap","mp_grid_add_cell","mp_grid_add_instances","mp_grid_add_rectangle","mp_grid_clear_all","mp_grid_clear_cell","mp_grid_clear_rectangle","mp_grid_create","mp_grid_destroy","mp_grid_draw","mp_grid_get_cell","mp_grid_path","mp_grid_to_ds_grid","mp_linear_path","mp_linear_path_object","mp_linear_step","mp_linear_step_object","mp_potential_path","mp_potential_path_object","mp_potential_settings","mp_potential_step","mp_potential_step_object","nameof","network_connect","network_connect_async","network_connect_raw","network_connect_raw_async","network_create_server","network_create_server_raw","network_create_socket","network_create_socket_ext","network_destroy","network_resolve","network_send_broadcast","network_send_packet","network_send_raw","network_send_udp","network_send_udp_raw","network_set_config","network_set_timeout","object_exists","object_get_mask","object_get_name","object_get_parent","object_get_persistent","object_get_physics","object_get_solid","object_get_sprite","object_get_visible","object_is_ancestor","object_set_mask","object_set_persistent","object_set_solid","object_set_sprite","object_set_visible","ord","os_check_permission","os_get_config","os_get_info","os_get_language","os_get_region","os_is_network_connected","os_is_paused","os_lock_orientation","os_powersave_enable","os_request_permission","os_set_orientation_lock","parameter_count","parameter_string","part_emitter_burst","part_emitter_clear","part_emitter_create","part_emitter_delay","part_emitter_destroy","part_emitter_destroy_all","part_emitter_enable","part_emitter_exists","part_emitter_interval","part_emitter_region","part_emitter_relative","part_emitter_stream","part_particles_burst","part_particles_clear","part_particles_count","part_particles_create","part_particles_create_color","part_particles_create_colour","part_system_angle","part_system_automatic_draw","part_system_automatic_update","part_system_clear","part_system_color","part_system_colour","part_system_create","part_system_create_layer","part_system_depth","part_system_destroy","part_system_draw_order","part_system_drawit","part_system_exists","part_system_get_info","part_system_get_layer","part_system_global_space","part_system_layer","part_system_position","part_system_update","part_type_alpha1","part_type_alpha2","part_type_alpha3","part_type_blend","part_type_clear","part_type_color1","part_type_color2","part_type_color3","part_type_color_hsv","part_type_color_mix","part_type_color_rgb","part_type_colour1","part_type_colour2","part_type_colour3","part_type_colour_hsv","part_type_colour_mix","part_type_colour_rgb","part_type_create","part_type_death","part_type_destroy","part_type_direction","part_type_exists","part_type_gravity","part_type_life","part_type_orientation","part_type_scale","part_type_shape","part_type_size","part_type_size_x","part_type_size_y","part_type_speed","part_type_sprite","part_type_step","part_type_subimage","particle_exists","particle_get_info","path_add","path_add_point","path_append","path_assign","path_change_point","path_clear_points","path_delete","path_delete_point","path_duplicate","path_end","path_exists","path_flip","path_get_closed","path_get_kind","path_get_length","path_get_name","path_get_number","path_get_point_speed","path_get_point_x","path_get_point_y","path_get_precision","path_get_speed","path_get_x","path_get_y","path_insert_point","path_mirror","path_rescale","path_reverse","path_rotate","path_set_closed","path_set_kind","path_set_precision","path_shift","path_start","physics_apply_angular_impulse","physics_apply_force","physics_apply_impulse","physics_apply_local_force","physics_apply_local_impulse","physics_apply_torque","physics_draw_debug","physics_fixture_add_point","physics_fixture_bind","physics_fixture_bind_ext","physics_fixture_create","physics_fixture_delete","physics_fixture_set_angular_damping","physics_fixture_set_awake","physics_fixture_set_box_shape","physics_fixture_set_chain_shape","physics_fixture_set_circle_shape","physics_fixture_set_collision_group","physics_fixture_set_density","physics_fixture_set_edge_shape","physics_fixture_set_friction","physics_fixture_set_kinematic","physics_fixture_set_linear_damping","physics_fixture_set_polygon_shape","physics_fixture_set_restitution","physics_fixture_set_sensor","physics_get_density","physics_get_friction","physics_get_restitution","physics_joint_delete","physics_joint_distance_create","physics_joint_enable_motor","physics_joint_friction_create","physics_joint_gear_create","physics_joint_get_value","physics_joint_prismatic_create","physics_joint_pulley_create","physics_joint_revolute_create","physics_joint_rope_create","physics_joint_set_value","physics_joint_weld_create","physics_joint_wheel_create","physics_mass_properties","physics_particle_count","physics_particle_create","physics_particle_delete","physics_particle_delete_region_box","physics_particle_delete_region_circle","physics_particle_delete_region_poly","physics_particle_draw","physics_particle_draw_ext","physics_particle_get_damping","physics_particle_get_data","physics_particle_get_data_particle","physics_particle_get_density","physics_particle_get_gravity_scale","physics_particle_get_group_flags","physics_particle_get_max_count","physics_particle_get_radius","physics_particle_group_add_point","physics_particle_group_begin","physics_particle_group_box","physics_particle_group_circle","physics_particle_group_count","physics_particle_group_delete","physics_particle_group_end","physics_particle_group_get_ang_vel","physics_particle_group_get_angle","physics_particle_group_get_centre_x","physics_particle_group_get_centre_y","physics_particle_group_get_data","physics_particle_group_get_inertia","physics_particle_group_get_mass","physics_particle_group_get_vel_x","physics_particle_group_get_vel_y","physics_particle_group_get_x","physics_particle_group_get_y","physics_particle_group_join","physics_particle_group_polygon","physics_particle_set_category_flags","physics_particle_set_damping","physics_particle_set_density","physics_particle_set_flags","physics_particle_set_gravity_scale","physics_particle_set_group_flags","physics_particle_set_max_count","physics_particle_set_radius","physics_pause_enable","physics_remove_fixture","physics_set_density","physics_set_friction","physics_set_restitution","physics_test_overlap","physics_world_create","physics_world_draw_debug","physics_world_gravity","physics_world_update_iterations","physics_world_update_speed","place_empty","place_free","place_meeting","place_snapped","point_direction","point_distance","point_distance_3d","point_in_circle","point_in_rectangle","point_in_triangle","position_change","position_destroy","position_empty","position_meeting","power","ptr","radtodeg","random","random_get_seed","random_range","random_set_seed","randomise","randomize","real","rectangle_in_circle","rectangle_in_rectangle","rectangle_in_triangle","ref_create","rollback_chat","rollback_create_game","rollback_define_extra_network_latency","rollback_define_input","rollback_define_input_frame_delay","rollback_define_mock_input","rollback_define_player","rollback_display_events","rollback_get_info","rollback_get_input","rollback_get_player_prefs","rollback_join_game","rollback_leave_game","rollback_set_player_prefs","rollback_start_game","rollback_sync_on_frame","rollback_use_late_join","rollback_use_manual_start","rollback_use_player_prefs","rollback_use_random_input","room_add","room_assign","room_duplicate","room_exists","room_get_camera","room_get_info","room_get_name","room_get_viewport","room_goto","room_goto_next","room_goto_previous","room_instance_add","room_instance_clear","room_next","room_previous","room_restart","room_set_camera","room_set_height","room_set_persistent","room_set_view_enabled","room_set_viewport","room_set_width","round","scheduler_resolution_get","scheduler_resolution_set","screen_save","screen_save_part","script_execute","script_execute_ext","script_exists","script_get_name","sequence_create","sequence_destroy","sequence_exists","sequence_get","sequence_get_objects","sequence_instance_override_object","sequence_keyframe_new","sequence_keyframedata_new","sequence_track_new","sha1_file","sha1_string_unicode","sha1_string_utf8","shader_current","shader_enable_corner_id","shader_get_name","shader_get_sampler_index","shader_get_uniform","shader_is_compiled","shader_reset","shader_set","shader_set_uniform_f","shader_set_uniform_f_array","shader_set_uniform_f_buffer","shader_set_uniform_i","shader_set_uniform_i_array","shader_set_uniform_matrix","shader_set_uniform_matrix_array","shaders_are_supported","shop_leave_rating","show_debug_message","show_debug_message_ext","show_debug_overlay","show_error","show_message","show_message_async","show_question","show_question_async","sign","sin","skeleton_animation_clear","skeleton_animation_get","skeleton_animation_get_duration","skeleton_animation_get_event_frames","skeleton_animation_get_ext","skeleton_animation_get_frame","skeleton_animation_get_frames","skeleton_animation_get_position","skeleton_animation_is_finished","skeleton_animation_is_looping","skeleton_animation_list","skeleton_animation_mix","skeleton_animation_set","skeleton_animation_set_ext","skeleton_animation_set_frame","skeleton_animation_set_position","skeleton_attachment_create","skeleton_attachment_create_color","skeleton_attachment_create_colour","skeleton_attachment_destroy","skeleton_attachment_exists","skeleton_attachment_get","skeleton_attachment_replace","skeleton_attachment_replace_color","skeleton_attachment_replace_colour","skeleton_attachment_set","skeleton_bone_data_get","skeleton_bone_data_set","skeleton_bone_list","skeleton_bone_state_get","skeleton_bone_state_set","skeleton_collision_draw_set","skeleton_find_slot","skeleton_get_bounds","skeleton_get_minmax","skeleton_get_num_bounds","skeleton_skin_create","skeleton_skin_get","skeleton_skin_list","skeleton_skin_set","skeleton_slot_alpha_get","skeleton_slot_color_get","skeleton_slot_color_set","skeleton_slot_colour_get","skeleton_slot_colour_set","skeleton_slot_data","skeleton_slot_data_instance","skeleton_slot_list","sprite_add","sprite_add_ext","sprite_add_from_surface","sprite_assign","sprite_collision_mask","sprite_create_from_surface","sprite_delete","sprite_duplicate","sprite_exists","sprite_flush","sprite_flush_multi","sprite_get_bbox_bottom","sprite_get_bbox_left","sprite_get_bbox_mode","sprite_get_bbox_right","sprite_get_bbox_top","sprite_get_height","sprite_get_info","sprite_get_name","sprite_get_nineslice","sprite_get_number","sprite_get_speed","sprite_get_speed_type","sprite_get_texture","sprite_get_tpe","sprite_get_uvs","sprite_get_width","sprite_get_xoffset","sprite_get_yoffset","sprite_merge","sprite_nineslice_create","sprite_prefetch","sprite_prefetch_multi","sprite_replace","sprite_save","sprite_save_strip","sprite_set_alpha_from_sprite","sprite_set_bbox","sprite_set_bbox_mode","sprite_set_cache_size","sprite_set_cache_size_ext","sprite_set_nineslice","sprite_set_offset","sprite_set_speed","sqr","sqrt","static_get","static_set","string","string_byte_at","string_byte_length","string_char_at","string_concat","string_concat_ext","string_copy","string_count","string_delete","string_digits","string_ends_with","string_ext","string_foreach","string_format","string_hash_to_newline","string_height","string_height_ext","string_insert","string_join","string_join_ext","string_last_pos","string_last_pos_ext","string_length","string_letters","string_lettersdigits","string_lower","string_ord_at","string_pos","string_pos_ext","string_repeat","string_replace","string_replace_all","string_set_byte_at","string_split","string_split_ext","string_starts_with","string_trim","string_trim_end","string_trim_start","string_upper","string_width","string_width_ext","struct_exists","struct_foreach","struct_get","struct_get_from_hash","struct_get_names","struct_names_count","struct_remove","struct_set","struct_set_from_hash","surface_copy","surface_copy_part","surface_create","surface_create_ext","surface_depth_disable","surface_exists","surface_format_is_supported","surface_free","surface_get_depth_disable","surface_get_format","surface_get_height","surface_get_target","surface_get_target_ext","surface_get_texture","surface_get_width","surface_getpixel","surface_getpixel_ext","surface_reset_target","surface_resize","surface_save","surface_save_part","surface_set_target","surface_set_target_ext","tag_get_asset_ids","tag_get_assets","tan","texture_debug_messages","texture_flush","texture_get_height","texture_get_texel_height","texture_get_texel_width","texture_get_uvs","texture_get_width","texture_global_scale","texture_is_ready","texture_prefetch","texture_set_stage","texturegroup_get_fonts","texturegroup_get_names","texturegroup_get_sprites","texturegroup_get_status","texturegroup_get_textures","texturegroup_get_tilesets","texturegroup_load","texturegroup_set_mode","texturegroup_unload","tile_get_empty","tile_get_flip","tile_get_index","tile_get_mirror","tile_get_rotate","tile_set_empty","tile_set_flip","tile_set_index","tile_set_mirror","tile_set_rotate","tilemap_clear","tilemap_get","tilemap_get_at_pixel","tilemap_get_cell_x_at_pixel","tilemap_get_cell_y_at_pixel","tilemap_get_frame","tilemap_get_global_mask","tilemap_get_height","tilemap_get_mask","tilemap_get_tile_height","tilemap_get_tile_width","tilemap_get_tileset","tilemap_get_width","tilemap_get_x","tilemap_get_y","tilemap_set","tilemap_set_at_pixel","tilemap_set_global_mask","tilemap_set_height","tilemap_set_mask","tilemap_set_width","tilemap_tileset","tilemap_x","tilemap_y","tileset_get_info","tileset_get_name","tileset_get_texture","tileset_get_uvs","time_bpm_to_seconds","time_seconds_to_bpm","time_source_create","time_source_destroy","time_source_exists","time_source_get_children","time_source_get_parent","time_source_get_period","time_source_get_reps_completed","time_source_get_reps_remaining","time_source_get_state","time_source_get_time_remaining","time_source_get_units","time_source_pause","time_source_reconfigure","time_source_reset","time_source_resume","time_source_start","time_source_stop","timeline_add","timeline_clear","timeline_delete","timeline_exists","timeline_get_name","timeline_max_moment","timeline_moment_add_script","timeline_moment_clear","timeline_size","typeof","url_get_domain","url_open","url_open_ext","url_open_full","uwp_device_touchscreen_available","uwp_livetile_badge_clear","uwp_livetile_badge_notification","uwp_livetile_notification_begin","uwp_livetile_notification_end","uwp_livetile_notification_expiry","uwp_livetile_notification_image_add","uwp_livetile_notification_secondary_begin","uwp_livetile_notification_tag","uwp_livetile_notification_template_add","uwp_livetile_notification_text_add","uwp_livetile_queue_enable","uwp_livetile_tile_clear","uwp_secondarytile_badge_clear","uwp_secondarytile_badge_notification","uwp_secondarytile_delete","uwp_secondarytile_pin","uwp_secondarytile_tile_clear","variable_clone","variable_get_hash","variable_global_exists","variable_global_get","variable_global_set","variable_instance_exists","variable_instance_get","variable_instance_get_names","variable_instance_names_count","variable_instance_set","variable_struct_exists","variable_struct_get","variable_struct_get_names","variable_struct_names_count","variable_struct_remove","variable_struct_set","vertex_argb","vertex_begin","vertex_color","vertex_colour","vertex_create_buffer","vertex_create_buffer_ext","vertex_create_buffer_from_buffer","vertex_create_buffer_from_buffer_ext","vertex_delete_buffer","vertex_end","vertex_float1","vertex_float2","vertex_float3","vertex_float4","vertex_format_add_color","vertex_format_add_colour","vertex_format_add_custom","vertex_format_add_normal","vertex_format_add_position","vertex_format_add_position_3d","vertex_format_add_texcoord","vertex_format_begin","vertex_format_delete","vertex_format_end","vertex_format_get_info","vertex_freeze","vertex_get_buffer_size","vertex_get_number","vertex_normal","vertex_position","vertex_position_3d","vertex_submit","vertex_submit_ext","vertex_texcoord","vertex_ubyte4","vertex_update_buffer_from_buffer","vertex_update_buffer_from_vertex","video_close","video_draw","video_enable_loop","video_get_duration","video_get_format","video_get_position","video_get_status","video_get_volume","video_is_looping","video_open","video_pause","video_resume","video_seek_to","video_set_volume","view_get_camera","view_get_hport","view_get_surface_id","view_get_visible","view_get_wport","view_get_xport","view_get_yport","view_set_camera","view_set_hport","view_set_surface_id","view_set_visible","view_set_wport","view_set_xport","view_set_yport","virtual_key_add","virtual_key_delete","virtual_key_hide","virtual_key_show","wallpaper_set_config","wallpaper_set_subscriptions","weak_ref_alive","weak_ref_any_alive","weak_ref_create","window_center","window_device","window_enable_borderless_fullscreen","window_get_borderless_fullscreen","window_get_caption","window_get_color","window_get_colour","window_get_cursor","window_get_fullscreen","window_get_height","window_get_showborder","window_get_visible_rects","window_get_width","window_get_x","window_get_y","window_handle","window_has_focus","window_mouse_get_delta_x","window_mouse_get_delta_y","window_mouse_get_locked","window_mouse_get_x","window_mouse_get_y","window_mouse_set","window_mouse_set_locked","window_set_caption","window_set_color","window_set_colour","window_set_cursor","window_set_fullscreen","window_set_max_height","window_set_max_width","window_set_min_height","window_set_min_width","window_set_position","window_set_rectangle","window_set_showborder","window_set_size","window_view_mouse_get_x","window_view_mouse_get_y","window_views_mouse_get_x","window_views_mouse_get_y","winphone_tile_background_color","winphone_tile_background_colour","zip_add_file","zip_create","zip_save","zip_unzip","zip_unzip_async"],symbol:["AudioEffect","AudioEffectType","AudioLFOType","GM_build_date","GM_build_type","GM_is_sandboxed","GM_project_filename","GM_runtime_version","GM_version","NaN","_GMFILE_","_GMFUNCTION_","_GMLINE_","alignmentH","alignmentV","all","animcurvetype_bezier","animcurvetype_catmullrom","animcurvetype_linear","asset_animationcurve","asset_font","asset_object","asset_path","asset_room","asset_script","asset_sequence","asset_shader","asset_sound","asset_sprite","asset_tiles","asset_timeline","asset_unknown","audio_3D","audio_bus_main","audio_falloff_exponent_distance","audio_falloff_exponent_distance_clamped","audio_falloff_exponent_distance_scaled","audio_falloff_inverse_distance","audio_falloff_inverse_distance_clamped","audio_falloff_inverse_distance_scaled","audio_falloff_linear_distance","audio_falloff_linear_distance_clamped","audio_falloff_none","audio_mono","audio_stereo","bboxkind_diamond","bboxkind_ellipse","bboxkind_precise","bboxkind_rectangular","bboxmode_automatic","bboxmode_fullimage","bboxmode_manual","bm_add","bm_dest_alpha","bm_dest_color","bm_dest_colour","bm_inv_dest_alpha","bm_inv_dest_color","bm_inv_dest_colour","bm_inv_src_alpha","bm_inv_src_color","bm_inv_src_colour","bm_max","bm_normal","bm_one","bm_src_alpha","bm_src_alpha_sat","bm_src_color","bm_src_colour","bm_subtract","bm_zero","browser_chrome","browser_edge","browser_firefox","browser_ie","browser_ie_mobile","browser_not_a_browser","browser_opera","browser_safari","browser_safari_mobile","browser_tizen","browser_unknown","browser_windows_store","buffer_bool","buffer_f16","buffer_f32","buffer_f64","buffer_fast","buffer_fixed","buffer_grow","buffer_s16","buffer_s32","buffer_s8","buffer_seek_end","buffer_seek_relative","buffer_seek_start","buffer_string","buffer_text","buffer_u16","buffer_u32","buffer_u64","buffer_u8","buffer_vbuffer","buffer_wrap","c_aqua","c_black","c_blue","c_dkgray","c_dkgrey","c_fuchsia","c_gray","c_green","c_grey","c_lime","c_ltgray","c_ltgrey","c_maroon","c_navy","c_olive","c_orange","c_purple","c_red","c_silver","c_teal","c_white","c_yellow","cache_directory","characterSpacing","cmpfunc_always","cmpfunc_equal","cmpfunc_greater","cmpfunc_greaterequal","cmpfunc_less","cmpfunc_lessequal","cmpfunc_never","cmpfunc_notequal","coreColor","coreColour","cr_appstart","cr_arrow","cr_beam","cr_cross","cr_default","cr_drag","cr_handpoint","cr_hourglass","cr_none","cr_size_all","cr_size_nesw","cr_size_ns","cr_size_nwse","cr_size_we","cr_uparrow","cull_clockwise","cull_counterclockwise","cull_noculling","device_emulator","device_ios_ipad","device_ios_ipad_retina","device_ios_iphone","device_ios_iphone5","device_ios_iphone6","device_ios_iphone6plus","device_ios_iphone_retina","device_ios_unknown","device_tablet","display_landscape","display_landscape_flipped","display_portrait","display_portrait_flipped","dll_cdecl","dll_stdcall","dropShadowEnabled","dropShadowEnabled","ds_type_grid","ds_type_list","ds_type_map","ds_type_priority","ds_type_queue","ds_type_stack","ef_cloud","ef_ellipse","ef_explosion","ef_firework","ef_flare","ef_rain","ef_ring","ef_smoke","ef_smokeup","ef_snow","ef_spark","ef_star","effectsEnabled","effectsEnabled","ev_alarm","ev_animation_end","ev_animation_event","ev_animation_update","ev_async_audio_playback","ev_async_audio_playback_ended","ev_async_audio_recording","ev_async_dialog","ev_async_push_notification","ev_async_save_load","ev_async_save_load","ev_async_social","ev_async_system_event","ev_async_web","ev_async_web_cloud","ev_async_web_iap","ev_async_web_image_load","ev_async_web_networking","ev_async_web_steam","ev_audio_playback","ev_audio_playback_ended","ev_audio_recording","ev_boundary","ev_boundary_view0","ev_boundary_view1","ev_boundary_view2","ev_boundary_view3","ev_boundary_view4","ev_boundary_view5","ev_boundary_view6","ev_boundary_view7","ev_broadcast_message","ev_cleanup","ev_collision","ev_create","ev_destroy","ev_dialog_async","ev_draw","ev_draw_begin","ev_draw_end","ev_draw_normal","ev_draw_post","ev_draw_pre","ev_end_of_path","ev_game_end","ev_game_start","ev_gesture","ev_gesture_double_tap","ev_gesture_drag_end","ev_gesture_drag_start","ev_gesture_dragging","ev_gesture_flick","ev_gesture_pinch_end","ev_gesture_pinch_in","ev_gesture_pinch_out","ev_gesture_pinch_start","ev_gesture_rotate_end","ev_gesture_rotate_start","ev_gesture_rotating","ev_gesture_tap","ev_global_gesture_double_tap","ev_global_gesture_drag_end","ev_global_gesture_drag_start","ev_global_gesture_dragging","ev_global_gesture_flick","ev_global_gesture_pinch_end","ev_global_gesture_pinch_in","ev_global_gesture_pinch_out","ev_global_gesture_pinch_start","ev_global_gesture_rotate_end","ev_global_gesture_rotate_start","ev_global_gesture_rotating","ev_global_gesture_tap","ev_global_left_button","ev_global_left_press","ev_global_left_release","ev_global_middle_button","ev_global_middle_press","ev_global_middle_release","ev_global_right_button","ev_global_right_press","ev_global_right_release","ev_gui","ev_gui_begin","ev_gui_end","ev_joystick1_button1","ev_joystick1_button2","ev_joystick1_button3","ev_joystick1_button4","ev_joystick1_button5","ev_joystick1_button6","ev_joystick1_button7","ev_joystick1_button8","ev_joystick1_down","ev_joystick1_left","ev_joystick1_right","ev_joystick1_up","ev_joystick2_button1","ev_joystick2_button2","ev_joystick2_button3","ev_joystick2_button4","ev_joystick2_button5","ev_joystick2_button6","ev_joystick2_button7","ev_joystick2_button8","ev_joystick2_down","ev_joystick2_left","ev_joystick2_right","ev_joystick2_up","ev_keyboard","ev_keypress","ev_keyrelease","ev_left_button","ev_left_press","ev_left_release","ev_middle_button","ev_middle_press","ev_middle_release","ev_mouse","ev_mouse_enter","ev_mouse_leave","ev_mouse_wheel_down","ev_mouse_wheel_up","ev_no_button","ev_no_more_health","ev_no_more_lives","ev_other","ev_outside","ev_outside_view0","ev_outside_view1","ev_outside_view2","ev_outside_view3","ev_outside_view4","ev_outside_view5","ev_outside_view6","ev_outside_view7","ev_pre_create","ev_push_notification","ev_right_button","ev_right_press","ev_right_release","ev_room_end","ev_room_start","ev_social","ev_step","ev_step_begin","ev_step_end","ev_step_normal","ev_system_event","ev_trigger","ev_user0","ev_user1","ev_user10","ev_user11","ev_user12","ev_user13","ev_user14","ev_user15","ev_user2","ev_user3","ev_user4","ev_user5","ev_user6","ev_user7","ev_user8","ev_user9","ev_web_async","ev_web_cloud","ev_web_iap","ev_web_image_load","ev_web_networking","ev_web_sound_load","ev_web_steam","fa_archive","fa_bottom","fa_center","fa_directory","fa_hidden","fa_left","fa_middle","fa_none","fa_readonly","fa_right","fa_sysfile","fa_top","fa_volumeid","false","frameSizeX","frameSizeY","gamespeed_fps","gamespeed_microseconds","global","glowColor","glowColour","glowEnabled","glowEnabled","glowEnd","glowStart","gp_axis_acceleration_x","gp_axis_acceleration_y","gp_axis_acceleration_z","gp_axis_angular_velocity_x","gp_axis_angular_velocity_y","gp_axis_angular_velocity_z","gp_axis_orientation_w","gp_axis_orientation_x","gp_axis_orientation_y","gp_axis_orientation_z","gp_axislh","gp_axislv","gp_axisrh","gp_axisrv","gp_face1","gp_face2","gp_face3","gp_face4","gp_padd","gp_padl","gp_padr","gp_padu","gp_select","gp_shoulderl","gp_shoulderlb","gp_shoulderr","gp_shoulderrb","gp_start","gp_stickl","gp_stickr","iap_available","iap_canceled","iap_ev_consume","iap_ev_product","iap_ev_purchase","iap_ev_restore","iap_ev_storeload","iap_failed","iap_purchased","iap_refunded","iap_status_available","iap_status_loading","iap_status_processing","iap_status_restoring","iap_status_unavailable","iap_status_uninitialised","iap_storeload_failed","iap_storeload_ok","iap_unavailable","infinity","kbv_autocapitalize_characters","kbv_autocapitalize_none","kbv_autocapitalize_sentences","kbv_autocapitalize_words","kbv_returnkey_continue","kbv_returnkey_default","kbv_returnkey_done","kbv_returnkey_emergency","kbv_returnkey_go","kbv_returnkey_google","kbv_returnkey_join","kbv_returnkey_next","kbv_returnkey_route","kbv_returnkey_search","kbv_returnkey_send","kbv_returnkey_yahoo","kbv_type_ascii","kbv_type_default","kbv_type_email","kbv_type_numbers","kbv_type_phone","kbv_type_phone_name","kbv_type_url","layerelementtype_background","layerelementtype_instance","layerelementtype_oldtilemap","layerelementtype_particlesystem","layerelementtype_sequence","layerelementtype_sprite","layerelementtype_tile","layerelementtype_tilemap","layerelementtype_undefined","leaderboard_type_number","leaderboard_type_time_mins_secs","lighttype_dir","lighttype_point","lineSpacing","m_axisx","m_axisx_gui","m_axisy","m_axisy_gui","m_scroll_down","m_scroll_up","matrix_projection","matrix_view","matrix_world","mb_any","mb_left","mb_middle","mb_none","mb_right","mb_side1","mb_side2","mip_markedonly","mip_off","mip_on","network_config_avoid_time_wait","network_config_connect_timeout","network_config_disable_multicast","network_config_disable_reliable_udp","network_config_enable_multicast","network_config_enable_reliable_udp","network_config_use_non_blocking_socket","network_config_websocket_protocol","network_connect_active","network_connect_blocking","network_connect_nonblocking","network_connect_none","network_connect_passive","network_send_binary","network_send_text","network_socket_bluetooth","network_socket_tcp","network_socket_udp","network_socket_ws","network_socket_wss","network_type_connect","network_type_data","network_type_disconnect","network_type_down","network_type_non_blocking_connect","network_type_up","network_type_up_failed","nineslice_blank","nineslice_bottom","nineslice_center","nineslice_centre","nineslice_hide","nineslice_left","nineslice_mirror","nineslice_repeat","nineslice_right","nineslice_stretch","nineslice_top","noone","of_challenge_lose","of_challenge_tie","of_challenge_win","os_android","os_gdk","os_gxgames","os_ios","os_linux","os_macosx","os_operagx","os_permission_denied","os_permission_denied_dont_request","os_permission_granted","os_ps3","os_ps4","os_ps5","os_psvita","os_switch","os_tvos","os_unknown","os_uwp","os_win8native","os_windows","os_winphone","os_xboxone","os_xboxseriesxs","other","outlineColor","outlineColour","outlineDist","outlineEnabled","outlineEnabled","paragraphSpacing","path_action_continue","path_action_restart","path_action_reverse","path_action_stop","phy_debug_render_aabb","phy_debug_render_collision_pairs","phy_debug_render_coms","phy_debug_render_core_shapes","phy_debug_render_joints","phy_debug_render_obb","phy_debug_render_shapes","phy_joint_anchor_1_x","phy_joint_anchor_1_y","phy_joint_anchor_2_x","phy_joint_anchor_2_y","phy_joint_angle","phy_joint_angle_limits","phy_joint_damping_ratio","phy_joint_frequency","phy_joint_length_1","phy_joint_length_2","phy_joint_lower_angle_limit","phy_joint_max_force","phy_joint_max_length","phy_joint_max_motor_force","phy_joint_max_motor_torque","phy_joint_max_torque","phy_joint_motor_force","phy_joint_motor_speed","phy_joint_motor_torque","phy_joint_reaction_force_x","phy_joint_reaction_force_y","phy_joint_reaction_torque","phy_joint_speed","phy_joint_translation","phy_joint_upper_angle_limit","phy_particle_data_flag_category","phy_particle_data_flag_color","phy_particle_data_flag_colour","phy_particle_data_flag_position","phy_particle_data_flag_typeflags","phy_particle_data_flag_velocity","phy_particle_flag_colormixing","phy_particle_flag_colourmixing","phy_particle_flag_elastic","phy_particle_flag_powder","phy_particle_flag_spring","phy_particle_flag_tensile","phy_particle_flag_viscous","phy_particle_flag_wall","phy_particle_flag_water","phy_particle_flag_zombie","phy_particle_group_flag_rigid","phy_particle_group_flag_solid","pi","pointer_invalid","pointer_null","pr_linelist","pr_linestrip","pr_pointlist","pr_trianglefan","pr_trianglelist","pr_trianglestrip","ps_distr_gaussian","ps_distr_invgaussian","ps_distr_linear","ps_mode_burst","ps_mode_stream","ps_shape_diamond","ps_shape_ellipse","ps_shape_line","ps_shape_rectangle","pt_shape_circle","pt_shape_cloud","pt_shape_disk","pt_shape_explosion","pt_shape_flare","pt_shape_line","pt_shape_pixel","pt_shape_ring","pt_shape_smoke","pt_shape_snow","pt_shape_spark","pt_shape_sphere","pt_shape_square","pt_shape_star","rollback_chat_message","rollback_connect_error","rollback_connect_info","rollback_connected_to_peer","rollback_connection_rejected","rollback_disconnected_from_peer","rollback_end_game","rollback_game_full","rollback_game_info","rollback_game_interrupted","rollback_game_resumed","rollback_high_latency","rollback_player_prefs","rollback_protocol_rejected","rollback_synchronized_with_peer","rollback_synchronizing_with_peer","self","seqaudiokey_loop","seqaudiokey_oneshot","seqdir_left","seqdir_right","seqinterpolation_assign","seqinterpolation_lerp","seqplay_loop","seqplay_oneshot","seqplay_pingpong","seqtextkey_bottom","seqtextkey_center","seqtextkey_justify","seqtextkey_left","seqtextkey_middle","seqtextkey_right","seqtextkey_top","seqtracktype_audio","seqtracktype_bool","seqtracktype_clipmask","seqtracktype_clipmask_mask","seqtracktype_clipmask_subject","seqtracktype_color","seqtracktype_colour","seqtracktype_empty","seqtracktype_graphic","seqtracktype_group","seqtracktype_instance","seqtracktype_message","seqtracktype_moment","seqtracktype_particlesystem","seqtracktype_real","seqtracktype_sequence","seqtracktype_spriteframes","seqtracktype_string","seqtracktype_text","shadowColor","shadowColour","shadowOffsetX","shadowOffsetY","shadowSoftness","sprite_add_ext_error_cancelled","sprite_add_ext_error_decompressfailed","sprite_add_ext_error_loadfailed","sprite_add_ext_error_setupfailed","sprite_add_ext_error_spritenotfound","sprite_add_ext_error_unknown","spritespeed_framespergameframe","spritespeed_framespersecond","surface_r16float","surface_r32float","surface_r8unorm","surface_rg8unorm","surface_rgba16float","surface_rgba32float","surface_rgba4unorm","surface_rgba8unorm","texturegroup_status_fetched","texturegroup_status_loaded","texturegroup_status_loading","texturegroup_status_unloaded","tf_anisotropic","tf_linear","tf_point","thickness","tile_flip","tile_index_mask","tile_mirror","tile_rotate","time_source_expire_after","time_source_expire_nearest","time_source_game","time_source_global","time_source_state_active","time_source_state_initial","time_source_state_paused","time_source_state_stopped","time_source_units_frames","time_source_units_seconds","timezone_local","timezone_utc","tm_countvsyncs","tm_sleep","tm_systemtiming","true","ty_real","ty_string","undefined","vertex_type_color","vertex_type_colour","vertex_type_float1","vertex_type_float2","vertex_type_float3","vertex_type_float4","vertex_type_ubyte4","vertex_usage_binormal","vertex_usage_blendindices","vertex_usage_blendweight","vertex_usage_color","vertex_usage_colour","vertex_usage_depth","vertex_usage_fog","vertex_usage_normal","vertex_usage_position","vertex_usage_psize","vertex_usage_sample","vertex_usage_tangent","vertex_usage_texcoord","video_format_rgba","video_format_yuv","video_status_closed","video_status_paused","video_status_playing","video_status_preparing","vk_add","vk_alt","vk_anykey","vk_backspace","vk_control","vk_decimal","vk_delete","vk_divide","vk_down","vk_end","vk_enter","vk_escape","vk_f1","vk_f10","vk_f11","vk_f12","vk_f2","vk_f3","vk_f4","vk_f5","vk_f6","vk_f7","vk_f8","vk_f9","vk_home","vk_insert","vk_lalt","vk_lcontrol","vk_left","vk_lshift","vk_multiply","vk_nokey","vk_numpad0","vk_numpad1","vk_numpad2","vk_numpad3","vk_numpad4","vk_numpad5","vk_numpad6","vk_numpad7","vk_numpad8","vk_numpad9","vk_pagedown","vk_pageup","vk_pause","vk_printscreen","vk_ralt","vk_rcontrol","vk_return","vk_right","vk_rshift","vk_shift","vk_space","vk_subtract","vk_tab","vk_up","wallpaper_config","wallpaper_subscription_data","wrap"],"variable.language":["alarm","application_surface","argument","argument0","argument1","argument2","argument3","argument4","argument5","argument6","argument7","argument8","argument9","argument10","argument11","argument12","argument13","argument14","argument15","argument_count","async_load","background_color","background_colour","background_showcolor","background_showcolour","bbox_bottom","bbox_left","bbox_right","bbox_top","browser_height","browser_width","colour?ColourTrack","current_day","current_hour","current_minute","current_month","current_second","current_time","current_weekday","current_year","cursor_sprite","debug_mode","delta_time","depth","direction","display_aa","drawn_by_sequence","event_action","event_data","event_number","event_object","event_type","font_texture_page_size","fps","fps_real","friction","game_display_name","game_id","game_project_name","game_save_id","gravity","gravity_direction","health","hspeed","iap_data","id","image_alpha","image_angle","image_blend","image_index","image_number","image_speed","image_xscale","image_yscale","in_collision_tree","in_sequence","instance_count","instance_id","keyboard_key","keyboard_lastchar","keyboard_lastkey","keyboard_string","layer","lives","longMessage","managed","mask_index","message","mouse_button","mouse_lastbutton","mouse_x","mouse_y","object_index","os_browser","os_device","os_type","os_version","path_endaction","path_index","path_orientation","path_position","path_positionprevious","path_scale","path_speed","persistent","phy_active","phy_angular_damping","phy_angular_velocity","phy_bullet","phy_col_normal_x","phy_col_normal_y","phy_collision_points","phy_collision_x","phy_collision_y","phy_com_x","phy_com_y","phy_dynamic","phy_fixed_rotation","phy_inertia","phy_kinematic","phy_linear_damping","phy_linear_velocity_x","phy_linear_velocity_y","phy_mass","phy_position_x","phy_position_xprevious","phy_position_y","phy_position_yprevious","phy_rotation","phy_sleeping","phy_speed","phy_speed_x","phy_speed_y","player_avatar_sprite","player_avatar_url","player_id","player_local","player_type","player_user_id","program_directory","rollback_api_server","rollback_confirmed_frame","rollback_current_frame","rollback_event_id","rollback_event_param","rollback_game_running","room","room_first","room_height","room_last","room_persistent","room_speed","room_width","score","script","sequence_instance","solid","speed","sprite_height","sprite_index","sprite_width","sprite_xoffset","sprite_yoffset","stacktrace","temp_directory","timeline_index","timeline_loop","timeline_position","timeline_running","timeline_speed","view_camera","view_current","view_enabled","view_hport","view_surface_id","view_visible","view_wport","view_xport","view_yport","visible","vspeed","webgl_enabled","working_directory","x","xprevious","xstart","y","yprevious","ystart"]},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE]}})),lk.registerLanguage("go",MD?LD:(MD=1,LD=function(e){const t={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:t,illegal:"",end:",\\s+",returnBegin:!0,endsWithParent:!0,contains:[{className:"attr",begin:":\\w+"},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{begin:"\\w+",relevance:0}]}]},{begin:"\\(\\s*",end:"\\s*\\)",excludeEnd:!0,contains:[{begin:"\\w+\\s*=",end:"\\s+",returnBegin:!0,endsWithParent:!0,contains:[{className:"attr",begin:"\\w+",relevance:0},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{begin:"\\w+",relevance:0}]}]}]},{begin:"^\\s*[=~]\\s*"},{begin:/#\{/,end:/\}/,subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0}]}})),lk.registerLanguage("handlebars",$D?qD:($D=1,qD=function(e){const t=e.regex,n={$pattern:/[\w.\/]+/,built_in:["action","bindattr","collection","component","concat","debugger","each","each-in","get","hash","if","in","input","link-to","loc","log","lookup","mut","outlet","partial","query-params","render","template","textarea","unbound","unless","view","with","yield"]},a=/\[\]|\[[^\]]+\]/,r=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,i=t.either(/""|"[^"]+"/,/''|'[^']+'/,a,r),o=t.concat(t.optional(/\.|\.\/|\//),i,t.anyNumberOfTimes(t.concat(/(\.|\/)/,i))),s=t.concat("(",a,"|",r,")(?==)"),l={begin:o},c=e.inherit(l,{keywords:{$pattern:/[\w.\/]+/,literal:["true","false","undefined","null"]}}),d={begin:/\(/,end:/\)/},u={className:"attr",begin:s,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[e.NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,c,d]}}},_={contains:[e.NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]},u,c,d],returnEnd:!0},p=e.inherit(l,{className:"name",keywords:n,starts:e.inherit(_,{end:/\)/})});d.contains=[p];const m=e.inherit(l,{keywords:n,className:"name",starts:e.inherit(_,{end:/\}\}/})}),g=e.inherit(l,{keywords:n,className:"name"}),E=e.inherit(l,{className:"name",keywords:n,starts:e.inherit(_,{end:/\}\}/})});return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:!0,subLanguage:"xml",contains:[{begin:/\\\{\{/,skip:!0},{begin:/\\\\(?=\{\{)/,skip:!0},e.COMMENT(/\{\{!--/,/--\}\}/),e.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[m],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[g]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[m]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{(?=else if)/,end:/\}\}/,keywords:"else if"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[g]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[E]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[E]}]}})),lk.registerLanguage("haskell",WD?jD:(WD=1,jD=function(e){const t="([0-9]_*)+",n="([0-9a-fA-F]_*)+",a="([!#$%&*+.\\/<=>?@\\\\^~-]|(?!([(),;\\[\\]`|{}]|[_:\"']))(\\p{S}|\\p{P}))",r={variants:[e.COMMENT("--+","$"),e.COMMENT(/\{-/,/-\}/,{contains:["self"]})]},i={className:"meta",begin:/\{-#/,end:/#-\}/},o={className:"meta",begin:"^#",end:"$"},s={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},l={begin:"\\(",end:"\\)",illegal:'"',contains:[i,o,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),r]},c={className:"number",relevance:0,variants:[{match:`\\b(${t})(\\.(${t}))?([eE][+-]?(${t}))?\\b`},{match:`\\b0[xX]_*(${n})(\\.(${n}))?([pP][+-]?(${t}))?\\b`},{match:"\\b0[oO](([0-7]_*)+)\\b"},{match:"\\b0[bB](([01]_*)+)\\b"}]};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",unicodeRegex:!0,contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[l,r],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[l,r],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[s,l,r]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[i,s,l,{begin:/\{/,end:/\}/,contains:l.contains},r]},{beginKeywords:"default",end:"$",contains:[s,l,r]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,r]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[s,e.QUOTE_STRING_MODE,r]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},i,o,{scope:"string",begin:/'(?=\\?.')/,end:/'/,contains:[{scope:"char.escape",match:/\\./}]},e.QUOTE_STRING_MODE,c,s,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),{begin:`(?!-)${a}--+|--+(?!-)${a}`},r,{begin:"->|<-"}]}})),lk.registerLanguage("haxe",QD?KD:(QD=1,KD=function(e){return{name:"Haxe",aliases:["hx"],keywords:{keyword:"abstract break case cast catch continue default do dynamic else enum extern final for function here if import in inline is macro never new override package private get set public return static super switch this throw trace try typedef untyped using var while Int Float String Bool Dynamic Void Array ",built_in:"trace this",literal:"true false null _"},contains:[{className:"string",begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE,{className:"subst",begin:/\$\{/,end:/\}/},{className:"subst",begin:/\$/,end:/\W\}/}]},e.QUOTE_STRING_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:/(-?)(\b0[xX][a-fA-F0-9_]+|(\b\d+(\.[\d_]*)?|\.[\d_]+)(([eE][-+]?\d+)|i32|u32|i64|f64)?)/,relevance:0},{className:"variable",begin:"\\$[a-zA-Z_$][a-zA-Z0-9_$]*"},{className:"meta",begin:/@:?/,end:/\(|$/,excludeEnd:!0},{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elseif end error"}},{className:"type",begin:/:[ \t]*/,end:/[^A-Za-z0-9_ \t\->]/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/:[ \t]*/,end:/\W/,excludeBegin:!0,excludeEnd:!0},{className:"type",beginKeywords:"new",end:/\W/,excludeBegin:!0,excludeEnd:!0},{className:"title.class",beginKeywords:"enum",end:/\{/,contains:[e.TITLE_MODE]},{className:"title.class",begin:"\\babstract\\b(?=\\s*"+e.IDENT_RE+"\\s*\\()",end:/[\{$]/,contains:[{className:"type",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0},{className:"type",begin:/from +/,end:/\W/,excludeBegin:!0,excludeEnd:!0},{className:"type",begin:/to +/,end:/\W/,excludeBegin:!0,excludeEnd:!0},e.TITLE_MODE],keywords:{keyword:"abstract from to"}},{className:"title.class",begin:/\b(class|interface) +/,end:/[\{$]/,excludeEnd:!0,keywords:"class interface",contains:[{className:"keyword",begin:/\b(extends|implements) +/,keywords:"extends implements",contains:[{className:"type",begin:e.IDENT_RE,relevance:0}]},e.TITLE_MODE]},{className:"title.function",beginKeywords:"function",end:/\(/,excludeEnd:!0,illegal:/\S/,contains:[e.TITLE_MODE]}],illegal:/<\//}})),lk.registerLanguage("hsp",ZD?XD:(ZD=1,XD=function(e){return{name:"HSP",case_insensitive:!0,keywords:{$pattern:/[\w._]+/,keyword:"goto gosub return break repeat loop continue wait await dim sdim foreach dimtype dup dupptr end stop newmod delmod mref run exgoto on mcall assert logmes newlab resume yield onexit onerror onkey onclick oncmd exist delete mkdir chdir dirlist bload bsave bcopy memfile if else poke wpoke lpoke getstr chdpm memexpand memcpy memset notesel noteadd notedel noteload notesave randomize noteunsel noteget split strrep setease button chgdisp exec dialog mmload mmplay mmstop mci pset pget syscolor mes print title pos circle cls font sysfont objsize picload color palcolor palette redraw width gsel gcopy gzoom gmode bmpsave hsvcolor getkey listbox chkbox combox input mesbox buffer screen bgscr mouse objsel groll line clrobj boxf objprm objmode stick grect grotate gsquare gradf objimage objskip objenable celload celdiv celput newcom querycom delcom cnvstow comres axobj winobj sendmsg comevent comevarg sarrayconv callfunc cnvwtos comevdisp libptr system hspstat hspver stat cnt err strsize looplev sublev iparam wparam lparam refstr refdval int rnd strlen length length2 length3 length4 vartype gettime peek wpeek lpeek varptr varuse noteinfo instr abs limit getease str strmid strf getpath strtrim sin cos tan atan sqrt double absf expf logf limitf powf geteasef mousex mousey mousew hwnd hinstance hdc ginfo objinfo dirinfo sysinfo thismod __hspver__ __hsp30__ __date__ __time__ __line__ __file__ _debug __hspdef__ and or xor not screen_normal screen_palette screen_hide screen_fixedsize screen_tool screen_frame gmode_gdi gmode_mem gmode_rgb0 gmode_alpha gmode_rgb0alpha gmode_add gmode_sub gmode_pixela ginfo_mx ginfo_my ginfo_act ginfo_sel ginfo_wx1 ginfo_wy1 ginfo_wx2 ginfo_wy2 ginfo_vx ginfo_vy ginfo_sizex ginfo_sizey ginfo_winx ginfo_winy ginfo_mesx ginfo_mesy ginfo_r ginfo_g ginfo_b ginfo_paluse ginfo_dispx ginfo_dispy ginfo_cx ginfo_cy ginfo_intid ginfo_newid ginfo_sx ginfo_sy objinfo_mode objinfo_bmscr objinfo_hwnd notemax notesize dir_cur dir_exe dir_win dir_sys dir_cmdline dir_desktop dir_mydoc dir_tv font_normal font_bold font_italic font_underline font_strikeout font_antialias objmode_normal objmode_guifont objmode_usefont gsquare_grad msgothic msmincho do until while wend for next _break _continue switch case default swbreak swend ddim ldim alloc m_pi rad2deg deg2rad ease_linear ease_quad_in ease_quad_out ease_quad_inout ease_cubic_in ease_cubic_out ease_cubic_inout ease_quartic_in ease_quartic_out ease_quartic_inout ease_bounce_in ease_bounce_out ease_bounce_inout ease_shake_in ease_shake_out ease_shake_inout ease_loop"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",begin:/\{"/,end:/"\}/,contains:[e.BACKSLASH_ESCAPE]},e.COMMENT(";","$",{relevance:0}),{className:"meta",begin:"#",end:"$",keywords:{keyword:"addion cfunc cmd cmpopt comfunc const defcfunc deffunc define else endif enum epack func global if ifdef ifndef include modcfunc modfunc modinit modterm module pack packopt regcmd runtime undef usecom uselib"},contains:[e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),e.NUMBER_MODE,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"symbol",begin:"^\\*(\\w+|@)"},e.NUMBER_MODE,e.C_NUMBER_MODE]}})),lk.registerLanguage("http",ex?JD:(ex=1,JD=function(e){const t="HTTP/([32]|1\\.[01])",n={className:"attribute",begin:e.regex.concat("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},a=[n,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+t+" \\d{3})",end:/$/,contains:[{className:"meta",begin:t},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:a}},{begin:"(?=^[A-Z]+ (.*?) "+t+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:t},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:a}},e.inherit(n,{relevance:0})]}})),lk.registerLanguage("hy",nx?tx:(nx=1,tx=function(e){const t="a-zA-Z_\\-!.?+*=<>&#'",n="["+t+"]["+t+"0-9/;:]*",a={$pattern:n,built_in:"!= % %= & &= * ** **= *= *map + += , --build-class-- --import-- -= . / // //= /= < << <<= <= = > >= >> >>= @ @= ^ ^= abs accumulate all and any ap-compose ap-dotimes ap-each ap-each-while ap-filter ap-first ap-if ap-last ap-map ap-map-when ap-pipe ap-reduce ap-reject apply as-> ascii assert assoc bin break butlast callable calling-module-name car case cdr chain chr coll? combinations compile compress cond cons cons? continue count curry cut cycle dec def default-method defclass defmacro defmacro-alias defmacro/g! defmain defmethod defmulti defn defn-alias defnc defnr defreader defseq del delattr delete-route dict-comp dir disassemble dispatch-reader-macro distinct divmod do doto drop drop-last drop-while empty? end-sequence eval eval-and-compile eval-when-compile even? every? except exec filter first flatten float? fn fnc fnr for for* format fraction genexpr gensym get getattr global globals group-by hasattr hash hex id identity if if* if-not if-python2 import in inc input instance? integer integer-char? integer? interleave interpose is is-coll is-cons is-empty is-even is-every is-float is-instance is-integer is-integer-char is-iterable is-iterator is-keyword is-neg is-none is-not is-numeric is-odd is-pos is-string is-symbol is-zero isinstance islice issubclass iter iterable? iterate iterator? keyword keyword? lambda last len let lif lif-not list* list-comp locals loop macro-error macroexpand macroexpand-1 macroexpand-all map max merge-with method-decorator min multi-decorator multicombinations name neg? next none? nonlocal not not-in not? nth numeric? oct odd? open or ord partition permutations pos? post-route postwalk pow prewalk print product profile/calls profile/cpu put-route quasiquote quote raise range read read-str recursive-replace reduce remove repeat repeatedly repr require rest round route route-with-methods rwm second seq set-comp setattr setv some sorted string string? sum switch symbol? take take-nth take-while tee try unless unquote unquote-splicing vars walk when while with with* with-decorator with-gensyms xi xor yield yield-from zero? zip zip-longest | |= ~"},r={begin:n,relevance:0},i={className:"number",begin:"[-+]?\\d+(\\.\\d+)?",relevance:0},o=e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),s=e.COMMENT(";","$",{relevance:0}),l={className:"literal",begin:/\b([Tt]rue|[Ff]alse|nil|None)\b/},c={begin:"[\\[\\{]",end:"[\\]\\}]",relevance:0},d={className:"comment",begin:"\\^"+n},u=e.COMMENT("\\^\\{","\\}"),_={className:"symbol",begin:"[:]{1,2}"+n},p={begin:"\\(",end:"\\)"},m={endsWithParent:!0,relevance:0},g={className:"name",relevance:0,keywords:a,begin:n,starts:m},E=[p,o,d,u,s,_,c,i,l,r];return p.contains=[e.COMMENT("comment",""),g,m],m.contains=E,c.contains=E,{name:"Hy",aliases:["hylang"],illegal:/\S/,contains:[e.SHEBANG(),p,o,d,u,s,_,c,i,l]}})),lk.registerLanguage("inform7",rx?ax:(rx=1,ax=function(e){return{name:"Inform 7",aliases:["i7"],case_insensitive:!0,keywords:{keyword:"thing room person man woman animal container supporter backdrop door scenery open closed locked inside gender is are say understand kind of rule"},contains:[{className:"string",begin:'"',end:'"',relevance:0,contains:[{className:"subst",begin:"\\[",end:"\\]"}]},{className:"section",begin:/^(Volume|Book|Part|Chapter|Section|Table)\b/,end:"$"},{begin:/^(Check|Carry out|Report|Instead of|To|Rule|When|Before|After)\b/,end:":",contains:[{begin:"\\(This",end:"\\)"}]},{className:"comment",begin:"\\[",end:"\\]",contains:["self"]}]}})),lk.registerLanguage("ini",ox?ix:(ox=1,ix=function(e){const t=e.regex,n={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},a=e.COMMENT();a.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const r={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},i={className:"literal",begin:/\bon|off|true|false|yes|no\b/},o={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},s={begin:/\[/,end:/\]/,contains:[a,i,r,o,n,"self"],relevance:0},l=t.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{begin:t.concat(l,"(\\s*\\.\\s*",l,")*",t.lookahead(/\s*=\s*[^#\s]/)),className:"attr",starts:{end:/$/,contains:[a,s,i,r,o,n]}}]}})),lk.registerLanguage("irpf90",lx?sx:(lx=1,sx=function(e){const t=e.regex,n=/(_[a-z_\d]+)?/,a=/([de][+-]?\d+)?/,r={className:"number",variants:[{begin:t.concat(/\b\d+/,/\.(\d*)/,a,n)},{begin:t.concat(/\b\d+/,a,n)},{begin:t.concat(/\.\d+/,a,n)}],relevance:0};return{name:"IRPF90",case_insensitive:!0,keywords:{literal:".False. .True.",keyword:"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data begin_provider &begin_provider end_provider begin_shell end_shell begin_template end_template subst assert touch soft_touch provide no_dep free irp_if irp_else irp_endif irp_write irp_read",built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_of acosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image IRP_ALIGN irp_here"},illegal:/\/\*/,contains:[e.inherit(e.APOS_STRING_MODE,{className:"string",relevance:0}),e.inherit(e.QUOTE_STRING_MODE,{className:"string",relevance:0}),{className:"function",beginKeywords:"subroutine function program",illegal:"[${=\\n]",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)"}]},e.COMMENT("!","$",{relevance:0}),e.COMMENT("begin_doc","end_doc",{relevance:10}),r]}})),lk.registerLanguage("isbl",dx?cx:(dx=1,cx=function(e){const t="[A-Za-zА-Яа-яёЁ_!][A-Za-zА-Яа-яёЁ_0-9]*",n={className:"number",begin:e.NUMBER_RE,relevance:0},a={className:"string",variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]},r={className:"doctag",begin:"\\b(?:TODO|DONE|BEGIN|END|STUB|CHG|FIXME|NOTE|BUG|XXX)\\b",relevance:0},i={variants:[{className:"comment",begin:"//",end:"$",relevance:0,contains:[e.PHRASAL_WORDS_MODE,r]},{className:"comment",begin:"/\\*",end:"\\*/",relevance:0,contains:[e.PHRASAL_WORDS_MODE,r]}]},o={$pattern:t,keyword:"and и else иначе endexcept endfinally endforeach конецвсе endif конецесли endwhile конецпока except exitfor finally foreach все if если in в not не or или try while пока ",built_in:"SYSRES_CONST_ACCES_RIGHT_TYPE_EDIT SYSRES_CONST_ACCES_RIGHT_TYPE_FULL SYSRES_CONST_ACCES_RIGHT_TYPE_VIEW SYSRES_CONST_ACCESS_MODE_REQUISITE_CODE SYSRES_CONST_ACCESS_NO_ACCESS_VIEW SYSRES_CONST_ACCESS_NO_ACCESS_VIEW_CODE SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_DELETE_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_DELETE_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_EXECUTE_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_EXECUTE_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_NO_ACCESS_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_NO_ACCESS_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_RATIFY_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_RATIFY_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_VIEW SYSRES_CONST_ACCESS_RIGHTS_VIEW_CODE SYSRES_CONST_ACCESS_RIGHTS_VIEW_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_VIEW_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_TYPE_CHANGE SYSRES_CONST_ACCESS_TYPE_CHANGE_CODE SYSRES_CONST_ACCESS_TYPE_EXISTS SYSRES_CONST_ACCESS_TYPE_EXISTS_CODE SYSRES_CONST_ACCESS_TYPE_FULL SYSRES_CONST_ACCESS_TYPE_FULL_CODE SYSRES_CONST_ACCESS_TYPE_VIEW SYSRES_CONST_ACCESS_TYPE_VIEW_CODE SYSRES_CONST_ACTION_TYPE_ABORT SYSRES_CONST_ACTION_TYPE_ACCEPT SYSRES_CONST_ACTION_TYPE_ACCESS_RIGHTS SYSRES_CONST_ACTION_TYPE_ADD_ATTACHMENT SYSRES_CONST_ACTION_TYPE_CHANGE_CARD SYSRES_CONST_ACTION_TYPE_CHANGE_KIND SYSRES_CONST_ACTION_TYPE_CHANGE_STORAGE SYSRES_CONST_ACTION_TYPE_CONTINUE SYSRES_CONST_ACTION_TYPE_COPY SYSRES_CONST_ACTION_TYPE_CREATE SYSRES_CONST_ACTION_TYPE_CREATE_VERSION SYSRES_CONST_ACTION_TYPE_DELETE SYSRES_CONST_ACTION_TYPE_DELETE_ATTACHMENT SYSRES_CONST_ACTION_TYPE_DELETE_VERSION SYSRES_CONST_ACTION_TYPE_DISABLE_DELEGATE_ACCESS_RIGHTS SYSRES_CONST_ACTION_TYPE_ENABLE_DELEGATE_ACCESS_RIGHTS SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_CERTIFICATE SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_CERTIFICATE_AND_PASSWORD SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_PASSWORD SYSRES_CONST_ACTION_TYPE_EXPORT_WITH_LOCK SYSRES_CONST_ACTION_TYPE_EXPORT_WITHOUT_LOCK SYSRES_CONST_ACTION_TYPE_IMPORT_WITH_UNLOCK SYSRES_CONST_ACTION_TYPE_IMPORT_WITHOUT_UNLOCK SYSRES_CONST_ACTION_TYPE_LIFE_CYCLE_STAGE SYSRES_CONST_ACTION_TYPE_LOCK SYSRES_CONST_ACTION_TYPE_LOCK_FOR_SERVER SYSRES_CONST_ACTION_TYPE_LOCK_MODIFY SYSRES_CONST_ACTION_TYPE_MARK_AS_READED SYSRES_CONST_ACTION_TYPE_MARK_AS_UNREADED SYSRES_CONST_ACTION_TYPE_MODIFY SYSRES_CONST_ACTION_TYPE_MODIFY_CARD SYSRES_CONST_ACTION_TYPE_MOVE_TO_ARCHIVE SYSRES_CONST_ACTION_TYPE_OFF_ENCRYPTION SYSRES_CONST_ACTION_TYPE_PASSWORD_CHANGE SYSRES_CONST_ACTION_TYPE_PERFORM SYSRES_CONST_ACTION_TYPE_RECOVER_FROM_LOCAL_COPY SYSRES_CONST_ACTION_TYPE_RESTART SYSRES_CONST_ACTION_TYPE_RESTORE_FROM_ARCHIVE SYSRES_CONST_ACTION_TYPE_REVISION SYSRES_CONST_ACTION_TYPE_SEND_BY_MAIL SYSRES_CONST_ACTION_TYPE_SIGN SYSRES_CONST_ACTION_TYPE_START SYSRES_CONST_ACTION_TYPE_UNLOCK SYSRES_CONST_ACTION_TYPE_UNLOCK_FROM_SERVER SYSRES_CONST_ACTION_TYPE_VERSION_STATE SYSRES_CONST_ACTION_TYPE_VERSION_VISIBILITY SYSRES_CONST_ACTION_TYPE_VIEW SYSRES_CONST_ACTION_TYPE_VIEW_SHADOW_COPY SYSRES_CONST_ACTION_TYPE_WORKFLOW_DESCRIPTION_MODIFY SYSRES_CONST_ACTION_TYPE_WRITE_HISTORY SYSRES_CONST_ACTIVE_VERSION_STATE_PICK_VALUE SYSRES_CONST_ADD_REFERENCE_MODE_NAME SYSRES_CONST_ADDITION_REQUISITE_CODE SYSRES_CONST_ADDITIONAL_PARAMS_REQUISITE_CODE SYSRES_CONST_ADITIONAL_JOB_END_DATE_REQUISITE_NAME SYSRES_CONST_ADITIONAL_JOB_READ_REQUISITE_NAME SYSRES_CONST_ADITIONAL_JOB_START_DATE_REQUISITE_NAME SYSRES_CONST_ADITIONAL_JOB_STATE_REQUISITE_NAME SYSRES_CONST_ADMINISTRATION_HISTORY_ADDING_USER_TO_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_ADDING_USER_TO_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_COMP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_COMP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_USER_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_USER_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_CREATION SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_CREATION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_DELETION SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_DELETION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_COMP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_COMP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_FROM_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_FROM_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_RESTRICTION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_RESTRICTION_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_PRIVILEGE_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_PRIVILEGE_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_RIGHTS_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_RIGHTS_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_IS_MAIN_SERVER_CHANGED_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_IS_MAIN_SERVER_CHANGED_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_IS_PUBLIC_CHANGED_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_IS_PUBLIC_CHANGED_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_RESTRICTION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_RESTRICTION_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_PRIVILEGE_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_PRIVILEGE_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_RIGHTS_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_RIGHTS_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_CREATION SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_CREATION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_DELETION SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_DELETION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_CATEGORY_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_CATEGORY_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_COMP_TITLE_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_COMP_TITLE_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_FULL_NAME_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_FULL_NAME_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_PARENT_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_PARENT_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_AUTH_TYPE_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_AUTH_TYPE_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_LOGIN_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_LOGIN_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_STATUS_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_STATUS_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_USER_PASSWORD_CHANGE SYSRES_CONST_ADMINISTRATION_HISTORY_USER_PASSWORD_CHANGE_ACTION SYSRES_CONST_ALL_ACCEPT_CONDITION_RUS SYSRES_CONST_ALL_USERS_GROUP SYSRES_CONST_ALL_USERS_GROUP_NAME SYSRES_CONST_ALL_USERS_SERVER_GROUP_NAME SYSRES_CONST_ALLOWED_ACCESS_TYPE_CODE SYSRES_CONST_ALLOWED_ACCESS_TYPE_NAME SYSRES_CONST_APP_VIEWER_TYPE_REQUISITE_CODE SYSRES_CONST_APPROVING_SIGNATURE_NAME SYSRES_CONST_APPROVING_SIGNATURE_REQUISITE_CODE SYSRES_CONST_ASSISTANT_SUBSTITUE_TYPE SYSRES_CONST_ASSISTANT_SUBSTITUE_TYPE_CODE SYSRES_CONST_ATTACH_TYPE_COMPONENT_TOKEN SYSRES_CONST_ATTACH_TYPE_DOC SYSRES_CONST_ATTACH_TYPE_EDOC SYSRES_CONST_ATTACH_TYPE_FOLDER SYSRES_CONST_ATTACH_TYPE_JOB SYSRES_CONST_ATTACH_TYPE_REFERENCE SYSRES_CONST_ATTACH_TYPE_TASK SYSRES_CONST_AUTH_ENCODED_PASSWORD SYSRES_CONST_AUTH_ENCODED_PASSWORD_CODE SYSRES_CONST_AUTH_NOVELL SYSRES_CONST_AUTH_PASSWORD SYSRES_CONST_AUTH_PASSWORD_CODE SYSRES_CONST_AUTH_WINDOWS SYSRES_CONST_AUTHENTICATING_SIGNATURE_NAME SYSRES_CONST_AUTHENTICATING_SIGNATURE_REQUISITE_CODE SYSRES_CONST_AUTO_ENUM_METHOD_FLAG SYSRES_CONST_AUTO_NUMERATION_CODE SYSRES_CONST_AUTO_STRONG_ENUM_METHOD_FLAG SYSRES_CONST_AUTOTEXT_NAME_REQUISITE_CODE SYSRES_CONST_AUTOTEXT_TEXT_REQUISITE_CODE SYSRES_CONST_AUTOTEXT_USAGE_ALL SYSRES_CONST_AUTOTEXT_USAGE_ALL_CODE SYSRES_CONST_AUTOTEXT_USAGE_SIGN SYSRES_CONST_AUTOTEXT_USAGE_SIGN_CODE SYSRES_CONST_AUTOTEXT_USAGE_WORK SYSRES_CONST_AUTOTEXT_USAGE_WORK_CODE SYSRES_CONST_AUTOTEXT_USE_ANYWHERE_CODE SYSRES_CONST_AUTOTEXT_USE_ON_SIGNING_CODE SYSRES_CONST_AUTOTEXT_USE_ON_WORK_CODE SYSRES_CONST_BEGIN_DATE_REQUISITE_CODE SYSRES_CONST_BLACK_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_BLUE_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_BTN_PART SYSRES_CONST_CALCULATED_ROLE_TYPE_CODE SYSRES_CONST_CALL_TYPE_VARIABLE_BUTTON_VALUE SYSRES_CONST_CALL_TYPE_VARIABLE_PROGRAM_VALUE SYSRES_CONST_CANCEL_MESSAGE_FUNCTION_RESULT SYSRES_CONST_CARD_PART SYSRES_CONST_CARD_REFERENCE_MODE_NAME SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_ENCRYPT_VALUE SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_SIGN_AND_ENCRYPT_VALUE SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_SIGN_VALUE SYSRES_CONST_CHECK_PARAM_VALUE_DATE_PARAM_TYPE SYSRES_CONST_CHECK_PARAM_VALUE_FLOAT_PARAM_TYPE SYSRES_CONST_CHECK_PARAM_VALUE_INTEGER_PARAM_TYPE SYSRES_CONST_CHECK_PARAM_VALUE_PICK_PARAM_TYPE SYSRES_CONST_CHECK_PARAM_VALUE_REEFRENCE_PARAM_TYPE SYSRES_CONST_CLOSED_RECORD_FLAG_VALUE_FEMININE SYSRES_CONST_CLOSED_RECORD_FLAG_VALUE_MASCULINE SYSRES_CONST_CODE_COMPONENT_TYPE_ADMIN SYSRES_CONST_CODE_COMPONENT_TYPE_DEVELOPER SYSRES_CONST_CODE_COMPONENT_TYPE_DOCS SYSRES_CONST_CODE_COMPONENT_TYPE_EDOC_CARDS SYSRES_CONST_CODE_COMPONENT_TYPE_EXTERNAL_EXECUTABLE SYSRES_CONST_CODE_COMPONENT_TYPE_OTHER SYSRES_CONST_CODE_COMPONENT_TYPE_REFERENCE SYSRES_CONST_CODE_COMPONENT_TYPE_REPORT SYSRES_CONST_CODE_COMPONENT_TYPE_SCRIPT SYSRES_CONST_CODE_COMPONENT_TYPE_URL SYSRES_CONST_CODE_REQUISITE_ACCESS SYSRES_CONST_CODE_REQUISITE_CODE SYSRES_CONST_CODE_REQUISITE_COMPONENT SYSRES_CONST_CODE_REQUISITE_DESCRIPTION SYSRES_CONST_CODE_REQUISITE_EXCLUDE_COMPONENT SYSRES_CONST_CODE_REQUISITE_RECORD SYSRES_CONST_COMMENT_REQ_CODE SYSRES_CONST_COMMON_SETTINGS_REQUISITE_CODE SYSRES_CONST_COMP_CODE_GRD SYSRES_CONST_COMPONENT_GROUP_TYPE_REQUISITE_CODE SYSRES_CONST_COMPONENT_TYPE_ADMIN_COMPONENTS SYSRES_CONST_COMPONENT_TYPE_DEVELOPER_COMPONENTS SYSRES_CONST_COMPONENT_TYPE_DOCS SYSRES_CONST_COMPONENT_TYPE_EDOC_CARDS SYSRES_CONST_COMPONENT_TYPE_EDOCS SYSRES_CONST_COMPONENT_TYPE_EXTERNAL_EXECUTABLE SYSRES_CONST_COMPONENT_TYPE_OTHER SYSRES_CONST_COMPONENT_TYPE_REFERENCE_TYPES SYSRES_CONST_COMPONENT_TYPE_REFERENCES SYSRES_CONST_COMPONENT_TYPE_REPORTS SYSRES_CONST_COMPONENT_TYPE_SCRIPTS SYSRES_CONST_COMPONENT_TYPE_URL SYSRES_CONST_COMPONENTS_REMOTE_SERVERS_VIEW_CODE SYSRES_CONST_CONDITION_BLOCK_DESCRIPTION SYSRES_CONST_CONST_FIRM_STATUS_COMMON SYSRES_CONST_CONST_FIRM_STATUS_INDIVIDUAL SYSRES_CONST_CONST_NEGATIVE_VALUE SYSRES_CONST_CONST_POSITIVE_VALUE SYSRES_CONST_CONST_SERVER_STATUS_DONT_REPLICATE SYSRES_CONST_CONST_SERVER_STATUS_REPLICATE SYSRES_CONST_CONTENTS_REQUISITE_CODE SYSRES_CONST_DATA_TYPE_BOOLEAN SYSRES_CONST_DATA_TYPE_DATE SYSRES_CONST_DATA_TYPE_FLOAT SYSRES_CONST_DATA_TYPE_INTEGER SYSRES_CONST_DATA_TYPE_PICK SYSRES_CONST_DATA_TYPE_REFERENCE SYSRES_CONST_DATA_TYPE_STRING SYSRES_CONST_DATA_TYPE_TEXT SYSRES_CONST_DATA_TYPE_VARIANT SYSRES_CONST_DATE_CLOSE_REQ_CODE SYSRES_CONST_DATE_FORMAT_DATE_ONLY_CHAR SYSRES_CONST_DATE_OPEN_REQ_CODE SYSRES_CONST_DATE_REQUISITE SYSRES_CONST_DATE_REQUISITE_CODE SYSRES_CONST_DATE_REQUISITE_NAME SYSRES_CONST_DATE_REQUISITE_TYPE SYSRES_CONST_DATE_TYPE_CHAR SYSRES_CONST_DATETIME_FORMAT_VALUE SYSRES_CONST_DEA_ACCESS_RIGHTS_ACTION_CODE SYSRES_CONST_DESCRIPTION_LOCALIZE_ID_REQUISITE_CODE SYSRES_CONST_DESCRIPTION_REQUISITE_CODE SYSRES_CONST_DET1_PART SYSRES_CONST_DET2_PART SYSRES_CONST_DET3_PART SYSRES_CONST_DET4_PART SYSRES_CONST_DET5_PART SYSRES_CONST_DET6_PART SYSRES_CONST_DETAIL_DATASET_KEY_REQUISITE_CODE SYSRES_CONST_DETAIL_PICK_REQUISITE_CODE SYSRES_CONST_DETAIL_REQ_CODE SYSRES_CONST_DO_NOT_USE_ACCESS_TYPE_CODE SYSRES_CONST_DO_NOT_USE_ACCESS_TYPE_NAME SYSRES_CONST_DO_NOT_USE_ON_VIEW_ACCESS_TYPE_CODE SYSRES_CONST_DO_NOT_USE_ON_VIEW_ACCESS_TYPE_NAME SYSRES_CONST_DOCUMENT_STORAGES_CODE SYSRES_CONST_DOCUMENT_TEMPLATES_TYPE_NAME SYSRES_CONST_DOUBLE_REQUISITE_CODE SYSRES_CONST_EDITOR_CLOSE_FILE_OBSERV_TYPE_CODE SYSRES_CONST_EDITOR_CLOSE_PROCESS_OBSERV_TYPE_CODE SYSRES_CONST_EDITOR_TYPE_REQUISITE_CODE SYSRES_CONST_EDITORS_APPLICATION_NAME_REQUISITE_CODE SYSRES_CONST_EDITORS_CREATE_SEVERAL_PROCESSES_REQUISITE_CODE SYSRES_CONST_EDITORS_EXTENSION_REQUISITE_CODE SYSRES_CONST_EDITORS_OBSERVER_BY_PROCESS_TYPE SYSRES_CONST_EDITORS_REFERENCE_CODE SYSRES_CONST_EDITORS_REPLACE_SPEC_CHARS_REQUISITE_CODE SYSRES_CONST_EDITORS_USE_PLUGINS_REQUISITE_CODE SYSRES_CONST_EDITORS_VIEW_DOCUMENT_OPENED_TO_EDIT_CODE SYSRES_CONST_EDOC_CARD_TYPE_REQUISITE_CODE SYSRES_CONST_EDOC_CARD_TYPES_LINK_REQUISITE_CODE SYSRES_CONST_EDOC_CERTIFICATE_AND_PASSWORD_ENCODE_CODE SYSRES_CONST_EDOC_CERTIFICATE_ENCODE_CODE SYSRES_CONST_EDOC_DATE_REQUISITE_CODE SYSRES_CONST_EDOC_KIND_REFERENCE_CODE SYSRES_CONST_EDOC_KINDS_BY_TEMPLATE_ACTION_CODE SYSRES_CONST_EDOC_MANAGE_ACCESS_CODE SYSRES_CONST_EDOC_NONE_ENCODE_CODE SYSRES_CONST_EDOC_NUMBER_REQUISITE_CODE SYSRES_CONST_EDOC_PASSWORD_ENCODE_CODE SYSRES_CONST_EDOC_READONLY_ACCESS_CODE SYSRES_CONST_EDOC_SHELL_LIFE_TYPE_VIEW_VALUE SYSRES_CONST_EDOC_SIZE_RESTRICTION_PRIORITY_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_CHECK_ACCESS_RIGHTS_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_COMPUTER_NAME_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_DATABASE_NAME_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_EDIT_IN_STORAGE_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_LOCAL_PATH_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_SHARED_SOURCE_NAME_REQUISITE_CODE SYSRES_CONST_EDOC_TEMPLATE_REQUISITE_CODE SYSRES_CONST_EDOC_TYPES_REFERENCE_CODE SYSRES_CONST_EDOC_VERSION_ACTIVE_STAGE_CODE SYSRES_CONST_EDOC_VERSION_DESIGN_STAGE_CODE SYSRES_CONST_EDOC_VERSION_OBSOLETE_STAGE_CODE SYSRES_CONST_EDOC_WRITE_ACCES_CODE SYSRES_CONST_EDOCUMENT_CARD_REQUISITES_REFERENCE_CODE_SELECTED_REQUISITE SYSRES_CONST_ENCODE_CERTIFICATE_TYPE_CODE SYSRES_CONST_END_DATE_REQUISITE_CODE SYSRES_CONST_ENUMERATION_TYPE_REQUISITE_CODE SYSRES_CONST_EXECUTE_ACCESS_RIGHTS_TYPE_CODE SYSRES_CONST_EXECUTIVE_FILE_STORAGE_TYPE SYSRES_CONST_EXIST_CONST SYSRES_CONST_EXIST_VALUE SYSRES_CONST_EXPORT_LOCK_TYPE_ASK SYSRES_CONST_EXPORT_LOCK_TYPE_WITH_LOCK SYSRES_CONST_EXPORT_LOCK_TYPE_WITHOUT_LOCK SYSRES_CONST_EXPORT_VERSION_TYPE_ASK SYSRES_CONST_EXPORT_VERSION_TYPE_LAST SYSRES_CONST_EXPORT_VERSION_TYPE_LAST_ACTIVE SYSRES_CONST_EXTENSION_REQUISITE_CODE SYSRES_CONST_FILTER_NAME_REQUISITE_CODE SYSRES_CONST_FILTER_REQUISITE_CODE SYSRES_CONST_FILTER_TYPE_COMMON_CODE SYSRES_CONST_FILTER_TYPE_COMMON_NAME SYSRES_CONST_FILTER_TYPE_USER_CODE SYSRES_CONST_FILTER_TYPE_USER_NAME SYSRES_CONST_FILTER_VALUE_REQUISITE_NAME SYSRES_CONST_FLOAT_NUMBER_FORMAT_CHAR SYSRES_CONST_FLOAT_REQUISITE_TYPE SYSRES_CONST_FOLDER_AUTHOR_VALUE SYSRES_CONST_FOLDER_KIND_ANY_OBJECTS SYSRES_CONST_FOLDER_KIND_COMPONENTS SYSRES_CONST_FOLDER_KIND_EDOCS SYSRES_CONST_FOLDER_KIND_JOBS SYSRES_CONST_FOLDER_KIND_TASKS SYSRES_CONST_FOLDER_TYPE_COMMON SYSRES_CONST_FOLDER_TYPE_COMPONENT SYSRES_CONST_FOLDER_TYPE_FAVORITES SYSRES_CONST_FOLDER_TYPE_INBOX SYSRES_CONST_FOLDER_TYPE_OUTBOX SYSRES_CONST_FOLDER_TYPE_QUICK_LAUNCH SYSRES_CONST_FOLDER_TYPE_SEARCH SYSRES_CONST_FOLDER_TYPE_SHORTCUTS SYSRES_CONST_FOLDER_TYPE_USER SYSRES_CONST_FROM_DICTIONARY_ENUM_METHOD_FLAG SYSRES_CONST_FULL_SUBSTITUTE_TYPE SYSRES_CONST_FULL_SUBSTITUTE_TYPE_CODE SYSRES_CONST_FUNCTION_CANCEL_RESULT SYSRES_CONST_FUNCTION_CATEGORY_SYSTEM SYSRES_CONST_FUNCTION_CATEGORY_USER SYSRES_CONST_FUNCTION_FAILURE_RESULT SYSRES_CONST_FUNCTION_SAVE_RESULT SYSRES_CONST_GENERATED_REQUISITE SYSRES_CONST_GREEN_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_GROUP_ACCOUNT_TYPE_VALUE_CODE SYSRES_CONST_GROUP_CATEGORY_NORMAL_CODE SYSRES_CONST_GROUP_CATEGORY_NORMAL_NAME SYSRES_CONST_GROUP_CATEGORY_SERVICE_CODE SYSRES_CONST_GROUP_CATEGORY_SERVICE_NAME SYSRES_CONST_GROUP_COMMON_CATEGORY_FIELD_VALUE SYSRES_CONST_GROUP_FULL_NAME_REQUISITE_CODE SYSRES_CONST_GROUP_NAME_REQUISITE_CODE SYSRES_CONST_GROUP_RIGHTS_T_REQUISITE_CODE SYSRES_CONST_GROUP_SERVER_CODES_REQUISITE_CODE SYSRES_CONST_GROUP_SERVER_NAME_REQUISITE_CODE SYSRES_CONST_GROUP_SERVICE_CATEGORY_FIELD_VALUE SYSRES_CONST_GROUP_USER_REQUISITE_CODE SYSRES_CONST_GROUPS_REFERENCE_CODE SYSRES_CONST_GROUPS_REQUISITE_CODE SYSRES_CONST_HIDDEN_MODE_NAME SYSRES_CONST_HIGH_LVL_REQUISITE_CODE SYSRES_CONST_HISTORY_ACTION_CREATE_CODE SYSRES_CONST_HISTORY_ACTION_DELETE_CODE SYSRES_CONST_HISTORY_ACTION_EDIT_CODE SYSRES_CONST_HOUR_CHAR SYSRES_CONST_ID_REQUISITE_CODE SYSRES_CONST_IDSPS_REQUISITE_CODE SYSRES_CONST_IMAGE_MODE_COLOR SYSRES_CONST_IMAGE_MODE_GREYSCALE SYSRES_CONST_IMAGE_MODE_MONOCHROME SYSRES_CONST_IMPORTANCE_HIGH SYSRES_CONST_IMPORTANCE_LOW SYSRES_CONST_IMPORTANCE_NORMAL SYSRES_CONST_IN_DESIGN_VERSION_STATE_PICK_VALUE SYSRES_CONST_INCOMING_WORK_RULE_TYPE_CODE SYSRES_CONST_INT_REQUISITE SYSRES_CONST_INT_REQUISITE_TYPE SYSRES_CONST_INTEGER_NUMBER_FORMAT_CHAR SYSRES_CONST_INTEGER_TYPE_CHAR SYSRES_CONST_IS_GENERATED_REQUISITE_NEGATIVE_VALUE SYSRES_CONST_IS_PUBLIC_ROLE_REQUISITE_CODE SYSRES_CONST_IS_REMOTE_USER_NEGATIVE_VALUE SYSRES_CONST_IS_REMOTE_USER_POSITIVE_VALUE SYSRES_CONST_IS_STORED_REQUISITE_NEGATIVE_VALUE SYSRES_CONST_IS_STORED_REQUISITE_STORED_VALUE SYSRES_CONST_ITALIC_LIFE_CYCLE_STAGE_DRAW_STYLE SYSRES_CONST_JOB_BLOCK_DESCRIPTION SYSRES_CONST_JOB_KIND_CONTROL_JOB SYSRES_CONST_JOB_KIND_JOB SYSRES_CONST_JOB_KIND_NOTICE SYSRES_CONST_JOB_STATE_ABORTED SYSRES_CONST_JOB_STATE_COMPLETE SYSRES_CONST_JOB_STATE_WORKING SYSRES_CONST_KIND_REQUISITE_CODE SYSRES_CONST_KIND_REQUISITE_NAME SYSRES_CONST_KINDS_CREATE_SHADOW_COPIES_REQUISITE_CODE SYSRES_CONST_KINDS_DEFAULT_EDOC_LIFE_STAGE_REQUISITE_CODE SYSRES_CONST_KINDS_EDOC_ALL_TEPLATES_ALLOWED_REQUISITE_CODE SYSRES_CONST_KINDS_EDOC_ALLOW_LIFE_CYCLE_STAGE_CHANGING_REQUISITE_CODE SYSRES_CONST_KINDS_EDOC_ALLOW_MULTIPLE_ACTIVE_VERSIONS_REQUISITE_CODE SYSRES_CONST_KINDS_EDOC_SHARE_ACCES_RIGHTS_BY_DEFAULT_CODE SYSRES_CONST_KINDS_EDOC_TEMPLATE_REQUISITE_CODE SYSRES_CONST_KINDS_EDOC_TYPE_REQUISITE_CODE SYSRES_CONST_KINDS_SIGNERS_REQUISITES_CODE SYSRES_CONST_KOD_INPUT_TYPE SYSRES_CONST_LAST_UPDATE_DATE_REQUISITE_CODE SYSRES_CONST_LIFE_CYCLE_START_STAGE_REQUISITE_CODE SYSRES_CONST_LILAC_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_LINK_OBJECT_KIND_COMPONENT SYSRES_CONST_LINK_OBJECT_KIND_DOCUMENT SYSRES_CONST_LINK_OBJECT_KIND_EDOC SYSRES_CONST_LINK_OBJECT_KIND_FOLDER SYSRES_CONST_LINK_OBJECT_KIND_JOB SYSRES_CONST_LINK_OBJECT_KIND_REFERENCE SYSRES_CONST_LINK_OBJECT_KIND_TASK SYSRES_CONST_LINK_REF_TYPE_REQUISITE_CODE SYSRES_CONST_LIST_REFERENCE_MODE_NAME SYSRES_CONST_LOCALIZATION_DICTIONARY_MAIN_VIEW_CODE SYSRES_CONST_MAIN_VIEW_CODE SYSRES_CONST_MANUAL_ENUM_METHOD_FLAG SYSRES_CONST_MASTER_COMP_TYPE_REQUISITE_CODE SYSRES_CONST_MASTER_TABLE_REC_ID_REQUISITE_CODE SYSRES_CONST_MAXIMIZED_MODE_NAME SYSRES_CONST_ME_VALUE SYSRES_CONST_MESSAGE_ATTENTION_CAPTION SYSRES_CONST_MESSAGE_CONFIRMATION_CAPTION SYSRES_CONST_MESSAGE_ERROR_CAPTION SYSRES_CONST_MESSAGE_INFORMATION_CAPTION SYSRES_CONST_MINIMIZED_MODE_NAME SYSRES_CONST_MINUTE_CHAR SYSRES_CONST_MODULE_REQUISITE_CODE SYSRES_CONST_MONITORING_BLOCK_DESCRIPTION SYSRES_CONST_MONTH_FORMAT_VALUE SYSRES_CONST_NAME_LOCALIZE_ID_REQUISITE_CODE SYSRES_CONST_NAME_REQUISITE_CODE SYSRES_CONST_NAME_SINGULAR_REQUISITE_CODE SYSRES_CONST_NAMEAN_INPUT_TYPE SYSRES_CONST_NEGATIVE_PICK_VALUE SYSRES_CONST_NEGATIVE_VALUE SYSRES_CONST_NO SYSRES_CONST_NO_PICK_VALUE SYSRES_CONST_NO_SIGNATURE_REQUISITE_CODE SYSRES_CONST_NO_VALUE SYSRES_CONST_NONE_ACCESS_RIGHTS_TYPE_CODE SYSRES_CONST_NONOPERATING_RECORD_FLAG_VALUE SYSRES_CONST_NONOPERATING_RECORD_FLAG_VALUE_MASCULINE SYSRES_CONST_NORMAL_ACCESS_RIGHTS_TYPE_CODE SYSRES_CONST_NORMAL_LIFE_CYCLE_STAGE_DRAW_STYLE SYSRES_CONST_NORMAL_MODE_NAME SYSRES_CONST_NOT_ALLOWED_ACCESS_TYPE_CODE SYSRES_CONST_NOT_ALLOWED_ACCESS_TYPE_NAME SYSRES_CONST_NOTE_REQUISITE_CODE SYSRES_CONST_NOTICE_BLOCK_DESCRIPTION SYSRES_CONST_NUM_REQUISITE SYSRES_CONST_NUM_STR_REQUISITE_CODE SYSRES_CONST_NUMERATION_AUTO_NOT_STRONG SYSRES_CONST_NUMERATION_AUTO_STRONG SYSRES_CONST_NUMERATION_FROM_DICTONARY SYSRES_CONST_NUMERATION_MANUAL SYSRES_CONST_NUMERIC_TYPE_CHAR SYSRES_CONST_NUMREQ_REQUISITE_CODE SYSRES_CONST_OBSOLETE_VERSION_STATE_PICK_VALUE SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_CODE SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_FEMININE SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_MASCULINE SYSRES_CONST_OPTIONAL_FORM_COMP_REQCODE_PREFIX SYSRES_CONST_ORANGE_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_ORIGINALREF_REQUISITE_CODE SYSRES_CONST_OURFIRM_REF_CODE SYSRES_CONST_OURFIRM_REQUISITE_CODE SYSRES_CONST_OURFIRM_VAR SYSRES_CONST_OUTGOING_WORK_RULE_TYPE_CODE SYSRES_CONST_PICK_NEGATIVE_RESULT SYSRES_CONST_PICK_POSITIVE_RESULT SYSRES_CONST_PICK_REQUISITE SYSRES_CONST_PICK_REQUISITE_TYPE SYSRES_CONST_PICK_TYPE_CHAR SYSRES_CONST_PLAN_STATUS_REQUISITE_CODE SYSRES_CONST_PLATFORM_VERSION_COMMENT SYSRES_CONST_PLUGINS_SETTINGS_DESCRIPTION_REQUISITE_CODE SYSRES_CONST_POSITIVE_PICK_VALUE SYSRES_CONST_POWER_TO_CREATE_ACTION_CODE SYSRES_CONST_POWER_TO_SIGN_ACTION_CODE SYSRES_CONST_PRIORITY_REQUISITE_CODE SYSRES_CONST_QUALIFIED_TASK_TYPE SYSRES_CONST_QUALIFIED_TASK_TYPE_CODE SYSRES_CONST_RECSTAT_REQUISITE_CODE SYSRES_CONST_RED_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_REF_ID_T_REF_TYPE_REQUISITE_CODE SYSRES_CONST_REF_REQUISITE SYSRES_CONST_REF_REQUISITE_TYPE SYSRES_CONST_REF_REQUISITES_REFERENCE_CODE_SELECTED_REQUISITE SYSRES_CONST_REFERENCE_RECORD_HISTORY_CREATE_ACTION_CODE SYSRES_CONST_REFERENCE_RECORD_HISTORY_DELETE_ACTION_CODE SYSRES_CONST_REFERENCE_RECORD_HISTORY_MODIFY_ACTION_CODE SYSRES_CONST_REFERENCE_TYPE_CHAR SYSRES_CONST_REFERENCE_TYPE_REQUISITE_NAME SYSRES_CONST_REFERENCES_ADD_PARAMS_REQUISITE_CODE SYSRES_CONST_REFERENCES_DISPLAY_REQUISITE_REQUISITE_CODE SYSRES_CONST_REMOTE_SERVER_STATUS_WORKING SYSRES_CONST_REMOTE_SERVER_TYPE_MAIN SYSRES_CONST_REMOTE_SERVER_TYPE_SECONDARY SYSRES_CONST_REMOTE_USER_FLAG_VALUE_CODE SYSRES_CONST_REPORT_APP_EDITOR_INTERNAL SYSRES_CONST_REPORT_BASE_REPORT_ID_REQUISITE_CODE SYSRES_CONST_REPORT_BASE_REPORT_REQUISITE_CODE SYSRES_CONST_REPORT_SCRIPT_REQUISITE_CODE SYSRES_CONST_REPORT_TEMPLATE_REQUISITE_CODE SYSRES_CONST_REPORT_VIEWER_CODE_REQUISITE_CODE SYSRES_CONST_REQ_ALLOW_COMPONENT_DEFAULT_VALUE SYSRES_CONST_REQ_ALLOW_RECORD_DEFAULT_VALUE SYSRES_CONST_REQ_ALLOW_SERVER_COMPONENT_DEFAULT_VALUE SYSRES_CONST_REQ_MODE_AVAILABLE_CODE SYSRES_CONST_REQ_MODE_EDIT_CODE SYSRES_CONST_REQ_MODE_HIDDEN_CODE SYSRES_CONST_REQ_MODE_NOT_AVAILABLE_CODE SYSRES_CONST_REQ_MODE_VIEW_CODE SYSRES_CONST_REQ_NUMBER_REQUISITE_CODE SYSRES_CONST_REQ_SECTION_VALUE SYSRES_CONST_REQ_TYPE_VALUE SYSRES_CONST_REQUISITE_FORMAT_BY_UNIT SYSRES_CONST_REQUISITE_FORMAT_DATE_FULL SYSRES_CONST_REQUISITE_FORMAT_DATE_TIME SYSRES_CONST_REQUISITE_FORMAT_LEFT SYSRES_CONST_REQUISITE_FORMAT_RIGHT SYSRES_CONST_REQUISITE_FORMAT_WITHOUT_UNIT SYSRES_CONST_REQUISITE_NUMBER_REQUISITE_CODE SYSRES_CONST_REQUISITE_SECTION_ACTIONS SYSRES_CONST_REQUISITE_SECTION_BUTTON SYSRES_CONST_REQUISITE_SECTION_BUTTONS SYSRES_CONST_REQUISITE_SECTION_CARD SYSRES_CONST_REQUISITE_SECTION_TABLE SYSRES_CONST_REQUISITE_SECTION_TABLE10 SYSRES_CONST_REQUISITE_SECTION_TABLE11 SYSRES_CONST_REQUISITE_SECTION_TABLE12 SYSRES_CONST_REQUISITE_SECTION_TABLE13 SYSRES_CONST_REQUISITE_SECTION_TABLE14 SYSRES_CONST_REQUISITE_SECTION_TABLE15 SYSRES_CONST_REQUISITE_SECTION_TABLE16 SYSRES_CONST_REQUISITE_SECTION_TABLE17 SYSRES_CONST_REQUISITE_SECTION_TABLE18 SYSRES_CONST_REQUISITE_SECTION_TABLE19 SYSRES_CONST_REQUISITE_SECTION_TABLE2 SYSRES_CONST_REQUISITE_SECTION_TABLE20 SYSRES_CONST_REQUISITE_SECTION_TABLE21 SYSRES_CONST_REQUISITE_SECTION_TABLE22 SYSRES_CONST_REQUISITE_SECTION_TABLE23 SYSRES_CONST_REQUISITE_SECTION_TABLE24 SYSRES_CONST_REQUISITE_SECTION_TABLE3 SYSRES_CONST_REQUISITE_SECTION_TABLE4 SYSRES_CONST_REQUISITE_SECTION_TABLE5 SYSRES_CONST_REQUISITE_SECTION_TABLE6 SYSRES_CONST_REQUISITE_SECTION_TABLE7 SYSRES_CONST_REQUISITE_SECTION_TABLE8 SYSRES_CONST_REQUISITE_SECTION_TABLE9 SYSRES_CONST_REQUISITES_PSEUDOREFERENCE_REQUISITE_NUMBER_REQUISITE_CODE SYSRES_CONST_RIGHT_ALIGNMENT_CODE SYSRES_CONST_ROLES_REFERENCE_CODE SYSRES_CONST_ROUTE_STEP_AFTER_RUS SYSRES_CONST_ROUTE_STEP_AND_CONDITION_RUS SYSRES_CONST_ROUTE_STEP_OR_CONDITION_RUS SYSRES_CONST_ROUTE_TYPE_COMPLEX SYSRES_CONST_ROUTE_TYPE_PARALLEL SYSRES_CONST_ROUTE_TYPE_SERIAL SYSRES_CONST_SBDATASETDESC_NEGATIVE_VALUE SYSRES_CONST_SBDATASETDESC_POSITIVE_VALUE SYSRES_CONST_SBVIEWSDESC_POSITIVE_VALUE SYSRES_CONST_SCRIPT_BLOCK_DESCRIPTION SYSRES_CONST_SEARCH_BY_TEXT_REQUISITE_CODE SYSRES_CONST_SEARCHES_COMPONENT_CONTENT SYSRES_CONST_SEARCHES_CRITERIA_ACTION_NAME SYSRES_CONST_SEARCHES_EDOC_CONTENT SYSRES_CONST_SEARCHES_FOLDER_CONTENT SYSRES_CONST_SEARCHES_JOB_CONTENT SYSRES_CONST_SEARCHES_REFERENCE_CODE SYSRES_CONST_SEARCHES_TASK_CONTENT SYSRES_CONST_SECOND_CHAR SYSRES_CONST_SECTION_REQUISITE_ACTIONS_VALUE SYSRES_CONST_SECTION_REQUISITE_CARD_VALUE SYSRES_CONST_SECTION_REQUISITE_CODE SYSRES_CONST_SECTION_REQUISITE_DETAIL_1_VALUE SYSRES_CONST_SECTION_REQUISITE_DETAIL_2_VALUE SYSRES_CONST_SECTION_REQUISITE_DETAIL_3_VALUE SYSRES_CONST_SECTION_REQUISITE_DETAIL_4_VALUE SYSRES_CONST_SECTION_REQUISITE_DETAIL_5_VALUE SYSRES_CONST_SECTION_REQUISITE_DETAIL_6_VALUE SYSRES_CONST_SELECT_REFERENCE_MODE_NAME SYSRES_CONST_SELECT_TYPE_SELECTABLE SYSRES_CONST_SELECT_TYPE_SELECTABLE_ONLY_CHILD SYSRES_CONST_SELECT_TYPE_SELECTABLE_WITH_CHILD SYSRES_CONST_SELECT_TYPE_UNSLECTABLE SYSRES_CONST_SERVER_TYPE_MAIN SYSRES_CONST_SERVICE_USER_CATEGORY_FIELD_VALUE SYSRES_CONST_SETTINGS_USER_REQUISITE_CODE SYSRES_CONST_SIGNATURE_AND_ENCODE_CERTIFICATE_TYPE_CODE SYSRES_CONST_SIGNATURE_CERTIFICATE_TYPE_CODE SYSRES_CONST_SINGULAR_TITLE_REQUISITE_CODE SYSRES_CONST_SQL_SERVER_AUTHENTIFICATION_FLAG_VALUE_CODE SYSRES_CONST_SQL_SERVER_ENCODE_AUTHENTIFICATION_FLAG_VALUE_CODE SYSRES_CONST_STANDART_ROUTE_REFERENCE_CODE SYSRES_CONST_STANDART_ROUTE_REFERENCE_COMMENT_REQUISITE_CODE SYSRES_CONST_STANDART_ROUTES_GROUPS_REFERENCE_CODE SYSRES_CONST_STATE_REQ_NAME SYSRES_CONST_STATE_REQUISITE_ACTIVE_VALUE SYSRES_CONST_STATE_REQUISITE_CLOSED_VALUE SYSRES_CONST_STATE_REQUISITE_CODE SYSRES_CONST_STATIC_ROLE_TYPE_CODE SYSRES_CONST_STATUS_PLAN_DEFAULT_VALUE SYSRES_CONST_STATUS_VALUE_AUTOCLEANING SYSRES_CONST_STATUS_VALUE_BLUE_SQUARE SYSRES_CONST_STATUS_VALUE_COMPLETE SYSRES_CONST_STATUS_VALUE_GREEN_SQUARE SYSRES_CONST_STATUS_VALUE_ORANGE_SQUARE SYSRES_CONST_STATUS_VALUE_PURPLE_SQUARE SYSRES_CONST_STATUS_VALUE_RED_SQUARE SYSRES_CONST_STATUS_VALUE_SUSPEND SYSRES_CONST_STATUS_VALUE_YELLOW_SQUARE SYSRES_CONST_STDROUTE_SHOW_TO_USERS_REQUISITE_CODE SYSRES_CONST_STORAGE_TYPE_FILE SYSRES_CONST_STORAGE_TYPE_SQL_SERVER SYSRES_CONST_STR_REQUISITE SYSRES_CONST_STRIKEOUT_LIFE_CYCLE_STAGE_DRAW_STYLE SYSRES_CONST_STRING_FORMAT_LEFT_ALIGN_CHAR SYSRES_CONST_STRING_FORMAT_RIGHT_ALIGN_CHAR SYSRES_CONST_STRING_REQUISITE_CODE SYSRES_CONST_STRING_REQUISITE_TYPE SYSRES_CONST_STRING_TYPE_CHAR SYSRES_CONST_SUBSTITUTES_PSEUDOREFERENCE_CODE SYSRES_CONST_SUBTASK_BLOCK_DESCRIPTION SYSRES_CONST_SYSTEM_SETTING_CURRENT_USER_PARAM_VALUE SYSRES_CONST_SYSTEM_SETTING_EMPTY_VALUE_PARAM_VALUE SYSRES_CONST_SYSTEM_VERSION_COMMENT SYSRES_CONST_TASK_ACCESS_TYPE_ALL SYSRES_CONST_TASK_ACCESS_TYPE_ALL_MEMBERS SYSRES_CONST_TASK_ACCESS_TYPE_MANUAL SYSRES_CONST_TASK_ENCODE_TYPE_CERTIFICATION SYSRES_CONST_TASK_ENCODE_TYPE_CERTIFICATION_AND_PASSWORD SYSRES_CONST_TASK_ENCODE_TYPE_NONE SYSRES_CONST_TASK_ENCODE_TYPE_PASSWORD SYSRES_CONST_TASK_ROUTE_ALL_CONDITION SYSRES_CONST_TASK_ROUTE_AND_CONDITION SYSRES_CONST_TASK_ROUTE_OR_CONDITION SYSRES_CONST_TASK_STATE_ABORTED SYSRES_CONST_TASK_STATE_COMPLETE SYSRES_CONST_TASK_STATE_CONTINUED SYSRES_CONST_TASK_STATE_CONTROL SYSRES_CONST_TASK_STATE_INIT SYSRES_CONST_TASK_STATE_WORKING SYSRES_CONST_TASK_TITLE SYSRES_CONST_TASK_TYPES_GROUPS_REFERENCE_CODE SYSRES_CONST_TASK_TYPES_REFERENCE_CODE SYSRES_CONST_TEMPLATES_REFERENCE_CODE SYSRES_CONST_TEST_DATE_REQUISITE_NAME SYSRES_CONST_TEST_DEV_DATABASE_NAME SYSRES_CONST_TEST_DEV_SYSTEM_CODE SYSRES_CONST_TEST_EDMS_DATABASE_NAME SYSRES_CONST_TEST_EDMS_MAIN_CODE SYSRES_CONST_TEST_EDMS_MAIN_DB_NAME SYSRES_CONST_TEST_EDMS_SECOND_CODE SYSRES_CONST_TEST_EDMS_SECOND_DB_NAME SYSRES_CONST_TEST_EDMS_SYSTEM_CODE SYSRES_CONST_TEST_NUMERIC_REQUISITE_NAME SYSRES_CONST_TEXT_REQUISITE SYSRES_CONST_TEXT_REQUISITE_CODE SYSRES_CONST_TEXT_REQUISITE_TYPE SYSRES_CONST_TEXT_TYPE_CHAR SYSRES_CONST_TYPE_CODE_REQUISITE_CODE SYSRES_CONST_TYPE_REQUISITE_CODE SYSRES_CONST_UNDEFINED_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_UNITS_SECTION_ID_REQUISITE_CODE SYSRES_CONST_UNITS_SECTION_REQUISITE_CODE SYSRES_CONST_UNOPERATING_RECORD_FLAG_VALUE_CODE SYSRES_CONST_UNSTORED_DATA_REQUISITE_CODE SYSRES_CONST_UNSTORED_DATA_REQUISITE_NAME SYSRES_CONST_USE_ACCESS_TYPE_CODE SYSRES_CONST_USE_ACCESS_TYPE_NAME SYSRES_CONST_USER_ACCOUNT_TYPE_VALUE_CODE SYSRES_CONST_USER_ADDITIONAL_INFORMATION_REQUISITE_CODE SYSRES_CONST_USER_AND_GROUP_ID_FROM_PSEUDOREFERENCE_REQUISITE_CODE SYSRES_CONST_USER_CATEGORY_NORMAL SYSRES_CONST_USER_CERTIFICATE_REQUISITE_CODE SYSRES_CONST_USER_CERTIFICATE_STATE_REQUISITE_CODE SYSRES_CONST_USER_CERTIFICATE_SUBJECT_NAME_REQUISITE_CODE SYSRES_CONST_USER_CERTIFICATE_THUMBPRINT_REQUISITE_CODE SYSRES_CONST_USER_COMMON_CATEGORY SYSRES_CONST_USER_COMMON_CATEGORY_CODE SYSRES_CONST_USER_FULL_NAME_REQUISITE_CODE SYSRES_CONST_USER_GROUP_TYPE_REQUISITE_CODE SYSRES_CONST_USER_LOGIN_REQUISITE_CODE SYSRES_CONST_USER_REMOTE_CONTROLLER_REQUISITE_CODE SYSRES_CONST_USER_REMOTE_SYSTEM_REQUISITE_CODE SYSRES_CONST_USER_RIGHTS_T_REQUISITE_CODE SYSRES_CONST_USER_SERVER_NAME_REQUISITE_CODE SYSRES_CONST_USER_SERVICE_CATEGORY SYSRES_CONST_USER_SERVICE_CATEGORY_CODE SYSRES_CONST_USER_STATUS_ADMINISTRATOR_CODE SYSRES_CONST_USER_STATUS_ADMINISTRATOR_NAME SYSRES_CONST_USER_STATUS_DEVELOPER_CODE SYSRES_CONST_USER_STATUS_DEVELOPER_NAME SYSRES_CONST_USER_STATUS_DISABLED_CODE SYSRES_CONST_USER_STATUS_DISABLED_NAME SYSRES_CONST_USER_STATUS_SYSTEM_DEVELOPER_CODE SYSRES_CONST_USER_STATUS_USER_CODE SYSRES_CONST_USER_STATUS_USER_NAME SYSRES_CONST_USER_STATUS_USER_NAME_DEPRECATED SYSRES_CONST_USER_TYPE_FIELD_VALUE_USER SYSRES_CONST_USER_TYPE_REQUISITE_CODE SYSRES_CONST_USERS_CONTROLLER_REQUISITE_CODE SYSRES_CONST_USERS_IS_MAIN_SERVER_REQUISITE_CODE SYSRES_CONST_USERS_REFERENCE_CODE SYSRES_CONST_USERS_REGISTRATION_CERTIFICATES_ACTION_NAME SYSRES_CONST_USERS_REQUISITE_CODE SYSRES_CONST_USERS_SYSTEM_REQUISITE_CODE SYSRES_CONST_USERS_USER_ACCESS_RIGHTS_TYPR_REQUISITE_CODE SYSRES_CONST_USERS_USER_AUTHENTICATION_REQUISITE_CODE SYSRES_CONST_USERS_USER_COMPONENT_REQUISITE_CODE SYSRES_CONST_USERS_USER_GROUP_REQUISITE_CODE SYSRES_CONST_USERS_VIEW_CERTIFICATES_ACTION_NAME SYSRES_CONST_VIEW_DEFAULT_CODE SYSRES_CONST_VIEW_DEFAULT_NAME SYSRES_CONST_VIEWER_REQUISITE_CODE SYSRES_CONST_WAITING_BLOCK_DESCRIPTION SYSRES_CONST_WIZARD_FORM_LABEL_TEST_STRING SYSRES_CONST_WIZARD_QUERY_PARAM_HEIGHT_ETALON_STRING SYSRES_CONST_WIZARD_REFERENCE_COMMENT_REQUISITE_CODE SYSRES_CONST_WORK_RULES_DESCRIPTION_REQUISITE_CODE SYSRES_CONST_WORK_TIME_CALENDAR_REFERENCE_CODE SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE_CODE SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE_CODE_RUS SYSRES_CONST_WORK_WORKFLOW_SOFT_ROUTE_TYPE_VALUE_CODE_RUS SYSRES_CONST_WORKFLOW_ROUTE_TYPR_HARD SYSRES_CONST_WORKFLOW_ROUTE_TYPR_SOFT SYSRES_CONST_XML_ENCODING SYSRES_CONST_XREC_STAT_REQUISITE_CODE SYSRES_CONST_XRECID_FIELD_NAME SYSRES_CONST_YES SYSRES_CONST_YES_NO_2_REQUISITE_CODE SYSRES_CONST_YES_NO_REQUISITE_CODE SYSRES_CONST_YES_NO_T_REF_TYPE_REQUISITE_CODE SYSRES_CONST_YES_PICK_VALUE SYSRES_CONST_YES_VALUE CR FALSE nil NO_VALUE NULL TAB TRUE YES_VALUE ADMINISTRATORS_GROUP_NAME CUSTOMIZERS_GROUP_NAME DEVELOPERS_GROUP_NAME SERVICE_USERS_GROUP_NAME DECISION_BLOCK_FIRST_OPERAND_PROPERTY DECISION_BLOCK_NAME_PROPERTY DECISION_BLOCK_OPERATION_PROPERTY DECISION_BLOCK_RESULT_TYPE_PROPERTY DECISION_BLOCK_SECOND_OPERAND_PROPERTY ANY_FILE_EXTENTION COMPRESSED_DOCUMENT_EXTENSION EXTENDED_DOCUMENT_EXTENSION SHORT_COMPRESSED_DOCUMENT_EXTENSION SHORT_EXTENDED_DOCUMENT_EXTENSION JOB_BLOCK_ABORT_DEADLINE_PROPERTY JOB_BLOCK_AFTER_FINISH_EVENT JOB_BLOCK_AFTER_QUERY_PARAMETERS_EVENT JOB_BLOCK_ATTACHMENT_PROPERTY JOB_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY JOB_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY JOB_BLOCK_BEFORE_QUERY_PARAMETERS_EVENT JOB_BLOCK_BEFORE_START_EVENT JOB_BLOCK_CREATED_JOBS_PROPERTY JOB_BLOCK_DEADLINE_PROPERTY JOB_BLOCK_EXECUTION_RESULTS_PROPERTY JOB_BLOCK_IS_PARALLEL_PROPERTY JOB_BLOCK_IS_RELATIVE_ABORT_DEADLINE_PROPERTY JOB_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY JOB_BLOCK_JOB_TEXT_PROPERTY JOB_BLOCK_NAME_PROPERTY JOB_BLOCK_NEED_SIGN_ON_PERFORM_PROPERTY JOB_BLOCK_PERFORMER_PROPERTY JOB_BLOCK_RELATIVE_ABORT_DEADLINE_TYPE_PROPERTY JOB_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY JOB_BLOCK_SUBJECT_PROPERTY ENGLISH_LANGUAGE_CODE RUSSIAN_LANGUAGE_CODE smHidden smMaximized smMinimized smNormal wmNo wmYes COMPONENT_TOKEN_LINK_KIND DOCUMENT_LINK_KIND EDOCUMENT_LINK_KIND FOLDER_LINK_KIND JOB_LINK_KIND REFERENCE_LINK_KIND TASK_LINK_KIND COMPONENT_TOKEN_LOCK_TYPE EDOCUMENT_VERSION_LOCK_TYPE MONITOR_BLOCK_AFTER_FINISH_EVENT MONITOR_BLOCK_BEFORE_START_EVENT MONITOR_BLOCK_DEADLINE_PROPERTY MONITOR_BLOCK_INTERVAL_PROPERTY MONITOR_BLOCK_INTERVAL_TYPE_PROPERTY MONITOR_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY MONITOR_BLOCK_NAME_PROPERTY MONITOR_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY MONITOR_BLOCK_SEARCH_SCRIPT_PROPERTY NOTICE_BLOCK_AFTER_FINISH_EVENT NOTICE_BLOCK_ATTACHMENT_PROPERTY NOTICE_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY NOTICE_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY NOTICE_BLOCK_BEFORE_START_EVENT NOTICE_BLOCK_CREATED_NOTICES_PROPERTY NOTICE_BLOCK_DEADLINE_PROPERTY NOTICE_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY NOTICE_BLOCK_NAME_PROPERTY NOTICE_BLOCK_NOTICE_TEXT_PROPERTY NOTICE_BLOCK_PERFORMER_PROPERTY NOTICE_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY NOTICE_BLOCK_SUBJECT_PROPERTY dseAfterCancel dseAfterClose dseAfterDelete dseAfterDeleteOutOfTransaction dseAfterInsert dseAfterOpen dseAfterScroll dseAfterUpdate dseAfterUpdateOutOfTransaction dseBeforeCancel dseBeforeClose dseBeforeDelete dseBeforeDetailUpdate dseBeforeInsert dseBeforeOpen dseBeforeUpdate dseOnAnyRequisiteChange dseOnCloseRecord dseOnDeleteError dseOnOpenRecord dseOnPrepareUpdate dseOnUpdateError dseOnUpdateRatifiedRecord dseOnValidDelete dseOnValidUpdate reOnChange reOnChangeValues SELECTION_BEGIN_ROUTE_EVENT SELECTION_END_ROUTE_EVENT CURRENT_PERIOD_IS_REQUIRED PREVIOUS_CARD_TYPE_NAME SHOW_RECORD_PROPERTIES_FORM ACCESS_RIGHTS_SETTING_DIALOG_CODE ADMINISTRATOR_USER_CODE ANALYTIC_REPORT_TYPE asrtHideLocal asrtHideRemote CALCULATED_ROLE_TYPE_CODE COMPONENTS_REFERENCE_DEVELOPER_VIEW_CODE DCTS_TEST_PROTOCOLS_FOLDER_PATH E_EDOC_VERSION_ALREADY_APPROVINGLY_SIGNED E_EDOC_VERSION_ALREADY_APPROVINGLY_SIGNED_BY_USER E_EDOC_VERSION_ALREDY_SIGNED E_EDOC_VERSION_ALREDY_SIGNED_BY_USER EDOC_TYPES_CODE_REQUISITE_FIELD_NAME EDOCUMENTS_ALIAS_NAME FILES_FOLDER_PATH FILTER_OPERANDS_DELIMITER FILTER_OPERATIONS_DELIMITER FORMCARD_NAME FORMLIST_NAME GET_EXTENDED_DOCUMENT_EXTENSION_CREATION_MODE GET_EXTENDED_DOCUMENT_EXTENSION_IMPORT_MODE INTEGRATED_REPORT_TYPE IS_BUILDER_APPLICATION_ROLE IS_BUILDER_APPLICATION_ROLE2 IS_BUILDER_USERS ISBSYSDEV LOG_FOLDER_PATH mbCancel mbNo mbNoToAll mbOK mbYes mbYesToAll MEMORY_DATASET_DESRIPTIONS_FILENAME mrNo mrNoToAll mrYes mrYesToAll MULTIPLE_SELECT_DIALOG_CODE NONOPERATING_RECORD_FLAG_FEMININE NONOPERATING_RECORD_FLAG_MASCULINE OPERATING_RECORD_FLAG_FEMININE OPERATING_RECORD_FLAG_MASCULINE PROFILING_SETTINGS_COMMON_SETTINGS_CODE_VALUE PROGRAM_INITIATED_LOOKUP_ACTION ratDelete ratEdit ratInsert REPORT_TYPE REQUIRED_PICK_VALUES_VARIABLE rmCard rmList SBRTE_PROGID_DEV SBRTE_PROGID_RELEASE STATIC_ROLE_TYPE_CODE SUPPRESS_EMPTY_TEMPLATE_CREATION SYSTEM_USER_CODE UPDATE_DIALOG_DATASET USED_IN_OBJECT_HINT_PARAM USER_INITIATED_LOOKUP_ACTION USER_NAME_FORMAT USER_SELECTION_RESTRICTIONS WORKFLOW_TEST_PROTOCOLS_FOLDER_PATH ELS_SUBTYPE_CONTROL_NAME ELS_FOLDER_KIND_CONTROL_NAME REPEAT_PROCESS_CURRENT_OBJECT_EXCEPTION_NAME PRIVILEGE_COMPONENT_FULL_ACCESS PRIVILEGE_DEVELOPMENT_EXPORT PRIVILEGE_DEVELOPMENT_IMPORT PRIVILEGE_DOCUMENT_DELETE PRIVILEGE_ESD PRIVILEGE_FOLDER_DELETE PRIVILEGE_MANAGE_ACCESS_RIGHTS PRIVILEGE_MANAGE_REPLICATION PRIVILEGE_MANAGE_SESSION_SERVER PRIVILEGE_OBJECT_FULL_ACCESS PRIVILEGE_OBJECT_VIEW PRIVILEGE_RESERVE_LICENSE PRIVILEGE_SYSTEM_CUSTOMIZE PRIVILEGE_SYSTEM_DEVELOP PRIVILEGE_SYSTEM_INSTALL PRIVILEGE_TASK_DELETE PRIVILEGE_USER_PLUGIN_SETTINGS_CUSTOMIZE PRIVILEGES_PSEUDOREFERENCE_CODE ACCESS_TYPES_PSEUDOREFERENCE_CODE ALL_AVAILABLE_COMPONENTS_PSEUDOREFERENCE_CODE ALL_AVAILABLE_PRIVILEGES_PSEUDOREFERENCE_CODE ALL_REPLICATE_COMPONENTS_PSEUDOREFERENCE_CODE AVAILABLE_DEVELOPERS_COMPONENTS_PSEUDOREFERENCE_CODE COMPONENTS_PSEUDOREFERENCE_CODE FILTRATER_SETTINGS_CONFLICTS_PSEUDOREFERENCE_CODE GROUPS_PSEUDOREFERENCE_CODE RECEIVE_PROTOCOL_PSEUDOREFERENCE_CODE REFERENCE_REQUISITE_PSEUDOREFERENCE_CODE REFERENCE_REQUISITES_PSEUDOREFERENCE_CODE REFTYPES_PSEUDOREFERENCE_CODE REPLICATION_SEANCES_DIARY_PSEUDOREFERENCE_CODE SEND_PROTOCOL_PSEUDOREFERENCE_CODE SUBSTITUTES_PSEUDOREFERENCE_CODE SYSTEM_SETTINGS_PSEUDOREFERENCE_CODE UNITS_PSEUDOREFERENCE_CODE USERS_PSEUDOREFERENCE_CODE VIEWERS_PSEUDOREFERENCE_CODE CERTIFICATE_TYPE_ENCRYPT CERTIFICATE_TYPE_SIGN CERTIFICATE_TYPE_SIGN_AND_ENCRYPT STORAGE_TYPE_FILE STORAGE_TYPE_NAS_CIFS STORAGE_TYPE_SAPERION STORAGE_TYPE_SQL_SERVER COMPTYPE2_REQUISITE_DOCUMENTS_VALUE COMPTYPE2_REQUISITE_TASKS_VALUE COMPTYPE2_REQUISITE_FOLDERS_VALUE COMPTYPE2_REQUISITE_REFERENCES_VALUE SYSREQ_CODE SYSREQ_COMPTYPE2 SYSREQ_CONST_AVAILABLE_FOR_WEB SYSREQ_CONST_COMMON_CODE SYSREQ_CONST_COMMON_VALUE SYSREQ_CONST_FIRM_CODE SYSREQ_CONST_FIRM_STATUS SYSREQ_CONST_FIRM_VALUE SYSREQ_CONST_SERVER_STATUS SYSREQ_CONTENTS SYSREQ_DATE_OPEN SYSREQ_DATE_CLOSE SYSREQ_DESCRIPTION SYSREQ_DESCRIPTION_LOCALIZE_ID SYSREQ_DOUBLE SYSREQ_EDOC_ACCESS_TYPE SYSREQ_EDOC_AUTHOR SYSREQ_EDOC_CREATED SYSREQ_EDOC_DELEGATE_RIGHTS_REQUISITE_CODE SYSREQ_EDOC_EDITOR SYSREQ_EDOC_ENCODE_TYPE SYSREQ_EDOC_ENCRYPTION_PLUGIN_NAME SYSREQ_EDOC_ENCRYPTION_PLUGIN_VERSION SYSREQ_EDOC_EXPORT_DATE SYSREQ_EDOC_EXPORTER SYSREQ_EDOC_KIND SYSREQ_EDOC_LIFE_STAGE_NAME SYSREQ_EDOC_LOCKED_FOR_SERVER_CODE SYSREQ_EDOC_MODIFIED SYSREQ_EDOC_NAME SYSREQ_EDOC_NOTE SYSREQ_EDOC_QUALIFIED_ID SYSREQ_EDOC_SESSION_KEY SYSREQ_EDOC_SESSION_KEY_ENCRYPTION_PLUGIN_NAME SYSREQ_EDOC_SESSION_KEY_ENCRYPTION_PLUGIN_VERSION SYSREQ_EDOC_SIGNATURE_TYPE SYSREQ_EDOC_SIGNED SYSREQ_EDOC_STORAGE SYSREQ_EDOC_STORAGES_ARCHIVE_STORAGE SYSREQ_EDOC_STORAGES_CHECK_RIGHTS SYSREQ_EDOC_STORAGES_COMPUTER_NAME SYSREQ_EDOC_STORAGES_EDIT_IN_STORAGE SYSREQ_EDOC_STORAGES_EXECUTIVE_STORAGE SYSREQ_EDOC_STORAGES_FUNCTION SYSREQ_EDOC_STORAGES_INITIALIZED SYSREQ_EDOC_STORAGES_LOCAL_PATH SYSREQ_EDOC_STORAGES_SAPERION_DATABASE_NAME SYSREQ_EDOC_STORAGES_SEARCH_BY_TEXT SYSREQ_EDOC_STORAGES_SERVER_NAME SYSREQ_EDOC_STORAGES_SHARED_SOURCE_NAME SYSREQ_EDOC_STORAGES_TYPE SYSREQ_EDOC_TEXT_MODIFIED SYSREQ_EDOC_TYPE_ACT_CODE SYSREQ_EDOC_TYPE_ACT_DESCRIPTION SYSREQ_EDOC_TYPE_ACT_DESCRIPTION_LOCALIZE_ID SYSREQ_EDOC_TYPE_ACT_ON_EXECUTE SYSREQ_EDOC_TYPE_ACT_ON_EXECUTE_EXISTS SYSREQ_EDOC_TYPE_ACT_SECTION SYSREQ_EDOC_TYPE_ADD_PARAMS SYSREQ_EDOC_TYPE_COMMENT SYSREQ_EDOC_TYPE_EVENT_TEXT SYSREQ_EDOC_TYPE_NAME_IN_SINGULAR SYSREQ_EDOC_TYPE_NAME_IN_SINGULAR_LOCALIZE_ID SYSREQ_EDOC_TYPE_NAME_LOCALIZE_ID SYSREQ_EDOC_TYPE_NUMERATION_METHOD SYSREQ_EDOC_TYPE_PSEUDO_REQUISITE_CODE SYSREQ_EDOC_TYPE_REQ_CODE SYSREQ_EDOC_TYPE_REQ_DESCRIPTION SYSREQ_EDOC_TYPE_REQ_DESCRIPTION_LOCALIZE_ID SYSREQ_EDOC_TYPE_REQ_IS_LEADING SYSREQ_EDOC_TYPE_REQ_IS_REQUIRED SYSREQ_EDOC_TYPE_REQ_NUMBER SYSREQ_EDOC_TYPE_REQ_ON_CHANGE SYSREQ_EDOC_TYPE_REQ_ON_CHANGE_EXISTS SYSREQ_EDOC_TYPE_REQ_ON_SELECT SYSREQ_EDOC_TYPE_REQ_ON_SELECT_KIND SYSREQ_EDOC_TYPE_REQ_SECTION SYSREQ_EDOC_TYPE_VIEW_CARD SYSREQ_EDOC_TYPE_VIEW_CODE SYSREQ_EDOC_TYPE_VIEW_COMMENT SYSREQ_EDOC_TYPE_VIEW_IS_MAIN SYSREQ_EDOC_TYPE_VIEW_NAME SYSREQ_EDOC_TYPE_VIEW_NAME_LOCALIZE_ID SYSREQ_EDOC_VERSION_AUTHOR SYSREQ_EDOC_VERSION_CRC SYSREQ_EDOC_VERSION_DATA SYSREQ_EDOC_VERSION_EDITOR SYSREQ_EDOC_VERSION_EXPORT_DATE SYSREQ_EDOC_VERSION_EXPORTER SYSREQ_EDOC_VERSION_HIDDEN SYSREQ_EDOC_VERSION_LIFE_STAGE SYSREQ_EDOC_VERSION_MODIFIED SYSREQ_EDOC_VERSION_NOTE SYSREQ_EDOC_VERSION_SIGNATURE_TYPE SYSREQ_EDOC_VERSION_SIGNED SYSREQ_EDOC_VERSION_SIZE SYSREQ_EDOC_VERSION_SOURCE SYSREQ_EDOC_VERSION_TEXT_MODIFIED SYSREQ_EDOCKIND_DEFAULT_VERSION_STATE_CODE SYSREQ_FOLDER_KIND SYSREQ_FUNC_CATEGORY SYSREQ_FUNC_COMMENT SYSREQ_FUNC_GROUP SYSREQ_FUNC_GROUP_COMMENT SYSREQ_FUNC_GROUP_NUMBER SYSREQ_FUNC_HELP SYSREQ_FUNC_PARAM_DEF_VALUE SYSREQ_FUNC_PARAM_IDENT SYSREQ_FUNC_PARAM_NUMBER SYSREQ_FUNC_PARAM_TYPE SYSREQ_FUNC_TEXT SYSREQ_GROUP_CATEGORY SYSREQ_ID SYSREQ_LAST_UPDATE SYSREQ_LEADER_REFERENCE SYSREQ_LINE_NUMBER SYSREQ_MAIN_RECORD_ID SYSREQ_NAME SYSREQ_NAME_LOCALIZE_ID SYSREQ_NOTE SYSREQ_ORIGINAL_RECORD SYSREQ_OUR_FIRM SYSREQ_PROFILING_SETTINGS_BATCH_LOGING SYSREQ_PROFILING_SETTINGS_BATCH_SIZE SYSREQ_PROFILING_SETTINGS_PROFILING_ENABLED SYSREQ_PROFILING_SETTINGS_SQL_PROFILING_ENABLED SYSREQ_PROFILING_SETTINGS_START_LOGGED SYSREQ_RECORD_STATUS SYSREQ_REF_REQ_FIELD_NAME SYSREQ_REF_REQ_FORMAT SYSREQ_REF_REQ_GENERATED SYSREQ_REF_REQ_LENGTH SYSREQ_REF_REQ_PRECISION SYSREQ_REF_REQ_REFERENCE SYSREQ_REF_REQ_SECTION SYSREQ_REF_REQ_STORED SYSREQ_REF_REQ_TOKENS SYSREQ_REF_REQ_TYPE SYSREQ_REF_REQ_VIEW SYSREQ_REF_TYPE_ACT_CODE SYSREQ_REF_TYPE_ACT_DESCRIPTION SYSREQ_REF_TYPE_ACT_DESCRIPTION_LOCALIZE_ID SYSREQ_REF_TYPE_ACT_ON_EXECUTE SYSREQ_REF_TYPE_ACT_ON_EXECUTE_EXISTS SYSREQ_REF_TYPE_ACT_SECTION SYSREQ_REF_TYPE_ADD_PARAMS SYSREQ_REF_TYPE_COMMENT SYSREQ_REF_TYPE_COMMON_SETTINGS SYSREQ_REF_TYPE_DISPLAY_REQUISITE_NAME SYSREQ_REF_TYPE_EVENT_TEXT SYSREQ_REF_TYPE_MAIN_LEADING_REF SYSREQ_REF_TYPE_NAME_IN_SINGULAR SYSREQ_REF_TYPE_NAME_IN_SINGULAR_LOCALIZE_ID SYSREQ_REF_TYPE_NAME_LOCALIZE_ID SYSREQ_REF_TYPE_NUMERATION_METHOD SYSREQ_REF_TYPE_REQ_CODE SYSREQ_REF_TYPE_REQ_DESCRIPTION SYSREQ_REF_TYPE_REQ_DESCRIPTION_LOCALIZE_ID SYSREQ_REF_TYPE_REQ_IS_CONTROL SYSREQ_REF_TYPE_REQ_IS_FILTER SYSREQ_REF_TYPE_REQ_IS_LEADING SYSREQ_REF_TYPE_REQ_IS_REQUIRED SYSREQ_REF_TYPE_REQ_NUMBER SYSREQ_REF_TYPE_REQ_ON_CHANGE SYSREQ_REF_TYPE_REQ_ON_CHANGE_EXISTS SYSREQ_REF_TYPE_REQ_ON_SELECT SYSREQ_REF_TYPE_REQ_ON_SELECT_KIND SYSREQ_REF_TYPE_REQ_SECTION SYSREQ_REF_TYPE_VIEW_CARD SYSREQ_REF_TYPE_VIEW_CODE SYSREQ_REF_TYPE_VIEW_COMMENT SYSREQ_REF_TYPE_VIEW_IS_MAIN SYSREQ_REF_TYPE_VIEW_NAME SYSREQ_REF_TYPE_VIEW_NAME_LOCALIZE_ID SYSREQ_REFERENCE_TYPE_ID SYSREQ_STATE SYSREQ_STATЕ SYSREQ_SYSTEM_SETTINGS_VALUE SYSREQ_TYPE SYSREQ_UNIT SYSREQ_UNIT_ID SYSREQ_USER_GROUPS_GROUP_FULL_NAME SYSREQ_USER_GROUPS_GROUP_NAME SYSREQ_USER_GROUPS_GROUP_SERVER_NAME SYSREQ_USERS_ACCESS_RIGHTS SYSREQ_USERS_AUTHENTICATION SYSREQ_USERS_CATEGORY SYSREQ_USERS_COMPONENT SYSREQ_USERS_COMPONENT_USER_IS_PUBLIC SYSREQ_USERS_DOMAIN SYSREQ_USERS_FULL_USER_NAME SYSREQ_USERS_GROUP SYSREQ_USERS_IS_MAIN_SERVER SYSREQ_USERS_LOGIN SYSREQ_USERS_REFERENCE_USER_IS_PUBLIC SYSREQ_USERS_STATUS SYSREQ_USERS_USER_CERTIFICATE SYSREQ_USERS_USER_CERTIFICATE_INFO SYSREQ_USERS_USER_CERTIFICATE_PLUGIN_NAME SYSREQ_USERS_USER_CERTIFICATE_PLUGIN_VERSION SYSREQ_USERS_USER_CERTIFICATE_STATE SYSREQ_USERS_USER_CERTIFICATE_SUBJECT_NAME SYSREQ_USERS_USER_CERTIFICATE_THUMBPRINT SYSREQ_USERS_USER_DEFAULT_CERTIFICATE SYSREQ_USERS_USER_DESCRIPTION SYSREQ_USERS_USER_GLOBAL_NAME SYSREQ_USERS_USER_LOGIN SYSREQ_USERS_USER_MAIN_SERVER SYSREQ_USERS_USER_TYPE SYSREQ_WORK_RULES_FOLDER_ID RESULT_VAR_NAME RESULT_VAR_NAME_ENG AUTO_NUMERATION_RULE_ID CANT_CHANGE_ID_REQUISITE_RULE_ID CANT_CHANGE_OURFIRM_REQUISITE_RULE_ID CHECK_CHANGING_REFERENCE_RECORD_USE_RULE_ID CHECK_CODE_REQUISITE_RULE_ID CHECK_DELETING_REFERENCE_RECORD_USE_RULE_ID CHECK_FILTRATER_CHANGES_RULE_ID CHECK_RECORD_INTERVAL_RULE_ID CHECK_REFERENCE_INTERVAL_RULE_ID CHECK_REQUIRED_DATA_FULLNESS_RULE_ID CHECK_REQUIRED_REQUISITES_FULLNESS_RULE_ID MAKE_RECORD_UNRATIFIED_RULE_ID RESTORE_AUTO_NUMERATION_RULE_ID SET_FIRM_CONTEXT_FROM_RECORD_RULE_ID SET_FIRST_RECORD_IN_LIST_FORM_RULE_ID SET_IDSPS_VALUE_RULE_ID SET_NEXT_CODE_VALUE_RULE_ID SET_OURFIRM_BOUNDS_RULE_ID SET_OURFIRM_REQUISITE_RULE_ID SCRIPT_BLOCK_AFTER_FINISH_EVENT SCRIPT_BLOCK_BEFORE_START_EVENT SCRIPT_BLOCK_EXECUTION_RESULTS_PROPERTY SCRIPT_BLOCK_NAME_PROPERTY SCRIPT_BLOCK_SCRIPT_PROPERTY SUBTASK_BLOCK_ABORT_DEADLINE_PROPERTY SUBTASK_BLOCK_AFTER_FINISH_EVENT SUBTASK_BLOCK_ASSIGN_PARAMS_EVENT SUBTASK_BLOCK_ATTACHMENTS_PROPERTY SUBTASK_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY SUBTASK_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY SUBTASK_BLOCK_BEFORE_START_EVENT SUBTASK_BLOCK_CREATED_TASK_PROPERTY SUBTASK_BLOCK_CREATION_EVENT SUBTASK_BLOCK_DEADLINE_PROPERTY SUBTASK_BLOCK_IMPORTANCE_PROPERTY SUBTASK_BLOCK_INITIATOR_PROPERTY SUBTASK_BLOCK_IS_RELATIVE_ABORT_DEADLINE_PROPERTY SUBTASK_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY SUBTASK_BLOCK_JOBS_TYPE_PROPERTY SUBTASK_BLOCK_NAME_PROPERTY SUBTASK_BLOCK_PARALLEL_ROUTE_PROPERTY SUBTASK_BLOCK_PERFORMERS_PROPERTY SUBTASK_BLOCK_RELATIVE_ABORT_DEADLINE_TYPE_PROPERTY SUBTASK_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY SUBTASK_BLOCK_REQUIRE_SIGN_PROPERTY SUBTASK_BLOCK_STANDARD_ROUTE_PROPERTY SUBTASK_BLOCK_START_EVENT SUBTASK_BLOCK_STEP_CONTROL_PROPERTY SUBTASK_BLOCK_SUBJECT_PROPERTY SUBTASK_BLOCK_TASK_CONTROL_PROPERTY SUBTASK_BLOCK_TEXT_PROPERTY SUBTASK_BLOCK_UNLOCK_ATTACHMENTS_ON_STOP_PROPERTY SUBTASK_BLOCK_USE_STANDARD_ROUTE_PROPERTY SUBTASK_BLOCK_WAIT_FOR_TASK_COMPLETE_PROPERTY SYSCOMP_CONTROL_JOBS SYSCOMP_FOLDERS SYSCOMP_JOBS SYSCOMP_NOTICES SYSCOMP_TASKS SYSDLG_CREATE_EDOCUMENT SYSDLG_CREATE_EDOCUMENT_VERSION SYSDLG_CURRENT_PERIOD SYSDLG_EDIT_FUNCTION_HELP SYSDLG_EDOCUMENT_KINDS_FOR_TEMPLATE SYSDLG_EXPORT_MULTIPLE_EDOCUMENTS SYSDLG_EXPORT_SINGLE_EDOCUMENT SYSDLG_IMPORT_EDOCUMENT SYSDLG_MULTIPLE_SELECT SYSDLG_SETUP_ACCESS_RIGHTS SYSDLG_SETUP_DEFAULT_RIGHTS SYSDLG_SETUP_FILTER_CONDITION SYSDLG_SETUP_SIGN_RIGHTS SYSDLG_SETUP_TASK_OBSERVERS SYSDLG_SETUP_TASK_ROUTE SYSDLG_SETUP_USERS_LIST SYSDLG_SIGN_EDOCUMENT SYSDLG_SIGN_MULTIPLE_EDOCUMENTS SYSREF_ACCESS_RIGHTS_TYPES SYSREF_ADMINISTRATION_HISTORY SYSREF_ALL_AVAILABLE_COMPONENTS SYSREF_ALL_AVAILABLE_PRIVILEGES SYSREF_ALL_REPLICATING_COMPONENTS SYSREF_AVAILABLE_DEVELOPERS_COMPONENTS SYSREF_CALENDAR_EVENTS SYSREF_COMPONENT_TOKEN_HISTORY SYSREF_COMPONENT_TOKENS SYSREF_COMPONENTS SYSREF_CONSTANTS SYSREF_DATA_RECEIVE_PROTOCOL SYSREF_DATA_SEND_PROTOCOL SYSREF_DIALOGS SYSREF_DIALOGS_REQUISITES SYSREF_EDITORS SYSREF_EDOC_CARDS SYSREF_EDOC_TYPES SYSREF_EDOCUMENT_CARD_REQUISITES SYSREF_EDOCUMENT_CARD_TYPES SYSREF_EDOCUMENT_CARD_TYPES_REFERENCE SYSREF_EDOCUMENT_CARDS SYSREF_EDOCUMENT_HISTORY SYSREF_EDOCUMENT_KINDS SYSREF_EDOCUMENT_REQUISITES SYSREF_EDOCUMENT_SIGNATURES SYSREF_EDOCUMENT_TEMPLATES SYSREF_EDOCUMENT_TEXT_STORAGES SYSREF_EDOCUMENT_VIEWS SYSREF_FILTERER_SETUP_CONFLICTS SYSREF_FILTRATER_SETTING_CONFLICTS SYSREF_FOLDER_HISTORY SYSREF_FOLDERS SYSREF_FUNCTION_GROUPS SYSREF_FUNCTION_PARAMS SYSREF_FUNCTIONS SYSREF_JOB_HISTORY SYSREF_LINKS SYSREF_LOCALIZATION_DICTIONARY SYSREF_LOCALIZATION_LANGUAGES SYSREF_MODULES SYSREF_PRIVILEGES SYSREF_RECORD_HISTORY SYSREF_REFERENCE_REQUISITES SYSREF_REFERENCE_TYPE_VIEWS SYSREF_REFERENCE_TYPES SYSREF_REFERENCES SYSREF_REFERENCES_REQUISITES SYSREF_REMOTE_SERVERS SYSREF_REPLICATION_SESSIONS_LOG SYSREF_REPLICATION_SESSIONS_PROTOCOL SYSREF_REPORTS SYSREF_ROLES SYSREF_ROUTE_BLOCK_GROUPS SYSREF_ROUTE_BLOCKS SYSREF_SCRIPTS SYSREF_SEARCHES SYSREF_SERVER_EVENTS SYSREF_SERVER_EVENTS_HISTORY SYSREF_STANDARD_ROUTE_GROUPS SYSREF_STANDARD_ROUTES SYSREF_STATUSES SYSREF_SYSTEM_SETTINGS SYSREF_TASK_HISTORY SYSREF_TASK_KIND_GROUPS SYSREF_TASK_KINDS SYSREF_TASK_RIGHTS SYSREF_TASK_SIGNATURES SYSREF_TASKS SYSREF_UNITS SYSREF_USER_GROUPS SYSREF_USER_GROUPS_REFERENCE SYSREF_USER_SUBSTITUTION SYSREF_USERS SYSREF_USERS_REFERENCE SYSREF_VIEWERS SYSREF_WORKING_TIME_CALENDARS ACCESS_RIGHTS_TABLE_NAME EDMS_ACCESS_TABLE_NAME EDOC_TYPES_TABLE_NAME TEST_DEV_DB_NAME TEST_DEV_SYSTEM_CODE TEST_EDMS_DB_NAME TEST_EDMS_MAIN_CODE TEST_EDMS_MAIN_DB_NAME TEST_EDMS_SECOND_CODE TEST_EDMS_SECOND_DB_NAME TEST_EDMS_SYSTEM_CODE TEST_ISB5_MAIN_CODE TEST_ISB5_SECOND_CODE TEST_SQL_SERVER_2005_NAME TEST_SQL_SERVER_NAME ATTENTION_CAPTION cbsCommandLinks cbsDefault CONFIRMATION_CAPTION ERROR_CAPTION INFORMATION_CAPTION mrCancel mrOk EDOC_VERSION_ACTIVE_STAGE_CODE EDOC_VERSION_DESIGN_STAGE_CODE EDOC_VERSION_OBSOLETE_STAGE_CODE cpDataEnciphermentEnabled cpDigitalSignatureEnabled cpID cpIssuer cpPluginVersion cpSerial cpSubjectName cpSubjSimpleName cpValidFromDate cpValidToDate ISBL_SYNTAX NO_SYNTAX XML_SYNTAX WAIT_BLOCK_AFTER_FINISH_EVENT WAIT_BLOCK_BEFORE_START_EVENT WAIT_BLOCK_DEADLINE_PROPERTY WAIT_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY WAIT_BLOCK_NAME_PROPERTY WAIT_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY SYSRES_COMMON SYSRES_CONST SYSRES_MBFUNC SYSRES_SBDATA SYSRES_SBGUI SYSRES_SBINTF SYSRES_SBREFDSC SYSRES_SQLERRORS SYSRES_SYSCOMP atUser atGroup atRole aemEnabledAlways aemDisabledAlways aemEnabledOnBrowse aemEnabledOnEdit aemDisabledOnBrowseEmpty apBegin apEnd alLeft alRight asmNever asmNoButCustomize asmAsLastTime asmYesButCustomize asmAlways cirCommon cirRevoked ctSignature ctEncode ctSignatureEncode clbUnchecked clbChecked clbGrayed ceISB ceAlways ceNever ctDocument ctReference ctScript ctUnknown ctReport ctDialog ctFunction ctFolder ctEDocument ctTask ctJob ctNotice ctControlJob cfInternal cfDisplay ciUnspecified ciWrite ciRead ckFolder ckEDocument ckTask ckJob ckComponentToken ckAny ckReference ckScript ckReport ckDialog ctISBLEditor ctBevel ctButton ctCheckListBox ctComboBox ctComboEdit ctGrid ctDBCheckBox ctDBComboBox ctDBEdit ctDBEllipsis ctDBMemo ctDBNavigator ctDBRadioGroup ctDBStatusLabel ctEdit ctGroupBox ctInplaceHint ctMemo ctPanel ctListBox ctRadioButton ctRichEdit ctTabSheet ctWebBrowser ctImage ctHyperLink ctLabel ctDBMultiEllipsis ctRibbon ctRichView ctInnerPanel ctPanelGroup ctBitButton cctDate cctInteger cctNumeric cctPick cctReference cctString cctText cltInternal cltPrimary cltGUI dseBeforeOpen dseAfterOpen dseBeforeClose dseAfterClose dseOnValidDelete dseBeforeDelete dseAfterDelete dseAfterDeleteOutOfTransaction dseOnDeleteError dseBeforeInsert dseAfterInsert dseOnValidUpdate dseBeforeUpdate dseOnUpdateRatifiedRecord dseAfterUpdate dseAfterUpdateOutOfTransaction dseOnUpdateError dseAfterScroll dseOnOpenRecord dseOnCloseRecord dseBeforeCancel dseAfterCancel dseOnUpdateDeadlockError dseBeforeDetailUpdate dseOnPrepareUpdate dseOnAnyRequisiteChange dssEdit dssInsert dssBrowse dssInActive dftDate dftShortDate dftDateTime dftTimeStamp dotDays dotHours dotMinutes dotSeconds dtkndLocal dtkndUTC arNone arView arEdit arFull ddaView ddaEdit emLock emEdit emSign emExportWithLock emImportWithUnlock emChangeVersionNote emOpenForModify emChangeLifeStage emDelete emCreateVersion emImport emUnlockExportedWithLock emStart emAbort emReInit emMarkAsReaded emMarkAsUnreaded emPerform emAccept emResume emChangeRights emEditRoute emEditObserver emRecoveryFromLocalCopy emChangeWorkAccessType emChangeEncodeTypeToCertificate emChangeEncodeTypeToPassword emChangeEncodeTypeToNone emChangeEncodeTypeToCertificatePassword emChangeStandardRoute emGetText emOpenForView emMoveToStorage emCreateObject emChangeVersionHidden emDeleteVersion emChangeLifeCycleStage emApprovingSign emExport emContinue emLockFromEdit emUnLockForEdit emLockForServer emUnlockFromServer emDelegateAccessRights emReEncode ecotFile ecotProcess eaGet eaCopy eaCreate eaCreateStandardRoute edltAll edltNothing edltQuery essmText essmCard esvtLast esvtLastActive esvtSpecified edsfExecutive edsfArchive edstSQLServer edstFile edvstNone edvstEDocumentVersionCopy edvstFile edvstTemplate edvstScannedFile vsDefault vsDesign vsActive vsObsolete etNone etCertificate etPassword etCertificatePassword ecException ecWarning ecInformation estAll estApprovingOnly evtLast evtLastActive evtQuery fdtString fdtNumeric fdtInteger fdtDate fdtText fdtUnknown fdtWideString fdtLargeInteger ftInbox ftOutbox ftFavorites ftCommonFolder ftUserFolder ftComponents ftQuickLaunch ftShortcuts ftSearch grhAuto grhX1 grhX2 grhX3 hltText hltRTF hltHTML iffBMP iffJPEG iffMultiPageTIFF iffSinglePageTIFF iffTIFF iffPNG im8bGrayscale im24bRGB im1bMonochrome itBMP itJPEG itWMF itPNG ikhInformation ikhWarning ikhError ikhNoIcon icUnknown icScript icFunction icIntegratedReport icAnalyticReport icDataSetEventHandler icActionHandler icFormEventHandler icLookUpEventHandler icRequisiteChangeEventHandler icBeforeSearchEventHandler icRoleCalculation icSelectRouteEventHandler icBlockPropertyCalculation icBlockQueryParamsEventHandler icChangeSearchResultEventHandler icBlockEventHandler icSubTaskInitEventHandler icEDocDataSetEventHandler icEDocLookUpEventHandler icEDocActionHandler icEDocFormEventHandler icEDocRequisiteChangeEventHandler icStructuredConversionRule icStructuredConversionEventBefore icStructuredConversionEventAfter icWizardEventHandler icWizardFinishEventHandler icWizardStepEventHandler icWizardStepFinishEventHandler icWizardActionEnableEventHandler icWizardActionExecuteEventHandler icCreateJobsHandler icCreateNoticesHandler icBeforeLookUpEventHandler icAfterLookUpEventHandler icTaskAbortEventHandler icWorkflowBlockActionHandler icDialogDataSetEventHandler icDialogActionHandler icDialogLookUpEventHandler icDialogRequisiteChangeEventHandler icDialogFormEventHandler icDialogValidCloseEventHandler icBlockFormEventHandler icTaskFormEventHandler icReferenceMethod icEDocMethod icDialogMethod icProcessMessageHandler isShow isHide isByUserSettings jkJob jkNotice jkControlJob jtInner jtLeft jtRight jtFull jtCross lbpAbove lbpBelow lbpLeft lbpRight eltPerConnection eltPerUser sfcUndefined sfcBlack sfcGreen sfcRed sfcBlue sfcOrange sfcLilac sfsItalic sfsStrikeout sfsNormal ldctStandardRoute ldctWizard ldctScript ldctFunction ldctRouteBlock ldctIntegratedReport ldctAnalyticReport ldctReferenceType ldctEDocumentType ldctDialog ldctServerEvents mrcrtNone mrcrtUser mrcrtMaximal mrcrtCustom vtEqual vtGreaterOrEqual vtLessOrEqual vtRange rdYesterday rdToday rdTomorrow rdThisWeek rdThisMonth rdThisYear rdNextMonth rdNextWeek rdLastWeek rdLastMonth rdWindow rdFile rdPrinter rdtString rdtNumeric rdtInteger rdtDate rdtReference rdtAccount rdtText rdtPick rdtUnknown rdtLargeInteger rdtDocument reOnChange reOnChangeValues ttGlobal ttLocal ttUser ttSystem ssmBrowse ssmSelect ssmMultiSelect ssmBrowseModal smSelect smLike smCard stNone stAuthenticating stApproving sctString sctStream sstAnsiSort sstNaturalSort svtEqual svtContain soatString soatNumeric soatInteger soatDatetime soatReferenceRecord soatText soatPick soatBoolean soatEDocument soatAccount soatIntegerCollection soatNumericCollection soatStringCollection soatPickCollection soatDatetimeCollection soatBooleanCollection soatReferenceRecordCollection soatEDocumentCollection soatAccountCollection soatContents soatUnknown tarAbortByUser tarAbortByWorkflowException tvtAllWords tvtExactPhrase tvtAnyWord usNone usCompleted usRedSquare usBlueSquare usYellowSquare usGreenSquare usOrangeSquare usPurpleSquare usFollowUp utUnknown utUser utDeveloper utAdministrator utSystemDeveloper utDisconnected btAnd btDetailAnd btOr btNotOr btOnly vmView vmSelect vmNavigation vsmSingle vsmMultiple vsmMultipleCheck vsmNoSelection wfatPrevious wfatNext wfatCancel wfatFinish wfepUndefined wfepText3 wfepText6 wfepText9 wfepSpinEdit wfepDropDown wfepRadioGroup wfepFlag wfepText12 wfepText15 wfepText18 wfepText21 wfepText24 wfepText27 wfepText30 wfepRadioGroupColumn1 wfepRadioGroupColumn2 wfepRadioGroupColumn3 wfetQueryParameter wfetText wfetDelimiter wfetLabel wptString wptInteger wptNumeric wptBoolean wptDateTime wptPick wptText wptUser wptUserList wptEDocumentInfo wptEDocumentInfoList wptReferenceRecordInfo wptReferenceRecordInfoList wptFolderInfo wptTaskInfo wptContents wptFileName wptDate wsrComplete wsrGoNext wsrGoPrevious wsrCustom wsrCancel wsrGoFinal wstForm wstEDocument wstTaskCard wstReferenceRecordCard wstFinal waAll waPerformers waManual wsbStart wsbFinish wsbNotice wsbStep wsbDecision wsbWait wsbMonitor wsbScript wsbConnector wsbSubTask wsbLifeCycleStage wsbPause wdtInteger wdtFloat wdtString wdtPick wdtDateTime wdtBoolean wdtTask wdtJob wdtFolder wdtEDocument wdtReferenceRecord wdtUser wdtGroup wdtRole wdtIntegerCollection wdtFloatCollection wdtStringCollection wdtPickCollection wdtDateTimeCollection wdtBooleanCollection wdtTaskCollection wdtJobCollection wdtFolderCollection wdtEDocumentCollection wdtReferenceRecordCollection wdtUserCollection wdtGroupCollection wdtRoleCollection wdtContents wdtUserList wdtSearchDescription wdtDeadLine wdtPickSet wdtAccountCollection wiLow wiNormal wiHigh wrtSoft wrtHard wsInit wsRunning wsDone wsControlled wsAborted wsContinued wtmFull wtmFromCurrent wtmOnlyCurrent ",class:"AltState Application CallType ComponentTokens CreatedJobs CreatedNotices ControlState DialogResult Dialogs EDocuments EDocumentVersionSource Folders GlobalIDs Job Jobs InputValue LookUpReference LookUpRequisiteNames LookUpSearch Object ParentComponent Processes References Requisite ReportName Reports Result Scripts Searches SelectedAttachments SelectedItems SelectMode Sender ServerEvents ServiceFactory ShiftState SubTask SystemDialogs Tasks Wizard Wizards Work ВызовСпособ ИмяОтчета РеквЗнач ",literal:"null true false nil "},s={begin:"\\.\\s*"+e.UNDERSCORE_IDENT_RE,keywords:o,relevance:0},l={className:"type",begin:":[ \\t]*("+"IApplication IAccessRights IAccountRepository IAccountSelectionRestrictions IAction IActionList IAdministrationHistoryDescription IAnchors IApplication IArchiveInfo IAttachment IAttachmentList ICheckListBox ICheckPointedList IColumn IComponent IComponentDescription IComponentToken IComponentTokenFactory IComponentTokenInfo ICompRecordInfo IConnection IContents IControl IControlJob IControlJobInfo IControlList ICrypto ICrypto2 ICustomJob ICustomJobInfo ICustomListBox ICustomObjectWizardStep ICustomWork ICustomWorkInfo IDataSet IDataSetAccessInfo IDataSigner IDateCriterion IDateRequisite IDateRequisiteDescription IDateValue IDeaAccessRights IDeaObjectInfo IDevelopmentComponentLock IDialog IDialogFactory IDialogPickRequisiteItems IDialogsFactory IDICSFactory IDocRequisite IDocumentInfo IDualListDialog IECertificate IECertificateInfo IECertificates IEditControl IEditorForm IEdmsExplorer IEdmsObject IEdmsObjectDescription IEdmsObjectFactory IEdmsObjectInfo IEDocument IEDocumentAccessRights IEDocumentDescription IEDocumentEditor IEDocumentFactory IEDocumentInfo IEDocumentStorage IEDocumentVersion IEDocumentVersionListDialog IEDocumentVersionSource IEDocumentWizardStep IEDocVerSignature IEDocVersionState IEnabledMode IEncodeProvider IEncrypter IEvent IEventList IException IExternalEvents IExternalHandler IFactory IField IFileDialog IFolder IFolderDescription IFolderDialog IFolderFactory IFolderInfo IForEach IForm IFormTitle IFormWizardStep IGlobalIDFactory IGlobalIDInfo IGrid IHasher IHistoryDescription IHyperLinkControl IImageButton IImageControl IInnerPanel IInplaceHint IIntegerCriterion IIntegerList IIntegerRequisite IIntegerValue IISBLEditorForm IJob IJobDescription IJobFactory IJobForm IJobInfo ILabelControl ILargeIntegerCriterion ILargeIntegerRequisite ILargeIntegerValue ILicenseInfo ILifeCycleStage IList IListBox ILocalIDInfo ILocalization ILock IMemoryDataSet IMessagingFactory IMetadataRepository INotice INoticeInfo INumericCriterion INumericRequisite INumericValue IObject IObjectDescription IObjectImporter IObjectInfo IObserver IPanelGroup IPickCriterion IPickProperty IPickRequisite IPickRequisiteDescription IPickRequisiteItem IPickRequisiteItems IPickValue IPrivilege IPrivilegeList IProcess IProcessFactory IProcessMessage IProgress IProperty IPropertyChangeEvent IQuery IReference IReferenceCriterion IReferenceEnabledMode IReferenceFactory IReferenceHistoryDescription IReferenceInfo IReferenceRecordCardWizardStep IReferenceRequisiteDescription IReferencesFactory IReferenceValue IRefRequisite IReport IReportFactory IRequisite IRequisiteDescription IRequisiteDescriptionList IRequisiteFactory IRichEdit IRouteStep IRule IRuleList ISchemeBlock IScript IScriptFactory ISearchCriteria ISearchCriterion ISearchDescription ISearchFactory ISearchFolderInfo ISearchForObjectDescription ISearchResultRestrictions ISecuredContext ISelectDialog IServerEvent IServerEventFactory IServiceDialog IServiceFactory ISignature ISignProvider ISignProvider2 ISignProvider3 ISimpleCriterion IStringCriterion IStringList IStringRequisite IStringRequisiteDescription IStringValue ISystemDialogsFactory ISystemInfo ITabSheet ITask ITaskAbortReasonInfo ITaskCardWizardStep ITaskDescription ITaskFactory ITaskInfo ITaskRoute ITextCriterion ITextRequisite ITextValue ITreeListSelectDialog IUser IUserList IValue IView IWebBrowserControl IWizard IWizardAction IWizardFactory IWizardFormElement IWizardParam IWizardPickParam IWizardReferenceParam IWizardStep IWorkAccessRights IWorkDescription IWorkflowAskableParam IWorkflowAskableParams IWorkflowBlock IWorkflowBlockResult IWorkflowEnabledMode IWorkflowParam IWorkflowPickParam IWorkflowReferenceParam IWorkState IWorkTreeCustomNode IWorkTreeJobNode IWorkTreeTaskNode IXMLEditorForm SBCrypto ".trim().replace(/\s/g,"|")+")",end:"[ \\t]*=",excludeEnd:!0},c={className:"variable",keywords:o,begin:t,relevance:0,contains:[l,s]},d="[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]*\\(";return{name:"ISBL",case_insensitive:!0,keywords:o,illegal:"\\$|\\?|%|,|;$|~|#|@|r(e,t,n-1))}return ux=function(e){const t=e.regex,n="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",i=n+r("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),o={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},s={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},l={className:"params",begin:/\(/,end:/\)/,keywords:o,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:o,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[t.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[l,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+i+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:o,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:o,relevance:0,contains:[s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},a,s]}}}()),lk.registerLanguage("javascript",function(){if(mx)return px;mx=1;const e="[A-Za-z$_][0-9A-Za-z$_]*",t=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],n=["true","false","null","undefined","NaN","Infinity"],a=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],r=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],i=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],o=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],s=[].concat(i,a,r);return px=function(l){const c=l.regex,d=e,u="<>",_="",p={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{const n=e[0].length+e.index,a=e.input[n];if("<"===a||","===a)return void t.ignoreMatch();let r;">"===a&&(((e,{after:t})=>{const n="`${e}\\s*\\(`),c.concat("(?!",L.join("|"),")")),d,c.lookahead(/\s*\(/)),className:"title.function",relevance:0};var L;const M={begin:c.concat(/\./,c.lookahead(c.concat(d,/(?![0-9A-Za-z$_(])/))),end:d,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},P={match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},A]},k="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+l.UNDERSCORE_IDENT_RE+")\\s*=>",F={match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,c.lookahead(k)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[A]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:m,exports:{PARAMS_CONTAINS:N,CLASS_REFERENCE:w},illegal:/#(?![$_A-z])/,contains:[l.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},l.APOS_STRING_MODE,l.QUOTE_STRING_MODE,h,v,T,y,C,{match:/\$\d+/},S,w,{scope:"attr",match:d+c.lookahead(":"),relevance:0},F,{begin:"("+l.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[C,l.REGEXP_MODE,{className:"function",begin:k,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:l.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:m,contains:N}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:u,end:_},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:p.begin,"on:begin":p.isTrulyOpeningTag,end:p.end}],subLanguage:"xml",contains:[{begin:p.begin,end:p.end,skip:!0,contains:["self"]}]}]},D,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+l.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[A,l.inherit(l.TITLE_MODE,{begin:d,className:"title.function"})]},{match:/\.\.\./,relevance:0},M,{match:"\\$"+d,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[A]},x,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},I,P,{match:/\$[(.]/}]}}}()),lk.registerLanguage("jboss-cli",Ex?gx:(Ex=1,gx=function(e){const t={className:"params",begin:/\(/,end:/\)/,contains:[{begin:/[\w-]+ *=/,returnBegin:!0,relevance:0,contains:[{className:"attr",begin:/[\w-]+/}]}],relevance:0};return{name:"JBoss CLI",aliases:["wildfly-cli"],keywords:{$pattern:"[a-z-]+",keyword:"alias batch cd clear command connect connection-factory connection-info data-source deploy deployment-info deployment-overlay echo echo-dmr help history if jdbc-driver-info jms-queue|20 jms-topic|20 ls patch pwd quit read-attribute read-operation reload rollout-plan run-batch set shutdown try unalias undeploy unset version xa-data-source",literal:"true false"},contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,{className:"params",begin:/--[\w\-=\/]+/},{className:"function",begin:/:[\w\-.]+/,relevance:0},{className:"string",begin:/\B([\/.])[\w\-.\/=]+/},t]}})),lk.registerLanguage("json",Sx?fx:(Sx=1,fx=function(e){const t=["true","false","null"],n={scope:"literal",beginKeywords:t.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:t},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},e.QUOTE_STRING_MODE,n,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}})),lk.registerLanguage("julia",hx?bx:(hx=1,bx=function(e){const t="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",n={$pattern:t,keyword:["baremodule","begin","break","catch","ccall","const","continue","do","else","elseif","end","export","false","finally","for","function","global","if","import","in","isa","let","local","macro","module","quote","return","true","try","using","where","while"],literal:["ARGS","C_NULL","DEPOT_PATH","ENDIAN_BOM","ENV","Inf","Inf16","Inf32","Inf64","InsertionSort","LOAD_PATH","MergeSort","NaN","NaN16","NaN32","NaN64","PROGRAM_FILE","QuickSort","RoundDown","RoundFromZero","RoundNearest","RoundNearestTiesAway","RoundNearestTiesUp","RoundToZero","RoundUp","VERSION|0","devnull","false","im","missing","nothing","pi","stderr","stdin","stdout","true","undef","π","ℯ"],built_in:["AbstractArray","AbstractChannel","AbstractChar","AbstractDict","AbstractDisplay","AbstractFloat","AbstractIrrational","AbstractMatrix","AbstractRange","AbstractSet","AbstractString","AbstractUnitRange","AbstractVecOrMat","AbstractVector","Any","ArgumentError","Array","AssertionError","BigFloat","BigInt","BitArray","BitMatrix","BitSet","BitVector","Bool","BoundsError","CapturedException","CartesianIndex","CartesianIndices","Cchar","Cdouble","Cfloat","Channel","Char","Cint","Cintmax_t","Clong","Clonglong","Cmd","Colon","Complex","ComplexF16","ComplexF32","ComplexF64","CompositeException","Condition","Cptrdiff_t","Cshort","Csize_t","Cssize_t","Cstring","Cuchar","Cuint","Cuintmax_t","Culong","Culonglong","Cushort","Cvoid","Cwchar_t","Cwstring","DataType","DenseArray","DenseMatrix","DenseVecOrMat","DenseVector","Dict","DimensionMismatch","Dims","DivideError","DomainError","EOFError","Enum","ErrorException","Exception","ExponentialBackOff","Expr","Float16","Float32","Float64","Function","GlobalRef","HTML","IO","IOBuffer","IOContext","IOStream","IdDict","IndexCartesian","IndexLinear","IndexStyle","InexactError","InitError","Int","Int128","Int16","Int32","Int64","Int8","Integer","InterruptException","InvalidStateException","Irrational","KeyError","LinRange","LineNumberNode","LinearIndices","LoadError","MIME","Matrix","Method","MethodError","Missing","MissingException","Module","NTuple","NamedTuple","Nothing","Number","OrdinalRange","OutOfMemoryError","OverflowError","Pair","PartialQuickSort","PermutedDimsArray","Pipe","ProcessFailedException","Ptr","QuoteNode","Rational","RawFD","ReadOnlyMemoryError","Real","ReentrantLock","Ref","Regex","RegexMatch","RoundingMode","SegmentationFault","Set","Signed","Some","StackOverflowError","StepRange","StepRangeLen","StridedArray","StridedMatrix","StridedVecOrMat","StridedVector","String","StringIndexError","SubArray","SubString","SubstitutionString","Symbol","SystemError","Task","TaskFailedException","Text","TextDisplay","Timer","Tuple","Type","TypeError","TypeVar","UInt","UInt128","UInt16","UInt32","UInt64","UInt8","UndefInitializer","UndefKeywordError","UndefRefError","UndefVarError","Union","UnionAll","UnitRange","Unsigned","Val","Vararg","VecElement","VecOrMat","Vector","VersionNumber","WeakKeyDict","WeakRef"]},a={keywords:n,illegal:/<\//},r={className:"subst",begin:/\$\(/,end:/\)/,keywords:n},i={className:"variable",begin:"\\$"+t},o={className:"string",contains:[e.BACKSLASH_ESCAPE,r,i],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},s={className:"string",contains:[e.BACKSLASH_ESCAPE,r,i],begin:"`",end:"`"},l={className:"meta",begin:"@"+t};return a.name="Julia",a.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},o,s,l,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],r.contains=a.contains,a})),lk.registerLanguage("julia-repl",Tx?vx:(Tx=1,vx=function(e){return{name:"Julia REPL",contains:[{className:"meta.prompt",begin:/^julia>/,relevance:10,starts:{end:/^(?![ ]{6})/,subLanguage:"julia"}}],aliases:["jldoctest"]}})),lk.registerLanguage("kotlin",function(){if(Cx)return yx;Cx=1;var e="[0-9](_*[0-9])*",t=`\\.(${e})`,n="[0-9a-fA-F](_*[0-9a-fA-F])*",a={className:"number",variants:[{begin:`(\\b(${e})((${t})|\\.)?|(${t}))[eE][+-]?(${e})[fFdD]?\\b`},{begin:`\\b(${e})((${t})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${t})[fFdD]?\\b`},{begin:`\\b(${e})[fFdD]\\b`},{begin:`\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?(${e})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${n})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};return yx=function(e){const t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},r={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},i={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},o={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,r]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,i,r]}]};r.contains.push(o);const s={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(o,{className:"string"}),"self"]}]},c=a,d=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),u={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},_=u;return _.variants[1].contains=[u],u.variants[1].contains=[_],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,d,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},n,s,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[u,e.C_LINE_COMMENT_MODE,d],relevance:0},e.C_LINE_COMMENT_MODE,d,s,l,o,e.C_NUMBER_MODE]},d]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},s,l]},o,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},c]}}}()),lk.registerLanguage("lasso",Ox?Rx:(Ox=1,Rx=function(e){const t="[a-zA-Z_][\\w.]*",n="<\\?(lasso(script)?|=)",a="\\]|\\?>",r={$pattern:t+"|&[lg]t;",literal:"true false none minimal full all void and or not bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft",built_in:"array date decimal duration integer map pair string tag xml null boolean bytes keyword list locale queue set stack staticarray local var variable global data self inherited currentcapture givenblock",keyword:"cache database_names database_schemanames database_tablenames define_tag define_type email_batch encode_set html_comment handle handle_error header if inline iterate ljax_target link link_currentaction link_currentgroup link_currentrecord link_detail link_firstgroup link_firstrecord link_lastgroup link_lastrecord link_nextgroup link_nextrecord link_prevgroup link_prevrecord log loop namespace_using output_none portal private protect records referer referrer repeating resultset rows search_args search_arguments select sort_args sort_arguments thread_atomic value_list while abort case else fail_if fail_ifnot fail if_empty if_false if_null if_true loop_abort loop_continue loop_count params params_up return return_value run_children soap_definetag soap_lastrequest soap_lastresponse tag_name ascending average by define descending do equals frozen group handle_failure import in into join let match max min on order parent protected provide public require returnhome skip split_thread sum take thread to trait type where with yield yieldhome"},i=e.COMMENT("\x3c!--","--\x3e",{relevance:0}),o={className:"meta",begin:"\\[noprocess\\]",starts:{end:"\\[/noprocess\\]",returnEnd:!0,contains:[i]}},s={className:"meta",begin:"\\[/noprocess|"+n},l={className:"symbol",begin:"'"+t+"'"},c=[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.inherit(e.C_NUMBER_MODE,{begin:e.C_NUMBER_RE+"|(-?infinity|NaN)\\b"}),e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"string",begin:"`",end:"`"},{variants:[{begin:"[#$]"+t},{begin:"#",end:"\\d+",illegal:"\\W"}]},{className:"type",begin:"::\\s*",end:t,illegal:"\\W"},{className:"params",variants:[{begin:"-(?!infinity)"+t,relevance:0},{begin:"(\\.\\.\\.)"}]},{begin:/(->|\.)\s*/,relevance:0,contains:[l]},{className:"class",beginKeywords:"define",returnEnd:!0,end:"\\(|=>",contains:[e.inherit(e.TITLE_MODE,{begin:t+"(=(?!>))?|[-+*/%](?!>)"})]}];return{name:"Lasso",aliases:["ls","lassoscript"],case_insensitive:!0,keywords:r,contains:[{className:"meta",begin:a,relevance:0,starts:{end:"\\[|"+n,returnEnd:!0,relevance:0,contains:[i]}},o,s,{className:"meta",begin:"\\[no_square_brackets",starts:{end:"\\[/no_square_brackets\\]",keywords:r,contains:[{className:"meta",begin:a,relevance:0,starts:{end:"\\[noprocess\\]|"+n,returnEnd:!0,contains:[i]}},o,s].concat(c)}},{className:"meta",begin:"\\[",relevance:0},{className:"meta",begin:"^#!",end:"lasso9$",relevance:10}].concat(c)}})),lk.registerLanguage("latex",Ax?Nx:(Ax=1,Nx=function(e){const t=[{begin:/\^{6}[0-9a-f]{6}/},{begin:/\^{5}[0-9a-f]{5}/},{begin:/\^{4}[0-9a-f]{4}/},{begin:/\^{3}[0-9a-f]{3}/},{begin:/\^{2}[0-9a-f]{2}/},{begin:/\^{2}[\u0000-\u007f]/}],n=[{className:"keyword",begin:/\\/,relevance:0,contains:[{endsParent:!0,begin:e.regex.either(...["(?:NeedsTeXFormat|RequirePackage|GetIdInfo)","Provides(?:Expl)?(?:Package|Class|File)","(?:DeclareOption|ProcessOptions)","(?:documentclass|usepackage|input|include)","makeat(?:letter|other)","ExplSyntax(?:On|Off)","(?:new|renew|provide)?command","(?:re)newenvironment","(?:New|Renew|Provide|Declare)(?:Expandable)?DocumentCommand","(?:New|Renew|Provide|Declare)DocumentEnvironment","(?:(?:e|g|x)?def|let)","(?:begin|end)","(?:part|chapter|(?:sub){0,2}section|(?:sub)?paragraph)","caption","(?:label|(?:eq|page|name)?ref|(?:paren|foot|super)?cite)","(?:alpha|beta|[Gg]amma|[Dd]elta|(?:var)?epsilon|zeta|eta|[Tt]heta|vartheta)","(?:iota|(?:var)?kappa|[Ll]ambda|mu|nu|[Xx]i|[Pp]i|varpi|(?:var)rho)","(?:[Ss]igma|varsigma|tau|[Uu]psilon|[Pp]hi|varphi|chi|[Pp]si|[Oo]mega)","(?:frac|sum|prod|lim|infty|times|sqrt|leq|geq|left|right|middle|[bB]igg?)","(?:[lr]angle|q?quad|[lcvdi]?dots|d?dot|hat|tilde|bar)"].map(e=>e+"(?![a-zA-Z@:_])"))},{endsParent:!0,begin:new RegExp(["(?:__)?[a-zA-Z]{2,}_[a-zA-Z](?:_?[a-zA-Z])+:[a-zA-Z]*","[lgc]__?[a-zA-Z](?:_?[a-zA-Z])*_[a-zA-Z]{2,}","[qs]__?[a-zA-Z](?:_?[a-zA-Z])+","use(?:_i)?:[a-zA-Z]*","(?:else|fi|or):","(?:if|cs|exp):w","(?:hbox|vbox):n","::[a-zA-Z]_unbraced","::[a-zA-Z:]"].map(e=>e+"(?![a-zA-Z:_])").join("|"))},{endsParent:!0,variants:t},{endsParent:!0,relevance:0,variants:[{begin:/[a-zA-Z@]+/},{begin:/[^a-zA-Z@]?/}]}]},{className:"params",relevance:0,begin:/#+\d?/},{variants:t},{className:"built_in",relevance:0,begin:/[$&^_]/},{className:"meta",begin:/% ?!(T[eE]X|tex|BIB|bib)/,end:"$",relevance:10},e.COMMENT("%","$",{relevance:0})],a={begin:/\{/,end:/\}/,relevance:0,contains:["self",...n]},r=e.inherit(a,{relevance:0,endsParent:!0,contains:[a,...n]}),i={begin:/\[/,end:/\]/,endsParent:!0,relevance:0,contains:[a,...n]},o={begin:/\s+/,relevance:0},s=[r],l=[i],c=function(e,t){return{contains:[o],starts:{relevance:0,contains:e,starts:t}}},d=function(e,t){return{begin:"\\\\"+e+"(?![a-zA-Z@:_])",keywords:{$pattern:/\\[a-zA-Z]+/,keyword:"\\"+e},relevance:0,contains:[o],starts:t}},u=function(t,n){return e.inherit({begin:"\\\\begin(?=[ \t]*(\\r?\\n[ \t]*)?\\{"+t+"\\})",keywords:{$pattern:/\\[a-zA-Z]+/,keyword:"\\begin"},relevance:0},c(s,n))},_=(t="string")=>e.END_SAME_AS_BEGIN({className:t,begin:/(.|\r?\n)/,end:/(.|\r?\n)/,excludeBegin:!0,excludeEnd:!0,endsParent:!0}),p=function(e){return{className:"string",end:"(?=\\\\end\\{"+e+"\\})"}},m=(e="string")=>({relevance:0,begin:/\{/,starts:{endsParent:!0,contains:[{className:e,end:/(?=\})/,endsParent:!0,contains:[{begin:/\{/,end:/\}/,relevance:0,contains:["self"]}]}]}});return{name:"LaTeX",aliases:["tex"],contains:[...["verb","lstinline"].map(e=>d(e,{contains:[_()]})),d("mint",c(s,{contains:[_()]})),d("mintinline",c(s,{contains:[m(),_()]})),d("url",{contains:[m("link"),m("link")]}),d("hyperref",{contains:[m("link")]}),d("href",c(l,{contains:[m("link")]})),...[].concat(...["","\\*"].map(e=>[u("verbatim"+e,p("verbatim"+e)),u("filecontents"+e,c(s,p("filecontents"+e))),...["","B","L"].map(t=>u(t+"Verbatim"+e,c(l,p(t+"Verbatim"+e))))])),u("minted",c(l,c(s,p("minted")))),...n]}})),lk.registerLanguage("ldif",wx?Ix:(wx=1,Ix=function(e){return{name:"LDIF",contains:[{className:"attribute",match:"^dn(?=:)",relevance:10},{className:"attribute",match:"^\\w+(?=:)"},{className:"literal",match:"^-"},e.HASH_COMMENT_MODE]}})),lk.registerLanguage("leaf",xx?Dx:(xx=1,Dx=function(e){const t=/([A-Za-z_][A-Za-z_0-9]*)?/,n={scope:"params",begin:/\(/,end:/\)(?=\:?)/,endsParent:!0,relevance:7,contains:[{scope:"string",begin:'"',end:'"'},{scope:"keyword",match:["true","false","in"].join("|")},{scope:"variable",match:/[A-Za-z_][A-Za-z_0-9]*/},{scope:"operator",match:/\+|\-|\*|\/|\%|\=\=|\=|\!|\>|\<|\&\&|\|\|/}]},a={match:[t,/(?=\()/],scope:{1:"keyword"},contains:[n]};return n.contains.unshift(a),{name:"Leaf",contains:[{match:[/#+/,t,/(?=\()/],scope:{1:"punctuation",2:"keyword"},starts:{contains:[{match:/\:/,scope:"punctuation"}]},contains:[n]},{match:[/#+/,t,/:?/],scope:{1:"punctuation",2:"keyword",3:"punctuation"}}]}})),lk.registerLanguage("less",function(){if(Mx)return Lx;Mx=1;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),n=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),a=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),r=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),i=n.concat(a).sort().reverse();return Lx=function(o){const s=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}))(o),l=i,c="[\\w-]+",d="("+c+"|@\\{"+c+"\\})",u=[],_=[],p=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},m=function(e,t,n){return{className:e,begin:t,relevance:n}},g={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:t.join(" ")},E={begin:"\\(",end:"\\)",contains:_,keywords:g,relevance:0};_.push(o.C_LINE_COMMENT_MODE,o.C_BLOCK_COMMENT_MODE,p("'"),p('"'),s.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},s.HEXCOLOR,E,m("variable","@@?"+c,10),m("variable","@\\{"+c+"\\}"),m("built_in","~?`[^`]*?`"),{className:"attribute",begin:c+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},s.IMPORTANT,{beginKeywords:"and not"},s.FUNCTION_DISPATCH);const f=_.concat({begin:/\{/,end:/\}/,contains:u}),S={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(_)},b={begin:d+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},s.CSS_VARIABLE,{className:"attribute",begin:"\\b("+r.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:_}}]},h={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:g,returnEnd:!0,contains:_,relevance:0}},v={className:"variable",variants:[{begin:"@"+c+"\\s*:",relevance:15},{begin:"@"+c}],starts:{end:"[;}]",returnEnd:!0,contains:f}},T={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:d,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[o.C_LINE_COMMENT_MODE,o.C_BLOCK_COMMENT_MODE,S,m("keyword","all\\b"),m("variable","@\\{"+c+"\\}"),{begin:"\\b("+e.join("|")+")\\b",className:"selector-tag"},s.CSS_NUMBER_MODE,m("selector-tag",d,0),m("selector-id","#"+d),m("selector-class","\\."+d,0),m("selector-tag","&",0),s.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+n.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+a.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:f},{begin:"!important"},s.FUNCTION_DISPATCH]},y={begin:c+`:(:)?(${l.join("|")})`,returnBegin:!0,contains:[T]};return u.push(o.C_LINE_COMMENT_MODE,o.C_BLOCK_COMMENT_MODE,h,v,y,b,T,S,s.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:u}}}()),lk.registerLanguage("lisp",kx?Px:(kx=1,Px=function(e){const t="[a-zA-Z_\\-+\\*\\/<=>&#][a-zA-Z0-9_\\-+*\\/<=>&#!]*",n="\\|[^]*?\\|",a="(-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|-)?\\d+)?",r={className:"literal",begin:"\\b(t{1}|nil)\\b"},i={className:"number",variants:[{begin:a,relevance:0},{begin:"#(b|B)[0-1]+(/[0-1]+)?"},{begin:"#(o|O)[0-7]+(/[0-7]+)?"},{begin:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{begin:"#(c|C)\\("+a+" +"+a,end:"\\)"}]},o=e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),s=e.COMMENT(";","$",{relevance:0}),l={begin:"\\*",end:"\\*"},c={className:"symbol",begin:"[:&]"+t},d={begin:t,relevance:0},u={begin:n},_={contains:[i,o,l,c,{begin:"\\(",end:"\\)",contains:["self",r,o,i,d]},d],variants:[{begin:"['`]\\(",end:"\\)"},{begin:"\\(quote ",end:"\\)",keywords:{name:"quote"}},{begin:"'"+n}]},p={variants:[{begin:"'"+t},{begin:"#'"+t+"(::"+t+")*"}]},m={begin:"\\(\\s*",end:"\\)"},g={endsWithParent:!0,relevance:0};return m.contains=[{className:"name",variants:[{begin:t,relevance:0},{begin:n}]},g],g.contains=[_,p,m,r,i,o,s,l,c,u,d],{name:"Lisp",illegal:/\S/,contains:[i,e.SHEBANG(),r,o,s,_,p,m,d]}})),lk.registerLanguage("livecodeserver",Ux?Fx:(Ux=1,Fx=function(e){const t={className:"variable",variants:[{begin:"\\b([gtps][A-Z]{1}[a-zA-Z0-9]*)(\\[.+\\])?(?:\\s*?)"},{begin:"\\$_[A-Z]+"}],relevance:0},n=[e.C_BLOCK_COMMENT_MODE,e.HASH_COMMENT_MODE,e.COMMENT("--","$"),e.COMMENT("[^:]//","$")],a=e.inherit(e.TITLE_MODE,{variants:[{begin:"\\b_*rig[A-Z][A-Za-z0-9_\\-]*"},{begin:"\\b_[a-z0-9\\-]+"}]}),r=e.inherit(e.TITLE_MODE,{begin:"\\b([A-Za-z0-9_\\-]+)\\b"});return{name:"LiveCode",case_insensitive:!1,keywords:{keyword:"$_COOKIE $_FILES $_GET $_GET_BINARY $_GET_RAW $_POST $_POST_BINARY $_POST_RAW $_SESSION $_SERVER codepoint codepoints segment segments codeunit codeunits sentence sentences trueWord trueWords paragraph after byte bytes english the until http forever descending using line real8 with seventh for stdout finally element word words fourth before black ninth sixth characters chars stderr uInt1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middle mid at else of catch then third it file milliseconds seconds second secs sec int1 int1s int4 int4s internet int2 int2s normal text item last long detailed effective uInt4 uInt4s repeat end repeat URL in try into switch to words https token binfile each tenth as ticks tick system real4 by dateItems without char character ascending eighth whole dateTime numeric short first ftp integer abbreviated abbr abbrev private case while if div mod wrap and or bitAnd bitNot bitOr bitXor among not in a an within contains ends with begins the keys of keys",literal:"SIX TEN FORMFEED NINE ZERO NONE SPACE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO six ten formfeed nine zero none space four false colon crlf pi comma endoffile eof eight five quote empty one true return cr linefeed right backslash null seven tab three two RIVERSION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_READ_UMASK FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK",built_in:"put abs acos aliasReference annuity arrayDecode arrayEncode asin atan atan2 average avg avgDev base64Decode base64Encode baseConvert binaryDecode binaryEncode byteOffset byteToNum cachedURL cachedURLs charToNum cipherNames codepointOffset codepointProperty codepointToNum codeunitOffset commandNames compound compress constantNames cos date dateFormat decompress difference directories diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents folders format functionNames geometricMean global globals hasMemory harmonicMean hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset keys len length libURLErrorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeaders libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge messageAuthenticationCode messageDigest millisec millisecs millisecond milliseconds min monthNames nativeCharToNum normalizeText num number numToByte numToChar numToCodepoint numToNativeChar offset open openfiles openProcesses openProcessIDs openSockets paragraphOffset paramCount param params peerAddress pendingMessages platform popStdDev populationStandardDeviation populationVariance popVariance processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile revCurrentRecord revCurrentRecordIsFirst revCurrentRecordIsLast revDatabaseColumnCount revDatabaseColumnIsNull revDatabaseColumnLengths revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered revDatabaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDatabaseTableNames revDatabaseType revDataFromQuery revdb_closeCursor revdb_columnbynumber revdb_columncount revdb_columnisnull revdb_columnlengths revdb_columnnames revdb_columntypes revdb_commit revdb_connect revdb_connections revdb_connectionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefirst revdb_movelast revdb_movenext revdb_moveprev revdb_query revdb_querylist revdb_recordcount revdb_rollback revdb_tablenames revGetDatabaseDriverPath revNumberOfRecords revOpenDatabase revOpenDatabases revQueryDatabase revQueryDatabaseBlob revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttribute revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildNames revXMLCreateTreeFromFileWithNamespaces revXMLCreateTreeWithNamespaces revXMLDataFromXPathQuery revXMLEvaluateXPath revXMLFirstChild revXMLMatchingNode revXMLNextSibling revXMLNodeContents revXMLNumberOfChildren revXMLParent revXMLPreviousSibling revXMLRootNode revXMLRPC_CreateRequest revXMLRPC_Documents revXMLRPC_Error revXMLRPC_GetHost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_Execute revXMLRPC_GetParamCount revXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSocket revXMLTree revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerateItems revZipOpenArchives round sampVariance sec secs seconds sentenceOffset sha1Digest shell shortFilePath sin specialFolderPath sqrt standardDeviation statRound stdDev sum sysError systemVersion tan tempName textDecode textEncode tick ticks time to tokenOffset toLower toUpper transpose truewordOffset trunc uniDecode uniEncode upper URLDecode URLEncode URLStatus uuid value variableNames variance version waitDepth weekdayNames wordOffset xsltApplyStylesheet xsltApplyStylesheetFromFile xsltLoadStylesheet xsltLoadStylesheetFromFile add breakpoint cancel clear local variable file word line folder directory URL close socket process combine constant convert create new alias folder directory decrypt delete variable word line folder directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadToFile libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetAll libUrlSetAuthCallback libURLSetDriver libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSetFTPListCommand libURLSetFTPMode libURLSetFTPStopTime libURLSetStatusCallback load extension loadedExtensions multiply socket prepare process post seek rel relative read from process rename replace require resetAll resolve revAddXMLNode revAppendXML revCloseCursor revCloseDatabase revCommitDatabase revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDeleteXMLNode revDeleteAllXMLTrees revDeleteXMLTree revExecuteSQL revGoURL revInsertXMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord revMoveToNextRecord revMoveToPreviousRecord revMoveToRecord revMoveXMLNode revPutIntoXMLNode revRollBackDatabase revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam revXMLRPC_DeleteAllDocuments revXMLAddDTD revXMLRPC_Free revXMLRPC_FreeAll revXMLRPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost revXMLRPC_SetMethod revXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedItemWithFile revZipCancel revZipCloseArchive revZipDeleteItem revZipExtractItemToFile revZipExtractItemToVariable revZipSetProgressCallback revZipRenameItem revZipReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort split start stop subtract symmetric union unload vectorDotProduct wait write"},contains:[t,{className:"keyword",begin:"\\bend\\sif\\b"},{className:"function",beginKeywords:"function",end:"$",contains:[t,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE,a]},{className:"function",begin:"\\bend\\s+",end:"$",keywords:"end",contains:[r,a],relevance:0},{beginKeywords:"command on",end:"$",contains:[t,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE,a]},{className:"meta",variants:[{begin:"<\\?(rev|lc|livecode)",relevance:10},{begin:"<\\?"},{begin:"\\?>"}]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE,a].concat(n),illegal:";$|^\\[|^=|&|\\{"}})),lk.registerLanguage("livescript",function(){if(Gx)return Bx;Gx=1;const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],t=["true","false","null","undefined","NaN","Infinity"],n=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return Bx=function(a){const r={keyword:e.concat(["then","unless","until","loop","of","by","when","and","or","is","isnt","not","it","that","otherwise","from","to","til","fallthrough","case","enum","native","list","map","__hasProp","__extends","__slice","__bind","__indexOf"]),literal:t.concat(["yes","no","on","off","it","that","void"]),built_in:n.concat(["npm","print"])},i="[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*",o=a.inherit(a.TITLE_MODE,{begin:i}),s={className:"subst",begin:/#\{/,end:/\}/,keywords:r},l={className:"subst",begin:/#[A-Za-z$_]/,end:/(?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*/,keywords:r},c=[a.BINARY_NUMBER_MODE,{className:"number",begin:"(\\b0[xX][a-fA-F0-9_]+)|(\\b\\d(\\d|_\\d)*(\\.(\\d(\\d|_\\d)*)?)?(_*[eE]([-+]\\d(_\\d|\\d)*)?)?[_a-z]*)",relevance:0,starts:{end:"(\\s*/)?",relevance:0}},{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[a.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[a.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[a.BACKSLASH_ESCAPE,s,l]},{begin:/"/,end:/"/,contains:[a.BACKSLASH_ESCAPE,s,l]},{begin:/\\/,end:/(\s|$)/,excludeEnd:!0}]},{className:"regexp",variants:[{begin:"//",end:"//[gim]*",contains:[s,a.HASH_COMMENT_MODE]},{begin:/\/(?![ *])(\\.|[^\\\n])*?\/[gim]*(?=\W)/}]},{begin:"@"+i},{begin:"``",end:"``",excludeBegin:!0,excludeEnd:!0,subLanguage:"javascript"}];s.contains=c;const d={className:"params",begin:"\\(",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:r,contains:["self"].concat(c)}]},u={variants:[{match:[/class\s+/,i,/\s+extends\s+/,i]},{match:[/class\s+/,i]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:r};return{name:"LiveScript",aliases:["ls"],keywords:r,illegal:/\/\*/,contains:c.concat([a.COMMENT("\\/\\*","\\*\\/"),a.HASH_COMMENT_MODE,{begin:"(#=>|=>|\\|>>|-?->|!->)"},{className:"function",contains:[o,d],returnBegin:!0,variants:[{begin:"("+i+"\\s*(?:=|:=)\\s*)?(\\(.*\\)\\s*)?\\B->\\*?",end:"->\\*?"},{begin:"("+i+"\\s*(?:=|:=)\\s*)?!?(\\(.*\\)\\s*)?\\B[-~]{1,2}>\\*?",end:"[-~]{1,2}>\\*?"},{begin:"("+i+"\\s*(?:=|:=)\\s*)?(\\(.*\\)\\s*)?\\B!?[-~]{1,2}>\\*?",end:"!?[-~]{1,2}>\\*?"}]},u,{begin:i+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}}()),lk.registerLanguage("llvm",Vx?Yx:(Vx=1,Yx=function(e){const t=e.regex,n=/([-a-zA-Z$._][\w$.-]*)/,a={className:"variable",variants:[{begin:t.concat(/%/,n)},{begin:/%\d+/},{begin:/#\d+/}]},r={className:"title",variants:[{begin:t.concat(/@/,n)},{begin:/@\d+/},{begin:t.concat(/!/,n)},{begin:t.concat(/!\d+/,n)},{begin:/!\d+/}]};return{name:"LLVM IR",keywords:{keyword:"begin end true false declare define global constant private linker_private internal available_externally linkonce linkonce_odr weak weak_odr appending dllimport dllexport common default hidden protected extern_weak external thread_local zeroinitializer undef null to tail target triple datalayout volatile nuw nsw nnan ninf nsz arcp fast exact inbounds align addrspace section alias module asm sideeffect gc dbg linker_private_weak attributes blockaddress initialexec localdynamic localexec prefix unnamed_addr ccc fastcc coldcc x86_stdcallcc x86_fastcallcc arm_apcscc arm_aapcscc arm_aapcs_vfpcc ptx_device ptx_kernel intel_ocl_bicc msp430_intrcc spir_func spir_kernel x86_64_sysvcc x86_64_win64cc x86_thiscallcc cc c signext zeroext inreg sret nounwind noreturn noalias nocapture byval nest readnone readonly inlinehint noinline alwaysinline optsize ssp sspreq noredzone noimplicitfloat naked builtin cold nobuiltin noduplicate nonlazybind optnone returns_twice sanitize_address sanitize_memory sanitize_thread sspstrong uwtable returned type opaque eq ne slt sgt sle sge ult ugt ule uge oeq one olt ogt ole oge ord uno ueq une x acq_rel acquire alignstack atomic catch cleanup filter inteldialect max min monotonic nand personality release seq_cst singlethread umax umin unordered xchg add fadd sub fsub mul fmul udiv sdiv fdiv urem srem frem shl lshr ashr and or xor icmp fcmp phi call trunc zext sext fptrunc fpext uitofp sitofp fptoui fptosi inttoptr ptrtoint bitcast addrspacecast select va_arg ret br switch invoke unwind unreachable indirectbr landingpad resume malloc alloca free load store getelementptr extractelement insertelement shufflevector getresult extractvalue insertvalue atomicrmw cmpxchg fence argmemonly",type:"void half bfloat float double fp128 x86_fp80 ppc_fp128 x86_amx x86_mmx ptr label token metadata opaque"},contains:[{className:"type",begin:/\bi\d+(?=\s|\b)/},e.COMMENT(/;\s*$/,null,{relevance:0}),e.COMMENT(/;/,/$/),{className:"string",begin:/"/,end:/"/,contains:[{className:"char.escape",match:/\\\d\d/}]},r,{className:"punctuation",relevance:0,begin:/,/},{className:"operator",relevance:0,begin:/=/},a,{className:"symbol",variants:[{begin:/^\s*[a-z]+:/}],relevance:0},{className:"number",variants:[{begin:/[su]?0[xX][KMLHR]?[a-fA-F0-9]+/},{begin:/[-+]?\d+(?:[.]\d+)?(?:[eE][-+]?\d+(?:[.]\d+)?)?/}],relevance:0}]}})),lk.registerLanguage("lsl",zx?Hx:(zx=1,Hx=function(e){const t={className:"string",begin:'"',end:'"',contains:[{className:"subst",begin:/\\[tn"\\]/}]},n={className:"number",relevance:0,begin:e.C_NUMBER_RE};return{name:"LSL (Linden Scripting Language)",illegal:":",contains:[t,{className:"comment",variants:[e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/")],relevance:0},n,{className:"section",variants:[{begin:"\\b(state|default)\\b"},{begin:"\\b(state_(entry|exit)|touch(_(start|end))?|(land_)?collision(_(start|end))?|timer|listen|(no_)?sensor|control|(not_)?at_(rot_)?target|money|email|experience_permissions(_denied)?|run_time_permissions|changed|attach|dataserver|moving_(start|end)|link_message|(on|object)_rez|remote_data|http_re(sponse|quest)|path_update|transaction_result)\\b"}]},{className:"built_in",begin:"\\b(ll(AgentInExperience|(Create|DataSize|Delete|KeyCount|Keys|Read|Update)KeyValue|GetExperience(Details|ErrorMessage)|ReturnObjectsBy(ID|Owner)|Json(2List|[GS]etValue|ValueType)|Sin|Cos|Tan|Atan2|Sqrt|Pow|Abs|Fabs|Frand|Floor|Ceil|Round|Vec(Mag|Norm|Dist)|Rot(Between|2(Euler|Fwd|Left|Up))|(Euler|Axes)2Rot|Whisper|(Region|Owner)?Say|Shout|Listen(Control|Remove)?|Sensor(Repeat|Remove)?|Detected(Name|Key|Owner|Type|Pos|Vel|Grab|Rot|Group|LinkNumber)|Die|Ground|Wind|([GS]et)(AnimationOverride|MemoryLimit|PrimMediaParams|ParcelMusicURL|Object(Desc|Name)|PhysicsMaterial|Status|Scale|Color|Alpha|Texture|Pos|Rot|Force|Torque)|ResetAnimationOverride|(Scale|Offset|Rotate)Texture|(Rot)?Target(Remove)?|(Stop)?MoveToTarget|Apply(Rotational)?Impulse|Set(KeyframedMotion|ContentType|RegionPos|(Angular)?Velocity|Buoyancy|HoverHeight|ForceAndTorque|TimerEvent|ScriptState|Damage|TextureAnim|Sound(Queueing|Radius)|Vehicle(Type|(Float|Vector|Rotation)Param)|(Touch|Sit)?Text|Camera(Eye|At)Offset|PrimitiveParams|ClickAction|Link(Alpha|Color|PrimitiveParams(Fast)?|Texture(Anim)?|Camera|Media)|RemoteScriptAccessPin|PayPrice|LocalRot)|ScaleByFactor|Get((Max|Min)ScaleFactor|ClosestNavPoint|StaticPath|SimStats|Env|PrimitiveParams|Link(PrimitiveParams|Number(OfSides)?|Key|Name|Media)|HTTPHeader|FreeURLs|Object(Details|PermMask|PrimCount)|Parcel(MaxPrims|Details|Prim(Count|Owners))|Attached(List)?|(SPMax|Free|Used)Memory|Region(Name|TimeDilation|FPS|Corner|AgentCount)|Root(Position|Rotation)|UnixTime|(Parcel|Region)Flags|(Wall|GMT)clock|SimulatorHostname|BoundingBox|GeometricCenter|Creator|NumberOf(Prims|NotecardLines|Sides)|Animation(List)?|(Camera|Local)(Pos|Rot)|Vel|Accel|Omega|Time(stamp|OfDay)|(Object|CenterOf)?Mass|MassMKS|Energy|Owner|(Owner)?Key|SunDirection|Texture(Offset|Scale|Rot)|Inventory(Number|Name|Key|Type|Creator|PermMask)|Permissions(Key)?|StartParameter|List(Length|EntryType)|Date|Agent(Size|Info|Language|List)|LandOwnerAt|NotecardLine|Script(Name|State))|(Get|Reset|GetAndReset)Time|PlaySound(Slave)?|LoopSound(Master|Slave)?|(Trigger|Stop|Preload)Sound|((Get|Delete)Sub|Insert)String|To(Upper|Lower)|Give(InventoryList|Money)|RezObject|(Stop)?LookAt|Sleep|CollisionFilter|(Take|Release)Controls|DetachFromAvatar|AttachToAvatar(Temp)?|InstantMessage|(GetNext)?Email|StopHover|MinEventDelay|RotLookAt|String(Length|Trim)|(Start|Stop)Animation|TargetOmega|Request(Experience)?Permissions|(Create|Break)Link|BreakAllLinks|(Give|Remove)Inventory|Water|PassTouches|Request(Agent|Inventory)Data|TeleportAgent(Home|GlobalCoords)?|ModifyLand|CollisionSound|ResetScript|MessageLinked|PushObject|PassCollisions|AxisAngle2Rot|Rot2(Axis|Angle)|A(cos|sin)|AngleBetween|AllowInventoryDrop|SubStringIndex|List2(CSV|Integer|Json|Float|String|Key|Vector|Rot|List(Strided)?)|DeleteSubList|List(Statistics|Sort|Randomize|(Insert|Find|Replace)List)|EdgeOfWorld|AdjustSoundVolume|Key2Name|TriggerSoundLimited|EjectFromLand|(CSV|ParseString)2List|OverMyLand|SameGroup|UnSit|Ground(Slope|Normal|Contour)|GroundRepel|(Set|Remove)VehicleFlags|SitOnLink|(AvatarOn)?(Link)?SitTarget|Script(Danger|Profiler)|Dialog|VolumeDetect|ResetOtherScript|RemoteLoadScriptPin|(Open|Close)RemoteDataChannel|SendRemoteData|RemoteDataReply|(Integer|String)ToBase64|XorBase64|Log(10)?|Base64To(String|Integer)|ParseStringKeepNulls|RezAtRoot|RequestSimulatorData|ForceMouselook|(Load|Release|(E|Une)scape)URL|ParcelMedia(CommandList|Query)|ModPow|MapDestination|(RemoveFrom|AddTo|Reset)Land(Pass|Ban)List|(Set|Clear)CameraParams|HTTP(Request|Response)|TextBox|DetectedTouch(UV|Face|Pos|(N|Bin)ormal|ST)|(MD5|SHA1|DumpList2)String|Request(Secure)?URL|Clear(Prim|Link)Media|(Link)?ParticleSystem|(Get|Request)(Username|DisplayName)|RegionSayTo|CastRay|GenerateKey|TransferLindenDollars|ManageEstateAccess|(Create|Delete)Character|ExecCharacterCmd|Evade|FleeFrom|NavigateTo|PatrolPoints|Pursue|UpdateCharacter|WanderWithin))\\b"},{className:"literal",variants:[{begin:"\\b(PI|TWO_PI|PI_BY_TWO|DEG_TO_RAD|RAD_TO_DEG|SQRT2)\\b"},{begin:"\\b(XP_ERROR_(EXPERIENCES_DISABLED|EXPERIENCE_(DISABLED|SUSPENDED)|INVALID_(EXPERIENCE|PARAMETERS)|KEY_NOT_FOUND|MATURITY_EXCEEDED|NONE|NOT_(FOUND|PERMITTED(_LAND)?)|NO_EXPERIENCE|QUOTA_EXCEEDED|RETRY_UPDATE|STORAGE_EXCEPTION|STORE_DISABLED|THROTTLED|UNKNOWN_ERROR)|JSON_APPEND|STATUS_(PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(_OBJECT)?|(DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(FOUND|SUPPORTED)|INTERNAL_ERROR|WHITELIST_FAILED)|AGENT(_(BY_(LEGACY_|USER)NAME|FLYING|ATTACHMENTS|SCRIPTED|MOUSELOOK|SITTING|ON_OBJECT|AWAY|WALKING|IN_AIR|TYPING|CROUCHING|BUSY|ALWAYS_RUN|AUTOPILOT|LIST_(PARCEL(_OWNER)?|REGION)))?|CAMERA_(PITCH|DISTANCE|BEHINDNESS_(ANGLE|LAG)|(FOCUS|POSITION)(_(THRESHOLD|LOCKED|LAG))?|FOCUS_OFFSET|ACTIVE)|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_(ROOT|SET|ALL_(OTHERS|CHILDREN)|THIS)|ACTIVE|PASS(IVE|_(ALWAYS|IF_NOT_HANDLED|NEVER))|SCRIPTED|CONTROL_(FWD|BACK|(ROT_)?(LEFT|RIGHT)|UP|DOWN|(ML_)?LBUTTON)|PERMISSION_(RETURN_OBJECTS|DEBIT|OVERRIDE_ANIMATIONS|SILENT_ESTATE_MANAGEMENT|TAKE_CONTROLS|TRIGGER_ANIMATION|ATTACH|CHANGE_LINKS|(CONTROL|TRACK)_CAMERA|TELEPORT)|INVENTORY_(TEXTURE|SOUND|OBJECT|SCRIPT|LANDMARK|CLOTHING|NOTECARD|BODYPART|ANIMATION|GESTURE|ALL|NONE)|CHANGED_(INVENTORY|COLOR|SHAPE|SCALE|TEXTURE|LINK|ALLOWED_DROP|OWNER|REGION(_START)?|TELEPORT|MEDIA)|OBJECT_(CLICK_ACTION|HOVER_HEIGHT|LAST_OWNER_ID|(PHYSICS|SERVER|STREAMING)_COST|UNKNOWN_DETAIL|CHARACTER_TIME|PHANTOM|PHYSICS|TEMP_(ATTACHED|ON_REZ)|NAME|DESC|POS|PRIM_(COUNT|EQUIVALENCE)|RETURN_(PARCEL(_OWNER)?|REGION)|REZZER_KEY|ROO?T|VELOCITY|OMEGA|OWNER|GROUP(_TAG)?|CREATOR|ATTACHED_(POINT|SLOTS_AVAILABLE)|RENDER_WEIGHT|(BODY_SHAPE|PATHFINDING)_TYPE|(RUNNING|TOTAL)_SCRIPT_COUNT|TOTAL_INVENTORY_COUNT|SCRIPT_(MEMORY|TIME))|TYPE_(INTEGER|FLOAT|STRING|KEY|VECTOR|ROTATION|INVALID)|(DEBUG|PUBLIC)_CHANNEL|ATTACH_(AVATAR_CENTER|CHEST|HEAD|BACK|PELVIS|MOUTH|CHIN|NECK|NOSE|BELLY|[LR](SHOULDER|HAND|FOOT|EAR|EYE|[UL](ARM|LEG)|HIP)|(LEFT|RIGHT)_PEC|HUD_(CENTER_[12]|TOP_(RIGHT|CENTER|LEFT)|BOTTOM(_(RIGHT|LEFT))?)|[LR]HAND_RING1|TAIL_(BASE|TIP)|[LR]WING|FACE_(JAW|[LR]EAR|[LR]EYE|TOUNGE)|GROIN|HIND_[LR]FOOT)|LAND_(LEVEL|RAISE|LOWER|SMOOTH|NOISE|REVERT)|DATA_(ONLINE|NAME|BORN|SIM_(POS|STATUS|RATING)|PAYINFO)|PAYMENT_INFO_(ON_FILE|USED)|REMOTE_DATA_(CHANNEL|REQUEST|REPLY)|PSYS_(PART_(BF_(ZERO|ONE(_MINUS_(DEST_COLOR|SOURCE_(ALPHA|COLOR)))?|DEST_COLOR|SOURCE_(ALPHA|COLOR))|BLEND_FUNC_(DEST|SOURCE)|FLAGS|(START|END)_(COLOR|ALPHA|SCALE|GLOW)|MAX_AGE|(RIBBON|WIND|INTERP_(COLOR|SCALE)|BOUNCE|FOLLOW_(SRC|VELOCITY)|TARGET_(POS|LINEAR)|EMISSIVE)_MASK)|SRC_(MAX_AGE|PATTERN|ANGLE_(BEGIN|END)|BURST_(RATE|PART_COUNT|RADIUS|SPEED_(MIN|MAX))|ACCEL|TEXTURE|TARGET_KEY|OMEGA|PATTERN_(DROP|EXPLODE|ANGLE(_CONE(_EMPTY)?)?)))|VEHICLE_(REFERENCE_FRAME|TYPE_(NONE|SLED|CAR|BOAT|AIRPLANE|BALLOON)|(LINEAR|ANGULAR)_(FRICTION_TIMESCALE|MOTOR_DIRECTION)|LINEAR_MOTOR_OFFSET|HOVER_(HEIGHT|EFFICIENCY|TIMESCALE)|BUOYANCY|(LINEAR|ANGULAR)_(DEFLECTION_(EFFICIENCY|TIMESCALE)|MOTOR_(DECAY_)?TIMESCALE)|VERTICAL_ATTRACTION_(EFFICIENCY|TIMESCALE)|BANKING_(EFFICIENCY|MIX|TIMESCALE)|FLAG_(NO_DEFLECTION_UP|LIMIT_(ROLL_ONLY|MOTOR_UP)|HOVER_((WATER|TERRAIN|UP)_ONLY|GLOBAL_HEIGHT)|MOUSELOOK_(STEER|BANK)|CAMERA_DECOUPLED))|PRIM_(ALLOW_UNSIT|ALPHA_MODE(_(BLEND|EMISSIVE|MASK|NONE))?|NORMAL|SPECULAR|TYPE(_(BOX|CYLINDER|PRISM|SPHERE|TORUS|TUBE|RING|SCULPT))?|HOLE_(DEFAULT|CIRCLE|SQUARE|TRIANGLE)|MATERIAL(_(STONE|METAL|GLASS|WOOD|FLESH|PLASTIC|RUBBER))?|SHINY_(NONE|LOW|MEDIUM|HIGH)|BUMP_(NONE|BRIGHT|DARK|WOOD|BARK|BRICKS|CHECKER|CONCRETE|TILE|STONE|DISKS|GRAVEL|BLOBS|SIDING|LARGETILE|STUCCO|SUCTION|WEAVE)|TEXGEN_(DEFAULT|PLANAR)|SCRIPTED_SIT_ONLY|SCULPT_(TYPE_(SPHERE|TORUS|PLANE|CYLINDER|MASK)|FLAG_(MIRROR|INVERT))|PHYSICS(_(SHAPE_(CONVEX|NONE|PRIM|TYPE)))?|(POS|ROT)_LOCAL|SLICE|TEXT|FLEXIBLE|POINT_LIGHT|TEMP_ON_REZ|PHANTOM|POSITION|SIT_TARGET|SIZE|ROTATION|TEXTURE|NAME|OMEGA|DESC|LINK_TARGET|COLOR|BUMP_SHINY|FULLBRIGHT|TEXGEN|GLOW|MEDIA_(ALT_IMAGE_ENABLE|CONTROLS|(CURRENT|HOME)_URL|AUTO_(LOOP|PLAY|SCALE|ZOOM)|FIRST_CLICK_INTERACT|(WIDTH|HEIGHT)_PIXELS|WHITELIST(_ENABLE)?|PERMS_(INTERACT|CONTROL)|PARAM_MAX|CONTROLS_(STANDARD|MINI)|PERM_(NONE|OWNER|GROUP|ANYONE)|MAX_(URL_LENGTH|WHITELIST_(SIZE|COUNT)|(WIDTH|HEIGHT)_PIXELS)))|MASK_(BASE|OWNER|GROUP|EVERYONE|NEXT)|PERM_(TRANSFER|MODIFY|COPY|MOVE|ALL)|PARCEL_(MEDIA_COMMAND_(STOP|PAUSE|PLAY|LOOP|TEXTURE|URL|TIME|AGENT|UNLOAD|AUTO_ALIGN|TYPE|SIZE|DESC|LOOP_SET)|FLAG_(ALLOW_(FLY|(GROUP_)?SCRIPTS|LANDMARK|TERRAFORM|DAMAGE|CREATE_(GROUP_)?OBJECTS)|USE_(ACCESS_(GROUP|LIST)|BAN_LIST|LAND_PASS_LIST)|LOCAL_SOUND_ONLY|RESTRICT_PUSHOBJECT|ALLOW_(GROUP|ALL)_OBJECT_ENTRY)|COUNT_(TOTAL|OWNER|GROUP|OTHER|SELECTED|TEMP)|DETAILS_(NAME|DESC|OWNER|GROUP|AREA|ID|SEE_AVATARS))|LIST_STAT_(MAX|MIN|MEAN|MEDIAN|STD_DEV|SUM(_SQUARES)?|NUM_COUNT|GEOMETRIC_MEAN|RANGE)|PAY_(HIDE|DEFAULT)|REGION_FLAG_(ALLOW_DAMAGE|FIXED_SUN|BLOCK_TERRAFORM|SANDBOX|DISABLE_(COLLISIONS|PHYSICS)|BLOCK_FLY|ALLOW_DIRECT_TELEPORT|RESTRICT_PUSHOBJECT)|HTTP_(METHOD|MIMETYPE|BODY_(MAXLENGTH|TRUNCATED)|CUSTOM_HEADER|PRAGMA_NO_CACHE|VERBOSE_THROTTLE|VERIFY_CERT)|SIT_(INVALID_(AGENT|LINK_OBJECT)|NO(T_EXPERIENCE|_(ACCESS|EXPERIENCE_PERMISSION|SIT_TARGET)))|STRING_(TRIM(_(HEAD|TAIL))?)|CLICK_ACTION_(NONE|TOUCH|SIT|BUY|PAY|OPEN(_MEDIA)?|PLAY|ZOOM)|TOUCH_INVALID_FACE|PROFILE_(NONE|SCRIPT_MEMORY)|RC_(DATA_FLAGS|DETECT_PHANTOM|GET_(LINK_NUM|NORMAL|ROOT_KEY)|MAX_HITS|REJECT_(TYPES|AGENTS|(NON)?PHYSICAL|LAND))|RCERR_(CAST_TIME_EXCEEDED|SIM_PERF_LOW|UNKNOWN)|ESTATE_ACCESS_(ALLOWED_(AGENT|GROUP)_(ADD|REMOVE)|BANNED_AGENT_(ADD|REMOVE))|DENSITY|FRICTION|RESTITUTION|GRAVITY_MULTIPLIER|KFM_(COMMAND|CMD_(PLAY|STOP|PAUSE)|MODE|FORWARD|LOOP|PING_PONG|REVERSE|DATA|ROTATION|TRANSLATION)|ERR_(GENERIC|PARCEL_PERMISSIONS|MALFORMED_PARAMS|RUNTIME_PERMISSIONS|THROTTLED)|CHARACTER_(CMD_((SMOOTH_)?STOP|JUMP)|DESIRED_(TURN_)?SPEED|RADIUS|STAY_WITHIN_PARCEL|LENGTH|ORIENTATION|ACCOUNT_FOR_SKIPPED_FRAMES|AVOIDANCE_MODE|TYPE(_([ABCD]|NONE))?|MAX_(DECEL|TURN_RADIUS|(ACCEL|SPEED)))|PURSUIT_(OFFSET|FUZZ_FACTOR|GOAL_TOLERANCE|INTERCEPT)|REQUIRE_LINE_OF_SIGHT|FORCE_DIRECT_PATH|VERTICAL|HORIZONTAL|AVOID_(CHARACTERS|DYNAMIC_OBSTACLES|NONE)|PU_(EVADE_(HIDDEN|SPOTTED)|FAILURE_(DYNAMIC_PATHFINDING_DISABLED|INVALID_(GOAL|START)|NO_(NAVMESH|VALID_DESTINATION)|OTHER|TARGET_GONE|(PARCEL_)?UNREACHABLE)|(GOAL|SLOWDOWN_DISTANCE)_REACHED)|TRAVERSAL_TYPE(_(FAST|NONE|SLOW))?|CONTENT_TYPE_(ATOM|FORM|HTML|JSON|LLSD|RSS|TEXT|XHTML|XML)|GCNP_(RADIUS|STATIC)|(PATROL|WANDER)_PAUSE_AT_WAYPOINTS|OPT_(AVATAR|CHARACTER|EXCLUSION_VOLUME|LEGACY_LINKSET|MATERIAL_VOLUME|OTHER|STATIC_OBSTACLE|WALKABLE)|SIM_STAT_PCT_CHARS_STEPPED)\\b"},{begin:"\\b(FALSE|TRUE)\\b"},{begin:"\\b(ZERO_ROTATION)\\b"},{begin:"\\b(EOF|JSON_(ARRAY|DELETE|FALSE|INVALID|NULL|NUMBER|OBJECT|STRING|TRUE)|NULL_KEY|TEXTURE_(BLANK|DEFAULT|MEDIA|PLYWOOD|TRANSPARENT)|URL_REQUEST_(GRANTED|DENIED))\\b"},{begin:"\\b(ZERO_VECTOR|TOUCH_INVALID_(TEXCOORD|VECTOR))\\b"}]},{className:"type",begin:"\\b(integer|float|string|key|vector|quaternion|rotation|list)\\b"}]}})),lk.registerLanguage("lua",$x?qx:($x=1,qx=function(e){const t="\\[=*\\[",n="\\]=*\\]",a={begin:t,end:n,contains:["self"]},r=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[a],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[a],relevance:5}])}})),lk.registerLanguage("makefile",Wx?jx:(Wx=1,jx=function(e){const t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%{s.has(e[0])||t.ignoreMatch()}},{className:"symbol",relevance:0,begin:o}]},c={className:"message-name",relevance:0,begin:n.concat("::",o)};return{name:"Mathematica",aliases:["mma","wl"],classNameAliases:{brace:"punctuation",pattern:"type",slot:"type",symbol:"variable","named-character":"variable","builtin-symbol":"built_in","message-name":"string"},contains:[t.COMMENT(/\(\*/,/\*\)/,{contains:["self"]}),{className:"pattern",relevance:0,begin:/([a-zA-Z$][a-zA-Z0-9$]*)?_+([a-zA-Z$][a-zA-Z0-9$]*)?/},{className:"slot",relevance:0,begin:/#[a-zA-Z$][a-zA-Z0-9$]*|#+[0-9]?/},c,l,{className:"named-character",begin:/\\\[[$a-zA-Z][$a-zA-Z0-9]+\]/},t.QUOTE_STRING_MODE,i,{className:"operator",relevance:0,begin:/[+\-*/,;.:@~=><&|_`'^?!%]+/},{className:"brace",relevance:0,begin:/[[\](){}]/}]}}}()),lk.registerLanguage("matlab",Zx?Xx:(Zx=1,Xx=function(e){const t="('|\\.')+",n={relevance:0,contains:[{begin:t}]};return{name:"Matlab",keywords:{keyword:"arguments break case catch classdef continue else elseif end enumeration events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i|0 inf nan isnan isinf isfinite j|0 why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun legend intersect ismember procrustes hold num2cell "},illegal:'(//|"|#|/\\*|\\s+/\\w+)',contains:[{className:"function",beginKeywords:"function",end:"$",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",variants:[{begin:"\\(",end:"\\)"},{begin:"\\[",end:"\\]"}]}]},{className:"built_in",begin:/true|false/,relevance:0,starts:n},{begin:"[a-zA-Z][a-zA-Z_0-9]*"+t,relevance:0},{className:"number",begin:e.C_NUMBER_RE,relevance:0,starts:n},{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{begin:/\]|\}|\)/,relevance:0,starts:n},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}],starts:n},e.COMMENT("^\\s*%\\{\\s*$","^\\s*%\\}\\s*$"),e.COMMENT("%","$")]}})),lk.registerLanguage("maxima",eL?Jx:(eL=1,Jx=function(e){return{name:"Maxima",keywords:{$pattern:"[A-Za-z_%][0-9A-Za-z_%]*",keyword:"if then else elseif for thru do while unless step in and or not",literal:"true false unknown inf minf ind und %e %i %pi %phi %gamma",built_in:" abasep abs absint absolute_real_time acos acosh acot acoth acsc acsch activate addcol add_edge add_edges addmatrices addrow add_vertex add_vertices adjacency_matrix adjoin adjoint af agd airy airy_ai airy_bi airy_dai airy_dbi algsys alg_type alias allroots alphacharp alphanumericp amortization %and annuity_fv annuity_pv antid antidiff AntiDifference append appendfile apply apply1 apply2 applyb1 apropos args arit_amortization arithmetic arithsum array arrayapply arrayinfo arraymake arraysetapply ascii asec asech asin asinh askinteger asksign assoc assoc_legendre_p assoc_legendre_q assume assume_external_byte_order asympa at atan atan2 atanh atensimp atom atvalue augcoefmatrix augmented_lagrangian_method av average_degree backtrace bars barsplot barsplot_description base64 base64_decode bashindices batch batchload bc2 bdvac belln benefit_cost bern bernpoly bernstein_approx bernstein_expand bernstein_poly bessel bessel_i bessel_j bessel_k bessel_simplify bessel_y beta beta_incomplete beta_incomplete_generalized beta_incomplete_regularized bezout bfallroots bffac bf_find_root bf_fmin_cobyla bfhzeta bfloat bfloatp bfpsi bfpsi0 bfzeta biconnected_components bimetric binomial bipartition block blockmatrixp bode_gain bode_phase bothcoef box boxplot boxplot_description break bug_report build_info|10 buildq build_sample burn cabs canform canten cardinality carg cartan cartesian_product catch cauchy_matrix cbffac cdf_bernoulli cdf_beta cdf_binomial cdf_cauchy cdf_chi2 cdf_continuous_uniform cdf_discrete_uniform cdf_exp cdf_f cdf_gamma cdf_general_finite_discrete cdf_geometric cdf_gumbel cdf_hypergeometric cdf_laplace cdf_logistic cdf_lognormal cdf_negative_binomial cdf_noncentral_chi2 cdf_noncentral_student_t cdf_normal cdf_pareto cdf_poisson cdf_rank_sum cdf_rayleigh cdf_signed_rank cdf_student_t cdf_weibull cdisplay ceiling central_moment cequal cequalignore cf cfdisrep cfexpand cgeodesic cgreaterp cgreaterpignore changename changevar chaosgame charat charfun charfun2 charlist charp charpoly chdir chebyshev_t chebyshev_u checkdiv check_overlaps chinese cholesky christof chromatic_index chromatic_number cint circulant_graph clear_edge_weight clear_rules clear_vertex_label clebsch_gordan clebsch_graph clessp clesspignore close closefile cmetric coeff coefmatrix cograd col collapse collectterms columnop columnspace columnswap columnvector combination combine comp2pui compare compfile compile compile_file complement_graph complete_bipartite_graph complete_graph complex_number_p components compose_functions concan concat conjugate conmetderiv connected_components connect_vertices cons constant constantp constituent constvalue cont2part content continuous_freq contortion contour_plot contract contract_edge contragrad contrib_ode convert coord copy copy_file copy_graph copylist copymatrix cor cos cosh cot coth cov cov1 covdiff covect covers crc24sum create_graph create_list csc csch csetup cspline ctaylor ct_coordsys ctransform ctranspose cube_graph cuboctahedron_graph cunlisp cv cycle_digraph cycle_graph cylindrical days360 dblint deactivate declare declare_constvalue declare_dimensions declare_fundamental_dimensions declare_fundamental_units declare_qty declare_translated declare_unit_conversion declare_units declare_weights decsym defcon define define_alt_display define_variable defint defmatch defrule defstruct deftaylor degree_sequence del delete deleten delta demo demoivre denom depends derivdegree derivlist describe desolve determinant dfloat dgauss_a dgauss_b dgeev dgemm dgeqrf dgesv dgesvd diag diagmatrix diag_matrix diagmatrixp diameter diff digitcharp dimacs_export dimacs_import dimension dimensionless dimensions dimensions_as_list direct directory discrete_freq disjoin disjointp disolate disp dispcon dispform dispfun dispJordan display disprule dispterms distrib divide divisors divsum dkummer_m dkummer_u dlange dodecahedron_graph dotproduct dotsimp dpart draw draw2d draw3d drawdf draw_file draw_graph dscalar echelon edge_coloring edge_connectivity edges eigens_by_jacobi eigenvalues eigenvectors eighth einstein eivals eivects elapsed_real_time elapsed_run_time ele2comp ele2polynome ele2pui elem elementp elevation_grid elim elim_allbut eliminate eliminate_using ellipse elliptic_e elliptic_ec elliptic_eu elliptic_f elliptic_kc elliptic_pi ematrix empty_graph emptyp endcons entermatrix entertensor entier equal equalp equiv_classes erf erfc erf_generalized erfi errcatch error errormsg errors euler ev eval_string evenp every evolution evolution2d evundiff example exp expand expandwrt expandwrt_factored expint expintegral_chi expintegral_ci expintegral_e expintegral_e1 expintegral_ei expintegral_e_simplify expintegral_li expintegral_shi expintegral_si explicit explose exponentialize express expt exsec extdiff extract_linear_equations extremal_subset ezgcd %f f90 facsum factcomb factor factorfacsum factorial factorout factorsum facts fast_central_elements fast_linsolve fasttimes featurep fernfale fft fib fibtophi fifth filename_merge file_search file_type fillarray findde find_root find_root_abs find_root_error find_root_rel first fix flatten flength float floatnump floor flower_snark flush flush1deriv flushd flushnd flush_output fmin_cobyla forget fortran fourcos fourexpand fourier fourier_elim fourint fourintcos fourintsin foursimp foursin fourth fposition frame_bracket freeof freshline fresnel_c fresnel_s from_adjacency_matrix frucht_graph full_listify fullmap fullmapl fullratsimp fullratsubst fullsetify funcsolve fundamental_dimensions fundamental_units fundef funmake funp fv g0 g1 gamma gamma_greek gamma_incomplete gamma_incomplete_generalized gamma_incomplete_regularized gauss gauss_a gauss_b gaussprob gcd gcdex gcdivide gcfac gcfactor gd generalized_lambert_w genfact gen_laguerre genmatrix gensym geo_amortization geo_annuity_fv geo_annuity_pv geomap geometric geometric_mean geosum get getcurrentdirectory get_edge_weight getenv get_lu_factors get_output_stream_string get_pixel get_plot_option get_tex_environment get_tex_environment_default get_vertex_label gfactor gfactorsum ggf girth global_variances gn gnuplot_close gnuplot_replot gnuplot_reset gnuplot_restart gnuplot_start go Gosper GosperSum gr2d gr3d gradef gramschmidt graph6_decode graph6_encode graph6_export graph6_import graph_center graph_charpoly graph_eigenvalues graph_flow graph_order graph_periphery graph_product graph_size graph_union great_rhombicosidodecahedron_graph great_rhombicuboctahedron_graph grid_graph grind grobner_basis grotzch_graph hamilton_cycle hamilton_path hankel hankel_1 hankel_2 harmonic harmonic_mean hav heawood_graph hermite hessian hgfred hilbertmap hilbert_matrix hipow histogram histogram_description hodge horner hypergeometric i0 i1 %ibes ic1 ic2 ic_convert ichr1 ichr2 icosahedron_graph icosidodecahedron_graph icurvature ident identfor identity idiff idim idummy ieqn %if ifactors iframes ifs igcdex igeodesic_coords ilt image imagpart imetric implicit implicit_derivative implicit_plot indexed_tensor indices induced_subgraph inferencep inference_result infix info_display init_atensor init_ctensor in_neighbors innerproduct inpart inprod inrt integerp integer_partitions integrate intersect intersection intervalp intopois intosum invariant1 invariant2 inverse_fft inverse_jacobi_cd inverse_jacobi_cn inverse_jacobi_cs inverse_jacobi_dc inverse_jacobi_dn inverse_jacobi_ds inverse_jacobi_nc inverse_jacobi_nd inverse_jacobi_ns inverse_jacobi_sc inverse_jacobi_sd inverse_jacobi_sn invert invert_by_adjoint invert_by_lu inv_mod irr is is_biconnected is_bipartite is_connected is_digraph is_edge_in_graph is_graph is_graph_or_digraph ishow is_isomorphic isolate isomorphism is_planar isqrt isreal_p is_sconnected is_tree is_vertex_in_graph items_inference %j j0 j1 jacobi jacobian jacobi_cd jacobi_cn jacobi_cs jacobi_dc jacobi_dn jacobi_ds jacobi_nc jacobi_nd jacobi_ns jacobi_p jacobi_sc jacobi_sd jacobi_sn JF jn join jordan julia julia_set julia_sin %k kdels kdelta kill killcontext kostka kron_delta kronecker_product kummer_m kummer_u kurtosis kurtosis_bernoulli kurtosis_beta kurtosis_binomial kurtosis_chi2 kurtosis_continuous_uniform kurtosis_discrete_uniform kurtosis_exp kurtosis_f kurtosis_gamma kurtosis_general_finite_discrete kurtosis_geometric kurtosis_gumbel kurtosis_hypergeometric kurtosis_laplace kurtosis_logistic kurtosis_lognormal kurtosis_negative_binomial kurtosis_noncentral_chi2 kurtosis_noncentral_student_t kurtosis_normal kurtosis_pareto kurtosis_poisson kurtosis_rayleigh kurtosis_student_t kurtosis_weibull label labels lagrange laguerre lambda lambert_w laplace laplacian_matrix last lbfgs lc2kdt lcharp lc_l lcm lc_u ldefint ldisp ldisplay legendre_p legendre_q leinstein length let letrules letsimp levi_civita lfreeof lgtreillis lhs li liediff limit Lindstedt linear linearinterpol linear_program linear_regression line_graph linsolve listarray list_correlations listify list_matrix_entries list_nc_monomials listoftens listofvars listp lmax lmin load loadfile local locate_matrix_entry log logcontract log_gamma lopow lorentz_gauge lowercasep lpart lratsubst lreduce lriemann lsquares_estimates lsquares_estimates_approximate lsquares_estimates_exact lsquares_mse lsquares_residual_mse lsquares_residuals lsum ltreillis lu_backsub lucas lu_factor %m macroexpand macroexpand1 make_array makebox makefact makegamma make_graph make_level_picture makelist makeOrders make_poly_continent make_poly_country make_polygon make_random_state make_rgb_picture makeset make_string_input_stream make_string_output_stream make_transform mandelbrot mandelbrot_set map mapatom maplist matchdeclare matchfix mat_cond mat_fullunblocker mat_function mathml_display mat_norm matrix matrixmap matrixp matrix_size mattrace mat_trace mat_unblocker max max_clique max_degree max_flow maximize_lp max_independent_set max_matching maybe md5sum mean mean_bernoulli mean_beta mean_binomial mean_chi2 mean_continuous_uniform mean_deviation mean_discrete_uniform mean_exp mean_f mean_gamma mean_general_finite_discrete mean_geometric mean_gumbel mean_hypergeometric mean_laplace mean_logistic mean_lognormal mean_negative_binomial mean_noncentral_chi2 mean_noncentral_student_t mean_normal mean_pareto mean_poisson mean_rayleigh mean_student_t mean_weibull median median_deviation member mesh metricexpandall mgf1_sha1 min min_degree min_edge_cut minfactorial minimalPoly minimize_lp minimum_spanning_tree minor minpack_lsquares minpack_solve min_vertex_cover min_vertex_cut mkdir mnewton mod mode_declare mode_identity ModeMatrix moebius mon2schur mono monomial_dimensions multibernstein_poly multi_display_for_texinfo multi_elem multinomial multinomial_coeff multi_orbit multiplot_mode multi_pui multsym multthru mycielski_graph nary natural_unit nc_degree ncexpt ncharpoly negative_picture neighbors new newcontext newdet new_graph newline newton new_variable next_prime nicedummies niceindices ninth nofix nonarray noncentral_moment nonmetricity nonnegintegerp nonscalarp nonzeroandfreeof notequal nounify nptetrad npv nroots nterms ntermst nthroot nullity nullspace num numbered_boundaries numberp number_to_octets num_distinct_partitions numerval numfactor num_partitions nusum nzeta nzetai nzetar octets_to_number octets_to_oid odd_girth oddp ode2 ode_check odelin oid_to_octets op opena opena_binary openr openr_binary openw openw_binary operatorp opsubst optimize %or orbit orbits ordergreat ordergreatp orderless orderlessp orthogonal_complement orthopoly_recur orthopoly_weight outermap out_neighbors outofpois pade parabolic_cylinder_d parametric parametric_surface parg parGosper parse_string parse_timedate part part2cont partfrac partition partition_set partpol path_digraph path_graph pathname_directory pathname_name pathname_type pdf_bernoulli pdf_beta pdf_binomial pdf_cauchy pdf_chi2 pdf_continuous_uniform pdf_discrete_uniform pdf_exp pdf_f pdf_gamma pdf_general_finite_discrete pdf_geometric pdf_gumbel pdf_hypergeometric pdf_laplace pdf_logistic pdf_lognormal pdf_negative_binomial pdf_noncentral_chi2 pdf_noncentral_student_t pdf_normal pdf_pareto pdf_poisson pdf_rank_sum pdf_rayleigh pdf_signed_rank pdf_student_t pdf_weibull pearson_skewness permanent permut permutation permutations petersen_graph petrov pickapart picture_equalp picturep piechart piechart_description planar_embedding playback plog plot2d plot3d plotdf ploteq plsquares pochhammer points poisdiff poisexpt poisint poismap poisplus poissimp poissubst poistimes poistrim polar polarform polartorect polar_to_xy poly_add poly_buchberger poly_buchberger_criterion poly_colon_ideal poly_content polydecomp poly_depends_p poly_elimination_ideal poly_exact_divide poly_expand poly_expt poly_gcd polygon poly_grobner poly_grobner_equal poly_grobner_member poly_grobner_subsetp poly_ideal_intersection poly_ideal_polysaturation poly_ideal_polysaturation1 poly_ideal_saturation poly_ideal_saturation1 poly_lcm poly_minimization polymod poly_multiply polynome2ele polynomialp poly_normal_form poly_normalize poly_normalize_list poly_polysaturation_extension poly_primitive_part poly_pseudo_divide poly_reduced_grobner poly_reduction poly_saturation_extension poly_s_polynomial poly_subtract polytocompanion pop postfix potential power_mod powerseries powerset prefix prev_prime primep primes principal_components print printf printfile print_graph printpois printprops prodrac product properties propvars psi psubst ptriangularize pui pui2comp pui2ele pui2polynome pui_direct puireduc push put pv qput qrange qty quad_control quad_qag quad_qagi quad_qagp quad_qags quad_qawc quad_qawf quad_qawo quad_qaws quadrilateral quantile quantile_bernoulli quantile_beta quantile_binomial quantile_cauchy quantile_chi2 quantile_continuous_uniform quantile_discrete_uniform quantile_exp quantile_f quantile_gamma quantile_general_finite_discrete quantile_geometric quantile_gumbel quantile_hypergeometric quantile_laplace quantile_logistic quantile_lognormal quantile_negative_binomial quantile_noncentral_chi2 quantile_noncentral_student_t quantile_normal quantile_pareto quantile_poisson quantile_rayleigh quantile_student_t quantile_weibull quartile_skewness quit qunit quotient racah_v racah_w radcan radius random random_bernoulli random_beta random_binomial random_bipartite_graph random_cauchy random_chi2 random_continuous_uniform random_digraph random_discrete_uniform random_exp random_f random_gamma random_general_finite_discrete random_geometric random_graph random_graph1 random_gumbel random_hypergeometric random_laplace random_logistic random_lognormal random_negative_binomial random_network random_noncentral_chi2 random_noncentral_student_t random_normal random_pareto random_permutation random_poisson random_rayleigh random_regular_graph random_student_t random_tournament random_tree random_weibull range rank rat ratcoef ratdenom ratdiff ratdisrep ratexpand ratinterpol rational rationalize ratnumer ratnump ratp ratsimp ratsubst ratvars ratweight read read_array read_binary_array read_binary_list read_binary_matrix readbyte readchar read_hashed_array readline read_list read_matrix read_nested_list readonly read_xpm real_imagpart_to_conjugate realpart realroots rearray rectangle rectform rectform_log_if_constant recttopolar rediff reduce_consts reduce_order region region_boundaries region_boundaries_plus rem remainder remarray rembox remcomps remcon remcoord remfun remfunction remlet remove remove_constvalue remove_dimensions remove_edge remove_fundamental_dimensions remove_fundamental_units remove_plot_option remove_vertex rempart remrule remsym remvalue rename rename_file reset reset_displays residue resolvante resolvante_alternee1 resolvante_bipartite resolvante_diedrale resolvante_klein resolvante_klein3 resolvante_produit_sym resolvante_unitaire resolvante_vierer rest resultant return reveal reverse revert revert2 rgb2level rhs ricci riemann rinvariant risch rk rmdir rncombine romberg room rootscontract round row rowop rowswap rreduce run_testsuite %s save saving scalarp scaled_bessel_i scaled_bessel_i0 scaled_bessel_i1 scalefactors scanmap scatterplot scatterplot_description scene schur2comp sconcat scopy scsimp scurvature sdowncase sec sech second sequal sequalignore set_alt_display setdifference set_draw_defaults set_edge_weight setelmx setequalp setify setp set_partitions set_plot_option set_prompt set_random_state set_tex_environment set_tex_environment_default setunits setup_autoload set_up_dot_simplifications set_vertex_label seventh sexplode sf sha1sum sha256sum shortest_path shortest_weighted_path show showcomps showratvars sierpinskiale sierpinskimap sign signum similaritytransform simp_inequality simplify_sum simplode simpmetderiv simtran sin sinh sinsert sinvertcase sixth skewness skewness_bernoulli skewness_beta skewness_binomial skewness_chi2 skewness_continuous_uniform skewness_discrete_uniform skewness_exp skewness_f skewness_gamma skewness_general_finite_discrete skewness_geometric skewness_gumbel skewness_hypergeometric skewness_laplace skewness_logistic skewness_lognormal skewness_negative_binomial skewness_noncentral_chi2 skewness_noncentral_student_t skewness_normal skewness_pareto skewness_poisson skewness_rayleigh skewness_student_t skewness_weibull slength smake small_rhombicosidodecahedron_graph small_rhombicuboctahedron_graph smax smin smismatch snowmap snub_cube_graph snub_dodecahedron_graph solve solve_rec solve_rec_rat some somrac sort sparse6_decode sparse6_encode sparse6_export sparse6_import specint spherical spherical_bessel_j spherical_bessel_y spherical_hankel1 spherical_hankel2 spherical_harmonic spherical_to_xyz splice split sposition sprint sqfr sqrt sqrtdenest sremove sremovefirst sreverse ssearch ssort sstatus ssubst ssubstfirst staircase standardize standardize_inverse_trig starplot starplot_description status std std1 std_bernoulli std_beta std_binomial std_chi2 std_continuous_uniform std_discrete_uniform std_exp std_f std_gamma std_general_finite_discrete std_geometric std_gumbel std_hypergeometric std_laplace std_logistic std_lognormal std_negative_binomial std_noncentral_chi2 std_noncentral_student_t std_normal std_pareto std_poisson std_rayleigh std_student_t std_weibull stemplot stirling stirling1 stirling2 strim striml strimr string stringout stringp strong_components struve_h struve_l sublis sublist sublist_indices submatrix subsample subset subsetp subst substinpart subst_parallel substpart substring subvar subvarp sum sumcontract summand_to_rec supcase supcontext symbolp symmdifference symmetricp system take_channel take_inference tan tanh taylor taylorinfo taylorp taylor_simplifier taytorat tcl_output tcontract tellrat tellsimp tellsimpafter tentex tenth test_mean test_means_difference test_normality test_proportion test_proportions_difference test_rank_sum test_sign test_signed_rank test_variance test_variance_ratio tex tex1 tex_display texput %th third throw time timedate timer timer_info tldefint tlimit todd_coxeter toeplitz tokens to_lisp topological_sort to_poly to_poly_solve totaldisrep totalfourier totient tpartpol trace tracematrix trace_options transform_sample translate translate_file transpose treefale tree_reduce treillis treinat triangle triangularize trigexpand trigrat trigreduce trigsimp trunc truncate truncated_cube_graph truncated_dodecahedron_graph truncated_icosahedron_graph truncated_tetrahedron_graph tr_warnings_get tube tutte_graph ueivects uforget ultraspherical underlying_graph undiff union unique uniteigenvectors unitp units unit_step unitvector unorder unsum untellrat untimer untrace uppercasep uricci uriemann uvect vandermonde_matrix var var1 var_bernoulli var_beta var_binomial var_chi2 var_continuous_uniform var_discrete_uniform var_exp var_f var_gamma var_general_finite_discrete var_geometric var_gumbel var_hypergeometric var_laplace var_logistic var_lognormal var_negative_binomial var_noncentral_chi2 var_noncentral_student_t var_normal var_pareto var_poisson var_rayleigh var_student_t var_weibull vector vectorpotential vectorsimp verbify vers vertex_coloring vertex_connectivity vertex_degree vertex_distance vertex_eccentricity vertex_in_degree vertex_out_degree vertices vertices_to_cycle vertices_to_path %w weyl wheel_graph wiener_index wigner_3j wigner_6j wigner_9j with_stdout write_binary_data writebyte write_data writefile wronskian xreduce xthru %y Zeilberger zeroequiv zerofor zeromatrix zeromatrixp zeta zgeev zheev zlange zn_add_table zn_carmichael_lambda zn_characteristic_factors zn_determinant zn_factor_generators zn_invert_by_lu zn_log zn_mult_table absboxchar activecontexts adapt_depth additive adim aform algebraic algepsilon algexact aliases allbut all_dotsimp_denoms allocation allsym alphabetic animation antisymmetric arrays askexp assume_pos assume_pos_pred assumescalar asymbol atomgrad atrig1 axes axis_3d axis_bottom axis_left axis_right axis_top azimuth background background_color backsubst berlefact bernstein_explicit besselexpand beta_args_sum_to_integer beta_expand bftorat bftrunc bindtest border boundaries_array box boxchar breakup %c capping cauchysum cbrange cbtics center cflength cframe_flag cnonmet_flag color color_bar color_bar_tics colorbox columns commutative complex cone context contexts contour contour_levels cosnpiflag ctaypov ctaypt ctayswitch ctayvar ct_coords ctorsion_flag ctrgsimp cube current_let_rule_package cylinder data_file_name debugmode decreasing default_let_rule_package delay dependencies derivabbrev derivsubst detout diagmetric diff dim dimensions dispflag display2d|10 display_format_internal distribute_over doallmxops domain domxexpt domxmxops domxnctimes dontfactor doscmxops doscmxplus dot0nscsimp dot0simp dot1simp dotassoc dotconstrules dotdistrib dotexptsimp dotident dotscrules draw_graph_program draw_realpart edge_color edge_coloring edge_partition edge_type edge_width %edispflag elevation %emode endphi endtheta engineering_format_floats enhanced3d %enumer epsilon_lp erfflag erf_representation errormsg error_size error_syms error_type %e_to_numlog eval even evenfun evflag evfun ev_point expandwrt_denom expintexpand expintrep expon expop exptdispflag exptisolate exptsubst facexpand facsum_combine factlim factorflag factorial_expand factors_only fb feature features file_name file_output_append file_search_demo file_search_lisp file_search_maxima|10 file_search_tests file_search_usage file_type_lisp file_type_maxima|10 fill_color fill_density filled_func fixed_vertices flipflag float2bf font font_size fortindent fortspaces fpprec fpprintprec functions gamma_expand gammalim gdet genindex gensumnum GGFCFMAX GGFINFINITY globalsolve gnuplot_command gnuplot_curve_styles gnuplot_curve_titles gnuplot_default_term_command gnuplot_dumb_term_command gnuplot_file_args gnuplot_file_name gnuplot_out_file gnuplot_pdf_term_command gnuplot_pm3d gnuplot_png_term_command gnuplot_postamble gnuplot_preamble gnuplot_ps_term_command gnuplot_svg_term_command gnuplot_term gnuplot_view_args Gosper_in_Zeilberger gradefs grid grid2d grind halfangles head_angle head_both head_length head_type height hypergeometric_representation %iargs ibase icc1 icc2 icounter idummyx ieqnprint ifb ifc1 ifc2 ifg ifgi ifr iframe_bracket_form ifri igeowedge_flag ikt1 ikt2 imaginary inchar increasing infeval infinity inflag infolists inm inmc1 inmc2 intanalysis integer integervalued integrate_use_rootsof integration_constant integration_constant_counter interpolate_color intfaclim ip_grid ip_grid_in irrational isolate_wrt_times iterations itr julia_parameter %k1 %k2 keepfloat key key_pos kinvariant kt label label_alignment label_orientation labels lassociative lbfgs_ncorrections lbfgs_nfeval_max leftjust legend letrat let_rule_packages lfg lg lhospitallim limsubst linear linear_solver linechar linel|10 linenum line_type linewidth line_width linsolve_params linsolvewarn lispdisp listarith listconstvars listdummyvars lmxchar load_pathname loadprint logabs logarc logcb logconcoeffp logexpand lognegint logsimp logx logx_secondary logy logy_secondary logz lriem m1pbranch macroexpansion macros mainvar manual_demo maperror mapprint matrix_element_add matrix_element_mult matrix_element_transpose maxapplydepth maxapplyheight maxima_tempdir|10 maxima_userdir|10 maxnegex MAX_ORD maxposex maxpsifracdenom maxpsifracnum maxpsinegint maxpsiposint maxtayorder mesh_lines_color method mod_big_prime mode_check_errorp mode_checkp mode_check_warnp mod_test mod_threshold modular_linear_solver modulus multiplicative multiplicities myoptions nary negdistrib negsumdispflag newline newtonepsilon newtonmaxiter nextlayerfactor niceindicespref nm nmc noeval nolabels nonegative_lp noninteger nonscalar noun noundisp nouns np npi nticks ntrig numer numer_pbranch obase odd oddfun opacity opproperties opsubst optimprefix optionset orientation origin orthopoly_returns_intervals outative outchar packagefile palette partswitch pdf_file pfeformat phiresolution %piargs piece pivot_count_sx pivot_max_sx plot_format plot_options plot_realpart png_file pochhammer_max_index points pointsize point_size points_joined point_type poislim poisson poly_coefficient_ring poly_elimination_order polyfactor poly_grobner_algorithm poly_grobner_debug poly_monomial_order poly_primary_elimination_order poly_return_term_list poly_secondary_elimination_order poly_top_reduction_only posfun position powerdisp pred prederror primep_number_of_tests product_use_gamma program programmode promote_float_to_bigfloat prompt proportional_axes props psexpand ps_file radexpand radius radsubstflag rassociative ratalgdenom ratchristof ratdenomdivide rateinstein ratepsilon ratfac rational ratmx ratprint ratriemann ratsimpexpons ratvarswitch ratweights ratweyl ratwtlvl real realonly redraw refcheck resolution restart resultant ric riem rmxchar %rnum_list rombergabs rombergit rombergmin rombergtol rootsconmode rootsepsilon run_viewer same_xy same_xyz savedef savefactors scalar scalarmatrixp scale scale_lp setcheck setcheckbreak setval show_edge_color show_edges show_edge_type show_edge_width show_id show_label showtime show_vertex_color show_vertex_size show_vertex_type show_vertices show_weight simp simplified_output simplify_products simpproduct simpsum sinnpiflag solvedecomposes solveexplicit solvefactors solvenullwarn solveradcan solvetrigwarn space sparse sphere spring_embedding_depth sqrtdispflag stardisp startphi starttheta stats_numer stringdisp structures style sublis_apply_lambda subnumsimp sumexpand sumsplitfact surface surface_hide svg_file symmetric tab taylordepth taylor_logexpand taylor_order_coefficients taylor_truncate_polynomials tensorkill terminal testsuite_files thetaresolution timer_devalue title tlimswitch tr track transcompile transform transform_xy translate_fast_arrays transparent transrun tr_array_as_ref tr_bound_function_applyp tr_file_tty_messagesp tr_float_can_branch_complex tr_function_call_default trigexpandplus trigexpandtimes triginverses trigsign trivial_solutions tr_numer tr_optimize_max_loop tr_semicompile tr_state_vars tr_warn_bad_function_calls tr_warn_fexpr tr_warn_meval tr_warn_mode tr_warn_undeclared tr_warn_undefined_variable tstep ttyoff tube_extremes ufg ug %unitexpand unit_vectors uric uriem use_fast_arrays user_preamble usersetunits values vect_cross verbose vertex_color vertex_coloring vertex_partition vertex_size vertex_type view warnings weyl width windowname windowtitle wired_surface wireframe xaxis xaxis_color xaxis_secondary xaxis_type xaxis_width xlabel xlabel_secondary xlength xrange xrange_secondary xtics xtics_axis xtics_rotate xtics_rotate_secondary xtics_secondary xtics_secondary_axis xu_grid x_voxel xy_file xyplane xy_scale yaxis yaxis_color yaxis_secondary yaxis_type yaxis_width ylabel ylabel_secondary ylength yrange yrange_secondary ytics ytics_axis ytics_rotate ytics_rotate_secondary ytics_secondary ytics_secondary_axis yv_grid y_voxel yx_ratio zaxis zaxis_color zaxis_type zaxis_width zeroa zerob zerobern zeta%pi zlabel zlabel_rotate zlength zmin zn_primroot_limit zn_primroot_pretest",symbol:"_ __ %|0 %%|0"},contains:[{className:"comment",begin:"/\\*",end:"\\*/",contains:["self"]},e.QUOTE_STRING_MODE,{className:"number",relevance:0,variants:[{begin:"\\b(\\d+|\\d+\\.|\\.\\d+|\\d+\\.\\d+)[Ee][-+]?\\d+\\b"},{begin:"\\b(\\d+|\\d+\\.|\\.\\d+|\\d+\\.\\d+)[Bb][-+]?\\d+\\b",relevance:10},{begin:"\\b(\\.\\d+|\\d+\\.\\d+)\\b"},{begin:"\\b(\\d+|0[0-9A-Za-z]+)\\.?\\b"}]}],illegal:/@/}})),lk.registerLanguage("mel",nL?tL:(nL=1,tL=function(e){return{name:"MEL",keywords:"int float string vector matrix if else switch case default while do for in break continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor animDisplay animView annotate appendStringArray applicationName applyAttrPreset applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem componentEditor compositingInterop computePolysetVolume condition cone confirmDialog connectAttr connectControl connectDynamic connectJoint connectionInfo constrain constrainValue constructionHistory container containsMultibyte contextInfo control convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected displayColor displayCull displayLevelOfDetail displayPref displayRGBColor displaySmoothness displayStats displayString displaySurface distanceDimContext distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor editorTemplate effector emit emitter enableDevice encodeString endString endsWith env equivalent equivalentTol erf error eval evalDeferred evalEcho event exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo filetest filletCurve filter filterCurve filterExpand filterStudioImport findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss geometryConstraint getApplicationVersionAsFloat getAttr getClassification getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation listNodeTypes listPanelCategories listRelatives listSets listTransforms listUnselected listerEditor loadFluid loadNewShelf loadPlugin loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration panelHistory paramDimContext paramDimension paramLocator parent parentConstraint particle particleExists particleInstancer particleRenderInfo partition pasteKey pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE registerPluginResource rehash reloadImage removeJoint removeMultiInstance removePanelCategory rename renameAttr renameSelectionList renameUI render renderGlobalsNode renderInfo renderLayerButton renderLayerParent renderLayerPostProcess renderLayerUnparent renderManip renderPartition renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor renderWindowSelectContext renderer reorder reorderDeformers requires reroot resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType selectedNodes selectionConnection separator setAttr setAttrEnumResource setAttrMapping setAttrNiceNameResource setConstraintRestPosition setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField shortNameOf showHelp showHidden showManipCtx showSelectionInTitle showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString stringToStringArray strip stripPrefixFromName stroke subdAutoProjection subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList textToShelf textureDisplacePlane textureHairColor texturePlacementContext textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper trace track trackCtx transferAttributes transformCompare transformLimits translator trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform",illegal:""},{begin:"<=",relevance:0},{begin:"=>",relevance:0},{begin:"/\\\\"},{begin:"\\\\/"}]},{className:"built_in",variants:[{begin:":-\\|--\x3e"},{begin:"=",relevance:0}]},t,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"0'.\\|0[box][0-9a-fA-F]*"},e.NUMBER_MODE,n,a,{begin:/:-/},{begin:/\.$/}]}})),lk.registerLanguage("mipsasm",oL?iL:(oL=1,iL=function(e){return{name:"MIPS Assembly",case_insensitive:!0,aliases:["mips"],keywords:{$pattern:"\\.?"+e.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .ltorg ",built_in:"$0 $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15 $16 $17 $18 $19 $20 $21 $22 $23 $24 $25 $26 $27 $28 $29 $30 $31 zero at v0 v1 a0 a1 a2 a3 a4 a5 a6 a7 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 s0 s1 s2 s3 s4 s5 s6 s7 s8 k0 k1 gp sp fp ra $f0 $f1 $f2 $f2 $f4 $f5 $f6 $f7 $f8 $f9 $f10 $f11 $f12 $f13 $f14 $f15 $f16 $f17 $f18 $f19 $f20 $f21 $f22 $f23 $f24 $f25 $f26 $f27 $f28 $f29 $f30 $f31 Context Random EntryLo0 EntryLo1 Context PageMask Wired EntryHi HWREna BadVAddr Count Compare SR IntCtl SRSCtl SRSMap Cause EPC PRId EBase Config Config1 Config2 Config3 LLAddr Debug DEPC DESAVE CacheErr ECC ErrorEPC TagLo DataLo TagHi DataHi WatchLo WatchHi PerfCtl PerfCnt "},contains:[{className:"keyword",begin:"\\b(addi?u?|andi?|b(al)?|beql?|bgez(al)?l?|bgtzl?|blezl?|bltz(al)?l?|bnel?|cl[oz]|divu?|ext|ins|j(al)?|jalr(\\.hb)?|jr(\\.hb)?|lbu?|lhu?|ll|lui|lw[lr]?|maddu?|mfhi|mflo|movn|movz|move|msubu?|mthi|mtlo|mul|multu?|nop|nor|ori?|rotrv?|sb|sc|se[bh]|sh|sllv?|slti?u?|srav?|srlv?|subu?|sw[lr]?|xori?|wsbh|abs\\.[sd]|add\\.[sd]|alnv.ps|bc1[ft]l?|c\\.(s?f|un|u?eq|[ou]lt|[ou]le|ngle?|seq|l[et]|ng[et])\\.[sd]|(ceil|floor|round|trunc)\\.[lw]\\.[sd]|cfc1|cvt\\.d\\.[lsw]|cvt\\.l\\.[dsw]|cvt\\.ps\\.s|cvt\\.s\\.[dlw]|cvt\\.s\\.p[lu]|cvt\\.w\\.[dls]|div\\.[ds]|ldx?c1|luxc1|lwx?c1|madd\\.[sd]|mfc1|mov[fntz]?\\.[ds]|msub\\.[sd]|mth?c1|mul\\.[ds]|neg\\.[ds]|nmadd\\.[ds]|nmsub\\.[ds]|p[lu][lu]\\.ps|recip\\.fmt|r?sqrt\\.[ds]|sdx?c1|sub\\.[ds]|suxc1|swx?c1|break|cache|d?eret|[de]i|ehb|mfc0|mtc0|pause|prefx?|rdhwr|rdpgpr|sdbbp|ssnop|synci?|syscall|teqi?|tgei?u?|tlb(p|r|w[ir])|tlti?u?|tnei?|wait|wrpgpr)",end:"\\s"},e.COMMENT("[;#](?!\\s*$)","$"),e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"0x[0-9a-f]+"},{begin:"\\b-?\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^\\s*[0-9]+:"},{begin:"[0-9]+[bf]"}],relevance:0}],illegal:/\//}})),lk.registerLanguage("mizar",lL?sL:(lL=1,sL=function(e){return{name:"Mizar",keywords:"environ vocabularies notations constructors definitions registrations theorems schemes requirements begin end definition registration cluster existence pred func defpred deffunc theorem proof let take assume then thus hence ex for st holds consider reconsider such that and in provided of as from be being by means equals implies iff redefine define now not or attr is mode suppose per cases set thesis contradiction scheme reserve struct correctness compatibility coherence symmetry assymetry reflexivity irreflexivity connectedness uniqueness commutativity idempotence involutiveness projectivity",contains:[e.COMMENT("::","$")]}})),lk.registerLanguage("perl",dL?cL:(dL=1,cL=function(e){const t=e.regex,n=/[dualxmsipngr]{0,12}/,a={$pattern:/[\w.]+/,keyword:["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"].join(" ")},r={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:a},i={begin:/->\{/,end:/\}/},o={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},s={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[o]},l={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},c=[e.BACKSLASH_ESCAPE,r,s],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],u=(e,a,r="\\1")=>{const i="\\1"===r?r:t.concat(r,a);return t.concat(t.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,i,/(?:\\.|[^\\\/])*?/,r,n)},_=(e,a,r)=>t.concat(t.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,r,n),p=[s,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),i,{className:"string",contains:c,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},l,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:u("s|tr|y",t.either(...d,{capture:!0}))},{begin:u("s|tr|y","\\(","\\)")},{begin:u("s|tr|y","\\[","\\]")},{begin:u("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:_("(?:m|qr)?",/\//,/\//)},{begin:_("m|qr",t.either(...d,{capture:!0}),/\1/)},{begin:_("m|qr",/\(/,/\)/)},{begin:_("m|qr",/\[/,/\]/)},{begin:_("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,o]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,o,l]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return r.contains=p,i.contains=p,{name:"Perl",aliases:["pl","pm"],keywords:a,contains:p}})),lk.registerLanguage("mojolicious",_L?uL:(_L=1,uL=function(e){return{name:"Mojolicious",subLanguage:"xml",contains:[{className:"meta",begin:"^__(END|DATA)__$"},{begin:"^\\s*%{1,2}={0,2}",end:"$",subLanguage:"perl"},{begin:"<%{1,2}={0,2}",end:"={0,1}%>",subLanguage:"perl",excludeBegin:!0,excludeEnd:!0}]}})),lk.registerLanguage("monkey",mL?pL:(mL=1,pL=function(e){const t={className:"number",relevance:0,variants:[{begin:"[$][a-fA-F0-9]+"},e.NUMBER_MODE]},n={variants:[{match:[/(function|method)/,/\s+/,e.UNDERSCORE_IDENT_RE]}],scope:{1:"keyword",3:"title.function"}},a={variants:[{match:[/(class|interface|extends|implements)/,/\s+/,e.UNDERSCORE_IDENT_RE]}],scope:{1:"keyword",3:"title.class"}};return{name:"Monkey",case_insensitive:!0,keywords:{keyword:["public","private","property","continue","exit","extern","new","try","catch","eachin","not","abstract","final","select","case","default","const","local","global","field","end","if","then","else","elseif","endif","while","wend","repeat","until","forever","for","to","step","next","return","module","inline","throw","import","and","or","shl","shr","mod"],built_in:["DebugLog","DebugStop","Error","Print","ACos","ACosr","ASin","ASinr","ATan","ATan2","ATan2r","ATanr","Abs","Abs","Ceil","Clamp","Clamp","Cos","Cosr","Exp","Floor","Log","Max","Max","Min","Min","Pow","Sgn","Sgn","Sin","Sinr","Sqrt","Tan","Tanr","Seed","PI","HALFPI","TWOPI"],literal:["true","false","null"]},illegal:/\/\*/,contains:[e.COMMENT("#rem","#end"),e.COMMENT("'","$",{relevance:0}),n,a,{className:"variable.language",begin:/\b(self|super)\b/},{className:"meta",begin:/\s*#/,end:"$",keywords:{keyword:"if else elseif endif end then"}},{match:[/^\s*/,/strict\b/],scope:{2:"meta"}},{beginKeywords:"alias",end:"=",contains:[e.UNDERSCORE_TITLE_MODE]},e.QUOTE_STRING_MODE,t]}})),lk.registerLanguage("moonscript",EL?gL:(EL=1,gL=function(e){const t={keyword:"if then not for in while do return else elseif break continue switch and or unless when class extends super local import export from using",literal:"true false nil",built_in:"_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug io math os package string table"},n="[A-Za-z$_][0-9A-Za-z$_]*",a={className:"subst",begin:/#\{/,end:/\}/,keywords:t},r=[e.inherit(e.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'/,end:/'/,contains:[e.BACKSLASH_ESCAPE]},{begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,a]}]},{className:"built_in",begin:"@__"+e.IDENT_RE},{begin:"@"+e.IDENT_RE},{begin:e.IDENT_RE+"\\\\"+e.IDENT_RE}];a.contains=r;const i=e.inherit(e.TITLE_MODE,{begin:n}),o="(\\(.*\\)\\s*)?\\B[-=]>",s={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(r)}]};return{name:"MoonScript",aliases:["moon"],keywords:t,illegal:/\/\*/,contains:r.concat([e.COMMENT("--","$"),{className:"function",begin:"^\\s*"+n+"\\s*=\\s*"+o,end:"[-=]>",returnBegin:!0,contains:[i,s]},{begin:/[\(,:=]\s*/,relevance:0,contains:[{className:"function",begin:o,end:"[-=]>",returnBegin:!0,contains:[s]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[i]},i]},{className:"name",begin:n+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}})),lk.registerLanguage("n1ql",SL?fL:(SL=1,fL=function(e){return{name:"N1QL",case_insensitive:!0,contains:[{beginKeywords:"build create index delete drop explain infer|10 insert merge prepare select update upsert|10",end:/;/,keywords:{keyword:["all","alter","analyze","and","any","array","as","asc","begin","between","binary","boolean","break","bucket","build","by","call","case","cast","cluster","collate","collection","commit","connect","continue","correlate","cover","create","database","dataset","datastore","declare","decrement","delete","derived","desc","describe","distinct","do","drop","each","element","else","end","every","except","exclude","execute","exists","explain","fetch","first","flatten","for","force","from","function","grant","group","gsi","having","if","ignore","ilike","in","include","increment","index","infer","inline","inner","insert","intersect","into","is","join","key","keys","keyspace","known","last","left","let","letting","like","limit","lsm","map","mapping","matched","materialized","merge","minus","namespace","nest","not","number","object","offset","on","option","or","order","outer","over","parse","partition","password","path","pool","prepare","primary","private","privilege","procedure","public","raw","realm","reduce","rename","return","returning","revoke","right","role","rollback","satisfies","schema","select","self","semi","set","show","some","start","statistics","string","system","then","to","transaction","trigger","truncate","under","union","unique","unknown","unnest","unset","update","upsert","use","user","using","validate","value","valued","values","via","view","when","where","while","with","within","work","xor"],literal:["true","false","null","missing|5"],built_in:["array_agg","array_append","array_concat","array_contains","array_count","array_distinct","array_ifnull","array_length","array_max","array_min","array_position","array_prepend","array_put","array_range","array_remove","array_repeat","array_replace","array_reverse","array_sort","array_sum","avg","count","max","min","sum","greatest","least","ifmissing","ifmissingornull","ifnull","missingif","nullif","ifinf","ifnan","ifnanorinf","naninf","neginfif","posinfif","clock_millis","clock_str","date_add_millis","date_add_str","date_diff_millis","date_diff_str","date_part_millis","date_part_str","date_trunc_millis","date_trunc_str","duration_to_str","millis","str_to_millis","millis_to_str","millis_to_utc","millis_to_zone_name","now_millis","now_str","str_to_duration","str_to_utc","str_to_zone_name","decode_json","encode_json","encoded_size","poly_length","base64","base64_encode","base64_decode","meta","uuid","abs","acos","asin","atan","atan2","ceil","cos","degrees","e","exp","ln","log","floor","pi","power","radians","random","round","sign","sin","sqrt","tan","trunc","object_length","object_names","object_pairs","object_inner_pairs","object_values","object_inner_values","object_add","object_put","object_remove","object_unwrap","regexp_contains","regexp_like","regexp_position","regexp_replace","contains","initcap","length","lower","ltrim","position","repeat","replace","rtrim","split","substr","title","trim","upper","isarray","isatom","isboolean","isnumber","isobject","isstring","type","toarray","toatom","toboolean","tonumber","toobject","tostring"]},contains:[{className:"string",begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{className:"string",begin:'"',end:'"',contains:[e.BACKSLASH_ESCAPE]},{className:"symbol",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_BLOCK_COMMENT_MODE]}})),lk.registerLanguage("nestedtext",hL?bL:(hL=1,bL=function(e){return{name:"Nested Text",aliases:["nt"],contains:[e.inherit(e.HASH_COMMENT_MODE,{begin:/^\s*(?=#)/,excludeBegin:!0}),{variants:[{match:[/^\s*/,/-/,/[ ]/,/.*$/]},{match:[/^\s*/,/-$/]}],className:{2:"bullet",4:"string"}},{match:[/^\s*/,/>/,/[ ]/,/.*$/],className:{2:"punctuation",4:"string"}},{match:[/^\s*(?=\S)/,/[^:]+/,/:\s*/,/$/],className:{2:"attribute",3:"punctuation"}},{match:[/^\s*(?=\S)/,/[^:]*[^: ]/,/[ ]*:/,/[ ]/,/.*$/],className:{2:"attribute",3:"punctuation",5:"string"}}]}})),lk.registerLanguage("nginx",TL?vL:(TL=1,vL=function(e){const t=e.regex,n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{\w+\}/},{begin:t.concat(/[$@]/,e.UNDERSCORE_IDENT_RE)}]},a={endsWithParent:!0,keywords:{$pattern:/[a-z_]{2,}|\/dev\/poll/,literal:["on","off","yes","no","true","false","none","blocked","debug","info","notice","warn","error","crit","select","break","last","permanent","redirect","kqueue","rtsig","epoll","poll","/dev/poll"]},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|\\{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|\\{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]?\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{beginKeywords:"upstream location",end:/;|\{/,contains:a.contains,keywords:{section:"upstream location"}},{className:"section",begin:t.concat(e.UNDERSCORE_IDENT_RE+t.lookahead(/\s+\{/)),relevance:0},{begin:t.lookahead(e.UNDERSCORE_IDENT_RE+"\\s"),end:";|\\{",contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}],illegal:"[^\\s\\}\\{]"}})),lk.registerLanguage("nim",CL?yL:(CL=1,yL=function(e){return{name:"Nim",keywords:{keyword:["addr","and","as","asm","bind","block","break","case","cast","concept","const","continue","converter","defer","discard","distinct","div","do","elif","else","end","enum","except","export","finally","for","from","func","generic","guarded","if","import","in","include","interface","is","isnot","iterator","let","macro","method","mixin","mod","nil","not","notin","object","of","or","out","proc","ptr","raise","ref","return","shared","shl","shr","static","template","try","tuple","type","using","var","when","while","with","without","xor","yield"],literal:["true","false"],type:["int","int8","int16","int32","int64","uint","uint8","uint16","uint32","uint64","float","float32","float64","bool","char","string","cstring","pointer","expr","stmt","void","auto","any","range","array","openarray","varargs","seq","set","clong","culong","cchar","cschar","cshort","cint","csize","clonglong","cfloat","cdouble","clongdouble","cuchar","cushort","cuint","culonglong","cstringarray","semistatic"],built_in:["stdin","stdout","stderr","result"]},contains:[{className:"meta",begin:/\{\./,end:/\.\}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([a-zA-Z]\w*)?"""/,end:/"""/},e.QUOTE_STRING_MODE,{className:"type",begin:/\b[A-Z]\w+\b/,relevance:0},{className:"number",relevance:0,variants:[{begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},e.HASH_COMMENT_MODE]}})),lk.registerLanguage("nix",OL?RL:(OL=1,RL=function(e){const t=e.regex,n={keyword:["assert","else","if","in","inherit","let","or","rec","then","with"],literal:["true","false","null"],built_in:["abort","baseNameOf","builtins","derivation","derivationStrict","dirOf","fetchGit","fetchMercurial","fetchTarball","fetchTree","fromTOML","import","isNull","map","placeholder","removeAttrs","scopedImport","throw","toString"]},a={scope:"built_in",match:t.either(...["abort","add","addDrvOutputDependencies","addErrorContext","all","any","appendContext","attrNames","attrValues","baseNameOf","bitAnd","bitOr","bitXor","break","builtins","catAttrs","ceil","compareVersions","concatLists","concatMap","concatStringsSep","convertHash","currentSystem","currentTime","deepSeq","derivation","derivationStrict","dirOf","div","elem","elemAt","false","fetchGit","fetchMercurial","fetchTarball","fetchTree","fetchurl","filter","filterSource","findFile","flakeRefToString","floor","foldl'","fromJSON","fromTOML","functionArgs","genList","genericClosure","getAttr","getContext","getEnv","getFlake","groupBy","hasAttr","hasContext","hashFile","hashString","head","import","intersectAttrs","isAttrs","isBool","isFloat","isFunction","isInt","isList","isNull","isPath","isString","langVersion","length","lessThan","listToAttrs","map","mapAttrs","match","mul","nixPath","nixVersion","null","parseDrvName","parseFlakeRef","partition","path","pathExists","placeholder","readDir","readFile","readFileType","removeAttrs","replaceStrings","scopedImport","seq","sort","split","splitVersion","storeDir","storePath","stringLength","sub","substring","tail","throw","toFile","toJSON","toPath","toString","toXML","trace","traceVerbose","true","tryEval","typeOf","unsafeDiscardOutputDependency","unsafeDiscardStringContext","unsafeGetAttrPos","warn","zipAttrsWith"].map(e=>`builtins\\.${e}`)),relevance:10},r="[A-Za-z_][A-Za-z0-9_'-]*",i={scope:"symbol",match:new RegExp(`<${r}(/${r})*>`)},o="[A-Za-z0-9_\\+\\.-]+",s={scope:"symbol",match:new RegExp(`(\\.\\.|\\.|~)?/(${o})?(/${o})*(?=[\\s;])`)},l=t.either("==","=","\\+\\+","\\+","<=","<\\|","<",">=",">","->","//","/","!=","!","\\|\\|","\\|>","\\?","\\*","&&"),c={scope:"operator",match:t.concat(l,/(?!-)/),relevance:0},d={scope:"number",match:new RegExp(`${e.NUMBER_RE}(?!-)`),relevance:0},u={variants:[{scope:"operator",beforeMatch:/\s/,begin:/-(?!>)/},{begin:[new RegExp(`${e.NUMBER_RE}`),/-/,/(?!>)/],beginScope:{1:"number",2:"operator"}},{begin:[l,/-/,/(?!>)/],beginScope:{1:"operator",2:"operator"}}],relevance:0},_={beforeMatch:/(^|\{|;)\s*/,begin:new RegExp(`${r}(\\.${r})*\\s*=(?!=)`),returnBegin:!0,relevance:0,contains:[{scope:"attr",match:new RegExp(`${r}(\\.${r})*(?=\\s*=)`),relevance:.2}]},p={scope:"subst",begin:/\$\{/,end:/\}/,keywords:n},m={scope:"char.escape",match:/\\(?!\$)./},g={scope:"string",variants:[{begin:"''",end:"''",contains:[{scope:"char.escape",match:/''\$/},p,{scope:"char.escape",match:/'''/},m]},{begin:'"',end:'"',contains:[{scope:"char.escape",match:/\\\$/},p,m]}]},E={scope:"params",match:new RegExp(`${r}\\s*:(?=\\s)`)},f=[d,e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.COMMENT(/\/\*\*(?!\/)/,/\*\//,{subLanguage:"markdown",relevance:0}),a,g,i,s,E,_,u,c];return p.contains=f,{name:"Nix",aliases:["nixos"],keywords:n,contains:f.concat([{scope:"meta.prompt",match:/^nix-repl>(?=\s)/,relevance:10},{scope:"meta",beforeMatch:/\s+/,begin:/:([a-z]+|\?)/}])}})),lk.registerLanguage("node-repl",AL?NL:(AL=1,NL=function(e){return{name:"Node REPL",contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"javascript"}},variants:[{begin:/^>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}})),lk.registerLanguage("nsis",wL?IL:(wL=1,IL=function(e){const t=e.regex,n={className:"variable.constant",begin:t.concat(/\$/,t.either("ADMINTOOLS","APPDATA","CDBURN_AREA","CMDLINE","COMMONFILES32","COMMONFILES64","COMMONFILES","COOKIES","DESKTOP","DOCUMENTS","EXEDIR","EXEFILE","EXEPATH","FAVORITES","FONTS","HISTORY","HWNDPARENT","INSTDIR","INTERNET_CACHE","LANGUAGE","LOCALAPPDATA","MUSIC","NETHOOD","OUTDIR","PICTURES","PLUGINSDIR","PRINTHOOD","PROFILE","PROGRAMFILES32","PROGRAMFILES64","PROGRAMFILES","QUICKLAUNCH","RECENT","RESOURCES_LOCALIZED","RESOURCES","SENDTO","SMPROGRAMS","SMSTARTUP","STARTMENU","SYSDIR","TEMP","TEMPLATES","VIDEOS","WINDIR"))},a={className:"variable",begin:/\$+\{[\!\w.:-]+\}/},r={className:"variable",begin:/\$+\w[\w\.]*/,illegal:/\(\)\{\}/},i={className:"variable",begin:/\$+\([\w^.:!-]+\)/},o={className:"params",begin:t.either("ARCHIVE","FILE_ATTRIBUTE_ARCHIVE","FILE_ATTRIBUTE_NORMAL","FILE_ATTRIBUTE_OFFLINE","FILE_ATTRIBUTE_READONLY","FILE_ATTRIBUTE_SYSTEM","FILE_ATTRIBUTE_TEMPORARY","HKCR","HKCU","HKDD","HKEY_CLASSES_ROOT","HKEY_CURRENT_CONFIG","HKEY_CURRENT_USER","HKEY_DYN_DATA","HKEY_LOCAL_MACHINE","HKEY_PERFORMANCE_DATA","HKEY_USERS","HKLM","HKPD","HKU","IDABORT","IDCANCEL","IDIGNORE","IDNO","IDOK","IDRETRY","IDYES","MB_ABORTRETRYIGNORE","MB_DEFBUTTON1","MB_DEFBUTTON2","MB_DEFBUTTON3","MB_DEFBUTTON4","MB_ICONEXCLAMATION","MB_ICONINFORMATION","MB_ICONQUESTION","MB_ICONSTOP","MB_OK","MB_OKCANCEL","MB_RETRYCANCEL","MB_RIGHT","MB_RTLREADING","MB_SETFOREGROUND","MB_TOPMOST","MB_USERICON","MB_YESNO","NORMAL","OFFLINE","READONLY","SHCTX","SHELL_CONTEXT","SYSTEM|TEMPORARY")},s={className:"keyword",begin:t.concat(/!/,t.either("addincludedir","addplugindir","appendfile","assert","cd","define","delfile","echo","else","endif","error","execute","finalize","getdllversion","gettlbversion","if","ifdef","ifmacrodef","ifmacrondef","ifndef","include","insertmacro","macro","macroend","makensis","packhdr","searchparse","searchreplace","system","tempfile","undef","uninstfinalize","verbose","warning"))},l={className:"string",variants:[{begin:'"',end:'"'},{begin:"'",end:"'"},{begin:"`",end:"`"}],illegal:/\n/,contains:[{className:"char.escape",begin:/\$(\\[nrt]|\$)/},n,a,r,i]},c={match:[/Function/,/\s+/,t.concat(/(\.)?/,e.IDENT_RE)],scope:{1:"keyword",3:"title.function"}},d={match:[/Var/,/\s+/,/(?:\/GLOBAL\s+)?/,/[A-Za-z][\w.]*/],scope:{1:"keyword",3:"params",4:"variable"}};return{name:"NSIS",case_insensitive:!0,keywords:{keyword:["Abort","AddBrandingImage","AddSize","AllowRootDirInstall","AllowSkipFiles","AutoCloseWindow","BGFont","BGGradient","BrandingText","BringToFront","Call","CallInstDLL","Caption","ChangeUI","CheckBitmap","ClearErrors","CompletedText","ComponentText","CopyFiles","CRCCheck","CreateDirectory","CreateFont","CreateShortCut","Delete","DeleteINISec","DeleteINIStr","DeleteRegKey","DeleteRegValue","DetailPrint","DetailsButtonText","DirText","DirVar","DirVerify","EnableWindow","EnumRegKey","EnumRegValue","Exch","Exec","ExecShell","ExecShellWait","ExecWait","ExpandEnvStrings","File","FileBufSize","FileClose","FileErrorText","FileOpen","FileRead","FileReadByte","FileReadUTF16LE","FileReadWord","FileWriteUTF16LE","FileSeek","FileWrite","FileWriteByte","FileWriteWord","FindClose","FindFirst","FindNext","FindWindow","FlushINI","GetCurInstType","GetCurrentAddress","GetDlgItem","GetDLLVersion","GetDLLVersionLocal","GetErrorLevel","GetFileTime","GetFileTimeLocal","GetFullPathName","GetFunctionAddress","GetInstDirError","GetKnownFolderPath","GetLabelAddress","GetTempFileName","GetWinVer","Goto","HideWindow","Icon","IfAbort","IfErrors","IfFileExists","IfRebootFlag","IfRtlLanguage","IfShellVarContextAll","IfSilent","InitPluginsDir","InstallButtonText","InstallColors","InstallDir","InstallDirRegKey","InstProgressFlags","InstType","InstTypeGetText","InstTypeSetText","Int64Cmp","Int64CmpU","Int64Fmt","IntCmp","IntCmpU","IntFmt","IntOp","IntPtrCmp","IntPtrCmpU","IntPtrOp","IsWindow","LangString","LicenseBkColor","LicenseData","LicenseForceSelection","LicenseLangString","LicenseText","LoadAndSetImage","LoadLanguageFile","LockWindow","LogSet","LogText","ManifestDPIAware","ManifestLongPathAware","ManifestMaxVersionTested","ManifestSupportedOS","MessageBox","MiscButtonText","Name|0","Nop","OutFile","Page","PageCallbacks","PEAddResource","PEDllCharacteristics","PERemoveResource","PESubsysVer","Pop","Push","Quit","ReadEnvStr","ReadINIStr","ReadRegDWORD","ReadRegStr","Reboot","RegDLL","Rename","RequestExecutionLevel","ReserveFile","Return","RMDir","SearchPath","SectionGetFlags","SectionGetInstTypes","SectionGetSize","SectionGetText","SectionIn","SectionSetFlags","SectionSetInstTypes","SectionSetSize","SectionSetText","SendMessage","SetAutoClose","SetBrandingImage","SetCompress","SetCompressor","SetCompressorDictSize","SetCtlColors","SetCurInstType","SetDatablockOptimize","SetDateSave","SetDetailsPrint","SetDetailsView","SetErrorLevel","SetErrors","SetFileAttributes","SetFont","SetOutPath","SetOverwrite","SetRebootFlag","SetRegView","SetShellVarContext","SetSilent","ShowInstDetails","ShowUninstDetails","ShowWindow","SilentInstall","SilentUnInstall","Sleep","SpaceTexts","StrCmp","StrCmpS","StrCpy","StrLen","SubCaption","Unicode","UninstallButtonText","UninstallCaption","UninstallIcon","UninstallSubCaption","UninstallText","UninstPage","UnRegDLL","Var","VIAddVersionKey","VIFileVersion","VIProductVersion","WindowIcon","WriteINIStr","WriteRegBin","WriteRegDWORD","WriteRegExpandStr","WriteRegMultiStr","WriteRegNone","WriteRegStr","WriteUninstaller","XPStyle"],literal:["admin","all","auto","both","bottom","bzip2","colored","components","current","custom","directory","false","force","hide","highest","ifdiff","ifnewer","instfiles","lastused","leave","left","license","listonly","lzma","nevershow","none","normal","notset","off","on","open","print","right","show","silent","silentlog","smooth","textonly","top","true","try","un.components","un.custom","un.directory","un.instfiles","un.license","uninstConfirm","user","Win10","Win7","Win8","WinVista","zlib"]},contains:[e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.COMMENT(";","$",{relevance:0}),d,c,{beginKeywords:"Function PageEx Section SectionGroup FunctionEnd SectionEnd"},l,s,a,r,i,o,{className:"title.function",begin:/\w+::\w+/},e.NUMBER_MODE]}})),lk.registerLanguage("objectivec",xL?DL:(xL=1,DL=function(e){const t=/[a-zA-Z@][a-zA-Z0-9_]*/,n={$pattern:t,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:{"variable.language":["this","super"],$pattern:t,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+n.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:n,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}})),lk.registerLanguage("ocaml",ML?LL:(ML=1,LL=function(e){return{name:"OCaml",aliases:["ml"],keywords:{$pattern:"[a-z_]\\w*!?",keyword:"and as assert asr begin class constraint do done downto else end exception external for fun function functor if in include inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method mod module mutable new object of open! open or private rec sig struct then to try type val! val virtual when while with parser value",built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit in_channel out_channel ref",literal:"true false"},illegal:/\/\/|>>/,contains:[{className:"literal",begin:"\\[(\\|\\|)?\\]|\\(\\)",relevance:0},e.COMMENT("\\(\\*","\\*\\)",{contains:["self"]}),{className:"symbol",begin:"'[A-Za-z_](?!')[\\w']*"},{className:"type",begin:"`[A-Z][\\w']*"},{className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},{begin:"[a-z_]\\w*'[\\w']*",relevance:0},e.inherit(e.APOS_STRING_MODE,{className:"string",relevance:0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"number",begin:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",relevance:0},{begin:/->/}]}})),lk.registerLanguage("openscad",kL?PL:(kL=1,PL=function(e){const t={className:"keyword",begin:"\\$(f[asn]|t|vp[rtd]|children)"},n={className:"number",begin:"\\b\\d+(\\.\\d+)?(e-?\\d+)?",relevance:0},a=e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),r={className:"function",beginKeywords:"module function",end:/=|\{/,contains:[{className:"params",begin:"\\(",end:"\\)",contains:["self",n,a,t,{className:"literal",begin:"false|true|PI|undef"}]},e.UNDERSCORE_TITLE_MODE]};return{name:"OpenSCAD",aliases:["scad"],keywords:{keyword:"function module include use for intersection_for if else \\%",literal:"false true PI undef",built_in:"circle square polygon text sphere cube cylinder polyhedron translate rotate scale resize mirror multmatrix color offset hull minkowski union difference intersection abs sign sin cos tan acos asin atan atan2 floor round ceil ln log pow sqrt exp rands min max concat lookup str chr search version version_num norm cross parent_module echo import import_dxf dxf_linear_extrude linear_extrude rotate_extrude surface projection render children dxf_cross dxf_dim let assign"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n,{className:"meta",keywords:{keyword:"include use"},begin:"include|use <",end:">"},a,t,{begin:"[*!#%]",relevance:0},r]}})),lk.registerLanguage("oxygene",UL?FL:(UL=1,FL=function(e){const t={$pattern:/\.?\w+/,keyword:"abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained"},n=e.COMMENT(/\{/,/\}/,{relevance:0}),a=e.COMMENT("\\(\\*","\\*\\)",{relevance:10}),r={className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},i={className:"string",begin:"(#\\d+)+"},o={beginKeywords:"function constructor destructor procedure method",end:"[:;]",keywords:"function constructor|10 destructor|10 procedure|10 method|10",contains:[e.inherit(e.TITLE_MODE,{scope:"title.function"}),{className:"params",begin:"\\(",end:"\\)",keywords:t,contains:[r,i]},n,a]};return{name:"Oxygene",case_insensitive:!0,keywords:t,illegal:'("|\\$[G-Zg-z]|\\/\\*||->)',contains:[n,a,e.C_LINE_COMMENT_MODE,r,i,e.NUMBER_MODE,o,{scope:"punctuation",match:/;/,relevance:0}]}})),lk.registerLanguage("parser3",GL?BL:(GL=1,BL=function(e){const t=e.COMMENT(/\{/,/\}/,{contains:["self"]});return{name:"Parser3",subLanguage:"xml",relevance:0,contains:[e.COMMENT("^#","$"),e.COMMENT(/\^rem\{/,/\}/,{relevance:10,contains:[t]}),{className:"meta",begin:"^@(?:BASE|USE|CLASS|OPTIONS)$",relevance:10},{className:"title",begin:"@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$"},{className:"variable",begin:/\$\{?[\w\-.:]+\}?/},{className:"keyword",begin:/\^[\w\-.:]+/},{className:"number",begin:"\\^#[0-9a-fA-F]+"},e.C_NUMBER_MODE]}})),lk.registerLanguage("pf",VL?YL:(VL=1,YL=function(e){return{name:"Packet Filter config",aliases:["pf.conf"],keywords:{$pattern:/[a-z0-9_<>-]+/,built_in:"block match pass load anchor|5 antispoof|10 set table",keyword:"in out log quick on rdomain inet inet6 proto from port os to route allow-opts divert-packet divert-reply divert-to flags group icmp-type icmp6-type label once probability recieved-on rtable prio queue tos tag tagged user keep fragment for os drop af-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robin source-hash static-port dup-to reply-to route-to parent bandwidth default min max qlimit block-policy debug fingerprints hostid limit loginterface optimization reassemble ruleset-optimization basic none profile skip state-defaults state-policy timeout const counters persist no modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppy source-track global rule max-src-nodes max-src-states max-src-conn max-src-conn-rate overload flush scrub|5 max-mss min-ttl no-df|10 random-id",literal:"all any no-route self urpf-failed egress|5 unknown"},contains:[e.HASH_COMMENT_MODE,e.NUMBER_MODE,e.QUOTE_STRING_MODE,{className:"variable",begin:/\$[\w\d#@][\w\d_]*/,relevance:0},{className:"variable",begin:/<(?!\/)/,end:/>/}]}})),lk.registerLanguage("pgsql",zL?HL:(zL=1,HL=function(e){const t=e.COMMENT("--","$"),n="\\$([a-zA-Z_]?|[a-zA-Z_][a-zA-Z_0-9]*)\\$",a="BIGINT INT8 BIGSERIAL SERIAL8 BIT VARYING VARBIT BOOLEAN BOOL BOX BYTEA CHARACTER CHAR VARCHAR CIDR CIRCLE DATE DOUBLE PRECISION FLOAT8 FLOAT INET INTEGER INT INT4 INTERVAL JSON JSONB LINE LSEG|10 MACADDR MACADDR8 MONEY NUMERIC DEC DECIMAL PATH POINT POLYGON REAL FLOAT4 SMALLINT INT2 SMALLSERIAL|10 SERIAL2|10 SERIAL|10 SERIAL4|10 TEXT TIME ZONE TIMETZ|10 TIMESTAMP TIMESTAMPTZ|10 TSQUERY|10 TSVECTOR|10 TXID_SNAPSHOT|10 UUID XML NATIONAL NCHAR INT4RANGE|10 INT8RANGE|10 NUMRANGE|10 TSRANGE|10 TSTZRANGE|10 DATERANGE|10 ANYELEMENT ANYARRAY ANYNONARRAY ANYENUM ANYRANGE CSTRING INTERNAL RECORD PG_DDL_COMMAND VOID UNKNOWN OPAQUE REFCURSOR NAME OID REGPROC|10 REGPROCEDURE|10 REGOPER|10 REGOPERATOR|10 REGCLASS|10 REGTYPE|10 REGROLE|10 REGNAMESPACE|10 REGCONFIG|10 REGDICTIONARY|10 ",r=a.trim().split(" ").map(function(e){return e.split("|")[0]}).join("|"),i="ARRAY_AGG AVG BIT_AND BIT_OR BOOL_AND BOOL_OR COUNT EVERY JSON_AGG JSONB_AGG JSON_OBJECT_AGG JSONB_OBJECT_AGG MAX MIN MODE STRING_AGG SUM XMLAGG CORR COVAR_POP COVAR_SAMP REGR_AVGX REGR_AVGY REGR_COUNT REGR_INTERCEPT REGR_R2 REGR_SLOPE REGR_SXX REGR_SXY REGR_SYY STDDEV STDDEV_POP STDDEV_SAMP VARIANCE VAR_POP VAR_SAMP PERCENTILE_CONT PERCENTILE_DISC ROW_NUMBER RANK DENSE_RANK PERCENT_RANK CUME_DIST NTILE LAG LEAD FIRST_VALUE LAST_VALUE NTH_VALUE NUM_NONNULLS NUM_NULLS ABS CBRT CEIL CEILING DEGREES DIV EXP FLOOR LN LOG MOD PI POWER RADIANS ROUND SCALE SIGN SQRT TRUNC WIDTH_BUCKET RANDOM SETSEED ACOS ACOSD ASIN ASIND ATAN ATAND ATAN2 ATAN2D COS COSD COT COTD SIN SIND TAN TAND BIT_LENGTH CHAR_LENGTH CHARACTER_LENGTH LOWER OCTET_LENGTH OVERLAY POSITION SUBSTRING TREAT TRIM UPPER ASCII BTRIM CHR CONCAT CONCAT_WS CONVERT CONVERT_FROM CONVERT_TO DECODE ENCODE INITCAP LEFT LENGTH LPAD LTRIM MD5 PARSE_IDENT PG_CLIENT_ENCODING QUOTE_IDENT|10 QUOTE_LITERAL|10 QUOTE_NULLABLE|10 REGEXP_MATCH REGEXP_MATCHES REGEXP_REPLACE REGEXP_SPLIT_TO_ARRAY REGEXP_SPLIT_TO_TABLE REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SPLIT_PART STRPOS SUBSTR TO_ASCII TO_HEX TRANSLATE OCTET_LENGTH GET_BIT GET_BYTE SET_BIT SET_BYTE TO_CHAR TO_DATE TO_NUMBER TO_TIMESTAMP AGE CLOCK_TIMESTAMP|10 DATE_PART DATE_TRUNC ISFINITE JUSTIFY_DAYS JUSTIFY_HOURS JUSTIFY_INTERVAL MAKE_DATE MAKE_INTERVAL|10 MAKE_TIME MAKE_TIMESTAMP|10 MAKE_TIMESTAMPTZ|10 NOW STATEMENT_TIMESTAMP|10 TIMEOFDAY TRANSACTION_TIMESTAMP|10 ENUM_FIRST ENUM_LAST ENUM_RANGE AREA CENTER DIAMETER HEIGHT ISCLOSED ISOPEN NPOINTS PCLOSE POPEN RADIUS WIDTH BOX BOUND_BOX CIRCLE LINE LSEG PATH POLYGON ABBREV BROADCAST HOST HOSTMASK MASKLEN NETMASK NETWORK SET_MASKLEN TEXT INET_SAME_FAMILY INET_MERGE MACADDR8_SET7BIT ARRAY_TO_TSVECTOR GET_CURRENT_TS_CONFIG NUMNODE PLAINTO_TSQUERY PHRASETO_TSQUERY WEBSEARCH_TO_TSQUERY QUERYTREE SETWEIGHT STRIP TO_TSQUERY TO_TSVECTOR JSON_TO_TSVECTOR JSONB_TO_TSVECTOR TS_DELETE TS_FILTER TS_HEADLINE TS_RANK TS_RANK_CD TS_REWRITE TSQUERY_PHRASE TSVECTOR_TO_ARRAY TSVECTOR_UPDATE_TRIGGER TSVECTOR_UPDATE_TRIGGER_COLUMN XMLCOMMENT XMLCONCAT XMLELEMENT XMLFOREST XMLPI XMLROOT XMLEXISTS XML_IS_WELL_FORMED XML_IS_WELL_FORMED_DOCUMENT XML_IS_WELL_FORMED_CONTENT XPATH XPATH_EXISTS XMLTABLE XMLNAMESPACES TABLE_TO_XML TABLE_TO_XMLSCHEMA TABLE_TO_XML_AND_XMLSCHEMA QUERY_TO_XML QUERY_TO_XMLSCHEMA QUERY_TO_XML_AND_XMLSCHEMA CURSOR_TO_XML CURSOR_TO_XMLSCHEMA SCHEMA_TO_XML SCHEMA_TO_XMLSCHEMA SCHEMA_TO_XML_AND_XMLSCHEMA DATABASE_TO_XML DATABASE_TO_XMLSCHEMA DATABASE_TO_XML_AND_XMLSCHEMA XMLATTRIBUTES TO_JSON TO_JSONB ARRAY_TO_JSON ROW_TO_JSON JSON_BUILD_ARRAY JSONB_BUILD_ARRAY JSON_BUILD_OBJECT JSONB_BUILD_OBJECT JSON_OBJECT JSONB_OBJECT JSON_ARRAY_LENGTH JSONB_ARRAY_LENGTH JSON_EACH JSONB_EACH JSON_EACH_TEXT JSONB_EACH_TEXT JSON_EXTRACT_PATH JSONB_EXTRACT_PATH JSON_OBJECT_KEYS JSONB_OBJECT_KEYS JSON_POPULATE_RECORD JSONB_POPULATE_RECORD JSON_POPULATE_RECORDSET JSONB_POPULATE_RECORDSET JSON_ARRAY_ELEMENTS JSONB_ARRAY_ELEMENTS JSON_ARRAY_ELEMENTS_TEXT JSONB_ARRAY_ELEMENTS_TEXT JSON_TYPEOF JSONB_TYPEOF JSON_TO_RECORD JSONB_TO_RECORD JSON_TO_RECORDSET JSONB_TO_RECORDSET JSON_STRIP_NULLS JSONB_STRIP_NULLS JSONB_SET JSONB_INSERT JSONB_PRETTY CURRVAL LASTVAL NEXTVAL SETVAL COALESCE NULLIF GREATEST LEAST ARRAY_APPEND ARRAY_CAT ARRAY_NDIMS ARRAY_DIMS ARRAY_FILL ARRAY_LENGTH ARRAY_LOWER ARRAY_POSITION ARRAY_POSITIONS ARRAY_PREPEND ARRAY_REMOVE ARRAY_REPLACE ARRAY_TO_STRING ARRAY_UPPER CARDINALITY STRING_TO_ARRAY UNNEST ISEMPTY LOWER_INC UPPER_INC LOWER_INF UPPER_INF RANGE_MERGE GENERATE_SERIES GENERATE_SUBSCRIPTS CURRENT_DATABASE CURRENT_QUERY CURRENT_SCHEMA|10 CURRENT_SCHEMAS|10 INET_CLIENT_ADDR INET_CLIENT_PORT INET_SERVER_ADDR INET_SERVER_PORT ROW_SECURITY_ACTIVE FORMAT_TYPE TO_REGCLASS TO_REGPROC TO_REGPROCEDURE TO_REGOPER TO_REGOPERATOR TO_REGTYPE TO_REGNAMESPACE TO_REGROLE COL_DESCRIPTION OBJ_DESCRIPTION SHOBJ_DESCRIPTION TXID_CURRENT TXID_CURRENT_IF_ASSIGNED TXID_CURRENT_SNAPSHOT TXID_SNAPSHOT_XIP TXID_SNAPSHOT_XMAX TXID_SNAPSHOT_XMIN TXID_VISIBLE_IN_SNAPSHOT TXID_STATUS CURRENT_SETTING SET_CONFIG BRIN_SUMMARIZE_NEW_VALUES BRIN_SUMMARIZE_RANGE BRIN_DESUMMARIZE_RANGE GIN_CLEAN_PENDING_LIST SUPPRESS_REDUNDANT_UPDATES_TRIGGER LO_FROM_BYTEA LO_PUT LO_GET LO_CREAT LO_CREATE LO_UNLINK LO_IMPORT LO_EXPORT LOREAD LOWRITE GROUPING CAST ".trim().split(" ").map(function(e){return e.split("|")[0]}).join("|");return{name:"PostgreSQL",aliases:["postgres","postgresql"],supersetOf:"sql",case_insensitive:!0,keywords:{keyword:"ABORT ALTER ANALYZE BEGIN CALL CHECKPOINT|10 CLOSE CLUSTER COMMENT COMMIT COPY CREATE DEALLOCATE DECLARE DELETE DISCARD DO DROP END EXECUTE EXPLAIN FETCH GRANT IMPORT INSERT LISTEN LOAD LOCK MOVE NOTIFY PREPARE REASSIGN|10 REFRESH REINDEX RELEASE RESET REVOKE ROLLBACK SAVEPOINT SECURITY SELECT SET SHOW START TRUNCATE UNLISTEN|10 UPDATE VACUUM|10 VALUES AGGREGATE COLLATION CONVERSION|10 DATABASE DEFAULT PRIVILEGES DOMAIN TRIGGER EXTENSION FOREIGN WRAPPER|10 TABLE FUNCTION GROUP LANGUAGE LARGE OBJECT MATERIALIZED VIEW OPERATOR CLASS FAMILY POLICY PUBLICATION|10 ROLE RULE SCHEMA SEQUENCE SERVER STATISTICS SUBSCRIPTION SYSTEM TABLESPACE CONFIGURATION DICTIONARY PARSER TEMPLATE TYPE USER MAPPING PREPARED ACCESS METHOD CAST AS TRANSFORM TRANSACTION OWNED TO INTO SESSION AUTHORIZATION INDEX PROCEDURE ASSERTION ALL ANALYSE AND ANY ARRAY ASC ASYMMETRIC|10 BOTH CASE CHECK COLLATE COLUMN CONCURRENTLY|10 CONSTRAINT CROSS DEFERRABLE RANGE DESC DISTINCT ELSE EXCEPT FOR FREEZE|10 FROM FULL HAVING ILIKE IN INITIALLY INNER INTERSECT IS ISNULL JOIN LATERAL LEADING LIKE LIMIT NATURAL NOT NOTNULL NULL OFFSET ON ONLY OR ORDER OUTER OVERLAPS PLACING PRIMARY REFERENCES RETURNING SIMILAR SOME SYMMETRIC TABLESAMPLE THEN TRAILING UNION UNIQUE USING VARIADIC|10 VERBOSE WHEN WHERE WINDOW WITH BY RETURNS INOUT OUT SETOF|10 IF STRICT CURRENT CONTINUE OWNER LOCATION OVER PARTITION WITHIN BETWEEN ESCAPE EXTERNAL INVOKER DEFINER WORK RENAME VERSION CONNECTION CONNECT TABLES TEMP TEMPORARY FUNCTIONS SEQUENCES TYPES SCHEMAS OPTION CASCADE RESTRICT ADD ADMIN EXISTS VALID VALIDATE ENABLE DISABLE REPLICA|10 ALWAYS PASSING COLUMNS PATH REF VALUE OVERRIDING IMMUTABLE STABLE VOLATILE BEFORE AFTER EACH ROW PROCEDURAL ROUTINE NO HANDLER VALIDATOR OPTIONS STORAGE OIDS|10 WITHOUT INHERIT DEPENDS CALLED INPUT LEAKPROOF|10 COST ROWS NOWAIT SEARCH UNTIL ENCRYPTED|10 PASSWORD CONFLICT|10 INSTEAD INHERITS CHARACTERISTICS WRITE CURSOR ALSO STATEMENT SHARE EXCLUSIVE INLINE ISOLATION REPEATABLE READ COMMITTED SERIALIZABLE UNCOMMITTED LOCAL GLOBAL SQL PROCEDURES RECURSIVE SNAPSHOT ROLLUP CUBE TRUSTED|10 INCLUDE FOLLOWING PRECEDING UNBOUNDED RANGE GROUPS UNENCRYPTED|10 SYSID FORMAT DELIMITER HEADER QUOTE ENCODING FILTER OFF FORCE_QUOTE FORCE_NOT_NULL FORCE_NULL COSTS BUFFERS TIMING SUMMARY DISABLE_PAGE_SKIPPING RESTART CYCLE GENERATED IDENTITY DEFERRED IMMEDIATE LEVEL LOGGED UNLOGGED OF NOTHING NONE EXCLUDE ATTRIBUTE USAGE ROUTINES TRUE FALSE NAN INFINITY ALIAS BEGIN CONSTANT DECLARE END EXCEPTION RETURN PERFORM|10 RAISE GET DIAGNOSTICS STACKED|10 FOREACH LOOP ELSIF EXIT WHILE REVERSE SLICE DEBUG LOG INFO NOTICE WARNING ASSERT OPEN SUPERUSER NOSUPERUSER CREATEDB NOCREATEDB CREATEROLE NOCREATEROLE INHERIT NOINHERIT LOGIN NOLOGIN REPLICATION NOREPLICATION BYPASSRLS NOBYPASSRLS ",built_in:"CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURRENT_CATALOG|10 CURRENT_DATE LOCALTIME LOCALTIMESTAMP CURRENT_ROLE|10 CURRENT_SCHEMA|10 SESSION_USER PUBLIC FOUND NEW OLD TG_NAME|10 TG_WHEN|10 TG_LEVEL|10 TG_OP|10 TG_RELID|10 TG_RELNAME|10 TG_TABLE_NAME|10 TG_TABLE_SCHEMA|10 TG_NARGS|10 TG_ARGV|10 TG_EVENT|10 TG_TAG|10 ROW_COUNT RESULT_OID|10 PG_CONTEXT|10 RETURNED_SQLSTATE COLUMN_NAME CONSTRAINT_NAME PG_DATATYPE_NAME|10 MESSAGE_TEXT TABLE_NAME SCHEMA_NAME PG_EXCEPTION_DETAIL|10 PG_EXCEPTION_HINT|10 PG_EXCEPTION_CONTEXT|10 SQLSTATE SQLERRM|10 SUCCESSFUL_COMPLETION WARNING DYNAMIC_RESULT_SETS_RETURNED IMPLICIT_ZERO_BIT_PADDING NULL_VALUE_ELIMINATED_IN_SET_FUNCTION PRIVILEGE_NOT_GRANTED PRIVILEGE_NOT_REVOKED STRING_DATA_RIGHT_TRUNCATION DEPRECATED_FEATURE NO_DATA NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED SQL_STATEMENT_NOT_YET_COMPLETE CONNECTION_EXCEPTION CONNECTION_DOES_NOT_EXIST CONNECTION_FAILURE SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION TRANSACTION_RESOLUTION_UNKNOWN PROTOCOL_VIOLATION TRIGGERED_ACTION_EXCEPTION FEATURE_NOT_SUPPORTED INVALID_TRANSACTION_INITIATION LOCATOR_EXCEPTION INVALID_LOCATOR_SPECIFICATION INVALID_GRANTOR INVALID_GRANT_OPERATION INVALID_ROLE_SPECIFICATION DIAGNOSTICS_EXCEPTION STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER CASE_NOT_FOUND CARDINALITY_VIOLATION DATA_EXCEPTION ARRAY_SUBSCRIPT_ERROR CHARACTER_NOT_IN_REPERTOIRE DATETIME_FIELD_OVERFLOW DIVISION_BY_ZERO ERROR_IN_ASSIGNMENT ESCAPE_CHARACTER_CONFLICT INDICATOR_OVERFLOW INTERVAL_FIELD_OVERFLOW INVALID_ARGUMENT_FOR_LOGARITHM INVALID_ARGUMENT_FOR_NTILE_FUNCTION INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION INVALID_ARGUMENT_FOR_POWER_FUNCTION INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION INVALID_CHARACTER_VALUE_FOR_CAST INVALID_DATETIME_FORMAT INVALID_ESCAPE_CHARACTER INVALID_ESCAPE_OCTET INVALID_ESCAPE_SEQUENCE NONSTANDARD_USE_OF_ESCAPE_CHARACTER INVALID_INDICATOR_PARAMETER_VALUE INVALID_PARAMETER_VALUE INVALID_REGULAR_EXPRESSION INVALID_ROW_COUNT_IN_LIMIT_CLAUSE INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE INVALID_TABLESAMPLE_ARGUMENT INVALID_TABLESAMPLE_REPEAT INVALID_TIME_ZONE_DISPLACEMENT_VALUE INVALID_USE_OF_ESCAPE_CHARACTER MOST_SPECIFIC_TYPE_MISMATCH NULL_VALUE_NOT_ALLOWED NULL_VALUE_NO_INDICATOR_PARAMETER NUMERIC_VALUE_OUT_OF_RANGE SEQUENCE_GENERATOR_LIMIT_EXCEEDED STRING_DATA_LENGTH_MISMATCH STRING_DATA_RIGHT_TRUNCATION SUBSTRING_ERROR TRIM_ERROR UNTERMINATED_C_STRING ZERO_LENGTH_CHARACTER_STRING FLOATING_POINT_EXCEPTION INVALID_TEXT_REPRESENTATION INVALID_BINARY_REPRESENTATION BAD_COPY_FILE_FORMAT UNTRANSLATABLE_CHARACTER NOT_AN_XML_DOCUMENT INVALID_XML_DOCUMENT INVALID_XML_CONTENT INVALID_XML_COMMENT INVALID_XML_PROCESSING_INSTRUCTION INTEGRITY_CONSTRAINT_VIOLATION RESTRICT_VIOLATION NOT_NULL_VIOLATION FOREIGN_KEY_VIOLATION UNIQUE_VIOLATION CHECK_VIOLATION EXCLUSION_VIOLATION INVALID_CURSOR_STATE INVALID_TRANSACTION_STATE ACTIVE_SQL_TRANSACTION BRANCH_TRANSACTION_ALREADY_ACTIVE HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION READ_ONLY_SQL_TRANSACTION SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED NO_ACTIVE_SQL_TRANSACTION IN_FAILED_SQL_TRANSACTION IDLE_IN_TRANSACTION_SESSION_TIMEOUT INVALID_SQL_STATEMENT_NAME TRIGGERED_DATA_CHANGE_VIOLATION INVALID_AUTHORIZATION_SPECIFICATION INVALID_PASSWORD DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST DEPENDENT_OBJECTS_STILL_EXIST INVALID_TRANSACTION_TERMINATION SQL_ROUTINE_EXCEPTION FUNCTION_EXECUTED_NO_RETURN_STATEMENT MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED INVALID_CURSOR_NAME EXTERNAL_ROUTINE_EXCEPTION CONTAINING_SQL_NOT_PERMITTED MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED EXTERNAL_ROUTINE_INVOCATION_EXCEPTION INVALID_SQLSTATE_RETURNED NULL_VALUE_NOT_ALLOWED TRIGGER_PROTOCOL_VIOLATED SRF_PROTOCOL_VIOLATED EVENT_TRIGGER_PROTOCOL_VIOLATED SAVEPOINT_EXCEPTION INVALID_SAVEPOINT_SPECIFICATION INVALID_CATALOG_NAME INVALID_SCHEMA_NAME TRANSACTION_ROLLBACK TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION SERIALIZATION_FAILURE STATEMENT_COMPLETION_UNKNOWN DEADLOCK_DETECTED SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION SYNTAX_ERROR INSUFFICIENT_PRIVILEGE CANNOT_COERCE GROUPING_ERROR WINDOWING_ERROR INVALID_RECURSION INVALID_FOREIGN_KEY INVALID_NAME NAME_TOO_LONG RESERVED_NAME DATATYPE_MISMATCH INDETERMINATE_DATATYPE COLLATION_MISMATCH INDETERMINATE_COLLATION WRONG_OBJECT_TYPE GENERATED_ALWAYS UNDEFINED_COLUMN UNDEFINED_FUNCTION UNDEFINED_TABLE UNDEFINED_PARAMETER UNDEFINED_OBJECT DUPLICATE_COLUMN DUPLICATE_CURSOR DUPLICATE_DATABASE DUPLICATE_FUNCTION DUPLICATE_PREPARED_STATEMENT DUPLICATE_SCHEMA DUPLICATE_TABLE DUPLICATE_ALIAS DUPLICATE_OBJECT AMBIGUOUS_COLUMN AMBIGUOUS_FUNCTION AMBIGUOUS_PARAMETER AMBIGUOUS_ALIAS INVALID_COLUMN_REFERENCE INVALID_COLUMN_DEFINITION INVALID_CURSOR_DEFINITION INVALID_DATABASE_DEFINITION INVALID_FUNCTION_DEFINITION INVALID_PREPARED_STATEMENT_DEFINITION INVALID_SCHEMA_DEFINITION INVALID_TABLE_DEFINITION INVALID_OBJECT_DEFINITION WITH_CHECK_OPTION_VIOLATION INSUFFICIENT_RESOURCES DISK_FULL OUT_OF_MEMORY TOO_MANY_CONNECTIONS CONFIGURATION_LIMIT_EXCEEDED PROGRAM_LIMIT_EXCEEDED STATEMENT_TOO_COMPLEX TOO_MANY_COLUMNS TOO_MANY_ARGUMENTS OBJECT_NOT_IN_PREREQUISITE_STATE OBJECT_IN_USE CANT_CHANGE_RUNTIME_PARAM LOCK_NOT_AVAILABLE OPERATOR_INTERVENTION QUERY_CANCELED ADMIN_SHUTDOWN CRASH_SHUTDOWN CANNOT_CONNECT_NOW DATABASE_DROPPED SYSTEM_ERROR IO_ERROR UNDEFINED_FILE DUPLICATE_FILE SNAPSHOT_TOO_OLD CONFIG_FILE_ERROR LOCK_FILE_EXISTS FDW_ERROR FDW_COLUMN_NAME_NOT_FOUND FDW_DYNAMIC_PARAMETER_VALUE_NEEDED FDW_FUNCTION_SEQUENCE_ERROR FDW_INCONSISTENT_DESCRIPTOR_INFORMATION FDW_INVALID_ATTRIBUTE_VALUE FDW_INVALID_COLUMN_NAME FDW_INVALID_COLUMN_NUMBER FDW_INVALID_DATA_TYPE FDW_INVALID_DATA_TYPE_DESCRIPTORS FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER FDW_INVALID_HANDLE FDW_INVALID_OPTION_INDEX FDW_INVALID_OPTION_NAME FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH FDW_INVALID_STRING_FORMAT FDW_INVALID_USE_OF_NULL_POINTER FDW_TOO_MANY_HANDLES FDW_OUT_OF_MEMORY FDW_NO_SCHEMAS FDW_OPTION_NAME_NOT_FOUND FDW_REPLY_HANDLE FDW_SCHEMA_NOT_FOUND FDW_TABLE_NOT_FOUND FDW_UNABLE_TO_CREATE_EXECUTION FDW_UNABLE_TO_CREATE_REPLY FDW_UNABLE_TO_ESTABLISH_CONNECTION PLPGSQL_ERROR RAISE_EXCEPTION NO_DATA_FOUND TOO_MANY_ROWS ASSERT_FAILURE INTERNAL_ERROR DATA_CORRUPTED INDEX_CORRUPTED "},illegal:/:==|\W\s*\(\*|(^|\s)\$[a-z]|\{\{|[a-z]:\s*$|\.\.\.|TO:|DO:/,contains:[{className:"keyword",variants:[{begin:/\bTEXT\s*SEARCH\b/},{begin:/\b(PRIMARY|FOREIGN|FOR(\s+NO)?)\s+KEY\b/},{begin:/\bPARALLEL\s+(UNSAFE|RESTRICTED|SAFE)\b/},{begin:/\bSTORAGE\s+(PLAIN|EXTERNAL|EXTENDED|MAIN)\b/},{begin:/\bMATCH\s+(FULL|PARTIAL|SIMPLE)\b/},{begin:/\bNULLS\s+(FIRST|LAST)\b/},{begin:/\bEVENT\s+TRIGGER\b/},{begin:/\b(MAPPING|OR)\s+REPLACE\b/},{begin:/\b(FROM|TO)\s+(PROGRAM|STDIN|STDOUT)\b/},{begin:/\b(SHARE|EXCLUSIVE)\s+MODE\b/},{begin:/\b(LEFT|RIGHT)\s+(OUTER\s+)?JOIN\b/},{begin:/\b(FETCH|MOVE)\s+(NEXT|PRIOR|FIRST|LAST|ABSOLUTE|RELATIVE|FORWARD|BACKWARD)\b/},{begin:/\bPRESERVE\s+ROWS\b/},{begin:/\bDISCARD\s+PLANS\b/},{begin:/\bREFERENCING\s+(OLD|NEW)\b/},{begin:/\bSKIP\s+LOCKED\b/},{begin:/\bGROUPING\s+SETS\b/},{begin:/\b(BINARY|INSENSITIVE|SCROLL|NO\s+SCROLL)\s+(CURSOR|FOR)\b/},{begin:/\b(WITH|WITHOUT)\s+HOLD\b/},{begin:/\bWITH\s+(CASCADED|LOCAL)\s+CHECK\s+OPTION\b/},{begin:/\bEXCLUDE\s+(TIES|NO\s+OTHERS)\b/},{begin:/\bFORMAT\s+(TEXT|XML|JSON|YAML)\b/},{begin:/\bSET\s+((SESSION|LOCAL)\s+)?NAMES\b/},{begin:/\bIS\s+(NOT\s+)?UNKNOWN\b/},{begin:/\bSECURITY\s+LABEL\b/},{begin:/\bSTANDALONE\s+(YES|NO|NO\s+VALUE)\b/},{begin:/\bWITH\s+(NO\s+)?DATA\b/},{begin:/\b(FOREIGN|SET)\s+DATA\b/},{begin:/\bSET\s+(CATALOG|CONSTRAINTS)\b/},{begin:/\b(WITH|FOR)\s+ORDINALITY\b/},{begin:/\bIS\s+(NOT\s+)?DOCUMENT\b/},{begin:/\bXML\s+OPTION\s+(DOCUMENT|CONTENT)\b/},{begin:/\b(STRIP|PRESERVE)\s+WHITESPACE\b/},{begin:/\bNO\s+(ACTION|MAXVALUE|MINVALUE)\b/},{begin:/\bPARTITION\s+BY\s+(RANGE|LIST|HASH)\b/},{begin:/\bAT\s+TIME\s+ZONE\b/},{begin:/\bGRANTED\s+BY\b/},{begin:/\bRETURN\s+(QUERY|NEXT)\b/},{begin:/\b(ATTACH|DETACH)\s+PARTITION\b/},{begin:/\bFORCE\s+ROW\s+LEVEL\s+SECURITY\b/},{begin:/\b(INCLUDING|EXCLUDING)\s+(COMMENTS|CONSTRAINTS|DEFAULTS|IDENTITY|INDEXES|STATISTICS|STORAGE|ALL)\b/},{begin:/\bAS\s+(ASSIGNMENT|IMPLICIT|PERMISSIVE|RESTRICTIVE|ENUM|RANGE)\b/}]},{begin:/\b(FORMAT|FAMILY|VERSION)\s*\(/},{begin:/\bINCLUDE\s*\(/,keywords:"INCLUDE"},{begin:/\bRANGE(?!\s*(BETWEEN|UNBOUNDED|CURRENT|[-0-9]+))/},{begin:/\b(VERSION|OWNER|TEMPLATE|TABLESPACE|CONNECTION\s+LIMIT|PROCEDURE|RESTRICT|JOIN|PARSER|COPY|START|END|COLLATION|INPUT|ANALYZE|STORAGE|LIKE|DEFAULT|DELIMITER|ENCODING|COLUMN|CONSTRAINT|TABLE|SCHEMA)\s*=/},{begin:/\b(PG_\w+?|HAS_[A-Z_]+_PRIVILEGE)\b/,relevance:10},{begin:/\bEXTRACT\s*\(/,end:/\bFROM\b/,returnEnd:!0,keywords:{type:"CENTURY DAY DECADE DOW DOY EPOCH HOUR ISODOW ISOYEAR MICROSECONDS MILLENNIUM MILLISECONDS MINUTE MONTH QUARTER SECOND TIMEZONE TIMEZONE_HOUR TIMEZONE_MINUTE WEEK YEAR"}},{begin:/\b(XMLELEMENT|XMLPI)\s*\(\s*NAME/,keywords:{keyword:"NAME"}},{begin:/\b(XMLPARSE|XMLSERIALIZE)\s*\(\s*(DOCUMENT|CONTENT)/,keywords:{keyword:"DOCUMENT CONTENT"}},{beginKeywords:"CACHE INCREMENT MAXVALUE MINVALUE",end:e.C_NUMBER_RE,returnEnd:!0,keywords:"BY CACHE INCREMENT MAXVALUE MINVALUE"},{className:"type",begin:/\b(WITH|WITHOUT)\s+TIME\s+ZONE\b/},{className:"type",begin:/\bINTERVAL\s+(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND)(\s+TO\s+(MONTH|HOUR|MINUTE|SECOND))?\b/},{begin:/\bRETURNS\s+(LANGUAGE_HANDLER|TRIGGER|EVENT_TRIGGER|FDW_HANDLER|INDEX_AM_HANDLER|TSM_HANDLER)\b/,keywords:{keyword:"RETURNS",type:"LANGUAGE_HANDLER TRIGGER EVENT_TRIGGER FDW_HANDLER INDEX_AM_HANDLER TSM_HANDLER"}},{begin:"\\b("+i+")\\s*\\("},{begin:"\\.("+r+")\\b"},{begin:"\\b("+r+")\\s+PATH\\b",keywords:{keyword:"PATH",type:a.replace("PATH ","")}},{className:"type",begin:"\\b("+r+")\\b"},{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:"(e|E|u&|U&)'",end:"'",contains:[{begin:"\\\\."}],relevance:10},e.END_SAME_AS_BEGIN({begin:n,end:n,contains:[{subLanguage:["pgsql","perl","python","tcl","r","lua","java","php","ruby","bash","scheme","xml","json"],endsWithParent:!0}]}),{begin:'"',end:'"',contains:[{begin:'""'}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{className:"meta",variants:[{begin:"%(ROW)?TYPE",relevance:10},{begin:"\\$\\d+"},{begin:"^#\\w",end:"$"}]},{className:"symbol",begin:"<<\\s*[a-zA-Z_][a-zA-Z_0-9$]*\\s*>>",relevance:10}]}})),lk.registerLanguage("php",$L?qL:($L=1,qL=function(e){const t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,a=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),r=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),i=t.concat(/[A-Z]+/,n),o={scope:"variable",match:"\\$+"+a},s={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null}),c="[ \t\n]",d={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(s)}),l,{begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(s),"on:begin":(e,t)=>{t.data._beginMatch=e[1]||e[2]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}},e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},u={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},_=["false","null","true"],p=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],m=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],g={keyword:p,literal:(e=>{const t=[];return e.forEach(e=>{t.push(e),e.toLowerCase()===e?t.push(e.toUpperCase()):t.push(e.toLowerCase())}),t})(_),built_in:m},E=e=>e.map(e=>e.replace(/\|\d+$/,"")),f={variants:[{match:[/new/,t.concat(c,"+"),t.concat("(?!",E(m).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},S=t.concat(a,"\\b(?!\\()"),b={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),S],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,t.concat(/::/,t.lookahead(/(?!class\b)/)),S],scope:{1:"title.class",3:"variable.constant"}},{match:[r,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},h={scope:"attr",match:t.concat(a,t.lookahead(":"),t.lookahead(/(?!::)/))},v={relevance:0,begin:/\(/,end:/\)/,keywords:g,contains:[h,o,b,e.C_BLOCK_COMMENT_MODE,d,u,f]},T={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",E(p).join("\\b|"),"|",E(m).join("\\b|"),"\\b)"),a,t.concat(c,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[v]};v.contains.push(T);const y=[h,b,e.C_BLOCK_COMMENT_MODE,d,u,f],C={begin:t.concat(/#\[\s*\\?/,t.either(r,i)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:_,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:_,keyword:["new","array"]},contains:["self",...y]},...y,{scope:"meta",variants:[{match:r},{match:i}]}]};return{case_insensitive:!1,keywords:g,contains:[C,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},o,T,b,{match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},f,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:g,contains:["self",C,o,b,e.C_BLOCK_COMMENT_MODE,d,u]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},d,u]}})),lk.registerLanguage("php-template",WL?jL:(WL=1,jL=function(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}})),lk.registerLanguage("plaintext",QL?KL:(QL=1,KL=function(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}})),lk.registerLanguage("pony",ZL?XL:(ZL=1,XL=function(e){return{name:"Pony",keywords:{keyword:"actor addressof and as be break class compile_error compile_intrinsic consume continue delegate digestof do else elseif embed end error for fun if ifdef in interface is isnt lambda let match new not object or primitive recover repeat return struct then trait try type until use var where while with xor",meta:"iso val tag trn box ref",literal:"this false true"},contains:[{className:"type",begin:"\\b_?[A-Z][\\w]*",relevance:0},{className:"string",begin:'"""',end:'"""',relevance:10},{className:"string",begin:'"',end:'"',contains:[e.BACKSLASH_ESCAPE]},{className:"string",begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE],relevance:0},{begin:e.IDENT_RE+"'",relevance:0},{className:"number",begin:"(-?)(\\b0[xX][a-fA-F0-9]+|\\b0[bB][01]+|(\\b\\d+(_\\d+)?(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",relevance:0},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]}})),lk.registerLanguage("powershell",eM?JL:(eM=1,JL=function(e){const t={$pattern:/-?[A-z\.\-]+\b/,keyword:"if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter",built_in:"ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write"},n={begin:"`[\\s\\S]",relevance:0},a={className:"variable",variants:[{begin:/\$\B/},{className:"keyword",begin:/\$this/},{begin:/\$[\w\d][\w\d_:]*/}]},r={className:"string",variants:[{begin:/"/,end:/"/},{begin:/@"/,end:/^"@/}],contains:[n,a,{className:"variable",begin:/\$[A-z]/,end:/[^A-z]/}]},i={className:"string",variants:[{begin:/'/,end:/'/},{begin:/@'/,end:/^'@/}]},o=e.inherit(e.COMMENT(null,null),{variants:[{begin:/#/,end:/$/},{begin:/<#/,end:/#>/}],contains:[{className:"doctag",variants:[{begin:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{begin:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/}]}]}),s={className:"built_in",variants:[{begin:"(".concat("Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where",")+(-)[\\w\\d]+")}]},l={className:"class",beginKeywords:"class enum",end:/\s*[{]/,excludeEnd:!0,relevance:0,contains:[e.TITLE_MODE]},c={className:"function",begin:/function\s+/,end:/\s*\{|$/,excludeEnd:!0,returnBegin:!0,relevance:0,contains:[{begin:"function",relevance:0,className:"keyword"},{className:"title",begin:/\w[\w\d]*((-)[\w\d]+)*/,relevance:0},{begin:/\(/,end:/\)/,className:"params",relevance:0,contains:[a]}]},d={begin:/using\s/,end:/$/,returnBegin:!0,contains:[r,i,{className:"keyword",begin:/(using|assembly|command|module|namespace|type)/}]},u={variants:[{className:"operator",begin:"(".concat("-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor",")\\b")},{className:"literal",begin:/(-){1,2}[\w\d-]+/,relevance:0}]},_={className:"function",begin:/\[.*\]\s*[\w]+[ ]??\(/,end:/$/,returnBegin:!0,relevance:0,contains:[{className:"keyword",begin:"(".concat(t.keyword.toString().replace(/\s/g,"|"),")\\b"),endsParent:!0,relevance:0},e.inherit(e.TITLE_MODE,{endsParent:!0})]},p=[_,o,n,e.NUMBER_MODE,r,i,s,a,{className:"literal",begin:/\$(null|true|false)\b/},{className:"selector-tag",begin:/@\B/,relevance:0}],m={begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[].concat("self",p,{begin:"("+["string","char","byte","int","long","bool","decimal","single","double","DateTime","xml","array","hashtable","void"].join("|")+")",className:"built_in",relevance:0},{className:"type",begin:/[\.\w\d]+/,relevance:0})};return _.contains.unshift(m),{name:"PowerShell",aliases:["pwsh","ps","ps1"],case_insensitive:!0,keywords:t,contains:p.concat(l,c,d,u,m)}})),lk.registerLanguage("processing",nM?tM:(nM=1,tM=function(e){const t=e.regex,n=["displayHeight","displayWidth","mouseY","mouseX","mousePressed","pmouseX","pmouseY","key","keyCode","pixels","focused","frameCount","frameRate","height","width","size","createGraphics","beginDraw","createShape","loadShape","PShape","arc","ellipse","line","point","quad","rect","triangle","bezier","bezierDetail","bezierPoint","bezierTangent","curve","curveDetail","curvePoint","curveTangent","curveTightness","shape","shapeMode","beginContour","beginShape","bezierVertex","curveVertex","endContour","endShape","quadraticVertex","vertex","ellipseMode","noSmooth","rectMode","smooth","strokeCap","strokeJoin","strokeWeight","mouseClicked","mouseDragged","mouseMoved","mousePressed","mouseReleased","mouseWheel","keyPressed","keyPressedkeyReleased","keyTyped","print","println","save","saveFrame","day","hour","millis","minute","month","second","year","background","clear","colorMode","fill","noFill","noStroke","stroke","alpha","blue","brightness","color","green","hue","lerpColor","red","saturation","modelX","modelY","modelZ","screenX","screenY","screenZ","ambient","emissive","shininess","specular","add","createImage","beginCamera","camera","endCamera","frustum","ortho","perspective","printCamera","printProjection","cursor","frameRate","noCursor","exit","loop","noLoop","popStyle","pushStyle","redraw","binary","boolean","byte","char","float","hex","int","str","unbinary","unhex","join","match","matchAll","nf","nfc","nfp","nfs","split","splitTokens","trim","append","arrayCopy","concat","expand","reverse","shorten","sort","splice","subset","box","sphere","sphereDetail","createInput","createReader","loadBytes","loadJSONArray","loadJSONObject","loadStrings","loadTable","loadXML","open","parseXML","saveTable","selectFolder","selectInput","beginRaw","beginRecord","createOutput","createWriter","endRaw","endRecord","PrintWritersaveBytes","saveJSONArray","saveJSONObject","saveStream","saveStrings","saveXML","selectOutput","popMatrix","printMatrix","pushMatrix","resetMatrix","rotate","rotateX","rotateY","rotateZ","scale","shearX","shearY","translate","ambientLight","directionalLight","lightFalloff","lights","lightSpecular","noLights","normal","pointLight","spotLight","image","imageMode","loadImage","noTint","requestImage","tint","texture","textureMode","textureWrap","blend","copy","filter","get","loadPixels","set","updatePixels","blendMode","loadShader","PShaderresetShader","shader","createFont","loadFont","text","textFont","textAlign","textLeading","textMode","textSize","textWidth","textAscent","textDescent","abs","ceil","constrain","dist","exp","floor","lerp","log","mag","map","max","min","norm","pow","round","sq","sqrt","acos","asin","atan","atan2","cos","degrees","radians","sin","tan","noise","noiseDetail","noiseSeed","random","randomGaussian","randomSeed"],a=e.IDENT_RE,r={variants:[{match:t.concat(t.either(...n),t.lookahead(/\s*\(/)),className:"built_in"},{relevance:0,match:t.concat(/\b(?!for|if|while)/,a,t.lookahead(/\s*\(/)),className:"title.function"}]},i={match:[/new\s+/,a],className:{1:"keyword",2:"class.title"}},o={relevance:0,match:[/\./,a],className:{2:"property"}},s={variants:[{match:[/class/,/\s+/,a,/\s+/,/extends/,/\s+/,a]},{match:[/class/,/\s+/,a]}],className:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}};return{name:"Processing",aliases:["pde"],keywords:{keyword:["abstract","assert","break","case","catch","const","continue","default","else","enum","final","finally","for","if","import","instanceof","long","native","new","package","private","private","protected","protected","public","public","return","static","strictfp","switch","synchronized","throw","throws","transient","try","void","volatile","while"],literal:"P2D P3D HALF_PI PI QUARTER_PI TAU TWO_PI null true false",title:"setup draw",variable:"super this",built_in:[...n,"BufferedReader","PVector","PFont","PImage","PGraphics","HashMap","String","Array","FloatDict","ArrayList","FloatList","IntDict","IntList","JSONArray","JSONObject","Object","StringDict","StringList","Table","TableRow","XML"],type:["boolean","byte","char","color","double","float","int","long","short"]},contains:[s,i,r,o,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE]}})),lk.registerLanguage("profile",rM?aM:(rM=1,aM=function(e){return{name:"Python profiler",contains:[e.C_NUMBER_MODE,{begin:"[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}",end:":",excludeEnd:!0},{begin:"(ncalls|tottime|cumtime)",end:"$",keywords:"ncalls tottime|10 cumtime|10 filename",relevance:10},{begin:"function calls",end:"$",contains:[e.C_NUMBER_MODE],relevance:10},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\(",end:"\\)$",excludeBegin:!0,excludeEnd:!0,relevance:0}]}})),lk.registerLanguage("prolog",oM?iM:(oM=1,iM=function(e){const t={begin:/\(/,end:/\)/,relevance:0},n={begin:/\[/,end:/\]/},a={className:"comment",begin:/%/,end:/$/,contains:[e.PHRASAL_WORDS_MODE]},r={className:"string",begin:/`/,end:/`/,contains:[e.BACKSLASH_ESCAPE]},i=[{begin:/[a-z][A-Za-z0-9_]*/,relevance:0},{className:"symbol",variants:[{begin:/[A-Z][a-zA-Z0-9_]*/},{begin:/_[A-Za-z0-9_]*/}],relevance:0},t,{begin:/:-/},n,a,e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,r,{className:"string",begin:/0'(\\'|.)/},{className:"string",begin:/0'\\s/},e.C_NUMBER_MODE];return t.contains=i,n.contains=i,{name:"Prolog",contains:i.concat([{begin:/\.$/}])}})),lk.registerLanguage("properties",lM?sM:(lM=1,sM=function(e){const t="[ \\t\\f]*",n=t+"[:=]"+t,a="[ \\t\\f]+",r="([^\\\\:= \\t\\f\\n]|\\\\.)+",i={end:"("+n+"|"+a+")",relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\\\"},{begin:"\\\\\\n"}]}};return{name:".properties",disableAutodetect:!0,case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{returnBegin:!0,variants:[{begin:r+n},{begin:r+a}],contains:[{className:"attr",begin:r,endsParent:!0}],starts:i},{className:"attr",begin:r+t+"$"}]}})),lk.registerLanguage("protobuf",dM?cM:(dM=1,cM=function(e){const t={match:[/(message|enum|service)\s+/,e.IDENT_RE],scope:{1:"keyword",2:"title.class"}};return{name:"Protocol Buffers",aliases:["proto"],keywords:{keyword:["package","import","option","optional","required","repeated","group","oneof"],type:["double","float","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","bool","string","bytes"],literal:["true","false"]},contains:[e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t,{className:"function",beginKeywords:"rpc",end:/[{;]/,excludeEnd:!0,keywords:"rpc returns"},{begin:/^\s*[A-Z_]+(?=\s*=[^\n]+;$)/}]}})),lk.registerLanguage("puppet",_M?uM:(_M=1,uM=function(e){const t=e.COMMENT("#","$"),n="([A-Za-z_]|::)(\\w|::)*",a=e.inherit(e.TITLE_MODE,{begin:n}),r={className:"variable",begin:"\\$"+n},i={className:"string",contains:[e.BACKSLASH_ESCAPE,r],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/}]};return{name:"Puppet",aliases:["pp"],contains:[t,r,i,{beginKeywords:"class",end:"\\{|;",illegal:/=/,contains:[a,t]},{beginKeywords:"define",end:/\{/,contains:[{className:"section",begin:e.IDENT_RE,endsParent:!0}]},{begin:e.IDENT_RE+"\\s+\\{",returnBegin:!0,end:/\S/,contains:[{className:"keyword",begin:e.IDENT_RE,relevance:.2},{begin:/\{/,end:/\}/,keywords:{keyword:"and case default else elsif false if in import enherits node or true undef unless main settings $string ",literal:"alias audit before loglevel noop require subscribe tag owner ensure group mode name|0 changes context force incl lens load_path onlyif provider returns root show_diff type_check en_address ip_address realname command environment hour monute month monthday special target weekday creates cwd ogoutput refresh refreshonly tries try_sleep umask backup checksum content ctime force ignore links mtime purge recurse recurselimit replace selinux_ignore_defaults selrange selrole seltype seluser source souirce_permissions sourceselect validate_cmd validate_replacement allowdupe attribute_membership auth_membership forcelocal gid ia_load_module members system host_aliases ip allowed_trunk_vlans description device_url duplex encapsulation etherchannel native_vlan speed principals allow_root auth_class auth_type authenticate_user k_of_n mechanisms rule session_owner shared options device fstype enable hasrestart directory present absent link atboot blockdevice device dump pass remounts poller_tag use message withpath adminfile allow_virtual allowcdrom category configfiles flavor install_options instance package_settings platform responsefile status uninstall_options vendor unless_system_user unless_uid binary control flags hasstatus manifest pattern restart running start stop allowdupe auths expiry gid groups home iterations key_membership keys managehome membership password password_max_age password_min_age profile_membership profiles project purge_ssh_keys role_membership roles salt shell uid baseurl cost descr enabled enablegroups exclude failovermethod gpgcheck gpgkey http_caching include includepkgs keepalive metadata_expire metalink mirrorlist priority protect proxy proxy_password proxy_username repo_gpgcheck s3_enabled skip_if_unavailable sslcacert sslclientcert sslclientkey sslverify mounted",built_in:"architecture augeasversion blockdevices boardmanufacturer boardproductname boardserialnumber cfkey dhcp_servers domain ec2_ ec2_userdata facterversion filesystems ldom fqdn gid hardwareisa hardwaremodel hostname id|0 interfaces ipaddress ipaddress_ ipaddress6 ipaddress6_ iphostnumber is_virtual kernel kernelmajversion kernelrelease kernelversion kernelrelease kernelversion lsbdistcodename lsbdistdescription lsbdistid lsbdistrelease lsbmajdistrelease lsbminordistrelease lsbrelease macaddress macaddress_ macosx_buildversion macosx_productname macosx_productversion macosx_productverson_major macosx_productversion_minor manufacturer memoryfree memorysize netmask metmask_ network_ operatingsystem operatingsystemmajrelease operatingsystemrelease osfamily partitions path physicalprocessorcount processor processorcount productname ps puppetversion rubysitedir rubyversion selinux selinux_config_mode selinux_config_policy selinux_current_mode selinux_current_mode selinux_enforced selinux_policyversion serialnumber sp_ sshdsakey sshecdsakey sshrsakey swapencrypted swapfree swapsize timezone type uniqueid uptime uptime_days uptime_hours uptime_seconds uuid virtual vlans xendomains zfs_version zonenae zones zpool_version"},relevance:0,contains:[i,t,{begin:"[a-zA-Z_]+\\s*=>",returnBegin:!0,end:"=>",contains:[{className:"attr",begin:e.IDENT_RE}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},r]}],relevance:0}]}})),lk.registerLanguage("purebasic",mM?pM:(mM=1,pM=function(e){return{name:"PureBASIC",aliases:["pb","pbi"],keywords:"Align And Array As Break CallDebugger Case CompilerCase CompilerDefault CompilerElse CompilerElseIf CompilerEndIf CompilerEndSelect CompilerError CompilerIf CompilerSelect CompilerWarning Continue Data DataSection Debug DebugLevel Declare DeclareC DeclareCDLL DeclareDLL DeclareModule Default Define Dim DisableASM DisableDebugger DisableExplicit Else ElseIf EnableASM EnableDebugger EnableExplicit End EndDataSection EndDeclareModule EndEnumeration EndIf EndImport EndInterface EndMacro EndModule EndProcedure EndSelect EndStructure EndStructureUnion EndWith Enumeration EnumerationBinary Extends FakeReturn For ForEach ForEver Global Gosub Goto If Import ImportC IncludeBinary IncludeFile IncludePath Interface List Macro MacroExpandedCount Map Module NewList NewMap Next Not Or Procedure ProcedureC ProcedureCDLL ProcedureDLL ProcedureReturn Protected Prototype PrototypeC ReDim Read Repeat Restore Return Runtime Select Shared Static Step Structure StructureUnion Swap Threaded To UndefineMacro Until Until UnuseModule UseModule Wend While With XIncludeFile XOr",contains:[e.COMMENT(";","$",{relevance:0}),{className:"function",begin:"\\b(Procedure|Declare)(C|CDLL|DLL)?\\b",end:"\\(",excludeEnd:!0,returnBegin:!0,contains:[{className:"keyword",begin:"(Procedure|Declare)(C|CDLL|DLL)?",excludeEnd:!0},{className:"type",begin:"\\.\\w*"},e.UNDERSCORE_TITLE_MODE]},{className:"string",begin:'(~)?"',end:'"',illegal:"\\n"},{className:"symbol",begin:"#[a-zA-Z_]\\w*\\$?"}]}})),lk.registerLanguage("python",EM?gM:(EM=1,gM=function(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),a=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],r={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:a,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},i={className:"meta",begin:/^(>>>|\.\.\.) /},o={className:"subst",begin:/\{/,end:/\}/,keywords:r,illegal:/#/},s={begin:/\{\{/,relevance:0},l={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,i],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,i],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,i,s,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,i,s,o]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,o]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},c="[0-9](_?[0-9])*",d=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,u=`\\b|${a.join("|")}`,_={className:"number",relevance:0,variants:[{begin:`(\\b(${c})|(${d}))[eE][+-]?(${c})[jJ]?(?=${u})`},{begin:`(${d})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${u})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${u})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${u})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${u})`},{begin:`\\b(${c})[jJ](?=${u})`}]},p={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:r,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,contains:["self",i,_,l,e.HASH_COMMENT_MODE]}]};return o.contains=[l,_,i],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:r,illegal:/(<\/|\?)|=>/,contains:[i,_,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},l,p,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[m]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[_,m,l]}]}})),lk.registerLanguage("python-repl",SM?fM:(SM=1,fM=function(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}})),lk.registerLanguage("q",hM?bM:(hM=1,bM=function(e){return{name:"Q",aliases:["k","kdb"],keywords:{$pattern:/(`?)[A-Za-z0-9_]+\b/,keyword:"do while select delete by update from",literal:"0b 1b",built_in:"neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum",type:"`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid"},contains:[e.C_LINE_COMMENT_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE]}})),lk.registerLanguage("qml",TM?vM:(TM=1,vM=function(e){const t="[a-zA-Z_][a-zA-Z0-9\\._]*",n={className:"attribute",begin:"\\bid\\s*:",starts:{className:"string",end:t,returnEnd:!1}},a={begin:t+"\\s*:",returnBegin:!0,contains:[{className:"attribute",begin:t,end:"\\s*:",excludeEnd:!0,relevance:0}],relevance:0},r={begin:e.regex.concat(t,/\s*\{/),end:/\{/,returnBegin:!0,relevance:0,contains:[e.inherit(e.TITLE_MODE,{begin:t})]};return{name:"QML",aliases:["qt"],case_insensitive:!1,keywords:{keyword:"in of on if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await import",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Behavior bool color coordinate date double enumeration font geocircle georectangle geoshape int list matrix4x4 parent point quaternion real rect size string url variant vector2d vector3d vector4d Promise"},contains:[{className:"meta",begin:/^\s*['"]use (strict|asm)['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,{className:"subst",begin:"\\$\\{",end:"\\}"}]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:e.C_NUMBER_RE}],relevance:0},{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.REGEXP_MODE,{begin:/\s*[);\]]/,relevance:0,subLanguage:"xml"}],relevance:0},{className:"keyword",begin:"\\bsignal\\b",starts:{className:"string",end:"(\\(|:|=|;|,|//|/\\*|$)",returnEnd:!0}},{className:"keyword",begin:"\\bproperty\\b",starts:{className:"string",end:"(:|=|;|,|//|/\\*|$)",returnEnd:!0}},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]}],illegal:/\[|%/},{begin:"\\."+e.IDENT_RE,relevance:0},n,a,r],illegal:/#/}})),lk.registerLanguage("r",CM?yM:(CM=1,yM=function(e){const t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),r=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,i=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[r,a]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[i,a]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:r},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:i},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}})),lk.registerLanguage("reasonml",OM?RM:(OM=1,RM=function(e){return{name:"ReasonML",aliases:["re"],keywords:{$pattern:/[a-z_]\w*!?/,keyword:["and","as","asr","assert","begin","class","constraint","do","done","downto","else","end","esfun","exception","external","for","fun","function","functor","if","in","include","inherit","initializer","land","lazy","let","lor","lsl","lsr","lxor","mod","module","mutable","new","nonrec","object","of","open","or","pri","pub","rec","sig","struct","switch","then","to","try","type","val","virtual","when","while","with"],built_in:["array","bool","bytes","char","exn|5","float","int","int32","int64","list","lazy_t|5","nativeint|5","ref","string","unit"],literal:["true","false"]},illegal:/(:-|:=|\$\{|\+=)/,contains:[{scope:"literal",match:/\[(\|\|)?\]|\(\)/,relevance:0},e.C_LINE_COMMENT_MODE,e.COMMENT(/\/\*/,/\*\//,{illegal:/^(#,\/\/)/}),{scope:"symbol",match:/\'[A-Za-z_](?!\')[\w\']*/},{scope:"type",match:/`[A-Z][\w\']*/},{scope:"type",match:/\b[A-Z][\w\']*/,relevance:0},{match:/[a-z_]\w*\'[\w\']*/,relevance:0},{scope:"operator",match:/\s+(\|\||\+[\+\.]?|\*[\*\/\.]?|\/[\.]?|\.\.\.|\|>|&&|===?)\s+/,relevance:0},e.inherit(e.APOS_STRING_MODE,{scope:"string",relevance:0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{scope:"number",variants:[{match:/\b0[xX][a-fA-F0-9_]+[Lln]?/},{match:/\b0[oO][0-7_]+[Lln]?/},{match:/\b0[bB][01_]+[Lln]?/},{match:/\b[0-9][0-9_]*([Lln]|(\.[0-9_]*)?([eE][-+]?[0-9_]+)?)/}],relevance:0}]}})),lk.registerLanguage("rib",AM?NM:(AM=1,NM=function(e){return{name:"RenderMan RIB",keywords:"ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry Hider Hyperboloid Identity Illuminate Imager Interior LightSource MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd TransformPoints Translate TrimCurve WorldBegin WorldEnd",illegal:"/}],illegal:/./},e.COMMENT("^#","$"),r,i,a,{begin:/[\w-]+=([^\s{}[\]()>]+)/,relevance:0,returnBegin:!0,contains:[{className:"attribute",begin:/[^=]+/},{begin:/=/,endsWithParent:!0,relevance:0,contains:[r,i,a,{className:"literal",begin:"\\b("+n.split(" ").join("|")+")\\b"},{begin:/("[^"]*"|[^\s{}[\]]+)/}]}]},{className:"number",begin:/\*[0-9a-fA-F]+/},{begin:"\\b("+"add remove enable disable set get print export edit find run debug error info warning".split(" ").join("|")+")([\\s[(\\]|])",returnBegin:!0,contains:[{className:"built_in",begin:/\w+/}]},{className:"built_in",variants:[{begin:"(\\.\\./|/|\\s)(("+"traffic-flow traffic-generator firewall scheduler aaa accounting address-list address align area bandwidth-server bfd bgp bridge client clock community config connection console customer default dhcp-client dhcp-server discovery dns e-mail ethernet filter firmware gps graphing group hardware health hotspot identity igmp-proxy incoming instance interface ip ipsec ipv6 irq l2tp-server lcd ldp logging mac-server mac-winbox mangle manual mirror mme mpls nat nd neighbor network note ntp ospf ospf-v3 ovpn-server page peer pim ping policy pool port ppp pppoe-client pptp-server prefix profile proposal proxy queue radius resource rip ripng route routing screen script security-profiles server service service-port settings shares smb sms sniffer snmp snooper socks sstp-server system tool tracking type upgrade upnp user-manager users user vlan secret vrrp watchdog web-access wireless pptp pppoe lan wan layer7-protocol lease simple raw".split(" ").join("|")+");?\\s)+"},{begin:/\.\./,relevance:0}]}]}})),lk.registerLanguage("rsl",MM?LM:(MM=1,LM=function(e){const t={match:[/(surface|displacement|light|volume|imager)/,/\s+/,e.IDENT_RE],scope:{1:"keyword",3:"title.class"}};return{name:"RenderMan RSL",keywords:{keyword:["while","for","if","do","return","else","break","extern","continue"],built_in:["abs","acos","ambient","area","asin","atan","atmosphere","attribute","calculatenormal","ceil","cellnoise","clamp","comp","concat","cos","degrees","depth","Deriv","diffuse","distance","Du","Dv","environment","exp","faceforward","filterstep","floor","format","fresnel","incident","length","lightsource","log","match","max","min","mod","noise","normalize","ntransform","opposite","option","phong","pnoise","pow","printf","ptlined","radians","random","reflect","refract","renderinfo","round","setcomp","setxcomp","setycomp","setzcomp","shadow","sign","sin","smoothstep","specular","specularbrdf","spline","sqrt","step","tan","texture","textureinfo","trace","transform","vtransform","xcomp","ycomp","zcomp"],type:["matrix","float","color","point","normal","vector"]},illegal:""},i]}})),lk.registerLanguage("sas",GM?BM:(GM=1,BM=function(e){const t=e.regex;return{name:"SAS",case_insensitive:!0,keywords:{literal:["null","missing","_all_","_automatic_","_character_","_infile_","_n_","_name_","_null_","_numeric_","_user_","_webout_"],keyword:["do","if","then","else","end","until","while","abort","array","attrib","by","call","cards","cards4","catname","continue","datalines","datalines4","delete","delim","delimiter","display","dm","drop","endsas","error","file","filename","footnote","format","goto","in","infile","informat","input","keep","label","leave","length","libname","link","list","lostcard","merge","missing","modify","options","output","out","page","put","redirect","remove","rename","replace","retain","return","select","set","skip","startsas","stop","title","update","waitsas","where","window","x|0","systask","add","and","alter","as","cascade","check","create","delete","describe","distinct","drop","foreign","from","group","having","index","insert","into","in","key","like","message","modify","msgtype","not","null","on","or","order","primary","references","reset","restrict","select","set","table","unique","update","validate","view","where"]},contains:[{className:"keyword",begin:/^\s*(proc [\w\d_]+|data|run|quit)[\s;]/},{className:"variable",begin:/&[a-zA-Z_&][a-zA-Z0-9_]*\.?/},{begin:[/^\s*/,/datalines;|cards;/,/(?:.*\n)+/,/^\s*;\s*$/],className:{2:"keyword",3:"string"}},{begin:[/%mend|%macro/,/\s+/,/[a-zA-Z_&][a-zA-Z0-9_]*/],className:{1:"built_in",3:"title.function"}},{className:"built_in",begin:"%"+t.either("bquote","nrbquote","cmpres","qcmpres","compstor","datatyp","display","do","else","end","eval","global","goto","if","index","input","keydef","label","left","length","let","local","lowcase","macro","mend","nrbquote","nrquote","nrstr","put","qcmpres","qleft","qlowcase","qscan","qsubstr","qsysfunc","qtrim","quote","qupcase","scan","str","substr","superq","syscall","sysevalf","sysexec","sysfunc","sysget","syslput","sysprod","sysrc","sysrput","then","to","trim","unquote","until","upcase","verify","while","window")},{className:"title.function",begin:/%[a-zA-Z_][a-zA-Z_0-9]*/},{className:"meta",begin:t.either("abs","addr","airy","arcos","arsin","atan","attrc","attrn","band","betainv","blshift","bnot","bor","brshift","bxor","byte","cdf","ceil","cexist","cinv","close","cnonct","collate","compbl","compound","compress","cos","cosh","css","curobs","cv","daccdb","daccdbsl","daccsl","daccsyd","dacctab","dairy","date","datejul","datepart","datetime","day","dclose","depdb","depdbsl","depdbsl","depsl","depsl","depsyd","depsyd","deptab","deptab","dequote","dhms","dif","digamma","dim","dinfo","dnum","dopen","doptname","doptnum","dread","dropnote","dsname","erf","erfc","exist","exp","fappend","fclose","fcol","fdelete","fetch","fetchobs","fexist","fget","fileexist","filename","fileref","finfo","finv","fipname","fipnamel","fipstate","floor","fnonct","fnote","fopen","foptname","foptnum","fpoint","fpos","fput","fread","frewind","frlen","fsep","fuzz","fwrite","gaminv","gamma","getoption","getvarc","getvarn","hbound","hms","hosthelp","hour","ibessel","index","indexc","indexw","input","inputc","inputn","int","intck","intnx","intrr","irr","jbessel","juldate","kurtosis","lag","lbound","left","length","lgamma","libname","libref","log","log10","log2","logpdf","logpmf","logsdf","lowcase","max","mdy","mean","min","minute","mod","month","mopen","mort","n","netpv","nmiss","normal","note","npv","open","ordinal","pathname","pdf","peek","peekc","pmf","point","poisson","poke","probbeta","probbnml","probchi","probf","probgam","probhypr","probit","probnegb","probnorm","probt","put","putc","putn","qtr","quote","ranbin","rancau","ranexp","rangam","range","rank","rannor","ranpoi","rantbl","rantri","ranuni","repeat","resolve","reverse","rewind","right","round","saving","scan","sdf","second","sign","sin","sinh","skewness","soundex","spedis","sqrt","std","stderr","stfips","stname","stnamel","substr","sum","symget","sysget","sysmsg","sysprod","sysrc","system","tan","tanh","time","timepart","tinv","tnonct","today","translate","tranwrd","trigamma","trim","trimn","trunc","uniform","upcase","uss","var","varfmt","varinfmt","varlabel","varlen","varname","varnum","varray","varrayx","vartype","verify","vformat","vformatd","vformatdx","vformatn","vformatnx","vformatw","vformatwx","vformatx","vinarray","vinarrayx","vinformat","vinformatd","vinformatdx","vinformatn","vinformatnx","vinformatw","vinformatwx","vinformatx","vlabel","vlabelx","vlength","vlengthx","vname","vnamex","vtype","vtypex","weekday","year","yyq","zipfips","zipname","zipnamel","zipstate")+"(?=\\()"},{className:"string",variants:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},e.COMMENT("\\*",";"),e.C_BLOCK_COMMENT_MODE]}})),lk.registerLanguage("scala",VM?YM:(VM=1,YM=function(e){const t=e.regex,n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:/\$\{/,end:/\}/}]},a={className:"string",variants:[{begin:'"""',end:'"""'},{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[n],relevance:10}]},r={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},i={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},o={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},i]},s={className:"function",beginKeywords:"def",end:t.lookahead(/[:={\[(\n;]/),contains:[i]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if then forSome for while do throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit export enum given transparent"},contains:[{begin:["//>",/\s+/,/using/,/\s+/,/\S+/],beginScope:{1:"comment",3:"keyword",5:"type"},end:/$/,contains:[{className:"string",begin:/\S+/}]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,r,s,o,e.C_NUMBER_MODE,{begin:[/^\s*/,"extension",/\s+(?=[[(])/],beginScope:{2:"keyword"}},{begin:[/^\s*/,/end/,/\s+/,/(extension\b)?/],beginScope:{2:"keyword",4:"keyword"}},{match:/\.inline\b/},{begin:/\binline(?=\s)/,keywords:"inline"},{begin:[/\(\s*/,/using/,/\s+(?!\))/],beginScope:{2:"keyword"}},{className:"meta",begin:"@[A-Za-z]+"}]}})),lk.registerLanguage("scheme",zM?HM:(zM=1,HM=function(e){const t="[^\\(\\)\\[\\]\\{\\}\",'`;#|\\\\\\s]+",n="(-|\\+)?\\d+([./]\\d+)?",a={$pattern:t,built_in:"case-lambda call/cc class define-class exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / ; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string=? string>? string? substring symbol->string symbol? tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"},r={className:"literal",begin:"(#t|#f|#\\\\"+t+"|#\\\\.)"},i={className:"number",variants:[{begin:n,relevance:0},{begin:n+"[+\\-]"+n+"i",relevance:0},{begin:"#b[0-1]+(/[0-1]+)?"},{begin:"#o[0-7]+(/[0-7]+)?"},{begin:"#x[0-9a-f]+(/[0-9a-f]+)?"}]},o=e.QUOTE_STRING_MODE,s=[e.COMMENT(";","$",{relevance:0}),e.COMMENT("#\\|","\\|#")],l={begin:t,relevance:0},c={className:"symbol",begin:"'"+t},d={endsWithParent:!0,relevance:0},u={variants:[{begin:/'/},{begin:"`"}],contains:[{begin:"\\(",end:"\\)",contains:["self",r,o,i,l,c]}]},_={className:"name",relevance:0,begin:t,keywords:a},p={variants:[{begin:"\\(",end:"\\)"},{begin:"\\[",end:"\\]"}],contains:[{begin:/lambda/,endsWithParent:!0,returnBegin:!0,contains:[_,{endsParent:!0,variants:[{begin:/\(/,end:/\)/},{begin:/\[/,end:/\]/}],contains:[l]}]},_,d]};return d.contains=[r,i,o,l,c,u,p].concat(s),{name:"Scheme",aliases:["scm"],illegal:/\S/,contains:[e.SHEBANG(),i,o,c,u,p].concat(s)}})),lk.registerLanguage("scilab",$M?qM:($M=1,qM=function(e){const t=[e.C_NUMBER_MODE,{className:"string",begin:"'|\"",end:"'|\"",contains:[e.BACKSLASH_ESCAPE,{begin:"''"}]}];return{name:"Scilab",aliases:["sci"],keywords:{$pattern:/%?\w+/,keyword:"abort break case clear catch continue do elseif else endfunction end for function global if pause return resume select try then while",literal:"%f %F %t %T %pi %eps %inf %nan %e %i %z %s",built_in:"abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp error exec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isempty isinfisnan isvector lasterror length load linspace list listfiles log10 log2 log max min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand real round sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tan type typename warning zeros matrix"},illegal:'("|#|/\\*|\\s+/\\w+)',contains:[{className:"function",beginKeywords:"function",end:"$",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)"}]},{begin:"[a-zA-Z_][a-zA-Z_0-9]*[\\.']+",relevance:0},{begin:"\\[",end:"\\][\\.']*",relevance:0,contains:t},e.COMMENT("//","$")].concat(t)}})),lk.registerLanguage("scss",function(){if(WM)return jM;WM=1;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),n=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),a=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),r=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();return jM=function(i){const o=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}))(i),s=a,l=n,c="@[a-z-]+",d={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[i.C_LINE_COMMENT_MODE,i.C_BLOCK_COMMENT_MODE,o.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},o.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+e.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+l.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+s.join("|")+")"},d,{begin:/\(/,end:/\)/,contains:[o.CSS_NUMBER_MODE]},o.CSS_VARIABLE,{className:"attribute",begin:"\\b("+r.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[o.BLOCK_COMMENT,d,o.HEXCOLOR,o.CSS_NUMBER_MODE,i.QUOTE_STRING_MODE,i.APOS_STRING_MODE,o.IMPORTANT,o.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:c,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:t.join(" ")},contains:[{begin:c,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},d,i.QUOTE_STRING_MODE,i.APOS_STRING_MODE,o.HEXCOLOR,o.CSS_NUMBER_MODE]},o.FUNCTION_DISPATCH]}}}()),lk.registerLanguage("shell",QM?KM:(QM=1,KM=function(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}})),lk.registerLanguage("smali",ZM?XM:(ZM=1,XM=function(e){const t=["add","and","cmp","cmpg","cmpl","const","div","double","float","goto","if","int","long","move","mul","neg","new","nop","not","or","rem","return","shl","shr","sput","sub","throw","ushr","xor"];return{name:"Smali",contains:[{className:"string",begin:'"',end:'"',relevance:0},e.COMMENT("#","$",{relevance:0}),{className:"keyword",variants:[{begin:"\\s*\\.end\\s[a-zA-Z0-9]*"},{begin:"^[ ]*\\.[a-zA-Z]*",relevance:0},{begin:"\\s:[a-zA-Z_0-9]*",relevance:0},{begin:"\\s("+["transient","constructor","abstract","final","synthetic","public","private","protected","static","bridge","system"].join("|")+")"}]},{className:"built_in",variants:[{begin:"\\s("+t.join("|")+")\\s"},{begin:"\\s("+t.join("|")+")((-|/)[a-zA-Z0-9]+)+\\s",relevance:10},{begin:"\\s("+["aget","aput","array","check","execute","fill","filled","goto/16","goto/32","iget","instance","invoke","iput","monitor","packed","sget","sparse"].join("|")+")((-|/)[a-zA-Z0-9]+)*\\s",relevance:10}]},{className:"class",begin:"L[^(;:\n]*;",relevance:0},{begin:"[vp][0-9]+"}]}})),lk.registerLanguage("smalltalk",eP?JM:(eP=1,JM=function(e){const t="[a-z][a-zA-Z0-9_]*",n={className:"string",begin:"\\$.{1}"},a={className:"symbol",begin:"#"+e.UNDERSCORE_IDENT_RE};return{name:"Smalltalk",aliases:["st"],keywords:["self","super","nil","true","false","thisContext"],contains:[e.COMMENT('"','"'),e.APOS_STRING_MODE,{className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},{begin:t+":",relevance:0},e.C_NUMBER_MODE,a,n,{begin:"\\|[ ]*"+t+"([ ]+"+t+")*[ ]*\\|",returnBegin:!0,end:/\|/,illegal:/\S/,contains:[{begin:"(\\|[ ]*)?"+t}]},{begin:"#\\(",end:"\\)",contains:[e.APOS_STRING_MODE,n,e.C_NUMBER_MODE,a]}]}})),lk.registerLanguage("sml",nP?tP:(nP=1,tP=function(e){return{name:"SML (Standard ML)",aliases:["ml"],keywords:{$pattern:"[a-z_]\\w*!?",keyword:"abstype and andalso as case datatype do else end eqtype exception fn fun functor handle if in include infix infixr let local nonfix of op open orelse raise rec sharing sig signature struct structure then type val with withtype where while",built_in:"array bool char exn int list option order real ref string substring vector unit word",literal:"true false NONE SOME LESS EQUAL GREATER nil"},illegal:/\/\/|>>/,contains:[{className:"literal",begin:/\[(\|\|)?\]|\(\)/,relevance:0},e.COMMENT("\\(\\*","\\*\\)",{contains:["self"]}),{className:"symbol",begin:"'[A-Za-z_](?!')[\\w']*"},{className:"type",begin:"`[A-Z][\\w']*"},{className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},{begin:"[a-z_]\\w*'[\\w']*"},e.inherit(e.APOS_STRING_MODE,{className:"string",relevance:0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"number",begin:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",relevance:0},{begin:/[-=]>/}]}})),lk.registerLanguage("sqf",rP?aP:(rP=1,aP=function(e){const t={className:"string",variants:[{begin:'"',end:'"',contains:[{begin:'""',relevance:0}]},{begin:"'",end:"'",contains:[{begin:"''",relevance:0}]}]},n={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:"define undef ifdef ifndef else endif include if",contains:[{begin:/\\\n/,relevance:0},e.inherit(t,{className:"string"}),{begin:/<[^\n>]*>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]};return{name:"SQF",case_insensitive:!0,keywords:{keyword:["break","breakWith","breakOut","breakTo","case","catch","continue","continueWith","default","do","else","exit","exitWith","for","forEach","from","if","local","private","switch","step","then","throw","to","try","waitUntil","while","with"],built_in:["abs","accTime","acos","action","actionIDs","actionKeys","actionKeysEx","actionKeysImages","actionKeysNames","actionKeysNamesArray","actionName","actionParams","activateAddons","activatedAddons","activateKey","activeTitleEffectParams","add3DENConnection","add3DENEventHandler","add3DENLayer","addAction","addBackpack","addBackpackCargo","addBackpackCargoGlobal","addBackpackGlobal","addBinocularItem","addCamShake","addCuratorAddons","addCuratorCameraArea","addCuratorEditableObjects","addCuratorEditingArea","addCuratorPoints","addEditorObject","addEventHandler","addForce","addForceGeneratorRTD","addGoggles","addGroupIcon","addHandgunItem","addHeadgear","addItem","addItemCargo","addItemCargoGlobal","addItemPool","addItemToBackpack","addItemToUniform","addItemToVest","addLiveStats","addMagazine","addMagazineAmmoCargo","addMagazineCargo","addMagazineCargoGlobal","addMagazineGlobal","addMagazinePool","addMagazines","addMagazineTurret","addMenu","addMenuItem","addMissionEventHandler","addMPEventHandler","addMusicEventHandler","addonFiles","addOwnedMine","addPlayerScores","addPrimaryWeaponItem","addPublicVariableEventHandler","addRating","addResources","addScore","addScoreSide","addSecondaryWeaponItem","addSwitchableUnit","addTeamMember","addToRemainsCollector","addTorque","addUniform","addUserActionEventHandler","addVehicle","addVest","addWaypoint","addWeapon","addWeaponCargo","addWeaponCargoGlobal","addWeaponGlobal","addWeaponItem","addWeaponPool","addWeaponTurret","addWeaponWithAttachmentsCargo","addWeaponWithAttachmentsCargoGlobal","admin","agent","agents","AGLToASL","aimedAtTarget","aimPos","airDensityCurveRTD","airDensityRTD","airplaneThrottle","airportSide","AISFinishHeal","alive","all3DENEntities","allActiveTitleEffects","allAddonsInfo","allAirports","allControls","allCurators","allCutLayers","allDead","allDeadMen","allDiaryRecords","allDiarySubjects","allDisplays","allEnv3DSoundSources","allGroups","allLODs","allMapMarkers","allMines","allMissionObjects","allObjects","allow3DMode","allowCrewInImmobile","allowCuratorLogicIgnoreAreas","allowDamage","allowDammage","allowedService","allowFileOperations","allowFleeing","allowGetIn","allowService","allowSprint","allPlayers","allSimpleObjects","allSites","allTurrets","allUnits","allUnitsUAV","allUsers","allVariables","ambientTemperature","ammo","ammoOnPylon","and","animate","animateBay","animateDoor","animatePylon","animateSource","animationNames","animationPhase","animationSourcePhase","animationState","apertureParams","append","apply","armoryPoints","arrayIntersect","asin","ASLToAGL","ASLToATL","assert","assignAsCargo","assignAsCargoIndex","assignAsCommander","assignAsDriver","assignAsGunner","assignAsTurret","assignCurator","assignedCargo","assignedCommander","assignedDriver","assignedGroup","assignedGunner","assignedItems","assignedTarget","assignedTeam","assignedVehicle","assignedVehicleRole","assignedVehicles","assignItem","assignTeam","assignToAirport","atan","atan2","atg","ATLToASL","attachedObject","attachedObjects","attachedTo","attachObject","attachTo","attackEnabled","awake","backpack","backpackCargo","backpackContainer","backpackItems","backpackMagazines","backpackSpaceFor","behaviour","benchmark","bezierInterpolation","binocular","binocularItems","binocularMagazine","boundingBox","boundingBoxReal","boundingCenter","brakesDisabled","briefingName","buildingExit","buildingPos","buldozer_EnableRoadDiag","buldozer_IsEnabledRoadDiag","buldozer_LoadNewRoads","buldozer_reloadOperMap","buttonAction","buttonSetAction","cadetMode","calculatePath","calculatePlayerVisibilityByFriendly","call","callExtension","camCommand","camCommit","camCommitPrepared","camCommitted","camConstuctionSetParams","camCreate","camDestroy","cameraEffect","cameraEffectEnableHUD","cameraInterest","cameraOn","cameraView","campaignConfigFile","camPreload","camPreloaded","camPrepareBank","camPrepareDir","camPrepareDive","camPrepareFocus","camPrepareFov","camPrepareFovRange","camPreparePos","camPrepareRelPos","camPrepareTarget","camSetBank","camSetDir","camSetDive","camSetFocus","camSetFov","camSetFovRange","camSetPos","camSetRelPos","camSetTarget","camTarget","camUseNVG","canAdd","canAddItemToBackpack","canAddItemToUniform","canAddItemToVest","cancelSimpleTaskDestination","canDeployWeapon","canFire","canMove","canSlingLoad","canStand","canSuspend","canTriggerDynamicSimulation","canUnloadInCombat","canVehicleCargo","captive","captiveNum","cbChecked","cbSetChecked","ceil","channelEnabled","cheatsEnabled","checkAIFeature","checkVisibility","className","clear3DENAttribute","clear3DENInventory","clearAllItemsFromBackpack","clearBackpackCargo","clearBackpackCargoGlobal","clearForcesRTD","clearGroupIcons","clearItemCargo","clearItemCargoGlobal","clearItemPool","clearMagazineCargo","clearMagazineCargoGlobal","clearMagazinePool","clearOverlay","clearRadio","clearWeaponCargo","clearWeaponCargoGlobal","clearWeaponPool","clientOwner","closeDialog","closeDisplay","closeOverlay","collapseObjectTree","collect3DENHistory","collectiveRTD","collisionDisabledWith","combatBehaviour","combatMode","commandArtilleryFire","commandChat","commander","commandFire","commandFollow","commandFSM","commandGetOut","commandingMenu","commandMove","commandRadio","commandStop","commandSuppressiveFire","commandTarget","commandWatch","comment","commitOverlay","compatibleItems","compatibleMagazines","compile","compileFinal","compileScript","completedFSM","composeText","configClasses","configFile","configHierarchy","configName","configOf","configProperties","configSourceAddonList","configSourceMod","configSourceModList","confirmSensorTarget","connectTerminalToUAV","connectToServer","controlsGroupCtrl","conversationDisabled","copyFromClipboard","copyToClipboard","copyWaypoints","cos","count","countEnemy","countFriendly","countSide","countType","countUnknown","create3DENComposition","create3DENEntity","createAgent","createCenter","createDialog","createDiaryLink","createDiaryRecord","createDiarySubject","createDisplay","createGearDialog","createGroup","createGuardedPoint","createHashMap","createHashMapFromArray","createLocation","createMarker","createMarkerLocal","createMenu","createMine","createMissionDisplay","createMPCampaignDisplay","createSimpleObject","createSimpleTask","createSite","createSoundSource","createTask","createTeam","createTrigger","createUnit","createVehicle","createVehicleCrew","createVehicleLocal","crew","ctAddHeader","ctAddRow","ctClear","ctCurSel","ctData","ctFindHeaderRows","ctFindRowHeader","ctHeaderControls","ctHeaderCount","ctRemoveHeaders","ctRemoveRows","ctrlActivate","ctrlAddEventHandler","ctrlAngle","ctrlAnimateModel","ctrlAnimationPhaseModel","ctrlAt","ctrlAutoScrollDelay","ctrlAutoScrollRewind","ctrlAutoScrollSpeed","ctrlBackgroundColor","ctrlChecked","ctrlClassName","ctrlCommit","ctrlCommitted","ctrlCreate","ctrlDelete","ctrlEnable","ctrlEnabled","ctrlFade","ctrlFontHeight","ctrlForegroundColor","ctrlHTMLLoaded","ctrlIDC","ctrlIDD","ctrlMapAnimAdd","ctrlMapAnimClear","ctrlMapAnimCommit","ctrlMapAnimDone","ctrlMapCursor","ctrlMapMouseOver","ctrlMapPosition","ctrlMapScale","ctrlMapScreenToWorld","ctrlMapSetPosition","ctrlMapWorldToScreen","ctrlModel","ctrlModelDirAndUp","ctrlModelScale","ctrlMousePosition","ctrlParent","ctrlParentControlsGroup","ctrlPosition","ctrlRemoveAllEventHandlers","ctrlRemoveEventHandler","ctrlScale","ctrlScrollValues","ctrlSetActiveColor","ctrlSetAngle","ctrlSetAutoScrollDelay","ctrlSetAutoScrollRewind","ctrlSetAutoScrollSpeed","ctrlSetBackgroundColor","ctrlSetChecked","ctrlSetDisabledColor","ctrlSetEventHandler","ctrlSetFade","ctrlSetFocus","ctrlSetFont","ctrlSetFontH1","ctrlSetFontH1B","ctrlSetFontH2","ctrlSetFontH2B","ctrlSetFontH3","ctrlSetFontH3B","ctrlSetFontH4","ctrlSetFontH4B","ctrlSetFontH5","ctrlSetFontH5B","ctrlSetFontH6","ctrlSetFontH6B","ctrlSetFontHeight","ctrlSetFontHeightH1","ctrlSetFontHeightH2","ctrlSetFontHeightH3","ctrlSetFontHeightH4","ctrlSetFontHeightH5","ctrlSetFontHeightH6","ctrlSetFontHeightSecondary","ctrlSetFontP","ctrlSetFontPB","ctrlSetFontSecondary","ctrlSetForegroundColor","ctrlSetModel","ctrlSetModelDirAndUp","ctrlSetModelScale","ctrlSetMousePosition","ctrlSetPixelPrecision","ctrlSetPosition","ctrlSetPositionH","ctrlSetPositionW","ctrlSetPositionX","ctrlSetPositionY","ctrlSetScale","ctrlSetScrollValues","ctrlSetShadow","ctrlSetStructuredText","ctrlSetText","ctrlSetTextColor","ctrlSetTextColorSecondary","ctrlSetTextSecondary","ctrlSetTextSelection","ctrlSetTooltip","ctrlSetTooltipColorBox","ctrlSetTooltipColorShade","ctrlSetTooltipColorText","ctrlSetTooltipMaxWidth","ctrlSetURL","ctrlSetURLOverlayMode","ctrlShadow","ctrlShow","ctrlShown","ctrlStyle","ctrlText","ctrlTextColor","ctrlTextHeight","ctrlTextSecondary","ctrlTextSelection","ctrlTextWidth","ctrlTooltip","ctrlType","ctrlURL","ctrlURLOverlayMode","ctrlVisible","ctRowControls","ctRowCount","ctSetCurSel","ctSetData","ctSetHeaderTemplate","ctSetRowTemplate","ctSetValue","ctValue","curatorAddons","curatorCamera","curatorCameraArea","curatorCameraAreaCeiling","curatorCoef","curatorEditableObjects","curatorEditingArea","curatorEditingAreaType","curatorMouseOver","curatorPoints","curatorRegisteredObjects","curatorSelected","curatorWaypointCost","current3DENOperation","currentChannel","currentCommand","currentMagazine","currentMagazineDetail","currentMagazineDetailTurret","currentMagazineTurret","currentMuzzle","currentNamespace","currentPilot","currentTask","currentTasks","currentThrowable","currentVisionMode","currentWaypoint","currentWeapon","currentWeaponMode","currentWeaponTurret","currentZeroing","cursorObject","cursorTarget","customChat","customRadio","customWaypointPosition","cutFadeOut","cutObj","cutRsc","cutText","damage","date","dateToNumber","dayTime","deActivateKey","debriefingText","debugFSM","debugLog","decayGraphValues","deg","delete3DENEntities","deleteAt","deleteCenter","deleteCollection","deleteEditorObject","deleteGroup","deleteGroupWhenEmpty","deleteIdentity","deleteLocation","deleteMarker","deleteMarkerLocal","deleteRange","deleteResources","deleteSite","deleteStatus","deleteTeam","deleteVehicle","deleteVehicleCrew","deleteWaypoint","detach","detectedMines","diag_activeMissionFSMs","diag_activeScripts","diag_activeSQFScripts","diag_activeSQSScripts","diag_allMissionEventHandlers","diag_captureFrame","diag_captureFrameToFile","diag_captureSlowFrame","diag_codePerformance","diag_deltaTime","diag_drawmode","diag_dumpCalltraceToLog","diag_dumpScriptAssembly","diag_dumpTerrainSynth","diag_dynamicSimulationEnd","diag_enable","diag_enabled","diag_exportConfig","diag_exportTerrainSVG","diag_fps","diag_fpsmin","diag_frameno","diag_getTerrainSegmentOffset","diag_lightNewLoad","diag_list","diag_localized","diag_log","diag_logSlowFrame","diag_mergeConfigFile","diag_recordTurretLimits","diag_resetFSM","diag_resetshapes","diag_scope","diag_setLightNew","diag_stacktrace","diag_tickTime","diag_toggle","dialog","diarySubjectExists","didJIP","didJIPOwner","difficulty","difficultyEnabled","difficultyEnabledRTD","difficultyOption","direction","directionStabilizationEnabled","directSay","disableAI","disableBrakes","disableCollisionWith","disableConversation","disableDebriefingStats","disableMapIndicators","disableNVGEquipment","disableRemoteSensors","disableSerialization","disableTIEquipment","disableUAVConnectability","disableUserInput","displayAddEventHandler","displayChild","displayCtrl","displayParent","displayRemoveAllEventHandlers","displayRemoveEventHandler","displaySetEventHandler","displayUniqueName","displayUpdate","dissolveTeam","distance","distance2D","distanceSqr","distributionRegion","do3DENAction","doArtilleryFire","doFire","doFollow","doFSM","doGetOut","doMove","doorPhase","doStop","doSuppressiveFire","doTarget","doWatch","drawArrow","drawEllipse","drawIcon","drawIcon3D","drawLaser","drawLine","drawLine3D","drawLink","drawLocation","drawPolygon","drawRectangle","drawTriangle","driver","drop","dynamicSimulationDistance","dynamicSimulationDistanceCoef","dynamicSimulationEnabled","dynamicSimulationSystemEnabled","echo","edit3DENMissionAttributes","editObject","editorSetEventHandler","effectiveCommander","elevatePeriscope","emptyPositions","enableAI","enableAIFeature","enableAimPrecision","enableAttack","enableAudioFeature","enableAutoStartUpRTD","enableAutoTrimRTD","enableCamShake","enableCaustics","enableChannel","enableCollisionWith","enableCopilot","enableDebriefingStats","enableDiagLegend","enableDirectionStabilization","enableDynamicSimulation","enableDynamicSimulationSystem","enableEndDialog","enableEngineArtillery","enableEnvironment","enableFatigue","enableGunLights","enableInfoPanelComponent","enableIRLasers","enableMimics","enablePersonTurret","enableRadio","enableReload","enableRopeAttach","enableSatNormalOnDetail","enableSaving","enableSentences","enableSimulation","enableSimulationGlobal","enableStamina","enableStressDamage","enableTeamSwitch","enableTraffic","enableUAVConnectability","enableUAVWaypoints","enableVehicleCargo","enableVehicleSensor","enableWeaponDisassembly","endLoadingScreen","endMission","engineOn","enginesIsOnRTD","enginesPowerRTD","enginesRpmRTD","enginesTorqueRTD","entities","environmentEnabled","environmentVolume","equipmentDisabled","estimatedEndServerTime","estimatedTimeLeft","evalObjectArgument","everyBackpack","everyContainer","exec","execEditorScript","execFSM","execVM","exp","expectedDestination","exportJIPMessages","eyeDirection","eyePos","face","faction","fadeEnvironment","fadeMusic","fadeRadio","fadeSound","fadeSpeech","failMission","fileExists","fillWeaponsFromPool","find","findAny","findCover","findDisplay","findEditorObject","findEmptyPosition","findEmptyPositionReady","findIf","findNearestEnemy","finishMissionInit","finite","fire","fireAtTarget","firstBackpack","flag","flagAnimationPhase","flagOwner","flagSide","flagTexture","flatten","fleeing","floor","flyInHeight","flyInHeightASL","focusedCtrl","fog","fogForecast","fogParams","forceAddUniform","forceAtPositionRTD","forceCadetDifficulty","forcedMap","forceEnd","forceFlagTexture","forceFollowRoad","forceGeneratorRTD","forceMap","forceRespawn","forceSpeed","forceUnicode","forceWalk","forceWeaponFire","forceWeatherChange","forEachMember","forEachMemberAgent","forEachMemberTeam","forgetTarget","format","formation","formationDirection","formationLeader","formationMembers","formationPosition","formationTask","formatText","formLeader","freeExtension","freeLook","fromEditor","fuel","fullCrew","gearIDCAmmoCount","gearSlotAmmoCount","gearSlotData","gestureState","get","get3DENActionState","get3DENAttribute","get3DENCamera","get3DENConnections","get3DENEntity","get3DENEntityID","get3DENGrid","get3DENIconsVisible","get3DENLayerEntities","get3DENLinesVisible","get3DENMissionAttribute","get3DENMouseOver","get3DENSelected","getAimingCoef","getAllEnv3DSoundControllers","getAllEnvSoundControllers","getAllHitPointsDamage","getAllOwnedMines","getAllPylonsInfo","getAllSoundControllers","getAllUnitTraits","getAmmoCargo","getAnimAimPrecision","getAnimSpeedCoef","getArray","getArtilleryAmmo","getArtilleryComputerSettings","getArtilleryETA","getAssetDLCInfo","getAssignedCuratorLogic","getAssignedCuratorUnit","getAttackTarget","getAudioOptionVolumes","getBackpackCargo","getBleedingRemaining","getBurningValue","getCalculatePlayerVisibilityByFriendly","getCameraViewDirection","getCargoIndex","getCenterOfMass","getClientState","getClientStateNumber","getCompatiblePylonMagazines","getConnectedUAV","getConnectedUAVUnit","getContainerMaxLoad","getCorpse","getCruiseControl","getCursorObjectParams","getCustomAimCoef","getCustomSoundController","getCustomSoundControllerCount","getDammage","getDebriefingText","getDescription","getDir","getDirVisual","getDiverState","getDLCAssetsUsage","getDLCAssetsUsageByName","getDLCs","getDLCUsageTime","getEditorCamera","getEditorMode","getEditorObjectScope","getElevationOffset","getEngineTargetRPMRTD","getEnv3DSoundController","getEnvSoundController","getEventHandlerInfo","getFatigue","getFieldManualStartPage","getForcedFlagTexture","getForcedSpeed","getFriend","getFSMVariable","getFuelCargo","getGraphValues","getGroupIcon","getGroupIconParams","getGroupIcons","getHideFrom","getHit","getHitIndex","getHitPointDamage","getItemCargo","getLighting","getLightingAt","getLoadedModsInfo","getMagazineCargo","getMarkerColor","getMarkerPos","getMarkerSize","getMarkerType","getMass","getMissionConfig","getMissionConfigValue","getMissionDLCs","getMissionLayerEntities","getMissionLayers","getMissionPath","getModelInfo","getMousePosition","getMusicPlayedTime","getNumber","getObjectArgument","getObjectChildren","getObjectDLC","getObjectFOV","getObjectID","getObjectMaterials","getObjectProxy","getObjectScale","getObjectTextures","getObjectType","getObjectViewDistance","getOpticsMode","getOrDefault","getOrDefaultCall","getOxygenRemaining","getPersonUsedDLCs","getPilotCameraDirection","getPilotCameraPosition","getPilotCameraRotation","getPilotCameraTarget","getPiPViewDistance","getPlateNumber","getPlayerChannel","getPlayerID","getPlayerScores","getPlayerUID","getPlayerVoNVolume","getPos","getPosASL","getPosASLVisual","getPosASLW","getPosATL","getPosATLVisual","getPosVisual","getPosWorld","getPosWorldVisual","getPylonMagazines","getRelDir","getRelPos","getRemoteSensorsDisabled","getRepairCargo","getResolution","getRoadInfo","getRotorBrakeRTD","getSensorTargets","getSensorThreats","getShadowDistance","getShotParents","getSlingLoad","getSoundController","getSoundControllerResult","getSpeed","getStamina","getStatValue","getSteamFriendsServers","getSubtitleOptions","getSuppression","getTerrainGrid","getTerrainHeight","getTerrainHeightASL","getTerrainInfo","getText","getTextRaw","getTextureInfo","getTextWidth","getTiParameters","getTotalDLCUsageTime","getTrimOffsetRTD","getTurretLimits","getTurretOpticsMode","getUnitFreefallInfo","getUnitLoadout","getUnitTrait","getUnloadInCombat","getUserInfo","getUserMFDText","getUserMFDValue","getVariable","getVehicleCargo","getVehicleTiPars","getWeaponCargo","getWeaponSway","getWingsOrientationRTD","getWingsPositionRTD","getWPPos","glanceAt","globalChat","globalRadio","goggles","goto","group","groupChat","groupFromNetId","groupIconSelectable","groupIconsVisible","groupID","groupOwner","groupRadio","groups","groupSelectedUnits","groupSelectUnit","gunner","gusts","halt","handgunItems","handgunMagazine","handgunWeapon","handsHit","hashValue","hasInterface","hasPilotCamera","hasWeapon","hcAllGroups","hcGroupParams","hcLeader","hcRemoveAllGroups","hcRemoveGroup","hcSelected","hcSelectGroup","hcSetGroup","hcShowBar","hcShownBar","headgear","hideBody","hideObject","hideObjectGlobal","hideSelection","hint","hintC","hintCadet","hintSilent","hmd","hostMission","htmlLoad","HUDMovementLevels","humidity","image","importAllGroups","importance","in","inArea","inAreaArray","incapacitatedState","inflame","inflamed","infoPanel","infoPanelComponentEnabled","infoPanelComponents","infoPanels","inGameUISetEventHandler","inheritsFrom","initAmbientLife","inPolygon","inputAction","inputController","inputMouse","inRangeOfArtillery","insert","insertEditorObject","intersect","is3DEN","is3DENMultiplayer","is3DENPreview","isAbleToBreathe","isActionMenuVisible","isAgent","isAimPrecisionEnabled","isAllowedCrewInImmobile","isArray","isAutoHoverOn","isAutonomous","isAutoStartUpEnabledRTD","isAutotest","isAutoTrimOnRTD","isAwake","isBleeding","isBurning","isClass","isCollisionLightOn","isCopilotEnabled","isDamageAllowed","isDedicated","isDLCAvailable","isEngineOn","isEqualRef","isEqualTo","isEqualType","isEqualTypeAll","isEqualTypeAny","isEqualTypeArray","isEqualTypeParams","isFilePatchingEnabled","isFinal","isFlashlightOn","isFlatEmpty","isForcedWalk","isFormationLeader","isGameFocused","isGamePaused","isGroupDeletedWhenEmpty","isHidden","isInRemainsCollector","isInstructorFigureEnabled","isIRLaserOn","isKeyActive","isKindOf","isLaserOn","isLightOn","isLocalized","isManualFire","isMarkedForCollection","isMissionProfileNamespaceLoaded","isMultiplayer","isMultiplayerSolo","isNil","isNotEqualRef","isNotEqualTo","isNull","isNumber","isObjectHidden","isObjectRTD","isOnRoad","isPiPEnabled","isPlayer","isRealTime","isRemoteExecuted","isRemoteExecutedJIP","isSaving","isSensorTargetConfirmed","isServer","isShowing3DIcons","isSimpleObject","isSprintAllowed","isStaminaEnabled","isSteamMission","isSteamOverlayEnabled","isStreamFriendlyUIEnabled","isStressDamageEnabled","isText","isTouchingGround","isTurnedOut","isTutHintsEnabled","isUAVConnectable","isUAVConnected","isUIContext","isUniformAllowed","isVehicleCargo","isVehicleRadarOn","isVehicleSensorEnabled","isWalking","isWeaponDeployed","isWeaponRested","itemCargo","items","itemsWithMagazines","join","joinAs","joinAsSilent","joinSilent","joinString","kbAddDatabase","kbAddDatabaseTargets","kbAddTopic","kbHasTopic","kbReact","kbRemoveTopic","kbTell","kbWasSaid","keyImage","keyName","keys","knowsAbout","land","landAt","landResult","language","laserTarget","lbAdd","lbClear","lbColor","lbColorRight","lbCurSel","lbData","lbDelete","lbIsSelected","lbPicture","lbPictureRight","lbSelection","lbSetColor","lbSetColorRight","lbSetCurSel","lbSetData","lbSetPicture","lbSetPictureColor","lbSetPictureColorDisabled","lbSetPictureColorSelected","lbSetPictureRight","lbSetPictureRightColor","lbSetPictureRightColorDisabled","lbSetPictureRightColorSelected","lbSetSelectColor","lbSetSelectColorRight","lbSetSelected","lbSetText","lbSetTextRight","lbSetTooltip","lbSetValue","lbSize","lbSort","lbSortBy","lbSortByValue","lbText","lbTextRight","lbTooltip","lbValue","leader","leaderboardDeInit","leaderboardGetRows","leaderboardInit","leaderboardRequestRowsFriends","leaderboardRequestRowsGlobal","leaderboardRequestRowsGlobalAroundUser","leaderboardsRequestUploadScore","leaderboardsRequestUploadScoreKeepBest","leaderboardState","leaveVehicle","libraryCredits","libraryDisclaimers","lifeState","lightAttachObject","lightDetachObject","lightIsOn","lightnings","limitSpeed","linearConversion","lineIntersects","lineIntersectsObjs","lineIntersectsSurfaces","lineIntersectsWith","linkItem","list","listObjects","listRemoteTargets","listVehicleSensors","ln","lnbAddArray","lnbAddColumn","lnbAddRow","lnbClear","lnbColor","lnbColorRight","lnbCurSelRow","lnbData","lnbDeleteColumn","lnbDeleteRow","lnbGetColumnsPosition","lnbPicture","lnbPictureRight","lnbSetColor","lnbSetColorRight","lnbSetColumnsPos","lnbSetCurSelRow","lnbSetData","lnbSetPicture","lnbSetPictureColor","lnbSetPictureColorRight","lnbSetPictureColorSelected","lnbSetPictureColorSelectedRight","lnbSetPictureRight","lnbSetText","lnbSetTextRight","lnbSetTooltip","lnbSetValue","lnbSize","lnbSort","lnbSortBy","lnbSortByValue","lnbText","lnbTextRight","lnbValue","load","loadAbs","loadBackpack","loadConfig","loadFile","loadGame","loadIdentity","loadMagazine","loadOverlay","loadStatus","loadUniform","loadVest","localize","localNamespace","locationPosition","lock","lockCameraTo","lockCargo","lockDriver","locked","lockedCameraTo","lockedCargo","lockedDriver","lockedInventory","lockedTurret","lockIdentity","lockInventory","lockTurret","lockWp","log","logEntities","logNetwork","logNetworkTerminate","lookAt","lookAtPos","magazineCargo","magazines","magazinesAllTurrets","magazinesAmmo","magazinesAmmoCargo","magazinesAmmoFull","magazinesDetail","magazinesDetailBackpack","magazinesDetailUniform","magazinesDetailVest","magazinesTurret","magazineTurretAmmo","mapAnimAdd","mapAnimClear","mapAnimCommit","mapAnimDone","mapCenterOnCamera","mapGridPosition","markAsFinishedOnSteam","markerAlpha","markerBrush","markerChannel","markerColor","markerDir","markerPolyline","markerPos","markerShadow","markerShape","markerSize","markerText","markerType","matrixMultiply","matrixTranspose","max","maxLoad","members","menuAction","menuAdd","menuChecked","menuClear","menuCollapse","menuData","menuDelete","menuEnable","menuEnabled","menuExpand","menuHover","menuPicture","menuSetAction","menuSetCheck","menuSetData","menuSetPicture","menuSetShortcut","menuSetText","menuSetURL","menuSetValue","menuShortcut","menuShortcutText","menuSize","menuSort","menuText","menuURL","menuValue","merge","min","mineActive","mineDetectedBy","missileTarget","missileTargetPos","missionConfigFile","missionDifficulty","missionEnd","missionName","missionNameSource","missionNamespace","missionProfileNamespace","missionStart","missionVersion","mod","modelToWorld","modelToWorldVisual","modelToWorldVisualWorld","modelToWorldWorld","modParams","moonIntensity","moonPhase","morale","move","move3DENCamera","moveInAny","moveInCargo","moveInCommander","moveInDriver","moveInGunner","moveInTurret","moveObjectToEnd","moveOut","moveTime","moveTo","moveToCompleted","moveToFailed","musicVolume","name","namedProperties","nameSound","nearEntities","nearestBuilding","nearestLocation","nearestLocations","nearestLocationWithDubbing","nearestMines","nearestObject","nearestObjects","nearestTerrainObjects","nearObjects","nearObjectsReady","nearRoads","nearSupplies","nearTargets","needReload","needService","netId","netObjNull","newOverlay","nextMenuItemIndex","nextWeatherChange","nMenuItems","not","numberOfEnginesRTD","numberToDate","objectCurators","objectFromNetId","objectParent","objStatus","onBriefingGroup","onBriefingNotes","onBriefingPlan","onBriefingTeamSwitch","onCommandModeChanged","onDoubleClick","onEachFrame","onGroupIconClick","onGroupIconOverEnter","onGroupIconOverLeave","onHCGroupSelectionChanged","onMapSingleClick","onPlayerConnected","onPlayerDisconnected","onPreloadFinished","onPreloadStarted","onShowNewObject","onTeamSwitch","openCuratorInterface","openDLCPage","openGPS","openMap","openSteamApp","openYoutubeVideo","or","orderGetIn","overcast","overcastForecast","owner","param","params","parseNumber","parseSimpleArray","parseText","parsingNamespace","particlesQuality","periscopeElevation","pickWeaponPool","pitch","pixelGrid","pixelGridBase","pixelGridNoUIScale","pixelH","pixelW","playableSlotsNumber","playableUnits","playAction","playActionNow","player","playerRespawnTime","playerSide","playersNumber","playGesture","playMission","playMove","playMoveNow","playMusic","playScriptedMission","playSound","playSound3D","playSoundUI","pose","position","positionCameraToWorld","posScreenToWorld","posWorldToScreen","ppEffectAdjust","ppEffectCommit","ppEffectCommitted","ppEffectCreate","ppEffectDestroy","ppEffectEnable","ppEffectEnabled","ppEffectForceInNVG","precision","preloadCamera","preloadObject","preloadSound","preloadTitleObj","preloadTitleRsc","preprocessFile","preprocessFileLineNumbers","primaryWeapon","primaryWeaponItems","primaryWeaponMagazine","priority","processDiaryLink","productVersion","profileName","profileNamespace","profileNameSteam","progressLoadingScreen","progressPosition","progressSetPosition","publicVariable","publicVariableClient","publicVariableServer","pushBack","pushBackUnique","putWeaponPool","queryItemsPool","queryMagazinePool","queryWeaponPool","rad","radioChannelAdd","radioChannelCreate","radioChannelInfo","radioChannelRemove","radioChannelSetCallSign","radioChannelSetLabel","radioEnabled","radioVolume","rain","rainbow","rainParams","random","rank","rankId","rating","rectangular","regexFind","regexMatch","regexReplace","registeredTasks","registerTask","reload","reloadEnabled","remoteControl","remoteExec","remoteExecCall","remoteExecutedOwner","remove3DENConnection","remove3DENEventHandler","remove3DENLayer","removeAction","removeAll3DENEventHandlers","removeAllActions","removeAllAssignedItems","removeAllBinocularItems","removeAllContainers","removeAllCuratorAddons","removeAllCuratorCameraAreas","removeAllCuratorEditingAreas","removeAllEventHandlers","removeAllHandgunItems","removeAllItems","removeAllItemsWithMagazines","removeAllMissionEventHandlers","removeAllMPEventHandlers","removeAllMusicEventHandlers","removeAllOwnedMines","removeAllPrimaryWeaponItems","removeAllSecondaryWeaponItems","removeAllUserActionEventHandlers","removeAllWeapons","removeBackpack","removeBackpackGlobal","removeBinocularItem","removeCuratorAddons","removeCuratorCameraArea","removeCuratorEditableObjects","removeCuratorEditingArea","removeDiaryRecord","removeDiarySubject","removeDrawIcon","removeDrawLinks","removeEventHandler","removeFromRemainsCollector","removeGoggles","removeGroupIcon","removeHandgunItem","removeHeadgear","removeItem","removeItemFromBackpack","removeItemFromUniform","removeItemFromVest","removeItems","removeMagazine","removeMagazineGlobal","removeMagazines","removeMagazinesTurret","removeMagazineTurret","removeMenuItem","removeMissionEventHandler","removeMPEventHandler","removeMusicEventHandler","removeOwnedMine","removePrimaryWeaponItem","removeSecondaryWeaponItem","removeSimpleTask","removeSwitchableUnit","removeTeamMember","removeUniform","removeUserActionEventHandler","removeVest","removeWeapon","removeWeaponAttachmentCargo","removeWeaponCargo","removeWeaponGlobal","removeWeaponTurret","reportRemoteTarget","requiredVersion","resetCamShake","resetSubgroupDirection","resize","resources","respawnVehicle","restartEditorCamera","reveal","revealMine","reverse","reversedMouseY","roadAt","roadsConnectedTo","roleDescription","ropeAttachedObjects","ropeAttachedTo","ropeAttachEnabled","ropeAttachTo","ropeCreate","ropeCut","ropeDestroy","ropeDetach","ropeEndPosition","ropeLength","ropes","ropesAttachedTo","ropeSegments","ropeUnwind","ropeUnwound","rotorsForcesRTD","rotorsRpmRTD","round","runInitScript","safeZoneH","safeZoneW","safeZoneWAbs","safeZoneX","safeZoneXAbs","safeZoneY","save3DENInventory","saveGame","saveIdentity","saveJoysticks","saveMissionProfileNamespace","saveOverlay","saveProfileNamespace","saveStatus","saveVar","savingEnabled","say","say2D","say3D","scopeName","score","scoreSide","screenshot","screenToWorld","scriptDone","scriptName","scudState","secondaryWeapon","secondaryWeaponItems","secondaryWeaponMagazine","select","selectBestPlaces","selectDiarySubject","selectedEditorObjects","selectEditorObject","selectionNames","selectionPosition","selectionVectorDirAndUp","selectLeader","selectMax","selectMin","selectNoPlayer","selectPlayer","selectRandom","selectRandomWeighted","selectWeapon","selectWeaponTurret","sendAUMessage","sendSimpleCommand","sendTask","sendTaskResult","sendUDPMessage","sentencesEnabled","serverCommand","serverCommandAvailable","serverCommandExecutable","serverName","serverNamespace","serverTime","set","set3DENAttribute","set3DENAttributes","set3DENGrid","set3DENIconsVisible","set3DENLayer","set3DENLinesVisible","set3DENLogicType","set3DENMissionAttribute","set3DENMissionAttributes","set3DENModelsVisible","set3DENObjectType","set3DENSelected","setAccTime","setActualCollectiveRTD","setAirplaneThrottle","setAirportSide","setAmmo","setAmmoCargo","setAmmoOnPylon","setAnimSpeedCoef","setAperture","setApertureNew","setArmoryPoints","setAttributes","setAutonomous","setBehaviour","setBehaviourStrong","setBleedingRemaining","setBrakesRTD","setCameraInterest","setCamShakeDefParams","setCamShakeParams","setCamUseTi","setCaptive","setCenterOfMass","setCollisionLight","setCombatBehaviour","setCombatMode","setCompassOscillation","setConvoySeparation","setCruiseControl","setCuratorCameraAreaCeiling","setCuratorCoef","setCuratorEditingAreaType","setCuratorWaypointCost","setCurrentChannel","setCurrentTask","setCurrentWaypoint","setCustomAimCoef","SetCustomMissionData","setCustomSoundController","setCustomWeightRTD","setDamage","setDammage","setDate","setDebriefingText","setDefaultCamera","setDestination","setDetailMapBlendPars","setDiaryRecordText","setDiarySubjectPicture","setDir","setDirection","setDrawIcon","setDriveOnPath","setDropInterval","setDynamicSimulationDistance","setDynamicSimulationDistanceCoef","setEditorMode","setEditorObjectScope","setEffectCondition","setEffectiveCommander","setEngineRpmRTD","setFace","setFaceanimation","setFatigue","setFeatureType","setFlagAnimationPhase","setFlagOwner","setFlagSide","setFlagTexture","setFog","setForceGeneratorRTD","setFormation","setFormationTask","setFormDir","setFriend","setFromEditor","setFSMVariable","setFuel","setFuelCargo","setGroupIcon","setGroupIconParams","setGroupIconsSelectable","setGroupIconsVisible","setGroupid","setGroupIdGlobal","setGroupOwner","setGusts","setHideBehind","setHit","setHitIndex","setHitPointDamage","setHorizonParallaxCoef","setHUDMovementLevels","setHumidity","setIdentity","setImportance","setInfoPanel","setLeader","setLightAmbient","setLightAttenuation","setLightBrightness","setLightColor","setLightConePars","setLightDayLight","setLightFlareMaxDistance","setLightFlareSize","setLightIntensity","setLightIR","setLightnings","setLightUseFlare","setLightVolumeShape","setLocalWindParams","setMagazineTurretAmmo","setMarkerAlpha","setMarkerAlphaLocal","setMarkerBrush","setMarkerBrushLocal","setMarkerColor","setMarkerColorLocal","setMarkerDir","setMarkerDirLocal","setMarkerPolyline","setMarkerPolylineLocal","setMarkerPos","setMarkerPosLocal","setMarkerShadow","setMarkerShadowLocal","setMarkerShape","setMarkerShapeLocal","setMarkerSize","setMarkerSizeLocal","setMarkerText","setMarkerTextLocal","setMarkerType","setMarkerTypeLocal","setMass","setMaxLoad","setMimic","setMissileTarget","setMissileTargetPos","setMousePosition","setMusicEffect","setMusicEventHandler","setName","setNameSound","setObjectArguments","setObjectMaterial","setObjectMaterialGlobal","setObjectProxy","setObjectScale","setObjectTexture","setObjectTextureGlobal","setObjectViewDistance","setOpticsMode","setOvercast","setOwner","setOxygenRemaining","setParticleCircle","setParticleClass","setParticleFire","setParticleParams","setParticleRandom","setPilotCameraDirection","setPilotCameraRotation","setPilotCameraTarget","setPilotLight","setPiPEffect","setPiPViewDistance","setPitch","setPlateNumber","setPlayable","setPlayerRespawnTime","setPlayerVoNVolume","setPos","setPosASL","setPosASL2","setPosASLW","setPosATL","setPosition","setPosWorld","setPylonLoadout","setPylonsPriority","setRadioMsg","setRain","setRainbow","setRandomLip","setRank","setRectangular","setRepairCargo","setRotorBrakeRTD","setShadowDistance","setShotParents","setSide","setSimpleTaskAlwaysVisible","setSimpleTaskCustomData","setSimpleTaskDescription","setSimpleTaskDestination","setSimpleTaskTarget","setSimpleTaskType","setSimulWeatherLayers","setSize","setSkill","setSlingLoad","setSoundEffect","setSpeaker","setSpeech","setSpeedMode","setStamina","setStaminaScheme","setStatValue","setSuppression","setSystemOfUnits","setTargetAge","setTaskMarkerOffset","setTaskResult","setTaskState","setTerrainGrid","setTerrainHeight","setText","setTimeMultiplier","setTiParameter","setTitleEffect","setTowParent","setTrafficDensity","setTrafficDistance","setTrafficGap","setTrafficSpeed","setTriggerActivation","setTriggerArea","setTriggerInterval","setTriggerStatements","setTriggerText","setTriggerTimeout","setTriggerType","setTurretLimits","setTurretOpticsMode","setType","setUnconscious","setUnitAbility","setUnitCombatMode","setUnitFreefallHeight","setUnitLoadout","setUnitPos","setUnitPosWeak","setUnitRank","setUnitRecoilCoefficient","setUnitTrait","setUnloadInCombat","setUserActionText","setUserMFDText","setUserMFDValue","setVariable","setVectorDir","setVectorDirAndUp","setVectorUp","setVehicleAmmo","setVehicleAmmoDef","setVehicleArmor","setVehicleCargo","setVehicleId","setVehicleLock","setVehiclePosition","setVehicleRadar","setVehicleReceiveRemoteTargets","setVehicleReportOwnPosition","setVehicleReportRemoteTargets","setVehicleTiPars","setVehicleVarName","setVelocity","setVelocityModelSpace","setVelocityTransformation","setViewDistance","setVisibleIfTreeCollapsed","setWantedRPMRTD","setWaves","setWaypointBehaviour","setWaypointCombatMode","setWaypointCompletionRadius","setWaypointDescription","setWaypointForceBehaviour","setWaypointFormation","setWaypointHousePosition","setWaypointLoiterAltitude","setWaypointLoiterRadius","setWaypointLoiterType","setWaypointName","setWaypointPosition","setWaypointScript","setWaypointSpeed","setWaypointStatements","setWaypointTimeout","setWaypointType","setWaypointVisible","setWeaponReloadingTime","setWeaponZeroing","setWind","setWindDir","setWindForce","setWindStr","setWingForceScaleRTD","setWPPos","show3DIcons","showChat","showCinemaBorder","showCommandingMenu","showCompass","showCuratorCompass","showGps","showHUD","showLegend","showMap","shownArtilleryComputer","shownChat","shownCompass","shownCuratorCompass","showNewEditorObject","shownGps","shownHUD","shownMap","shownPad","shownRadio","shownScoretable","shownSubtitles","shownUAVFeed","shownWarrant","shownWatch","showPad","showRadio","showScoretable","showSubtitles","showUAVFeed","showWarrant","showWatch","showWaypoint","showWaypoints","side","sideChat","sideRadio","simpleTasks","simulationEnabled","simulCloudDensity","simulCloudOcclusion","simulInClouds","simulWeatherSync","sin","size","sizeOf","skill","skillFinal","skipTime","sleep","sliderPosition","sliderRange","sliderSetPosition","sliderSetRange","sliderSetSpeed","sliderSpeed","slingLoadAssistantShown","soldierMagazines","someAmmo","sort","soundVolume","spawn","speaker","speechVolume","speed","speedMode","splitString","sqrt","squadParams","stance","startLoadingScreen","stop","stopEngineRTD","stopped","str","sunOrMoon","supportInfo","suppressFor","surfaceIsWater","surfaceNormal","surfaceTexture","surfaceType","swimInDepth","switchableUnits","switchAction","switchCamera","switchGesture","switchLight","switchMove","synchronizedObjects","synchronizedTriggers","synchronizedWaypoints","synchronizeObjectsAdd","synchronizeObjectsRemove","synchronizeTrigger","synchronizeWaypoint","systemChat","systemOfUnits","systemTime","systemTimeUTC","tan","targetKnowledge","targets","targetsAggregate","targetsQuery","taskAlwaysVisible","taskChildren","taskCompleted","taskCustomData","taskDescription","taskDestination","taskHint","taskMarkerOffset","taskName","taskParent","taskResult","taskState","taskType","teamMember","teamName","teams","teamSwitch","teamSwitchEnabled","teamType","terminate","terrainIntersect","terrainIntersectASL","terrainIntersectAtASL","text","textLog","textLogFormat","tg","time","timeMultiplier","titleCut","titleFadeOut","titleObj","titleRsc","titleText","toArray","toFixed","toLower","toLowerANSI","toString","toUpper","toUpperANSI","triggerActivated","triggerActivation","triggerAmmo","triggerArea","triggerAttachedVehicle","triggerAttachObject","triggerAttachVehicle","triggerDynamicSimulation","triggerInterval","triggerStatements","triggerText","triggerTimeout","triggerTimeoutCurrent","triggerType","trim","turretLocal","turretOwner","turretUnit","tvAdd","tvClear","tvCollapse","tvCollapseAll","tvCount","tvCurSel","tvData","tvDelete","tvExpand","tvExpandAll","tvIsSelected","tvPicture","tvPictureRight","tvSelection","tvSetColor","tvSetCurSel","tvSetData","tvSetPicture","tvSetPictureColor","tvSetPictureColorDisabled","tvSetPictureColorSelected","tvSetPictureRight","tvSetPictureRightColor","tvSetPictureRightColorDisabled","tvSetPictureRightColorSelected","tvSetSelectColor","tvSetSelected","tvSetText","tvSetTooltip","tvSetValue","tvSort","tvSortAll","tvSortByValue","tvSortByValueAll","tvText","tvTooltip","tvValue","type","typeName","typeOf","UAVControl","uiNamespace","uiSleep","unassignCurator","unassignItem","unassignTeam","unassignVehicle","underwater","uniform","uniformContainer","uniformItems","uniformMagazines","uniqueUnitItems","unitAddons","unitAimPosition","unitAimPositionVisual","unitBackpack","unitCombatMode","unitIsUAV","unitPos","unitReady","unitRecoilCoefficient","units","unitsBelowHeight","unitTurret","unlinkItem","unlockAchievement","unregisterTask","updateDrawIcon","updateMenuItem","updateObjectTree","useAIOperMapObstructionTest","useAISteeringComponent","useAudioTimeForMoves","userInputDisabled","values","vectorAdd","vectorCos","vectorCrossProduct","vectorDiff","vectorDir","vectorDirVisual","vectorDistance","vectorDistanceSqr","vectorDotProduct","vectorFromTo","vectorLinearConversion","vectorMagnitude","vectorMagnitudeSqr","vectorModelToWorld","vectorModelToWorldVisual","vectorMultiply","vectorNormalized","vectorUp","vectorUpVisual","vectorWorldToModel","vectorWorldToModelVisual","vehicle","vehicleCargoEnabled","vehicleChat","vehicleMoveInfo","vehicleRadio","vehicleReceiveRemoteTargets","vehicleReportOwnPosition","vehicleReportRemoteTargets","vehicles","vehicleVarName","velocity","velocityModelSpace","verifySignature","vest","vestContainer","vestItems","vestMagazines","viewDistance","visibleCompass","visibleGps","visibleMap","visiblePosition","visiblePositionASL","visibleScoretable","visibleWatch","waves","waypointAttachedObject","waypointAttachedVehicle","waypointAttachObject","waypointAttachVehicle","waypointBehaviour","waypointCombatMode","waypointCompletionRadius","waypointDescription","waypointForceBehaviour","waypointFormation","waypointHousePosition","waypointLoiterAltitude","waypointLoiterRadius","waypointLoiterType","waypointName","waypointPosition","waypoints","waypointScript","waypointsEnabledUAV","waypointShow","waypointSpeed","waypointStatements","waypointTimeout","waypointTimeoutCurrent","waypointType","waypointVisible","weaponAccessories","weaponAccessoriesCargo","weaponCargo","weaponDirection","weaponInertia","weaponLowered","weaponReloadingTime","weapons","weaponsInfo","weaponsItems","weaponsItemsCargo","weaponState","weaponsTurret","weightRTD","WFSideText","wind","windDir","windRTD","windStr","wingsForcesRTD","worldName","worldSize","worldToModel","worldToModelVisual","worldToScreen"],literal:["blufor","civilian","configNull","controlNull","displayNull","diaryRecordNull","east","endl","false","grpNull","independent","lineBreak","locationNull","nil","objNull","opfor","pi","resistance","scriptNull","sideAmbientLife","sideEmpty","sideEnemy","sideFriendly","sideLogic","sideUnknown","taskNull","teamMemberNull","true","west"]},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.NUMBER_MODE,{className:"variable",begin:/\b_+[a-zA-Z]\w*/},{className:"title",begin:/[a-zA-Z][a-zA-Z_0-9]*_fnc_[a-zA-Z_0-9]+/},t,n],illegal:[/\$[^a-fA-F0-9]/,/\w\$/,/\?/,/@/,/ \| /,/[a-zA-Z_]\./,/\:\=/,/\[\:/]}})),lk.registerLanguage("sql",oP?iP:(oP=1,iP=function(e){const t=e.regex,n=e.COMMENT("--","$"),a=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],r=a,i=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter(e=>!a.includes(e)),o={match:t.concat(/\b/,t.either(...r),/\s*\(/),relevance:0,keywords:{built_in:r}};function s(e){return t.concat(/\b/,t.either(...e.map(e=>e.replace(/\s+/,"\\s+"))),/\b/)}const l={scope:"keyword",match:s(["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"]),relevance:0};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:function(e,{exceptions:t,when:n}={}){const a=n;return t=t||[],e.map(e=>e.match(/\|\d+$/)||t.includes(e)?e:a(e)?`${e}|0`:e)}(i,{when:e=>e.length<3}),literal:["true","false","unknown"],type:["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]},contains:[{scope:"type",match:s(["double precision","large object","with timezone","without timezone"])},l,o,{scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},{scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},{begin:/"/,end:/"/,contains:[{match:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,{scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}})),lk.registerLanguage("stan",lP?sP:(lP=1,sP=function(e){const t=e.regex,n=["bernoulli","bernoulli_logit","bernoulli_logit_glm","beta","beta_binomial","beta_proportion","binomial","binomial_logit","categorical","categorical_logit","categorical_logit_glm","cauchy","chi_square","dirichlet","discrete_range","double_exponential","exp_mod_normal","exponential","frechet","gamma","gaussian_dlm_obs","gumbel","hmm_latent","hypergeometric","inv_chi_square","inv_gamma","inv_wishart","inv_wishart_cholesky","lkj_corr","lkj_corr_cholesky","logistic","loglogistic","lognormal","multi_gp","multi_gp_cholesky","multinomial","multinomial_logit","multi_normal","multi_normal_cholesky","multi_normal_prec","multi_student_cholesky_t","multi_student_t","multi_student_t_cholesky","neg_binomial","neg_binomial_2","neg_binomial_2_log","neg_binomial_2_log_glm","normal","normal_id_glm","ordered_logistic","ordered_logistic_glm","ordered_probit","pareto","pareto_type_2","poisson","poisson_log","poisson_log_glm","rayleigh","scaled_inv_chi_square","skew_double_exponential","skew_normal","std_normal","std_normal_log","student_t","uniform","von_mises","weibull","wiener","wishart","wishart_cholesky"],a=e.COMMENT(/\/\*/,/\*\//,{relevance:0,contains:[{scope:"doctag",match:/@(return|param)/}]}),r={scope:"meta",begin:/#include\b/,end:/$/,contains:[{match:/[a-z][a-z-._]+/,scope:"string"},e.C_LINE_COMMENT_MODE]},i=["lower","upper","offset","multiplier"];return{name:"Stan",aliases:["stanfuncs"],keywords:{$pattern:e.IDENT_RE,title:["functions","model","data","parameters","quantities","transformed","generated"],type:["array","tuple","complex","int","real","vector","complex_vector","ordered","positive_ordered","simplex","unit_vector","row_vector","complex_row_vector","matrix","complex_matrix","cholesky_factor_corr|10","cholesky_factor_cov|10","corr_matrix|10","cov_matrix|10","void"],keyword:["for","in","if","else","while","break","continue","return"],built_in:["abs","acos","acosh","add_diag","algebra_solver","algebra_solver_newton","append_array","append_col","append_row","asin","asinh","atan","atan2","atanh","bessel_first_kind","bessel_second_kind","binary_log_loss","block","cbrt","ceil","chol2inv","cholesky_decompose","choose","col","cols","columns_dot_product","columns_dot_self","complex_schur_decompose","complex_schur_decompose_t","complex_schur_decompose_u","conj","cos","cosh","cov_exp_quad","crossprod","csr_extract","csr_extract_u","csr_extract_v","csr_extract_w","csr_matrix_times_vector","csr_to_dense_matrix","cumulative_sum","dae","dae_tol","determinant","diag_matrix","diagonal","diag_post_multiply","diag_pre_multiply","digamma","dims","distance","dot_product","dot_self","eigendecompose","eigendecompose_sym","eigenvalues","eigenvalues_sym","eigenvectors","eigenvectors_sym","erf","erfc","exp","exp2","expm1","falling_factorial","fdim","fft","fft2","floor","fma","fmax","fmin","fmod","gamma_p","gamma_q","generalized_inverse","get_imag","get_real","head","hmm_hidden_state_prob","hmm_marginal","hypot","identity_matrix","inc_beta","integrate_1d","integrate_ode","integrate_ode_adams","integrate_ode_bdf","integrate_ode_rk45","int_step","inv","inv_cloglog","inv_erfc","inverse","inverse_spd","inv_fft","inv_fft2","inv_inc_beta","inv_logit","inv_Phi","inv_sqrt","inv_square","is_inf","is_nan","lambert_w0","lambert_wm1","lbeta","lchoose","ldexp","lgamma","linspaced_array","linspaced_int_array","linspaced_row_vector","linspaced_vector","lmgamma","lmultiply","log","log1m","log1m_exp","log1m_inv_logit","log1p","log1p_exp","log_determinant","log_diff_exp","log_falling_factorial","log_inv_logit","log_inv_logit_diff","logit","log_mix","log_modified_bessel_first_kind","log_rising_factorial","log_softmax","log_sum_exp","machine_precision","map_rect","matrix_exp","matrix_exp_multiply","matrix_power","max","mdivide_left_spd","mdivide_left_tri_low","mdivide_right_spd","mdivide_right_tri_low","mean","min","modified_bessel_first_kind","modified_bessel_second_kind","multiply_lower_tri_self_transpose","negative_infinity","norm","norm1","norm2","not_a_number","num_elements","ode_adams","ode_adams_tol","ode_adjoint_tol_ctl","ode_bdf","ode_bdf_tol","ode_ckrk","ode_ckrk_tol","ode_rk45","ode_rk45_tol","one_hot_array","one_hot_int_array","one_hot_row_vector","one_hot_vector","ones_array","ones_int_array","ones_row_vector","ones_vector","owens_t","Phi","Phi_approx","polar","positive_infinity","pow","print","prod","proj","qr","qr_Q","qr_R","qr_thin","qr_thin_Q","qr_thin_R","quad_form","quad_form_diag","quad_form_sym","quantile","rank","reduce_sum","reject","rep_array","rep_matrix","rep_row_vector","rep_vector","reverse","rising_factorial","round","row","rows","rows_dot_product","rows_dot_self","scale_matrix_exp_multiply","sd","segment","sin","singular_values","sinh","size","softmax","sort_asc","sort_desc","sort_indices_asc","sort_indices_desc","sqrt","square","squared_distance","step","sub_col","sub_row","sum","svd","svd_U","svd_V","symmetrize_from_lower_tri","tail","tan","tanh","target","tcrossprod","tgamma","to_array_1d","to_array_2d","to_complex","to_int","to_matrix","to_row_vector","to_vector","trace","trace_gen_quad_form","trace_quad_form","trigamma","trunc","uniform_simplex","variance","zeros_array","zeros_int_array","zeros_row_vector"]},contains:[e.C_LINE_COMMENT_MODE,r,e.HASH_COMMENT_MODE,a,{scope:"built_in",match:/\s(pi|e|sqrt2|log2|log10)(?=\()/,relevance:0},{match:t.concat(/[<,]\s*/,t.either(...i),/\s*=/),keywords:i},{scope:"keyword",match:/\btarget(?=\s*\+=)/},{match:[/~\s*/,t.either(...n),/(?:\(\))/,/\s*T(?=\s*\[)/],scope:{2:"built_in",4:"keyword"}},{scope:"built_in",keywords:n,begin:t.concat(/\w*/,t.either(...n),/(_lpdf|_lupdf|_lpmf|_cdf|_lcdf|_lccdf|_qf)(?=\s*[\(.*\)])/)},{begin:[/~/,/\s*/,t.concat(t.either(...n),/(?=\s*[\(.*\)])/)],scope:{3:"built_in"}},{begin:[/~/,/\s*\w+(?=\s*[\(.*\)])/,"(?!.*/\b("+t.either(...n)+")\b)"],scope:{2:"title.function"}},{scope:"title.function",begin:/\w*(_lpdf|_lupdf|_lpmf|_cdf|_lcdf|_lccdf|_qf)(?=\s*[\(.*\)])/},{scope:"number",match:t.concat(/(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)/,/(?:[eE][+-]?\d+(?:_\d+)*)?i?(?!\w)/),relevance:0},{scope:"string",begin:/"/,end:/"/}]}})),lk.registerLanguage("stata",dP?cP:(dP=1,cP=function(e){return{name:"Stata",aliases:["do","ado"],case_insensitive:!0,keywords:"if else in foreach for forv forva forval forvalu forvalue forvalues by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm areg areg_p args arima arima_dr arima_estat arima_p as asmprobit asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser assert avplot avplot_7 avplots avplots_7 bcskew0 bgodfrey bias binreg bip0_lf biplot bipp_lf bipr_lf bipr_p biprobit bitest bitesti bitowt blogit bmemsize boot bootsamp bootstrap bootstrap_8 boxco_l boxco_p boxcox boxcox_6 boxcox_p bprobit br break brier bro brow brows browse brr brrstat bs bs_7 bsampl_w bsample bsample_7 bsqreg bstat bstat_7 bstat_8 bstrap bstrap_7 bubble bubbleplot ca ca_estat ca_p cabiplot camat canon canon_8 canon_8_p canon_estat canon_p cap caprojection capt captu captur capture cat cc cchart cchart_7 cci cd censobs_table centile cf char chdir checkdlgfiles checkestimationsample checkhlpfiles checksum chelp ci cii cl class classutil clear cli clis clist clo clog clog_lf clog_p clogi clogi_sw clogit clogit_lf clogit_p clogitp clogl_sw cloglog clonevar clslistarray cluster cluster_measures cluster_stop cluster_tree cluster_tree_8 clustermat cmdlog cnr cnre cnreg cnreg_p cnreg_sw cnsreg codebook collaps4 collapse colormult_nb colormult_nw compare compress conf confi confir confirm conren cons const constr constra constrai constrain constraint continue contract copy copyright copysource cor corc corr corr2data corr_anti corr_kmo corr_smc corre correl correla correlat correlate corrgram cou coun count cox cox_p cox_sw coxbase coxhaz coxvar cprplot cprplot_7 crc cret cretu cretur creturn cross cs cscript cscript_log csi ct ct_is ctset ctst_5 ctst_st cttost cumsp cumsp_7 cumul cusum cusum_7 cutil d|0 datasig datasign datasigna datasignat datasignatu datasignatur datasignature datetof db dbeta de dec deco decod decode deff des desc descr descri describ describe destring dfbeta dfgls dfuller di di_g dir dirstats dis discard disp disp_res disp_s displ displa display distinct do doe doed doedi doedit dotplot dotplot_7 dprobit drawnorm drop ds ds_util dstdize duplicates durbina dwstat dydx e|0 ed edi edit egen eivreg emdef en enc enco encod encode eq erase ereg ereg_lf ereg_p ereg_sw ereghet ereghet_glf ereghet_glf_sh ereghet_gp ereghet_ilf ereghet_ilf_sh ereghet_ip eret eretu eretur ereturn err erro error esize est est_cfexist est_cfname est_clickable est_expand est_hold est_table est_unhold est_unholdok estat estat_default estat_summ estat_vce_only esti estimates etodow etof etomdy ex exi exit expand expandcl fac fact facto factor factor_estat factor_p factor_pca_rotated factor_rotate factormat fcast fcast_compute fcast_graph fdades fdadesc fdadescr fdadescri fdadescrib fdadescribe fdasav fdasave fdause fh_st file open file read file close file filefilter fillin find_hlp_file findfile findit findit_7 fit fl fli flis flist for5_0 forest forestplot form forma format fpredict frac_154 frac_adj frac_chk frac_cox frac_ddp frac_dis frac_dv frac_in frac_mun frac_pp frac_pq frac_pv frac_wgt frac_xo fracgen fracplot fracplot_7 fracpoly fracpred fron_ex fron_hn fron_p fron_tn fron_tn2 frontier ftodate ftoe ftomdy ftowdate funnel funnelplot g|0 gamhet_glf gamhet_gp gamhet_ilf gamhet_ip gamma gamma_d2 gamma_p gamma_sw gammahet gdi_hexagon gdi_spokes ge gen gene gener genera generat generate genrank genstd genvmean gettoken gl gladder gladder_7 glim_l01 glim_l02 glim_l03 glim_l04 glim_l05 glim_l06 glim_l07 glim_l08 glim_l09 glim_l10 glim_l11 glim_l12 glim_lf glim_mu glim_nw1 glim_nw2 glim_nw3 glim_p glim_v1 glim_v2 glim_v3 glim_v4 glim_v5 glim_v6 glim_v7 glm glm_6 glm_p glm_sw glmpred glo glob globa global glogit glogit_8 glogit_p gmeans gnbre_lf gnbreg gnbreg_5 gnbreg_p gomp_lf gompe_sw gomper_p gompertz gompertzhet gomphet_glf gomphet_glf_sh gomphet_gp gomphet_ilf gomphet_ilf_sh gomphet_ip gphdot gphpen gphprint gprefs gprobi_p gprobit gprobit_8 gr gr7 gr_copy gr_current gr_db gr_describe gr_dir gr_draw gr_draw_replay gr_drop gr_edit gr_editviewopts gr_example gr_example2 gr_export gr_print gr_qscheme gr_query gr_read gr_rename gr_replay gr_save gr_set gr_setscheme gr_table gr_undo gr_use graph graph7 grebar greigen greigen_7 greigen_8 grmeanby grmeanby_7 gs_fileinfo gs_filetype gs_graphinfo gs_stat gsort gwood h|0 hadimvo hareg hausman haver he heck_d2 heckma_p heckman heckp_lf heckpr_p heckprob hel help hereg hetpr_lf hetpr_p hetprob hettest hexdump hilite hist hist_7 histogram hlogit hlu hmeans hotel hotelling hprobit hreg hsearch icd9 icd9_ff icd9p iis impute imtest inbase include inf infi infil infile infix inp inpu input ins insheet insp inspe inspec inspect integ inten intreg intreg_7 intreg_p intrg2_ll intrg_ll intrg_ll2 ipolate iqreg ir irf irf_create irfm iri is_svy is_svysum isid istdize ivprob_1_lf ivprob_lf ivprobit ivprobit_p ivreg ivreg_footnote ivtob_1_lf ivtob_lf ivtobit ivtobit_p jackknife jacknife jknife jknife_6 jknife_8 jkstat joinby kalarma1 kap kap_3 kapmeier kappa kapwgt kdensity kdensity_7 keep ksm ksmirnov ktau kwallis l|0 la lab labbe labbeplot labe label labelbook ladder levels levelsof leverage lfit lfit_p li lincom line linktest lis list lloghet_glf lloghet_glf_sh lloghet_gp lloghet_ilf lloghet_ilf_sh lloghet_ip llogi_sw llogis_p llogist llogistic llogistichet lnorm_lf lnorm_sw lnorma_p lnormal lnormalhet lnormhet_glf lnormhet_glf_sh lnormhet_gp lnormhet_ilf lnormhet_ilf_sh lnormhet_ip lnskew0 loadingplot loc loca local log logi logis_lf logistic logistic_p logit logit_estat logit_p loglogs logrank loneway lookfor lookup lowess lowess_7 lpredict lrecomp lroc lroc_7 lrtest ls lsens lsens_7 lsens_x lstat ltable ltable_7 ltriang lv lvr2plot lvr2plot_7 m|0 ma mac macr macro makecns man manova manova_estat manova_p manovatest mantel mark markin markout marksample mat mat_capp mat_order mat_put_rr mat_rapp mata mata_clear mata_describe mata_drop mata_matdescribe mata_matsave mata_matuse mata_memory mata_mlib mata_mosave mata_rename mata_which matalabel matcproc matlist matname matr matri matrix matrix_input__dlg matstrik mcc mcci md0_ md1_ md1debug_ md2_ md2debug_ mds mds_estat mds_p mdsconfig mdslong mdsmat mdsshepard mdytoe mdytof me_derd mean means median memory memsize menl meqparse mer merg merge meta mfp mfx mhelp mhodds minbound mixed_ll mixed_ll_reparm mkassert mkdir mkmat mkspline ml ml_5 ml_adjs ml_bhhhs ml_c_d ml_check ml_clear ml_cnt ml_debug ml_defd ml_e0 ml_e0_bfgs ml_e0_cycle ml_e0_dfp ml_e0i ml_e1 ml_e1_bfgs ml_e1_bhhh ml_e1_cycle ml_e1_dfp ml_e2 ml_e2_cycle ml_ebfg0 ml_ebfr0 ml_ebfr1 ml_ebh0q ml_ebhh0 ml_ebhr0 ml_ebr0i ml_ecr0i ml_edfp0 ml_edfr0 ml_edfr1 ml_edr0i ml_eds ml_eer0i ml_egr0i ml_elf ml_elf_bfgs ml_elf_bhhh ml_elf_cycle ml_elf_dfp ml_elfi ml_elfs ml_enr0i ml_enrr0 ml_erdu0 ml_erdu0_bfgs ml_erdu0_bhhh ml_erdu0_bhhhq ml_erdu0_cycle ml_erdu0_dfp ml_erdu0_nrbfgs ml_exde ml_footnote ml_geqnr ml_grad0 ml_graph ml_hbhhh ml_hd0 ml_hold ml_init ml_inv ml_log ml_max ml_mlout ml_mlout_8 ml_model ml_nb0 ml_opt ml_p ml_plot ml_query ml_rdgrd ml_repor ml_s_e ml_score ml_searc ml_technique ml_unhold mleval mlf_ mlmatbysum mlmatsum mlog mlogi mlogit mlogit_footnote mlogit_p mlopts mlsum mlvecsum mnl0_ mor more mov move mprobit mprobit_lf mprobit_p mrdu0_ mrdu1_ mvdecode mvencode mvreg mvreg_estat n|0 nbreg nbreg_al nbreg_lf nbreg_p nbreg_sw nestreg net newey newey_7 newey_p news nl nl_7 nl_9 nl_9_p nl_p nl_p_7 nlcom nlcom_p nlexp2 nlexp2_7 nlexp2a nlexp2a_7 nlexp3 nlexp3_7 nlgom3 nlgom3_7 nlgom4 nlgom4_7 nlinit nllog3 nllog3_7 nllog4 nllog4_7 nlog_rd nlogit nlogit_p nlogitgen nlogittree nlpred no nobreak noi nois noisi noisil noisily note notes notes_dlg nptrend numlabel numlist odbc old_ver olo olog ologi ologi_sw ologit ologit_p ologitp on one onew onewa oneway op_colnm op_comp op_diff op_inv op_str opr opro oprob oprob_sw oprobi oprobi_p oprobit oprobitp opts_exclusive order orthog orthpoly ou out outf outfi outfil outfile outs outsh outshe outshee outsheet ovtest pac pac_7 palette parse parse_dissim pause pca pca_8 pca_display pca_estat pca_p pca_rotate pcamat pchart pchart_7 pchi pchi_7 pcorr pctile pentium pergram pergram_7 permute permute_8 personal peto_st pkcollapse pkcross pkequiv pkexamine pkexamine_7 pkshape pksumm pksumm_7 pl plo plot plugin pnorm pnorm_7 poisgof poiss_lf poiss_sw poisso_p poisson poisson_estat post postclose postfile postutil pperron pr prais prais_e prais_e2 prais_p predict predictnl preserve print pro prob probi probit probit_estat probit_p proc_time procoverlay procrustes procrustes_estat procrustes_p profiler prog progr progra program prop proportion prtest prtesti pwcorr pwd q\\s qby qbys qchi qchi_7 qladder qladder_7 qnorm qnorm_7 qqplot qqplot_7 qreg qreg_c qreg_p qreg_sw qu quadchk quantile quantile_7 que quer query range ranksum ratio rchart rchart_7 rcof recast reclink recode reg reg3 reg3_p regdw regr regre regre_p2 regres regres_p regress regress_estat regriv_p remap ren rena renam rename renpfix repeat replace report reshape restore ret retu retur return rm rmdir robvar roccomp roccomp_7 roccomp_8 rocf_lf rocfit rocfit_8 rocgold rocplot rocplot_7 roctab roctab_7 rolling rologit rologit_p rot rota rotat rotate rotatemat rreg rreg_p ru run runtest rvfplot rvfplot_7 rvpplot rvpplot_7 sa safesum sample sampsi sav save savedresults saveold sc sca scal scala scalar scatter scm_mine sco scob_lf scob_p scobi_sw scobit scor score scoreplot scoreplot_help scree screeplot screeplot_help sdtest sdtesti se search separate seperate serrbar serrbar_7 serset set set_defaults sfrancia sh she shel shell shewhart shewhart_7 signestimationsample signrank signtest simul simul_7 simulate simulate_8 sktest sleep slogit slogit_d2 slogit_p smooth snapspan so sor sort spearman spikeplot spikeplot_7 spikeplt spline_x split sqreg sqreg_p sret sretu sretur sreturn ssc st st_ct st_hc st_hcd st_hcd_sh st_is st_issys st_note st_promo st_set st_show st_smpl st_subid stack statsby statsby_8 stbase stci stci_7 stcox stcox_estat stcox_fr stcox_fr_ll stcox_p stcox_sw stcoxkm stcoxkm_7 stcstat stcurv stcurve stcurve_7 stdes stem stepwise stereg stfill stgen stir stjoin stmc stmh stphplot stphplot_7 stphtest stphtest_7 stptime strate strate_7 streg streg_sw streset sts sts_7 stset stsplit stsum sttocc sttoct stvary stweib su suest suest_8 sum summ summa summar summari summariz summarize sunflower sureg survcurv survsum svar svar_p svmat svy svy_disp svy_dreg svy_est svy_est_7 svy_estat svy_get svy_gnbreg_p svy_head svy_header svy_heckman_p svy_heckprob_p svy_intreg_p svy_ivreg_p svy_logistic_p svy_logit_p svy_mlogit_p svy_nbreg_p svy_ologit_p svy_oprobit_p svy_poisson_p svy_probit_p svy_regress_p svy_sub svy_sub_7 svy_x svy_x_7 svy_x_p svydes svydes_8 svygen svygnbreg svyheckman svyheckprob svyintreg svyintreg_7 svyintrg svyivreg svylc svylog_p svylogit svymarkout svymarkout_8 svymean svymlog svymlogit svynbreg svyolog svyologit svyoprob svyoprobit svyopts svypois svypois_7 svypoisson svyprobit svyprobt svyprop svyprop_7 svyratio svyreg svyreg_p svyregress svyset svyset_7 svyset_8 svytab svytab_7 svytest svytotal sw sw_8 swcnreg swcox swereg swilk swlogis swlogit swologit swoprbt swpois swprobit swqreg swtobit swweib symmetry symmi symplot symplot_7 syntax sysdescribe sysdir sysuse szroeter ta tab tab1 tab2 tab_or tabd tabdi tabdis tabdisp tabi table tabodds tabodds_7 tabstat tabu tabul tabula tabulat tabulate te tempfile tempname tempvar tes test testnl testparm teststd tetrachoric time_it timer tis tob tobi tobit tobit_p tobit_sw token tokeni tokeniz tokenize tostring total translate translator transmap treat_ll treatr_p treatreg trim trimfill trnb_cons trnb_mean trpoiss_d2 trunc_ll truncr_p truncreg tsappend tset tsfill tsline tsline_ex tsreport tsrevar tsrline tsset tssmooth tsunab ttest ttesti tut_chk tut_wait tutorial tw tware_st two twoway twoway__fpfit_serset twoway__function_gen twoway__histogram_gen twoway__ipoint_serset twoway__ipoints_serset twoway__kdensity_gen twoway__lfit_serset twoway__normgen_gen twoway__pci_serset twoway__qfit_serset twoway__scatteri_serset twoway__sunflower_gen twoway_ksm_serset ty typ type typeof u|0 unab unabbrev unabcmd update us use uselabel var var_mkcompanion var_p varbasic varfcast vargranger varirf varirf_add varirf_cgraph varirf_create varirf_ctable varirf_describe varirf_dir varirf_drop varirf_erase varirf_graph varirf_ograph varirf_rename varirf_set varirf_table varlist varlmar varnorm varsoc varstable varstable_w varstable_w2 varwle vce vec vec_fevd vec_mkphi vec_p vec_p_w vecirf_create veclmar veclmar_w vecnorm vecnorm_w vecrank vecstable verinst vers versi versio version view viewsource vif vwls wdatetof webdescribe webseek webuse weib1_lf weib2_lf weib_lf weib_lf0 weibhet_glf weibhet_glf_sh weibhet_glfa weibhet_glfa_sh weibhet_gp weibhet_ilf weibhet_ilf_sh weibhet_ilfa weibhet_ilfa_sh weibhet_ip weibu_sw weibul_p weibull weibull_c weibull_s weibullhet wh whelp whi which whil while wilc_st wilcoxon win wind windo window winexec wntestb wntestb_7 wntestq xchart xchart_7 xcorr xcorr_7 xi xi_6 xmlsav xmlsave xmluse xpose xsh xshe xshel xshell xt_iis xt_tis xtab_p xtabond xtbin_p xtclog xtcloglog xtcloglog_8 xtcloglog_d2 xtcloglog_pa_p xtcloglog_re_p xtcnt_p xtcorr xtdata xtdes xtfront_p xtfrontier xtgee xtgee_elink xtgee_estat xtgee_makeivar xtgee_p xtgee_plink xtgls xtgls_p xthaus xthausman xtht_p xthtaylor xtile xtint_p xtintreg xtintreg_8 xtintreg_d2 xtintreg_p xtivp_1 xtivp_2 xtivreg xtline xtline_ex xtlogit xtlogit_8 xtlogit_d2 xtlogit_fe_p xtlogit_pa_p xtlogit_re_p xtmixed xtmixed_estat xtmixed_p xtnb_fe xtnb_lf xtnbreg xtnbreg_pa_p xtnbreg_refe_p xtpcse xtpcse_p xtpois xtpoisson xtpoisson_d2 xtpoisson_pa_p xtpoisson_refe_p xtpred xtprobit xtprobit_8 xtprobit_d2 xtprobit_re_p xtps_fe xtps_lf xtps_ren xtps_ren_8 xtrar_p xtrc xtrc_p xtrchh xtrefe_p xtreg xtreg_be xtreg_fe xtreg_ml xtreg_pa_p xtreg_re xtregar xtrere_p xtset xtsf_ll xtsf_llti xtsum xttab xttest0 xttobit xttobit_8 xttobit_p xttrans yx yxview__barlike_draw yxview_area_draw yxview_bar_draw yxview_dot_draw yxview_dropline_draw yxview_function_draw yxview_iarrow_draw yxview_ilabels_draw yxview_normal_draw yxview_pcarrow_draw yxview_pcbarrow_draw yxview_pccapsym_draw yxview_pcscatter_draw yxview_pcspike_draw yxview_rarea_draw yxview_rbar_draw yxview_rbarm_draw yxview_rcap_draw yxview_rcapsym_draw yxview_rconnected_draw yxview_rline_draw yxview_rscatter_draw yxview_rspike_draw yxview_spike_draw yxview_sunflower_draw zap_s zinb zinb_llf zinb_plf zip zip_llf zip_p zip_plf zt_ct_5 zt_hc_5 zt_hcd_5 zt_is_5 zt_iss_5 zt_sho_5 zt_smp_5 ztbase_5 ztcox_5 ztdes_5 ztereg_5 ztfill_5 ztgen_5 ztir_5 ztjoin_5 ztnb ztnb_p ztp ztp_p zts_5 ztset_5 ztspli_5 ztsum_5 zttoct_5 ztvary_5 ztweib_5",contains:[{className:"symbol",begin:/`[a-zA-Z0-9_]+'/},{className:"variable",begin:/\$\{?[a-zA-Z0-9_]+\}?/,relevance:0},{className:"string",variants:[{begin:'`"[^\r\n]*?"\''},{begin:'"[^\r\n"]*"'}]},{className:"built_in",variants:[{begin:"\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\()"}]},e.COMMENT("^[ \t]*\\*.*$",!1),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]}})),lk.registerLanguage("step21",_P?uP:(_P=1,uP=function(e){return{name:"STEP Part 21",aliases:["p21","step","stp"],case_insensitive:!0,keywords:{$pattern:"[A-Z_][A-Z0-9_.]*",keyword:["HEADER","ENDSEC","DATA"]},contains:[{className:"meta",begin:"ISO-10303-21;",relevance:10},{className:"meta",begin:"END-ISO-10303-21;",relevance:10},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.COMMENT("/\\*\\*!","\\*/"),e.C_NUMBER_MODE,e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"string",begin:"'",end:"'"},{className:"symbol",variants:[{begin:"#",end:"\\d+",illegal:"\\W"}]}]}})),lk.registerLanguage("stylus",function(){if(mP)return pP;mP=1;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),n=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),a=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),r=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();return pP=function(i){const o=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}))(i),s={className:"variable",begin:"\\$"+i.IDENT_RE},l="(?=[.\\s\\n[:,(])";return{name:"Stylus",aliases:["styl"],case_insensitive:!1,keywords:"if else for in",illegal:"("+["\\?","(\\bReturn\\b)","(\\bEnd\\b)","(\\bend\\b)","(\\bdef\\b)",";","#\\s","\\*\\s","===\\s","\\|","%"].join("|")+")",contains:[i.QUOTE_STRING_MODE,i.APOS_STRING_MODE,i.C_LINE_COMMENT_MODE,i.C_BLOCK_COMMENT_MODE,o.HEXCOLOR,{begin:"\\.[a-zA-Z][a-zA-Z0-9_-]*"+l,className:"selector-class"},{begin:"#[a-zA-Z][a-zA-Z0-9_-]*"+l,className:"selector-id"},{begin:"\\b("+e.join("|")+")"+l,className:"selector-tag"},{className:"selector-pseudo",begin:"&?:("+n.join("|")+")"+l},{className:"selector-pseudo",begin:"&?:(:)?("+a.join("|")+")"+l},o.ATTRIBUTE_SELECTOR_MODE,{className:"keyword",begin:/@media/,starts:{end:/[{;}]/,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:t.join(" ")},contains:[o.CSS_NUMBER_MODE]}},{className:"keyword",begin:"@((-(o|moz|ms|webkit)-)?("+["charset","css","debug","extend","font-face","for","import","include","keyframes","media","mixin","page","warn","while"].join("|")+"))\\b"},s,o.CSS_NUMBER_MODE,{className:"function",begin:"^[a-zA-Z][a-zA-Z0-9_-]*\\(.*\\)",illegal:"[\\n]",returnBegin:!0,contains:[{className:"title",begin:"\\b[a-zA-Z][a-zA-Z0-9_-]*"},{className:"params",begin:/\(/,end:/\)/,contains:[o.HEXCOLOR,s,i.APOS_STRING_MODE,o.CSS_NUMBER_MODE,i.QUOTE_STRING_MODE]}]},o.CSS_VARIABLE,{className:"attribute",begin:"\\b("+r.join("|")+")\\b",starts:{end:/;|$/,contains:[o.HEXCOLOR,s,i.APOS_STRING_MODE,i.QUOTE_STRING_MODE,o.CSS_NUMBER_MODE,i.C_BLOCK_COMMENT_MODE,o.IMPORTANT,o.FUNCTION_DISPATCH],illegal:/\./,relevance:0}},o.FUNCTION_DISPATCH]}}}()),lk.registerLanguage("subunit",EP?gP:(EP=1,gP=function(e){return{name:"SubUnit",case_insensitive:!0,contains:[{className:"string",begin:"\\[\n(multipart)?",end:"\\]\n"},{className:"string",begin:"\\d{4}-\\d{2}-\\d{2}(\\s+)\\d{2}:\\d{2}:\\d{2}.\\d+Z"},{className:"string",begin:"(\\+|-)\\d+"},{className:"keyword",relevance:10,variants:[{begin:"^(test|testing|success|successful|failure|error|skip|xfail|uxsuccess)(:?)\\s+(test)?"},{begin:"^progress(:?)(\\s+)?(pop|push)?"},{begin:"^tags:"},{begin:"^time:"}]}]}})),lk.registerLanguage("swift",function(){if(SP)return fP;function e(e){return e?"string"==typeof e?e:e.source:null}function t(e){return n("(?=",e,")")}function n(...t){return t.map(t=>e(t)).join("")}function a(...t){const n=function(e){const t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}(t);return"("+(n.capture?"":"?:")+t.map(t=>e(t)).join("|")+")"}SP=1;const r=e=>n(/\b/,e,/\w$/.test(e)?/\b/:/\B/),i=["Protocol","Type"].map(r),o=["init","self"].map(r),s=["Any","Self"],l=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],c=["false","nil","true"],d=["assignment","associativity","higherThan","left","lowerThan","none","right"],u=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],_=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],p=a(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),m=a(p,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),g=n(p,m,"*"),E=a(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),f=a(E,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),S=n(E,f,"*"),b=n(/[A-Z]/,f,"*"),h=["attached","autoclosure",n(/convention\(/,a("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",n(/objc\(/,S,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],v=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];return fP=function(e){const p={match:/\s+/,relevance:0},E=e.COMMENT("/\\*","\\*/",{contains:["self"]}),T=[e.C_LINE_COMMENT_MODE,E],y={match:[/\./,a(...i,...o)],className:{2:"keyword"}},C={match:n(/\./,a(...l)),relevance:0},R=l.filter(e=>"string"==typeof e).concat(["_|0"]),O={variants:[{className:"keyword",match:a(...l.filter(e=>"string"!=typeof e).concat(s).map(r),...o)}]},N={$pattern:a(/\b\w+/,/#\w+/),keyword:R.concat(u),literal:c},A=[y,C,O],I=[{match:n(/\./,a(..._)),relevance:0},{className:"built_in",match:n(/\b/,a(..._),/(?=\()/)}],w={match:/->/,relevance:0},D=[w,{className:"operator",relevance:0,variants:[{match:g},{match:`\\.(\\.|${m})+`}]}],x="([0-9]_*)+",L="([0-9a-fA-F]_*)+",M={className:"number",relevance:0,variants:[{match:`\\b(${x})(\\.(${x}))?([eE][+-]?(${x}))?\\b`},{match:`\\b0x(${L})(\\.(${L}))?([pP][+-]?(${x}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},P=(e="")=>({className:"subst",variants:[{match:n(/\\/,e,/[0\\tnr"']/)},{match:n(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),k=(e="")=>({className:"subst",match:n(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),F=(e="")=>({className:"subst",label:"interpol",begin:n(/\\/,e,/\(/),end:/\)/}),U=(e="")=>({begin:n(e,/"""/),end:n(/"""/,e),contains:[P(e),k(e),F(e)]}),B=(e="")=>({begin:n(e,/"/),end:n(/"/,e),contains:[P(e),F(e)]}),G={className:"string",variants:[U(),U("#"),U("##"),U("###"),B(),B("#"),B("##"),B("###")]},Y=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],V={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:Y},H=e=>{const t=n(e,/\//),a=n(/\//,e);return{begin:t,end:a,contains:[...Y,{scope:"comment",begin:`#(?!.*${a})`,end:/$/}]}},z={scope:"regexp",variants:[H("###"),H("##"),H("#"),V]},q={match:n(/`/,S,/`/)},$=[q,{className:"variable",match:/\$\d+/},{className:"variable",match:`\\$${f}+`}],j=[{match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:v,contains:[...D,M,G]}]}},{scope:"keyword",match:n(/@/,a(...h),t(a(/\(/,/\s+/)))},{scope:"meta",match:n(/@/,S)}],W={match:t(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:n(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,f,"+")},{className:"type",match:b,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:n(/\s+&\s+/,t(b)),relevance:0}]},K={begin://,keywords:N,contains:[...T,...A,...j,w,W]};W.contains.push(K);const Q={begin:/\(/,end:/\)/,relevance:0,keywords:N,contains:["self",{match:n(S,/\s*:/),keywords:"_|0",relevance:0},...T,z,...A,...I,...D,M,G,...$,...j,W]},X={begin://,keywords:"repeat each",contains:[...T,W]},Z={begin:/\(/,end:/\)/,keywords:N,contains:[{begin:a(t(n(S,/\s*:/)),t(n(S,/\s+/,S,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:S}]},...T,...A,...D,M,G,...j,W,Q],endsParent:!0,illegal:/["']/},J={match:[/(func|macro)/,/\s+/,a(q.match,S,g)],className:{1:"keyword",3:"title.function"},contains:[X,Z,p],illegal:[/\[/,/%/]},ee={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[X,Z,p],illegal:/\[|%/},te={match:[/operator/,/\s+/,g],className:{1:"keyword",3:"title"}},ne={begin:[/precedencegroup/,/\s+/,b],className:{1:"keyword",3:"title"},contains:[W],keywords:[...d,...c],end:/}/},ae={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,S,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:N,contains:[X,...A,{begin:/:/,end:/\{/,keywords:N,contains:[{scope:"title.class.inherited",match:b},...A],relevance:0}]};for(const t of G.variants){const e=t.contains.find(e=>"interpol"===e.label);e.keywords=N;const n=[...A,...I,...D,M,G,...$];e.contains=[...n,{begin:/\(/,end:/\)/,contains:["self",...n]}]}return{name:"Swift",keywords:N,contains:[...T,J,ee,{match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},{match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},ae,te,ne,{beginKeywords:"import",end:/$/,contains:[...T],relevance:0},z,...A,...I,...D,M,G,...$,...j,W,Q]}}}()),lk.registerLanguage("taggerscript",hP?bP:(hP=1,bP=function(e){return{name:"Tagger Script",contains:[{className:"comment",begin:/\$noop\(/,end:/\)/,contains:[{begin:/\\[()]/},{begin:/\(/,end:/\)/,contains:[{begin:/\\[()]/},"self"]}],relevance:10},{className:"keyword",begin:/\$[_a-zA-Z0-9]+(?=\()/},{className:"variable",begin:/%[_a-zA-Z0-9:]+%/},{className:"symbol",begin:/\\[\\nt$%,()]/},{className:"symbol",begin:/\\u[a-fA-F0-9]{4}/}]}})),lk.registerLanguage("yaml",TP?vP:(TP=1,vP=function(e){const t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},r=e.inherit(a,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),i={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},o={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},s={begin:/\{/,end:/\}/,contains:[o],illegal:"\\n",relevance:0},l={begin:"\\[",end:"\\]",contains:[o],illegal:"\\n",relevance:0},c=[{className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},i,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},s,l,{className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},a],d=[...c];return d.pop(),d.push(r),o.contains=d,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:c}})),lk.registerLanguage("tap",CP?yP:(CP=1,yP=function(e){return{name:"Test Anything Protocol",case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"meta",variants:[{begin:"^TAP version (\\d+)$"},{begin:"^1\\.\\.(\\d+)$"}]},{begin:/---$/,end:"\\.\\.\\.$",subLanguage:"yaml",relevance:0},{className:"number",begin:" (\\d+) "},{className:"symbol",variants:[{begin:"^ok"},{begin:"^not ok"}]}]}})),lk.registerLanguage("tcl",OP?RP:(OP=1,RP=function(e){const t=e.regex,n=/[a-zA-Z_][a-zA-Z0-9_]*/,a={className:"number",variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]};return{name:"Tcl",aliases:["tk"],keywords:["after","append","apply","array","auto_execok","auto_import","auto_load","auto_mkindex","auto_mkindex_old","auto_qualify","auto_reset","bgerror","binary","break","catch","cd","chan","clock","close","concat","continue","dde","dict","encoding","eof","error","eval","exec","exit","expr","fblocked","fconfigure","fcopy","file","fileevent","filename","flush","for","foreach","format","gets","glob","global","history","http","if","incr","info","interp","join","lappend|10","lassign|10","lindex|10","linsert|10","list","llength|10","load","lrange|10","lrepeat|10","lreplace|10","lreverse|10","lsearch|10","lset|10","lsort|10","mathfunc","mathop","memory","msgcat","namespace","open","package","parray","pid","pkg::create","pkg_mkIndex","platform","platform::shell","proc","puts","pwd","read","refchan","regexp","registry","regsub|10","rename","return","safe","scan","seek","set","socket","source","split","string","subst","switch","tcl_endOfWord","tcl_findLibrary","tcl_startOfNextWord","tcl_startOfPreviousWord","tcl_wordBreakAfter","tcl_wordBreakBefore","tcltest","tclvars","tell","time","tm","trace","unknown","unload","unset","update","uplevel","upvar","variable","vwait","while"],contains:[e.COMMENT(";[ \\t]*#","$"),e.COMMENT("^[ \\t]*#","$"),{beginKeywords:"proc",end:"[\\{]",excludeEnd:!0,contains:[{className:"title",begin:"[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"[ \\t\\n\\r]",endsWithParent:!0,excludeEnd:!0}]},{className:"variable",variants:[{begin:t.concat(/\$/,t.optional(/::/),n,"(::",n,")*")},{begin:"\\$\\{(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"\\}",contains:[a]}]},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},a]}})),lk.registerLanguage("thrift",AP?NP:(AP=1,NP=function(e){const t=["bool","byte","i16","i32","i64","double","string","binary"];return{name:"Thrift",keywords:{keyword:["namespace","const","typedef","struct","enum","service","exception","void","oneway","set","list","map","required","optional"],type:t,literal:"true false"},contains:[e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"struct enum service exception",end:/\{/,illegal:/\n/,contains:[e.inherit(e.TITLE_MODE,{starts:{endsWithParent:!0,excludeEnd:!0}})]},{begin:"\\b(set|list|map)\\s*<",keywords:{type:[...t,"set","list","map"]},end:">",contains:["self"]}]}})),lk.registerLanguage("tp",wP?IP:(wP=1,IP=function(e){const t={className:"number",begin:"[1-9][0-9]*",relevance:0},n={className:"symbol",begin:":[^\\]]+"};return{name:"TP",keywords:{keyword:["ABORT","ACC","ADJUST","AND","AP_LD","BREAK","CALL","CNT","COL","CONDITION","CONFIG","DA","DB","DIV","DETECT","ELSE","END","ENDFOR","ERR_NUM","ERROR_PROG","FINE","FOR","GP","GUARD","INC","IF","JMP","LINEAR_MAX_SPEED","LOCK","MOD","MONITOR","OFFSET","Offset","OR","OVERRIDE","PAUSE","PREG","PTH","RT_LD","RUN","SELECT","SKIP","Skip","TA","TB","TO","TOOL_OFFSET","Tool_Offset","UF","UT","UFRAME_NUM","UTOOL_NUM","UNLOCK","WAIT","X","Y","Z","W","P","R","STRLEN","SUBSTR","FINDSTR","VOFFSET","PROG","ATTR","MN","POS"],literal:["ON","OFF","max_speed","LPOS","JPOS","ENABLE","DISABLE","START","STOP","RESET"]},contains:[{className:"built_in",begin:"(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\[",end:"\\]",contains:["self",t,n]},{className:"built_in",begin:"(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\[",end:"\\]",contains:["self",t,e.QUOTE_STRING_MODE,n]},{className:"keyword",begin:"/(PROG|ATTR|MN|POS|END)\\b"},{className:"keyword",begin:"(CALL|RUN|POINT_LOGIC|LBL)\\b"},{className:"keyword",begin:"\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)"},{className:"number",begin:"\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\b",relevance:0},e.COMMENT("//","[;$]"),e.COMMENT("!","[;$]"),e.COMMENT("--eg:","$"),e.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"'"},e.C_NUMBER_MODE,{className:"variable",begin:"\\$[A-Za-z0-9_]+"}]}})),lk.registerLanguage("twig",xP?DP:(xP=1,DP=function(e){const t=e.regex,n=["absolute_url","asset|0","asset_version","attribute","block","constant","controller|0","country_timezones","csrf_token","cycle","date","dump","expression","form|0","form_end","form_errors","form_help","form_label","form_rest","form_row","form_start","form_widget","html_classes","include","is_granted","logout_path","logout_url","max","min","parent","path|0","random","range","relative_path","render","render_esi","source","template_from_string","url|0"];let a=["apply","autoescape","block","cache","deprecated","do","embed","extends","filter","flush","for","form_theme","from","if","import","include","macro","sandbox","set","stopwatch","trans","trans_default_domain","transchoice","use","verbatim","with"];a=a.concat(a.map(e=>`end${e}`));const r={scope:"string",variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/}]},i={scope:"number",match:/\d+/},o={begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:[r,i]},s={beginKeywords:n.join(" "),keywords:{name:n},relevance:0,contains:[o]},l={match:/\|(?=[A-Za-z_]+:?)/,beginScope:"punctuation",relevance:0,contains:[{match:/[A-Za-z_]+:?/,keywords:["abs","abbr_class","abbr_method","batch","capitalize","column","convert_encoding","country_name","currency_name","currency_symbol","data_uri","date","date_modify","default","escape","file_excerpt","file_link","file_relative","filter","first","format","format_args","format_args_as_text","format_currency","format_date","format_datetime","format_file","format_file_from_text","format_number","format_time","html_to_markdown","humanize","inky_to_html","inline_css","join","json_encode","keys","language_name","last","length","locale_name","lower","map","markdown","markdown_to_html","merge","nl2br","number_format","raw","reduce","replace","reverse","round","slice","slug","sort","spaceless","split","striptags","timezone_name","title","trans","transchoice","trim","u|0","upper","url_encode","yaml_dump","yaml_encode"]}]},c=(e,{relevance:n})=>({beginScope:{1:"template-tag",3:"name"},relevance:n||2,endScope:"template-tag",begin:[/\{%/,/\s*/,t.either(...e)],end:/%\}/,keywords:"in",contains:[l,s,r,i]}),d=c(a,{relevance:2}),u=c([/[a-z_]+/],{relevance:1});return{name:"Twig",aliases:["craftcms"],case_insensitive:!0,subLanguage:"xml",contains:[e.COMMENT(/\{#/,/#\}/),d,u,{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:["self",l,s,r,i]}]}})),lk.registerLanguage("typescript",function(){if(MP)return LP;MP=1;const e="[A-Za-z$_][0-9A-Za-z$_]*",t=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],n=["true","false","null","undefined","NaN","Infinity"],a=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],r=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],i=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],o=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],s=[].concat(i,a,r);return LP=function(l){const c=l.regex,d=function(l){const c=l.regex,d=e,u="<>",_="",p={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{const n=e[0].length+e.index,a=e.input[n];if("<"===a||","===a)return void t.ignoreMatch();let r;">"===a&&(((e,{after:t})=>{const n="`${e}\\s*\\(`),c.concat("(?!",L.join("|"),")")),d,c.lookahead(/\s*\(/)),className:"title.function",relevance:0};var L;const M={begin:c.concat(/\./,c.lookahead(c.concat(d,/(?![0-9A-Za-z$_(])/))),end:d,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},P={match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},A]},k="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+l.UNDERSCORE_IDENT_RE+")\\s*=>",F={match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,c.lookahead(k)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[A]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:m,exports:{PARAMS_CONTAINS:N,CLASS_REFERENCE:w},illegal:/#(?![$_A-z])/,contains:[l.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},l.APOS_STRING_MODE,l.QUOTE_STRING_MODE,h,v,T,y,C,{match:/\$\d+/},S,w,{scope:"attr",match:d+c.lookahead(":"),relevance:0},F,{begin:"("+l.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[C,l.REGEXP_MODE,{className:"function",begin:k,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:l.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:m,contains:N}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:u,end:_},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:p.begin,"on:begin":p.isTrulyOpeningTag,end:p.end}],subLanguage:"xml",contains:[{begin:p.begin,end:p.end,skip:!0,contains:["self"]}]}]},D,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+l.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[A,l.inherit(l.TITLE_MODE,{begin:d,className:"title.function"})]},{match:/\.\.\./,relevance:0},M,{match:"\\$"+d,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[A]},x,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},I,P,{match:/\$[(.]/}]}}(l),u=e,_=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],p={begin:[/namespace/,/\s+/,l.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},m={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:_},contains:[d.exports.CLASS_REFERENCE]},g={$pattern:e,keyword:t.concat(["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"]),literal:n,built_in:s.concat(_),"variable.language":o},E={className:"meta",begin:"@"+u},f=(e,t,n)=>{const a=e.contains.findIndex(e=>e.label===t);if(-1===a)throw new Error("can not find mode to replace");e.contains.splice(a,1,n)};Object.assign(d.keywords,g),d.exports.PARAMS_CONTAINS.push(E);const S=d.contains.find(e=>"attr"===e.scope),b=Object.assign({},S,{match:c.concat(u,c.lookahead(/\s*\?:/))});return d.exports.PARAMS_CONTAINS.push([d.exports.CLASS_REFERENCE,S,b]),d.contains=d.contains.concat([E,p,m,b]),f(d,"shebang",l.SHEBANG()),f(d,"use_strict",{className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/}),d.contains.find(e=>"func.def"===e.label).relevance=0,Object.assign(d,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),d}}()),lk.registerLanguage("vala",kP?PP:(kP=1,PP=function(e){return{name:"Vala",keywords:{keyword:"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override virtual delegate if while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var",built_in:"DBus GLib CCode Gee Object Gtk Posix",literal:"false true null"},contains:[{className:"class",beginKeywords:"class interface namespace",end:/\{/,excludeEnd:!0,illegal:"[^,:\\n\\s\\.]",contains:[e.UNDERSCORE_TITLE_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",begin:'"""',end:'"""',relevance:5},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{className:"meta",begin:"^#",end:"$"}]}})),lk.registerLanguage("vbnet",UP?FP:(UP=1,FP=function(e){const t=e.regex,n=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,r=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,i=/\d{1,2}(:\d{1,2}){1,2}/,o={className:"literal",variants:[{begin:t.concat(/# */,t.either(a,n),/ *#/)},{begin:t.concat(/# */,i,/ *#/)},{begin:t.concat(/# */,r,/ *#/)},{begin:t.concat(/# */,t.either(a,n),/ +/,t.either(r,i),/ *#/)}]},s=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),l=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},o,{className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{className:"label",begin:/^\w+:/},s,l,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[l]}]}})),lk.registerLanguage("vbscript",GP?BP:(GP=1,BP=function(e){const t=e.regex,n=["lcase","month","vartype","instrrev","ubound","setlocale","getobject","rgb","getref","string","weekdayname","rnd","dateadd","monthname","now","day","minute","isarray","cbool","round","formatcurrency","conversions","csng","timevalue","second","year","space","abs","clng","timeserial","fixs","len","asc","isempty","maths","dateserial","atn","timer","isobject","filter","weekday","datevalue","ccur","isdate","instr","datediff","formatdatetime","replace","isnull","right","sgn","array","snumeric","log","cdbl","hex","chr","lbound","msgbox","ucase","getlocale","cos","cdate","cbyte","rtrim","join","hour","oct","typename","trim","strcomp","int","createobject","loadpicture","tan","formatnumber","mid","split","cint","sin","datepart","ltrim","sqr","time","derived","eval","date","formatpercent","exp","inputbox","left","ascw","chrw","regexp","cstr","err"];return{name:"VBScript",aliases:["vbs"],case_insensitive:!0,keywords:{keyword:["call","class","const","dim","do","loop","erase","execute","executeglobal","exit","for","each","next","function","if","then","else","on","error","option","explicit","new","private","property","let","get","public","randomize","redim","rem","select","case","set","stop","sub","while","wend","with","end","to","elseif","is","or","xor","and","not","class_initialize","class_terminate","default","preserve","in","me","byval","byref","step","resume","goto"],built_in:["server","response","request","scriptengine","scriptenginebuildversion","scriptengineminorversion","scriptenginemajorversion"],literal:["true","false","null","nothing","empty"]},illegal:"//",contains:[{begin:t.concat(t.either(...n),"\\s*\\("),relevance:0,keywords:{built_in:n}},e.inherit(e.QUOTE_STRING_MODE,{contains:[{begin:'""'}]}),e.COMMENT(/'/,/$/,{relevance:0}),e.C_NUMBER_MODE]}})),lk.registerLanguage("vbscript-html",VP?YP:(VP=1,YP=function(e){return{name:"VBScript in HTML",subLanguage:"xml",contains:[{begin:"<%",end:"%>",subLanguage:"vbscript"}]}})),lk.registerLanguage("verilog",zP?HP:(zP=1,HP=function(e){const t=e.regex,n=["begin_keywords","celldefine","default_nettype","default_decay_time","default_trireg_strength","define","delay_mode_distributed","delay_mode_path","delay_mode_unit","delay_mode_zero","else","elsif","end_keywords","endcelldefine","endif","ifdef","ifndef","include","line","nounconnected_drive","pragma","resetall","timescale","unconnected_drive","undef","undefineall"];return{name:"Verilog",aliases:["v","sv","svh"],case_insensitive:!1,keywords:{$pattern:/\$?[\w]+(\$[\w]+)*/,keyword:["accept_on","alias","always","always_comb","always_ff","always_latch","and","assert","assign","assume","automatic","before","begin","bind","bins","binsof","bit","break","buf|0","bufif0","bufif1","byte","case","casex","casez","cell","chandle","checker","class","clocking","cmos","config","const","constraint","context","continue","cover","covergroup","coverpoint","cross","deassign","default","defparam","design","disable","dist","do","edge","else","end","endcase","endchecker","endclass","endclocking","endconfig","endfunction","endgenerate","endgroup","endinterface","endmodule","endpackage","endprimitive","endprogram","endproperty","endspecify","endsequence","endtable","endtask","enum","event","eventually","expect","export","extends","extern","final","first_match","for","force","foreach","forever","fork","forkjoin","function","generate|5","genvar","global","highz0","highz1","if","iff","ifnone","ignore_bins","illegal_bins","implements","implies","import","incdir","include","initial","inout","input","inside","instance","int","integer","interconnect","interface","intersect","join","join_any","join_none","large","let","liblist","library","local","localparam","logic","longint","macromodule","matches","medium","modport","module","nand","negedge","nettype","new","nexttime","nmos","nor","noshowcancelled","not","notif0","notif1","or","output","package","packed","parameter","pmos","posedge","primitive","priority","program","property","protected","pull0","pull1","pulldown","pullup","pulsestyle_ondetect","pulsestyle_onevent","pure","rand","randc","randcase","randsequence","rcmos","real","realtime","ref","reg","reject_on","release","repeat","restrict","return","rnmos","rpmos","rtran","rtranif0","rtranif1","s_always","s_eventually","s_nexttime","s_until","s_until_with","scalared","sequence","shortint","shortreal","showcancelled","signed","small","soft","solve","specify","specparam","static","string","strong","strong0","strong1","struct","super","supply0","supply1","sync_accept_on","sync_reject_on","table","tagged","task","this","throughout","time","timeprecision","timeunit","tran","tranif0","tranif1","tri","tri0","tri1","triand","trior","trireg","type","typedef","union","unique","unique0","unsigned","until","until_with","untyped","use","uwire","var","vectored","virtual","void","wait","wait_order","wand","weak","weak0","weak1","while","wildcard","wire","with","within","wor","xnor","xor"],literal:["null"],built_in:["$finish","$stop","$exit","$fatal","$error","$warning","$info","$realtime","$time","$printtimescale","$bitstoreal","$bitstoshortreal","$itor","$signed","$cast","$bits","$stime","$timeformat","$realtobits","$shortrealtobits","$rtoi","$unsigned","$asserton","$assertkill","$assertpasson","$assertfailon","$assertnonvacuouson","$assertoff","$assertcontrol","$assertpassoff","$assertfailoff","$assertvacuousoff","$isunbounded","$sampled","$fell","$changed","$past_gclk","$fell_gclk","$changed_gclk","$rising_gclk","$steady_gclk","$coverage_control","$coverage_get","$coverage_save","$set_coverage_db_name","$rose","$stable","$past","$rose_gclk","$stable_gclk","$future_gclk","$falling_gclk","$changing_gclk","$display","$coverage_get_max","$coverage_merge","$get_coverage","$load_coverage_db","$typename","$unpacked_dimensions","$left","$low","$increment","$clog2","$ln","$log10","$exp","$sqrt","$pow","$floor","$ceil","$sin","$cos","$tan","$countbits","$onehot","$isunknown","$fatal","$warning","$dimensions","$right","$high","$size","$asin","$acos","$atan","$atan2","$hypot","$sinh","$cosh","$tanh","$asinh","$acosh","$atanh","$countones","$onehot0","$error","$info","$random","$dist_chi_square","$dist_erlang","$dist_exponential","$dist_normal","$dist_poisson","$dist_t","$dist_uniform","$q_initialize","$q_remove","$q_exam","$async$and$array","$async$nand$array","$async$or$array","$async$nor$array","$sync$and$array","$sync$nand$array","$sync$or$array","$sync$nor$array","$q_add","$q_full","$psprintf","$async$and$plane","$async$nand$plane","$async$or$plane","$async$nor$plane","$sync$and$plane","$sync$nand$plane","$sync$or$plane","$sync$nor$plane","$system","$display","$displayb","$displayh","$displayo","$strobe","$strobeb","$strobeh","$strobeo","$write","$readmemb","$readmemh","$writememh","$value$plusargs","$dumpvars","$dumpon","$dumplimit","$dumpports","$dumpportson","$dumpportslimit","$writeb","$writeh","$writeo","$monitor","$monitorb","$monitorh","$monitoro","$writememb","$dumpfile","$dumpoff","$dumpall","$dumpflush","$dumpportsoff","$dumpportsall","$dumpportsflush","$fclose","$fdisplay","$fdisplayb","$fdisplayh","$fdisplayo","$fstrobe","$fstrobeb","$fstrobeh","$fstrobeo","$swrite","$swriteb","$swriteh","$swriteo","$fscanf","$fread","$fseek","$fflush","$feof","$fopen","$fwrite","$fwriteb","$fwriteh","$fwriteo","$fmonitor","$fmonitorb","$fmonitorh","$fmonitoro","$sformat","$sformatf","$fgetc","$ungetc","$fgets","$sscanf","$rewind","$ftell","$ferror"]},contains:[e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE,e.QUOTE_STRING_MODE,{scope:"number",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/\b((\d+'([bhodBHOD]))[0-9xzXZa-fA-F_]+)/},{begin:/\B(('([bhodBHOD]))[0-9xzXZa-fA-F_]+)/},{begin:/\b[0-9][0-9_]*/,relevance:0}]},{scope:"variable",variants:[{begin:"#\\((?!parameter).+\\)"},{begin:"\\.\\w+",relevance:0}]},{scope:"variable.constant",match:t.concat(/`/,t.either("__FILE__","__LINE__"))},{scope:"meta",begin:t.concat(/`/,t.either(...n)),end:/$|\/\/|\/\*/,returnEnd:!0,keywords:n}]}})),lk.registerLanguage("vhdl",$P?qP:($P=1,qP=function(e){const t="\\d(_|\\d)*",n="[eE][-+]?"+t,a="\\b("+t+"#\\w+(\\.\\w+)?#("+n+")?|"+t+"(\\."+t+")?("+n+")?)";return{name:"VHDL",case_insensitive:!0,keywords:{keyword:["abs","access","after","alias","all","and","architecture","array","assert","assume","assume_guarantee","attribute","begin","block","body","buffer","bus","case","component","configuration","constant","context","cover","disconnect","downto","default","else","elsif","end","entity","exit","fairness","file","for","force","function","generate","generic","group","guarded","if","impure","in","inertial","inout","is","label","library","linkage","literal","loop","map","mod","nand","new","next","nor","not","null","of","on","open","or","others","out","package","parameter","port","postponed","procedure","process","property","protected","pure","range","record","register","reject","release","rem","report","restrict","restrict_guarantee","return","rol","ror","select","sequence","severity","shared","signal","sla","sll","sra","srl","strong","subtype","then","to","transport","type","unaffected","units","until","use","variable","view","vmode","vprop","vunit","wait","when","while","with","xnor","xor"],built_in:["boolean","bit","character","integer","time","delay_length","natural","positive","string","bit_vector","file_open_kind","file_open_status","std_logic","std_logic_vector","unsigned","signed","boolean_vector","integer_vector","std_ulogic","std_ulogic_vector","unresolved_unsigned","u_unsigned","unresolved_signed","u_signed","real_vector","time_vector"],literal:["false","true","note","warning","error","failure","line","text","side","width"]},illegal:/\{/,contains:[e.C_BLOCK_COMMENT_MODE,e.COMMENT("--","$"),e.QUOTE_STRING_MODE,{className:"number",begin:a,relevance:0},{className:"string",begin:"'(U|X|0|1|Z|W|L|H|-)'",contains:[e.BACKSLASH_ESCAPE]},{className:"symbol",begin:"'[A-Za-z](_?[A-Za-z0-9])*",contains:[e.BACKSLASH_ESCAPE]}]}})),lk.registerLanguage("vim",WP?jP:(WP=1,jP=function(e){return{name:"Vim Script",keywords:{$pattern:/[!#@\w]+/,keyword:"N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope cp cpf cq cr cs cst cu cuna cunme cw delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu go gr grepa gu gv ha helpf helpg helpt hi hid his ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf quita qa rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank",built_in:"synIDtrans atan2 range matcharg did_filetype asin feedkeys xor argv complete_check add getwinposx getqflist getwinposy screencol clearmatches empty extend getcmdpos mzeval garbagecollect setreg ceil sqrt diff_hlID inputsecret get getfperm getpid filewritable shiftwidth max sinh isdirectory synID system inputrestore winline atan visualmode inputlist tabpagewinnr round getregtype mapcheck hasmapto histdel argidx findfile sha256 exists toupper getcmdline taglist string getmatches bufnr strftime winwidth bufexists strtrans tabpagebuflist setcmdpos remote_read printf setloclist getpos getline bufwinnr float2nr len getcmdtype diff_filler luaeval resolve libcallnr foldclosedend reverse filter has_key bufname str2float strlen setline getcharmod setbufvar index searchpos shellescape undofile foldclosed setqflist buflisted strchars str2nr virtcol floor remove undotree remote_expr winheight gettabwinvar reltime cursor tabpagenr finddir localtime acos getloclist search tanh matchend rename gettabvar strdisplaywidth type abs py3eval setwinvar tolower wildmenumode log10 spellsuggest bufloaded synconcealed nextnonblank server2client complete settabwinvar executable input wincol setmatches getftype hlID inputsave searchpair or screenrow line settabvar histadd deepcopy strpart remote_peek and eval getftime submatch screenchar winsaveview matchadd mkdir screenattr getfontname libcall reltimestr getfsize winnr invert pow getbufline byte2line soundfold repeat fnameescape tagfiles sin strwidth spellbadword trunc maparg log lispindent hostname setpos globpath remote_foreground getchar synIDattr fnamemodify cscope_connection stridx winbufnr indent min complete_add nr2char searchpairpos inputdialog values matchlist items hlexists strridx browsedir expand fmod pathshorten line2byte argc count getwinvar glob foldtextresult getreg foreground cosh matchdelete has char2nr simplify histget searchdecl iconv winrestcmd pumvisible writefile foldlevel haslocaldir keys cos matchstr foldtext histnr tan tempname getcwd byteidx getbufvar islocked escape eventhandler remote_send serverlist winrestview synstack pyeval prevnonblank readfile cindent filereadable changenr exp"},illegal:/;/,contains:[e.NUMBER_MODE,{className:"string",begin:"'",end:"'",illegal:"\\n"},{className:"string",begin:/"(\\"|\n\\|[^"\n])*"/},e.COMMENT('"',"$"),{className:"variable",begin:/[bwtglsav]:[\w\d_]+/},{begin:[/\b(?:function|function!)/,/\s+/,e.IDENT_RE],className:{1:"keyword",3:"title"},end:"$",relevance:0,contains:[{className:"params",begin:"\\(",end:"\\)"}]},{className:"symbol",begin:/<[\w-]+>/}]}})),lk.registerLanguage("wasm",QP?KP:(QP=1,KP=function(e){e.regex;const t=e.COMMENT(/\(;/,/;\)/);return t.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"]},contains:[e.COMMENT(/;;/,/$/),t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},{className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/},{className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/}]}})),lk.registerLanguage("wren",ZP?XP:(ZP=1,XP=function(e){const t=e.regex,n=/[a-zA-Z]\w*/,a=["as","break","class","construct","continue","else","for","foreign","if","import","in","is","return","static","var","while"],r=["true","false","null"],i=["this","super"],o=["-","~",/\*/,"%",/\.\.\./,/\.\./,/\+/,"<<",">>",">=","<=","<",">",/\^/,/!=/,/!/,/\bis\b/,"==","&&","&",/\|\|/,/\|/,/\?:/,"="],s={relevance:0,match:t.concat(/\b(?!(if|while|for|else|super)\b)/,n,/(?=\s*[({])/),className:"title.function"},l={match:t.concat(t.either(t.concat(/\b(?!(if|while|for|else|super)\b)/,n),t.either(...o)),/(?=\s*\([^)]+\)\s*\{)/),className:"title.function",starts:{contains:[{begin:/\(/,end:/\)/,contains:[{relevance:0,scope:"params",match:n}]}]}},c={variants:[{match:[/class\s+/,n,/\s+is\s+/,n]},{match:[/class\s+/,n]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},d={relevance:0,match:t.either(...o),className:"operator"},u={className:"property",begin:t.concat(/\./,t.lookahead(n)),end:n,excludeBegin:!0,relevance:0},_={relevance:0,match:t.concat(/\b_/,n),scope:"variable"},p={relevance:0,match:/\b[A-Z]+[a-z]+([A-Z]+[a-z]+)*/,scope:"title.class",keywords:{_:["Bool","Class","Fiber","Fn","List","Map","Null","Num","Object","Range","Sequence","String","System"]}},m=e.C_NUMBER_MODE,g={match:[n,/\s*/,/=/,/\s*/,/\(/,n,/\)\s*\{/],scope:{1:"title.function",3:"operator",6:"params"}},E=e.COMMENT(/\/\*\*/,/\*\//,{contains:[{match:/@[a-z]+/,scope:"doctag"},"self"]}),f={scope:"subst",begin:/%\(/,end:/\)/,contains:[m,p,s,_,d]},S={scope:"string",begin:/"/,end:/"/,contains:[f,{scope:"char.escape",variants:[{match:/\\\\|\\["0%abefnrtv]/},{match:/\\x[0-9A-F]{2}/},{match:/\\u[0-9A-F]{4}/},{match:/\\U[0-9A-F]{8}/}]}]};f.contains.push(S);const b=[...a,...i,...r],h={relevance:0,match:t.concat("\\b(?!",b.join("|"),"\\b)",/[a-zA-Z_]\w*(?:[?!]|\b)/),className:"variable"};return{name:"Wren",keywords:{keyword:a,"variable.language":i,literal:r},contains:[{scope:"comment",variants:[{begin:[/#!?/,/[A-Za-z_]+(?=\()/],beginScope:{},keywords:{literal:r},contains:[],end:/\)/},{begin:[/#!?/,/[A-Za-z_]+/],beginScope:{},end:/$/}]},m,S,{className:"string",begin:/"""/,end:/"""/},E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,p,c,g,l,s,d,_,u,h]}})),lk.registerLanguage("x86asm",ek?JP:(ek=1,JP=function(e){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+e.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[e.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*(\\.[0-9_]*)?(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},e.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}})),lk.registerLanguage("xl",nk?tk:(nk=1,tk=function(e){const t={$pattern:/[a-zA-Z][a-zA-Z0-9_?]*/,keyword:["if","then","else","do","while","until","for","loop","import","with","is","as","where","when","by","data","constant","integer","real","text","name","boolean","symbol","infix","prefix","postfix","block","tree"],literal:["true","false","nil"],built_in:["in","mod","rem","and","or","xor","not","abs","sign","floor","ceil","sqrt","sin","cos","tan","asin","acos","atan","exp","expm1","log","log2","log10","log1p","pi","at","text_length","text_range","text_find","text_replace","contains","page","slide","basic_slide","title_slide","title","subtitle","fade_in","fade_out","fade_at","clear_color","color","line_color","line_width","texture_wrap","texture_transform","texture","scale_?x","scale_?y","scale_?z?","translate_?x","translate_?y","translate_?z?","rotate_?x","rotate_?y","rotate_?z?","rectangle","circle","ellipse","sphere","path","line_to","move_to","quad_to","curve_to","theme","background","contents","locally","time","mouse_?x","mouse_?y","mouse_buttons"].concat(["ObjectLoader","Animate","MovieCredits","Slides","Filters","Shading","Materials","LensFlare","Mapping","VLCAudioVideo","StereoDecoder","PointCloud","NetworkAccess","RemoteControl","RegExp","ChromaKey","Snowfall","NodeJS","Speech","Charts"])},n={className:"string",begin:'"',end:'"',illegal:"\\n"},a={beginKeywords:"import",end:"$",keywords:t,contains:[n]},r={className:"function",begin:/[a-z][^\n]*->/,returnBegin:!0,end:/->/,contains:[e.inherit(e.TITLE_MODE,{starts:{endsWithParent:!0,keywords:t}})]};return{name:"XL",aliases:["tao"],keywords:t,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n,{className:"string",begin:"'",end:"'",illegal:"\\n"},{className:"string",begin:"<<",end:">>"},r,a,{className:"number",begin:"[0-9]+#[0-9A-Z_]+(\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?"},e.NUMBER_MODE]}})),lk.registerLanguage("xquery",rk?ak:(rk=1,ak=function(e){return{name:"XQuery",aliases:["xpath","xq","xqm"],case_insensitive:!1,illegal:/(proc)|(abstract)|(extends)|(until)|(#)/,keywords:{$pattern:/[a-zA-Z$][a-zA-Z0-9_:-]*/,keyword:["module","schema","namespace","boundary-space","preserve","no-preserve","strip","default","collation","base-uri","ordering","context","decimal-format","decimal-separator","copy-namespaces","empty-sequence","except","exponent-separator","external","grouping-separator","inherit","no-inherit","lax","minus-sign","per-mille","percent","schema-attribute","schema-element","strict","unordered","zero-digit","declare","import","option","function","validate","variable","for","at","in","let","where","order","group","by","return","if","then","else","tumbling","sliding","window","start","when","only","end","previous","next","stable","ascending","descending","allowing","empty","greatest","least","some","every","satisfies","switch","case","typeswitch","try","catch","and","or","to","union","intersect","instance","of","treat","as","castable","cast","map","array","delete","insert","into","replace","value","rename","copy","modify","update"],type:["item","document-node","node","attribute","document","element","comment","namespace","namespace-node","processing-instruction","text","construction","xs:anyAtomicType","xs:untypedAtomic","xs:duration","xs:time","xs:decimal","xs:float","xs:double","xs:gYearMonth","xs:gYear","xs:gMonthDay","xs:gMonth","xs:gDay","xs:boolean","xs:base64Binary","xs:hexBinary","xs:anyURI","xs:QName","xs:NOTATION","xs:dateTime","xs:dateTimeStamp","xs:date","xs:string","xs:normalizedString","xs:token","xs:language","xs:NMTOKEN","xs:Name","xs:NCName","xs:ID","xs:IDREF","xs:ENTITY","xs:integer","xs:nonPositiveInteger","xs:negativeInteger","xs:long","xs:int","xs:short","xs:byte","xs:nonNegativeInteger","xs:unisignedLong","xs:unsignedInt","xs:unsignedShort","xs:unsignedByte","xs:positiveInteger","xs:yearMonthDuration","xs:dayTimeDuration"],literal:["eq","ne","lt","le","gt","ge","is","self::","child::","descendant::","descendant-or-self::","attribute::","following::","following-sibling::","parent::","ancestor::","ancestor-or-self::","preceding::","preceding-sibling::","NaN"]},contains:[{className:"variable",begin:/[$][\w\-:]+/},{className:"built_in",variants:[{begin:/\barray:/,end:/(?:append|filter|flatten|fold-(?:left|right)|for-each(?:-pair)?|get|head|insert-before|join|put|remove|reverse|size|sort|subarray|tail)\b/},{begin:/\bmap:/,end:/(?:contains|entry|find|for-each|get|keys|merge|put|remove|size)\b/},{begin:/\bmath:/,end:/(?:a(?:cos|sin|tan[2]?)|cos|exp(?:10)?|log(?:10)?|pi|pow|sin|sqrt|tan)\b/},{begin:/\bop:/,end:/\(/,excludeEnd:!0},{begin:/\bfn:/,end:/\(/,excludeEnd:!0},{begin:/[^/,end:/(\/[\w._:-]+>)/,subLanguage:"xml",contains:[{begin:/\{/,end:/\}/,subLanguage:"xquery"},"self"]}]}})),lk.registerLanguage("zephir",ok?ik:(ok=1,ik=function(e){const t={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},n=e.UNDERSCORE_TITLE_MODE,a={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]},r="namespace class interface use extends function return abstract final public protected private static deprecated throw try catch Exception echo empty isset instanceof unset let var new const self require if else elseif switch case default do while loop for continue break likely unlikely __LINE__ __FILE__ __DIR__ __FUNCTION__ __CLASS__ __TRAIT__ __METHOD__ __NAMESPACE__ array boolean float double integer object resource string char long unsigned bool int uint ulong uchar true false null undefined";return{name:"Zephir",aliases:["zep"],keywords:r,contains:[e.C_LINE_COMMENT_MODE,e.COMMENT(/\/\*/,/\*\//,{contains:[{className:"doctag",begin:/@[A-Za-z]+/}]}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;/,contains:[e.BACKSLASH_ESCAPE]},{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"function fn",end:/[;{]/,excludeEnd:!0,illegal:/\$|\[|%/,contains:[n,{className:"params",begin:/\(/,end:/\)/,keywords:r,contains:["self",e.C_BLOCK_COMMENT_MODE,t,a]}]},{className:"class",beginKeywords:"class interface",end:/\{/,excludeEnd:!0,illegal:/[:($"]/,contains:[{beginKeywords:"extends implements"},n]},{beginKeywords:"namespace",end:/;/,illegal:/[.']/,contains:[n]},{beginKeywords:"use",end:/;/,contains:[n]},{begin:/=>/},t,a]}})),lk.HighlightJS=lk,lk.default=lk;const ck=hg(lk);function dk(e){var t;return e.hasAttribute("data-highlighted")||!!e.querySelector(".line-number")||!!(null==(t=e.parentElement)?void 0:t.querySelector(".copy-button"))}function uk(e){if(!dk(e))try{!function(e){ck.highlightElement(e)}(e),function(e){const t=e.innerHTML.split("\n").map((e,t)=>`${t+1} ${e}`).join("\n");e.innerHTML=t}(e),function(e){const t=document.createElement("i");t.className="copy-button",t.innerHTML='',t.onclick=()=>{const t=e.innerText.replace(/^\d+\s+/gm,"");navigator.clipboard.writeText(t).then(()=>{iE.success("复制成功")})};const n=e.parentElement;if(n){let a;e.parentElement.classList.contains("code-wrapper")?a=e.parentElement:(a=document.createElement("div"),a.className="code-wrapper",n.replaceChild(a,e),a.appendChild(e)),n.appendChild(t)}}(e),function(e){e.setAttribute("data-highlighted","true")}(e)}catch(t){}}function _k(e){const t=Array.from(e.querySelectorAll("pre code")).filter(e=>!dk(e));if(0!==t.length)if(t.length<=10)t.forEach(e=>uk(e));else{const e=10;let n=0;const a=()=>{t.slice(n,n+e).forEach(e=>{uk(e)}),n+=e,n{!function(e,t=3,n=200){let a=0;const r=()=>{_k(e),Array.from(e.querySelectorAll("pre code")).filter(e=>!dk(e)).length>0&&a{let n=!1;t.forEach(e=>{"childList"===e.type&&e.addedNodes.forEach(e=>{if(e.nodeType===Node.ELEMENT_NODE){const t=e;("PRE"===t.tagName||t.querySelector("pre code"))&&(n=!0)}})}),n&&setTimeout(()=>{_k(e)},50)});t.observe(e,{childList:!0,subtree:!0}),e._highlightObserver=t},updated(e){setTimeout(()=>{_k(e)},50)},unmounted(e){const t=e._highlightObserver;t&&(t.disconnect(),delete e._highlightObserver)}};const mk={mounted(e,t){const n=t.value||{};e.style.position="relative",e.style.overflow="hidden",e.addEventListener("mousedown",t=>{const a=e.getBoundingClientRect(),r=t.clientX-a.left,i=t.clientY-a.top,o=document.createElement("div"),s=Math.max(e.clientWidth,e.clientHeight),l=s/2,c=600+.5*s;o.style.width=o.style.height=`${s}px`,o.style.left=r-l+"px",o.style.top=i-l+"px",o.style.position="absolute",o.style.borderRadius="50%",o.style.pointerEvents="none";const d=["primary","info","warning","danger","success"].map(e=>`el-button--${e}`).some(t=>e.classList.contains(t))?"rgba(255, 255, 255, 0.25)":"var(--el-color-primary-light-7)";o.style.backgroundColor=n.color||d,o.style.transform="scale(0)",o.style.transition=`transform ${c}ms cubic-bezier(0.3, 0, 0.2, 1), opacity ${c}ms cubic-bezier(0.3, 0, 0.5, 1)`,o.style.zIndex="1",e.appendChild(o),requestAnimationFrame(()=>{o.style.transform="scale(2)",o.style.opacity="0"}),setTimeout(()=>{o.remove()},c+500)})}};function gk(e,t){const n=CN().getUserInfo.roles;if(!(null==n?void 0:n.length))return void Ek(e);(Array.isArray(t.value)?t.value:[t.value]).some(e=>n.includes(e))||Ek(e)}function Ek(e){e.parentNode&&e.parentNode.removeChild(e)}const fk={mounted:gk,updated:gk};function Sk(e,t,n){!function(e){if(null===e)return"null";if(void 0===e)return"undefined";if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return String(e);if(e instanceof Error)return`${e.name}: ${e.message}`;try{return JSON.stringify(e)}catch(vk){return"[Object - cannot stringify]"}}(e)}function bk(e,t,n,a,r){const i="string"==typeof e?e:"",o=(null==r?void 0:r.message)||"";i.includes("ResizeObserver")||o.includes("ResizeObserver");return!0}document.addEventListener("touchstart",function(){},{passive:!1});const hk=Ns(xN);hk.use(zN),function(e){qS.configure({easing:"ease",speed:600,showSpinner:!1,trickleSpeed:200,parent:"body"}),hN(TN),function(e){const{scrollToTop:t}=eC();e.afterEach(()=>{t(),_N().showNprogress&&qS.done()})}(TN),e.use(TN)}(hk),function(e){!function(e){e.directive("auth",jN)}(e),function(e){e.directive("roles",fk)}(e),function(e){e.directive("highlight",pk)}(e),function(e){e.directive("ripple",mk)}(e)}(hk),function(e){e.config.errorHandler=Sk,e.config.warnHandler=e=>{try{const t="string"==typeof e?e:JSON.stringify(e);if(["Non-function value encountered for default slot","Extraneous non-props attributes"].some(e=>t.includes(e)))return}catch(vk){}},window.onerror=bk,window.addEventListener("unhandledrejection",e=>{}),window.addEventListener("error",e=>{const t=e.target;t&&("IMG"===t.tagName||"SCRIPT"===t.tagName||t.tagName)},!0)}(hk),hk.use(DT),hk.mount("#app");export{om as $,Kr as A,CN as B,wS as C,HS as D,Sg as E,yE as F,Ga as G,Ha as H,di as I,$a as J,pm as K,PT as L,Ht as M,Mn as N,hs as O,Ts as P,pN as Q,mN as R,UO as S,iE as T,Po as U,wT as V,IN as W,Di as X,Wr as Y,Fm as Z,Mm as _,DS as a,nC as a$,i_ as a0,Ls as a1,ki as a2,Eo as a3,l_ as a4,s_ as a5,c_ as a6,pg as a7,Bu as a8,yr as a9,y_ as aA,TN as aB,Ea as aC,LS as aD,Va as aE,xy as aF,Dy as aG,Ty as aH,py as aI,iy as aJ,Zy as aK,tC as aL,qt as aM,ba as aN,qn as aO,Ma as aP,MT as aQ,A_ as aR,oy as aS,US as aT,zy as aU,EE as aV,Jy as aW,zE as aX,My as aY,Yy as aZ,jE as a_,S_ as aa,N_ as ab,I_ as ac,vd as ad,Tr as ae,Yi as af,to as ag,x as ah,R_ as ai,xo as aj,Wd as ak,cm as al,Ap as am,N as an,M as ao,cu as ap,Og as aq,fd as ar,Kd as as,Fu as at,ap as au,Up as av,Od as aw,b_ as ax,an as ay,h_ as az,hi as b,ky as b$,YS as b0,dC as b1,qg as b2,X_ as b3,x_ as b4,lp as b5,q_ as b6,np as b7,j_ as b8,cp as b9,gs as bA,Gp as bB,Kp as bC,Zp as bD,Jp as bE,Ed as bF,hg as bG,bg as bH,Cd as bI,w as bJ,Pu as bK,$u as bL,U_ as bM,qp as bN,um as bO,nr as bP,ju as bQ,B_ as bR,eu as bS,b as bT,d_ as bU,D_ as bV,Ac as bW,V_ as bX,H_ as bY,D as bZ,Ti as b_,P_ as ba,gp as bb,a_ as bc,yd as bd,G_ as be,FT as bf,Tc as bg,hc as bh,vc as bi,Ic as bj,js as bk,Lp as bl,iu as bm,Cu as bn,du as bo,xa as bp,Wt as bq,n_ as br,tr as bs,kd as bt,Da as bu,Td as bv,Yu as bw,tm as bx,nm as by,qm as bz,eo as c,m_ as c$,Gy as c0,nN as c1,yc as c2,$ as c3,Bt as c4,_m as c5,xp as c6,Gd as c7,U as c8,E_ as c9,k_ as cA,__ as cB,Hu as cC,Lg as cD,Ip as cE,hm as cF,xg as cG,wg as cH,Zs as cI,Dl as cJ,yl as cK,Rl as cL,nc as cM,Cl as cN,Vl as cO,Ql as cP,Ws as cQ,Ul as cR,el as cS,wc as cT,Nc as cU,O as cV,Os as cW,Qu as cX,Zd as cY,Z_ as cZ,Ai as c_,Fd as ca,fu as cb,oe as cc,_s as cd,j as ce,Ii as cf,_i as cg,ui as ch,Rd as ci,im as cj,gd as ck,wu as cl,Xp as cm,Ym as cn,Uu as co,Pm as cp,Ia as cq,xs as cr,Wp as cs,xt as ct,Ta as cu,VE as cv,wy as cw,ja as cx,Gu as cy,Cp as cz,la as d,Ku as d$,Nd as d0,uu as d1,$d as d2,Ru as d3,Ud as d4,Mc as d5,Dc as d6,Cc as d7,Pc as d8,Fs as d9,Op as dA,up as dB,_p as dC,Wu as dD,zs as dE,_d as dF,ic as dG,md as dH,Js as dI,vl as dJ,Il as dK,vg as dL,Qp as dM,qd as dN,rs as dO,km as dP,T_ as dQ,Qa as dR,ir as dS,Jr as dT,xT as dU,r_ as dV,tp as dW,Um as dX,Pg as dY,P as dZ,$_ as d_,qs as da,Qc as db,zl as dc,Wl as dd,kc as de,Nl as df,Ll as dg,Zl as dh,Jl as di,ks as dj,Xc as dk,va as dl,Hd as dm,Zu as dn,Rg as dp,Is as dq,Mg as dr,$s as ds,ps as dt,hd as du,Gt as dv,mp as dw,K_ as dx,be as dy,Np as dz,Ei as e,yu as e0,Dp as e1,wp as e2,Tg as e3,yg as e4,Cg as e5,dp as e6,$m as e7,da as e8,w_ as e9,oN as eA,sN as eB,lN as eC,pC as eD,rN as eE,aN as eF,cN as eG,$E as eH,ON as eI,Oy as eJ,qE as eK,KE as eL,Ay as eM,uN as eN,J_ as eO,hp as eP,ip as eQ,sp as eR,Sy as eS,$y as eT,O_ as ea,Bc as eb,ad as ec,Zc as ed,ed as ee,u_ as ef,fp as eg,Sp as eh,sm as ei,dm as ej,lm as ek,ru as el,L_ as em,rp as en,pp as eo,z_ as ep,Rp as eq,op as er,W_ as es,M_ as et,yp as eu,ep as ev,vp as ew,Y_ as ex,Ep as ey,iN as ez,Oi as f,Ni as g,vi as h,xi as i,wi as j,wt as k,La as l,ee as m,Tn as n,wa as o,Kt as p,ie as q,zt as r,Wa as s,en as t,eC as u,_e as v,Ln as w,_N as x,HE as y,bT as z}; diff --git a/nginx/admin/assets/index-BoIUJTA2.js.gz b/nginx/admin/assets/index-BoIUJTA2.js.gz new file mode 100644 index 0000000..94f8b26 Binary files /dev/null and b/nginx/admin/assets/index-BoIUJTA2.js.gz differ diff --git a/nginx/admin/assets/index-Bq8lawOo.js b/nginx/admin/assets/index-Bq8lawOo.js new file mode 100644 index 0000000..5e30e8d --- /dev/null +++ b/nginx/admin/assets/index-Bq8lawOo.js @@ -0,0 +1 @@ +import{dm as e,p as t,a8 as o,bd as r}from"./index-BoIUJTA2.js";function s(){let t;const o=()=>window.clearTimeout(t);return e(()=>o()),{registerTimeout:(e,r)=>{o(),t=window.setTimeout(e,r)},cancelTimeout:o}}const u=o({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),i=({showAfter:e,hideAfter:o,autoClose:u,open:i,close:n})=>{const{registerTimeout:a}=s(),{registerTimeout:m,cancelTimeout:c}=s();return{onOpen:(o,s=t(e))=>{a(()=>{i(o);const e=t(u);r(e)&&e>0&&m(()=>{n(o)},e)},s)},onClose:(e,r=t(o))=>{c(),a(()=>{n(e)},r)}}};export{i as a,u}; diff --git a/nginx/admin/assets/index-Bw_sWjGf.css b/nginx/admin/assets/index-Bw_sWjGf.css new file mode 100644 index 0000000..442ea5c --- /dev/null +++ b/nginx/admin/assets/index-Bw_sWjGf.css @@ -0,0 +1 @@ +:root{--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary-rgb:64,158,255;--el-color-success-rgb:103,194,58;--el-color-warning-rgb:230,162,60;--el-color-danger-rgb:245,108,108;--el-color-error-rgb:245,108,108;--el-color-info-rgb:144,147,153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645,.045,.355,1);--el-transition-function-fast-bezier:cubic-bezier(.23,1,.32,1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier),opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:rgb(121,187,255);--el-color-primary-light-5:rgb(160,207,255);--el-color-primary-light-7:rgb(198,226,255);--el-color-primary-light-8:rgb(217,236,255);--el-color-primary-light-9:rgb(236,245,255);--el-color-primary-dark-2:rgb(51,126,204);--el-color-success:#67c23a;--el-color-success-light-3:rgb(149,212,117);--el-color-success-light-5:rgb(179,225,157);--el-color-success-light-7:rgb(209,237,196);--el-color-success-light-8:rgb(225,243,216);--el-color-success-light-9:rgb(240,249,235);--el-color-success-dark-2:rgb(82,155,46);--el-color-warning:#e6a23c;--el-color-warning-light-3:rgb(238,190,119);--el-color-warning-light-5:rgb(243,209,158);--el-color-warning-light-7:rgb(248,227,197);--el-color-warning-light-8:rgb(250,236,216);--el-color-warning-light-9:rgb(253,246,236);--el-color-warning-dark-2:rgb(184,130,48);--el-color-danger:#f56c6c;--el-color-danger-light-3:rgb(248,152,152);--el-color-danger-light-5:rgb(250,182,182);--el-color-danger-light-7:rgb(252,211,211);--el-color-danger-light-8:rgb(253,226,226);--el-color-danger-light-9:rgb(254,240,240);--el-color-danger-dark-2:rgb(196,86,86);--el-color-error:#f56c6c;--el-color-error-light-3:rgb(248,152,152);--el-color-error-light-5:rgb(250,182,182);--el-color-error-light-7:rgb(252,211,211);--el-color-error-light-8:rgb(253,226,226);--el-color-error-light-9:rgb(254,240,240);--el-color-error-dark-2:rgb(196,86,86);--el-color-info:#909399;--el-color-info-light-3:rgb(177,179,184);--el-color-info-light-5:rgb(200,201,204);--el-color-info-light-7:rgb(222,223,224);--el-color-info-light-8:rgb(233,233,235);--el-color-info-light-9:rgb(244,244,245);--el-color-info-dark-2:rgb(115,118,122);--el-bg-color:#ffffff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#ffffff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#ffffff;--el-box-shadow:0px 12px 32px 4px rgba(0,0,0,.04),0px 8px 20px rgba(0,0,0,.08);--el-box-shadow-light:0px 0px 12px rgba(0,0,0,.12);--el-box-shadow-lighter:0px 0px 6px rgba(0,0,0,.12);--el-box-shadow-dark:0px 16px 48px 16px rgba(0,0,0,.08),0px 12px 32px rgba(0,0,0,.12),0px 8px 16px -8px rgba(0,0,0,.16);--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:rgba(0,0,0,.8);--el-overlay-color-light:rgba(0,0,0,.7);--el-overlay-color-lighter:rgba(0,0,0,.5);--el-mask-color:rgba(255,255,255,.9);--el-mask-color-extra-light:rgba(255,255,255,.3);--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transform-origin:center top;transition:var(--el-transition-md-fade)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transform-origin:center bottom;transition:var(--el-transition-md-fade)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transform-origin:top left;transition:var(--el-transition-md-fade)}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.el-icon{--color:inherit;align-items:center;display:inline-flex;height:1em;justify-content:center;line-height:1em;position:relative;width:1em;fill:currentColor;color:var(--color);font-size:inherit}#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;display:inline-block;position:relative;vertical-align:middle;width:-moz-fit-content;width:fit-content}.el-badge__content{align-items:center;background-color:var(--el-badge-bg-color);border:1px solid var(--el-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);display:inline-flex;font-size:var(--el-badge-font-size);height:var(--el-badge-size);justify-content:center;padding:0 var(--el-badge-padding);white-space:nowrap}.el-badge__content.is-fixed{position:absolute;right:calc(1px + var(--el-badge-size)/2);top:0;transform:translateY(-50%) translate(100%);z-index:var(--el-index-normal)}.el-badge__content.is-dot{border-radius:50%;height:8px;padding:0;right:0;width:8px}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:11px 15px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary);align-items:center;background-color:var(--el-message-bg-color);border-color:var(--el-message-border-color);border-radius:var(--el-border-radius-base);border-style:var(--el-border-style);border-width:var(--el-border-width);box-sizing:border-box;display:flex;gap:8px;max-width:calc(100% - 32px);padding:var(--el-message-padding);position:fixed;transition:opacity var(--el-transition-duration),transform .4s,top .4s,bottom .4s;width:-moz-fit-content;width:fit-content}.el-message.is-center{left:0;margin:0 auto;right:0}.el-message--primary{--el-message-bg-color:var(--el-color-primary-light-9);--el-message-border-color:var(--el-color-primary-light-8);--el-message-text-color:var(--el-color-primary)}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message .el-message__badge{position:absolute;right:-8px;top:-8px}.el-message__content{font-size:14px;line-height:1;padding:0}.el-message .el-message__closeBtn{color:var(--el-message-close-icon-color);cursor:pointer;font-size:var(--el-message-close-size)}:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{background-color:var(--el-mask-color);inset:0;margin:0;position:absolute;transition:opacity var(--el-transition-duration);z-index:2000}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size))/2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{margin-top:calc((0px - var(--el-loading-spinner-size))/2);position:absolute;text-align:center;top:50%;width:100%}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);font-size:14px;margin:3px 0}.el-loading-spinner .circular{animation:loading-rotate 2s linear infinite;display:inline;height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size)}.el-loading-spinner .path{animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--el-color-primary);stroke-linecap:round}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@keyframes loading-rotate{to{transform:rotate(1turn)}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}:root{--el-color-white: #ffffff;--el-color-black: #000000;--el-color-primary-rgb: 64, 158, 255;--el-color-success-rgb: 19, 222, 185;--el-color-warning-rgb: 255, 174, 31;--el-color-danger-rgb: 255, 77, 79;--el-color-error-rgb: 250, 137, 107;--el-color-info-rgb: 144, 147, 153;--el-font-size-extra-large: 20px;--el-font-size-large: 18px;--el-font-size-medium: 16px;--el-font-size-base: 14px;--el-font-size-small: 13px;--el-font-size-extra-small: 12px;--el-font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--el-font-weight-primary: 500;--el-font-line-height-primary: 24px;--el-index-normal: 1;--el-index-top: 1000;--el-index-popper: 2000;--el-border-radius-base: 4px;--el-border-radius-small: 2px;--el-border-radius-round: 20px;--el-border-radius-circle: 100%;--el-transition-duration: .3s;--el-transition-duration-fast: .2s;--el-transition-function-ease-in-out-bezier: cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier: cubic-bezier(.23, 1, .32, 1);--el-transition-all: all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade: opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade: transform var(--el-transition-duration) var(--el-transition-function-fast-bezier), opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear: opacity var(--el-transition-duration-fast) linear;--el-transition-border: border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow: box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color: color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large: 40px;--el-component-size: 32px;--el-component-size-small: 24px}:root{color-scheme:light;--el-color-primary: #409eff;--el-color-primary-light-3: rgb(121, 187, 255);--el-color-primary-light-5: rgb(160, 207, 255);--el-color-primary-light-7: rgb(198, 226, 255);--el-color-primary-light-8: rgb(217, 236, 255);--el-color-primary-light-9: rgb(236, 245, 255);--el-color-primary-dark-2: rgb(51, 126, 204);--el-color-success: #13deb9;--el-color-success-light-3: rgb(90, 232, 206);--el-color-success-light-5: rgb(137, 239, 220);--el-color-success-light-7: rgb(184, 245, 234);--el-color-success-light-8: rgb(208, 248, 241);--el-color-success-light-9: rgb(231, 252, 248);--el-color-success-dark-2: rgb(15, 178, 148);--el-color-warning: #ffae1f;--el-color-warning-light-3: rgb(255, 198, 98);--el-color-warning-light-5: rgb(255, 215, 143);--el-color-warning-light-7: rgb(255, 231, 188);--el-color-warning-light-8: rgb(255, 239, 210);--el-color-warning-light-9: rgb(255, 247, 233);--el-color-warning-dark-2: rgb(204, 139, 25);--el-color-danger: #ff4d4f;--el-color-danger-light-3: rgb(255, 130, 132);--el-color-danger-light-5: rgb(255, 166, 167);--el-color-danger-light-7: rgb(255, 202, 202);--el-color-danger-light-8: rgb(255, 219, 220);--el-color-danger-light-9: rgb(255, 237, 237);--el-color-danger-dark-2: rgb(204, 62, 63);--el-color-error: #fa896b;--el-color-error-light-3: rgb(252, 172, 151);--el-color-error-light-5: rgb(253, 196, 181);--el-color-error-light-7: rgb(254, 220, 211);--el-color-error-light-8: rgb(254, 231, 225);--el-color-error-light-9: rgb(255, 243, 240);--el-color-error-dark-2: rgb(200, 110, 86);--el-color-info: #909399;--el-color-info-light-3: rgb(177, 179, 184);--el-color-info-light-5: rgb(200, 201, 204);--el-color-info-light-7: rgb(222, 223, 224);--el-color-info-light-8: rgb(233, 233, 235);--el-color-info-light-9: rgb(244, 244, 245);--el-color-info-dark-2: rgb(115, 118, 122);--el-bg-color: #ffffff;--el-bg-color-page: #f2f3f5;--el-bg-color-overlay: #ffffff;--el-text-color-primary: #303133;--el-text-color-regular: #606266;--el-text-color-secondary: #909399;--el-text-color-placeholder: #a8abb2;--el-text-color-disabled: #c0c4cc;--el-border-color: #dcdfe6;--el-border-color-light: #e4e7ed;--el-border-color-lighter: #ebeef5;--el-border-color-extra-light: #f2f6fc;--el-border-color-dark: #d4d7de;--el-border-color-darker: #cdd0d6;--el-fill-color: #f0f2f5;--el-fill-color-light: #f5f7fa;--el-fill-color-lighter: #fafafa;--el-fill-color-extra-light: #fafcff;--el-fill-color-dark: #ebedf0;--el-fill-color-darker: #e6e8eb;--el-fill-color-blank: #ffffff;--el-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .04), 0px 8px 20px rgba(0, 0, 0, .08);--el-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .12);--el-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .12);--el-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .08), 0px 12px 32px rgba(0, 0, 0, .12), 0px 8px 16px -8px rgba(0, 0, 0, .16);--el-disabled-bg-color: var(--el-fill-color-light);--el-disabled-text-color: var(--el-text-color-placeholder);--el-disabled-border-color: var(--el-border-color-light);--el-overlay-color: rgba(0, 0, 0, .8);--el-overlay-color-light: rgba(0, 0, 0, .7);--el-overlay-color-lighter: rgba(0, 0, 0, .5);--el-mask-color: rgba(255, 255, 255, .9);--el-mask-color-extra-light: rgba(255, 255, 255, .3);--el-border-width: 1px;--el-border-style: solid;--el-border-color-hover: var(--el-text-color-disabled);--el-border: var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey: var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center top}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center bottom}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:var(--el-transition-md-fade);transform-origin:top left}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color: inherit;height:1em;width:1em;line-height:1em;display:inline-flex;justify-content:center;align-items:center;position:relative;fill:currentColor;color:var(--color);font-size:inherit}.el-icon.is-loading{animation:rotating 2s linear infinite}.el-icon svg{height:1em;width:1em}.el-notification{--el-notification-width: 330px;--el-notification-padding: 14px 26px 14px 13px;--el-notification-radius: 8px;--el-notification-shadow: var(--el-box-shadow-light);--el-notification-border-color: var(--el-border-color-lighter);--el-notification-icon-size: 24px;--el-notification-close-font-size: var(--el-message-close-size, 16px);--el-notification-group-margin-left: 13px;--el-notification-group-margin-right: 8px;--el-notification-content-font-size: var(--el-font-size-base);--el-notification-content-color: var(--el-text-color-regular);--el-notification-title-font-size: 16px;--el-notification-title-color: var(--el-text-color-primary);--el-notification-close-color: var(--el-text-color-secondary);--el-notification-close-hover-color: var(--el-text-color-regular)}.el-notification{display:flex;width:var(--el-notification-width);padding:var(--el-notification-padding);border-radius:var(--el-notification-radius);box-sizing:border-box;border:1px solid var(--el-notification-border-color);position:fixed;background-color:var(--el-bg-color-overlay);box-shadow:var(--el-notification-shadow);transition:opacity var(--el-transition-duration),transform var(--el-transition-duration),left var(--el-transition-duration),right var(--el-transition-duration),top .4s,bottom var(--el-transition-duration);overflow-wrap:break-word;overflow:hidden;z-index:9999}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{flex:1;min-width:0;margin-left:var(--el-notification-group-margin-left);margin-right:var(--el-notification-group-margin-right)}.el-notification__title{font-weight:700;font-size:var(--el-notification-title-font-size);line-height:var(--el-notification-icon-size);color:var(--el-notification-title-color);margin:0}.el-notification__content{font-size:var(--el-notification-content-font-size);line-height:24px;margin:6px 0 0;color:var(--el-notification-content-color)}.el-notification__content p{margin:0}.el-notification .el-notification__icon{flex-shrink:0;height:var(--el-notification-icon-size);width:var(--el-notification-icon-size);font-size:var(--el-notification-icon-size)}.el-notification .el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:var(--el-notification-close-color);font-size:var(--el-notification-close-font-size)}.el-notification .el-notification__closeBtn:hover{color:var(--el-notification-close-hover-color)}.el-notification .el-notification--primary{--el-notification-icon-color: var(--el-color-primary);color:var(--el-notification-icon-color)}.el-notification .el-notification--success{--el-notification-icon-color: var(--el-color-success);color:var(--el-notification-icon-color)}.el-notification .el-notification--info{--el-notification-icon-color: var(--el-color-info);color:var(--el-notification-icon-color)}.el-notification .el-notification--warning{--el-notification-icon-color: var(--el-color-warning);color:var(--el-notification-icon-color)}.el-notification .el-notification--error{--el-notification-icon-color: var(--el-color-error);color:var(--el-notification-icon-color)}.el-notification-fade-enter-from.right{right:0;transform:translate(100%)}.el-notification-fade-enter-from.left{left:0;transform:translate(-100%)}.el-notification-fade-leave-to{opacity:0}.el-badge{--el-badge-bg-color: var(--el-color-danger);--el-badge-radius: 10px;--el-badge-font-size: 12px;--el-badge-padding: 6px;--el-badge-size: 18px;position:relative;vertical-align:middle;display:inline-block;width:fit-content}.el-badge__content{background-color:var(--el-badge-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);display:inline-flex;justify-content:center;align-items:center;font-size:var(--el-badge-font-size);height:var(--el-badge-size);padding:0 var(--el-badge-padding);white-space:nowrap;border:1px solid var(--el-bg-color)}.el-badge__content.is-fixed{position:absolute;top:0;right:calc(1px + var(--el-badge-size) / 2);transform:translateY(-50%) translate(100%);z-index:var(--el-index-normal)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content.is-hide-zero{display:none}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.el-message{--el-message-bg-color: var(--el-color-info-light-9);--el-message-border-color: var(--el-border-color-lighter);--el-message-padding: 11px 15px;--el-message-close-size: 16px;--el-message-close-icon-color: var(--el-text-color-placeholder);--el-message-close-hover-color: var(--el-text-color-secondary)}.el-message{width:fit-content;max-width:calc(100% - 32px);box-sizing:border-box;border-radius:var(--el-border-radius-base);border-width:var(--el-border-width);border-style:var(--el-border-style);border-color:var(--el-message-border-color);position:fixed;background-color:var(--el-message-bg-color);transition:opacity var(--el-transition-duration),transform .4s,top .4s,bottom .4s;padding:var(--el-message-padding);display:flex;align-items:center;gap:8px}.el-message.is-left{left:16px}.el-message.is-right{right:16px}.el-message.is-center{left:0;right:0;margin:0 auto}.el-message.is-plain{background-color:var(--el-bg-color-overlay);border-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-message p{margin:0}.el-message--primary{--el-message-bg-color: var(--el-color-primary-light-9);--el-message-border-color: var(--el-color-primary-light-8);--el-message-text-color: var(--el-color-primary)}.el-message--primary .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--primary{color:var(--el-message-text-color)}.el-message--success{--el-message-bg-color: var(--el-color-success-light-9);--el-message-border-color: var(--el-color-success-light-8);--el-message-text-color: var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color: var(--el-color-info-light-9);--el-message-border-color: var(--el-color-info-light-8);--el-message-text-color: var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color: var(--el-color-warning-light-9);--el-message-border-color: var(--el-color-warning-light-8);--el-message-text-color: var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color: var(--el-color-error-light-9);--el-message-border-color: var(--el-color-error-light-8);--el-message-text-color: var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message .el-message__badge{position:absolute;top:-8px;right:-8px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{cursor:pointer;color:var(--el-message-close-icon-color);font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0;transform:translateY(-100%)}.el-message-fade-enter-from.is-bottom,.el-message-fade-leave-to.is-bottom{transform:translateY(100%)}:root{--el-popup-modal-bg-color: var(--el-color-black);--el-popup-modal-opacity: .5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color)}.el-popup-parent--hidden{overflow:hidden}.el-message-box{--el-messagebox-title-color: var(--el-text-color-primary);--el-messagebox-width: 420px;--el-messagebox-border-radius: 12px;--el-messagebox-box-shadow: var(--el-box-shadow);--el-messagebox-font-size: var(--el-font-size-large);--el-messagebox-content-font-size: var(--el-font-size-base);--el-messagebox-content-color: var(--el-text-color-regular);--el-messagebox-error-font-size: 12px;--el-messagebox-padding-primary: 12px;--el-messagebox-font-line-height: var(--el-font-line-height-primary)}.el-message-box{display:inline-block;position:relative;max-width:var(--el-messagebox-width);width:100%;padding:var(--el-messagebox-padding-primary);vertical-align:middle;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);font-size:var(--el-messagebox-font-size);box-shadow:var(--el-messagebox-box-shadow);text-align:left;overflow:hidden;backface-visibility:hidden;box-sizing:border-box;overflow-wrap:break-word}.el-message-box:focus{outline:none!important}.is-message-box .el-overlay-message-box{text-align:center;position:fixed;inset:0;padding:16px;overflow:auto}.is-message-box .el-overlay-message-box:after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box.is-draggable .el-message-box__header{cursor:move;user-select:none}.el-message-box__header{padding-bottom:var(--el-messagebox-padding-primary)}.el-message-box__header.show-close{padding-right:calc(var(--el-messagebox-padding-primary) + var(--el-message-close-size, 16px))}.el-message-box__title{font-size:var(--el-messagebox-font-size);line-height:var(--el-messagebox-font-line-height);color:var(--el-messagebox-title-color)}.el-message-box__headerbtn{position:absolute;top:0;right:0;padding:0;width:40px;height:40px;border:none;outline:none;background:transparent;font-size:var(--el-message-close-size, 16px);cursor:pointer}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{display:flex;align-items:center;gap:12px}.el-message-box__input{padding-top:12px}.el-message-box__input div.invalid>input{border-color:var(--el-color-error)}.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{font-size:24px}.el-message-box__status.el-message-box-icon--primary{--el-messagebox-color: var(--el-color-primary);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color: var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color: var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color: var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color: var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{margin:0;min-width:0}.el-message-box__message p{margin:0;line-height:var(--el-messagebox-font-line-height)}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__btns{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;padding-top:var(--el-messagebox-padding-primary)}.el-message-box--center .el-message-box__title{display:flex;align-items:center;justify-content:center;gap:6px}.el-message-box--center .el-message-box__status{font-size:inherit}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__container{justify-content:center}.fade-in-linear-enter-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@keyframes msgbox-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}.el-button{--el-button-font-weight: var(--el-font-weight-primary);--el-button-border-color: var(--el-color-primary);--el-button-bg-color: var(--el-fill-color-blank);--el-button-text-color: var(--el-color-primary);--el-button-disabled-text-color: var(--el-disabled-text-color);--el-button-disabled-bg-color: var(--el-fill-color-blank);--el-button-disabled-border-color: var(--el-border-color-light);--el-button-divide-border-color: rgba(255, 255, 255, .5);--el-button-hover-text-color: var(--el-color-primary);--el-button-hover-bg-color: var(--el-color-primary-light-9);--el-button-hover-border-color: var(--el-color-primary);--el-button-active-text-color: var(--el-button-hover-text-color);--el-button-active-border-color: var(--el-color-primary);--el-button-active-bg-color: var(--el-button-hover-bg-color);--el-button-outline-color: var(--el-color-primary-light-5);--el-button-hover-link-text-color: var(--el-text-color-secondary);--el-button-active-color: var(--el-text-color-primary)}.el-button{display:inline-flex;justify-content:center;align-items:center;line-height:1;height:32px;white-space:nowrap;cursor:pointer;color:var(--el-button-text-color);text-align:center;box-sizing:border-box;outline:none;transition:.1s;font-weight:var(--el-button-font-weight);user-select:none;vertical-align:middle;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color)}.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color);outline:none}.el-button:active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button>span{display:inline-flex;align-items:center}.el-button+.el-button{margin-left:12px}.el-button{padding:8px 15px;font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base)}.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color: var(--el-color-primary);--el-button-hover-bg-color: var(--el-fill-color-blank);--el-button-hover-border-color: var(--el-color-primary)}.el-button.is-active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button.is-disabled,.el-button.is-disabled:hover{color:var(--el-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color);border-color:var(--el-button-disabled-border-color)}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{z-index:1;pointer-events:none;content:"";position:absolute;inset:-1px;border-radius:inherit;background-color:var(--el-mask-color-extra-light)}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-circle{width:32px;border-radius:50%;padding:8px}.el-button.is-text{color:var(--el-button-text-color);border:0 solid transparent;background-color:transparent}.el-button.is-text.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important}.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{border-color:transparent;color:var(--el-button-text-color);background:transparent;padding:2px;height:auto}.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important;border-color:transparent!important}.el-button.is-link:not(.is-disabled):hover{border-color:transparent;background-color:transparent}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color);border-color:transparent;background-color:transparent}.el-button--text{border-color:transparent;background:transparent;color:var(--el-color-primary);padding-left:0;padding-right:0}.el-button--text.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important;border-color:transparent!important}.el-button--text:not(.is-disabled):hover{color:var(--el-color-primary-light-3);border-color:transparent;background-color:transparent}.el-button--text:not(.is-disabled):active{color:var(--el-color-primary-dark-2);border-color:transparent;background-color:transparent}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color: var(--el-color-white);--el-button-bg-color: var(--el-color-primary);--el-button-border-color: var(--el-color-primary);--el-button-outline-color: var(--el-color-primary-light-5);--el-button-active-color: var(--el-color-primary-dark-2);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-primary-light-5);--el-button-hover-bg-color: var(--el-color-primary-light-3);--el-button-hover-border-color: var(--el-color-primary-light-3);--el-button-active-bg-color: var(--el-color-primary-dark-2);--el-button-active-border-color: var(--el-color-primary-dark-2);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-primary-light-5);--el-button-disabled-border-color: var(--el-color-primary-light-5)}.el-button--primary.is-plain,.el-button--primary.is-text,.el-button--primary.is-link{--el-button-text-color: var(--el-color-primary);--el-button-bg-color: var(--el-color-primary-light-9);--el-button-border-color: var(--el-color-primary-light-5);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-bg-color: var(--el-color-primary);--el-button-hover-border-color: var(--el-color-primary);--el-button-active-text-color: var(--el-color-white)}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:hover,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--success{--el-button-text-color: var(--el-color-white);--el-button-bg-color: var(--el-color-success);--el-button-border-color: var(--el-color-success);--el-button-outline-color: var(--el-color-success-light-5);--el-button-active-color: var(--el-color-success-dark-2);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-success-light-5);--el-button-hover-bg-color: var(--el-color-success-light-3);--el-button-hover-border-color: var(--el-color-success-light-3);--el-button-active-bg-color: var(--el-color-success-dark-2);--el-button-active-border-color: var(--el-color-success-dark-2);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-success-light-5);--el-button-disabled-border-color: var(--el-color-success-light-5)}.el-button--success.is-plain,.el-button--success.is-text,.el-button--success.is-link{--el-button-text-color: var(--el-color-success);--el-button-bg-color: var(--el-color-success-light-9);--el-button-border-color: var(--el-color-success-light-5);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-bg-color: var(--el-color-success);--el-button-hover-border-color: var(--el-color-success);--el-button-active-text-color: var(--el-color-white)}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:hover,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:active,.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--warning{--el-button-text-color: var(--el-color-white);--el-button-bg-color: var(--el-color-warning);--el-button-border-color: var(--el-color-warning);--el-button-outline-color: var(--el-color-warning-light-5);--el-button-active-color: var(--el-color-warning-dark-2);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-warning-light-5);--el-button-hover-bg-color: var(--el-color-warning-light-3);--el-button-hover-border-color: var(--el-color-warning-light-3);--el-button-active-bg-color: var(--el-color-warning-dark-2);--el-button-active-border-color: var(--el-color-warning-dark-2);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-warning-light-5);--el-button-disabled-border-color: var(--el-color-warning-light-5)}.el-button--warning.is-plain,.el-button--warning.is-text,.el-button--warning.is-link{--el-button-text-color: var(--el-color-warning);--el-button-bg-color: var(--el-color-warning-light-9);--el-button-border-color: var(--el-color-warning-light-5);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-bg-color: var(--el-color-warning);--el-button-hover-border-color: var(--el-color-warning);--el-button-active-text-color: var(--el-color-white)}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:hover,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--danger{--el-button-text-color: var(--el-color-white);--el-button-bg-color: var(--el-color-danger);--el-button-border-color: var(--el-color-danger);--el-button-outline-color: var(--el-color-danger-light-5);--el-button-active-color: var(--el-color-danger-dark-2);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-danger-light-5);--el-button-hover-bg-color: var(--el-color-danger-light-3);--el-button-hover-border-color: var(--el-color-danger-light-3);--el-button-active-bg-color: var(--el-color-danger-dark-2);--el-button-active-border-color: var(--el-color-danger-dark-2);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-danger-light-5);--el-button-disabled-border-color: var(--el-color-danger-light-5)}.el-button--danger.is-plain,.el-button--danger.is-text,.el-button--danger.is-link{--el-button-text-color: var(--el-color-danger);--el-button-bg-color: var(--el-color-danger-light-9);--el-button-border-color: var(--el-color-danger-light-5);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-bg-color: var(--el-color-danger);--el-button-hover-border-color: var(--el-color-danger);--el-button-active-text-color: var(--el-color-white)}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:hover,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--info{--el-button-text-color: var(--el-color-white);--el-button-bg-color: var(--el-color-info);--el-button-border-color: var(--el-color-info);--el-button-outline-color: var(--el-color-info-light-5);--el-button-active-color: var(--el-color-info-dark-2);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-link-text-color: var(--el-color-info-light-5);--el-button-hover-bg-color: var(--el-color-info-light-3);--el-button-hover-border-color: var(--el-color-info-light-3);--el-button-active-bg-color: var(--el-color-info-dark-2);--el-button-active-border-color: var(--el-color-info-dark-2);--el-button-disabled-text-color: var(--el-color-white);--el-button-disabled-bg-color: var(--el-color-info-light-5);--el-button-disabled-border-color: var(--el-color-info-light-5)}.el-button--info.is-plain,.el-button--info.is-text,.el-button--info.is-link{--el-button-text-color: var(--el-color-info);--el-button-bg-color: var(--el-color-info-light-9);--el-button-border-color: var(--el-color-info-light-5);--el-button-hover-text-color: var(--el-color-white);--el-button-hover-bg-color: var(--el-color-info);--el-button-hover-border-color: var(--el-color-info);--el-button-active-text-color: var(--el-color-white)}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:hover,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:active,.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--large{--el-button-size: 40px;height:var(--el-button-size)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large{padding:12px 19px;font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base)}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{width:var(--el-button-size);padding:12px}.el-button--small{--el-button-size: 24px;height:var(--el-button-size)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small{padding:5px 11px;font-size:12px;border-radius:calc(var(--el-border-radius-base) - 1px)}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{width:var(--el-button-size);padding:5px}.el-textarea{--el-input-text-color: var(--el-text-color-regular);--el-input-border: var(--el-border);--el-input-hover-border: var(--el-border-color-hover);--el-input-focus-border: var(--el-color-primary);--el-input-transparent-border: 0 0 0 1px transparent inset;--el-input-border-color: var(--el-border-color);--el-input-border-radius: var(--el-border-radius-base);--el-input-bg-color: var(--el-fill-color-blank);--el-input-icon-color: var(--el-text-color-placeholder);--el-input-placeholder-color: var(--el-text-color-placeholder);--el-input-hover-border-color: var(--el-border-color-hover);--el-input-clear-hover-color: var(--el-text-color-secondary);--el-input-focus-border-color: var(--el-color-primary);--el-input-width: 100%}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:var(--el-font-size-base)}.el-textarea__inner{position:relative;display:block;resize:vertical;padding:5px 11px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;font-family:inherit;color:var(--el-input-text-color, var(--el-text-color-regular));background-color:var(--el-input-bg-color, var(--el-fill-color-blank));background-image:none;-webkit-appearance:none;box-shadow:0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;border-radius:var(--el-input-border-radius, var(--el-border-radius-base));transition:var(--el-transition-box-shadow);border:none}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color, var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{outline:none;box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-textarea .el-input__count{color:var(--el-color-info);background:var(--el-fill-color-blank);position:absolute;font-size:12px;line-height:14px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color: var(--el-text-color-regular);--el-input-border: var(--el-border);--el-input-hover-border: var(--el-border-color-hover);--el-input-focus-border: var(--el-color-primary);--el-input-transparent-border: 0 0 0 1px transparent inset;--el-input-border-color: var(--el-border-color);--el-input-border-radius: var(--el-border-radius-base);--el-input-bg-color: var(--el-fill-color-blank);--el-input-icon-color: var(--el-text-color-placeholder);--el-input-placeholder-color: var(--el-text-color-placeholder);--el-input-hover-border-color: var(--el-border-color-hover);--el-input-clear-hover-color: var(--el-text-color-secondary);--el-input-focus-border-color: var(--el-color-primary);--el-input-width: 100%}.el-input{--el-input-height: var(--el-component-size);position:relative;font-size:var(--el-font-size-base);display:inline-flex;width:var(--el-input-width);line-height:var(--el-input-height);box-sizing:border-box;vertical-align:middle}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:var(--el-text-color-disabled)}.el-input::-webkit-scrollbar-corner{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);font-size:14px;cursor:pointer}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{height:100%;display:inline-flex;align-items:center;color:var(--el-color-info);font-size:12px}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);line-height:initial;display:inline-block;padding-left:8px}.el-input__wrapper{display:inline-flex;flex-grow:1;align-items:center;justify-content:center;padding:1px 11px;background-color:var(--el-input-bg-color, var(--el-fill-color-blank));background-image:none;border-radius:var(--el-input-border-radius, var(--el-border-radius-base));cursor:text;transition:var(--el-transition-box-shadow);transform:translateZ(0);box-shadow:0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height: calc(var(--el-input-height, 32px) - 2px)}.el-input__inner{width:100%;flex-grow:1;-webkit-appearance:none;color:var(--el-input-text-color, var(--el-text-color-regular));font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);padding:0;outline:none;border:none;background:none;box-sizing:border-box}.el-input__inner:focus{outline:none}.el-input__inner::placeholder{color:var(--el-input-placeholder-color, var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{display:inline-flex;white-space:nowrap;flex-shrink:0;flex-wrap:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color, var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none}.el-input__prefix-inner{pointer-events:all;display:inline-flex;align-items:center;justify-content:center}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{display:inline-flex;white-space:nowrap;flex-shrink:0;flex-wrap:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color, var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none}.el-input__suffix-inner{pointer-events:all;display:inline-flex;align-items:center;justify-content:center}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{height:inherit;line-height:inherit;display:flex;justify-content:center;align-items:center;transition:all var(--el-transition-duration);margin-left:8px}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);cursor:not-allowed;box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-disabled .el-input__prefix-inner,.el-input.is-disabled .el-input__suffix-inner{pointer-events:none}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height: var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height: calc(var(--el-input-height, 40px) - 2px)}.el-input--small{--el-input-height: var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height: calc(var(--el-input-height, 24px) - 2px)}.el-input-group{display:inline-flex;width:100%;align-items:stretch}.el-input-group__append,.el-input-group__prepend{background-color:var(--el-fill-color-light);color:var(--el-color-info);position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:100%;border-radius:var(--el-input-border-radius);padding:0 20px;white-space:nowrap}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-select,.el-input-group__append .el-button,.el-input-group__prepend .el-select,.el-input-group__prepend .el-button{display:inline-block;flex:1;margin:0 -20px}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{border-color:transparent;background-color:transparent;color:inherit}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--prepend>.el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group--append>.el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-hidden{display:none!important}.el-overlay{position:fixed;inset:0;z-index:2000;height:100%;background-color:var(--el-overlay-color-lighter);overflow:auto}.el-overlay .el-overlay-root{height:0}/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-800:oklch(44.4% .177 26.899);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-900:oklch(40.8% .123 38.172);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-600:oklch(59.6% .145 163.225);--color-cyan-100:oklch(95.6% .045 203.388);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-600:oklch(60.9% .126 221.723);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-600:oklch(51.1% .262 276.966);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-900:oklch(38.1% .176 304.987);--color-pink-100:oklch(94.8% .028 342.258);--color-pink-600:oklch(59.2% .249 .584);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-md:12px;--blur-2xl:40px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-box:var(--default-box-color);--color-theme:var(--theme-color);--color-hover-color:var(--art-hover-color);--color-active-color:var(--art-active-color);--color-primary:var(--art-primary);--color-secondary:var(--art-secondary);--color-error:var(--art-error);--color-info:var(--art-info);--color-success:var(--art-success);--color-warning:var(--art-warning);--color-danger:var(--art-danger);--color-g-100:var(--art-gray-100);--color-g-200:var(--art-gray-200);--color-g-300:var(--art-gray-300);--color-g-400:var(--art-gray-400);--color-g-500:var(--art-gray-500);--color-g-600:var(--art-gray-600);--color-g-700:var(--art-gray-700);--color-g-800:var(--art-gray-800);--color-g-900:var(--art-gray-900)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.art-card-header{padding-right:calc(var(--spacing)*6);padding-bottom:calc(var(--spacing)*1);justify-content:space-between;display:flex}.art-card-header .title h4{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-g-900)}.art-card-header .title p{margin-top:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-g-600)}.art-card-header .title p span{margin-left:calc(var(--spacing)*2);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.\!absolute{position:absolute!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.\!top-5{top:calc(var(--spacing)*5)!important}.-top-3{top:calc(var(--spacing)*-3)}.-top-4{top:calc(var(--spacing)*-4)}.-top-24{top:calc(var(--spacing)*-24)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4\.5{top:calc(var(--spacing)*4.5)}.top-14\.5{top:calc(var(--spacing)*14.5)}.top-25{top:calc(var(--spacing)*25)}.\!right-5{right:calc(var(--spacing)*5)!important}.-right-4{right:calc(var(--spacing)*-4)}.-right-20{right:calc(var(--spacing)*-20)}.-right-24{right:calc(var(--spacing)*-24)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-3\.5{right:calc(var(--spacing)*3.5)}.right-5{right:calc(var(--spacing)*5)}.right-6{right:calc(var(--spacing)*6)}.right-10{right:calc(var(--spacing)*10)}.\!bottom-auto{bottom:auto!important}.-bottom-20{bottom:calc(var(--spacing)*-20)}.-bottom-24{bottom:calc(var(--spacing)*-24)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-3\.5{bottom:calc(var(--spacing)*3.5)}.bottom-5{bottom:calc(var(--spacing)*5)}.bottom-15{bottom:calc(var(--spacing)*15)}.\!left-auto{left:auto!important}.-left-24{left:calc(var(--spacing)*-24)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-full{left:100%}.z-0{z-index:0}.z-2{z-index:2}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.z-\[2000\]{z-index:2000}.z-\[2001\]{z-index:2001}.z-\[9999\]{z-index:9999}.z-\[999999\]{z-index:999999}.float-left{float:left}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.m-auto{margin:auto}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-1\.5{margin-inline:calc(var(--spacing)*1.5)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-0{margin-block:calc(var(--spacing)*0)}.my-2{margin-block:calc(var(--spacing)*2)}.my-4{margin-block:calc(var(--spacing)*4)}.my-5{margin-block:calc(var(--spacing)*5)}.my-auto{margin-block:auto}.\!mt-0{margin-top:calc(var(--spacing)*0)!important}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-2\.5{margin-top:calc(var(--spacing)*2.5)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-3\.5{margin-top:calc(var(--spacing)*3.5)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-7\.5{margin-top:calc(var(--spacing)*7.5)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-9{margin-top:calc(var(--spacing)*9)}.mt-10{margin-top:calc(var(--spacing)*10)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-12\.5{margin-top:calc(var(--spacing)*12.5)}.mt-16{margin-top:calc(var(--spacing)*16)}.mt-30{margin-top:calc(var(--spacing)*30)}.mt-\[25px\]{margin-top:25px}.-mr-4{margin-right:calc(var(--spacing)*-4)}.mr-0{margin-right:calc(var(--spacing)*0)}.mr-0\.5{margin-right:calc(var(--spacing)*.5)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-2\.5{margin-right:calc(var(--spacing)*2.5)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-3\.5{margin-right:calc(var(--spacing)*3.5)}.mr-4{margin-right:calc(var(--spacing)*4)}.mr-5{margin-right:calc(var(--spacing)*5)}.mr-15{margin-right:calc(var(--spacing)*15)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-2\.5{margin-bottom:calc(var(--spacing)*2.5)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-3\.5{margin-bottom:calc(var(--spacing)*3.5)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-5\.5{margin-bottom:calc(var(--spacing)*5.5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-7\.5{margin-bottom:calc(var(--spacing)*7.5)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.\!ml-3{margin-left:calc(var(--spacing)*3)!important}.ml-0{margin-left:calc(var(--spacing)*0)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-1\.5{margin-left:calc(var(--spacing)*1.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-2\.5{margin-left:calc(var(--spacing)*2.5)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-3\.5{margin-left:calc(var(--spacing)*3.5)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-5{margin-left:calc(var(--spacing)*5)}.ml-6{margin-left:calc(var(--spacing)*6)}.ml-15{margin-left:calc(var(--spacing)*15)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!hidden{display:none!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[16\/10\]{aspect-ratio:16/10}.\!size-8{width:calc(var(--spacing)*8)!important;height:calc(var(--spacing)*8)!important}.size-1\.5{width:calc(var(--spacing)*1.5);height:calc(var(--spacing)*1.5)}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-7\.5{width:calc(var(--spacing)*7.5);height:calc(var(--spacing)*7.5)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-8\.5{width:calc(var(--spacing)*8.5);height:calc(var(--spacing)*8.5)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-9\.5{width:calc(var(--spacing)*9.5);height:calc(var(--spacing)*9.5)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-11{width:calc(var(--spacing)*11);height:calc(var(--spacing)*11)}.size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.size-14{width:calc(var(--spacing)*14);height:calc(var(--spacing)*14)}.size-22{width:calc(var(--spacing)*22);height:calc(var(--spacing)*22)}.size-24{width:calc(var(--spacing)*24);height:calc(var(--spacing)*24)}.size-80{width:calc(var(--spacing)*80);height:calc(var(--spacing)*80)}.size-\[23px\]{width:23px;height:23px}.\!h-8{height:calc(var(--spacing)*8)!important}.\!h-15{height:calc(var(--spacing)*15)!important}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-4\.5{height:calc(var(--spacing)*4.5)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-8\.5{height:calc(var(--spacing)*8.5)}.h-9{height:calc(var(--spacing)*9)}.h-9\/10{height:90%}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-12\.5{height:calc(var(--spacing)*12.5)}.h-14{height:calc(var(--spacing)*14)}.h-15{height:calc(var(--spacing)*15)}.h-16{height:calc(var(--spacing)*16)}.h-17\.5{height:calc(var(--spacing)*17.5)}.h-20{height:calc(var(--spacing)*20)}.h-25{height:calc(var(--spacing)*25)}.h-30{height:calc(var(--spacing)*30)}.h-32{height:calc(var(--spacing)*32)}.h-35{height:calc(var(--spacing)*35)}.h-50{height:calc(var(--spacing)*50)}.h-60{height:calc(var(--spacing)*60)}.h-64{height:calc(var(--spacing)*64)}.h-80{height:calc(var(--spacing)*80)}.h-105{height:calc(var(--spacing)*105)}.h-125{height:calc(var(--spacing)*125)}.h-128{height:calc(var(--spacing)*128)}.h-140{height:calc(var(--spacing)*140)}.h-\[400px\]{height:400px}.h-\[480px\]{height:480px}.h-\[calc\(100\%-40px\)\]{height:calc(100% - 40px)}.h-\[calc\(100\%-60px\)\]{height:calc(100% - 60px)}.h-\[calc\(100\%-70px\)\]{height:calc(100% - 70px)}.h-\[calc\(100\%-95px\)\]{height:calc(100% - 95px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[350px\]{max-height:350px}.min-h-\[420px\]{min-height:420px}.min-h-\[450px\]{min-height:450px}.min-h-\[480px\]{min-height:480px}.min-h-\[500px\]{min-height:500px}.min-h-\[calc\(100vh-120px\)\]{min-height:calc(100vh - 120px)}.min-h-screen{min-height:100vh}.\!w-4\/10{width:40%!important}.\!w-8{width:calc(var(--spacing)*8)!important}.\!w-100{width:calc(var(--spacing)*100)!important}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-5\.5{width:calc(var(--spacing)*5.5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-22\.5{width:calc(var(--spacing)*22.5)}.w-24{width:calc(var(--spacing)*24)}.w-40{width:calc(var(--spacing)*40)}.w-45{width:calc(var(--spacing)*45)}.w-48{width:calc(var(--spacing)*48)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-75{width:calc(var(--spacing)*75)}.w-90{width:calc(var(--spacing)*90)}.w-112{width:calc(var(--spacing)*112)}.w-\[1px\]{width:1px}.w-\[90\%\]{width:90%}.w-\[calc\(50\%-3px\)\]{width:calc(50% - 3px)}.w-\[calc\(100\%\+10px\)\]{width:calc(100% + 10px)}.w-\[calc\(100\%-45px\)\]{width:calc(100% - 45px)}.w-\[calc\(100\%-60px\)\]{width:calc(100% - 60px)}.w-\[var\(--menu-width\)\]{width:var(--menu-width)}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.w-screen{width:100vw}.max-w-3xl{max-width:var(--container-3xl)}.max-w-40{max-width:calc(var(--spacing)*40)}.max-w-46{max-width:calc(var(--spacing)*46)}.max-w-125{max-width:calc(var(--spacing)*125)}.max-w-\[70\%\]{max-width:70%}.max-w-\[120px\]{max-width:120px}.max-w-\[150px\]{max-width:150px}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-20{min-width:calc(var(--spacing)*20)}.min-w-\[var\(--menu-width\)\]{min-width:var(--menu-width)}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-left{transform-origin:0}.origin-top{transform-origin:top}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-10{--tw-translate-y:calc(var(--spacing)*10);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-90{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-none{list-style-type: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-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[2fr_0\.8fr\]{grid-template-columns:2fr .8fr}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.\!justify-end{justify-content:flex-end!important}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing)*2)}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-10>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*10)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*10)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-12>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*12)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing)*1)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[32px\]{border-radius:32px}.rounded-custom-sm{border-radius:calc(var(--custom-radius)/2 + 2px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-tl-2xl{border-top-left-radius:var(--radius-2xl)}.rounded-tr-2xl{border-top-right-radius:var(--radius-2xl)}.\!border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.\!border-2{border-style:var(--tw-border-style)!important;border-width:2px!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.\!border-\[\#FF4E4F\]{border-color:#ff4e4f!important}.\!border-danger\/50{border-color:var(--color-danger)!important}@supports (color:color-mix(in lab,red,red)){.\!border-danger\/50{border-color:color-mix(in oklab,var(--color-danger)50%,transparent)!important}}.\!border-error\/50{border-color:var(--color-error)!important}@supports (color:color-mix(in lab,red,red)){.\!border-error\/50{border-color:color-mix(in oklab,var(--color-error)50%,transparent)!important}}.\!border-info\/50{border-color:var(--color-info)!important}@supports (color:color-mix(in lab,red,red)){.\!border-info\/50{border-color:color-mix(in oklab,var(--color-info)50%,transparent)!important}}.\!border-primary\/50{border-color:var(--color-primary)!important}@supports (color:color-mix(in lab,red,red)){.\!border-primary\/50{border-color:color-mix(in oklab,var(--color-primary)50%,transparent)!important}}.\!border-secondary\/50{border-color:var(--color-secondary)!important}@supports (color:color-mix(in lab,red,red)){.\!border-secondary\/50{border-color:color-mix(in oklab,var(--color-secondary)50%,transparent)!important}}.\!border-success\/50{border-color:var(--color-success)!important}@supports (color:color-mix(in lab,red,red)){.\!border-success\/50{border-color:color-mix(in oklab,var(--color-success)50%,transparent)!important}}.\!border-theme\/50{border-color:var(--color-theme)!important}@supports (color:color-mix(in lab,red,red)){.\!border-theme\/50{border-color:color-mix(in oklab,var(--color-theme)50%,transparent)!important}}.\!border-warning\/50{border-color:var(--color-warning)!important}@supports (color:color-mix(in lab,red,red)){.\!border-warning\/50{border-color:color-mix(in oklab,var(--color-warning)50%,transparent)!important}}.border-\[var\(--art-card-border\)\]{border-color:var(--art-card-border)}.border-\[var\(--default-border\)\]{border-color:var(--default-border)}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-500{border-color:var(--color-blue-500)}.border-current{border-color:currentColor}.border-emerald-100{border-color:var(--color-emerald-100)}.border-g-100,.border-g-100\/50{border-color:var(--color-g-100)}@supports (color:color-mix(in lab,red,red)){.border-g-100\/50{border-color:color-mix(in oklab,var(--color-g-100)50%,transparent)}}.border-g-100\/80{border-color:var(--color-g-100)}@supports (color:color-mix(in lab,red,red)){.border-g-100\/80{border-color:color-mix(in oklab,var(--color-g-100)80%,transparent)}}.border-g-200{border-color:var(--color-g-200)}.border-g-300,.border-g-300\/80{border-color:var(--color-g-300)}@supports (color:color-mix(in lab,red,red)){.border-g-300\/80{border-color:color-mix(in oklab,var(--color-g-300)80%,transparent)}}.border-g-400{border-color:var(--color-g-400)}.border-gray-50{border-color:var(--color-gray-50)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-green-100{border-color:var(--color-green-100)}.border-orange-100{border-color:var(--color-orange-100)}.border-primary\/10{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/10{border-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}.border-primary\/20{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,var(--color-primary)20%,transparent)}}.border-purple-100{border-color:var(--color-purple-100)}.border-theme,.border-theme\/10{border-color:var(--color-theme)}@supports (color:color-mix(in lab,red,red)){.border-theme\/10{border-color:color-mix(in oklab,var(--color-theme)10%,transparent)}}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-white\/60{border-color:#fff9}@supports (color:color-mix(in lab,red,red)){.border-white\/60{border-color:color-mix(in oklab,var(--color-white)60%,transparent)}}.border-yellow-400{border-color:var(--color-yellow-400)}.border-yellow-500\/20{border-color:#edb20033}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/20{border-color:color-mix(in oklab,var(--color-yellow-500)20%,transparent)}}.border-l-danger{border-left-color:var(--color-danger)}.border-l-g-300{border-left-color:var(--color-g-300)}.border-l-info{border-left-color:var(--color-info)}.border-l-warning{border-left-color:var(--color-warning)}.\!bg-box{background-color:var(--color-box)!important}.\!bg-danger{background-color:var(--color-danger)!important}.\!bg-g-300\/55{background-color:var(--color-g-300)!important}@supports (color:color-mix(in lab,red,red)){.\!bg-g-300\/55{background-color:color-mix(in oklab,var(--color-g-300)55%,transparent)!important}}.\!bg-success{background-color:var(--color-success)!important}.\!bg-theme,.\!bg-theme\/60{background-color:var(--color-theme)!important}@supports (color:color-mix(in lab,red,red)){.\!bg-theme\/60{background-color:color-mix(in oklab,var(--color-theme)60%,transparent)!important}}.\!bg-theme\/70{background-color:var(--color-theme)!important}@supports (color:color-mix(in lab,red,red)){.\!bg-theme\/70{background-color:color-mix(in oklab,var(--color-theme)70%,transparent)!important}}.\!bg-transparent{background-color:#0000!important}.bg-\[\#19BE6B\]{background-color:#19be6b}.bg-\[\#ED4014\]{background-color:#ed4014}.bg-\[\#f5f7fa\]{background-color:#f5f7fa}.bg-\[var\(--art-bg-color\)\]{background-color:var(--art-bg-color)}.bg-\[var\(--default-bg-color\)\]{background-color:var(--default-bg-color)}.bg-\[var\(--default-box-color\)\]{background-color:var(--default-box-color)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-50\/50{background-color:#eff6ff80}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/50{background-color:color-mix(in oklab,var(--color-blue-50)50%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-box{background-color:var(--color-box)}.bg-cyan-100{background-color:var(--color-cyan-100)}.bg-danger,.bg-danger\/5{background-color:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.bg-danger\/5{background-color:color-mix(in oklab,var(--color-danger)5%,transparent)}}.bg-danger\/10{background-color:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.bg-danger\/10{background-color:color-mix(in oklab,var(--color-danger)10%,transparent)}}.bg-danger\/12{background-color:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.bg-danger\/12{background-color:color-mix(in oklab,var(--color-danger)12%,transparent)}}.bg-danger\/15{background-color:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.bg-danger\/15{background-color:color-mix(in oklab,var(--color-danger)15%,transparent)}}.bg-danger\/60{background-color:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.bg-danger\/60{background-color:color-mix(in oklab,var(--color-danger)60%,transparent)}}.bg-danger\/100{background-color:var(--color-danger)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\/50{background-color:#ecfdf580}@supports (color:color-mix(in lab,red,red)){.bg-emerald-50\/50{background-color:color-mix(in oklab,var(--color-emerald-50)50%,transparent)}}.bg-error\/12{background-color:var(--color-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\/12{background-color:color-mix(in oklab,var(--color-error)12%,transparent)}}.bg-g-100,.bg-g-100\/50{background-color:var(--color-g-100)}@supports (color:color-mix(in lab,red,red)){.bg-g-100\/50{background-color:color-mix(in oklab,var(--color-g-100)50%,transparent)}}.bg-g-200,.bg-g-200\/50{background-color:var(--color-g-200)}@supports (color:color-mix(in lab,red,red)){.bg-g-200\/50{background-color:color-mix(in oklab,var(--color-g-200)50%,transparent)}}.bg-g-200\/80{background-color:var(--color-g-200)}@supports (color:color-mix(in lab,red,red)){.bg-g-200\/80{background-color:color-mix(in oklab,var(--color-g-200)80%,transparent)}}.bg-g-300,.bg-g-300\/50{background-color:var(--color-g-300)}@supports (color:color-mix(in lab,red,red)){.bg-g-300\/50{background-color:color-mix(in oklab,var(--color-g-300)50%,transparent)}}.bg-g-300\/55{background-color:var(--color-g-300)}@supports (color:color-mix(in lab,red,red)){.bg-g-300\/55{background-color:color-mix(in oklab,var(--color-g-300)55%,transparent)}}.bg-g-300\/70{background-color:var(--color-g-300)}@supports (color:color-mix(in lab,red,red)){.bg-g-300\/70{background-color:color-mix(in oklab,var(--color-g-300)70%,transparent)}}.bg-g-300\/80{background-color:var(--color-g-300)}@supports (color:color-mix(in lab,red,red)){.bg-g-300\/80{background-color:color-mix(in oklab,var(--color-g-300)80%,transparent)}}.bg-g-400{background-color:var(--color-g-400)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-100\/60{background-color:#f3f4f699}@supports (color:color-mix(in lab,red,red)){.bg-gray-100\/60{background-color:color-mix(in oklab,var(--color-gray-100)60%,transparent)}}.bg-gray-300{background-color:var(--color-gray-300)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-info,.bg-info\/5{background-color:var(--color-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\/5{background-color:color-mix(in oklab,var(--color-info)5%,transparent)}}.bg-info\/12{background-color:var(--color-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\/12{background-color:color-mix(in oklab,var(--color-info)12%,transparent)}}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-50\/50{background-color:#fff7ed80}@supports (color:color-mix(in lab,red,red)){.bg-orange-50\/50{background-color:color-mix(in oklab,var(--color-orange-50)50%,transparent)}}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/10{background-color:color-mix(in oklab,var(--color-orange-500)10%,transparent)}}.bg-pink-100{background-color:var(--color-pink-100)}.bg-primary,.bg-primary\/5{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--color-primary)5%,transparent)}}.bg-primary\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-50\/50{background-color:#faf5ff80}@supports (color:color-mix(in lab,red,red)){.bg-purple-50\/50{background-color:color-mix(in oklab,var(--color-purple-50)50%,transparent)}}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/10{background-color:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-50\/30{background-color:#fef2f24d}@supports (color:color-mix(in lab,red,red)){.bg-red-50\/30{background-color:color-mix(in oklab,var(--color-red-50)30%,transparent)}}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-secondary\/12{background-color:var(--color-secondary)}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/12{background-color:color-mix(in oklab,var(--color-secondary)12%,transparent)}}.bg-success,.bg-success\/10{background-color:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.bg-success\/10{background-color:color-mix(in oklab,var(--color-success)10%,transparent)}}.bg-success\/12{background-color:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.bg-success\/12{background-color:color-mix(in oklab,var(--color-success)12%,transparent)}}.bg-success\/15{background-color:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.bg-success\/15{background-color:color-mix(in oklab,var(--color-success)15%,transparent)}}.bg-success\/100{background-color:var(--color-success)}.bg-theme\/5{background-color:var(--color-theme)}@supports (color:color-mix(in lab,red,red)){.bg-theme\/5{background-color:color-mix(in oklab,var(--color-theme)5%,transparent)}}.bg-theme\/10{background-color:var(--color-theme)}@supports (color:color-mix(in lab,red,red)){.bg-theme\/10{background-color:color-mix(in oklab,var(--color-theme)10%,transparent)}}.bg-theme\/12{background-color:var(--color-theme)}@supports (color:color-mix(in lab,red,red)){.bg-theme\/12{background-color:color-mix(in oklab,var(--color-theme)12%,transparent)}}.bg-theme\/15{background-color:var(--color-theme)}@supports (color:color-mix(in lab,red,red)){.bg-theme\/15{background-color:color-mix(in oklab,var(--color-theme)15%,transparent)}}.bg-theme\/80{background-color:var(--color-theme)}@supports (color:color-mix(in lab,red,red)){.bg-theme\/80{background-color:color-mix(in oklab,var(--color-theme)80%,transparent)}}.bg-theme\/100{background-color:var(--color-theme)}.bg-transparent{background-color:#0000}.bg-warning,.bg-warning\/5{background-color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/5{background-color:color-mix(in oklab,var(--color-warning)5%,transparent)}}.bg-warning\/12{background-color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/12{background-color:color-mix(in oklab,var(--color-warning)12%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/40{background-color:#fff6}@supports (color:color-mix(in lab,red,red)){.bg-white\/40{background-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#1e1e1e\]{--tw-gradient-from:#1e1e1e;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#87CEEB\]{--tw-gradient-from:#87ceeb;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#C0C0C0\]{--tw-gradient-from:silver;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#CD7F32\]{--tw-gradient-from:#cd7f32;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#FFD700\]{--tw-gradient-from:gold;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-50{--tw-gradient-from:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-400{--tw-gradient-from:var(--color-blue-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-g-400{--tw-gradient-from:var(--color-g-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-g-900{--tw-gradient-from:var(--color-g-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-400{--tw-gradient-from:var(--color-gray-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-500{--tw-gradient-from:var(--color-gray-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-400{--tw-gradient-from:var(--color-green-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-500{--tw-gradient-from:var(--color-green-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-orange-400{--tw-gradient-from:var(--color-orange-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-orange-500{--tw-gradient-from:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-primary{--tw-gradient-from:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-red-500{--tw-gradient-from:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-white{--tw-gradient-from:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-400{--tw-gradient-from:var(--color-yellow-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-500{--tw-gradient-from:var(--color-yellow-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-500\/10{--tw-gradient-from:#edb2001a}@supports (color:color-mix(in lab,red,red)){.from-yellow-500\/10{--tw-gradient-from:color-mix(in oklab,var(--color-yellow-500)10%,transparent)}}.from-yellow-500\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#4682B4\]{--tw-gradient-to:#4682b4;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#808080\]{--tw-gradient-to:gray;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#A0522D\]{--tw-gradient-to:sienna;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#FFA500\]{--tw-gradient-to:orange;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-black{--tw-gradient-to:var(--color-black);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-blue-300{--tw-gradient-to:var(--color-blue-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-blue-400{--tw-gradient-to:var(--color-blue-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-g-500{--tw-gradient-to:var(--color-g-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-g-600{--tw-gradient-to:var(--color-g-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-300{--tw-gradient-to:var(--color-gray-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-400{--tw-gradient-to:var(--color-gray-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-green-300{--tw-gradient-to:var(--color-green-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-green-400{--tw-gradient-to:var(--color-green-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-300{--tw-gradient-to:var(--color-orange-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-400{--tw-gradient-to:var(--color-orange-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-50{--tw-gradient-to:var(--color-purple-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-red-400{--tw-gradient-to:var(--color-red-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-yellow-300{--tw-gradient-to:var(--color-yellow-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-yellow-400{--tw-gradient-to:var(--color-yellow-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.\!p-0{padding:calc(var(--spacing)*0)!important}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-7\.5{padding:calc(var(--spacing)*7.5)}.p-9{padding:calc(var(--spacing)*9)}.\!px-2\.5{padding-inline:calc(var(--spacing)*2.5)!important}.\!px-20{padding-inline:calc(var(--spacing)*20)!important}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-3\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-7\.5{padding-inline:calc(var(--spacing)*7.5)}.px-9{padding-inline:calc(var(--spacing)*9)}.px-px{padding-inline:1px}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-5\.5{padding-block:calc(var(--spacing)*5.5)}.py-7\.5{padding-block:calc(var(--spacing)*7.5)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.py-20{padding-block:calc(var(--spacing)*20)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-4\.5{padding-top:calc(var(--spacing)*4.5)}.pt-5{padding-top:calc(var(--spacing)*5)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-9{padding-right:calc(var(--spacing)*9)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-2\.5{padding-bottom:calc(var(--spacing)*2.5)}.pb-3\.5{padding-bottom:calc(var(--spacing)*3.5)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.\!pl-0\.5{padding-left:calc(var(--spacing)*.5)!important}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-2\.5{padding-left:calc(var(--spacing)*2.5)}.pl-3\.5{padding-left:calc(var(--spacing)*3.5)}.pl-4\.5{padding-left:calc(var(--spacing)*4.5)}.pl-6{padding-left:calc(var(--spacing)*6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-\[-0\.15em\]{vertical-align:-.15em}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-sm\/9{font-size:var(--text-sm);line-height:calc(var(--spacing)*9)}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[19px\]{font-size:19px}.\!leading-8{--tw-leading:calc(var(--spacing)*8)!important;line-height:calc(var(--spacing)*8)!important}.leading-5\.5{--tw-leading:calc(var(--spacing)*5.5);line-height:calc(var(--spacing)*5.5)}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.leading-8{--tw-leading:calc(var(--spacing)*8);line-height:calc(var(--spacing)*8)}.leading-8\.5{--tw-leading:calc(var(--spacing)*8.5);line-height:calc(var(--spacing)*8.5)}.leading-9{--tw-leading:calc(var(--spacing)*9);line-height:calc(var(--spacing)*9)}.leading-12{--tw-leading:calc(var(--spacing)*12);line-height:calc(var(--spacing)*12)}.leading-15{--tw-leading:calc(var(--spacing)*15);line-height:calc(var(--spacing)*15)}.leading-17\.5{--tw-leading:calc(var(--spacing)*17.5);line-height:calc(var(--spacing)*17.5)}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-wrap{text-wrap:wrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.\!text-g-600{color:var(--color-g-600)!important}.\!text-g-800{color:var(--color-g-800)!important}.\!text-g-900{color:var(--color-g-900)!important}.\!text-theme{color:var(--color-theme)!important}.\!text-white{color:var(--color-white)!important}.text-\[\#f56c6c\]{color:#f56c6c}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-800{color:var(--color-blue-800)}.text-cyan-600{color:var(--color-cyan-600)}.text-danger,.text-danger\/90{color:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.text-danger\/90{color:color-mix(in oklab,var(--color-danger)90%,transparent)}}.text-emerald-600{color:var(--color-emerald-600)}.text-error,.text-error\/90{color:var(--color-error)}@supports (color:color-mix(in lab,red,red)){.text-error\/90{color:color-mix(in oklab,var(--color-error)90%,transparent)}}.text-g-300{color:var(--color-g-300)}.text-g-400{color:var(--color-g-400)}.text-g-500,.text-g-500\/80{color:var(--color-g-500)}@supports (color:color-mix(in lab,red,red)){.text-g-500\/80{color:color-mix(in oklab,var(--color-g-500)80%,transparent)}}.text-g-600{color:var(--color-g-600)}.text-g-700{color:var(--color-g-700)}.text-g-800{color:var(--color-g-800)}.text-g-900{color:var(--color-g-900)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-800{color:var(--color-green-800)}.text-indigo-600{color:var(--color-indigo-600)}.text-info,.text-info\/90{color:var(--color-info)}@supports (color:color-mix(in lab,red,red)){.text-info\/90{color:color-mix(in oklab,var(--color-info)90%,transparent)}}.text-orange-400{color:var(--color-orange-400)}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-pink-600{color:var(--color-pink-600)}.text-primary,.text-primary\/90{color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\/90{color:color-mix(in oklab,var(--color-primary)90%,transparent)}}.text-purple-400{color:var(--color-purple-400)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-800{color:var(--color-red-800)}.text-secondary,.text-secondary\/90{color:var(--color-secondary)}@supports (color:color-mix(in lab,red,red)){.text-secondary\/90{color:color-mix(in oklab,var(--color-secondary)90%,transparent)}}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-success,.text-success\/90{color:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.text-success\/90{color:color-mix(in oklab,var(--color-success)90%,transparent)}}.text-theme,.text-theme\/90{color:var(--color-theme)}@supports (color:color-mix(in lab,red,red)){.text-theme\/90{color:color-mix(in oklab,var(--color-theme)90%,transparent)}}.text-transparent{color:#0000}.text-warning,.text-warning\/90{color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.text-warning\/90{color:color-mix(in oklab,var(--color-warning)90%,transparent)}}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.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,)}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.\!shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_0_var\(--default-border-dashed\)\]{--tw-shadow:0 2px 0 var(--tw-shadow-color,var(--default-border-dashed));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-yellow-500\/5{--tw-shadow-color:#edb2000d}@supports (color:color-mix(in lab,red,red)){.shadow-yellow-500\/5{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-yellow-500)5%,transparent)var(--tw-shadow-alpha),transparent)}}.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,)}.blur-2xl{--tw-blur:blur(var(--blur-2xl));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,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));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-md{--tw-backdrop-blur:blur(var(--blur-md));-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,)}.backdrop-filter{-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-all{transition-property:all!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[height\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-600{--tw-duration:.6s;transition-duration:.6s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\[top\,left\]{will-change:top,left}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:bg-info\/10:is(:where(.group):hover *){background-color:var(--color-info)}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-info\/10:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-info)10%,transparent)}}.group-hover\:bg-primary\/10:is(:where(.group):hover *){background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-primary\/10:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}.group-hover\:bg-primary\/20:is(:where(.group):hover *){background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-primary\/20:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-primary)20%,transparent)}}.group-hover\:bg-success\/20:is(:where(.group):hover *){background-color:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-success\/20:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-success)20%,transparent)}}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--color-primary)}.group-hover\:opacity-80:is(:where(.group):hover *){opacity:.8}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-\[10px\]:before{content:var(--tw-content);top:10px}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing)*0)}.before\:m-auto:before{content:var(--tw-content);margin:auto}.before\:w-\[50px\]:before{content:var(--tw-content);width:50px}.before\:border-b:before{content:var(--tw-content);border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.before\:border-\[var\(--art-gray-300\)\]:before{content:var(--tw-content);border-color:var(--art-gray-300)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:top-\[10px\]:after{content:var(--tw-content);top:10px}.after\:right-0:after{content:var(--tw-content);right:calc(var(--spacing)*0)}.after\:m-auto:after{content:var(--tw-content);margin:auto}.after\:w-\[50px\]:after{content:var(--tw-content);width:50px}.after\:border-b:after{content:var(--tw-content);border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.after\:border-g-300:after{content:var(--tw-content);border-color:var(--color-g-300)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.last\:mr-0:last-child{margin-right:calc(var(--spacing)*0)}.last\:mb-2:last-child{margin-bottom:calc(var(--spacing)*2)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:translate-y-\[-4px\]:hover{--tw-translate-y:-4px;translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:border-primary\/20:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/20:hover{border-color:color-mix(in oklab,var(--color-primary)20%,transparent)}}.hover\:\!bg-hover-color:hover{background-color:var(--color-hover-color)!important}.hover\:\!bg-theme\/80:hover{background-color:var(--color-theme)!important}@supports (color:color-mix(in lab,red,red)){.hover\:\!bg-theme\/80:hover{background-color:color-mix(in oklab,var(--color-theme)80%,transparent)!important}}.hover\:\!bg-transparent:hover{background-color:#0000!important}.hover\:bg-active-color:hover{background-color:var(--color-active-color)}.hover\:bg-black\/\[0\.04\]:hover{background-color:#0000000a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/\[0\.04\]:hover{background-color:color-mix(in oklab,var(--color-black)4%,transparent)}}.hover\:bg-blue-200:hover{background-color:var(--color-blue-200)}.hover\:bg-cyan-200:hover{background-color:var(--color-cyan-200)}.hover\:bg-g-200:hover,.hover\:bg-g-200\/60:hover{background-color:var(--color-g-200)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-g-200\/60:hover{background-color:color-mix(in oklab,var(--color-g-200)60%,transparent)}}.hover\:bg-g-200\/70:hover{background-color:var(--color-g-200)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-g-200\/70:hover{background-color:color-mix(in oklab,var(--color-g-200)70%,transparent)}}.hover\:bg-g-300:hover,.hover\:bg-g-300\/80:hover{background-color:var(--color-g-300)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-g-300\/80:hover{background-color:color-mix(in oklab,var(--color-g-300)80%,transparent)}}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-green-200:hover{background-color:var(--color-green-200)}.hover\:bg-hover-color:hover{background-color:var(--color-hover-color)}.hover\:bg-orange-200:hover{background-color:var(--color-orange-200)}.hover\:bg-purple-200:hover{background-color:var(--color-purple-200)}.hover\:bg-red-200:hover{background-color:var(--color-red-200)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:bg-white\/60:hover{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/60:hover{background-color:color-mix(in oklab,var(--color-white)60%,transparent)}}.hover\:bg-yellow-200:hover{background-color:var(--color-yellow-200)}.hover\:\!text-theme:hover{color:var(--color-theme)!important}.hover\:text-blue-500:hover{color:var(--color-blue-500)}.hover\:text-g-800:hover{color:var(--color-g-800)}.hover\:text-g-900:hover{color:var(--color-g-900)}.hover\:text-theme:hover{color:var(--color-theme)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-85:hover{opacity:.85}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media not all and (min-width:1180px){.max-\[1180px\]\:\!flex{display:flex!important}.max-\[1180px\]\:\!justify-between{justify-content:space-between!important}}@media not all and (min-width:640px){.max-\[640px\]\:top-\[65px\]{top:65px}.max-\[640px\]\:right-0{right:calc(var(--spacing)*0)}.max-\[640px\]\:w-full{width:100%}}@media not all and (min-width:64rem){.max-lg\:\!hidden{display:none!important}}@media not all and (min-width:48rem){.max-md\:mx-auto{margin-inline:auto}.max-md\:mt-1{margin-top:calc(var(--spacing)*1)}.max-md\:mt-2\.5{margin-top:calc(var(--spacing)*2.5)}.max-md\:mt-3{margin-top:calc(var(--spacing)*3)}.max-md\:mt-3\.5{margin-top:calc(var(--spacing)*3.5)}.max-md\:mt-10{margin-top:calc(var(--spacing)*10)}.max-md\:mr-0{margin-right:calc(var(--spacing)*0)}.max-md\:\!block{display:block!important}.max-md\:\!hidden{display:none!important}.max-md\:block{display:block}.max-md\:w-full{width:100%}.max-md\:\!px-5{padding-inline:calc(var(--spacing)*5)!important}.max-md\:px-7\.5{padding-inline:calc(var(--spacing)*7.5)}.max-md\:py-2\.5{padding-block:calc(var(--spacing)*2.5)}.max-md\:text-center{text-align:center}.max-md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.max-md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}@media not all and (min-width:40rem){.max-sm\:mr-5{margin-right:calc(var(--spacing)*5)}.max-sm\:mr-\[16px\]{margin-right:16px}.max-sm\:mb-3{margin-bottom:calc(var(--spacing)*3)}.max-sm\:mb-4{margin-bottom:calc(var(--spacing)*4)}.max-sm\:ml-6{margin-left:calc(var(--spacing)*6)}.max-sm\:ml-\[7px\]{margin-left:7px}.max-sm\:\!hidden{display:none!important}.max-sm\:h-6\.5{height:calc(var(--spacing)*6.5)}.max-sm\:w-6\.5{width:calc(var(--spacing)*6.5)}.max-sm\:px-\[15px\]{padding-inline:15px}}@media (min-width:40rem){.sm\:text-\[11px\]{font-size:11px}}@media (min-width:48rem){.md\:ml-0{margin-left:calc(var(--spacing)*0)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-stretch{align-items:stretch}.md\:justify-center{justify-content:center}.md\:justify-end{justify-content:flex-end}.md\:gap-2{gap:calc(var(--spacing)*2)}.md\:px-4{padding-inline:calc(var(--spacing)*4)}.md\:pt-4{padding-top:calc(var(--spacing)*4)}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:block{display:block}.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\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}.dark\:border-white\/5:where(.dark,.dark *){border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.dark\:border-white\/5:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.dark\:\!bg-g-200\/50:where(.dark,.dark *){background-color:var(--color-g-200)!important}@supports (color:color-mix(in lab,red,red)){.dark\:\!bg-g-200\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-g-200)50%,transparent)!important}}.dark\:bg-black\/20:where(.dark,.dark *){background-color:#0003}@supports (color:color-mix(in lab,red,red)){.dark\:bg-black\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.dark\:bg-blue-900\/20:where(.dark,.dark *){background-color:#1c398e33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-blue-900)20%,transparent)}}.dark\:bg-g-300:where(.dark,.dark *),.dark\:bg-g-300\/30:where(.dark,.dark *){background-color:var(--color-g-300)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-g-300\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-g-300)30%,transparent)}}.dark\:bg-g-300\/40:where(.dark,.dark *){background-color:var(--color-g-300)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-g-300\/40:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-g-300)40%,transparent)}}.dark\:bg-g-300\/45:where(.dark,.dark *){background-color:var(--color-g-300)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-g-300\/45:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-g-300)45%,transparent)}}.dark\:bg-green-900\/20:where(.dark,.dark *){background-color:#0d542b33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-green-900)20%,transparent)}}.dark\:bg-orange-900\/20:where(.dark,.dark *){background-color:#7e2a0c33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-orange-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-orange-900)20%,transparent)}}.dark\:bg-purple-900\/20:where(.dark,.dark *){background-color:#59168b33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-purple-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-purple-900)20%,transparent)}}.dark\:bg-white\/5:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/5:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.dark\:bg-white\/10:where(.dark,.dark *){background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/10:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.dark\:\!text-white:where(.dark,.dark *){color:var(--color-white)!important}.dark\:text-g-800:where(.dark,.dark *){color:var(--color-g-800)}@media (hover:hover){.dark\:hover\:bg-black\/20:where(.dark,.dark *):hover{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-black\/20:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.dark\:hover\:bg-g-200\/90:where(.dark,.dark *):hover{background-color:var(--color-g-200)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-g-200\/90:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-g-200)90%,transparent)}}.dark\:hover\:bg-white\/10:where(.dark,.dark *):hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-white\/10:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:\[\&_\.app-icon\]\:\!bg-transparent:hover .app-icon{background-color:#0000!important}}.\[\&_\.el-button\]\:\!w-27\.5 .el-button{width:calc(var(--spacing)*27.5)!important}.\[\&_\.el-checkbox__label\]\:overflow-hidden .el-checkbox label{overflow:hidden}.\[\&_\.el-checkbox__label\]\:text-ellipsis .el-checkbox label{text-overflow:ellipsis}.\[\&_\.el-checkbox__label\]\:whitespace-nowrap .el-checkbox label{white-space:nowrap}.\[\&_\.el-dropdown-menu__item\]\:\!mb-\[3px\] .el-dropdown-menu item{margin-bottom:3px!important}.last\:\[\&_\.el-dropdown-menu__item\]\:\!mb-0:last-child .el-dropdown-menu item{margin-bottom:calc(var(--spacing)*0)!important}.\[\&_\.el-progress-bar__outer\]\:bg-\[rgb\(240_240_240\)\] .el-progress-bar outer{background-color:#f0f0f0}.\[\&_\.selected-icon\]\:\!text-white .selected-icon{color:var(--color-white)!important}.\[\&_a\]\:text-danger a,.\[\&_a\:hover\]\:text-danger\/80 a:hover{color:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.\[\&_a\:hover\]\:text-danger\/80 a:hover{color:color-mix(in oklab,var(--color-danger)80%,transparent)}}.\[\&_a\:hover\]\:underline a:hover{text-decoration-line:underline}.\[\&_i\]\:\!text-theme i{color:var(--color-theme)!important}.\[\&_p\]\:flex p{display:flex}.\[\&_p\]\:items-center p{align-items:center}.\[\&_p\]\:py-2 p{padding-block:calc(var(--spacing)*2)}.\[\&_p\]\:text-sm p{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.\[\&_p\]\:text-\[\#808695\] p{color:#808695}.\[\&_p_i\]\:mr-1\.5 p i{margin-right:calc(var(--spacing)*1.5)}@media (hover:hover){.hover\:\[\&_span\]\:text-g-600:hover span{color:var(--color-g-600)}.hover\:\[\&_span\]\:text-theme:hover span{color:var(--color-theme)}}.\[\&\:\:-webkit-scrollbar\]\:\!w-1::-webkit-scrollbar{width:calc(var(--spacing)*1)!important}.\[\&\>\.el-row_\.el-form-item\]\:w-\[calc\(50\%-10px\)\]>.el-row .el-form-item{width:calc(50% - 10px)}.\[\&\>\.el-row_\.el-input\]\:w-full>.el-row .el-input,.\[\&\>\.el-row_\.el-select\]\:w-full>.el-row .el-select{width:100%}.flex-c{align-items:center;display:flex}.flex-b{justify-content:space-between;display:flex}.flex-cc{justify-content:center;align-items:center;display:flex}.flex-cb{justify-content:space-between;align-items:center;display:flex}.tad-200{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}.tad-300{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;transition-duration:.3s}.border-full-d{border-style:var(--tw-border-style);border-width:1px;border-color:var(--default-border)}.border-b-d{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--default-border)}.border-t-d{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--default-border)}.border-l-d{border-left-style:var(--tw-border-style);border-left-width:1px;border-color:var(--default-border)}.border-r-d{border-right-style:var(--tw-border-style);border-right-width:1px;border-color:var(--default-border)}.c-p{cursor:pointer}}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:root{--art-color:#fff;--theme-color:var(--main-color);--art-primary:oklch(70% .23 260);--art-secondary:oklch(72% .19 231.6);--art-error:oklch(73% .15 25.3);--art-info:oklch(58% .03 254.1);--art-success:oklch(78% .17 166.1);--art-warning:oklch(78% .14 75.5);--art-danger:oklch(68% .22 25.3);--art-gray-100:#f9fafb;--art-gray-200:#f2f4f5;--art-gray-300:#e6eaeb;--art-gray-400:#dbdfe1;--art-gray-500:#949eb7;--art-gray-600:#7987a1;--art-gray-700:#4d5875;--art-gray-800:#383853;--art-gray-900:#323251;--art-card-border:#00000012;--default-border:#e2e8ee;--default-border-dashed:#dbdfe9;--default-bg-color:#fafbfc;--default-box-color:#fff;--art-hover-color:#f2f4f5;--art-active-color:#f2f4f5;--art-el-active-color:#f2f4f5}.dark{--art-color:#000;--art-gray-100:#110f0f;--art-gray-200:#17171c;--art-gray-300:#393946;--art-gray-400:#505062;--art-gray-500:#73738c;--art-gray-600:#8f8fa3;--art-gray-700:#ababba;--art-gray-800:#c7c7d1;--art-gray-900:#e3e3e8;--art-card-border:#ffffff12;--default-border:#ffffff1a;--default-border-dashed:#363843;--default-bg-color:#070707;--default-box-color:#161618;--art-hover-color:#252530;--art-active-color:#202226;--art-el-active-color:#2e2e38}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}::-webkit-scrollbar{width:8px!important;height:0!important}::-webkit-scrollbar-track{background-color:var(--art-gray-200)}::-webkit-scrollbar-thumb{border-radius:5px;background-color:#ccc!important;transition:all .2s;-webkit-transition:all .2s}::-webkit-scrollbar-thumb:hover{background-color:#b0abab!important}::-webkit-scrollbar-button{height:0px;width:0}.dark ::-webkit-scrollbar-track{background-color:var(--default-bg-color)}.dark ::-webkit-scrollbar-thumb{background-color:var(--art-gray-300)!important}#nprogress .bar{z-index:2400;background-color:color-mix(in srgb,var(--theme-color) 65%,white)}#nprogress .peg{box-shadow:0 0 10px var(--theme-color),0 0 5px var(--theme-color)!important}#nprogress .spinner-icon{border-top-color:var(--theme-color)!important;border-left-color:var(--theme-color)!important}@media screen and (max-width: 640px){*{cursor:default!important}}*,:before,:after{--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: }.color-weak{filter:invert(80%);-webkit-filter:invert(80%)}#noop{display:none}.langDropDownStyle .is-selected{background-color:var(--art-el-active-color)!important}.langDropDownStyle .lang-btn-item .el-dropdown-menu__item{padding-left:13px!important;padding-right:6px!important;margin-bottom:3px!important}.langDropDownStyle .lang-btn-item:last-child .el-dropdown-menu__item{margin-bottom:0!important}.langDropDownStyle .lang-btn-item .menu-txt{min-width:60px;display:block}.langDropDownStyle .lang-btn-item i{font-size:10px;margin-left:10px}.page-content{border:1px solid var(--art-card-border)!important}.art-card,.art-card-sm,.art-card-xs{border:1px solid var(--art-card-border)}[data-box-mode=border-mode] .page-content,[data-box-mode=border-mode] .art-table-card{border:1px solid var(--art-card-border)!important}[data-box-mode=border-mode] .art-card{background:var(--default-box-color);border:1px solid var(--art-card-border)!important;border-radius:calc(var(--custom-radius) + 4px)!important;box-shadow:none!important}[data-box-mode=border-mode] .art-card-sm{background:var(--default-box-color);border:1px solid var(--art-card-border)!important;border-radius:calc(var(--custom-radius) + 0px)!important;box-shadow:none!important}[data-box-mode=border-mode] .art-card-xs{background:var(--default-box-color);border:1px solid var(--art-card-border)!important;border-radius:calc(var(--custom-radius) + -4px)!important;box-shadow:none!important}[data-box-mode=shadow-mode] .page-content,[data-box-mode=shadow-mode] .art-table-card{box-shadow:0 0 4px #0000000a!important;border:1px solid var(--art-gray-200)!important}[data-box-mode=shadow-mode] .layout-sidebar{border-right:1px solid var(--art-card-border)!important}[data-box-mode=shadow-mode] .art-card{background:var(--default-box-color);border:1px solid var(--art-gray-200)!important;border-radius:calc(var(--custom-radius) + 4px)!important;box-shadow:0 1px 3px #00000008,0 1px 2px -1px #00000014!important}[data-box-mode=shadow-mode] .art-card-sm{background:var(--default-box-color);border:1px solid var(--art-gray-200)!important;border-radius:calc(var(--custom-radius) + 2px)!important;box-shadow:0 1px 3px #00000008,0 1px 2px -1px #00000014!important}[data-box-mode=shadow-mode] .art-card-xs{background:var(--default-box-color);border:1px solid var(--art-gray-200)!important;border-radius:calc(var(--custom-radius) + -4px)!important;box-shadow:0 1px 2px #00000008,0 1px 1px -1px #00000014!important}.el-full-screen{position:fixed;top:0;left:0;right:0;width:100vw!important;height:100%!important;z-index:2300;margin-top:0;padding:15px;box-sizing:border-box;background-color:var(--default-box-color);display:flex;flex-direction:column}.art-table-card{flex:1;display:flex;flex-direction:column;margin-top:12px;border-radius:calc(var(--custom-radius) / 2 + 2px)!important}.art-table-card .el-card__body{height:100%;overflow:hidden}.art-full-height{height:var(--art-full-height);display:flex;flex-direction:column}@media (max-width: 640px){.art-full-height{height:auto}}.art-badge{position:absolute;top:0;right:20px;bottom:0;width:6px;height:6px;margin:auto;background:#ff3860;border-radius:50%;animation:breathe 1.5s ease-in-out infinite}.art-badge.art-badge-horizontal,.art-badge.art-badge-mixed{right:0}.art-badge.art-badge-dual{right:5px;top:5px;bottom:auto}.art-text-badge{position:absolute;top:0;right:12px;bottom:0;min-width:20px;height:18px;line-height:17px;padding:0 5px;margin:auto;font-size:10px;color:#fff;text-align:center;background:#fd4e4e;border-radius:4px}@keyframes breathe{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}to{opacity:.7;transform:scale(1)}}.art-loading-fix{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;display:flex!important;align-items:center!important;justify-content:center!important}.art-loading-fix .el-loading-spinner{position:static!important;top:auto!important;left:auto!important;transform:none!important}@media screen and (max-width: 1180px){*{-webkit-tap-highlight-color:transparent}}:root{--main-color: var(--el-color-primary);--el-color-white: white !important;--el-color-black: white !important;--el-font-weight-primary: 400 !important;--el-component-custom-height: 36px !important;--el-component-size: var(--el-component-custom-height) !important;--el-border-radius-base: calc(var(--custom-radius) / 3 + 2px) !important;--el-border-radius-small: calc(var(--custom-radius) / 3 + 4px) !important;--el-messagebox-border-radius: calc(var(--custom-radius) / 3 + 4px) !important;--el-popover-border-radius: calc(var(--custom-radius) / 3 + 4px) !important}:root .region .el-radio-button__original-radio:checked+.el-radio-button__inner{color:var(--theme-color)}.el-form-item__label{height:var(--el-component-custom-height)!important;line-height:var(--el-component-custom-height)!important}.el-date-range-picker{--el-datepicker-inrange-bg-color: var(--art-gray-200) !important}html.dark .el-card{--el-card-bg-color: var(--default-box-color) !important}.el-pagination--default{--el-pagination-button-width: 32px !important;--el-pagination-button-height: var(--el-pagination-button-width) !important}@media (max-width: 1180px){.el-pagination--default{--el-pagination-button-width: 28px !important}}.el-pagination--default .el-select--default .el-select__wrapper{min-height:var(--el-pagination-button-width)!important}.el-pagination--default .el-pagination__jump .el-input{height:var(--el-pagination-button-width)!important}.el-pager li{padding:0 10px!important}.el-menu.el-menu--inline{transition:max-height .26s cubic-bezier(.4,0,.2,1)!important}.el-sub-menu__title,.el-menu-item{transition:background-color 0s!important}.el-button--default{height:var(--el-component-custom-height)!important}.el-button--default.is-circle{width:var(--el-component-custom-height)!important}.el-select--default .el-select__wrapper{min-height:var(--el-component-custom-height)!important}.el-checkbox-button--default .el-checkbox-button__inner,.el-radio-button--default .el-radio-button__inner{padding:10px 15px!important}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{border-radius:6px}.el-popover{min-width:80px;border-radius:var(--el-border-radius-small)!important}.el-dialog{border-radius:100px!important;border-radius:calc(var(--custom-radius) / 1.2 + 2px)!important;overflow:hidden}.el-dialog__header .el-dialog__title{font-size:16px}.el-dialog__body{padding:25px 0!important;position:relative}.el-dialog.el-dialog-border .el-dialog__body:before,.el-dialog.el-dialog-border .el-dialog__body:after{content:"";position:absolute;left:-16px;width:calc(100% + 32px);height:1px;background-color:var(--art-gray-300)}.el-dialog.el-dialog-border .el-dialog__body:before{top:0}.el-dialog.el-dialog-border .el-dialog__body:after{bottom:0}.el-message{background-color:var(--default-box-color)!important;border:0!important;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d!important}.el-message p{font-size:13px}.el-dropdown-menu{padding:6px!important;border-radius:10px!important;border:none!important}.el-dropdown-menu .el-dropdown-menu__item{padding:6px 16px!important;border-radius:6px!important}.el-dropdown-menu .el-dropdown-menu__item:hover:not(.is-disabled){color:var(--art-gray-900)!important;background-color:var(--art-el-active-color)!important}.el-dropdown-menu .el-dropdown-menu__item:focus:not(.is-disabled){color:var(--art-gray-900)!important;background-color:var(--art-gray-200)!important}.el-select__popper,.el-dropdown__popper{margin-top:-6px!important}.el-select__popper .el-popper__arrow,.el-dropdown__popper .el-popper__arrow{display:none}.el-dropdown-selfdefine:focus{outline:none!important}@media screen and (max-width: 640px){.el-message-box,.el-message,.el-dialog{width:calc(100% - 24px)!important}.el-date-picker.has-sidebar.has-time{width:calc(100% - 24px);left:12px!important}.el-picker-panel *[slot=sidebar],.el-picker-panel__sidebar{display:none}.el-picker-panel *[slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:0}}.el-button.el-button--text{background-color:transparent!important;padding:0!important}.el-button.el-button--text span{margin-left:0!important}.el-tag{font-weight:500;transition:all 0s!important}.el-tag.el-tag--default{height:26px!important}.el-checkbox-group.el-table-filter__checkbox-group label.el-checkbox{height:17px!important}.el-checkbox-group.el-table-filter__checkbox-group label.el-checkbox .el-checkbox__label{font-weight:400!important}.el-radio--default .el-radio__input .el-radio__inner{width:16px;height:16px}.el-radio--default .el-radio__input .el-radio__inner:after{width:6px;height:6px}.el-checkbox .el-checkbox__inner{border-radius:2px!important}.el-checkbox--default .el-checkbox__inner{width:16px!important;height:16px!important;border-radius:4px!important}.el-checkbox--default .el-checkbox__inner:before{content:"";height:4px!important;top:5px!important;background-color:#fff!important;transform:scale(.6)!important}.el-checkbox--default .is-checked .el-checkbox__inner:after{width:3px;height:8px;margin:auto;border:2px solid var(--el-checkbox-checked-icon-color);border-left:0;border-top:0;transform:translate(-45%,-60%) rotate(45deg) scale(.86)!important;transform-origin:center}.el-notification .el-notification__icon{font-size:22px!important}.el-message-box__headerbtn .el-message-box__close,.el-dialog__headerbtn .el-dialog__close{top:7px;right:7px;width:30px;height:30px;border-radius:5px;transition:all .3s}.el-message-box__headerbtn .el-message-box__close:hover,.el-dialog__headerbtn .el-dialog__close:hover{background-color:var(--art-hover-color)!important;color:var(--art-gray-900)!important}.el-message-box{padding:25px 20px!important}.el-message-box__title{font-weight:500!important}.el-table__column-filter-trigger i{color:var(--theme-color)!important;margin:-3px 0 0 2px}.el-tooltip__trigger:focus-visible{outline:unset}@media screen and (max-width: 1180px){.el-table-fixed-column--right{padding-right:0!important}.el-table-fixed-column--right .el-button{margin:5px 10px 5px 0!important}}.login-out-dialog{padding:30px 20px!important;border-radius:10px!important}.dialog-fade-enter-active .el-dialog:not(.is-draggable){animation:dialog-open .3s cubic-bezier(.32,.14,.15,.86)}.dialog-fade-enter-active .el-dialog:not(.is-draggable) .el-select__selected-item{display:inline-block}.dialog-fade-leave-active{animation:fade-out .2s linear}.dialog-fade-leave-active .el-dialog:not(.is-draggable){animation:dialog-close .5s}@keyframes dialog-open{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes dialog-close{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.2)}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.el-select__popper:not(.el-tree-select__popper) .el-select-dropdown__list{padding:5px!important}.el-select__popper:not(.el-tree-select__popper) .el-select-dropdown__list .el-select-dropdown__item{height:34px!important;line-height:34px!important;border-radius:6px!important}.el-select__popper:not(.el-tree-select__popper) .el-select-dropdown__list .el-select-dropdown__item.is-selected{color:var(--art-gray-900)!important;font-weight:400!important;background-color:var(--art-el-active-color)!important;margin-bottom:4px!important}.el-select__popper:not(.el-tree-select__popper) .el-select-dropdown__list .el-select-dropdown__item:hover{background-color:var(--art-hover-color)!important}.el-select__popper:not(.el-tree-select__popper) .el-select-dropdown__list .el-select-dropdown__item:hover~.is-selected,.el-select__popper:not(.el-tree-select__popper) .el-select-dropdown__list .el-select-dropdown__item.is-selected:has(~.el-select-dropdown__item:hover){background-color:transparent!important}.el-tree-select__popper .el-select-dropdown__list{padding:5px!important}.el-tree-select__popper .el-select-dropdown__list .el-tree-node .el-tree-node__content{height:36px!important;border-radius:6px!important}.el-tree-select__popper .el-select-dropdown__list .el-tree-node .el-tree-node__content:hover{background-color:var(--art-gray-200)!important}.el-button>span{position:relative;z-index:10}.el-color-picker__color{border-radius:2px!important}.el-picker-panel .el-picker-panel__footer{border-radius:0 0 var(--el-border-radius-base) var(--el-border-radius-base)}.el-tree-node__content{border-radius:4px;margin-bottom:4px;padding:1px 0}.el-tree-node__content:hover{background-color:var(--art-hover-color)!important}.dark .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:var(--art-gray-300)!important}.menu-left-popper:focus-within,.horizontal-menu-popper:focus-within{box-shadow:none!important;outline:none!important}html.dark{color-scheme:dark;--el-color-primary: #409eff;--el-color-primary-light-3: rgb(51, 117, 185);--el-color-primary-light-5: rgb(42, 89, 138);--el-color-primary-light-7: rgb(33, 61, 91);--el-color-primary-light-8: rgb(29, 48, 67);--el-color-primary-light-9: rgb(24, 34, 43);--el-color-primary-dark-2: rgb(102, 177, 255);--el-color-success: #13deb9;--el-color-success-light-3: rgb(19, 161, 136);--el-color-success-light-5: rgb(20, 121, 103);--el-color-success-light-7: rgb(20, 81, 70);--el-color-success-light-8: rgb(20, 60, 53);--el-color-success-light-9: rgb(20, 40, 37);--el-color-success-dark-2: rgb(66, 229, 199);--el-color-warning: #ffae1f;--el-color-warning-light-3: rgb(185, 128, 28);--el-color-warning-light-5: rgb(138, 97, 26);--el-color-warning-light-7: rgb(91, 66, 23);--el-color-warning-light-8: rgb(67, 51, 22);--el-color-warning-light-9: rgb(43, 35, 21);--el-color-warning-dark-2: rgb(255, 190, 76);--el-color-danger: #ff4d4f;--el-color-danger-light-3: rgb(185, 60, 61);--el-color-danger-light-5: rgb(138, 49, 50);--el-color-danger-light-7: rgb(91, 37, 38);--el-color-danger-light-8: rgb(67, 31, 32);--el-color-danger-light-9: rgb(43, 26, 26);--el-color-danger-dark-2: rgb(255, 113, 114);--el-color-error: #fa896b;--el-color-error-light-3: rgb(181, 102, 81);--el-color-error-light-5: rgb(135, 79, 64);--el-color-error-light-7: rgb(89, 55, 46);--el-color-error-light-8: rgb(66, 43, 37);--el-color-error-light-9: rgb(43, 32, 29);--el-color-error-dark-2: rgb(251, 161, 137);--el-color-info: #909399;--el-color-info-light-3: rgb(107, 109, 113);--el-color-info-light-5: rgb(82, 84, 87);--el-color-info-light-7: rgb(57, 58, 60);--el-color-info-light-8: rgb(45, 45, 47);--el-color-info-light-9: rgb(32, 33, 33);--el-color-info-dark-2: rgb(166, 169, 173);--el-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .36), 0px 8px 20px rgba(0, 0, 0, .72);--el-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .72);--el-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .72);--el-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .72), 0px 12px 32px #000000, 0px 8px 16px -8px #000000;--el-bg-color-page: #0a0a0a;--el-bg-color: #141414;--el-bg-color-overlay: #1d1e1f;--el-text-color-primary: #E5EAF3;--el-text-color-regular: #CFD3DC;--el-text-color-secondary: #A3A6AD;--el-text-color-placeholder: #8D9095;--el-text-color-disabled: #6C6E72;--el-border-color-darker: #636466;--el-border-color-dark: #58585B;--el-border-color: #4C4D4F;--el-border-color-light: #414243;--el-border-color-lighter: #363637;--el-border-color-extra-light: #2B2B2C;--el-fill-color-darker: #424243;--el-fill-color-dark: #39393A;--el-fill-color: #303030;--el-fill-color-light: #262727;--el-fill-color-lighter: #1D1D1D;--el-fill-color-extra-light: #191919;--el-fill-color-blank: transparent;--el-mask-color: rgba(0, 0, 0, .8);--el-mask-color-extra-light: rgba(0, 0, 0, .3)}html.dark .el-button{--el-button-disabled-text-color: rgba(255, 255, 255, .5)}html.dark .el-card{--el-card-bg-color: var(--el-bg-color-overlay)}html.dark .el-empty{--el-empty-fill-color-0: var(--el-color-black);--el-empty-fill-color-1: #4b4b52;--el-empty-fill-color-2: #36383d;--el-empty-fill-color-3: #1e1e20;--el-empty-fill-color-4: #262629;--el-empty-fill-color-5: #202124;--el-empty-fill-color-6: #212224;--el-empty-fill-color-7: #1b1c1f;--el-empty-fill-color-8: #1c1d1f;--el-empty-fill-color-9: #18181a}html.dark{--el-bg-color: var(--default-box-color);--el-text-color-regular: rgba(255, 255, 255, .85);--w-e-toolbar-bg-color: #18191c;--w-e-textarea-bg-color: #090909;--w-e-toolbar-color: var(--art-gray-600);--w-e-toolbar-active-bg-color: #25262b;--w-e-toolbar-border-color: var(--default-border-dashed);--w-e-textarea-border-color: var(--default-border-dashed);--w-e-modal-button-border-color: var(--default-border-dashed);--w-e-textarea-slight-bg-color: #090909;--w-e-modal-button-bg-color: #090909;--w-e-toolbar-active-color: var(--art-gray-800)}.dark .page-content .article-list .item .left .outer>div{border-right-color:var(--dark-border-color)!important}.dark .editor-wrapper *:not(pre code *){color:inherit!important}.dark .w-e-bar-divider{background-color:var(--art-gray-300)!important}.dark .w-e-select-list,.dark .w-e-drop-panel,.dark .w-e-bar-item-group .w-e-bar-item-menus-container,.dark .w-e-text-container [data-slate-editor] pre>code{border:1px solid var(--default-border)!important}.dark .w-e-select-list{background-color:var(--default-box-color)!important}.dark .w-e-select-list ul li:hover,.dark .w-e-bar-item button:hover{background-color:#090909!important}.dark .w-e-text-container [data-slate-editor] pre>code{background-color:#25262b!important;text-shadow:none!important}.dark .w-e-text-container [data-slate-editor] blockquote{border-left:4px solid var(--default-border-dashed)!important;background-color:var(--art-color)}.dark .editor-wrapper .w-e-text-container [data-slate-editor] .table-container th:last-of-type{border-right:1px solid var(--default-border-dashed)!important}.dark .editor-wrapper .w-e-modal{background-color:var(--art-color)}.fade-enter-active,.fade-leave-active{transition:opacity .25s cubic-bezier(.4,0,.6,1);will-change:opacity}.fade-enter-from,.fade-leave-to{opacity:0}.fade-enter-to,.fade-leave-from{opacity:1}.slide-left-enter-active{transition:opacity .25s cubic-bezier(.25,.1,.25,1),transform .25s cubic-bezier(.25,.1,.25,1);will-change:opacity,transform}.slide-left-leave-active{transition:opacity .175s cubic-bezier(.25,.1,.25,1),transform .175s cubic-bezier(.25,.1,.25,1);will-change:opacity,transform}.slide-left-enter-from{opacity:0;transform:translate3d(-15px,0,0)}.slide-left-enter-to{opacity:1;transform:translateZ(0)}.slide-left-leave-to{opacity:0;transform:translate3d(15px,0,0)}.slide-right-enter-active{transition:opacity .25s cubic-bezier(.25,.1,.25,1),transform .25s cubic-bezier(.25,.1,.25,1);will-change:opacity,transform}.slide-right-leave-active{transition:opacity .175s cubic-bezier(.25,.1,.25,1),transform .175s cubic-bezier(.25,.1,.25,1);will-change:opacity,transform}.slide-right-enter-from{opacity:0;transform:translate3d(15px,0,0)}.slide-right-enter-to{opacity:1;transform:translateZ(0)}.slide-right-leave-to{opacity:0;transform:translate3d(-15px,0,0)}.slide-top-enter-active{transition:opacity .25s cubic-bezier(.25,.1,.25,1),transform .25s cubic-bezier(.25,.1,.25,1);will-change:opacity,transform}.slide-top-leave-active{transition:opacity .175s cubic-bezier(.25,.1,.25,1),transform .175s cubic-bezier(.25,.1,.25,1);will-change:opacity,transform}.slide-top-enter-from{opacity:0;transform:translate3d(0,-15px,0)}.slide-top-enter-to{opacity:1;transform:translateZ(0)}.slide-top-leave-to{opacity:0;transform:translate3d(0,15px,0)}.slide-bottom-enter-active{transition:opacity .25s cubic-bezier(.25,.1,.25,1),transform .25s cubic-bezier(.25,.1,.25,1);will-change:opacity,transform}.slide-bottom-leave-active{transition:opacity .175s cubic-bezier(.25,.1,.25,1),transform .175s cubic-bezier(.25,.1,.25,1);will-change:opacity,transform}.slide-bottom-enter-from{opacity:0;transform:translate3d(0,15px,0)}.slide-bottom-enter-to{opacity:1;transform:translateZ(0)}.slide-bottom-leave-to{opacity:0;transform:translate3d(0,-15px,0)}.theme-change *{transition:0s!important}.theme-change .el-switch__core,.theme-change .el-switch__action{transition:all .3s!important}html{--bg-animation-color: $bg-animation-color-light}html.dark{--bg-animation-color: $bg-animation-color-dark}html::view-transition-old(*){animation:none}html::view-transition-new(*){animation:clip .5s ease-in both}html::view-transition-old(root){z-index:1}html::view-transition-new(root){z-index:9999}html.dark::view-transition-old(*){animation:clip .5s ease-in reverse both}html.dark::view-transition-new(*){animation:none}html.dark::view-transition-old(root){z-index:9999}html.dark::view-transition-new(root){z-index:1}@keyframes clip{0%{clip-path:circle(0% at var(--x) var(--y))}to{clip-path:circle(var(--r) at var(--x) var(--y))}}body{background-color:var(--bg-animation-color)} diff --git a/nginx/admin/assets/index-Bw_sWjGf.css.gz b/nginx/admin/assets/index-Bw_sWjGf.css.gz new file mode 100644 index 0000000..a72f609 Binary files /dev/null and b/nginx/admin/assets/index-Bw_sWjGf.css.gz differ diff --git a/nginx/admin/assets/index-Bwtbh5WQ.js b/nginx/admin/assets/index-Bwtbh5WQ.js new file mode 100644 index 0000000..492b3ae --- /dev/null +++ b/nginx/admin/assets/index-Bwtbh5WQ.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,n=(a,t,l)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[t]=l,i=(e,a)=>{for(var t in a||(a={}))o.call(a,t)&&n(e,t,a[t]);if(l)for(var t of l(a))r.call(a,t)&&n(e,t,a[t]);return e},s=(e,l)=>a(e,t(l)),p=(e,a,t)=>n(e,"symbol"!=typeof a?a+"":a,t);import{cv as u,r as d,c,d as g,y as v,aZ as f,cw as h,u as m,Y as y,n as b,b as H,e as S,m as T,q as w,p as _,N as x,i as B,h as E,cx as j,w as A,s as O,I as k,J as z,a2 as C,b2 as R,g as I,f as P,v as L,aE as N,j as F}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import{E as D}from"./el-empty-CV-PB2A2.js";import{E as $,a as G}from"./index-BjuMygln.js";import{E as U}from"./index-C1haaLtB.js";import{_ as Z}from"./_plugin-vue_export-helper-BCo6x5W8.js";var q=(e=>(e.DEFAULT="default",e.SMALL="small",e.LARGE="large",e))(q||{});const K=u("tableStore",()=>{const e=d(q.DEFAULT),a=d(!1),t=d(!1),l=d(!1),o=d(!1);return{tableSize:e,isZebra:a,isBorder:t,isHeaderBackground:l,setTableSize:a=>e.value=a,setIsZebra:e=>a.value=e,setIsBorder:e=>t.value=e,setIsHeaderBackground:e=>l.value=e,isFullScreen:o,setIsFullScreen:e=>o.value=e}},{persist:{key:"table",storage:localStorage}}),M=class e{constructor(e){this.options=e}calculate(){const e=this.calculateOffset();return{height:0===e?"100%":`calc(100% - ${e}px)`}}calculateOffset(){if(!this.options.showTableHeader.value)return this.calculatePaginationOffset();return this.getHeaderHeight()+this.calculatePaginationOffset()+e.TABLE_HEADER_SPACING}getHeaderHeight(){return this.options.tableHeaderHeight.value||e.DEFAULT_TABLE_HEADER_HEIGHT}calculatePaginationOffset(){const{paginationHeight:e,paginationSpacing:a}=this.options;return 0===e.value?0:e.value+a.value}};p(M,"DEFAULT_TABLE_HEADER_HEIGHT",44),p(M,"TABLE_HEADER_SPACING",12);let J=M;const Y={key:0},Q=Z(g(s(i({},{name:"ArtTable",inheritAttrs:!1}),{__name:"index",props:{loading:{type:Boolean},columns:{default:()=>[]},pagination:{},paginationOptions:{},emptyHeight:{default:"100%"},emptyText:{default:"暂无数据"},showTableHeader:{type:Boolean,default:!0},data:{},size:{default:void 0},width:{},height:{},maxHeight:{},fit:{type:Boolean,default:!0},stripe:{type:Boolean,default:void 0},border:{type:Boolean,default:void 0},rowKey:{},context:{},showHeader:{type:Boolean,default:!0},showSummary:{type:Boolean},sumText:{},summaryMethod:{},rowClassName:{},rowStyle:{},cellClassName:{},cellStyle:{},headerRowClassName:{},headerRowStyle:{},headerCellClassName:{},headerCellStyle:{},highlightCurrentRow:{type:Boolean},currentRowKey:{},expandRowKeys:{},defaultExpandAll:{type:Boolean},defaultSort:{},tooltipEffect:{},tooltipOptions:{},spanMethod:{},selectOnIndeterminate:{type:Boolean},indent:{},treeProps:{},lazy:{type:Boolean},load:{},className:{},style:{},tableLayout:{},scrollbarAlwaysOn:{type:Boolean},flexible:{type:Boolean},showOverflowTooltip:{type:[Boolean,Object]},tooltipFormatter:{},appendFilterPanelTo:{},scrollbarTabindex:{},nativeScrollbar:{type:Boolean}},emits:["pagination:size-change","pagination:current-change"],setup(e,{expose:a,emit:t}){const{width:l}=f(),o=d(null),r=d(),n=d(),p=K(),{isBorder:u,isZebra:g,tableSize:Z,isFullScreen:q,isHeaderBackground:M}=v(p),Q=e,V="prev, pager, next, sizes, jumper, total",W="prev, pager, next, jumper, total",X="total, prev, pager, next, sizes, jumper",ee={pageSizes:[10,20,30,50,100],align:"center",background:!0,layout:c(()=>l.value<768?V:l.value<1024?W:X).value,hideOnSinglePage:!1,size:"default",pagerCount:l.value>1200?7:5},ae=c(()=>i(i({},ee),Q.paginationOptions)),te=c(()=>{var e;return null!=(e=Q.border)?e:u.value}),le=c(()=>{var e;return null!=(e=Q.stripe)?e:g.value}),oe=c(()=>{var e;return null!=(e=Q.size)?e:Z.value}),re=c(()=>{var e;return 0===(null==(e=Q.data)?void 0:e.length)}),ne=d(0),ie=d(0);h(r,e=>{const a=e[0];a&&requestAnimationFrame(()=>{ne.value=a.contentRect.height})}),h(n,e=>{const a=e[0];a&&requestAnimationFrame(()=>{ie.value=a.contentRect.height})});const se=c(()=>Q.showTableHeader?6:15),{containerHeight:pe}=(ue={showTableHeader:c(()=>Q.showTableHeader),paginationHeight:ne,tableHeaderHeight:ie,paginationSpacing:se},{containerHeight:c(()=>new J(ue).calculate())});var ue;const de=c(()=>q.value?"100%":re.value&&!Q.loading?Q.emptyHeight:Q.height?Q.height:"100%"),ce=c(()=>i({background:M.value?"var(--el-fill-color-lighter)":"var(--default-box-color)"},Q.headerCellStyle||{})),ge=c(()=>Q.pagination&&!re.value),ve=e=>{const a=i({},e);return delete a.useHeaderSlot,delete a.headerSlotName,delete a.useSlot,delete a.slotName,a},fe=e=>{He("pagination:size-change",e)},he=e=>{He("pagination:current-change",e),ye()},{scrollToTop:me}=m(),ye=()=>{b(()=>{var e;null==(e=o.value)||e.setScrollTop(0),me()})},be=e=>{if(!Q.pagination)return e+1;const{current:a,size:t}=Q.pagination;return(a-1)*t+e+1},He=t;return y(()=>{var e;null==(e=Q.data)||e.length;Q.showTableHeader?b(()=>{(()=>{if(!Q.showTableHeader)return void(n.value=void 0);const e=document.getElementById("art-table-header");n.value=e||void 0})()}):n.value=void 0},{flush:"post"}),a({scrollToTop:ye,elTableRef:o}),(a,t)=>{var l,n,p,u;const d=G,c=D,g=$,v=U,f=R;return S(),H("div",{class:w(["art-table",{"is-empty":re.value}]),style:T(_(pe))},[x((S(),E(g,C({ref_key:"elTableRef",ref:o},s(i(i({},a.$attrs),Q),{height:de.value,stripe:le.value,border:te.value,size:oe.value,headerCellStyle:ce.value})),j({empty:A(()=>[e.loading?(S(),H("div",Y)):(S(),E(c,{key:1,description:e.emptyText,"image-size":120},null,8,["description"]))]),default:A(()=>[(S(!0),H(k,null,z(e.columns,e=>(S(),H(k,{key:e.prop||e.type},["globalIndex"===e.type?(S(),E(d,C({key:0,ref_for:!0},i({},e)),{default:A(({$index:e})=>[P("span",null,L(be(e)),1)]),_:1},16)):"expand"===e.type?(S(),E(d,C({key:1,ref_for:!0},ve(e)),{default:A(({row:a})=>[(S(),E(N(e.formatter?e.formatter(a):null)))]),_:2},1040)):(S(),E(d,C({key:2,ref_for:!0},ve(e)),j({_:2},[e.useHeaderSlot&&e.prop?{name:"header",fn:A(t=>[O(a.$slots,e.headerSlotName||`${e.prop}-header`,C({ref_for:!0},s(i({},t),{prop:e.prop,label:e.label})),()=>[F(L(e.label),1)],!0)]),key:"0"}:void 0,e.useSlot&&e.prop?{name:"default",fn:A(t=>[O(a.$slots,e.slotName||e.prop,C({ref_for:!0},s(i({},t),{prop:e.prop,value:e.prop?t.row[e.prop]:void 0})),void 0,!0)]),key:"1"}:void 0]),1040))],64))),128))]),_:2},[a.$slots.default?{name:"default",fn:A(()=>[O(a.$slots,"default",{},void 0,!0)]),key:"0"}:void 0]),1040)),[[f,!!e.loading]]),ge.value?(S(),H("div",{key:0,class:w(["pagination custom-pagination",null==(l=ae.value)?void 0:l.align]),ref_key:"paginationRef",ref:r},[I(v,C(ae.value,{total:null==(n=e.pagination)?void 0:n.total,disabled:e.loading,"page-size":null==(p=e.pagination)?void 0:p.size,"current-page":null==(u=e.pagination)?void 0:u.current,onSizeChange:fe,onCurrentChange:he}),null,16,["total","disabled","page-size","current-page"])],2)):B("",!0)],6)}}})),[["__scopeId","data-v-5c0998ff"]]);export{q as T,Q as _,K as u}; diff --git a/nginx/admin/assets/index-BxiCehmI.css b/nginx/admin/assets/index-BxiCehmI.css new file mode 100644 index 0000000..adfdf8b --- /dev/null +++ b/nginx/admin/assets/index-BxiCehmI.css @@ -0,0 +1 @@ +.drag_verify[data-v-471ea464]{position:relative;box-sizing:border-box;overflow:hidden;text-align:center;border:1px solid var(--default-border-dashed)}.drag_verify .dv_handler[data-v-471ea464]{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;cursor:move}.drag_verify .dv_handler i[data-v-471ea464]{padding-left:0;font-size:14px;color:#999}.drag_verify .dv_handler .el-icon-circle-check[data-v-471ea464]{margin-top:9px;color:#6c6}.drag_verify .dv_progress_bar[data-v-471ea464]{position:absolute;width:0;height:34px}.drag_verify .dv_text[data-v-471ea464]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:transparent;user-select:none;background:linear-gradient(to right,var(--textColor) 0%,var(--textColor) 40%,#fff 50%,var(--textColor) 60%,var(--textColor) 100%);-webkit-background-clip:text;background-clip:text;animation:slidetounlock 2s cubic-bezier(0,.2,1,1) infinite;-webkit-text-fill-color:transparent;text-size-adjust:none}.drag_verify .dv_text[data-v-471ea464] *{-webkit-text-fill-color:var(--textColor)}.goFirst[data-v-471ea464]{left:0!important;transition:left .5s}.goFirst2[data-v-471ea464]{width:0!important;transition:width .5s}@keyframes slidetounlock{0%{background-position:var(--pwidth) 0}to{background-position:var(--width) 0}}@keyframes slidetounlock2{0%{background-position:var(--pwidth) 0}to{background-position:var(--pwidth) 0}}/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-004f9a51],[data-v-004f9a51]:before,[data-v-004f9a51]:after,[data-v-004f9a51]::backdrop{--tw-font-weight:initial}}}.auth-right-wrap[data-v-004f9a51]{inset:calc(var(--spacing,.25rem)*0);width:440px;height:650px;margin:auto;padding-block:5px;animation:.6s cubic-bezier(.25,.46,.45,.94) forwards slideInRight-004f9a51;position:absolute;overflow:hidden}@media not all and (min-width:48rem){.auth-right-wrap[data-v-004f9a51]{animation:none}}@media not all and (min-width:40rem){.auth-right-wrap[data-v-004f9a51]{width:100%;padding-inline:calc(var(--spacing,.25rem)*7)}}.auth-right-wrap .form[data-v-004f9a51]{height:100%;padding-block:40px}.auth-right-wrap .title[data-v-004f9a51]{font-size:var(--text-4xl,2.25rem);line-height:var(--tw-leading,var(--text-4xl--line-height,calc(2.5/2.25)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-g-900,var(--art-gray-900))}@media not all and (min-width:48rem){.auth-right-wrap .title[data-v-004f9a51]{font-size:var(--text-3xl,1.875rem);line-height:var(--tw-leading,var(--text-3xl--line-height, 1.2 ))}}@media not all and (min-width:40rem){.auth-right-wrap .title[data-v-004f9a51]{padding-top:calc(var(--spacing,.25rem)*10)}}.auth-right-wrap .sub-title[data-v-004f9a51]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));color:var(--color-g-600,var(--art-gray-600));margin-top:10px}.auth-right-wrap .custom-height[data-v-004f9a51]{height:40px!important}@keyframes slideInRight-004f9a51{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@property --tw-font-weight{syntax:"*";inherits:false}[data-v-004f9a51] .el-select__wrapper{height:40px!important} diff --git a/nginx/admin/assets/index-Bz1J5qw2.js b/nginx/admin/assets/index-Bz1J5qw2.js new file mode 100644 index 0000000..6a88fb0 --- /dev/null +++ b/nginx/admin/assets/index-Bz1J5qw2.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable,l=(a,i,t)=>i in a?e(a,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[i]=t,r=(e,a,i)=>new Promise((t,l)=>{var r=e=>{try{s(i.next(e))}catch(a){l(a)}},o=e=>{try{s(i.throw(e))}catch(a){l(a)}},s=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,o);s((i=i.apply(e,a)).next())});import{d as o,r as s,k as n,o as d,b as p,e as m,g as u,w as c,p as f,E as j,j as b,v as g,I as _,J as y,h as v,f as h,K as x,T as w}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as k}from"./index-Bwtbh5WQ.js";import{A as V}from"./index-BaXJ8CyS.js";import{u as C}from"./useTable-DzUOUR11.js";import{g as O,a as P}from"./gamePasses-BXLFUsdE.js";import{f as z}from"./activity-CMsiETfu.js";import{p as E}from"./player-manage-ReHd8eMR.js";import{E as I}from"./index-ZsMdSUVI.js";import{E as U}from"./index-CjpBlozU.js";import{a as D,E as A}from"./index-BcfO0-fK.js";import{E as T,a as R}from"./index-D2gD5Tn5.js";import{E as S}from"./index-C_S0YbqD.js";import{E as W}from"./index-BaD29Izp.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./refs-Cw5r5QN8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";/* empty css */import"./index-CZJaGuxf.js";import"./useTableColumns-FR69a2pD.js";import"./use-dialog-FwJ-QdmW.js";import"./_baseClone-Ct7RL6h5.js";import"./token-DWNpOE8r.js";import"./index-BnK4BbY2.js";const $={class:"art-full-height"},q=o({__name:"index",setup(e){const o=s([]),q=s([]),B=s(!1),F=()=>r(this,null,function*(){const e=yield z({page:1,page_size:100});o.value=e.records}),H=e=>r(this,null,function*(){if(e){B.value=!0;try{const a=yield E({nickname:e,page:1,page_size:20});q.value=a.list}finally{B.value=!1}}else q.value=[]}),{data:J,loading:K,columns:L,pagination:M,handleSizeChange:N,handleCurrentChange:Q,refreshData:X}=C({core:{apiFn:e=>P({page:e.page,page_size:e.page_size}),columnsFactory:()=>[{prop:"id",label:"ID",width:80},{prop:"user_id",label:"用户ID",width:100},{prop:"user_name",label:"用户名",minWidth:120},{prop:"activity_name",label:"关联活动",minWidth:120,formatter:e=>(e=>{if(0===e)return"通用";const a=o.value.find(a=>a.id===e);return a?a.name:`活动ID:${e}`})(e.activity_id)},{prop:"remaining",label:"剩余",width:90},{prop:"total_granted",label:"总获赠",width:90},{prop:"total_used",label:"已使用",width:90},{prop:"source",label:"来源",width:100},{prop:"expired_at",label:"有效期",width:170,formatter:e=>e.expired_at||"永久"},{prop:"remark",label:"备注",minWidth:150},{prop:"created_at",label:"时间",width:170}]}}),Y=n({visible:!1,submitting:!1}),G={user_id:void 0,activity_id:0,count:1,valid_days:0,remark:""},Z=n(((e,r)=>{for(var o in r||(r={}))i.call(r,o)&&l(e,o,r[o]);if(a)for(var o of a(r))t.call(r,o)&&l(e,o,r[o]);return e})({},G)),ee=s(),ae={user_id:[{required:!0,message:"请选择发放玩家",trigger:"change"}],count:[{required:!0,message:"请输入发放次数",trigger:"blur"}]};function ie(){Y.visible=!0,Object.assign(Z,G)}function te(){return r(this,null,function*(){ee.value&&(yield ee.value.validate(e=>r(this,null,function*(){if(e){Y.submitting=!0;try{yield O(Z),w.success("发放成功"),Y.visible=!1,X()}finally{Y.submitting=!1}}})))})}return d(()=>r(this,null,function*(){yield F(),X()})),(e,a)=>{const i=j,t=I,l=R,r=T,s=A,n=S,d=x,w=D,C=U,O=W;return m(),p("div",$,[u(O,{class:"art-table-card",shadow:"never"},{default:c(()=>[u(V,{loading:f(K),onRefresh:f(X)},{left:c(()=>[u(i,{type:"primary",onClick:ie},{default:c(()=>[...a[7]||(a[7]=[b("发放次数卡",-1)])]),_:1})]),_:1},8,["loading","onRefresh"]),u(k,{loading:f(K),data:f(J),columns:f(L),pagination:f(M),"onPagination:sizeChange":f(N),"onPagination:currentChange":f(Q)},{status:c(({row:e})=>[u(t,{type:e.remaining>0?"success":"info"},{default:c(()=>[b(g(e.remaining>0?"可用":"耗尽"),1)]),_:2},1032,["type"])]),_:1},8,["loading","data","columns","pagination","onPagination:sizeChange","onPagination:currentChange"]),u(C,{modelValue:Y.visible,"onUpdate:modelValue":a[6]||(a[6]=e=>Y.visible=e),title:"发放次数卡",width:"500px","destroy-on-close":""},{footer:c(()=>[u(i,{onClick:a[5]||(a[5]=e=>Y.visible=!1)},{default:c(()=>[...a[9]||(a[9]=[b("取消",-1)])]),_:1}),u(i,{type:"primary",onClick:te,loading:Y.submitting},{default:c(()=>[...a[10]||(a[10]=[b("确认发放",-1)])]),_:1},8,["loading"])]),default:c(()=>[u(w,{model:Z,"label-width":"100px",rules:ae,ref_key:"formRef",ref:ee},{default:c(()=>[u(s,{label:"发放玩家",prop:"user_id"},{default:c(()=>[u(r,{modelValue:Z.user_id,"onUpdate:modelValue":a[0]||(a[0]=e=>Z.user_id=e),filterable:"",remote:"","reserve-keyword":"",placeholder:"搜索用户名或输入ID","remote-method":H,loading:B.value,style:{width:"100%"}},{default:c(()=>[(m(!0),p(_,null,y(q.value,e=>(m(),v(l,{key:e.id,label:`${e.nickname} (ID: ${e.id})`,value:Number(e.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),u(s,{label:"关联活动",prop:"activity_id"},{default:c(()=>[u(r,{modelValue:Z.activity_id,"onUpdate:modelValue":a[1]||(a[1]=e=>Z.activity_id=e),placeholder:"请选择活动",clearable:"",style:{width:"100%"}},{default:c(()=>[u(l,{value:0,label:"通用"}),(m(!0),p(_,null,y(o.value,e=>(m(),v(l,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),u(s,{label:"发放次数",prop:"count"},{default:c(()=>[u(n,{modelValue:Z.count,"onUpdate:modelValue":a[2]||(a[2]=e=>Z.count=e),min:1,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),u(s,{label:"有效期(天)",prop:"valid_days"},{default:c(()=>[u(n,{modelValue:Z.valid_days,"onUpdate:modelValue":a[3]||(a[3]=e=>Z.valid_days=e),min:0,style:{width:"100%"}},null,8,["modelValue"]),a[8]||(a[8]=h("div",{class:"text-gray-400 text-xs mt-1"},"0表示永久有效",-1))]),_:1}),u(s,{label:"备注",prop:"remark"},{default:c(()=>[u(d,{type:"textarea",modelValue:Z.remark,"onUpdate:modelValue":a[4]||(a[4]=e=>Z.remark=e),placeholder:"请输入发放备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])]),_:1})])}}});export{q as default}; diff --git a/nginx/admin/assets/index-C-X4EYUc.css b/nginx/admin/assets/index-C-X4EYUc.css new file mode 100644 index 0000000..0cd3d37 --- /dev/null +++ b/nginx/admin/assets/index-C-X4EYUc.css @@ -0,0 +1 @@ +.layout-lock-screen[data-v-60f20784] .el-dialog{border-radius:10px}.unlock-content[data-v-60f20784]{position:fixed;inset:0;z-index:2500;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:#fff;background-image:url(/admin/assets/lock_screen_1-CH_l421c.webp);background-size:cover;transition:transform .3s ease-in-out}@keyframes fade-in-60f20784{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in[data-v-60f20784]{animation:fade-in-60f20784 .3s ease-in-out} diff --git a/nginx/admin/assets/index-C0Ar9TSn.js b/nginx/admin/assets/index-C0Ar9TSn.js new file mode 100644 index 0000000..d362b76 --- /dev/null +++ b/nginx/admin/assets/index-C0Ar9TSn.js @@ -0,0 +1 @@ +import{aM as e,d as t,ag as n,bq as a,o as r,aq as s,b_ as o}from"./index-BoIUJTA2.js";const d=(d,l)=>{const i=e({}),u=e([]),p=new WeakMap,c=()=>{u.value=((e,t,n)=>s(e.subTree).filter(e=>{var n;return o(e)&&(null==(n=e.type)?void 0:n.name)===t&&!!e.component}).map(e=>e.component.uid).map(e=>n[e]).filter(e=>!!e))(d,l,i.value)},f=e=>e.render(),m=t({setup:(e,{slots:t})=>()=>(c(),t.default?n(f,{render:t.default}):null)});return{children:u,addChild:e=>{i.value[e.uid]=e,a(i),r(()=>{const t=e.getVnode().el,n=t.parentNode;if(!p.has(n)){p.set(n,[]);const e=n.insertBefore.bind(n);n.insertBefore=(t,r)=>(p.get(n).some(e=>t===e||r===e)&&a(i),e(t,r))}p.get(n).push(t)})},removeChild:e=>{delete i.value[e.uid],a(i);const t=e.getVnode().el,n=t.parentNode,r=p.get(n),s=r.indexOf(t);r.splice(s,1)},ChildrenSorter:m}};export{d as u}; diff --git a/nginx/admin/assets/index-C1dwx9tB.js b/nginx/admin/assets/index-C1dwx9tB.js new file mode 100644 index 0000000..1dee16d --- /dev/null +++ b/nginx/admin/assets/index-C1dwx9tB.js @@ -0,0 +1,4 @@ +var e=Object.defineProperty,r=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,n=(r,t,a)=>t in r?e(r,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):r[t]=a,s=(e,s)=>{for(var i in s||(s={}))t.call(s,i)&&n(e,i,s[i]);if(r)for(var i of r(s))a.call(s,i)&&n(e,i,s[i]);return e},i=(e,r,t)=>new Promise((a,n)=>{var s=e=>{try{c(t.next(e))}catch(r){n(r)}},i=e=>{try{c(t.throw(e))}catch(r){n(r)}},c=e=>e.done?a(e.value):Promise.resolve(e.value).then(s,i);c((t=t.apply(e,r)).next())});import{c1 as c,d as o,k as l,dl as f,b as h,e as u,g as d,w as p,E as m,p as g,j as v,f as b,v as T,K as E,T as w}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as A}from"./index-Bwtbh5WQ.js";import{u as S}from"./useTable-DzUOUR11.js";import{f as k}from"./enums-B_hZIbhP.js";import{a as y,E as _}from"./index-BcfO0-fK.js";import{E as C}from"./index-BneqRonp.js";import{E as O,a as R}from"./index-D2gD5Tn5.js";import{E as x}from"./index-BaD29Izp.js";import{a as I}from"./index-BjuMygln.js";import{E as N}from"./index-dBzz0k3i.js";import{E as D}from"./index-CjpBlozU.js";import{_ as F}from"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-C1haaLtB.js";import"./useTableColumns-FR69a2pD.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-BnK4BbY2.js";import"./debounce-DQl5eUwG.js";import"./index-CXORCV4U.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./_baseIteratee-CtIat01j.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./index-D8nVJoNy.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js"; +/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ +var M=1252,P=[874,932,936,949,950,1250,1251,1252,1253,1254,1255,1256,1257,1258,1e4],L={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969},U=function(e){-1!=P.indexOf(e)&&(M=L[0]=e)};var B=function(e){U(e)};function H(){B(1200),U(1252)}function V(e){for(var r=[],t=0,a=e.length;t>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t+1)+(e.charCodeAt(2*t)<<8));return r.join("")}var G,z=function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1);return 255==r&&254==t?function(e){for(var r=[],t=0;t>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t)+(e.charCodeAt(2*t+1)<<8));return r.join("")}(e.slice(2)):254==r&&255==t?W(e.slice(2)):65279==r?e.slice(1):e},j=function(e){return String.fromCharCode(e)},Y=function(e){return String.fromCharCode(e)},X="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function K(e){for(var r="",t=0,a=0,n=0,s=0,i=0,c=0,o=0,l=0;l>2,i=(3&t)<<4|(a=e.charCodeAt(l++))>>4,c=(15&a)<<2|(n=e.charCodeAt(l++))>>6,o=63&n,isNaN(a)?c=o=64:isNaN(n)&&(o=64),r+=X.charAt(s)+X.charAt(i)+X.charAt(c)+X.charAt(o);return r}function J(e){var r="",t=0,a=0,n=0,s=0,i=0,c=0;e=e.replace(/[^\w\+\/\=]/g,"");for(var o=0;o>4,r+=String.fromCharCode(t),a=(15&s)<<4|(i=X.indexOf(e.charAt(o++)))>>2,64!==i&&(r+=String.fromCharCode(a)),n=(3&i)<<6|(c=X.indexOf(e.charAt(o++))),64!==c&&(r+=String.fromCharCode(n));return r}var Z=function(){return"undefined"!=typeof Buffer&&"undefined"!=typeof process&&void 0!==process.versions&&!!process.versions.node}(),q=function(){if("undefined"!=typeof Buffer){var e=!Buffer.from;if(!e)try{Buffer.from("foo","utf8")}catch(r){e=!0}return e?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer)}return function(){}}();function Q(e){return Z?Buffer.alloc?Buffer.alloc(e):new Buffer(e):"undefined"!=typeof Uint8Array?new Uint8Array(e):new Array(e)}function ee(e){return Z?Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e):"undefined"!=typeof Uint8Array?new Uint8Array(e):new Array(e)}var re=function(e){return Z?q(e,"binary"):e.split("").map(function(e){return 255&e.charCodeAt(0)})};function te(e){if(Array.isArray(e))return e.map(function(e){return String.fromCharCode(e)}).join("");for(var r=[],t=0;t=0;)r+=e.charAt(t--);return r}function oe(e,r){var t=""+e;return t.length>=r?t:gr("0",r-t.length)+t}function le(e,r){var t=""+e;return t.length>=r?t:gr(" ",r-t.length)+t}function fe(e,r){var t=""+e;return t.length>=r?t:t+gr(" ",r-t.length)}var he=Math.pow(2,32);function ue(e,r){return e>he||e<-he?function(e,r){var t=""+Math.round(e);return t.length>=r?t:gr("0",r-t.length)+t}(e,r):function(e,r){var t=""+e;return t.length>=r?t:gr("0",r-t.length)+t}(Math.round(e),r)}function de(e,r){return r=r||0,e.length>=7+r&&103==(32|e.charCodeAt(r))&&101==(32|e.charCodeAt(r+1))&&110==(32|e.charCodeAt(r+2))&&101==(32|e.charCodeAt(r+3))&&114==(32|e.charCodeAt(r+4))&&97==(32|e.charCodeAt(r+5))&&108==(32|e.charCodeAt(r+6))}var pe=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]],me=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];var ge={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "'},ve={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0},be={5:'"$"#,##0_);\\("$"#,##0\\)',63:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',41:'_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'};function Te(e,r,t){for(var a=e<0?-1:1,n=e*a,s=0,i=1,c=0,o=1,l=0,f=0,h=Math.floor(n);lr&&(l>r?(f=o,c=s):(f=l,c=i)),!t)return[0,a*c,f];var u=Math.floor(a*c/f);return[u,a*c-u*f,f]}function Ee(e,r,t){if(e>2958465||e<0)return null;var a=0|e,n=Math.floor(86400*(e-a)),s=0,i=[],c={D:a,T:n,u:86400*(e-a)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(c.u)<1e-6&&(c.u=0),r&&r.date1904&&(a+=1462),c.u>.9999&&(c.u=0,86400==++n&&(c.T=n=0,++a,++c.D)),60===a)i=t?[1317,10,29]:[1900,2,29],s=3;else if(0===a)i=t?[1317,8,29]:[1900,1,0],s=6;else{a>60&&--a;var o=new Date(1900,0,1);o.setDate(o.getDate()+a-1),i=[o.getFullYear(),o.getMonth()+1,o.getDate()],s=o.getDay(),a<60&&(s=(s+6)%7),t&&(s=function(e,r){r[0]-=581;var t=e.getDay();e<60&&(t=(t+6)%7);return t}(o,i))}return c.y=i[0],c.m=i[1],c.d=i[2],c.S=n%60,n=Math.floor(n/60),c.M=n%60,n=Math.floor(n/60),c.H=n,c.q=s,c}var we=new Date(1899,11,31,0,0,0),Ae=we.getTime(),Se=new Date(1900,2,1,0,0,0);function ke(e,r){var t=e.getTime();return r?t-=1262304e5:e>=Se&&(t+=864e5),(t-(Ae+6e4*(e.getTimezoneOffset()-we.getTimezoneOffset())))/864e5}function ye(e){return-1==e.indexOf(".")?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/,"$1")}function _e(e){var r,t=Math.floor(Math.log(Math.abs(e))*Math.LOG10E);return r=t>=-4&&t<=-1?e.toPrecision(10+t):Math.abs(t)<=9?function(e){var r=e<0?12:11,t=ye(e.toFixed(12));return t.length<=r||(t=e.toPrecision(10)).length<=r?t:e.toExponential(5)}(e):10===t?e.toFixed(10).substr(0,12):function(e){var r=ye(e.toFixed(11));return r.length>(e<0?12:11)||"0"===r||"-0"===r?e.toPrecision(6):r}(e),ye(function(e){return-1==e.indexOf("E")?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2")}(r.toUpperCase()))}function Ce(e,r){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(0|e)===e?e.toString(10):_e(e);case"undefined":return"";case"object":if(null==e)return"";if(e instanceof Date)return Xe(14,ke(e,r&&r.date1904),r)}throw new Error("unsupported value in General format: "+e)}function Oe(e,r,t,a){var n,s="",i=0,c=0,o=t.y,l=0;switch(e){case 98:o=t.y+543;case 121:switch(r.length){case 1:case 2:n=o%100,l=2;break;default:n=o%1e4,l=4}break;case 109:switch(r.length){case 1:case 2:n=t.m,l=r.length;break;case 3:return me[t.m-1][1];case 5:return me[t.m-1][0];default:return me[t.m-1][2]}break;case 100:switch(r.length){case 1:case 2:n=t.d,l=r.length;break;case 3:return pe[t.q][0];default:return pe[t.q][1]}break;case 104:switch(r.length){case 1:case 2:n=1+(t.H+11)%12,l=r.length;break;default:throw"bad hour format: "+r}break;case 72:switch(r.length){case 1:case 2:n=t.H,l=r.length;break;default:throw"bad hour format: "+r}break;case 77:switch(r.length){case 1:case 2:n=t.M,l=r.length;break;default:throw"bad minute format: "+r}break;case 115:if("s"!=r&&"ss"!=r&&".0"!=r&&".00"!=r&&".000"!=r)throw"bad second format: "+r;return 0!==t.u||"s"!=r&&"ss"!=r?(c=a>=2?3===a?1e3:100:1===a?10:1,(i=Math.round(c*(t.S+t.u)))>=60*c&&(i=0),"s"===r?0===i?"0":""+i/c:(s=oe(i,2+a),"ss"===r?s.substr(0,2):"."+s.substr(2,r.length-1))):oe(t.S,r.length);case 90:switch(r){case"[h]":case"[hh]":n=24*t.D+t.H;break;case"[m]":case"[mm]":n=60*(24*t.D+t.H)+t.M;break;case"[s]":case"[ss]":n=60*(60*(24*t.D+t.H)+t.M)+Math.round(t.S+t.u);break;default:throw"bad abstime format: "+r}l=3===r.length?1:2;break;case 101:n=o,l=1}return l>0?oe(n,l):""}function Re(e){if(e.length<=3)return e;for(var r=e.length%3,t=e.substr(0,r);r!=e.length;r+=3)t+=(t.length>0?",":"")+e.substr(r,3);return t}var xe=/%/g;function Ie(e,r){var t,a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(0==r)return"0.0E+0";if(r<0)return"-"+Ie(e,-r);var n=e.indexOf(".");-1===n&&(n=e.indexOf("E"));var s=Math.floor(Math.log(r)*Math.LOG10E)%n;if(s<0&&(s+=n),-1===(t=(r/Math.pow(10,s)).toPrecision(a+1+(n+s)%n)).indexOf("e")){var i=Math.floor(Math.log(r)*Math.LOG10E);for(-1===t.indexOf(".")?t=t.charAt(0)+"."+t.substr(1)+"E+"+(i-t.length+s):t+="E+"+(i-s);"0."===t.substr(0,2);)t=(t=t.charAt(0)+t.substr(2,n)+"."+t.substr(2+n)).replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.");t=t.replace(/\+-/,"-")}t=t.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,r,t,a){return r+t+a.substr(0,(n+s)%n)+"."+a.substr(s)+"E"})}else t=r.toExponential(a);return e.match(/E\+00$/)&&t.match(/e[+-]\d$/)&&(t=t.substr(0,t.length-1)+"0"+t.charAt(t.length-1)),e.match(/E\-/)&&t.match(/e\+/)&&(t=t.replace(/e\+/,"e")),t.replace("e","E")}var Ne=/# (\?+)( ?)\/( ?)(\d+)/;var De=/^#*0*\.([0#]+)/,Fe=/\).*[0#]/,Me=/\(###\) ###\\?-####/;function Pe(e){for(var r,t="",a=0;a!=e.length;++a)switch(r=e.charCodeAt(a)){case 35:break;case 63:t+=" ";break;case 48:t+="0";break;default:t+=String.fromCharCode(r)}return t}function Le(e,r){var t=Math.pow(10,r);return""+Math.round(e*t)/t}function Ue(e,r){var t=e-Math.floor(e),a=Math.pow(10,r);return r<(""+Math.round(t*a)).length?0:Math.round(t*a)}function Be(e,r,t){if(40===e.charCodeAt(0)&&!r.match(Fe)){var a=r.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return t>=0?Be("n",a,t):"("+Be("n",a,-t)+")"}if(44===r.charCodeAt(r.length-1))return function(e,r,t){for(var a=r.length-1;44===r.charCodeAt(a-1);)--a;return We(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}(e,r,t);if(-1!==r.indexOf("%"))return function(e,r,t){var a=r.replace(xe,""),n=r.length-a.length;return We(e,a,t*Math.pow(10,2*n))+gr("%",n)}(e,r,t);if(-1!==r.indexOf("E"))return Ie(r,t);if(36===r.charCodeAt(0))return"$"+Be(e,r.substr(" "==r.charAt(1)?2:1),t);var n,s,i,c,o=Math.abs(t),l=t<0?"-":"";if(r.match(/^00+$/))return l+ue(o,r.length);if(r.match(/^[#?]+$/))return"0"===(n=ue(t,0))&&(n=""),n.length>r.length?n:Pe(r.substr(0,r.length-n.length))+n;if(s=r.match(Ne))return function(e,r,t){var a=parseInt(e[4],10),n=Math.round(r*a),s=Math.floor(n/a),i=n-s*a,c=a;return t+(0===s?"":""+s)+" "+(0===i?gr(" ",e[1].length+1+e[4].length):le(i,e[1].length)+e[2]+"/"+e[3]+oe(c,e[4].length))}(s,o,l);if(r.match(/^#+0+$/))return l+ue(o,r.length-r.indexOf("0"));if(s=r.match(De))return n=Le(t,s[1].length).replace(/^([^\.]+)$/,"$1."+Pe(s[1])).replace(/\.$/,"."+Pe(s[1])).replace(/\.(\d*)$/,function(e,r){return"."+r+gr("0",Pe(s[1]).length-r.length)}),-1!==r.indexOf("0.")?n:n.replace(/^0\./,".");if(r=r.replace(/^#+([0.])/,"$1"),s=r.match(/^(0*)\.(#*)$/))return l+Le(o,s[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,s[1].length?"0.":".");if(s=r.match(/^#{1,3},##0(\.?)$/))return l+Re(ue(o,0));if(s=r.match(/^#,##0\.([#0]*0)$/))return t<0?"-"+Be(e,r,-t):Re(""+(Math.floor(t)+function(e,r){return r<(""+Math.round((e-Math.floor(e))*Math.pow(10,r))).length?1:0}(t,s[1].length)))+"."+oe(Ue(t,s[1].length),s[1].length);if(s=r.match(/^#,#*,#0/))return Be(e,r.replace(/^#,#*,/,""),t);if(s=r.match(/^([0#]+)(\\?-([0#]+))+$/))return n=ce(Be(e,r.replace(/[\\-]/g,""),t)),i=0,ce(ce(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return i-2147483648?""+(e>=0?0|e:e-1|0):""+Math.floor(e)}(t)).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(e){return"00,"+(e.length<3?oe(0,3-e.length):"")+e})+"."+oe(i,s[1].length);switch(r){case"###,##0.00":return Be(e,"#,##0.00",t);case"###,###":case"##,###":case"#,###":var d=Re(ue(o,0));return"0"!==d?l+d:"";case"###,###.00":return Be(e,"###,##0.00",t).replace(/^0\./,".");case"#,###.00":return Be(e,"#,##0.00",t).replace(/^0\./,".")}throw new Error("unsupported format |"+r+"|")}function He(e,r){var t,a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(0==r)return"0.0E+0";if(r<0)return"-"+He(e,-r);var n=e.indexOf(".");-1===n&&(n=e.indexOf("E"));var s=Math.floor(Math.log(r)*Math.LOG10E)%n;if(s<0&&(s+=n),!(t=(r/Math.pow(10,s)).toPrecision(a+1+(n+s)%n)).match(/[Ee]/)){var i=Math.floor(Math.log(r)*Math.LOG10E);-1===t.indexOf(".")?t=t.charAt(0)+"."+t.substr(1)+"E+"+(i-t.length+s):t+="E+"+(i-s),t=t.replace(/\+-/,"-")}t=t.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,r,t,a){return r+t+a.substr(0,(n+s)%n)+"."+a.substr(s)+"E"})}else t=r.toExponential(a);return e.match(/E\+00$/)&&t.match(/e[+-]\d$/)&&(t=t.substr(0,t.length-1)+"0"+t.charAt(t.length-1)),e.match(/E\-/)&&t.match(/e\+/)&&(t=t.replace(/e\+/,"e")),t.replace("e","E")}function Ve(e,r,t){if(40===e.charCodeAt(0)&&!r.match(Fe)){var a=r.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return t>=0?Ve("n",a,t):"("+Ve("n",a,-t)+")"}if(44===r.charCodeAt(r.length-1))return function(e,r,t){for(var a=r.length-1;44===r.charCodeAt(a-1);)--a;return We(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}(e,r,t);if(-1!==r.indexOf("%"))return function(e,r,t){var a=r.replace(xe,""),n=r.length-a.length;return We(e,a,t*Math.pow(10,2*n))+gr("%",n)}(e,r,t);if(-1!==r.indexOf("E"))return He(r,t);if(36===r.charCodeAt(0))return"$"+Ve(e,r.substr(" "==r.charAt(1)?2:1),t);var n,s,i,c,o=Math.abs(t),l=t<0?"-":"";if(r.match(/^00+$/))return l+oe(o,r.length);if(r.match(/^[#?]+$/))return n=""+t,0===t&&(n=""),n.length>r.length?n:Pe(r.substr(0,r.length-n.length))+n;if(s=r.match(Ne))return function(e,r,t){return t+(0===r?"":""+r)+gr(" ",e[1].length+2+e[4].length)}(s,o,l);if(r.match(/^#+0+$/))return l+oe(o,r.length-r.indexOf("0"));if(s=r.match(De))return n=(n=(""+t).replace(/^([^\.]+)$/,"$1."+Pe(s[1])).replace(/\.$/,"."+Pe(s[1]))).replace(/\.(\d*)$/,function(e,r){return"."+r+gr("0",Pe(s[1]).length-r.length)}),-1!==r.indexOf("0.")?n:n.replace(/^0\./,".");if(r=r.replace(/^#+([0.])/,"$1"),s=r.match(/^(0*)\.(#*)$/))return l+(""+o).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,s[1].length?"0.":".");if(s=r.match(/^#{1,3},##0(\.?)$/))return l+Re(""+o);if(s=r.match(/^#,##0\.([#0]*0)$/))return t<0?"-"+Ve(e,r,-t):Re(""+t)+"."+gr("0",s[1].length);if(s=r.match(/^#,#*,#0/))return Ve(e,r.replace(/^#,#*,/,""),t);if(s=r.match(/^([0#]+)(\\?-([0#]+))+$/))return n=ce(Ve(e,r.replace(/[\\-]/g,""),t)),i=0,ce(ce(r.replace(/\\/g,"")).replace(/[0#]/g,function(e){return i-1||"\\"==t&&"-"==e.charAt(r+1)&&"0#".indexOf(e.charAt(r+2))>-1););break;case"?":for(;e.charAt(++r)===t;);break;case"*":++r," "!=e.charAt(r)&&"*"!=e.charAt(r)||++r;break;case"(":case")":++r;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(;r-1;);break;default:++r}return!1}var je=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function $e(e,r){if(null==r)return!1;var t=parseFloat(r[2]);switch(r[1]){case"=":if(e==t)return!0;break;case">":if(e>t)return!0;break;case"<":if(e":if(e!=t)return!0;break;case">=":if(e>=t)return!0;break;case"<=":if(e<=t)return!0}return!1}function Ye(e,r){var t=function(e){for(var r=[],t=!1,a=0,n=0;a-1&&--a,t.length>4)throw new Error("cannot find right format for |"+t.join("|")+"|");if("number"!=typeof r)return[4,4===t.length||n>-1?t[t.length-1]:"@"];switch(t.length){case 1:t=n>-1?["General","General","General",t[0]]:[t[0],t[0],t[0],"@"];break;case 2:t=n>-1?[t[0],t[0],t[0],t[1]]:[t[0],t[1],t[0],"@"];break;case 3:t=n>-1?[t[0],t[1],t[0],t[2]]:[t[0],t[1],t[2],"@"]}var s=r>0?t[0]:r<0?t[1]:t[2];if(-1===t[0].indexOf("[")&&-1===t[1].indexOf("["))return[a,s];if(null!=t[0].match(/\[[=<>]/)||null!=t[1].match(/\[[=<>]/)){var i=t[0].match(je),c=t[1].match(je);return $e(r,i)?[a,t[0]]:$e(r,c)?[a,t[1]]:[a,t[null!=i&&null!=c?2:1]]}return[a,s]}function Xe(e,r,t){null==t&&(t={});var a="";switch(typeof e){case"string":a="m/d/yy"==e&&t.dateNF?t.dateNF:e;break;case"number":null==(a=14==e&&t.dateNF?t.dateNF:(null!=t.table?t.table:ge)[e])&&(a=t.table&&t.table[ve[e]]||ge[ve[e]]),null==a&&(a=be[e]||"General")}if(de(a,0))return Ce(r,t);r instanceof Date&&(r=ke(r,t.date1904));var n=Ye(a,r);if(de(n[1]))return Ce(r,t);if(!0===r)r="TRUE";else if(!1===r)r="FALSE";else if(""===r||null==r)return"";return function(e,r,t,a){for(var n,s,i,c=[],o="",l=0,f="",h="t",u="H";l=12?"P":"A"),m.t="T",u="h",l+=3):"AM/PM"===e.substr(l,5).toUpperCase()?(null!=n&&(m.v=n.H>=12?"PM":"AM"),m.t="T",l+=5,u="h"):"上午/下午"===e.substr(l,5).toUpperCase()?(null!=n&&(m.v=n.H>=12?"下午":"上午"),m.t="T",l+=5,u="h"):(m.t="t",++l),null==n&&"T"===m.t)return"";c[c.length]=m,h=f;break;case"[":for(o=f;"]"!==e.charAt(l++)&&l-1&&(o=(o.match(/\$([^-\[\]]*)/)||[])[1]||"$",ze(e)||(c[c.length]={t:"t",v:o}));break;case".":if(null!=n){for(o=f;++l-1;)o+=f;c[c.length]={t:"n",v:o};break;case"?":for(o=f;e.charAt(++l)===f;)o+=f;c[c.length]={t:f,v:o},h=f;break;case"*":++l," "!=e.charAt(l)&&"*"!=e.charAt(l)||++l;break;case"(":case")":c[c.length]={t:1===a?"t":f,v:f},++l;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(o=f;l-1;)o+=e.charAt(l);c[c.length]={t:"D",v:o};break;case" ":c[c.length]={t:f,v:f},++l;break;case"$":c[c.length]={t:"t",v:"$"},++l;break;default:if(-1===",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(f))throw new Error("unrecognized character "+f+" in "+e);c[c.length]={t:"t",v:f},++l}var g,v=0,b=0;for(l=c.length-1,h="t";l>=0;--l)switch(c[l].t){case"h":case"H":c[l].t=u,h="h",v<1&&(v=1);break;case"s":(g=c[l].v.match(/\.0+$/))&&(b=Math.max(b,g[0].length-1)),v<3&&(v=3);case"d":case"y":case"M":case"e":h=c[l].t;break;case"m":"s"===h&&(c[l].t="M",v<2&&(v=2));break;case"X":break;case"Z":v<1&&c[l].v.match(/[Hh]/)&&(v=1),v<2&&c[l].v.match(/[Mm]/)&&(v=2),v<3&&c[l].v.match(/[Ss]/)&&(v=3)}switch(v){case 0:break;case 1:n.u>=.5&&(n.u=0,++n.S),n.S>=60&&(n.S=0,++n.M),n.M>=60&&(n.M=0,++n.H);break;case 2:n.u>=.5&&(n.u=0,++n.S),n.S>=60&&(n.S=0,++n.M)}var T,E="";for(l=0;l0){40==E.charCodeAt(0)?(w=r<0&&45===E.charCodeAt(0)?-r:r,A=We("n",E,w)):(A=We("n",E,w=r<0&&a>1?-r:r),w<0&&c[0]&&"t"==c[0].t&&(A=A.substr(1),c[0].v="-"+c[0].v)),T=A.length-1;var k=c.length;for(l=0;l-1){k=l;break}var y=c.length;if(k===c.length&&-1===A.indexOf("E")){for(l=c.length-1;l>=0;--l)null!=c[l]&&-1!=="n?".indexOf(c[l].t)&&(T>=c[l].v.length-1?(T-=c[l].v.length,c[l].v=A.substr(T+1,c[l].v.length)):T<0?c[l].v="":(c[l].v=A.substr(0,T+1),T=-1),c[l].t="t",y=l);T>=0&&y=0;--l)if(null!=c[l]&&-1!=="n?".indexOf(c[l].t)){for(s=c[l].v.indexOf(".")>-1&&l===k?c[l].v.indexOf(".")-1:c[l].v.length-1,S=c[l].v.substr(s+1);s>=0;--s)T>=0&&("0"===c[l].v.charAt(s)||"#"===c[l].v.charAt(s))&&(S=A.charAt(T--)+S);c[l].v=S,c[l].t="t",y=l}for(T>=0&&y-1&&l===k?c[l].v.indexOf(".")+1:0,S=c[l].v.substr(0,s);s-1&&(w=a>1&&r<0&&l>0&&"-"===c[l-1].v?-r:r,c[l].v=We(c[l].t,c[l].v,w),c[l].t="t");var _="";for(l=0;l!==c.length;++l)null!=c[l]&&(_+=c[l].v);return _}(n[1],r,t,n[0])}function Ke(e,r){if("number"!=typeof r){r=+r||-1;for(var t=0;t<392;++t)if(null!=ge[t]){if(ge[t]==e){r=t;break}}else r<0&&(r=t);r<0&&(r=391)}return ge[r]=e,r}function Je(){var e;e||(e={}),e[0]="General",e[1]="0",e[2]="0.00",e[3]="#,##0",e[4]="#,##0.00",e[9]="0%",e[10]="0.00%",e[11]="0.00E+00",e[12]="# ?/?",e[13]="# ??/??",e[14]="m/d/yy",e[15]="d-mmm-yy",e[16]="d-mmm",e[17]="mmm-yy",e[18]="h:mm AM/PM",e[19]="h:mm:ss AM/PM",e[20]="h:mm",e[21]="h:mm:ss",e[22]="m/d/yy h:mm",e[37]="#,##0 ;(#,##0)",e[38]="#,##0 ;[Red](#,##0)",e[39]="#,##0.00;(#,##0.00)",e[40]="#,##0.00;[Red](#,##0.00)",e[45]="mm:ss",e[46]="[h]:mm:ss",e[47]="mmss.0",e[48]="##0.0E+0",e[49]="@",e[56]='"上午/下午 "hh"時"mm"分"ss"秒 "',ge=e}var Ze={5:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',23:"General",24:"General",25:"General",26:"General",27:"m/d/yy",28:"m/d/yy",29:"m/d/yy",30:"m/d/yy",31:"m/d/yy",32:"h:mm:ss",33:"h:mm:ss",34:"h:mm:ss",35:"h:mm:ss",36:"m/d/yy",41:'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',50:"m/d/yy",51:"m/d/yy",52:"m/d/yy",53:"m/d/yy",54:"m/d/yy",55:"m/d/yy",56:"m/d/yy",57:"m/d/yy",58:"m/d/yy",59:"0",60:"0.00",61:"#,##0",62:"#,##0.00",63:'"$"#,##0_);\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',67:"0%",68:"0.00%",69:"# ?/?",70:"# ??/??",71:"m/d/yy",72:"m/d/yy",73:"d-mmm-yy",74:"d-mmm",75:"mmm-yy",76:"h:mm",77:"h:mm:ss",78:"m/d/yy h:mm",79:"mm:ss",80:"[h]:mm:ss",81:"mmss.0"},qe=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;var Qe=function(){var e={};e.version="1.2.0";var r=function(){for(var e=0,r=new Array(256),t=0;256!=t;++t)e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=t)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1,r[t]=e;return"undefined"!=typeof Int32Array?new Int32Array(r):r}();var t=function(e){var r=0,t=0,a=0,n="undefined"!=typeof Int32Array?new Int32Array(4096):new Array(4096);for(a=0;256!=a;++a)n[a]=e[a];for(a=0;256!=a;++a)for(t=e[a],r=256+a;r<4096;r+=256)t=n[r]=t>>>8^e[255&t];var s=[];for(a=1;16!=a;++a)s[a-1]="undefined"!=typeof Int32Array?n.subarray(256*a,256*a+256):n.slice(256*a,256*a+256);return s}(r),a=t[0],n=t[1],s=t[2],i=t[3],c=t[4],o=t[5],l=t[6],f=t[7],h=t[8],u=t[9],d=t[10],p=t[11],m=t[12],g=t[13],v=t[14];return e.table=r,e.bstr=function(e,t){for(var a=-1^t,n=0,s=e.length;n>>8^r[255&(a^e.charCodeAt(n++))];return~a},e.buf=function(e,t){for(var b=-1^t,T=e.length-15,E=0;E>8&255]^m[e[E++]^b>>16&255]^p[e[E++]^b>>>24]^d[e[E++]]^u[e[E++]]^h[e[E++]]^f[e[E++]]^l[e[E++]]^o[e[E++]]^c[e[E++]]^i[e[E++]]^s[e[E++]]^n[e[E++]]^a[e[E++]]^r[e[E++]];for(T+=15;E>>8^r[255&(b^e[E++])];return~b},e.str=function(e,t){for(var a=-1^t,n=0,s=e.length,i=0,c=0;n>>8^r[255&(a^i)]:i<2048?a=(a=a>>>8^r[255&(a^(192|i>>6&31))])>>>8^r[255&(a^(128|63&i))]:i>=55296&&i<57344?(i=64+(1023&i),c=1023&e.charCodeAt(n++),a=(a=(a=(a=a>>>8^r[255&(a^(240|i>>8&7))])>>>8^r[255&(a^(128|i>>2&63))])>>>8^r[255&(a^(128|c>>6&15|(3&i)<<4))])>>>8^r[255&(a^(128|63&c))]):a=(a=(a=a>>>8^r[255&(a^(224|i>>12&15))])>>>8^r[255&(a^(128|i>>6&63))])>>>8^r[255&(a^(128|63&i))];return~a},e}(),er=function(){var e,r={};function t(e){if("/"==e.charAt(e.length-1))return-1===e.slice(0,-1).indexOf("/")?e:t(e.slice(0,-1));var r=e.lastIndexOf("/");return-1===r?e:e.slice(0,r+1)}function a(e){if("/"==e.charAt(e.length-1))return a(e.slice(0,-1));var r=e.lastIndexOf("/");return-1===r?e:e.slice(r+1)}function n(e,r){"string"==typeof r&&(r=new Date(r));var t=r.getHours();t=(t=t<<6|r.getMinutes())<<5|r.getSeconds()>>>1,e.write_shift(2,t);var a=r.getFullYear()-1980;a=(a=a<<4|r.getMonth()+1)<<5|r.getDate(),e.write_shift(2,a)}function s(e){zt(e,0);for(var r={},t=0;e.l<=e.length-4;){var a=e.read_shift(2),n=e.read_shift(2),s=e.l+n,i={};if(21589===a)1&(t=e.read_shift(1))&&(i.mtime=e.read_shift(4)),n>5&&(2&t&&(i.atime=e.read_shift(4)),4&t&&(i.ctime=e.read_shift(4))),i.mtime&&(i.mt=new Date(1e3*i.mtime));e.l=s,r[a]=i}return r}function i(){return e||(e={})}function c(e,r){if(80==e[0]&&75==e[1])return de(e,r);if(109==(32|e[0])&&105==(32|e[1]))return function(e,r){if("mime-version:"!=A(e.slice(0,13)).toLowerCase())throw new Error("Unsupported MAD header");var t=r&&r.root||"",a=(Z&&Buffer.isBuffer(e)?e.toString("binary"):A(e)).split("\r\n"),n=0,s="";for(n=0;n0&&(t=(t=t.slice(0,t.length-1)).slice(0,t.lastIndexOf("/")+1),s.slice(0,t.length)!=t););var i=(a[1]||"").match(/boundary="(.*?)"/);if(!i)throw new Error("MAD cannot find boundary");var c="--"+(i[1]||""),o=[],l=[],f={FileIndex:o,FullPaths:l};u(f);var h,d=0;for(n=0;n=n&&(u-=n),!i[u]){o=[];var p=[];for(h=u;h>=0;){p[h]=!0,i[h]=!0,c[c.length]=h,o.push(e[h]);var m=t[Math.floor(4*h/a)];if(a<4+(d=4*h&l))throw new Error("FAT boundary crossed: "+h+" 4 "+a);if(!e[m])break;if(p[h=Pt(e[m],d)])break}s[u]={nodes:c,data:ut([o])}}return s}(k,s,p,d);y[s].name="!Directory",a>0&&i!==v&&(y[i].name="!MiniFAT"),y[p[0]].name="!FAT",y.fat_addrs=p,y.ssz=d;var _=[],C=[],O=[];!function(e,r,t,a,n,s,i,c){for(var l,u=0,d=a.length?2:0,p=r[e].data,m=0,g=0;m0&&u!==v&&(r[u].name="!StreamData")):T.size>=4096?(T.storage="fat",void 0===r[T.start]&&(r[T.start]=f(t,T.start,r.fat_addrs,r.ssz)),r[T.start].name=T.name,T.content=r[T.start].data.slice(0,T.size)):(T.storage="minifat",T.size<0?T.size=0:u!==v&&T.start!==v&&r[u]&&(T.content=o(T,r[u].data,(r[c]||{}).data))),T.content&&zt(T.content,0),s[l]=T,i.push(T)}}(s,y,k,_,a,{},C,i),function(e,r,t){for(var a=0,n=0,s=0,i=0,c=0,o=t.length,l=[],f=[];a0&&i>=0;)s.push(r.slice(i*g,i*g+g)),n-=g,i=Pt(t,4*i);return 0===s.length?$t(0):ne(s).slice(0,e.size)}function l(e,r,t,a,n){var s=v;if(e===v){if(0!==r)throw new Error("DIFAT chain shorter than expected")}else if(-1!==e){var i=t[e],c=(a>>>2)-1;if(!i)return;for(var o=0;o=0;){n[o]=!0,s[s.length]=o,i.push(e[o]);var f=t[Math.floor(4*o/a)];if(a<4+(l=4*o&c))throw new Error("FAT boundary crossed: "+o+" 4 "+a);if(!e[f])break;o=Pt(e[f],l)}return{nodes:s,data:ut([i])}}function h(e,r){return new Date(1e3*(Mt(e,r+4)/1e7*Math.pow(2,32)+Mt(e,r)/1e7-11644473600))}function u(e,r){var t=r||{},a=t.root||"Root Entry";if(e.FullPaths||(e.FullPaths=[]),e.FileIndex||(e.FileIndex=[]),e.FullPaths.length!==e.FileIndex.length)throw new Error("inconsistent CFB structure");0===e.FullPaths.length&&(e.FullPaths[0]=a+"/",e.FileIndex[0]={name:a,type:5}),t.CLSID&&(e.FileIndex[0].clsid=t.CLSID),function(e){var r="Sh33tJ5";if(er.find(e,"/"+r))return;var t=$t(4);t[0]=55,t[1]=t[3]=50,t[2]=54,e.FileIndex.push({name:r,type:2,content:t,size:4,L:69,R:69,C:69}),e.FullPaths.push(e.FullPaths[0]+r),d(e)}(e)}function d(e,r){u(e);for(var n=!1,s=!1,i=e.FullPaths.length-1;i>=0;--i){var c=e.FileIndex[i];switch(c.type){case 0:s?n=!0:(e.FileIndex.pop(),e.FullPaths.pop());break;case 1:case 2:case 5:s=!0,isNaN(c.R*c.L*c.C)&&(n=!0),c.R>-1&&c.L>-1&&c.R==c.L&&(n=!0);break;default:n=!0}}if(n||r){var o=new Date(1987,1,19),l=0,f=Object.create?Object.create(null):{},h=[];for(i=0;i1?1:-1,p.size=0,p.type=5;else if("/"==m.slice(-1)){for(l=i+1;l=h.length?-1:l,l=i+1;l=h.length?-1:l,p.type=1}else t(e.FullPaths[i+1]||"")==t(m)&&(p.R=i+1),p.type=2}}}function p(e,r){var t=r||{};if("mad"==t.fileType)return function(e,r){for(var t=r||{},a=t.boundary||"SheetJS",n=["MIME-Version: 1.0",'Content-Type: multipart/related; boundary="'+(a="------="+a).slice(2)+'"',"","",""],s=e.FullPaths[0],i=s,c=e.FileIndex[0],o=1;o=32&&d<128&&++h;var m=h>=4*u/5;n.push(a),n.push("Content-Location: "+(t.root||"file:///C:/SheetJS/")+i),n.push("Content-Transfer-Encoding: "+(m?"quoted-printable":"base64")),n.push("Content-Type: "+ge(c,i)),n.push(""),n.push(m?be(f):ve(f))}return n.push(a+"--\r\n"),n.join("\r\n")}(e,t);if(d(e),"zip"===t.fileType)return function(e,r){var t=r||{},a=[],s=[],i=$t(1),c=t.compression?8:0,o=0,l=0,f=0,h=0,u=0,d=e.FullPaths[0],p=d,m=e.FileIndex[0],g=[],v=0;for(l=1;l0&&(s<4096?r+=s+63>>6:t+=s+511>>9)}}for(var i=e.FullPaths.length+3>>2,c=r+127>>7,o=(r+7>>3)+t+i+c,l=o+127>>7,f=l<=109?0:Math.ceil((l-109)/127);o+l+f+127>>7>l;)f=++l<=109?0:Math.ceil((l-109)/127);var h=[1,f,l,c,i,t,r,0];return e.FileIndex[0].size=r<<6,h[7]=(e.FileIndex[0].start=h[0]+h[1]+h[2]+h[3]+h[4]+h[5])+(h[6]+7>>3),h}(e),s=$t(a[7]<<9),i=0,c=0;for(i=0;i<8;++i)s.write_shift(1,T[i]);for(i=0;i<8;++i)s.write_shift(2,0);for(s.write_shift(2,62),s.write_shift(2,3),s.write_shift(2,65534),s.write_shift(2,9),s.write_shift(2,6),i=0;i<3;++i)s.write_shift(2,0);for(s.write_shift(4,0),s.write_shift(4,a[2]),s.write_shift(4,a[0]+a[1]+a[2]+a[3]-1),s.write_shift(4,0),s.write_shift(4,4096),s.write_shift(4,a[3]?a[0]+a[1]+a[2]-1:v),s.write_shift(4,a[3]),s.write_shift(-4,a[1]?a[0]-1:v),s.write_shift(4,a[1]),i=0;i<109;++i)s.write_shift(-4,i>9)));for(o(a[6]+7>>3);511&s.l;)s.write_shift(-4,w.ENDOFCHAIN);for(c=i=0,l=0;l=4096||(h.start=c,o(f+63>>6)));for(;511&s.l;)s.write_shift(-4,w.ENDOFCHAIN);for(i=0;i=4096)if(s.l=h.start+1<<9,Z&&Buffer.isBuffer(h.content))h.content.copy(s,s.l,0,h.size),s.l+=h.size+511&-512;else{for(l=0;l0&&h.size<4096)if(Z&&Buffer.isBuffer(h.content))h.content.copy(s,s.l,0,h.size),s.l+=h.size+63&-64;else{for(l=0;l>16|r>>8|r)}for(var O="undefined"!=typeof Uint8Array,R=O?new Uint8Array(256):[],x=0;x<256;++x)R[x]=C(x);function I(e,r){var t=R[255&e];return r<=8?t>>>8-r:(t=t<<8|R[e>>8&255],r<=16?t>>>16-r:(t=t<<8|R[e>>16&255])>>>24-r)}function N(e,r){var t=7&r,a=r>>>3;return(e[a]|(t<=6?0:e[a+1]<<8))>>>t&3}function D(e,r){var t=7&r,a=r>>>3;return(e[a]|(t<=5?0:e[a+1]<<8))>>>t&7}function F(e,r){var t=7&r,a=r>>>3;return(e[a]|(t<=3?0:e[a+1]<<8))>>>t&31}function M(e,r){var t=7&r,a=r>>>3;return(e[a]|(t<=1?0:e[a+1]<<8))>>>t&127}function P(e,r,t){var a=7&r,n=r>>>3,s=(1<>>a;return t<8-a?i&s:(i|=e[n+1]<<8-a,t<16-a?i&s:(i|=e[n+2]<<16-a,t<24-a?i&s:(i|=e[n+3]<<24-a)&s))}function L(e,r,t){var a=7&r,n=r>>>3;return a<=5?e[n]|=(7&t)<>8-a),r+3}function U(e,r,t){return t=(1&t)<<(7&r),e[r>>>3]|=t,r+1}function B(e,r,t){var a=r>>>3;return t<<=7&r,e[a]|=255&t,t>>>=8,e[a+1]=t,r+8}function H(e,r,t){var a=r>>>3;return t<<=7&r,e[a]|=255&t,t>>>=8,e[a+1]=255&t,e[a+2]=t>>>8,r+16}function V(e,r){var t=e.length,a=2*t>r?2*t:r+5,n=0;if(t>=r)return e;if(Z){var s=ee(a);if(e.copy)e.copy(s);else for(;n>a-h,i=(1<=0;--i)r[c|i<0;)r[r.l++]=e[t++]}return r.l}(r,t):function(r,t){for(var n=0,s=0,i=O?new Uint16Array(32768):[];s0;)t[t.l++]=r[s++];n=8*t.l}else{n=L(t,n,+!(s+c!=r.length)+2);for(var o=0;c-- >0;){var l=r[s],f=-1,h=0;if((f=i[o=32767&(o<<5^l)])&&((f|=-32768&s)>s&&(f-=32768),f2){(l=a[h])<=22?n=B(t,n,R[l+1]>>1)-1:(B(t,n,3),B(t,n+=5,R[l-23]>>5),n+=3);var u=l<8?0:l-4>>2;u>0&&(H(t,n,h-y[l]),n+=u),l=e[s-f],n=B(t,n,R[l]>>3),n-=3;var d=l<4?0:l-2>>1;d>0&&(H(t,n,s-f-_[l]),n+=d);for(var p=0;p>>3;return(e[a]|(t<=4?0:e[a+1]<<8))>>>t&15}(e,r+=5)+4;r+=4;for(var s=0,i=O?new Uint8Array(19):W(19),c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],o=1,l=O?new Uint8Array(8):W(8),f=O?new Uint8Array(8):W(8),h=i.length,u=0;u>8-p;for(var m=(1<<7-p)-1;m>=0;--m)ce[d|m<>>=3){case 16:for(s=3+N(e,r),r+=2,d=g[g.length-1];s-- >0;)g.push(d);break;case 17:for(s=3+D(e,r),r+=3;s-- >0;)g.push(0);break;case 18:for(s=11+M(e,r),r+=7;s-- >0;)g.push(0);break;default:g.push(d),o>>0,c=0,o=0;!(1&a);)if(a=D(e,t),t+=3,a>>>1!=0)for(a>>1==1?(c=9,o=5):(t=fe(e,t),c=oe,o=le);;){!r&&i>>1==1?z[l]:te[l];if(t+=15&f,(f>>>=4)>>>8&255){if(256==f)break;var h=(f-=257)<8?0:f-4>>2;h>5&&(h=0);var u=s+y[f];h>0&&(u+=P(e,t,h),t+=h),l=P(e,t,o),t+=15&(f=a>>>1==1?j[l]:ae[l]);var d=(f>>>=4)<4?0:f-2>>1,p=_[f];for(d>0&&(p+=P(e,t,d),t+=d),!r&&i>>3]|e[(t>>>3)+1]<<8;if(t+=32,m>0)for(!r&&i0;)n[s++]=e[t>>>3],t+=8}return r?[n,t+7>>>3]:[n.slice(0,s),t+7>>>3]}(e.slice(e.l||0),r);return e.l+=t[1],t[0]}function ue(e,r){if(!e)throw new Error(r)}function de(e,r){var t=e;zt(t,0);var a={FileIndex:[],FullPaths:[]};u(a,{root:r.root});for(var n=t.length-4;(80!=t[n]||75!=t[n+1]||5!=t[n+2]||6!=t[n+3])&&n>=0;)--n;t.l=n+4,t.l+=4;var i=t.read_shift(2);t.l+=6;var c=t.read_shift(4);for(t.l=c,n=0;n>>=5);t>>>=4,a.setMilliseconds(0),a.setFullYear(t+1980),a.setMonth(s-1),a.setDate(n);var i=31&r,c=63&(r>>>=5);return r>>>=6,a.setHours(r),a.setMinutes(c),a.setSeconds(i<<1),a}(e);if(8257&i)throw new Error("Unsupported ZIP encryption");e.read_shift(4);for(var l=e.read_shift(4),f=e.read_shift(4),h=e.read_shift(2),u=e.read_shift(2),d="",p=0;p3&&(a=!0),n[s].slice(n[s].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+n[s].slice(n[s].length-1));case"D":t*=24;case"H":t*=60;case"M":if(!a)throw new Error("Unsupported ISO Duration Field: M");t*=60}r+=t*parseInt(n[s],10)}return r}var fr=new Date("2017-02-19T19:06:09.000Z"),hr=isNaN(fr.getFullYear())?new Date("2/19/17"):fr,ur=2017==hr.getFullYear();function dr(e,r){var t=new Date(e);if(ur)return r>0?t.setTime(t.getTime()+60*t.getTimezoneOffset()*1e3):r<0&&t.setTime(t.getTime()-60*t.getTimezoneOffset()*1e3),t;if(e instanceof Date)return e;if(1917==hr.getFullYear()&&!isNaN(t.getFullYear())){var a=t.getFullYear();return e.indexOf(""+a)>-1||t.setFullYear(t.getFullYear()+100),t}var n=e.match(/\d+/g)||["2017","2","19","0","0","0"],s=new Date(+n[0],+n[1]-1,+n[2],+n[3]||0,+n[4]||0,+n[5]||0);return e.indexOf("Z")>-1&&(s=new Date(s.getTime()-60*s.getTimezoneOffset()*1e3)),s}function pr(e,r){if(Z&&Buffer.isBuffer(e)){if(r){if(255==e[0]&&254==e[1])return qr(e.slice(2).toString("utf16le"));if(254==e[1]&&255==e[2])return qr(W(e.slice(2).toString("binary")))}return e.toString("binary")}if("undefined"!=typeof TextDecoder)try{if(r){if(255==e[0]&&254==e[1])return qr(new TextDecoder("utf-16le").decode(e.slice(2)));if(254==e[0]&&255==e[1])return qr(new TextDecoder("utf-16be").decode(e.slice(2)))}var t={"€":"€","‚":"‚","ƒ":"ƒ","„":"„","…":"…","†":"†","‡":"‡","ˆ":"ˆ","‰":"‰","Š":"Š","‹":"‹","Œ":"Œ","Ž":"Ž","‘":"‘","’":"’","“":"“","”":"”","•":"•","–":"–","—":"—","˜":"˜","™":"™","š":"š","›":"›","œ":"œ","ž":"ž","Ÿ":"Ÿ"};return Array.isArray(e)&&(e=new Uint8Array(e)),new TextDecoder("latin1").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(e){return t[e]||e})}catch(s){}for(var a=[],n=0;n!=e.length;++n)a.push(String.fromCharCode(e[n]));return a.join("")}function mr(e){if("undefined"!=typeof JSON&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if("object"!=typeof e||null==e)return e;if(e instanceof Date)return new Date(e.getTime());var r={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=mr(e[t]));return r}function gr(e,r){for(var t="";t.length3&&-1==br.indexOf(i))return t}else if(i.match(/[a-z]/))return t;return a<0||a>8099?t:(n>0||s>1)&&101!=a?r:e.match(/[^-0-9:,\/\\]/)?t:r}var Er=function(){var e=5=="abacaba".split(/(:?b)/i).length;return function(r,t,a){if(e||"string"==typeof t)return r.split(t);for(var n=r.split(t),s=[n[0]],i=1;i>6&31,n[t++]=128|63&i;else if(i>=55296&&i<57344){i=64+(1023&i);var c=1023&e.charCodeAt(++s);n[t++]=240|i>>8&7,n[t++]=128|i>>2&63,n[t++]=128|c>>6&15|(3&i)<<4,n[t++]=128|63&c}else n[t++]=224|i>>12&15,n[t++]=128|i>>6&63,n[t++]=128|63&i;t>a&&(r.push(n.slice(0,t)),t=0,n=Q(65535),a=65530)}return r.push(n.slice(0,t)),ne(r)}(t),er.utils.cfb_add(e,r,a);er.utils.cfb_add(e,r,t)}else e.file(r,t)}function Rr(e,r){switch(r.type){case"base64":return er.read(e,{type:"base64"});case"binary":return er.read(e,{type:"binary"});case"buffer":case"array":return er.read(e,{type:"buffer"})}throw new Error("Unrecognized type "+r.type)}function xr(e,r){if("/"==e.charAt(0))return e.slice(1);var t=r.split("/");"/"!=r.slice(-1)&&t.pop();for(var a=e.split("/");0!==a.length;){var n=a.shift();".."===n?t.pop():"."!==n&&t.push(n)}return t.join("/")}var Ir='\r\n',Nr=/([^"\s?>\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g,Dr=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm,Fr=Ir.match(Dr)?Dr:/<[^>]*>/g,Mr=/<\w*:/,Pr=/<(\/?)\w+:/;function Lr(e,r,t){for(var a={},n=0,s=0;n!==e.length&&(32!==(s=e.charCodeAt(n))&&10!==s&&13!==s);++n);if(r||(a[0]=e.slice(0,n)),n===e.length)return a;var i=e.match(Nr),c=0,o="",l=0,f="",h="",u=1;if(i)for(l=0;l!=i.length;++l){for(h=i[l],s=0;s!=h.length&&61!==h.charCodeAt(s);++s);for(f=h.slice(0,s).trim();32==h.charCodeAt(s+1);)++s;for(u=34==(n=h.charCodeAt(s+1))||39==n?1:0,o=h.slice(s+1+u,h.length-u),c=0;c!=f.length&&58!==f.charCodeAt(c);++c);if(c===f.length)f.indexOf("_")>0&&(f=f.slice(0,f.indexOf("_"))),a[f]=o,a[f.toLowerCase()]=o;else{var d=(5===c&&"xmlns"===f.slice(0,5)?"xmlns":"")+f.slice(c+1);if(a[d]&&"ext"==f.slice(c-3,c))continue;a[d]=o,a[d.toLowerCase()]=o}}return a}function Ur(e){return e.replace(Pr,"<$1")}var Br={""":'"',"'":"'",">":">","<":"<","&":"&"},Hr=tr(Br),Vr=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,r=/_x([\da-fA-F]{4})_/gi;return function t(a){var n=a+"",s=n.indexOf("-1?16:10))||e}).replace(r,function(e,r){return String.fromCharCode(parseInt(r,16))});var i=n.indexOf("]]>");return t(n.slice(0,s))+n.slice(s+9,i)+t(n.slice(i+3))}}(),Wr=/[&<>'"]/g,Gr=/[\u0000-\u001f]/g;function zr(e){return(e+"").replace(Wr,function(e){return Hr[e]}).replace(/\n/g,"
").replace(Gr,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}var jr=function(){var e=/&#(\d+);/g;function r(e,r){return String.fromCharCode(parseInt(r,10))}return function(t){return t.replace(e,r)}}();function $r(e){switch(e){case 1:case!0:case"1":case"true":case"TRUE":return!0;default:return!1}}function Yr(e){for(var r="",t=0,a=0,n=0,s=0,i=0,c=0;t191&&a<224?(i=(31&a)<<6,i|=63&n,r+=String.fromCharCode(i)):(s=e.charCodeAt(t++),a<240?r+=String.fromCharCode((15&a)<<12|(63&n)<<6|63&s):(c=((7&a)<<18|(63&n)<<12|(63&s)<<6|63&(i=e.charCodeAt(t++)))-65536,r+=String.fromCharCode(55296+(c>>>10&1023)),r+=String.fromCharCode(56320+(1023&c)))));return r}function Xr(e){var r,t,a,n=Q(2*e.length),s=1,i=0,c=0;for(t=0;t>>10&1023),r=56320+(1023&r)),0!==c&&(n[i++]=255&c,n[i++]=c>>>8,c=0),n[i++]=r%256,n[i++]=r>>>8;return n.slice(0,i).toString("ucs2")}function Kr(e){return q(e,"binary").toString("utf8")}var Jr="foo bar baz☃🍣",Zr=Z&&(Kr(Jr)==Yr(Jr)&&Kr||Xr(Jr)==Yr(Jr)&&Xr)||Yr,qr=Z?function(e){return q(e,"utf8").toString("binary")}:function(e){for(var r=[],t=0,a=0,n=0;t>6))),r.push(String.fromCharCode(128+(63&a)));break;case a>=55296&&a<57344:a-=55296,n=e.charCodeAt(t++)-56320+(a<<10),r.push(String.fromCharCode(240+(n>>18&7))),r.push(String.fromCharCode(144+(n>>12&63))),r.push(String.fromCharCode(128+(n>>6&63))),r.push(String.fromCharCode(128+(63&n)));break;default:r.push(String.fromCharCode(224+(a>>12))),r.push(String.fromCharCode(128+(a>>6&63))),r.push(String.fromCharCode(128+(63&a)))}return r.join("")},Qr=function(){var e={};return function(r,t){var a=r+"|"+(t||"");return e[a]?e[a]:e[a]=new RegExp("<(?:\\w+:)?"+r+'(?: xml:space="preserve")?(?:[^>]*)>([\\s\\S]*?)",t||"")}}(),et=function(){var e=[["nbsp"," "],["middot","·"],["quot",'"'],["apos","'"],["gt",">"],["lt","<"],["amp","&"]].map(function(e){return[new RegExp("&"+e[0]+";","ig"),e[1]]});return function(r){for(var t=r.replace(/^[\t\n\r ]+/,"").replace(/[\t\n\r ]+$/,"").replace(/>\s+/g,">").replace(/\s+/g,"\n").replace(/<[^>]*>/g,""),a=0;a([\\s\\S]*?)","g")}}(),tt=/<\/?(?:vt:)?variant>/g,at=/<(?:vt:)([^>]*)>([\s\S]*)"+r+""}function ct(e){if(Z&&Buffer.isBuffer(e))return e.toString("utf8");if("string"==typeof e)return e;if("undefined"!=typeof Uint8Array&&e instanceof Uint8Array)return Zr(te(ae(e)));throw new Error("Bad input format: expected Buffer or string")}var ot=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/gm,lt="http://schemas.openxmlformats.org/package/2006/content-types",ft=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];var ht=function(e){for(var r=[],t=0;t0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:q(e)})):ht(e)}:ht,dt=function(e,r,t){for(var a=[],n=r;n0?bt(e,r+4,r+4+t-1):""},Et=Tt,wt=function(e,r){var t=Mt(e,r);return t>0?bt(e,r+4,r+4+t-1):""},At=wt,St=function(e,r){var t=2*Mt(e,r);return t>0?bt(e,r+4,r+4+t-1):""},kt=St,yt=function(e,r){var t=Mt(e,r);return t>0?pt(e,r+4,r+4+t):""},_t=yt,Ct=function(e,r){var t=Mt(e,r);return t>0?bt(e,r+4,r+4+t):""},Ot=Ct,Rt=function(e,r){return function(e,r){for(var t=1-2*(e[r+7]>>>7),a=((127&e[r+7])<<4)+(e[r+6]>>>4&15),n=15&e[r+6],s=5;s>=0;--s)n=256*n+e[r+s];return 2047==a?0==n?t*(1/0):NaN:(0==a?a=-1022:(a-=1023,n+=Math.pow(2,52)),t*Math.pow(2,a-52)*n)}(e,r)},xt=Rt,It=function(e){return Array.isArray(e)||"undefined"!=typeof Uint8Array&&e instanceof Uint8Array};Z&&(Et=function(e,r){if(!Buffer.isBuffer(e))return Tt(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""},At=function(e,r){if(!Buffer.isBuffer(e))return wt(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""},kt=function(e,r){if(!Buffer.isBuffer(e))return St(e,r);var t=2*e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t-1)},_t=function(e,r){if(!Buffer.isBuffer(e))return yt(e,r);var t=e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t)},Ot=function(e,r){if(!Buffer.isBuffer(e))return Ct(e,r);var t=e.readUInt32LE(r);return e.toString("utf8",r+4,r+4+t)},xt=function(e,r){return Buffer.isBuffer(e)?e.readDoubleLE(r):Rt(e,r)},It=function(e){return Buffer.isBuffer(e)||Array.isArray(e)||"undefined"!=typeof Uint8Array&&e instanceof Uint8Array});var Nt=function(e,r){return e[r]},Dt=function(e,r){return 256*e[r+1]+e[r]},Ft=function(e,r){var t=256*e[r+1]+e[r];return t<32768?t:-1*(65535-t+1)},Mt=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]},Pt=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]},Lt=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function Ut(e,r){var t,a,n,s,i,c,o="",l=[];switch(r){case"dbcs":if(c=this.l,Z&&Buffer.isBuffer(this))o=this.slice(this.l,this.l+2*e).toString("utf16le");else for(i=0;i0?Pt:Lt)(this,this.l),this.l+=4,t);case 8:case-8:if("f"===r)return a=8==e?xt(this,this.l):xt([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0),this.l+=8,a;e=8;case 16:o=gt(this,this.l,e)}}return this.l+=e,o}var Bt=function(e,r,t){e[t]=255&r,e[t+1]=r>>>8&255,e[t+2]=r>>>16&255,e[t+3]=r>>>24&255},Ht=function(e,r,t){e[t]=255&r,e[t+1]=r>>8&255,e[t+2]=r>>16&255,e[t+3]=r>>24&255},Vt=function(e,r,t){e[t]=255&r,e[t+1]=r>>>8&255};function Wt(e,r,t){var a=0,n=0;if("dbcs"===t){for(n=0;n!=r.length;++n)Vt(this,r.charCodeAt(n),this.l+2*n);a=2*r.length}else if("sbcs"===t){for(r=r.replace(/[^\x00-\x7F]/g,"_"),n=0;n!=r.length;++n)this[this.l+n]=255&r.charCodeAt(n);a=r.length}else{if("hex"===t){for(;n>8}for(;this.l>>=8,this[this.l+1]=255&r;break;case 3:a=3,this[this.l]=255&r,r>>>=8,this[this.l+1]=255&r,r>>>=8,this[this.l+2]=255&r;break;case 4:a=4,Bt(this,r,this.l);break;case 8:if(a=8,"f"===t){!function(e,r,t){var a=(r<0||1/r==-1/0?1:0)<<7,n=0,s=0,i=a?-r:r;isFinite(i)?0==i?n=s=0:(n=Math.floor(Math.log(i)/Math.LN2),s=i*Math.pow(2,52-n),n<=-1023&&(!isFinite(s)||s>4|a}(this,r,this.l);break}case 16:break;case-4:a=4,Ht(this,r,this.l)}}return this.l+=a,this}function Gt(e,r){var t=gt(this,this.l,e.length>>1);if(t!==e)throw new Error(r+"Expected "+e+" saw "+t);this.l+=e.length>>1}function zt(e,r){e.l=r,e.read_shift=Ut,e.chk=Gt,e.write_shift=Wt}function jt(e,r){e.l+=r}function $t(e){var r=Q(e);return zt(r,0),r}function Yt(e,r,t){if(e){var a,n,s;zt(e,e.l||0);for(var i=e.length,c=0,o=0;e.la.l&&((a=a.slice(0,a.l)).l=a.length),a.length>0&&e.push(a),a=null)},s=function(e){return a&&e=256;)a.c-=256;for(;a.r>=65536;)a.r-=65536}return a}function Jt(e,r,t){var a=mr(e);return a.s=Kt(a.s,r.s,t),a.e=Kt(a.e,r.s,t),a}function Zt(e,r){if(e.cRel&&e.c<0)for(e=mr(e);e.c<0;)e.c+=r>8?16384:256;if(e.rRel&&e.r<0)for(e=mr(e);e.r<0;)e.r+=r>8?1048576:r>5?65536:16384;var t=na(e);return e.cRel||null==e.cRel||(t=t.replace(/^([A-Z])/,"$$$1")),e.rRel||null==e.rRel||(t=function(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}(t)),t}function qt(e,r){return 0!=e.s.r||e.s.rRel||e.e.r!=(r.biff>=12?1048575:r.biff>=8?65536:16384)||e.e.rRel?0!=e.s.c||e.s.cRel||e.e.c!=(r.biff>=12?16383:255)||e.e.cRel?Zt(e.s,r.biff)+":"+Zt(e.e,r.biff):(e.s.rRel?"":"$")+ea(e.s.r)+":"+(e.e.rRel?"":"$")+ea(e.e.r):(e.s.cRel?"":"$")+ta(e.s.c)+":"+(e.e.cRel?"":"$")+ta(e.e.c)}function Qt(e){return parseInt(e.replace(/\$(\d+)$/,"$1"),10)-1}function ea(e){return""+(e+1)}function ra(e){for(var r=e.replace(/^\$([A-Z])/,"$1"),t=0,a=0;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64;return t-1}function ta(e){if(e<0)throw new Error("invalid column "+e);var r="";for(++e;e;e=Math.floor((e-1)/26))r=String.fromCharCode((e-1)%26+65)+r;return r}function aa(e){for(var r=0,t=0,a=0;a=48&&n<=57?r=10*r+(n-48):n>=65&&n<=90&&(t=26*t+(n-64))}return{c:t-1,r:r-1}}function na(e){for(var r=e.c+1,t="";r;r=(r-1)/26|0)t=String.fromCharCode((r-1)%26+65)+t;return t+(e.r+1)}function sa(e){var r=e.indexOf(":");return-1==r?{s:aa(e),e:aa(e)}:{s:aa(e.slice(0,r)),e:aa(e.slice(r+1))}}function ia(e,r){return void 0===r||"number"==typeof r?ia(e.s,e.e):("string"!=typeof e&&(e=na(e)),"string"!=typeof r&&(r=na(r)),e==r?e:e+":"+r)}function ca(e){var r={s:{c:0,r:0},e:{c:0,r:0}},t=0,a=0,n=0,s=e.length;for(t=0;a26);++a)t=26*t+n;for(r.s.c=--t,t=0;a9);++a)t=10*t+n;if(r.s.r=--t,a===s||10!=n)return r.e.c=r.s.c,r.e.r=r.s.r,r;for(++a,t=0;a!=s&&!((n=e.charCodeAt(a)-64)<1||n>26);++a)t=26*t+n;for(r.e.c=--t,t=0;a!=s&&!((n=e.charCodeAt(a)-48)<0||n>9);++a)t=10*t+n;return r.e.r=--t,r}function oa(e,r){var t="d"==e.t&&r instanceof Date;if(null!=e.z)try{return e.w=Xe(e.z,t?nr(r):r)}catch(a){}try{return e.w=Xe((e.XF||{}).numFmtId||(t?14:0),t?nr(r):r)}catch(a){return""+r}}function la(e,r,t){return null==e||null==e.t||"z"==e.t?"":void 0!==e.w?e.w:("d"==e.t&&!e.z&&t&&t.dateNF&&(e.z=t.dateNF),"e"==e.t?Pa[e.v]||e.v:oa(e,null==r?e.v:r))}function fa(e,r){var t=r&&r.sheet?r.sheet:"Sheet1",a={};return a[t]=e,{SheetNames:[t],Sheets:a}}function ha(e,r,t){var a=t||{},n=e?Array.isArray(e):a.dense,s=e||(n?[]:{}),i=0,c=0;if(s&&null!=a.origin){if("number"==typeof a.origin)i=a.origin;else{var o="string"==typeof a.origin?aa(a.origin):a.origin;i=o.r,c=o.c}s["!ref"]||(s["!ref"]="A1:A1")}var l={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(s["!ref"]){var f=ca(s["!ref"]);l.s.c=f.s.c,l.s.r=f.s.r,l.e.c=Math.max(l.e.c,f.e.c),l.e.r=Math.max(l.e.r,f.e.r),-1==i&&(l.e.r=i=f.e.r+1)}for(var h=0;h!=r.length;++h)if(r[h]){if(!Array.isArray(r[h]))throw new Error("aoa_to_sheet expects an array of arrays");for(var u=0;u!=r[h].length;++u)if(void 0!==r[h][u]){var d={v:r[h][u]},p=i+h,m=c+u;if(l.s.r>p&&(l.s.r=p),l.s.c>m&&(l.s.c=m),l.e.r>2;return t?n/100:n}function ka(e){var r={s:{},e:{}};return r.s.r=e.read_shift(4),r.e.r=e.read_shift(4),r.s.c=e.read_shift(4),r.e.c=e.read_shift(4),r}var ya=ka;function _a(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e.read_shift(8,"f")}function Ca(e,r){var t=e.read_shift(4);switch(t){case 0:return"";case 4294967295:case 4294967294:return{2:"BITMAP",3:"METAFILEPICT",8:"DIB",14:"ENHMETAFILE"}[e.read_shift(4)]||""}if(t>400)throw new Error("Unsupported Clipboard: "+t.toString(16));return e.l-=4,e.read_shift(0,1==r?"lpstr":"lpwstr")}var Oa=80,Ra=[Oa,81],xa={1:{n:"CodePage",t:2},2:{n:"Category",t:Oa},3:{n:"PresentationFormat",t:Oa},4:{n:"ByteCount",t:3},5:{n:"LineCount",t:3},6:{n:"ParagraphCount",t:3},7:{n:"SlideCount",t:3},8:{n:"NoteCount",t:3},9:{n:"HiddenCount",t:3},10:{n:"MultimediaClipCount",t:3},11:{n:"ScaleCrop",t:11},12:{n:"HeadingPairs",t:4108},13:{n:"TitlesOfParts",t:4126},14:{n:"Manager",t:Oa},15:{n:"Company",t:Oa},16:{n:"LinksUpToDate",t:11},17:{n:"CharacterCount",t:3},19:{n:"SharedDoc",t:11},22:{n:"HyperlinksChanged",t:11},23:{n:"AppVersion",t:3,p:"version"},24:{n:"DigSig",t:65},26:{n:"ContentType",t:Oa},27:{n:"ContentStatus",t:Oa},28:{n:"Language",t:Oa},29:{n:"Version",t:Oa},255:{},2147483648:{n:"Locale",t:19},2147483651:{n:"Behavior",t:19},1919054434:{}},Ia={1:{n:"CodePage",t:2},2:{n:"Title",t:Oa},3:{n:"Subject",t:Oa},4:{n:"Author",t:Oa},5:{n:"Keywords",t:Oa},6:{n:"Comments",t:Oa},7:{n:"Template",t:Oa},8:{n:"LastAuthor",t:Oa},9:{n:"RevNumber",t:Oa},10:{n:"EditTime",t:64},11:{n:"LastPrinted",t:64},12:{n:"CreatedDate",t:64},13:{n:"ModifiedDate",t:64},14:{n:"PageCount",t:3},15:{n:"WordCount",t:3},16:{n:"CharCount",t:3},17:{n:"Thumbnail",t:71},18:{n:"Application",t:Oa},19:{n:"DocSecurity",t:3},255:{},2147483648:{n:"Locale",t:19},2147483651:{n:"Behavior",t:19},1919054434:{}},Na={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"},Da=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function Fa(e){return e.map(function(e){return[e>>16&255,e>>8&255,255&e]})}var Ma=mr(Fa([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])),Pa={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"},La={"#NULL!":0,"#DIV/0!":7,"#VALUE!":15,"#REF!":23,"#NAME?":29,"#NUM!":36,"#N/A":42,"#GETTING_DATA":43,"#WTF?":255},Ua={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks","application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks","application/vnd.ms-excel.addin.macroEnabled.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets","application/vnd.ms-excel.worksheet":"sheets","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"charts","application/vnd.ms-excel.chartsheet":"charts","application/vnd.ms-excel.macrosheet+xml":"macros","application/vnd.ms-excel.macrosheet":"macros","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"dialogs","application/vnd.ms-excel.dialogsheet":"dialogs","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml":"strs","application/vnd.ms-excel.sharedStrings":"strs","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles","application/vnd.ms-excel.styles":"styles","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.comments":"comments","application/vnd.ms-excel.threadedcomments+xml":"threadedcomments","application/vnd.ms-excel.person+xml":"people","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"metadata","application/vnd.ms-excel.sheetMetadata":"metadata","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+xml":"TODO","application/vnd.ms-office.chartex+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"links","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"links","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.openxmlformats-officedocument.themeOverride+xml":"TODO","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"TODO","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"drawings","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO","image/png":"TODO",sheet:"js"};var Ba={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",XPATH:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",XMISS:"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing",XLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",CXML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",CXMLP:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",CMNT:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",SST:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",STY:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",THEME:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",CHART:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",CHARTEX:"http://schemas.microsoft.com/office/2014/relationships/chartEx",CS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet",WS:["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"],DS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet",MS:"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet",IMG:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",DRAW:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",XLMETA:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata",TCMNT:"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment",PEOPLE:"http://schemas.microsoft.com/office/2017/10/relationships/person",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function Ha(e){var r=e.lastIndexOf("/");return e.slice(0,r+1)+"_rels/"+e.slice(r+1)+".rels"}function Va(e,r){var t={"!id":{}};if(!e)return t;"/"!==r.charAt(0)&&(r="/"+r);var a={};return(e.match(Fr)||[]).forEach(function(e){var n=Lr(e);if("]*>([\\s\\S]*?)")}return e}();function za(e){var r={};e=Zr(e);for(var t=0;t0&&(r[a[1]]=Vr(n[1])),"date"===a[2]&&r[a[1]]&&(r[a[1]]=dr(r[a[1]]))}return r}var ja=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]];function $a(e,r,t,a){var n=[];if("string"==typeof e)n=nt(e,a);else for(var s=0;s0)for(var l=0;l!==n.length;l+=2){switch(o=+n[l+1].v,n[l].v){case"Worksheets":case"工作表":case"Листы":case"أوراق العمل":case"ワークシート":case"גליונות עבודה":case"Arbeitsblätter":case"Çalışma Sayfaları":case"Feuilles de calcul":case"Fogli di lavoro":case"Folhas de cálculo":case"Planilhas":case"Regneark":case"Hojas de cálculo":case"Werkbladen":t.Worksheets=o,t.SheetNames=i.slice(c,c+o);break;case"Named Ranges":case"Rangos con nombre":case"名前付き一覧":case"Benannte Bereiche":case"Navngivne områder":t.NamedRanges=o,t.DefinedNames=i.slice(c,c+o);break;case"Charts":case"Diagramme":t.Chartsheets=o,t.ChartNames=i.slice(c,c+o)}c+=o}}var Ya=/<[^>]+>[^<]*/g;var Xa,Ka={Title:"Title",Subject:"Subject",Author:"Author",Keywords:"Keywords",Comments:"Description",LastAuthor:"LastAuthor",RevNumber:"Revision",Application:"AppName",LastPrinted:"LastPrinted",CreatedDate:"Created",ModifiedDate:"LastSaved",Category:"Category",Manager:"Manager",Company:"Company",AppVersion:"Version",ContentStatus:"ContentStatus",Identifier:"Identifier",Language:"Language"};function Ja(e,r,t){Xa||(Xa=tr(Ka)),e[r=Xa[r]||r]=t}function Za(e){var r=e.read_shift(4),t=e.read_shift(4);return new Date(1e3*(t/1e7*Math.pow(2,32)+r/1e7-11644473600)).toISOString().replace(/\.000/,"")}function qa(e,r,t){var a=e.l,n=e.read_shift(0,"lpstr-cp");if(t)for(;e.l-a&3;)++e.l;return n}function Qa(e,r,t){return e.read_shift(0,"lpwstr")}function en(e,r,t){return 31===r?Qa(e):qa(e,0,t)}function rn(e,r,t){return en(e,r,!1===t?0:4)}function tn(e){var r=e.l,t=sn(e,81);return 0==e[e.l]&&0==e[e.l+1]&&e.l-r&2&&(e.l+=2),[t,sn(e,3)]}function an(e,r){for(var t=e.read_shift(4),a={},n=0;n!=t;++n){var s=e.read_shift(4),i=e.read_shift(4);a[s]=e.read_shift(i,1200===r?"utf16le":"utf8").replace(se,"").replace(ie,"!"),1200===r&&i%2&&(e.l+=2)}return 3&e.l&&(e.l=e.l>>3<<2),a}function nn(e){var r=e.read_shift(4),t=e.slice(e.l,e.l+r);return e.l+=r,(3&r)>0&&(e.l+=4-(3&r)&3),t}function sn(e,r,t){var a,n=e.read_shift(2),s=t||{};if(e.l+=2,12!==r&&n!==r&&-1===Ra.indexOf(r)&&(4126!=(65534&r)||4126!=(65534&n)))throw new Error("Expected type "+r+" saw "+n);switch(12===r?n:r){case 2:return a=e.read_shift(2,"i"),s.raw||(e.l+=2),a;case 3:return a=e.read_shift(4,"i");case 11:return 0!==e.read_shift(4);case 19:return a=e.read_shift(4);case 30:return qa(e,0,4).replace(se,"");case 31:return Qa(e);case 64:return Za(e);case 65:return nn(e);case 71:return function(e){var r={};return r.Size=e.read_shift(4),e.l+=r.Size+3-(r.Size-1)%4,r}(e);case 80:return rn(e,n,!s.raw).replace(se,"");case 81:return function(e,r){if(!r)throw new Error("VtUnalignedString must have positive length");return en(e,r,0)}(e,n).replace(se,"");case 4108:return function(e){for(var r=e.read_shift(4),t=[],a=0;a0&&r)switch(r[s[i-1][0]].t){case 2:e.l+2===s[i][1]&&(e.l+=2,d=!1);break;case 80:case 4108:e.l<=s[i][1]&&(e.l=s[i][1],d=!1)}if((!r||0==i)&&e.l<=s[i][1]&&(d=!1,e.l=s[i][1]),d)throw new Error("Read Error: Expected address "+s[i][1]+" at "+e.l+" :"+i)}if(r){var p=r[s[i][0]];if(u[p.n]=sn(e,p.t,{raw:!0}),"version"===p.p&&(u[p.n]=String(u[p.n]>>16)+"."+("0000"+String(65535&u[p.n])).slice(-4)),"CodePage"==p.n)switch(u[p.n]){case 0:u[p.n]=1252;case 874:case 932:case 936:case 949:case 950:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 1e4:case 1200:case 1201:case 1252:case 65e3:case-536:case 65001:case-535:B(c=u[p.n]>>>0&65535);break;default:throw new Error("Unsupported CodePage: "+u[p.n])}}else if(1===s[i][0]){if(c=u.CodePage=sn(e,2),B(c),-1!==o){var m=e.l;e.l=s[o][1],l=an(e,c),e.l=m}}else if(0===s[i][0]){if(0===c){o=i,e.l=s[i+1][1];continue}l=an(e,c)}else{var g,v=l[s[i][0]];switch(e[e.l]){case 65:e.l+=4,g=nn(e);break;case 30:case 31:e.l+=4,g=rn(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 3:e.l+=4,g=e.read_shift(4,"i");break;case 19:e.l+=4,g=e.read_shift(4);break;case 5:e.l+=4,g=e.read_shift(8,"f");break;case 11:e.l+=4,g=fn(e,4);break;case 64:e.l+=4,g=dr(Za(e));break;default:throw new Error("unparsed value: "+e[e.l])}u[v]=g}}return e.l=t+a,u}function on(e,r,t){var a=e.content;if(!a)return{};zt(a,0);var n,s,i,c,o=0;a.chk("feff","Byte Order: "),a.read_shift(2);var l=a.read_shift(4),f=a.read_shift(16);if(f!==er.utils.consts.HEADER_CLSID&&f!==t)throw new Error("Bad PropertySet CLSID "+f);if(1!==(n=a.read_shift(4))&&2!==n)throw new Error("Unrecognized #Sets: "+n);if(s=a.read_shift(16),c=a.read_shift(4),1===n&&c!==a.l)throw new Error("Length mismatch: "+c+" !== "+a.l);2===n&&(i=a.read_shift(16),o=a.read_shift(4));var h,u=cn(a,r),d={SystemIdentifier:l};for(var p in u)d[p]=u[p];if(d.FMTID=s,1===n)return d;if(o-a.l==2&&(a.l+=2),a.l!==o)throw new Error("Length mismatch 2: "+a.l+" !== "+o);try{h=cn(a,null)}catch(m){}for(p in h)d[p]=h[p];return d.FMTID=[s,i],d}function ln(e,r){return e.read_shift(r),null}function fn(e,r){return 1===e.read_shift(r)}function hn(e){return e.read_shift(2,"u")}function un(e,r){return function(e,r,t){for(var a=[],n=e.l+r;e.l=12?2:1),n="sbcs-cont";(t&&t.biff,t&&8!=t.biff)?12==t.biff&&(n="wstr"):e.read_shift(1)&&(n="dbcs-cont");return t.biff>=2&&t.biff<=5&&(n="cpstr"),a?e.read_shift(a,n):""}function pn(e){var r,t=e.read_shift(2),a=e.read_shift(1),n=4&a,s=8&a,i=1+(1&a),c=0,o={};s&&(c=e.read_shift(2)),n&&(r=e.read_shift(4));var l=2==i?"dbcs-cont":"sbcs-cont",f=0===t?"":e.read_shift(t,l);return s&&(e.l+=4*c),n&&(e.l+=r),o.t=f,s||(o.raw=""+o.t+"",o.r=o.t),o}function mn(e,r,t){if(t){if(t.biff>=2&&t.biff<=5)return e.read_shift(r,"cpstr");if(t.biff>=12)return e.read_shift(r,"dbcs-cont")}return 0===e.read_shift(1)?e.read_shift(r,"sbcs-cont"):e.read_shift(r,"dbcs-cont")}function gn(e,r,t){var a=e.read_shift(t&&2==t.biff?1:2);return 0===a?(e.l++,""):mn(e,a,t)}function vn(e,r,t){if(t.biff>5)return gn(e,0,t);var a=e.read_shift(1);return 0===a?(e.l++,""):e.read_shift(a,t.biff<=4||!e.lens?"cpstr":"sbcs-cont")}function bn(e,r){var t=e.read_shift(16);switch(t){case"e0c9ea79f9bace118c8200aa004ba90b":return function(e){var r=e.read_shift(4),t=e.l,a=!1;r>24&&(e.l+=r-24,"795881f43b1d7f48af2c825dc4852763"===e.read_shift(16)&&(a=!0),e.l=t);var n=e.read_shift((a?r-24:r)>>1,"utf16le").replace(se,"");return a&&(e.l+=24),n}(e);case"0303000000000000c000000000000046":return function(e){for(var r=e.read_shift(2),t="";r-- >0;)t+="../";var a=e.read_shift(0,"lpstr-ansi");if(e.l+=2,57005!=e.read_shift(2))throw new Error("Bad FileMoniker");if(0===e.read_shift(4))return t+a.replace(/\\/g,"/");var n=e.read_shift(4);if(3!=e.read_shift(2))throw new Error("Bad FileMoniker");return t+e.read_shift(n>>1,"utf16le").replace(se,"")}(e);default:throw new Error("Unsupported Moniker "+t)}}function Tn(e){var r=e.read_shift(4);return r>0?e.read_shift(r,"utf16le").replace(se,""):""}function En(e){return[e.read_shift(1),e.read_shift(1),e.read_shift(1),e.read_shift(1)]}function wn(e,r){var t=En(e);return t[3]=0,t}function An(e){return{r:e.read_shift(2),c:e.read_shift(2),ixfe:e.read_shift(2)}}function Sn(e,r,t){var a=t.biff>8?4:2;return[e.read_shift(a),e.read_shift(a,"i"),e.read_shift(a,"i")]}function kn(e){return[e.read_shift(2),Sa(e)]}function yn(e){var r=e.read_shift(2),t=e.read_shift(2);return{s:{c:e.read_shift(2),r:r},e:{c:e.read_shift(2),r:t}}}function _n(e){var r=e.read_shift(2),t=e.read_shift(2);return{s:{c:e.read_shift(1),r:r},e:{c:e.read_shift(1),r:t}}}var Cn=_n;function On(e){e.l+=4;var r=e.read_shift(2),t=e.read_shift(2),a=e.read_shift(2);return e.l+=12,[t,r,a]}function Rn(e){e.l+=2,e.l+=e.read_shift(2)}var xn={0:Rn,4:Rn,5:Rn,6:Rn,7:function(e){return e.l+=4,e.cf=e.read_shift(2),{}},8:Rn,9:Rn,10:Rn,11:Rn,12:Rn,13:function(e){var r={};return e.l+=4,e.l+=16,r.fSharedNote=e.read_shift(2),e.l+=4,r},14:Rn,15:Rn,16:Rn,17:Rn,18:Rn,19:Rn,20:Rn,21:On};function In(e,r){var t={BIFFVer:0,dt:0};switch(t.BIFFVer=e.read_shift(2),(r-=2)>=2&&(t.dt=e.read_shift(2),e.l-=2),t.BIFFVer){case 1536:case 1280:case 1024:case 768:case 512:case 2:case 7:break;default:if(r>6)throw new Error("Unexpected BIFF Ver "+t.BIFFVer)}return e.read_shift(r),t}function Nn(e,r,t){var a=0;t&&2==t.biff||(a=e.read_shift(2));var n=e.read_shift(2);return t&&2==t.biff&&(a=1-(n>>15),n&=32767),[{Unsynced:1&a,DyZero:(2&a)>>1,ExAsc:(4&a)>>2,ExDsc:(8&a)>>3},n]}var Dn=vn;function Fn(e,r,t){var a=e.l+r,n=8!=t.biff&&t.biff?2:4,s=e.read_shift(n),i=e.read_shift(n),c=e.read_shift(2),o=e.read_shift(2);return e.l=a,{s:{r:s,c:c},e:{r:i,c:o}}}function Mn(e,r,t){var a=An(e);2!=t.biff&&9!=r||++e.l;var n=function(e){var r=e.read_shift(1);return 1===e.read_shift(1)?r:1===r}(e);return a.val=n,a.t=!0===n||!1===n?"b":"e",a}var Pn=function(e,r,t){return 0===r?"":vn(e,0,t)};function Ln(e,r,t){var a,n=e.read_shift(2),s={fBuiltIn:1&n,fWantAdvise:n>>>1&1,fWantPict:n>>>2&1,fOle:n>>>3&1,fOleLink:n>>>4&1,cf:n>>>5&1023,fIcon:n>>>15&1};return 14849===t.sbcch&&(a=function(e,r,t){e.l+=4,r-=4;var a=e.l+r,n=dn(e,0,t),s=e.read_shift(2);if(s!==(a-=e.l))throw new Error("Malformed AddinUdf: padding = "+a+" != "+s);return e.l+=s,n}(e,r-2,t)),s.body=a||e.read_shift(r-2),"string"==typeof a&&(s.Name=a),s}var Un=["_xlnm.Consolidate_Area","_xlnm.Auto_Open","_xlnm.Auto_Close","_xlnm.Extract","_xlnm.Database","_xlnm.Criteria","_xlnm.Print_Area","_xlnm.Print_Titles","_xlnm.Recorder","_xlnm.Data_Form","_xlnm.Auto_Activate","_xlnm.Auto_Deactivate","_xlnm.Sheet_Title","_xlnm._FilterDatabase"];function Bn(e,r,t){var a=e.l+r,n=e.read_shift(2),s=e.read_shift(1),i=e.read_shift(1),c=e.read_shift(t&&2==t.biff?1:2),o=0;(!t||t.biff>=5)&&(5!=t.biff&&(e.l+=2),o=e.read_shift(2),5==t.biff&&(e.l+=2),e.l+=4);var l=mn(e,i,t);32&n&&(l=Un[l.charCodeAt(0)]);var f=a-e.l;t&&2==t.biff&&--f;var h=a!=e.l&&0!==c&&f>0?function(e,r,t,a){var n,s=e.l+r,i=Ci(e,a,t);s!==e.l&&(n=_i(e,s-e.l,i,t));return[i,n]}(e,f,t,c):[];return{chKey:s,Name:l,itab:o,rgce:h}}function Hn(e,r,t){if(t.biff<8)return function(e,r,t){3==e[e.l+1]&&e[e.l]++;var a=dn(e,0,t);return 3==a.charCodeAt(0)?a.slice(1):a}(e,0,t);for(var a=[],n=e.l+r,s=e.read_shift(t.biff>8?4:2);0!==s--;)a.push(Sn(e,t.biff,t));if(e.l!=n)throw new Error("Bad ExternSheet: "+e.l+" != "+n);return a}function Vn(e,r,t){var a=Cn(e);switch(t.biff){case 2:e.l++,r-=7;break;case 3:case 4:e.l+=2,r-=8;break;default:e.l+=6,r-=12}return[a,Di(e,r,t)]}var Wn={8:function(e,r){var t=e.l+r;e.l+=10;var a=e.read_shift(2);e.l+=4,e.l+=2,e.l+=2,e.l+=2,e.l+=4;var n=e.read_shift(1);return e.l+=n,e.l=t,{fmt:a}}};function Gn(e,r,t){if(!t.cellStyles)return jt(e,r);var a=t&&t.biff>=12?4:2,n=e.read_shift(a),s=e.read_shift(a),i=e.read_shift(a),c=e.read_shift(a),o=e.read_shift(2);2==a&&(e.l+=2);var l={s:n,e:s,w:i,ixfe:c,flags:o};return(t.biff>=5||!t.biff)&&(l.level=o>>8&7),l}var zn=An,jn=un,$n=gn;var Yn=[2,3,48,49,131,139,140,245],Xn=function(){var e={1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127,8:865,9:437,10:850,11:437,13:437,14:850,15:437,16:850,17:437,18:850,19:932,20:850,21:437,22:850,23:865,24:437,25:437,26:850,27:437,28:863,29:850,31:852,34:852,35:852,36:860,37:850,38:866,55:850,64:852,77:936,78:949,79:950,80:874,87:1252,88:1252,89:1252,108:863,134:737,135:852,136:857,204:1257,255:16969},r=tr({1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127});function t(r,t){var a=t||{};a.dateNF||(a.dateNF="yyyymmdd");var n=ua(function(r,t){var a=[],n=Q(1);switch(t.type){case"base64":n=re(J(r));break;case"binary":n=re(r);break;case"buffer":case"array":n=r}zt(n,0);var s=n.read_shift(1),i=!!(136&s),c=!1,o=!1;switch(s){case 2:case 3:case 131:case 139:case 245:break;case 48:case 49:c=!0,i=!0;break;case 140:o=!0;break;default:throw new Error("DBF Unsupported Version: "+s.toString(16))}var l=0,f=521;2==s&&(l=n.read_shift(2)),n.l+=3,2!=s&&(l=n.read_shift(4)),l>1048576&&(l=1e6),2!=s&&(f=n.read_shift(2));var h=n.read_shift(2),u=t.codepage||1252;2!=s&&(n.l+=16,n.read_shift(1),0!==n[n.l]&&(u=e[n[n.l]]),n.l+=1,n.l+=2),o&&(n.l+=36);for(var d=[],p={},m=Math.min(n.length,2==s?521:f-10-(c?264:0)),g=o?32:11;n.l0;)if(42!==n[n.l])for(++n.l,a[++v]=[],b=0,b=0;b!=d.length;++b){var T=n.slice(n.l,n.l+d[b].len);n.l+=d[b].len,zt(T,0);var E=G.utils.decode(u,T);switch(d[b].type){case"C":E.trim().length&&(a[v][b]=E.replace(/\s+$/,""));break;case"D":8===E.length?a[v][b]=new Date(+E.slice(0,4),+E.slice(4,6)-1,+E.slice(6,8)):a[v][b]=E;break;case"F":a[v][b]=parseFloat(E.trim());break;case"+":case"I":a[v][b]=o?2147483648^T.read_shift(-4,"i"):T.read_shift(4,"i");break;case"L":switch(E.trim().toUpperCase()){case"Y":case"T":a[v][b]=!0;break;case"N":case"F":a[v][b]=!1;break;case"":case"?":break;default:throw new Error("DBF Unrecognized L:|"+E+"|")}break;case"M":if(!i)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));a[v][b]="##MEMO##"+(o?parseInt(E.trim(),10):T.read_shift(4));break;case"N":(E=E.replace(/\u0000/g,"").trim())&&"."!=E&&(a[v][b]=+E||0);break;case"@":a[v][b]=new Date(T.read_shift(-8,"f")-621356832e5);break;case"T":a[v][b]=new Date(864e5*(T.read_shift(4)-2440588)+T.read_shift(4));break;case"Y":a[v][b]=T.read_shift(4,"i")/1e4+T.read_shift(4,"i")/1e4*Math.pow(2,32);break;case"O":a[v][b]=-T.read_shift(-8,"f");break;case"B":if(c&&8==d[b].len){a[v][b]=T.read_shift(8,"f");break}case"G":case"P":T.l+=d[b].len;break;case"0":if("_NullFlags"===d[b].name)break;default:throw new Error("DBF Unsupported data type "+d[b].type)}}else n.l+=h;if(2!=s&&n.l=0&&B(+n.codepage),"string"==n.type)throw new Error("Cannot write DBF to JS string");var s=Xt(),i=Wo(e,{header:1,raw:!0,cellDates:!0}),c=i[0],o=i.slice(1),l=e["!cols"]||[],f=0,h=0,u=0,d=1;for(f=0;f250&&(E=250),"C"==(T=((l[f]||{}).DBF||{}).type)&&l[f].DBF.len>E&&(E=l[f].DBF.len),"B"==b&&"N"==T&&(b="N",v[f]=l[f].DBF.dec,E=l[f].DBF.len),g[f]="C"==b||"N"==T?E:a[b]||0,d+=g[f],m[f]=b}else m[f]="?"}var A=s.next(32);for(A.write_shift(4,318902576),A.write_shift(4,o.length),A.write_shift(2,296+32*u),A.write_shift(2,d),f=0;f<4;++f)A.write_shift(4,0);for(A.write_shift(4,(+r[M]||3)<<8),f=0,h=0;f":190,"?":191,"{":223},r=new RegExp("N("+rr(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm"),t=function(r,t){var a=e[t];return"number"==typeof a?Y(a):a},a=function(e,r,t){var a=r.charCodeAt(0)-32<<4|t.charCodeAt(0)-48;return 59==a?e:Y(a)};function n(e,n){var s,i=e.split(/[\n\r]+/),c=-1,o=-1,l=0,f=0,h=[],u=[],d=null,p={},m=[],g=[],v=[],b=0;for(+n.codepage>=0&&B(+n.codepage);l!==i.length;++l){b=0;var T,E=i[l].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,a).replace(r,t),w=E.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")}),A=w[0];if(E.length>0)switch(A){case"ID":case"E":case"B":case"O":case"W":break;case"P":"P"==w[1].charAt(0)&&u.push(E.slice(3).replace(/;;/g,";"));break;case"C":var S=!1,k=!1,y=!1,_=!1,C=-1,O=-1;for(f=1;f-1&&h[C][O];if(!x||!x[1])throw new Error("SYLK shared formula cannot find base");h[c][o][1]=ni(x[1],{r:c-C,c:o-O})}break;case"F":var I=0;for(f=1;f0?(m[c].hpt=b,m[c].hpx=Fs(b)):0===b&&(m[c].hidden=!0);break;default:if(n&&n.WTF)throw new Error("SYLK bad record "+E)}I<1&&(d=null);break;default:if(n&&n.WTF)throw new Error("SYLK bad record "+E)}}return m.length>0&&(p["!rows"]=m),g.length>0&&(p["!cols"]=g),n&&n.sheetRows&&(h=h.slice(0,n.sheetRows)),[h,p]}function s(e,r){var t=function(e,r){switch(r.type){case"base64":return n(J(e),r);case"binary":return n(e,r);case"buffer":return n(Z&&Buffer.isBuffer(e)?e.toString("binary"):te(e),r);case"array":return n(pr(e),r)}throw new Error("Unrecognized type "+r.type)}(e,r),a=t[0],s=t[1],i=ua(a,r);return rr(s).forEach(function(e){i[e]=s[e]}),i}function i(e,r,t,a){var n="C;Y"+(t+1)+";X"+(a+1)+";K";switch(e.t){case"n":n+=e.v||0,e.f&&!e.F&&(n+=";E"+ai(e.f,{r:t,c:a}));break;case"b":n+=e.v?"TRUE":"FALSE";break;case"e":n+=e.w||e.v;break;case"d":n+='"'+(e.w||e.v)+'"';break;case"s":n+='"'+e.v.replace(/"/g,"").replace(/;/g,";;")+'"'}return n}return e["|"]=254,{to_workbook:function(e,r){return fa(s(e,r),r)},to_sheet:s,from_sheet:function(e,r){var t,a,n=["ID;PWXL;N;E"],s=[],c=ca(e["!ref"]),o=Array.isArray(e),l="\r\n";n.push("P;PGeneral"),n.push("F;P0;DG0G8;M255"),e["!cols"]&&(a=n,e["!cols"].forEach(function(e,r){var t="F;W"+(r+1)+" "+(r+1)+" ";e.hidden?t+="0":("number"!=typeof e.width||e.wpx||(e.wpx=_s(e.width)),"number"!=typeof e.wpx||e.wch||(e.wch=Cs(e.wpx)),"number"==typeof e.wch&&(t+=Math.round(e.wch)))," "!=t.charAt(t.length-1)&&a.push(t)})),e["!rows"]&&function(e,r){r.forEach(function(r,t){var a="F;";r.hidden?a+="M0;":r.hpt?a+="M"+20*r.hpt+";":r.hpx&&(a+="M"+20*Ds(r.hpx)+";"),a.length>2&&e.push(a+"R"+(t+1))})}(n,e["!rows"]),n.push("B;Y"+(c.e.r-c.s.r+1)+";X"+(c.e.c-c.s.c+1)+";D"+[c.s.c,c.s.r,c.e.c,c.e.r].join(" "));for(var f=c.s.r;f<=c.e.r;++f)for(var h=c.s.c;h<=c.e.c;++h){var u=na({r:f,c:h});(t=o?(e[f]||[])[h]:e[u])&&(null!=t.v||t.f&&!t.F)&&s.push(i(t,0,f,h))}return n.join(l)+l+s.join(l)+l+"E"+l}}}(),Jn=function(){function e(e,r){for(var t=e.split("\n"),a=-1,n=-1,s=0,i=[];s!==t.length;++s)if("BOT"!==t[s].trim()){if(!(a<0)){for(var c=t[s].trim().split(","),o=c[0],l=c[1],f=t[++s]||"";1&(f.match(/["]/g)||[]).length&&s=0?c=l:n=l}}),o>=0&&-1==c&&n>=0&&(c=n,n=-1);var l=(""+(a>=0?a:(new Date).getFullYear())).slice(-4)+"-"+("00"+(n>=1?n:1)).slice(-2)+"-"+("00"+(s>=1?s:1)).slice(-2);7==l.length&&(l="0"+l),8==l.length&&(l="20"+l);var f=("00"+(i>=0?i:0)).slice(-2)+":"+("00"+(c>=0?c:0)).slice(-2)+":"+("00"+(o>=0?o:0)).slice(-2);return-1==i&&-1==c&&-1==o?l:-1==a&&-1==n&&-1==s?f:l+"T"+f}(0,t.dateNF,r.match(b)||[]),n=1),t.cellDates?(a.t="d",a.v=dr(r,n)):(a.t="n",a.v=nr(dr(r,n))),!1!==t.cellText&&(a.w=Xe(a.z,a.v instanceof Date?nr(a.v):a.v)),t.cellNF||delete a.z}else a.t="s",a.v=r;else a.t="n",!1!==t.cellText&&(a.w=r),a.v=l;if("z"==a.t||(t.dense?(s[c]||(s[c]=[]),s[c][o]=a):s[na({c:o,r:c})]=a),f=h+1,m=e.charCodeAt(f),i.e.c0&&T(),s["!ref"]=ia(i),s}function s(r,t){return t&&t.PRN?t.FS||"sep="==r.slice(0,4)||r.indexOf("\t")>=0||r.indexOf(",")>=0||r.indexOf(";")>=0?n(r,t):ua(function(r,t){var a=t||{},n=[];if(!r||0===r.length)return n;for(var s=r.split(/[\r\n]/),i=s.length-1;i>=0&&0===s[i].length;)--i;for(var c=10,o=0,l=0;l<=i;++l)-1==(o=s[l].indexOf(" "))?o=s[l].length:o++,c=Math.max(c,o);for(l=0;l<=i;++l){n[l]=[];var f=0;for(e(s[l].slice(0,c).trim(),n,l,f,a),f=1;f<=(s[l].length-c)/10+1;++f)e(s[l].slice(c+10*(f-1),c+10*f).trim(),n,l,f,a)}return a.sheetRows&&(n=n.slice(0,a.sheetRows)),n}(r,t),t):n(r,t)}function i(e,r){var t="",a="string"==r.type?[0,0,0,0]:Lo(e,r);switch(r.type){case"base64":t=J(e);break;case"binary":case"string":t=e;break;case"buffer":65001==r.codepage?t=e.toString("utf8"):(r.codepage,t=Z&&Buffer.isBuffer(e)?e.toString("binary"):te(e));break;case"array":t=pr(e);break;default:throw new Error("Unrecognized type "+r.type)}return 239==a[0]&&187==a[1]&&191==a[2]?t=Zr(t.slice(3)):"string"!=r.type&&"buffer"!=r.type&&65001==r.codepage?t=Zr(t):r.type,"socialcalc:version:"==t.slice(0,19)?Zn.to_sheet("string"==r.type?t:Zr(t),r):s(t,r)}return{to_workbook:function(e,r){return fa(i(e,r),r)},to_sheet:i,from_sheet:function(e){for(var r,t=[],a=ca(e["!ref"]),n=Array.isArray(e),s=a.s.r;s<=a.e.r;++s){for(var i=[],c=a.s.c;c<=a.e.c;++c){var o=na({r:s,c:c});if((r=n?(e[s]||[])[c]:e[o])&&null!=r.v){for(var l=(r.w||(la(r),r.w)||"").slice(0,10);l.length<10;)l+=" ";i.push(l+(0===c?" ":""))}else i.push(" ")}t.push(i.join(""))}return t.join("\n")}}}();var Qn=function(){function e(e,r,t){if(e){zt(e,e.l||0);for(var a=t.Enum||v;e.l=16&&5==r[14]&&108===r[15])throw new Error("Unsupported Works 3 for Mac file");if(2==r[2])a.Enum=v,e(r,function(e,r,t){switch(t){case 0:a.vers=e,e>=4096&&(a.qpro=!0);break;case 6:h=e;break;case 204:e&&(i=e);break;case 222:i=e;break;case 15:case 51:a.qpro||(e[1].v=e[1].v.slice(1));case 13:case 14:case 16:14==t&&!(112&~e[2])&&(15&e[2])>1&&(15&e[2])<15&&(e[1].z=a.dateNF||ge[14],a.cellDates&&(e[1].t="d",e[1].v=or(e[1].v))),a.qpro&&e[3]>c&&(n["!ref"]=ia(h),o[s]=n,l.push(s),n=a.dense?[]:{},h={s:{r:0,c:0},e:{r:0,c:0}},c=e[3],s=i||"Sheet"+(c+1),i="");var f=a.dense?(n[e[0].r]||[])[e[0].c]:n[na(e[0])];if(f){f.t=e[1].t,f.v=e[1].v,null!=e[1].z&&(f.z=e[1].z),null!=e[1].f&&(f.f=e[1].f);break}a.dense?(n[e[0].r]||(n[e[0].r]=[]),n[e[0].r][e[0].c]=e[1]):n[na(e[0])]=e[1]}},a);else{if(26!=r[2]&&14!=r[2])throw new Error("Unrecognized LOTUS BOF "+r[2]);a.Enum=b,14==r[2]&&(a.qpro=!0,r.l=0),e(r,function(e,r,t){switch(t){case 204:s=e;break;case 22:e[1].v=e[1].v.slice(1);case 23:case 24:case 25:case 37:case 39:case 40:if(e[3]>c&&(n["!ref"]=ia(h),o[s]=n,l.push(s),n=a.dense?[]:{},h={s:{r:0,c:0},e:{r:0,c:0}},c=e[3],s="Sheet"+(c+1)),u>0&&e[0].r>=u)break;a.dense?(n[e[0].r]||(n[e[0].r]=[]),n[e[0].r][e[0].c]=e[1]):n[na(e[0])]=e[1],h.e.c=128?95:s)}return a.write_shift(1,0),a}function s(e,r,t){var a=$t(7);return a.write_shift(1,255),a.write_shift(2,r),a.write_shift(2,e),a.write_shift(2,t,"i"),a}function i(e,r,t){var a=$t(13);return a.write_shift(1,255),a.write_shift(2,r),a.write_shift(2,e),a.write_shift(8,t,"f"),a}function c(e,r,t){var a=32768&r;return r=(a?e:0)+((r&=-32769)>=8192?r-16384:r),(a?"":"$")+(t?ta(r):ea(r))}var o={51:["FALSE",0],52:["TRUE",0],70:["LEN",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],111:["T",1]},l=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function f(e){var r=[{c:0,r:0},{t:"n",v:0},0];return r[0].r=e.read_shift(2),r[3]=e[e.l++],r[0].c=e[e.l++],r}function h(e,r,t,a){var n=$t(6+a.length);n.write_shift(2,e),n.write_shift(1,t),n.write_shift(1,r),n.write_shift(1,39);for(var s=0;s=128?95:i)}return n.write_shift(1,0),n}function u(e,r){var t=f(e),a=e.read_shift(4),n=e.read_shift(4),s=e.read_shift(2);if(65535==s)return 0===a&&3221225472===n?(t[1].t="e",t[1].v=15):0===a&&3489660928===n?(t[1].t="e",t[1].v=42):t[1].v=0,t;var i=32768&s;return s=(32767&s)-16446,t[1].v=(1-2*i)*(n*Math.pow(2,s+32)+a*Math.pow(2,s)),t}function d(e,r,t,a){var n=$t(14);if(n.write_shift(2,e),n.write_shift(1,t),n.write_shift(1,r),0==a)return n.write_shift(4,0),n.write_shift(4,0),n.write_shift(2,65535),n;var s,i=0,c=0,o=0;return a<0&&(i=1,a=-a),c=0|Math.log2(a),2147483648&(o=(a/=Math.pow(2,c-31))>>>0)||(++c,o=(a/=2)>>>0),a-=o,o|=2147483648,o>>>=0,s=(a*=Math.pow(2,32))>>>0,n.write_shift(4,s),n.write_shift(4,o),c+=16383+(i?32768:0),n.write_shift(2,c),n}function p(e,r){var t=f(e),a=e.read_shift(8,"f");return t[1].v=a,t}function m(e,r){return 0==e[e.l+r-1]?e.read_shift(r,"cstr"):""}function g(e,r){var t=$t(5+e.length);t.write_shift(2,14e3),t.write_shift(2,r);for(var a=0;a127?95:n}return t[t.l++]=0,t}var v={0:{n:"BOF",f:hn},1:{n:"EOF"},2:{n:"CALCMODE"},3:{n:"CALCORDER"},4:{n:"SPLIT"},5:{n:"SYNC"},6:{n:"RANGE",f:function(e,r,t){var a={s:{c:0,r:0},e:{c:0,r:0}};return 8==r&&t.qpro?(a.s.c=e.read_shift(1),e.l++,a.s.r=e.read_shift(2),a.e.c=e.read_shift(1),e.l++,a.e.r=e.read_shift(2),a):(a.s.c=e.read_shift(2),a.s.r=e.read_shift(2),12==r&&t.qpro&&(e.l+=2),a.e.c=e.read_shift(2),a.e.r=e.read_shift(2),12==r&&t.qpro&&(e.l+=2),65535==a.s.c&&(a.s.c=a.e.c=a.s.r=a.e.r=0),a)}},7:{n:"WINDOW1"},8:{n:"COLW1"},9:{n:"WINTWO"},10:{n:"COLW2"},11:{n:"NAME"},12:{n:"BLANK"},13:{n:"INTEGER",f:function(e,r,a){var n=t(e,0,a);return n[1].v=e.read_shift(2,"i"),n}},14:{n:"NUMBER",f:function(e,r,a){var n=t(e,0,a);return n[1].v=e.read_shift(8,"f"),n}},15:{n:"LABEL",f:a},16:{n:"FORMULA",f:function(e,r,a){var n=e.l+r,s=t(e,0,a);if(s[1].v=e.read_shift(8,"f"),a.qpro)e.l=n;else{var i=e.read_shift(2);!function(e,r){zt(e,0);var t=[],a=0,n="",s="",i="",f="";for(;e.lt.length)return;var m=t.slice(-a);t.length-=a,t.push(o[h][0]+"("+m.join(",")+")")}}}1==t.length&&(r[1].f=""+t[0])}(e.slice(e.l,e.l+i),s),e.l+=i}return s}},24:{n:"TABLE"},25:{n:"ORANGE"},26:{n:"PRANGE"},27:{n:"SRANGE"},28:{n:"FRANGE"},29:{n:"KRANGE1"},32:{n:"HRANGE"},35:{n:"KRANGE2"},36:{n:"PROTEC"},37:{n:"FOOTER"},38:{n:"HEADER"},39:{n:"SETUP"},40:{n:"MARGINS"},41:{n:"LABELFMT"},42:{n:"TITLES"},43:{n:"SHEETJS"},45:{n:"GRAPH"},46:{n:"NGRAPH"},47:{n:"CALCCOUNT"},48:{n:"UNFORMATTED"},49:{n:"CURSORW12"},50:{n:"WINDOW"},51:{n:"STRING",f:a},55:{n:"PASSWORD"},56:{n:"LOCKED"},60:{n:"QUERY"},61:{n:"QUERYNAME"},62:{n:"PRINT"},63:{n:"PRINTNAME"},64:{n:"GRAPH2"},65:{n:"GRAPHNAME"},66:{n:"ZOOM"},67:{n:"SYMSPLIT"},68:{n:"NSROWS"},69:{n:"NSCOLS"},70:{n:"RULER"},71:{n:"NNAME"},72:{n:"ACOMM"},73:{n:"AMACRO"},74:{n:"PARSE"},102:{n:"PRANGES??"},103:{n:"RRANGES??"},104:{n:"FNAME??"},105:{n:"MRANGES??"},204:{n:"SHEETNAMECS",f:m},222:{n:"SHEETNAMELP",f:function(e,r){var t=e[e.l++];t>r-1&&(t=r-1);for(var a="";a.length>1;if(1&t[1].v)switch(7&a){case 0:a=5e3*(a>>3);break;case 1:a=500*(a>>3);break;case 2:a=(a>>3)/20;break;case 3:a=(a>>3)/200;break;case 4:a=(a>>3)/2e3;break;case 5:a=(a>>3)/2e4;break;case 6:a=(a>>3)/16;break;case 7:a=(a>>3)/64}return t[1].v=a,t}},25:{n:"FORMULA19",f:function(e,r){var t=u(e);return e.l+=r-14,t}},26:{n:"FORMULA1A"},27:{n:"XFORMAT",f:function(e,r){for(var t={},a=e.l+r;e.l>6,t}},38:{n:"??"},39:{n:"NUMBER27",f:p},40:{n:"FORMULA28",f:function(e,r){var t=p(e);return e.l+=r-10,t}},142:{n:"??"},147:{n:"??"},150:{n:"??"},151:{n:"??"},152:{n:"??"},153:{n:"??"},154:{n:"??"},155:{n:"??"},156:{n:"??"},163:{n:"??"},174:{n:"??"},175:{n:"??"},176:{n:"??"},177:{n:"??"},184:{n:"??"},185:{n:"??"},186:{n:"??"},187:{n:"??"},188:{n:"??"},195:{n:"??"},201:{n:"??"},204:{n:"SHEETNAMECS",f:m},205:{n:"??"},206:{n:"??"},207:{n:"??"},208:{n:"??"},256:{n:"??"},259:{n:"??"},260:{n:"??"},261:{n:"??"},262:{n:"??"},263:{n:"??"},265:{n:"??"},266:{n:"??"},267:{n:"??"},268:{n:"??"},270:{n:"??"},271:{n:"??"},384:{n:"??"},389:{n:"??"},390:{n:"??"},393:{n:"??"},396:{n:"??"},512:{n:"??"},514:{n:"??"},513:{n:"??"},516:{n:"??"},517:{n:"??"},640:{n:"??"},641:{n:"??"},642:{n:"??"},643:{n:"??"},644:{n:"??"},645:{n:"??"},646:{n:"??"},647:{n:"??"},648:{n:"??"},658:{n:"??"},659:{n:"??"},660:{n:"??"},661:{n:"??"},662:{n:"??"},665:{n:"??"},666:{n:"??"},768:{n:"??"},772:{n:"??"},1537:{n:"SHEETINFOQP",f:function(e,r,t){if(t.qpro&&!(r<21)){var a=e.read_shift(1);return e.l+=17,e.l+=1,e.l+=2,[a,e.read_shift(r-21,"cstr")]}}},1600:{n:"??"},1602:{n:"??"},1793:{n:"??"},1794:{n:"??"},1795:{n:"??"},1796:{n:"??"},1920:{n:"??"},2048:{n:"??"},2049:{n:"??"},2052:{n:"??"},2688:{n:"??"},10998:{n:"??"},12849:{n:"??"},28233:{n:"??"},28484:{n:"??"},65535:{n:""}};return{sheet_to_wk1:function(e,r){var t=r||{};if(+t.codepage>=0&&B(+t.codepage),"string"==t.type)throw new Error("Cannot write WK1 to JS string");var a,c,o=Xt(),l=ca(e["!ref"]),f=Array.isArray(e),h=[];ao(o,0,(a=1030,(c=$t(2)).write_shift(2,a),c)),ao(o,6,function(e){var r=$t(8);return r.write_shift(2,e.s.c),r.write_shift(2,e.s.r),r.write_shift(2,e.e.c),r.write_shift(2,e.e.r),r}(l));for(var u=Math.min(l.e.r,8191),d=l.s.r;d<=u;++d)for(var p=ea(d),m=l.s.c;m<=l.e.c;++m){d===l.s.r&&(h[m]=ta(m));var g=h[m]+p,v=f?(e[d]||[])[m]:e[g];if(v&&"z"!=v.t)if("n"==v.t)(0|v.v)==v.v&&v.v>=-32768&&v.v<=32767?ao(o,13,s(d,m,v.v)):ao(o,14,i(d,m,v.v));else ao(o,15,n(d,m,la(v).slice(0,239)))}return ao(o,1),o.end()},book_to_wk3:function(e,r){var t=r||{};if(+t.codepage>=0&&B(+t.codepage),"string"==t.type)throw new Error("Cannot write WK3 to JS string");var a=Xt();ao(a,0,function(e){var r=$t(26);r.write_shift(2,4096),r.write_shift(2,4),r.write_shift(4,0);for(var t=0,a=0,n=0,s=0;s8191&&(t=8191);return r.write_shift(2,t),r.write_shift(1,n),r.write_shift(1,a),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(1,1),r.write_shift(1,2),r.write_shift(4,0),r.write_shift(4,0),r}(e));for(var n=0,s=0;n":case"":r.shadow=1;break;case"":break;case"":case"":r.outline=1;break;case"":break;case"":case"":r.strike=1;break;case"":break;case"":case"":r.u=1;break;case"":break;case"":case"":r.b=1;break;case"":break;case"":case"":r.i=1;break;case"":break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":case"":case"":case"":case"":case"":case"":break;case"":n=!1;break;default:if(47!==s[0].charCodeAt(1)&&!n)throw new Error("Unrecognized rich format "+s[0])}}return r}(s[1])),n}var a=/<(?:\w+:)?r>/g,n=/<\/(?:\w+:)?r>/;return function(e){return e.replace(a,"").split(n).map(t).filter(function(e){return e.v})}}(),rs=function(){var e=/(\r\n|\n)/g;function r(r){var t=[[],r.v,[]];return r.v?(r.s&&function(e,r,t){var a=[];e.u&&a.push("text-decoration: underline;"),e.uval&&a.push("text-underline-style:"+e.uval+";"),e.sz&&a.push("font-size:"+e.sz+"pt;"),e.outline&&a.push("text-effect: outline;"),e.shadow&&a.push("text-shadow: auto;"),r.push(''),e.b&&(r.push(""),t.push("")),e.i&&(r.push(""),t.push("")),e.strike&&(r.push(""),t.push(""));var n=e.valign||"";"superscript"==n||"super"==n?n="sup":"subscript"==n&&(n="sub"),""!=n&&(r.push("<"+n+">"),t.push("")),t.push("")}(r.s,t[0],t[2]),t[0].join("")+t[1].replace(e,"
")+t[2].join("")):""}return function(e){return e.map(r).join("")}}(),ts=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,as=/<(?:\w+:)?r>/,ns=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function ss(e,r){var t=!r||r.cellHTML,a={};return e?(e.match(/^\s*<(?:\w+:)?t[^>]*>/)?(a.t=Vr(Zr(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||"")),a.r=Zr(e),t&&(a.h=zr(a.t))):e.match(as)&&(a.r=Zr(e),a.t=Vr(Zr((e.replace(ns,"").match(ts)||[]).join("").replace(Fr,""))),t&&(a.h=rs(es(a.r)))),a):{t:""}}var is=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/,cs=/<(?:\w+:)?(?:si|sstItem)>/g,os=/<\/(?:\w+:)?(?:si|sstItem)>/;function ls(e){for(var r=[],t=e.split(""),a=0;a=4&&(e.l+=r-4),t}function hs(e){for(var r=e.read_shift(4),t=e.l+r-4,a={},n=e.read_shift(4),s=[];n-- >0;)s.push({t:e.read_shift(4),v:e.read_shift(0,"lpp4")});if(a.name=e.read_shift(0,"lpp4"),a.comps=s,e.l!=t)throw new Error("Bad DataSpaceMapEntry: "+e.l+" != "+t);return a}function us(e){var r=function(e){var r={};return e.read_shift(4),e.l+=4,r.id=e.read_shift(0,"lpp4"),r.name=e.read_shift(0,"lpp4"),r.R=fs(e,4),r.U=fs(e,4),r.W=fs(e,4),r}(e);if(r.ename=e.read_shift(0,"8lpp4"),r.blksz=e.read_shift(4),r.cmode=e.read_shift(4),4!=e.read_shift(4))throw new Error("Bad !Primary record");return r}function ds(e,r){var t=e.l+r,a={};a.Flags=63&e.read_shift(4),e.l+=4,a.AlgID=e.read_shift(4);var n=!1;switch(a.AlgID){case 26126:case 26127:case 26128:n=36==a.Flags;break;case 26625:n=4==a.Flags;break;case 0:n=16==a.Flags||4==a.Flags||36==a.Flags;break;default:throw"Unrecognized encryption algorithm: "+a.AlgID}if(!n)throw new Error("Encryption Flags/AlgID mismatch");return a.AlgIDHash=e.read_shift(4),a.KeySize=e.read_shift(4),a.ProviderType=e.read_shift(4),e.l+=8,a.CSPName=e.read_shift(t-e.l>>1,"utf16le"),e.l=t,a}function ps(e,r){var t={},a=e.l+r;return e.l+=4,t.Salt=e.slice(e.l,e.l+16),e.l+=16,t.Verifier=e.slice(e.l,e.l+16),e.l+=16,e.read_shift(4),t.VerifierHash=e.slice(e.l,a),e.l=a,t}function ms(e){if(36!=(63&e.read_shift(4)))throw new Error("EncryptionInfo mismatch");var r=e.read_shift(4);return{t:"Std",h:ds(e,r),v:ps(e,e.length-e.l)}}function gs(){throw new Error("File is password-protected: ECMA-376 Extensible")}function vs(e){var r=["saltSize","blockSize","keyBits","hashSize","cipherAlgorithm","cipherChaining","hashAlgorithm","saltValue"];e.l+=4;var t=e.read_shift(e.length-e.l,"utf8"),a={};return t.replace(Fr,function(e){var t=Lr(e);switch(Ur(t[0])){case"":case"":case"":break;case"":case"=0;--s)for(var i=e[s],c=0;7!=c;++c)64&i&&(a^=t[n]),i*=2,--n;return a}(o),f=o.length,h=Q(16),u=0;16!=u;++u)h[u]=0;for(1&~f||(s=l>>8,h[f]=a(e[0],s),--f,s=255&l,i=o[o.length-1],h[f]=a(i,s));f>0;)s=l>>8,h[--f]=a(o[f],s),s=255&l,h[--f]=a(o[f],s);for(f=15,c=15-o.length;c>0;)s=l>>8,h[f]=a(e[c],s),--c,s=255&l,h[--f]=a(o[f],s),--f,--c;return h}}(),Ts=function(e){var r=0,t=bs(e);return function(e){var a=function(e,r,t,a,n){var s,i;for(n||(n=r),a||(a=bs(e)),s=0;s!=r.length;++s)i=r[s],i=255&((i^=a[t])>>5|i<<3),n[s]=i,++t;return[n,t,a]}("",e,r,t);return r=a[1],a[0]}};function Es(e,r,t,a){var n={key:hn(e),verificationBytes:hn(e)};return t.password&&(n.verifier=function(e){var r,t,a=0,n=ls(e),s=n.length+1;for((r=Q(s))[0]=n.length,t=1;t!=s;++t)r[t]=n[t-1];for(t=s-1;t>=0;--t)a=((16384&a?1:0)|a<<1&32767)^r[t];return 52811^a}(t.password)),a.valid=n.verificationBytes===n.verifier,a.valid&&(a.insitu=Ts(t.password)),n}function ws(e,r,t){var a=t||{};return a.Info=e.read_shift(2),e.l-=2,1===a.Info?a.Data=function(e){var r={},t=r.EncryptionVersionInfo=fs(e,4);if(1!=t.Major||1!=t.Minor)throw"unrecognized version code "+t.Major+" : "+t.Minor;return r.Salt=e.read_shift(16),r.EncryptedVerifier=e.read_shift(16),r.EncryptedVerifierHash=e.read_shift(16),r}(e):a.Data=function(e,r){var t={},a=t.EncryptionVersionInfo=fs(e,4);if(r-=4,2!=a.Minor)throw new Error("unrecognized minor version code: "+a.Minor);if(a.Major>4||a.Major<2)throw new Error("unrecognized major version code: "+a.Major);t.Flags=e.read_shift(4),r-=4;var n=e.read_shift(4);return r-=4,t.EncryptionHeader=ds(e,n),r-=n,t.EncryptionVerifier=ps(e,r),t}(e,r),a}var As=function(){function e(e,t){switch(t.type){case"base64":return r(J(e),t);case"binary":return r(e,t);case"buffer":return r(Z&&Buffer.isBuffer(e)?e.toString("binary"):te(e),t);case"array":return r(pr(e),t)}throw new Error("Unrecognized type "+t.type)}function r(e,r){var t=(r||{}).dense?[]:{},a=e.match(/\\trowd.*?\\row\b/g);if(!a.length)throw new Error("RTF missing table");var n={s:{c:0,r:0},e:{c:0,r:a.length-1}};return a.forEach(function(e,r){Array.isArray(t)&&(t[r]=[]);for(var a,s=/\\\w+\b/g,i=0,c=-1;a=s.exec(e);){if("\\cell"===a[0]){var o=e.slice(i,s.lastIndex-a[0].length);if(" "==o[0]&&(o=o.slice(1)),++c,o.length){var l={v:o,t:"s"};Array.isArray(t)?t[r][c]=l:t[na({r:r,c:c})]=l}}i=s.lastIndex}c>n.e.c&&(n.e.c=c)}),t["!ref"]=ia(n),t}return{to_workbook:function(r,t){return fa(e(r,t),t)},to_sheet:e,from_sheet:function(e){for(var r,t=["{\\rtf1\\ansi"],a=ca(e["!ref"]),n=Array.isArray(e),s=a.s.r;s<=a.e.r;++s){t.push("\\trowd\\trautofit1");for(var i=a.s.c;i<=a.e.c;++i)t.push("\\cellx"+(i+1));for(t.push("\\pard\\intbl"),i=a.s.c;i<=a.e.c;++i){var c=na({r:s,c:i});(r=n?(e[s]||[])[i]:e[c])&&(null!=r.v||r.f&&!r.F)&&(t.push(" "+(r.w||(la(r),r.w))),t.push("\\cell"))}t.push("\\pard\\intbl\\row")}return t.join("")+"}"}}}();function Ss(e){for(var r=0,t=1;3!=r;++r)t=256*t+(e[r]>255?255:e[r]<0?0:e[r]);return t.toString(16).toUpperCase().slice(1)}function ks(e,r){if(0===r)return e;var t,a,n=function(e){var r=e[0]/255,t=e[1]/255,a=e[2]/255,n=Math.max(r,t,a),s=Math.min(r,t,a),i=n-s;if(0===i)return[0,0,r];var c,o=0,l=n+s;switch(c=i/(l>1?2-l:l),n){case r:o=((t-a)/i+6)%6;break;case t:o=(a-r)/i+2;break;case a:o=(r-t)/i+4}return[o/6,c,l/2]}((a=(t=e).slice("#"===t[0]?1:0).slice(0,6),[parseInt(a.slice(0,2),16),parseInt(a.slice(2,4),16),parseInt(a.slice(4,6),16)]));return n[2]=r<0?n[2]*(1+r):1-(1-n[2])*(1-r),Ss(function(e){var r,t=e[0],a=e[1],n=e[2],s=2*a*(n<.5?n:1-n),i=n-s/2,c=[i,i,i],o=6*t;if(0!==a)switch(0|o){case 0:case 6:r=s*o,c[0]+=s,c[1]+=r;break;case 1:r=s*(2-o),c[0]+=r,c[1]+=s;break;case 2:r=s*(o-2),c[1]+=s,c[2]+=r;break;case 3:r=s*(4-o),c[1]+=r,c[2]+=s;break;case 4:r=s*(o-4),c[2]+=s,c[0]+=r;break;case 5:r=s*(6-o),c[2]+=r,c[0]+=s}for(var l=0;3!=l;++l)c[l]=Math.round(255*c[l]);return c}(n))}var ys=6;function _s(e){return Math.floor((e+Math.round(128/ys)/256)*ys)}function Cs(e){return Math.floor((e-5)/ys*100+.5)/100}function Os(e){return Math.round((e*ys+5)/ys*256)/256}function Rs(e){return Os(Cs(_s(e)))}function xs(e){var r=Math.abs(e-Rs(e)),t=ys;if(r>.005)for(ys=1;ys<15;++ys)Math.abs(e-Rs(e))<=r&&(r=Math.abs(e-Rs(e)),t=ys);ys=t}function Is(e){e.width?(e.wpx=_s(e.width),e.wch=Cs(e.wpx),e.MDW=ys):e.wpx?(e.wch=Cs(e.wpx),e.width=Os(e.wch),e.MDW=ys):"number"==typeof e.wch&&(e.width=Os(e.wch),e.wpx=_s(e.width),e.MDW=ys),e.customWidth&&delete e.customWidth}var Ns=96;function Ds(e){return 96*e/Ns}function Fs(e){return e*Ns/96}var Ms={None:"none",Solid:"solid",Gray50:"mediumGray",Gray75:"darkGray",Gray25:"lightGray",HorzStripe:"darkHorizontal",VertStripe:"darkVertical",ReverseDiagStripe:"darkDown",DiagStripe:"darkUp",DiagCross:"darkGrid",ThickDiagCross:"darkTrellis",ThinHorzStripe:"lightHorizontal",ThinVertStripe:"lightVertical",ThinReverseDiagStripe:"lightDown",ThinHorzCross:"lightGrid"};var Ps=["numFmtId","fillId","fontId","borderId","xfId"],Ls=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];var Us=function(){var e=/<(?:\w+:)?numFmts([^>]*)>[\S\s]*?<\/(?:\w+:)?numFmts>/,r=/<(?:\w+:)?cellXfs([^>]*)>[\S\s]*?<\/(?:\w+:)?cellXfs>/,t=/<(?:\w+:)?fills([^>]*)>[\S\s]*?<\/(?:\w+:)?fills>/,a=/<(?:\w+:)?fonts([^>]*)>[\S\s]*?<\/(?:\w+:)?fonts>/,n=/<(?:\w+:)?borders([^>]*)>[\S\s]*?<\/(?:\w+:)?borders>/;return function(s,i,c){var o,l={};return s?((o=(s=s.replace(//gm,"").replace(//gm,"")).match(e))&&function(e,r,t){r.NumberFmt=[];for(var a=rr(ge),n=0;n":case"":case"":case"":break;case"0){if(o>392){for(o=392;o>60&&null!=r.NumberFmt[o];--o);r.NumberFmt[o]=c}Ke(c,o)}break;default:if(t.WTF)throw new Error("unrecognized "+i[0]+" in numFmts")}}}(o,l,c),(o=s.match(a))&&function(e,r,t,a){r.Fonts=[];var n={},s=!1;(e[0].match(Fr)||[]).forEach(function(e){var i=Lr(e);switch(Ur(i[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":r.Fonts.push(n),n={};break;case"":n.bold=1;break;case"":n.italic=1;break;case"":n.underline=1;break;case"":n.strike=1;break;case"":n.outline=1;break;case"":n.shadow=1;break;case"":n.condense=1;break;case"":n.extend=1;break;case"":case"":s=!1;break;default:if(a&&a.WTF&&!s)throw new Error("unrecognized "+i[0]+" in fonts")}})}(o,l,i,c),(o=s.match(t))&&function(e,r,t,a){r.Fills=[];var n={},s=!1;(e[0].match(Fr)||[]).forEach(function(e){var t=Lr(e);switch(Ur(t[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"
":case"":case"":break;case"":case"":n={},r.Fills.push(n);break;case"":r.Fills.push(n),n={};break;case"":t.patternType&&(n.patternType=t.patternType);break;case"":s=!1;break;default:if(a&&a.WTF&&!s)throw new Error("unrecognized "+t[0]+" in fills")}})}(o,l,0,c),(o=s.match(n))&&function(e,r,t,a){r.Borders=[];var n={},s=!1;(e[0].match(Fr)||[]).forEach(function(e){var t=Lr(e);switch(Ur(t[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":n={},t.diagonalUp&&(n.diagonalUp=$r(t.diagonalUp)),t.diagonalDown&&(n.diagonalDown=$r(t.diagonalDown)),r.Borders.push(n);break;case"":s=!1;break;default:if(a&&a.WTF&&!s)throw new Error("unrecognized "+t[0]+" in borders")}})}(o,l,0,c),(o=s.match(r))&&function(e,r,t){var a;r.CellXf=[];var n=!1;(e[0].match(Fr)||[]).forEach(function(e){var s=Lr(e),i=0;switch(Ur(s[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":for(delete(a=s)[0],i=0;i392)for(i=392;i>60;--i)if(r.NumberFmt[a.numFmtId]==r.NumberFmt[i]){a.numFmtId=i;break}r.CellXf.push(a);break;case"":var c={};s.vertical&&(c.vertical=s.vertical),s.horizontal&&(c.horizontal=s.horizontal),null!=s.textRotation&&(c.textRotation=s.textRotation),s.indent&&(c.indent=s.indent),s.wrapText&&(c.wrapText=$r(s.wrapText)),a.alignment=c;break;case"":case"":n=!1;break;default:if(t&&t.WTF&&!n)throw new Error("unrecognized "+s[0]+" in cellXfs")}})}(o,l,c),l):l}}();var Bs=jt;var Hs=jt;var Vs=["","","","","","","","","","","",""];function Ws(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(Fr)||[]).forEach(function(e){var n=Lr(e);switch(n[0]){case"":break;case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":"/"===n[0].charAt(1)?(r.themeElements.clrScheme[Vs.indexOf(n[0])]=a,a={}):a.name=n[0].slice(3,n[0].length-1);break;default:if(t&&t.WTF)throw new Error("Unrecognized "+n[0]+" in clrScheme")}})}function Gs(){}function zs(){}var js=/]*)>[\s\S]*<\/a:clrScheme>/,$s=/]*)>[\s\S]*<\/a:fontScheme>/,Ys=/]*)>[\s\S]*<\/a:fmtScheme>/;var Xs=/]*)>[\s\S]*<\/a:themeElements>/;function Ks(e,r){var t,a;e&&0!==e.length||((t=[Ir])[t.length]='',t[t.length]="",t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]="",t[t.length]='',t[t.length]="",t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]="",t[t.length]="",t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]="",t[t.length]="",t[t.length]='',t[t.length]="",t[t.length]='',t[t.length]='',t[t.length]="",t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]="",t[t.length]='',t[t.length]="",t[t.length]='',t[t.length]="",t[t.length]='',t[t.length]='',t[t.length]="",t[t.length]='',t[t.length]="",t[t.length]="",t[t.length]="",t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]="",t[t.length]="",t[t.length]="",t[t.length]="",t[t.length]='',t[t.length]="",t[t.length]="",t[t.length]="",t[t.length]="",t[t.length]='',t[t.length]="",t[t.length]="",t[t.length]="",t[t.length]="",t[t.length]='',t[t.length]="",t[t.length]='',t[t.length]='',t[t.length]="",t[t.length]="",t[t.length]="",t[t.length]='',t[t.length]='',t[t.length]="",t[t.length]='',t[t.length]='',t[t.length]='',t[t.length]="",t[t.length]='',t[t.length]="",t[t.length]='',t[t.length]="",t[t.length]='',t[t.length]='',t[t.length]="",t[t.length]='',t[t.length]="",t[t.length]="",t[t.length]="",t[t.length]="",t[t.length]="",t[t.length]="",t[t.length]='',t[t.length]="",t[t.length]="",t[t.length]='',t[t.length]="",t[t.length]="",t[t.length]="",t[t.length]="",e=t.join(""));var n={};if(!(a=e.match(Xs)))throw new Error("themeElements not found in theme");return function(e,r,t){var a;r.themeElements={},[["clrScheme",js,Ws],["fontScheme",$s,Gs],["fmtScheme",Ys,zs]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,r,t)})}(a[0],n,r),n.raw=e,n}function Js(e){var r={};switch(r.xclrType=e.read_shift(2),r.nTintShade=e.read_shift(2),r.xclrType){case 0:case 4:e.l+=4;break;case 1:r.xclrValue=function(e,r){return jt(e,r)}(e,4);break;case 2:r.xclrValue=En(e);break;case 3:r.xclrValue=function(e){return e.read_shift(4)}(e)}return e.l+=8,r}function Zs(e){var r=e.read_shift(2),t=e.read_shift(2)-4,a=[r];switch(r){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:a[1]=Js(e);break;case 6:a[1]=function(e,r){return jt(e,r)}(e,t);break;case 14:case 15:a[1]=e.read_shift(1===t?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+r+" "+t)}return a}function qs(e,r){r.forEach(function(e){e[0]})}function Qs(e,r,t,a){var n,s=Array.isArray(e);r.forEach(function(r){var i=aa(r.ref);if(s?(e[i.r]||(e[i.r]=[]),n=e[i.r][i.c]):n=e[r.ref],!n){n={t:"z"},s?e[i.r][i.c]=n:e[r.ref]=n;var c=ca(e["!ref"]||"BDWGO1000001:A1");c.s.r>i.r&&(c.s.r=i.r),c.e.ri.c&&(c.s.c=i.c),c.e.c=0;--f){if(!t&&n.c[f].T)return;t&&!n.c[f].T&&n.c.splice(f,1)}if(t&&a)for(f=0;f0?0|parseInt(a,10):0,o=n.length>0?0|parseInt(n,10):0;return s?o+=r.c:--o,i?c+=r.r:--c,t+(s?"":"$")+ta(o)+(i?"":"$")+ea(c)}return function(a,n){return r=n,a.replace(e,t)}}(),ti=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g,ai=function(){return function(e,r){return e.replace(ti,function(e,t,a,n,s,i){var c=ra(n)-(a?0:r.c),o=Qt(i)-(s?0:r.r);return t+"R"+(0==o?"":s?o+1:"["+o+"]")+"C"+(0==c?"":a?c+1:"["+c+"]")})}}();function ni(e,r){return e.replace(ti,function(e,t,a,n,s,i){return t+("$"==a?a+n:ta(ra(n)+r.c))+("$"==s?s+i:ea(Qt(i)+r.r))})}function si(e,r,t){var a=sa(r).s,n=aa(t);return ni(e,{r:n.r-a.r,c:n.c-a.c})}function ii(e){return e.replace(/_xlfn\./g,"")}function ci(e){e.l+=1}function oi(e,r){var t=e.read_shift(2);return[16383&t,t>>14&1,t>>15&1]}function li(e,r,t){var a=2;if(t){if(t.biff>=2&&t.biff<=5)return fi(e);12==t.biff&&(a=4)}var n=e.read_shift(a),s=e.read_shift(a),i=oi(e),c=oi(e);return{s:{r:n,c:i[0],cRel:i[1],rRel:i[2]},e:{r:s,c:c[0],cRel:c[1],rRel:c[2]}}}function fi(e){var r=oi(e),t=oi(e),a=e.read_shift(1),n=e.read_shift(1);return{s:{r:r[0],c:a,cRel:r[1],rRel:r[2]},e:{r:t[0],c:n,cRel:t[1],rRel:t[2]}}}function hi(e,r,t){if(t&&t.biff>=2&&t.biff<=5)return function(e){var r=oi(e),t=e.read_shift(1);return{r:r[0],c:t,cRel:r[1],rRel:r[2]}}(e);var a=e.read_shift(t&&12==t.biff?4:2),n=oi(e);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function ui(e){var r=e.read_shift(2),t=e.read_shift(2);return{r:r,c:255&t,fQuoted:!!(16384&t),cRel:t>>15,rRel:t>>15}}function di(e){var r=1&e[e.l+1];return e.l+=4,[r,1]}function pi(e){return[e.read_shift(1),e.read_shift(1)]}function mi(e,r){var t=[e.read_shift(1)];if(12==r)switch(t[0]){case 2:t[0]=4;break;case 4:t[0]=16;break;case 0:t[0]=1;break;case 1:t[0]=2}switch(t[0]){case 4:t[1]=fn(e,1)?"TRUE":"FALSE",12!=r&&(e.l+=7);break;case 37:case 16:t[1]=Pa[e[e.l]],e.l+=12==r?4:8;break;case 0:e.l+=8;break;case 1:t[1]=_a(e);break;case 2:t[1]=vn(e,0,{biff:r>0&&r<8?2:r});break;default:throw new Error("Bad SerAr: "+t[0])}return t}function gi(e,r,t){for(var a=e.read_shift(12==t.biff?4:2),n=[],s=0;s!=a;++s)n.push((12==t.biff?ya:yn)(e));return n}function vi(e,r,t){var a=0,n=0;12==t.biff?(a=e.read_shift(4),n=e.read_shift(4)):(n=1+e.read_shift(1),a=1+e.read_shift(2)),t.biff>=2&&t.biff<8&&(--a,0==--n&&(n=256));for(var s=0,i=[];s!=a&&(i[s]=[]);++s)for(var c=0;c!=n;++c)i[s][c]=mi(e,t.biff);return i}function bi(e,r,t){return e.l+=2,[ui(e)]}function Ti(e){return e.l+=6,[]}function Ei(e){return e.l+=2,[hn(e),1&e.read_shift(2)]}var wi=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"];var Ai={1:{n:"PtgExp",f:function(e,r,t){return e.l++,t&&12==t.biff?[e.read_shift(4,"i"),0]:[e.read_shift(2),e.read_shift(t&&2==t.biff?1:2)]}},2:{n:"PtgTbl",f:jt},3:{n:"PtgAdd",f:ci},4:{n:"PtgSub",f:ci},5:{n:"PtgMul",f:ci},6:{n:"PtgDiv",f:ci},7:{n:"PtgPower",f:ci},8:{n:"PtgConcat",f:ci},9:{n:"PtgLt",f:ci},10:{n:"PtgLe",f:ci},11:{n:"PtgEq",f:ci},12:{n:"PtgGe",f:ci},13:{n:"PtgGt",f:ci},14:{n:"PtgNe",f:ci},15:{n:"PtgIsect",f:ci},16:{n:"PtgUnion",f:ci},17:{n:"PtgRange",f:ci},18:{n:"PtgUplus",f:ci},19:{n:"PtgUminus",f:ci},20:{n:"PtgPercent",f:ci},21:{n:"PtgParen",f:ci},22:{n:"PtgMissArg",f:ci},23:{n:"PtgStr",f:function(e,r,t){return e.l++,dn(e,0,t)}},26:{n:"PtgSheet",f:function(e,r,t){return e.l+=5,e.l+=2,e.l+=2==t.biff?1:4,["PTGSHEET"]}},27:{n:"PtgEndSheet",f:function(e,r,t){return e.l+=2==t.biff?4:5,["PTGENDSHEET"]}},28:{n:"PtgErr",f:function(e){return e.l++,Pa[e.read_shift(1)]}},29:{n:"PtgBool",f:function(e){return e.l++,0!==e.read_shift(1)}},30:{n:"PtgInt",f:function(e){return e.l++,e.read_shift(2)}},31:{n:"PtgNum",f:function(e){return e.l++,_a(e)}},32:{n:"PtgArray",f:function(e,r,t){var a=(96&e[e.l++])>>5;return e.l+=2==t.biff?6:12==t.biff?14:7,[a]}},33:{n:"PtgFunc",f:function(e,r,t){var a=(96&e[e.l])>>5;e.l+=1;var n=e.read_shift(t&&t.biff<=3?1:2);return[Gi[n],Wi[n],a]}},34:{n:"PtgFuncVar",f:function(e,r,t){var a=e[e.l++],n=e.read_shift(1),s=t&&t.biff<=3?[88==a?-1:0,e.read_shift(1)]:function(e){return[e[e.l+1]>>7,32767&e.read_shift(2)]}(e);return[n,(0===s[0]?Wi:Vi)[s[1]]]}},35:{n:"PtgName",f:function(e,r,t){var a=e.read_shift(1)>>>5&3,n=!t||t.biff>=8?4:2,s=e.read_shift(n);switch(t.biff){case 2:e.l+=5;break;case 3:case 4:e.l+=8;break;case 5:e.l+=12}return[a,0,s]}},36:{n:"PtgRef",f:function(e,r,t){var a=(96&e[e.l])>>5;return e.l+=1,[a,hi(e,0,t)]}},37:{n:"PtgArea",f:function(e,r,t){return[(96&e[e.l++])>>5,li(e,t.biff>=2&&t.biff,t)]}},38:{n:"PtgMemArea",f:function(e,r,t){var a=e.read_shift(1)>>>5&3;return e.l+=t&&2==t.biff?3:4,[a,e.read_shift(t&&2==t.biff?1:2)]}},39:{n:"PtgMemErr",f:jt},40:{n:"PtgMemNoMem",f:jt},41:{n:"PtgMemFunc",f:function(e,r,t){return[e.read_shift(1)>>>5&3,e.read_shift(t&&2==t.biff?1:2)]}},42:{n:"PtgRefErr",f:function(e,r,t){var a=e.read_shift(1)>>>5&3;return e.l+=4,t.biff<8&&e.l--,12==t.biff&&(e.l+=2),[a]}},43:{n:"PtgAreaErr",f:function(e,r,t){var a=(96&e[e.l++])>>5;return e.l+=t&&t.biff>8?12:t.biff<8?6:8,[a]}},44:{n:"PtgRefN",f:function(e,r,t){var a=(96&e[e.l])>>5;e.l+=1;var n=function(e,r,t){var a=t&&t.biff?t.biff:8;if(a>=2&&a<=5)return function(e){var r=e.read_shift(2),t=e.read_shift(1),a=(32768&r)>>15,n=(16384&r)>>14;return r&=16383,1==a&&r>=8192&&(r-=16384),1==n&&t>=128&&(t-=256),{r:r,c:t,cRel:n,rRel:a}}(e);var n=e.read_shift(a>=12?4:2),s=e.read_shift(2),i=(16384&s)>>14,c=(32768&s)>>15;if(s&=16383,1==c)for(;n>524287;)n-=1048576;if(1==i)for(;s>8191;)s-=16384;return{r:n,c:s,cRel:i,rRel:c}}(e,0,t);return[a,n]}},45:{n:"PtgAreaN",f:function(e,r,t){var a=(96&e[e.l++])>>5,n=function(e,r,t){if(t.biff<8)return fi(e);var a=e.read_shift(12==t.biff?4:2),n=e.read_shift(12==t.biff?4:2),s=oi(e),i=oi(e);return{s:{r:a,c:s[0],cRel:s[1],rRel:s[2]},e:{r:n,c:i[0],cRel:i[1],rRel:i[2]}}}(e,0,t);return[a,n]}},46:{n:"PtgMemAreaN",f:function(e){return[e.read_shift(1)>>>5&3,e.read_shift(2)]}},47:{n:"PtgMemNoMemN",f:function(e){return[e.read_shift(1)>>>5&3,e.read_shift(2)]}},57:{n:"PtgNameX",f:function(e,r,t){return 5==t.biff?function(e){var r=e.read_shift(1)>>>5&3,t=e.read_shift(2,"i");e.l+=8;var a=e.read_shift(2);return e.l+=12,[r,t,a]}(e):[e.read_shift(1)>>>5&3,e.read_shift(2),e.read_shift(4)]}},58:{n:"PtgRef3d",f:function(e,r,t){var a=(96&e[e.l])>>5;e.l+=1;var n=e.read_shift(2);return t&&5==t.biff&&(e.l+=12),[a,n,hi(e,0,t)]}},59:{n:"PtgArea3d",f:function(e,r,t){var a=(96&e[e.l++])>>5,n=e.read_shift(2,"i");if(t)switch(t.biff){case 5:e.l+=12;break;case 12:0}return[a,n,li(e,0,t)]}},60:{n:"PtgRefErr3d",f:function(e,r,t){var a=(96&e[e.l++])>>5,n=e.read_shift(2),s=4;if(t)switch(t.biff){case 5:s=15;break;case 12:s=6}return e.l+=s,[a,n]}},61:{n:"PtgAreaErr3d",f:function(e,r,t){var a=(96&e[e.l++])>>5,n=e.read_shift(2),s=8;if(t)switch(t.biff){case 5:e.l+=12,s=6;break;case 12:s=12}return e.l+=s,[a,n]}},255:{}},Si={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61},ki={1:{n:"PtgElfLel",f:Ei},2:{n:"PtgElfRw",f:bi},3:{n:"PtgElfCol",f:bi},6:{n:"PtgElfRwV",f:bi},7:{n:"PtgElfColV",f:bi},10:{n:"PtgElfRadical",f:bi},11:{n:"PtgElfRadicalS",f:Ti},13:{n:"PtgElfColS",f:Ti},15:{n:"PtgElfColSV",f:Ti},16:{n:"PtgElfRadicalLel",f:Ei},25:{n:"PtgList",f:function(e){e.l+=2;var r=e.read_shift(2),t=e.read_shift(2),a=e.read_shift(4),n=e.read_shift(2),s=e.read_shift(2);return{ixti:r,coltype:3&t,rt:wi[t>>2&31],idx:a,c:n,C:s}}},29:{n:"PtgSxName",f:function(e){return e.l+=2,[e.read_shift(4)]}},255:{}},yi={0:{n:"PtgAttrNoop",f:function(e){return e.l+=4,[0,0]}},1:{n:"PtgAttrSemi",f:function(e,r,t){var a=255&e[e.l+1]?1:0;return e.l+=t&&2==t.biff?3:4,[a]}},2:{n:"PtgAttrIf",f:function(e,r,t){var a=255&e[e.l+1]?1:0;return e.l+=2,[a,e.read_shift(t&&2==t.biff?1:2)]}},4:{n:"PtgAttrChoose",f:function(e,r,t){e.l+=2;for(var a=e.read_shift(t&&2==t.biff?1:2),n=[],s=0;s<=a;++s)n.push(e.read_shift(t&&2==t.biff?1:2));return n}},8:{n:"PtgAttrGoto",f:function(e,r,t){var a=255&e[e.l+1]?1:0;return e.l+=2,[a,e.read_shift(t&&2==t.biff?1:2)]}},16:{n:"PtgAttrSum",f:function(e,r,t){e.l+=t&&2==t.biff?3:4}},32:{n:"PtgAttrBaxcel",f:di},33:{n:"PtgAttrBaxcel",f:di},64:{n:"PtgAttrSpace",f:function(e){return e.read_shift(2),pi(e)}},65:{n:"PtgAttrSpaceSemi",f:function(e){return e.read_shift(2),pi(e)}},128:{n:"PtgAttrIfError",f:function(e){var r=255&e[e.l+1]?1:0;return e.l+=2,[r,e.read_shift(2)]}},255:{}};function _i(e,r,t,a){if(a.biff<8)return jt(e,r);for(var n=e.l+r,s=[],i=0;i!==t.length;++i)switch(t[i][0]){case"PtgArray":t[i][1]=vi(e,0,a),s.push(t[i][1]);break;case"PtgMemArea":t[i][2]=gi(e,t[i][1],a),s.push(t[i][2]);break;case"PtgExp":a&&12==a.biff&&(t[i][1][1]=e.read_shift(4),s.push(t[i][1]));break;case"PtgList":case"PtgElfRadicalS":case"PtgElfColS":case"PtgElfColSV":throw"Unsupported "+t[i][0]}return 0!==(r=n-e.l)&&s.push(jt(e,r)),s}function Ci(e,r,t){for(var a,n,s=e.l+r,i=[];s!=e.l;)r=s-e.l,n=e[e.l],a=Ai[n]||Ai[Si[n]],24!==n&&25!==n||(a=(24===n?ki:yi)[e[e.l+1]]),a&&a.f?i.push([a.n,a.f(e,r,t)]):jt(e,r);return i}function Oi(e){for(var r=[],t=0;t=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function xi(e,r,t){if(!e)return"SH33TJSERR0";if(t.biff>8&&(!e.XTI||!e.XTI[r]))return e.SheetNames[r];if(!e.XTI)return"SH33TJSERR6";var a=e.XTI[r];if(t.biff<8)return r>1e4&&(r-=65536),r<0&&(r=-r),0==r?"":e.XTI[r-1];if(!a)return"SH33TJSERR1";var n="";if(t.biff>8)switch(e[a[0]][0]){case 357:return n=-1==a[1]?"#REF":e.SheetNames[a[1]],a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 358:return null!=t.SID?e.SheetNames[t.SID]:"SH33TJSSAME"+e[a[0]][0];default:return"SH33TJSSRC"+e[a[0]][0]}switch(e[a[0]][0][0]){case 1025:return n=-1==a[1]?"#REF":e.SheetNames[a[1]]||"SH33TJSERR3",a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 14849:return e[a[0]].slice(1).map(function(e){return e.Name}).join(";;");default:return e[a[0]][0][3]?(n=-1==a[1]?"#REF":e[a[0]][0][3][a[1]]||"SH33TJSERR4",a[1]==a[2]?n:n+":"+e[a[0]][0][3][a[2]]):"SH33TJSERR2"}}function Ii(e,r,t){var a=xi(e,r,t);return"#REF"==a?a:function(e,r){if(!(e||r&&r.biff<=5&&r.biff>=2))throw new Error("empty sheet name");return/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(e)?"'"+e+"'":e}(a,t)}function Ni(e,r,t,a,n){var s,i,c,o,l=n&&n.biff||8,f={s:{c:0,r:0}},h=[],u=0,d=0,p="";if(!e[0]||!e[0][0])return"";for(var m=-1,g="",v=0,b=e[0].length;v=0){switch(e[0][m][1][0]){case 0:g=gr(" ",e[0][m][1][1]);break;case 1:g=gr("\r",e[0][m][1][1]);break;default:if(g="",n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][m][1][0])}i+=g,m=-1}h.push(i+Ri[T[0]]+s);break;case"PtgIsect":s=h.pop(),i=h.pop(),h.push(i+" "+s);break;case"PtgUnion":s=h.pop(),i=h.pop(),h.push(i+","+s);break;case"PtgRange":s=h.pop(),i=h.pop(),h.push(i+":"+s);break;case"PtgAttrChoose":case"PtgAttrGoto":case"PtgAttrIf":case"PtgAttrIfError":case"PtgAttrBaxcel":case"PtgAttrSemi":case"PtgMemArea":case"PtgTbl":case"PtgMemErr":case"PtgMemAreaN":case"PtgMemNoMemN":case"PtgAttrNoop":case"PtgSheet":case"PtgEndSheet":case"PtgMemFunc":case"PtgMemNoMem":break;case"PtgRef":c=Kt(T[1][1],f,n),h.push(Zt(c,l));break;case"PtgRefN":c=t?Kt(T[1][1],t,n):T[1][1],h.push(Zt(c,l));break;case"PtgRef3d":u=T[1][1],c=Kt(T[1][2],f,n),p=Ii(a,u,n),h.push(p+"!"+Zt(c,l));break;case"PtgFunc":case"PtgFuncVar":var E=T[1][0],w=T[1][1];E||(E=0);var A=0==(E&=127)?[]:h.slice(-E);h.length-=E,"User"===w&&(w=A.shift()),h.push(w+"("+A.join(",")+")");break;case"PtgBool":h.push(T[1]?"TRUE":"FALSE");break;case"PtgInt":case"PtgErr":h.push(T[1]);break;case"PtgNum":h.push(String(T[1]));break;case"PtgStr":h.push('"'+T[1].replace(/"/g,'""')+'"');break;case"PtgAreaN":o=Jt(T[1][1],t?{s:t}:f,n),h.push(qt(o,n));break;case"PtgArea":o=Jt(T[1][1],f,n),h.push(qt(o,n));break;case"PtgArea3d":u=T[1][1],o=T[1][2],p=Ii(a,u,n),h.push(p+"!"+qt(o,n));break;case"PtgAttrSum":h.push("SUM("+h.pop()+")");break;case"PtgName":d=T[1][2];var S=(a.names||[])[d-1]||(a[0]||[])[d],k=S?S.Name:"SH33TJSNAME"+String(d);k&&"_xlfn."==k.slice(0,6)&&!n.xlfn&&(k=k.slice(6)),h.push(k);break;case"PtgNameX":var y,_=T[1][1];if(d=T[1][2],!(n.biff<=5)){var C="";if(14849==((a[_]||[])[0]||[])[0]||(1025==((a[_]||[])[0]||[])[0]?a[_][d]&&a[_][d].itab>0&&(C=a.SheetNames[a[_][d].itab-1]+"!"):C=a.SheetNames[d-1]+"!"),a[_]&&a[_][d])C+=a[_][d].Name;else if(a[0]&&a[0][d])C+=a[0][d].Name;else{var O=(xi(a,_,n)||"").split(";;");O[d-1]?C=O[d-1]:C+="SH33TJSERRX"}h.push(C);break}_<0&&(_=-_),a[_]&&(y=a[_][d]),y||(y={Name:"SH33TJSERRY"}),h.push(y.Name);break;case"PtgParen":var R="(",x=")";if(m>=0){switch(g="",e[0][m][1][0]){case 2:R=gr(" ",e[0][m][1][1])+R;break;case 3:R=gr("\r",e[0][m][1][1])+R;break;case 4:x=gr(" ",e[0][m][1][1])+x;break;case 5:x=gr("\r",e[0][m][1][1])+x;break;default:if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][m][1][0])}m=-1}h.push(R+h.pop()+x);break;case"PtgRefErr":case"PtgRefErr3d":case"PtgAreaErr":case"PtgAreaErr3d":h.push("#REF!");break;case"PtgExp":c={c:T[1][1],r:T[1][0]};var I={c:t.c,r:t.r};if(a.sharedf[na(c)]){var N=a.sharedf[na(c)];h.push(Ni(N,f,I,a,n))}else{var D=!1;for(s=0;s!=a.arrayf.length;++s)if(i=a.arrayf[s],!(c.ci[0].e.c||c.ri[0].e.r)){h.push(Ni(i[1],f,I,a,n)),D=!0;break}D||h.push(T[1])}break;case"PtgArray":h.push("{"+Oi(T[1])+"}");break;case"PtgAttrSpace":case"PtgAttrSpaceSemi":m=v;break;case"PtgMissArg":h.push("");break;case"PtgList":h.push("Table"+T[1].idx+"[#"+T[1].rt+"]");break;case"PtgElfCol":case"PtgElfColS":case"PtgElfColSV":case"PtgElfColV":case"PtgElfLel":case"PtgElfRadical":case"PtgElfRadicalLel":case"PtgElfRadicalS":case"PtgElfRw":case"PtgElfRwV":throw new Error("Unsupported ELFs");default:throw new Error("Unrecognized Formula Token: "+String(T))}if(3!=n.biff&&m>=0&&-1==["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"].indexOf(e[0][v][0])){var F=!0;switch((T=e[0][m])[1][0]){case 4:F=!1;case 0:g=gr(" ",T[1][1]);break;case 5:F=!1;case 1:g=gr("\r",T[1][1]);break;default:if(g="",n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+T[1][0])}h.push((F?g:"")+h.pop()+(F?"":g)),m=-1}}if(h.length>1&&n.WTF)throw new Error("bad formula stack");return h[0]}function Di(e,r,t){var a,n=e.l+r,s=2==t.biff?1:2,i=e.read_shift(s);if(65535==i)return[[],jt(e,r-2)];var c=Ci(e,i,t);return r!==i+s&&(a=_i(e,r-i-s,c,t)),e.l=n,[c,a]}function Fi(e,r,t){var a,n=e.l+r,s=e.read_shift(2),i=Ci(e,s,t);return 65535==s?[[],jt(e,r-2)]:(r!==s+2&&(a=_i(e,n-s-2,i,t)),[i,a])}function Mi(e,r,t){var a=e.l+r,n=An(e);2==t.biff&&++e.l;var s=function(e){var r;if(65535!==Dt(e,e.l+6))return[_a(e),"n"];switch(e[e.l]){case 0:return e.l+=8,["String","s"];case 1:return r=1===e[e.l+2],e.l+=8,[r,"b"];case 2:return r=e[e.l+2],e.l+=8,[r,"e"];case 3:return e.l+=8,["","s"]}return[]}(e),i=e.read_shift(1);2!=t.biff&&(e.read_shift(1),t.biff>=5&&e.read_shift(4));var c=function(e,r,t){var a,n=e.l+r,s=2==t.biff?1:2,i=e.read_shift(s);if(65535==i)return[[],jt(e,r-2)];var c=Ci(e,i,t);return r!==i+s&&(a=_i(e,r-i-s,c,t)),e.l=n,[c,a]}(e,a-e.l,t);return{cell:n,val:s[0],formula:c,shared:i>>3&1,tt:s[1]}}function Pi(e,r,t){var a=e.read_shift(4),n=Ci(e,a,t),s=e.read_shift(4);return[n,s>0?_i(e,s,n,t):null]}var Li=Pi,Ui=Pi,Bi=Pi,Hi=Pi,Vi={0:"BEEP",1:"OPEN",2:"OPEN.LINKS",3:"CLOSE.ALL",4:"SAVE",5:"SAVE.AS",6:"FILE.DELETE",7:"PAGE.SETUP",8:"PRINT",9:"PRINTER.SETUP",10:"QUIT",11:"NEW.WINDOW",12:"ARRANGE.ALL",13:"WINDOW.SIZE",14:"WINDOW.MOVE",15:"FULL",16:"CLOSE",17:"RUN",22:"SET.PRINT.AREA",23:"SET.PRINT.TITLES",24:"SET.PAGE.BREAK",25:"REMOVE.PAGE.BREAK",26:"FONT",27:"DISPLAY",28:"PROTECT.DOCUMENT",29:"PRECISION",30:"A1.R1C1",31:"CALCULATE.NOW",32:"CALCULATION",34:"DATA.FIND",35:"EXTRACT",36:"DATA.DELETE",37:"SET.DATABASE",38:"SET.CRITERIA",39:"SORT",40:"DATA.SERIES",41:"TABLE",42:"FORMAT.NUMBER",43:"ALIGNMENT",44:"STYLE",45:"BORDER",46:"CELL.PROTECTION",47:"COLUMN.WIDTH",48:"UNDO",49:"CUT",50:"COPY",51:"PASTE",52:"CLEAR",53:"PASTE.SPECIAL",54:"EDIT.DELETE",55:"INSERT",56:"FILL.RIGHT",57:"FILL.DOWN",61:"DEFINE.NAME",62:"CREATE.NAMES",63:"FORMULA.GOTO",64:"FORMULA.FIND",65:"SELECT.LAST.CELL",66:"SHOW.ACTIVE.CELL",67:"GALLERY.AREA",68:"GALLERY.BAR",69:"GALLERY.COLUMN",70:"GALLERY.LINE",71:"GALLERY.PIE",72:"GALLERY.SCATTER",73:"COMBINATION",74:"PREFERRED",75:"ADD.OVERLAY",76:"GRIDLINES",77:"SET.PREFERRED",78:"AXES",79:"LEGEND",80:"ATTACH.TEXT",81:"ADD.ARROW",82:"SELECT.CHART",83:"SELECT.PLOT.AREA",84:"PATTERNS",85:"MAIN.CHART",86:"OVERLAY",87:"SCALE",88:"FORMAT.LEGEND",89:"FORMAT.TEXT",90:"EDIT.REPEAT",91:"PARSE",92:"JUSTIFY",93:"HIDE",94:"UNHIDE",95:"WORKSPACE",96:"FORMULA",97:"FORMULA.FILL",98:"FORMULA.ARRAY",99:"DATA.FIND.NEXT",100:"DATA.FIND.PREV",101:"FORMULA.FIND.NEXT",102:"FORMULA.FIND.PREV",103:"ACTIVATE",104:"ACTIVATE.NEXT",105:"ACTIVATE.PREV",106:"UNLOCKED.NEXT",107:"UNLOCKED.PREV",108:"COPY.PICTURE",109:"SELECT",110:"DELETE.NAME",111:"DELETE.FORMAT",112:"VLINE",113:"HLINE",114:"VPAGE",115:"HPAGE",116:"VSCROLL",117:"HSCROLL",118:"ALERT",119:"NEW",120:"CANCEL.COPY",121:"SHOW.CLIPBOARD",122:"MESSAGE",124:"PASTE.LINK",125:"APP.ACTIVATE",126:"DELETE.ARROW",127:"ROW.HEIGHT",128:"FORMAT.MOVE",129:"FORMAT.SIZE",130:"FORMULA.REPLACE",131:"SEND.KEYS",132:"SELECT.SPECIAL",133:"APPLY.NAMES",134:"REPLACE.FONT",135:"FREEZE.PANES",136:"SHOW.INFO",137:"SPLIT",138:"ON.WINDOW",139:"ON.DATA",140:"DISABLE.INPUT",142:"OUTLINE",143:"LIST.NAMES",144:"FILE.CLOSE",145:"SAVE.WORKBOOK",146:"DATA.FORM",147:"COPY.CHART",148:"ON.TIME",149:"WAIT",150:"FORMAT.FONT",151:"FILL.UP",152:"FILL.LEFT",153:"DELETE.OVERLAY",155:"SHORT.MENUS",159:"SET.UPDATE.STATUS",161:"COLOR.PALETTE",162:"DELETE.STYLE",163:"WINDOW.RESTORE",164:"WINDOW.MAXIMIZE",166:"CHANGE.LINK",167:"CALCULATE.DOCUMENT",168:"ON.KEY",169:"APP.RESTORE",170:"APP.MOVE",171:"APP.SIZE",172:"APP.MINIMIZE",173:"APP.MAXIMIZE",174:"BRING.TO.FRONT",175:"SEND.TO.BACK",185:"MAIN.CHART.TYPE",186:"OVERLAY.CHART.TYPE",187:"SELECT.END",188:"OPEN.MAIL",189:"SEND.MAIL",190:"STANDARD.FONT",191:"CONSOLIDATE",192:"SORT.SPECIAL",193:"GALLERY.3D.AREA",194:"GALLERY.3D.COLUMN",195:"GALLERY.3D.LINE",196:"GALLERY.3D.PIE",197:"VIEW.3D",198:"GOAL.SEEK",199:"WORKGROUP",200:"FILL.GROUP",201:"UPDATE.LINK",202:"PROMOTE",203:"DEMOTE",204:"SHOW.DETAIL",206:"UNGROUP",207:"OBJECT.PROPERTIES",208:"SAVE.NEW.OBJECT",209:"SHARE",210:"SHARE.NAME",211:"DUPLICATE",212:"APPLY.STYLE",213:"ASSIGN.TO.OBJECT",214:"OBJECT.PROTECTION",215:"HIDE.OBJECT",216:"SET.EXTRACT",217:"CREATE.PUBLISHER",218:"SUBSCRIBE.TO",219:"ATTRIBUTES",220:"SHOW.TOOLBAR",222:"PRINT.PREVIEW",223:"EDIT.COLOR",224:"SHOW.LEVELS",225:"FORMAT.MAIN",226:"FORMAT.OVERLAY",227:"ON.RECALC",228:"EDIT.SERIES",229:"DEFINE.STYLE",240:"LINE.PRINT",243:"ENTER.DATA",249:"GALLERY.RADAR",250:"MERGE.STYLES",251:"EDITION.OPTIONS",252:"PASTE.PICTURE",253:"PASTE.PICTURE.LINK",254:"SPELLING",256:"ZOOM",259:"INSERT.OBJECT",260:"WINDOW.MINIMIZE",265:"SOUND.NOTE",266:"SOUND.PLAY",267:"FORMAT.SHAPE",268:"EXTEND.POLYGON",269:"FORMAT.AUTO",272:"GALLERY.3D.BAR",273:"GALLERY.3D.SURFACE",274:"FILL.AUTO",276:"CUSTOMIZE.TOOLBAR",277:"ADD.TOOL",278:"EDIT.OBJECT",279:"ON.DOUBLECLICK",280:"ON.ENTRY",281:"WORKBOOK.ADD",282:"WORKBOOK.MOVE",283:"WORKBOOK.COPY",284:"WORKBOOK.OPTIONS",285:"SAVE.WORKSPACE",288:"CHART.WIZARD",289:"DELETE.TOOL",290:"MOVE.TOOL",291:"WORKBOOK.SELECT",292:"WORKBOOK.ACTIVATE",293:"ASSIGN.TO.TOOL",295:"COPY.TOOL",296:"RESET.TOOL",297:"CONSTRAIN.NUMERIC",298:"PASTE.TOOL",302:"WORKBOOK.NEW",305:"SCENARIO.CELLS",306:"SCENARIO.DELETE",307:"SCENARIO.ADD",308:"SCENARIO.EDIT",309:"SCENARIO.SHOW",310:"SCENARIO.SHOW.NEXT",311:"SCENARIO.SUMMARY",312:"PIVOT.TABLE.WIZARD",313:"PIVOT.FIELD.PROPERTIES",314:"PIVOT.FIELD",315:"PIVOT.ITEM",316:"PIVOT.ADD.FIELDS",318:"OPTIONS.CALCULATION",319:"OPTIONS.EDIT",320:"OPTIONS.VIEW",321:"ADDIN.MANAGER",322:"MENU.EDITOR",323:"ATTACH.TOOLBARS",324:"VBAActivate",325:"OPTIONS.CHART",328:"VBA.INSERT.FILE",330:"VBA.PROCEDURE.DEFINITION",336:"ROUTING.SLIP",338:"ROUTE.DOCUMENT",339:"MAIL.LOGON",342:"INSERT.PICTURE",343:"EDIT.TOOL",344:"GALLERY.DOUGHNUT",350:"CHART.TREND",352:"PIVOT.ITEM.PROPERTIES",354:"WORKBOOK.INSERT",355:"OPTIONS.TRANSITION",356:"OPTIONS.GENERAL",370:"FILTER.ADVANCED",373:"MAIL.ADD.MAILER",374:"MAIL.DELETE.MAILER",375:"MAIL.REPLY",376:"MAIL.REPLY.ALL",377:"MAIL.FORWARD",378:"MAIL.NEXT.LETTER",379:"DATA.LABEL",380:"INSERT.TITLE",381:"FONT.PROPERTIES",382:"MACRO.OPTIONS",383:"WORKBOOK.HIDE",384:"WORKBOOK.UNHIDE",385:"WORKBOOK.DELETE",386:"WORKBOOK.NAME",388:"GALLERY.CUSTOM",390:"ADD.CHART.AUTOFORMAT",391:"DELETE.CHART.AUTOFORMAT",392:"CHART.ADD.DATA",393:"AUTO.OUTLINE",394:"TAB.ORDER",395:"SHOW.DIALOG",396:"SELECT.ALL",397:"UNGROUP.SHEETS",398:"SUBTOTAL.CREATE",399:"SUBTOTAL.REMOVE",400:"RENAME.OBJECT",412:"WORKBOOK.SCROLL",413:"WORKBOOK.NEXT",414:"WORKBOOK.PREV",415:"WORKBOOK.TAB.SPLIT",416:"FULL.SCREEN",417:"WORKBOOK.PROTECT",420:"SCROLLBAR.PROPERTIES",421:"PIVOT.SHOW.PAGES",422:"TEXT.TO.COLUMNS",423:"FORMAT.CHARTTYPE",424:"LINK.FORMAT",425:"TRACER.DISPLAY",430:"TRACER.NAVIGATE",431:"TRACER.CLEAR",432:"TRACER.ERROR",433:"PIVOT.FIELD.GROUP",434:"PIVOT.FIELD.UNGROUP",435:"CHECKBOX.PROPERTIES",436:"LABEL.PROPERTIES",437:"LISTBOX.PROPERTIES",438:"EDITBOX.PROPERTIES",439:"PIVOT.REFRESH",440:"LINK.COMBO",441:"OPEN.TEXT",442:"HIDE.DIALOG",443:"SET.DIALOG.FOCUS",444:"ENABLE.OBJECT",445:"PUSHBUTTON.PROPERTIES",446:"SET.DIALOG.DEFAULT",447:"FILTER",448:"FILTER.SHOW.ALL",449:"CLEAR.OUTLINE",450:"FUNCTION.WIZARD",451:"ADD.LIST.ITEM",452:"SET.LIST.ITEM",453:"REMOVE.LIST.ITEM",454:"SELECT.LIST.ITEM",455:"SET.CONTROL.VALUE",456:"SAVE.COPY.AS",458:"OPTIONS.LISTS.ADD",459:"OPTIONS.LISTS.DELETE",460:"SERIES.AXES",461:"SERIES.X",462:"SERIES.Y",463:"ERRORBAR.X",464:"ERRORBAR.Y",465:"FORMAT.CHART",466:"SERIES.ORDER",467:"MAIL.LOGOFF",468:"CLEAR.ROUTING.SLIP",469:"APP.ACTIVATE.MICROSOFT",470:"MAIL.EDIT.MAILER",471:"ON.SHEET",472:"STANDARD.WIDTH",473:"SCENARIO.MERGE",474:"SUMMARY.INFO",475:"FIND.FILE",476:"ACTIVE.CELL.FONT",477:"ENABLE.TIPWIZARD",478:"VBA.MAKE.ADDIN",480:"INSERTDATATABLE",481:"WORKGROUP.OPTIONS",482:"MAIL.SEND.MAILER",485:"AUTOCORRECT",489:"POST.DOCUMENT",491:"PICKLIST",493:"VIEW.SHOW",494:"VIEW.DEFINE",495:"VIEW.DELETE",509:"SHEET.BACKGROUND",510:"INSERT.MAP.OBJECT",511:"OPTIONS.MENONO",517:"MSOCHECKS",518:"NORMAL",519:"LAYOUT",520:"RM.PRINT.AREA",521:"CLEAR.PRINT.AREA",522:"ADD.PRINT.AREA",523:"MOVE.BRK",545:"HIDECURR.NOTE",546:"HIDEALL.NOTES",547:"DELETE.NOTE",548:"TRAVERSE.NOTES",549:"ACTIVATE.NOTES",620:"PROTECT.REVISIONS",621:"UNPROTECT.REVISIONS",647:"OPTIONS.ME",653:"WEB.PUBLISH",667:"NEWWEBQUERY",673:"PIVOT.TABLE.CHART",753:"OPTIONS.SAVE",755:"OPTIONS.SPELL",808:"HIDEALL.INKANNOTS"},Wi={0:"COUNT",1:"IF",2:"ISNA",3:"ISERROR",4:"SUM",5:"AVERAGE",6:"MIN",7:"MAX",8:"ROW",9:"COLUMN",10:"NA",11:"NPV",12:"STDEV",13:"DOLLAR",14:"FIXED",15:"SIN",16:"COS",17:"TAN",18:"ATAN",19:"PI",20:"SQRT",21:"EXP",22:"LN",23:"LOG10",24:"ABS",25:"INT",26:"SIGN",27:"ROUND",28:"LOOKUP",29:"INDEX",30:"REPT",31:"MID",32:"LEN",33:"VALUE",34:"TRUE",35:"FALSE",36:"AND",37:"OR",38:"NOT",39:"MOD",40:"DCOUNT",41:"DSUM",42:"DAVERAGE",43:"DMIN",44:"DMAX",45:"DSTDEV",46:"VAR",47:"DVAR",48:"TEXT",49:"LINEST",50:"TREND",51:"LOGEST",52:"GROWTH",53:"GOTO",54:"HALT",55:"RETURN",56:"PV",57:"FV",58:"NPER",59:"PMT",60:"RATE",61:"MIRR",62:"IRR",63:"RAND",64:"MATCH",65:"DATE",66:"TIME",67:"DAY",68:"MONTH",69:"YEAR",70:"WEEKDAY",71:"HOUR",72:"MINUTE",73:"SECOND",74:"NOW",75:"AREAS",76:"ROWS",77:"COLUMNS",78:"OFFSET",79:"ABSREF",80:"RELREF",81:"ARGUMENT",82:"SEARCH",83:"TRANSPOSE",84:"ERROR",85:"STEP",86:"TYPE",87:"ECHO",88:"SET.NAME",89:"CALLER",90:"DEREF",91:"WINDOWS",92:"SERIES",93:"DOCUMENTS",94:"ACTIVE.CELL",95:"SELECTION",96:"RESULT",97:"ATAN2",98:"ASIN",99:"ACOS",100:"CHOOSE",101:"HLOOKUP",102:"VLOOKUP",103:"LINKS",104:"INPUT",105:"ISREF",106:"GET.FORMULA",107:"GET.NAME",108:"SET.VALUE",109:"LOG",110:"EXEC",111:"CHAR",112:"LOWER",113:"UPPER",114:"PROPER",115:"LEFT",116:"RIGHT",117:"EXACT",118:"TRIM",119:"REPLACE",120:"SUBSTITUTE",121:"CODE",122:"NAMES",123:"DIRECTORY",124:"FIND",125:"CELL",126:"ISERR",127:"ISTEXT",128:"ISNUMBER",129:"ISBLANK",130:"T",131:"N",132:"FOPEN",133:"FCLOSE",134:"FSIZE",135:"FREADLN",136:"FREAD",137:"FWRITELN",138:"FWRITE",139:"FPOS",140:"DATEVALUE",141:"TIMEVALUE",142:"SLN",143:"SYD",144:"DDB",145:"GET.DEF",146:"REFTEXT",147:"TEXTREF",148:"INDIRECT",149:"REGISTER",150:"CALL",151:"ADD.BAR",152:"ADD.MENU",153:"ADD.COMMAND",154:"ENABLE.COMMAND",155:"CHECK.COMMAND",156:"RENAME.COMMAND",157:"SHOW.BAR",158:"DELETE.MENU",159:"DELETE.COMMAND",160:"GET.CHART.ITEM",161:"DIALOG.BOX",162:"CLEAN",163:"MDETERM",164:"MINVERSE",165:"MMULT",166:"FILES",167:"IPMT",168:"PPMT",169:"COUNTA",170:"CANCEL.KEY",171:"FOR",172:"WHILE",173:"BREAK",174:"NEXT",175:"INITIATE",176:"REQUEST",177:"POKE",178:"EXECUTE",179:"TERMINATE",180:"RESTART",181:"HELP",182:"GET.BAR",183:"PRODUCT",184:"FACT",185:"GET.CELL",186:"GET.WORKSPACE",187:"GET.WINDOW",188:"GET.DOCUMENT",189:"DPRODUCT",190:"ISNONTEXT",191:"GET.NOTE",192:"NOTE",193:"STDEVP",194:"VARP",195:"DSTDEVP",196:"DVARP",197:"TRUNC",198:"ISLOGICAL",199:"DCOUNTA",200:"DELETE.BAR",201:"UNREGISTER",204:"USDOLLAR",205:"FINDB",206:"SEARCHB",207:"REPLACEB",208:"LEFTB",209:"RIGHTB",210:"MIDB",211:"LENB",212:"ROUNDUP",213:"ROUNDDOWN",214:"ASC",215:"DBCS",216:"RANK",219:"ADDRESS",220:"DAYS360",221:"TODAY",222:"VDB",223:"ELSE",224:"ELSE.IF",225:"END.IF",226:"FOR.CELL",227:"MEDIAN",228:"SUMPRODUCT",229:"SINH",230:"COSH",231:"TANH",232:"ASINH",233:"ACOSH",234:"ATANH",235:"DGET",236:"CREATE.OBJECT",237:"VOLATILE",238:"LAST.ERROR",239:"CUSTOM.UNDO",240:"CUSTOM.REPEAT",241:"FORMULA.CONVERT",242:"GET.LINK.INFO",243:"TEXT.BOX",244:"INFO",245:"GROUP",246:"GET.OBJECT",247:"DB",248:"PAUSE",251:"RESUME",252:"FREQUENCY",253:"ADD.TOOLBAR",254:"DELETE.TOOLBAR",255:"User",256:"RESET.TOOLBAR",257:"EVALUATE",258:"GET.TOOLBAR",259:"GET.TOOL",260:"SPELLING.CHECK",261:"ERROR.TYPE",262:"APP.TITLE",263:"WINDOW.TITLE",264:"SAVE.TOOLBAR",265:"ENABLE.TOOL",266:"PRESS.TOOL",267:"REGISTER.ID",268:"GET.WORKBOOK",269:"AVEDEV",270:"BETADIST",271:"GAMMALN",272:"BETAINV",273:"BINOMDIST",274:"CHIDIST",275:"CHIINV",276:"COMBIN",277:"CONFIDENCE",278:"CRITBINOM",279:"EVEN",280:"EXPONDIST",281:"FDIST",282:"FINV",283:"FISHER",284:"FISHERINV",285:"FLOOR",286:"GAMMADIST",287:"GAMMAINV",288:"CEILING",289:"HYPGEOMDIST",290:"LOGNORMDIST",291:"LOGINV",292:"NEGBINOMDIST",293:"NORMDIST",294:"NORMSDIST",295:"NORMINV",296:"NORMSINV",297:"STANDARDIZE",298:"ODD",299:"PERMUT",300:"POISSON",301:"TDIST",302:"WEIBULL",303:"SUMXMY2",304:"SUMX2MY2",305:"SUMX2PY2",306:"CHITEST",307:"CORREL",308:"COVAR",309:"FORECAST",310:"FTEST",311:"INTERCEPT",312:"PEARSON",313:"RSQ",314:"STEYX",315:"SLOPE",316:"TTEST",317:"PROB",318:"DEVSQ",319:"GEOMEAN",320:"HARMEAN",321:"SUMSQ",322:"KURT",323:"SKEW",324:"ZTEST",325:"LARGE",326:"SMALL",327:"QUARTILE",328:"PERCENTILE",329:"PERCENTRANK",330:"MODE",331:"TRIMMEAN",332:"TINV",334:"MOVIE.COMMAND",335:"GET.MOVIE",336:"CONCATENATE",337:"POWER",338:"PIVOT.ADD.DATA",339:"GET.PIVOT.TABLE",340:"GET.PIVOT.FIELD",341:"GET.PIVOT.ITEM",342:"RADIANS",343:"DEGREES",344:"SUBTOTAL",345:"SUMIF",346:"COUNTIF",347:"COUNTBLANK",348:"SCENARIO.GET",349:"OPTIONS.LISTS.GET",350:"ISPMT",351:"DATEDIF",352:"DATESTRING",353:"NUMBERSTRING",354:"ROMAN",355:"OPEN.DIALOG",356:"SAVE.DIALOG",357:"VIEW.GET",358:"GETPIVOTDATA",359:"HYPERLINK",360:"PHONETIC",361:"AVERAGEA",362:"MAXA",363:"MINA",364:"STDEVPA",365:"VARPA",366:"STDEVA",367:"VARA",368:"BAHTTEXT",369:"THAIDAYOFWEEK",370:"THAIDIGIT",371:"THAIMONTHOFYEAR",372:"THAINUMSOUND",373:"THAINUMSTRING",374:"THAISTRINGLENGTH",375:"ISTHAIDIGIT",376:"ROUNDBAHTDOWN",377:"ROUNDBAHTUP",378:"THAIYEAR",379:"RTD",380:"CUBEVALUE",381:"CUBEMEMBER",382:"CUBEMEMBERPROPERTY",383:"CUBERANKEDMEMBER",384:"HEX2BIN",385:"HEX2DEC",386:"HEX2OCT",387:"DEC2BIN",388:"DEC2HEX",389:"DEC2OCT",390:"OCT2BIN",391:"OCT2HEX",392:"OCT2DEC",393:"BIN2DEC",394:"BIN2OCT",395:"BIN2HEX",396:"IMSUB",397:"IMDIV",398:"IMPOWER",399:"IMABS",400:"IMSQRT",401:"IMLN",402:"IMLOG2",403:"IMLOG10",404:"IMSIN",405:"IMCOS",406:"IMEXP",407:"IMARGUMENT",408:"IMCONJUGATE",409:"IMAGINARY",410:"IMREAL",411:"COMPLEX",412:"IMSUM",413:"IMPRODUCT",414:"SERIESSUM",415:"FACTDOUBLE",416:"SQRTPI",417:"QUOTIENT",418:"DELTA",419:"GESTEP",420:"ISEVEN",421:"ISODD",422:"MROUND",423:"ERF",424:"ERFC",425:"BESSELJ",426:"BESSELK",427:"BESSELY",428:"BESSELI",429:"XIRR",430:"XNPV",431:"PRICEMAT",432:"YIELDMAT",433:"INTRATE",434:"RECEIVED",435:"DISC",436:"PRICEDISC",437:"YIELDDISC",438:"TBILLEQ",439:"TBILLPRICE",440:"TBILLYIELD",441:"PRICE",442:"YIELD",443:"DOLLARDE",444:"DOLLARFR",445:"NOMINAL",446:"EFFECT",447:"CUMPRINC",448:"CUMIPMT",449:"EDATE",450:"EOMONTH",451:"YEARFRAC",452:"COUPDAYBS",453:"COUPDAYS",454:"COUPDAYSNC",455:"COUPNCD",456:"COUPNUM",457:"COUPPCD",458:"DURATION",459:"MDURATION",460:"ODDLPRICE",461:"ODDLYIELD",462:"ODDFPRICE",463:"ODDFYIELD",464:"RANDBETWEEN",465:"WEEKNUM",466:"AMORDEGRC",467:"AMORLINC",468:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"},Gi={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};function zi(e){return"of:"==e.slice(0,3)&&(e=e.slice(3)),61==e.charCodeAt(0)&&61==(e=e.slice(1)).charCodeAt(0)&&(e=e.slice(1)),(e=(e=(e=e.replace(/COM\.MICROSOFT\./g,"")).replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function(e,r){return r.replace(/\./g,"")})).replace(/\[.(#[A-Z]*[?!])\]/g,"$1")).replace(/[;~]/g,",").replace(/\|/g,";")}function ji(e){var r=e.split(":");return[r[0].split(".")[0],r[0].split(".")[1]+(r.length>1?":"+(r[1].split(".")[1]||r[1].split(".")[0]):"")]}var $i={},Yi={};function Xi(e,r){if(e){var t=[.7,.7,.75,.75,.3,.3];"xlml"==r&&(t=[1,1,1,1,.5,.5]),null==e.left&&(e.left=t[0]),null==e.right&&(e.right=t[1]),null==e.top&&(e.top=t[2]),null==e.bottom&&(e.bottom=t[3]),null==e.header&&(e.header=t[4]),null==e.footer&&(e.footer=t[5])}}function Ki(e,r,t,a,n,s){try{a.cellNF&&(e.z=ge[r])}catch(c){if(a.WTF)throw c}if("z"!==e.t||a.cellStyles){if("d"===e.t&&"string"==typeof e.v&&(e.v=dr(e.v)),(!a||!1!==a.cellText)&&"z"!==e.t)try{if(null==ge[r]&&Ke(Ze[r]||"General",r),"e"===e.t)e.w=e.w||Pa[e.v];else if(0===r)if("n"===e.t)(0|e.v)===e.v?e.w=e.v.toString(10):e.w=_e(e.v);else if("d"===e.t){var i=nr(e.v);e.w=(0|i)===i?i.toString(10):_e(i)}else{if(void 0===e.v)return"";e.w=Ce(e.v,Yi)}else"d"===e.t?e.w=Xe(r,nr(e.v),Yi):e.w=Xe(r,e.v,Yi)}catch(c){if(a.WTF)throw c}if(a.cellStyles&&null!=t)try{e.s=s.Fills[t],e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb&&(e.s.fgColor.rgb=ks(n.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0),a.WTF&&(e.s.fgColor.raw_rgb=n.themeElements.clrScheme[e.s.fgColor.theme].rgb)),e.s.bgColor&&e.s.bgColor.theme&&(e.s.bgColor.rgb=ks(n.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0),a.WTF&&(e.s.bgColor.raw_rgb=n.themeElements.clrScheme[e.s.bgColor.theme].rgb))}catch(c){if(a.WTF&&s.Fills)throw c}}}var Ji=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g,Zi=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/,qi=/<(?:\w:)?hyperlink [^>]*>/gm,Qi=/"(\w*:\w*)"/,ec=/<(?:\w:)?col\b[^>]*[\/]?>/g,rc=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g,tc=/<(?:\w:)?pageMargins[^>]*\/>/g,ac=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/,nc=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/,sc=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function ic(e,r,t,a,n,s,i){if(!e)return e;a||(a={"!id":{}});var c=r.dense?[]:{},o={s:{r:2e6,c:2e6},e:{r:0,c:0}},l="",f="",h=e.match(Zi);h?(l=e.slice(0,h.index),f=e.slice(h.index+h[0].length)):l=f=e;var u=l.match(ac);u?cc(u[0],c,n,t):(u=l.match(nc))&&function(e,r,t,a,n){cc(e.slice(0,e.indexOf(">")),t,a,n)}(u[0],u[1],c,n,t);var d=(l.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(d>0){var p=l.slice(d,d+50).match(Qi);p&&function(e,r){var t=ca(r);t.s.r<=t.e.r&&t.s.c<=t.e.c&&t.s.r>=0&&t.s.c>=0&&(e["!ref"]=ia(t))}(c,p[1])}var m=l.match(sc);m&&m[1]&&function(e,r){r.Views||(r.Views=[{}]);(e.match(oc)||[]).forEach(function(e,t){var a=Lr(e);r.Views[t]||(r.Views[t]={}),+a.zoomScale&&(r.Views[t].zoom=+a.zoomScale),$r(a.rightToLeft)&&(r.Views[t].RTL=!0)})}(m[1],n);var g=[];if(r.cellStyles){var v=l.match(ec);v&&function(e,r){for(var t=!1,a=0;a!=r.length;++a){var n=Lr(r[a],!0);n.hidden&&(n.hidden=$r(n.hidden));var s=parseInt(n.min,10)-1,i=parseInt(n.max,10)-1;for(n.outlineLevel&&(n.level=+n.outlineLevel||0),delete n.min,delete n.max,n.width=+n.width,!t&&n.width&&(t=!0,xs(n.width)),Is(n);s<=i;)e[s++]=mr(n)}}(g,v)}h&&lc(h[1],c,r,o,s,i);var b=f.match(rc);b&&(c["!autofilter"]=function(e){var r={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return r}(b[0]));var T=[],E=f.match(Ji);if(E)for(d=0;d!=E.length;++d)T[d]=ca(E[d].slice(E[d].indexOf('"')+1));var w=f.match(qi);w&&function(e,r,t){for(var a=Array.isArray(e),n=0;n!=r.length;++n){var s=Lr(Zr(r[n]),!0);if(!s.ref)return;var i=((t||{})["!id"]||[])[s.id];i?(s.Target=i.Target,s.location&&(s.Target+="#"+Vr(s.location))):(s.Target="#"+Vr(s.location),i={Target:s.Target,TargetMode:"Internal"}),s.Rel=i,s.tooltip&&(s.Tooltip=s.tooltip,delete s.tooltip);for(var c=ca(s.ref),o=c.s.r;o<=c.e.r;++o)for(var l=c.s.c;l<=c.e.c;++l){var f=na({c:l,r:o});a?(e[o]||(e[o]=[]),e[o][l]||(e[o][l]={t:"z",v:void 0}),e[o][l].l=s):(e[f]||(e[f]={t:"z",v:void 0}),e[f].l=s)}}}(c,w,a);var A,S,k=f.match(tc);if(k&&(c["!margins"]=(A=Lr(k[0]),S={},["left","right","top","bottom","header","footer"].forEach(function(e){A[e]&&(S[e]=parseFloat(A[e]))}),S)),!c["!ref"]&&o.e.c>=o.s.c&&o.e.r>=o.s.r&&(c["!ref"]=ia(o)),r.sheetRows>0&&c["!ref"]){var y=ca(c["!ref"]);r.sheetRows<=+y.e.r&&(y.e.r=r.sheetRows-1,y.e.r>o.e.r&&(y.e.r=o.e.r),y.e.ro.e.c&&(y.e.c=o.e.c),y.e.c0&&(c["!cols"]=g),T.length>0&&(c["!merges"]=T),c}function cc(e,r,t,a){var n=Lr(e);t.Sheets[a]||(t.Sheets[a]={}),n.codeName&&(t.Sheets[a].CodeName=Vr(Zr(n.codeName)))}var oc=/<(?:\w:)?sheetView(?:[^>a-z][^>]*)?\/?>/;var lc=function(){var e=/<(?:\w+:)?c[ \/>]/,r=/<\/(?:\w+:)?row>/,t=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/,n=/ref=["']([^"']*)["']/,s=Qr("v"),i=Qr("f");return function(c,o,l,f,h,u){for(var d,p,m,g,v,b=0,T="",E=[],w=[],A=0,S=0,k=0,y="",_=0,C=0,O=0,R=0,x=Array.isArray(u.CellXf),I=[],N=[],D=Array.isArray(o),F=[],M={},P=!1,L=!!l.sheetStubs,U=c.split(r),B=0,H=U.length;B!=H;++B){var V=(T=U[B].trim()).length;if(0!==V){var W=0;e:for(b=0;b":if("/"!=T[b-1]){++b;break e}if(l&&l.cellStyles){if(_=null!=(p=Lr(T.slice(W,b),!0)).r?parseInt(p.r,10):_+1,C=-1,l.sheetRows&&l.sheetRows<_)continue;M={},P=!1,p.ht&&(P=!0,M.hpt=parseFloat(p.ht),M.hpx=Fs(M.hpt)),"1"==p.hidden&&(P=!0,M.hidden=!0),null!=p.outlineLevel&&(P=!0,M.level=+p.outlineLevel),P&&(F[_-1]=M)}break;case"<":W=b}if(W>=b)break;if(_=null!=(p=Lr(T.slice(W,b),!0)).r?parseInt(p.r,10):_+1,C=-1,!(l.sheetRows&&l.sheetRows<_)){f.s.r>_-1&&(f.s.r=_-1),f.e.r<_-1&&(f.e.r=_-1),l&&l.cellStyles&&(M={},P=!1,p.ht&&(P=!0,M.hpt=parseFloat(p.ht),M.hpx=Fs(M.hpt)),"1"==p.hidden&&(P=!0,M.hidden=!0),null!=p.outlineLevel&&(P=!0,M.level=+p.outlineLevel),P&&(F[_-1]=M)),E=T.slice(b).split(e);for(var G=0;G!=E.length&&"<"==E[G].trim().charAt(0);++G);for(E=E.slice(G),b=0;b!=E.length;++b)if(0!==(T=E[b].trim()).length){if(w=T.match(t),A=b,S=0,k=0,T="":"")+T,null!=w&&2===w.length){for(A=0,y=w[1],S=0;S!=y.length&&!((k=y.charCodeAt(S)-64)<1||k>26);++S)A=26*A+k;C=--A}else++C;for(S=0;S!=T.length&&62!==T.charCodeAt(S);++S);if(++S,(p=Lr(T.slice(0,S),!0)).r||(p.r=na({r:_-1,c:C})),d={t:""},null!=(w=(y=T.slice(S)).match(s))&&""!==w[1]&&(d.v=Vr(w[1])),l.cellFormula){if(null!=(w=y.match(i))&&""!==w[1]){if(d.f=Vr(Zr(w[1])).replace(/\r\n/g,"\n"),l.xlfn||(d.f=ii(d.f)),w[0].indexOf('t="array"')>-1)d.F=(y.match(n)||[])[1],d.F.indexOf(":")>-1&&I.push([ca(d.F),d.F]);else if(w[0].indexOf('t="shared"')>-1){g=Lr(w[0]);var z=Vr(Zr(w[1]));l.xlfn||(z=ii(z)),N[parseInt(g.si,10)]=[g,z,p.r]}}else(w=y.match(/]*\/>/))&&N[(g=Lr(w[0])).si]&&(d.f=si(N[g.si][1],N[g.si][2],p.r));var j=aa(p.r);for(S=0;S=I[S][0].s.r&&j.r<=I[S][0].e.r&&j.c>=I[S][0].s.c&&j.c<=I[S][0].e.c&&(d.F=I[S][1])}if(null==p.t&&void 0===d.v)if(d.f||d.F)d.v=0,d.t="n";else{if(!L)continue;d.t="z"}else d.t=p.t||"n";switch(f.s.c>C&&(f.s.c=C),f.e.c0&&(o["!rows"]=F)}}();var fc=ya;function hc(e){return[ba(e),_a(e),"n"]}var uc=ya;var dc=["left","right","top","bottom","header","footer"];function pc(e,r,t,a,n,s){var i=s||{"!type":"chart"};if(!e)return s;var c=0,o=0,l="A",f={s:{r:2e6,c:2e6},e:{r:0,c:0}};return(e.match(/[\s\S]*?<\/c:numCache>/gm)||[]).forEach(function(e){var r=function(e){var r,t=[],a=e.match(/^/);(e.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(e){var r=e.match(/(.*)<\/c:v><\/c:pt>/);r&&(t[+r[1]]=a?+r[2]:r[2])});var n=Vr((e.match(/([\s\S]*?)<\/c:formatCode>/)||["","General"])[1]);return(e.match(/(.*?)<\/c:f>/gm)||[]).forEach(function(e){r=e.replace(/<.*?>/g,"")}),[t,n,r]}(e);f.s.r=f.s.c=0,f.e.c=c,l=ta(c),r[0].forEach(function(e,t){i[l+ea(t)]={t:"n",v:e,z:r[1]},o=t}),f.e.r0&&(i["!ref"]=ia(f)),i}var mc=[["allowRefreshQuery",!1,"bool"],["autoCompressPictures",!0,"bool"],["backupFile",!1,"bool"],["checkCompatibility",!1,"bool"],["CodeName",""],["date1904",!1,"bool"],["defaultThemeVersion",0,"int"],["filterPrivacy",!1,"bool"],["hidePivotFieldList",!1,"bool"],["promptedSolutions",!1,"bool"],["publishItems",!1,"bool"],["refreshAllConnections",!1,"bool"],["saveExternalLinkValues",!0,"bool"],["showBorderUnselectedTables",!0,"bool"],["showInkAnnotation",!0,"bool"],["showObjects","all"],["showPivotChartFilter",!1,"bool"],["updateLinks","userSet"]],gc=[["activeTab",0,"int"],["autoFilterDateGrouping",!0,"bool"],["firstSheet",0,"int"],["minimized",!1,"bool"],["showHorizontalScroll",!0,"bool"],["showSheetTabs",!0,"bool"],["showVerticalScroll",!0,"bool"],["tabRatio",600,"int"],["visibility","visible"]],vc=[],bc=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function Tc(e,r){for(var t=0;t!=e.length;++t)for(var a=e[t],n=0;n!=r.length;++n){var s=r[n];if(null==a[s[0]])a[s[0]]=s[1];else switch(s[2]){case"bool":"string"==typeof a[s[0]]&&(a[s[0]]=$r(a[s[0]]));break;case"int":"string"==typeof a[s[0]]&&(a[s[0]]=parseInt(a[s[0]],10))}}}function Ec(e,r){for(var t=0;t!=r.length;++t){var a=r[t];if(null==e[a[0]])e[a[0]]=a[1];else switch(a[2]){case"bool":"string"==typeof e[a[0]]&&(e[a[0]]=$r(e[a[0]]));break;case"int":"string"==typeof e[a[0]]&&(e[a[0]]=parseInt(e[a[0]],10))}}}function wc(e){Ec(e.WBProps,mc),Ec(e.CalcPr,bc),Tc(e.WBView,gc),Tc(e.Sheets,vc),Yi.date1904=$r(e.WBProps.date1904)}var Ac="][*?/\\".split("");var Sc=/<\w+:workbook/;function kc(e,r){var t={};return e.read_shift(4),t.ArchID=e.read_shift(4),e.l+=r-8,t}function yc(e,r,t){return".bin"===r.slice(-4)?function(e,r){var t={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""},a=[],n=!1;r||(r={}),r.biff=12;var s=[],i=[[]];return i.SheetNames=[],i.XTI=[],ro[16]={n:"BrtFRTArchID$",f:kc},Yt(e,function(e,c,o){switch(o){case 156:i.SheetNames.push(e.name),t.Sheets.push(e);break;case 153:t.WBProps=e;break;case 39:null!=e.Sheet&&(r.SID=e.Sheet),e.Ref=Ni(e.Ptg,0,null,i,r),delete r.SID,delete e.Ptg,s.push(e);break;case 1036:case 361:case 2071:case 158:case 143:case 664:case 353:case 3072:case 3073:case 534:case 677:case 157:case 610:case 2050:case 155:case 548:case 676:case 128:case 665:case 2128:case 2125:case 549:case 2053:case 596:case 2076:case 2075:case 2082:case 397:case 154:case 1117:case 553:case 2091:case 16:break;case 357:case 358:case 355:case 667:i[0].length?i.push([o,e]):i[0]=[o,e],i[i.length-1].XTI=[];break;case 362:0===i.length&&(i[0]=[],i[0].XTI=[]),i[i.length-1].XTI=i[i.length-1].XTI.concat(e),i.XTI=i.XTI.concat(e);break;case 35:case 37:a.push(o),n=!0;break;case 36:case 38:a.pop(),n=!1;break;default:if(c.T);else if(!n||r.WTF&&37!=a[a.length-1]&&35!=a[a.length-1])throw new Error("Unexpected record 0x"+o.toString(16))}},r),wc(t),t.Names=s,t.supbooks=i,t}(e,t):function(e,r){if(!e)throw new Error("Could not find file");var t={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},Names:[],xmlns:""},a=!1,n="xmlns",s={},i=0;if(e.replace(Fr,function(c,o){var l=Lr(c);switch(Ur(l[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":mc.forEach(function(e){if(null!=l[e[0]])switch(e[2]){case"bool":t.WBProps[e[0]]=$r(l[e[0]]);break;case"int":t.WBProps[e[0]]=parseInt(l[e[0]],10);break;default:t.WBProps[e[0]]=l[e[0]]}}),l.codeName&&(t.WBProps.CodeName=Zr(l.codeName));break;case"":delete l[0],t.WBView.push(l);break;case"":case"":a=!0;break;case"":case"":case"":a=!1;break;case"":s.Ref=Vr(Zr(e.slice(i,o))),t.Names.push(s);break;case"":delete l[0],t.CalcPr=l;break;default:if(!a&&r.WTF)throw new Error("unrecognized "+l[0]+" in workbook")}return c}),-1===ft.indexOf(t.xmlns))throw new Error("Unknown Namespace: "+t.xmlns);return wc(t),t}(e,t)}function _c(e,r,t,a,n,s,i,c){return".bin"===r.slice(-4)?function(e,r,t,a,n,s,i){if(!e)return e;var c=r||{};a||(a={"!id":{}});var o,l,f,h,u,d,p,m,g,v,b=c.dense?[]:{},T={s:{r:2e6,c:2e6},e:{r:0,c:0}},E=!1,w=!1,A=[];c.biff=12,c["!row"]=0;var S=0,k=!1,y=[],_={},C=c.supbooks||n.supbooks||[[]];if(C.sharedf=_,C.arrayf=y,C.SheetNames=n.SheetNames||n.Sheets.map(function(e){return e.name}),!c.supbooks&&(c.supbooks=C,n.Names))for(var O=0;O=D[0].s.r&&l.r<=D[0].e.r&&d>=D[0].s.c&&d<=D[0].e.c&&(f.F=ia(D[0]),k=!0)}!k&&e.length>3&&(f.f=e[3])}if(T.s.r>l.r&&(T.s.r=l.r),T.s.c>d&&(T.s.c=d),T.e.rl.r&&(T.s.r=l.r),T.s.c>d&&(T.s.c=d),T.e.r=e.s;)x[e.e--]={width:e.w/256,hidden:!!(1&e.flags),level:e.level},N||(N=!0,xs(e.w/256)),Is(x[e.e+1]);break;case 161:b["!autofilter"]={ref:ia(e)};break;case 476:b["!margins"]=e;break;case 147:n.Sheets[t]||(n.Sheets[t]={}),e.name&&(n.Sheets[t].CodeName=e.name),(e.above||e.left)&&(b["!outline"]={above:e.above,left:e.left});break;case 137:n.Views||(n.Views=[{}]),n.Views[0]||(n.Views[0]={}),e.RTL&&(n.Views[0].RTL=!0);break;case 485:case 64:case 1053:case 151:case 152:case 175:case 644:case 625:case 562:case 396:case 1112:case 1146:case 471:case 1050:case 649:case 1105:case 589:case 607:case 564:case 1055:case 168:case 174:case 1180:case 499:case 507:case 550:case 171:case 167:case 1177:case 169:case 1181:case 551:case 552:case 661:case 639:case 478:case 537:case 477:case 536:case 1103:case 680:case 1104:case 1024:case 663:case 535:case 678:case 504:case 1043:case 428:case 170:case 3072:case 50:case 2070:case 1045:break;case 35:case 37:E=!0;break;case 36:case 38:E=!1;break;default:if(r.T);else if(!E||c.WTF)throw new Error("Unexpected record 0x"+O.toString(16))}},c),delete c.supbooks,delete c["!row"],!b["!ref"]&&(T.s.r<2e6||o&&(o.e.r>0||o.e.c>0||o.s.r>0||o.s.c>0))&&(b["!ref"]=ia(o||T)),c.sheetRows&&b["!ref"]){var D=ca(b["!ref"]);c.sheetRows<=+D.e.r&&(D.e.r=c.sheetRows-1,D.e.r>T.e.r&&(D.e.r=T.e.r),D.e.rT.e.c&&(D.e.c=T.e.c),D.e.c0&&(b["!merges"]=A),x.length>0&&(b["!cols"]=x),I.length>0&&(b["!rows"]=I),b}(e,a,t,n,s,i,c):ic(e,a,t,n,s,i,c)}function Cc(e,r,t,a,n,s,i,c){return".bin"===r.slice(-4)?function(e,r,t,a,n){if(!e)return e;a||(a={"!id":{}});var s={"!type":"chart","!drawel":null,"!rel":""},i=!1;return Yt(e,function(e,a,c){switch(c){case 550:s["!rel"]=e;break;case 651:n.Sheets[t]||(n.Sheets[t]={}),e.name&&(n.Sheets[t].CodeName=e.name);break;case 562:case 652:case 669:case 679:case 551:case 552:case 476:case 3072:case 37:case 38:break;case 35:i=!0;break;case 36:i=!1;break;default:if(a.T>0);else if(a.T<0);else if(!i||r.WTF)throw new Error("Unexpected record 0x"+c.toString(16))}},r),a["!id"][s["!rel"]]&&(s["!drawel"]=a["!id"][s["!rel"]]),s}(e,a,t,n,s):function(e,r,t,a,n){if(!e)return e;a||(a={"!id":{}});var s,i={"!type":"chart","!drawel":null,"!rel":""},c=e.match(ac);return c&&cc(c[0],0,n,t),(s=e.match(/drawing r:id="(.*?)"/))&&(i["!rel"]=s[1]),a["!id"][i["!rel"]]&&(i["!drawel"]=a["!id"][i["!rel"]]),i}(e,0,t,n,s)}function Oc(e,r,t,a){return".bin"===r.slice(-4)?function(e,r,t){var a={NumberFmt:[]};for(var n in ge)a.NumberFmt[n]=ge[n];a.CellXf=[],a.Fonts=[];var s=[],i=!1;return Yt(e,function(e,n,c){switch(c){case 44:a.NumberFmt[e[0]]=e[1],Ke(e[1],e[0]);break;case 43:a.Fonts.push(e),null!=e.color.theme&&r&&r.themeElements&&r.themeElements.clrScheme&&(e.color.rgb=ks(r.themeElements.clrScheme[e.color.theme].rgb,e.color.tint||0));break;case 1025:case 45:case 46:case 48:case 507:case 572:case 475:case 1171:case 2102:case 1130:case 512:case 2095:case 3072:break;case 47:617==s[s.length-1]&&a.CellXf.push(e);break;case 35:i=!0;break;case 36:i=!1;break;case 37:s.push(c),i=!0;break;case 38:s.pop(),i=!1;break;default:if(n.T>0)s.push(c);else if(n.T<0)s.pop();else if(!i||t.WTF&&37!=s[s.length-1])throw new Error("Unexpected record 0x"+c.toString(16))}}),a}(e,t,a):Us(e,t,a)}function Rc(e,r,t){return".bin"===r.slice(-4)?function(e,r){var t=[],a=!1;return Yt(e,function(e,n,s){switch(s){case 159:t.Count=e[0],t.Unique=e[1];break;case 19:t.push(e);break;case 160:return!0;case 35:a=!0;break;case 36:a=!1;break;default:if(n.T,!a||r.WTF)throw new Error("Unexpected record 0x"+s.toString(16))}}),t}(e,t):function(e,r){var t=[],a="";if(!e)return t;var n=e.match(is);if(n){a=n[2].replace(cs,"").split(os);for(var s=0;s!=a.length;++s){var i=ss(a[s].trim(),r);null!=i&&(t[t.length]=i)}n=Lr(n[1]),t.Count=n.count,t.Unique=n.uniqueCount}return t}(e,t)}function xc(e,r,t){return".bin"===r.slice(-4)?function(e,r){var t=[],a=[],n={},s=!1;return Yt(e,function(e,i,c){switch(c){case 632:a.push(e);break;case 635:n=e;break;case 637:n.t=e.t,n.h=e.h,n.r=e.r;break;case 636:if(n.author=a[n.iauthor],delete n.iauthor,r.sheetRows&&n.rfx&&r.sheetRows<=n.rfx.r)break;n.t||(n.t=""),delete n.rfx,t.push(n);break;case 3072:case 37:case 38:break;case 35:s=!0;break;case 36:s=!1;break;default:if(i.T);else if(!s||r.WTF)throw new Error("Unexpected record 0x"+c.toString(16))}}),t}(e,t):function(e,r){if(e.match(/<(?:\w+:)?comments *\/>/))return[];var t=[],a=[],n=e.match(/<(?:\w+:)?authors>([\s\S]*)<\/(?:\w+:)?authors>/);n&&n[1]&&n[1].split(/<\/\w*:?author>/).forEach(function(e){if(""!==e&&""!==e.trim()){var r=e.match(/<(?:\w+:)?author[^>]*>(.*)/);r&&t.push(r[1])}});var s=e.match(/<(?:\w+:)?commentList>([\s\S]*)<\/(?:\w+:)?commentList>/);return s&&s[1]&&s[1].split(/<\/\w*:?comment>/).forEach(function(e){if(""!==e&&""!==e.trim()){var n=e.match(/<(?:\w+:)?comment[^>]*>/);if(n){var s=Lr(n[0]),i={author:s.authorId&&t[s.authorId]||"sheetjsghost",ref:s.ref,guid:s.guid},c=aa(s.ref);if(!(r.sheetRows&&r.sheetRows<=c.r)){var o=e.match(/<(?:\w+:)?text>([\s\S]*)<\/(?:\w+:)?text>/),l=!!o&&!!o[1]&&ss(o[1])||{r:"",t:"",h:""};i.r=l.r,""==l.r&&(l.t=l.h=""),i.t=(l.t||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n"),r.cellHTML&&(i.h=l.h),a.push(i)}}}}),a}(e,t)}function Ic(e,r,t){return".bin"===r.slice(-4)?function(e){var r=[];return Yt(e,function(e,t,a){if(63===a)r.push(e);else if(!t.T)throw new Error("Unexpected record 0x"+a.toString(16))}),r}(e):function(e){var r=[];if(!e)return r;var t=1;return(e.match(Fr)||[]).forEach(function(e){var a=Lr(e);switch(a[0]){case"":case"":break;case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":i=2;break;case"":s=!1;break;case"-1?Vr(r||e).replace(/<.*?>/g,""):a.r;break;case"DateTime":"Z"!=e.slice(-1)&&(e+="Z"),a.v=(dr(e)-new Date(Date.UTC(1899,11,30)))/864e5,a.v!=a.v?a.v=Vr(e):a.v<60&&(a.v=a.v-1),f&&"General"!=f||(f="yyyy-mm-dd");case"Number":void 0===a.v&&(a.v=+e),a.t||(a.t="n");break;case"Error":a.t="e",a.v=La[e],!1!==l.cellText&&(a.w=e);break;default:""==e&&""==r?a.t="z":(a.t="s",a.v=jr(r||e))}if(Hc(a,f,l),!1!==l.cellFormula)if(a.Formula){var m=Vr(a.Formula);61==m.charCodeAt(0)&&(m=m.slice(1)),a.f=ri(m,n),delete a.Formula,"RC"==a.ArrayRange?a.F=ri("RC:RC",n):a.ArrayRange&&(a.F=ri(a.ArrayRange,n),o.push([ca(a.F),a.F]))}else for(p=0;p=o[p][0].s.r&&n.r<=o[p][0].e.r&&n.c>=o[p][0].s.c&&n.c<=o[p][0].e.c&&(a.F=o[p][1]);l.cellStyles&&(d.forEach(function(e){!u.patternType&&e.patternType&&(u.patternType=e.patternType)}),a.s=u),void 0!==a.StyleID&&(a.ixfe=a.StyleID)}function Gc(e){e.t=e.v||"",e.t=e.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n"),e.v=e.w=e.ixfe=void 0}function zc(e,r){var t=r||{};Je();var a=z(ct(e));"binary"!=t.type&&"array"!=t.type&&"base64"!=t.type||(a=Zr(a));var n,s=a.slice(0,1024).toLowerCase(),i=!1;if((1023&(s=s.replace(/".*?"/g,"")).indexOf(">"))>Math.min(1023&s.indexOf(","),1023&s.indexOf(";"))){var c=mr(t);return c.type="string",qn.to_workbook(a,c)}if(-1==s.indexOf("=0&&(i=!0)}),i)return function(e,r){var t=e.match(/[\s\S]*?<\/table>/gi);if(!t||0==t.length)throw new Error("Invalid HTML: could not find ");if(1==t.length)return fa(no(t[0],r),r);var a={SheetNames:[],Sheets:{}};return t.forEach(function(e,t){Ko(a,no(e,r),"Sheet"+(t+1))}),a}(a,t);Fc={"General Number":"General","General Date":ge[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":ge[15],"Short Date":ge[14],"Long Time":ge[19],"Medium Time":ge[18],"Short Time":ge[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:ge[2],Standard:ge[4],Percent:ge[10],Scientific:ge[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var o,l,f=[],h={},u=[],d=t.dense?[]:{},p="",m={},g={},v=Lc(''),b=0,T=0,E=0,w={s:{r:2e6,c:2e6},e:{r:0,c:0}},A={},S={},k="",y=0,_=[],C={},O={},R=0,x=[],I=[],N={},D=[],F=!1,M=[],P=[],L={},U=0,B=0,H={Sheets:[],WBProps:{date1904:!1}},V={};ot.lastIndex=0,a=a.replace(//gm,"");for(var W="";n=ot.exec(a);)switch(n[3]=(W=n[3]).toLowerCase()){case"data":if("data"==W){if("/"===n[1]){if((o=f.pop())[0]!==n[3])throw new Error("Bad state: "+o.join("|"))}else"/"!==n[0].charAt(n[0].length-2)&&f.push([n[3],!0]);break}if(f[f.length-1][1])break;"/"===n[1]?Wc(a.slice(b,n.index),k,v,"comment"==f[f.length-1][0]?N:m,{c:T,r:E},A,D[T],g,M,t):(k="",v=Lc(n[0]),b=n.index+n[0].length);break;case"cell":if("/"===n[1])if(I.length>0&&(m.c=I),(!t.sheetRows||t.sheetRows>E)&&void 0!==m.v&&(t.dense?(d[E]||(d[E]=[]),d[E][T]=m):d[ta(T)+ea(E)]=m),m.HRef&&(m.l={Target:Vr(m.HRef)},m.HRefScreenTip&&(m.l.Tooltip=m.HRefScreenTip),delete m.HRef,delete m.HRefScreenTip),(m.MergeAcross||m.MergeDown)&&(U=T+(0|parseInt(m.MergeAcross,10)),B=E+(0|parseInt(m.MergeDown,10)),_.push({s:{c:T,r:E},e:{c:U,r:B}})),t.sheetStubs)if(m.MergeAcross||m.MergeDown){for(var G=T;G<=U;++G)for(var j=E;j<=B;++j)(G>T||j>E)&&(t.dense?(d[j]||(d[j]=[]),d[j][G]={t:"z"}):d[ta(G)+ea(j)]={t:"z"});T=U+1}else++T;else m.MergeAcross?T=U+1:++T;else(m=Uc(n[0])).Index&&(T=+m.Index-1),Tw.e.c&&(w.e.c=T),"/>"===n[0].slice(-2)&&++T,I=[];break;case"row":"/"===n[1]||"/>"===n[0].slice(-2)?(Ew.e.r&&(w.e.r=E),"/>"===n[0].slice(-2)&&(g=Lc(n[0])).Index&&(E=+g.Index-1),T=0,++E):((g=Lc(n[0])).Index&&(E=+g.Index-1),L={},("0"==g.AutoFitHeight||g.Height)&&(L.hpx=parseInt(g.Height,10),L.hpt=Ds(L.hpx),P[E]=L),"1"==g.Hidden&&(L.hidden=!0,P[E]=L));break;case"worksheet":if("/"===n[1]){if((o=f.pop())[0]!==n[3])throw new Error("Bad state: "+o.join("|"));u.push(p),w.s.r<=w.e.r&&w.s.c<=w.e.c&&(d["!ref"]=ia(w),t.sheetRows&&t.sheetRows<=w.e.r&&(d["!fullref"]=d["!ref"],w.e.r=t.sheetRows-1,d["!ref"]=ia(w))),_.length&&(d["!merges"]=_),D.length>0&&(d["!cols"]=D),P.length>0&&(d["!rows"]=P),h[p]=d}else w={s:{r:2e6,c:2e6},e:{r:0,c:0}},E=T=0,f.push([n[3],!1]),o=Lc(n[0]),p=Vr(o.Name),d=t.dense?[]:{},_=[],M=[],P=[],V={name:p,Hidden:0},H.Sheets.push(V);break;case"table":if("/"===n[1]){if((o=f.pop())[0]!==n[3])throw new Error("Bad state: "+o.join("|"))}else{if("/>"==n[0].slice(-2))break;f.push([n[3],!1]),D=[],F=!1}break;case"style":"/"===n[1]?Vc(A,S,t):S=Lc(n[0]);break;case"numberformat":S.nf=Vr(Lc(n[0]).Format||"General"),Fc[S.nf]&&(S.nf=Fc[S.nf]);for(var $=0;392!=$&&ge[$]!=S.nf;++$);if(392==$)for($=57;392!=$;++$)if(null==ge[$]){Ke(S.nf,$);break}break;case"column":if("table"!==f[f.length-1][0])break;if((l=Lc(n[0])).Hidden&&(l.hidden=!0,delete l.Hidden),l.Width&&(l.wpx=parseInt(l.Width,10)),!F&&l.wpx>10){F=!0,ys=6;for(var Y=0;Y0&&(J.Sheet=H.Sheets.length-1),H.Names.push(J);break;case"namedcell":case"b":case"i":case"u":case"s":case"em":case"h2":case"h3":case"sub":case"sup":case"span":case"alignment":case"borders":case"border":case"protection":case"paragraphs":case"name":case"pixelsperinch":case"null":break;case"font":if("/>"===n[0].slice(-2))break;"/"===n[1]?k+=a.slice(y,n.index):y=n.index+n[0].length;break;case"interior":if(!t.cellStyles)break;S.Interior=Lc(n[0]);break;case"author":case"title":case"description":case"created":case"keywords":case"subject":case"category":case"company":case"lastauthor":case"lastsaved":case"lastprinted":case"version":case"revision":case"totaltime":case"hyperlinkbase":case"manager":case"contentstatus":case"identifier":case"language":case"appname":if("/>"===n[0].slice(-2))break;"/"===n[1]?Ja(C,W,a.slice(R,n.index)):R=n.index+n[0].length;break;case"styles":case"workbook":if("/"===n[1]){if((o=f.pop())[0]!==n[3])throw new Error("Bad state: "+o.join("|"))}else f.push([n[3],!1]);break;case"comment":if("/"===n[1]){if((o=f.pop())[0]!==n[3])throw new Error("Bad state: "+o.join("|"));Gc(N),I.push(N)}else f.push([n[3],!1]),N={a:(o=Lc(n[0])).Author};break;case"autofilter":if("/"===n[1]){if((o=f.pop())[0]!==n[3])throw new Error("Bad state: "+o.join("|"))}else if("/"!==n[0].charAt(n[0].length-2)){var Z=Lc(n[0]);d["!autofilter"]={ref:ri(Z.Range).replace(/\$/g,"")},f.push([n[3],!0])}break;case"datavalidation":if("/"===n[1]){if((o=f.pop())[0]!==n[3])throw new Error("Bad state: "+o.join("|"))}else"/"!==n[0].charAt(n[0].length-2)&&f.push([n[3],!0]);break;case"componentoptions":case"documentproperties":case"customdocumentproperties":case"officedocumentsettings":case"pivottable":case"pivotcache":case"names":case"mapinfo":case"pagebreaks":case"querytable":case"sorting":case"schema":case"conditionalformatting":case"smarttagtype":case"smarttags":case"excelworkbook":case"workbookoptions":case"worksheetoptions":if("/"===n[1]){if((o=f.pop())[0]!==n[3])throw new Error("Bad state: "+o.join("|"))}else"/"!==n[0].charAt(n[0].length-2)&&f.push([n[3],!0]);break;default:if(0==f.length&&"document"==n[3])return po(a,t);if(0==f.length&&"uof"==n[3])return po(a,t);var q=!0;switch(f[f.length-1][0]){case"officedocumentsettings":switch(n[3]){case"allowpng":case"removepersonalinformation":case"downloadcomponents":case"locationofcomponents":case"colors":case"color":case"index":case"rgb":case"targetscreensize":case"readonlyrecommended":break;default:q=!1}break;case"componentoptions":switch(n[3]){case"toolbar":case"hideofficelogo":case"spreadsheetautofit":case"label":case"caption":case"maxheight":case"maxwidth":case"nextsheetnumber":break;default:q=!1}break;case"excelworkbook":switch(n[3]){case"date1904":H.WBProps.date1904=!0;break;case"windowheight":case"windowwidth":case"windowtopx":case"windowtopy":case"tabratio":case"protectstructure":case"protectwindow":case"protectwindows":case"activesheet":case"displayinknotes":case"firstvisiblesheet":case"supbook":case"sheetname":case"sheetindex":case"sheetindexfirst":case"sheetindexlast":case"dll":case"acceptlabelsinformulas":case"donotsavelinkvalues":case"iteration":case"maxiterations":case"maxchange":case"path":case"xct":case"count":case"selectedsheets":case"calculation":case"uncalced":case"startupprompt":case"crn":case"externname":case"formula":case"colfirst":case"collast":case"wantadvise":case"boolean":case"error":case"text":case"ole":case"noautorecover":case"publishobjects":case"donotcalculatebeforesave":case"number":case"refmoder1c1":case"embedsavesmarttags":break;default:q=!1}break;case"workbookoptions":switch(n[3]){case"owcversion":case"height":case"width":break;default:q=!1}break;case"worksheetoptions":switch(n[3]){case"visible":if("/>"===n[0].slice(-2));else if("/"===n[1])switch(a.slice(R,n.index)){case"SheetHidden":V.Hidden=1;break;case"SheetVeryHidden":V.Hidden=2}else R=n.index+n[0].length;break;case"header":d["!margins"]||Xi(d["!margins"]={},"xlml"),isNaN(+Lr(n[0]).Margin)||(d["!margins"].header=+Lr(n[0]).Margin);break;case"footer":d["!margins"]||Xi(d["!margins"]={},"xlml"),isNaN(+Lr(n[0]).Margin)||(d["!margins"].footer=+Lr(n[0]).Margin);break;case"pagemargins":var Q=Lr(n[0]);d["!margins"]||Xi(d["!margins"]={},"xlml"),isNaN(+Q.Top)||(d["!margins"].top=+Q.Top),isNaN(+Q.Left)||(d["!margins"].left=+Q.Left),isNaN(+Q.Right)||(d["!margins"].right=+Q.Right),isNaN(+Q.Bottom)||(d["!margins"].bottom=+Q.Bottom);break;case"displayrighttoleft":H.Views||(H.Views=[]),H.Views[0]||(H.Views[0]={}),H.Views[0].RTL=!0;break;case"freezepanes":case"frozennosplit":case"splithorizontal":case"splitvertical":case"donotdisplaygridlines":case"activerow":case"activecol":case"toprowbottompane":case"leftcolumnrightpane":case"unsynced":case"print":case"printerrors":case"panes":case"scale":case"pane":case"number":case"layout":case"pagesetup":case"selected":case"protectobjects":case"enableselection":case"protectscenarios":case"validprinterinfo":case"horizontalresolution":case"verticalresolution":case"numberofcopies":case"activepane":case"toprowvisible":case"leftcolumnvisible":case"fittopage":case"rangeselection":case"papersizeindex":case"pagelayoutzoom":case"pagebreakzoom":case"filteron":case"fitwidth":case"fitheight":case"commentslayout":case"zoom":case"lefttoright":case"gridlines":case"allowsort":case"allowfilter":case"allowinsertrows":case"allowdeleterows":case"allowinsertcols":case"allowdeletecols":case"allowinserthyperlinks":case"allowformatcells":case"allowsizecols":case"allowsizerows":case"tabcolorindex":case"donotdisplayheadings":case"showpagelayoutzoom":case"blackandwhite":case"donotdisplayzeros":case"displaypagebreak":case"rowcolheadings":case"donotdisplayoutline":case"noorientation":case"allowusepivottables":case"zeroheight":case"viewablerange":case"selection":case"protectcontents":break;case"nosummaryrowsbelowdetail":d["!outline"]||(d["!outline"]={}),d["!outline"].above=!0;break;case"nosummarycolumnsrightdetail":d["!outline"]||(d["!outline"]={}),d["!outline"].left=!0;break;default:q=!1}break;case"pivottable":case"pivotcache":switch(n[3]){case"immediateitemsondrop":case"showpagemultipleitemlabel":case"compactrowindent":case"location":case"pivotfield":case"orientation":case"layoutform":case"layoutsubtotallocation":case"layoutcompactrow":case"position":case"pivotitem":case"datatype":case"datafield":case"sourcename":case"parentfield":case"ptlineitems":case"ptlineitem":case"countofsameitems":case"item":case"itemtype":case"ptsource":case"cacheindex":case"consolidationreference":case"filename":case"reference":case"nocolumngrand":case"norowgrand":case"blanklineafteritems":case"hidden":case"subtotal":case"basefield":case"mapchilditems":case"function":case"refreshonfileopen":case"printsettitles":case"mergelabels":case"defaultversion":case"refreshname":case"refreshdate":case"refreshdatecopy":case"versionlastrefresh":case"versionlastupdate":case"versionupdateablemin":case"versionrefreshablemin":case"calculation":break;default:q=!1}break;case"pagebreaks":switch(n[3]){case"colbreaks":case"colbreak":case"rowbreaks":case"rowbreak":case"colstart":case"colend":case"rowend":break;default:q=!1}break;case"autofilter":switch(n[3]){case"autofiltercolumn":case"autofiltercondition":case"autofilterand":case"autofilteror":break;default:q=!1}break;case"querytable":switch(n[3]){case"id":case"autoformatfont":case"autoformatpattern":case"querysource":case"querytype":case"enableredirections":case"refreshedinxl9":case"urlstring":case"htmltables":case"connection":case"commandtext":case"refreshinfo":case"notitles":case"nextid":case"columninfo":case"overwritecells":case"donotpromptforfile":case"textwizardsettings":case"source":case"number":case"decimal":case"thousandseparator":case"trailingminusnumbers":case"formatsettings":case"fieldtype":case"delimiters":case"tab":case"comma":case"autoformatname":case"versionlastedit":case"versionlastrefresh":break;default:q=!1}break;case"datavalidation":switch(n[3]){case"range":case"type":case"min":case"max":case"sort":case"descending":case"order":case"casesensitive":case"value":case"errorstyle":case"errormessage":case"errortitle":case"inputmessage":case"inputtitle":case"combohide":case"inputhide":case"condition":case"qualifier":case"useblank":case"value1":case"value2":case"format":case"cellrangelist":break;default:q=!1}break;case"sorting":case"conditionalformatting":switch(n[3]){case"range":case"type":case"min":case"max":case"sort":case"descending":case"order":case"casesensitive":case"value":case"errorstyle":case"errormessage":case"errortitle":case"cellrangelist":case"inputmessage":case"inputtitle":case"combohide":case"inputhide":case"condition":case"qualifier":case"useblank":case"value1":case"value2":case"format":break;default:q=!1}break;case"mapinfo":case"schema":case"data":switch(n[3]){case"map":case"entry":case"range":case"xpath":case"field":case"xsdtype":case"filteron":case"aggregate":case"elementtype":case"attributetype":case"schema":case"element":case"complextype":case"datatype":case"all":case"attribute":case"extends":case"row":break;default:q=!1}break;case"smarttags":break;default:q=!1}if(q)break;if(n[3].match(/!\[CDATA/))break;if(!f[f.length-1][1])throw"Unrecognized tag: "+n[3]+"|"+f.join("|");if("customdocumentproperties"===f[f.length-1][0]){if("/>"===n[0].slice(-2))break;"/"===n[1]?Bc(O,W,x,a.slice(R,n.index)):(x=n,R=n.index+n[0].length);break}if(t.WTF)throw"Unrecognized tag: "+n[3]+"|"+f.join("|")}var ee={};return t.bookSheets||t.bookProps||(ee.Sheets=h),ee.SheetNames=u,ee.Workbook=H,ee.SSF=mr(ge),ee.Props=C,ee.Custprops=O,ee}function jc(e,r){switch(No(r=r||{}),r.type||"base64"){case"base64":return zc(J(e),r);case"binary":case"buffer":case"file":return zc(e,r);case"array":return zc(te(e),r)}}function $c(e){var r={},t=e.content;if(t.l=28,r.AnsiUserType=t.read_shift(0,"lpstr-ansi"),r.AnsiClipboardFormat=function(e){return Ca(e,1)}(t),t.length-t.l<=4)return r;var a=t.read_shift(4);return 0==a||a>40?r:(t.l-=4,r.Reserved1=t.read_shift(0,"lpstr-ansi"),t.length-t.l<=4||1907505652!==(a=t.read_shift(4))?r:(r.UnicodeClipboardFormat=function(e){return Ca(e,2)}(t),0==(a=t.read_shift(4))||a>40?r:(t.l-=4,void(r.Reserved2=t.read_shift(0,"lpwstr")))))}var Yc=[60,1084,2066,2165,2175];function Xc(e,r,t,a,n){var s=a,i=[],c=t.slice(t.l,t.l+s);if(n&&n.enc&&n.enc.insitu&&c.length>0)switch(e){case 9:case 521:case 1033:case 2057:case 47:case 405:case 225:case 406:case 312:case 404:case 10:case 133:break;default:n.enc.insitu(c)}i.push(c),t.l+=s;for(var o=Dt(t,t.l),l=to[o],f=0;null!=l&&Yc.indexOf(o)>-1;)s=Dt(t,t.l+2),f=t.l+4,2066==o?f+=4:2165!=o&&2175!=o||(f+=12),c=t.slice(f,t.l+4+s),i.push(c),t.l+=4+s,l=to[o=Dt(t,t.l)];var h=ne(i);zt(h,0);var u=0;h.lens=[];for(var d=0;d1||a.sheetRows&&e.r>=a.sheetRows)){if(a.cellStyles&&r.XF&&r.XF.data&&function(e,r,t){var a,n=r.XF.data;n&&n.patternType&&t&&t.cellStyles&&(r.s={},r.s.patternType=n.patternType,(a=Ss(_(n.icvFore)))&&(r.s.fgColor={rgb:a}),(a=Ss(_(n.icvBack)))&&(r.s.bgColor={rgb:a}))}(0,r,a),delete r.ixfe,delete r.XF,t=e,T=na(e),p&&p.s&&p.e||(p={s:{r:0,c:0},e:{r:0,c:0}}),e.rp.e.r&&(p.e.r=e.r+1),e.c+1>p.e.c&&(p.e.c=e.c+1),a.cellFormula&&r.f)for(var n=0;ne.c||w[n][0].s.r>e.r||w[n][0].e.c>8)!==z)throw new Error("rt mismatch: "+Y+"!="+z);12==$.r&&(e.l+=10,j-=10)}var X={};if(X=10===z?$.f(e,j,O):Xc(z,$,e,j,O),0==L&&-1===[9,521,1033,2057].indexOf(P))continue;switch(z){case 34:f.opts.Date1904=k.WBProps.date1904=X;break;case 134:f.opts.WriteProtect=!0;break;case 47:if(O.enc||(e.l=0),O.enc=X,!r.password)throw new Error("File is password-protected");if(null==X.valid)throw new Error("Encryption scheme unsupported");if(!X.valid)throw new Error("Password is incorrect");break;case 92:O.lastuser=X;break;case 66:var K=Number(X);switch(K){case 21010:K=1200;break;case 32768:K=1e4;break;case 32769:K=1252}B(O.codepage=K),W=!0;break;case 317:O.rrtabid=X;break;case 25:O.winlocked=X;break;case 439:f.opts.RefreshAll=X;break;case 12:f.opts.CalcCount=X;break;case 16:f.opts.CalcDelta=X;break;case 17:f.opts.CalcIter=X;break;case 13:f.opts.CalcMode=X;break;case 14:f.opts.CalcPrecision=X;break;case 95:f.opts.CalcSaveRecalc=X;break;case 15:O.CalcRefMode=X;break;case 2211:f.opts.FullCalc=X;break;case 129:X.fDialog&&(u["!type"]="dialog"),X.fBelow||((u["!outline"]||(u["!outline"]={})).above=!0),X.fRight||((u["!outline"]||(u["!outline"]={})).left=!0);break;case 224:A.push(X);break;case 430:F.push([X]),F[F.length-1].XTI=[];break;case 35:case 547:F[F.length-1].push(X);break;case 24:case 536:M={Name:X.Name,Ref:Ni(X.rgce,0,null,F,O)},X.itab>0&&(M.Sheet=X.itab-1),F.names.push(M),F[0]||(F[0]=[],F[0].XTI=[]),F[F.length-1].push(X),"_xlnm._FilterDatabase"==X.Name&&X.itab>0&&X.rgce&&X.rgce[0]&&X.rgce[0][0]&&"PtgArea3d"==X.rgce[0][0][0]&&(V[X.itab-1]={ref:ia(X.rgce[0][0][1][2])});break;case 22:O.ExternCount=X;break;case 23:0==F.length&&(F[0]=[],F[0].XTI=[]),F[F.length-1].XTI=F[F.length-1].XTI.concat(X),F.XTI=F.XTI.concat(X);break;case 2196:if(O.biff<8)break;null!=M&&(M.Comment=X[1]);break;case 18:u["!protect"]=X;break;case 19:0!==X&&O.WTF;break;case 133:d[X.pos]=X,O.snames.push(X.name);break;case 10:if(--L)break;if(p.e){if(p.e.r>0&&p.e.c>0){if(p.e.r--,p.e.c--,u["!ref"]=ia(p),r.sheetRows&&r.sheetRows<=p.e.r){var J=p.e.r;p.e.r=r.sheetRows-1,u["!fullref"]=u["!ref"],u["!ref"]=ia(p),p.e.r=J}p.e.r++,p.e.c++}R.length>0&&(u["!merges"]=R),x.length>0&&(u["!objects"]=x),I.length>0&&(u["!cols"]=I),N.length>0&&(u["!rows"]=N),k.Sheets.push(y)}""===v?b=u:h[v]=u,u=r.dense?[]:{};break;case 9:case 521:case 1033:case 2057:if(8===O.biff&&(O.biff={9:2,521:3,1033:4}[z]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[X.BIFFVer]||8),O.biffguess=0==X.BIFFVer,0==X.BIFFVer&&4096==X.dt&&(O.biff=5,W=!0,B(O.codepage=28591)),8==O.biff&&0==X.BIFFVer&&16==X.dt&&(O.biff=2),L++)break;if(u=r.dense?[]:{},O.biff<8&&!W&&(W=!0,B(O.codepage=r.codepage||1252)),O.biff<5||0==X.BIFFVer&&4096==X.dt){""===v&&(v="Sheet1"),p={s:{r:0,c:0},e:{r:0,c:0}};var Z={pos:e.l-j,name:v};d[Z.pos]=Z,O.snames.push(v)}else v=(d[G]||{name:""}).name;32==X.dt&&(u["!type"]="chart"),64==X.dt&&(u["!type"]="macro"),R=[],x=[],O.arrayf=w=[],I=[],N=[],D=!1,y={Hidden:(d[G]||{hs:0}).hs,name:v};break;case 515:case 3:case 2:"chart"==u["!type"]&&(r.dense?(u[X.r]||[])[X.c]:u[na({c:X.c,r:X.r})])&&++X.c,c={ixfe:X.ixfe,XF:A[X.ixfe]||{},v:X.val,t:"n"},U>0&&(c.z=H[c.ixfe>>8&63]),Kc(c,r,f.opts.Date1904),C({c:X.c,r:X.r},c,r);break;case 5:case 517:c={ixfe:X.ixfe,XF:A[X.ixfe],v:X.val,t:X.t},U>0&&(c.z=H[c.ixfe>>8&63]),Kc(c,r,f.opts.Date1904),C({c:X.c,r:X.r},c,r);break;case 638:c={ixfe:X.ixfe,XF:A[X.ixfe],v:X.rknum,t:"n"},U>0&&(c.z=H[c.ixfe>>8&63]),Kc(c,r,f.opts.Date1904),C({c:X.c,r:X.r},c,r);break;case 189:for(var q=X.c;q<=X.C;++q){var Q=X.rkrec[q-X.c][0];c={ixfe:Q,XF:A[Q],v:X.rkrec[q-X.c][1],t:"n"},U>0&&(c.z=H[c.ixfe>>8&63]),Kc(c,r,f.opts.Date1904),C({c:q,r:X.r},c,r)}break;case 6:case 518:case 1030:if("String"==X.val){m=X;break}if((c=Jc(X.val,X.cell.ixfe,X.tt)).XF=A[c.ixfe],r.cellFormula){var ee=X.formula;if(ee&&ee[0]&&ee[0][0]&&"PtgExp"==ee[0][0][0]){var re=ee[0][0][1][0],te=ee[0][0][1][1],ae=na({r:re,c:te});E[ae]?c.f=""+Ni(X.formula,0,X.cell,F,O):c.F=((r.dense?(u[re]||[])[te]:u[ae])||{}).F}else c.f=""+Ni(X.formula,0,X.cell,F,O)}U>0&&(c.z=H[c.ixfe>>8&63]),Kc(c,r,f.opts.Date1904),C(X.cell,c,r),m=X;break;case 7:case 519:if(!m)throw new Error("String record expects Formula");m.val=X,(c=Jc(X,m.cell.ixfe,"s")).XF=A[c.ixfe],r.cellFormula&&(c.f=""+Ni(m.formula,0,m.cell,F,O)),U>0&&(c.z=H[c.ixfe>>8&63]),Kc(c,r,f.opts.Date1904),C(m.cell,c,r),m=null;break;case 33:case 545:w.push(X);var ne=na(X[0].s);if(a=r.dense?(u[X[0].s.r]||[])[X[0].s.c]:u[ne],r.cellFormula&&a){if(!m)break;if(!ne||!a)break;a.f=""+Ni(X[1],0,X[0],F,O),a.F=ia(X[0])}break;case 1212:if(!r.cellFormula)break;if(T){if(!m)break;E[na(m.cell)]=X[0],((a=r.dense?(u[m.cell.r]||[])[m.cell.c]:u[na(m.cell)])||{}).f=""+Ni(X[0],0,t,F,O)}break;case 253:c=Jc(g[X.isst].t,X.ixfe,"s"),g[X.isst].h&&(c.h=g[X.isst].h),c.XF=A[c.ixfe],U>0&&(c.z=H[c.ixfe>>8&63]),Kc(c,r,f.opts.Date1904),C({c:X.c,r:X.r},c,r);break;case 513:r.sheetStubs&&(c={ixfe:X.ixfe,XF:A[X.ixfe],t:"z"},U>0&&(c.z=H[c.ixfe>>8&63]),Kc(c,r,f.opts.Date1904),C({c:X.c,r:X.r},c,r));break;case 190:if(r.sheetStubs)for(var se=X.c;se<=X.C;++se){var ie=X.ixfe[se-X.c];c={ixfe:ie,XF:A[ie],t:"z"},U>0&&(c.z=H[c.ixfe>>8&63]),Kc(c,r,f.opts.Date1904),C({c:se,r:X.r},c,r)}break;case 214:case 516:case 4:(c=Jc(X.val,X.ixfe,"s")).XF=A[c.ixfe],U>0&&(c.z=H[c.ixfe>>8&63]),Kc(c,r,f.opts.Date1904),C({c:X.c,r:X.r},c,r);break;case 0:case 512:1===L&&(p=X);break;case 252:g=X;break;case 1054:if(4==O.biff){H[U++]=X[1];for(var ce=0;ce=163&&Ke(X[1],U+163)}else Ke(X[1],X[0]);break;case 30:H[U++]=X;for(var oe=0;oe=163&&Ke(X,U+163);break;case 229:R=R.concat(X);break;case 93:x[X.cmo[0]]=O.lastobj=X;break;case 438:O.lastobj.TxO=X;break;case 127:O.lastobj.ImData=X;break;case 440:for(i=X[0].s.r;i<=X[0].e.r;++i)for(s=X[0].s.c;s<=X[0].e.c;++s)(a=r.dense?(u[i]||[])[s]:u[na({c:s,r:i})])&&(a.l=X[1]);break;case 2048:for(i=X[0].s.r;i<=X[0].e.r;++i)for(s=X[0].s.c;s<=X[0].e.c;++s)(a=r.dense?(u[i]||[])[s]:u[na({c:s,r:i})])&&a.l&&(a.l.Tooltip=X[1]);break;case 28:if(O.biff<=5&&O.biff>=2)break;a=r.dense?(u[X[0].r]||[])[X[0].c]:u[na(X[0])];var le=x[X[2]];a||(r.dense?(u[X[0].r]||(u[X[0].r]=[]),a=u[X[0].r][X[0].c]={t:"z"}):a=u[na(X[0])]={t:"z"},p.e.r=Math.max(p.e.r,X[0].r),p.s.r=Math.min(p.s.r,X[0].r),p.e.c=Math.max(p.e.c,X[0].c),p.s.c=Math.min(p.s.c,X[0].c)),a.c||(a.c=[]),n={a:X[1],t:le.TxO.t},a.c.push(n);break;case 2173:qs(A[X.ixfe],X.ext);break;case 125:if(!O.cellStyles)break;for(;X.e>=X.s;)I[X.e--]={width:X.w/256,level:X.level||0,hidden:!!(1&X.flags)},D||(D=!0,xs(X.w/256)),Is(I[X.e+1]);break;case 520:var fe={};null!=X.level&&(N[X.r]=fe,fe.level=X.level),X.hidden&&(N[X.r]=fe,fe.hidden=!0),X.hpt&&(N[X.r]=fe,fe.hpt=X.hpt,fe.hpx=Fs(X.hpt));break;case 38:case 39:case 40:case 41:u["!margins"]||Xi(u["!margins"]={}),u["!margins"][{38:"left",39:"right",40:"top",41:"bottom"}[z]]=X;break;case 161:u["!margins"]||Xi(u["!margins"]={}),u["!margins"].header=X.header,u["!margins"].footer=X.footer;break;case 574:X.RTL&&(k.Views[0].RTL=!0);break;case 146:S=X;break;case 2198:l=X;break;case 140:o=X;break;case 442:v?y.CodeName=X||y.name:k.WBProps.CodeName=X||"ThisWorkbook"}}else e.l+=j}return f.SheetNames=rr(d).sort(function(e,r){return Number(e)-Number(r)}).map(function(e){return d[e].name}),r.bookSheets||(f.Sheets=h),!f.SheetNames.length&&b["!ref"]?(f.SheetNames.push("Sheet1"),f.Sheets&&(f.Sheets.Sheet1=b)):f.Preamble=b,f.Sheets&&V.forEach(function(e,r){f.Sheets[f.SheetNames[r]]["!autofilter"]=e}),f.Strings=g,f.SSF=mr(ge),O.enc&&(f.Encryption=O.enc),l&&(f.Themes=l),f.Metadata={},void 0!==o&&(f.Metadata.Country=o),F.names.length>0&&(k.Names=F.names),f.Workbook=k,f}var qc="e0859ff2f94f6810ab9108002b27b3d9",Qc="02d5cdd59c2e1b10939708002b2cf9ae";function eo(e,r){var t,a,n,s;if(r||(r={}),No(r),H(),r.codepage&&U(r.codepage),e.FullPaths){if(er.find(e,"/encryption"))throw new Error("File is password-protected");t=er.find(e,"!CompObj"),a=er.find(e,"/Workbook")||er.find(e,"/Book")}else{switch(r.type){case"base64":e=re(J(e));break;case"binary":e=re(e);break;case"buffer":break;case"array":Array.isArray(e)||(e=Array.prototype.slice.call(e))}zt(e,0),a={content:e}}if(t&&$c(t),r.bookProps&&!r.bookSheets)n={};else{var i=Z?"buffer":"array";if(a&&a.content)n=Zc(a.content,r);else if((s=er.find(e,"PerfectOffice_MAIN"))&&s.content)n=Qn.to_workbook(s.content,(r.type=i,r));else{if(!(s=er.find(e,"NativeContent_MAIN"))||!s.content)throw(s=er.find(e,"MN0"))&&s.content?new Error("Unsupported Works 4 for Mac file"):new Error("Cannot find Workbook stream");n=Qn.to_workbook(s.content,(r.type=i,r))}r.bookVBA&&e.FullPaths&&er.find(e,"/_VBA_PROJECT_CUR/VBA/dir")&&(n.vbaraw=function(e){var r=er.utils.cfb_new({root:"R"});return e.FullPaths.forEach(function(t,a){if("/"!==t.slice(-1)&&t.match(/_VBA_PROJECT_CUR/)){var n=t.replace(/^[^\/]*/,"R").replace(/\/_VBA_PROJECT_CUR\u0000*/,"");er.utils.cfb_add(r,n,e.FileIndex[a].content)}}),er.write(r)}(e))}var c={};return e.FullPaths&&function(e,r,t){var a=er.find(e,"/!DocumentSummaryInformation");if(a&&a.size>0)try{var n=on(a,xa,Qc);for(var s in n)r[s]=n[s]}catch(l){if(t.WTF)throw l}var i=er.find(e,"/!SummaryInformation");if(i&&i.size>0)try{var c=on(i,Ia,qc);for(var o in c)null==r[o]&&(r[o]=c[o])}catch(l){if(t.WTF)throw l}r.HeadingPairs&&r.TitlesOfParts&&($a(r.HeadingPairs,r.TitlesOfParts,r,t),delete r.HeadingPairs,delete r.TitlesOfParts)}(e,c,r),n.Props=n.Custprops=c,r.bookFiles&&(n.cfb=e),n}var ro={0:{f:function(e,r){var t={},a=e.l+r;t.r=e.read_shift(4),e.l+=4;var n=e.read_shift(2);e.l+=1;var s=e.read_shift(1);return e.l=a,7&s&&(t.level=7&s),16&s&&(t.hidden=!0),32&s&&(t.hpt=n/20),t}},1:{f:function(e){return[va(e)]}},2:{f:function(e){return[va(e),Sa(e),"n"]}},3:{f:function(e){return[va(e),e.read_shift(1),"e"]}},4:{f:function(e){return[va(e),e.read_shift(1),"b"]}},5:{f:function(e){return[va(e),_a(e),"n"]}},6:{f:function(e){return[va(e),da(e),"str"]}},7:{f:function(e){return[va(e),e.read_shift(4),"s"]}},8:{f:function(e,r,t){var a=e.l+r,n=va(e);n.r=t["!row"];var s=[n,da(e),"str"];if(t.cellFormula){e.l+=2;var i=Ui(e,a-e.l,t);s[3]=Ni(i,0,n,t.supbooks,t)}else e.l=a;return s}},9:{f:function(e,r,t){var a=e.l+r,n=va(e);n.r=t["!row"];var s=[n,_a(e),"n"];if(t.cellFormula){e.l+=2;var i=Ui(e,a-e.l,t);s[3]=Ni(i,0,n,t.supbooks,t)}else e.l=a;return s}},10:{f:function(e,r,t){var a=e.l+r,n=va(e);n.r=t["!row"];var s=[n,e.read_shift(1),"b"];if(t.cellFormula){e.l+=2;var i=Ui(e,a-e.l,t);s[3]=Ni(i,0,n,t.supbooks,t)}else e.l=a;return s}},11:{f:function(e,r,t){var a=e.l+r,n=va(e);n.r=t["!row"];var s=[n,e.read_shift(1),"e"];if(t.cellFormula){e.l+=2;var i=Ui(e,a-e.l,t);s[3]=Ni(i,0,n,t.supbooks,t)}else e.l=a;return s}},12:{f:function(e){return[ba(e)]}},13:{f:function(e){return[ba(e),Sa(e),"n"]}},14:{f:function(e){return[ba(e),e.read_shift(1),"e"]}},15:{f:function(e){return[ba(e),e.read_shift(1),"b"]}},16:{f:hc},17:{f:function(e){return[ba(e),da(e),"str"]}},18:{f:function(e){return[ba(e),e.read_shift(4),"s"]}},19:{f:ma},20:{},21:{},22:{},23:{},24:{},25:{},26:{},27:{},28:{},29:{},30:{},31:{},32:{},33:{},34:{},35:{T:1},36:{T:-1},37:{T:1},38:{T:-1},39:{f:function(e,r,t){var a=e.l+r;e.l+=4,e.l+=1;var n=e.read_shift(4),s=wa(e),i=Bi(e,0,t),c=Ea(e);e.l=a;var o={Name:s,Ptg:i};return n<268435455&&(o.Sheet=n),c&&(o.Comment=c),o}},40:{},42:{},43:{f:function(e,r,t){var a={};a.sz=e.read_shift(2)/20;var n=function(e){var r=e.read_shift(1);return e.l++,{fBold:1&r,fItalic:2&r,fUnderline:4&r,fStrikeout:8&r,fOutline:16&r,fShadow:32&r,fCondense:64&r,fExtend:128&r}}(e);switch(n.fItalic&&(a.italic=1),n.fCondense&&(a.condense=1),n.fExtend&&(a.extend=1),n.fShadow&&(a.shadow=1),n.fOutline&&(a.outline=1),n.fStrikeout&&(a.strike=1),700===e.read_shift(2)&&(a.bold=1),e.read_shift(2)){case 1:a.vertAlign="superscript";break;case 2:a.vertAlign="subscript"}var s=e.read_shift(1);0!=s&&(a.underline=s);var i=e.read_shift(1);i>0&&(a.family=i);var c=e.read_shift(1);switch(c>0&&(a.charset=c),e.l++,a.color=function(e){var r={},t=e.read_shift(1)>>>1,a=e.read_shift(1),n=e.read_shift(2,"i"),s=e.read_shift(1),i=e.read_shift(1),c=e.read_shift(1);switch(e.l++,t){case 0:r.auto=1;break;case 1:r.index=a;var o=Ma[a];o&&(r.rgb=Ss(o));break;case 2:r.rgb=Ss([s,i,c]);break;case 3:r.theme=a}return 0!=n&&(r.tint=n>0?n/32767:n/32768),r}(e),e.read_shift(1)){case 1:a.scheme="major";break;case 2:a.scheme="minor"}return a.name=da(e),a}},44:{f:function(e,r){return[e.read_shift(2),da(e)]}},45:{f:Bs},46:{f:Hs},47:{f:function(e,r){var t=e.l+r,a=e.read_shift(2),n=e.read_shift(2);return e.l=t,{ixfe:a,numFmtId:n}}},48:{},49:{f:function(e){return e.read_shift(4,"i")}},50:{},51:{f:function(e){for(var r=[],t=e.read_shift(4);t-- >0;)r.push([e.read_shift(4),e.read_shift(4)]);return r}},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:Gn},62:{f:function(e){return[va(e),ma(e),"is"]}},63:{f:function(e){var r={};r.i=e.read_shift(4);var t={};t.r=e.read_shift(4),t.c=e.read_shift(4),r.r=na(t);var a=e.read_shift(1);return 2&a&&(r.l="1"),8&a&&(r.a="1"),r}},64:{f:function(){}},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:jt,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:function(e){var r=e.read_shift(2);return e.l+=28,{RTL:32&r}}},138:{T:-1},139:{T:1},140:{T:-1},141:{T:1},142:{T:-1},143:{T:1},144:{T:-1},145:{T:1},146:{T:-1},147:{f:function(e,r){var t={},a=e[e.l];return++e.l,t.above=!(64&a),t.left=!(128&a),e.l+=18,t.name=Ta(e),t}},148:{f:fc,p:16},151:{f:function(){}},152:{},153:{f:function(e,r){var t={},a=e.read_shift(4);t.defaultThemeVersion=e.read_shift(4);var n=r>8?da(e):"";return n.length>0&&(t.CodeName=n),t.autoCompressPictures=!!(65536&a),t.backupFile=!!(64&a),t.checkCompatibility=!!(4096&a),t.date1904=!!(1&a),t.filterPrivacy=!!(8&a),t.hidePivotFieldList=!!(1024&a),t.promptedSolutions=!!(16&a),t.publishItems=!!(2048&a),t.refreshAllConnections=!!(262144&a),t.saveExternalLinkValues=!!(128&a),t.showBorderUnselectedTables=!!(4&a),t.showInkAnnotation=!!(32&a),t.showObjects=["all","placeholders","none"][a>>13&3],t.showPivotChartFilter=!!(32768&a),t.updateLinks=["userSet","never","always"][a>>8&3],t}},154:{},155:{},156:{f:function(e,r){var t={};return t.Hidden=e.read_shift(4),t.iTabID=e.read_shift(4),t.strRelID=Aa(e),t.name=da(e),t}},157:{},158:{},159:{T:1,f:function(e){return[e.read_shift(4),e.read_shift(4)]}},160:{T:-1},161:{T:1,f:ya},162:{T:-1},163:{T:1},164:{T:-1},165:{T:1},166:{T:-1},167:{},168:{},169:{},170:{},171:{},172:{T:1},173:{T:-1},174:{},175:{},176:{f:uc},177:{T:1},178:{T:-1},179:{T:1},180:{T:-1},181:{T:1},182:{T:-1},183:{T:1},184:{T:-1},185:{T:1},186:{T:-1},187:{T:1},188:{T:-1},189:{T:1},190:{T:-1},191:{T:1},192:{T:-1},193:{T:1},194:{T:-1},195:{T:1},196:{T:-1},197:{T:1},198:{T:-1},199:{T:1},200:{T:-1},201:{T:1},202:{T:-1},203:{T:1},204:{T:-1},205:{T:1},206:{T:-1},207:{T:1},208:{T:-1},209:{T:1},210:{T:-1},211:{T:1},212:{T:-1},213:{T:1},214:{T:-1},215:{T:1},216:{T:-1},217:{T:1},218:{T:-1},219:{T:1},220:{T:-1},221:{T:1},222:{T:-1},223:{T:1},224:{T:-1},225:{T:1},226:{T:-1},227:{T:1},228:{T:-1},229:{T:1},230:{T:-1},231:{T:1},232:{T:-1},233:{T:1},234:{T:-1},235:{T:1},236:{T:-1},237:{T:1},238:{T:-1},239:{T:1},240:{T:-1},241:{T:1},242:{T:-1},243:{T:1},244:{T:-1},245:{T:1},246:{T:-1},247:{T:1},248:{T:-1},249:{T:1},250:{T:-1},251:{T:1},252:{T:-1},253:{T:1},254:{T:-1},255:{T:1},256:{T:-1},257:{T:1},258:{T:-1},259:{T:1},260:{T:-1},261:{T:1},262:{T:-1},263:{T:1},264:{T:-1},265:{T:1},266:{T:-1},267:{T:1},268:{T:-1},269:{T:1},270:{T:-1},271:{T:1},272:{T:-1},273:{T:1},274:{T:-1},275:{T:1},276:{T:-1},277:{},278:{T:1},279:{T:-1},280:{T:1},281:{T:-1},282:{T:1},283:{T:1},284:{T:-1},285:{T:1},286:{T:-1},287:{T:1},288:{T:-1},289:{T:1},290:{T:-1},291:{T:1},292:{T:-1},293:{T:1},294:{T:-1},295:{T:1},296:{T:-1},297:{T:1},298:{T:-1},299:{T:1},300:{T:-1},301:{T:1},302:{T:-1},303:{T:1},304:{T:-1},305:{T:1},306:{T:-1},307:{T:1},308:{T:-1},309:{T:1},310:{T:-1},311:{T:1},312:{T:-1},313:{T:-1},314:{T:1},315:{T:-1},316:{T:1},317:{T:-1},318:{T:1},319:{T:-1},320:{T:1},321:{T:-1},322:{T:1},323:{T:-1},324:{T:1},325:{T:-1},326:{T:1},327:{T:-1},328:{T:1},329:{T:-1},330:{T:1},331:{T:-1},332:{T:1},333:{T:-1},334:{T:1},335:{f:function(e,r){return{flags:e.read_shift(4),version:e.read_shift(4),name:da(e)}}},336:{T:-1},337:{f:function(e){return e.l+=4,0!=e.read_shift(4)},T:1},338:{T:-1},339:{T:1},340:{T:-1},341:{T:1},342:{T:-1},343:{T:1},344:{T:-1},345:{T:1},346:{T:-1},347:{T:1},348:{T:-1},349:{T:1},350:{T:-1},351:{},352:{},353:{T:1},354:{T:-1},355:{f:Aa},357:{},358:{},359:{},360:{T:1},361:{},362:{f:Hn},363:{},364:{},366:{},367:{},368:{},369:{},370:{},371:{},372:{T:1},373:{T:-1},374:{T:1},375:{T:-1},376:{T:1},377:{T:-1},378:{T:1},379:{T:-1},380:{T:1},381:{T:-1},382:{T:1},383:{T:-1},384:{T:1},385:{T:-1},386:{T:1},387:{T:-1},388:{T:1},389:{T:-1},390:{T:1},391:{T:-1},392:{T:1},393:{T:-1},394:{T:1},395:{T:-1},396:{},397:{},398:{},399:{},400:{},401:{T:1},403:{},404:{},405:{},406:{},407:{},408:{},409:{},410:{},411:{},412:{},413:{},414:{},415:{},416:{},417:{},418:{},419:{},420:{},421:{},422:{T:1},423:{T:1},424:{T:-1},425:{T:-1},426:{f:function(e,r,t){var a=e.l+r,n=ka(e),s=e.read_shift(1),i=[n];if(i[2]=s,t.cellFormula){var c=Li(e,a-e.l,t);i[1]=c}else e.l=a;return i}},427:{f:function(e,r,t){var a=e.l+r,n=[ya(e)];if(t.cellFormula){var s=Hi(e,a-e.l,t);n[1]=s,e.l=a}else e.l=a;return n}},428:{},429:{T:1},430:{T:-1},431:{T:1},432:{T:-1},433:{T:1},434:{T:-1},435:{T:1},436:{T:-1},437:{T:1},438:{T:-1},439:{T:1},440:{T:-1},441:{T:1},442:{T:-1},443:{T:1},444:{T:-1},445:{T:1},446:{T:-1},447:{T:1},448:{T:-1},449:{T:1},450:{T:-1},451:{T:1},452:{T:-1},453:{T:1},454:{T:-1},455:{T:1},456:{T:-1},457:{T:1},458:{T:-1},459:{T:1},460:{T:-1},461:{T:1},462:{T:-1},463:{T:1},464:{T:-1},465:{T:1},466:{T:-1},467:{T:1},468:{T:-1},469:{T:1},470:{T:-1},471:{},472:{},473:{T:1},474:{T:-1},475:{},476:{f:function(e){var r={};return dc.forEach(function(t){r[t]=_a(e)}),r}},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:function(){}},486:{T:1},487:{T:-1},488:{T:1},489:{T:-1},490:{T:1},491:{T:-1},492:{T:1},493:{T:-1},494:{f:function(e,r){var t=e.l+r,a=ya(e),n=Ea(e),s=da(e),i=da(e),c=da(e);e.l=t;var o={rfx:a,relId:n,loc:s,display:c};return i&&(o.Tooltip=i),o}},495:{T:1},496:{T:-1},497:{T:1},498:{T:-1},499:{},500:{T:1},501:{T:-1},502:{T:1},503:{T:-1},504:{},505:{T:1},506:{T:-1},507:{},508:{T:1},509:{T:-1},510:{T:1},511:{T:-1},512:{},513:{},514:{T:1},515:{T:-1},516:{T:1},517:{T:-1},518:{T:1},519:{T:-1},520:{T:1},521:{T:-1},522:{},523:{},524:{},525:{},526:{},527:{},528:{T:1},529:{T:-1},530:{T:1},531:{T:-1},532:{T:1},533:{T:-1},534:{},535:{},536:{},537:{},538:{T:1},539:{T:-1},540:{T:1},541:{T:-1},542:{T:1},548:{},549:{},550:{f:Aa},551:{},552:{},553:{},554:{T:1},555:{T:-1},556:{T:1},557:{T:-1},558:{T:1},559:{T:-1},560:{T:1},561:{T:-1},562:{},564:{},565:{T:1},566:{T:-1},569:{T:1},570:{T:-1},572:{},573:{T:1},574:{T:-1},577:{},578:{},579:{},580:{},581:{},582:{},583:{},584:{},585:{},586:{},587:{},588:{T:-1},589:{},590:{T:1},591:{T:-1},592:{T:1},593:{T:-1},594:{T:1},595:{T:-1},596:{},597:{T:1},598:{T:-1},599:{T:1},600:{T:-1},601:{T:1},602:{T:-1},603:{T:1},604:{T:-1},605:{T:1},606:{T:-1},607:{},608:{T:1},609:{T:-1},610:{},611:{T:1},612:{T:-1},613:{T:1},614:{T:-1},615:{T:1},616:{T:-1},617:{T:1},618:{T:-1},619:{T:1},620:{T:-1},625:{},626:{T:1},627:{T:-1},628:{T:1},629:{T:-1},630:{T:1},631:{T:-1},632:{f:ei},633:{T:1},634:{T:-1},635:{T:1,f:function(e){var r={};r.iauthor=e.read_shift(4);var t=ya(e);return r.rfx=t.s,r.ref=na(t.s),e.l+=16,r}},636:{T:-1},637:{f:ga},638:{T:1},639:{},640:{T:-1},641:{T:1},642:{T:-1},643:{T:1},644:{},645:{T:-1},646:{T:1},648:{T:1},649:{},650:{T:-1},651:{f:function(e,r){return e.l+=10,{name:da(e)}}},652:{},653:{T:1},654:{T:-1},655:{T:1},656:{T:-1},657:{T:1},658:{T:-1},659:{},660:{T:1},661:{},662:{T:-1},663:{},664:{T:1},665:{},666:{T:-1},667:{},668:{},669:{},671:{T:1},672:{T:-1},673:{T:1},674:{T:-1},675:{},676:{},677:{},678:{},679:{},680:{},681:{},1024:{},1025:{},1026:{T:1},1027:{T:-1},1028:{T:1},1029:{T:-1},1030:{},1031:{T:1},1032:{T:-1},1033:{T:1},1034:{T:-1},1035:{},1036:{},1037:{},1038:{T:1},1039:{T:-1},1040:{},1041:{T:1},1042:{T:-1},1043:{},1044:{},1045:{},1046:{T:1},1047:{T:-1},1048:{T:1},1049:{T:-1},1050:{},1051:{T:1},1052:{T:1},1053:{f:function(){}},1054:{T:1},1055:{},1056:{T:1},1057:{T:-1},1058:{T:1},1059:{T:-1},1061:{},1062:{T:1},1063:{T:-1},1064:{T:1},1065:{T:-1},1066:{T:1},1067:{T:-1},1068:{T:1},1069:{T:-1},1070:{T:1},1071:{T:-1},1072:{T:1},1073:{T:-1},1075:{T:1},1076:{T:-1},1077:{T:1},1078:{T:-1},1079:{T:1},1080:{T:-1},1081:{T:1},1082:{T:-1},1083:{T:1},1084:{T:-1},1085:{},1086:{T:1},1087:{T:-1},1088:{T:1},1089:{T:-1},1090:{T:1},1091:{T:-1},1092:{T:1},1093:{T:-1},1094:{T:1},1095:{T:-1},1096:{},1097:{T:1},1098:{},1099:{T:-1},1100:{T:1},1101:{T:-1},1102:{},1103:{},1104:{},1105:{},1111:{},1112:{},1113:{T:1},1114:{T:-1},1115:{T:1},1116:{T:-1},1117:{},1118:{T:1},1119:{T:-1},1120:{T:1},1121:{T:-1},1122:{T:1},1123:{T:-1},1124:{T:1},1125:{T:-1},1126:{},1128:{T:1},1129:{T:-1},1130:{},1131:{T:1},1132:{T:-1},1133:{T:1},1134:{T:-1},1135:{T:1},1136:{T:-1},1137:{T:1},1138:{T:-1},1139:{T:1},1140:{T:-1},1141:{},1142:{T:1},1143:{T:-1},1144:{T:1},1145:{T:-1},1146:{},1147:{T:1},1148:{T:-1},1149:{T:1},1150:{T:-1},1152:{T:1},1153:{T:-1},1154:{T:-1},1155:{T:-1},1156:{T:-1},1157:{T:1},1158:{T:-1},1159:{T:1},1160:{T:-1},1161:{T:1},1162:{T:-1},1163:{T:1},1164:{T:-1},1165:{T:1},1166:{T:-1},1167:{T:1},1168:{T:-1},1169:{T:1},1170:{T:-1},1171:{},1172:{T:1},1173:{T:-1},1177:{},1178:{T:1},1180:{},1181:{},1182:{},2048:{T:1},2049:{T:-1},2050:{},2051:{T:1},2052:{T:-1},2053:{},2054:{},2055:{T:1},2056:{T:-1},2057:{T:1},2058:{T:-1},2060:{},2067:{},2068:{T:1},2069:{T:-1},2070:{},2071:{},2072:{T:1},2073:{T:-1},2075:{},2076:{},2077:{T:1},2078:{T:-1},2079:{},2080:{T:1},2081:{T:-1},2082:{},2083:{T:1},2084:{T:-1},2085:{T:1},2086:{T:-1},2087:{T:1},2088:{T:-1},2089:{T:1},2090:{T:-1},2091:{},2092:{},2093:{T:1},2094:{T:-1},2095:{},2096:{T:1},2097:{T:-1},2098:{T:1},2099:{T:-1},2100:{T:1},2101:{T:-1},2102:{},2103:{T:1},2104:{T:-1},2105:{},2106:{T:1},2107:{T:-1},2108:{},2109:{T:1},2110:{T:-1},2111:{T:1},2112:{T:-1},2113:{T:1},2114:{T:-1},2115:{},2116:{},2117:{},2118:{T:1},2119:{T:-1},2120:{},2121:{T:1},2122:{T:-1},2123:{T:1},2124:{T:-1},2125:{},2126:{T:1},2127:{T:-1},2128:{},2129:{T:1},2130:{T:-1},2131:{T:1},2132:{T:-1},2133:{T:1},2134:{},2135:{},2136:{},2137:{T:1},2138:{T:-1},2139:{T:1},2140:{T:-1},2141:{},3072:{},3073:{},4096:{T:1},4097:{T:-1},5002:{T:1},5003:{T:-1},5081:{T:1},5082:{T:-1},5083:{},5084:{T:1},5085:{T:-1},5086:{T:1},5087:{T:-1},5088:{},5089:{},5090:{},5092:{T:1},5093:{T:-1},5094:{},5095:{T:1},5096:{T:-1},5097:{},5099:{},65535:{n:""}},to={6:{f:Mi},10:{f:ln},12:{f:hn},13:{f:hn},14:{f:fn},15:{f:fn},16:{f:_a},17:{f:fn},18:{f:fn},19:{f:hn},20:{f:Pn},21:{f:Pn},23:{f:Hn},24:{f:Bn},25:{f:fn},26:{},27:{},28:{f:function(e,r,t){return function(e,r,t){if(!(t.biff<8)){var a=e.read_shift(2),n=e.read_shift(2),s=e.read_shift(2),i=e.read_shift(2),c=vn(e,0,t);return t.biff<8&&e.read_shift(1),[{r:a,c:n},c,i,s]}}(e,0,t)}},29:{},34:{f:fn},35:{f:Ln},38:{f:_a},39:{f:_a},40:{f:_a},41:{f:_a},42:{f:fn},43:{f:fn},47:{f:function(e,r,t){var a={Type:t.biff>=8?e.read_shift(2):0};return a.Type?ws(e,r-2,a):Es(e,t.biff,t,a),a}},49:{f:function(e,r,t){var a={dyHeight:e.read_shift(2),fl:e.read_shift(2)};switch(t&&t.biff||8){case 2:break;case 3:case 4:e.l+=2;break;default:e.l+=10}return a.name=dn(e,0,t),a}},51:{f:hn},60:{},61:{f:function(e){return{Pos:[e.read_shift(2),e.read_shift(2)],Dim:[e.read_shift(2),e.read_shift(2)],Flags:e.read_shift(2),CurTab:e.read_shift(2),FirstTab:e.read_shift(2),Selected:e.read_shift(2),TabRatio:e.read_shift(2)}}},64:{f:fn},65:{f:function(){}},66:{f:hn},77:{},80:{},81:{},82:{},85:{f:hn},89:{},90:{},91:{},92:{f:function(e,r,t){if(t.enc)return e.l+=r,"";var a=e.l,n=vn(e,0,t);return e.read_shift(r+a-e.l),n}},93:{f:function(e,r,t){if(t&&t.biff<8)return function(e,r,t){e.l+=4;var a=e.read_shift(2),n=e.read_shift(2),s=e.read_shift(2);e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=6,r-=36;var i=[];return i.push((Wn[a]||jt)(e,r,t)),{cmo:[n,a,s],ft:i}}(e,r,t);var a=On(e),n=function(e,r){for(var t=e.l+r,a=[];e.l7||r[1]>7)throw new Error("Bad Gutters: "+r.join("|"));return r}},129:{f:function(e,r,t){var a=t&&8==t.biff||2==r?e.read_shift(2):(e.l+=r,0);return{fDialog:16&a,fBelow:64&a,fRight:128&a}}},130:{f:hn},131:{f:fn},132:{f:fn},133:{f:function(e,r,t){var a=e.read_shift(4),n=3&e.read_shift(1),s=e.read_shift(1);switch(s){case 0:s="Worksheet";break;case 1:s="Macrosheet";break;case 2:s="Chartsheet";break;case 6:s="VBAModule"}var i=dn(e,0,t);return 0===i.length&&(i="Sheet1"),{pos:a,hs:n,dt:s,name:i}}},134:{},140:{f:function(e){var r,t=[0,0];return r=e.read_shift(2),t[0]=Na[r]||r,r=e.read_shift(2),t[1]=Na[r]||r,t}},141:{f:hn},144:{},146:{f:function(e){for(var r=e.read_shift(2),t=[];r-- >0;)t.push(wn(e));return t}},151:{},152:{},153:{},154:{},155:{},156:{f:hn},157:{},158:{},160:{f:jn},161:{f:function(e,r){var t={};return r<32||(e.l+=16,t.header=_a(e),t.footer=_a(e),e.l+=2),t}},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:function(e,r){for(var t=e.l+r-2,a=e.read_shift(2),n=e.read_shift(2),s=[];e.l>2&1,a.data=function(e,r,t,a){var n={},s=e.read_shift(4),i=e.read_shift(4),c=e.read_shift(4),o=e.read_shift(2);return n.patternType=Da[c>>26],a.cellStyles?(n.alc=7&s,n.fWrap=s>>3&1,n.alcV=s>>4&7,n.fJustLast=s>>7&1,n.trot=s>>8&255,n.cIndent=s>>16&15,n.fShrinkToFit=s>>20&1,n.iReadOrder=s>>22&2,n.fAtrNum=s>>26&1,n.fAtrFnt=s>>27&1,n.fAtrAlc=s>>28&1,n.fAtrBdr=s>>29&1,n.fAtrPat=s>>30&1,n.fAtrProt=s>>31&1,n.dgLeft=15&i,n.dgRight=i>>4&15,n.dgTop=i>>8&15,n.dgBottom=i>>12&15,n.icvLeft=i>>16&127,n.icvRight=i>>23&127,n.grbitDiag=i>>30&3,n.icvTop=127&c,n.icvBottom=c>>7&127,n.icvDiag=c>>14&127,n.dgDiag=c>>21&15,n.icvFore=127&o,n.icvBack=o>>7&127,n.fsxButton=o>>14&1,n):n}(e,0,a.fStyle,t),a}},225:{f:function(e,r){return 0===r||e.read_shift(2),1200}},226:{f:ln},227:{},229:{f:function(e,r){for(var t=[],a=e.read_shift(2);a--;)t.push(yn(e));return t}},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:function(e,r){for(var t=e.l+r,a=e.read_shift(4),n=e.read_shift(4),s=[],i=0;i!=n&&e.l255)throw new Error("Unexpected SupBook type: "+s);for(var i=mn(e,s),c=[];a>e.l;)c.push(gn(e));return[s,n,i,c]}},431:{f:fn},432:{},433:{},434:{},437:{},438:{f:function(e,r,t){var a=e.l,n="";try{e.l+=4;var s=(t.lastobj||{cmo:[0,0]}).cmo[1];-1==[0,5,7,11,12,14].indexOf(s)?e.l+=6:function(e){var r=e.read_shift(1);e.l++;var t=e.read_shift(2);return e.l+=2,[r,t]}(e);var i=e.read_shift(2);e.read_shift(2),hn(e);var c=e.read_shift(2);e.l+=c;for(var o=1;o=(l?i:2*i))break}if(n.length!==i&&n.length!==2*i)throw new Error("cchText: "+i+" != "+n.length);return e.l=a+r,{t:n}}catch(f){return e.l=a+r,{t:n}}}},439:{f:fn},440:{f:function(e,r){var t=yn(e);e.l+=16;var a=function(e,r){var t=e.l+r,a=e.read_shift(4);if(2!==a)throw new Error("Unrecognized streamVersion: "+a);var n=e.read_shift(2);e.l+=2;var s,i,c,o,l,f,h="";16&n&&(s=Tn(e,e.l)),128&n&&(i=Tn(e,e.l)),257&~n||(c=Tn(e,e.l)),1==(257&n)&&(o=bn(e,e.l)),8&n&&(h=Tn(e,e.l)),32&n&&(l=e.read_shift(16)),64&n&&(f=Za(e)),e.l=t;var u=i||c||o||"";u&&h&&(u+="#"+h),u||(u="#"+h),2&n&&"/"==u.charAt(0)&&"/"!=u.charAt(1)&&(u="file://"+u);var d={Target:u};return l&&(d.guid=l),f&&(d.time=f),s&&(d.Tooltip=s),d}(e,r-24);return[t,a]}},441:{},442:{f:gn},443:{},444:{f:hn},445:{},446:{},448:{f:ln},449:{f:function(e){return e.read_shift(2),e.read_shift(4)},r:2},450:{f:ln},512:{f:Fn},513:{f:zn},515:{f:function(e,r,t){t.biffguess&&2==t.biff&&(t.biff=5);var a=An(e),n=_a(e);return a.val=n,a}},516:{f:function(e,r,t){t.biffguess&&2==t.biff&&(t.biff=5),e.l;var a=An(e);2==t.biff&&e.l++;var n=gn(e,e.l,t);return a.val=n,a}},517:{f:Mn},519:{f:$n},520:{f:function(e){var r={};r.r=e.read_shift(2),r.c=e.read_shift(2),r.cnt=e.read_shift(2)-r.c;var t=e.read_shift(2);e.l+=4;var a=e.read_shift(1);return e.l+=3,7&a&&(r.level=7&a),32&a&&(r.hidden=!0),64&a&&(r.hpt=t/20),r}},523:{},545:{f:Vn},549:{f:Nn},566:{},574:{f:function(e,r,t){return t&&t.biff>=2&&t.biff<5?{}:{RTL:64&e.read_shift(2)}}},638:{f:function(e){var r=e.read_shift(2),t=e.read_shift(2),a=kn(e);return{r:r,c:t,ixfe:a[0],rknum:a[1]}}},659:{},1048:{},1054:{f:function(e,r,t){return[e.read_shift(2),vn(e,0,t)]}},1084:{},1212:{f:function(e,r,t){var a=_n(e);e.l++;var n=e.read_shift(1);return[Fi(e,r-=8,t),n,a]}},2048:{f:function(e,r){e.read_shift(2);var t=yn(e),a=e.read_shift((r-10)/2,"dbcs-cont");return[t,a=a.replace(se,"")]}},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:In},2058:{},2059:{},2060:{},2061:{},2062:{},2063:{},2064:{},2066:{},2067:{},2128:{},2129:{},2130:{},2131:{},2132:{},2133:{},2134:{},2135:{},2136:{},2137:{},2138:{},2146:{},2147:{r:12},2148:{},2149:{},2150:{},2151:{f:ln},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:function(e){e.l+=2;var r={cxfs:0,crc:0};return r.cxfs=e.read_shift(2),r.crc=e.read_shift(4),r},r:12},2173:{f:function(e,r){e.l,e.l+=2;var t=e.read_shift(2);e.l+=2;for(var a=e.read_shift(2),n=[];a-- >0;)n.push(Zs(e,e.l));return{ixfe:t,ext:n}},r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:fn,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:function(e,r,t){if(!(t.biff<8)){var a=e.read_shift(2),n=e.read_shift(2);return[mn(e,a,t),mn(e,n,t)]}e.l+=r},r:12},2197:{},2198:{f:function(e,r,t){var a=e.l+r;if(124226!==e.read_shift(4))if(t.cellStyles){var n,s=e.slice(e.l);e.l=a;try{n=Rr(s,{type:"array"})}catch(c){return}var i=_r(n,"theme/theme/theme1.xml",!0);if(i)return Ks(i,t)}else e.l=a},r:12},2199:{},2200:{},2201:{},2202:{f:function(e){return[0!==e.read_shift(4),0!==e.read_shift(4),e.read_shift(4)]},r:12},2203:{f:ln},2204:{},2205:{},2206:{},2207:{},2211:{f:function(e){var r=function(e){var r=e.read_shift(2),t=e.read_shift(2);return e.l+=8,{type:r,flags:t}}(e);if(2211!=r.type)throw new Error("Invalid Future Record "+r.type);return 0!==e.read_shift(4)}},2212:{},2213:{},2214:{},2215:{},4097:{},4098:{},4099:{},4102:{},4103:{},4105:{},4106:{},4107:{},4108:{},4109:{},4116:{},4117:{},4118:{},4119:{},4120:{},4121:{},4122:{},4123:{},4124:{},4125:{},4126:{},4127:{},4128:{},4129:{},4130:{},4132:{},4133:{},4134:{f:hn},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:function(e,r,t){var a={area:!1};if(5!=t.biff)return e.l+=r,a;var n=e.read_shift(1);return e.l+=3,16&n&&(a.area=!0),a}},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:function(e){for(var r=e.read_shift(2),t=[];r-- >0;)t.push(wn(e));return t}},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:Fn},1:{},2:{f:function(e){var r=An(e);++e.l;var t=e.read_shift(2);return r.t="n",r.val=t,r}},3:{f:function(e){var r=An(e);++e.l;var t=_a(e);return r.t="n",r.val=t,r}},4:{f:function(e,r,t){t.biffguess&&5==t.biff&&(t.biff=2);var a=An(e);++e.l;var n=vn(e,0,t);return a.t="str",a.val=n,a}},5:{f:Mn},7:{f:function(e){var r=e.read_shift(1);return 0===r?(e.l++,""):e.read_shift(r,"sbcs-cont")}},8:{},9:{f:In},11:{},22:{f:hn},30:{f:Dn},31:{},32:{},33:{f:Vn},36:{},37:{f:Nn},50:{f:function(e,r){e.l+=6,e.l+=2,e.l+=1,e.l+=3,e.l+=1,e.l+=r-13}},62:{},52:{},67:{},68:{f:hn},69:{},86:{},126:{},127:{f:function(e){var r=e.read_shift(2),t=e.read_shift(2),a=e.read_shift(4),n={fmt:r,env:t,len:a,data:e.slice(e.l,e.l+a)};return e.l+=a,n}},135:{},136:{},137:{},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:function(e,r,t){var a=e.l+r,n=An(e),s=e.read_shift(2),i=mn(e,s,t);return e.l=a,n.t="str",n.val=i,n}},223:{},234:{},354:{},421:{},518:{f:Mi},521:{f:In},536:{f:Bn},547:{f:Ln},561:{},579:{},1030:{f:Mi},1033:{f:In},1091:{},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},29282:{}};function ao(e,r,t,a){var n=r;if(!isNaN(n)){var s=(t||[]).length||0,i=e.next(4);i.write_shift(2,n),i.write_shift(2,s),s>0&&It(t)&&e.push(t)}}function no(e,r){var t=r||{},a=t.dense?[]:{},n=(e=e.replace(//g,"")).match(/
");var s=e.match(/<\/table/i),i=n.index,c=s&&s.index||e.length,o=Er(e.slice(i,c),/(:?]*>)/i,""),l=-1,f=0,h=0,u=0,d={s:{r:1e7,c:1e7},e:{r:0,c:0}},p=[];for(i=0;i/i);for(c=0;c"))>-1;)T=T.slice(E+1);for(var w=0;w")));u=S.colspan?+S.colspan:1,((h=+S.rowspan)>1||u>1)&&p.push({s:{r:l,c:f},e:{r:l+(h||1)-1,c:f+u-1}});var k=S.t||S["data-t"]||"";if(T.length)if(T=et(T),d.s.r>l&&(d.s.r=l),d.e.rf&&(d.s.c=f),d.e.ct||n[l].s.c>i||n[l].e.r1&&(d.rowspan=c),o>1&&(d.colspan=o),a.editable?u=''+u+"":h&&(d["data-t"]=h&&h.t||"z",null!=h.v&&(d["data-v"]=h.v),null!=h.z&&(d["data-z"]=h.z),h.l&&"#"!=(h.l.Target||"#").charAt(0)&&(u=''+u+"")),d.id=(a.id||"sjs")+"-"+f,s.push(it("td",u,d))}}return""+s.join("")+""}function io(e,r,t){var a=t||{},n=0,s=0;if(null!=a.origin)if("number"==typeof a.origin)n=a.origin;else{var i="string"==typeof a.origin?aa(a.origin):a.origin;n=i.r,s=i.c}var c=r.getElementsByTagName("tr"),o=Math.min(a.sheetRows||1e7,c.length),l={s:{r:0,c:0},e:{r:n,c:s}};if(e["!ref"]){var f=sa(e["!ref"]);l.s.r=Math.min(l.s.r,f.s.r),l.s.c=Math.min(l.s.c,f.s.c),l.e.r=Math.max(l.e.r,f.e.r),l.e.c=Math.max(l.e.c,f.e.c),-1==n&&(l.e.r=n=f.e.r+1)}var h=[],u=0,d=e["!rows"]||(e["!rows"]=[]),p=0,m=0,g=0,v=0,b=0,T=0;for(e["!cols"]||(e["!cols"]=[]);p1||T>1)&&h.push({s:{r:m+n,c:v+s},e:{r:m+n+(b||1)-1,c:v+s+(T||1)-1}});var _={t:"s",v:S},C=A.getAttribute("data-t")||A.getAttribute("t")||"";null!=S&&(0==S.length?_.t=C||"z":a.raw||0==S.trim().length||"s"==C||("TRUE"===S?_={t:"b",v:!0}:"FALSE"===S?_={t:"b",v:!1}:isNaN(vr(S))?isNaN(Tr(S).getDate())||(_={t:"d",v:dr(S)},a.cellDates||(_={t:"n",v:nr(_.v)}),_.z=a.dateNF||ge[14]):_={t:"n",v:vr(S)})),void 0===_.z&&null!=k&&(_.z=k);var O="",R=A.getElementsByTagName("A");if(R&&R.length)for(var x=0;x=o&&(e["!fullref"]=ia((l.e.r=c.length-p+m-1+n,l))),e}function co(e,r){return io((r||{}).dense?[]:{},e,r)}function oo(e){var r="",t=function(e){return e.ownerDocument.defaultView&&"function"==typeof e.ownerDocument.defaultView.getComputedStyle?e.ownerDocument.defaultView.getComputedStyle:"function"==typeof getComputedStyle?getComputedStyle:null}(e);return t&&(r=t(e).getPropertyValue("display")),r||(r=e.style&&e.style.display),"none"===r}function lo(e){var r=e.replace(/[\t\r\n]/g," ").trim().replace(/ +/g," ").replace(//g," ").replace(//g,function(e,r){return Array(parseInt(r,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n");return[Vr(r.replace(/<[^>]*>/g,""))]}var fo={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"],era:["e","ee"],quarter:["\\Qm",'m\\"th quarter"']};function ho(e,r){var t,a,n,s,i,c,o=r||{},l=ct(e),f=[],h={name:""},u="",d=0,p={},m=[],g=o.dense?[]:{},v={value:""},b="",T=0,E=[],w=-1,A=-1,S={s:{r:1e6,c:1e7},e:{r:0,c:0}},k=0,y={},_=[],C={},O=[],R=1,x=1,I=[],N={Names:[]},D={},F=["",""],M=[],P={},L="",U=0,B=!1,H=!1,V=0;for(ot.lastIndex=0,l=l.replace(//gm,"").replace(//gm,"");i=ot.exec(l);)switch(i[3]=i[3].replace(/_.*$/,"")){case"table":case"工作表":"/"===i[1]?(S.e.c>=S.s.c&&S.e.r>=S.s.r?g["!ref"]=ia(S):g["!ref"]="A1:A1",o.sheetRows>0&&o.sheetRows<=S.e.r&&(g["!fullref"]=g["!ref"],S.e.r=o.sheetRows-1,g["!ref"]=ia(S)),_.length&&(g["!merges"]=_),O.length&&(g["!rows"]=O),n.name=n["名称"]||n.name,"undefined"!=typeof JSON&&JSON.stringify(n),m.push(n.name),p[n.name]=g,H=!1):"/"!==i[0].charAt(i[0].length-2)&&(n=Lr(i[0],!1),w=A=-1,S.s.r=S.s.c=1e7,S.e.r=S.e.c=0,g=o.dense?[]:{},_=[],O=[],H=!0);break;case"table-row-group":"/"===i[1]?--k:++k;break;case"table-row":case"行":if("/"===i[1]){w+=R,R=1;break}if((s=Lr(i[0],!1))["行号"]?w=s["行号"]-1:-1==w&&(w=0),(R=+s["number-rows-repeated"]||1)<10)for(V=0;V0&&(O[w+V]={level:k});A=-1;break;case"covered-table-cell":"/"!==i[1]&&++A,o.sheetStubs&&(o.dense?(g[w]||(g[w]=[]),g[w][A]={t:"z"}):g[na({r:w,c:A})]={t:"z"}),b="",E=[];break;case"table-cell":case"数据":if("/"===i[0].charAt(i[0].length-2))++A,v=Lr(i[0],!1),x=parseInt(v["number-columns-repeated"]||"1",10),c={t:"z",v:null},v.formula&&0!=o.cellFormula&&(c.f=zi(Vr(v.formula))),"string"==(v["数据类型"]||v["value-type"])&&(c.t="s",c.v=Vr(v["string-value"]||""),o.dense?(g[w]||(g[w]=[]),g[w][A]=c):g[na({r:w,c:A})]=c),A+=x-1;else if("/"!==i[1]){b="",T=0,E=[],x=1;var W=R?w+R-1:w;if(++A>S.e.c&&(S.e.c=A),AS.e.r&&(S.e.r=W),M=[],P={},c={t:(v=Lr(i[0],!1))["数据类型"]||v["value-type"],v:null},o.cellFormula)if(v.formula&&(v.formula=Vr(v.formula)),v["number-matrix-columns-spanned"]&&v["number-matrix-rows-spanned"]&&(C={s:{r:w,c:A},e:{r:w+(parseInt(v["number-matrix-rows-spanned"],10)||0)-1,c:A+(parseInt(v["number-matrix-columns-spanned"],10)||0)-1}},c.F=ia(C),I.push([C,c.F])),v.formula)c.f=zi(v.formula);else for(V=0;V=I[V][0].s.r&&w<=I[V][0].e.r&&A>=I[V][0].s.c&&A<=I[V][0].e.c&&(c.F=I[V][1]);switch((v["number-columns-spanned"]||v["number-rows-spanned"])&&(C={s:{r:w,c:A},e:{r:w+(parseInt(v["number-rows-spanned"],10)||0)-1,c:A+(parseInt(v["number-columns-spanned"],10)||0)-1}},_.push(C)),v["number-columns-repeated"]&&(x=parseInt(v["number-columns-repeated"],10)),c.t){case"boolean":c.t="b",c.v=$r(v["boolean-value"]);break;case"float":case"percentage":case"currency":c.t="n",c.v=parseFloat(v.value);break;case"date":c.t="d",c.v=dr(v["date-value"]),o.cellDates||(c.t="n",c.v=nr(c.v)),c.z="m/d/yy";break;case"time":c.t="n",c.v=lr(v["time-value"])/86400,o.cellDates&&(c.t="d",c.v=or(c.v)),c.z="HH:MM:SS";break;case"number":c.t="n",c.v=parseFloat(v["数据数值"]);break;default:if("string"!==c.t&&"text"!==c.t&&c.t)throw new Error("Unsupported value type "+c.t);c.t="s",null!=v["string-value"]&&(b=Vr(v["string-value"]),E=[])}}else{if(B=!1,"s"===c.t&&(c.v=b||"",E.length&&(c.R=E),B=0==T),D.Target&&(c.l=D),M.length>0&&(c.c=M,M=[]),b&&!1!==o.cellText&&(c.w=b),B&&(c.t="z",delete c.v),(!B||o.sheetStubs)&&!(o.sheetRows&&o.sheetRows<=w))for(var G=0;G0;)g[w+G][A+x]=mr(c);else for(g[na({r:w+G,c:A})]=c;--x>0;)g[na({r:w+G,c:A+x})]=mr(c);S.e.c<=A&&(S.e.c=A)}A+=(x=parseInt(v["number-columns-repeated"]||"1",10))-1,x=0,c={},b="",E=[]}D={};break;case"document":case"document-content":case"电子表格文档":case"spreadsheet":case"主体":case"scripts":case"styles":case"font-face-decls":case"master-styles":if("/"===i[1]){if((t=f.pop())[0]!==i[3])throw"Bad state: "+t}else"/"!==i[0].charAt(i[0].length-2)&&f.push([i[3],!0]);break;case"annotation":if("/"===i[1]){if((t=f.pop())[0]!==i[3])throw"Bad state: "+t;P.t=b,E.length&&(P.R=E),P.a=L,M.push(P)}else"/"!==i[0].charAt(i[0].length-2)&&f.push([i[3],!1]);L="",U=0,b="",T=0,E=[];break;case"creator":"/"===i[1]?L=l.slice(U,i.index):U=i.index+i[0].length;break;case"meta":case"元数据":case"settings":case"config-item-set":case"config-item-map-indexed":case"config-item-map-entry":case"config-item-map-named":case"shapes":case"frame":case"text-box":case"image":case"data-pilot-tables":case"list-style":case"form":case"dde-links":case"event-listeners":case"chart":if("/"===i[1]){if((t=f.pop())[0]!==i[3])throw"Bad state: "+t}else"/"!==i[0].charAt(i[0].length-2)&&f.push([i[3],!1]);b="",T=0,E=[];break;case"scientific-number":case"currency-symbol":case"currency-style":case"script":case"libraries":case"automatic-styles":case"default-style":case"page-layout":case"style":case"map":case"font-face":case"paragraph-properties":case"table-properties":case"table-column-properties":case"table-row-properties":case"table-cell-properties":case"fraction":case"boolean-style":case"boolean":case"text-style":case"text-content":case"text-properties":case"embedded-text":case"body":case"电子表格":case"forms":case"table-column":case"table-header-rows":case"table-rows":case"table-column-group":case"table-header-columns":case"table-columns":case"null-date":case"graphic-properties":case"calculation-settings":case"named-expressions":case"label-range":case"label-ranges":case"named-expression":case"sort":case"sort-by":case"sort-groups":case"tab":case"line-break":case"span":case"s":case"date":case"object":case"title":case"标题":case"desc":case"binary-data":case"table-source":case"scenario":case"iteration":case"content-validations":case"content-validation":case"help-message":case"error-message":case"database-ranges":case"filter":case"filter-and":case"filter-or":case"filter-condition":case"list-level-style-bullet":case"list-level-style-number":case"list-level-properties":case"sender-firstname":case"sender-lastname":case"sender-initials":case"sender-title":case"sender-position":case"sender-email":case"sender-phone-private":case"sender-fax":case"sender-company":case"sender-phone-work":case"sender-street":case"sender-city":case"sender-postal-code":case"sender-country":case"sender-state-or-province":case"author-name":case"author-initials":case"chapter":case"file-name":case"template-name":case"sheet-name":case"event-listener":case"initial-creator":case"creation-date":case"print-date":case"generator":case"document-statistic":case"user-defined":case"editing-duration":case"editing-cycles":case"config-item":case"page-number":case"page-count":case"time":case"cell-range-source":case"detective":case"operation":case"highlighted-range":case"data-pilot-table":case"source-cell-range":case"source-service":case"data-pilot-field":case"data-pilot-level":case"data-pilot-subtotals":case"data-pilot-subtotal":case"data-pilot-members":case"data-pilot-member":case"data-pilot-display-info":case"data-pilot-sort-info":case"data-pilot-layout-info":case"data-pilot-field-reference":case"data-pilot-groups":case"data-pilot-group":case"data-pilot-group-member":case"rect":case"dde-connection-decls":case"dde-connection-decl":case"dde-link":case"dde-source":case"properties":case"property":case"table-protection":case"data-pilot-grand-total":case"office-document-common-attrs":break;case"number-style":case"percentage-style":case"date-style":case"time-style":if("/"===i[1]){if(y[h.name]=u,(t=f.pop())[0]!==i[3])throw"Bad state: "+t}else"/"!==i[0].charAt(i[0].length-2)&&(u="",h=Lr(i[0],!1),f.push([i[3],!0]));break;case"number":case"day":case"month":case"year":case"era":case"day-of-week":case"week-of-year":case"quarter":case"hours":case"minutes":case"seconds":case"am-pm":switch(f[f.length-1][0]){case"time-style":case"date-style":a=Lr(i[0],!1),u+=fo[i[3]]["long"===a.style?1:0]}break;case"text":if("/>"===i[0].slice(-2))break;if("/"===i[1])switch(f[f.length-1][0]){case"number-style":case"date-style":case"time-style":u+=l.slice(d,i.index)}else d=i.index+i[0].length;break;case"named-range":F=ji((a=Lr(i[0],!1))["cell-range-address"]);var z={Name:a.name,Ref:F[0]+"!"+F[1]};H&&(z.Sheet=m.length),N.Names.push(z);break;case"p":case"文本串":if(["master-styles"].indexOf(f[f.length-1][0])>-1)break;if("/"!==i[1]||v&&v["string-value"])Lr(i[0],!1),T=i.index+i[0].length;else{var j=lo(l.slice(T,i.index));b=(b.length>0?b+"\n":"")+j[0]}break;case"database-range":if("/"===i[1])break;try{p[(F=ji(Lr(i[0])["target-range-address"]))[0]]["!autofilter"]={ref:F[1]}}catch(Y){}break;case"a":if("/"!==i[1]){if(!(D=Lr(i[0],!1)).href)break;D.Target=Vr(D.href),delete D.href,"#"==D.Target.charAt(0)&&D.Target.indexOf(".")>-1?(F=ji(D.Target.slice(1)),D.Target="#"+F[0]+"!"+F[1]):D.Target.match(/^\.\.[\\\/]/)&&(D.Target=D.Target.slice(3))}break;default:switch(i[2]){case"dc:":case"calcext:":case"loext:":case"ooo:":case"chartooo:":case"draw:":case"style:":case"chart:":case"form:":case"uof:":case"表:":case"字:":break;default:if(o.WTF)throw new Error(i)}}var $={Sheets:p,SheetNames:m,Workbook:N};return o.bookSheets&&delete $.Sheets,$}function uo(e,r){r=r||{},Sr(e,"META-INF/manifest.xml")&&function(e,r){for(var t,a,n=ct(e);t=ot.exec(n);)switch(t[3]){case"manifest":break;case"file-entry":if("/"==(a=Lr(t[0],!1)).path&&"application/vnd.oasis.opendocument.spreadsheet"!==a.type)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":case"algorithm":case"start-key-generation":case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(r&&r.WTF)throw t}}(yr(e,"META-INF/manifest.xml"),r);var t=_r(e,"content.xml");if(!t)throw new Error("Missing content.xml in ODS / UOF file");var a=ho(Zr(t),r);return Sr(e,"meta.xml")&&(a.Props=za(yr(e,"meta.xml"))),a}function po(e,r){return ho(e,r)} +/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */function mo(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function go(e){return"undefined"!=typeof TextDecoder?(new TextDecoder).decode(e):Zr(te(e))}function vo(e){var r=e.reduce(function(e,r){return e+r.length},0),t=new Uint8Array(r),a=0;return e.forEach(function(e){t.set(e,a),a+=e.length}),t}function bo(e){return 16843009*((e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135)>>>24}function To(e,r){var t=r?r[0]:0,a=127&e[t];e:if(e[t++]>=128){if(a|=(127&e[t])<<7,e[t++]<128)break e;if(a|=(127&e[t])<<14,e[t++]<128)break e;if(a|=(127&e[t])<<21,e[t++]<128)break e;if(a+=(127&e[t])*Math.pow(2,28),++t,e[t++]<128)break e;if(a+=(127&e[t])*Math.pow(2,35),++t,e[t++]<128)break e;if(a+=(127&e[t])*Math.pow(2,42),++t,e[t++]<128)break e}return r&&(r[0]=t),a}function Eo(e){var r=0,t=127&e[r];e:if(e[r++]>=128){if(t|=(127&e[r])<<7,e[r++]<128)break e;if(t|=(127&e[r])<<14,e[r++]<128)break e;if(t|=(127&e[r])<<21,e[r++]<128)break e;t|=(127&e[r])<<28}return t}function wo(e){for(var r=[],t=[0];t[0]=128;);a=e.slice(o,t[0]);break;case 5:c=4,a=e.slice(t[0],t[0]+c),t[0]+=c;break;case 1:c=8,a=e.slice(t[0],t[0]+c),t[0]+=c;break;case 2:c=To(e,t),a=e.slice(t[0],t[0]+c),t[0]+=c;break;default:throw new Error("PB Type ".concat(i," for Field ").concat(s," at offset ").concat(n))}var l={data:a,type:i};null==r[s]?r[s]=[l]:r[s].push(l)}return r}function Ao(e,r){return(null==e?void 0:e.map(function(e){return r(e.data)}))||[]}function So(e,r){if(0!=e)throw new Error("Unexpected Snappy chunk type ".concat(e));for(var t=[0],a=To(r,t),n=[];t[0]>2&7),i=(224&r[t[0]++])<<3,i|=r[t[0]++]):(c=1+(r[t[0]++]>>2),2==s?(i=r[t[0]]|r[t[0]+1]<<8,t[0]+=2):(i=(r[t[0]]|r[t[0]+1]<<8|r[t[0]+2]<<16|r[t[0]+3]<<24)>>>0,t[0]+=4)),n=[vo(n)],0==i)throw new Error("Invalid offset 0");if(i>n[0].length)throw new Error("Invalid offset beyond length");if(c>=i)for(n.push(n[0].slice(-i)),c-=i;c>=n[n.length-1].length;)n.push(n[n.length-1]),c-=n[n.length-1].length;n.push(n[0].slice(-i,-i+c))}else{var o=r[t[0]++]>>2;if(o<60)++o;else{var l=o-59;o=r[t[0]],l>1&&(o|=r[t[0]+1]<<8),l>2&&(o|=r[t[0]+2]<<16),l>3&&(o|=r[t[0]+3]<<24),o>>>=0,o++,t[0]+=l}n.push(r.slice(t[0],t[0]+o)),t[0]+=o}}var f=vo(n);if(f.length!=a)throw new Error("Unexpected length: ".concat(f.length," != ").concat(a));return f}function ko(e,r,t){var a,n=mo(e),s=n.getUint32(8,!0),i=12,c=-1,o=-1,l=NaN,f=NaN,h=new Date(2001,0,1);switch(1&s&&(l=function(e,r){for(var t=(127&e[r+15])<<7|e[r+14]>>1,a=1&e[r+14],n=r+13;n>=r;--n)a=256*a+e[n];return(128&e[r+15]?-a:a)*Math.pow(10,t-6176)}(e,i),i+=16),2&s&&(f=n.getFloat64(i,!0),i+=8),4&s&&(h.setTime(h.getTime()+1e3*n.getFloat64(i,!0)),i+=8),8&s&&(o=n.getUint32(i,!0),i+=4),16&s&&(c=n.getUint32(i,!0),i+=4),e[1]){case 0:break;case 2:case 10:a={t:"n",v:l};break;case 3:a={t:"s",v:r[o]};break;case 5:a={t:"d",v:h};break;case 6:a={t:"b",v:f>0};break;case 7:a={t:"n",v:f/86400};break;case 8:a={t:"e",v:0};break;case 9:if(!(c>-1))throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(31&s," : ").concat(e.slice(0,4)));a={t:"s",v:t[c]};break;default:throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(31&s," : ").concat(e.slice(0,4)))}return a}function yo(e,r,t){switch(e[0]){case 0:case 1:case 2:case 3:return function(e,r,t,a){var n,s=mo(e),i=s.getUint32(4,!0),c=(a>1?12:8)+4*bo(i&(a>1?3470:398)),o=-1,l=-1,f=NaN,h=new Date(2001,0,1);switch(512&i&&(o=s.getUint32(c,!0),c+=4),c+=4*bo(i&(a>1?12288:4096)),16&i&&(l=s.getUint32(c,!0),c+=4),32&i&&(f=s.getFloat64(c,!0),c+=8),64&i&&(h.setTime(h.getTime()+1e3*s.getFloat64(c,!0)),c+=8),e[2]){case 0:break;case 2:n={t:"n",v:f};break;case 3:n={t:"s",v:r[l]};break;case 5:n={t:"d",v:h};break;case 6:n={t:"b",v:f>0};break;case 7:n={t:"n",v:f/86400};break;case 8:n={t:"e",v:0};break;case 9:if(o>-1)n={t:"s",v:t[o]};else if(l>-1)n={t:"s",v:r[l]};else{if(isNaN(f))throw new Error("Unsupported cell type ".concat(e.slice(0,4)));n={t:"n",v:f}}break;default:throw new Error("Unsupported cell type ".concat(e.slice(0,4)))}return n}(e,r,t,e[0]);case 5:return ko(e,r,t);default:throw new Error("Unsupported payload version ".concat(e[0]))}}function _o(e){return To(wo(e)[1][0].data)}function Co(e,r){var t=wo(r.data),a=Eo(t[1][0].data),n=t[3],s=[];return(n||[]).forEach(function(r){var t=wo(r.data),n=Eo(t[1][0].data)>>>0;switch(a){case 1:s[n]=go(t[3][0].data);break;case 8:var i=wo(e[_o(t[9][0].data)][0].data),c=e[_o(i[1][0].data)][0],o=Eo(c.meta[1][0].data);if(2001!=o)throw new Error("2000 unexpected reference to ".concat(o));var l=wo(c.data);s[n]=l[3].map(function(e){return go(e.data)}).join("")}}),s}function Oo(e,r){var t,a=wo(r.data),n=(null==(t=null==a?void 0:a[7])?void 0:t[0])?Eo(a[7][0].data)>>>0>0?1:0:-1,s=Ao(a[5],function(e){return function(e,r){var t,a,n,s,i,c,o,l,f,h,u,d,p,m,g,v,b=wo(e),T=Eo(b[1][0].data)>>>0,E=Eo(b[2][0].data)>>>0,w=(null==(a=null==(t=b[8])?void 0:t[0])?void 0:a.data)&&Eo(b[8][0].data)>0||!1;if((null==(s=null==(n=b[7])?void 0:n[0])?void 0:s.data)&&0!=r)g=null==(c=null==(i=b[7])?void 0:i[0])?void 0:c.data,v=null==(l=null==(o=b[6])?void 0:o[0])?void 0:l.data;else{if(!(null==(h=null==(f=b[4])?void 0:f[0])?void 0:h.data)||1==r)throw"NUMBERS Tile missing ".concat(r," cell storage");g=null==(d=null==(u=b[4])?void 0:u[0])?void 0:d.data,v=null==(m=null==(p=b[3])?void 0:p[0])?void 0:m.data}for(var A=w?4:1,S=mo(g),k=[],y=0;y=1&&(C[k[k.length-1][0]]=v.subarray(k[k.length-1][1]*A)),{R:T,cells:C}}(e,n)});return{nrows:Eo(a[4][0].data)>>>0,data:s.reduce(function(e,r){return e[r.R]||(e[r.R]=[]),r.cells.forEach(function(t,a){if(e[r.R][a])throw new Error("Duplicate cell r=".concat(r.R," c=").concat(a));e[r.R][a]=t}),e},[])}}function Ro(e,r){var t={"!ref":"A1"},a=e[_o(wo(r.data)[2][0].data)],n=Eo(a[0].meta[1][0].data);if(6001!=n)throw new Error("6000 unexpected reference to ".concat(n));return function(e,r,t){var a,n=wo(r.data),s={s:{r:0,c:0},e:{r:0,c:0}};if(s.e.r=(Eo(n[6][0].data)>>>0)-1,s.e.r<0)throw new Error("Invalid row varint ".concat(n[6][0].data));if(s.e.c=(Eo(n[7][0].data)>>>0)-1,s.e.c<0)throw new Error("Invalid col varint ".concat(n[7][0].data));t["!ref"]=ia(s);var i=wo(n[4][0].data),c=Co(e,e[_o(i[4][0].data)][0]),o=(null==(a=i[17])?void 0:a[0])?Co(e,e[_o(i[17][0].data)][0]):[],l=wo(i[3][0].data),f=0;l[1].forEach(function(r){var a=wo(r.data),n=e[_o(a[2][0].data)][0],s=Eo(n.meta[1][0].data);if(6002!=s)throw new Error("6001 unexpected reference to ".concat(s));var i=Oo(0,n);i.data.forEach(function(e,r){e.forEach(function(e,a){var n=na({r:f+r,c:a}),s=yo(e,c,o);s&&(t[n]=s)})}),f+=i.nrows})}(e,a[0],t),t}function xo(e,r){var t={SheetNames:[],Sheets:{}};if(Ao(wo(r.data)[1],_o).forEach(function(r){e[r].forEach(function(r){if(2==Eo(r.meta[1][0].data)){var a=function(e,r){var t,a=wo(r.data),n={name:(null==(t=a[1])?void 0:t[0])?go(a[1][0].data):"",sheets:[]};return Ao(a[2],_o).forEach(function(r){e[r].forEach(function(r){6e3==Eo(r.meta[1][0].data)&&n.sheets.push(Ro(e,r))})}),n}(e,r);a.sheets.forEach(function(e,r){Ko(t,e,0==r?a.name:a.name+"_"+r,!0)})}})}),0==t.SheetNames.length)throw new Error("Empty NUMBERS file");return t}function Io(e){var r,t,a,n,s={},i=[];if(e.FullPaths.forEach(function(e){if(e.match(/\.iwpv2/))throw new Error("Unsupported password protection")}),e.FileIndex.forEach(function(e){if(e.name.match(/\.iwa$/)){var r,t;try{r=function(e){for(var r=[],t=0;t>>0>0),t.push(i)}return t}(r)}catch(a){return}t.forEach(function(e){s[e.id]=e.messages,i.push(e.id)})}}),!i.length)throw new Error("File has no messages");var c=(null==(n=null==(a=null==(t=null==(r=null==s?void 0:s[1])?void 0:r[0])?void 0:t.meta)?void 0:a[1])?void 0:n[0].data)&&1==Eo(s[1][0].meta[1][0].data)&&s[1][0];if(c||i.forEach(function(e){s[e].forEach(function(e){if(1==Eo(e.meta[1][0].data)>>>0){if(c)throw new Error("Document has multiple roots");c=e}})}),!c)throw new Error("Cannot find Document root");return xo(s,c)}function No(e){var r;(r=[["cellNF",!1],["cellHTML",!0],["cellFormula",!0],["cellStyles",!1],["cellText",!0],["cellDates",!1],["sheetStubs",!1],["sheetRows",0,"n"],["bookDeps",!1],["bookSheets",!1],["bookProps",!1],["bookFiles",!1],["bookVBA",!1],["password",""],["WTF",!1]],function(e){for(var t=0;t!=r.length;++t){var a=r[t];void 0===e[a[0]]&&(e[a[0]]=a[1]),"n"===a[2]&&(e[a[0]]=Number(e[a[0]]))}})(e)}function Do(e,r,t,a,n,s,i,c,o,l,f,h){try{s[a]=Va(_r(e,t,!0),r);var u,d=yr(e,r);switch(c){case"sheet":u=_c(d,r,n,o,s[a],l,f,h);break;case"chart":if(!(u=Cc(d,r,n,o,s[a],l))||!u["!drawel"])break;var p=xr(u["!drawel"].Target,r),m=Ha(p),g=function(e,r){if(!e)return"??";var t=(e.match(/]*r:id="([^"]*)"/)||["",""])[1];return r["!id"][t].Target}(_r(e,p,!0),Va(_r(e,m,!0),p)),v=xr(g,p),b=Ha(v);u=pc(_r(e,v,!0),0,0,Va(_r(e,b,!0),v),0,u);break;case"macro":E=r,s[a],E.slice(-4),u={"!type":"macro"};break;case"dialog":u=function(e,r){return r.slice(-4),{"!type":"dialog"}}(0,r,0,0,s[a]);break;default:throw new Error("Unrecognized sheet type "+c)}i[a]=u;var T=[];s&&s[a]&&rr(s[a]).forEach(function(t){var n="";if(s[a][t].Type==Ba.CMNT){n=xr(s[a][t].Target,r);var i=xc(yr(e,n,!0),n,o);if(!i||!i.length)return;Qs(u,i,!1)}s[a][t].Type==Ba.TCMNT&&(n=xr(s[a][t].Target,r),T=T.concat(function(e,r){var t=[],a=!1,n={},s=0;return e.replace(Fr,function(i,c){var o=Lr(i);switch(Ur(o[0])){case"":case"":case"":case"":break;case"":null!=n.t&&t.push(n);break;case"":case"":n.t=e.slice(s,c).replace(/\r\n/g,"\n").replace(/\r/g,"\n");break;case"":case"":case"":a=!1;break;default:if(!a&&r.WTF)throw new Error("unrecognized "+o[0]+" in threaded comments")}return i}),t}(yr(e,n,!0),o)))}),T&&T.length&&Qs(u,T,!0,o.people||[])}catch(w){if(o.WTF)throw w}var E}function Fo(e){return"/"==e.charAt(0)?e.slice(1):e}function Mo(e,r){if(Je(),No(r=r||{}),Sr(e,"META-INF/manifest.xml"))return uo(e,r);if(Sr(e,"objectdata.xml"))return uo(e,r);if(Sr(e,"Index/Document.iwa")){if("undefined"==typeof Uint8Array)throw new Error("NUMBERS file parsing requires Uint8Array support");if(void 0!==Io){if(e.FileIndex)return Io(e);var t=er.utils.cfb_new();return Cr(e).forEach(function(r){Or(t,r,function(e,r){return Ar(kr(e,r))}(e,r))}),Io(t)}throw new Error("Unsupported NUMBERS file")}if(!Sr(e,"[Content_Types].xml")){if(Sr(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(Sr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Error("Unsupported ZIP file")}var a,n,s=Cr(e),i=function(e){var r={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};if(!e||!e.match)return r;var t={};if((e.match(Fr)||[]).forEach(function(e){var a=Lr(e);switch(a[0].replace(Mr,"<")){case"0?r.calcchains[0]:"",r.sst=r.strs.length>0?r.strs[0]:"",r.style=r.styles.length>0?r.styles[0]:"",r.defaults=t,delete r.calcchains,r}(_r(e,"[Content_Types].xml")),c=!1;if(0===i.workbooks.length&&yr(e,n="xl/workbook.xml",!0)&&i.workbooks.push(n),0===i.workbooks.length){if(!yr(e,n="xl/workbook.bin",!0))throw new Error("Could not find workbook");i.workbooks.push(n),c=!0}"bin"==i.workbooks[0].slice(-3)&&(c=!0);var o={},l={};if(!r.bookSheets&&!r.bookProps){if($i=[],i.sst)try{$i=Rc(yr(e,Fo(i.sst)),i.sst,r)}catch(x){if(r.WTF)throw x}r.cellStyles&&i.themes.length&&(o=function(e,r,t){return Ks(e,t)}(_r(e,i.themes[0].replace(/^\//,""),!0)||"",i.themes[0],r)),i.style&&(l=Oc(yr(e,Fo(i.style)),i.style,o,r))}i.links.map(function(t){try{Va(_r(e,Ha(Fo(t))),t);return Nc(yr(e,Fo(t)),0,t,r)}catch(x){}});var f=yc(yr(e,Fo(i.workbooks[0])),i.workbooks[0],r),h={},u="";i.coreprops.length&&((u=yr(e,Fo(i.coreprops[0]),!0))&&(h=za(u)),0!==i.extprops.length&&(u=yr(e,Fo(i.extprops[0]),!0))&&function(e,r,t){var a={};r||(r={}),e=Zr(e),ja.forEach(function(t){var n=(e.match(Qr(t[0]))||[])[1];switch(t[2]){case"string":n&&(r[t[1]]=Vr(n));break;case"bool":r[t[1]]="true"===n;break;case"raw":var s=e.match(new RegExp("<"+t[0]+"[^>]*>([\\s\\S]*?)"));s&&s.length>0&&(a[t[1]]=s[1])}}),a.HeadingPairs&&a.TitlesOfParts&&$a(a.HeadingPairs,a.TitlesOfParts,r,t)}(u,h,r));var d={};r.bookSheets&&!r.bookProps||0!==i.custprops.length&&(u=_r(e,Fo(i.custprops[0]),!0))&&(d=function(e,r){var t={},a="",n=e.match(Ya);if(n)for(var s=0;s!=n.length;++s){var i=n[s],c=Lr(i);switch(c[0]){case"":a=null;break;default:if(0===i.indexOf(""),l=o[0].slice(4),f=o[1];switch(l){case"lpstr":case"bstr":case"lpwstr":case"cy":case"error":t[a]=Vr(f);break;case"bool":t[a]=$r(f);break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":t[a]=parseInt(f,10);break;case"r4":case"r8":case"decimal":t[a]=parseFloat(f);break;case"filetime":case"date":t[a]=dr(f);break;default:if("/"==l.slice(-1))break;r.WTF}}else if("0&&(a=h.SheetNames),r.bookProps&&(p.Props=h,p.Custprops=d),r.bookSheets&&void 0!==a&&(p.SheetNames=a),r.bookSheets?p.SheetNames:r.bookProps))return p;a={};var m={};r.bookDeps&&i.calcchain&&(m=Ic(yr(e,Fo(i.calcchain)),i.calcchain));var g,v,b=0,T={},E=f.Sheets;h.Worksheets=E.length,h.SheetNames=[];for(var w=0;w!=E.length;++w)h.SheetNames[w]=E[w].name;var A=c?"bin":"xml",S=i.workbooks[0].lastIndexOf("/"),k=(i.workbooks[0].slice(0,S+1)+"_rels/"+i.workbooks[0].slice(S+1)+".rels").replace(/^\//,"");Sr(e,k)||(k="xl/_rels/workbook."+A+".rels");var y=Va(_r(e,k,!0),k.replace(/_rels.*/,"s5s"));(i.metadata||[]).length>=1&&(r.xlmeta=Dc(yr(e,Fo(i.metadata[0])),i.metadata[0],r)),(i.people||[]).length>=1&&(r.people=function(e,r){var t=[],a=!1;return e.replace(Fr,function(e){var n=Lr(e);switch(Ur(n[0])){case"":case"":case"":case"":case"":break;case"":a=!1;break;default:if(!a&&r.WTF)throw new Error("unrecognized "+n[0]+" in threaded comments")}return e}),t}(yr(e,Fo(i.people[0])),r)),y&&(y=function(e,r){if(!e)return 0;try{e=r.map(function(r){return r.id||(r.id=r.strRelID),[r.name,e["!id"][r.id].Target,(t=e["!id"][r.id].Type,Ba.WS.indexOf(t)>-1?"sheet":t==Ba.CS?"chart":t==Ba.DS?"dialog":t==Ba.MS?"macro":t&&t.length?t:"sheet")];var t})}catch(x){return null}return e&&0!==e.length?e:null}(y,f.Sheets));var _=yr(e,"xl/worksheets/sheet.xml",!0)?1:0;e:for(b=0;b!=h.Worksheets;++b){var C="sheet";if(y&&y[b]?(g="xl/"+y[b][1].replace(/[\/]?xl\//,""),Sr(e,g)||(g=y[b][1]),Sr(e,g)||(g=k.replace(/_rels\/.*$/,"")+y[b][1]),C=y[b][2]):g=(g="xl/worksheets/sheet"+(b+1-_)+"."+A).replace(/sheet0\./,"sheet."),v=g.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels"),r&&null!=r.sheets)switch(typeof r.sheets){case"number":if(b!=r.sheets)continue e;break;case"string":if(h.SheetNames[b].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){for(var O=!1,R=0;R!=r.sheets.length;++R)"number"==typeof r.sheets[R]&&r.sheets[R]==b&&(O=1),"string"==typeof r.sheets[R]&&r.sheets[R].toLowerCase()==h.SheetNames[b].toLowerCase()&&(O=1);if(!O)continue e}}Do(e,g,v,h.SheetNames[b],b,T,a,C,r,f,o,l)}return p={Directory:i,Workbook:f,Props:h,Custprops:d,Deps:m,Sheets:a,SheetNames:h.SheetNames,Strings:$i,Styles:l,Themes:o,SSF:mr(ge)},r&&r.bookFiles&&(e.files?(p.keys=s,p.files=e.files):(p.keys=[],p.files={},e.FullPaths.forEach(function(r,t){r=r.replace(/^Root Entry[\/]/,""),p.keys.push(r),p.files[r]=e.FileIndex[t]}))),r&&r.bookVBA&&(i.vba.length>0?p.vbaraw=yr(e,Fo(i.vba[0]),!0):i.defaults&&"application/vnd.ms-office.vbaProject"===i.defaults.bin&&(p.vbaraw=yr(e,"xl/vbaProject.bin",!0))),p}function Po(e,r){var t,a,n=r||{},s="Workbook",i=er.find(e,s);try{if(s="/!DataSpaces/Version",!(i=er.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);if(t=i.content,(a={}).id=t.read_shift(0,"lpp4"),a.R=fs(t,4),a.U=fs(t,4),a.W=fs(t,4),s="/!DataSpaces/DataSpaceMap",!(i=er.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var c=function(e){var r=[];e.l+=4;for(var t=e.read_shift(4);t-- >0;)r.push(hs(e));return r}(i.content);if(1!==c.length||1!==c[0].comps.length||0!==c[0].comps[0].t||"StrongEncryptionDataSpace"!==c[0].name||"EncryptedPackage"!==c[0].comps[0].v)throw new Error("ECMA-376 Encrypted file bad "+s);if(s="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace",!(i=er.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var o=function(e){var r=[];e.l+=4;for(var t=e.read_shift(4);t-- >0;)r.push(e.read_shift(0,"lpp4"));return r}(i.content);if(1!=o.length||"StrongEncryptionTransform"!=o[0])throw new Error("ECMA-376 Encrypted file bad "+s);if(s="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary",!(i=er.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);us(i.content)}catch(f){}if(s="/EncryptionInfo",!(i=er.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var l=function(e){var r=fs(e);switch(r.Minor){case 2:return[r.Minor,ms(e)];case 3:return[r.Minor,gs()];case 4:return[r.Minor,vs(e)]}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+r.Minor)}(i.content);if(s="/EncryptedPackage",!(i=er.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);if(4==l[0]&&"undefined"!=typeof decrypt_agile)return decrypt_agile(l[1],i.content,n.password||"",n);if(2==l[0]&&"undefined"!=typeof decrypt_std76)return decrypt_std76(l[1],i.content,n.password||"",n);throw new Error("File is password-protected")}function Lo(e,r){var t="";switch((r||{}).type||"base64"){case"buffer":case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":t=J(e.slice(0,12));break;case"binary":t=e;break;default:throw new Error("Unrecognized type "+(r&&r.type||"undefined"))}return[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3),t.charCodeAt(4),t.charCodeAt(5),t.charCodeAt(6),t.charCodeAt(7)]}function Uo(e,r){var t=0;e:for(;t=2&&0===a[3])return Qn.to_workbook(n,t);if(0===a[2]&&(8===a[3]||9===a[3]))return Qn.to_workbook(n,t)}break;case 3:case 131:case 139:case 140:return Xn.to_workbook(n,t);case 123:if(92===a[1]&&114===a[2]&&116===a[3])return As.to_workbook(n,t);break;case 10:case 13:case 32:return function(e,r){var t="",a=Lo(e,r);switch(r.type){case"base64":t=J(e);break;case"binary":t=e;break;case"buffer":t=e.toString("binary");break;case"array":t=pr(e);break;default:throw new Error("Unrecognized type "+r.type)}return 239==a[0]&&187==a[1]&&191==a[2]&&(t=Zr(t)),r.type="binary",Uo(t,r)}(n,t);case 137:if(80===a[1]&&78===a[2]&&71===a[3])throw new Error("PNG Image File is not a spreadsheet")}return Yn.indexOf(a[0])>-1&&a[2]<=12&&a[3]<=31?Xn.to_workbook(n,t):Bo(e,n,t,s)}function Vo(e,r,t,a,n,s,i,c){var o=ea(t),l=c.defval,f=c.raw||!Object.prototype.hasOwnProperty.call(c,"raw"),h=!0,u=1===n?[]:{};if(1!==n)if(Object.defineProperty)try{Object.defineProperty(u,"__rowNum__",{value:t,enumerable:!1})}catch(g){u.__rowNum__=t}else u.__rowNum__=t;if(!i||e[t])for(var d=r.s.c;d<=r.e.c;++d){var p=i?e[t][d]:e[a[d]+o];if(void 0!==p&&void 0!==p.t){var m=p.v;switch(p.t){case"z":if(null==m)break;continue;case"e":m=0==m?null:void 0;break;case"s":case"d":case"b":case"n":break;default:throw new Error("unrecognized type "+p.t)}if(null!=s[d]){if(null==m)if("e"==p.t&&null===m)u[s[d]]=null;else if(void 0!==l)u[s[d]]=l;else{if(!f||null!==m)continue;u[s[d]]=null}else u[s[d]]=f&&("n"!==p.t||"n"===p.t&&!1!==c.rawNumbers)?m:la(p,m,c);null!=m&&(h=!1)}}else{if(void 0===l)continue;null!=s[d]&&(u[s[d]]=l)}}return{row:u,isempty:h}}function Wo(e,r){if(null==e||null==e["!ref"])return[];var t={t:"n",v:0},a=0,n=1,s=[],i=0,c="",o={s:{r:0,c:0},e:{r:0,c:0}},l=r||{},f=null!=l.range?l.range:e["!ref"];switch(1===l.header?a=1:"A"===l.header?a=2:Array.isArray(l.header)?a=3:null==l.header&&(a=0),typeof f){case"string":o=ca(f);break;case"number":(o=ca(e["!ref"])).s.r=f;break;default:o=f}a>0&&(n=0);var h=ea(o.s.r),u=[],d=[],p=0,m=0,g=Array.isArray(e),v=o.s.r,b=0,T={};g&&!e[v]&&(e[v]=[]);var E=l.skipHidden&&e["!cols"]||[],w=l.skipHidden&&e["!rows"]||[];for(b=o.s.c;b<=o.e.c;++b)if(!(E[b]||{}).hidden)switch(u[b]=ta(b),t=g?e[v][b]:e[u[b]+h],a){case 1:s[b]=b-o.s.c;break;case 2:s[b]=u[b];break;case 3:s[b]=l.header[b-o.s.c];break;default:if(null==t&&(t={w:"__EMPTY",t:"s"}),c=i=la(t,null,l),m=T[i]||0){do{c=i+"_"+m++}while(T[c]);T[i]=m,T[c]=1}else T[i]=1;s[b]=c}for(v=o.s.r+n;v<=o.e.r;++v)if(!(w[v]||{}).hidden){var A=Vo(e,o,v,u,a,s,g,l);(!1===A.isempty||(1===a?!1!==l.blankrows:l.blankrows))&&(d[p++]=A.row)}return d.length=p,d}var Go=/"/g;function zo(e,r,t,a,n,s,i,c){for(var o=!0,l=[],f="",h=ea(t),u=r.s.c;u<=r.e.c;++u)if(a[u]){var d=c.dense?(e[t]||[])[u]:e[a[u]+h];if(null==d)f="";else if(null!=d.v){o=!1,f=""+(c.rawNumbers&&"n"==d.t?d.v:la(d,null,c));for(var p=0,m=0;p!==f.length;++p)if((m=f.charCodeAt(p))===n||m===s||34===m||c.forceQuotes){f='"'+f.replace(Go,'""')+'"';break}"ID"==f&&(f='"ID"')}else null==d.f||d.F?f="":(o=!1,(f="="+d.f).indexOf(",")>=0&&(f='"'+f.replace(Go,'""')+'"'));l.push(f)}return!1===c.blankrows&&o?null:l.join(i)}function jo(e,r){var t=[],a=null==r?{}:r;if(null==e||null==e["!ref"])return"";var n=ca(e["!ref"]),s=void 0!==a.FS?a.FS:",",i=s.charCodeAt(0),c=void 0!==a.RS?a.RS:"\n",o=c.charCodeAt(0),l=new RegExp(("|"==s?"\\|":s)+"+$"),f="",h=[];a.dense=Array.isArray(e);for(var u=a.skipHidden&&e["!cols"]||[],d=a.skipHidden&&e["!rows"]||[],p=n.s.c;p<=n.e.c;++p)(u[p]||{}).hidden||(h[p]=ta(p));for(var m=0,g=n.s.r;g<=n.e.r;++g)(d[g]||{}).hidden||null!=(f=zo(e,n,g,h,i,o,s,a))&&(a.strip&&(f=f.replace(l,"")),(f||!1!==a.blankrows)&&t.push((m++?c:"")+f));return delete a.dense,t.join("")}function $o(e,r,t){var a,n=t||{},s=+!n.skipHeader,i=e||{},c=0,o=0;if(i&&null!=n.origin)if("number"==typeof n.origin)c=n.origin;else{var l="string"==typeof n.origin?aa(n.origin):n.origin;c=l.r,o=l.c}var f={s:{c:0,r:0},e:{c:o,r:c+r.length-1+s}};if(i["!ref"]){var h=ca(i["!ref"]);f.e.c=Math.max(f.e.c,h.e.c),f.e.r=Math.max(f.e.r,h.e.r),-1==c&&(c=h.e.r+1,f.e.r=c+r.length-1+s)}else-1==c&&(c=0,f.e.r=r.length-1+s);var u=n.header||[],d=0;r.forEach(function(e,r){rr(e).forEach(function(t){-1==(d=u.indexOf(t))&&(u[d=u.length]=t);var l=e[t],f="z",h="",p=na({c:o+d,r:c+r+s});a=Yo(i,p),!l||"object"!=typeof l||l instanceof Date?("number"==typeof l?f="n":"boolean"==typeof l?f="b":"string"==typeof l?f="s":l instanceof Date?(f="d",n.cellDates||(f="n",l=nr(l)),h=n.dateNF||ge[14]):null===l&&n.nullError&&(f="e",l=0),a?(a.t=f,a.v=l,delete a.w,delete a.R,h&&(a.z=h)):i[p]=a={t:f,v:l},h&&(a.z=h)):i[p]=l})}),f.e.c=Math.max(f.e.c,o+u.length-1);var p=ea(c);if(s)for(d=0;d=65535)throw new Error("Too many worksheets");if(a&&e.SheetNames.indexOf(t)>=0){var s=t.match(/(^.*?)(\d+)$/);n=s&&+s[2]||0;var i=s&&s[1]||t;for(++n;n<=65535&&-1!=e.SheetNames.indexOf(t=i+n);++n);}if(function(e){if(e.length>31)throw new Error("Sheet names cannot exceed 31 chars");Ac.forEach(function(r){if(-1!=e.indexOf(r))throw new Error("Sheet name cannot contain : \\ / ? * [ ]")})}(t),e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");return e.SheetNames.push(t),e.Sheets[t]=r,t}function Jo(e,r,t){return r?(e.l={Target:r},t&&(e.l.Tooltip=t)):delete e.l,e}var Zo={encode_col:ta,encode_row:ea,encode_cell:na,encode_range:ia,decode_col:ra,decode_row:Qt,split_cell:function(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")},decode_cell:aa,decode_range:sa,format_cell:la,sheet_add_aoa:ha,sheet_add_json:$o,sheet_add_dom:io,aoa_to_sheet:ua,json_to_sheet:function(e,r){return $o(null,e,r)},table_to_sheet:co,table_to_book:function(e,r){return fa(co(e,r),r)},sheet_to_csv:jo,sheet_to_txt:function(e,r){return r||(r={}),r.FS="\t",r.RS="\n",jo(e,r)},sheet_to_json:Wo,sheet_to_html:function(e,r){var t=r||{},a=null!=t.header?t.header:'SheetJS Table Export',n=null!=t.footer?t.footer:"",s=[a],i=sa(e["!ref"]);t.dense=Array.isArray(e),s.push(function(e,r,t){return[].join("")+""}(0,0,t));for(var c=i.s.r;c<=i.e.r;++c)s.push(so(e,i,c,t));return s.push("
"+n),s.join("")},sheet_to_formulae:function(e){var r,t="",a="";if(null==e||null==e["!ref"])return[];var n,s=ca(e["!ref"]),i="",c=[],o=[],l=Array.isArray(e);for(n=s.s.c;n<=s.e.c;++n)c[n]=ta(n);for(var f=s.s.r;f<=s.e.r;++f)for(i=ea(f),n=s.s.c;n<=s.e.c;++n)if(t=c[n]+i,a="",void 0!==(r=l?(e[f]||[])[n]:e[t])){if(null!=r.F){if(t=r.F,!r.f)continue;a=r.f,-1==t.indexOf(":")&&(t=t+":"+t)}if(null!=r.f)a=r.f;else{if("z"==r.t)continue;if("n"==r.t&&null!=r.v)a=""+r.v;else if("b"==r.t)a=r.v?"TRUE":"FALSE";else if(void 0!==r.w)a="'"+r.w;else{if(void 0===r.v)continue;a="s"==r.t?"'"+r.v:""+r.v}}o[o.length]=t+"="+a}return o},sheet_to_row_object_array:Wo,sheet_get_cell:Yo,book_new:Xo,book_append_sheet:Ko,book_set_sheet_visibility:function(e,r,t){e.Workbook||(e.Workbook={}),e.Workbook.Sheets||(e.Workbook.Sheets=[]);var a=function(e,r){if("number"==typeof r){if(r>=0&&e.SheetNames.length>r)return r;throw new Error("Cannot find sheet # "+r)}if("string"==typeof r){var t=e.SheetNames.indexOf(r);if(t>-1)return t;throw new Error("Cannot find sheet name |"+r+"|")}throw new Error("Cannot find sheet |"+r+"|")}(e,r);switch(e.Workbook.Sheets[a]||(e.Workbook.Sheets[a]={}),t){case 0:case 1:case 2:break;default:throw new Error("Bad sheet visibility setting "+t)}e.Workbook.Sheets[a].Hidden=t},cell_set_number_format:function(e,r){return e.z=r,e},cell_set_hyperlink:Jo,cell_set_internal_link:function(e,r,t){return Jo(e,"#"+r,t)},cell_add_comment:function(e,r,t){e.c||(e.c=[]),e.c.push({t:r,a:t||"SheetJS"})},sheet_set_array_formula:function(e,r,t,a){for(var n="string"!=typeof r?r:ca(r),s="string"==typeof r?r:ia(r),i=n.s.r;i<=n.e.r;++i)for(var c=n.s.c;c<=n.e.c;++c){var o=Yo(e,i,c);o.t="n",o.F=s,delete o.v,i==n.s.r&&c==n.s.c&&(o.f=t,a&&(o.D=!0))}return e},consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}};const qo={class:"page"},Qo={id:"art-table-header",class:"p-2"},el=F(o({__name:"index",setup(e){const r=l({}),{data:t,loading:a,pagination:n,getData:o,refreshData:F,handleSizeChange:M,handleCurrentChange:P}=S({core:{apiFn:e=>{return t=s(s({},e||{}),r),c.get({url:"admin/pay/bills/diff",params:t});var t},immediate:!1}});function L(){r.bill_date=void 0,r.diff_type=void 0,o()}o(),f(()=>o());const U=l({visible:!1,loading:!1});function B(){return i(this,null,function*(){if(!U.bill_date||!U.type)return void w.error("请填写账单日期与类型");let e=[];if(U.json)try{e=JSON.parse(U.json)}catch(r){return void w.error("JSON格式错误")}U.loading=!0;try{yield function(e){return c.post({url:"admin/pay/bills/import",data:e})}({bill_date:U.bill_date,type:U.type,items:e}),w.success("已导入并生成差异"),F(),U.visible=!1}finally{U.loading=!1}})}function H(){return i(this,null,function*(){U.visible=!0,U.json="",U.type="transactions"})}function V(e){var r;const t=null==(r=e.target.files)?void 0:r[0];if(!t)return;const a=new FileReader,n=/\.csv$/i.test(t.name);a.onload=()=>{try{const e=n?Ho(a.result,{type:"string"}):Ho(new Uint8Array(a.result),{type:"array"}),r=e.SheetNames[0],t=e.Sheets[r],s=Zo.sheet_to_json(t,{defval:""}),i="refunds"===U.type?function(e){return e.map(e=>{const r=e["商户退款单号"]||e["退款单号"]||e.out_refund_no||e.REFUND_NO,t=e["商户订单号"]||e["订单号"]||e.out_trade_no||e.OUT_TRADE_NO,a=e["退款金额(元)"]||e["退款金额"]||e.amount_refund||e.AMOUNT_REFUND;return{refund_no:String(r||"").trim(),out_trade_no:String(t||"").trim(),amount_refund:W(a)}}).filter(e=>e.refund_no||e.out_trade_no)}(s):function(e){return e.map(e=>{const r=e["微信订单号"]||e["交易单号"]||e.transaction_id||e.TRANSACTION_ID,t=e["商户订单号"]||e["订单号"]||e.out_trade_no||e.OUT_TRADE_NO,a=e["交易金额(元)"]||e["总金额(元)"]||e["总金额"]||e.amount_total||e.AMOUNT_TOTAL;return{transaction_id:String(r||"").trim(),out_trade_no:String(t||"").trim(),amount_total:W(a)}}).filter(e=>e.transaction_id||e.out_trade_no)}(s);U.json=JSON.stringify(i,null,2),w.success("Excel已解析为JSON")}catch(e){w.error("Excel解析失败")}},n?a.readAsText(t):a.readAsArrayBuffer(t)}function W(e){const r="number"==typeof e?e:parseFloat(String(e).replace(/[^\d.\-]/g,""));return Number.isNaN(r)?0:Math.round(100*r)}function G(e){const r=function(e){if(!e||"string"!=typeof e)return null;try{return JSON.parse(e)}catch(r){return null}}(null==e?void 0:e.detail),t=null==e?void 0:e.diff_type;if(!r||"object"!=typeof r)return String((null==e?void 0:e.detail)||"");switch(t){case"MISSING_WECHAT":return`本地交易缺少微信记录,订单号:${r.order_no||""}`;case"MISSING_LOCAL":return`微信交易缺少本地记录,商户订单号:${r.out_trade_no||""}`;case"AMOUNT_MISMATCH":return`金额不一致 本地:${k(r.local||0)} 微信:${k(r.wechat||0)}`;case"MISSING_WECHAT_REFUND":return`本地退款缺少微信记录,订单号:${r.order_no||""}`;case"MISSING_LOCAL_REFUND":return`微信退款缺少本地记录,商户订单号:${r.out_trade_no||""}`;case"REFUND_AMOUNT_MISMATCH":return`退款金额不一致 本地:${k(r.local||0)} 微信:${k(r.wechat||0)}`;default:return JSON.stringify(r)}}return(e,s)=>{const i=C,c=_,l=R,f=O,w=m,S=y,k=x,W=I,z=E,j=N,$=D;return u(),h("div",qo,[d(k,{class:"mb-3"},{default:p(()=>[d(S,{inline:!0,model:r},{default:p(()=>[d(c,{label:"账单日期"},{default:p(()=>[d(i,{modelValue:r.bill_date,"onUpdate:modelValue":s[0]||(s[0]=e=>r.bill_date=e),type:"date","value-format":"YYYY-MM-DD",placeholder:"选择日期"},null,8,["modelValue"])]),_:1}),d(c,{label:"差异类型"},{default:p(()=>[d(f,{modelValue:r.diff_type,"onUpdate:modelValue":s[1]||(s[1]=e=>r.diff_type=e),placeholder:"全部",clearable:"",style:{width:"180px"}},{default:p(()=>[d(l,{value:"MISSING_WECHAT",label:"缺少微信交易"}),d(l,{value:"AMOUNT_MISMATCH",label:"金额不一致"}),d(l,{value:"MISSING_LOCAL",label:"缺少本地交易"}),d(l,{value:"MISSING_WECHAT_REFUND",label:"缺少微信退款"}),d(l,{value:"MISSING_LOCAL_REFUND",label:"缺少本地退款"}),d(l,{value:"REFUND_AMOUNT_MISMATCH",label:"退款金额不一致"})]),_:1},8,["modelValue"])]),_:1}),d(c,null,{default:p(()=>[d(w,{type:"primary",onClick:g(o)},{default:p(()=>[...s[7]||(s[7]=[v("查询",-1)])]),_:1},8,["onClick"]),d(w,{onClick:L},{default:p(()=>[...s[8]||(s[8]=[v("重置",-1)])]),_:1}),d(w,{type:"primary",onClick:H},{default:p(()=>[...s[9]||(s[9]=[v("导入账单",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),d(A,{data:g(t),loading:g(a),pagination:g(n),"onPagination:sizeChange":g(M),"onPagination:currentChange":g(P)},{default:p(()=>[b("div",Qo,[d(w,{onClick:g(F),loading:g(a)},{default:p(()=>[...s[10]||(s[10]=[v("刷新",-1)])]),_:1},8,["onClick","loading"])]),d(W,{type:"globalIndex",label:"#",width:"60",align:"center"}),d(W,{prop:"bill_date",label:"账单日期",width:"120"}),d(W,{prop:"diff_type",label:"差异类型",width:"160"},{default:p(({row:e})=>{return[v(T((r=e.diff_type,{MISSING_WECHAT:"缺少微信交易",AMOUNT_MISMATCH:"金额不一致",MISSING_LOCAL:"缺少本地交易",MISSING_WECHAT_REFUND:"缺少微信退款",MISSING_LOCAL_REFUND:"缺少本地退款",REFUND_AMOUNT_MISMATCH:"退款金额不一致"}[r||""]||r||"")),1)];var r}),_:1}),d(W,{prop:"local_tx_id",label:"本地ID","min-width":"200"}),d(W,{prop:"wechat_tx_id",label:"微信ID","min-width":"200"}),d(W,{prop:"detail",label:"详情","min-width":"280"},{default:p(({row:e})=>[v(T(G(e)),1)]),_:1}),d(W,{prop:"created_at",label:"时间","min-width":"160"})]),_:1},8,["data","loading","pagination","onPagination:sizeChange","onPagination:currentChange"]),d($,{modelValue:U.visible,"onUpdate:modelValue":s[6]||(s[6]=e=>U.visible=e),title:"导入账单",width:"600px"},{footer:p(()=>[d(w,{onClick:s[5]||(s[5]=e=>U.visible=!1)},{default:p(()=>[...s[11]||(s[11]=[v("取消",-1)])]),_:1}),d(w,{type:"primary",loading:U.loading,onClick:B},{default:p(()=>[...s[12]||(s[12]=[v("导入并计算差异",-1)])]),_:1},8,["loading"])]),default:p(()=>[d(S,{model:U},{default:p(()=>[d(c,{label:"账单日期"},{default:p(()=>[d(i,{modelValue:U.bill_date,"onUpdate:modelValue":s[2]||(s[2]=e=>U.bill_date=e),type:"date","value-format":"YYYY-MM-DD"},null,8,["modelValue"])]),_:1}),d(c,{label:"类型"},{default:p(()=>[d(f,{modelValue:U.type,"onUpdate:modelValue":s[3]||(s[3]=e=>U.type=e),style:{width:"180px"}},{default:p(()=>[d(l,{value:"transactions",label:"交易账单"}),d(l,{value:"refunds",label:"退款账单"})]),_:1},8,["modelValue"])]),_:1}),d(c,{label:"上传Excel/CSV"},{default:p(()=>[b("input",{type:"file",accept:".xlsx,.xls,.csv",onChange:V},null,32)]),_:1}),d(c,{label:"账单JSON"},{default:p(()=>[d(z,{modelValue:U.json,"onUpdate:modelValue":s[4]||(s[4]=e=>U.json=e),type:"textarea",rows:8,placeholder:"粘贴账单JSON数组,如:[ { transaction_id, out_trade_no, amount_total }, ... ]"},null,8,["modelValue"])]),_:1}),d(j,{title:"注意:金额单位为分;退款账单字段为 refund_no/out_trade_no/amount_refund",type:"info","show-icon":""})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-9224c6c9"]]);export{el as default}; diff --git a/nginx/admin/assets/index-C1dwx9tB.js.gz b/nginx/admin/assets/index-C1dwx9tB.js.gz new file mode 100644 index 0000000..4d4496c Binary files /dev/null and b/nginx/admin/assets/index-C1dwx9tB.js.gz differ diff --git a/nginx/admin/assets/index-C1haaLtB.js b/nginx/admin/assets/index-C1haaLtB.js new file mode 100644 index 0000000..638ec04 --- /dev/null +++ b/nginx/admin/assets/index-C1haaLtB.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,n=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,r=(a,t,n)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):a[t]=n,s=(e,a)=>{for(var t in a||(a={}))l.call(a,t)&&r(e,t,a[t]);if(n)for(var t of n(a))i.call(a,t)&&r(e,t,a[t]);return e},u=(e,n)=>a(e,t(n));import{a8 as o,am as p,a0 as d,d as c,bK as g,c as b,b as v,e as m,h as f,v as y,w as C,aE as z,p as x,ai as P,a9 as S,cy as h,av as k,at as N,a1 as T,r as E,A as _,g as j,I as B,J as M,q as I,bF as O,an as w,f as q,K as A,bc as F,i as K,bX as L,b7 as U,bY as J,P as $,bd as D,af as R,cC as V,bz as W,ae as X,ax as Y,ag as G,bw as H,ac as Q,aR as Z,az as ee}from"./index-BoIUJTA2.js";import{a as ae,E as te}from"./index-D2gD5Tn5.js";const ne=Symbol("elPaginationKey"),le=o({disabled:Boolean,currentPage:{type:Number,default:1},prevText:{type:String},prevIcon:{type:p}}),ie={click:e=>e instanceof MouseEvent},re=c({name:"ElPaginationPrev"});var se=d(c(u(s({},re),{props:le,emits:ie,setup(e){const a=e,{t:t}=g(),n=b(()=>a.disabled||a.currentPage<=1);return(e,a)=>(m(),v("button",{type:"button",class:"btn-prev",disabled:x(n),"aria-label":e.prevText||x(t)("el.pagination.prev"),"aria-disabled":x(n),onClick:a=>e.$emit("click",a)},[e.prevText?(m(),v("span",{key:0},y(e.prevText),1)):(m(),f(x(P),{key:1},{default:C(()=>[(m(),f(z(e.prevIcon)))]),_:1}))],8,["disabled","aria-label","aria-disabled","onClick"]))}})),[["__file","prev.vue"]]);const ue=o({disabled:Boolean,currentPage:{type:Number,default:1},pageCount:{type:Number,default:50},nextText:{type:String},nextIcon:{type:p}}),oe=c({name:"ElPaginationNext"});var pe=d(c(u(s({},oe),{props:ue,emits:["click"],setup(e){const a=e,{t:t}=g(),n=b(()=>a.disabled||a.currentPage===a.pageCount||0===a.pageCount);return(e,a)=>(m(),v("button",{type:"button",class:"btn-next",disabled:x(n),"aria-label":e.nextText||x(t)("el.pagination.next"),"aria-disabled":x(n),onClick:a=>e.$emit("click",a)},[e.nextText?(m(),v("span",{key:0},y(e.nextText),1)):(m(),f(x(P),{key:1},{default:C(()=>[(m(),f(z(e.nextIcon)))]),_:1}))],8,["disabled","aria-label","aria-disabled","onClick"]))}})),[["__file","next.vue"]]);const de=()=>S(ne,{}),ce=o({pageSize:{type:Number,required:!0},pageSizes:{type:N(Array),default:()=>k([10,20,30,40,50,100])},popperClass:{type:String},disabled:Boolean,teleported:Boolean,size:{type:String,values:h},appendSizeTo:String}),ge=c({name:"ElPaginationSizes"});var be=d(c(u(s({},ge),{props:ce,emits:["page-size-change"],setup(e,{emit:a}){const t=e,{t:n}=g(),l=T("pagination"),i=de(),r=E(t.pageSize);_(()=>t.pageSizes,(e,n)=>{if(!O(e,n)&&w(e)){const n=e.includes(t.pageSize)?t.pageSize:t.pageSizes[0];a("page-size-change",n)}}),_(()=>t.pageSize,e=>{r.value=e});const s=b(()=>t.pageSizes);function u(e){var a;e!==r.value&&(r.value=e,null==(a=i.handleSizeChange)||a.call(i,Number(e)))}return(e,a)=>(m(),v("span",{class:I(x(l).e("sizes"))},[j(x(te),{"model-value":r.value,disabled:e.disabled,"popper-class":e.popperClass,size:e.size,teleported:e.teleported,"validate-event":!1,"append-to":e.appendSizeTo,onChange:u},{default:C(()=>[(m(!0),v(B,null,M(x(s),e=>(m(),f(x(ae),{key:e,value:e,label:e+x(n)("el.pagination.pagesize")},null,8,["value","label"]))),128))]),_:1},8,["model-value","disabled","popper-class","size","teleported","append-to"])],2))}})),[["__file","sizes.vue"]]);const ve=o({size:{type:String,values:h}}),me=c({name:"ElPaginationJumper"});var fe=d(c(u(s({},me),{props:ve,setup(e){const{t:a}=g(),t=T("pagination"),{pageCount:n,disabled:l,currentPage:i,changeEvent:r}=de(),s=E(),u=b(()=>{var e;return null!=(e=s.value)?e:null==i?void 0:i.value});function o(e){s.value=e?+e:""}function p(e){e=Math.trunc(+e),null==r||r(e),s.value=void 0}return(e,i)=>(m(),v("span",{class:I(x(t).e("jump")),disabled:x(l)},[q("span",{class:I([x(t).e("goto")])},y(x(a)("el.pagination.goto")),3),j(x(A),{size:e.size,class:I([x(t).e("editor"),x(t).is("in-pagination")]),min:1,max:x(n),disabled:x(l),"model-value":x(u),"validate-event":!1,"aria-label":x(a)("el.pagination.page"),type:"number","onUpdate:modelValue":o,onChange:p},null,8,["size","class","max","disabled","model-value","aria-label"]),q("span",{class:I([x(t).e("classifier")])},y(x(a)("el.pagination.pageClassifier")),3)],10,["disabled"]))}})),[["__file","jumper.vue"]]);const ye=o({total:{type:Number,default:1e3}}),Ce=c({name:"ElPaginationTotal"});var ze=d(c(u(s({},Ce),{props:ye,setup(e){const{t:a}=g(),t=T("pagination"),{disabled:n}=de();return(e,l)=>(m(),v("span",{class:I(x(t).e("total")),disabled:x(n)},y(x(a)("el.pagination.total",{total:e.total})),11,["disabled"]))}})),[["__file","total.vue"]]);const xe=o({currentPage:{type:Number,default:1},pageCount:{type:Number,required:!0},pagerCount:{type:Number,default:7},disabled:Boolean}),Pe=c({name:"ElPaginationPager"});var Se=d(c(u(s({},Pe),{props:xe,emits:[F],setup(e,{emit:a}){const t=e,n=T("pager"),l=T("icon"),{t:i}=g(),r=E(!1),s=E(!1),u=E(!1),o=E(!1),p=E(!1),d=E(!1),c=b(()=>{const e=t.pagerCount,a=(e-1)/2,n=Number(t.currentPage),l=Number(t.pageCount);let i=!1,r=!1;l>e&&(n>e-a&&(i=!0),n["more","btn-quickprev",l.b(),n.is("disabled",t.disabled)]),z=b(()=>["more","btn-quicknext",l.b(),n.is("disabled",t.disabled)]),P=b(()=>t.disabled?-1:0);function S(e=!1){t.disabled||(e?u.value=!0:o.value=!0)}function h(e=!1){e?p.value=!0:d.value=!0}function k(e){const n=e.target;if("li"===n.tagName.toLowerCase()&&Array.from(n.classList).includes("number")){const e=Number(n.textContent);e!==t.currentPage&&a(F,e)}else"li"===n.tagName.toLowerCase()&&Array.from(n.classList).includes("more")&&N(e)}function N(e){const n=e.target;if("ul"===n.tagName.toLowerCase()||t.disabled)return;let l=Number(n.textContent);const i=t.pageCount,r=t.currentPage,s=t.pagerCount-2;n.className.includes("more")&&(n.className.includes("quickprev")?l=r-s:n.className.includes("quicknext")&&(l=r+s)),Number.isNaN(+l)||(l<1&&(l=1),l>i&&(l=i)),l!==r&&a(F,l)}return _(()=>[t.pageCount,t.pagerCount,t.currentPage],([e,a,t])=>{const n=(a-1)/2;let l=!1,i=!1;e>a&&(l=t>a-n,i=t(m(),v("ul",{class:I(x(n).b()),onClick:N,onKeyup:$(k,["enter"])},[e.pageCount>0?(m(),v("li",{key:0,class:I([[x(n).is("active",1===e.currentPage),x(n).is("disabled",e.disabled)],"number"]),"aria-current":1===e.currentPage,"aria-label":x(i)("el.pagination.currentPage",{pager:1}),tabindex:x(P)}," 1 ",10,["aria-current","aria-label","tabindex"])):K("v-if",!0),r.value?(m(),v("li",{key:1,class:I(x(C)),tabindex:x(P),"aria-label":x(i)("el.pagination.prevPages",{pager:e.pagerCount-2}),onMouseenter:e=>S(!0),onMouseleave:e=>u.value=!1,onFocus:e=>h(!0),onBlur:e=>p.value=!1},[!u.value&&!p.value||e.disabled?(m(),f(x(U),{key:1})):(m(),f(x(L),{key:0}))],42,["tabindex","aria-label","onMouseenter","onMouseleave","onFocus","onBlur"])):K("v-if",!0),(m(!0),v(B,null,M(x(c),a=>(m(),v("li",{key:a,class:I([[x(n).is("active",e.currentPage===a),x(n).is("disabled",e.disabled)],"number"]),"aria-current":e.currentPage===a,"aria-label":x(i)("el.pagination.currentPage",{pager:a}),tabindex:x(P)},y(a),11,["aria-current","aria-label","tabindex"]))),128)),s.value?(m(),v("li",{key:2,class:I(x(z)),tabindex:x(P),"aria-label":x(i)("el.pagination.nextPages",{pager:e.pagerCount-2}),onMouseenter:e=>S(),onMouseleave:e=>o.value=!1,onFocus:e=>h(),onBlur:e=>d.value=!1},[!o.value&&!d.value||e.disabled?(m(),f(x(U),{key:1})):(m(),f(x(J),{key:0}))],42,["tabindex","aria-label","onMouseenter","onMouseleave","onFocus","onBlur"])):K("v-if",!0),e.pageCount>1?(m(),v("li",{key:3,class:I([[x(n).is("active",e.currentPage===e.pageCount),x(n).is("disabled",e.disabled)],"number"]),"aria-current":e.currentPage===e.pageCount,"aria-label":x(i)("el.pagination.currentPage",{pager:e.pageCount}),tabindex:x(P)},y(e.pageCount),11,["aria-current","aria-label","tabindex"])):K("v-if",!0)],42,["onKeyup"]))}})),[["__file","pager.vue"]]);const he=e=>"number"!=typeof e,ke=o({pageSize:Number,defaultPageSize:Number,total:Number,pageCount:Number,pagerCount:{type:Number,validator:e=>D(e)&&Math.trunc(e)===e&&e>4&&e<22&&e%2==1,default:7},currentPage:Number,defaultCurrentPage:Number,layout:{type:String,default:["prev","pager","next","jumper","->","total"].join(", ")},pageSizes:{type:N(Array),default:()=>k([10,20,30,40,50,100])},popperClass:{type:String,default:""},prevText:{type:String,default:""},prevIcon:{type:p,default:()=>Z},nextText:{type:String,default:""},nextIcon:{type:p,default:()=>Q},teleported:{type:Boolean,default:!0},small:Boolean,size:H,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean,appendSizeTo:String}),Ne="ElPagination";const Te=ee(c({name:Ne,props:ke,emits:{"update:current-page":e=>D(e),"update:page-size":e=>D(e),"size-change":e=>D(e),change:(e,a)=>D(e)&&D(a),"current-change":e=>D(e),"prev-click":e=>D(e),"next-click":e=>D(e)},setup(e,{emit:a,slots:t}){const{t:n}=g(),l=T("pagination"),i=R().vnode.props||{},r=V(),s=b(()=>{var a;return e.small?"small":null!=(a=e.size)?a:r.value});W({from:"small",replacement:"size",version:"3.0.0",scope:"el-pagination",ref:"https://element-plus.org/zh-CN/component/pagination.html"},b(()=>!!e.small));const u="onUpdate:currentPage"in i||"onUpdate:current-page"in i||"onCurrentChange"in i,o="onUpdate:pageSize"in i||"onUpdate:page-size"in i||"onSizeChange"in i,p=b(()=>{if(he(e.total)&&he(e.pageCount))return!1;if(!he(e.currentPage)&&!u)return!1;if(e.layout.includes("sizes"))if(he(e.pageCount)){if(!he(e.total)&&!he(e.pageSize)&&!o)return!1}else if(!o)return!1;return!0}),d=E(he(e.defaultPageSize)?10:e.defaultPageSize),c=E(he(e.defaultCurrentPage)?1:e.defaultCurrentPage),v=b({get:()=>he(e.pageSize)?d.value:e.pageSize,set(t){he(e.pageSize)&&(d.value=t),o&&(a("update:page-size",t),a("size-change",t))}}),m=b(()=>{let a=0;return he(e.pageCount)?he(e.total)||(a=Math.max(1,Math.ceil(e.total/v.value))):a=e.pageCount,a}),f=b({get:()=>he(e.currentPage)?c.value:e.currentPage,set(t){let n=t;t<1?n=1:t>m.value&&(n=m.value),he(e.currentPage)&&(c.value=n),u&&(a("update:current-page",n),a("current-change",n))}});function y(e){f.value=e}function C(){e.disabled||(f.value-=1,a("prev-click",f.value))}function z(){e.disabled||(f.value+=1,a("next-click",f.value))}function x(e,a){e&&(e.props||(e.props={}),e.props.class=[e.props.class,a].join(" "))}return _(m,e=>{f.value>e&&(f.value=e)}),_([f,v],e=>{a(F,...e)},{flush:"post"}),X(ne,{pageCount:m,disabled:b(()=>e.disabled),currentPage:f,changeEvent:y,handleSizeChange:function(e){v.value=e;const a=m.value;f.value>a&&(f.value=a)}}),()=>{var a,i;if(!p.value)return Y(Ne,n("el.pagination.deprecationWarning")),null;if(!e.layout)return null;if(e.hideOnSinglePage&&m.value<=1)return null;const r=[],u=[],o=G("div",{class:l.e("rightwrapper")},u),d={prev:G(se,{disabled:e.disabled,currentPage:f.value,prevText:e.prevText,prevIcon:e.prevIcon,onClick:C}),jumper:G(fe,{size:s.value}),pager:G(Se,{currentPage:f.value,pageCount:m.value,pagerCount:e.pagerCount,onChange:y,disabled:e.disabled}),next:G(pe,{disabled:e.disabled,currentPage:f.value,pageCount:m.value,nextText:e.nextText,nextIcon:e.nextIcon,onClick:z}),sizes:G(be,{pageSize:v.value,pageSizes:e.pageSizes,popperClass:e.popperClass,disabled:e.disabled,teleported:e.teleported,size:s.value,appendSizeTo:e.appendSizeTo}),slot:null!=(i=null==(a=null==t?void 0:t.default)?void 0:a.call(t))?i:null,total:G(ze,{total:he(e.total)?0:e.total})},c=e.layout.split(",").map(e=>e.trim());let g=!1;return c.forEach(e=>{"->"!==e?g?u.push(d[e]):r.push(d[e]):g=!0}),x(r[0],l.is("first")),x(r[r.length-1],l.is("last")),g&&u.length>0&&(x(u[0],l.is("first")),x(u[u.length-1],l.is("last")),r.push(o)),G("div",{class:[l.b(),l.is("background",e.background),l.m(s.value)]},r)}}}));export{Te as E}; diff --git a/nginx/admin/assets/index-C1haaLtB.js.gz b/nginx/admin/assets/index-C1haaLtB.js.gz new file mode 100644 index 0000000..a113aa1 Binary files /dev/null and b/nginx/admin/assets/index-C1haaLtB.js.gz differ diff --git a/nginx/admin/assets/index-C44phqkN.js b/nginx/admin/assets/index-C44phqkN.js new file mode 100644 index 0000000..22c66bd --- /dev/null +++ b/nginx/admin/assets/index-C44phqkN.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,i=(t,o,r)=>o in t?e(t,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[o]=r,a=(e,a)=>{for(var l in a||(a={}))o.call(a,l)&&i(e,l,a[l]);if(t)for(var l of t(a))r.call(a,l)&&i(e,l,a[l]);return e},l=(e,t,o)=>new Promise((r,i)=>{var a=e=>{try{s(o.next(e))}catch(t){i(t)}},l=e=>{try{s(o.throw(e))}catch(t){i(t)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,l);s((o=o.apply(e,t)).next())});import{_ as s}from"./index-Bwtbh5WQ.js";import{d as p,r as n,k as m,o as d,b as u,e as c,g as j,w as v,E as _,j as y,ai as f,p as b,b5 as g,v as x,T as h,aV as w}from"./index-BoIUJTA2.js";/* empty css *//* empty css */import{_ as k}from"./index-oPcNh_Ue.js";import{i as S}from"./itemCards-WBDl8YV9.js";import C from"./item-card-dialog-jKZhetqa.js";import{_ as O}from"./index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js";import{A as V}from"./index-BaXJ8CyS.js";import{E as z}from"./index-ZsMdSUVI.js";import{_ as P}from"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./index-D2gD5Tn5.js";import"./token-DWNpOE8r.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./tree-select-DdXiCp9j.js";import"./index-BneqRonp.js";import"./index-BnK4BbY2.js";import"./clamp-BXzPLned.js";import"./index-sK8AD9wr.js";import"./index-BObA9rVr.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./slider-DTwTybBj.js";import"./index-C_S0YbqD.js";/* empty css */import"./index-C_sVHlWz.js";import"./index-CXD7B41Z.js";import"./index-BcfO0-fK.js";import"./_baseClone-Ct7RL6h5.js";import"./index-DqTthkO7.js";import"./index-DGLhvuMQ.js";import"./cloneDeep-B1gZFPYK.js";import"./index-rgHg98E6.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index-CjpBlozU.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";/* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./index-CZJaGuxf.js";const T={class:"page-container"},A={key:0},$={key:1},I={key:2},B=P(p({__name:"index",setup(e){const t=e=>{if(!e)return"";try{return new Date(e).toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}catch(t){return e}},o=n(!1),r=n([]),i=m({current:1,size:10,total:0}),p=m({name:"",status:void 0}),P=n(!1),B=n("create"),L=n(null),R=[{key:"name",label:"名称",type:"input",props:{placeholder:"请输入道具卡名称",clearable:!0}},{key:"status",label:"状态",type:"select",props:{placeholder:"请选择状态",clearable:!0,options:[{label:"启用",value:1},{label:"禁用",value:2}]}}],W=[{prop:"id",label:"ID",width:80},{prop:"name",label:"名称",minWidth:150},{prop:"status",label:"状态",width:80,slot:"status",useSlot:!0},{prop:"card_type",label:"类型",width:100,slot:"card_type",useSlot:!0},{prop:"scope_type",label:"范围",width:100,slot:"scope_type",useSlot:!0},{prop:"effect_type",label:"效果",width:100,slot:"effect_type",useSlot:!0},{prop:"price",label:"价格",width:100,formatter:e=>"¥"+((e.price||0)/100).toFixed(2)},{prop:"valid_time",label:"有效期",minWidth:200,slot:"valid_time",useSlot:!0},{prop:"created_at",label:"创建时间",width:160},{prop:"actions",label:"操作",width:150,fixed:"right",slot:"actions",useSlot:!0}],D={0:"未知",1:"抽奖卡",2:"加成卡",3:"保底卡"},E={0:"未知",1:"全局",2:"活动分类",3:"活动",4:"期次"},U={0:"未知",1:"奖励翻倍",2:"概率提升",3:"保底机制"},N=()=>l(this,null,function*(){o.value=!0;try{const e=a({page:i.current,page_size:i.size},p),t=yield S.getList(e);if(t&&t.list&&Array.isArray(t.list)){if(t.list.length>0){t.list[0]}r.value=t.list,i.total=t.total}else r.value=[],i.total=0}catch(e){h.error("获取道具卡列表失败"),r.value=[],i.total=0}finally{o.value=!1}}),Q=()=>{i.current=1,N()},X=()=>{p.name="",p.status=void 0,Q()},Y=e=>{i.current=e,N()},Z=e=>{i.size=e,N()},F=()=>{L.value=null,B.value="create",P.value=!0},H=e=>l(this,null,function*(){var t,o;try{yield w.confirm(`确定要删除道具卡"${e.name}"吗?此操作不可恢复`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",beforeClose:(e,t,o)=>{"confirm"===e?t.confirmButtonLoading=!0:o()}}),yield S.delete(e.id),h.success({message:`"${e.name}"已成功删除`,duration:3e3}),N()}catch(r){if("cancel"===r)return;const i=(null==(o=null==(t=null==r?void 0:r.response)?void 0:t.data)?void 0:o.message)||r.message||"删除失败";h.error({message:`"${e.name}"删除失败:${i}`,duration:4e3})}}),J=()=>{P.value=!1,N()};return d(()=>{N()}),(e,l)=>{const n=k,m=f,d=_,h=z,w=s;return c(),u("div",T,[j(n,{items:R,modelValue:p,onSearch:Q,onReset:X},null,8,["modelValue"]),j(V,{columns:W,"onUpdate:columns":l[0]||(l[0]=e=>W=e),loading:o.value,onRefresh:N},{left:v(()=>[j(d,{type:"primary",onClick:F},{default:v(()=>[j(m,null,{default:v(()=>[j(b(g))]),_:1}),l[2]||(l[2]=y(" 新增道具卡 ",-1))]),_:1})]),_:1},8,["loading"]),j(w,{loading:o.value,columns:W,data:r.value,pagination:i,onPageChange:Y,onSizeChange:Z,"empty-text":"暂无数据"},{actions:v(({row:e})=>[j(O,{type:"edit",onClick:t=>(e=>{L.value=a({},e),B.value="edit",P.value=!0})(e)},null,8,["onClick"]),j(O,{type:"delete",onClick:t=>H(e)},null,8,["onClick"])]),status:v(({row:e})=>[j(h,{type:1===e.status?"success":"danger"},{default:v(()=>[y(x(1===e.status?"启用":2===e.status?"禁用":"未知"),1)]),_:2},1032,["type"])]),card_type:v(({row:e})=>[j(h,null,{default:v(()=>{return[y(x((t=e.card_type||0,D[t]||"未知")),1)];var t}),_:2},1024)]),scope_type:v(({row:e})=>[j(h,null,{default:v(()=>{return[y(x((t=e.scope_type||0,E[t]||"未知")),1)];var t}),_:2},1024)]),effect_type:v(({row:e})=>[j(h,null,{default:v(()=>{return[y(x((t=e.effect_type||0,U[t]||"未知")),1)];var t}),_:2},1024)]),valid_time:v(({row:e})=>[e.valid_start&&e.valid_end?(c(),u("div",A,x(t(e.valid_start))+" ~ "+x(t(e.valid_end)),1)):e.valid_start?(c(),u("div",$,x(t(e.valid_start))+" 起 ",1)):(c(),u("div",I,"永久有效"))]),_:1},8,["loading","data","pagination"]),j(C,{modelValue:P.value,"onUpdate:modelValue":l[1]||(l[1]=e=>P.value=e),data:L.value,mode:B.value,onSuccess:J},null,8,["modelValue","data","mode"])])}}}),[["__scopeId","data-v-1834c742"]]);export{B as default}; diff --git a/nginx/admin/assets/index-C5DZ7Oey.js b/nginx/admin/assets/index-C5DZ7Oey.js new file mode 100644 index 0000000..a330bc7 --- /dev/null +++ b/nginx/admin/assets/index-C5DZ7Oey.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,r=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,n=(t,r,o)=>r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[r]=o;import{_ as i}from"./ArtException.vue_vue_type_script_setup_true_lang-BNdHgCsP.js";import{d as s,h as c,e as l,p as u}from"./index-BoIUJTA2.js";/* empty css */import"./index-DVdhsH_J.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";const m=s((b=((e,t)=>{for(var r in t||(t={}))a.call(t,r)&&n(e,r,t[r]);if(o)for(var r of o(t))p.call(t,r)&&n(e,r,t[r]);return e})({},{name:"Exception403"}),t(b,r({__name:"index",setup:e=>(e,t)=>{const r=i;return l(),c(r,{data:{title:"403",desc:e.$t("exceptionPage.403"),btnText:e.$t("exceptionPage.gohome"),imgUrl:u("/admin/assets/403-BdWuHcJA.svg")}},null,8,["data"])}}))));var b;export{m as default}; diff --git a/nginx/admin/assets/index-C8JkS7QR.js b/nginx/admin/assets/index-C8JkS7QR.js new file mode 100644 index 0000000..b4d17ae --- /dev/null +++ b/nginx/admin/assets/index-C8JkS7QR.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,a=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,r=(t,a,l)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[a]=l,s=(e,t,a)=>new Promise((l,i)=>{var o=e=>{try{s(a.next(e))}catch(t){i(t)}},r=e=>{try{s(a.throw(e))}catch(t){i(t)}},s=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);s((a=a.apply(e,t)).next())});import{d as n,k as d,C as m,H as p,b as u,e as c,g as _,w as f,p as j,M as b,N as h,h as v,E as x,j as y,K as g,f as w,ag as V,aV as C}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as k}from"./index-Bwtbh5WQ.js";/* empty css */import{A as O}from"./index-BaXJ8CyS.js";import{u as U}from"./useTable-DzUOUR11.js";import{_ as q}from"./index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js";/* empty css */import{g as E,m as P,h as Y,i as I}from"./task-center-B4yQCrbd.js";import{E as z}from"./index-js0HKKV6.js";import{E as D}from"./index-CjpBlozU.js";import{a as H,E as M}from"./index-BcfO0-fK.js";import{E as T,a as A}from"./index-D2gD5Tn5.js";import{E as S}from"./index-BneqRonp.js";import{E as R}from"./index-rgHg98E6.js";import{E as $}from"./index-C_S0YbqD.js";import{E as F}from"./index-BaD29Izp.js";import{E as N}from"./index-ZsMdSUVI.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./refs-Cw5r5QN8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";/* empty css */import"./index-CZJaGuxf.js";import"./useTableColumns-FR69a2pD.js";/* empty css *//* empty css */import"./use-dialog-FwJ-QdmW.js";import"./_baseClone-Ct7RL6h5.js";import"./token-DWNpOE8r.js";import"./index-BnK4BbY2.js";const B={class:"art-full-height"},G=n((K=((e,t)=>{for(var a in t||(t={}))i.call(t,a)&&r(e,a,t[a]);if(l)for(var a of l(t))o.call(t,a)&&r(e,a,t[a]);return e})({},{name:"TaskCenterTasks"}),t(K,a({__name:"index",setup(e){const{columns:t,columnChecks:a,data:l,loading:i,pagination:o,handleSizeChange:r,handleCurrentChange:n,refreshData:G}=U({core:{apiFn:e=>s(this,null,function*(){var t,a;const l=yield I(),i=null!=(t=null==e?void 0:e.current)?t:1,o=null!=(a=null==e?void 0:e.size)?a:10;return{records:l.list||[],total:l.total||0,current:i,size:o}}),columnsFactory:()=>[{type:"index",width:60,label:"序号"},{prop:"id",label:"ID",width:90},{prop:"name",label:"名称"},{prop:"description",label:"描述"},{prop:"status",label:"状态",formatter:e=>V(N,{type:1===e.status?"success":"info"},()=>1===e.status?"启用":"停用")},{prop:"start_time",label:"开始时间"},{prop:"end_time",label:"结束时间"},{prop:"show_expired",label:"过期显示",width:100,formatter:e=>V(N,{type:1===e.show_expired?"warning":"info"},()=>1===e.show_expired?"是":"否")},{prop:"allow_claim_after_end",label:"过期可领",width:100,formatter:e=>V(N,{type:1===e.allow_claim_after_end?"danger":"info"},()=>1===e.allow_claim_after_end?"是":"否")},{prop:"quota",label:"限量",width:120,formatter:e=>e.quota&&0!==e.quota?`${e.quota-(e.claimed_count||0)}/${e.quota}`:"不限"},{prop:"operation",label:"操作",width:140,fixed:"right",formatter:e=>V("div",[V(q,{type:"edit",onClick:()=>X(e)}),V(q,{type:"delete",onClick:()=>J(e)}),V(x,{link:!0,type:"primary",onClick:()=>ee(e)},()=>"详情")])}]}}),K=d({visible:!1,mode:"create",submitting:!1,currentId:0}),L=d({name:"",description:"",status:1,visibility:1,show_expired:0,allow_claim_after_end:0,quota:0}),Q=()=>{K.mode="create",K.visible=!0,K.currentId=0,Object.assign(L,{name:"",description:"",status:1,visibility:1,show_expired:0,allow_claim_after_end:0,quota:0,start_time:void 0,end_time:void 0})},X=e=>{var t,a;K.mode="edit",K.visible=!0,K.currentId=e.id;const l={name:e.name,description:e.description,status:e.status,visibility:1,show_expired:null!=(t=e.show_expired)?t:0,allow_claim_after_end:null!=(a=e.allow_claim_after_end)?a:0,quota:e.quota||0,start_time:e.start_time,end_time:e.end_time};Object.assign(L,l)},Z=()=>s(this,null,function*(){K.submitting=!0;try{"create"===K.mode?yield E(L):yield P(K.currentId,L),K.visible=!1,G()}finally{K.submitting=!1}}),J=e=>s(this,null,function*(){yield C.confirm(`确认删除任务【${e.name}】?`,"提示",{type:"warning"}),yield Y(e.id),G()}),W=m(),ee=e=>W.push({path:`/task-center/tasks/${e.id}`});return(e,s)=>{const d=z,m=k,V=g,C=M,U=A,q=T,E=S,P=R,Y=$,I=H,N=D,X=F,J=p("ripple");return c(),u("div",B,[_(X,{class:"art-table-card",shadow:"never"},{default:f(()=>[_(O,{columns:j(a),"onUpdate:columns":s[0]||(s[0]=e=>b(a)?a.value=e:null),loading:j(i),onRefresh:j(G)},{left:f(()=>[_(d,{wrap:""},{default:f(()=>[h((c(),v(j(x),{type:"primary",onClick:Q},{default:f(()=>[...s[12]||(s[12]=[y("新增任务",-1)])]),_:1})),[[J]])]),_:1})]),_:1},8,["columns","loading","onRefresh"]),_(m,{loading:j(i),data:j(l),columns:j(t),pagination:j(o),"onPagination:sizeChange":j(r),"onPagination:currentChange":j(n)},null,8,["loading","data","columns","pagination","onPagination:sizeChange","onPagination:currentChange"]),_(N,{modelValue:j(K).visible,"onUpdate:modelValue":s[11]||(s[11]=e=>j(K).visible=e),title:"create"===j(K).mode?"新增任务":"编辑任务",width:"520px","destroy-on-close":""},{footer:f(()=>[_(d,null,{default:f(()=>[_(j(x),{onClick:s[10]||(s[10]=e=>j(K).visible=!1)},{default:f(()=>[...s[15]||(s[15]=[y("取消",-1)])]),_:1}),_(j(x),{type:"primary",onClick:Z,loading:j(K).submitting},{default:f(()=>[...s[16]||(s[16]=[y("提交",-1)])]),_:1},8,["loading"])]),_:1})]),default:f(()=>[_(I,{model:j(L),"label-width":"100px"},{default:f(()=>[_(C,{label:"名称"},{default:f(()=>[_(V,{modelValue:j(L).name,"onUpdate:modelValue":s[1]||(s[1]=e=>j(L).name=e),placeholder:"请输入任务名称"},null,8,["modelValue"])]),_:1}),_(C,{label:"描述"},{default:f(()=>[_(V,{type:"textarea",modelValue:j(L).description,"onUpdate:modelValue":s[2]||(s[2]=e=>j(L).description=e),placeholder:"请输入任务描述"},null,8,["modelValue"])]),_:1}),_(C,{label:"状态"},{default:f(()=>[_(q,{modelValue:j(L).status,"onUpdate:modelValue":s[3]||(s[3]=e=>j(L).status=e),placeholder:"请选择"},{default:f(()=>[_(U,{value:1,label:"启用"}),_(U,{value:0,label:"停用"})]),_:1},8,["modelValue"])]),_:1}),_(C,{label:"可见性"},{default:f(()=>[_(q,{modelValue:j(L).visibility,"onUpdate:modelValue":s[4]||(s[4]=e=>j(L).visibility=e),placeholder:"请选择"},{default:f(()=>[_(U,{value:1,label:"公开"}),_(U,{value:0,label:"隐藏"})]),_:1},8,["modelValue"])]),_:1}),_(C,{label:"任务时间"},{default:f(()=>[_(E,{modelValue:j(L).start_time,"onUpdate:modelValue":s[5]||(s[5]=e=>j(L).start_time=e),type:"datetime",placeholder:"开始时间","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"48%"}},null,8,["modelValue"]),s[13]||(s[13]=w("span",{class:"mx-2"},"-",-1)),_(E,{modelValue:j(L).end_time,"onUpdate:modelValue":s[6]||(s[6]=e=>j(L).end_time=e),type:"datetime",placeholder:"结束时间","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"48%"}},null,8,["modelValue"])]),_:1}),_(C,{label:"过期后显示"},{default:f(()=>[_(P,{modelValue:j(L).show_expired,"onUpdate:modelValue":s[7]||(s[7]=e=>j(L).show_expired=e),"active-value":1,"inactive-value":0,"active-text":"显示","inactive-text":"隐藏"},null,8,["modelValue"])]),_:1}),_(C,{label:"过期后可领"},{default:f(()=>[_(P,{modelValue:j(L).allow_claim_after_end,"onUpdate:modelValue":s[8]||(s[8]=e=>j(L).allow_claim_after_end=e),"active-value":1,"inactive-value":0,"active-text":"允许","inactive-text":"禁止"},null,8,["modelValue"])]),_:1}),_(C,{label:"限量"},{default:f(()=>[_(Y,{modelValue:j(L).quota,"onUpdate:modelValue":s[9]||(s[9]=e=>j(L).quota=e),min:0,placeholder:"0表示不限",style:{width:"100%"}},null,8,["modelValue"]),s[14]||(s[14]=w("div",{class:"text-xs text-gray-500 mt-1"},"设置为0表示不限量,设置为正整数表示总限额",-1))]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]),_:1})])}}}))));var K;export{G as default}; diff --git a/nginx/admin/assets/index-C8sDFq-z.js b/nginx/admin/assets/index-C8sDFq-z.js new file mode 100644 index 0000000..f01f943 --- /dev/null +++ b/nginx/admin/assets/index-C8sDFq-z.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,l=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,r=(a,l,i)=>l in a?e(a,l,{enumerable:!0,configurable:!0,writable:!0,value:i}):a[l]=i,s=(e,a,l)=>new Promise((i,t)=>{var o=e=>{try{s(l.next(e))}catch(a){t(a)}},r=e=>{try{s(l.throw(e))}catch(a){t(a)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(o,r);s((l=l.apply(e,a)).next())});import{d as n,r as d,c as u,b as p,e as c,g as m,w as v,f,p as _,i as b,K as y,E as h,j,v as w,m as g,T as x}from"./index-BoIUJTA2.js";/* empty css *//* empty css */import{E as O}from"./slider-DTwTybBj.js";/* empty css *//* empty css *//* empty css */import{s as k}from"./operations-Cr4YfoRu.js";import{a as P,E as V}from"./index-BcfO0-fK.js";import{E as C}from"./index-BaD29Izp.js";import{_ as E}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index-C_S0YbqD.js";import"./index-BnK4BbY2.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./debounce-DQl5eUwG.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";const D={class:"miniapp-qrcode-page art-full-height"},I={class:"form-grid"},M={class:"form-pane"},S={key:0,class:"copy-link"},U={class:"value"},q={class:"preview-pane"},R={key:0,class:"preview-box"},A=["src"],G={key:1,class:"preview-holder"},N=n((Q=((e,a)=>{for(var l in a||(a={}))t.call(a,l)&&r(e,l,a[l]);if(i)for(var l of i(a))o.call(a,l)&&r(e,l,a[l]);return e})({},{name:"MiniAppQRCode"}),T={__name:"index",setup(e){const a=d({invite_code:"",douyin_id:"",width:430}),l=d(!1),i=d(""),t=u(()=>Math.max(200,Math.min(600,Number(a.value.width||430)))),o=u(()=>{const e=(a.value.invite_code||"").trim(),l=(a.value.douyin_id||"").trim();return e&&l?`/pages/login/index?${new URLSearchParams({invite_code:e,douyin_id:l}).toString()}`:""});function r(){return s(this,null,function*(){if(a.value.invite_code&&a.value.douyin_id){l.value=!0;try{const e=yield k(a.value);i.value="data:image/png;base64,"+e.image_base64}finally{l.value=!1}}else x.error("请填写邀请码与抖音ID")})}function n(){if(!i.value)return;const e=document.createElement("a");e.href=i.value,e.download=`miniapp_qrcode_${Date.now()}.png`,e.click()}function E(){return s(this,null,function*(){o.value&&(yield navigator.clipboard.writeText(o.value),x.success("已复制链接"))})}function N(){a.value={invite_code:"",douyin_id:"",width:430},i.value=""}return(e,s)=>(c(),p("div",D,[m(_(C),{class:"art-table-card",shadow:"never"},{default:v(()=>[f("div",I,[f("div",M,[m(_(P),{model:a.value,"label-width":"120px"},{default:v(()=>[m(_(V),{label:"邀请码"},{default:v(()=>[m(_(y),{modelValue:a.value.invite_code,"onUpdate:modelValue":s[0]||(s[0]=e=>a.value.invite_code=e),placeholder:"请输入邀请码"},null,8,["modelValue"])]),_:1}),m(_(V),{label:"抖音ID"},{default:v(()=>[m(_(y),{modelValue:a.value.douyin_id,"onUpdate:modelValue":s[1]||(s[1]=e=>a.value.douyin_id=e),placeholder:"请输入抖音ID"},null,8,["modelValue"])]),_:1}),m(_(V),{label:"二维码宽度"},{default:v(()=>[m(_(O),{modelValue:a.value.width,"onUpdate:modelValue":s[2]||(s[2]=e=>a.value.width=e),min:280,max:1280,"show-input":""},null,8,["modelValue"])]),_:1}),m(_(V),null,{default:v(()=>[m(_(h),{type:"primary",loading:l.value,onClick:r},{default:v(()=>[...s[3]||(s[3]=[j("生成二维码",-1)])]),_:1},8,["loading"]),m(_(h),{class:"ml-2",disabled:!i.value,onClick:n},{default:v(()=>[...s[4]||(s[4]=[j("下载PNG",-1)])]),_:1},8,["disabled"]),m(_(h),{class:"ml-2",onClick:E,disabled:!o.value},{default:v(()=>[...s[5]||(s[5]=[j("复制链接",-1)])]),_:1},8,["disabled"]),m(_(h),{class:"ml-2",onClick:N},{default:v(()=>[...s[6]||(s[6]=[j("重置",-1)])]),_:1})]),_:1}),o.value?(c(),p("div",S,[s[7]||(s[7]=f("span",{class:"label"},"小程序路径:",-1)),f("span",U,w(o.value),1)])):b("",!0)]),_:1},8,["model"])]),f("div",q,[i.value?(c(),p("div",R,[f("img",{src:i.value,alt:"qrcode",style:g({width:t.value+"px",height:t.value+"px"})},null,12,A)])):(c(),p("div",G,"生成后在此预览二维码"))])])]),_:1})]))}},a(Q,l(T))));var Q,T;const $=E(N,[["__scopeId","data-v-9b0222a3"]]);export{$ as default}; diff --git a/nginx/admin/assets/index-CBfoGocR.css b/nginx/admin/assets/index-CBfoGocR.css new file mode 100644 index 0000000..92ffb4e --- /dev/null +++ b/nginx/admin/assets/index-CBfoGocR.css @@ -0,0 +1 @@ +.page-container[data-v-95fdcd2b]{padding:16px} diff --git a/nginx/admin/assets/index-CEo8vjCU.css b/nginx/admin/assets/index-CEo8vjCU.css new file mode 100644 index 0000000..ccf4652 --- /dev/null +++ b/nginx/admin/assets/index-CEo8vjCU.css @@ -0,0 +1 @@ +.el-upload{--el-upload-dragger-padding-horizontal: 40px;--el-upload-dragger-padding-vertical: 10px}.el-upload{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;outline:none}.el-upload.is-disabled{cursor:not-allowed}.el-upload.is-disabled:focus{border-color:var(--el-border-color-darker);color:inherit}.el-upload.is-disabled:focus .el-upload-dragger{border-color:var(--el-border-color-darker)}.el-upload.is-disabled .el-upload-dragger{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-upload.is-disabled .el-upload-dragger .el-upload__text{color:var(--el-text-color-placeholder)}.el-upload.is-disabled .el-upload-dragger .el-upload__text em{color:var(--el-disabled-text-color)}.el-upload.is-disabled .el-upload-dragger:hover{border-color:var(--el-border-color-darker)}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:var(--el-text-color-regular);margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;opacity:0;filter:alpha(opacity=0)}.el-upload--picture-card{--el-upload-picture-card-size: 148px;background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);border-radius:6px;box-sizing:border-box;width:var(--el-upload-picture-card-size);height:var(--el-upload-picture-card-size);cursor:pointer;vertical-align:top;display:inline-flex;justify-content:center;align-items:center}.el-upload--picture-card>i{font-size:28px;color:var(--el-text-color-secondary)}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{padding:var(--el-upload-dragger-padding-horizontal) var(--el-upload-dragger-padding-vertical);background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);border-radius:6px;box-sizing:border-box;text-align:center;cursor:pointer;position:relative;overflow:hidden}.el-upload-dragger .el-icon--upload{font-size:67px;color:var(--el-text-color-placeholder);margin-bottom:16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{padding:calc(var(--el-upload-dragger-padding-horizontal) - 1px) calc(var(--el-upload-dragger-padding-vertical) - 1px);background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary)}.el-upload-list{margin:10px 0 0;padding:0;list-style:none;position:relative}.el-upload-list__item{transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:var(--el-text-color-regular);margin-bottom:5px;position:relative;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{display:none;position:absolute;right:5px;top:50%;cursor:pointer;opacity:.75;color:var(--el-text-color-regular);transition:opacity var(--el-transition-duration);transform:translateY(-50%)}.el-upload-list__item .el-icon--close:hover{opacity:1;color:var(--el-color-primary)}.el-upload-list__item .el-icon--close-tip{display:none;position:absolute;top:1px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:var(--el-color-primary);font-style:normal}.el-upload-list__item:hover{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{display:inline-flex;justify-content:center;flex-direction:column;width:calc(100% - 30px);margin-left:4px}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:hover,.el-upload-list__item.is-success .el-upload-list__item-name:focus{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:not(.focusing):focus,.el-upload-list__item.is-success:active{outline-width:0}.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip,.el-upload-list__item.is-success:active .el-icon--close-tip{display:none}.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label{display:none;opacity:0}.el-upload-list__item-name{color:var(--el-text-color-regular);display:inline-flex;text-align:center;align-items:center;padding:0 4px;transition:color var(--el-transition-duration);font-size:var(--el-font-size-base)}.el-upload-list__item-name .el-icon{margin-right:6px;color:var(--el-text-color-secondary)}.el-upload-list__item-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none;height:100%;justify-content:center;align-items:center;transition:opacity var(--el-transition-duration)}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:var(--el-text-color-regular);display:none}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{--el-upload-list-picture-card-size: 148px;display:inline-flex;flex-wrap:wrap;margin:0}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;width:var(--el-upload-list-picture-card-size);height:var(--el-upload-list-picture-card-size);margin:0 8px 8px 0;padding:0;display:inline-flex}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:block}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%;object-fit:contain}.el-upload-list--picture-card .el-upload-list__item-status-label{right:-15px;top:-6px;width:40px;height:24px;background:var(--el-color-success);text-align:center;transform:rotate(45deg)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;display:inline-flex;justify-content:center;align-items:center;color:#fff;opacity:0;font-size:20px;background-color:var(--el-overlay-color-lighter);transition:opacity var(--el-transition-duration)}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:16px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{top:50%;left:50%;transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;margin-top:10px;padding:10px;display:flex;align-items:center}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:inline-flex}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{display:inline-flex;justify-content:center;align-items:center;width:70px;height:70px;object-fit:contain;position:relative;z-index:1;background-color:var(--el-color-white)}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:var(--el-color-success);text-align:center;transform:rotate(45deg)}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{right:-15px;top:-6px;width:40px;height:24px;background:var(--el-color-success);text-align:center;transform:rotate(45deg)}.el-upload-cover__label i{font-size:12px;margin-top:11px;transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:var(--el-overlay-color-light);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#fff;font-size:14px;cursor:pointer;vertical-align:middle;transition:var(--el-transition-md-fade);margin-top:60px}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#fff;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:var(--el-text-color-primary)}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.system-configs-page[data-v-30086161]{padding:20px}.config-groups[data-v-30086161]{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:20px}.config-card[data-v-30086161]{border-radius:8px}.config-card[data-v-30086161] .el-card__header{padding:14px 20px;background:linear-gradient(135deg,#f5f7fa,#e4e7ed);border-bottom:1px solid #ebeef5}.card-header[data-v-30086161]{display:flex;justify-content:space-between;align-items:center}.card-header .title[data-v-30086161]{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#303133}.config-items[data-v-30086161]{display:flex;flex-direction:column;gap:12px}.config-item[data-v-30086161]{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed #ebeef5}.config-item[data-v-30086161]:last-child{border-bottom:none}.config-item .label[data-v-30086161]{color:#909399;font-size:13px;min-width:100px}.config-item .value[data-v-30086161]{color:#303133;font-size:13px;text-align:right;word-break:break-all;max-width:280px}.config-item .value.sensitive[data-v-30086161]{font-family:Consolas,monospace;color:#e6a23c} diff --git a/nginx/admin/assets/index-CEo8vjCU.css.gz b/nginx/admin/assets/index-CEo8vjCU.css.gz new file mode 100644 index 0000000..0265bb0 Binary files /dev/null and b/nginx/admin/assets/index-CEo8vjCU.css.gz differ diff --git a/nginx/admin/assets/index-CEpEmnur.css b/nginx/admin/assets/index-CEpEmnur.css new file mode 100644 index 0000000..93681af --- /dev/null +++ b/nginx/admin/assets/index-CEpEmnur.css @@ -0,0 +1 @@ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-5f1f3855],[data-v-5f1f3855]:before,[data-v-5f1f3855]:after,[data-v-5f1f3855]::backdrop{--tw-duration:initial}}}.art-notification-panel[data-v-5f1f3855]{top:calc(var(--spacing,.25rem)*14.5);right:calc(var(--spacing,.25rem)*5);height:calc(var(--spacing,.25rem)*125);width:calc(var(--spacing,.25rem)*90);transform-origin:top;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.3s;will-change:top,left;transition-duration:.3s;position:absolute;overflow:hidden}@media not all and (min-width:640px){.art-notification-panel[data-v-5f1f3855]{top:65px;right:calc(var(--spacing,.25rem)*0);width:100%;height:80vh}}.bar-active[data-v-5f1f3855]{border-bottom:2px solid var(--theme-color);color:var(--theme-color)!important}.scrollbar-thin[data-v-5f1f3855]::-webkit-scrollbar{width:5px!important}.dark .scrollbar-thin[data-v-5f1f3855]::-webkit-scrollbar-track{background-color:var(--default-box-color)}.dark .scrollbar-thin[data-v-5f1f3855]::-webkit-scrollbar-thumb{background-color:#222!important}.menu-right[data-v-9f705a0d]{--menu-width: var(--v3e7f04c0);--border-radius: var(--v5ccf2b35)}.menu-item.has-line[data-v-9f705a0d]{margin-bottom:10px}.menu-item.has-line[data-v-9f705a0d]:after{position:absolute;right:0;bottom:-5px;left:0;height:1px;content:"";background-color:var(--art-gray-300)}.menu-item.is-disabled[data-v-9f705a0d]{color:var(--el-text-color-disabled);cursor:not-allowed}.menu-item.is-disabled[data-v-9f705a0d]:hover{background-color:transparent!important}.menu-item.is-disabled i[data-v-9f705a0d]:not(.submenu-arrow),.menu-item.is-disabled[data-v-9f705a0d] .art-svg-icon{color:var(--el-text-color-disabled)!important}.menu-item.is-disabled .menu-label[data-v-9f705a0d]{color:var(--el-text-color-disabled)!important}.menu-item.submenu:hover .submenu-list[data-v-9f705a0d]{display:block}.menu-item.submenu:hover .submenu-title .submenu-arrow[data-v-9f705a0d]{transform:rotate(90deg)}.context-menu-enter-active[data-v-9f705a0d],.context-menu-leave-active[data-v-9f705a0d]{transition:all var(--v28ac2c31) ease-out}.context-menu-enter-from[data-v-9f705a0d],.context-menu-leave-to[data-v-9f705a0d]{opacity:0;transform:scale(.9)}.context-menu-enter-to[data-v-9f705a0d],.context-menu-leave-from[data-v-9f705a0d]{opacity:1;transform:scale(1)}.google-tab.activ-tab[data-v-7cc133f4]{color:var(--theme-color)!important;background-color:var(--el-color-primary-light-9)!important;border-bottom:0!important;border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.google-tab.activ-tab[data-v-7cc133f4]:before,.google-tab.activ-tab[data-v-7cc133f4]:after{position:absolute;bottom:0;width:20px;height:20px;content:"";border-radius:50%;box-shadow:0 0 0 30px var(--el-color-primary-light-9)}.google-tab.activ-tab[data-v-7cc133f4]:before{left:-20px;clip-path:inset(50% -10px 0 50%)}.google-tab.activ-tab[data-v-7cc133f4]:after{right:-20px;clip-path:inset(50% 50% 0 -10px)}.dark .google-tab.activ-tab[data-v-7cc133f4]{color:var(--art-gray-800)!important;background-color:var(--art-hover-color)!important}.dark .google-tab.activ-tab[data-v-7cc133f4]:before,.dark .google-tab.activ-tab[data-v-7cc133f4]:after{box-shadow:0 0 0 30px var(--art-hover-color)}.google-tab[data-v-7cc133f4]:not(.activ-tab):hover{box-sizing:border-box;color:var(--art-gray-600)!important;background-color:var(--art-gray-200)!important;border-bottom:1px solid var(--default-box-color)!important;border-radius:calc(var(--custom-radius) / 2.5 + 4px)!important}.dark .google-tab[data-v-7cc133f4]:not(.activ-tab):hover{background-color:var(--art-hover-color)!important}.google-tab:hover .line[data-v-7cc133f4],.google-tab.activ-tab .line[data-v-7cc133f4],.google-tab:first-child .line[data-v-7cc133f4]{opacity:0}.google-tab:hover+.google-tab .line[data-v-7cc133f4],.google-tab.activ-tab+.google-tab .line[data-v-7cc133f4]{opacity:0}.google-tab[data-v-7cc133f4]:before,.google-tab[data-v-7cc133f4]:after{position:absolute;bottom:0;width:20px;height:20px;content:"";border-radius:50%;box-shadow:0 0 0 30px transparent}.google-tab[data-v-7cc133f4]:before{left:-20px;clip-path:inset(50% -10px 0 50%)}.google-tab[data-v-7cc133f4]:after{right:-20px;clip-path:inset(50% 50% 0 -10px)}.google-tab i[data-v-7cc133f4]:hover{color:var(--art-gray-700);background:var(--art-gray-300)}@media only screen and (width <= 768px){.box-border.flex.justify-between[data-v-7cc133f4]{padding-right:.625rem;padding-left:.625rem}}@media only screen and (width <= 640px){.box-border.flex.justify-between[data-v-7cc133f4]{padding-right:.9375rem;padding-left:.9375rem}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-de2bfd62],[data-v-de2bfd62]:before,[data-v-de2bfd62]:after,[data-v-de2bfd62]::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-duration:initial}}}.button-arrow[data-v-de2bfd62]{z-index:2;width:calc(var(--spacing,.25rem)*7.5);height:calc(var(--spacing,.25rem)*7.5);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y);cursor:pointer;color:var(--color-g-600,var(--art-gray-600));transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.3s;border-radius:.25rem;justify-content:center;align-items:center;transition-duration:.3s;display:flex;position:absolute;top:50%}@media (hover:hover){.button-arrow[data-v-de2bfd62]:hover{background-color:var(--color-g-200,var(--art-gray-200));color:var(--color-g-900,var(--art-gray-900))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}[data-v-de2bfd62] .el-scrollbar__bar.is-horizontal{bottom:5px;display:none;height:2px}[data-v-de2bfd62] .scrollbar-wrapper{flex:1;min-width:0;margin:0 50px 0 30px}.menu-item-active[data-v-de2bfd62]:after{position:absolute;right:0;bottom:0;left:0;width:40px;height:2px;margin:auto;content:"";background-color:var(--theme-color)}@media (width <= 1440px){[data-v-de2bfd62] .scrollbar-wrapper{margin:0 45px}}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transform-origin:center top;transition:var(--el-transition-md-fade)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transform-origin:center bottom;transition:var(--el-transition-md-fade)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transform-origin:top left;transition:var(--el-transition-md-fade)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-height:60px;--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{background-color:var(--el-menu-bg-color);border-right:1px solid var(--el-menu-border-color);box-sizing:border-box;list-style:none;margin:0;padding-left:0;position:relative}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title{padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level)*var(--el-menu-level-padding));white-space:nowrap}.el-menu:not(.el-menu--collapse) .el-sub-menu__title{padding-right:calc(var(--el-menu-base-level-padding) + var(--el-menu-icon-width))}.el-menu--horizontal{border-right:none;display:flex;flex-wrap:nowrap;height:var(--el-menu-horizontal-height)}.el-menu--horizontal.el-menu--popup-container{height:unset}.el-menu--horizontal.el-menu{border-bottom:1px solid var(--el-menu-border-color)}.el-menu--horizontal>.el-menu-item{align-items:center;border-bottom:2px solid transparent;color:var(--el-menu-text-color);display:inline-flex;height:100%;justify-content:center;margin:0}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:none}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{border-bottom:2px solid transparent;color:var(--el-menu-text-color);height:100%}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-menu-bg-color)}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{align-items:center;background-color:var(--el-menu-bg-color);color:var(--el-menu-text-color);display:flex;height:var(--el-menu-horizontal-sub-item-height);line-height:var(--el-menu-horizontal-sub-item-height);padding:0 10px}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-menu-item.is-active:hover,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title:hover{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{background-color:var(--el-menu-hover-bg-color);color:var(--el-menu-active-color,var(--el-menu-hover-text-color));outline:none}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding)*2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{margin:0;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title>span,.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span{display:inline-block;height:0;overflow:hidden;visibility:hidden;width:0}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--popup{border:none;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light);min-width:200px;padding:5px 0;z-index:100}.el-menu .el-icon{flex-shrink:0}.el-menu-item{align-items:center;box-sizing:border-box;color:var(--el-menu-text-color);cursor:pointer;display:flex;font-size:var(--el-menu-item-font-size);height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);list-style:none;padding:0 var(--el-menu-base-level-padding);position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);white-space:nowrap}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:focus,.el-menu-item:hover{outline:none}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{background:none!important;cursor:not-allowed;opacity:.25}.el-menu-item [class^=el-icon]{font-size:18px;margin-right:5px;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{align-items:center;box-sizing:border-box;display:inline-flex;height:100%;left:0;padding:0 var(--el-menu-base-level-padding);position:absolute;top:0;width:100%}.el-sub-menu{list-style:none;margin:0;padding-left:0}.el-sub-menu__title{align-items:center;box-sizing:border-box;color:var(--el-menu-text-color);cursor:pointer;display:flex;font-size:var(--el-menu-item-font-size);height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);list-style:none;padding:0 var(--el-menu-base-level-padding);position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);white-space:nowrap}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:focus,.el-sub-menu__title:hover{outline:none}.el-sub-menu__title.is-disabled{background:none!important;cursor:not-allowed;opacity:.25}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height)}.el-sub-menu.el-sub-menu__hide-arrow .el-sub-menu__title{padding-right:var(--el-menu-base-level-padding)}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-menu-item,.el-sub-menu.is-disabled .el-sub-menu__title{background:none!important;cursor:not-allowed;opacity:.25}.el-sub-menu .el-icon{font-size:18px;margin-right:5px;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{font-size:12px;margin-right:0;margin-top:-6px;position:absolute;right:var(--el-menu-base-level-padding);top:50%;transition:transform var(--el-transition-duration);width:inherit}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{color:var(--el-text-color-secondary);font-size:12px;line-height:normal;padding:7px 0 7px var(--el-menu-base-level-padding)}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{opacity:0;transition:var(--el-transition-duration-fast)}[data-v-a00d1f83] .el-sub-menu__title .el-sub-menu__icon-arrow{right:10px!important}[data-v-83042b1a] .el-menu{border-bottom:none!important}[data-v-83042b1a] .el-menu-item[tabindex="0"]{background-color:transparent!important;border:none!important}[data-v-83042b1a] .el-menu--horizontal .el-sub-menu__title{padding:0 30px 0 10px!important;border:0!important}/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-05111b30],[data-v-05111b30]:before,[data-v-05111b30]:after,[data-v-05111b30]::backdrop{--tw-border-style:solid;--tw-duration:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer components{.btn-item[data-v-05111b30]{margin-bottom:calc(var(--spacing,.25rem)*3);cursor:pointer;border-radius:var(--radius-md,.375rem);padding:calc(var(--spacing,.25rem)*2);-webkit-user-select:none;user-select:none;align-items:center;display:flex}.btn-item[data-v-05111b30]:last-child{margin-bottom:calc(var(--spacing,.25rem)*0)}.btn-item span[data-v-05111b30]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)))}.btn-item .art-svg-icon[data-v-05111b30]{margin-right:calc(var(--spacing,.25rem)*2);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ))}.btn-item[data-v-05111b30]:hover{background-color:var(--art-gray-200)}}.log-out[data-v-05111b30]{margin-top:calc(var(--spacing,.25rem)*5);border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-g-400,var(--art-gray-400));padding-block:calc(var(--spacing,.25rem)*1.5);text-align:center;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.2s;transition-duration:.2s}@media (hover:hover){.log-out[data-v-05111b30]:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@keyframes rotate180-986b7ce2{0%{transform:rotate(0)}to{transform:rotate(180deg)}}@keyframes shake-986b7ce2{0%{transform:rotate(0)}25%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}to{transform:rotate(0)}}@keyframes expand-986b7ce2{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes shrink-986b7ce2{0%{transform:scale(1)}50%{transform:scale(.9)}to{transform:scale(1)}}@keyframes moveUp-986b7ce2{0%{transform:translateY(0)}50%{transform:translateY(-3px)}to{transform:translateY(0)}}@keyframes breathing-986b7ce2{0%{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}to{opacity:.4;transform:scale(.9)}}.refresh-btn[data-v-986b7ce2]:hover .art-svg-icon{animation:rotate180-986b7ce2 .5s}.language-btn[data-v-986b7ce2]:hover .art-svg-icon{animation:moveUp-986b7ce2 .4s}.setting-btn[data-v-986b7ce2]:hover .art-svg-icon{animation:rotate180-986b7ce2 .5s}.full-screen-btn[data-v-986b7ce2]:hover .art-svg-icon{animation:expand-986b7ce2 .6s forwards}.exit-full-screen-btn[data-v-986b7ce2]:hover .art-svg-icon{animation:shrink-986b7ce2 .6s forwards}.notice-button[data-v-986b7ce2]:hover .art-svg-icon,.chat-button[data-v-986b7ce2]:hover .art-svg-icon{animation:shake-986b7ce2 .5s ease-in-out}.breathing-dot[data-v-986b7ce2]{animation:breathing-986b7ce2 1.5s ease-in-out infinite}@media screen and (width <= 768px){.logo2[data-v-986b7ce2]{display:block!important}}@media screen and (width <= 640px){.btn-box[data-v-986b7ce2]{width:40px}}.layout-sidebar[data-v-82ffeb90]{display:flex;height:100vh;user-select:none;scrollbar-width:none;border-right:1px solid var(--art-card-border)}.layout-sidebar.no-border[data-v-82ffeb90]{border-right:none!important}.layout-sidebar[data-v-82ffeb90] .el-scrollbar__bar.is-vertical{width:4px}.layout-sidebar[data-v-82ffeb90] .el-scrollbar__thumb{right:-2px;background-color:#ccc;border-radius:2px}.layout-sidebar .dual-menu-left[data-v-82ffeb90]{position:relative;width:80px;height:100%;border-right:1px solid var(--art-card-border)!important;transition:width .25s}.layout-sidebar .dual-menu-left .logo[data-v-82ffeb90]{margin:12px auto 3px;cursor:pointer}.layout-sidebar .dual-menu-left ul li>div[data-v-82ffeb90]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:8px;overflow:hidden;text-align:center;cursor:pointer;border-radius:5px}.layout-sidebar .dual-menu-left ul li>div .art-svg-icon[data-v-82ffeb90]{display:block;margin:0 auto;font-size:20px}.layout-sidebar .dual-menu-left ul li>div span[data-v-82ffeb90]{display:-webkit-box;width:100%;overflow:hidden;font-size:12px;text-overflow:ellipsis;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical}.layout-sidebar .dual-menu-left ul li>div.is-active[data-v-82ffeb90]{background:var(--el-color-primary-light-9)}.layout-sidebar .dual-menu-left ul li>div.is-active .art-svg-icon[data-v-82ffeb90],.layout-sidebar .dual-menu-left ul li>div.is-active span[data-v-82ffeb90]{color:var(--theme-color)!important}.layout-sidebar .dual-menu-left .switch-btn[data-v-82ffeb90]{position:absolute;right:0;bottom:15px;left:0;margin:auto}.layout-sidebar .menu-left[data-v-82ffeb90]{box-sizing:border-box;height:100vh}@media only screen and (width <= 640px){.layout-sidebar .menu-left[data-v-82ffeb90]{height:100dvh}}.layout-sidebar .menu-left .el-menu[data-v-82ffeb90]{height:100%}.layout-sidebar .header[data-v-82ffeb90]{position:relative;box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;height:60px;overflow:hidden;line-height:1;cursor:pointer}.layout-sidebar .header .logo[data-v-82ffeb90]{margin-left:16px}.layout-sidebar .header p[data-v-82ffeb90]{position:relative;box-sizing:border-box;margin-left:4px;font-size:16px}.layout-sidebar .header p.is-dual-menu-name[data-v-82ffeb90]{left:0;margin:0}.layout-sidebar .el-menu[data-v-82ffeb90]{box-sizing:border-box;height:calc(100vh - 60px);overflow-y:auto;overscroll-behavior:contain;border-right:0;scrollbar-width:none;-ms-scroll-chaining:contain}.layout-sidebar .el-menu[data-v-82ffeb90]::-webkit-scrollbar{width:0!important}.layout-sidebar .menu-model[data-v-82ffeb90]{display:none}@media only screen and (width <= 800px){.layout-sidebar[data-v-82ffeb90]{width:0}.layout-sidebar .header[data-v-82ffeb90]{height:50px;line-height:50px}.layout-sidebar .el-menu[data-v-82ffeb90]{height:calc(100vh - 60px)}.layout-sidebar .el-menu--collapse[data-v-82ffeb90]{width:0}.layout-sidebar .menu-left-close .header .logo[data-v-82ffeb90]{display:none}.layout-sidebar .menu-left-close .header p[data-v-82ffeb90]{left:16px;font-size:0;opacity:0!important}.layout-sidebar .menu-model[data-v-82ffeb90]{position:fixed;top:0;left:0;z-index:-1;display:block;width:100%;height:100vh;background:#00000080;transition:opacity .2s ease-in-out}}@media only screen and (width <= 640px){.layout-sidebar[data-v-82ffeb90]{border-right:0!important}}.dark .layout-sidebar[data-v-82ffeb90]{border-right:1px solid rgba(255,255,255,.13)}.dark .layout-sidebar[data-v-82ffeb90] .el-scrollbar__thumb{background-color:#777}.dark .layout-sidebar .dual-menu-left[data-v-82ffeb90]{border-right:1px solid rgba(255,255,255,.09)!important}.layout-sidebar .menu-left-close .header .logo{margin:0 auto}.layout-sidebar .menu-icon{margin-right:8px;font-size:20px}.layout-sidebar .el-sub-menu__title,.layout-sidebar .el-menu-item{height:42px!important;margin-bottom:4px;line-height:42px!important}.layout-sidebar .el-sub-menu__title span,.layout-sidebar .el-menu-item span{font-size:14px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-sidebar .el-sub-menu__icon-arrow{width:13px!important;font-size:13px!important}.layout-sidebar .el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title .menu-icon .art-svg-icon{color:var(--theme-color)!important}.layout-sidebar .el-menu-design .el-sub-menu__title,.layout-sidebar .el-menu-design .el-menu-item{width:calc(100% - 16px);margin-left:8px;border-radius:6px}.layout-sidebar .el-menu-design .el-sub-menu__title .menu-icon,.layout-sidebar .el-menu-design .el-menu-item .menu-icon{margin-left:-7px}.layout-sidebar .el-menu-design .el-menu-item.is-active{color:var(--theme-color)!important;background-color:var(--el-color-primary-light-9)}.layout-sidebar .el-menu-design .el-menu-item.is-active .menu-icon .art-svg-icon{color:var(--theme-color)!important}.layout-sidebar .el-menu-design .el-sub-menu__title:hover,.layout-sidebar .el-menu-design .el-menu-item:not(.is-active):hover{background:var(--art-gray-200)!important}.layout-sidebar .el-menu-design .el-sub-menu__icon-arrow{color:var(--art-gray-600)}.layout-sidebar .el-menu-dark .el-sub-menu__title,.layout-sidebar .el-menu-dark .el-menu-item{width:calc(100% - 16px);margin-left:8px;border-radius:6px}.layout-sidebar .el-menu-dark .el-sub-menu__title .menu-icon,.layout-sidebar .el-menu-dark .el-menu-item .menu-icon{margin-left:-7px}.layout-sidebar .el-menu-dark .el-menu-item.is-active{color:#fff!important;background-color:#27282d}.layout-sidebar .el-menu-dark .el-menu-item.is-active .menu-icon .art-svg-icon{color:#fff!important}.layout-sidebar .el-menu-dark .el-sub-menu__title:hover,.layout-sidebar .el-menu-dark .el-menu-item:not(.is-active):hover{background:#0f1015!important}.layout-sidebar .el-menu-dark .el-sub-menu__icon-arrow{color:var(--art-gray-400)}.layout-sidebar .el-menu-light .el-sub-menu__title .menu-icon,.layout-sidebar .el-menu-light .el-menu-item .menu-icon{margin-left:1px}.layout-sidebar .el-menu-light .el-menu-item.is-active{background-color:var(--el-color-primary-light-9)}.layout-sidebar .el-menu-light .el-menu-item.is-active .art-svg-icon{color:var(--theme-color)!important}.layout-sidebar .el-menu-light .el-menu-item.is-active:before{position:absolute;top:0;left:0;width:4px;height:100%;content:"";background:var(--theme-color)}.layout-sidebar .el-menu-light .el-sub-menu__title:hover,.layout-sidebar .el-menu-light .el-menu-item:not(.is-active):hover{background:var(--art-gray-200)!important}.layout-sidebar .el-menu-light .el-sub-menu__icon-arrow{color:var(--art-gray-600)}@media only screen and (width <= 640px){.layout-sidebar .el-menu-design>.el-sub-menu{margin-left:0}.layout-sidebar .el-menu-design .el-sub-menu{width:100%!important}}.el-menu--vertical .el-menu--popup,.el-menu--popup-container .el-menu--popup{padding:8px}.el-menu--vertical .el-menu--popup .el-sub-menu__title:hover,.el-menu--vertical .el-menu--popup .el-menu-item:hover,.el-menu--popup-container .el-menu--popup .el-sub-menu__title:hover,.el-menu--popup-container .el-menu--popup .el-menu-item:hover{background-color:var(--art-gray-200)!important;border-radius:6px}.el-menu--vertical .el-menu--popup .el-menu-item,.el-menu--popup-container .el-menu--popup .el-menu-item{height:40px;margin-bottom:5px;border-radius:6px}.el-menu--vertical .el-menu--popup .el-menu-item .menu-icon,.el-menu--popup-container .el-menu--popup .el-menu-item .menu-icon{margin-right:5px}.el-menu--vertical .el-menu--popup .el-menu-item:last-of-type,.el-menu--popup-container .el-menu--popup .el-menu-item:last-of-type{margin-bottom:0}.el-menu--vertical .el-menu--popup .el-menu-item.is-active,.el-menu--popup-container .el-menu--popup .el-menu-item.is-active{color:var(--art-gray-900)!important;background-color:var(--art-gray-200)!important}.el-menu--vertical .el-menu--popup .el-sub-menu,.el-menu--popup-container .el-menu--popup .el-sub-menu{height:40px;margin-bottom:5px;border-radius:6px}.el-menu--vertical .el-menu--popup .el-sub-menu .menu-icon,.el-menu--popup-container .el-menu--popup .el-sub-menu .menu-icon{margin-right:5px}.el-menu--vertical .el-menu--popup .el-sub-menu:last-of-type,.el-menu--popup-container .el-menu--popup .el-sub-menu:last-of-type{margin-bottom:0}.el-menu--vertical .el-menu--popup .el-sub-menu,.el-menu--popup-container .el-menu--popup .el-sub-menu{height:40px!important}.el-menu--vertical .el-menu--popup .el-sub-menu .el-sub-menu__title,.el-menu--popup-container .el-menu--popup .el-sub-menu .el-sub-menu__title{height:40px!important;border-radius:6px}.dark .el-menu--vertical .el-menu--popup,.dark .el-menu--popup-container .el-menu--popup{padding:8px}.dark .el-menu--vertical .el-menu--popup .el-sub-menu__title:hover,.dark .el-menu--vertical .el-menu--popup .el-menu-item:hover,.dark .el-menu--popup-container .el-menu--popup .el-sub-menu__title:hover,.dark .el-menu--popup-container .el-menu--popup .el-menu-item:hover{background-color:var(--art-gray-200)!important;border-radius:6px}.dark .el-menu--vertical .el-menu--popup .el-menu-item,.dark .el-menu--popup-container .el-menu--popup .el-menu-item{height:40px;margin-bottom:5px;border-radius:6px}.dark .el-menu--vertical .el-menu--popup .el-menu-item .menu-icon,.dark .el-menu--popup-container .el-menu--popup .el-menu-item .menu-icon{margin-right:5px}.dark .el-menu--vertical .el-menu--popup .el-menu-item:last-of-type,.dark .el-menu--popup-container .el-menu--popup .el-menu-item:last-of-type{margin-bottom:0}.dark .el-menu--vertical .el-menu--popup .el-menu-item.is-active,.dark .el-menu--popup-container .el-menu--popup .el-menu-item.is-active{color:var(--art-gray-900)!important;background-color:#292a2e!important}.dark .el-menu--vertical .el-menu--popup .el-sub-menu,.dark .el-menu--popup-container .el-menu--popup .el-sub-menu{height:40px;margin-bottom:5px;border-radius:6px}.dark .el-menu--vertical .el-menu--popup .el-sub-menu .menu-icon,.dark .el-menu--popup-container .el-menu--popup .el-sub-menu .menu-icon{margin-right:5px}.dark .el-menu--vertical .el-menu--popup .el-sub-menu:last-of-type,.dark .el-menu--popup-container .el-menu--popup .el-sub-menu:last-of-type{margin-bottom:0}.dark .el-menu--vertical .el-menu--popup .el-sub-menu,.dark .el-menu--popup-container .el-menu--popup .el-sub-menu{height:40px!important}.dark .el-menu--vertical .el-menu--popup .el-sub-menu .el-sub-menu__title,.dark .el-menu--popup-container .el-menu--popup .el-sub-menu .el-sub-menu__title{height:40px!important;border-radius:6px}.dark .layout-sidebar .menu-icon .art-svg-icon,.dark .layout-sidebar .menu-name{color:var(--art-gray-800)!important}.dark .layout-sidebar .el-menu-item.is-active span,.dark .layout-sidebar .el-menu-item.is-active .menu-icon .art-svg-icon{color:var(--theme-color)!important}.dark .layout-sidebar .el-sub-menu__icon-arrow{color:#fff}.layout-sidebar .el-menu:not(.el-menu--collapse){width:var(--v687e2f19)}.layout-sidebar .el-menu--collapse{width:var(--v47c0a5de)}.app-layout[data-v-b1f4441a]{display:flex;width:100%;min-height:100vh;background:var(--default-bg-color)}.app-layout #app-sidebar[data-v-b1f4441a]{flex-shrink:0}.app-layout #app-main[data-v-b1f4441a]{display:flex;flex:1;flex-direction:column;min-width:0;height:100vh;overflow:auto}.app-layout #app-main #app-header[data-v-b1f4441a]{position:sticky;top:0;z-index:50;flex-shrink:0;width:100%}.app-layout #app-main #app-content[data-v-b1f4441a]{flex:1}.app-layout #app-main #app-content[data-v-b1f4441a] .layout-content{box-sizing:border-box;width:calc(100% - 40px);margin:auto}.app-layout #app-main #app-content[data-v-b1f4441a] .layout-content .page-content{position:relative;box-sizing:border-box;padding:20px;overflow:hidden;background:var(--default-box-color);border-radius:calc(var(--custom-radius) / 2 + 2px)!important}@media only screen and (width <= 1180px){.app-layout #app-main[data-v-b1f4441a]{height:100dvh}}@media only screen and (width <= 800px){.app-layout[data-v-b1f4441a]{position:relative}.app-layout #app-sidebar[data-v-b1f4441a]{position:fixed;top:0;left:0;z-index:300;height:100vh}.app-layout #app-main[data-v-b1f4441a]{width:100%;height:auto;overflow:visible}.app-layout #app-main #app-content[data-v-b1f4441a] .layout-content{width:calc(100% - 40px)}}@media only screen and (width <= 640px){.app-layout #app-main #app-content[data-v-b1f4441a] .layout-content{width:calc(100% - 30px)}} diff --git a/nginx/admin/assets/index-CEpEmnur.css.gz b/nginx/admin/assets/index-CEpEmnur.css.gz new file mode 100644 index 0000000..67fdb06 Binary files /dev/null and b/nginx/admin/assets/index-CEpEmnur.css.gz differ diff --git a/nginx/admin/assets/index-CF5VuMnX.css b/nginx/admin/assets/index-CF5VuMnX.css new file mode 100644 index 0000000..25456eb --- /dev/null +++ b/nginx/admin/assets/index-CF5VuMnX.css @@ -0,0 +1 @@ +.el-alert{--el-alert-padding: 8px 16px;--el-alert-border-radius-base: var(--el-border-radius-base);--el-alert-title-font-size: 14px;--el-alert-title-with-description-font-size: 16px;--el-alert-description-font-size: 14px;--el-alert-close-font-size: 16px;--el-alert-close-customed-font-size: 14px;--el-alert-icon-size: 16px;--el-alert-icon-large-size: 28px;width:100%;padding:var(--el-alert-padding);margin:0;box-sizing:border-box;border-radius:var(--el-alert-border-radius-base);position:relative;background-color:var(--el-color-white);overflow:hidden;opacity:1;display:flex;align-items:center;transition:opacity var(--el-transition-duration-fast)}.el-alert.is-light .el-alert__close-btn{color:var(--el-text-color-placeholder)}.el-alert.is-dark .el-alert__close-btn,.el-alert.is-dark .el-alert__description{color:var(--el-color-white)}.el-alert.is-center{justify-content:center}.el-alert--primary{--el-alert-bg-color: var(--el-color-primary-light-9)}.el-alert--primary.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-primary)}.el-alert--primary.is-light .el-alert__description{color:var(--el-color-primary)}.el-alert--primary.is-dark{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-alert--success{--el-alert-bg-color: var(--el-color-success-light-9)}.el-alert--success.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-success)}.el-alert--success.is-light .el-alert__description{color:var(--el-color-success)}.el-alert--success.is-dark{background-color:var(--el-color-success);color:var(--el-color-white)}.el-alert--info{--el-alert-bg-color: var(--el-color-info-light-9)}.el-alert--info.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-info)}.el-alert--info.is-light .el-alert__description{color:var(--el-color-info)}.el-alert--info.is-dark{background-color:var(--el-color-info);color:var(--el-color-white)}.el-alert--warning{--el-alert-bg-color: var(--el-color-warning-light-9)}.el-alert--warning.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-warning)}.el-alert--warning.is-light .el-alert__description{color:var(--el-color-warning)}.el-alert--warning.is-dark{background-color:var(--el-color-warning);color:var(--el-color-white)}.el-alert--error{--el-alert-bg-color: var(--el-color-error-light-9)}.el-alert--error.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-error)}.el-alert--error.is-light .el-alert__description{color:var(--el-color-error)}.el-alert--error.is-dark{background-color:var(--el-color-error);color:var(--el-color-white)}.el-alert__content{display:flex;flex-direction:column;gap:4px}.el-alert .el-alert__icon{font-size:var(--el-alert-icon-size);width:var(--el-alert-icon-size);margin-right:8px}.el-alert .el-alert__icon.is-big{font-size:var(--el-alert-icon-large-size);width:var(--el-alert-icon-large-size);margin-right:12px}.el-alert__title{font-size:var(--el-alert-title-font-size);line-height:24px}.el-alert__title.with-description{font-size:var(--el-alert-title-with-description-font-size)}.el-alert .el-alert__description{font-size:var(--el-alert-description-font-size);margin:0}.el-alert .el-alert__close-btn{font-size:var(--el-alert-close-font-size);opacity:1;position:absolute;top:12px;right:16px;cursor:pointer}.el-alert .el-alert__close-btn.is-customed{font-style:normal;font-size:var(--el-alert-close-customed-font-size);line-height:24px;top:8px}.el-alert-fade-enter-from,.el-alert-fade-leave-active{opacity:0} diff --git a/nginx/admin/assets/index-CGW0tBaS.js b/nginx/admin/assets/index-CGW0tBaS.js new file mode 100644 index 0000000..caa021b --- /dev/null +++ b/nginx/admin/assets/index-CGW0tBaS.js @@ -0,0 +1 @@ +import{_ as i}from"./index.vue_vue_type_script_setup_true_lang-CPE8D7by.js";import"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./task-center-B4yQCrbd.js";import"./adminActivities-Dgt25iR5.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-D2gD5Tn5.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./index-C_S0YbqD.js";import"./index-BnK4BbY2.js";import"./index-rgHg98E6.js";import"./index-BaD29Izp.js";export{i as default}; diff --git a/nginx/admin/assets/index-CHkI0jTX.css b/nginx/admin/assets/index-CHkI0jTX.css new file mode 100644 index 0000000..f089497 --- /dev/null +++ b/nginx/admin/assets/index-CHkI0jTX.css @@ -0,0 +1 @@ +.art-table[data-v-5c0998ff]{position:relative;height:100%}.art-table .el-table[data-v-5c0998ff]{height:100%;margin-top:10px}.art-table[data-v-5c0998ff] .el-table__header-wrapper{background:var(--el-fill-color-lighter)}.art-table[data-v-5c0998ff] .el-loading-mask{z-index:100;background-color:var(--default-box-color)!important}.art-table .loading-fade-leave-active[data-v-5c0998ff]{transition:opacity .3s ease-out}.art-table .loading-fade-leave-to[data-v-5c0998ff]{opacity:0}.art-table.is-empty[data-v-5c0998ff] .el-scrollbar__wrap{display:flex}.art-table .pagination[data-v-5c0998ff]{display:flex;margin-top:13px}.art-table .pagination[data-v-5c0998ff] .el-select{width:102px!important}.art-table .pagination.left[data-v-5c0998ff]{justify-content:flex-start}.art-table .pagination.center[data-v-5c0998ff]{justify-content:center}.art-table .pagination.right[data-v-5c0998ff]{justify-content:flex-end}.art-table .pagination.custom-pagination[data-v-5c0998ff] .el-pagination .btn-prev,.art-table .pagination.custom-pagination[data-v-5c0998ff] .el-pagination .btn-next{background-color:transparent;border:1px solid var(--art-gray-300);transition:border-color .15s}.art-table .pagination.custom-pagination[data-v-5c0998ff] .el-pagination .btn-prev:hover:not(.is-disabled),.art-table .pagination.custom-pagination[data-v-5c0998ff] .el-pagination .btn-next:hover:not(.is-disabled){color:var(--theme-color);border-color:var(--theme-color)}.art-table .pagination.custom-pagination[data-v-5c0998ff] .el-pagination li{box-sizing:border-box;font-weight:400!important;background-color:transparent;border:1px solid var(--art-gray-300);transition:border-color .15s}.art-table .pagination.custom-pagination[data-v-5c0998ff] .el-pagination li.is-active{font-weight:400;color:#fff;background-color:var(--theme-color);border:1px solid var(--theme-color)}.art-table .pagination.custom-pagination[data-v-5c0998ff] .el-pagination li:hover:not(.is-disabled){border-color:var(--theme-color)}@media (width <= 640px){[data-v-5c0998ff] .el-pagination{display:flex;flex-wrap:wrap;gap:15px 0;align-items:center;justify-content:center}} diff --git a/nginx/admin/assets/index-CHx7KC7r.js b/nginx/admin/assets/index-CHx7KC7r.js new file mode 100644 index 0000000..f48ceca --- /dev/null +++ b/nginx/admin/assets/index-CHx7KC7r.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,a=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,s=(t,a,l)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[a]=l,i=(e,t)=>{for(var a in t||(t={}))o.call(t,a)&&s(e,a,t[a]);if(l)for(var a of l(t))r.call(t,a)&&s(e,a,t[a]);return e},n=(e,l)=>t(e,a(l)),p=(e,t,a)=>new Promise((l,o)=>{var r=e=>{try{i(a.next(e))}catch(t){o(t)}},s=e=>{try{i(a.throw(e))}catch(t){o(t)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,s);i((a=a.apply(e,t)).next())});import{a8 as d,e6 as u,am as c,e7 as m,a0 as f,d as y,bK as v,a1 as _,r as g,c as x,p as b,cB as h,h as j,e as w,w as k,s as V,i as C,g as B,cn as z,f as E,q as T,j as S,ai as I,m as O,aE as P,v as D,E as U,a2 as $,az as A,c1 as R,k as q,o as K,b as N,N as M,b2 as L,K as Q,P as X,b5 as Y,T as F}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css */import{E as G,a as H}from"./index-BjuMygln.js";import{E as J}from"./index-ZsMdSUVI.js";import{u as W,E as Z}from"./index-BMeOzN3u.js";import{E as ee}from"./index-C1haaLtB.js";import{E as te}from"./index-BaD29Izp.js";import{a as ae,E as le}from"./index-BcfO0-fK.js";import{E as oe}from"./index-CjpBlozU.js";import{_ as re}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index-Cp4NEpJ7.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-D2gD5Tn5.js";import"./token-DWNpOE8r.js";import"./_baseClone-Ct7RL6h5.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";const se=d({title:String,confirmButtonText:String,cancelButtonText:String,confirmButtonType:{type:String,values:m,default:"primary"},cancelButtonType:{type:String,values:m,default:"text"},icon:{type:c,default:()=>u},iconColor:{type:String,default:"#f90"},hideIcon:Boolean,hideAfter:{type:Number,default:200},effect:n(i({},W.effect),{default:"light"}),teleported:W.teleported,persistent:W.persistent,width:{type:[String,Number],default:150},closeOnPressEscape:{type:Boolean,default:!0}}),ie={confirm:e=>e instanceof MouseEvent,cancel:e=>e instanceof MouseEvent||e instanceof KeyboardEvent},ne=y({name:"ElPopconfirm"});const pe=A(f(y(n(i({},ne),{props:se,emits:ie,setup(e,{expose:t,emit:a}){const l=e,{t:o}=v(),r=_("popconfirm"),s=g(),i=x(()=>{var e;return null==(e=b(s))?void 0:e.popperRef}),n=()=>{var e,t;null==(t=null==(e=s.value)?void 0:e.onClose)||t.call(e)},p=x(()=>({width:h(l.width)})),d=e=>{a("confirm",e),n()},u=e=>{a("cancel",e),n()},c=e=>{l.closeOnPressEscape&&u(e)},m=x(()=>l.confirmButtonText||o("el.popconfirm.confirmButtonText")),f=x(()=>l.cancelButtonText||o("el.popconfirm.cancelButtonText"));return t({popperRef:i,hide:n}),(e,t)=>(w(),j(b(Z),$({ref_key:"tooltipRef",ref:s,trigger:"click",effect:e.effect},e.$attrs,{"popper-class":`${b(r).namespace.value}-popover`,"popper-style":b(p),teleported:e.teleported,"fallback-placements":["bottom","top","right","left"],"hide-after":e.hideAfter,persistent:e.persistent}),{content:k(()=>[B(b(z),{loop:"",trapped:"",onReleaseRequested:c},{default:k(()=>[E("div",{class:T(b(r).b())},[E("div",{class:T(b(r).e("main"))},[!e.hideIcon&&e.icon?(w(),j(b(I),{key:0,class:T(b(r).e("icon")),style:O({color:e.iconColor})},{default:k(()=>[(w(),j(P(e.icon)))]),_:1},8,["class","style"])):C("v-if",!0),S(" "+D(e.title),1)],2),E("div",{class:T(b(r).e("action"))},[V(e.$slots,"actions",{confirm:d,cancel:u},()=>[B(b(U),{size:"small",type:"text"===e.cancelButtonType?"":e.cancelButtonType,text:"text"===e.cancelButtonType,onClick:u},{default:k(()=>[S(D(b(f)),1)]),_:1},8,["type","text"]),B(b(U),{size:"small",type:"text"===e.confirmButtonType?"":e.confirmButtonType,text:"text"===e.confirmButtonType,onClick:d},{default:k(()=>[S(D(b(m)),1)]),_:1},8,["type","text"])])],2)],2)]),_:3})]),default:k(()=>[e.$slots.reference?V(e.$slots,"reference",{key:0}):C("v-if",!0)]),_:3},16,["effect","popper-class","popper-style","teleported","hide-after","persistent"]))}})),[["__file","popconfirm.vue"]]));const de={class:"blacklist-page p-4"},ue={class:"flex justify-between items-center"},ce={class:"flex gap-2"},me={class:"flex items-center gap-2"},fe={class:"font-mono"},ye={class:"mt-4 flex justify-end"},ve=re(y({__name:"index",setup(e){const t=g(!1),a=g(!1),l=g([]),o=g(""),r=q({page:1,pageSize:20,total:0}),s=g(!1),i=q({douyin_user_id:"",reason:""}),n=g(!1),d=q({ids_text:"",reason:""});function u(){return p(this,null,function*(){t.value=!0;try{const t=yield(e={page:r.page,page_size:r.pageSize,keyword:o.value||void 0},R.get({url:"/admin/blacklist",params:e}));l.value=t.list||[],r.total=t.total||0}catch(a){}finally{t.value=!1}var e})}function c(){r.page=1,u()}function m(){i.douyin_user_id="",i.reason="",s.value=!0}function f(){return p(this,null,function*(){if(i.douyin_user_id.trim()){a.value=!0;try{yield(e={douyin_user_id:i.douyin_user_id.trim(),reason:i.reason},R.post({url:"/admin/blacklist",data:e})),F.success("添加成功"),s.value=!1,u()}catch(t){F.error((null==t?void 0:t.message)||"添加失败")}finally{a.value=!1}var e}else F.warning("请输入抖音用户ID")})}function y(){d.ids_text="",d.reason="",n.value=!0}function v(){return p(this,null,function*(){const e=d.ids_text.split("\n").map(e=>e.trim()).filter(e=>e.length>0);if(0!==e.length){a.value=!0;try{const a=yield(t={douyin_user_ids:e,reason:d.reason},R.post({url:"/admin/blacklist/batch",data:t}));F.success(`批量添加完成:新增 ${a.added} 个,跳过 ${a.skipped} 个`),n.value=!1,u()}catch(l){F.error((null==l?void 0:l.message)||"批量添加失败")}finally{a.value=!1}var t}else F.warning("请输入至少一个抖音用户ID")})}function _(e){return p(this,null,function*(){try{yield(t=e.id,R.del({url:`/admin/blacklist/${t}`})),F.success("移除成功"),u()}catch(a){F.error((null==a?void 0:a.message)||"移除失败")}var t})}return K(()=>{u()}),(e,p)=>{const g=Q,x=U,h=I,V=H,C=J,z=pe,O=G,P=ee,$=te,A=le,R=ae,q=oe,K=L;return w(),N("div",de,[B($,{shadow:"never"},{header:k(()=>[E("div",ue,[p[14]||(p[14]=E("span",{class:"font-bold"},"抖音用户黑名单",-1)),E("div",ce,[B(g,{modelValue:o.value,"onUpdate:modelValue":p[0]||(p[0]=e=>o.value=e),placeholder:"搜索抖音ID",style:{width:"200px"},clearable:"",onKeyup:X(c,["enter"]),onClear:c},null,8,["modelValue"]),B(x,{type:"primary",onClick:c},{default:k(()=>[...p[11]||(p[11]=[S("搜索",-1)])]),_:1}),B(x,{type:"success",onClick:m},{default:k(()=>[B(h,{class:"mr-1"},{default:k(()=>[B(b(Y))]),_:1}),p[12]||(p[12]=S(" 添加黑名单 ",-1))]),_:1}),B(x,{onClick:y},{default:k(()=>[...p[13]||(p[13]=[S("批量添加",-1)])]),_:1})])])]),default:k(()=>[M((w(),j(O,{data:l.value,border:"",style:{width:"100%"}},{default:k(()=>[B(V,{prop:"id",label:"ID",width:"80"}),B(V,{prop:"douyin_user_id",label:"抖音用户ID","min-width":"180"},{default:k(({row:e})=>[E("div",me,[B(C,{type:"danger",size:"small"},{default:k(()=>[...p[15]||(p[15]=[S("黑名单",-1)])]),_:1}),E("span",fe,D(e.douyin_user_id),1)])]),_:1}),B(V,{prop:"reason",label:"拉黑原因","min-width":"200"},{default:k(({row:e})=>[E("span",{class:T(e.reason?"":"text-gray-400")},D(e.reason||"未填写"),3)]),_:1}),B(V,{prop:"created_at",label:"添加时间",width:"170"}),B(V,{label:"操作",width:"120",fixed:"right"},{default:k(({row:e})=>[B(z,{title:"确定要将该用户从黑名单移除吗?",onConfirm:t=>_(e)},{reference:k(()=>[B(x,{link:"",type:"success",size:"small"},{default:k(()=>[...p[16]||(p[16]=[S("移除",-1)])]),_:1})]),_:1},8,["onConfirm"])]),_:1})]),_:1},8,["data"])),[[K,t.value]]),E("div",ye,[B(P,{"current-page":r.page,"onUpdate:currentPage":p[1]||(p[1]=e=>r.page=e),"page-size":r.pageSize,"onUpdate:pageSize":p[2]||(p[2]=e=>r.pageSize=e),total:r.total,"page-sizes":[20,50,100],layout:"total, sizes, prev, pager, next",onSizeChange:u,onCurrentChange:u},null,8,["current-page","page-size","total"])])]),_:1}),B(q,{modelValue:s.value,"onUpdate:modelValue":p[6]||(p[6]=e=>s.value=e),title:"添加黑名单",width:"500px"},{footer:k(()=>[B(x,{onClick:p[5]||(p[5]=e=>s.value=!1)},{default:k(()=>[...p[17]||(p[17]=[S("取消",-1)])]),_:1}),B(x,{type:"primary",onClick:f,loading:a.value},{default:k(()=>[...p[18]||(p[18]=[S("确定",-1)])]),_:1},8,["loading"])]),default:k(()=>[B(R,{model:i,"label-width":"100px"},{default:k(()=>[B(A,{label:"抖音用户ID",required:""},{default:k(()=>[B(g,{modelValue:i.douyin_user_id,"onUpdate:modelValue":p[3]||(p[3]=e=>i.douyin_user_id=e),placeholder:"请输入抖音用户ID"},null,8,["modelValue"])]),_:1}),B(A,{label:"拉黑原因"},{default:k(()=>[B(g,{modelValue:i.reason,"onUpdate:modelValue":p[4]||(p[4]=e=>i.reason=e),type:"textarea",rows:3,placeholder:"如:多次恶意退款"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),B(q,{modelValue:n.value,"onUpdate:modelValue":p[10]||(p[10]=e=>n.value=e),title:"批量添加黑名单",width:"600px"},{footer:k(()=>[B(x,{onClick:p[9]||(p[9]=e=>n.value=!1)},{default:k(()=>[...p[19]||(p[19]=[S("取消",-1)])]),_:1}),B(x,{type:"primary",onClick:v,loading:a.value},{default:k(()=>[...p[20]||(p[20]=[S("确定",-1)])]),_:1},8,["loading"])]),default:k(()=>[B(R,{model:d,"label-width":"100px"},{default:k(()=>[B(A,{label:"抖音用户ID",required:""},{default:k(()=>[B(g,{modelValue:d.ids_text,"onUpdate:modelValue":p[7]||(p[7]=e=>d.ids_text=e),type:"textarea",rows:6,placeholder:"每行一个抖音用户ID,支持批量粘贴"},null,8,["modelValue"])]),_:1}),B(A,{label:"拉黑原因"},{default:k(()=>[B(g,{modelValue:d.reason,"onUpdate:modelValue":p[8]||(p[8]=e=>d.reason=e),placeholder:"如:批量导入"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-1afedef3"]]);export{ve as default}; diff --git a/nginx/admin/assets/index-CHx7KC7r.js.gz b/nginx/admin/assets/index-CHx7KC7r.js.gz new file mode 100644 index 0000000..be6a05f Binary files /dev/null and b/nginx/admin/assets/index-CHx7KC7r.js.gz differ diff --git a/nginx/admin/assets/index-CIZk353b.css b/nginx/admin/assets/index-CIZk353b.css new file mode 100644 index 0000000..abb7626 --- /dev/null +++ b/nginx/admin/assets/index-CIZk353b.css @@ -0,0 +1 @@ +.theme-svg[data-v-14d9c663]{display:inline-block}.theme-svg .svg-container[data-v-14d9c663]{width:100%;height:100%}.theme-svg .svg-container[data-v-14d9c663] svg{width:100%;height:100%} diff --git a/nginx/admin/assets/index-CK4gMf_x.js b/nginx/admin/assets/index-CK4gMf_x.js new file mode 100644 index 0000000..3c68d76 --- /dev/null +++ b/nginx/admin/assets/index-CK4gMf_x.js @@ -0,0 +1 @@ +var e=Object.defineProperty,l=Object.defineProperties,a=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,d=(l,a,s)=>a in l?e(l,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):l[a]=s;import{d as t,B as m,c as i,r as n,k as u,o as p,H as b,b as c,e as f,f as x,v as w,p as g,g as j,I as v,J as _,w as V,K as y,N as h,h as k,E as P,j as U}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as N}from"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import{_ as O}from"./avatar-pR7-E1hl.js";import{E}from"./index-C_sVHlWz.js";import{E as q,a as C}from"./index-BcfO0-fK.js";import{E as D,a as I}from"./index-D2gD5Tn5.js";import"./iconify-DFoKediz.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";const S={class:"w-full h-full p-0 bg-transparent border-none shadow-none"},A={class:"relative flex-b mt-2.5 max-md:block max-md:mt-1"},B={class:"w-112 mr-5 max-md:w-full max-md:mr-0"},H={class:"art-card-sm relative p-9 pb-6 overflow-hidden text-center"},J={class:"mt-5 text-xl font-normal"},z={class:"w-75 mx-auto mt-7.5 text-left"},F={class:"mt-2.5"},K={class:"mt-2.5"},Q={class:"mt-2.5"},R={class:"mt-2.5"},T={class:"mt-10"},Y={class:"flex flex-wrap justify-center mt-3.5"},G={class:"flex-1 overflow-hidden max-md:w-full max-md:mt-3.5"},L={class:"art-card-sm"},M={class:"flex-c justify-end [&_.el-button]:!w-27.5"},W={class:"art-card-sm my-5"},X={class:"flex-c justify-end [&_.el-button]:!w-27.5"},Z=t(($=((e,l)=>{for(var a in l||(l={}))r.call(l,a)&&d(e,a,l[a]);if(s)for(var a of s(l))o.call(l,a)&&d(e,a,l[a]);return e})({},{name:"UserCenter"}),l($,a({__name:"index",setup(e){const l=m(),a=i(()=>l.getUserInfo),s=n(!1),r=n(!1),o=n(""),d=n(),t=u({realName:"John Snow",nikeName:"皮卡丘",email:"59301283@mall.com",mobile:"18888888888",address:"广东省深圳市宝安区西乡街道101栋201",sex:"2",des:"Art Design Pro 是一款兼具设计美学与高效开发的后台系统."}),Z=u({password:"123456",newPassword:"123456",confirmPassword:"123456"}),$=u({realName:[{required:!0,message:"请输入姓名",trigger:"blur"},{min:2,max:50,message:"长度在 2 到 50 个字符",trigger:"blur"}],nikeName:[{required:!0,message:"请输入昵称",trigger:"blur"},{min:2,max:50,message:"长度在 2 到 50 个字符",trigger:"blur"}],email:[{required:!0,message:"请输入邮箱",trigger:"blur"}],mobile:[{required:!0,message:"请输入手机号码",trigger:"blur"}],address:[{required:!0,message:"请输入地址",trigger:"blur"}],sex:[{required:!0,message:"请选择性别",trigger:"blur"}]}),ee=[{value:"1",label:"男"},{value:"2",label:"女"}],le=["专注设计","很有想法","辣~","大长腿","川妹子","海纳百川"];p(()=>{ae()});const ae=()=>{const e=(new Date).getHours();o.value=e>=6&&e<9?"早上好":e>=9&&e<11?"上午好":e>=11&&e<13?"中午好":e>=13&&e<18?"下午好":e>=18&&e<24?"晚上好":"很晚了,早点睡"},se=()=>{s.value=!s.value},re=()=>{r.value=!r.value};return(e,l)=>{const o=N,m=y,i=q,n=I,u=D,p=E,ae=P,oe=C,de=b("ripple");return f(),c("div",S,[x("div",A,[x("div",B,[x("div",H,[l[15]||(l[15]=x("img",{class:"absolute top-0 left-0 w-full h-50 object-cover",src:"/admin/assets/bg-DrCBEYh-.webp"},null,-1)),l[16]||(l[16]=x("img",{class:"relative z-10 w-20 h-20 mt-30 mx-auto object-cover border-2 border-white rounded-full",src:O},null,-1)),x("h2",J,w(g(a).userName),1),l[17]||(l[17]=x("p",{class:"mt-5 text-sm"},"专注于用户体验跟视觉设计",-1)),x("div",z,[x("div",F,[j(o,{icon:"ri:mail-line",class:"text-g-700"}),l[10]||(l[10]=x("span",{class:"ml-2 text-sm"},"jdkjjfnndf@mall.com",-1))]),x("div",K,[j(o,{icon:"ri:user-3-line",class:"text-g-700"}),l[11]||(l[11]=x("span",{class:"ml-2 text-sm"},"交互专家",-1))]),x("div",Q,[j(o,{icon:"ri:map-pin-line",class:"text-g-700"}),l[12]||(l[12]=x("span",{class:"ml-2 text-sm"},"广东省深圳市",-1))]),x("div",R,[j(o,{icon:"ri:dribbble-fill",class:"text-g-700"}),l[13]||(l[13]=x("span",{class:"ml-2 text-sm"},"字节跳动-某某平台部-UED",-1))])]),x("div",T,[l[14]||(l[14]=x("h3",{class:"text-sm font-medium"},"标签",-1)),x("div",Y,[(f(),c(v,null,_(le,e=>x("div",{key:e,class:"py-1 px-1.5 mr-2.5 mb-2.5 text-xs border border-g-300 rounded"},w(e),1)),64))])])])]),x("div",G,[x("div",L,[l[18]||(l[18]=x("h1",{class:"p-4 text-xl font-normal border-b border-g-300"},"基本设置",-1)),j(oe,{model:g(t),class:"box-border p-5 [&>.el-row_.el-form-item]:w-[calc(50%-10px)] [&>.el-row_.el-input]:w-full [&>.el-row_.el-select]:w-full",ref_key:"ruleFormRef",ref:d,rules:g($),"label-width":"86px","label-position":"top"},{default:V(()=>[j(p,null,{default:V(()=>[j(i,{label:"姓名",prop:"realName"},{default:V(()=>[j(m,{modelValue:g(t).realName,"onUpdate:modelValue":l[0]||(l[0]=e=>g(t).realName=e),disabled:!g(s)},null,8,["modelValue","disabled"])]),_:1}),j(i,{label:"性别",prop:"sex",class:"ml-5"},{default:V(()=>[j(u,{modelValue:g(t).sex,"onUpdate:modelValue":l[1]||(l[1]=e=>g(t).sex=e),placeholder:"Select",disabled:!g(s)},{default:V(()=>[(f(),c(v,null,_(ee,e=>j(n,{key:e.value,label:e.label,value:e.value},null,8,["label","value"])),64))]),_:1},8,["modelValue","disabled"])]),_:1})]),_:1}),j(p,null,{default:V(()=>[j(i,{label:"昵称",prop:"nikeName"},{default:V(()=>[j(m,{modelValue:g(t).nikeName,"onUpdate:modelValue":l[2]||(l[2]=e=>g(t).nikeName=e),disabled:!g(s)},null,8,["modelValue","disabled"])]),_:1}),j(i,{label:"邮箱",prop:"email",class:"ml-5"},{default:V(()=>[j(m,{modelValue:g(t).email,"onUpdate:modelValue":l[3]||(l[3]=e=>g(t).email=e),disabled:!g(s)},null,8,["modelValue","disabled"])]),_:1})]),_:1}),j(p,null,{default:V(()=>[j(i,{label:"手机",prop:"mobile"},{default:V(()=>[j(m,{modelValue:g(t).mobile,"onUpdate:modelValue":l[4]||(l[4]=e=>g(t).mobile=e),disabled:!g(s)},null,8,["modelValue","disabled"])]),_:1}),j(i,{label:"地址",prop:"address",class:"ml-5"},{default:V(()=>[j(m,{modelValue:g(t).address,"onUpdate:modelValue":l[5]||(l[5]=e=>g(t).address=e),disabled:!g(s)},null,8,["modelValue","disabled"])]),_:1})]),_:1}),j(i,{label:"个人介绍",prop:"des",class:"h-32"},{default:V(()=>[j(m,{type:"textarea",rows:4,modelValue:g(t).des,"onUpdate:modelValue":l[6]||(l[6]=e=>g(t).des=e),disabled:!g(s)},null,8,["modelValue","disabled"])]),_:1}),x("div",M,[h((f(),k(ae,{type:"primary",class:"w-22.5",onClick:se},{default:V(()=>[U(w(g(s)?"保存":"编辑"),1)]),_:1})),[[de]])])]),_:1},8,["model","rules"])]),x("div",W,[l[19]||(l[19]=x("h1",{class:"p-4 text-xl font-normal border-b border-g-300"},"更改密码",-1)),j(oe,{model:g(Z),class:"box-border p-5","label-width":"86px","label-position":"top"},{default:V(()=>[j(i,{label:"当前密码",prop:"password"},{default:V(()=>[j(m,{modelValue:g(Z).password,"onUpdate:modelValue":l[7]||(l[7]=e=>g(Z).password=e),type:"password",disabled:!g(r),"show-password":""},null,8,["modelValue","disabled"])]),_:1}),j(i,{label:"新密码",prop:"newPassword"},{default:V(()=>[j(m,{modelValue:g(Z).newPassword,"onUpdate:modelValue":l[8]||(l[8]=e=>g(Z).newPassword=e),type:"password",disabled:!g(r),"show-password":""},null,8,["modelValue","disabled"])]),_:1}),j(i,{label:"确认新密码",prop:"confirmPassword"},{default:V(()=>[j(m,{modelValue:g(Z).confirmPassword,"onUpdate:modelValue":l[9]||(l[9]=e=>g(Z).confirmPassword=e),type:"password",disabled:!g(r),"show-password":""},null,8,["modelValue","disabled"])]),_:1}),x("div",X,[h((f(),k(ae,{type:"primary",class:"w-22.5",onClick:re},{default:V(()=>[U(w(g(r)?"保存":"编辑"),1)]),_:1})),[[de]])])]),_:1},8,["model"])])])])])}}}))));var $;export{Z as default}; diff --git a/nginx/admin/assets/index-CK9ybLMc.js b/nginx/admin/assets/index-CK9ybLMc.js new file mode 100644 index 0000000..89954b7 --- /dev/null +++ b/nginx/admin/assets/index-CK9ybLMc.js @@ -0,0 +1 @@ +var e=Object.defineProperty,r=Object.defineProperties,s=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,l=(r,s,t)=>s in r?e(r,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[s]=t;import{d as i,z as d,C as p,r as n,A as m,k as u,c,G as g,H as f,b as h,e as w,g as v,f as j,h as y,v as b,w as _,K as x,p as P,P as V,j as O,N as $,E,T as L}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css */import{_ as T,a as k}from"./LoginLeftView-DmcFsDtV.js";import{E as q,a as R}from"./index-BcfO0-fK.js";import{E as U}from"./index-D8nVJoNy.js";import{_ as A}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./el-dropdown-item-D7SYN_RE.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./dropdown-Dk_wSiK6.js";import"./castArray-nM8ho4U3.js";import"./refs-Cw5r5QN8.js";/* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";import"./useHeaderBar-B65RzJLX.js";import"./index-DVdhsH_J.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";const C={class:"flex w-full h-screen"},M={class:"relative flex-1"},B={class:"auth-right-wrap"},H={class:"form"},I={class:"title"},K={class:"sub-title"},S={style:{"margin-top":"15px"}},z={class:"mt-5 text-sm text-g-600"},D=i((F=((e,r)=>{for(var s in r||(r={}))a.call(r,s)&&l(e,s,r[s]);if(t)for(var s of t(r))o.call(r,s)&&l(e,s,r[s]);return e})({},{name:"Register"}),r(F,s({__name:"index",setup(e){const{t:r,locale:s}=d(),t=p(),a=n(),o=n(!1),l=n(0);m(s,()=>{l.value++});const i=u({username:"",password:"",confirmPassword:"",agreement:!1}),A=(e,s,t)=>{var o;s?(i.confirmPassword&&(null==(o=a.value)||o.validateField("confirmPassword")),t()):t(new Error(r("register.placeholder.password")))},D=(e,s,t)=>{s?s===i.password?t():t(new Error(r("register.rule.passwordMismatch"))):t(new Error(r("register.rule.confirmPasswordRequired")))},F=(e,s,t)=>{s?t():t(new Error(r("register.rule.agreementRequired")))},G=c(()=>({username:[{required:!0,message:r("register.placeholder.username"),trigger:"blur"},{min:3,max:20,message:r("register.rule.usernameLength"),trigger:"blur"}],password:[{required:!0,validator:A,trigger:"blur"},{min:6,message:r("register.rule.passwordLength"),trigger:"blur"}],confirmPassword:[{required:!0,validator:D,trigger:"blur"}],agreement:[{validator:F,trigger:"change"}]})),N=()=>{return e=this,r=null,s=function*(){if(a.value)try{yield a.value.validate(),o.value=!0,setTimeout(()=>{o.value=!1,L.success("注册成功"),Q()},1e3)}catch(e){o.value=!1}},new Promise((t,a)=>{var o=e=>{try{i(s.next(e))}catch(r){a(r)}},l=e=>{try{i(s.throw(e))}catch(r){a(r)}},i=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,l);i((s=s.apply(e,r)).next())});var e,r,s},Q=()=>{setTimeout(()=>{t.push({name:"Login"})},1e3)};return(e,r)=>{const s=T,t=k,d=x,p=q,n=g("RouterLink"),m=U,u=E,c=R,L=f("ripple");return w(),h("div",C,[v(s),j("div",M,[v(t),j("div",B,[j("div",H,[j("h3",I,b(e.$t("register.title")),1),j("p",K,b(e.$t("register.subTitle")),1),(w(),y(c,{class:"mt-7.5",ref_key:"formRef",ref:a,model:P(i),rules:P(G),"label-position":"top",key:P(l)},{default:_(()=>[v(p,{prop:"username"},{default:_(()=>[v(d,{class:"custom-height",modelValue:P(i).username,"onUpdate:modelValue":r[0]||(r[0]=e=>P(i).username=e),modelModifiers:{trim:!0},placeholder:e.$t("register.placeholder.username")},null,8,["modelValue","placeholder"])]),_:1}),v(p,{prop:"password"},{default:_(()=>[v(d,{class:"custom-height",modelValue:P(i).password,"onUpdate:modelValue":r[1]||(r[1]=e=>P(i).password=e),modelModifiers:{trim:!0},placeholder:e.$t("register.placeholder.password"),type:"password",autocomplete:"off","show-password":""},null,8,["modelValue","placeholder"])]),_:1}),v(p,{prop:"confirmPassword"},{default:_(()=>[v(d,{class:"custom-height",modelValue:P(i).confirmPassword,"onUpdate:modelValue":r[2]||(r[2]=e=>P(i).confirmPassword=e),modelModifiers:{trim:!0},placeholder:e.$t("register.placeholder.confirmPassword"),type:"password",autocomplete:"off",onKeyup:V(N,["enter"]),"show-password":""},null,8,["modelValue","placeholder"])]),_:1}),v(p,{prop:"agreement"},{default:_(()=>[v(m,{modelValue:P(i).agreement,"onUpdate:modelValue":r[3]||(r[3]=e=>P(i).agreement=e)},{default:_(()=>[O(b(e.$t("register.agreeText"))+" ",1),v(n,{style:{color:"var(--theme-color)","text-decoration":"none"},to:"/privacy-policy"},{default:_(()=>[O(b(e.$t("register.privacyPolicy")),1)]),_:1})]),_:1},8,["modelValue"])]),_:1}),j("div",S,[$((w(),y(u,{class:"w-full custom-height",type:"primary",onClick:N,loading:P(o)},{default:_(()=>[O(b(e.$t("register.submitBtnText")),1)]),_:1},8,["loading"])),[[L]])]),j("div",z,[j("span",null,b(e.$t("register.hasAccount")),1),v(n,{class:"text-theme",to:{name:"Login"}},{default:_(()=>[O(b(e.$t("register.toLogin")),1)]),_:1})])]),_:1},8,["model","rules"]))])])])])}}}))));var F;const G=A(D,[["__scopeId","data-v-d45b160d"]]);export{G as default}; diff --git a/nginx/admin/assets/index-COVbtKb2.css b/nginx/admin/assets/index-COVbtKb2.css new file mode 100644 index 0000000..f18c247 --- /dev/null +++ b/nginx/admin/assets/index-COVbtKb2.css @@ -0,0 +1 @@ +.page[data-v-9224c6c9]{padding:12px}.mb-3[data-v-9224c6c9]{margin-bottom:12px} diff --git a/nginx/admin/assets/index-COyGylbk.js b/nginx/admin/assets/index-COyGylbk.js new file mode 100644 index 0000000..106431d --- /dev/null +++ b/nginx/admin/assets/index-COyGylbk.js @@ -0,0 +1 @@ +import{a8 as s,at as a,a0 as e,d as t,s as o,h as l,e as d,aO as r,az as p}from"./index-BoIUJTA2.js";const i=s({to:{type:a([String,Object]),required:!0},disabled:Boolean});const n=p(e(t({__name:"teleport",props:i,setup:s=>(s,a)=>s.disabled?o(s.$slots,"default",{key:0}):(d(),l(r,{key:1,to:s.to},[o(s.$slots,"default")],8,["to"]))}),[["__file","teleport.vue"]]));export{n as E,i as t}; diff --git a/nginx/admin/assets/index-CSr24crn.js b/nginx/admin/assets/index-CSr24crn.js new file mode 100644 index 0000000..c8b3207 --- /dev/null +++ b/nginx/admin/assets/index-CSr24crn.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,a=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(t,a,s)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[a]=s,i=(e,t)=>{for(var a in t||(t={}))l.call(t,a)&&n(e,a,t[a]);if(s)for(var a of s(t))o.call(t,a)&&n(e,a,t[a]);return e},r=(e,s)=>t(e,a(s)),u=(e,t,a)=>new Promise((s,l)=>{var o=e=>{try{i(a.next(e))}catch(t){l(t)}},n=e=>{try{i(a.throw(e))}catch(t){l(t)}},i=e=>e.done?s(e.value):Promise.resolve(e.value).then(o,n);i((a=a.apply(e,t)).next())});import{aa as c,an as d,ar as p,a8 as f,at as v,bT as y,av as m,a0 as g,d as b,bK as h,a1 as k,by as w,r as F,c as E,h as R,e as x,w as T,b as S,s as $,I as C,J as P,P as L,p as O,q as _,i as U,f as j,O as D,g as B,ai as A,d_ as q,v as H,m as K,cA as M,ba as z,be as X,dA as N,b6 as I,dO as J,a9 as G,aM as W,c8 as Z,bF as Q,d$ as V,bZ as Y,e0 as ee,A as te,ax as ae,l as se,ae as le,ay as oe,cx as ne,a2 as ie,az as re}from"./index-BoIUJTA2.js";import{E as ue}from"./index-ClDjAOOe.js";import{c as ce}from"./cloneDeep-B1gZFPYK.js";const de=Symbol("uploadContextKey");class pe extends Error{constructor(e,t,a,s){super(e),this.name="UploadAjaxError",this.status=t,this.method=a,this.url=s}}function fe(e,t,a){let s;return s=a.response?`${a.response.error||a.response}`:a.responseText?`${a.responseText}`:`fail to ${t.method} ${e} ${a.status}`,new pe(s,a.status,t.method,e)}const ve=["text","picture","picture-card"];let ye=1;const me=()=>Date.now()+ye++,ge=f({action:{type:String,default:"#"},headers:{type:v(Object)},method:{type:String,default:"post"},data:{type:v([Object,Function,Promise]),default:()=>m({})},multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:v(Array),default:()=>m([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:ve,default:"text"},httpRequest:{type:v(Function),default:e=>{"undefined"==typeof XMLHttpRequest&&c("ElUpload","XMLHttpRequest is undefined");const t=new XMLHttpRequest,a=e.action;t.upload&&t.upload.addEventListener("progress",t=>{const a=t;a.percent=t.total>0?t.loaded/t.total*100:0,e.onProgress(a)});const s=new FormData;if(e.data)for(const[o,n]of Object.entries(e.data))d(n)&&n.length?s.append(o,...n):s.append(o,n);s.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(fe(a,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(fe(a,e,t));e.onSuccess(function(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch(a){return t}}(t))}),t.open(e.method,a,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const l=e.headers||{};if(l instanceof Headers)l.forEach((e,a)=>t.setRequestHeader(a,e));else for(const[o,n]of Object.entries(l))p(n)||t.setRequestHeader(o,String(n));return t.send(s),t}},disabled:Boolean,limit:Number}),be=f(r(i({},ge),{beforeUpload:{type:v(Function),default:y},beforeRemove:{type:v(Function)},onRemove:{type:v(Function),default:y},onChange:{type:v(Function),default:y},onPreview:{type:v(Function),default:y},onSuccess:{type:v(Function),default:y},onProgress:{type:v(Function),default:y},onError:{type:v(Function),default:y},onExceed:{type:v(Function),default:y},crossorigin:{type:v(String)}})),he=f({files:{type:v(Array),default:()=>m([])},disabled:Boolean,handlePreview:{type:v(Function),default:y},listType:{type:String,values:ve,default:"text"},crossorigin:{type:v(String)}}),ke=b({name:"ElUploadList"});var we=g(b(r(i({},ke),{props:he,emits:{remove:e=>!!e},setup(e,{emit:t}){const a=e,{t:s}=h(),l=k("upload"),o=k("icon"),n=k("list"),i=w(),r=F(!1),u=E(()=>[l.b("list"),l.bm("list",a.listType),l.is("disabled",a.disabled)]),c=e=>{t("remove",e)};return(e,t)=>(x(),R(J,{tag:"ul",class:_(O(u)),name:O(n).b()},{default:T(()=>[(x(!0),S(C,null,P(e.files,(t,a)=>(x(),S("li",{key:t.uid||t.name,class:_([O(l).be("list","item"),O(l).is(t.status),{focusing:r.value}]),tabindex:"0",onKeydown:L(e=>!O(i)&&c(t),["delete"]),onFocus:e=>r.value=!0,onBlur:e=>r.value=!1,onClick:e=>r.value=!1},[$(e.$slots,"default",{file:t,index:a},()=>["picture"===e.listType||"uploading"!==t.status&&"picture-card"===e.listType?(x(),S("img",{key:0,class:_(O(l).be("list","item-thumbnail")),src:t.url,crossorigin:e.crossorigin,alt:""},null,10,["src","crossorigin"])):U("v-if",!0),"uploading"===t.status||"picture-card"!==e.listType?(x(),S("div",{key:1,class:_(O(l).be("list","item-info"))},[j("a",{class:_(O(l).be("list","item-name")),onClick:D(a=>e.handlePreview(t),["prevent"])},[B(O(A),{class:_(O(o).m("document"))},{default:T(()=>[B(O(q))]),_:1},8,["class"]),j("span",{class:_(O(l).be("list","item-file-name")),title:t.name},H(t.name),11,["title"])],10,["onClick"]),"uploading"===t.status?(x(),R(O(ue),{key:0,type:"picture-card"===e.listType?"circle":"line","stroke-width":"picture-card"===e.listType?6:2,percentage:Number(t.percentage),style:K("picture-card"===e.listType?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):U("v-if",!0)],2)):U("v-if",!0),j("label",{class:_(O(l).be("list","item-status-label"))},["text"===e.listType?(x(),R(O(A),{key:0,class:_([O(o).m("upload-success"),O(o).m("circle-check")])},{default:T(()=>[B(O(M))]),_:1},8,["class"])):["picture-card","picture"].includes(e.listType)?(x(),R(O(A),{key:1,class:_([O(o).m("upload-success"),O(o).m("check")])},{default:T(()=>[B(O(z))]),_:1},8,["class"])):U("v-if",!0)],2),O(i)?U("v-if",!0):(x(),R(O(A),{key:2,class:_(O(o).m("close")),onClick:e=>c(t)},{default:T(()=>[B(O(X))]),_:2},1032,["class","onClick"])),U(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),U(" This is a bug which needs to be fixed "),U(" TODO: Fix the incorrect navigation interaction "),O(i)?U("v-if",!0):(x(),S("i",{key:3,class:_(O(o).m("close-tip"))},H(O(s)("el.upload.deleteTip")),3)),"picture-card"===e.listType?(x(),S("span",{key:4,class:_(O(l).be("list","item-actions"))},[j("span",{class:_(O(l).be("list","item-preview")),onClick:a=>e.handlePreview(t)},[B(O(A),{class:_(O(o).m("zoom-in"))},{default:T(()=>[B(O(N))]),_:1},8,["class"])],10,["onClick"]),O(i)?U("v-if",!0):(x(),S("span",{key:0,class:_(O(l).be("list","item-delete")),onClick:e=>c(t)},[B(O(A),{class:_(O(o).m("delete"))},{default:T(()=>[B(O(I))]),_:1},8,["class"])],10,["onClick"]))],2)):U("v-if",!0)])],42,["onKeydown","onFocus","onBlur","onClick"]))),128)),$(e.$slots,"append")]),_:3},8,["class","name"]))}})),[["__file","upload-list.vue"]]);const Fe=f({disabled:Boolean}),Ee={file:e=>d(e)},Re="ElUploadDrag",xe=b({name:Re});var Te=g(b(r(i({},xe),{props:Fe,emits:Ee,setup(e,{emit:t}){G(de)||c(Re,"usage: ");const a=k("upload"),s=F(!1),l=w(),o=e=>{if(l.value)return;s.value=!1,e.stopPropagation();const a=Array.from(e.dataTransfer.files),o=e.dataTransfer.items||[];a.forEach((e,t)=>{var a;const s=o[t],l=null==(a=null==s?void 0:s.webkitGetAsEntry)?void 0:a.call(s);l&&(e.isDirectory=l.isDirectory)}),t("file",a)},n=()=>{l.value||(s.value=!0)},i=e=>{e.currentTarget.contains(e.relatedTarget)||(s.value=!1)};return(e,t)=>(x(),S("div",{class:_([O(a).b("dragger"),O(a).is("dragover",s.value)]),onDrop:D(o,["prevent"]),onDragover:D(n,["prevent"]),onDragleave:D(i,["prevent"])},[$(e.$slots,"default")],42,["onDrop","onDragover","onDragleave"]))}})),[["__file","upload-dragger.vue"]]);const Se=f(r(i({},ge),{beforeUpload:{type:v(Function),default:y},onRemove:{type:v(Function),default:y},onStart:{type:v(Function),default:y},onSuccess:{type:v(Function),default:y},onProgress:{type:v(Function),default:y},onError:{type:v(Function),default:y},onExceed:{type:v(Function),default:y}})),$e=b({name:"ElUploadContent",inheritAttrs:!1});var Ce=g(b(r(i({},$e),{props:Se,setup(e,{expose:t}){const a=e,s=k("upload"),l=w(),o=W({}),n=W(),i=e=>{if(0===e.length)return;const{autoUpload:t,limit:s,fileList:l,multiple:o,onStart:n,onExceed:i}=a;if(s&&l.length+e.length>s)i(e,l);else{o||(e=e.slice(0,1));for(const a of e){const e=a;e.uid=me(),n(e),t&&r(e)}}},r=e=>u(this,null,function*(){if(n.value.value="",!a.beforeUpload)return d(e);let t,s={};try{const l=a.data,o=a.beforeUpload(e);s=Z(a.data)?ce(a.data):a.data,t=yield o,Z(a.data)&&Q(l,s)&&(s=ce(a.data))}catch(o){t=!1}if(!1===t)return void a.onRemove(e);let l=e;t instanceof Blob&&(l=t instanceof File?t:new File([t],e.name,{type:e.type})),d(Object.assign(l,{uid:e.uid}),s)}),c=(e,t)=>u(this,null,function*(){return Y(e)?e(t):e}),d=(e,t)=>u(this,null,function*(){const{headers:s,data:l,method:n,withCredentials:i,name:r,action:u,onProgress:d,onSuccess:p,onError:f,httpRequest:v}=a;try{t=yield c(null!=t?t:l,e)}catch(b){return void a.onRemove(e)}const{uid:y}=e,m={headers:s||{},withCredentials:i,file:e,data:t,method:n,filename:r,action:u,onProgress:t=>{d(t,e)},onSuccess:t=>{p(t,e),delete o.value[y]},onError:t=>{f(t,e),delete o.value[y]}},g=v(m);o.value[y]=g,g instanceof Promise&&g.then(m.onSuccess,m.onError)}),p=e=>{const t=e.target.files;t&&i(Array.from(t))},f=()=>{l.value||(n.value.value="",n.value.click())},v=()=>{f()};return t({abort:e=>{V(o.value).filter(e?([t])=>String(e.uid)===t:()=>!0).forEach(([e,t])=>{t instanceof XMLHttpRequest&&t.abort(),delete o.value[e]})},upload:r}),(e,t)=>(x(),S("div",{class:_([O(s).b(),O(s).m(e.listType),O(s).is("drag",e.drag),O(s).is("disabled",O(l))]),tabindex:O(l)?"-1":"0",onClick:f,onKeydown:L(D(v,["self"]),["enter","space"])},[e.drag?(x(),R(Te,{key:0,disabled:O(l),onFile:i},{default:T(()=>[$(e.$slots,"default")]),_:3},8,["disabled"])):$(e.$slots,"default",{key:1}),j("input",{ref_key:"inputRef",ref:n,class:_(O(s).e("input")),name:e.name,disabled:O(l),multiple:e.multiple,accept:e.accept,type:"file",onChange:p,onClick:D(()=>{},["stop"])},null,42,["name","disabled","multiple","accept","onClick"])],42,["tabindex","onKeydown"]))}})),[["__file","upload-content.vue"]]);const Pe="ElUpload",Le=e=>{var t;(null==(t=e.url)?void 0:t.startsWith("blob:"))&&URL.revokeObjectURL(e.url)},Oe=b({name:"ElUpload"});const _e=re(g(b(r(i({},Oe),{props:be,setup(e,{expose:t}){const a=e,s=w(),l=W(),{abort:o,submit:n,clearFiles:d,uploadFiles:f,handleStart:v,handleError:y,handleRemove:m,handleSuccess:g,handleProgress:b,revokeFileObjectURL:h}=((e,t)=>{const a=ee(e,"fileList",void 0,{passive:!0}),s=e=>a.value.find(t=>t.uid===e.uid);function l(e){var a;null==(a=t.value)||a.abort(e)}function o(e){a.value=a.value.filter(t=>t.uid!==e.uid)}return te(()=>e.listType,t=>{"picture-card"!==t&&"picture"!==t||(a.value=a.value.map(t=>{const{raw:s,url:l}=t;if(!l&&s)try{t.url=URL.createObjectURL(s)}catch(o){e.onError(o,t,a.value)}return t}))}),te(a,e=>{for(const t of e)t.uid||(t.uid=me()),t.status||(t.status="success")},{immediate:!0,deep:!0}),{uploadFiles:a,abort:l,clearFiles:function(e=["ready","uploading","success","fail"]){a.value=a.value.filter(t=>!e.includes(t.status))},handleError:(t,l)=>{const n=s(l);n&&(n.status="fail",o(n),e.onError(t,n,a.value),e.onChange(n,a.value))},handleProgress:(t,l)=>{const o=s(l);o&&(e.onProgress(t,o,a.value),o.status="uploading",o.percentage=Math.round(t.percent))},handleStart:t=>{p(t.uid)&&(t.uid=me());const s={name:t.name,percentage:0,status:"ready",size:t.size,raw:t,uid:t.uid};if("picture-card"===e.listType||"picture"===e.listType)try{s.url=URL.createObjectURL(t)}catch(l){ae(Pe,l.message),e.onError(l,s,a.value)}a.value=[...a.value,s],e.onChange(s,a.value)},handleSuccess:(t,l)=>{const o=s(l);o&&(o.status="success",o.response=t,e.onSuccess(t,o,a.value),e.onChange(o,a.value))},handleRemove:t=>u(void 0,null,function*(){const n=t instanceof File?s(t):t;n||c(Pe,"file to be removed not found");const i=t=>{l(t),o(t),e.onRemove(t,a.value),Le(t)};e.beforeRemove?!1!==(yield e.beforeRemove(n,a.value))&&i(n):i(n)}),submit:function(){a.value.filter(({status:e})=>"ready"===e).forEach(({raw:e})=>{var a;return e&&(null==(a=t.value)?void 0:a.upload(e))})},revokeFileObjectURL:Le}})(a,l),k=E(()=>"picture-card"===a.listType),F=E(()=>r(i({},a),{fileList:f.value,onStart:v,onProgress:b,onSuccess:g,onError:y,onRemove:m}));return se(()=>{f.value.forEach(h)}),le(de,{accept:oe(a,"accept")}),t({abort:o,submit:n,clearFiles:d,handleStart:v,handleRemove:m}),(e,t)=>(x(),S("div",null,[O(k)&&e.showFileList?(x(),R(we,{key:0,disabled:O(s),"list-type":e.listType,files:O(f),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:O(m)},ne({append:T(()=>[B(Ce,ie({ref_key:"uploadRef",ref:l},O(F)),{default:T(()=>[e.$slots.trigger?$(e.$slots,"trigger",{key:0}):U("v-if",!0),!e.$slots.trigger&&e.$slots.default?$(e.$slots,"default",{key:1}):U("v-if",!0)]),_:3},16)]),_:2},[e.$slots.file?{name:"default",fn:T(({file:t,index:a})=>[$(e.$slots,"file",{file:t,index:a})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):U("v-if",!0),!O(k)||O(k)&&!e.showFileList?(x(),R(Ce,ie({key:1,ref_key:"uploadRef",ref:l},O(F)),{default:T(()=>[e.$slots.trigger?$(e.$slots,"trigger",{key:0}):U("v-if",!0),!e.$slots.trigger&&e.$slots.default?$(e.$slots,"default",{key:1}):U("v-if",!0)]),_:3},16)):U("v-if",!0),e.$slots.trigger?$(e.$slots,"default",{key:2}):U("v-if",!0),$(e.$slots,"tip"),!O(k)&&e.showFileList?(x(),R(we,{key:3,disabled:O(s),"list-type":e.listType,files:O(f),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:O(m)},ne({_:2},[e.$slots.file?{name:"default",fn:T(({file:t,index:a})=>[$(e.$slots,"file",{file:t,index:a})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):U("v-if",!0)]))}})),[["__file","upload.vue"]]));export{_e as E}; diff --git a/nginx/admin/assets/index-CSr24crn.js.gz b/nginx/admin/assets/index-CSr24crn.js.gz new file mode 100644 index 0000000..005ce0e Binary files /dev/null and b/nginx/admin/assets/index-CSr24crn.js.gz differ diff --git a/nginx/admin/assets/index-CUdgQS4Q.js b/nginx/admin/assets/index-CUdgQS4Q.js new file mode 100644 index 0000000..1169ce3 --- /dev/null +++ b/nginx/admin/assets/index-CUdgQS4Q.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,s=(a,t,r)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,m=(e,a)=>{for(var t in a||(a={}))i.call(a,t)&&s(e,t,a[t]);if(r)for(var t of r(a))o.call(a,t)&&s(e,t,a[t]);return e},n=(e,r)=>a(e,t(r));import{d as l,r as p,H as d,b as u,e as c,g as j,p as b,M as g,w as v,N as f,h,E as x,j as y,n as A,ag as P,eF as X,aV as k,T as z}from"./index-BoIUJTA2.js";/* empty css */import{_ as w}from"./index-Bwtbh5WQ.js";import{A as B}from"./index-BaXJ8CyS.js";/* empty css */import{_ as J}from"./index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js";import{a as C,b as U,c as S,d as G,m as Q,e as F}from"./avatar6-6Evj8BB9.js";import{a as M}from"./avatar10-Dom60BwY.js";import{u as W}from"./useTable-DzUOUR11.js";import{_ as T}from"./user-search.vue_vue_type_script_setup_true_lang-BJMmAzdn.js";import{_ as H}from"./user-dialog.vue_vue_type_script_setup_true_lang-8ugrUkcJ.js";import{_ as Y}from"./grant-pass-dialog.vue_vue_type_script_setup_true_lang-BRWnqJeo.js";/* empty css *//* empty css */import{E}from"./index-js0HKKV6.js";import{E as K}from"./index-BaD29Izp.js";import{E as N}from"./index-BjQJlHTd.js";import{E as R}from"./index-ZsMdSUVI.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./index-D2gD5Tn5.js";import"./token-DWNpOE8r.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css *//* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./refs-Cw5r5QN8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";/* empty css */import"./index-CZJaGuxf.js";/* empty css *//* empty css */import"./useTableColumns-FR69a2pD.js";import"./index-oPcNh_Ue.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./tree-select-DdXiCp9j.js";import"./index-BneqRonp.js";import"./index-BnK4BbY2.js";import"./clamp-BXzPLned.js";import"./index-sK8AD9wr.js";import"./index-BObA9rVr.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./slider-DTwTybBj.js";import"./index-C_S0YbqD.js";/* empty css */import"./index-C_sVHlWz.js";import"./index-CXD7B41Z.js";import"./index-BcfO0-fK.js";import"./_baseClone-Ct7RL6h5.js";import"./index-DqTthkO7.js";import"./index-DGLhvuMQ.js";import"./cloneDeep-B1gZFPYK.js";import"./index-rgHg98E6.js";/* empty css *//* empty css */import"./md5-NkLrx3AN.js";import"./index-CjpBlozU.js";import"./use-dialog-FwJ-QdmW.js";/* empty css */import"./gamePasses-BXLFUsdE.js";import"./activity-CMsiETfu.js";import"./player-manage-ReHd8eMR.js";import"./index-1OHUSGeP.js";const I="data:image/webp;base64,UklGRpAKAABXRUJQVlA4IIQKAABwNACdASqgAKAAPrVUoUunJSMiqVhLeOAWiUAY7JxpeB4PUDuEOdo9Kv+uvpafstwfDbUyt4dr/AIe5l66f6eL7/kSVoqMdRZ7jPoYNJBQj6/CaATFsCbXT88DcHsBXNjaexWhgkZ56mCGhfHBHhjPiW9xuRD0norNnppQBPE7mu/sCF83mVe4NvTLbH2ZCxPx05PEZUXwhGDBay6aA5slMUcYzeQjLhBSANhjjN2w6OGAbOwxd2KSfZUSmKly3jxona63SugZbi5VIrOWWPs+G+/dCmy5H0JzlH/ZMdarL+zmHHGgrL+XDgKRhf9cZO1Thj8annjVPH2RmRZBp2xfkmeJXyPO86qxRFW4gtlaEnL9TEYI83q5XTXuja6reHm0ctgMo78uMFFPShprGuPWUHoVaVqSj1L2foXX/w8kjiLk93WE0ygM6SPG1Qys9a5rHA++oHOZhnPzj5t9D7+ooQDZdBe3PxxCWyclMdbLYe6noZRsUJ0gtNol7UhSYtVztZuLKTvzydevpyqlz0gvCpwAMDAIPS9yZ3LZ4PEupyrqzRMGBD5NwAbLAAD+9XtT22UJJnsWof9vglMaOIQx7pFfgVaWYbQMGnDbd0ZDNAf5IUbVRHdNIwHPaarnwM1FLQIxMiChRQ/OjWQjEu8A1g0y1fWFKNzhjbtybt919T+Y6V5cP79f03ROrM5T6uiyKa+5LqbXQ9Y9oNPCpexg8FSr6Z2xwX3sh9aTX+7HqN4P252aome6P/rvz9UYfsymiNpMSm3pJKmDoa0uxTi6PpryOpqXtHOt0RQueHkX15ew9aAywTUzbqle8c6qGxbe1SVAomkjqUeoadVn+hH8t20iuCIMgFba7wB/P3Xthc50Yl+0/nr+IP2+6uuSPUF8aH3E4sfwb5hproOxCTrXzuvg627S0721L3uPd/YOW2BMhWe9jtrLmtfBfPqcDz3QibHupEKV0Bhqo1fICmpqxwq/oU23YaYyNw+kXXGsEkjx54e/oEGRittrRdbDgi6Tgf57+YMLkyjl+1EDPzb1+88G+CwWmESQQzmmekn4+9q9QOzxAAASo8LHg3MnOpkhUd3+88ZXSMJ9bjihzs6Z5RsSvRe90Fn5ciX1lBISogqN/YwewXGebpibMD2ycqRo0lHmgnrAtogcFWzKlla73Stp/DLENMPJI31d0sKVuO2zc95/aTwjH7XuWPsc4B/gbLbWwtT1qR1Jk8UkIwpol+KT1R9FaIooH29DU2NbVkIcAaYG0Cyvd5s/F+LbVK9WOVaU5HUmqUTe8vSfSn5ut8nP4lgzJ0M3nSOkswckeLeHHuGwwyP0LlRZA6AgyWzElvQI3S3QzzeIhlTACHRrWQZXkqHw0CBFZsDI5BEbz8sVgSrE+kW/bhBhD4HaN+cEtiWalNnxq2Y7O71V2eiFKtOF4LATfe3Gfh2uJc68UBiNnW27ZjvEZKi+1R8G22S2Wu0lltdGaxAdOwl5BjWvok+cTLi/SKvzIYMwrn3Sr2yZRSarElT7+8GRJg0Z6BjE/xPRkyOBZe7e/be1dJGgxKirPaBsfFMafep66KfFnFmeRwxhKYBOzwOM/siJHdZhKIDAbQbzuT+xAuBD8de3IogHmctrCHwmpZFGV/l/m5lMZ0YichFNFvlQJM7EUBoKDJs+NQKb/FedU1DojwnfHZkzKaZN4BKr3dyAVxNB2fA6kXelH0pZtZ7f7mVuJ9xJW5SjBiDJO1zs/wJQtKX1GX2KeMzRJ11CZDoKx1vzX7y1k+SK8bO/TytVrUscKGuSZGLBImWychg3027+snK/nXX1pwHOCkpEumeVJhdbySqdl6l3fHUgVhM3LMqMY+oR9R1BGpE7cEJC+DT53aJY+YxeEwXO6y3qjT3xnygu3aN+uRX5z2ERb4cHRLQgr+sELPeG7F3z6NtGL2awS3t0b0LQjYI4/3kUlqYpzwYOrVvwnWbZ6Meb1YbEuvcmr20MsxoX16cvJ4XezMXJhGaB9WMo9z7wc8tVUWUOj7TrtrngpROWAUdAUvzLTEqsWCKXa4rcaQf2foWQ0c+E52F6PP6Xmi1VoAPOl91MgMKuiMnenlXLuwVRgsam4cXjCMGeg7UrnkHUGnT8eGmOr909gc5iIxVOFcH8EBtOSv+Ib7kejObJnK/ogrtK/VlzKfuDmSsxKZzB5hmofAy1SG5Nwdl3cPSXHa0zNPaB4N0oGecW4ejmsfOKXsICU2GYfk4WiO8uwS78O2KbFu61lbb6Aa63xXPTVrL+vfTX2En6WmzN3x0G4WzqaNQ+bMnEuLKdO9qmmjcu0F7aW5sAiM3xp497sJ66fwA5DGLuV0Z2lJApF4K72aJshTpEQwTY1P4kYdTOspYDvRcH+vrdVdashLJD3nxUGYyMkHsxhFFzTzFBD+U69pz9CQquvFEU1xKMh7pFvo5WcLgJ8HEEjYSqhe3LuOLFd/LSjfIELYmYYBNOHhV7CSuSaEOSzn37YYTY0vEOrp0Zv+4VCfJ5ZkZvtN1ftUS/n31X0EXUIy5N2fPevQ9z0qWRe8CCmyQ4yxA0jXgl/NkBUa4l0e+r37kQ/UpBMCZ+zcevgzELiQ6kl93/U5Ugm99lc2hZ2Wjm+kMGPcTCtz81KMmdLUwjGTIBlKI8bBnsyZcn6uruXd68iXBpashM0CYNnH1iipivJFiMj5wOQ9jv0W8NYha54fPYpYCXuhHoubXlpdzNfMzgLF74YvdoY+u01i13yfHoEkAVhtGO1anmgg4qJgqkIQpB28VXrqB79q4kxpFxrOlt6lN5kA9+E0S9co7LdH01GWsACt3mydXGawcgBfEWWnSGPMZ7i3wrtxhUiLbbvRYeaFPivbGdFKfDc1qzjGUK3MdOsRN+XMRAx5O8zGghIZD7lrPgghqEjcrXddTaZ5cRvpCERldUeNFQoImbgCmuHxV6tZ4pNSxHRjXkP3DHV2aHVUlBnQ0i1HvoAdbbYeP6BtmjdS5CLNeyna3YVAG8lnSTATB92mId/bCtwx0OzGuclUbE/NleIYmtK6pCFcYwv/hTLyXXmh5GgPk0ZdkzebabcUafgrYB+W1pyXYCZBkQyh3KGAAYJDuf8qQrp5ipcN22v8CXQCHi8HyesEFEyyNrOE/rZ4kuGHyVeTgjqwAz3Iu3gwU4nljTcY2T7B8lNy6FEoG7DWfnf+1lKxTM4wq8OkX7XKMfUqFVXRTybPGWjj7xkENzQmNA7Qv1cjohFn3UkI1d8U1sv+b4yeF9gJdSyz/LyB5QAkLfr2BBxLIHnBNsYeHIjdsffN+u3mzJaVmxd6C5ehnAgJ9CZ53TA0DNlw4Sh1G5lxAlclpApemv/48SF2tlooXVIgceEwY3txcB06DEQ40IVxyScaISbszooypGy4vH7sRFmB5SgKXMz6mYyjNPo8AzfuFwl3O1antkpSzYCPUxzdM6CNfjbNuwEWmMH/WY8byxwplCMXusQSQk5/bsaHcQ953tFfrMiXjYAEhoQie0imdkJbGsVebkvjfoSxJ7aAMDdwtLhzYAJbeA96VnZzv0ICtubNM6ML2N5H6MlAtoIjcUZN1f6M2yAAAA",O="data:image/webp;base64,UklGRmIPAABXRUJQVlA4IFYPAACQQgCdASqgAKAAPrVKnUonJCMiLngsEOAWiUZu64+jWidjFv8x+RXthYB+2/hDonTzWzvQx+bv+B6O3Ui8wH7D/tz7y3ov/zu+a+gB0sFp3NgdiNT/a36s8z/t/nQ7J/mDqFvR3SSbR9UsXtADxltHuot0q2nw2vzR5H46esh62BYrafOrvhSA7nzYmXEUzpgIQuP0WkwH/e+T2zBQ1sBq0PcQhwuimPX+CNqRe9FQug9VxvjPnXP8tbDW3TZmuQKlbQDQVCh7jeyByxi5PIhy1/ug02gG+pSurfurxkbBg8tIP71eozNcff6vE2I//6ppvQ1jNlvbJQMF6Cxh6pJ+YJsuRZT7/Sir9IGlpsGvUhVTJjLAXe23fVhKSKGROJrUFkAug8NP+ZOAzyZLXUut+Sfeb4G9pas/fYaTSs+CCd1xGQX+6gntlBMNndFRzs/jaJy2oBP7f24vowbLHzGswpPzNU5fZtxVJbjoNJxi3Feu9jSy1B75AbdTv4tLhzGJk/uWUqcGWCUbZjJC6mWr7ksnT7sNuIWSiWSAanI4uliCQKk3FYfm0cwT1hm2NjFAkKg13cb6ZXV00u18Cj9StHiaehjeTPOXOx/drwTRYT8aD0Ab9mKEcYBqdbWT/CGG54P/QTodecAOh+vEJjDaa2ekdNRTkAW4zKXxEH0xzdeZiDTuILC0buI1Xfm4OJWrcyGI7oqlsXXMgmOQAP78qANfzBiBZCQ1FrK/ToezCeZPCN7XkAnK1yAAGCQ43S07QUXwL79TfwVoHsSfiWKK6KRAe3znnpe2mQ769dCnJEvmZEXVPuGFEIfteqXFhb/+R2dU0le/0UlbybmbJJmSFNgkplwAQ55UEu2So5yRx3wYE+S1wCP2I+t7gJTlnSdyDtnjGsKt0CiC2pyeFB16P4UCYmy/L0gj5ujd/fnyFIRAcLycpA9MzjOTGRDG9RJe3otdhj4IPjoFlWapH6hizbObCEBaUQnC3htLyvkMmZ0kqQOrIxmwMgLtfxAF7v+2Kf55XsbF54XB3pLQiWMkOQlttaTegVr37ascuPd17amRVURq2bT7IfZrGpPiTQLEKgHJTob9wxuKUz5Xgn1MIiJ2xEJ1y7prxl9oJBNNfbxOVz08Peft+vTZVgUw1caS059XCwOrqB1biDh7j9SvsDbSpOSinEXomTeqphWOZ3pYqPkhuLRFRqmBstO54odj3e3yuIKZBk0UdQUA9/+kCYocOEJEQlEMrNcE9ykp3K6ZHSsWczEhadKA+FlZJRX8Vz4k5mJtwP2wENKbiKnXdffnrp1qik12F3lEP9qnDPXH5mkBivu45ed6M8qQpkui3ME8VGVnwAtlTF8YDMudSuge7nJrQoZMrdR7M+Da0fdg1S8FBsnWViP/GLaeeCDaioSboppXZ3qd8rg2vHLzBIzyM/WJK8cX4ByUiCLwPvG3RuCuMsJ/FKi++kbvwXo++Yzu86cQnrpqbPeVaAuDTpXQaxXi98lgzbUg1pNYlkX24Lydea7Tb3ErxJz6+JJ5nfvCjZAay8CSzbPDRIPX0QS5Sao4ob2n+/SU4vKk3D0keYgBR/3aTiJ2PMJcQrov86efmCwbg+299BrwOQbLTIwufWJ4PGcdppezNUvk1QccB2af25namSn+00EKve5hLFW68lua8GfNlrjDZGwyd+0AotyFqjAQsC7ayXltShDtxIjzKFIGAx5zXF5iXylzQ84CJVWKDGHR2gFYBXf16dzh4UaXiUM/+tLR83B93d4aCxbZAKnsYj8B2IoViTbp19Kezi5xIUVBq0LB2xLOh+3jEdxrNPHV9calhruymn/ugzh6pd+QqVOZ5/htC8iw+XzFFhiX6l6eFHZiIsCv8lj31lghuUUHUb67t7qhG0xuMrWbv0xHfAmFFlXcVgGJAVZP0jYV4zEuvwuVjDO7Pjk+g8cui7XD+n7IDgeDKJmpFoIP3a9YG9T3busdoPrH0DzabsP9tuA8ZIt0BdaWIH9VROtLQpB4ChEdzCGcn0+Q9OUzpL6/PypgAS2PE7aAjP1tF70haATJqNiqfFBEWJExQblipKYUA++4iNAXIs9V5zG7q4dNmfiMmyXlrgmoIgHnsjBf8NwnxTDBAyooA8YFyZT8UPuOoVe3pHJL+25HfwJt6/RtmeX65k+HxqKNB3gCfRl/aMYRRmiCZ98OoYG1M8MxAwxAmDV7ebKNPnBq6jczpNuxjzW5+kCWVwQ+KF1gZO9W83BSLmS3owUOaFtuXZot/2k0llYJdQCX8DUAX8yYAB89DmB7efE+qdMs4Sxf/JNP4zUPLMSE+H1V16CzvsOTyUdnXPHbP2ewBVKfH22Nt9mwxOJKej2FzOsaSc0dH67eGFJDl3R8FnOg5f18CM53ZGRtzlGkVpgWx+poXRF+bwGtHQ8M/L4cXT8T+UScylfF/UHskK+DXAvyUsvU0X5+meetyTu9f3wn1CgbCUPbyL26ybxoTWMHF2g92NeJ2/NaN0QDBEyhu95R67ffHkGlpgFIBKLfUveirVLWb3Q1P+/g4W4/jSVYCZZD/PK2mfVH2CDPvxhcgA2HZgbvikhxYEB4293ipujTtpA1j99BFe40/Gqk3urjYSHL6d4k1NljSeb1IbFcXk8567f/G5dWEQcDxN7MJ4m7aYjRXG5BqW3u6tBjkgNj29cAcf9U19a8/NHhJPqhWJipr4iRhnuw5/lAVA/H2XnfkzsX3PGCO6yCNNhVY1VOjjaKfVcW9fYy4JUDzv/sphJb0EIhRR/7H7GnV+nXSa226WWU5TdKFSBDsoL9PDWfj34XkeDt/EVC8wE3sQKhvBd1zkliU9XWjv5Pr/ffitlHe9yHO5xzoc+xw4fEA7hicqCGsstAjhP9pJb7OFal/IPUsKsyPM/4PtCSdDWNQJmUTaazAiDNeWm1/VFXi2oC9GnxCBAZbLur70KhTqQwZNLb4TtAlYjsqpHIbJkNJbNsQm558MrgOwhaYDJy8lYORdpJ+OTLGBgbW4N6Q6u8gvGDggQpYvwFWb7MXERlNLK+XwJRkdgJkqZFcXUQF+1al91/gSJWSY0Gq34QxfwWxFAkmHo81ILe4tvLb97dHspXtJ1bFORWSKqfukaD/iN/oG8OLoBMBPI6y3XQiBHH7B8+8udSQ4xR/t7RNAjHD/rPm2gIdLkLIHsECas2aaJN3JYq99PZQpyLsofD8WppSitYrMYVzUhMYJHo0Fv9GEZPlpMlJ4rXYxzz2J79Y/GXSAYz7Qfoo5tyxBdh716XBPjVMYE26krYDQRLNGfSErCS3kRq+biicPceUiO3xLKDNbe6vuHliqAA3KEG0/2tImBNcXW+NlhIdZiGiZsIYSgCkRFto8PVRkVt2sTdb7Q4rLcmBk/CJV64W9rx7LaJIMPBFT7mamnZfPQbB2OYhfLtpq2+i5fNN6BUkYq0UhYFwdlp2SQ0I3Hoc/GX7Pw552QPyt0o0c13Ds9iGTuZV48Zvm6XQwFrQ8MhKMWCE0rXWmG825OTtTQlak5hPGo80NLvjns3n4Z9YEJe0pK3qt8vNfI/nRA446Pv9p10bl97XUfhon/z94rgHhjskdshdEN3rWJIfIBlGqE4gOOjuv2cGIuXRN7hsi+7X2gjrp0cVKg3lkStshfUEDtLlp0p2/dGoreyIgQZwGioM9lz7qe5RVgoj/ojRtRsLvb+HQoHFJOcxb/TlMcTbip3gOWoEHUQOSthZOTh09M6cYK7neAJvaFxFwjq3GInxuzYo/Xb8Y36xjp/Mv+KtgJ5hYRFxpZpWBdCVxY1+VbvQhT/9OsDJ9zCPquYdLbDH1nd7yYIAuQ4RheaiH4nDJzwHck0Y4K+ba7IXhWmpLyjeeaS3iE19i+90MBzyb/3siG1eMWMxvSSh9aEzILgecXz9FWO8OLU1oBjtev6cC8DtrUQdGi8v/QDcEJmPqwkKMuuTkru3HMXeOzSzBxt52H6wMTs7s8wX9XSRnHJ7WPFffAduIkh5FUYAA4sEeGxJ4qEE50+hKuoBRFpLXFi/fJF/z3Qf8ErJQZAn/90l4Uc6Z6QYABo8wavtfmii6FEpGhenGp86tv4d7I7TqfNYwBUqhd4ZPvYhzF2l2yw3TQwL2aR13GczX9YZ0hszHTy50muJvOBzd2LBFLWabRpGmWiA2I9IR5VE+Xzh2irt+IxGRW8kJCQA2+sbltgKTLGTKCcOa6e2aUS6/wUdicnU0r8ZdYP/VNBgHCmn6a26pebWi7Ep4rS4xGIonsotDjxlopjfclRVSdIiTP2QM/u6pRlCjnq7C+pFfTbbHo0PIWD1aZkjWVuNNwRVbkqybGAhl9kneGodFTjiq0F8JmF1pAoSRMHjcYfAuq9ir+dCcrPiko8ZtX62OrVCzxgpM0/vOGBuBtYe1dW/vclujDX5h/EDe5284ybndYBQPdLjjbuCw0Dxxj5NXvXjcMSH5dJmTOlNOxcmW+QZ9XWXcgFP2mGSD8XwGjhJv7O7fSK4AW45+JJjxXtkBVZCGeuDbOlkH2a/WgsQ9W/aHj32ptLU//VfF3cOfDjCbXeXqMJJPKiRZwjruvm/UuSqpYo/SMvFaJprBq2Eo6nFRt0CPkUxfUKiM6I0gcPFAC5wHm0sT5HKeU11fCNXB4QJd0+VH55Npqq9yddlWTqjIaotvkdgp46QCM5LNbSWeXEaTtjtZ7TqQMwVW9plz5zJt0QOWIBrKkP2ubiMM1NPXehqW8NKFNFYoqk6ayKJB2OANPchLjLuZN4RujcUr5aHL9LMMCm0D+lodR/Rg6QIg0vU0P2WkYP6zP2PY9dKkbJJpJ8MSpXo/VqrfIiw/d23O+hKEfK2IQ55aXv7H3MOM2Jr10BnalugLjR7BP3Ou3urqWWo6IL8mGEHwi5AOn3SoA416/qGGRcJq5a1sW6BTBRqNhmGtxewZk/sDKPuIxKpt93W9Eno2+5Su7yUk9GKuA9Hoddv+WIM1yriBkyVhv1NAfM0yrAo7mh97MuRpBuQDDd3KmXv8zF30mMIJKiLLwUDbDjIakQyAya/4kZwagyzebqsbZjc9edg27CBiUMwGMvxBucCU0n9gU3L81ykHwtr83HKNS2lYMHhSzkjf6SRlN33aJxVTPt20eMQm+5TBLo5pe1mzJK4sBwY/hD/RpuPcRsglFRFJRF34fJFJFnwn9Krg+VHbd+//AY5+e+ClEW0zlQxWcVxWkAZdjhrAAAAA==",V="data:image/webp;base64,UklGRogGAABXRUJQVlA4IHwGAABwKgCdASqgAKAAPrVUo0wnJKMiKBH78OAWiWMAz5jbGUj1QHGRhYciWgMPbSLCtwLbjbwP/15GNwda9k4TqJsj3XXU+IssLC03E+yla5OgdS/RYhm540LAn/PFbYy93quODQ5pNKz4nP2N4nVLJYw/QnTYXWGkvqa7tLQ4lDu0Ck24u2U0t/PQrIyzPRvIi7dxDg012hm68bqXuIwIzlaLqbSPgaNKEqkrzXuAGJNFdbjWzBG1bls5UI+J9PYg+k7bgZfegj1iiqoyByf11dnnbZ07u80Qlv9Q7qDsixJTtJPSFubUqw782zvI1n2IXfivvfwBIHfMjI84RXUOeeY0YXx217aVjYnThH1VK4N980Q5/XvL+13igqDCfune2tjFWjNFqsc9gd8aJa1ZDk7cYnLgAVYS28ZbXcmRnMvWVk3XqgIRmBFe9YSyayzmgMjw0Z0EzldFJOhBswAA/vY/2oO6vBRua51Mi8gG5D8TWwN6jl45sDemdq3D5P6eAubt8VzvyylIef2twLsBhmSDN36Ibluu9cTRy73vQxHaPk/oRih0sA2pbqU27CqvDRUEeCxf5mjlHJ6vctLJ/UPf8SuVfWxLG0EjUGZ7/qrrSeJKndl/Ug0Jscjq/fVkGaayOUr7Pf27VsolWFTiE7rMxsasB6LC3Eb7MAJYdrEAxYgi0A17khSs+49pjh5UkElG5tCgUeHKxAEKWtQtDBO3PHBXx4w1GMf2FRSiWCWU4SjMGHClqGY4bW6fubj9DcABhPWYO27ohX/3fH8hdKSTyDFMQShrBQ2y7yipzaUDDy4DIOQdLQil+iJzJI1kW+uYl6w8x24h6/IdkCIs1wZ4ZRHFaKbQtiFCx4tFS1d07dlKUYxbtz08Atjv5ohzVkCFF7W8DYsCkyB/jXtfrx89Yy4W1Tx10iEsMTNkux+4yt9uxRPM9G2qTh8IdigeWReJifYlfdsTAjyCTaTCkDy8PCZKHrTcUQxZqm+9xdK/7S8r36QfI1EaEGe5eJvssKOaJnQ2qIN/YrJ1cEbXyZxorNRhGn+yfCR+L1ZfAXqKZxBP59RsdjOor1IoJtgVUow5btSURdcL7UcT3sIJkzex80XwRLXV0LhVilgWQ/fz2MJC5r0VFKza1b7MXN0eTMbI6K3o5sArYfQmaW0lhiH8c+AjKKREo3Johk3P3z9SxOa5h2OZSgTdEsddhOdq1Zg6VDHo4GxBkWzfSv6k74Aw6WTkcjhnQIST+HW47PnE89IgEX+o8Kwsz9sEwk+eK0BUE6mP50xmPmnWzxagqJKh/zIz4Xr7t6Qj/3JtfkaFXFu6klZEv0PfOIkPuMuE1plmAza8FzSTb8P52B1CYzvq4eiZz0uC1en/5hhHKdH4FTHC0PleKVq0KEJuQoWh0Iw1Nktih7vtsUzfpgVjs79kebawoq37QQE75wtR6P2yizDXy03jlfKRzEh5kRZ8fgjnPwnkea6c1bd/KixGxnunyBzo45nlcEuvagfhpXeiHeb9plGOAGLtPHC/NfTzVxgJxVvr5h4mZMCpCZdjxHB6fTfD81Pd3/s2zeKtJP9bCzegylru31VaEMgrTtY3C4JM/TIXw0U85ZdhvsDucXAuCiI+6FjNuCto93448QZIz1bF4GoGr8k3dXPRF0VGRINP/CXfY7RcD2TrZEuTYpKySsGGWjvTQU8u9fSqPn2EthF3WOA/16kmgp9rP6astw8v0KdIMlgQrWGtyLCaGnvMrXdUyfIB1WM7vRdM/nDtOol8KDCcwHzMSS/qiDBuSOKclLS6fLhFVz/8QyEX9009QL2VkYrCXGuGBLl1bBJyfi/l94et9Vy0/tT57PV9yk5Ye0DUyG/0lIUW1XPsdbMWwk85hIutOO4+vu1Tut+Vs+kub/dnJSrBOt6B3mZC+LaKU3d3u50pjEsoGvvKp4pK2cLtoCU6Shvwk+k6MOkNM719Czz+mifB6Vn+Tr/4PbSyeP5l8qI7ZEN7pCxydZSzteUWdWseTaBpt8yg94dlG2U6rZb8U3cd+7l0ZJAk3nxfD+Tdh/B/KJiHGRR45pGnVFUhnBJvTrHL6j7997btJ4ZNT8EMH06BtrVuXj5xoqCroBR4t5M9tgdn/NDek5ecTx0XXw+rKNakbGWeVkPcxDywMHo/+LccCyMRxsafilgBdNvYyNsgQuOAmvrQcJqXEHUJTRfufNsi0EAA",L=[{id:1,username:"alexmorgan",gender:1,mobile:"18670001591",email:"alexmorgan@company.com",dep:"研发部",status:"1",create_time:"2020-09-09 10:01:10",avatar:C},{id:2,username:"sophiabaker",gender:1,mobile:"17766664444",email:"sophiabaker@company.com",dep:"电商部",status:"1",create_time:"2020-10-10 13:01:12",avatar:U},{id:3,username:"liampark",gender:1,mobile:"18670001597",email:"liampark@company.com",dep:"人事部",status:"1",create_time:"2020-11-14 12:01:45",avatar:S},{id:4,username:"oliviagrant",gender:0,mobile:"18670001596",email:"oliviagrant@company.com",dep:"产品部",status:"1",create_time:"2020-11-14 09:01:20",avatar:G},{id:5,username:"emmawilson",gender:0,mobile:"18670001595",email:"emmawilson@company.com",dep:"财务部",status:"1",create_time:"2020-11-13 11:01:05",avatar:Q},{id:6,username:"noahevan",gender:1,mobile:"18670001594",email:"noahevan@company.com",dep:"运营部",status:"1",create_time:"2020-10-11 13:10:26",avatar:F},{id:7,username:"avamartin",gender:1,mobile:"18123820191",email:"avamartin@company.com",dep:"客服部",status:"2",create_time:"2020-05-14 12:05:10",avatar:I},{id:8,username:"jacoblee",gender:1,mobile:"18670001592",email:"jacoblee@company.com",dep:"总经办",status:"3",create_time:"2020-11-12 07:22:25",avatar:O},{id:9,username:"miaclark",gender:0,mobile:"18670001581",email:"miaclark@company.com",dep:"研发部",status:"4",create_time:"2020-06-12 05:04:20",avatar:V},{id:10,username:"ethanharris",gender:1,mobile:"13755554444",email:"ethanharris@company.com",dep:"研发部",status:"1",create_time:"2020-11-12 16:01:10",avatar:M},{id:11,username:"isabellamoore",gender:1,mobile:"13766660000",email:"isabellamoore@company.com",dep:"研发部",status:"1",create_time:"2020-11-14 12:01:20",avatar:F},{id:12,username:"masonwhite",gender:1,mobile:"18670001502",email:"masonwhite@company.com",dep:"研发部",status:"1",create_time:"2020-11-14 12:01:20",avatar:I},{id:13,username:"charlottehall",gender:1,mobile:"13006644977",email:"charlottehall@company.com",dep:"研发部",status:"1",create_time:"2020-11-14 12:01:20",avatar:O},{id:14,username:"benjaminscott",gender:0,mobile:"13599998888",email:"benjaminscott@company.com",dep:"研发部",status:"1",create_time:"2020-11-14 12:01:20",avatar:V},{id:15,username:"ameliaking",gender:1,mobile:"13799998888",email:"ameliaking@company.com",dep:"研发部",status:"1",create_time:"2020-11-14 12:01:20",avatar:M}],q={class:"user-page art-full-height"},D=l(n(m({},{name:"User"}),{__name:"index",setup(e){const a=p("add"),t=p(!1),r=p({}),i=p(!1),o=p(),s=p(),l=p([]),C=p({userName:void 0,userGender:void 0,userPhone:void 0,userEmail:void 0,status:"1"}),U={1:{type:"success",text:"在线"},2:{type:"info",text:"离线"},3:{type:"warning",text:"异常"},4:{type:"danger",text:"注销"}},{columns:S,columnChecks:G,data:Q,loading:F,pagination:M,getDataDebounced:I,searchParams:O,resetSearchParams:V,handleSizeChange:D,handleCurrentChange:Z,refreshData:_}=W({core:{apiFn:X,apiParams:{current:1,size:20},columnsFactory:()=>[{type:"selection"},{type:"index",width:60,label:"序号"},{prop:"id",label:"ID",width:80},{prop:"userInfo",label:"用户名",width:250,formatter:e=>P("div",{class:"user flex-c"},[P(N,{class:"size-9.5 rounded-md",src:e.avatar,previewSrcList:[e.avatar],previewTeleported:!0}),P("div",{class:"ml-2"},[P("p",{class:"user-name"},e.userName),P("p",{class:"email"},e.userEmail)])])},{prop:"userGender",label:"性别",sortable:!0,formatter:e=>e.userGender},{prop:"userPhone",label:"手机号"},{prop:"status",label:"状态",formatter:e=>{const a=(t=e.status,U[t]||{type:"info",text:"未知"});var t;return P(R,{type:a.type},()=>a.text)}},{prop:"createTime",label:"创建日期",sortable:!0},{prop:"operation",label:"操作",width:180,fixed:"right",formatter:e=>P("div",[P(J,{type:"edit",onClick:()=>ee("edit",e)}),P(J,{type:"delete",onClick:()=>te(e)}),P(x,{link:!0,type:"primary",size:"small",onClick:()=>ae(e)},()=>"发放次数卡")])}]},transform:{dataTransformer:e=>Array.isArray(e)?e.map((e,a)=>n(m({},e),{avatar:L[a%L.length].avatar})):[]}}),$=e=>{const a=m({},O);Object.assign(a,e),I(a)},ee=(e,i)=>{a.value=e,r.value=i||{},A(()=>{t.value=!0})},ae=e=>{o.value=Number(e.id),s.value=e.userName,i.value=!0},te=e=>{k.confirm("确定要注销该用户吗?","注销用户",{confirmButtonText:"确定",cancelButtonText:"取消",type:"error"}).then(()=>{z.success("注销成功")})},re=()=>{return e=this,a=null,i=function*(){try{t.value=!1,r.value={},_()}catch(e){}},new Promise((t,r)=>{var o=e=>{try{m(i.next(e))}catch(a){r(a)}},s=e=>{try{m(i.throw(e))}catch(a){r(a)}},m=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,s);m((i=i.apply(e,a)).next())});var e,a,i},ie=e=>{l.value=e};return(e,m)=>{const n=E,l=B,p=w,A=K,P=d("ripple");return c(),u("div",q,[j(T,{modelValue:b(C),"onUpdate:modelValue":m[0]||(m[0]=e=>g(C)?C.value=e:null),onSearch:$,onReset:b(V)},null,8,["modelValue","onReset"]),j(A,{class:"art-table-card",shadow:"never"},{default:v(()=>[j(l,{columns:b(G),"onUpdate:columns":m[2]||(m[2]=e=>g(G)?G.value=e:null),loading:b(F),onRefresh:b(_)},{left:v(()=>[j(n,{wrap:""},{default:v(()=>[f((c(),h(b(x),{onClick:m[1]||(m[1]=e=>ee("add"))},{default:v(()=>[...m[5]||(m[5]=[y("新增用户",-1)])]),_:1})),[[P]])]),_:1})]),_:1},8,["columns","loading","onRefresh"]),j(p,{loading:b(F),data:b(Q),columns:b(S),pagination:b(M),onSelectionChange:ie,"onPagination:sizeChange":b(D),"onPagination:currentChange":b(Z)},null,8,["loading","data","columns","pagination","onPagination:sizeChange","onPagination:currentChange"]),j(H,{visible:b(t),"onUpdate:visible":m[3]||(m[3]=e=>g(t)?t.value=e:null),type:b(a),"user-data":b(r),onSubmit:re},null,8,["visible","type","user-data"]),j(Y,{modelValue:b(i),"onUpdate:modelValue":m[4]||(m[4]=e=>g(i)?i.value=e:null),"user-id":b(o),"user-name":b(s),onSuccess:b(_)},null,8,["modelValue","user-id","user-name","onSuccess"])]),_:1})])}}}));export{D as default}; diff --git a/nginx/admin/assets/index-CUdgQS4Q.js.gz b/nginx/admin/assets/index-CUdgQS4Q.js.gz new file mode 100644 index 0000000..cad0bf4 Binary files /dev/null and b/nginx/admin/assets/index-CUdgQS4Q.js.gz differ diff --git a/nginx/admin/assets/index-CUyQwStl.js b/nginx/admin/assets/index-CUyQwStl.js new file mode 100644 index 0000000..daf70a2 --- /dev/null +++ b/nginx/admin/assets/index-CUyQwStl.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,o=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,s=(t,o,r)=>o in t?e(t,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[o]=r,l=(e,t)=>{for(var o in t||(t={}))i.call(t,o)&&s(e,o,t[o]);if(r)for(var o of r(t))a.call(t,o)&&s(e,o,t[o]);return e},n=(e,r)=>t(e,o(r));import{B as p,a as m,eD as d,y as u,d as c,c as j,b as g,e as h,h as b,i as f,p as _,w as x,g as v,I as y,J as w,f as k,m as C,v as O,r as P,H as S,N as V,aj as A,M as T,E as B,j as z,ag as E,eE as D,aV as I,T as R}from"./index-BoIUJTA2.js";/* empty css */import{_ as U}from"./index-Bwtbh5WQ.js";import{A as M}from"./index-BaXJ8CyS.js";/* empty css *//* empty css */import{u as N}from"./useTable-DzUOUR11.js";import{E as W,a as F,b as L}from"./el-dropdown-item-D7SYN_RE.js";/* empty css *//* empty css */import{_ as Y}from"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import{_ as $}from"./index.vue_vue_type_script_setup_true_lang-DRT_iaSg.js";import{_ as J}from"./role-search.vue_vue_type_script_setup_true_lang-DmXBZh-D.js";import{_ as Q}from"./role-edit-dialog.vue_vue_type_script_setup_true_lang-BlR9E0nm.js";import{_ as X}from"./role-permission-dialog.vue_vue_type_script_setup_true_lang-D_UfifsO.js";/* empty css */import{E as Z}from"./index-js0HKKV6.js";import{E as G}from"./index-BaD29Izp.js";import{E as H}from"./index-ZsMdSUVI.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./index-D2gD5Tn5.js";import"./token-DWNpOE8r.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css *//* empty css */import"./index-CZJaGuxf.js";import"./dropdown-Dk_wSiK6.js";import"./useTableColumns-FR69a2pD.js";import"./refs-Cw5r5QN8.js";import"./iconify-DFoKediz.js";import"./index-oPcNh_Ue.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./tree-select-DdXiCp9j.js";import"./index-BneqRonp.js";import"./index-BnK4BbY2.js";import"./clamp-BXzPLned.js";import"./index-sK8AD9wr.js";import"./index-BObA9rVr.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./slider-DTwTybBj.js";import"./index-C_S0YbqD.js";/* empty css */import"./index-C_sVHlWz.js";import"./index-CXD7B41Z.js";import"./index-BcfO0-fK.js";import"./_baseClone-Ct7RL6h5.js";import"./index-DqTthkO7.js";import"./index-DGLhvuMQ.js";import"./cloneDeep-B1gZFPYK.js";import"./index-rgHg98E6.js";/* empty css *//* empty css *//* empty css */import"./index-CjpBlozU.js";import"./use-dialog-FwJ-QdmW.js";const q=p(),K=c(n(l({},{name:"ArtButtonMore"}),{__name:"index",props:{list:{},auth:{}},emits:["click"],setup(e,{emit:t}){const{hasAuth:o}=(()=>{var e,t;const o=m(),{isFrontendMode:r}=d(),{info:i}=u(q),a=null!=(t=null==(e=i.value)?void 0:e.buttons)?t:[],s=Array.isArray(o.meta.authList)?o.meta.authList:[];return{hasAuth:e=>r.value?a.includes(e):s.some(t=>(null==t?void 0:t.authMark)===e)}})(),r=e,i=j(()=>r.list.some(e=>!e.auth||o(e.auth))),a=t;return(t,r)=>{const s=$,l=Y,n=F,p=W,m=L;return h(),g("div",null,[_(i)?(h(),b(m,{key:0},{dropdown:x(()=>[v(p,null,{default:x(()=>[(h(!0),g(y,null,w(e.list,e=>(h(),g(y,{key:e.key},[!e.auth||_(o)(e.auth)?(h(),b(n,{key:0,disabled:e.disabled,onClick:t=>(e=>{a("click",e)})(e)},{default:x(()=>[k("div",{class:"flex-c gap-2",style:C({color:e.color})},[e.icon?(h(),b(l,{key:0,icon:e.icon},null,8,["icon"])):f("",!0),k("span",null,O(e.label),1)],4)]),_:2},1032,["disabled","onClick"])):f("",!0)],64))),128))]),_:1})]),default:x(()=>[v(s,{icon:"ri:more-2-fill",class:"!size-8 bg-g-200 dark:bg-g-300/45 text-sm"})]),_:1})):f("",!0)])}}})),ee={class:"art-full-height"},te=c(n(l({},{name:"Role"}),{__name:"index",setup(e){const t=P({roleName:void 0,roleCode:void 0,description:void 0,enabled:void 0,daterange:void 0}),o=P(!1),s=P(!1),p=P(!1),m=P(void 0),{columns:d,columnChecks:u,data:c,loading:j,pagination:f,getData:y,searchParams:w,resetSearchParams:k,handleSizeChange:O,handleCurrentChange:W,refreshData:F}=N({core:{apiFn:D,apiParams:{current:1,size:20},excludeParams:["daterange"],columnsFactory:()=>[{prop:"roleId",label:"角色ID",width:100},{prop:"roleName",label:"角色名称",minWidth:120},{prop:"roleCode",label:"角色编码",minWidth:120},{prop:"description",label:"角色描述",minWidth:150,showOverflowTooltip:!0},{prop:"enabled",label:"角色状态",width:100,formatter:e=>{const t=e.enabled?{type:"success",text:"启用"}:{type:"warning",text:"禁用"};return E(H,{type:t.type},()=>t.text)}},{prop:"createTime",label:"创建日期",width:180,sortable:!0},{prop:"operation",label:"操作",width:80,fixed:"right",formatter:e=>E("div",[E(K,{list:[{key:"permission",label:"菜单权限",icon:"ri:user-3-line"},{key:"edit",label:"编辑角色",icon:"ri:edit-2-line"},{key:"delete",label:"删除角色",icon:"ri:delete-bin-4-line",color:"#f56c6c"}],onClick:t=>q(t,e)})])}]}}),L=P("add"),Y=(e,t)=>{s.value=!0,L.value=e,m.value=t},$=e=>{const t=e,{daterange:o}=t,s=((e,t)=>{var o={};for(var s in e)i.call(e,s)&&t.indexOf(s)<0&&(o[s]=e[s]);if(null!=e&&r)for(var s of r(e))t.indexOf(s)<0&&a.call(e,s)&&(o[s]=e[s]);return o})(t,["daterange"]),[p,m]=Array.isArray(o)?o:[null,null],d=l({},w);Object.assign(d,n(l({},s),{startTime:p,endTime:m})),y(d)},q=(e,t)=>{switch(e.key){case"permission":te(t);break;case"edit":Y("edit",t);break;case"delete":oe(t)}},te=e=>{p.value=!0,m.value=e},oe=e=>{I.confirm(`确定删除角色"${e.roleName}"吗?此操作不可恢复!`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{R.success("删除成功"),F()}).catch(()=>{R.info("已取消删除")})};return(e,r)=>{const i=B,a=Z,l=M,n=U,y=G,w=S("ripple");return h(),g("div",ee,[V(v(J,{modelValue:_(t),"onUpdate:modelValue":r[0]||(r[0]=e=>T(t)?t.value=e:null),onSearch:$,onReset:_(k)},null,8,["modelValue","onReset"]),[[A,_(o)]]),v(y,{class:"art-table-card",shadow:"never",style:C({"margin-top":_(o)?"12px":"0"})},{default:x(()=>[v(l,{columns:_(u),"onUpdate:columns":r[2]||(r[2]=e=>T(u)?u.value=e:null),showSearchBar:_(o),"onUpdate:showSearchBar":r[3]||(r[3]=e=>T(o)?o.value=e:null),loading:_(j),onRefresh:_(F)},{left:x(()=>[v(a,{wrap:""},{default:x(()=>[V((h(),b(i,{onClick:r[1]||(r[1]=e=>Y("add"))},{default:x(()=>[...r[6]||(r[6]=[z("新增角色",-1)])]),_:1})),[[w]])]),_:1})]),_:1},8,["columns","showSearchBar","loading","onRefresh"]),v(n,{loading:_(j),data:_(c),columns:_(d),pagination:_(f),"onPagination:sizeChange":_(O),"onPagination:currentChange":_(W)},null,8,["loading","data","columns","pagination","onPagination:sizeChange","onPagination:currentChange"])]),_:1},8,["style"]),v(Q,{modelValue:_(s),"onUpdate:modelValue":r[4]||(r[4]=e=>T(s)?s.value=e:null),"dialog-type":_(L),"role-data":_(m),onSuccess:_(F)},null,8,["modelValue","dialog-type","role-data","onSuccess"]),v(X,{modelValue:_(p),"onUpdate:modelValue":r[5]||(r[5]=e=>T(p)?p.value=e:null),"role-data":_(m),onSuccess:_(F)},null,8,["modelValue","role-data","onSuccess"])])}}}));export{te as default}; diff --git a/nginx/admin/assets/index-CXD7B41Z.js b/nginx/admin/assets/index-CXD7B41Z.js new file mode 100644 index 0000000..b838c21 --- /dev/null +++ b/nginx/admin/assets/index-CXD7B41Z.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,a=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,p=(t,a,s)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[a]=s;import{a8 as l,av as o,at as b,a0 as n,d as c,a9 as f,c as d,a1 as m,bd as i,ao as y,h as O,e as g,w as j,s as h,m as v,q as $,p as N,aE as x,az as E}from"./index-BoIUJTA2.js";import{r as w}from"./index-C_sVHlWz.js";const P=l({tag:{type:String,default:"div"},span:{type:Number,default:24},offset:{type:Number,default:0},pull:{type:Number,default:0},push:{type:Number,default:0},xs:{type:b([Number,Object]),default:()=>o({})},sm:{type:b([Number,Object]),default:()=>o({})},md:{type:b([Number,Object]),default:()=>o({})},lg:{type:b([Number,Object]),default:()=>o({})},xl:{type:b([Number,Object]),default:()=>o({})}}),_=c({name:"ElCol"}),S=c((q=((e,t)=>{for(var a in t||(t={}))r.call(t,a)&&p(e,a,t[a]);if(s)for(var a of s(t))u.call(t,a)&&p(e,a,t[a]);return e})({},_),t(q,a({props:P,setup(e){const t=e,{gutter:a}=f(w,{gutter:d(()=>0)}),s=m("col"),r=d(()=>{const e={};return a.value&&(e.paddingLeft=e.paddingRight=a.value/2+"px"),e}),u=d(()=>{const e=[];return["span","offset","pull","push"].forEach(a=>{const r=t[a];i(r)&&("span"===a?e.push(s.b(`${t[a]}`)):r>0&&e.push(s.b(`${a}-${t[a]}`)))}),["xs","sm","md","lg","xl"].forEach(a=>{i(t[a])?e.push(s.b(`${a}-${t[a]}`)):y(t[a])&&Object.entries(t[a]).forEach(([t,r])=>{e.push("span"!==t?s.b(`${a}-${t}-${r}`):s.b(`${a}-${r}`))})}),a.value&&e.push(s.is("guttered")),[s.b(),e]});return(e,t)=>(g(),O(x(e.tag),{class:$(N(u)),style:v(N(r))},{default:j(()=>[h(e.$slots,"default")]),_:3},8,["class","style"]))}}))));var q;const z=E(n(S,[["__file","col.vue"]]));export{z as E}; diff --git a/nginx/admin/assets/index-CXORCV4U.js b/nginx/admin/assets/index-CXORCV4U.js new file mode 100644 index 0000000..ea8b506 --- /dev/null +++ b/nginx/admin/assets/index-CXORCV4U.js @@ -0,0 +1 @@ +import{an as n,ci as e,ca as t}from"./index-BoIUJTA2.js";const o=new Map;if(t){let n;document.addEventListener("mousedown",e=>n=e),document.addEventListener("mouseup",e=>{if(n){for(const t of o.values())for(const{documentHandler:o}of t)o(e,n);n=void 0}})}function a(t,o){let a=[];return n(o.arg)?a=o.arg:e(o.arg)&&a.push(o.arg),function(n,e){const s=o.instance.popperRef,d=n.target,i=null==e?void 0:e.target,u=!o||!o.instance,c=!d||!i,l=t.contains(d)||t.contains(i),r=t===d,g=a.length&&a.some(n=>null==n?void 0:n.contains(d))||a.length&&a.includes(i),f=s&&(s.contains(d)||s.contains(i));u||c||l||r||g||f||o.value(n,e)}}const s={beforeMount(n,e){o.has(n)||o.set(n,[]),o.get(n).push({documentHandler:a(n,e),bindingFn:e.value})},updated(n,e){o.has(n)||o.set(n,[]);const t=o.get(n),s=t.findIndex(n=>n.bindingFn===e.oldValue),d={documentHandler:a(n,e),bindingFn:e.value};s>=0?t.splice(s,1,d):t.push(d)},unmounted(n){o.delete(n)}};export{s as C}; diff --git a/nginx/admin/assets/index-CXjivOvk.css b/nginx/admin/assets/index-CXjivOvk.css new file mode 100644 index 0000000..d1b5076 --- /dev/null +++ b/nginx/admin/assets/index-CXjivOvk.css @@ -0,0 +1 @@ +.miniapp-qrcode-page[data-v-9b0222a3]{padding:16px}.form-grid[data-v-9b0222a3]{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 920px){.form-grid[data-v-9b0222a3]{grid-template-columns:1fr}}.preview-pane[data-v-9b0222a3]{display:flex;align-items:center;justify-content:center}.preview-box[data-v-9b0222a3]{display:inline-flex;align-items:center;justify-content:center;border:1px dashed var(--el-border-color);padding:16px;border-radius:8px}.preview-holder[data-v-9b0222a3]{color:var(--el-text-color-secondary)}.copy-link[data-v-9b0222a3]{margin-top:8px;font-size:12px;color:var(--el-text-color-secondary)}.copy-link .label[data-v-9b0222a3]{margin-right:6px} diff --git a/nginx/admin/assets/index-CXm1nqMJ.js b/nginx/admin/assets/index-CXm1nqMJ.js new file mode 100644 index 0000000..d7c2b94 --- /dev/null +++ b/nginx/admin/assets/index-CXm1nqMJ.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,r=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,p=(t,r,s)=>r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[r]=s;import{_ as n}from"./ArtResultPage.vue_vue_type_script_setup_true_lang-D5vO0ry2.js";import{d as l,H as i,h as u,e as c,w as _,N as f,E as m,j as y,f as b}from"./index-BoIUJTA2.js";/* empty css */import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";const j=l((d=((e,t)=>{for(var r in t||(t={}))a.call(t,r)&&p(e,r,t[r]);if(s)for(var r of s(t))o.call(t,r)&&p(e,r,t[r]);return e})({},{name:"ResultSuccess"}),t(d,r({__name:"index",setup:e=>(e,t)=>{const r=m,s=n,a=i("ripple");return c(),u(s,{type:"success",title:"提交成功",message:"提交结果页用于反馈一系列操作任务的处理结果,如果仅是简单操作,使用 Message 全局提示反馈即可。灰色区域可以显示一些补充的信息。",iconCode:"ri:check-fill"},{content:_(()=>[...t[0]||(t[0]=[b("p",null,"已提交申请,等待部门审核。",-1)])]),buttons:_(()=>[f((c(),u(r,{type:"primary"},{default:_(()=>[...t[1]||(t[1]=[y("返回修改",-1)])]),_:1})),[[a]]),f((c(),u(r,null,{default:_(()=>[...t[2]||(t[2]=[y("查看",-1)])]),_:1})),[[a]]),f((c(),u(r,null,{default:_(()=>[...t[3]||(t[3]=[y("打印",-1)])]),_:1})),[[a]])]),_:1})}}))));var d;export{j as default}; diff --git a/nginx/admin/assets/index-CZJaGuxf.js b/nginx/admin/assets/index-CZJaGuxf.js new file mode 100644 index 0000000..f5889d7 --- /dev/null +++ b/nginx/admin/assets/index-CZJaGuxf.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,r=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,s=(t,r,o)=>r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[r]=o,i=(e,t)=>{for(var r in t||(t={}))a.call(t,r)&&s(e,r,t[r]);if(o)for(var r of o(t))p.call(t,r)&&s(e,r,t[r]);return e},n=(e,o)=>t(e,r(o));import{u as l,b as d,E as f}from"./index-BMeOzN3u.js";import{d as b}from"./dropdown-Dk_wSiK6.js";import{bv as c,a8 as u,a0 as v,d as g,c as y,a1 as m,r as w,p as h,cB as O,h as j,e as x,w as S,s as A,i as P,b as k,q as B,v as C,j as N,a2 as R,az as $,dQ as E}from"./index-BoIUJTA2.js";const U=u({trigger:d.trigger,triggerKeys:d.triggerKeys,placement:b.placement,disabled:d.disabled,visible:l.visible,transition:l.transition,popperOptions:b.popperOptions,tabindex:b.tabindex,content:l.content,popperStyle:l.popperStyle,popperClass:l.popperClass,enterable:n(i({},l.enterable),{default:!0}),effect:n(i({},l.effect),{default:"light"}),teleported:l.teleported,appendTo:l.appendTo,title:String,width:{type:[String,Number],default:150},offset:{type:Number,default:void 0},showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},"onUpdate:visible":{type:Function}}),_={"update:visible":e=>c(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},K=g({name:"ElPopover"}),T=g(n(i({},K),{props:U,emits:_,setup(e,{expose:t,emit:r}){const o=e,a=y(()=>o["onUpdate:visible"]),p=m("popover"),s=w(),i=y(()=>{var e;return null==(e=h(s))?void 0:e.popperRef}),n=y(()=>[{width:O(o.width)},o.popperStyle]),l=y(()=>[p.b(),o.popperClass,{[p.m("plain")]:!!o.content}]),d=y(()=>o.transition===`${p.namespace.value}-fade-in-linear`),b=()=>{r("before-enter")},c=()=>{r("before-leave")},u=()=>{r("after-enter")},v=()=>{r("update:visible",!1),r("after-leave")};return t({popperRef:i,hide:()=>{var e;null==(e=s.value)||e.hide()}}),(e,t)=>(x(),j(h(f),R({ref_key:"tooltipRef",ref:s},e.$attrs,{trigger:e.trigger,"trigger-keys":e.triggerKeys,placement:e.placement,disabled:e.disabled,visible:e.visible,transition:e.transition,"popper-options":e.popperOptions,tabindex:e.tabindex,content:e.content,offset:e.offset,"show-after":e.showAfter,"hide-after":e.hideAfter,"auto-close":e.autoClose,"show-arrow":e.showArrow,"aria-label":e.title,effect:e.effect,enterable:e.enterable,"popper-class":h(l),"popper-style":h(n),teleported:e.teleported,"append-to":e.appendTo,persistent:e.persistent,"gpu-acceleration":h(d),"onUpdate:visible":h(a),onBeforeShow:b,onBeforeHide:c,onShow:u,onHide:v}),{content:S(()=>[e.title?(x(),k("div",{key:0,class:B(h(p).e("title")),role:"title"},C(e.title),3)):P("v-if",!0),A(e.$slots,"default",{},()=>[N(C(e.content),1)])]),default:S(()=>[e.$slots.reference?A(e.$slots,"reference",{key:0}):P("v-if",!0)]),_:3},16,["trigger","trigger-keys","placement","disabled","visible","transition","popper-options","tabindex","content","offset","show-after","hide-after","auto-close","show-arrow","aria-label","effect","enterable","popper-class","popper-style","teleported","append-to","persistent","gpu-acceleration","onUpdate:visible"]))}}));const H=(e,t)=>{const r=t.arg||t.value,o=null==r?void 0:r.popperRef;o&&(o.triggerRef=e)};const q=$(v(T,[["__file","popover.vue"]]),{directive:E({mounted(e,t){H(e,t)},updated(e,t){H(e,t)}},"popover")});export{q as E}; diff --git a/nginx/admin/assets/index-C_S0YbqD.js b/nginx/admin/assets/index-C_S0YbqD.js new file mode 100644 index 0000000..e7394b9 --- /dev/null +++ b/nginx/admin/assets/index-C_S0YbqD.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,u=(a,t,l)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[t]=l,i=(e,a)=>{for(var t in a||(a={}))r.call(a,t)&&u(e,t,a[t]);if(l)for(var t of l(a))n.call(a,t)&&u(e,t,a[t]);return e},s=(e,l)=>a(e,t(l));import{bd as o,ar as c,a8 as d,br as m,dV as p,bc as b,at as v,bB as f,bw as N,a0 as y,d as g,bK as x,a1 as V,r as h,k as E,bD as S,c as I,ad as w,bx as A,by as _,A as O,o as F,bp as k,b as $,e as j,N as B,i as D,g as M,p as P,P as K,q as z,s as G,w as R,h as T,ab as C,dW as L,ai as X,bV as q,b5 as W,cx as Z,K as H,O as J,ax as Q,aa as U,ah as Y,Z as ee,dX as ae,_ as te,az as le}from"./index-BoIUJTA2.js";import{v as re}from"./index-BnK4BbY2.js";const ne=d(s(i({id:{type:String,default:void 0},step:{type:Number,default:1},stepStrictly:Boolean,max:{type:Number,default:Number.MAX_SAFE_INTEGER},min:{type:Number,default:Number.MIN_SAFE_INTEGER},modelValue:{type:[Number,null]},readonly:Boolean,disabled:Boolean,size:N,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:"",values:["","right"]},valueOnClear:{type:[String,Number,null],validator:e=>null===e||o(e)||["min","max"].includes(e),default:null},name:String,placeholder:String,precision:{type:Number,validator:e=>e>=0&&e===Number.parseInt(`${e}`,10)},validateEvent:{type:Boolean,default:!0}},f(["ariaLabel"])),{inputmode:{type:v(String),default:void 0},align:{type:v(String),default:"center"},disabledScientific:Boolean})),ue={[b]:(e,a)=>a!==e,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent,[p]:e=>o(e)||c(e),[m]:e=>o(e)||c(e)},ie=g({name:"ElInputNumber"});const se=le(y(g(s(i({},ie),{props:ne,emits:ue,setup(e,{expose:a,emit:t}){const l=e,{t:r}=x(),n=V("input-number"),u=h(),i=E({currentValue:l.modelValue,userInput:null}),{formItem:s}=S(),d=I(()=>o(l.modelValue)&&l.modelValue<=l.min),v=I(()=>o(l.modelValue)&&l.modelValue>=l.max),f=I(()=>{const e=ue(l.step);return w(l.precision)?Math.max(ue(l.modelValue),e):(l.precision,l.precision)}),N=I(()=>l.controls&&"right"===l.controlsPosition),y=A(),g=_(),le=I(()=>{if(null!==i.userInput)return i.userInput;let e=i.currentValue;if(c(e))return"";if(o(e)){if(Number.isNaN(e))return"";w(l.precision)||(e=e.toFixed(l.precision))}return e}),ne=(e,a)=>{if(w(a)&&(a=f.value),0===a)return Math.round(e);let t=String(e);const l=t.indexOf(".");if(-1===l)return e;if(!t.replace(".","").split("")[l+a])return e;const r=t.length;return"5"===t.charAt(r-1)&&(t=`${t.slice(0,Math.max(0,r-1))}6`),Number.parseFloat(Number(t).toFixed(a))},ue=e=>{if(c(e))return 0;const a=e.toString(),t=a.indexOf(".");let l=0;return-1!==t&&(l=a.length-t-1),l},ie=(e,a=1)=>o(e)?e>=Number.MAX_SAFE_INTEGER&&1===a||e<=Number.MIN_SAFE_INTEGER&&-1===a?e:ne(e+l.step*a):i.currentValue,se=e=>{const a=ee(e),t=ae(e);if(l.disabledScientific&&["e","E"].includes(t))e.preventDefault();else switch(a){case te.up:e.preventDefault(),oe();break;case te.down:e.preventDefault(),ce()}},oe=()=>{if(l.readonly||g.value||v.value)return;const e=Number(le.value)||0,a=ie(e);me(a),t(p,i.currentValue),Ne()},ce=()=>{if(l.readonly||g.value||d.value)return;const e=Number(le.value)||0,a=ie(e,-1);me(a),t(p,i.currentValue),Ne()},de=(e,a)=>{const{max:r,min:n,step:u,precision:i,stepStrictly:s,valueOnClear:o}=l;rr||dr?r:n,a&&t(m,d)),d},me=(e,a=!0)=>{var r;const n=i.currentValue,u=de(e);a?n===u&&e||(i.userInput=null,t(m,u),n!==u&&t(b,u,n),l.validateEvent&&(null==(r=null==s?void 0:s.validate)||r.call(s,"change").catch(e=>Q())),i.currentValue=u):t(m,u)},pe=e=>{i.userInput=e;const a=""===e?null:Number(e);t(p,a),me(a,!1)},be=e=>{const a=""!==e?Number(e):"";(o(a)&&!Number.isNaN(a)||""===e)&&me(a),Ne(),i.userInput=null},ve=e=>{t("focus",e)},fe=e=>{var a,r;i.userInput=null,null===i.currentValue&&(null==(a=u.value)?void 0:a.input)&&(u.value.input.value=""),t("blur",e),l.validateEvent&&(null==(r=null==s?void 0:s.validate)||r.call(s,"blur").catch(e=>Q()))},Ne=()=>{i.currentValue!==l.modelValue&&(i.currentValue=l.modelValue)},ye=e=>{document.activeElement===e.target&&e.preventDefault()};return O(()=>l.modelValue,(e,a)=>{const t=de(e,!0);null===i.userInput&&t!==a&&(i.currentValue=t)},{immediate:!0}),O(()=>l.precision,()=>{i.currentValue=de(l.modelValue)}),F(()=>{var e;const{min:a,max:r,modelValue:n}=l,s=null==(e=u.value)?void 0:e.input;if(s.setAttribute("role","spinbutton"),Number.isFinite(r)?s.setAttribute("aria-valuemax",String(r)):s.removeAttribute("aria-valuemax"),Number.isFinite(a)?s.setAttribute("aria-valuemin",String(a)):s.removeAttribute("aria-valuemin"),s.setAttribute("aria-valuenow",i.currentValue||0===i.currentValue?String(i.currentValue):""),s.setAttribute("aria-disabled",String(g.value)),!o(n)&&null!=n){let e=Number(n);Number.isNaN(e)&&(e=null),t(m,e)}s.addEventListener("wheel",ye,{passive:!1})}),k(()=>{var e,a;const t=null==(e=u.value)?void 0:e.input;null==t||t.setAttribute("aria-valuenow",`${null!=(a=i.currentValue)?a:""}`)}),a({focus:()=>{var e,a;null==(a=null==(e=u.value)?void 0:e.focus)||a.call(e)},blur:()=>{var e,a;null==(a=null==(e=u.value)?void 0:e.blur)||a.call(e)}}),(e,a)=>(j(),$("div",{class:z([P(n).b(),P(n).m(P(y)),P(n).is("disabled",P(g)),P(n).is("without-controls",!e.controls),P(n).is("controls-right",P(N)),P(n).is(e.align,!!e.align)]),onDragstart:J(()=>{},["prevent"])},[e.controls?B((j(),$("span",{key:0,role:"button","aria-label":P(r)("el.inputNumber.decrease"),class:z([P(n).e("decrease"),P(n).is("disabled",P(d))]),onKeydown:K(ce,["enter"])},[G(e.$slots,"decrease-icon",{},()=>[M(P(X),null,{default:R(()=>[P(N)?(j(),T(P(C),{key:0})):(j(),T(P(L),{key:1}))]),_:1})])],42,["aria-label","onKeydown"])),[[P(re),ce]]):D("v-if",!0),e.controls?B((j(),$("span",{key:1,role:"button","aria-label":P(r)("el.inputNumber.increase"),class:z([P(n).e("increase"),P(n).is("disabled",P(v))]),onKeydown:K(oe,["enter"])},[G(e.$slots,"increase-icon",{},()=>[M(P(X),null,{default:R(()=>[P(N)?(j(),T(P(q),{key:0})):(j(),T(P(W),{key:1}))]),_:1})])],42,["aria-label","onKeydown"])),[[P(re),oe]]):D("v-if",!0),M(P(H),{id:e.id,ref_key:"input",ref:u,type:"number",step:e.step,"model-value":P(le),placeholder:e.placeholder,readonly:e.readonly,disabled:P(g),size:P(y),max:e.max,min:e.min,name:e.name,"aria-label":e.ariaLabel,"validate-event":!1,inputmode:e.inputmode,onKeyup:se,onBlur:fe,onFocus:ve,onInput:pe,onChange:be},Z({_:2},[e.$slots.prefix?{name:"prefix",fn:R(()=>[G(e.$slots,"prefix")])}:void 0,e.$slots.suffix?{name:"suffix",fn:R(()=>[G(e.$slots,"suffix")])}:void 0]),1032,["id","step","model-value","placeholder","readonly","disabled","size","max","min","name","aria-label","inputmode"])],42,["onDragstart"]))}})),[["__file","input-number.vue"]]));export{se as E}; diff --git a/nginx/admin/assets/index-C_sVHlWz.js b/nginx/admin/assets/index-C_sVHlWz.js new file mode 100644 index 0000000..7849dbb --- /dev/null +++ b/nginx/admin/assets/index-C_sVHlWz.js @@ -0,0 +1 @@ +var t=Object.defineProperty,e=Object.defineProperties,a=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(e,a,r)=>a in e?t(e,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[a]=r;import{a8 as l,a0 as i,d as p,a1 as u,c,h as y,e as g,w as f,s as b,m as d,q as m,p as j,aE as v,ae as w,az as O}from"./index-BoIUJTA2.js";const P=Symbol("rowContextKey"),S=l({tag:{type:String,default:"div"},gutter:{type:Number,default:0},justify:{type:String,values:["start","center","end","space-around","space-between","space-evenly"],default:"start"},align:{type:String,values:["top","middle","bottom"]}}),x=p({name:"ElRow"}),E=p(($=((t,e)=>{for(var a in e||(e={}))s.call(e,a)&&n(t,a,e[a]);if(r)for(var a of r(e))o.call(e,a)&&n(t,a,e[a]);return t})({},x),e($,a({props:S,setup(t){const e=t,a=u("row"),r=c(()=>e.gutter);w(P,{gutter:r});const s=c(()=>{const t={};return e.gutter?(t.marginRight=t.marginLeft=`-${e.gutter/2}px`,t):t}),o=c(()=>[a.b(),a.is(`justify-${e.justify}`,"start"!==e.justify),a.is(`align-${e.align}`,!!e.align)]);return(t,e)=>(g(),y(v(t.tag),{class:m(j(o)),style:d(j(s))},{default:f(()=>[b(t.$slots,"default")]),_:3},8,["class","style"]))}}))));var $;const h=O(i(E,[["__file","row.vue"]]));export{h as E,P as r}; diff --git a/nginx/admin/assets/index-Cg76DmSa.js b/nginx/admin/assets/index-Cg76DmSa.js new file mode 100644 index 0000000..c9906b7 --- /dev/null +++ b/nginx/admin/assets/index-Cg76DmSa.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,a=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,o=(t,a,l)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[a]=l;import{d as i,u as m,a as p,r as d,o as n,c as u,b as c,e as j,f,g,h as _,i as v,w as x,j as b,E as y}from"./index-BoIUJTA2.js";import{E as h,a as w}from"./el-tab-pane-BpPSIX41.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import k from"./card-list-NIswF7Y2.js";import O from"./sales-overview-C-HoRPpG.js";import V from"./product-performance-BM4GGkhB.js";import E from"./marketing-conversion-CKp3HkTT.js";import R from"./points-economy-IIgvLFBX.js";import C from"./coupon-roi-BImVQWIN.js";import P from"./inventory-alert-CdyvmmdE.js";import Y from"./risk-monitor-ChKuHaAC.js";import z from"./user-economics-DXWKpriU.js";import D from"./prize-pool-health-C4iWrchz.js";import U from"./live-stream-premium-Cab6EXZZ.js";import q from"./growth-analytics-C1Kpa-bS.js";import A from"./retention-cohort-B-YYnU2w.js";import I from"./about-project-DgJMbhc5.js";import T from"./activity-profit-loss-QBBuvhKV.js";import M from"./player-spending-leaderboard-BFGfnSUS.js";import{E as S,a as B}from"./index-DqTthkO7.js";import{E as G}from"./index-BneqRonp.js";import{E as L}from"./index-C_sVHlWz.js";import{E as N}from"./index-CXD7B41Z.js";import{_ as Q}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./raf-DsHSIRfX.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-D2gD5Tn5.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./clamp-BXzPLned.js";import"./index-C0Ar9TSn.js";import"./_baseClone-Ct7RL6h5.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";import"./index.vue_vue_type_script_setup_true_lang-Dk4553Z8.js";import"./dashboard-Csmn9wla.js";/* empty css *//* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-DUnXk1_V.js";import"./useChart-DmniNG26.js";import"./installCanvasRenderer-D-xUkWdX.js";import"./el-tooltip-l0sNRNKZ.js";import"./operations-Cr4YfoRu.js";import"./index-Bwtbh5WQ.js";/* empty css *//* empty css *//* empty css */import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./index-D8nVJoNy.js";import"./index-C1haaLtB.js";/* empty css */import"./index-ClDjAOOe.js";/* empty css */import"./player-detail-drawer-BMnLvEIg.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./player-profit-loss-chart-CaOwxgxN.js";import"./player-manage-ReHd8eMR.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index-B18-crhn.js";import"./use-dialog-FwJ-QdmW.js";import"./index-BaD29Izp.js";import"./index-DpfIyoxx.js";import"./index-DvejFoOw.js";import"./index-Dy3gZN7-.js";import"./index-CjpBlozU.js";import"./refs-Cw5r5QN8.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./index-BjQJlHTd.js";import"./index-1OHUSGeP.js";import"./user-spending-drawer.vue_vue_type_script_setup_true_lang-CGv7feAY.js";/* empty css */import"./index-BnK4BbY2.js";const W={class:"console-container px-2"},X={class:"glass-search-bar p-3 mb-8 flex-cb"},Z={class:"flex-c space-x-4"},$=i((F=((e,t)=>{for(var a in t||(t={}))s.call(t,a)&&o(e,a,t[a]);if(l)for(var a of l(t))r.call(t,a)&&o(e,a,t[a]);return e})({},{name:"Console"}),t(F,a({__name:"index",setup(e){const{scrollToTop:t}=m();t();const a=p(),l=d("overview");n(()=>{a.query.tab&&(l.value=a.query.tab)});const s=d({range:"all",dateRange:[]}),r=u(()=>s.value.range),o=u(()=>{var e;return(null==(e=s.value.dateRange)?void 0:e[0])||""}),i=u(()=>{var e;return(null==(e=s.value.dateRange)?void 0:e[1])||""});return(e,t)=>{const a=S,m=B,p=G,d=y,n=N,u=L,Q=h,$=w;return j(),c("div",W,[f("div",X,[t[9]||(t[9]=f("div",{class:"flex-c"},[f("div",{class:"glass-dot mr-4"}),f("h2",{class:"text-xl font-black text-g-900 tracking-tight"},"盲盒业务指挥中心")],-1)),f("div",Z,[g(m,{modelValue:s.value.range,"onUpdate:modelValue":t[0]||(t[0]=e=>s.value.range=e),size:"default",class:"premium-radio"},{default:x(()=>[g(a,{label:"today"},{default:x(()=>[...t[3]||(t[3]=[b("今日",-1)])]),_:1}),g(a,{label:"7d"},{default:x(()=>[...t[4]||(t[4]=[b("最近7天",-1)])]),_:1}),g(a,{label:"30d"},{default:x(()=>[...t[5]||(t[5]=[b("最近30天",-1)])]),_:1}),g(a,{label:"all"},{default:x(()=>[...t[6]||(t[6]=[b("全部",-1)])]),_:1}),g(a,{label:"custom"},{default:x(()=>[...t[7]||(t[7]=[b("自定义",-1)])]),_:1})]),_:1},8,["modelValue"]),"custom"===s.value.range?(j(),_(p,{key:0,modelValue:s.value.dateRange,"onUpdate:modelValue":t[1]||(t[1]=e=>s.value.dateRange=e),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",size:"default",style:{width:"260px"},clearable:!1},null,8,["modelValue"])):v("",!0),g(d,{type:"primary",circle:"",class:"premium-refresh"},{default:x(()=>[...t[8]||(t[8]=[f("i",{class:"ri-refresh-line"},null,-1)])]),_:1})])]),g($,{modelValue:l.value,"onUpdate:modelValue":t[2]||(t[2]=e=>l.value=e),class:"premium-tabs"},{default:x(()=>[g(Q,{label:"经营大盘",name:"overview"},{label:x(()=>[...t[10]||(t[10]=[f("div",{class:"tab-label"},[f("i",{class:"ri-funds-box-fill mr-2"}),f("span",null,"经营大盘")],-1)])]),default:x(()=>[g(k,{range:r.value,"start-date":o.value,"end-date":i.value,class:"mt-4"},null,8,["range","start-date","end-date"]),g(u,{gutter:20,class:"items-stretch"},{default:x(()=>[g(n,{sm:24,md:12,lg:16,class:"flex flex-col"},{default:x(()=>[g(O,{range:r.value,"start-date":o.value,"end-date":i.value,class:"mb-6"},null,8,["range","start-date","end-date"]),g(z,{class:"flex-1"})]),_:1}),g(n,{sm:24,md:12,lg:8},{default:x(()=>[g(V)]),_:1})]),_:1}),g(u,{gutter:20,class:"mt-6"},{default:x(()=>[g(n,{span:24},{default:x(()=>[g(M,{range:r.value,"start-date":o.value,"end-date":i.value},null,8,["range","start-date","end-date"])]),_:1})]),_:1})]),_:1}),g(Q,{label:"奖池与欧气",name:"lottery"},{label:x(()=>[...t[11]||(t[11]=[f("div",{class:"tab-label"},[f("i",{class:"ri-gift-fill mr-2"}),f("span",null,"奖池与欧气")],-1)])]),default:x(()=>[g(u,{gutter:20,class:"mt-4 items-stretch"},{default:x(()=>[g(n,{sm:24,md:12,lg:14,class:"flex flex-col"},{default:x(()=>[g(D,{class:"flex-1"})]),_:1}),g(n,{sm:24,md:12,lg:10,class:"flex flex-col"},{default:x(()=>[g(U,{class:"flex-1"})]),_:1})]),_:1})]),_:1}),g(Q,{label:"营销转化",name:"marketing"},{label:x(()=>[...t[12]||(t[12]=[f("div",{class:"tab-label"},[f("i",{class:"ri-magic-fill mr-2"}),f("span",null,"营销转化")],-1)])]),default:x(()=>[g(u,{gutter:20,class:"mt-4 items-stretch"},{default:x(()=>[g(n,{sm:24,md:24,lg:14,class:"flex flex-col"},{default:x(()=>[g(q,{class:"flex-1"})]),_:1}),g(n,{sm:24,md:24,lg:10,class:"flex flex-col"},{default:x(()=>[g(C,{class:"flex-1"})]),_:1})]),_:1}),g(u,{gutter:20},{default:x(()=>[g(n,{span:24},{default:x(()=>[g(A)]),_:1})]),_:1}),g(u,{gutter:20},{default:x(()=>[g(n,{span:24},{default:x(()=>[g(E)]),_:1})]),_:1})]),_:1}),g(Q,{label:"风控预警",name:"security"},{label:x(()=>[...t[13]||(t[13]=[f("div",{class:"tab-label"},[f("i",{class:"ri-shield-flash-fill mr-2"}),f("span",null,"风控预警")],-1)])]),default:x(()=>[g(u,{gutter:20,class:"mt-4"},{default:x(()=>[g(n,{span:24},{default:x(()=>[g(R)]),_:1})]),_:1}),g(u,{gutter:20,class:"mt-4 items-stretch"},{default:x(()=>[g(n,{sm:24,md:12,lg:12,class:"flex flex-col"},{default:x(()=>[g(P,{class:"flex-1"})]),_:1}),g(n,{sm:24,md:12,lg:12,class:"flex flex-col"},{default:x(()=>[g(Y,{class:"flex-1"})]),_:1})]),_:1})]),_:1}),g(Q,{label:"活动盈亏",name:"activity-profit"},{label:x(()=>[...t[14]||(t[14]=[f("div",{class:"tab-label"},[f("i",{class:"ri-pie-chart-2-fill mr-2"}),f("span",null,"活动盈亏")],-1)])]),default:x(()=>[g(T,{class:"mt-4"})]),_:1})]),_:1},8,["modelValue"]),g(I,{class:"mt-12"})])}}}))));var F;const H=Q($,[["__scopeId","data-v-6a88fc8e"]]);export{H as default}; diff --git a/nginx/admin/assets/index-ChDietE5.js b/nginx/admin/assets/index-ChDietE5.js new file mode 100644 index 0000000..8be338a --- /dev/null +++ b/nginx/admin/assets/index-ChDietE5.js @@ -0,0 +1 @@ +var e=(e,a,l)=>new Promise((s,t)=>{var r=e=>{try{i(l.next(e))}catch(a){t(a)}},o=e=>{try{i(l.throw(e))}catch(a){t(a)}},i=e=>e.done?s(e.value):Promise.resolve(e.value).then(r,o);i((l=l.apply(e,a)).next())});import{c1 as a,d as l,k as s,r as t,o as r,dl as o,b as i,e as d,f as n,g as p,w as u,K as c,E as m,j as _,p as x,N as v,b2 as f,h as b,i as g,v as h,I as y,J as j,aV as w,T as k}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import{I as V}from"./iconify-DFoKediz.js";import{E as C,a as E}from"./index-BcfO0-fK.js";import{E as z,a as S}from"./index-D2gD5Tn5.js";import{a as U,E as T}from"./index-BjuMygln.js";import{E as I}from"./index-BjQJlHTd.js";import{E as O}from"./index-ZsMdSUVI.js";import{E as D}from"./index-C1haaLtB.js";import{E as A}from"./index-CjpBlozU.js";import{_ as F}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./index-D8nVJoNy.js";import"./index-1OHUSGeP.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";const J={class:"page-container"},M={class:"search-card"},q={class:"table-card mt-4"},B={class:"mb-4"},P={key:0},R={key:1,class:"text-blue-500"},$={class:"text-xs text-gray-400 mt-1"},L={class:"text-xs text-gray-400"},N={class:"text-sm"},Y={class:"flex flex-wrap gap-2"},H={class:"text-xs"},K=["title"],Q={class:"flex items-center justify-between gap-1"},X={class:"text-gray-400"},Z={class:"font-bold text-gray-600"},G={class:"text-xs text-gray-500 mt-1"},W={class:"pagination-container"},ee=F(l({__name:"index",setup(l){const F=s({page:1,page_size:20,status:void 0,user_id:void 0,batch_no:"",express_no:""}),ee=t(!1),ae=t([]),le=t(0),se=t([]),te=t(!1),re=t(!1),oe=t(!1),ie=s({express_code:"",express_no:"",record_ids:[]}),de={express_code:[{required:!0,message:"请选择快递公司",trigger:"change"}],express_no:[{required:!0,message:"请输入快递单号",trigger:"blur"}]},ne=e=>{try{const a=JSON.parse(e);return Array.isArray(a)&&a.length>0?a[0]:""}catch(a){return""}},pe=e=>({1:"待发货",2:"已发货",3:"已签收",4:"异常",5:"已取消"}[e]||"未知"),ue=()=>e(this,null,function*(){ee.value=!0;try{const{list:l,total:s}=yield(e=F,a.get({url:"/admin/shipping/orders",params:e}));ae.value=l,le.value=s}finally{ee.value=!1}var e}),ce=()=>{F.status=void 0,F.user_id=void 0,F.batch_no="",F.express_no="",ue()},me=e=>1===e.status,_e=e=>{se.value=e},xe=l=>e(this,null,function*(){try{yield w.confirm(`确认撤销该发货申请?\n批次号:${l.batch_no||"—"}\n商品数:${l.count} 件\n撤销后库存将恢复为可用状态。`,"撤销确认",{confirmButtonText:"确认撤销",cancelButtonText:"取消",type:"warning"}),yield(e=l.record_ids,a.post({url:"/admin/shipping/orders/cancel",data:{record_ids:e}})),k.success(`已成功撤销 ${l.count} 件发货申请`),ue()}catch(s){"cancel"!==s&&"close"!==s&&k.error("撤销失败,请重试")}var e}),ve=()=>{oe.value=!1,ie.record_ids=se.value.flatMap(e=>e.record_ids),ie.express_code="",ie.express_no="",te.value=!0},fe=()=>e(this,null,function*(){if(ie.express_code&&ie.express_no){re.value=!0;try{yield(e={record_ids:ie.record_ids,express_code:ie.express_code,express_no:ie.express_no,status:2},a.put({url:"/admin/shipping/orders/batch",data:e})),k.success("操作成功"),te.value=!1,ue()}finally{re.value=!1}var e}else k.warning("请填写完整物流信息")});return r(()=>{ue()}),o(()=>{ue()}),(e,a)=>{const l=S,s=z,t=C,r=c,o=m,w=E,k=U,be=I,ge=O,he=T,ye=D,je=A,we=f;return d(),i("div",J,[n("div",M,[p(w,{model:F,ref:"queryFormRef",inline:""},{default:u(()=>[p(t,{label:"状态",prop:"status"},{default:u(()=>[p(s,{modelValue:F.status,"onUpdate:modelValue":a[0]||(a[0]=e=>F.status=e),placeholder:"全部状态",clearable:"",style:{width:"140px"}},{default:u(()=>[p(l,{label:"待发货",value:1}),p(l,{label:"已发货",value:2}),p(l,{label:"已签收",value:3}),p(l,{label:"异常",value:4}),p(l,{label:"已取消",value:5})]),_:1},8,["modelValue"])]),_:1}),p(t,{label:"用户ID",prop:"user_id"},{default:u(()=>[p(r,{modelValue:F.user_id,"onUpdate:modelValue":a[1]||(a[1]=e=>F.user_id=e),modelModifiers:{number:!0},placeholder:"用户ID",clearable:"",style:{width:"140px"}},null,8,["modelValue"])]),_:1}),p(t,{label:"批次号",prop:"batch_no"},{default:u(()=>[p(r,{modelValue:F.batch_no,"onUpdate:modelValue":a[2]||(a[2]=e=>F.batch_no=e),placeholder:"批次号",clearable:"",style:{width:"160px"}},null,8,["modelValue"])]),_:1}),p(t,{label:"运单号",prop:"express_no"},{default:u(()=>[p(r,{modelValue:F.express_no,"onUpdate:modelValue":a[3]||(a[3]=e=>F.express_no=e),placeholder:"运单号",clearable:"",style:{width:"160px"}},null,8,["modelValue"])]),_:1}),p(t,null,{default:u(()=>[p(o,{type:"primary",onClick:ue},{icon:u(()=>[p(x(V),{icon:"ep:search"})]),default:u(()=>[a[10]||(a[10]=_(" 查询 ",-1))]),_:1}),p(o,{onClick:ce},{icon:u(()=>[p(x(V),{icon:"ep:refresh"})]),default:u(()=>[a[11]||(a[11]=_(" 重置 ",-1))]),_:1})]),_:1})]),_:1},8,["model"])]),n("div",q,[n("div",B,[p(o,{type:"success",disabled:!se.value.length,onClick:ve},{icon:u(()=>[p(x(V),{icon:"ep:position"})]),default:u(()=>[a[12]||(a[12]=_(" 批量发货 ",-1))]),_:1},8,["disabled"])]),v((d(),b(he,{data:ae.value,border:"",onSelectionChange:_e},{default:u(()=>[p(k,{type:"selection",width:"55",align:"center",selectable:me}),p(k,{label:"批次/运单号","min-width":"180"},{default:u(({row:e})=>{return[e.batch_no?(d(),i("div",P,"批次: "+h(e.batch_no),1)):g("",!0),e.express_no?(d(),i("div",R,h(e.express_code)+": "+h(e.express_no),1)):g("",!0),n("div",$," 申请时间: "+h((a=e.created_at,a?new Date(a).toLocaleString():"-")),1)];var a}),_:1}),p(k,{label:"用户信息","min-width":"150"},{default:u(({row:e})=>[n("div",null,h(e.user_nickname),1),n("div",L,"ID: "+h(e.user_id),1)]),_:1}),p(k,{label:"收货地址","min-width":"250"},{default:u(({row:e})=>[n("div",N,h(e.address_info),1)]),_:1}),p(k,{label:"商品清单","min-width":"200"},{default:u(({row:e})=>[n("div",Y,[(d(!0),i(y,null,j(e.products,e=>(d(),i("div",{key:e.id,class:"flex items-center gap-2 bg-gray-50 p-1 rounded border border-gray-100"},[p(be,{src:ne(e.image),class:"w-8 h-8 rounded",fit:"cover"},null,8,["src"]),n("div",H,[n("div",{class:"truncate w-24",title:e.name},h(e.name),9,K),n("div",Q,[n("span",X,"¥"+h((e.price/100).toFixed(2)),1),n("span",Z,"x"+h(e.count||1),1)])])]))),128))]),n("div",G,"共 "+h(e.count)+" 件商品",1)]),_:1}),p(k,{label:"状态",width:"100",align:"center"},{default:u(({row:e})=>{return[p(ge,{type:(a=e.status,{1:"warning",2:"primary",3:"success",4:"danger",5:"info"}[a]||"info")},{default:u(()=>[_(h(pe(e.status)),1)]),_:2},1032,["type"])];var a}),_:1}),p(k,{label:"操作",width:"160",fixed:"right",align:"center"},{default:u(({row:e})=>[1===e.status?(d(),b(o,{key:0,link:"",type:"primary",onClick:a=>(e=>{oe.value=!1,ie.record_ids=e.record_ids,ie.express_code="",ie.express_no="",te.value=!0})(e)},{default:u(()=>[...a[13]||(a[13]=[_(" 发货 ",-1)])]),_:1},8,["onClick"])):g("",!0),1===e.status?(d(),b(o,{key:1,link:"",type:"danger",onClick:a=>xe(e)},{default:u(()=>[...a[14]||(a[14]=[_(" 撤销 ",-1)])]),_:1},8,["onClick"])):g("",!0),2===e.status?(d(),b(o,{key:2,link:"",type:"warning",onClick:a=>(e=>{oe.value=!0,ie.record_ids=e.record_ids,ie.express_code=e.express_code,ie.express_no=e.express_no,te.value=!0})(e)},{default:u(()=>[...a[15]||(a[15]=[_(" 修改物流 ",-1)])]),_:1},8,["onClick"])):g("",!0)]),_:1})]),_:1},8,["data"])),[[we,ee.value]]),n("div",W,[p(ye,{"current-page":F.page,"onUpdate:currentPage":a[4]||(a[4]=e=>F.page=e),"page-size":F.page_size,"onUpdate:pageSize":a[5]||(a[5]=e=>F.page_size=e),total:le.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:ue,onCurrentChange:ue},null,8,["current-page","page-size","total"])])]),p(je,{modelValue:te.value,"onUpdate:modelValue":a[9]||(a[9]=e=>te.value=e),title:oe.value?"修改物流信息":"发货处理",width:"500px"},{footer:u(()=>[p(o,{onClick:a[8]||(a[8]=e=>te.value=!1)},{default:u(()=>[...a[16]||(a[16]=[_("取消",-1)])]),_:1}),p(o,{type:"primary",loading:re.value,onClick:fe},{default:u(()=>[...a[17]||(a[17]=[_("确定",-1)])]),_:1},8,["loading"])]),default:u(()=>[p(w,{model:ie,ref:"shipFormRef",rules:de,"label-width":"100px"},{default:u(()=>[p(t,{label:"快递公司",prop:"express_code"},{default:u(()=>[p(s,{modelValue:ie.express_code,"onUpdate:modelValue":a[6]||(a[6]=e=>ie.express_code=e),placeholder:"请选择快递公司",class:"w-full"},{default:u(()=>[p(l,{label:"顺丰速运",value:"SF"}),p(l,{label:"圆通速递",value:"YTO"}),p(l,{label:"中通快递",value:"ZTO"}),p(l,{label:"韵达快递",value:"YD"}),p(l,{label:"申通快递",value:"STO"}),p(l,{label:"京东物流",value:"JD"}),p(l,{label:"邮政EMS",value:"EMS"}),p(l,{label:"极兔速递",value:"J&T"}),p(l,{label:"其他",value:"OTHER"})]),_:1},8,["modelValue"])]),_:1}),p(t,{label:"快递单号",prop:"express_no"},{default:u(()=>[p(r,{modelValue:ie.express_no,"onUpdate:modelValue":a[7]||(a[7]=e=>ie.express_no=e),placeholder:"请输入快递单号"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),[["__scopeId","data-v-ad05ce9e"]]);export{ee as default}; diff --git a/nginx/admin/assets/index-ChvI7PmB.css b/nginx/admin/assets/index-ChvI7PmB.css new file mode 100644 index 0000000..10d0652 --- /dev/null +++ b/nginx/admin/assets/index-ChvI7PmB.css @@ -0,0 +1 @@ +.page-container[data-v-840af1c9]{padding:16px}.quick-actions[data-v-840af1c9]{margin-bottom:16px}.ellipsis[data-v-840af1c9]{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-actions[data-v-840af1c9]{display:flex;align-items:center;gap:6px;white-space:nowrap} diff --git a/nginx/admin/assets/index-CiCawzce.js b/nginx/admin/assets/index-CiCawzce.js new file mode 100644 index 0000000..096f660 --- /dev/null +++ b/nginx/admin/assets/index-CiCawzce.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,r=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,n=(t,r,o)=>r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[r]=o;import{_ as i}from"./ArtException.vue_vue_type_script_setup_true_lang-BNdHgCsP.js";import{d as s,h as l,e as c,p as u}from"./index-BoIUJTA2.js";/* empty css */import"./index-DVdhsH_J.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";const m=s((b=((e,t)=>{for(var r in t||(t={}))a.call(t,r)&&n(e,r,t[r]);if(o)for(var r of o(t))p.call(t,r)&&n(e,r,t[r]);return e})({},{name:"Exception500"}),t(b,r({__name:"index",setup:e=>(e,t)=>{const r=i;return c(),l(r,{data:{title:"500",desc:e.$t("exceptionPage.500"),btnText:e.$t("exceptionPage.gohome"),imgUrl:u("/admin/assets/500-C-Ru4KUd.svg")}},null,8,["data"])}}))));var b;export{m as default}; diff --git a/nginx/admin/assets/index-CiiHKhHN.js b/nginx/admin/assets/index-CiiHKhHN.js new file mode 100644 index 0000000..5c387c2 --- /dev/null +++ b/nginx/admin/assets/index-CiiHKhHN.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,i=(t,a,o)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[a]=o,l=(e,t,a)=>new Promise((o,i)=>{var l=e=>{try{n(a.next(e))}catch(t){i(t)}},s=e=>{try{n(a.throw(e))}catch(t){i(t)}},n=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,s);n((a=a.apply(e,t)).next())});import{d as s,r as n,k as r,o as m,b as p,e as u,g as d,f as c,p as j,w as f,j as g,E as v,M as _,h as b,i as y,v as x,K as h,aV as w,T as V}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as C}from"./index-Bwtbh5WQ.js";import{_ as k}from"./index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js";import{A as O}from"./index-BaXJ8CyS.js";import{u as P}from"./useTable-DzUOUR11.js";import{m as z,c as S,d as T,a as U}from"./product-qKpGgPBm.js";import E from"./category-search-0fyNR6nV.js";import{E as I}from"./index-ZsMdSUVI.js";import{a as D,E as R}from"./index-BcfO0-fK.js";import{E as A,a as $}from"./index-D2gD5Tn5.js";import{E as B}from"./index-rgHg98E6.js";import{E as M}from"./index-CjpBlozU.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";/* empty css *//* empty css *//* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./refs-Cw5r5QN8.js";/* empty css */import"./index-CZJaGuxf.js";import"./useTableColumns-FR69a2pD.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index-C_sVHlWz.js";import"./index-CXD7B41Z.js";import"./index-js0HKKV6.js";import"./index-BaD29Izp.js";import"./_baseClone-Ct7RL6h5.js";import"./token-DWNpOE8r.js";import"./use-dialog-FwJ-QdmW.js";const F={class:"mb-3"},G=s({__name:"index",setup(e){const s=n({name:void 0,status:void 0}),{data:G,loading:L,columns:Q,pagination:H,handleSizeChange:K,handleCurrentChange:N,getData:W,getDataDebounced:X,searchParams:Y,resetSearchParams:q}=P({core:{apiFn:e=>U({page:e.page,page_size:e.page_size,name:e.name,status:e.status}).then(e=>({records:e.list,total:e.total,current:e.page,size:e.page_size})),apiParams:{page:1,page_size:20},columnsFactory:()=>[{prop:"id",label:"ID",width:90,align:"center"},{prop:"name",label:"名称",minWidth:200,showOverflowTooltip:!0},{prop:"parent_id",label:"父分类ID",width:120,align:"center"},{prop:"status",label:"状态",useSlot:!0,width:110,align:"center"},{prop:"actions",label:"操作",useSlot:!0,width:180}]}}),J=n(!1),Z=n("创建分类"),ee=n(null),te=r({name:"",is_fragment:0}),ae=e=>{const l=((e,l)=>{for(var s in l||(l={}))a.call(l,s)&&i(e,s,l[s]);if(t)for(var s of t(l))o.call(l,s)&&i(e,s,l[s]);return e})({},Y),n=e||s.value;Object.assign(l,n),X(l)};function oe(){Z.value="创建分类",ee.value=null,Object.assign(te,{name:"",parent_id:void 0,status:1,is_fragment:0}),J.value=!0}function ie(){return l(this,null,function*(){ee.value?yield z(ee.value,te):yield S(te),J.value=!1,yield W()})}return m(()=>{W()}),(e,t)=>{const a=v,o=I,i=h,n=R,r=$,m=A,P=B,z=D,S=M;return u(),p("div",null,[d(E,{modelValue:s.value,"onUpdate:modelValue":t[0]||(t[0]=e=>s.value=e),onSearch:ae,onReset:j(q)},null,8,["modelValue","onReset"]),c("div",F,[d(a,{type:"primary",onClick:oe},{default:f(()=>[...t[8]||(t[8]=[g("创建分类",-1)])]),_:1})]),d(O,{columns:j(Q),"onUpdate:columns":t[1]||(t[1]=e=>_(Q)?Q.value=e:null),loading:j(L),onRefresh:j(W)},null,8,["columns","loading","onRefresh"]),d(C,{loading:j(L),data:j(G),columns:j(Q),pagination:j(H),"onPagination:sizeChange":j(K),"onPagination:currentChange":j(N)},{status:f(({row:e})=>[d(o,{type:1===e.status?"success":"danger"},{default:f(()=>[g(x(1===e.status?"启用":"禁用"),1)]),_:2},1032,["type"]),1===e.is_fragment?(u(),b(o,{key:0,type:"warning",style:{"margin-left":"4px"}},{default:f(()=>[...t[9]||(t[9]=[g("碎片",-1)])]),_:1})):y("",!0)]),actions:f(({row:e})=>[d(k,{type:"edit",onClick:t=>function(e){Z.value="编辑分类",ee.value=e.id,Object.assign(te,{name:e.name,parent_id:e.parent_id,status:e.status,is_fragment:e.is_fragment||0}),J.value=!0}(e)},null,8,["onClick"]),d(k,{type:"delete",onClick:t=>function(e){return l(this,null,function*(){var t,a,o;try{const t=G.value.find(t=>t.id===e),a=(null==t?void 0:t.name)||"该分类";yield w.confirm(`确定要删除商品分类"${a}"吗?此操作不可恢复`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",beforeClose:(e,t,a)=>{"confirm"===e?(t.confirmButtonLoading=!0,a()):a()}}),yield T(e),V.success({message:`"${a}"已成功删除`,duration:3e3}),yield W()}catch(i){if("cancel"===i)return;const l=(null==(a=null==(t=null==i?void 0:i.response)?void 0:t.data)?void 0:a.message)||i.message||"删除失败",s=(null==(o=G.value.find(t=>t.id===e))?void 0:o.name)||"该分类";V.error({message:`"${s}"删除失败:${l}`,duration:4e3})}})}(e.id)},null,8,["onClick"])]),_:1},8,["loading","data","columns","pagination","onPagination:sizeChange","onPagination:currentChange"]),d(S,{modelValue:J.value,"onUpdate:modelValue":t[7]||(t[7]=e=>J.value=e),title:Z.value,width:"520px"},{footer:f(()=>[d(a,{onClick:t[6]||(t[6]=e=>J.value=!1)},{default:f(()=>[...t[10]||(t[10]=[g("取消",-1)])]),_:1}),d(a,{type:"primary",onClick:ie},{default:f(()=>[...t[11]||(t[11]=[g("提交",-1)])]),_:1})]),default:f(()=>[d(z,{model:j(te),"label-width":"110px"},{default:f(()=>[d(n,{label:"名称"},{default:f(()=>[d(i,{modelValue:j(te).name,"onUpdate:modelValue":t[2]||(t[2]=e=>j(te).name=e)},null,8,["modelValue"])]),_:1}),d(n,{label:"父分类ID"},{default:f(()=>[d(i,{modelValue:j(te).parent_id,"onUpdate:modelValue":t[3]||(t[3]=e=>j(te).parent_id=e),modelModifiers:{number:!0}},null,8,["modelValue"])]),_:1}),d(n,{label:"状态"},{default:f(()=>[d(m,{modelValue:j(te).status,"onUpdate:modelValue":t[4]||(t[4]=e=>j(te).status=e),modelModifiers:{number:!0}},{default:f(()=>[d(r,{value:1,label:"启用"}),d(r,{value:2,label:"禁用"})]),_:1},8,["modelValue"])]),_:1}),d(n,{label:"碎片分类"},{default:f(()=>[d(P,{modelValue:j(te).is_fragment,"onUpdate:modelValue":t[5]||(t[5]=e=>j(te).is_fragment=e),"active-value":1,"inactive-value":0,"active-text":"是","inactive-text":"否"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}});export{G as default}; diff --git a/nginx/admin/assets/index-CjYU62DD.js b/nginx/admin/assets/index-CjYU62DD.js new file mode 100644 index 0000000..821dd35 --- /dev/null +++ b/nginx/admin/assets/index-CjYU62DD.js @@ -0,0 +1,18 @@ +var e=(e,t,r)=>new Promise((o,i)=>{var n=e=>{try{a(r.next(e))}catch(t){i(t)}},s=e=>{try{a(r.throw(e))}catch(t){i(t)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(n,s);a((r=r.apply(e,t)).next())});import{bH as t,bG as r,d as o,z as i,B as n,y as s,r as a,k as c,c as l,A as h,o as u,aU as f,aP as d,H as p,b as v,e as _,i as y,p as x,X as g,g as k,w,f as m,v as B,O as b,N as S,K as A,P as C,ai as H,eO as z,h as E,E as R,j as D,M as P,eP as M,T as L}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as F}from"./avatar-pR7-E1hl.js";import{r as K,m as j}from"./md5-NkLrx3AN.js";import{a as W,E as O}from"./index-BcfO0-fK.js";import{E as I}from"./index-CjpBlozU.js";import{_ as U}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-COyGylbk.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";var X,T={exports:{}},N={exports:{}};function V(){return X?N.exports:(X=1,N.exports=(s=K(),r=(t=s).lib,o=r.Base,i=r.WordArray,(n=t.x64={}).Word=o.extend({init:function(e,t){this.high=e,this.low=t}}),n.WordArray=o.extend({init:function(t,r){t=this.words=t||[],this.sigBytes=r!=e?r:8*t.length},toX32:function(){for(var e=this.words,t=e.length,r=[],o=0;o>>2]|=e[i]<<24-i%4*8;r.call(this,o,t)}else r.apply(this,arguments)};o.prototype=t}}(),e.lib.WordArray)),q.exports;var e}var $,Q={exports:{}};function J(){return $?Q.exports:($=1,Q.exports=(e=K(),function(){var t=e,r=t.lib.WordArray,o=t.enc;function i(e){return e<<8&4278255360|e>>>8&16711935}o.Utf16=o.Utf16BE={stringify:function(e){for(var t=e.words,r=e.sigBytes,o=[],i=0;i>>2]>>>16-i%4*8&65535;o.push(String.fromCharCode(n))}return o.join("")},parse:function(e){for(var t=e.length,o=[],i=0;i>>1]|=e.charCodeAt(i)<<16-i%2*16;return r.create(o,2*t)}},o.Utf16LE={stringify:function(e){for(var t=e.words,r=e.sigBytes,o=[],n=0;n>>2]>>>16-n%4*8&65535);o.push(String.fromCharCode(s))}return o.join("")},parse:function(e){for(var t=e.length,o=[],n=0;n>>1]|=i(e.charCodeAt(n)<<16-n%2*16);return r.create(o,2*t)}}}(),e.enc.Utf16));var e}var Y,ee={exports:{}};function te(){return Y?ee.exports:(Y=1,ee.exports=(e=K(),function(){var t=e,r=t.lib.WordArray;function o(e,t,o){for(var i=[],n=0,s=0;s>>6-s%4*2;i[n>>>2]|=a<<24-n%4*8,n++}return r.create(i,n)}t.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,o=this._map;e.clamp();for(var i=[],n=0;n>>2]>>>24-n%4*8&255)<<16|(t[n+1>>>2]>>>24-(n+1)%4*8&255)<<8|t[n+2>>>2]>>>24-(n+2)%4*8&255,a=0;a<4&&n+.75*a>>6*(3-a)&63));var c=o.charAt(64);if(c)for(;i.length%4;)i.push(c);return i.join("")},parse:function(e){var t=e.length,r=this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var n=0;n>>6-s%4*2;i[n>>>2]|=a<<24-n%4*8,n++}return r.create(i,n)}t.enc.Base64url={stringify:function(e,t){void 0===t&&(t=!0);var r=e.words,o=e.sigBytes,i=t?this._safe_map:this._map;e.clamp();for(var n=[],s=0;s>>2]>>>24-s%4*8&255)<<16|(r[s+1>>>2]>>>24-(s+1)%4*8&255)<<8|r[s+2>>>2]>>>24-(s+2)%4*8&255,c=0;c<4&&s+.75*c>>6*(3-c)&63));var l=i.charAt(64);if(l)for(;n.length%4;)n.push(l);return n.join("")},parse:function(e,t){void 0===t&&(t=!0);var r=e.length,i=t?this._safe_map:this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var s=0;s>>31}var u=(o<<5|o>>>27)+c+n[l];u+=l<20?1518500249+(i&s|~i&a):l<40?1859775393+(i^s^a):l<60?(i&s|i&a|s&a)-1894007588:(i^s^a)-899497514,c=a,a=s,s=i<<30|i>>>2,i=o,o=u}r[0]=r[0]+o|0,r[1]=r[1]+i|0,r[2]=r[2]+s|0,r[3]=r[3]+a|0,r[4]=r[4]+c|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,o=8*e.sigBytes;return t[o>>>5]|=128<<24-o%32,t[14+(o+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(o+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}}),e.SHA1=o._createHelper(s),e.HmacSHA1=o._createHmacHelper(s),a.SHA1));var e,t,r,o,i,n,s,a}var ce,le={exports:{}};function he(){return ce?le.exports:(ce=1,le.exports=(e=K(),function(t){var r=e,o=r.lib,i=o.WordArray,n=o.Hasher,s=r.algo,a=[],c=[];!function(){function e(e){for(var r=t.sqrt(e),o=2;o<=r;o++)if(!(e%o))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var o=2,i=0;i<64;)e(o)&&(i<8&&(a[i]=r(t.pow(o,.5))),c[i]=r(t.pow(o,1/3)),i++),o++}();var l=[],h=s.SHA256=n.extend({_doReset:function(){this._hash=new i.init(a.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,o=r[0],i=r[1],n=r[2],s=r[3],a=r[4],h=r[5],u=r[6],f=r[7],d=0;d<64;d++){if(d<16)l[d]=0|e[t+d];else{var p=l[d-15],v=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,_=l[d-2],y=(_<<15|_>>>17)^(_<<13|_>>>19)^_>>>10;l[d]=v+l[d-7]+y+l[d-16]}var x=o&i^o&n^i&n,g=(o<<30|o>>>2)^(o<<19|o>>>13)^(o<<10|o>>>22),k=f+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&h^~a&u)+c[d]+l[d];f=u,u=h,h=a,a=s+k|0,s=n,n=i,i=o,o=k+(g+x)|0}r[0]=r[0]+o|0,r[1]=r[1]+i|0,r[2]=r[2]+n|0,r[3]=r[3]+s|0,r[4]=r[4]+a|0,r[5]=r[5]+h|0,r[6]=r[6]+u|0,r[7]=r[7]+f|0},_doFinalize:function(){var e=this._data,r=e.words,o=8*this._nDataBytes,i=8*e.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=t.floor(o/4294967296),r[15+(i+64>>>9<<4)]=o,e.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});r.SHA256=n._createHelper(h),r.HmacSHA256=n._createHmacHelper(h)}(Math),e.SHA256));var e}var ue,fe={exports:{}};var de,pe={exports:{}};function ve(){return de||(de=1,pe.exports=(e=K(),V(),function(){var t=e,r=t.lib.Hasher,o=t.x64,i=o.Word,n=o.WordArray,s=t.algo;function a(){return i.create.apply(i,arguments)}var c=[a(1116352408,3609767458),a(1899447441,602891725),a(3049323471,3964484399),a(3921009573,2173295548),a(961987163,4081628472),a(1508970993,3053834265),a(2453635748,2937671579),a(2870763221,3664609560),a(3624381080,2734883394),a(310598401,1164996542),a(607225278,1323610764),a(1426881987,3590304994),a(1925078388,4068182383),a(2162078206,991336113),a(2614888103,633803317),a(3248222580,3479774868),a(3835390401,2666613458),a(4022224774,944711139),a(264347078,2341262773),a(604807628,2007800933),a(770255983,1495990901),a(1249150122,1856431235),a(1555081692,3175218132),a(1996064986,2198950837),a(2554220882,3999719339),a(2821834349,766784016),a(2952996808,2566594879),a(3210313671,3203337956),a(3336571891,1034457026),a(3584528711,2466948901),a(113926993,3758326383),a(338241895,168717936),a(666307205,1188179964),a(773529912,1546045734),a(1294757372,1522805485),a(1396182291,2643833823),a(1695183700,2343527390),a(1986661051,1014477480),a(2177026350,1206759142),a(2456956037,344077627),a(2730485921,1290863460),a(2820302411,3158454273),a(3259730800,3505952657),a(3345764771,106217008),a(3516065817,3606008344),a(3600352804,1432725776),a(4094571909,1467031594),a(275423344,851169720),a(430227734,3100823752),a(506948616,1363258195),a(659060556,3750685593),a(883997877,3785050280),a(958139571,3318307427),a(1322822218,3812723403),a(1537002063,2003034995),a(1747873779,3602036899),a(1955562222,1575990012),a(2024104815,1125592928),a(2227730452,2716904306),a(2361852424,442776044),a(2428436474,593698344),a(2756734187,3733110249),a(3204031479,2999351573),a(3329325298,3815920427),a(3391569614,3928383900),a(3515267271,566280711),a(3940187606,3454069534),a(4118630271,4000239992),a(116418474,1914138554),a(174292421,2731055270),a(289380356,3203993006),a(460393269,320620315),a(685471733,587496836),a(852142971,1086792851),a(1017036298,365543100),a(1126000580,2618297676),a(1288033470,3409855158),a(1501505948,4234509866),a(1607167915,987167468),a(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=a()}();var h=s.SHA512=r.extend({_doReset:function(){this._hash=new n.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=this._hash.words,o=r[0],i=r[1],n=r[2],s=r[3],a=r[4],h=r[5],u=r[6],f=r[7],d=o.high,p=o.low,v=i.high,_=i.low,y=n.high,x=n.low,g=s.high,k=s.low,w=a.high,m=a.low,B=h.high,b=h.low,S=u.high,A=u.low,C=f.high,H=f.low,z=d,E=p,R=v,D=_,P=y,M=x,L=g,F=k,K=w,j=m,W=B,O=b,I=S,U=A,X=C,T=H,N=0;N<80;N++){var V,Z,q=l[N];if(N<16)Z=q.high=0|e[t+2*N],V=q.low=0|e[t+2*N+1];else{var G=l[N-15],$=G.high,Q=G.low,J=($>>>1|Q<<31)^($>>>8|Q<<24)^$>>>7,Y=(Q>>>1|$<<31)^(Q>>>8|$<<24)^(Q>>>7|$<<25),ee=l[N-2],te=ee.high,re=ee.low,oe=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,ie=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),ne=l[N-7],se=ne.high,ae=ne.low,ce=l[N-16],le=ce.high,he=ce.low;Z=(Z=(Z=J+se+((V=Y+ae)>>>0>>0?1:0))+oe+((V+=ie)>>>0>>0?1:0))+le+((V+=he)>>>0>>0?1:0),q.high=Z,q.low=V}var ue,fe=K&W^~K&I,de=j&O^~j&U,pe=z&R^z&P^R&P,ve=E&D^E&M^D&M,_e=(z>>>28|E<<4)^(z<<30|E>>>2)^(z<<25|E>>>7),ye=(E>>>28|z<<4)^(E<<30|z>>>2)^(E<<25|z>>>7),xe=(K>>>14|j<<18)^(K>>>18|j<<14)^(K<<23|j>>>9),ge=(j>>>14|K<<18)^(j>>>18|K<<14)^(j<<23|K>>>9),ke=c[N],we=ke.high,me=ke.low,Be=X+xe+((ue=T+ge)>>>0>>0?1:0),be=ye+ve;X=I,T=U,I=W,U=O,W=K,O=j,K=L+(Be=(Be=(Be=Be+fe+((ue+=de)>>>0>>0?1:0))+we+((ue+=me)>>>0>>0?1:0))+Z+((ue+=V)>>>0>>0?1:0))+((j=F+ue|0)>>>0>>0?1:0)|0,L=P,F=M,P=R,M=D,R=z,D=E,z=Be+(_e+pe+(be>>>0>>0?1:0))+((E=ue+be|0)>>>0>>0?1:0)|0}p=o.low=p+E,o.high=d+z+(p>>>0>>0?1:0),_=i.low=_+D,i.high=v+R+(_>>>0>>0?1:0),x=n.low=x+M,n.high=y+P+(x>>>0>>0?1:0),k=s.low=k+F,s.high=g+L+(k>>>0>>0?1:0),m=a.low=m+j,a.high=w+K+(m>>>0>>0?1:0),b=h.low=b+O,h.high=B+W+(b>>>0>>0?1:0),A=u.low=A+U,u.high=S+I+(A>>>0>>0?1:0),H=f.low=H+T,f.high=C+X+(H>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,o=8*e.sigBytes;return t[o>>>5]|=128<<24-o%32,t[30+(o+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(o+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});t.SHA512=r._createHelper(h),t.HmacSHA512=r._createHmacHelper(h)}(),e.SHA512)),pe.exports;var e}var _e,ye={exports:{}};var xe,ge={exports:{}};function ke(){return xe?ge.exports:(xe=1,ge.exports=(e=K(),V(),function(t){var r=e,o=r.lib,i=o.WordArray,n=o.Hasher,s=r.x64.Word,a=r.algo,c=[],l=[],h=[];!function(){for(var e=1,t=0,r=0;r<24;r++){c[e+5*t]=(r+1)*(r+2)/2%64;var o=(2*e+3*t)%5;e=t%5,t=o}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var i=1,n=0;n<24;n++){for(var a=0,u=0,f=0;f<7;f++){if(1&i){var d=(1<>>24)|4278255360&(n<<24|n>>>8),s=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),(H=r[i]).high^=s,H.low^=n}for(var a=0;a<24;a++){for(var f=0;f<5;f++){for(var d=0,p=0,v=0;v<5;v++)d^=(H=r[f+5*v]).high,p^=H.low;var _=u[f];_.high=d,_.low=p}for(f=0;f<5;f++){var y=u[(f+4)%5],x=u[(f+1)%5],g=x.high,k=x.low;for(d=y.high^(g<<1|k>>>31),p=y.low^(k<<1|g>>>31),v=0;v<5;v++)(H=r[f+5*v]).high^=d,H.low^=p}for(var w=1;w<25;w++){var m=(H=r[w]).high,B=H.low,b=c[w];b<32?(d=m<>>32-b,p=B<>>32-b):(d=B<>>64-b,p=m<>>64-b);var S=u[l[w]];S.high=d,S.low=p}var A=u[0],C=r[0];for(A.high=C.high,A.low=C.low,f=0;f<5;f++)for(v=0;v<5;v++){var H=r[w=f+5*v],z=u[w],E=u[(f+1)%5+5*v],R=u[(f+2)%5+5*v];H.high=z.high^~E.high&R.high,H.low=z.low^~E.low&R.low}H=r[0];var D=h[a];H.high^=D.high,H.low^=D.low}},_doFinalize:function(){var e=this._data,r=e.words;this._nDataBytes;var o=8*e.sigBytes,n=32*this.blockSize;r[o>>>5]|=1<<24-o%32,r[(t.ceil((o+1)/n)*n>>>5)-1]|=128,e.sigBytes=4*r.length,this._process();for(var s=this._state,a=this.cfg.outputLength/8,c=a/8,l=[],h=0;h>>24)|4278255360&(f<<24|f>>>8),d=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8),l.push(d),l.push(f)}return new i.init(l,a)},clone:function(){for(var e=n.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});r.SHA3=n._createHelper(f),r.HmacSHA3=n._createHmacHelper(f)}(Math),e.SHA3));var e}var we,me={exports:{}};var Be,be={exports:{}};function Se(){return Be?be.exports:(Be=1,be.exports=(e=K(),r=(t=e).lib.Base,o=t.enc.Utf8,void(t.algo.HMAC=r.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=o.parse(t));var r=e.blockSize,i=4*r;t.sigBytes>i&&(t=e.finalize(t)),t.clamp();for(var n=this._oKey=t.clone(),s=this._iKey=t.clone(),a=n.words,c=s.words,l=0;l>>2];e.sigBytes-=t}};o.BlockCipher=h.extend({cfg:h.cfg.extend({mode:d,padding:p}),reset:function(){var e;h.reset.call(this);var t=this.cfg,r=t.iv,o=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=o.createEncryptor:(e=o.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,r&&r.words):(this._mode=e.call(o,this,r&&r.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4});var v=o.CipherParams=i.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),_=(r.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,r=e.salt;return(r?n.create([1398893684,1701076831]).concat(r).concat(t):t).toString(c)},parse:function(e){var t,r=c.parse(e),o=r.words;return 1398893684==o[0]&&1701076831==o[1]&&(t=n.create(o.slice(2,4)),o.splice(0,4),r.sigBytes-=16),v.create({ciphertext:r,salt:t})}},y=o.SerializableCipher=i.extend({cfg:i.extend({format:_}),encrypt:function(e,t,r,o){o=this.cfg.extend(o);var i=e.createEncryptor(r,o),n=i.finalize(t),s=i.cfg;return v.create({ciphertext:n,key:r,iv:s.iv,algorithm:e,mode:s.mode,padding:s.padding,blockSize:e.blockSize,formatter:o.format})},decrypt:function(e,t,r,o){return o=this.cfg.extend(o),t=this._parse(t,o.format),e.createDecryptor(r,o).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),x=(r.kdf={}).OpenSSL={execute:function(e,t,r,o,i){if(o||(o=n.random(8)),i)s=l.create({keySize:t+r,hasher:i}).compute(e,o);else var s=l.create({keySize:t+r}).compute(e,o);var a=n.create(s.words.slice(t),4*r);return s.sigBytes=4*t,v.create({key:s,iv:a,salt:o})}},g=o.PasswordBasedCipher=y.extend({cfg:y.cfg.extend({kdf:x}),encrypt:function(e,t,r,o){var i=(o=this.cfg.extend(o)).kdf.execute(r,e.keySize,e.ivSize,o.salt,o.hasher);o.iv=i.iv;var n=y.encrypt.call(this,e,t,i.key,o);return n.mixIn(i),n},decrypt:function(e,t,r,o){o=this.cfg.extend(o),t=this._parse(t,o.format);var i=o.kdf.execute(r,e.keySize,e.ivSize,t.salt,o.hasher);return o.iv=i.iv,y.decrypt.call(this,e,t,i.key,o)}})}())));var e}var Me,Le={exports:{}};var Fe,Ke={exports:{}};var je,We={exports:{}};function Oe(){return je?We.exports:(je=1,We.exports=(e=K(),Pe(), +/** @preserve + * Counter block mode compatible with Dr Brian Gladman fileenc.c + * derived from CryptoJS.mode.CTR + * Jan Hruby jhruby.web@gmail.com + */ +e.mode.CTRGladman=function(){var t=e.lib.BlockCipherMode.extend();function r(e){if(255&~(e>>24))e+=1<<24;else{var t=e>>16&255,r=e>>8&255,o=255&e;255===t?(t=0,255===r?(r=0,255===o?o=0:++o):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=o}return e}function o(e){return 0===(e[0]=r(e[0]))&&(e[1]=r(e[1])),e}var i=t.Encryptor=t.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize,n=this._iv,s=this._counter;n&&(s=this._counter=n.slice(0),this._iv=void 0),o(s);var a=s.slice(0);r.encryptBlock(a,0);for(var c=0;c>>5]>>>31-o%32&1}for(var i=this._subKeys=[],n=0;n<16;n++){var l=i[n]=[],h=c[n];for(r=0;r<24;r++)l[r/6|0]|=t[(a[r]-1+h)%28]<<31-r%6,l[4+(r/6|0)]|=t[28+(a[r+24]-1+h)%28]<<31-r%6;for(l[0]=l[0]<<1|l[0]>>>31,r=1;r<7;r++)l[r]=l[r]>>>4*(r-1)+3;l[7]=l[7]<<5|l[7]>>>27}var u=this._invSubKeys=[];for(r=0;r<16;r++)u[r]=i[15-r]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,r){this._lBlock=e[t],this._rBlock=e[t+1],f.call(this,4,252645135),f.call(this,16,65535),d.call(this,2,858993459),d.call(this,8,16711935),f.call(this,1,1431655765);for(var o=0;o<16;o++){for(var i=r[o],n=this._lBlock,s=this._rBlock,a=0,c=0;c<8;c++)a|=l[c][((s^i[c])&h[c])>>>0];this._lBlock=s,this._rBlock=n^a}var u=this._lBlock;this._lBlock=this._rBlock,this._rBlock=u,f.call(this,1,1431655765),d.call(this,8,16711935),d.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function f(e,t){var r=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=r,this._lBlock^=r<>>e^this._lBlock)&t;this._lBlock^=r,this._rBlock^=r<192.");var t=e.slice(0,2),r=e.length<4?e.slice(0,2):e.slice(2,4),i=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=u.createEncryptor(o.create(t)),this._des2=u.createEncryptor(o.create(r)),this._des3=u.createEncryptor(o.create(i))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});t.TripleDES=i._createHelper(p)}(),e.TripleDES));var e}var ct,lt={exports:{}};var ht,ut={exports:{}};var ft,dt={exports:{}};var pt,vt,_t,yt,xt,gt,kt,wt={exports:{}};function mt(){return pt?wt.exports:(pt=1,wt.exports=(e=K(),te(),Ee(),Pe(),function(){var t=e,r=t.lib.BlockCipher,o=t.algo;const i=16,n=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],s=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var a={pbox:[],sbox:[]};function c(e,t){let r=t>>24&255,o=t>>16&255,i=t>>8&255,n=255&t,s=e.sbox[0][r]+e.sbox[1][o];return s^=e.sbox[2][i],s+=e.sbox[3][n],s}function l(e,t,r){let o,n=t,s=r;for(let a=0;a1;--a)n^=e.pbox[a],s=c(e,n)^s,o=n,n=s,s=o;return o=n,n=s,s=o,s^=e.pbox[1],n^=e.pbox[0],{left:n,right:s}}function u(e,t,r){for(let i=0;i<4;i++){e.sbox[i]=[];for(let t=0;t<256;t++)e.sbox[i][t]=s[i][t]}let o=0;for(let s=0;s=r&&(o=0);let a=0,c=0,h=0;for(let n=0;n>>24)|4278255360&(i<<24|i>>>8)}var n,f,g,k,w,m,B,b,S,A,C,H=this._hash.words,z=h.words,E=u.words,R=s.words,D=a.words,P=c.words,M=l.words;for(m=n=H[0],B=f=H[1],b=g=H[2],S=k=H[3],A=w=H[4],r=0;r<80;r+=1)C=n+e[t+R[r]]|0,C+=r<16?d(f,g,k)+z[0]:r<32?p(f,g,k)+z[1]:r<48?v(f,g,k)+z[2]:r<64?_(f,g,k)+z[3]:y(f,g,k)+z[4],C=(C=x(C|=0,P[r]))+w|0,n=w,w=k,k=x(g,10),g=f,f=C,C=m+e[t+D[r]]|0,C+=r<16?y(B,b,S)+E[0]:r<32?_(B,b,S)+E[1]:r<48?v(B,b,S)+E[2]:r<64?p(B,b,S)+E[3]:d(B,b,S)+E[4],C=(C=x(C|=0,M[r]))+A|0,m=A,A=S,S=x(b,10),b=B,B=C;C=H[1]+g+S|0,H[1]=H[2]+k+A|0,H[2]=H[3]+w+m|0,H[3]=H[4]+n+B|0,H[4]=H[0]+f+b|0,H[0]=C},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,o=8*e.sigBytes;t[o>>>5]|=128<<24-o%32,t[14+(o+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e.sigBytes=4*(t.length+1),this._process();for(var i=this._hash,n=i.words,s=0;s<5;s++){var a=n[s];n[s]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}return i},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});function d(e,t,r){return e^t^r}function p(e,t,r){return e&t|~e&r}function v(e,t,r){return(e|~t)^r}function _(e,t,r){return e&r|t&~r}function y(e,t,r){return e^(t|~r)}function x(e,t){return e<>>32-t}t.RIPEMD160=i._createHelper(f),t.HmacRIPEMD160=i._createHmacHelper(f)}(),e.RIPEMD160));var e}(),Se(),function(){return Ae?Ce.exports:(Ae=1,Ce.exports=(c=K(),he(),Se(),t=(e=c).lib,r=t.Base,o=t.WordArray,i=e.algo,n=i.SHA256,s=i.HMAC,a=i.PBKDF2=r.extend({cfg:r.extend({keySize:4,hasher:n,iterations:25e4}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var r=this.cfg,i=s.create(r.hasher,e),n=o.create(),a=o.create([1]),c=n.words,l=a.words,h=r.keySize,u=r.iterations;c.length>>2]|=i<<24-n%4*8,e.sigBytes+=i},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},e.pad.Ansix923));var e}(),function(){return Ze?qe.exports:(Ze=1,qe.exports=(e=K(),Pe(),e.pad.Iso10126={pad:function(t,r){var o=4*r,i=o-t.sigBytes%o;t.concat(e.lib.WordArray.random(i-1)).concat(e.lib.WordArray.create([i<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},e.pad.Iso10126));var e}(),function(){return Ge?$e.exports:(Ge=1,$e.exports=(e=K(),Pe(),e.pad.Iso97971={pad:function(t,r){t.concat(e.lib.WordArray.create([2147483648],1)),e.pad.ZeroPadding.pad(t,r)},unpad:function(t){e.pad.ZeroPadding.unpad(t),t.sigBytes--}},e.pad.Iso97971));var e}(),function(){return Qe?Je.exports:(Qe=1,Je.exports=(e=K(),Pe(),e.pad.ZeroPadding={pad:function(e,t){var r=4*t;e.clamp(),e.sigBytes+=r-(e.sigBytes%r||r)},unpad:function(e){var t=e.words,r=e.sigBytes-1;for(r=e.sigBytes-1;r>=0;r--)if(t[r>>>2]>>>24-r%4*8&255){e.sigBytes=r+1;break}}},e.pad.ZeroPadding));var e}(),function(){return Ye?et.exports:(Ye=1,et.exports=(e=K(),Pe(),e.pad.NoPadding={pad:function(){},unpad:function(){}},e.pad.NoPadding));var e}(),function(){return tt?rt.exports:(tt=1,rt.exports=(o=K(),Pe(),t=(e=o).lib.CipherParams,r=e.enc.Hex,e.format.Hex={stringify:function(e){return e.ciphertext.toString(r)},parse:function(e){var o=r.parse(e);return t.create({ciphertext:o})}},o.format.Hex));var e,t,r,o}(),function(){return ot?it.exports:(ot=1,it.exports=(e=K(),te(),Ee(),Pe(),function(){var t=e,r=t.lib.BlockCipher,o=t.algo,i=[],n=[],s=[],a=[],c=[],l=[],h=[],u=[],f=[],d=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,o=0;for(t=0;t<256;t++){var p=o^o<<1^o<<2^o<<3^o<<4;p=p>>>8^255&p^99,i[r]=p,n[p]=r;var v=e[r],_=e[v],y=e[_],x=257*e[p]^16843008*p;s[r]=x<<24|x>>>8,a[r]=x<<16|x>>>16,c[r]=x<<8|x>>>24,l[r]=x,x=16843009*y^65537*_^257*v^16843008*r,h[p]=x<<24|x>>>8,u[p]=x<<16|x>>>16,f[p]=x<<8|x>>>24,d[p]=x,r?(r=v^e[e[e[y^v]]],o^=e[e[o]]):r=o=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],v=o.AES=r.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,r=e.sigBytes/4,o=4*((this._nRounds=r+6)+1),n=this._keySchedule=[],s=0;s6&&s%r==4&&(l=i[l>>>24]<<24|i[l>>>16&255]<<16|i[l>>>8&255]<<8|i[255&l]):(l=i[(l=l<<8|l>>>24)>>>24]<<24|i[l>>>16&255]<<16|i[l>>>8&255]<<8|i[255&l],l^=p[s/r|0]<<24),n[s]=n[s-r]^l);for(var a=this._invKeySchedule=[],c=0;c>>24]]^u[i[l>>>16&255]]^f[i[l>>>8&255]]^d[i[255&l]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,s,a,c,l,i)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,h,u,f,d,n),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,o,i,n,s,a){for(var c=this._nRounds,l=e[t]^r[0],h=e[t+1]^r[1],u=e[t+2]^r[2],f=e[t+3]^r[3],d=4,p=1;p>>24]^i[h>>>16&255]^n[u>>>8&255]^s[255&f]^r[d++],_=o[h>>>24]^i[u>>>16&255]^n[f>>>8&255]^s[255&l]^r[d++],y=o[u>>>24]^i[f>>>16&255]^n[l>>>8&255]^s[255&h]^r[d++],x=o[f>>>24]^i[l>>>16&255]^n[h>>>8&255]^s[255&u]^r[d++];l=v,h=_,u=y,f=x}v=(a[l>>>24]<<24|a[h>>>16&255]<<16|a[u>>>8&255]<<8|a[255&f])^r[d++],_=(a[h>>>24]<<24|a[u>>>16&255]<<16|a[f>>>8&255]<<8|a[255&l])^r[d++],y=(a[u>>>24]<<24|a[f>>>16&255]<<16|a[l>>>8&255]<<8|a[255&h])^r[d++],x=(a[f>>>24]<<24|a[l>>>16&255]<<16|a[h>>>8&255]<<8|a[255&u])^r[d++],e[t]=v,e[t+1]=_,e[t+2]=y,e[t+3]=x},keySize:8});t.AES=r._createHelper(v)}(),e.AES));var e}(),at(),function(){return ct?lt.exports:(ct=1,lt.exports=(e=K(),te(),Ee(),Pe(),function(){var t=e,r=t.lib.StreamCipher,o=t.algo,i=o.RC4=r.extend({_doReset:function(){for(var e=this._key,t=e.words,r=e.sigBytes,o=this._S=[],i=0;i<256;i++)o[i]=i;i=0;for(var n=0;i<256;i++){var s=i%r,a=t[s>>>2]>>>24-s%4*8&255;n=(n+o[i]+a)%256;var c=o[i];o[i]=o[n],o[n]=c}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=n.call(this)},keySize:8,ivSize:0});function n(){for(var e=this._S,t=this._i,r=this._j,o=0,i=0;i<4;i++){r=(r+e[t=(t+1)%256])%256;var n=e[t];e[t]=e[r],e[r]=n,o|=e[(e[t]+e[r])%256]<<24-8*i}return this._i=t,this._j=r,o}t.RC4=r._createHelper(i);var s=o.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)n.call(this)}});t.RC4Drop=r._createHelper(s)}(),e.RC4));var e}(),function(){return ht?ut.exports:(ht=1,ut.exports=(e=K(),te(),Ee(),Pe(),function(){var t=e,r=t.lib.StreamCipher,o=t.algo,i=[],n=[],s=[],a=o.Rabbit=r.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,r=0;r<4;r++)e[r]=16711935&(e[r]<<8|e[r]>>>24)|4278255360&(e[r]<<24|e[r]>>>8);var o=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,r=0;r<4;r++)c.call(this);for(r=0;r<8;r++)i[r]^=o[r+4&7];if(t){var n=t.words,s=n[0],a=n[1],l=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),h=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),u=l>>>16|4294901760&h,f=h<<16|65535&l;for(i[0]^=l,i[1]^=u,i[2]^=h,i[3]^=f,i[4]^=l,i[5]^=u,i[6]^=h,i[7]^=f,r=0;r<4;r++)c.call(this)}},_doProcessBlock:function(e,t){var r=this._X;c.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var o=0;o<4;o++)i[o]=16711935&(i[o]<<8|i[o]>>>24)|4278255360&(i[o]<<24|i[o]>>>8),e[t+o]^=i[o]},blockSize:4,ivSize:2});function c(){for(var e=this._X,t=this._C,r=0;r<8;r++)n[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var o=e[r]+t[r],i=65535&o,a=o>>>16,c=((i*i>>>17)+i*a>>>15)+a*a,l=((4294901760&o)*o|0)+((65535&o)*o|0);s[r]=c^l}e[0]=s[0]+(s[7]<<16|s[7]>>>16)+(s[6]<<16|s[6]>>>16)|0,e[1]=s[1]+(s[0]<<8|s[0]>>>24)+s[7]|0,e[2]=s[2]+(s[1]<<16|s[1]>>>16)+(s[0]<<16|s[0]>>>16)|0,e[3]=s[3]+(s[2]<<8|s[2]>>>24)+s[1]|0,e[4]=s[4]+(s[3]<<16|s[3]>>>16)+(s[2]<<16|s[2]>>>16)|0,e[5]=s[5]+(s[4]<<8|s[4]>>>24)+s[3]|0,e[6]=s[6]+(s[5]<<16|s[5]>>>16)+(s[4]<<16|s[4]>>>16)|0,e[7]=s[7]+(s[6]<<8|s[6]>>>24)+s[5]|0}t.Rabbit=r._createHelper(a)}(),e.Rabbit));var e}(),function(){return ft?dt.exports:(ft=1,dt.exports=(e=K(),te(),Ee(),Pe(),function(){var t=e,r=t.lib.StreamCipher,o=t.algo,i=[],n=[],s=[],a=o.RabbitLegacy=r.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],o=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var i=0;i<4;i++)c.call(this);for(i=0;i<8;i++)o[i]^=r[i+4&7];if(t){var n=t.words,s=n[0],a=n[1],l=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),h=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),u=l>>>16|4294901760&h,f=h<<16|65535&l;for(o[0]^=l,o[1]^=u,o[2]^=h,o[3]^=f,o[4]^=l,o[5]^=u,o[6]^=h,o[7]^=f,i=0;i<4;i++)c.call(this)}},_doProcessBlock:function(e,t){var r=this._X;c.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var o=0;o<4;o++)i[o]=16711935&(i[o]<<8|i[o]>>>24)|4278255360&(i[o]<<24|i[o]>>>8),e[t+o]^=i[o]},blockSize:4,ivSize:2});function c(){for(var e=this._X,t=this._C,r=0;r<8;r++)n[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var o=e[r]+t[r],i=65535&o,a=o>>>16,c=((i*i>>>17)+i*a>>>15)+a*a,l=((4294901760&o)*o|0)+((65535&o)*o|0);s[r]=c^l}e[0]=s[0]+(s[7]<<16|s[7]>>>16)+(s[6]<<16|s[6]>>>16)|0,e[1]=s[1]+(s[0]<<8|s[0]>>>24)+s[7]|0,e[2]=s[2]+(s[1]<<16|s[1]>>>16)+(s[0]<<16|s[0]>>>16)|0,e[3]=s[3]+(s[2]<<8|s[2]>>>24)+s[1]|0,e[4]=s[4]+(s[3]<<16|s[3]>>>16)+(s[2]<<16|s[2]>>>16)|0,e[5]=s[5]+(s[4]<<8|s[4]>>>24)+s[3]|0,e[6]=s[6]+(s[5]<<16|s[5]>>>16)+(s[4]<<16|s[4]>>>16)|0,e[7]=s[7]+(s[6]<<8|s[6]>>>24)+s[5]|0}t.RabbitLegacy=r._createHelper(a)}(),e.RabbitLegacy));var e}(),mt())),bt={class:"layout-lock-screen"},St={key:0,class:"fixed top-0 left-0 z-[999999] flex-cc w-full h-full text-white bg-gradient-to-br from-[#1e1e1e] to-black animate-fade-in"},At={key:1},Ct={class:"flex-c flex-col"},Ht={class:"mt-7.5 mb-3.5 text-base font-medium"},zt={key:2,class:"unlock-content"},Et={class:"flex-c flex-col w-90 p-7.5 bg-white/90 rounded-xl"},Rt={class:"mt-7.5 mb-3.5 text-base font-medium"},Dt={class:"w-full text-center"},Pt=U(o({__name:"index",setup(t){const{t:r}=i(),o="s3cur3k3y4adpro",K=n(),{info:j,lockPassword:U,isLock:X}=s(K),T=a(!1),N=a(null),V=a(null),Z=a(!1),q=a(),G=a(),$=c({password:""}),Q=c({password:""}),J=l(()=>({password:[{required:!0,message:r("lockScreen.lock.inputPlaceholder"),trigger:"blur"}]})),Y=()=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),ee=e=>{e.altKey&&"¬"===e.key.toLowerCase()&&(e.preventDefault(),T.value=!0)},te=()=>{setTimeout(()=>{var e,t;null==(t=null==(e=N.value)?void 0:e.input)||t.focus()},100)},re=()=>e(this,null,function*(){q.value&&(yield q.value.validate((e,t)=>{if(e){const e=Bt.AES.encrypt($.password,o).toString();K.setLockStatus(!0),K.setLockPassword(e),T.value=!1,$.password=""}}))}),oe=()=>e(this,null,function*(){G.value&&(yield G.value.validate((e,t)=>{if(e){if(((e,t)=>{try{return e===Bt.AES.decrypt(t,o).toString(Bt.enc.Utf8)}catch(r){return!1}})(Q.password,U.value))try{K.setLockStatus(!1),K.setLockPassword(""),Q.password="",T.value=!1,Z.value=!1}catch(i){}else L.error(r("lockScreen.pwdError"))}}))}),ie=()=>{K.logOut()},ne=()=>{T.value=!0};h(X,e=>{e?(document.body.style.overflow="hidden",setTimeout(()=>{var e,t;null==(t=null==(e=V.value)?void 0:e.input)||t.focus()},100)):(document.body.style.overflow="auto",Z.value=!1)});let se=null;return u(()=>{f.on("openLockScreen",ne),document.addEventListener("keydown",ee),X.value&&(T.value=!0,setTimeout(()=>{var e,t;null==(t=null==(e=V.value)?void 0:e.input)||t.focus()},100)),se=(()=>{const e=e=>{if(X.value)return e.preventDefault(),e.stopPropagation(),!1};document.addEventListener("contextmenu",e,!0);const t=e=>{if(X.value){if("F12"===e.key)return e.preventDefault(),e.stopPropagation(),!1;if(e.ctrlKey&&e.shiftKey){const t=e.key.toLowerCase();if(["i","j","c","k"].includes(t))return e.preventDefault(),e.stopPropagation(),!1}return e.ctrlKey&&"u"===e.key.toLowerCase()||e.ctrlKey&&"s"===e.key.toLowerCase()||e.ctrlKey&&"a"===e.key.toLowerCase()||e.ctrlKey&&"p"===e.key.toLowerCase()||e.ctrlKey&&"f"===e.key.toLowerCase()||e.altKey&&"Tab"===e.key||e.ctrlKey&&"Tab"===e.key||e.ctrlKey&&"w"===e.key.toLowerCase()||e.ctrlKey&&"r"===e.key.toLowerCase()||"F5"===e.key||e.ctrlKey&&e.shiftKey&&"r"===e.key.toLowerCase()?(e.preventDefault(),e.stopPropagation(),!1):void 0}};document.addEventListener("keydown",t,!0);const r=e=>{if(X.value)return e.preventDefault(),!1};document.addEventListener("selectstart",r,!0);const o=e=>{if(X.value)return e.preventDefault(),!1};document.addEventListener("dragstart",o,!0);let i={open:!1},n=null;const s=()=>{if(!X.value||Y())return;const e=window.outerHeight-window.innerHeight>160||window.outerWidth-window.innerWidth>160;e&&!i.open?(i.open=!0,Z.value=!0):!e&&i.open&&(i.open=!1,Z.value=!1)};return Y()||(n=setInterval(s,500)),()=>{document.removeEventListener("contextmenu",e,!0),document.removeEventListener("keydown",t,!0),document.removeEventListener("selectstart",r,!0),document.removeEventListener("dragstart",o,!0),n&&clearInterval(n)}})()}),d(()=>{document.removeEventListener("keydown",ee),document.body.style.overflow="auto",se&&(se(),se=null)}),(e,t)=>{const r=H,o=A,i=O,n=R,s=W,a=I,c=p("ripple");return _(),v("div",bt,[x(Z)?(_(),v("div",St,[...t[3]||(t[3]=[g('
🔒

系统已锁定

检测到开发者工具已打开
为了系统安全,请关闭开发者工具后继续使用

Security Lock Activated
',1)])])):y("",!0),x(X)?(_(),v("div",zt,[m("div",Et,[t[5]||(t[5]=m("img",{class:"w-16 h-16 mt-5 rounded-full",src:F,alt:"用户头像"},null,-1)),m("div",Rt,B(x(j).userName),1),k(s,{ref_key:"unlockFormRef",ref:G,model:x(Q),rules:x(J),class:"w-full !px-2.5",onSubmit:b(oe,["prevent"])},{default:w(()=>[k(i,{prop:"password"},{default:w(()=>[k(o,{modelValue:x(Q).password,"onUpdate:modelValue":t[2]||(t[2]=e=>x(Q).password=e),type:"password",placeholder:e.$t("lockScreen.unlock.inputPlaceholder"),"show-password":!0,ref_key:"unlockInputRef",ref:V,class:"mt-5"},{suffix:w(()=>[k(r,{class:"c-p",onClick:oe},{default:w(()=>[k(x(M))]),_:1})]),_:1},8,["modelValue","placeholder"])]),_:1}),S((_(),E(n,{type:"primary",class:"w-full",onClick:oe},{default:w(()=>[D(B(e.$t("lockScreen.unlock.btnText")),1)]),_:1})),[[c]]),m("div",Dt,[k(n,{text:"",class:"mt-2.5 !text-g-600 hover:!text-theme hover:!bg-transparent",onClick:ie},{default:w(()=>[D(B(e.$t("lockScreen.unlock.backBtnText")),1)]),_:1})])]),_:1},8,["model","rules"])])])):(_(),v("div",At,[k(a,{modelValue:x(T),"onUpdate:modelValue":t[1]||(t[1]=e=>P(T)?T.value=e:null),width:370,"show-close":!1,onOpen:te},{default:w(()=>[m("div",Ct,[t[4]||(t[4]=m("img",{class:"w-16 h-16 rounded-full",src:F,alt:"用户头像"},null,-1)),m("div",Ht,B(x(j).userName),1),k(s,{ref_key:"formRef",ref:q,model:x($),rules:x(J),class:"w-[90%]",onSubmit:b(re,["prevent"])},{default:w(()=>[k(i,{prop:"password"},{default:w(()=>[k(o,{modelValue:x($).password,"onUpdate:modelValue":t[0]||(t[0]=e=>x($).password=e),type:"password",placeholder:e.$t("lockScreen.lock.inputPlaceholder"),"show-password":!0,ref_key:"lockInputRef",ref:N,class:"w-full mt-9",onKeyup:C(re,["enter"])},{suffix:w(()=>[k(r,{class:"c-p",onClick:re},{default:w(()=>[k(x(z))]),_:1})]),_:1},8,["modelValue","placeholder"])]),_:1}),S((_(),E(n,{type:"primary",class:"w-full",onClick:re},{default:w(()=>[D(B(e.$t("lockScreen.lock.btnText")),1)]),_:1})),[[c]])]),_:1},8,["model","rules"])])]),_:1},8,["modelValue"])]))])}}}),[["__scopeId","data-v-60f20784"]]);export{Pt as default}; diff --git a/nginx/admin/assets/index-CjYU62DD.js.gz b/nginx/admin/assets/index-CjYU62DD.js.gz new file mode 100644 index 0000000..3a8e1fb Binary files /dev/null and b/nginx/admin/assets/index-CjYU62DD.js.gz differ diff --git a/nginx/admin/assets/index-CjpBlozU.js b/nginx/admin/assets/index-CjpBlozU.js new file mode 100644 index 0000000..7caeaa2 --- /dev/null +++ b/nginx/admin/assets/index-CjpBlozU.js @@ -0,0 +1 @@ +var e=Object.defineProperty,s=Object.defineProperties,a=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable,r=(s,a,o)=>a in s?e(s,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):s[a]=o,n=(e,s)=>{for(var a in s||(s={}))l.call(s,a)&&r(e,a,s[a]);if(o)for(var a of o(s))t.call(s,a)&&r(e,a,s[a]);return e},i=(e,o)=>s(e,a(o));import{a0 as d,d as c,bK as f,a9 as u,c as p,cD as b,b as g,e as v,f as y,i as m,s as h,q as C,p as w,v as k,g as P,w as R,h as _,aE as $,cE as j,ai as x,m as F,cF as O,bs as I,bz as A,a1 as E,r as M,a3 as D,a2 as T,N as z,cG as q,cH as S,cn as L,cx as B,aj as G,ae as H,az as K}from"./index-BoIUJTA2.js";import{E as N}from"./index-COyGylbk.js";import{d as U,a as X,b as J,c as Q,e as V,u as W}from"./use-dialog-FwJ-QdmW.js";import{c as Y}from"./refs-Cw5r5QN8.js";const Z=c({name:"ElDialogContent"});var ee=d(c(i(n({},Z),{props:X,emits:U,setup(e,{expose:s}){const a=e,{t:o}=f(),{Close:l}=j,{dialogRef:t,headerRef:r,bodyId:n,ns:i,style:d}=u(J),{focusTrapRef:c}=u(O),I=Y(c,t),A=p(()=>!!a.draggable),E=p(()=>!!a.overflow),{resetPosition:M,updatePosition:D,isDragging:T}=b(t,r,A,E),z=p(()=>[i.b(),i.is("fullscreen",a.fullscreen),i.is("draggable",A.value),i.is("dragging",T.value),i.is("align-center",!!a.alignCenter),{[i.m("center")]:a.center}]);return s({resetPosition:M,updatePosition:D}),(e,s)=>(v(),g("div",{ref:w(I),class:C(w(z)),style:F(w(d)),tabindex:"-1"},[y("header",{ref_key:"headerRef",ref:r,class:C([w(i).e("header"),e.headerClass,{"show-close":e.showClose}])},[h(e.$slots,"header",{},()=>[y("span",{role:"heading","aria-level":e.ariaLevel,class:C(w(i).e("title"))},k(e.title),11,["aria-level"])]),e.showClose?(v(),g("button",{key:0,"aria-label":w(o)("el.dialog.close"),class:C(w(i).e("headerbtn")),type:"button",onClick:s=>e.$emit("close")},[P(w(x),{class:C(w(i).e("close"))},{default:R(()=>[(v(),_($(e.closeIcon||w(l))))]),_:1},8,["class"])],10,["aria-label","onClick"])):m("v-if",!0)],2),y("div",{id:w(n),class:C([w(i).e("body"),e.bodyClass])},[h(e.$slots,"default")],10,["id"]),e.$slots.footer?(v(),g("footer",{key:0,class:C([w(i).e("footer"),e.footerClass])},[h(e.$slots,"footer")],2)):m("v-if",!0)],6))}})),[["__file","dialog-content.vue"]]);const se=c({name:"ElDialog",inheritAttrs:!1});const ae=K(d(c(i(n({},se),{props:V,emits:Q,setup(e,{expose:s}){const a=e,o=I();A({scope:"el-dialog",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/dialog.html#slots"},p(()=>!!o.title));const l=E("dialog"),t=M(),r=M(),n=M(),{visible:i,titleId:d,bodyId:c,style:f,overlayDialogStyle:u,rendered:b,transitionConfig:g,zIndex:k,_draggable:$,_alignCenter:j,_overflow:x,handleClose:O,onModalClick:K,onOpenAutoFocus:U,onCloseAutoFocus:X,onCloseRequested:Q,onFocusoutPrevented:V}=W(a,t);H(J,{dialogRef:t,headerRef:r,bodyId:c,ns:l,rendered:b,style:f});const Y=S(K),Z=p(()=>a.modalPenetrable&&!a.modal&&!a.fullscreen);return s({visible:i,dialogContentRef:n,resetPosition:()=>{var e;null==(e=n.value)||e.resetPosition()},handleClose:O}),(e,s)=>(v(),_(w(N),{to:e.appendTo,disabled:"body"===e.appendTo&&!e.appendToBody},{default:R(()=>[P(D,T(w(g),{persisted:""}),{default:R(()=>{var s;return[z(P(w(q),{"custom-mask-event":"",mask:e.modal,"overlay-class":[null!=(s=e.modalClass)?s:"",`${w(l).namespace.value}-modal-dialog`,w(l).is("penetrable",w(Z))],"z-index":w(k)},{default:R(()=>[y("div",{role:"dialog","aria-modal":"true","aria-label":e.title||void 0,"aria-labelledby":e.title?void 0:w(d),"aria-describedby":w(c),class:C(`${w(l).namespace.value}-overlay-dialog`),style:F(w(u)),onClick:w(Y).onClick,onMousedown:w(Y).onMousedown,onMouseup:w(Y).onMouseup},[P(w(L),{loop:"",trapped:w(i),"focus-start-el":"container",onFocusAfterTrapped:w(U),onFocusAfterReleased:w(X),onFocusoutPrevented:w(V),onReleaseRequested:w(Q)},{default:R(()=>[w(b)?(v(),_(ee,T({key:0,ref_key:"dialogContentRef",ref:n},e.$attrs,{center:e.center,"align-center":w(j),"close-icon":e.closeIcon,draggable:w($),overflow:w(x),fullscreen:e.fullscreen,"header-class":e.headerClass,"body-class":e.bodyClass,"footer-class":e.footerClass,"show-close":e.showClose,title:e.title,"aria-level":e.headerAriaLevel,onClose:w(O)}),B({header:R(()=>[e.$slots.title?h(e.$slots,"title",{key:1}):h(e.$slots,"header",{key:0,close:w(O),titleId:w(d),titleClass:w(l).e("title")})]),default:R(()=>[h(e.$slots,"default")]),_:2},[e.$slots.footer?{name:"footer",fn:R(()=>[h(e.$slots,"footer")])}:void 0]),1040,["center","align-center","close-icon","draggable","overflow","fullscreen","header-class","body-class","footer-class","show-close","title","aria-level","onClose"])):m("v-if",!0)]),_:3},8,["trapped","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])],46,["aria-label","aria-labelledby","aria-describedby","onClick","onMousedown","onMouseup"])]),_:3},8,["mask","overlay-class","z-index"]),[[G,w(i)]])]}),_:3},16)]),_:3},8,["to","disabled"]))}})),[["__file","dialog.vue"]]));export{ae as E}; diff --git a/nginx/admin/assets/index-ClDjAOOe.js b/nginx/admin/assets/index-ClDjAOOe.js new file mode 100644 index 0000000..007f39a --- /dev/null +++ b/nginx/admin/assets/index-ClDjAOOe.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,a=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,o=(t,a,s)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[a]=s;import{a8 as i,at as l,a0 as c,d as p,a1 as u,c as d,cz as f,cA as b,bM as y,ba as h,be as v,bZ as g,ah as k,b as m,e as w,i as x,q as $,p as O,f as j,m as I,s as N,v as P,h as B,w as D,aE as F,ai as S,az as T}from"./index-BoIUJTA2.js";const E=i({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:e=>e>=0&&e<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:Boolean,duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:l(String),default:"round"},textInside:Boolean,width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:l([String,Array,Function]),default:""},striped:Boolean,stripedFlow:Boolean,format:{type:l(Function),default:e=>`${e}%`}}),W=p({name:"ElProgress"}),z=p((L=((e,t)=>{for(var a in t||(t={}))r.call(t,a)&&o(e,a,t[a]);if(s)for(var a of s(t))n.call(t,a)&&o(e,a,t[a]);return e})({},W),M={props:E,setup(e){const t=e,a={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},s=u("progress"),r=d(()=>{const e={width:`${t.percentage}%`,animationDuration:`${t.duration}s`},a=_(t.percentage);return a.includes("gradient")?e.background=a:e.backgroundColor=a,e}),n=d(()=>(t.strokeWidth/t.width*100).toFixed(1)),o=d(()=>["circle","dashboard"].includes(t.type)?Number.parseInt(""+(50-Number.parseFloat(n.value)/2),10):0),i=d(()=>{const e=o.value,a="dashboard"===t.type;return`\n M 50 50\n m 0 ${a?"":"-"}${e}\n a ${e} ${e} 0 1 1 0 ${a?"-":""}${2*e}\n a ${e} ${e} 0 1 1 0 ${a?"":"-"}${2*e}\n `}),l=d(()=>2*Math.PI*o.value),c=d(()=>"dashboard"===t.type?.75:1),p=d(()=>-1*l.value*(1-c.value)/2+"px"),T=d(()=>({strokeDasharray:`${l.value*c.value}px, ${l.value}px`,strokeDashoffset:p.value})),E=d(()=>({strokeDasharray:`${l.value*c.value*(t.percentage/100)}px, ${l.value}px`,strokeDashoffset:p.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),W=d(()=>{let e;return e=t.color?_(t.percentage):a[t.status]||a.default,e}),z=d(()=>"warning"===t.status?f:"line"===t.type?"success"===t.status?b:y:"success"===t.status?h:v),L=d(()=>"line"===t.type?12+.4*t.strokeWidth:.111111*t.width+2),M=d(()=>t.format(t.percentage)),_=e=>{var a;const{color:s}=t;if(g(s))return s(e);if(k(s))return s;{const t=function(e){const t=100/e.length;return e.map((e,a)=>k(e)?{color:e,percentage:(a+1)*t}:e).sort((e,t)=>e.percentage-t.percentage)}(s);for(const a of t)if(a.percentage>e)return a.color;return null==(a=t[t.length-1])?void 0:a.color}};return(e,t)=>(w(),m("div",{class:$([O(s).b(),O(s).m(e.type),O(s).is(e.status),{[O(s).m("without-text")]:!e.showText,[O(s).m("text-inside")]:e.textInside}]),role:"progressbar","aria-valuenow":e.percentage,"aria-valuemin":"0","aria-valuemax":"100"},["line"===e.type?(w(),m("div",{key:0,class:$(O(s).b("bar"))},[j("div",{class:$(O(s).be("bar","outer")),style:I({height:`${e.strokeWidth}px`})},[j("div",{class:$([O(s).be("bar","inner"),{[O(s).bem("bar","inner","indeterminate")]:e.indeterminate},{[O(s).bem("bar","inner","striped")]:e.striped},{[O(s).bem("bar","inner","striped-flow")]:e.stripedFlow}]),style:I(O(r))},[(e.showText||e.$slots.default)&&e.textInside?(w(),m("div",{key:0,class:$(O(s).be("bar","innerText"))},[N(e.$slots,"default",{percentage:e.percentage},()=>[j("span",null,P(O(M)),1)])],2)):x("v-if",!0)],6)],6)],2)):(w(),m("div",{key:1,class:$(O(s).b("circle")),style:I({height:`${e.width}px`,width:`${e.width}px`})},[(w(),m("svg",{viewBox:"0 0 100 100"},[j("path",{class:$(O(s).be("circle","track")),d:O(i),stroke:`var(${O(s).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":e.strokeLinecap,"stroke-width":O(n),fill:"none",style:I(O(T))},null,14,["d","stroke","stroke-linecap","stroke-width"]),j("path",{class:$(O(s).be("circle","path")),d:O(i),stroke:O(W),fill:"none",opacity:e.percentage?1:0,"stroke-linecap":e.strokeLinecap,"stroke-width":O(n),style:I(O(E))},null,14,["d","stroke","opacity","stroke-linecap","stroke-width"])]))],6)),!e.showText&&!e.$slots.default||e.textInside?x("v-if",!0):(w(),m("div",{key:2,class:$(O(s).e("text")),style:I({fontSize:`${O(L)}px`})},[N(e.$slots,"default",{percentage:e.percentage},()=>[e.status?(w(),B(O(S),{key:1},{default:D(()=>[(w(),B(F(O(z))))]),_:1})):(w(),m("span",{key:0},P(O(M)),1))])],6))],10,["aria-valuenow"]))}},t(L,a(M))));var L,M;const _=T(c(z,[["__file","progress.vue"]]));export{_ as E}; diff --git a/nginx/admin/assets/index-ClsssJe5.js b/nginx/admin/assets/index-ClsssJe5.js new file mode 100644 index 0000000..522f673 --- /dev/null +++ b/nginx/admin/assets/index-ClsssJe5.js @@ -0,0 +1 @@ +var e=(e,l,t)=>new Promise((a,i)=>{var o=e=>{try{r(t.next(e))}catch(l){i(l)}},n=e=>{try{r(t.throw(e))}catch(l){i(l)}},r=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,n);r((t=t.apply(e,l)).next())});import{c1 as l,d as t,r as a,k as i,B as o,c as n,o as r,b as s,e as u,f as p,g as m,w as d,j as c,E as g,p as j,M as f,v as _,K as v,aV as b,T as h}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as x}from"./index-Bwtbh5WQ.js";import{_ as y}from"./index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js";import{A as w}from"./index-BaXJ8CyS.js";import{u as C}from"./useTable-DzUOUR11.js";import{E as k}from"./index-ZsMdSUVI.js";import{a as V,E as z}from"./index-BcfO0-fK.js";import{E as T}from"./index-CSr24crn.js";import{E as B,a as O}from"./index-D2gD5Tn5.js";import{E as P}from"./index-CjpBlozU.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";/* empty css *//* empty css *//* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./refs-Cw5r5QN8.js";/* empty css */import"./index-CZJaGuxf.js";import"./useTableColumns-FR69a2pD.js";import"./_baseClone-Ct7RL6h5.js";import"./index-ClDjAOOe.js";import"./cloneDeep-B1gZFPYK.js";import"./token-DWNpOE8r.js";import"./use-dialog-FwJ-QdmW.js";const S={class:"mb-3"},U=["src"],A=t({__name:"index",setup(t){const{data:A,loading:E,columns:$,pagination:D,handleSizeChange:M,handleCurrentChange:F,getData:L}=C({core:{apiFn:e=>function(e){return l.get({url:"admin/banners",params:e})}({page:e.page,page_size:e.page_size}).then(e=>({records:e.list,total:e.total,current:e.page,size:e.page_size})),apiParams:{page:1,page_size:20},columnsFactory:()=>[{prop:"id",label:"ID",width:90,align:"center"},{prop:"title",label:"标题",minWidth:220,showOverflowTooltip:!0},{prop:"image_url",label:"图片",useSlot:!0,width:140,align:"center"},{prop:"link_url",label:"链接",minWidth:220,showOverflowTooltip:!0},{prop:"sort",label:"排序",width:120,align:"center"},{prop:"status",label:"状态",useSlot:!0,width:110,align:"center"},{prop:"actions",label:"操作",useSlot:!0,width:180}]}}),R=a(!1),I=a("新增轮播图"),W=a(null),J=i({title:"",image_url:"",sort:0,status:1}),K=a([]),N=o(),Q=n(()=>"/api/common/upload/wangeditor"),X=n(()=>({Authorization:N.accessToken}));function q(){I.value="新增轮播图",W.value=null,Object.assign(J,{title:"",image_url:"",link_url:"",sort:0,status:1}),K.value=[],R.value=!0}function G(e){var l,t;let a=(null==(l=null==e?void 0:e.data)?void 0:l.url)||(null==e?void 0:e.url)||"";if(!a&&"string"==typeof e)try{const l=JSON.parse(e);a=(null==(t=null==l?void 0:l.data)?void 0:t.url)||(null==l?void 0:l.url)||""}catch(i){}a&&(J.image_url=a,K.value=[{name:"banner",url:a}])}function H(){return e(this,null,function*(){J.title&&J.image_url&&(W.value?yield function(e,t){return l.put({url:`admin/banners/${e}`,data:t})}(W.value,J):yield function(e){return l.post({url:"admin/banners",data:e})}(J),R.value=!1,yield L())})}function Y(t){return e(this,null,function*(){var e,a,i;try{const e=A.value.find(e=>e.id===t),a=(null==e?void 0:e.title)||"该Banner";yield b.confirm(`确定要删除Banner"${a}"吗?此操作不可恢复`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",beforeClose:(e,l,t)=>{"confirm"===e?(l.confirmButtonLoading=!0,t()):t()}}),yield function(e){return l.del({url:`admin/banners/${e}`})}(t),h.success({message:`"${a}"已成功删除`,duration:3e3}),yield L()}catch(o){if("cancel"===o)return;const l=(null==(a=null==(e=null==o?void 0:o.response)?void 0:e.data)?void 0:a.message)||o.message||"删除失败",n=(null==(i=A.value.find(e=>e.id===t))?void 0:i.title)||"该Banner";h.error({message:`"${n}"删除失败:${l}`,duration:4e3})}})}return r(()=>e(this,null,function*(){yield L()})),(e,l)=>{const t=g,a=k,i=v,o=z,n=T,r=O,b=B,h=V,C=P;return u(),s("div",null,[p("div",S,[m(t,{type:"primary",onClick:q},{default:d(()=>[...l[7]||(l[7]=[c("新增轮播图",-1)])]),_:1})]),m(w,{columns:j($),"onUpdate:columns":l[0]||(l[0]=e=>f($)?$.value=e:null),loading:j(E),onRefresh:j(L)},null,8,["columns","loading","onRefresh"]),m(x,{loading:j(E),data:j(A),columns:j($),tableLayout:"auto",pagination:j(D),"onPagination:sizeChange":j(M),"onPagination:currentChange":j(F)},{image_url:d(({row:e})=>[p("img",{src:e.image_url,class:"w-16 h-16 object-cover rounded"},null,8,U)]),status:d(({row:e})=>[m(a,{type:1===e.status?"success":"danger"},{default:d(()=>[c(_(1===e.status?"启用":"禁用"),1)]),_:2},1032,["type"])]),actions:d(({row:e})=>[m(y,{type:"edit",onClick:l=>function(e){I.value="编辑轮播图",W.value=e.id,Object.assign(J,{title:e.title,image_url:e.image_url,link_url:e.link_url,sort:e.sort,status:e.status}),K.value=e.image_url?[{name:"banner",url:e.image_url}]:[],R.value=!0}(e)},null,8,["onClick"]),m(y,{type:"delete",onClick:l=>Y(e.id)},null,8,["onClick"])]),_:1},8,["loading","data","columns","pagination","onPagination:sizeChange","onPagination:currentChange"]),m(C,{modelValue:j(R),"onUpdate:modelValue":l[6]||(l[6]=e=>f(R)?R.value=e:null),title:j(I),width:"640px"},{footer:d(()=>[m(t,{onClick:l[5]||(l[5]=e=>R.value=!1)},{default:d(()=>[...l[9]||(l[9]=[c("取消",-1)])]),_:1}),m(t,{type:"primary",onClick:H},{default:d(()=>[...l[10]||(l[10]=[c("提交",-1)])]),_:1})]),default:d(()=>[m(h,{model:j(J),"label-width":"110px"},{default:d(()=>[m(o,{label:"标题"},{default:d(()=>[m(i,{modelValue:j(J).title,"onUpdate:modelValue":l[1]||(l[1]=e=>j(J).title=e)},null,8,["modelValue"])]),_:1}),m(o,{label:"图片"},{default:d(()=>[m(n,{action:j(Q),name:"file",accept:"image/*","list-type":"picture-card",headers:j(X),"on-success":G,"file-list":j(K)},{default:d(()=>[...l[8]||(l[8]=[p("i",{class:"el-icon"},[p("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[p("path",{fill:"currentColor",d:"M480 512h64V256h-64zm32 288a32 32 0 1 0 0-64a32 32 0 0 0 0 64"})])],-1)])]),_:1},8,["action","headers","file-list"])]),_:1}),m(o,{label:"链接"},{default:d(()=>[m(i,{modelValue:j(J).link_url,"onUpdate:modelValue":l[2]||(l[2]=e=>j(J).link_url=e)},null,8,["modelValue"])]),_:1}),m(o,{label:"排序"},{default:d(()=>[m(i,{modelValue:j(J).sort,"onUpdate:modelValue":l[3]||(l[3]=e=>j(J).sort=e),modelModifiers:{number:!0}},null,8,["modelValue"])]),_:1}),m(o,{label:"状态"},{default:d(()=>[m(b,{modelValue:j(J).status,"onUpdate:modelValue":l[4]||(l[4]=e=>j(J).status=e),modelModifiers:{number:!0}},{default:d(()=>[m(r,{value:1,label:"启用"}),m(r,{value:0,label:"禁用"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}});export{A as default}; diff --git a/nginx/admin/assets/index-CoZ0WyFR.js b/nginx/admin/assets/index-CoZ0WyFR.js new file mode 100644 index 0000000..c5c0e4a --- /dev/null +++ b/nginx/admin/assets/index-CoZ0WyFR.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable,r=(a,i,t)=>i in a?e(a,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[i]=t,l=(e,a,i)=>new Promise((t,r)=>{var l=e=>{try{s(i.next(e))}catch(a){r(a)}},o=e=>{try{s(i.throw(e))}catch(a){r(a)}},s=e=>e.done?t(e.value):Promise.resolve(e.value).then(l,o);s((i=i.apply(e,a)).next())});import{c1 as o,d as s,r as n,k as p,o as d,b as u,e as m,g as c,w as _,p as g,E as f,j,v as b,K as y,I as v,J as h,h as x,f as V,T as w,aV as k}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as C}from"./index-Bwtbh5WQ.js";import{A as O}from"./index-BaXJ8CyS.js";import{u as U}from"./useTable-DzUOUR11.js";import{f as I}from"./activity-CMsiETfu.js";import{E as P}from"./index-ZsMdSUVI.js";import{E as z}from"./index-CjpBlozU.js";import{a as E,E as $}from"./index-BcfO0-fK.js";import{E as A}from"./index-C_S0YbqD.js";import{E as S,a as T}from"./index-D2gD5Tn5.js";import{a as F,b as D}from"./index-DqTthkO7.js";import{E as M}from"./index-BaD29Izp.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./refs-Cw5r5QN8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";/* empty css */import"./index-CZJaGuxf.js";import"./useTableColumns-FR69a2pD.js";import"./use-dialog-FwJ-QdmW.js";import"./_baseClone-Ct7RL6h5.js";import"./index-BnK4BbY2.js";import"./token-DWNpOE8r.js";const R={class:"art-full-height"},W=s({__name:"index",setup(e){const s=n([]),W=()=>l(this,null,function*(){const e=yield I({page:1,page_size:100});s.value=e.records}),{data:q,loading:B,columns:Y,pagination:H,handleSizeChange:J,handleCurrentChange:K,refreshData:L}=U({core:{apiFn:e=>function(e){return o.get({url:"/admin/game-pass-packages",params:e})}({page:e.page,page_size:e.page_size}),columnsFactory:()=>[{prop:"id",label:"ID",width:80},{prop:"name",label:"套餐名称",minWidth:150},{prop:"pass_count",label:"次数",width:100},{prop:"price",label:"价格(元)",width:100,formatter:e=>`${(e.price/100).toFixed(2)}`},{prop:"original_price",label:"原价(元)",width:100,formatter:e=>`${(e.original_price/100).toFixed(2)}`},{prop:"activity_id",label:"关联活动",minWidth:120,formatter:e=>(e=>{if(0===e)return"通用";const a=s.value.find(a=>a.id===e);return a?a.name:`活动ID:${e}`})(e.activity_id)},{prop:"valid_days",label:"有效期",width:100,formatter:e=>e.valid_days>0?`${e.valid_days}天`:"永久"},{prop:"status",label:"状态",width:100,useSlot:!0},{prop:"sort_order",label:"排序",width:80},{prop:"actions",label:"操作",width:150,useSlot:!0,fixed:"right"}]}}),Q=p({visible:!1,mode:"create",submitting:!1,currentId:0}),X={name:"",pass_count:1,price:0,original_price:0,activity_id:0,valid_days:0,sort_order:0,status:1},G=p(((e,l)=>{for(var o in l||(l={}))i.call(l,o)&&r(e,o,l[o]);if(a)for(var o of a(l))t.call(l,o)&&r(e,o,l[o]);return e})({},X)),N=p({price:0,original_price:0}),Z=n(),ee={name:[{required:!0,message:"请输入套餐名称",trigger:"blur"}],pass_count:[{required:!0,message:"请输入发放次数",trigger:"blur"}]};function ae(){Q.mode="create",Q.visible=!0,Q.currentId=0,Object.assign(G,X),Object.assign(N,{price:0,original_price:0})}function ie(){return l(this,null,function*(){Z.value&&(yield Z.value.validate(e=>l(this,null,function*(){if(e){Q.submitting=!0;try{G.price=Math.round(100*N.price),G.original_price=Math.round(100*N.original_price),"create"===Q.mode?(yield function(e){return o.post({url:"/admin/game-pass-packages",data:e})}(G),w.success("创建成功")):(yield function(e,a){return o.put({url:`/admin/game-pass-packages/${e}`,data:a})}(Q.currentId,G),w.success("修改成功")),Q.visible=!1,L()}finally{Q.submitting=!1}}})))})}function te(e){k.confirm(`确认删除套餐【${e.name}】?`,"提示",{type:"warning"}).then(()=>l(this,null,function*(){var a;yield(a=e.id,o.del({url:`/admin/game-pass-packages/${a}`})),w.success("删除成功"),L()}))}return d(()=>l(this,null,function*(){yield W(),L()})),(e,a)=>{const i=f,t=P,r=y,l=$,o=A,n=T,p=S,d=D,w=F,k=E,U=z,I=M;return m(),u("div",R,[c(I,{class:"art-table-card",shadow:"never"},{default:_(()=>[c(O,{loading:g(B),onRefresh:g(L)},{left:_(()=>[c(i,{type:"primary",onClick:ae},{default:_(()=>[...a[10]||(a[10]=[j("新增套餐",-1)])]),_:1})]),_:1},8,["loading","onRefresh"]),c(C,{loading:g(B),data:g(q),columns:g(Y),pagination:g(H),"onPagination:sizeChange":g(J),"onPagination:currentChange":g(K)},{status:_(({row:e})=>[c(t,{type:1===e.status?"success":"danger"},{default:_(()=>[j(b(1===e.status?"启用":"禁用"),1)]),_:2},1032,["type"])]),actions:_(({row:e})=>[c(i,{link:"",type:"primary",onClick:a=>function(e){Q.mode="edit",Q.visible=!0,Q.currentId=e.id,Object.assign(G,{name:e.name,pass_count:e.pass_count,price:e.price,original_price:e.original_price,activity_id:e.activity_id,valid_days:e.valid_days,sort_order:e.sort_order,status:e.status}),N.price=e.price/100,N.original_price=(e.original_price||0)/100}(e)},{default:_(()=>[...a[11]||(a[11]=[j("编辑",-1)])]),_:1},8,["onClick"]),c(i,{link:"",type:"danger",onClick:a=>te(e)},{default:_(()=>[...a[12]||(a[12]=[j("删除",-1)])]),_:1},8,["onClick"])]),_:1},8,["loading","data","columns","pagination","onPagination:sizeChange","onPagination:currentChange"]),c(U,{modelValue:Q.visible,"onUpdate:modelValue":a[9]||(a[9]=e=>Q.visible=e),title:"create"===Q.mode?"新增套餐":"编辑套餐",width:"550px","destroy-on-close":""},{footer:_(()=>[c(i,{onClick:a[8]||(a[8]=e=>Q.visible=!1)},{default:_(()=>[...a[16]||(a[16]=[j("取消",-1)])]),_:1}),c(i,{type:"primary",onClick:ie,loading:Q.submitting},{default:_(()=>[...a[17]||(a[17]=[j("提交",-1)])]),_:1},8,["loading"])]),default:_(()=>[c(k,{model:G,"label-width":"120px",rules:ee,ref_key:"formRef",ref:Z},{default:_(()=>[c(l,{label:"套餐名称",prop:"name"},{default:_(()=>[c(r,{modelValue:G.name,"onUpdate:modelValue":a[0]||(a[0]=e=>G.name=e),placeholder:"请输入套餐名称"},null,8,["modelValue"])]),_:1}),c(l,{label:"发放次数",prop:"pass_count"},{default:_(()=>[c(o,{modelValue:G.pass_count,"onUpdate:modelValue":a[1]||(a[1]=e=>G.pass_count=e),min:1,max:9999999},null,8,["modelValue"])]),_:1}),c(l,{label:"价格(元)",prop:"price"},{default:_(()=>[c(o,{modelValue:N.price,"onUpdate:modelValue":a[2]||(a[2]=e=>N.price=e),min:0,precision:2,step:.1,"controls-position":"right",style:{width:"180px"}},null,8,["modelValue"])]),_:1}),c(l,{label:"原价(元)",prop:"original_price"},{default:_(()=>[c(o,{modelValue:N.original_price,"onUpdate:modelValue":a[3]||(a[3]=e=>N.original_price=e),min:0,precision:2,step:.1,"controls-position":"right",style:{width:"180px"}},null,8,["modelValue"])]),_:1}),c(l,{label:"关联活动",prop:"activity_id"},{default:_(()=>[c(p,{modelValue:G.activity_id,"onUpdate:modelValue":a[4]||(a[4]=e=>G.activity_id=e),placeholder:"请选择活动",clearable:"",style:{width:"100%"}},{default:_(()=>[c(n,{value:0,label:"通用"}),(m(!0),u(v,null,h(s.value,e=>(m(),x(n,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),c(l,{label:"有效期(天)",prop:"valid_days"},{default:_(()=>[c(o,{modelValue:G.valid_days,"onUpdate:modelValue":a[5]||(a[5]=e=>G.valid_days=e),min:0},null,8,["modelValue"]),a[13]||(a[13]=V("div",{class:"text-gray-400 text-xs mt-1"},"0表示永久有效",-1))]),_:1}),c(l,{label:"排序",prop:"sort_order"},{default:_(()=>[c(o,{modelValue:G.sort_order,"onUpdate:modelValue":a[6]||(a[6]=e=>G.sort_order=e)},null,8,["modelValue"])]),_:1}),c(l,{label:"状态",prop:"status"},{default:_(()=>[c(w,{modelValue:G.status,"onUpdate:modelValue":a[7]||(a[7]=e=>G.status=e)},{default:_(()=>[c(d,{label:1},{default:_(()=>[...a[14]||(a[14]=[j("启用",-1)])]),_:1}),c(d,{label:2},{default:_(()=>[...a[15]||(a[15]=[j("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]),_:1})])}}});export{W as default}; diff --git a/nginx/admin/assets/index-Cp4NEpJ7.js b/nginx/admin/assets/index-Cp4NEpJ7.js new file mode 100644 index 0000000..9d283f1 --- /dev/null +++ b/nginx/admin/assets/index-Cp4NEpJ7.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,l=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,s=Math.pow,i=(a,l,t)=>l in a?e(a,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[l]=t,n=(e,a)=>{for(var l in a||(a={}))r.call(a,l)&&i(e,l,a[l]);if(t)for(var l of t(a))o.call(a,l)&&i(e,l,a[l]);return e};import{a8 as u,a0 as c,d as v,a9 as f,a1 as m,aa as d,r as p,c as b,l as h,cY as y,ay as g,h as w,e as S,w as z,N as x,f as E,O as _,q as L,p as O,m as k,aj as H,a3 as T,ca as j,b as B,g as C,I as N,bd as R,bB as W,at as P,cB as A,A as M,ae as $,k as q,dl as I,o as Y,n as K,bp as X,i as D,s as F,aE as G,ao as J,ap as Q,az as U}from"./index-BoIUJTA2.js";const V={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},Z=Symbol("scrollbarContextKey"),ee=u({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean});var ae=c(v({__name:"thumb",props:ee,setup(e){const a=e,l=f(Z),t=m("scrollbar");l||d("Thumb","can not inject scrollbar context");const r=p(),o=p(),i=p({}),n=p(!1);let u=!1,c=!1,v=0,B=0,C=j?document.onselectstart:null;const N=b(()=>V[a.vertical?"vertical":"horizontal"]),R=b(()=>(({move:e,size:a,bar:l})=>({[l.size]:a,transform:`translate${l.axis}(${e}%)`}))({size:a.size,move:a.move,bar:N.value})),W=b(()=>s(r.value[N.value.offset],2)/l.wrapElement[N.value.scrollSize]/a.ratio/o.value[N.value.offset]),P=e=>{var a;if(e.stopPropagation(),e.ctrlKey||[1,2].includes(e.button))return;null==(a=window.getSelection())||a.removeAllRanges(),M(e);const l=e.currentTarget;l&&(i.value[N.value.axis]=l[N.value.offset]-(e[N.value.client]-l.getBoundingClientRect()[N.value.direction]))},A=e=>{if(!o.value||!r.value||!l.wrapElement)return;const a=100*(Math.abs(e.target.getBoundingClientRect()[N.value.direction]-e[N.value.client])-o.value[N.value.offset]/2)*W.value/r.value[N.value.offset];l.wrapElement[N.value.scroll]=a*l.wrapElement[N.value.scrollSize]/100},M=e=>{e.stopImmediatePropagation(),u=!0,v=l.wrapElement.scrollHeight,B=l.wrapElement.scrollWidth,document.addEventListener("mousemove",$),document.addEventListener("mouseup",q),C=document.onselectstart,document.onselectstart=()=>!1},$=e=>{if(!r.value||!o.value)return;if(!1===u)return;const a=i.value[N.value.axis];if(!a)return;const t=100*(-1*(r.value.getBoundingClientRect()[N.value.direction]-e[N.value.client])-(o.value[N.value.offset]-a))*W.value/r.value[N.value.offset];"scrollLeft"===N.value.scroll?l.wrapElement[N.value.scroll]=t*B/100:l.wrapElement[N.value.scroll]=t*v/100},q=()=>{u=!1,i.value[N.value.axis]=0,document.removeEventListener("mousemove",$),document.removeEventListener("mouseup",q),I(),c&&(n.value=!1)};h(()=>{I(),document.removeEventListener("mouseup",q)});const I=()=>{document.onselectstart!==C&&(document.onselectstart=C)};return y(g(l,"scrollbarElement"),"mousemove",()=>{c=!1,n.value=!!a.size}),y(g(l,"scrollbarElement"),"mouseleave",()=>{c=!0,n.value=u}),(e,a)=>(S(),w(T,{name:O(t).b("fade"),persisted:""},{default:z(()=>[x(E("div",{ref_key:"instance",ref:r,class:L([O(t).e("bar"),O(t).is(O(N).key)]),onMousedown:A,onClick:_(()=>{},["stop"])},[E("div",{ref_key:"thumb",ref:o,class:L(O(t).e("thumb")),style:k(O(R)),onMousedown:P},null,38)],42,["onClick"]),[[H,e.always||n.value]])]),_:1},8,["name"]))}}),[["__file","thumb.vue"]]);var le=c(v({__name:"bar",props:u({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),setup(e,{expose:a}){const l=e,t=f(Z),r=p(0),o=p(0),i=p(""),n=p(""),u=p(1),c=p(1);return a({handleScroll:e=>{if(e){const a=e.offsetHeight-4,l=e.offsetWidth-4;o.value=100*e.scrollTop/a*u.value,r.value=100*e.scrollLeft/l*c.value}},update:()=>{const e=null==t?void 0:t.wrapElement;if(!e)return;const a=e.offsetHeight-4,r=e.offsetWidth-4,o=s(a,2)/e.scrollHeight,v=s(r,2)/e.scrollWidth,f=Math.max(o,l.minSize),m=Math.max(v,l.minSize);u.value=o/(a-o)/(f/(a-f)),c.value=v/(r-v)/(m/(r-m)),n.value=f+4(S(),B(N,null,[C(ae,{move:r.value,ratio:c.value,size:i.value,always:e.always},null,8,["move","ratio","size","always"]),C(ae,{move:o.value,ratio:u.value,size:n.value,vertical:"",always:e.always},null,8,["move","ratio","size","always"])],64))}}),[["__file","bar.vue"]]);const te=u(n({distance:{type:Number,default:0},height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,wrapStyle:{type:P([String,Object,Array]),default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},tabindex:{type:[String,Number],default:void 0},id:String,role:String},W(["ariaLabel","ariaOrientation"]))),re={"end-reached":e=>["left","right","top","bottom"].includes(e),scroll:({scrollTop:e,scrollLeft:a})=>[e,a].every(R)},oe=v({name:"ElScrollbar"});var se;const ie=U(c(v((se=n({},oe),a(se,l({props:te,emits:re,setup(e,{expose:a,emit:l}){const t=e,r=m("scrollbar");let o,s,i,n=0,u=0,c="";const v={bottom:!1,top:!1,right:!1,left:!1},f=p(),d=p(),h=p(),g=p(),x=b(()=>{const e={};return t.height&&(e.height=A(t.height)),t.maxHeight&&(e.maxHeight=A(t.maxHeight)),[t.wrapStyle,e]}),_=b(()=>[t.wrapClass,r.e("wrap"),{[r.em("wrap","hidden-default")]:!t.native}]),H=b(()=>[r.e("view"),t.viewClass]),T={top:"bottom",bottom:"top",left:"right",right:"left"},j=()=>{var e;if(d.value){null==(e=g.value)||e.handleScroll(d.value);const a=n,r=u;n=d.value.scrollTop,u=d.value.scrollLeft;const o={bottom:n+d.value.clientHeight>=d.value.scrollHeight-t.distance,top:n<=t.distance&&0!==a,right:u+d.value.clientWidth>=d.value.scrollWidth-t.distance&&r!==u,left:u<=t.distance&&0!==r};if(l("scroll",{scrollTop:n,scrollLeft:u}),a!==n&&(c=n>a?"bottom":"top"),r!==u&&(c=u>r?"right":"left"),t.distance>0){if((e=>{var a;return null!=(a=v[e])&&a})(c))return;(e=>{const a=T[c];if(!a)return;const l=e[c],t=e[a];l&&!v[c]&&(v[c]=!0),!t&&v[a]&&(v[a]=!1)})(o)}o[c]&&l("end-reached",c)}},C=()=>{var e;null==(e=g.value)||e.update(),v[c]=!1};return M(()=>t.noresize,e=>{e?(null==o||o(),null==s||s(),null==i||i()):(({stop:o}=Q(h,C)),({stop:s}=Q(d,C)),i=y("resize",C))},{immediate:!0}),M(()=>[t.maxHeight,t.height],()=>{t.native||K(()=>{var e;C(),d.value&&(null==(e=g.value)||e.handleScroll(d.value))})}),$(Z,q({scrollbarElement:f,wrapElement:d})),I(()=>{d.value&&(d.value.scrollTop=n,d.value.scrollLeft=u)}),Y(()=>{t.native||K(()=>{C()})}),X(()=>C()),a({wrapRef:d,update:C,scrollTo:function(e,a){J(e)?d.value.scrollTo(e):R(e)&&R(a)&&d.value.scrollTo(e,a)},setScrollTop:e=>{R(e)&&(d.value.scrollTop=e)},setScrollLeft:e=>{R(e)&&(d.value.scrollLeft=e)},handleScroll:j}),(e,a)=>(S(),B("div",{ref_key:"scrollbarRef",ref:f,class:L(O(r).b())},[E("div",{ref_key:"wrapRef",ref:d,class:L(O(_)),style:k(O(x)),tabindex:e.tabindex,onScroll:j},[(S(),w(G(e.tag),{id:e.id,ref_key:"resizeRef",ref:h,class:L(O(H)),style:k(e.viewStyle),role:e.role,"aria-label":e.ariaLabel,"aria-orientation":e.ariaOrientation},{default:z(()=>[F(e.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],46,["tabindex"]),e.native?D("v-if",!0):(S(),w(le,{key:0,ref_key:"barRef",ref:g,always:e.always,"min-size":e.minSize},null,8,["always","min-size"]))],2))}})))),[["__file","scrollbar.vue"]]));export{ie as E,re as s}; diff --git a/nginx/admin/assets/index-CsQLNvm4.css b/nginx/admin/assets/index-CsQLNvm4.css new file mode 100644 index 0000000..0458a80 --- /dev/null +++ b/nginx/admin/assets/index-CsQLNvm4.css @@ -0,0 +1 @@ +.art-search-bar[data-v-3e63e0e5]{padding:15px 20px 0}.art-search-bar .action-column[data-v-3e63e0e5]{flex:1;max-width:100%}.art-search-bar .action-column .action-buttons-wrapper[data-v-3e63e0e5]{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-bottom:12px}.art-search-bar .action-column .form-buttons[data-v-3e63e0e5]{display:flex;gap:8px}.art-search-bar .action-column .filter-toggle[data-v-3e63e0e5]{display:flex;align-items:center;margin-left:10px;line-height:32px;color:var(--theme-color);cursor:pointer;transition:color .2s ease}.art-search-bar .action-column .filter-toggle[data-v-3e63e0e5]:hover{color:var(--ElColor-primary)}.art-search-bar .action-column .filter-toggle span[data-v-3e63e0e5]{font-size:14px;user-select:none}.art-search-bar .action-column .filter-toggle .icon-wrapper[data-v-3e63e0e5]{display:flex;align-items:center;margin-left:4px;font-size:14px;transition:transform .2s ease}@media (width <= 768px){.art-search-bar[data-v-3e63e0e5]{padding:16px 16px 0}.art-search-bar .action-column .action-buttons-wrapper[data-v-3e63e0e5]{flex-direction:column;gap:8px;align-items:stretch}.art-search-bar .action-column .action-buttons-wrapper .form-buttons[data-v-3e63e0e5]{justify-content:center}.art-search-bar .action-column .action-buttons-wrapper .filter-toggle[data-v-3e63e0e5]{justify-content:center;margin-left:0}} diff --git a/nginx/admin/assets/index-Cup_eQSA.js b/nginx/admin/assets/index-Cup_eQSA.js new file mode 100644 index 0000000..c74ca6a --- /dev/null +++ b/nginx/admin/assets/index-Cup_eQSA.js @@ -0,0 +1 @@ +var e=(e,t,a)=>new Promise((l,i)=>{var o=e=>{try{n(a.next(e))}catch(t){i(t)}},r=e=>{try{n(a.throw(e))}catch(t){i(t)}},n=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);n((a=a.apply(e,t)).next())});import{d as t,r as a,k as l,o as i,b as o,e as r,f as n,g as s,w as d,j as u,E as p,p as m,M as c,v as _,I as g,J as f,K as j,h as v,b6 as y,T as h,aV as x}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as b}from"./index-Bwtbh5WQ.js";import{_ as V}from"./index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js";import{A as w}from"./index-BaXJ8CyS.js";import{u as C}from"./useTable-DzUOUR11.js";import{m as k,c as z,d as U,f as q}from"./synthesis-BIc3Ymli.js";import{f as P}from"./product-qKpGgPBm.js";import{E}from"./index-ZsMdSUVI.js";import{a as S,E as T}from"./index-BcfO0-fK.js";import{E as A,a as I}from"./index-D2gD5Tn5.js";import{E as W}from"./index-Dy3gZN7-.js";import{E as O}from"./index-C_S0YbqD.js";import{E as R}from"./index-B18-crhn.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";/* empty css *//* empty css *//* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./refs-Cw5r5QN8.js";/* empty css */import"./index-CZJaGuxf.js";import"./useTableColumns-FR69a2pD.js";import"./_baseClone-Ct7RL6h5.js";import"./token-DWNpOE8r.js";import"./index-BnK4BbY2.js";import"./use-dialog-FwJ-QdmW.js";const D={class:"mb-3"},F={style:{padding:"0 20px","margin-bottom":"20px"}},M=t({__name:"index",setup(t){const M=a([]),$=a([]),B=a([]);const{data:H,loading:J,columns:K,pagination:L,handleSizeChange:Q,handleCurrentChange:X,getData:G}=C({core:{apiFn:e=>q(e).then(t=>({records:t.list||[],total:t.total,current:e.page,size:e.page_size})),apiParams:{page:1,page_size:20},columnsFactory:()=>[{prop:"id",label:"ID",width:70,align:"center"},{prop:"name",label:"配方名称",minWidth:150,showOverflowTooltip:!0},{prop:"materials",label:"材料",useSlot:!0,minWidth:200},{prop:"target",label:"目标商品",useSlot:!0,minWidth:150},{prop:"status",label:"状态",useSlot:!0,width:90,align:"center"},{prop:"actions",label:"操作",useSlot:!0,width:150}]}}),N=a(!1),Y=a("创建合成配方"),Z=a(null),ee=a(!1),te=l({name:"",description:"",target_product_id:void 0,status:1,materials:[]});function ae(){te.materials.push({fragment_product_id:void 0,required_count:1})}function le(){Y.value="创建合成配方",Z.value=null,te.name="",te.description="",te.target_product_id=void 0,te.status=1,te.materials=[],ae(),N.value=!0}function ie(){return e(this,null,function*(){if(!te.name||!te.target_product_id||0===te.materials.length)return void h.warning("请填写完整信息");const e=te.materials.filter(e=>e.fragment_product_id&&e.required_count>0);if(0!==e.length){ee.value=!0;try{const t={name:te.name,description:te.description,target_product_id:te.target_product_id,status:te.status,materials:e};Z.value?yield k(Z.value,t):yield z(t),N.value=!1,h.success("保存成功"),yield G()}catch(t){h.error((null==t?void 0:t.message)||"保存失败")}finally{ee.value=!1}}else h.warning("请添加至少一种材料")})}return i(()=>{!function(){e(this,null,function*(){try{const[e,t,a]=yield Promise.all([P({page:1,page_size:1e3}),P({page:1,page_size:1e3,is_fragment:1}),P({page:1,page_size:1e3,is_fragment:0})]);M.value=e.list||[],$.value=t.list||[],B.value=a.list||[]}catch(e){}})}(),G()}),(t,a)=>{const l=p,i=E,C=j,k=T,z=I,q=A,P=W,oe=O,re=S,ne=R;return r(),o("div",null,[n("div",D,[s(l,{type:"primary",onClick:le},{default:d(()=>[...a[7]||(a[7]=[u("创建合成配方",-1)])]),_:1})]),s(w,{columns:m(K),"onUpdate:columns":a[0]||(a[0]=e=>c(K)?K.value=e:null),loading:m(J),onRefresh:m(G)},null,8,["columns","loading","onRefresh"]),s(b,{loading:m(J),data:m(H),columns:m(K),pagination:m(L),"onPagination:sizeChange":m(Q),"onPagination:currentChange":m(X)},{materials:d(({row:e})=>[(r(!0),o(g,null,f(e.materials||[],(e,t)=>{return r(),o("div",{key:t,style:{"font-size":"12px","line-height":"1.6"}},_((a=e.fragment_product_id,(null==(l=M.value.find(e=>e.id===a))?void 0:l.name)||(null==(i=$.value.find(e=>e.id===a))?void 0:i.name)||`#${a}`))+" x"+_(e.required_count),1);var a,l,i}),128))]),target:d(({row:e})=>{var t;return[u(_((null==(t=e.target_product)?void 0:t.name)||e.target_product_id),1)]}),status:d(({row:e})=>[s(i,{type:1===e.status?"success":"danger"},{default:d(()=>[u(_(1===e.status?"启用":"禁用"),1)]),_:2},1032,["type"])]),actions:d(({row:t})=>[s(V,{type:"edit",onClick:e=>function(e){Y.value="编辑合成配方",Z.value=e.id,te.name=e.name,te.description=e.description||"",te.target_product_id=e.target_product_id,te.status=e.status,te.materials=(e.materials||[]).map(e=>({fragment_product_id:e.fragment_product_id,required_count:e.required_count})),0===te.materials.length&&ae(),N.value=!0}(t)},null,8,["onClick"]),s(V,{type:"delete",onClick:a=>function(t){return e(this,null,function*(){try{yield x.confirm("确定要删除该合成配方吗?","删除确认",{type:"warning"}),yield U(t),h.success("删除成功"),yield G()}catch(e){}})}(t.id)},null,8,["onClick"])]),_:1},8,["loading","data","columns","pagination","onPagination:sizeChange","onPagination:currentChange"]),s(ne,{modelValue:N.value,"onUpdate:modelValue":a[6]||(a[6]=e=>N.value=e),title:Y.value,size:"600px"},{footer:d(()=>[s(l,{onClick:a[5]||(a[5]=e=>N.value=!1)},{default:d(()=>[...a[10]||(a[10]=[u("取消",-1)])]),_:1}),s(l,{type:"primary",onClick:ie,loading:ee.value},{default:d(()=>[...a[11]||(a[11]=[u("提交",-1)])]),_:1},8,["loading"])]),default:d(()=>[s(re,{model:te,"label-width":"110px"},{default:d(()=>[s(k,{label:"配方名称",required:""},{default:d(()=>[s(C,{modelValue:te.name,"onUpdate:modelValue":a[1]||(a[1]=e=>te.name=e),placeholder:"请输入配方名称"},null,8,["modelValue"])]),_:1}),s(k,{label:"配方描述"},{default:d(()=>[s(C,{modelValue:te.description,"onUpdate:modelValue":a[2]||(a[2]=e=>te.description=e),type:"textarea",rows:2,placeholder:"配方描述(可选)"},null,8,["modelValue"])]),_:1}),s(k,{label:"目标商品",required:""},{default:d(()=>[s(q,{modelValue:te.target_product_id,"onUpdate:modelValue":a[3]||(a[3]=e=>te.target_product_id=e),filterable:"",placeholder:"搜索非碎片商品",style:{width:"100%"}},{default:d(()=>[(r(!0),o(g,null,f(B.value,e=>(r(),v(z,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),s(k,{label:"状态"},{default:d(()=>[s(q,{modelValue:te.status,"onUpdate:modelValue":a[4]||(a[4]=e=>te.status=e)},{default:d(()=>[s(z,{value:1,label:"启用"}),s(z,{value:2,label:"禁用"})]),_:1},8,["modelValue"])]),_:1}),s(P,null,{default:d(()=>[...a[8]||(a[8]=[u("合成材料",-1)])]),_:1}),(r(!0),o(g,null,f(te.materials,(e,t)=>(r(),o("div",{key:t,style:{display:"flex",gap:"8px","margin-bottom":"12px","align-items":"center",padding:"0 20px"}},[s(q,{modelValue:e.fragment_product_id,"onUpdate:modelValue":t=>e.fragment_product_id=t,filterable:"",placeholder:"搜索碎片商品",style:{flex:"1"}},{default:d(()=>[(r(!0),o(g,null,f($.value,e=>(r(),v(z,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue"]),s(oe,{modelValue:e.required_count,"onUpdate:modelValue":t=>e.required_count=t,min:1,max:999,style:{width:"130px"}},null,8,["modelValue","onUpdate:modelValue"]),s(l,{type:"danger",icon:m(y),circle:"",size:"small",onClick:e=>function(e){te.materials.splice(e,1)}(t)},null,8,["icon","onClick"])]))),128)),n("div",F,[s(l,{type:"primary",plain:"",onClick:ae},{default:d(()=>[...a[9]||(a[9]=[u("+ 添加材料",-1)])]),_:1})])]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}});export{M as default}; diff --git a/nginx/admin/assets/index-Cx_wuDDL.css b/nginx/admin/assets/index-Cx_wuDDL.css new file mode 100644 index 0000000..6789878 --- /dev/null +++ b/nginx/admin/assets/index-Cx_wuDDL.css @@ -0,0 +1 @@ +:root,:host{--w-e-textarea-bg-color: #fff;--w-e-textarea-color: #333;--w-e-textarea-border-color: #ccc;--w-e-textarea-slight-border-color: #e8e8e8;--w-e-textarea-slight-color: #d4d4d4;--w-e-textarea-slight-bg-color: #f5f2f0;--w-e-textarea-selected-border-color: #B4D5FF;--w-e-textarea-handler-bg-color: #4290f7;--w-e-toolbar-color: #595959;--w-e-toolbar-bg-color: #fff;--w-e-toolbar-active-color: #333;--w-e-toolbar-active-bg-color: #f1f1f1;--w-e-toolbar-disabled-color: #999;--w-e-toolbar-border-color: #e8e8e8;--w-e-modal-button-bg-color: #fafafa;--w-e-modal-button-border-color: #d9d9d9}.w-e-text-container *,.w-e-toolbar *{box-sizing:border-box;margin:0;outline:none;padding:0}.w-e-text-container blockquote,.w-e-text-container li,.w-e-text-container p,.w-e-text-container td,.w-e-text-container th,.w-e-toolbar *{line-height:1.5}.w-e-text-container{background-color:var(--w-e-textarea-bg-color);color:var(--w-e-textarea-color);height:100%;position:relative}.w-e-text-container .w-e-scroll{-webkit-overflow-scrolling:touch;height:100%}.w-e-text-container [data-slate-editor]{word-wrap:break-word;border-top:1px solid transparent;min-height:100%;outline:0;padding:0 10px;white-space:pre-wrap}.w-e-text-container [data-slate-editor] p{margin:15px 0}.w-e-text-container [data-slate-editor] h1,.w-e-text-container [data-slate-editor] h2,.w-e-text-container [data-slate-editor] h3,.w-e-text-container [data-slate-editor] h4,.w-e-text-container [data-slate-editor] h5{margin:20px 0}.w-e-text-container [data-slate-editor] img{cursor:default;display:inline!important;max-width:100%;min-height:20px;min-width:20px}.w-e-text-container [data-slate-editor] span{text-indent:0}.w-e-text-container [data-slate-editor] [data-selected=true]{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-placeholder{font-style:italic;left:10px;top:17px;width:90%}.w-e-max-length-info,.w-e-text-placeholder{color:var(--w-e-textarea-slight-color);pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-e-max-length-info{bottom:.5em;right:1em}.w-e-bar{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-color);font-size:14px;padding:0 5px}.w-e-bar svg{fill:var(--w-e-toolbar-color);height:14px;width:14px}.w-e-bar-show{display:flex}.w-e-bar-hidden{display:none}.w-e-hover-bar{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 5px #0000001f;position:absolute}.w-e-toolbar{flex-wrap:wrap;position:relative}.w-e-bar-divider{background-color:var(--w-e-toolbar-border-color);display:inline-flex;height:40px;margin:0 5px;width:1px}.w-e-bar-item{display:flex;height:40px;padding:4px;position:relative;text-align:center}.w-e-bar-item,.w-e-bar-item button{align-items:center;justify-content:center}.w-e-bar-item button{background:transparent;border:none;color:var(--w-e-toolbar-color);cursor:pointer;display:inline-flex;height:32px;overflow:hidden;padding:0 8px;white-space:nowrap}.w-e-bar-item button:hover{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item button .title{margin-left:5px}.w-e-bar-item .active{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item .disabled{color:var(--w-e-toolbar-disabled-color);cursor:not-allowed}.w-e-bar-item .disabled svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-menu-tooltip-v5:before{background-color:var(--w-e-toolbar-active-color);border-radius:5px;color:var(--w-e-toolbar-bg-color);content:attr(data-tooltip);font-size:.75em;opacity:0;padding:5px 10px;position:absolute;text-align:center;top:40px;transition:opacity .6s;visibility:hidden;white-space:pre;z-index:1}.w-e-menu-tooltip-v5:after{border:5px solid transparent;border-bottom:5px solid var(--w-e-toolbar-active-color);content:"";opacity:0;position:absolute;top:30px;transition:opacity .6s;visibility:hidden}.w-e-menu-tooltip-v5:hover:after,.w-e-menu-tooltip-v5:hover:before{opacity:1;visibility:visible}.w-e-menu-tooltip-v5.tooltip-right:before{left:100%;top:10px}.w-e-menu-tooltip-v5.tooltip-right:after{border-bottom-color:transparent;border-left-color:transparent;border-right-color:var(--w-e-toolbar-active-color);border-top-color:transparent;left:100%;margin-left:-10px;top:16px}.w-e-bar-item-group .w-e-bar-item-menus-container{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;display:none;left:0;margin-top:40px;position:absolute;top:0;z-index:1}.w-e-bar-item-group:hover .w-e-bar-item-menus-container{display:block}.w-e-select-list{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;left:0;margin-top:40px;max-height:350px;min-width:100px;overflow-y:auto;position:absolute;top:0;z-index:1}.w-e-select-list ul{line-height:1;list-style:none}.w-e-select-list ul .selected{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li{cursor:pointer;padding:7px 0 7px 25px;position:relative;text-align:left;white-space:nowrap}.w-e-select-list ul li:hover{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li svg{left:0;margin-left:5px;margin-top:-7px;position:absolute;top:50%}.w-e-bar-bottom .w-e-select-list{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-drop-panel{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;margin-top:40px;min-width:200px;padding:10px;position:absolute;top:0;z-index:1}.w-e-bar-bottom .w-e-drop-panel{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-modal{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;color:var(--w-e-toolbar-color);font-size:14px;min-height:40px;min-width:100px;padding:20px 15px 0;position:absolute;text-align:left;z-index:1}.w-e-modal .btn-close{cursor:pointer;line-height:1;padding:5px;position:absolute;right:8px;top:7px}.w-e-modal .btn-close svg{fill:var(--w-e-toolbar-color);height:10px;width:10px}.w-e-modal .babel-container{display:block;margin-bottom:15px}.w-e-modal .babel-container span{display:block;margin-bottom:10px}.w-e-modal .button-container{margin-bottom:15px}.w-e-modal button{background-color:var(--w-e-modal-button-bg-color);border:1px solid var(--w-e-modal-button-border-color);border-radius:4px;color:var(--w-e-toolbar-color);cursor:pointer;font-weight:400;height:32px;padding:4.5px 15px;text-align:center;touch-action:manipulation;transition:all .3s cubic-bezier(.645,.045,.355,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.w-e-modal input[type=number],.w-e-modal input[type=text],.w-e-modal textarea{font-feature-settings:"tnum";background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-modal-button-border-color);border-radius:4px;color:var(--w-e-toolbar-color);font-variant:tabular-nums;padding:4.5px 11px;transition:all .3s;width:100%}.w-e-modal textarea{min-height:60px}body .w-e-modal,body .w-e-modal *{box-sizing:border-box}.w-e-progress-bar{background-color:var(--w-e-textarea-handler-bg-color);height:1px;position:absolute;transition:width .3s;width:0}.w-e-full-screen-container{display:flex!important;flex-direction:column!important;height:100%!important;inset:0!important;margin:0!important;padding:0!important;position:fixed;width:100%!important}.w-e-full-screen-container [data-w-e-textarea=true]{flex:1!important}.w-e-text-container [data-slate-editor] code{background-color:var(--w-e-textarea-slight-bg-color);border-radius:3px;font-family:monospace;padding:3px}.w-e-panel-content-color{list-style:none;text-align:left;width:230px}.w-e-panel-content-color li{border:1px solid var(--w-e-toolbar-bg-color);border-radius:3px;cursor:pointer;display:inline-block;padding:2px}.w-e-panel-content-color li:hover{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color li .color-block{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;height:17px;width:17px}.w-e-panel-content-color .active{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color .clear{line-height:1.5;margin-bottom:5px;width:100%}.w-e-panel-content-color .clear svg{height:16px;margin-bottom:-4px;width:16px}.w-e-text-container [data-slate-editor] blockquote{background-color:var(--w-e-textarea-slight-bg-color);border-left:8px solid var(--w-e-textarea-selected-border-color);display:block;font-size:100%;line-height:1.5;margin:10px 0;padding:10px}.w-e-panel-content-emotion{font-size:20px;list-style:none;text-align:left;width:300px}.w-e-panel-content-emotion li{border-radius:3px;cursor:pointer;display:inline-block;padding:0 5px}.w-e-panel-content-emotion li:hover{background-color:var(--w-e-textarea-slight-bg-color)}.w-e-textarea-divider{border-radius:3px;margin:20px auto;padding:20px}.w-e-textarea-divider hr{background-color:var(--w-e-textarea-border-color);border:0;display:block;height:1px}.w-e-text-container [data-slate-editor] pre>code{background-color:var(--w-e-textarea-slight-bg-color);border:1px solid var(--w-e-textarea-slight-border-color);border-radius:4px;display:block;font-size:14px;padding:10px;text-indent:0}.w-e-text-container [data-slate-editor] .w-e-image-container{display:inline-block;margin:0 3px}.w-e-text-container [data-slate-editor] .w-e-image-container:hover{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-container [data-slate-editor] .w-e-selected-image-container{overflow:hidden;position:relative}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .w-e-image-dragger{background-color:var(--w-e-textarea-handler-bg-color);height:7px;position:absolute;width:7px}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-top{cursor:nwse-resize;left:0;top:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-top{cursor:nesw-resize;right:0;top:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-bottom{bottom:0;cursor:nesw-resize;left:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-bottom{bottom:0;cursor:nwse-resize;right:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container:hover,.w-e-text-container [contenteditable=false] .w-e-image-container:hover{box-shadow:none}.w-e-text-container [data-slate-editor] .table-container{border:1px dashed var(--w-e-textarea-border-color);border-radius:5px;margin-top:10px;overflow-x:auto;padding:10px;width:100%}.w-e-text-container [data-slate-editor] table{border-collapse:collapse}.w-e-text-container [data-slate-editor] table td,.w-e-text-container [data-slate-editor] table th{border:1px solid var(--w-e-textarea-border-color);line-height:1.5;min-width:30px;padding:3px 5px;text-align:left}.w-e-text-container [data-slate-editor] table th{background-color:var(--w-e-textarea-slight-bg-color);font-weight:700;text-align:center}.w-e-panel-content-table{background-color:var(--w-e-toolbar-bg-color)}.w-e-panel-content-table table{border-collapse:collapse}.w-e-panel-content-table td{border:1px solid var(--w-e-toolbar-border-color);cursor:pointer;height:15px;padding:3px 5px;width:20px}.w-e-panel-content-table td.active{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-textarea-video-container{background-image:linear-gradient(45deg,#eee 25%,transparent 0,transparent 75%,#eee 0,#eee),linear-gradient(45deg,#eee 25%,#fff 0 75%,#eee 0,#eee);background-position:0 0,10px 10px;background-size:20px 20px;border:1px dashed var(--w-e-textarea-border-color);border-radius:5px;margin:10px auto 0;padding:10px 0;text-align:center}.w-e-text-container [data-slate-editor] pre>code{word-wrap:normal;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;-webkit-hyphens:none;hyphens:none;line-height:1.5;margin:.5em 0;overflow:auto;padding:1em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;text-shadow:0 1px #fff;white-space:pre;word-break:normal;word-spacing:normal}.w-e-text-container [data-slate-editor] pre>code .token.cdata,.w-e-text-container [data-slate-editor] pre>code .token.comment,.w-e-text-container [data-slate-editor] pre>code .token.doctype,.w-e-text-container [data-slate-editor] pre>code .token.prolog{color:#708090}.w-e-text-container [data-slate-editor] pre>code .token.punctuation{color:#999}.w-e-text-container [data-slate-editor] pre>code .token.namespace{opacity:.7}.w-e-text-container [data-slate-editor] pre>code .token.boolean,.w-e-text-container [data-slate-editor] pre>code .token.constant,.w-e-text-container [data-slate-editor] pre>code .token.deleted,.w-e-text-container [data-slate-editor] pre>code .token.number,.w-e-text-container [data-slate-editor] pre>code .token.property,.w-e-text-container [data-slate-editor] pre>code .token.symbol,.w-e-text-container [data-slate-editor] pre>code .token.tag{color:#905}.w-e-text-container [data-slate-editor] pre>code .token.attr-name,.w-e-text-container [data-slate-editor] pre>code .token.builtin,.w-e-text-container [data-slate-editor] pre>code .token.char,.w-e-text-container [data-slate-editor] pre>code .token.inserted,.w-e-text-container [data-slate-editor] pre>code .token.selector,.w-e-text-container [data-slate-editor] pre>code .token.string{color:#690}.w-e-text-container [data-slate-editor] pre>code .language-css .token.string,.w-e-text-container [data-slate-editor] pre>code .style .token.string,.w-e-text-container [data-slate-editor] pre>code .token.entity,.w-e-text-container [data-slate-editor] pre>code .token.operator,.w-e-text-container [data-slate-editor] pre>code .token.url{color:#9a6e3a}.w-e-text-container [data-slate-editor] pre>code .token.atrule,.w-e-text-container [data-slate-editor] pre>code .token.attr-value,.w-e-text-container [data-slate-editor] pre>code .token.keyword{color:#07a}.w-e-text-container [data-slate-editor] pre>code .token.class-name,.w-e-text-container [data-slate-editor] pre>code .token.function{color:#dd4a68}.w-e-text-container [data-slate-editor] pre>code .token.important,.w-e-text-container [data-slate-editor] pre>code .token.regex,.w-e-text-container [data-slate-editor] pre>code .token.variable{color:#e90}.w-e-text-container [data-slate-editor] pre>code .token.bold,.w-e-text-container [data-slate-editor] pre>code .token.important{font-weight:700}.w-e-text-container [data-slate-editor] pre>code .token.italic{font-style:italic}.w-e-text-container [data-slate-editor] pre>code .token.entity{cursor:help}.w-e-full-screen-container{z-index:100!important}.editor-wrapper{width:100%;height:100%;border:1px solid var(--art-gray-300);border-radius:calc(var(--custom-radius) / 3 + 2px)!important}.editor-wrapper .w-e-bar{border-radius:calc(var(--custom-radius) / 3 + 2px) calc(var(--custom-radius) / 3 + 2px) 0 0!important}.editor-wrapper .menu-item{display:flex;flex-direction:row;align-items:center}.editor-wrapper .menu-item i{margin-right:5px}.editor-wrapper .editor-toolbar{border-bottom:1px solid var(--default-border)}.editor-wrapper .w-e-select-list{min-width:140px;padding:5px 10px 10px;border:none;border-radius:calc(var(--custom-radius) / 3 + 2px)}.editor-wrapper .w-e-select-list ul li{margin-top:5px;font-size:15px!important;border-radius:calc(var(--custom-radius) / 3 + 2px)}.editor-wrapper .w-e-select-list ul li:last-of-type{font-size:16px!important}.editor-wrapper .w-e-select-list ul li:hover{background-color:var(--art-gray-200)}.editor-wrapper :root{--w-e-toolbar-active-bg-color: var(--art-gray-200);--w-e-toolbar-color: #000;--w-e-textarea-selected-border-color: #ddd;--w-e-textarea-slight-bg-color: var(--art-gray-200)}.editor-wrapper .w-e-bar-item svg{fill:var(--art-gray-800)}.editor-wrapper .w-e-bar-item button{color:var(--art-gray-800);border-radius:calc(var(--custom-radius) / 3 + 2px)}.editor-wrapper .w-e-bar-item button:hover{background-color:var(--art-gray-200)}.editor-wrapper .w-e-bar-divider{height:20px;margin-top:10px;background-color:#ccc}.editor-wrapper .w-e-bar-item-group .w-e-bar-item-menus-container{min-width:120px;padding:10px 0;border:none;border-radius:calc(var(--custom-radius) / 3 + 2px)}.editor-wrapper .w-e-bar-item-group .w-e-bar-item-menus-container .w-e-bar-item button{width:100%;margin:0 5px}.editor-wrapper .w-e-text-container [data-slate-editor] pre>code{padding:.6rem 1rem;background-color:var(--art-gray-50);border-radius:calc(var(--custom-radius) / 3 + 2px)}.editor-wrapper .w-e-drop-panel{border:0;border-radius:calc(var(--custom-radius) / 3 + 2px)}.editor-wrapper a{color:#318ef4}.editor-wrapper .w-e-text-container strong,.editor-wrapper .w-e-text-container b{font-weight:500}.editor-wrapper .w-e-text-container i,.editor-wrapper .w-e-text-container em{font-style:italic}.editor-wrapper .w-e-text-container [data-slate-editor] .table-container th{border-right:none}.editor-wrapper .w-e-text-container [data-slate-editor] .table-container th:last-of-type{border-right:1px solid #ccc!important}.editor-wrapper .w-e-text-container [data-slate-editor] blockquote{background-color:var(--art-gray-200);border-left:4px solid var(--art-gray-300)}.editor-wrapper .w-e-hover-bar{border-radius:calc(var(--custom-radius) / 3 + 2px)}.editor-wrapper .w-e-modal{border:none;border-radius:calc(var(--custom-radius) / 3 + 2px)}.editor-wrapper .w-e-text-container [data-slate-editor] .w-e-selected-image-container{overflow:inherit}.editor-wrapper .w-e-text-container [data-slate-editor] .w-e-selected-image-container:hover{border:0}.editor-wrapper .w-e-text-container [data-slate-editor] .w-e-selected-image-container img{border:1px solid transparent;transition:border .3s}.editor-wrapper .w-e-text-container [data-slate-editor] .w-e-selected-image-container img:hover{border:1px solid #318ef4!important}.editor-wrapper .w-e-text-container [data-slate-editor] .w-e-selected-image-container .w-e-image-dragger{width:12px;height:12px;background-color:#318ef4;border:2px solid #fff;border-radius:calc(var(--custom-radius) / 3 + 2px)}.editor-wrapper .w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-top{top:-6px;left:-6px}.editor-wrapper .w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-top{top:-6px;right:-6px}.editor-wrapper .w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-bottom{bottom:-6px;left:-6px}.editor-wrapper .w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-bottom{right:-6px;bottom:-6px} diff --git a/nginx/admin/assets/index-Cx_wuDDL.css.gz b/nginx/admin/assets/index-Cx_wuDDL.css.gz new file mode 100644 index 0000000..a4808fd Binary files /dev/null and b/nginx/admin/assets/index-Cx_wuDDL.css.gz differ diff --git a/nginx/admin/assets/index-CyFLb3hx.css b/nginx/admin/assets/index-CyFLb3hx.css new file mode 100644 index 0000000..0aeab9a --- /dev/null +++ b/nginx/admin/assets/index-CyFLb3hx.css @@ -0,0 +1 @@ +.page-container[data-v-1834c742]{padding:16px} diff --git a/nginx/admin/assets/index-CzLAoq5c.js b/nginx/admin/assets/index-CzLAoq5c.js new file mode 100644 index 0000000..f5c63b5 --- /dev/null +++ b/nginx/admin/assets/index-CzLAoq5c.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BoIUJTA2.js","assets/index-Bw_sWjGf.css"])))=>i.map(i=>d[i]); +var e=Object.defineProperty,l=Object.defineProperties,t=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,r=(l,t,a)=>t in l?e(l,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):l[t]=a,s=(e,l)=>{for(var t in l||(l={}))o.call(l,t)&&r(e,t,l[t]);if(a)for(var t of a(l))i.call(l,t)&&r(e,t,l[t]);return e},u=(e,a)=>l(e,t(a)),n=(e,l,t)=>new Promise((a,o)=>{var i=e=>{try{s(t.next(e))}catch(l){o(l)}},r=e=>{try{s(t.throw(e))}catch(l){o(l)}},s=e=>e.done?a(e.value):Promise.resolve(e.value).then(i,r);s((t=t.apply(e,l)).next())});import{d,a as p,r as m,c,aZ as v,o as _,b as h,e as b,f,i as y,g,h as w,w as x,j as V,E as j,p as q,I as k,J as U,v as S,q as N,M as C,K as M,T as O,aD as I,aV as B}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as E}from"./index-Bwtbh5WQ.js";import{A as P}from"./index-BaXJ8CyS.js";import{_ as T}from"./index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{a as A,n as F,p as $,q as D,r as z,s as W}from"./adminActivities-Dgt25iR5.js";import{f as L}from"./product-qKpGgPBm.js";import{d as R,c as J}from"./activityEnums-zI8yOqFS.js";import{E as Q,a as H}from"./index-D2gD5Tn5.js";import{E as K}from"./index-C_S0YbqD.js";import{E as X}from"./index-js0HKKV6.js";import{E as Z}from"./index-ZsMdSUVI.js";import{E as G}from"./index-BjQJlHTd.js";import{a as Y,E as ee}from"./index-BcfO0-fK.js";import{E as le}from"./index-CjpBlozU.js";import{E as te}from"./index-dBzz0k3i.js";import{E as ae,a as oe}from"./index-BjuMygln.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-C1haaLtB.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./dropdown-Dk_wSiK6.js";import"./castArray-nM8ho4U3.js";import"./refs-Cw5r5QN8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";import"./index-D8nVJoNy.js";import"./index-CZJaGuxf.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./index-BnK4BbY2.js";import"./index-1OHUSGeP.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./use-dialog-FwJ-QdmW.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";const ie={class:"mb-3"},re={class:"mb-2"},se={class:"mb-2"},ue={class:"ml-4"},ne={class:"ml-4"},de={class:"ml-4"},pe={key:0,class:"mb-2"},me={key:0},ce={key:1},ve={key:1,class:"text-gray-400"},_e={key:0,class:"mb-2"},he={key:1},be={class:"flex justify-between items-center"},fe={class:"truncate",style:{"max-width":"200px"}},ye={class:"ml-2 text-gray-400 text-xs"},ge={key:2},we={class:"flex justify-between items-center"},xe={class:"ml-2 text-gray-500 text-sm"},Ve={class:"mb-4"},je={class:"mb-3"},qe={class:"ml-2 text-gray-500 text-sm"},ke={class:"text-green-600 font-medium"},Ue={class:"text-green-600"},Se=d({__name:"index",setup(e){const l=p(),t=Number(l.params.activityId),a=Number(l.params.issueId),o=m(""),i=c(()=>"ichiban"===o.value),r=c(()=>"matching"===o.value),d=c(()=>r.value?"对应对子数":"对子"),Se=m({name:"",level:null,isBoss:null,priceMin:null,priceMax:null,sortBy:"level",sortOrder:"asc"}),Ne=m(!1),Ce=m([]),Me=c(()=>i.value?[{prop:"product_id",label:"产品ID",width:90},{prop:"product_image",label:"图片",useSlot:!0,width:70},{prop:"product_name",label:"商品",useSlot:!0,minWidth:200},{prop:"product_price",label:"单价",useSlot:!0,width:100},{prop:"level",label:"等级",useSlot:!0,width:80},{prop:"sort",label:"排序",width:80},{prop:"is_boss",label:"Boss",useSlot:!0,width:80},{prop:"actions",label:"操作",useSlot:!0,width:120}]:[{prop:"product_id",label:"产品ID",width:90},{prop:"product_image",label:"图片",useSlot:!0,width:70},{prop:"product_name",label:"商品",useSlot:!0,minWidth:180},{prop:"product_price",label:"单价",useSlot:!0,width:90},{prop:"level",label:"等级",useSlot:!0,width:70},{prop:"min_score",label:d.value,width:90},{prop:"weight",label:"权重",width:70},{prop:"remain",label:"剩余/总量",useSlot:!0,width:100},{prop:"drop_quantity",label:"单次产出",width:90},{prop:"expected",label:"期望概率",useSlot:!0,width:90},{prop:"sort",label:"排序",width:70},{prop:"is_boss",label:"Boss",useSlot:!0,width:70},{prop:"actions",label:"操作",useSlot:!0,width:120}]),Oe=m(!1),Ie=c(()=>"create"===Be.value?"新增奖励":"编辑奖励"),Be=m("create"),Ee=m([]),Pe=m(null),Te=m([]),Ae=m({}),Fe=m({}),$e=m(),{width:De}=v(),ze=c(()=>`${Math.min(1100,Math.max(720,De.value-120))}px`),We=c(()=>Ce.value.reduce((e,l)=>(Number(l.quantity)||0)<=0?e:e+(Number(l.weight)||0),0)),Le=c(()=>Ce.value.reduce((e,l)=>e+(Number(l.weight)||0),0)),Re=c(()=>Ce.value.filter(e=>(Number(e.quantity)||0)>0).length),Je=c(()=>{const e=We.value;return e<=0?0:Ce.value.reduce((l,t)=>{const a=Number(t.quantity)||0,o=Number(t.weight)||0;return a<=0||o<=0?l:l+o/e*100},0)}),Qe=c(()=>{const e=Se.value.level,l=Se.value.isBoss;let t=Ce.value.slice();null!=e&&(t=t.filter(l=>Number(l.level)===e)),null!=l&&(t=t.filter(e=>Number(e.is_boss)===l));const a=Se.value.priceMin,o=Se.value.priceMax;null!=a&&(t=t.filter(e=>(Ae.value[e.product_id]||0)>=a)),null!=o&&(t=t.filter(e=>(Ae.value[e.product_id]||0)<=o));const i=Se.value.sortBy||"level",r="desc"===Se.value.sortOrder?-1:1;return t.sort((e,l)=>{const t=e=>"price"===i?Ae.value[e.product_id]||0:"weight"===i?Number(e.weight)||0:"sort"===i?Number(e.sort)||0:Number(e.level)||0,a=t(e),o=t(l);return a!==o?(a-o)*r:((Number(e.sort)||0)-(Number(l.sort)||0))*r}),t});function He(e){const l=Number(e.quantity)||0,t=Number(e.weight)||0;if(l<=0||t<=0)return"0.00";const a=We.value||0;return a<=0?"0.00":(t/a*100).toFixed(2)}const Ke=c(()=>Ce.value.reduce((e,l)=>e+(l.product_price||0)*(Number(l.quantity)||0),0));function Xe(e){if(!e)return"";try{const l=JSON.parse(e);if(Array.isArray(l)&&l.length>0)return l[0]}catch(l){return e}return""}const Ze=c(()=>[{prop:"product_id",label:"产品ID",width:90},{prop:"product_id",label:"商品",useSlot:!0,minWidth:200},{prop:"level",label:"等级",useSlot:!0,width:90},{prop:"min_score",label:d.value,useSlot:!0,width:100,hide:i.value},{prop:"weight",label:"权重",useSlot:!0,width:90,hide:i.value},{prop:"quantity",label:i.value?"批量数量":"数量",useSlot:!0,width:100},{prop:"original_qty",label:"原始数量",useSlot:!0,width:100,hide:i.value},{prop:"sort",label:"排序",useSlot:!0,width:80},{prop:"is_boss",label:"Boss",useSlot:!0,width:80},{prop:"drop_quantity",label:"单次产出",useSlot:!0,width:100,hide:i.value},{prop:"actions",label:"",useSlot:!0,width:60}].filter(e=>!e.hide));function Ge(){Be.value="create",Ee.value=[],Oe.value=!0}function Ye(e){return J(e)}function el(e){const l=Te.value.find(l=>l.id===e);return l?l.name:e}function ll(){Ee.value.push({weight:i.value?1:0,quantity:i.value?1:0,original_qty:i.value?1:0,level:1,sort:0,is_boss:0,min_score:0,drop_quantity:1})}function tl(){Ee.value=[]}function al(){return n(this,null,function*(){var e,l,o,r;try{if("create"===Be.value){if(!function(){if(0===Ee.value.length)return O.error("请至少添加一条奖励"),!1;for(const e of Ee.value){if(!e.product_id||e.product_id<=0)return O.error("请选择商品"),!1;if(!e.level||e.level<=0)return O.error("请选择等级"),!1;if(!i.value){if(!e.weight||e.weight<=0)return O.error("请输入有效的权重"),!1;if(!e.quantity||e.quantity<=0)return O.error("请输入有效的数量"),!1;if(void 0===e.original_qty||e.original_qty<0)return O.error("请输入有效的原始数量"),!1}}return!0}())return;const e=[];for(const l of Ee.value)if(i.value&&l.quantity>1){const t=Math.floor(Number(l.quantity));for(let a=0;aimport("./index-BoIUJTA2.js").then(e=>e.eT),__vite__mapDeps([0,1])).then(e=>{e.default.emit("issue-prize-changed",{activityId:t,issueId:a})})})}function ol(){return n(this,null,function*(){Ne.value=!0;const e=yield D(t,a);Ce.value=e.list,Ne.value=!1})}_(()=>{ol(),function(){n(this,null,function*(){const e=yield L({page:1,page_size:500});Te.value=e.list.map(e=>({id:e.id,name:e.name,price:e.price,images_json:e.images_json}));for(const t of e.list)if(Ae.value[t.id]=Number(t.price||0)/100,t.images_json)try{const e=JSON.parse(t.images_json);Array.isArray(e)&&e.length>0&&(Fe.value[t.id]=e[0])}catch(l){Fe.value[t.id]=t.images_json}})}(),A(t).then(e=>{o.value=e.play_type||""}).catch(()=>{})});const il=m(1e4),rl=m(!1),sl=m(!1),ul=c(()=>{const e=Le.value;return e<=0?[]:Ce.value.map(l=>{const t=Number(l.weight)||0,a=e>0?(t/e*100).toFixed(2):"0.00",o=Math.round(t/e*il.value),i=(o/il.value*100).toFixed(2);return{id:l.id,name:el(l.product_id)||l.name,level:l.level,oldWeight:t,oldProb:a,newWeight:o,newProb:i,weightChange:o-t}})});function nl(){Le.value<=0?O.warning("没有可优化的权重"):rl.value=!0}function dl(){return n(this,null,function*(){var e,l;if(0!==ul.value.length)try{sl.value=!0;const e=ul.value.map(e=>({reward_id:e.id,weight:e.newWeight}));yield W(t,a,e),O.success("权重优化成功"),rl.value=!1,yield ol(),I(()=>import("./index-BoIUJTA2.js").then(e=>e.eT),__vite__mapDeps([0,1])).then(e=>{e.default.emit("issue-prize-changed",{activityId:t,issueId:a})})}catch(o){const t=(null==(l=null==(e=null==o?void 0:o.response)?void 0:e.data)?void 0:l.message)||o.message||"优化失败";O.error(t)}finally{sl.value=!1}})}function pl(){if(0===Ce.value.length)return void O.warning("没有可导出的奖励配置");const e=Ce.value.filter(e=>(Number(e.quantity)||0)>0&&(Number(e.weight)||0)>0).map(e=>{return{id:e.id,name:e.product_name||el(e.product_id),image:e.product_image_url||(l=e.product_id,Fe.value[l]||""),weight:e.weight};var l}).sort((e,l)=>e.id-l.id);if(0===e.length)return void O.warning("没有有效的奖品权重配置");const l=e.map(e=>`${e.id}:${e.weight}`).join(","),o={activity_id:t,issue_id:a,weights:l,rewards:e,total_weight:e.reduce((e,l)=>e+l.weight,0),exported_at:(new Date).toISOString()},i=JSON.stringify(o,null,2);navigator.clipboard.writeText(i).then(()=>{O.success({message:`验证配置已复制(${e.length}个奖品)`,duration:3e3})}).catch(()=>{B.alert(i,"验证配置 (请手动复制)",{confirmButtonText:"确定",customClass:"verify-config-dialog"})})}return(e,l)=>{const o=j,r=K,u=Z,p=ee,m=Y,c=le;return b(),h("div",null,[f("div",ie,[g(o,{type:"primary",onClick:Ge},{default:x(()=>[...l[21]||(l[21]=[V("新增奖励",-1)])]),_:1}),!q(i)&&q(Ce).length>0?(b(),w(o,{key:0,class:"ml-2",onClick:nl},{default:x(()=>[...l[22]||(l[22]=[V("优化权重",-1)])]),_:1})):y("",!0),!q(i)&&q(Ce).length>0?(b(),w(o,{key:1,class:"ml-2",type:"success",onClick:pl},{default:x(()=>[...l[23]||(l[23]=[V("📋 导出验证配置",-1)])]),_:1})):y("",!0)]),f("div",re,[g(q(X),null,{default:x(()=>[g(q(Q),{modelValue:q(Se).level,"onUpdate:modelValue":l[0]||(l[0]=e=>q(Se).level=e),placeholder:"等级",clearable:"",style:{width:"140px"}},{default:x(()=>[(b(!0),h(k,null,U(q(R),(e,l)=>(b(),w(q(H),{key:l,label:e,value:Number(l)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),g(q(Q),{modelValue:q(Se).isBoss,"onUpdate:modelValue":l[1]||(l[1]=e=>q(Se).isBoss=e),placeholder:"Boss",clearable:"",style:{width:"140px"}},{default:x(()=>[g(q(H),{value:1,label:"是"}),g(q(H),{value:0,label:"否"})]),_:1},8,["modelValue"]),g(r,{modelValue:q(Se).priceMin,"onUpdate:modelValue":l[2]||(l[2]=e=>q(Se).priceMin=e),min:0,precision:2,placeholder:"最低价",style:{width:"140px"}},null,8,["modelValue"]),g(r,{modelValue:q(Se).priceMax,"onUpdate:modelValue":l[3]||(l[3]=e=>q(Se).priceMax=e),min:0,precision:2,placeholder:"最高价",style:{width:"140px"}},null,8,["modelValue"]),g(q(Q),{modelValue:q(Se).sortBy,"onUpdate:modelValue":l[4]||(l[4]=e=>q(Se).sortBy=e),placeholder:"排序字段",style:{width:"140px"}},{default:x(()=>[g(q(H),{value:"level",label:"按等级"}),g(q(H),{value:"sort",label:"按排序"}),g(q(H),{value:"price",label:"按价格"}),g(q(H),{value:"weight",label:"按权重"})]),_:1},8,["modelValue"]),g(q(Q),{modelValue:q(Se).sortOrder,"onUpdate:modelValue":l[5]||(l[5]=e=>q(Se).sortOrder=e),placeholder:"顺序",style:{width:"120px"}},{default:x(()=>[g(q(H),{value:"asc",label:"升序"}),g(q(H),{value:"desc",label:"降序"})]),_:1},8,["modelValue"])]),_:1})]),f("div",se,[f("span",null,"总权重:"+S(q(Le)),1),f("span",ue,"有效权重(有库存):"+S(q(We)),1),f("span",ne,"有库存奖品:"+S(q(Re))+"/"+S(q(Ce).length),1),f("span",de,"总成本:¥"+S(q(Ke).toFixed(2)),1)]),q(We)>0?(b(),h("div",pe,[f("span",{class:N(Math.abs(q(Je)-100)<.01?"text-green-600":"text-red-600")},[V(" 概率总和:"+S(q(Je).toFixed(2))+"% ",1),Math.abs(q(Je)-100)<.01?(b(),h("span",me,"✓")):(b(),h("span",ce,"(应为100%)"))],2),l[24]||(l[24]=f("span",{class:"ml-4 text-gray-500 text-sm"},"💡 建议总权重为10000,权重1=0.01%",-1))])):y("",!0),g(P,{columns:q(Me),"onUpdate:columns":l[6]||(l[6]=e=>C(Me)?Me.value=e:null),loading:q(Ne),onRefresh:ol},null,8,["columns","loading"]),g(E,{loading:q(Ne),data:q(Qe),columns:q(Me),stripe:!0,border:!0},{product_image:x(({row:e})=>[e.product_image_url?(b(),w(q(G),{key:0,src:Xe(e.product_image_url),"preview-src-list":[Xe(e.product_image_url)],fit:"cover",style:{width:"50px",height:"50px","border-radius":"4px"}},null,8,["src","preview-src-list"])):(b(),h("span",ve,"无图片"))]),product_name:x(({row:e})=>[f("span",null,S(e.product_name),1)]),product_price:x(({row:e})=>[f("span",null,"¥"+S((e.product_price||0).toFixed(2)),1)]),is_boss:x(({row:e})=>[g(u,{type:1===e.is_boss?"warning":"info"},{default:x(()=>[V(S(1===e.is_boss?"是":"否"),1)]),_:2},1032,["type"])]),level:x(({row:e})=>[f("span",null,S(Ye(e.level)),1)]),remain:x(({row:e})=>[f("span",null,S(e.quantity)+"/"+S(e.original_qty),1)]),expected:x(({row:e})=>[f("span",null,S(He(e))+"%",1)]),actions:x(({row:e})=>[g(T,{type:"edit",onClick:l=>function(e){Be.value="edit",Pe.value=s({},e),Ee.value=[Pe.value],Oe.value=!0}(e)},null,8,["onClick"]),g(T,{type:"delete",onClick:l=>function(e){return n(this,null,function*(){var l,o;try{const l=e.product_name||"该奖励";yield B.confirm(`确定要删除奖励"${l}"吗?此操作不可恢复`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",beforeClose:(e,l,t)=>{"confirm"===e?(l.confirmButtonLoading=!0,t()):t()}}),yield z(t,a,e.id),O.success({message:`"${l}"已成功删除`,duration:3e3}),yield ol(),I(()=>import("./index-BoIUJTA2.js").then(e=>e.eT),__vite__mapDeps([0,1])).then(e=>{e.default.emit("issue-prize-changed",{activityId:t,issueId:a})})}catch(i){if("cancel"===i)return;const t=(null==(o=null==(l=null==i?void 0:i.response)?void 0:l.data)?void 0:o.message)||i.message||"删除失败",a=e.product_name||"该奖励";O.error({message:`"${a}"删除失败:${t}`,duration:4e3})}})}(e)},null,8,["onClick"])]),_:1},8,["loading","data","columns"]),g(c,{modelValue:q(Oe),"onUpdate:modelValue":l[17]||(l[17]=e=>C(Oe)?Oe.value=e:null),title:q(Ie),width:q(ze)},{footer:x(()=>[g(o,{onClick:l[16]||(l[16]=e=>Oe.value=!1)},{default:x(()=>[...l[29]||(l[29]=[V("取消",-1)])]),_:1}),g(o,{type:"primary",onClick:al},{default:x(()=>[...l[30]||(l[30]=[V("提交",-1)])]),_:1})]),default:x(()=>["create"===q(Be)?(b(),h("div",_e,[g(o,{type:"primary",onClick:ll},{default:x(()=>[...l[25]||(l[25]=[V("新增一行",-1)])]),_:1}),g(o,{class:"ml-2",onClick:tl},{default:x(()=>[...l[26]||(l[26]=[V("清空",-1)])]),_:1})])):y("",!0),"create"===q(Be)?(b(),h("div",he,[g(E,{data:q(Ee),columns:q(Ze),tableLayout:"auto",stripe:!0,border:!0},{product_id:x(({row:e})=>[g(q(Q),{modelValue:e.product_id,"onUpdate:modelValue":l=>e.product_id=l,modelModifiers:{number:!0},filterable:"",placeholder:"搜索商品",style:{width:"100%"}},{default:x(()=>[(b(!0),h(k,null,U(q(Te),e=>(b(),w(q(H),{key:e.id,value:e.id,label:e.name},{default:x(()=>[f("div",be,[f("span",fe,S(e.name),1),f("span",ye,"¥"+S((Number(e.price||0)/100).toFixed(2)),1)])]),_:2},1032,["value","label"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue"])]),level:x(({row:e})=>[g(q(Q),{modelValue:e.level,"onUpdate:modelValue":l=>e.level=l,modelModifiers:{number:!0},style:{width:"100px"}},{default:x(()=>[(b(!0),h(k,null,U(q(R),(e,l)=>(b(),w(q(H),{key:l,label:e,value:Number(l)},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue"])]),min_score:x(({row:e})=>[g(r,{modelValue:e.min_score,"onUpdate:modelValue":l=>e.min_score=l,min:0,controls:!1,step:1,style:{width:"80px"}},null,8,["modelValue","onUpdate:modelValue"])]),weight:x(({row:e})=>[g(r,{modelValue:e.weight,"onUpdate:modelValue":l=>e.weight=l,min:0,controls:!1,step:1,style:{width:"80px"}},null,8,["modelValue","onUpdate:modelValue"])]),quantity:x(({row:e})=>[g(r,{modelValue:e.quantity,"onUpdate:modelValue":l=>e.quantity=l,min:0,controls:!1,step:1,style:{width:"80px"}},null,8,["modelValue","onUpdate:modelValue"])]),original_qty:x(({row:e})=>[g(r,{modelValue:e.original_qty,"onUpdate:modelValue":l=>e.original_qty=l,min:0,controls:!1,step:1,style:{width:"90px"}},null,8,["modelValue","onUpdate:modelValue"])]),sort:x(({row:e})=>[g(r,{modelValue:e.sort,"onUpdate:modelValue":l=>e.sort=l,min:0,controls:!1,step:1,style:{width:"70px"}},null,8,["modelValue","onUpdate:modelValue"])]),is_boss:x(({row:e})=>[g(q(Q),{modelValue:e.is_boss,"onUpdate:modelValue":l=>e.is_boss=l,modelModifiers:{number:!0},style:{width:"70px"}},{default:x(()=>[g(q(H),{value:0,label:"否"}),g(q(H),{value:1,label:"是"})]),_:1},8,["modelValue","onUpdate:modelValue"])]),drop_quantity:x(({row:e})=>[g(r,{modelValue:e.drop_quantity,"onUpdate:modelValue":l=>e.drop_quantity=l,min:1,max:100,controls:!1,step:1,style:{width:"80px"}},null,8,["modelValue","onUpdate:modelValue"])]),actions:x(({$index:e})=>[g(o,{text:"",type:"danger",size:"small",onClick:l=>{return t=e,void Ee.value.splice(t,1);var t}},{default:x(()=>[...l[27]||(l[27]=[V("删除",-1)])]),_:1},8,["onClick"])]),_:1},8,["data","columns"])])):(b(),h("div",ge,[g(m,{model:q(Pe),ref_key:"editFormRef",ref:$e,"label-width":"100px"},{default:x(()=>[g(p,{label:"商品",prop:"product_id",rules:[{required:!0,message:"请选择商品"}]},{default:x(()=>[g(q(Q),{modelValue:q(Pe).product_id,"onUpdate:modelValue":l[7]||(l[7]=e=>q(Pe).product_id=e),modelModifiers:{number:!0},filterable:"",placeholder:"选择商品"},{default:x(()=>[(b(!0),h(k,null,U(q(Te),e=>(b(),w(q(H),{key:e.id,value:e.id,label:e.name},{default:x(()=>[f("div",we,[f("span",null,S(e.name),1),f("span",xe,"¥"+S((Number(e.price||0)/100).toFixed(2)),1)])]),_:2},1032,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1}),g(p,{label:"产品ID"},{default:x(()=>[g(q(M),{value:q(Pe).product_id,readonly:""},null,8,["value"])]),_:1}),g(p,{label:"单价"},{default:x(()=>{return[g(q(M),{value:q(Pe).product_id?`¥${(e=q(Pe).product_id,Ae.value[e]||0).toFixed(2)}`:"¥0.00",readonly:""},null,8,["value"])];var e}),_:1}),q(i)?y("",!0):(b(),w(p,{key:0,label:q(d),prop:"min_score",rules:[{required:!0,message:"请输入"+q(d)}]},{default:x(()=>[g(r,{modelValue:q(Pe).min_score,"onUpdate:modelValue":l[8]||(l[8]=e=>q(Pe).min_score=e),min:0,controls:!1,step:1},null,8,["modelValue"])]),_:1},8,["label","rules"])),g(p,{label:"等级",prop:"level",rules:[{required:!0,message:"请选择等级"}]},{default:x(()=>[g(q(Q),{modelValue:q(Pe).level,"onUpdate:modelValue":l[9]||(l[9]=e=>q(Pe).level=e),modelModifiers:{number:!0}},{default:x(()=>[(b(!0),h(k,null,U(q(R),(e,l)=>(b(),w(q(H),{key:l,label:e,value:Number(l)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),g(p,{label:"Boss",prop:"is_boss",rules:[{required:!0,message:"请选择"}]},{default:x(()=>[g(q(Q),{modelValue:q(Pe).is_boss,"onUpdate:modelValue":l[10]||(l[10]=e=>q(Pe).is_boss=e),modelModifiers:{number:!0}},{default:x(()=>[g(q(H),{value:0,label:"否"}),g(q(H),{value:1,label:"是"})]),_:1},8,["modelValue"])]),_:1}),q(i)?y("",!0):(b(),w(p,{key:1,label:"权重",prop:"weight",rules:[{required:!0,message:"请输入权重"}]},{default:x(()=>[g(r,{modelValue:q(Pe).weight,"onUpdate:modelValue":l[11]||(l[11]=e=>q(Pe).weight=e),min:0,controls:!1,step:1},null,8,["modelValue"])]),_:1})),q(i)?y("",!0):(b(),w(p,{key:2,label:"数量",prop:"quantity",rules:[{required:!0,message:"请输入数量"}]},{default:x(()=>[g(r,{modelValue:q(Pe).quantity,"onUpdate:modelValue":l[12]||(l[12]=e=>q(Pe).quantity=e),min:0,controls:!1,step:1},null,8,["modelValue"])]),_:1})),q(i)?y("",!0):(b(),w(p,{key:3,label:"原始数量",prop:"original_qty",rules:[{required:!0,message:"请输入原始数量"}]},{default:x(()=>[g(r,{modelValue:q(Pe).original_qty,"onUpdate:modelValue":l[13]||(l[13]=e=>q(Pe).original_qty=e),min:0,controls:!1,step:1},null,8,["modelValue"])]),_:1})),q(i)?y("",!0):(b(),w(p,{key:4,label:"单次产出",prop:"drop_quantity"},{default:x(()=>[g(r,{modelValue:q(Pe).drop_quantity,"onUpdate:modelValue":l[14]||(l[14]=e=>q(Pe).drop_quantity=e),min:1,max:100,controls:!1,step:1},null,8,["modelValue"]),l[28]||(l[28]=f("div",{style:{color:"#909399","font-size":"12px","margin-top":"4px"}},"碎片类奖品可设置多数量产出,默认1",-1))]),_:1})),g(p,{label:"排序",prop:"sort"},{default:x(()=>[g(r,{modelValue:q(Pe).sort,"onUpdate:modelValue":l[15]||(l[15]=e=>q(Pe).sort=e),min:0,controls:!1,step:1},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]))]),_:1},8,["modelValue","title","width"]),g(c,{modelValue:q(rl),"onUpdate:modelValue":l[20]||(l[20]=e=>C(rl)?rl.value=e:null),title:"权重优化预览",width:"900px"},{footer:x(()=>[g(o,{onClick:l[19]||(l[19]=e=>rl.value=!1)},{default:x(()=>[...l[35]||(l[35]=[V("取消",-1)])]),_:1}),g(o,{type:"primary",loading:q(sl),onClick:dl},{default:x(()=>[...l[36]||(l[36]=[V("应用优化",-1)])]),_:1},8,["loading"])]),default:x(()=>[f("div",Ve,[g(q(te),{type:"info",closable:!1},{title:x(()=>[...l[31]||(l[31]=[f("span",null,"将所有奖品权重归一化到指定总权重(建议10000,权重1 = 0.01%)",-1)])]),_:1})]),f("div",je,[f("span",null,[l[32]||(l[32]=V("当前总权重:",-1)),f("strong",null,S(q(Le)),1)]),l[33]||(l[33]=f("span",{class:"ml-4"},"→",-1)),l[34]||(l[34]=f("span",{class:"ml-2"},"目标总权重:",-1)),g(r,{modelValue:q(il),"onUpdate:modelValue":l[18]||(l[18]=e=>C(il)?il.value=e:null),min:100,max:1e6,step:1e3,controls:!0,style:{width:"150px"}},null,8,["modelValue"]),f("span",qe,"(权重1 = "+S((100/q(il)).toFixed(4))+"%)",1)]),g(q(ae),{data:q(ul),stripe:"",border:"","max-height":"400px",size:"small"},{default:x(()=>[g(q(oe),{prop:"name",label:"奖品名称","min-width":"180"}),g(q(oe),{prop:"level",label:"等级",width:"80"},{default:x(({row:e})=>[V(S(Ye(e.level)),1)]),_:1}),g(q(oe),{label:"当前权重",width:"100"},{default:x(({row:e})=>[V(S(e.oldWeight),1)]),_:1}),g(q(oe),{label:"当前概率",width:"100"},{default:x(({row:e})=>[V(S(e.oldProb)+"%",1)]),_:1}),g(q(oe),{label:"优化后权重",width:"120"},{default:x(({row:e})=>[f("span",ke,S(e.newWeight),1)]),_:1}),g(q(oe),{label:"优化后概率",width:"120"},{default:x(({row:e})=>[f("span",Ue,S(e.newProb)+"%",1)]),_:1}),g(q(oe),{label:"变化",width:"100"},{default:x(({row:e})=>[f("span",{class:N(e.weightChange>0?"text-green-600":e.weightChange<0?"text-red-600":"text-gray-500")},S(e.weightChange>0?"+":"")+S(e.weightChange),3)]),_:1})]),_:1},8,["data"])]),_:1},8,["modelValue"])])}}});export{Se as default}; diff --git a/nginx/admin/assets/index-CzLAoq5c.js.gz b/nginx/admin/assets/index-CzLAoq5c.js.gz new file mode 100644 index 0000000..b480853 Binary files /dev/null and b/nginx/admin/assets/index-CzLAoq5c.js.gz differ diff --git a/nginx/admin/assets/index-D2gD5Tn5.js b/nginx/admin/assets/index-D2gD5Tn5.js new file mode 100644 index 0000000..a74ec35 --- /dev/null +++ b/nginx/admin/assets/index-D2gD5Tn5.js @@ -0,0 +1 @@ +var e=Object.defineProperty,l=Object.defineProperties,t=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,n=(l,t,a)=>t in l?e(l,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):l[t]=a,i=(e,l)=>{for(var t in l||(l={}))o.call(l,t)&&n(e,t,l[t]);if(a)for(var t of a(l))s.call(l,t)&&n(e,t,l[t]);return e},r=(e,a)=>l(e,t(a));import{aM as u,r as p,c as d,ap as c,c2 as v,a8 as f,c3 as b,a9 as m,aa as g,ao as h,c4 as y,A as S,af as x,bF as O,a0 as C,d as w,N as V,aj as I,b as T,e as E,s as k,f as R,v as D,O as L,q as B,a1 as M,bC as $,p as z,t as P,k as _,l as j,n as F,i as W,m as K,o as N,bK as H,bD as A,bE as G,bQ as Q,c5 as U,bO as q,ax as Z,an as J,c6 as Y,bx as X,ad as ee,c7 as le,Y as te,bZ as ae,c8 as oe,c9 as se,br as ne,Z as ie,_ as re,bc as ue,ca as pe,bd as de,ah as ce,bB as ve,bL as fe,at as be,ab as me,am as ge,bM as he,bw as ye,ae as Se,cb as xe,b_ as Oe,G as Ce,H as we,g as Ve,w as Ie,h as Te,I as Ee,J as ke,a2 as Re,cc as De,j as Le,P as Be,cd as Me,aE as $e,ce as ze,ai as Pe,aq as _e,az as je,aA as Fe}from"./index-BoIUJTA2.js";import{u as We,a as Ke,E as Ne}from"./index-BMeOzN3u.js";import{s as He,E as Ae}from"./index-Cp4NEpJ7.js";import{t as Ge,E as Qe}from"./index-ZsMdSUVI.js";import{s as Ue,a as qe}from"./token-DWNpOE8r.js";import{c as Ze}from"./castArray-nM8ho4U3.js";import{d as Je}from"./debounce-DQl5eUwG.js";import{b as Ye}from"./_baseIteratee-CtIat01j.js";import{C as Xe}from"./index-CXORCV4U.js";function el(e,l,t,a){for(var o=e.length,s=t+(a?1:-1);a?s--:++s({minWidth:`${Math.max(l.value,11)}px`}));return c(e,()=>{var t,a;l.value=null!=(a=null==(t=e.value)?void 0:t.getBoundingClientRect().width)?a:0}),{calculatorRef:e,calculatorWidth:l,inputStyle:t}}const tl={label:"label",value:"value",disabled:"disabled",options:"options"};const al="ElOption",ol=f({value:{type:[String,Number,Boolean,Object],required:!0},label:{type:[String,Number]},created:Boolean,disabled:Boolean}),sl=(e="")=>e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d"),nl=e=>b(e);var il=C(w({name:al,componentName:al,props:ol,setup(e){const l=M("select"),t=$(),a=d(()=>[l.be("dropdown","item"),l.is("disabled",z(i)),l.is("selected",z(n)),l.is("hovering",z(f))]),o=_({index:-1,groupDisabled:!1,visible:!0,hover:!1}),{currentLabel:s,itemSelected:n,isDisabled:i,select:r,hoverItem:u,updateOption:p}=function(e,l){const t=m(Ue);t||g(al,"usage: ");const a=m(qe,{disabled:!1}),o=d(()=>p(Ze(t.props.modelValue),e.value)),s=d(()=>{var e;if(t.props.multiple){const l=Ze(null!=(e=t.props.modelValue)?e:[]);return!o.value&&l.length>=t.props.multipleLimit&&t.props.multipleLimit>0}return!1}),n=d(()=>{var l;return null!=(l=e.label)?l:h(e.value)?"":e.value}),i=d(()=>e.value||e.label||""),r=d(()=>e.disabled||l.groupDisabled||s.value),u=x(),p=(l=[],a)=>{if(h(e.value)){const e=t.props.valueKey;return l&&l.some(l=>y(v(l,e))===v(a,e))}return l&&l.includes(a)};return S(()=>n.value,()=>{e.created||t.props.remote||t.setSelected()}),S(()=>e.value,(l,a)=>{const{remote:o,valueKey:s}=t.props;if((o?l!==a:!O(l,a))&&(t.onOptionDestroy(a,u.proxy),t.onOptionCreate(u.proxy)),!e.created&&!o){if(s&&h(l)&&h(a)&&l[s]===a[s])return;t.setSelected()}}),S(()=>a.disabled,()=>{l.groupDisabled=a.disabled},{immediate:!0}),{select:t,currentLabel:n,currentValue:i,itemSelected:o,isDisabled:r,hoverItem:()=>{e.disabled||a.disabled||(t.states.hoveringIndex=t.optionsArray.indexOf(u.proxy))},updateOption:t=>{const a=new RegExp(sl(t),"i");l.visible=a.test(String(n.value))||e.created}}}(e,o),{visible:c,hover:f}=P(o),b=x().proxy;return r.onOptionCreate(b),j(()=>{const e=b.value;F(()=>{const{selected:l}=r.states,t=l.some(e=>e.value===b.value);r.states.cachedOptions.get(e)!==b||t||r.states.cachedOptions.delete(e)}),r.onOptionDestroy(e,b)}),{ns:l,id:t,containerKls:a,currentLabel:s,itemSelected:n,isDisabled:i,select:r,visible:c,hover:f,states:o,hoverItem:u,updateOption:p,selectOptionClick:function(){i.value||r.handleOptionSelect(b)}}}}),[["render",function(e,l){return V((E(),T("li",{id:e.id,class:B(e.containerKls),role:"option","aria-disabled":e.isDisabled||void 0,"aria-selected":e.itemSelected,onMousemove:e.hoverItem,onClick:L(e.selectOptionClick,["stop"])},[k(e.$slots,"default",{},()=>[R("span",null,D(e.currentLabel),1)])],42,["id","aria-disabled","aria-selected","onMousemove","onClick"])),[[I,e.visible]])}],["__file","option.vue"]]);var rl=C(w({name:"ElSelectDropdown",componentName:"ElSelectDropdown",setup(){const e=m(Ue),l=M("select"),t=d(()=>e.props.popperClass),a=d(()=>e.props.multiple),o=d(()=>e.props.fitInputWidth),s=p("");function n(){var l;const t=null==(l=e.selectRef)?void 0:l.offsetWidth;s.value=t?t-2+"px":""}return N(()=>{n(),c(e.selectRef,n)}),{ns:l,minWidth:s,popperClass:t,isMultiple:a,isFitInputWidth:o}}}),[["render",function(e,l,t,a,o,s){return E(),T("div",{class:B([e.ns.b("dropdown"),e.ns.is("multiple",e.isMultiple),e.popperClass]),style:K({[e.isFitInputWidth?"width":"minWidth"]:e.minWidth})},[e.$slots.header?(E(),T("div",{key:0,class:B(e.ns.be("dropdown","header"))},[k(e.$slots,"header")],2)):W("v-if",!0),k(e.$slots,"default"),e.$slots.footer?(E(),T("div",{key:1,class:B(e.ns.be("dropdown","footer"))},[k(e.$slots,"footer")],2)):W("v-if",!0)],6)}],["__file","select-dropdown.vue"]]);const ul=(e,l)=>{const{t:t}=H(),a=$(),o=M("select"),s=M("input"),n=_({inputValue:"",options:new Map,cachedOptions:new Map,optionValues:[],selected:[],selectionWidth:0,collapseItemWidth:0,selectedLabel:"",hoveringIndex:-1,previousQuery:null,inputHovering:!1,menuVisibleOnFocus:!1,isBeforeHide:!1}),i=p(),r=p(),u=p(),f=p(),b=p(),m=p(),g=p(),y=p(),x=p(),C=p(),w=p(),V=p(!1),I=p(),{form:T,formItem:E}=A(),{inputId:k}=G(e,{formItemContext:E}),{valueOnClear:R,isEmptyValue:D}=Q(e),{isComposing:L,handleCompositionStart:B,handleCompositionUpdate:z,handleCompositionEnd:P}=U({afterComposition:e=>Ke(e)}),j=d(()=>e.disabled||!!(null==T?void 0:T.disabled)),{wrapperRef:W,isFocused:K,handleBlur:ce}=q(b,{disabled:j,afterFocus(){e.automaticDropdown&&!V.value&&(V.value=!0,n.menuVisibleOnFocus=!0)},beforeBlur(e){var l,t;return(null==(l=u.value)?void 0:l.isFocusInsideContent(e))||(null==(t=f.value)?void 0:t.isFocusInsideContent(e))},afterBlur(){var l;V.value=!1,n.menuVisibleOnFocus=!1,e.validateEvent&&(null==(l=null==E?void 0:E.validate)||l.call(E,"blur").catch(e=>Z()))}}),ve=d(()=>J(e.modelValue)?e.modelValue.length>0:!D(e.modelValue)),fe=d(()=>{var e;return null!=(e=null==T?void 0:T.statusIcon)&&e}),be=d(()=>e.clearable&&!j.value&&ve.value&&(K.value||n.inputHovering)),me=d(()=>e.remote&&e.filterable&&!e.remoteShowSuffix?"":e.suffixIcon),ge=d(()=>o.is("reverse",!(!me.value||!V.value))),he=d(()=>(null==E?void 0:E.validateState)||""),ye=d(()=>he.value&&Y[he.value]),Se=d(()=>e.remote?300:0),xe=d(()=>e.remote&&!n.inputValue&&0===n.options.size),Oe=d(()=>e.loading?e.loadingText||t("el.select.loading"):e.filterable&&n.inputValue&&n.options.size>0&&0===Ce.value?e.noMatchText||t("el.select.noMatch"):0===n.options.size?e.noDataText||t("el.select.noData"):null),Ce=d(()=>we.value.filter(e=>e.visible).length),we=d(()=>{const e=Array.from(n.options.values()),l=[];return n.optionValues.forEach(t=>{const a=e.findIndex(e=>e.value===t);a>-1&&l.push(e[a])}),l.length>=e.length?l:e}),Ve=d(()=>Array.from(n.cachedOptions.values())),Ie=d(()=>{const l=we.value.filter(e=>!e.created).some(e=>e.currentLabel===n.inputValue);return e.filterable&&e.allowCreate&&""!==n.inputValue&&!l}),Te=()=>{e.filterable&&ae(e.filterMethod)||e.filterable&&e.remote&&ae(e.remoteMethod)||we.value.forEach(e=>{var l;null==(l=e.updateOption)||l.call(e,n.inputValue)})},Ee=X(),ke=d(()=>["small"].includes(Ee.value)?"small":"default"),Re=d({get:()=>V.value&&!xe.value,set(e){V.value=e}}),De=d(()=>{if(e.multiple&&!ee(e.modelValue))return 0===Ze(e.modelValue).length&&!n.inputValue;const l=J(e.modelValue)?e.modelValue[0]:e.modelValue;return!e.filterable&&!ee(l)||!n.inputValue}),Le=d(()=>{var l;const a=null!=(l=e.placeholder)?l:t("el.select.placeholder");return e.multiple||!ve.value?a:n.selectedLabel}),Be=d(()=>le?null:"mouseenter");S(()=>e.modelValue,(l,t)=>{e.multiple&&e.filterable&&!e.reserveKeyword&&(n.inputValue="",Me("")),ze(),!O(l,t)&&e.validateEvent&&(null==E||E.validate("change").catch(e=>Z()))},{flush:"post",deep:!0}),S(()=>V.value,e=>{e?Me(n.inputValue):(n.inputValue="",n.previousQuery=null,n.isBeforeHide=!0),l("visible-change",e)}),S(()=>n.options.entries(),()=>{pe&&(ze(),e.defaultFirstOption&&(e.filterable||e.remote)&&Ce.value&&$e())},{flush:"post"}),S([()=>n.hoveringIndex,we],([e])=>{de(e)&&e>-1?I.value=we.value[e]||{}:I.value={},we.value.forEach(e=>{e.hover=I.value===e})}),te(()=>{n.isBeforeHide||Te()});const Me=l=>{n.previousQuery===l||L.value||(n.previousQuery=l,e.filterable&&ae(e.filterMethod)?e.filterMethod(l):e.filterable&&e.remote&&ae(e.remoteMethod)&&e.remoteMethod(l),e.defaultFirstOption&&(e.filterable||e.remote)&&Ce.value?F($e):F(_e))},$e=()=>{const e=we.value.filter(e=>e.visible&&!e.disabled&&!e.states.groupDisabled),l=e.find(e=>e.created),t=e[0],a=we.value.map(e=>e.value);n.hoveringIndex=Ue(a,l||t)},ze=()=>{if(!e.multiple){const l=J(e.modelValue)?e.modelValue[0]:e.modelValue,t=Pe(l);return n.selectedLabel=t.currentLabel,void(n.selected=[t])}n.selectedLabel="";const l=[];ee(e.modelValue)||Ze(e.modelValue).forEach(e=>{l.push(Pe(e))}),n.selected=l},Pe=l=>{let t;const a=oe(l);for(let o=n.cachedOptions.size-1;o>=0;o--){const s=Ve.value[o];if(a?v(s.value,e.valueKey)===v(l,e.valueKey):s.value===l){t={index:we.value.filter(e=>!e.created).indexOf(s),value:l,currentLabel:s.currentLabel,get isDisabled(){return s.isDisabled}};break}}if(t)return t;return{index:-1,value:l,currentLabel:a?l.label:null!=l?l:""}},_e=()=>{n.hoveringIndex=we.value.findIndex(e=>n.selected.some(l=>al(l)===al(e)))},je=()=>{var e,l;null==(l=null==(e=u.value)?void 0:e.updatePopper)||l.call(e)},Fe=()=>{var e,l;null==(l=null==(e=f.value)?void 0:e.updatePopper)||l.call(e)},We=()=>{n.inputValue.length>0&&!V.value&&(V.value=!0),Me(n.inputValue)},Ke=l=>{if(n.inputValue=l.target.value,!e.remote)return We();Ne()},Ne=Je(()=>{We()},Se.value),He=t=>{O(e.modelValue,t)||l(ue,t)},Ae=e=>function(e,l){var t=null==e?0:e.length;if(!t)return-1;var a=t-1;return el(e,Ye(l),a,!0)}(e,e=>{const l=n.cachedOptions.get(e);return l&&!l.disabled&&!l.states.groupDisabled}),Ge=t=>{t.stopPropagation();const a=e.multiple?[]:R.value;if(e.multiple)for(const e of n.selected)e.isDisabled&&a.push(e.value);l(ne,a),He(a),n.hoveringIndex=-1,V.value=!1,l("clear"),ll()},Qe=t=>{var a;if(e.multiple){const o=Ze(null!=(a=e.modelValue)?a:[]).slice(),s=Ue(o,t);s>-1?o.splice(s,1):(e.multipleLimit<=0||o.length{qe(t)})},Ue=(l,t)=>ee(t)?-1:h(t.value)?l.findIndex(l=>O(v(l,e.valueKey),al(t))):l.indexOf(t.value),qe=e=>{var l,t,a,s,n;const i=J(e)?e[0]:e;let r=null;if(null==i?void 0:i.value){const e=we.value.filter(e=>e.value===i.value);e.length>0&&(r=e[0].$el)}if(u.value&&r){const e=null==(s=null==(a=null==(t=null==(l=u.value)?void 0:l.popperRef)?void 0:t.contentRef)?void 0:a.querySelector)?void 0:s.call(a,`.${o.be("dropdown","wrap")}`);e&&se(e,r)}null==(n=w.value)||n.handleScroll()},Xe=d(()=>{var e,l;return null==(l=null==(e=u.value)?void 0:e.popperRef)?void 0:l.contentRef}),ll=()=>{var e;null==(e=b.value)||e.focus()},tl=()=>{j.value||(le&&(n.inputHovering=!0),n.menuVisibleOnFocus?n.menuVisibleOnFocus=!1:V.value=!V.value)},al=l=>h(l.value)?v(l.value,e.valueKey):l.value,ol=d(()=>we.value.filter(e=>e.visible).every(e=>e.isDisabled)),sl=d(()=>e.multiple?e.collapseTags?n.selected.slice(0,e.maxCollapseTags):n.selected:[]),nl=d(()=>e.multiple&&e.collapseTags?n.selected.slice(e.maxCollapseTags):[]),il=e=>{if(V.value){if(0!==n.options.size&&0!==Ce.value&&!L.value&&!ol.value){"next"===e?(n.hoveringIndex++,n.hoveringIndex===n.options.size&&(n.hoveringIndex=0)):"prev"===e&&(n.hoveringIndex--,n.hoveringIndex<0&&(n.hoveringIndex=n.options.size-1));const l=we.value[n.hoveringIndex];!l.isDisabled&&l.visible||il(e),F(()=>qe(I.value))}}else V.value=!0},rl=d(()=>{const l=(()=>{if(!r.value)return 0;const e=window.getComputedStyle(r.value);return Number.parseFloat(e.gap||"6px")})(),t=e.filterable?l+11:0;return{maxWidth:`${C.value&&1===e.maxCollapseTags?n.selectionWidth-n.collapseItemWidth-l-t:n.selectionWidth-t}px`}}),ul=d(()=>({maxWidth:`${n.selectionWidth}px`}));let pl;return c(r,()=>{n.selectionWidth=Number.parseFloat(window.getComputedStyle(r.value).width)}),c(W,je),c(x,Fe),c(C,()=>{n.collapseItemWidth=C.value.getBoundingClientRect().width}),S(()=>Re.value,e=>{e?pl=c(y,je).stop:(null==pl||pl(),pl=void 0)}),N(()=>{ze()}),{inputId:k,contentId:a,nsSelect:o,nsInput:s,states:n,isFocused:K,expanded:V,optionsArray:we,hoverOption:I,selectSize:Ee,filteredOptionsCount:Ce,updateTooltip:je,updateTagTooltip:Fe,debouncedOnInputChange:Ne,onInput:Ke,deletePrevTag:t=>{const a=ie(t);if(e.multiple&&a!==re.delete&&t.target.value.length<=0){const t=Ze(e.modelValue).slice(),a=Ae(t);if(a<0)return;const o=t[a];t.splice(a,1),l(ne,t),He(t),l("remove-tag",o)}},deleteTag:(t,a)=>{const o=n.selected.indexOf(a);if(o>-1&&!j.value){const t=Ze(e.modelValue).slice();t.splice(o,1),l(ne,t),He(t),l("remove-tag",a.value)}t.stopPropagation(),ll()},deleteSelected:Ge,handleOptionSelect:Qe,scrollToOption:qe,hasModelValue:ve,shouldShowPlaceholder:De,currentPlaceholder:Le,mouseEnterEventName:Be,needStatusIcon:fe,showClearBtn:be,iconComponent:me,iconReverse:ge,validateState:he,validateIcon:ye,showNewOption:Ie,updateOptions:Te,collapseTagSize:ke,setSelected:ze,selectDisabled:j,emptyText:Oe,handleCompositionStart:B,handleCompositionUpdate:z,handleCompositionEnd:P,onOptionCreate:e=>{n.options.set(e.value,e),n.cachedOptions.set(e.value,e)},onOptionDestroy:(e,l)=>{n.options.get(e)===l&&n.options.delete(e)},handleMenuEnter:()=>{n.isBeforeHide=!1,F(()=>{var e;null==(e=w.value)||e.update(),qe(n.selected)})},focus:ll,blur:()=>{var e;if(V.value)return V.value=!1,void F(()=>{var e;return null==(e=b.value)?void 0:e.blur()});null==(e=b.value)||e.blur()},handleClearClick:e=>{Ge(e)},handleClickOutside:e=>{if(V.value=!1,K.value){const l=new FocusEvent("blur",e);F(()=>ce(l))}},handleEsc:()=>{n.inputValue.length>0?n.inputValue="":V.value=!1},toggleMenu:tl,selectOption:()=>{if(V.value){const e=we.value[n.hoveringIndex];e&&!e.isDisabled&&Qe(e)}else tl()},getValueKey:al,navigateOptions:il,dropdownMenuVisible:Re,showTagList:sl,collapseTagList:nl,popupScroll:e=>{l("popup-scroll",e)},getOption:Pe,tagStyle:rl,collapseTagStyle:ul,popperRef:Xe,inputRef:b,tooltipRef:u,tagTooltipRef:f,prefixRef:m,suffixRef:g,selectRef:i,wrapperRef:W,selectionRef:r,scrollbarRef:w,menuRef:y,tagMenuRef:x,collapseItemRef:C}};var pl=w({name:"ElOptions",setup(e,{slots:l}){const t=m(Ue);let a=[];return()=>{var e,o;const s=null==(e=l.default)?void 0:e.call(l),n=[];return s.length&&function e(l){J(l)&&l.forEach(l=>{var t,a,o,s;const i=null==(t=(null==l?void 0:l.type)||{})?void 0:t.name;"ElOptionGroup"===i?e(ce(l.children)||J(l.children)||!ae(null==(a=l.children)?void 0:a.default)?l.children:null==(o=l.children)?void 0:o.default()):"ElOption"===i?n.push(null==(s=l.props)?void 0:s.value):J(l.children)&&e(l.children)})}(null==(o=s[0])?void 0:o.children),O(n,a)||(a=n,t&&(t.states.optionValues=n)),s}}});const dl=f(i(i({name:String,id:String,modelValue:{type:be([Array,String,Number,Boolean,Object]),default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:ye,effect:{type:be(String),default:"light"},disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:String,default:""},popperStyle:{type:be([String,Object])},popperOptions:{type:be(Object),default:()=>({})},remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:{type:be(Function)},filterMethod:{type:be(Function)},multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},teleported:We.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:ge,default:he},fitInputWidth:Boolean,suffixIcon:{type:ge,default:me},tagType:r(i({},Ge.type),{default:"info"}),tagEffect:r(i({},Ge.effect),{default:"light"}),validateEvent:{type:Boolean,default:!0},remoteShowSuffix:Boolean,showArrow:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:be(String),values:Ke,default:"bottom-start"},fallbackPlacements:{type:be(Array),default:["bottom-start","top-start","right","left"]},tabindex:{type:[String,Number],default:0},appendTo:We.appendTo,options:{type:be(Array)},props:{type:be(Object),default:()=>tl}},fe),ve(["ariaLabel"])));He.scroll;var cl=C(w({name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:Boolean},setup(e){const l=M("select"),t=p(),a=x(),o=p([]);Se(qe,_(i({},P(e))));const s=d(()=>o.value.some(e=>!0===e.visible)),n=e=>{const l=Ze(e),t=[];return l.forEach(e=>{var l;Oe(e)&&((e=>{var l;return"ElOption"===e.type.name&&!!(null==(l=e.component)?void 0:l.proxy)})(e)?t.push(e.component.proxy):J(e.children)&&e.children.length?t.push(...n(e.children)):(null==(l=e.component)?void 0:l.subTree)&&t.push(...n(e.component.subTree)))}),t},r=()=>{o.value=n(a.subTree)};return N(()=>{r()}),xe(t,r,{attributes:!0,subtree:!0,childList:!0}),{groupRef:t,visible:s,ns:l}}}),[["render",function(e,l,t,a,o,s){return V((E(),T("ul",{ref:"groupRef",class:B(e.ns.be("group","wrap"))},[R("li",{class:B(e.ns.be("group","title"))},D(e.label),3),R("li",null,[R("ul",{class:B(e.ns.b("group"))},[k(e.$slots,"default")],2)])],2)),[[I,e.visible]])}],["__file","option-group.vue"]]);const vl="ElSelect";const fl=je(C(w({name:vl,componentName:vl,components:{ElSelectMenu:rl,ElOption:il,ElOptions:pl,ElOptionGroup:cl,ElTag:Qe,ElScrollbar:Ae,ElTooltip:Ne,ElIcon:Pe},directives:{ClickOutside:Xe},props:dl,emits:[ne,ue,"remove-tag","clear","visible-change","focus","blur","popup-scroll"],setup(e,{emit:l,slots:t}){const a=x();a.appContext.config.warnHandler=(...e)=>{e[0]&&e[0].includes('Slot "default" invoked outside of the render function')};const o=d(()=>{const{modelValue:l,multiple:t}=e,a=t?[]:void 0;return J(l)?t?l:a:t?a:l}),s=_(r(i({},P(e)),{modelValue:o})),n=ul(s,l),{calculatorRef:u,inputStyle:p}=ll(),{getLabel:c,getValue:f,getOptions:b,getDisabled:m}=function(e){const l=d(()=>i(i({},tl),e.props));return{aliasProps:l,getLabel:e=>v(e,l.value.label),getValue:e=>v(e,l.value.value),getDisabled:e=>v(e,l.value.disabled),getOptions:e=>v(e,l.value.options)}}(e),g=e=>e.reduce((e,l)=>(e.push(l),l.children&&l.children.length>0&&e.push(...g(l.children)),e),[]);S(()=>{var e;return null==(e=t.default)?void 0:e.call(t)},l=>{e.persistent||_e(l||[]).forEach(e=>{var l;if(h(e)&&("ElOption"===e.type.name||"ElTree"===e.type.name)){const t=e.type.name;if("ElTree"===t){const t=(null==(l=e.props)?void 0:l.data)||[];g(t).forEach(e=>{e.currentLabel=e.label||(h(e.value)?"":e.value),n.onOptionCreate(e)})}else if("ElOption"===t){const l=i({},e.props);l.currentLabel=l.label||(h(l.value)?"":l.value),n.onOptionCreate(l)}}})},{immediate:!0}),Se(Ue,_({props:s,states:n.states,selectRef:n.selectRef,optionsArray:n.optionsArray,setSelected:n.setSelected,handleOptionSelect:n.handleOptionSelect,onOptionCreate:n.onOptionCreate,onOptionDestroy:n.onOptionDestroy}));const y=d(()=>e.multiple?n.states.selected.map(e=>e.currentLabel):n.states.selectedLabel);return j(()=>{a.appContext.config.warnHandler=void 0}),r(i({},n),{modelValue:o,selectedLabel:y,calculatorRef:u,inputStyle:p,getLabel:c,getValue:f,getOptions:b,getDisabled:m,getOptionProps:e=>({label:c(e),value:f(e),disabled:m(e)})})}}),[["render",function(e,l){const t=Ce("el-tag"),a=Ce("el-tooltip"),o=Ce("el-icon"),s=Ce("el-option"),n=Ce("el-option-group"),i=Ce("el-options"),r=Ce("el-scrollbar"),u=Ce("el-select-menu"),p=we("click-outside");return V((E(),T("div",{ref:"selectRef",class:B([e.nsSelect.b(),e.nsSelect.m(e.selectSize)]),[ze(e.mouseEnterEventName)]:l=>e.states.inputHovering=!0,onMouseleave:l=>e.states.inputHovering=!1},[Ve(a,{ref:"tooltipRef",visible:e.dropdownMenuVisible,placement:e.placement,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"popper-style":e.popperStyle,"popper-options":e.popperOptions,"fallback-placements":e.fallbackPlacements,effect:e.effect,pure:"",trigger:"click",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,persistent:e.persistent,"append-to":e.appendTo,"show-arrow":e.showArrow,offset:e.offset,onBeforeShow:e.handleMenuEnter,onHide:l=>e.states.isBeforeHide=!1},{default:Ie(()=>{var l;return[R("div",{ref:"wrapperRef",class:B([e.nsSelect.e("wrapper"),e.nsSelect.is("focused",e.isFocused),e.nsSelect.is("hovering",e.states.inputHovering),e.nsSelect.is("filterable",e.filterable),e.nsSelect.is("disabled",e.selectDisabled)]),onClick:L(e.toggleMenu,["prevent"])},[e.$slots.prefix?(E(),T("div",{key:0,ref:"prefixRef",class:B(e.nsSelect.e("prefix"))},[k(e.$slots,"prefix")],2)):W("v-if",!0),R("div",{ref:"selectionRef",class:B([e.nsSelect.e("selection"),e.nsSelect.is("near",e.multiple&&!e.$slots.prefix&&!!e.states.selected.length)])},[e.multiple?k(e.$slots,"tag",{key:0,data:e.states.selected,deleteTag:e.deleteTag,selectDisabled:e.selectDisabled},()=>[(E(!0),T(Ee,null,ke(e.showTagList,l=>(E(),T("div",{key:e.getValueKey(l),class:B(e.nsSelect.e("selected-item"))},[Ve(t,{closable:!e.selectDisabled&&!l.isDisabled,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:K(e.tagStyle),onClose:t=>e.deleteTag(t,l)},{default:Ie(()=>[R("span",{class:B(e.nsSelect.e("tags-text"))},[k(e.$slots,"label",{index:l.index,label:l.currentLabel,value:l.value},()=>[Le(D(l.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","style","onClose"])],2))),128)),e.collapseTags&&e.states.selected.length>e.maxCollapseTags?(E(),Te(a,{key:0,ref:"tagTooltipRef",disabled:e.dropdownMenuVisible||!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],effect:e.effect,placement:"bottom","popper-class":e.popperClass,"popper-style":e.popperStyle,teleported:e.teleported},{default:Ie(()=>[R("div",{ref:"collapseItemRef",class:B(e.nsSelect.e("selected-item"))},[Ve(t,{closable:!1,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:K(e.collapseTagStyle)},{default:Ie(()=>[R("span",{class:B(e.nsSelect.e("tags-text"))}," + "+D(e.states.selected.length-e.maxCollapseTags),3)]),_:1},8,["size","type","effect","style"])],2)]),content:Ie(()=>[R("div",{ref:"tagMenuRef",class:B(e.nsSelect.e("selection"))},[(E(!0),T(Ee,null,ke(e.collapseTagList,l=>(E(),T("div",{key:e.getValueKey(l),class:B(e.nsSelect.e("selected-item"))},[Ve(t,{class:"in-tooltip",closable:!e.selectDisabled&&!l.isDisabled,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",onClose:t=>e.deleteTag(t,l)},{default:Ie(()=>[R("span",{class:B(e.nsSelect.e("tags-text"))},[k(e.$slots,"label",{index:l.index,label:l.currentLabel,value:l.value},()=>[Le(D(l.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","onClose"])],2))),128))],2)]),_:3},8,["disabled","effect","popper-class","popper-style","teleported"])):W("v-if",!0)]):W("v-if",!0),R("div",{class:B([e.nsSelect.e("selected-item"),e.nsSelect.e("input-wrapper"),e.nsSelect.is("hidden",!e.filterable)])},[V(R("input",{id:e.inputId,ref:"inputRef","onUpdate:modelValue":l=>e.states.inputValue=l,type:"text",name:e.name,class:B([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,autocomplete:e.autocomplete,style:K(e.inputStyle),tabindex:e.tabindex,role:"combobox",readonly:!e.filterable,spellcheck:"false","aria-activedescendant":(null==(l=e.hoverOption)?void 0:l.id)||"","aria-controls":e.contentId,"aria-expanded":e.dropdownMenuVisible,"aria-label":e.ariaLabel,"aria-autocomplete":"none","aria-haspopup":"listbox",onKeydown:[Be(L(l=>e.navigateOptions("next"),["stop","prevent"]),["down"]),Be(L(l=>e.navigateOptions("prev"),["stop","prevent"]),["up"]),Be(L(e.handleEsc,["stop","prevent"]),["esc"]),Be(L(e.selectOption,["stop","prevent"]),["enter"]),Be(L(e.deletePrevTag,["stop"]),["delete"])],onCompositionstart:e.handleCompositionStart,onCompositionupdate:e.handleCompositionUpdate,onCompositionend:e.handleCompositionEnd,onInput:e.onInput,onClick:L(e.toggleMenu,["stop"])},null,46,["id","onUpdate:modelValue","name","disabled","autocomplete","tabindex","readonly","aria-activedescendant","aria-controls","aria-expanded","aria-label","onKeydown","onCompositionstart","onCompositionupdate","onCompositionend","onInput","onClick"]),[[Me,e.states.inputValue]]),e.filterable?(E(),T("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:B(e.nsSelect.e("input-calculator")),textContent:D(e.states.inputValue)},null,10,["textContent"])):W("v-if",!0)],2),e.shouldShowPlaceholder?(E(),T("div",{key:1,class:B([e.nsSelect.e("selected-item"),e.nsSelect.e("placeholder"),e.nsSelect.is("transparent",!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[e.hasModelValue?k(e.$slots,"label",{key:0,index:e.getOption(e.modelValue).index,label:e.currentPlaceholder,value:e.modelValue},()=>[R("span",null,D(e.currentPlaceholder),1)]):(E(),T("span",{key:1},D(e.currentPlaceholder),1))],2)):W("v-if",!0)],2),R("div",{ref:"suffixRef",class:B(e.nsSelect.e("suffix"))},[e.iconComponent&&!e.showClearBtn?(E(),Te(o,{key:0,class:B([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.iconReverse])},{default:Ie(()=>[(E(),Te($e(e.iconComponent)))]),_:1},8,["class"])):W("v-if",!0),e.showClearBtn&&e.clearIcon?(E(),Te(o,{key:1,class:B([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.nsSelect.e("clear")]),onClick:e.handleClearClick},{default:Ie(()=>[(E(),Te($e(e.clearIcon)))]),_:1},8,["class","onClick"])):W("v-if",!0),e.validateState&&e.validateIcon&&e.needStatusIcon?(E(),Te(o,{key:2,class:B([e.nsInput.e("icon"),e.nsInput.e("validateIcon"),e.nsInput.is("loading","validating"===e.validateState)])},{default:Ie(()=>[(E(),Te($e(e.validateIcon)))]),_:1},8,["class"])):W("v-if",!0)],2)],10,["onClick"])]}),content:Ie(()=>[Ve(u,{ref:"menuRef"},{default:Ie(()=>[e.$slots.header?(E(),T("div",{key:0,class:B(e.nsSelect.be("dropdown","header")),onClick:L(()=>{},["stop"])},[k(e.$slots,"header")],10,["onClick"])):W("v-if",!0),V(Ve(r,{id:e.contentId,ref:"scrollbarRef",tag:"ul","wrap-class":e.nsSelect.be("dropdown","wrap"),"view-class":e.nsSelect.be("dropdown","list"),class:B([e.nsSelect.is("empty",0===e.filteredOptionsCount)]),role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical",onScroll:e.popupScroll},{default:Ie(()=>[e.showNewOption?(E(),Te(s,{key:0,value:e.states.inputValue,created:!0},null,8,["value"])):W("v-if",!0),Ve(i,null,{default:Ie(()=>[k(e.$slots,"default",{},()=>[(E(!0),T(Ee,null,ke(e.options,(l,t)=>{var a;return E(),T(Ee,{key:t},[(null==(a=e.getOptions(l))?void 0:a.length)?(E(),Te(n,{key:0,label:e.getLabel(l),disabled:e.getDisabled(l)},{default:Ie(()=>[(E(!0),T(Ee,null,ke(e.getOptions(l),l=>(E(),Te(s,Re({key:e.getValue(l)},e.getOptionProps(l)),null,16))),128))]),_:2},1032,["label","disabled"])):(E(),Te(s,De(Re({key:1},e.getOptionProps(l))),null,16))],64)}),128))])]),_:3})]),_:3},8,["id","wrap-class","view-class","class","aria-label","onScroll"]),[[I,e.states.options.size>0&&!e.loading]]),e.$slots.loading&&e.loading?(E(),T("div",{key:1,class:B(e.nsSelect.be("dropdown","loading"))},[k(e.$slots,"loading")],2)):e.loading||0===e.filteredOptionsCount?(E(),T("div",{key:2,class:B(e.nsSelect.be("dropdown","empty"))},[k(e.$slots,"empty",{},()=>[R("span",null,D(e.emptyText),1)])],2)):W("v-if",!0),e.$slots.footer?(E(),T("div",{key:3,class:B(e.nsSelect.be("dropdown","footer")),onClick:L(()=>{},["stop"])},[k(e.$slots,"footer")],10,["onClick"])):W("v-if",!0)]),_:3},512)]),_:3},8,["visible","placement","teleported","popper-class","popper-style","popper-options","fallback-placements","effect","transition","persistent","append-to","show-arrow","offset","onBeforeShow","onHide"])],16,["onMouseleave"])),[[p,e.handleClickOutside,e.popperRef]])}],["__file","select.vue"]]),{Option:il,OptionGroup:cl}),bl=Fe(il);Fe(cl);export{fl as E,bl as a,el as b,nl as c,sl as e,ll as u}; diff --git a/nginx/admin/assets/index-D2gD5Tn5.js.gz b/nginx/admin/assets/index-D2gD5Tn5.js.gz new file mode 100644 index 0000000..56267ef Binary files /dev/null and b/nginx/admin/assets/index-D2gD5Tn5.js.gz differ diff --git a/nginx/admin/assets/index-D31cv9lq.js b/nginx/admin/assets/index-D31cv9lq.js new file mode 100644 index 0000000..aab279d --- /dev/null +++ b/nginx/admin/assets/index-D31cv9lq.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,r=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,s=(t,r,o)=>r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[r]=o,p=(e,t,r)=>new Promise((o,i)=>{var l=e=>{try{p(r.next(e))}catch(t){i(t)}},s=e=>{try{p(r.throw(e))}catch(t){i(t)}},p=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,s);p((r=r.apply(e,t)).next())});import{c1 as a,d as n,r as m,k as u,c as d,o as c,b as j,e as y,g as b,p as v,M as x,w as _,j as f,v as g,ag as h,T as w,aV as O}from"./index-BoIUJTA2.js";/* empty css *//* empty css */import{_ as k}from"./index-oPcNh_Ue.js";import{_ as P}from"./index-Bwtbh5WQ.js";import{A as V}from"./index-BaXJ8CyS.js";import{_ as C}from"./index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js";import{u as A}from"./useTableColumns-FR69a2pD.js";import{E as T}from"./index-ZsMdSUVI.js";import{E as W}from"./index-BaD29Izp.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./tree-select-DdXiCp9j.js";import"./index-BneqRonp.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-BnK4BbY2.js";import"./debounce-DQl5eUwG.js";import"./index-CXORCV4U.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./index-D2gD5Tn5.js";import"./token-DWNpOE8r.js";import"./castArray-nM8ho4U3.js";import"./_baseIteratee-CtIat01j.js";import"./clamp-BXzPLned.js";import"./index-sK8AD9wr.js";import"./index-BObA9rVr.js";import"./index-D8nVJoNy.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./slider-DTwTybBj.js";import"./index-C_S0YbqD.js";/* empty css */import"./index-C_sVHlWz.js";import"./index-CXD7B41Z.js";import"./index-BcfO0-fK.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-DqTthkO7.js";import"./index-DGLhvuMQ.js";import"./cloneDeep-B1gZFPYK.js";import"./index-rgHg98E6.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./raf-DsHSIRfX.js";import"./index-C1haaLtB.js";/* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./refs-Cw5r5QN8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";import"./index-CZJaGuxf.js";const E={class:"recycle-page art-full-height"},I=n((S=((e,t)=>{for(var r in t||(t={}))i.call(t,r)&&s(e,r,t[r]);if(o)for(var r of o(t))l.call(t,r)&&s(e,r,t[r]);return e})({},{name:"Recycle"}),t(S,r({__name:"index",setup(e){const t=m(!1),r=m([]),o=u({type:"product"}),i=d(()=>({product:"商品",category:"商品分类",banner:"轮播图",guild:"工会",item_card:"道具卡",coupon:"优惠券",menu:"系统菜单",menu_action:"菜单动作",role:"角色",role_user:"角色成员"}[o.type]||o.type)),l=d(()=>[{label:"类型",key:"type",type:"select",props:{options:[{label:"活动",value:"activity"},{label:"期数",value:"issue"},{label:"奖励",value:"reward"},{label:"商品",value:"product"},{label:"商品分类",value:"category"},{label:"轮播图",value:"banner"},{label:"工会",value:"guild"},{label:"道具卡",value:"item_card"},{label:"优惠券",value:"coupon"},{label:"系统菜单",value:"menu"},{label:"菜单动作",value:"menu_action"},{label:"角色",value:"role"},{label:"角色成员",value:"role_user"}]}}]);c(()=>{s()});const s=()=>p(this,null,function*(){t.value=!0;try{const e=yield((e,t=1,r=20)=>a.get({url:"/system/recycle",params:{type:e,page:t,page_size:r}}))(o.type,1,100);r.value=e.list||[]}finally{t.value=!1}}),n=()=>{s()},I=e=>p(this,null,function*(){var t,r;yield(t=o.type,r=e.id,a.post({url:"/system/recycle/restore",params:{type:t,id:r}})),w.success("已恢复"),s()}),S=e=>p(this,null,function*(){var t,r;yield O.confirm("确定要彻底删除该数据?此操作不可恢复","确认",{type:"warning"}),yield(t=o.type,r=e.id,a.del({url:"/system/recycle",params:{type:t,id:r}})),w.success("已彻底删除"),s()}),{columnChecks:D,columns:R}=A(()=>[{prop:"id",label:"ID",minWidth:80},{prop:"name",label:"名称",minWidth:160},{prop:"deleted_at",label:"删除时间",minWidth:180},{prop:"operation",label:"操作",minWidth:180,align:"right",formatter:e=>h("div",{style:"text-align: right"},[h(C,{type:"edit",title:"恢复",onClick:()=>I(e)}),h(C,{type:"delete",title:"彻底删除",onClick:()=>S(e)})])}]);return(e,p)=>{const a=W;return y(),j("div",E,[b(k,{modelValue:v(o),"onUpdate:modelValue":p[0]||(p[0]=e=>x(o)?o.value=e:null),items:v(l),showExpand:!1,onSearch:n},null,8,["modelValue","items"]),b(a,{class:"art-table-card",shadow:"never"},{default:_(()=>[b(V,{loading:v(t),columns:v(D),"onUpdate:columns":p[1]||(p[1]=e=>x(D)?D.value=e:null),onRefresh:s},{left:_(()=>[b(v(T),{type:"info"},{default:_(()=>[f(g(v(i)),1)]),_:1})]),_:1},8,["loading","columns"]),b(P,{loading:v(t),columns:v(R),data:v(r),rowKey:"id"},null,8,["loading","columns","data"])]),_:1})])}}}))));var S;export{I as default}; diff --git a/nginx/admin/assets/index-D5RyP_zf.js b/nginx/admin/assets/index-D5RyP_zf.js new file mode 100644 index 0000000..18c1ee3 --- /dev/null +++ b/nginx/admin/assets/index-D5RyP_zf.js @@ -0,0 +1 @@ +var e=Object.defineProperty,l=Object.defineProperties,a=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,n=(l,a,t)=>a in l?e(l,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[a]=t,o=(e,l)=>{for(var a in l||(l={}))i.call(l,a)&&n(e,a,l[a]);if(t)for(var a of t(l))s.call(l,a)&&n(e,a,l[a]);return e},u=(e,t)=>l(e,a(t)),r=(e,l,a)=>new Promise((t,i)=>{var s=e=>{try{o(a.next(e))}catch(l){i(l)}},n=e=>{try{o(a.throw(e))}catch(l){i(l)}},o=e=>e.done?t(e.value):Promise.resolve(e.value).then(s,n);o((a=a.apply(e,l)).next())});import{d,C as m,r as c,k as p,c as v,A as _,o as f,B as y,b as g,e as b,g as h,f as w,h as V,i as j,w as x,j as z,E as k,p as C,M,v as U,I as D,J as S,K as Y,N,aj as I,ai as q,b3 as H,b4 as O,b5 as E,b6 as F,q as B,b7 as P,b8 as T,b9 as A,aR as W,ac as $,ba as R,aV as L,T as G}from"./index-BoIUJTA2.js";/* empty css *//* empty css */import{b as J,E as Z,a as X}from"./el-dropdown-item-D7SYN_RE.js";/* empty css *//* empty css */import{E as K,a as Q}from"./el-step-DRmJIHnU.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as ee}from"./index-Bwtbh5WQ.js";import{A as le}from"./index-BaXJ8CyS.js";import{_ as ae}from"./index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js";import{u as te}from"./useTable-DzUOUR11.js";import{f as ie}from"./activity-CMsiETfu.js";import se from"./activity-search-7kOl5pCK.js";import{e as ne,a as oe,f as ue,h as re,i as de,j as me,k as ce,m as pe,c as ve,l as _e,n as fe,b as ye}from"./adminActivities-Dgt25iR5.js";import{f as ge}from"./product-qKpGgPBm.js";import{_ as be}from"./index.vue_vue_type_style_index_0_lang-HxUCIPrH.js";import{c as he}from"./coupons-tpfgWUoF.js";import{g as we,P as Ve,D as je,a as xe}from"./activityEnums-zI8yOqFS.js";import ze from"./ActivityAnalysisDrawer-C_7KPjWt.js";import{_ as ke}from"./ActivityRankingDrawer.vue_vue_type_script_setup_true_lang-DgB00tZC.js";import{E as Ce}from"./index-CZJaGuxf.js";import{E as Me}from"./index-ZsMdSUVI.js";import{a as Ue,E as De}from"./index-BcfO0-fK.js";import{E as Se,a as Ye}from"./index-D2gD5Tn5.js";import{E as Ne}from"./index-CjpBlozU.js";import{E as Ie}from"./index-C_sVHlWz.js";import{E as qe}from"./index-CXD7B41Z.js";import{E as He}from"./index-C_S0YbqD.js";import{E as Oe}from"./index-BneqRonp.js";import{E as Ee}from"./index-rgHg98E6.js";import{E as Fe}from"./index-CSr24crn.js";import{E as Be}from"./index-dBzz0k3i.js";import{_ as Pe}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./dropdown-Dk_wSiK6.js";import"./castArray-nM8ho4U3.js";import"./refs-Cw5r5QN8.js";import"./index-C0Ar9TSn.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";/* empty css *//* empty css *//* empty css */import"./useTableColumns-FR69a2pD.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index-js0HKKV6.js";import"./index-BaD29Izp.js";/* empty css */import"./operations-Cr4YfoRu.js";import"./index-ClDjAOOe.js";import"./index-B18-crhn.js";import"./use-dialog-FwJ-QdmW.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./index-DqTthkO7.js";import"./index-DvejFoOw.js";import"./_baseClone-Ct7RL6h5.js";import"./token-DWNpOE8r.js";import"./index-BnK4BbY2.js";import"./cloneDeep-B1gZFPYK.js";const Te={class:"mb-3"},Ae={key:0},We={key:0},$e={key:1,class:"mt-2"},Re={key:0,class:"selected-activity-card"},Le={class:"ml-4"},Ge={class:"form-section"},Je={class:"input-hint-modern"},Ze={class:"line-row-single"},Xe={class:"line-row-single"},Ke={class:"line-row-single"},Qe={class:"wizard-container"},el={class:"wizard-content"},ll={class:"step-panel"},al={class:"left-col"},tl={class:"form-section"},il={class:"input-hint-modern"},sl={class:"form-section"},nl={class:"form-line"},ol={class:"line-row-single"},ul={class:"line-row-single"},rl={class:"line-row-single play-intro-item"},dl={class:"step-panel"},ml={key:0,class:"selected-activity-card"},cl={class:"step-panel"},pl={class:"selected-info-cards"},vl={class:"info-card"},_l={class:"info-card"},fl={class:"rewards-toolbar"},yl={class:"reward-stats"},gl={key:0,class:"rewards-grid"},bl={class:"reward-card-header"},hl={class:"reward-name"},wl={class:"reward-properties-modern"},Vl={class:"property-row"},jl={class:"property-value"},xl={class:"property-row"},zl={class:"property-value"},kl={class:"property-row"},Cl={class:"property-value"},Ml={class:"property-row"},Ul={class:"property-row"},Dl={key:1,class:"empty-rewards-modern"},Sl={class:"empty-stats"},Yl={class:"wizard-footer-modern"},Nl={class:"step-indicator"},Il={class:"product-option-modern"},ql={class:"product-name-modern"},Hl={key:0,class:"product-price-modern"},Ol={class:"level-option-modern"},El={class:"level-option-modern"},Fl={class:"level-option-modern"},Bl={class:"level-option-modern"},Pl={class:"level-option-modern"},Tl={class:"level-option-modern"},Al={class:"level-option-modern"},Wl={class:"level-option-modern"},$l={class:"level-option-modern"},Rl=Pe(d({__name:"index",setup(e){const l=m(),a=c(),t=c(),i=c(null),s=c(null),n=c({name:void 0,category_id:void 0,status:void 0,is_boss:void 0}),{data:d,loading:Pe,error:Rl,columns:Ll,pagination:Gl,handleSizeChange:Jl,handleCurrentChange:Zl,fetchData:Xl,getData:Kl,getDataDebounced:Ql,searchParams:ea}=te({core:{apiFn:e=>ie({page:e.page,page_size:e.page_size,name:e.name,category_id:e.category_id,status:e.status,is_boss:e.is_boss}),apiParams:{page:1,page_size:20},columnsFactory:()=>[{prop:"id",label:"ID",minWidth:90,align:"center"},{prop:"name",label:"活动名称",minWidth:160},{prop:"categoryName",label:"分类",useSlot:!0,minWidth:180,align:"center"},{prop:"status",label:"状态",useSlot:!0,minWidth:130,align:"center"},{prop:"commit_version",label:"承诺版本",minWidth:120,align:"center",formatter:e=>{var l,a;return null!=(a=null==(l=e._commitSummary)?void 0:l.seed_version)?a:"-"}},{prop:"priceDraw",label:"抽奖价格(元)",minWidth:140,align:"center",formatter:e=>{return l=e.priceDraw,ut(Math.round((Number(l)||0)/100*100)/100);var l}},{prop:"isBoss",label:"Boss活动",useSlot:!0,minWidth:110,align:"center"},{prop:"drawMode",label:"开奖模式",minWidth:120,align:"center",formatter:e=>xe(e.drawMode)},{prop:"minParticipants",label:"最低人数",minWidth:110,align:"center"},{prop:"intervalMinutes",label:"循环间隔(分)",minWidth:130,align:"center"},{prop:"scheduledTime",label:"首次时间",minWidth:160,align:"center",formatter:e=>{return!(l=e.scheduledTime)||l.startsWith("0001-01-01")?"-":function(e){const l=new Date(e),a=l.getFullYear(),t=rt(l.getMonth()+1),i=rt(l.getDate()),s=rt(l.getHours()),n=rt(l.getMinutes()),o=rt(l.getSeconds());return`${a}-${t}-${i} ${s}:${n}:${o}`}(l);var l}},{prop:"actions",label:"操作",useSlot:!0,minWidth:360}]}}),la=e=>{const l=o({},ea),a=e||n.value;Object.assign(l,a),Ql(l)},aa=()=>{const e=o({},ea);Object.keys(e).forEach(l=>{"current"!==l&&"size"!==l&&"page"!==l&&"page_size"!==l&&delete e[l]}),Ql(e)},ta=c(!1),ia=c("创建活动"),sa=c(null),na=c(null),oa=c(null),ua=c(null),ra=p({name:"",activity_category_id:0,image:"",gameplay_intro:"",allow_item_cards:1,allow_coupons:1}),da=c([]),ma=v({get:()=>{const e=ra.price_draw||0;return Math.round(e)/100},set:e=>{ra.price_draw=Math.round(100*(e||0))}}),ca=v({get:()=>{const e=Ua.price_draw||0;return Math.round(e)/100},set:e=>{Ua.price_draw=Math.round(100*(e||0))}});function pa(){return r(this,null,function*(){ka.value=0,Object.assign(Ua,{name:"",activity_category_id:void 0,status:1,price_draw:0,is_boss:0}),Ba.activityId=void 0,Ba.issueId=void 0,Object.assign(Pa,{issue_number:"",status:void 0,sort:void 0}),Ta.value=[],oa.value=null,ua.value=null,ka.value=0,yield mt(),xa.value=!0})}function va(){return r(this,null,function*(){const e=yield ne();da.value=e.list})}function _a(){return r(this,null,function*(){const e=o({},ra);e.allow_item_cards=e.allow_item_cards?1:0,e.allow_coupons=e.allow_coupons?1:0,e.start_time=oa.value||(new Date).toISOString(),ua.value&&(e.end_time=ua.value),e.play_type=tt.play_type,e.draw_mode=tt.draw_mode,"scheduled"===tt.draw_mode&&(e.min_participants=Number(tt.min_participants||0),e.scheduled_delay_minutes=Number(tt.interval_minutes||0),e.interval_minutes=Number(tt.interval_minutes||0),e.refund_coupon_id=tt.refund_coupon_id||0),sa.value?yield ue(sa.value,e):yield re(e),ta.value=!1,yield Kl()})}const fa=c(!1),ya=c(!1),ga=c(null),ba=c([]);function ha(){return r(this,null,function*(){fa.value=!0;const e=yield ie({page:1,page_size:50});ba.value=e.records.map(e=>({id:e.id,name:e.name}))})}function wa(e){return r(this,null,function*(){if(e)try{e._commitSummary=yield ye(e.id)}catch(l){e._commitSummary=null}})}function Va(e){return r(this,null,function*(){if(e&&!e._detailLoaded)try{const l=yield oe(e.id);e.drawMode=l.draw_mode||"",e.playType=l.play_type||"",e.minParticipants=l.min_participants||0,e.intervalMinutes=l.interval_minutes||0,e.scheduledTime=l.scheduled_time||"",e._detailLoaded=!0}catch(l){}})}function ja(){return r(this,null,function*(){var e,a;if(ga.value){ya.value=!0;try{const e=yield me(ga.value);G.success("复制成功"),fa.value=!1,ga.value=null,yield Kl(),e.new_activity_id&&l.push({name:"ActivityIssues",params:{activityId:e.new_activity_id}})}catch(t){const l=(null==(a=null==(e=null==t?void 0:t.response)?void 0:e.data)?void 0:a.message)||(null==t?void 0:t.message)||"复制失败";G.error(l)}finally{ya.value=!1}}else G.error("请选择要复制的活动")})}_(d,e=>r(this,null,function*(){if(e&&Array.isArray(e))for(const l of e)yield wa(l),yield Va(l)}),{immediate:!0}),f(()=>{Xl()});const xa=c(!1),za=[{title:"创建活动",description:"设置活动基本信息"},{title:"创建期数",description:"添加活动期数"},{title:"添加奖品",description:"配置活动奖品"}],ka=c(0),Ca=c(),Ma=c(),Ua=p({name:"",activity_category_id:void 0,status:1,price_draw:0,is_boss:0,image:"",gameplay_intro:"",allow_item_cards:1,allow_coupons:1}),Da=y(),Sa=v(()=>"/api/common/upload/wangeditor"),Ya=v(()=>({Authorization:Da.accessToken})),Na=c([]);function Ia(e){const l=e.type.startsWith("image/"),a=e.size<=5242880;return l?!!a||(G.error("图片大小不能超过5MB"),!1):(G.error("仅支持图片文件"),!1)}function qa(e){var l,a;let t=(null==(l=null==e?void 0:e.data)?void 0:l.url)||(null==e?void 0:e.url)||"";if(!t&&"string"==typeof e)try{const l=JSON.parse(e);t=(null==(a=null==l?void 0:l.data)?void 0:a.url)||(null==l?void 0:l.url)||""}catch(i){}t&&(Ua.image=t,Na.value=[{name:"cover",url:t}])}function Ha(){Ua.image="",Na.value=[]}function Oa(e){var l,a;let t=(null==(l=null==e?void 0:e.data)?void 0:l.url)||(null==e?void 0:e.url)||"";if(!t&&"string"==typeof e)try{const l=JSON.parse(e);t=(null==(a=null==l?void 0:l.data)?void 0:a.url)||(null==l?void 0:l.url)||""}catch(i){}t&&(ra.image=t,Na.value=[{name:"cover",url:t}])}function Ea(){ra.image="",Na.value=[]}const Fa=c([]),Ba=p({});c([]);const Pa=p({issue_number:""});c([]);const Ta=c([]),Aa=c(!1),Wa=c(!1),$a=c(!1),Ra=c(!1),La=c([]),Ga=c(!1),Ja=c(!1),Za=c(),Xa=p({weight:0,quantity:0,original_qty:0,level:1,sort:0,is_boss:0}),Ka={product_id:[{required:!0,message:"请选择奖品",trigger:"change"}],weight:[{required:!0,message:"请输入权重",trigger:"blur"}],quantity:[{required:!0,message:"请输入数量",trigger:"blur"}]},Qa=c(!1),et=v({get:()=>1===Ua.is_boss,set:e=>{Ua.is_boss=e?1:0}}),lt=v({get:()=>1===Ua.allow_item_cards,set:e=>{Ua.allow_item_cards=e?1:0}}),at=v({get:()=>1===Ua.allow_coupons,set:e=>{Ua.allow_coupons=e?1:0}}),tt=p({play_type:"ichiban",draw_mode:"instant",min_participants:0,interval_minutes:0,refund_coupon_id:void 0}),it=c([]);function st(){return r(this,null,function*(){try{const e=yield he.getList({page:1,page_size:50,status:1});it.value=e.list||[]}catch(e){}})}const nt=v(()=>Ta.value&&0!==Ta.value.length?Ta.value.reduce((e,l)=>e+function(e,l){const a=e*l;return!isFinite(a)||isNaN(a)?0:Math.round(100*a)/100}(function(e){return"number"==typeof e&&isFinite(e)&&e>=0?Math.round(100*e)/100:"string"!=typeof e||isNaN(parseFloat(e))?0:Math.max(0,Math.round(100*parseFloat(e))/100)}(l.price||0),function(e){return"number"==typeof e&&isFinite(e)&&e>=0?Math.max(0,Math.floor(e)):"string"!=typeof e||isNaN(parseFloat(e))?0:Math.max(0,Math.floor(parseFloat(e)))}(l.quantity||0)),0):0),ot=c(1);function ut(e){return new Intl.NumberFormat("zh-CN",{style:"currency",currency:"CNY",minimumFractionDigits:2,maximumFractionDigits:2}).format(e)}function rt(e){return e<10?`0${e}`:`${e}`}function dt(e){return r(this,null,function*(){Ga.value=!0;const l=yield ge({name:e,page:1,page_size:50});La.value=l.list.map(e=>o({},e)),Ga.value=!1})}function mt(){return r(this,null,function*(){const e=yield ne();Fa.value=e.list})}function ct(){Object.assign(Xa,{product_id:void 0,weight:1,quantity:1,original_qty:1,level:1,sort:Ta.value.length,is_boss:0,name:""}),Ja.value=!0}function pt(e,l){var a;"edit"===e?(a=l,Object.assign(Xa,Ta.value[a]),Xa._index=a,Ja.value=!0):"delete"===e&&function(e){Ta.value.splice(e,1),G.success("奖品已删除")}(l)}function vt(){Ta.value=[],G.success("奖品已清空")}function _t(){return r(this,null,function*(){var e;if(yield null==(e=Za.value)?void 0:e.validate().catch(()=>!1)){Qa.value=!0;try{const e=La.value.find(e=>e.id===Xa.product_id);e&&(Xa.name=e.name);const l=u(o({},Xa),{price:(null==e?void 0:e.price)||0}),a=Xa._index;void 0!==a?(Ta.value[a]=l,delete Xa._index):Ta.value.push(l),Ja.value=!1,G.success("奖品保存成功")}finally{Qa.value=!1}}})}function ft(){Ja.value=!1}_(nt,()=>{ot.value++}),_(()=>tt.play_type,e=>{"ichiban"===e&&(tt.draw_mode="instant",tt.min_participants=0,tt.interval_minutes=0,tt.refund_coupon_id=void 0)});const yt=e=>["","A级","B级","C级","D级","E级","F级","G级","H级","I级","J级","Last级"][e]||"未知";function gt(){ka.value>0&&ka.value--}function bt(){return r(this,null,function*(){var e,l;if($a.value=!0,0===ka.value){if(!(yield null==(e=Ca.value)?void 0:e.validate().catch(()=>!1)))return void($a.value=!1);const l=o({},Ua);l.price_draw=Math.max(1,Math.floor(Number(Ua.price_draw||0))),l.start_time=oa.value||(new Date).toISOString(),ua.value&&(l.end_time=ua.value),l.play_type=tt.play_type,l.draw_mode=tt.draw_mode,"scheduled"===tt.draw_mode&&(l.min_participants=Number(tt.min_participants||0),l.scheduled_delay_minutes=Number(tt.interval_minutes||0),l.interval_minutes=Number(tt.interval_minutes||0),l.refund_coupon_id=tt.refund_coupon_id);const a=yield re(l);Ba.activityId=a.id;const t=(yield ie({page:1,page_size:50})).records.find(e=>e.id===a.id);return t&&(i.value=u(o({},t),{playType:l.play_type,activityCategoryId:l.activity_category_id})),Aa.value=!0,ka.value=1,$a.value=!1,void G.success("活动创建成功")}if(1===ka.value){if(!(yield null==(l=Ma.value)?void 0:l.validate().catch(()=>!1)))return void($a.value=!1);if(!Ba.activityId)return void($a.value=!1);const e=yield ve(Ba.activityId,Pa);Ba.issueId=e.id;const a=(yield _e(Ba.activityId,1,50)).list.find(l=>l.id===e.id);return a&&(s.value=a),ka.value=2,Wa.value=!0,$a.value=!1,void G.success("期数创建成功")}$a.value=!1})}function ht(){return r(this,null,function*(){var e,l,a;Ra.value=!0;const t=yield null==(e=Ca.value)?void 0:e.validate().catch(()=>!1),s=yield null==(l=Ma.value)?void 0:l.validate().catch(()=>!1);if(!t||!s)return void(Ra.value=!1);let n=Ba.activityId;if(!n)return void(Ra.value=!1);let r=Ba.issueId;if(!r)return void(Ra.value=!1);if(!function(){if(0===Ta.value.length)return G.error("请至少添加一条奖励"),!1;for(const e of Ta.value){if(!e.product_id)return G.error("请选择奖励商品"),!1;if(e.weight<=0||e.quantity<=0||e.original_qty<0||e.level<=0)return G.error("奖励数值不合法"),!1}return!0}())return void(Ra.value=!1);const d="ichiban"===tt.play_type||1===Ua.activity_category_id||"ichiban"===(null==(a=i.value)?void 0:a.playType),m=[];for(const i of Ta.value){if(!i.name){const e=La.value.find(e=>e.id===i.product_id);e&&(i.name=e.name)}if(d&&i.quantity>1){const e=Math.floor(Number(i.quantity));for(let l=0;l{!Number.isInteger(Number(l))||Number(l)<=0?a(new Error("抽奖价格必须为正整数(积分)")):a()},trigger:"blur"}]},Vt={issue_number:[{required:!0,message:"请输入期号",trigger:"blur"}],status:[{required:!0,message:"请选择状态",trigger:"change"}]};return(e,o)=>{const u=k,m=Me,c=Ce,p=Ye,v=Se,_=De,f=Ue,y=Ne,te=Y,ie=qe,ne=He,ue=Ie,re=Oe,me=Ee,ve=Fe,_e=Q,fe=K,ye=q,ge=X,he=Z,xe=J,Ql=Be;return b(),g("div",null,[h(se,{modelValue:n.value,"onUpdate:modelValue":o[0]||(o[0]=e=>n.value=e),onSearch:la,onReset:aa},null,8,["modelValue"]),w("div",Te,[h(u,{type:"primary",onClick:pa},{default:x(()=>[...o[49]||(o[49]=[z("创建活动",-1)])]),_:1}),h(u,{class:"ml-2",onClick:ha},{default:x(()=>[...o[50]||(o[50]=[z("复制活动",-1)])]),_:1})]),h(le,{columns:C(Ll),"onUpdate:columns":o[1]||(o[1]=e=>M(Ll)?Ll.value=e:null),loading:C(Pe),onRefresh:C(Xl)},null,8,["columns","loading","onRefresh"]),h(ee,{loading:C(Pe),data:C(d),columns:C(Ll),pagination:C(Gl),tableLayout:"auto","onPagination:sizeChange":C(Jl),"onPagination:currentChange":C(Zl)},{status:x(({row:e})=>[h(m,{type:1===e.status?"success":"info"},{default:x(()=>[z(U(C(we)(e.status)),1)]),_:2},1032,["type"])]),categoryName:x(({row:e})=>[h(m,{type:"primary",class:"category-tag"},{default:x(()=>[z(U(e.categoryName),1)]),_:2},1024)]),isBoss:x(({row:e})=>[h(m,{type:1===e.isBoss?"warning":"info"},{default:x(()=>[z(U(1===e.isBoss?"是":"否"),1)]),_:2},1032,["type"])]),actions:x(({row:e})=>[h(ae,{icon:"ri:list-check",onClick:a=>C(l).push({name:"ActivityIssues",params:{activityId:e.id}})},null,8,["onClick"]),h(ae,{icon:"ri:trophy-line",title:"消费排行",onClick:l=>{var a;return null==(a=t.value)?void 0:a.open(e.id)}},null,8,["onClick"]),h(ae,{icon:"ri:bar-chart-box-line",title:"数据分析",onClick:l=>{var t;return null==(t=a.value)?void 0:t.open(e.id)}},null,8,["onClick"]),h(ae,{type:"edit",onClick:l=>function(e){return r(this,null,function*(){ia.value="编辑活动",sa.value=e.id,yield va();const l=yield oe(e.id);Object.assign(ra,{name:l.name,activity_category_id:l.activity_category_id||0,status:l.status,price_draw:l.price_draw,is_boss:l.is_boss,image:l.image||"",gameplay_intro:l.gameplay_intro||"",allow_item_cards:l.allow_item_cards?1:0,allow_coupons:l.allow_coupons?1:0}),oa.value=l.start_time?new Date(l.start_time).toISOString():null,ua.value=l.end_time?new Date(l.end_time).toISOString():null,tt.play_type=l.play_type||"ichiban",tt.draw_mode=l.draw_mode||"instant",tt.min_participants=Number(l.min_participants||0),tt.interval_minutes=Number(l.interval_minutes||0),tt.refund_coupon_id=l.refund_coupon_id||0,ta.value=!0})}(e)},null,8,["onClick"]),h(u,{size:"small",onClick:l=>function(e){return r(this,null,function*(){if(e)try{yield ce(e.id),G.success("承诺已生成"),yield Kl()}catch(l){G.error((null==l?void 0:l.message)||"生成失败")}else G.warning("请选择活动")})}(e)},{default:x(()=>[...o[51]||(o[51]=[z("生成承诺",-1)])]),_:1},8,["onClick"]),h(c,{placement:"bottom",trigger:"hover"},{reference:x(()=>[h(m,{type:"info"},{default:x(()=>[...o[52]||(o[52]=[z("承诺概览",-1)])]),_:1})]),default:x(()=>{var l,a;return[e._commitSummary?(b(),g("div",Ae,[w("div",null,"版本:"+U(null!=(l=e._commitSummary.seed_version)?l:"-")+" 算法:"+U(null!=(a=e._commitSummary.algo)?a:"commit-v1"),1),w("div",null,"seed_master:"+U(e._commitSummary.len_seed_master||0)+" 字节 seed_hash:"+U(e._commitSummary.len_seed_hash||0)+" 字节",1),w("div",null,"items_root:"+U(e._commitSummary.len_items_root||0)+" 字节",1),e._commitSummary.items_root_hex?(b(),g("div",We,"HEX:"+U(e._commitSummary.items_root_hex),1)):j("",!0),e._commitSummary.len_seed_master>0?(b(),g("div",$e,[h(u,{size:"small",type:"primary",link:"",onClick:l=>function(e){return r(this,null,function*(){try{const l=yield pe(e);l&&l.seed_master_hex?(yield navigator.clipboard.writeText(l.seed_master_hex),G.success("Seed复制成功")):G.warning("该活动未生成Seed")}catch(l){G.error(l.message||"获取Seed失败")}})}(e.id)},{default:x(()=>[...o[53]||(o[53]=[z("📋 复制Seed",-1)])]),_:1},8,["onClick"])])):j("",!0)])):j("",!0)]}),_:2},1024),h(ae,{type:"delete",onClick:l=>function(e){return r(this,null,function*(){var l,a,t;try{const l=d.value.find(l=>l.id===e),a=(null==l?void 0:l.name)||"该活动";yield L.confirm(`确定要删除活动"${a}"吗?此操作不可恢复`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",beforeClose:(e,l,a)=>{"confirm"===e?(l.confirmButtonLoading=!0,a()):a()}}),yield de(e),G.success({message:`"${a}"已成功删除`,duration:3e3}),yield Kl()}catch(i){if("cancel"===i)return;const s=(null==(a=null==(l=null==i?void 0:i.response)?void 0:l.data)?void 0:a.message)||i.message||"删除失败",n=(null==(t=d.value.find(l=>l.id===e))?void 0:t.name)||"该活动";G.error({message:`"${n}"删除失败:${s}`,duration:4e3})}})}(e.id)},null,8,["onClick"])]),_:1},8,["loading","data","columns","pagination","onPagination:sizeChange","onPagination:currentChange"]),h(y,{modelValue:fa.value,"onUpdate:modelValue":o[4]||(o[4]=e=>fa.value=e),title:"复制活动",width:"520px"},{footer:x(()=>[h(u,{onClick:o[3]||(o[3]=e=>fa.value=!1)},{default:x(()=>[...o[54]||(o[54]=[z("取消",-1)])]),_:1}),h(u,{type:"primary",loading:ya.value,onClick:ja},{default:x(()=>[...o[55]||(o[55]=[z("确认复制",-1)])]),_:1},8,["loading"])]),default:x(()=>[h(f,null,{default:x(()=>[h(_,{label:"选择活动"},{default:x(()=>[h(v,{modelValue:ga.value,"onUpdate:modelValue":o[2]||(o[2]=e=>ga.value=e),modelModifiers:{number:!0},filterable:"",placeholder:"请选择活动"},{default:x(()=>[(b(!0),g(D,null,S(ba.value,e=>(b(),V(p,{key:e.id,label:`${e.name}(ID:${e.id})`,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),h(y,{modelValue:ta.value,"onUpdate:modelValue":o[21]||(o[21]=e=>ta.value=e),title:ia.value,width:"900px",class:"modern-wizard-dialog"},{footer:x(()=>[h(u,{onClick:o[20]||(o[20]=e=>ta.value=!1)},{default:x(()=>[...o[59]||(o[59]=[z("取消",-1)])]),_:1}),h(u,{type:"primary",onClick:_a},{default:x(()=>[...o[60]||(o[60]=[z("提交",-1)])]),_:1})]),default:x(()=>[h(f,{model:ra,"label-width":"140px",class:"modern-form"},{default:x(()=>{var e,l,a,t,i;return[na.value?(b(),g("div",Re,[w("span",null,"承诺版本:"+U(null!=(l=null==(e=na.value)?void 0:e.seed_version)?l:"-"),1),w("span",Le,"算法:"+U(null!=(t=null==(a=na.value)?void 0:a.algo)?t:"commit-v1"),1),h(m,{type:(null==(i=na.value)?void 0:i.has_seed)?"success":"danger",class:"ml-4"},{default:x(()=>{var e;return[z(U((null==(e=na.value)?void 0:e.has_seed)?"已生成":"未生成"),1)]}),_:1},8,["type"])])):j("",!0),w("div",Ge,[h(ue,{gutter:16,class:"form-line"},{default:x(()=>[h(ie,{span:14},{default:x(()=>[h(_,{label:"名称"},{default:x(()=>[h(te,{modelValue:ra.name,"onUpdate:modelValue":o[5]||(o[5]=e=>ra.name=e),size:"large"},null,8,["modelValue"])]),_:1})]),_:1}),h(ie,{span:10},{default:x(()=>[h(_,{label:"抽奖价格(元)"},{default:x(()=>[h(ne,{modelValue:ma.value,"onUpdate:modelValue":o[6]||(o[6]=e=>ma.value=e),min:.01,precision:2,step:.01,size:"large",class:"price-input"},null,8,["modelValue"]),w("div",Je,"1元=100积分。后台存储为 "+U(ra.price_draw||0)+" 积分",1)]),_:1})]),_:1})]),_:1}),h(ue,{gutter:16,class:"form-line"},{default:x(()=>[h(ie,{span:12},{default:x(()=>[h(_,{label:"玩法类型"},{default:x(()=>[h(v,{modelValue:tt.play_type,"onUpdate:modelValue":o[7]||(o[7]=e=>tt.play_type=e),placeholder:"请选择玩法类型",size:"large"},{default:x(()=>[(b(!0),g(D,null,S(C(Ve),(e,l)=>(b(),V(p,{key:l,label:e,value:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),h(ie,{span:12},{default:x(()=>[h(_,{label:"开奖模式"},{default:x(()=>[h(v,{modelValue:tt.draw_mode,"onUpdate:modelValue":o[8]||(o[8]=e=>tt.draw_mode=e),placeholder:"请选择开奖模式",size:"large"},{default:x(()=>[(b(!0),g(D,null,S(C(je),(e,l)=>(b(),V(p,{key:l,label:e,value:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),"scheduled"===tt.draw_mode?(b(),V(ue,{key:0,gutter:16,class:"form-line"},{default:x(()=>[h(ie,{span:12},{default:x(()=>[h(_,{label:"最低参与人数"},{default:x(()=>[h(ne,{modelValue:tt.min_participants,"onUpdate:modelValue":o[9]||(o[9]=e=>tt.min_participants=e),min:1,step:1,size:"large"},null,8,["modelValue"])]),_:1})]),_:1}),h(ie,{span:12},{default:x(()=>[h(_,{label:"循环间隔(分钟)"},{default:x(()=>[h(ne,{modelValue:tt.interval_minutes,"onUpdate:modelValue":o[10]||(o[10]=e=>tt.interval_minutes=e),min:1,step:1,size:"large"},null,8,["modelValue"]),o[56]||(o[56]=w("div",{class:"input-hint-modern"},"每 N 分钟执行一次",-1))]),_:1})]),_:1})]),_:1})):j("",!0),"scheduled"===tt.draw_mode?(b(),V(ue,{key:1,gutter:16,class:"form-line"},{default:x(()=>[h(ie,{span:24},{default:x(()=>[h(_,{label:"退款券模板"},{default:x(()=>[h(v,{modelValue:tt.refund_coupon_id,"onUpdate:modelValue":o[11]||(o[11]=e=>tt.refund_coupon_id=e),placeholder:"选择优惠券模板",size:"large",filterable:"",clearable:"",onFocus:st},{default:x(()=>[(b(!0),g(D,null,S(it.value,e=>(b(),V(p,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):j("",!0),h(ue,{gutter:16,class:"form-line"},{default:x(()=>[h(ie,{span:12},{default:x(()=>[h(_,{label:"分类"},{default:x(()=>[h(v,{modelValue:ra.activity_category_id,"onUpdate:modelValue":o[12]||(o[12]=e=>ra.activity_category_id=e),modelModifiers:{number:!0},onVisibleChange:va,size:"large",class:"full-width category-select"},{default:x(()=>[(b(!0),g(D,null,S(da.value,e=>(b(),V(p,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),h(ie,{span:12},{default:x(()=>[h(_,{label:"状态"},{default:x(()=>[h(v,{modelValue:ra.status,"onUpdate:modelValue":o[13]||(o[13]=e=>ra.status=e),modelModifiers:{number:!0},size:"large",class:"full-width status-select"},{default:x(()=>[h(p,{value:1,label:"进行中"}),h(p,{value:2,label:"下线"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),h(ue,{gutter:16,class:"form-line"},{default:x(()=>[h(ie,{span:12},{default:x(()=>[h(_,{label:"开始时间"},{default:x(()=>[h(re,{modelValue:oa.value,"onUpdate:modelValue":o[14]||(o[14]=e=>oa.value=e),type:"datetime","value-format":"YYYY-MM-DDTHH:mm:ssZ",format:"YYYY-MM-DD HH:mm",size:"large",class:"datetime-picker"},null,8,["modelValue"])]),_:1})]),_:1}),h(ie,{span:12},{default:x(()=>[h(_,{label:"结束时间"},{default:x(()=>[h(re,{modelValue:ua.value,"onUpdate:modelValue":o[15]||(o[15]=e=>ua.value=e),type:"datetime","value-format":"YYYY-MM-DDTHH:mm:ssZ",format:"YYYY-MM-DD HH:mm",size:"large",class:"datetime-picker"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),w("div",Ze,[h(_,{label:"Boss活动"},{default:x(()=>[h(me,{modelValue:ra.is_boss,"onUpdate:modelValue":o[16]||(o[16]=e=>ra.is_boss=e),"active-value":1,"inactive-value":0,"active-text":"是","inactive-text":"否",size:"large"},null,8,["modelValue"])]),_:1})]),h(ue,{gutter:16,class:"form-line"},{default:x(()=>[h(ie,{span:12},{default:x(()=>[h(_,{label:"允许使用道具卡"},{default:x(()=>[h(me,{modelValue:ra.allow_item_cards,"onUpdate:modelValue":o[17]||(o[17]=e=>ra.allow_item_cards=e),"active-value":1,"inactive-value":0,"active-text":"是","inactive-text":"否",size:"large"},null,8,["modelValue"])]),_:1})]),_:1}),h(ie,{span:12},{default:x(()=>[h(_,{label:"允许使用优惠券"},{default:x(()=>[h(me,{modelValue:ra.allow_coupons,"onUpdate:modelValue":o[18]||(o[18]=e=>ra.allow_coupons=e),"active-value":1,"inactive-value":0,"active-text":"是","inactive-text":"否",size:"large"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),w("div",Xe,[h(_,{label:"活动封面"},{default:x(()=>[h(ve,{action:Sa.value,name:"file",accept:"image/*","list-type":"picture-card",headers:Ya.value,limit:1,"file-list":Na.value,"before-upload":Ia,"on-success":Oa,"on-remove":Ea},{default:x(()=>[...o[57]||(o[57]=[w("i",{class:"el-icon"},[w("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[w("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})])],-1)])]),_:1},8,["action","headers","file-list"])]),_:1}),o[58]||(o[58]=w("div",{class:"input-hint-modern"},"建议比例 16:9,支持 JPG/PNG,最大 5MB",-1))])]),w("div",Ke,[h(_,{label:"玩法介绍"},{default:x(()=>[h(be,{modelValue:ra.gameplay_intro,"onUpdate:modelValue":o[19]||(o[19]=e=>ra.gameplay_intro=e),height:"240px",uploadConfig:{maxFileSize:5242880}},null,8,["modelValue"])]),_:1})])]}),_:1},8,["model"])]),_:1},8,["modelValue","title"]),h(y,{modelValue:xa.value,"onUpdate:modelValue":o[48]||(o[48]=e=>xa.value=e),title:"创建活动流程",width:"900px","close-on-click-modal":!1,"close-on-press-escape":!1,class:"modern-wizard-dialog"},{default:x(()=>{var e,l;return[w("div",Qe,[h(fe,{active:ka.value,"finish-status":"success",simple:""},{default:x(()=>[h(_e,{title:"创建活动"}),h(_e,{title:"创建期数"}),h(_e,{title:"添加奖品"})]),_:1},8,["active"]),w("div",el,[N(w("div",ll,[o[66]||(o[66]=w("div",{class:"panel-header"},[w("h3",{class:"panel-title"},"创建活动"),w("p",{class:"panel-desc"},"填写活动的基本信息和设置")],-1)),h(f,{ref_key:"activityFormRef",ref:Ca,model:Ua,rules:wt,"label-width":"140px",class:"modern-form form-layout"},{default:x(()=>[h(ue,{gutter:24},{default:x(()=>[h(ie,{xs:24,md:24,lg:24},{default:x(()=>[w("div",al,[w("div",tl,[h(ue,{gutter:16,class:"form-line"},{default:x(()=>[h(ie,{span:14},{default:x(()=>[h(_,{label:"活动名称",prop:"name","label-width":"140px"},{default:x(()=>[h(te,{modelValue:Ua.name,"onUpdate:modelValue":o[22]||(o[22]=e=>Ua.name=e),placeholder:"请输入活动名称",size:"large"},null,8,["modelValue"])]),_:1})]),_:1}),h(ie,{span:10},{default:x(()=>[h(_,{label:"抽奖价格(元)","label-width":"140px"},{default:x(()=>[h(ne,{modelValue:ca.value,"onUpdate:modelValue":o[23]||(o[23]=e=>ca.value=e),min:.01,precision:2,step:.01,size:"large",class:"price-input"},null,8,["modelValue"]),w("div",il,"1元=100积分。后台存储为 "+U(Ua.price_draw||0)+" 积分",1)]),_:1})]),_:1})]),_:1}),w("div",sl,[w("div",nl,[h(ue,{gutter:16},{default:x(()=>[h(ie,{span:12},{default:x(()=>[h(_,{label:"玩法类型"},{default:x(()=>[h(v,{modelValue:tt.play_type,"onUpdate:modelValue":o[24]||(o[24]=e=>tt.play_type=e),placeholder:"请选择玩法类型",size:"large"},{default:x(()=>[(b(!0),g(D,null,S(C(Ve),(e,l)=>(b(),V(p,{key:l,label:e,value:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),h(ie,{span:12},{default:x(()=>[h(_,{label:"开奖模式"},{default:x(()=>[h(v,{modelValue:tt.draw_mode,"onUpdate:modelValue":o[25]||(o[25]=e=>tt.draw_mode=e),placeholder:"请选择开奖模式",size:"large"},{default:x(()=>[(b(!0),g(D,null,S(C(je),(e,l)=>(b(),V(p,{key:l,label:e,value:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),"scheduled"===tt.draw_mode?(b(),V(ue,{key:0,gutter:16},{default:x(()=>[h(ie,{span:12},{default:x(()=>[h(_,{label:"最低参与人数"},{default:x(()=>[h(ne,{modelValue:tt.min_participants,"onUpdate:modelValue":o[26]||(o[26]=e=>tt.min_participants=e),min:1,step:1,size:"large"},null,8,["modelValue"])]),_:1})]),_:1}),h(ie,{span:12},{default:x(()=>[h(_,{label:"循环间隔(分钟)"},{default:x(()=>[h(ne,{modelValue:tt.interval_minutes,"onUpdate:modelValue":o[27]||(o[27]=e=>tt.interval_minutes=e),min:1,step:1,size:"large"},null,8,["modelValue"]),o[61]||(o[61]=w("div",{class:"input-hint-modern"},"每 N 分钟执行一次",-1))]),_:1})]),_:1})]),_:1})):j("",!0),"scheduled"===tt.draw_mode?(b(),V(ue,{key:1,gutter:16},{default:x(()=>[h(ie,{span:24},{default:x(()=>[h(_,{label:"退款券模板"},{default:x(()=>[h(v,{modelValue:tt.refund_coupon_id,"onUpdate:modelValue":o[28]||(o[28]=e=>tt.refund_coupon_id=e),placeholder:"选择优惠券模板",size:"large",filterable:"",onFocus:st},{default:x(()=>[(b(!0),g(D,null,S(it.value,e=>(b(),V(p,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):j("",!0)])]),h(ue,{gutter:16,class:"form-line"},{default:x(()=>[h(ie,{span:12},{default:x(()=>[h(_,{label:"活动分类",prop:"activity_category_id"},{default:x(()=>[h(v,{modelValue:Ua.activity_category_id,"onUpdate:modelValue":o[29]||(o[29]=e=>Ua.activity_category_id=e),modelModifiers:{number:!0},placeholder:"请选择分类",size:"large",onVisibleChange:mt,class:"full-width category-select"},{default:x(()=>[(b(!0),g(D,null,S(Fa.value,e=>(b(),V(p,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),h(ie,{span:12},{default:x(()=>[h(_,{label:"活动状态",prop:"status"},{default:x(()=>[h(v,{modelValue:Ua.status,"onUpdate:modelValue":o[30]||(o[30]=e=>Ua.status=e),modelModifiers:{number:!0},placeholder:"请选择状态",size:"large",class:"full-width status-select"},{default:x(()=>[h(p,{value:1,label:"进行中"},{default:x(()=>[...o[62]||(o[62]=[w("div",{class:"status-option"},[w("div",{class:"status-dot status-active"}),w("span",null,"进行中")],-1)])]),_:1}),h(p,{value:2,label:"下线"},{default:x(()=>[...o[63]||(o[63]=[w("div",{class:"status-option"},[w("div",{class:"status-dot status-inactive"}),w("span",null,"下线")],-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),h(ue,{gutter:16,class:"form-line"},{default:x(()=>[h(ie,{span:12},{default:x(()=>[h(_,{label:"开始时间"},{default:x(()=>[h(re,{modelValue:oa.value,"onUpdate:modelValue":o[31]||(o[31]=e=>oa.value=e),type:"datetime",placeholder:"开始时间",size:"large",class:"datetime-picker","value-format":"YYYY-MM-DDTHH:mm:ssZ",format:"YYYY-MM-DD HH:mm"},null,8,["modelValue"])]),_:1})]),_:1}),h(ie,{span:12},{default:x(()=>[h(_,{label:"结束时间"},{default:x(()=>[h(re,{modelValue:ua.value,"onUpdate:modelValue":o[32]||(o[32]=e=>ua.value=e),type:"datetime",placeholder:"结束时间",size:"large",class:"datetime-picker","value-format":"YYYY-MM-DDTHH:mm:ssZ",format:"YYYY-MM-DD HH:mm"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),w("div",ol,[h(_,{label:"Boss活动"},{default:x(()=>[h(me,{modelValue:et.value,"onUpdate:modelValue":o[33]||(o[33]=e=>et.value=e),"active-text":"是","inactive-text":"否",size:"large"},null,8,["modelValue"])]),_:1})]),h(ue,{gutter:16,class:"form-line"},{default:x(()=>[h(ie,{span:12},{default:x(()=>[h(_,{label:"允许使用道具卡"},{default:x(()=>[h(me,{modelValue:lt.value,"onUpdate:modelValue":o[34]||(o[34]=e=>lt.value=e),"active-text":"是","inactive-text":"否",size:"large"},null,8,["modelValue"])]),_:1})]),_:1}),h(ie,{span:12},{default:x(()=>[h(_,{label:"允许使用优惠券"},{default:x(()=>[h(me,{modelValue:at.value,"onUpdate:modelValue":o[35]||(o[35]=e=>at.value=e),"active-text":"是","inactive-text":"否",size:"large"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),w("div",ul,[h(_,{label:"活动封面"},{default:x(()=>[h(ve,{action:Sa.value,name:"file",accept:"image/*","list-type":"picture-card",headers:Ya.value,limit:1,"file-list":Na.value,"before-upload":Ia,"on-success":qa,"on-remove":Ha},{default:x(()=>[...o[64]||(o[64]=[w("i",{class:"el-icon"},[w("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[w("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})])],-1)])]),_:1},8,["action","headers","file-list"])]),_:1}),o[65]||(o[65]=w("div",{class:"input-hint-modern"},"建议比例 16:9,支持 JPG/PNG,最大 5MB",-1))])]),w("div",rl,[h(_,{label:"玩法介绍"},{default:x(()=>[h(be,{modelValue:Ua.gameplay_intro,"onUpdate:modelValue":o[36]||(o[36]=e=>Ua.gameplay_intro=e),height:"240px",uploadConfig:{maxFileSize:5242880}},null,8,["modelValue"])]),_:1})])])]),_:1})]),_:1})]),_:1},8,["model"])],512),[[I,0===ka.value]]),N(w("div",dl,[o[70]||(o[70]=w("div",{class:"panel-header"},[w("h3",{class:"panel-title"},"创建期数"),w("p",{class:"panel-desc"},"为活动添加期数信息")],-1)),i.value?(b(),g("div",ml,[h(ye,null,{default:x(()=>[h(C(H))]),_:1}),w("span",null,"当前活动:"+U(i.value.name),1)])):j("",!0),h(f,{ref_key:"issueFormRef",ref:Ma,model:Pa,rules:Vt,"label-width":"140px",class:"modern-form"},{default:x(()=>[h(ue,{gutter:24},{default:x(()=>[h(ie,{span:12},{default:x(()=>[h(_,{label:"期号",prop:"issue_number"},{default:x(()=>[h(te,{modelValue:Pa.issue_number,"onUpdate:modelValue":o[37]||(o[37]=e=>Pa.issue_number=e),placeholder:"请输入期号",size:"large"},null,8,["modelValue"])]),_:1})]),_:1}),h(ie,{span:12},{default:x(()=>[h(_,{label:"期数状态",prop:"status"},{default:x(()=>[h(v,{modelValue:Pa.status,"onUpdate:modelValue":o[38]||(o[38]=e=>Pa.status=e),modelModifiers:{number:!0},placeholder:"请选择状态",size:"large"},{default:x(()=>[h(p,{value:1,label:"进行中"},{default:x(()=>[...o[67]||(o[67]=[w("div",{class:"status-option"},[w("div",{class:"status-dot status-active"}),w("span",null,"进行中")],-1)])]),_:1}),h(p,{value:2,label:"下线"},{default:x(()=>[...o[68]||(o[68]=[w("div",{class:"status-option"},[w("div",{class:"status-dot status-inactive"}),w("span",null,"下线")],-1)])]),_:1}),h(p,{value:3,label:"未开始"},{default:x(()=>[...o[69]||(o[69]=[w("div",{class:"status-option"},[w("div",{class:"status-dot status-pending"}),w("span",null,"未开始")],-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),h(ie,{span:12},{default:x(()=>[h(_,{label:"排序"},{default:x(()=>[h(ne,{modelValue:Pa.sort,"onUpdate:modelValue":o[39]||(o[39]=e=>Pa.sort=e),min:0,size:"large"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])],512),[[I,1===ka.value]]),N(w("div",cl,[o[82]||(o[82]=w("div",{class:"panel-header"},[w("h3",{class:"panel-title"},"添加奖品"),w("p",{class:"panel-desc"},"为活动期数配置奖品信息")],-1)),w("div",pl,[w("div",vl,[h(ye,null,{default:x(()=>[h(C(H))]),_:1}),w("span",null,"活动:"+U(null==(e=i.value)?void 0:e.name),1)]),w("div",_l,[h(ye,null,{default:x(()=>[h(C(O))]),_:1}),w("span",null,"期数:"+U(null==(l=s.value)?void 0:l.issue_number),1)])]),w("div",fl,[h(u,{type:"primary",onClick:ct,size:"large",icon:C(E)},{default:x(()=>[...o[71]||(o[71]=[z(" 添加奖品 ",-1)])]),_:1},8,["icon"]),h(u,{onClick:vt,size:"large",icon:C(F)},{default:x(()=>[...o[72]||(o[72]=[z(" 清空奖品 ",-1)])]),_:1},8,["icon"]),w("div",yl,[(b(),g("span",{class:B(["stat-badge price-value",{"price-update-animation":ot.value>1}]),key:ot.value}," 总计 "+U(Ta.value.length)+" 个奖品 价值 "+U(ut(nt.value)),3))])]),Ta.value.length>0?(b(),g("div",gl,[(b(!0),g(D,null,S(Ta.value,(e,l)=>{var a,t;return b(),g("div",{key:l,class:"reward-card-modern"},[w("div",bl,[w("div",hl,U(e.name||"未选择奖品"),1),h(xe,{trigger:"click",onCommand:e=>pt(e,l)},{dropdown:x(()=>[h(he,null,{default:x(()=>[h(ge,{command:"edit"},{default:x(()=>[h(ye,null,{default:x(()=>[h(C(T))]),_:1}),o[73]||(o[73]=z(" 编辑 ",-1))]),_:1}),h(ge,{command:"delete",divided:""},{default:x(()=>[h(ye,null,{default:x(()=>[h(C(F))]),_:1}),o[74]||(o[74]=z(" 删除 ",-1))]),_:1})]),_:1})]),default:x(()=>[h(u,{type:"primary",text:"",icon:C(P)},null,8,["icon"])]),_:1},8,["onCommand"])]),w("div",wl,[w("div",Vl,[o[75]||(o[75]=w("span",{class:"property-label"},"权重:",-1)),w("span",jl,U(e.weight),1)]),w("div",xl,[o[76]||(o[76]=w("span",{class:"property-label"},"数量:",-1)),w("span",zl,[z(U(e.quantity)+" ",1),("ichiban"===tt.play_type||1===Ua.activity_category_id||"ichiban"===(null==(a=i.value)?void 0:a.playType))&&e.quantity>1?(b(),g(D,{key:0},[z(" (提交后自动展开为 "+U(e.quantity)+" 个格位) ",1)],64)):j("",!0)])]),w("div",kl,[o[77]||(o[77]=w("span",{class:"property-label"},"价格:",-1)),w("span",Cl,U(ut(e.price||0)),1)]),w("div",Ml,[o[78]||(o[78]=w("span",{class:"property-label"},"等级:",-1)),h(m,{type:(t=e.level,["info","danger","warning","primary","success"][t]||"info"),size:"small"},{default:x(()=>[z(U(yt(e.level)),1)]),_:2},1032,["type"])]),w("div",Ul,[o[79]||(o[79]=w("span",{class:"property-label"},"Boss奖品:",-1)),h(m,{type:e.is_boss?"warning":"info",size:"small"},{default:x(()=>[z(U(e.is_boss?"是":"否"),1)]),_:2},1032,["type"])])])])}),128))])):(b(),g("div",Dl,[h(ye,{class:"empty-icon"},{default:x(()=>[h(C(A))]),_:1}),o[80]||(o[80]=w("div",{class:"empty-text"},"暂无奖品,点击上方按钮添加奖品",-1)),o[81]||(o[81]=w("div",{class:"empty-subtext"},"您可以添加多个奖品,设置不同的权重和等级",-1)),w("div",Sl," 总计 0 个奖品 价值 "+U(ut(0)),1)]))],512),[[I,2===ka.value]])]),w("div",Yl,[h(u,{onClick:gt,disabled:0===ka.value,size:"large",icon:C(W)},{default:x(()=>[...o[83]||(o[83]=[z(" 上一步 ",-1)])]),_:1},8,["disabled","icon"]),w("div",Nl,[w("span",null,U(ka.value+1)+" / "+U(za.length),1)]),ka.value[...o[84]||(o[84]=[z(" 下一步 ",-1)])]),_:1},8,["loading","icon"])):(b(),V(u,{key:1,type:"success",onClick:ht,size:"large",loading:Ra.value,icon:C(R)},{default:x(()=>[...o[85]||(o[85]=[z(" 完成创建 ",-1)])]),_:1},8,["loading","icon"]))])]),h(y,{modelValue:Ja.value,"onUpdate:modelValue":o[47]||(o[47]=e=>Ja.value=e),title:"编辑奖品",width:"600px",class:"reward-dialog-modern"},{footer:x(()=>[h(u,{onClick:ft,size:"large"},{default:x(()=>[...o[109]||(o[109]=[z("取消",-1)])]),_:1}),h(u,{type:"primary",onClick:_t,size:"large",loading:Qa.value},{default:x(()=>[...o[110]||(o[110]=[z(" 确定 ",-1)])]),_:1},8,["loading"])]),default:x(()=>[h(f,{ref_key:"rewardFormRef",ref:Za,model:Xa,rules:Ka,"label-width":"120px",class:"reward-form-modern"},{default:x(()=>[h(_,{label:"选择奖品",prop:"product_id"},{default:x(()=>[h(v,{modelValue:Xa.product_id,"onUpdate:modelValue":o[40]||(o[40]=e=>Xa.product_id=e),modelModifiers:{number:!0},filterable:"",remote:"","remote-method":dt,loading:Ga.value,placeholder:"请输入奖品名称搜索",size:"large",class:"product-select"},{default:x(()=>[(b(!0),g(D,null,S(La.value,e=>(b(),V(p,{key:e.id,label:e.name,value:e.id},{default:x(()=>[w("div",Il,[w("span",ql,U(e.name),1),e.price?(b(),g("span",Hl,"¥"+U((e.price/100).toFixed(2)),1)):j("",!0)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),h(ue,{gutter:24},{default:x(()=>[h(ie,{span:12},{default:x(()=>[h(_,{label:"权重",prop:"weight"},{default:x(()=>[h(ne,{modelValue:Xa.weight,"onUpdate:modelValue":o[41]||(o[41]=e=>Xa.weight=e),min:1,size:"large",class:"number-input"},null,8,["modelValue"]),o[86]||(o[86]=w("div",{class:"input-hint-modern"},"权重越高,中奖概率越大",-1))]),_:1})]),_:1}),h(ie,{span:12},{default:x(()=>[h(_,{label:"奖品数量",prop:"quantity"},{default:x(()=>[h(ne,{modelValue:Xa.quantity,"onUpdate:modelValue":o[42]||(o[42]=e=>Xa.quantity=e),min:1,size:"large",class:"number-input"},null,8,["modelValue"]),o[87]||(o[87]=w("div",{class:"input-hint-modern"},"本期活动的奖品总数",-1))]),_:1})]),_:1})]),_:1}),h(ue,{gutter:24},{default:x(()=>[h(ie,{span:12},{default:x(()=>[h(_,{label:"原始数量"},{default:x(()=>[h(ne,{modelValue:Xa.original_qty,"onUpdate:modelValue":o[43]||(o[43]=e=>Xa.original_qty=e),min:0,size:"large",class:"number-input"},null,8,["modelValue"]),o[88]||(o[88]=w("div",{class:"input-hint-modern"},"奖品的原始库存数量",-1))]),_:1})]),_:1}),h(ie,{span:12},{default:x(()=>[h(_,{label:"排序"},{default:x(()=>[h(ne,{modelValue:Xa.sort,"onUpdate:modelValue":o[44]||(o[44]=e=>Xa.sort=e),min:0,size:"large",class:"number-input"},null,8,["modelValue"]),o[89]||(o[89]=w("div",{class:"input-hint-modern"},"显示排序,数字越大越靠前",-1))]),_:1})]),_:1})]),_:1}),h(ue,{gutter:24},{default:x(()=>[h(ie,{span:12},{default:x(()=>[h(_,{label:"奖品等级"},{default:x(()=>[h(v,{modelValue:Xa.level,"onUpdate:modelValue":o[45]||(o[45]=e=>Xa.level=e),modelModifiers:{number:!0},placeholder:"请选择等级",size:"large"},{default:x(()=>[h(p,{value:1,label:"A级"},{default:x(()=>[w("div",Ol,[h(m,{type:"danger",size:"small"},{default:x(()=>[...o[90]||(o[90]=[z("A级",-1)])]),_:1}),o[91]||(o[91]=w("span",{class:"level-desc-modern"},"一等奖",-1))])]),_:1}),h(p,{value:2,label:"B级"},{default:x(()=>[w("div",El,[h(m,{type:"warning",size:"small"},{default:x(()=>[...o[92]||(o[92]=[z("B级",-1)])]),_:1}),o[93]||(o[93]=w("span",{class:"level-desc-modern"},"二等奖",-1))])]),_:1}),h(p,{value:3,label:"C级"},{default:x(()=>[w("div",Fl,[h(m,{type:"primary",size:"small"},{default:x(()=>[...o[94]||(o[94]=[z("C级",-1)])]),_:1}),o[95]||(o[95]=w("span",{class:"level-desc-modern"},"三等奖",-1))])]),_:1}),h(p,{value:4,label:"D级"},{default:x(()=>[w("div",Bl,[h(m,{type:"success",size:"small"},{default:x(()=>[...o[96]||(o[96]=[z("D级",-1)])]),_:1}),o[97]||(o[97]=w("span",{class:"level-desc-modern"},"四等奖",-1))])]),_:1}),h(p,{value:5,label:"E级"},{default:x(()=>[w("div",Pl,[h(m,{type:"info",size:"small"},{default:x(()=>[...o[98]||(o[98]=[z("E级",-1)])]),_:1}),o[99]||(o[99]=w("span",{class:"level-desc-modern"},"五等奖",-1))])]),_:1}),h(p,{value:6,label:"F级"},{default:x(()=>[w("div",Tl,[h(m,{type:"info",size:"small"},{default:x(()=>[...o[100]||(o[100]=[z("F级",-1)])]),_:1}),o[101]||(o[101]=w("span",{class:"level-desc-modern"},"六等奖",-1))])]),_:1}),h(p,{value:7,label:"G级"},{default:x(()=>[w("div",Al,[h(m,{type:"info",size:"small"},{default:x(()=>[...o[102]||(o[102]=[z("G级",-1)])]),_:1}),o[103]||(o[103]=w("span",{class:"level-desc-modern"},"七等奖",-1))])]),_:1}),h(p,{value:8,label:"H级"},{default:x(()=>[w("div",Wl,[h(m,{type:"info",size:"small"},{default:x(()=>[...o[104]||(o[104]=[z("H级",-1)])]),_:1}),o[105]||(o[105]=w("span",{class:"level-desc-modern"},"八等奖",-1))])]),_:1}),h(p,{value:11,label:"Last级"},{default:x(()=>[w("div",$l,[h(m,{type:"danger",effect:"dark",size:"small"},{default:x(()=>[...o[106]||(o[106]=[z("Last级",-1)])]),_:1}),o[107]||(o[107]=w("span",{class:"level-desc-modern"},"最终赏",-1))])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),h(ie,{span:12},{default:x(()=>[h(_,{label:"Boss奖品"},{default:x(()=>[h(me,{modelValue:Xa.is_boss,"onUpdate:modelValue":o[46]||(o[46]=e=>Xa.is_boss=e),"active-value":1,"inactive-value":0,"active-text":"是","inactive-text":"否",size:"large"},null,8,["modelValue"]),o[108]||(o[108]=w("div",{class:"input-hint-modern"},"是否为Boss专属奖品",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])]}),_:1},8,["modelValue"]),C(Rl)?(b(),V(Ql,{key:0,title:"服务暂不可用,请稍后重试",type:"error","show-icon":"",class:"mt-3"})):j("",!0),h(ze,{ref_key:"analysisDrawerRef",ref:a},null,512),h(ke,{ref_key:"rankingDrawerRef",ref:t},null,512)])}}}),[["__scopeId","data-v-675bd211"]]);export{Rl as default}; diff --git a/nginx/admin/assets/index-D5RyP_zf.js.gz b/nginx/admin/assets/index-D5RyP_zf.js.gz new file mode 100644 index 0000000..a87f193 Binary files /dev/null and b/nginx/admin/assets/index-D5RyP_zf.js.gz differ diff --git a/nginx/admin/assets/index-D5gbs2lC.css b/nginx/admin/assets/index-D5gbs2lC.css new file mode 100644 index 0000000..9f5b9ed --- /dev/null +++ b/nginx/admin/assets/index-D5gbs2lC.css @@ -0,0 +1 @@ +[data-v-315e954c] .sortable-ghost{opacity:.4;background:#f0f9ff}[data-v-315e954c] .drag-handle{cursor:move;transition:all .3s}[data-v-315e954c] .drag-handle:hover{transform:scale(1.2)} diff --git a/nginx/admin/assets/index-D8nVJoNy.js b/nginx/admin/assets/index-D8nVJoNy.js new file mode 100644 index 0000000..5ecd6fd --- /dev/null +++ b/nginx/admin/assets/index-D8nVJoNy.js @@ -0,0 +1 @@ +var e=Object.defineProperty,l=Object.defineProperties,a=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(l,a,t)=>a in l?e(l,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[a]=t,s=(e,l)=>{for(var a in l||(l={}))u.call(l,a)&&n(e,a,l[a]);if(t)for(var a of t(l))o.call(l,a)&&n(e,a,l[a]);return e},i=(e,t)=>l(e,a(t)),r=(e,l,a)=>new Promise((t,u)=>{var o=e=>{try{s(a.next(e))}catch(l){u(l)}},n=e=>{try{s(a.throw(e))}catch(l){u(l)}},s=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,n);s((a=a.apply(e,l)).next())});import{ah as d,bd as c,bv as v,bB as b,bw as m,br as p,a9 as h,c as f,ad as x,by as k,bD as g,af as y,A as C,n as L,bc as V,ax as B,r as S,an as E,aw as I,ao as O,c4 as w,bF as F,bx as z,bE as N,bz as j,a0 as D,d as P,bs as _,a1 as U,h as G,e as $,w as A,f as R,b as M,i as q,q as J,p as K,N as H,a2 as Q,M as T,O as W,dt as X,s as Y,I as Z,j as ee,v as le,aE as ae,m as te,a8 as ue,at as oe,ae as ne,du as se,t as ie,J as re,az as de,aA as ce}from"./index-BoIUJTA2.js";const ve=s({modelValue:{type:[Number,String,Boolean],default:void 0},label:{type:[String,Boolean,Number,Object],default:void 0},value:{type:[String,Boolean,Number,Object],default:void 0},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:{type:String,default:void 0},trueValue:{type:[String,Number],default:void 0},falseValue:{type:[String,Number],default:void 0},trueLabel:{type:[String,Number],default:void 0},falseLabel:{type:[String,Number],default:void 0},id:{type:String,default:void 0},border:Boolean,size:m,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0}},b(["ariaControls"])),be={[p]:e=>d(e)||c(e)||v(e),change:e=>d(e)||c(e)||v(e)},me=Symbol("checkboxGroupContextKey"),pe=(e,{model:l,isLimitExceeded:a,hasOwnLabel:t,isDisabled:u,isLabeledByFormItem:o})=>{const n=h(me,void 0),{formItem:s}=g(),{emit:i}=y();function d(l){var a,t,u,o;return[!0,e.trueValue,e.trueLabel].includes(l)?null==(t=null!=(a=e.trueValue)?a:e.trueLabel)||t:null!=(o=null!=(u=e.falseValue)?u:e.falseLabel)&&o}const c=f(()=>(null==n?void 0:n.validateEvent)||e.validateEvent);return C(()=>e.modelValue,()=>{c.value&&(null==s||s.validate("change").catch(e=>B()))}),{handleChange:function(e){if(a.value)return;const l=e.target;i(V,d(l.checked),e)},onClickRoot:function(n){return r(this,null,function*(){if(!a.value&&!t.value&&!u.value&&o.value){n.composedPath().some(e=>"LABEL"===e.tagName)||(l.value=d([!1,e.falseValue,e.falseLabel].includes(l.value)),yield L(),function(e,l){i(V,d(e),l)}(l.value,n))}})}}},he=(e,l)=>{const{formItem:a}=g(),{model:t,isGroup:u,isLimitExceeded:o}=(e=>{const l=S(!1),{emit:a}=y(),t=h(me,void 0),u=f(()=>!1===x(t)),o=S(!1),n=f({get(){var a,o;return u.value?null==(a=null==t?void 0:t.modelValue)?void 0:a.value:null!=(o=e.modelValue)?o:l.value},set(e){var s,i;u.value&&E(e)?(o.value=void 0!==(null==(s=null==t?void 0:t.max)?void 0:s.value)&&e.length>(null==t?void 0:t.max.value)&&e.length>n.value.length,!1===o.value&&(null==(i=null==t?void 0:t.changeEvent)||i.call(t,e))):(a(p,e),l.value=e)}});return{model:n,isGroup:u,isLimitExceeded:o}})(e),{isFocused:n,isChecked:s,checkboxButtonSize:i,checkboxSize:r,hasOwnLabel:d,actualValue:c}=((e,l,{model:a})=>{const t=h(me,void 0),u=S(!1),o=f(()=>I(e.value)?e.label:e.value),n=f(()=>{const l=a.value;return v(l)?l:E(l)?O(o.value)?l.map(w).some(e=>F(e,o.value)):l.map(w).includes(o.value):null!=l?l===e.trueValue||l===e.trueLabel:!!l});return{checkboxButtonSize:z(f(()=>{var e;return null==(e=null==t?void 0:t.size)?void 0:e.value}),{prop:!0}),isChecked:n,isFocused:u,checkboxSize:z(f(()=>{var e;return null==(e=null==t?void 0:t.size)?void 0:e.value})),hasOwnLabel:f(()=>!!l.default||!I(o.value)),actualValue:o}})(e,l,{model:t}),{isDisabled:b}=(({model:e,isChecked:l})=>{const a=h(me,void 0),t=f(()=>{var t,u;const o=null==(t=null==a?void 0:a.max)?void 0:t.value,n=null==(u=null==a?void 0:a.min)?void 0:u.value;return!x(o)&&e.value.length>=o&&!l.value||!x(n)&&e.value.length<=n&&l.value});return{isDisabled:k(f(()=>(null==a?void 0:a.disabled.value)||t.value)),isLimitDisabled:t}})({model:t,isChecked:s}),{inputId:m,isLabeledByFormItem:C}=N(e,{formItemContext:a,disableIdGeneration:d,disableIdManagement:u}),{handleChange:L,onClickRoot:V}=pe(e,{model:t,isLimitExceeded:o,hasOwnLabel:d,isDisabled:b,isLabeledByFormItem:C});var B,D;return e.checked&&(E(t.value)&&!t.value.includes(c.value)?t.value.push(c.value):t.value=null==(D=null!=(B=e.trueValue)?B:e.trueLabel)||D),j({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},f(()=>u.value&&I(e.value))),j({from:"true-label",replacement:"true-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},f(()=>!!e.trueLabel)),j({from:"false-label",replacement:"false-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},f(()=>!!e.falseLabel)),{inputId:m,isLabeledByFormItem:C,isChecked:s,isDisabled:b,isFocused:n,checkboxButtonSize:i,checkboxSize:r,hasOwnLabel:d,model:t,actualValue:c,handleChange:L,onClickRoot:V}},fe=P({name:"ElCheckbox"});var xe=D(P(i(s({},fe),{props:ve,emits:be,setup(e){const l=e,a=_(),{inputId:t,isLabeledByFormItem:u,isChecked:o,isDisabled:n,isFocused:s,checkboxSize:i,hasOwnLabel:r,model:d,actualValue:c,handleChange:v,onClickRoot:b}=he(l,a),m=f(()=>{var e,a,t,u;return l.trueValue||l.falseValue||l.trueLabel||l.falseLabel?{"true-value":null==(a=null!=(e=l.trueValue)?e:l.trueLabel)||a,"false-value":null!=(u=null!=(t=l.falseValue)?t:l.falseLabel)&&u}:{value:c.value}}),p=U("checkbox"),h=f(()=>[p.b(),p.m(i.value),p.is("disabled",n.value),p.is("bordered",l.border),p.is("checked",o.value)]),x=f(()=>[p.e("input"),p.is("disabled",n.value),p.is("checked",o.value),p.is("indeterminate",l.indeterminate),p.is("focus",s.value)]);return(e,l)=>($(),G(ae(!K(r)&&K(u)?"span":"label"),{class:J(K(h)),"aria-controls":e.indeterminate?e.ariaControls:null,onClick:K(b)},{default:A(()=>[R("span",{class:J(K(x))},[H(R("input",Q({id:K(t),"onUpdate:modelValue":e=>T(d)?d.value=e:null,class:K(p).e("original"),type:"checkbox",indeterminate:e.indeterminate,name:e.name,tabindex:e.tabindex,disabled:K(n)},K(m),{onChange:K(v),onFocus:e=>s.value=!0,onBlur:e=>s.value=!1,onClick:W(()=>{},["stop"])}),null,16,["id","onUpdate:modelValue","indeterminate","name","tabindex","disabled","onChange","onFocus","onBlur","onClick"]),[[X,K(d)]]),R("span",{class:J(K(p).e("inner"))},null,2)],2),K(r)?($(),M("span",{key:0,class:J(K(p).e("label"))},[Y(e.$slots,"default"),e.$slots.default?q("v-if",!0):($(),M(Z,{key:0},[ee(le(e.label),1)],64))],2)):q("v-if",!0)]),_:3},8,["class","aria-controls","onClick"]))}})),[["__file","checkbox.vue"]]);const ke=P({name:"ElCheckboxButton"});var ge=D(P(i(s({},ke),{props:ve,emits:be,setup(e){const l=e,a=_(),{isFocused:t,isChecked:u,isDisabled:o,checkboxButtonSize:n,model:s,actualValue:i,handleChange:r}=he(l,a),d=f(()=>{var e,a,t,u;return l.trueValue||l.falseValue||l.trueLabel||l.falseLabel?{"true-value":null==(a=null!=(e=l.trueValue)?e:l.trueLabel)||a,"false-value":null!=(u=null!=(t=l.falseValue)?t:l.falseLabel)&&u}:{value:i.value}}),c=h(me,void 0),v=U("checkbox"),b=f(()=>{var e,l,a,t;const u=null!=(l=null==(e=null==c?void 0:c.fill)?void 0:e.value)?l:"";return{backgroundColor:u,borderColor:u,color:null!=(t=null==(a=null==c?void 0:c.textColor)?void 0:a.value)?t:"",boxShadow:u?`-1px 0 0 0 ${u}`:void 0}}),m=f(()=>[v.b("button"),v.bm("button",n.value),v.is("disabled",o.value),v.is("checked",u.value),v.is("focus",t.value)]);return(e,l)=>($(),M("label",{class:J(K(m))},[H(R("input",Q({"onUpdate:modelValue":e=>T(s)?s.value=e:null,class:K(v).be("button","original"),type:"checkbox",name:e.name,tabindex:e.tabindex,disabled:K(o)},K(d),{onChange:K(r),onFocus:e=>t.value=!0,onBlur:e=>t.value=!1,onClick:W(()=>{},["stop"])}),null,16,["onUpdate:modelValue","name","tabindex","disabled","onChange","onFocus","onBlur","onClick"]),[[X,K(s)]]),e.$slots.default||e.label?($(),M("span",{key:0,class:J(K(v).be("button","inner")),style:te(K(u)?K(b):void 0)},[Y(e.$slots,"default",{},()=>[ee(le(e.label),1)])],6)):q("v-if",!0)],2))}})),[["__file","checkbox-button.vue"]]);const ye=ue(s({modelValue:{type:oe(Array),default:()=>[]},disabled:Boolean,min:Number,max:Number,size:m,fill:String,textColor:String,tag:{type:String,default:"div"},validateEvent:{type:Boolean,default:!0},options:{type:oe(Array)},props:{type:oe(Object),default:()=>Le}},b(["ariaLabel"]))),Ce={[p]:e=>E(e),change:e=>E(e)},Le={label:"label",value:"value",disabled:"disabled"},Ve=P({name:"ElCheckboxGroup"});var Be=D(P(i(s({},Ve),{props:ye,emits:Ce,setup(e,{emit:l}){const a=e,t=U("checkbox"),{formItem:u}=g(),{inputId:o,isLabeledByFormItem:n}=N(a,{formItemContext:u}),d=e=>r(this,null,function*(){l(p,e),yield L(),l(V,e)}),c=f({get:()=>a.modelValue,set(e){d(e)}}),v=f(()=>s(s({},Le),a.props));return ne(me,i(s({},se(ie(a),["size","min","max","disabled","validateEvent","fill","textColor"])),{modelValue:c,changeEvent:d})),C(()=>a.modelValue,(e,l)=>{a.validateEvent&&!F(e,l)&&(null==u||u.validate("change").catch(e=>B()))}),(e,l)=>{var i;return $(),G(ae(e.tag),{id:K(o),class:J(K(t).b("group")),role:"group","aria-label":K(n)?void 0:e.ariaLabel||"checkbox-group","aria-labelledby":K(n)?null==(i=K(u))?void 0:i.labelId:void 0},{default:A(()=>[Y(e.$slots,"default",{},()=>[($(!0),M(Z,null,re(a.options,(e,l)=>($(),G(xe,Q({key:l},(e=>{const l={label:e[v.value.label],value:e[v.value.value],disabled:e[v.value.disabled]};return s(s({},e),l)})(e)),null,16))),128))])]),_:3},8,["id","class","aria-label","aria-labelledby"])}}})),[["__file","checkbox-group.vue"]]);const Se=de(xe,{CheckboxButton:ge,CheckboxGroup:Be});ce(ge);const Ee=ce(Be);export{Se as E,Ee as a}; diff --git a/nginx/admin/assets/index-D9BDvlwO.js b/nginx/admin/assets/index-D9BDvlwO.js new file mode 100644 index 0000000..82c095f --- /dev/null +++ b/nginx/admin/assets/index-D9BDvlwO.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,s=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,i=(t,s,r)=>s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[s]=r;import{d as l,C as p,r as n,H as c,b as d,e as m,g as u,f,v as j,i as h,p as v,M as g,K as w,N as b,h as y,w as x,j as _,E as P}from"./index-BoIUJTA2.js";/* empty css *//* empty css */import{_ as O,a as $}from"./LoginLeftView-DmcFsDtV.js";import{_ as k}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./el-dropdown-item-D7SYN_RE.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./dropdown-Dk_wSiK6.js";import"./castArray-nM8ho4U3.js";import"./refs-Cw5r5QN8.js";/* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";import"./useHeaderBar-B65RzJLX.js";import"./index-DVdhsH_J.js";const T={class:"flex w-full h-screen"},V={class:"relative flex-1"},B={class:"auth-right-wrap"},C={class:"form"},L={class:"title"},E={class:"sub-title"},H={class:"mt-5"},I={key:0,class:"input-label"},M={style:{"margin-top":"15px"}},S={style:{"margin-top":"15px"}},U=l((A=((e,t)=>{for(var s in t||(t={}))a.call(t,s)&&i(e,s,t[s]);if(r)for(var s of r(t))o.call(t,s)&&i(e,s,t[s]);return e})({},{name:"ForgetPassword"}),t(A,s({__name:"index",setup(e){const t=p(),s=n(!1),r=n(""),a=n(!1),o=()=>{return e=this,t=null,s=function*(){},new Promise((r,a)=>{var o=e=>{try{l(s.next(e))}catch(t){a(t)}},i=e=>{try{l(s.throw(e))}catch(t){a(t)}},l=e=>e.done?r(e.value):Promise.resolve(e.value).then(o,i);l((s=s.apply(e,t)).next())});var e,t,s},i=()=>{t.push({name:"Login"})};return(e,t)=>{const l=O,p=$,n=w,k=P,U=c("ripple");return m(),d("div",T,[u(l),f("div",V,[u(p),f("div",B,[f("div",C,[f("h3",L,j(e.$t("forgetPassword.title")),1),f("p",E,j(e.$t("forgetPassword.subTitle")),1),f("div",H,[v(s)?(m(),d("span",I,"账号")):h("",!0),u(n,{class:"custom-height",placeholder:e.$t("forgetPassword.placeholder"),modelValue:v(r),"onUpdate:modelValue":t[0]||(t[0]=e=>g(r)?r.value=e:null),modelModifiers:{trim:!0}},null,8,["placeholder","modelValue"])]),f("div",M,[b((m(),y(k,{class:"w-full custom-height",type:"primary",onClick:o,loading:v(a)},{default:x(()=>[_(j(e.$t("forgetPassword.submitBtnText")),1)]),_:1},8,["loading"])),[[U]])]),f("div",S,[u(k,{class:"w-full custom-height",plain:"",onClick:i},{default:x(()=>[_(j(e.$t("forgetPassword.backBtnText")),1)]),_:1})])])])])])}}}))));var A;const D=k(U,[["__scopeId","data-v-11cd70e9"]]);export{D as default}; diff --git a/nginx/admin/assets/index-D9xd-9h8.css b/nginx/admin/assets/index-D9xd-9h8.css new file mode 100644 index 0000000..68ba91e --- /dev/null +++ b/nginx/admin/assets/index-D9xd-9h8.css @@ -0,0 +1 @@ +.page-container[data-v-eb579752]{padding:24px;background-color:#f5f7fa;min-height:calc(100vh - 84px)}.main-card[data-v-eb579752]{border-radius:12px;border:none;box-shadow:0 4px 16px #0000000f!important}.card-header[data-v-eb579752]{display:flex;justify-content:space-between;align-items:center}.header-left[data-v-eb579752]{display:flex;align-items:center}.title[data-v-eb579752]{font-size:22px;font-weight:600;color:#2c3e50}.config-tabs[data-v-eb579752]{margin-top:10px}.tab-content[data-v-eb579752]{padding:20px 0;max-width:1000px}.full-width[data-v-eb579752]{width:100%}.hint[data-v-eb579752]{font-size:12px;color:#909399;margin-top:4px;line-height:normal}.role-grid[data-v-eb579752]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:10px}.role-card[data-v-eb579752]{background:#fff;border:1px solid #e4e7ed;border-radius:8px;padding:16px;display:flex;align-items:center;gap:12px;transition:all .3s}.role-card[data-v-eb579752]:hover{border-color:#409eff;box-shadow:0 4px 12px #409eff1a}.role-icon[data-v-eb579752]{font-size:24px;background:#f0f2f5;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center}.role-name[data-v-eb579752]{font-weight:600;color:#303133}.role-skill[data-v-eb579752]{font-size:12px;color:#606266;margin-top:4px}.role-hp[data-v-eb579752]{display:flex;align-items:center;gap:8px;margin-top:8px}.hp-label[data-v-eb579752]{font-size:12px;color:#909399}.font-bold[data-v-eb579752]{font-weight:600}.product-option[data-v-eb579752]{display:flex;align-items:center;gap:10px}.product-thumb[data-v-eb579752]{width:28px;height:28px;border-radius:4px;object-fit:cover}.product-price[data-v-eb579752]{margin-left:auto;color:#f56c6c}.alert-info[data-v-eb579752]{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:#ecf5ff;border:1px solid #d9ecff;border-radius:6px;color:#409eff;font-size:14px}.json-preview[data-v-eb579752]{background:#2b2b2b;color:#a9b7c6;padding:20px;border-radius:8px;font-family:Fira Code,monospace;font-size:14px;line-height:1.6;overflow:auto}.ml-2[data-v-eb579752]{margin-left:8px}.mt-4[data-v-eb579752]{margin-top:16px}.save-btn[data-v-eb579752]{padding:10px 24px}.mb-4[data-v-eb579752]{margin-bottom:16px} diff --git a/nginx/admin/assets/index-DG1NKJpi.css b/nginx/admin/assets/index-DG1NKJpi.css new file mode 100644 index 0000000..008dff5 --- /dev/null +++ b/nginx/admin/assets/index-DG1NKJpi.css @@ -0,0 +1 @@ +.el-popconfirm__main{align-items:center;display:flex}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{margin-top:8px;text-align:right}.blacklist-page[data-v-1afedef3]{min-height:100%} diff --git a/nginx/admin/assets/index-DGLhvuMQ.js b/nginx/admin/assets/index-DGLhvuMQ.js new file mode 100644 index 0000000..297be76 --- /dev/null +++ b/nginx/admin/assets/index-DGLhvuMQ.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,l=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,n=(a,l,t)=>l in a?e(a,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[l]=t,i=(e,a)=>{for(var l in a||(a={}))s.call(a,l)&&n(e,l,a[l]);if(t)for(var l of t(a))o.call(a,l)&&n(e,l,a[l]);return e},d=(e,t)=>a(e,l(t));import{cU as r,d as c,a1 as u,a9 as p,g as v,an as h,cg as f,a0 as m,c as g,b,e as y,i as k,h as C,p as x,O as N,w,f as $,ba as S,q as T,ai as E,I as _,cZ as L,ac as V,bK as D,bC as P,r as O,J as j,j as z,v as B,s as F,af as M,bI as A,bZ as q,ad as I,aw as H,bF as R,a8 as U,at as K,bc as Z,br as W,bT as J,ei as Q,bs as X,ae as Y,k as G,A as ee,bu as ae,o as le,n as te,ca as se,c9 as oe,Z as ne,_ as ie,ej as de,ek as re,az as ce,bv as ue,bL as pe,bM as ve,am as he,bw as fe,bP as me,bD as ge,by as be,bQ as ye,c5 as ke,bx as Ce,bO as xe,ax as Ne,dZ as we,ap as $e,N as Se,M as Te,aj as Ee,m as _e,K as Le,cx as Ve,aE as De,ab as Pe,P as Oe,cd as je,el as ze}from"./index-BoIUJTA2.js";import{E as Be}from"./index-Cp4NEpJ7.js";import{E as Fe}from"./index-D8nVJoNy.js";import{b as Me}from"./index-DqTthkO7.js";import{d as Ae,c as qe,u as Ie,a as He,E as Re}from"./index-BMeOzN3u.js";import{c as Ue}from"./cloneDeep-B1gZFPYK.js";import{t as Ke,E as Ze}from"./index-ZsMdSUVI.js";import{C as We}from"./index-CXORCV4U.js";import{d as Je}from"./debounce-DQl5eUwG.js";var Qe=1/0;const Xe=Symbol();var Ye=c({name:"NodeContent",props:{node:{type:Object,required:!0}},setup(e){const a=u("cascader-node"),{renderLabelFn:l}=p(Xe),{node:t}=e,{data:s,label:o}=t,n=()=>{const e=null==l?void 0:l({node:t,data:s});return(h(a=e)?a.every(({type:e})=>e===f):(null==a?void 0:a.type)===f)?o:null!=e?e:o;var a};return()=>v("span",{class:a.e("label")},[n()])}});const Ge=c({name:"ElCascaderNode"});var ea=m(c(d(i({},Ge),{props:{node:{type:Object,required:!0},menuId:String},emits:["expand"],setup(e,{emit:a}){const l=e,t=p(Xe),s=u("cascader-node"),o=g(()=>t.isHoverMenu),n=g(()=>t.config.multiple),i=g(()=>t.config.checkStrictly),d=g(()=>t.config.showPrefix),r=g(()=>{var e;return null==(e=t.checkedNodes[0])?void 0:e.uid}),c=g(()=>l.node.isDisabled),h=g(()=>l.node.isLeaf),f=g(()=>i.value&&!h.value||!c.value),m=g(()=>P(t.expandingNode)),D=g(()=>i.value&&t.checkedNodes.some(P)),P=e=>{var a;const{level:t,uid:s}=l.node;return(null==(a=null==e?void 0:e.pathNodes[t-1])?void 0:a.uid)===s},O=()=>{m.value||t.expandNode(l.node)},j=e=>{const{node:a}=l;e!==a.checked&&t.handleCheckChange(a,e)},z=()=>{t.lazyLoad(l.node,()=>{h.value||O()})},B=e=>{o.value&&(F(),!h.value&&a("expand",e))},F=()=>{const{node:e}=l;f.value&&!e.loading&&(e.loaded?O():z())},M=()=>{!h.value||c.value||i.value||n.value?(t.config.checkOnClickNode&&(n.value||i.value)||h.value&&t.config.checkOnClickLeaf)&&!c.value?A(!l.node.checked):o.value||F():q(!0)},A=e=>{i.value?(j(e),l.node.loaded&&O()):q(e)},q=e=>{l.node.loaded?(j(e),!i.value&&O()):z()};return(a,l)=>(y(),b("li",{id:`${e.menuId}-${e.node.uid}`,role:"menuitem","aria-haspopup":!x(h),"aria-owns":x(h)?void 0:e.menuId,"aria-expanded":x(m),tabindex:x(f)?-1:void 0,class:T([x(s).b(),x(s).is("selectable",x(i)),x(s).is("active",e.node.checked),x(s).is("disabled",!x(f)),x(m)&&"in-active-path",x(D)&&"in-checked-path"]),onMouseenter:B,onFocus:B,onClick:M},[k(" prefix "),x(n)&&x(d)?(y(),C(x(Fe),{key:0,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:x(c),onClick:N(()=>{},["stop"]),"onUpdate:modelValue":A},null,8,["model-value","indeterminate","disabled","onClick"])):x(i)&&x(d)?(y(),C(x(Me),{key:1,"model-value":x(r),label:e.node.uid,disabled:x(c),"onUpdate:modelValue":A,onClick:N(()=>{},["stop"])},{default:w(()=>[k("\n Add an empty element to avoid render label,\n do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\n "),$("span")]),_:1},8,["model-value","label","disabled","onClick"])):x(h)&&e.node.checked?(y(),C(x(E),{key:2,class:T(x(s).e("prefix"))},{default:w(()=>[v(x(S))]),_:1},8,["class"])):k("v-if",!0),k(" content "),v(x(Ye),{node:e.node},null,8,["node"]),k(" postfix "),x(h)?k("v-if",!0):(y(),b(_,{key:3},[e.node.loading?(y(),C(x(E),{key:0,class:T([x(s).is("loading"),x(s).e("postfix")])},{default:w(()=>[v(x(L))]),_:1},8,["class"])):(y(),C(x(E),{key:1,class:T(["arrow-right",x(s).e("postfix")])},{default:w(()=>[v(x(V))]),_:1},8,["class"]))],64))],42,["id","aria-haspopup","aria-owns","aria-expanded","tabindex"]))}})),[["__file","node.vue"]]);const aa=c({name:"ElCascaderMenu"});var la=m(c(d(i({},aa),{props:{nodes:{type:Array,required:!0},index:{type:Number,required:!0}},setup(e){const a=e,l=M(),t=u("cascader-menu"),{t:s}=D(),o=P();let n,i;const d=p(Xe),r=O(),c=g(()=>!a.nodes.length),h=g(()=>!d.initialLoaded),f=g(()=>`${o.value}-${a.index}`),m=e=>{n=e.target},N=e=>{if(d.isHoverMenu&&n&&r.value)if(n.contains(e.target)){$();const a=l.vnode.el,{left:t}=a.getBoundingClientRect(),{offsetWidth:s,offsetHeight:o}=a,i=e.clientX-t,d=n.offsetTop,c=d+n.offsetHeight;r.value.innerHTML=`\n \n \n `}else i||(i=window.setTimeout(S,d.config.hoverThreshold))},$=()=>{i&&(clearTimeout(i),i=void 0)},S=()=>{r.value&&(r.value.innerHTML="",$())};return(a,l)=>(y(),C(x(Be),{key:x(f),tag:"ul",role:"menu",class:T(x(t).b()),"wrap-class":x(t).e("wrap"),"view-class":[x(t).e("list"),x(t).is("empty",x(c))],onMousemove:N,onMouseleave:S},{default:w(()=>{var l;return[(y(!0),b(_,null,j(e.nodes,e=>(y(),C(ea,{key:e.uid,node:e,"menu-id":x(f),onExpand:m},null,8,["node","menu-id"]))),128)),x(h)?(y(),b("div",{key:0,class:T(x(t).e("empty-text"))},[v(x(E),{size:"14",class:T(x(t).is("loading"))},{default:w(()=>[v(x(L))]),_:1},8,["class"]),z(" "+B(x(s)("el.cascader.loading")),1)],2)):x(c)?(y(),b("div",{key:1,class:T(x(t).e("empty-text"))},[F(a.$slots,"empty",{},()=>[z(B(x(s)("el.cascader.noData")),1)])],2)):(null==(l=x(d))?void 0:l.isHoverMenu)?(y(),b(_,{key:2},[k(" eslint-disable-next-line vue/html-self-closing "),(y(),b("svg",{ref_key:"hoverZone",ref:r,class:T(x(t).e("hover-zone"))},null,2))],2112)):k("v-if",!0)]}),_:3},8,["class","wrap-class","view-class"]))}})),[["__file","menu.vue"]]);let ta=0;class sa{constructor(e,a,l,t=!1){this.data=e,this.config=a,this.parent=l,this.root=t,this.uid=ta++,this.checked=!1,this.indeterminate=!1,this.loading=!1;const{value:s,label:o,children:n}=a,i=e[n],d=(e=>{const a=[e];let{parent:l}=e;for(;l;)a.unshift(l),l=l.parent;return a})(this);this.level=t?0:l?l.level+1:1,this.value=e[s],this.label=e[o],this.pathNodes=d,this.pathValues=d.map(e=>e.value),this.pathLabels=d.map(e=>e.label),this.childrenData=i,this.children=(i||[]).map(e=>new sa(e,a,this)),this.loaded=!a.lazy||this.isLeaf||!A(i),this.text=""}get isDisabled(){const{data:e,parent:a,config:l}=this,{disabled:t,checkStrictly:s}=l;return(q(t)?t(e,this):!!e[t])||!s&&!!(null==a?void 0:a.isDisabled)}get isLeaf(){const{data:e,config:a,childrenData:l,loaded:t}=this,{lazy:s,leaf:o}=a,n=q(o)?o(e,this):e[o];return I(n)?!(s&&!t)&&!(h(l)&&l.length):!!n}get valueByOption(){return this.config.emitPath?this.pathValues:this.value}appendChild(e){const{childrenData:a,children:l}=this,t=new sa(e,this.config,this);return h(a)?a.push(e):this.childrenData=[e],l.push(t),t}calcText(e,a){const l=e?this.pathLabels.join(a):this.label;return this.text=l,l}broadcast(e){this.children.forEach(a=>{var l;a&&(a.broadcast(e),null==(l=a.onParentCheck)||l.call(a,e))})}emit(){var e;const{parent:a}=this;a&&(null==(e=a.onChildCheck)||e.call(a),a.emit())}onParentCheck(e){this.isDisabled||this.setCheckState(e)}onChildCheck(){const{children:e}=this,a=e.filter(e=>!e.isDisabled),l=!!a.length&&a.every(e=>e.checked);this.setCheckState(l)}setCheckState(e){const a=this.children.length,l=this.children.reduce((e,a)=>e+(a.checked?1:a.indeterminate?.5:0),0);this.checked=this.loaded&&this.children.filter(e=>!e.isDisabled).every(e=>e.loaded&&e.checked)&&e,this.indeterminate=this.loaded&&l!==a&&l>0}doCheck(e){if(this.checked===e)return;const{checkStrictly:a,multiple:l}=this.config;a||!l?this.checked=e:(this.broadcast(e),this.setCheckState(e),this.emit())}}const oa=(e,a)=>e.reduce((e,l)=>(l.isLeaf?e.push(l):(!a&&e.push(l),e=e.concat(oa(l.children,a))),e),[]);class na{constructor(e,a){this.config=a;const l=(e||[]).map(e=>new sa(e,this.config));this.nodes=l,this.allNodes=oa(l,!1),this.leafNodes=oa(l,!0)}getNodes(){return this.nodes}getFlattedNodes(e){return e?this.leafNodes:this.allNodes}appendNode(e,a){const l=a?a.appendChild(e):new sa(e,this.config);a||this.nodes.push(l),this.appendAllNodesAndLeafNodes(l)}appendNodes(e,a){e.length>0?e.forEach(e=>this.appendNode(e,a)):a&&a.isLeaf&&this.leafNodes.push(a)}appendAllNodesAndLeafNodes(e){this.allNodes.push(e),e.isLeaf&&this.leafNodes.push(e),e.children&&e.children.forEach(e=>{this.appendAllNodesAndLeafNodes(e)})}getNodeByValue(e,a=!1){if(H(e))return null;return this.getFlattedNodes(a).find(a=>R(a.value,e)||R(a.pathValues,e))||null}getSameNode(e){if(!e)return null;return this.getFlattedNodes(!1).find(({value:a,level:l})=>R(e.value,a)&&e.level===l)||null}}const ia=U({modelValue:{type:K([Number,String,Array,Object])},options:{type:K(Array),default:()=>[]},props:{type:K(Object),default:()=>({})}}),da={expandTrigger:"click",multiple:!1,checkStrictly:!1,emitPath:!0,lazy:!1,lazyLoad:J,value:"value",label:"label",children:"children",leaf:"leaf",disabled:"disabled",hoverThreshold:500,checkOnClickNode:!1,checkOnClickLeaf:!0,showPrefix:!0},ra=U(d(i({},ia),{border:{type:Boolean,default:!0},renderLabel:{type:Function}})),ca=e=>!0,ua={[W]:ca,[Z]:ca,close:()=>!0,"expand-change":e=>e},pa=e=>{if(!e)return 0;const a=e.id.split("-");return Number(a[a.length-2])},va=c({name:"ElCascaderPanel",inheritAttrs:!1});const ha=ce(m(c(d(i({},va),{props:ra,emits:ua,setup(e,{expose:a,emit:l}){const t=e;let s=!1;const o=u("cascader"),n=(e=>g(()=>i(i({},da),e.props)))(t),d=X();let c;const p=O(!0),v=O([]),h=O(),f=O([]),m=O(),k=O([]),N=g(()=>"hover"===n.value.expandTrigger),$=g(()=>t.renderLabel||d.default),S=()=>{const{options:e}=t,a=n.value;s=!1,c=new na(e,a),f.value=[c.getNodes()],a.lazy&&A(t.options)?(p.value=!1,E(void 0,e=>{e&&(c=new na(e,a),f.value=[c.getNodes()]),p.value=!0,M(!1,!0)})):M(!1,!0)},E=(e,a)=>{const l=n.value;(e=e||new sa({},l,void 0,!0)).loading=!0;l.lazyLoad(e,l=>{const t=e,s=t.root?null:t;t.loading=!1,t.loaded=!0,t.childrenData=t.childrenData||[],l&&(null==c||c.appendNodes(l,s)),l&&(null==a||a(l))})},L=(e,a)=>{var t;const{level:s}=e,o=f.value.slice(0,s);let n;e.isLeaf?n=e.pathNodes[s-2]:(n=e,o.push(e.children)),(null==(t=m.value)?void 0:t.uid)!==(null==n?void 0:n.uid)&&(m.value=e,f.value=o,!a&&l("expand-change",(null==e?void 0:e.pathValues)||[]))},V=(e,a,t=!0)=>{const{checkStrictly:o,multiple:i}=n.value,d=k.value[0];s=!0,!i&&(null==d||d.doCheck(!1)),e.doCheck(a),B(),t&&!i&&!o&&l("close"),!t&&!i&&!o&&D(e)},D=e=>{e&&(e=e.parent,D(e),e&&L(e))},P=e=>null==c?void 0:c.getFlattedNodes(e),z=e=>{var a;return null==(a=P(e))?void 0:a.filter(({checked:e})=>!1!==e)},B=()=>{var e;const{checkStrictly:a,multiple:l}=n.value,t=((e,a)=>{const l=a.slice(0),t=l.map(e=>e.uid),s=e.reduce((e,a)=>{const s=t.indexOf(a.uid);return s>-1&&(e.push(a),l.splice(s,1),t.splice(s,1)),e},[]);return s.push(...l),s})(k.value,z(!a)),s=t.map(e=>e.valueByOption);k.value=t,h.value=l?s:null!=(e=s[0])?e:null},M=(e=!1,a=!1)=>{const{modelValue:l}=t,{lazy:o,multiple:i,checkStrictly:d}=n.value,u=!d;var v;if(p.value&&!s&&(a||!R(l,h.value)))if(o&&!e){const e=Ae(null!=(v=qe(l))&&v.length?r(v,Qe):[]).map(e=>null==c?void 0:c.getNodeByValue(e)).filter(e=>!!e&&!e.loaded&&!e.loading);e.length?e.forEach(e=>{E(e,()=>M(!1,a))}):M(!0,a)}else{const e=i?qe(l):[l],t=Ae(e.map(e=>null==c?void 0:c.getNodeByValue(e,u)));q(t,a),h.value=Ue(null!=l?l:void 0)}},q=(e,a=!0)=>{const{checkStrictly:l}=n.value,t=k.value,s=e.filter(e=>!!e&&(l||e.isLeaf)),o=null==c?void 0:c.getSameNode(m.value),i=a&&o||s[0];i?i.pathNodes.forEach(e=>L(e,!0)):m.value=void 0,t.forEach(e=>e.doCheck(!1)),G(s).forEach(e=>e.doCheck(!0)),k.value=s,te(I)},I=()=>{se&&v.value.forEach(e=>{const a=null==e?void 0:e.$el;if(a){const e=a.querySelector(`.${o.namespace.value}-scrollbar__wrap`),l=a.querySelector(`.${o.b("node")}.${o.is("active")}:last-child`)||a.querySelector(`.${o.b("node")}.in-active-path`);oe(e,l)}})},H=e=>{const a=e.target,l=ne(e);switch(l){case ie.up:case ie.down:{e.preventDefault();const t=l===ie.up?-1:1;de(re(a,t,`.${o.b("node")}[tabindex="-1"]`));break}case ie.left:{e.preventDefault();const l=v.value[pa(a)-1],t=null==l?void 0:l.$el.querySelector(`.${o.b("node")}[aria-expanded="true"]`);de(t);break}case ie.right:{e.preventDefault();const l=v.value[pa(a)+1],t=null==l?void 0:l.$el.querySelector(`.${o.b("node")}[tabindex="-1"]`);de(t);break}case ie.enter:case ie.numpadEnter:(e=>{if(!e)return;const a=e.querySelector("input");a?a.click():Q(e)&&e.click()})(a)}};return Y(Xe,G({config:n,expandingNode:m,checkedNodes:k,isHoverMenu:N,initialLoaded:p,renderLabelFn:$,lazyLoad:E,expandNode:L,handleCheckChange:V})),ee(n,(e,a)=>{R(e,a)||S()},{immediate:!0}),ee(()=>t.options,S,{deep:!0}),ee(()=>t.modelValue,()=>{s=!1,M()},{deep:!0}),ee(()=>h.value,e=>{R(e,t.modelValue)||(l(W,e),l(Z,e))}),ae(()=>v.value=[]),le(()=>!A(t.modelValue)&&M()),a({menuList:v,menus:f,checkedNodes:k,handleKeyDown:H,handleCheckChange:V,getFlattedNodes:P,getCheckedNodes:z,clearCheckedNodes:()=>{k.value.forEach(e=>e.doCheck(!1)),B(),f.value=f.value.slice(0,1),m.value=void 0,l("expand-change",[])},calculateCheckedValue:B,scrollToExpandingNode:I}),(e,a)=>(y(),b("div",{class:T([x(o).b("panel"),x(o).is("bordered",e.border)]),onKeydown:H},[(y(!0),b(_,null,j(f.value,(a,l)=>(y(),C(la,{key:l,ref_for:!0,ref:e=>v.value[l]=e,index:l,nodes:[...a]},{empty:w(()=>[F(e.$slots,"empty")]),_:2},1032,["index","nodes"]))),128))],34))}})),[["__file","index.vue"]])),fa=U(i(d(i({},ia),{size:fe,placeholder:String,disabled:Boolean,clearable:Boolean,clearIcon:{type:he,default:ve},filterable:Boolean,filterMethod:{type:K(Function),default:(e,a)=>e.text.includes(a)},separator:{type:String,default:" / "},showAllLevels:{type:Boolean,default:!0},collapseTags:Boolean,maxCollapseTags:{type:Number,default:1},collapseTagsTooltip:Boolean,maxCollapseTagsTooltipHeight:{type:[String,Number]},debounce:{type:Number,default:300},beforeFilter:{type:K(Function),default:()=>!0},placement:{type:K(String),values:He,default:"bottom-start"},fallbackPlacements:{type:K(Array),default:["bottom-start","bottom","top-start","top","right","left"]},popperClass:Ie.popperClass,popperStyle:Ie.popperStyle,teleported:Ie.teleported,effect:{type:K(String),default:"light"},tagType:d(i({},Ke.type),{default:"info"}),tagEffect:d(i({},Ke.effect),{default:"light"}),validateEvent:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},showCheckedStrategy:{type:String,values:["parent","child"],default:"child"},checkOnClickNode:Boolean,showPrefix:{type:Boolean,default:!0}}),pe)),ma=e=>!0,ga={[W]:ma,[Z]:ma,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,visibleChange:e=>ue(e),expandChange:e=>!!e,removeTag:e=>!!e},ba=c({name:"ElCascader"});const ya=ce(m(c(d(i({},ba),{props:fa,emits:ga,setup(e,{expose:a,emit:l}){const t=e,s={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:e})=>{const{modifiersData:a,placement:l}=e;["right","left","bottom","top"].includes(l)||a.arrow&&(a.arrow.x=35)},requires:["arrow"]}]},o=me();let n=0,i=0;const d=u("cascader"),r=u("input"),{t:c}=D(),{formItem:p}=ge(),h=be(),{valueOnClear:f}=ye(t),{isComposing:m,handleComposition:L}=ke({afterComposition(e){var a;const l=null==(a=e.target)?void 0:a.value;ga(l)}}),V=O(),P=O(),z=O(),M=O(),A=O(),q=O(),I=O(!1),H=O(!1),R=O(!1),U=O(""),K=O(""),J=O([]),Q=O([]),X=g(()=>t.props.multiple?t.collapseTags?J.value.slice(0,t.maxCollapseTags):J.value:[]),Y=g(()=>t.props.multiple&&t.collapseTags?J.value.slice(t.maxCollapseTags):[]),G=g(()=>o.style),ae=g(()=>{var e;return null!=(e=t.placeholder)?e:c("el.cascader.placeholder")}),oe=g(()=>K.value||J.value.length>0||m.value?"":ae.value),ce=Ce(),ue=g(()=>"small"===ce.value?"small":"default"),pe=g(()=>!!t.props.multiple),ve=g(()=>!t.filterable||pe.value),he=g(()=>pe.value?K.value:U.value),fe=g(()=>{var e;return(null==(e=A.value)?void 0:e.checkedNodes)||[]}),{wrapperRef:Fe,isFocused:Me,handleBlur:Ae}=xe(z,{disabled:h,beforeBlur(e){var a,l;return(null==(a=V.value)?void 0:a.isFocusInsideContent(e))||(null==(l=P.value)?void 0:l.isFocusInsideContent(e))},afterBlur(){var e;t.validateEvent&&(null==(e=null==p?void 0:p.validate)||e.call(p,"blur").catch(e=>Ne()))}}),qe=g(()=>!(!t.clearable||h.value||R.value||!H.value&&!Me.value)&&!!fe.value.length),Ie=g(()=>{const{showAllLevels:e,separator:a}=t,l=fe.value;return l.length?pe.value?"":l[0].calcText(e,a):""}),He=g(()=>(null==p?void 0:p.validateState)||""),Ke=g({get:()=>Ue(t.modelValue),set(e){const a=null!=e?e:f.value;l(W,a),l(Z,a),t.validateEvent&&(null==p||p.validate("change").catch(e=>Ne()))}}),Qe=g(()=>[d.b(),d.m(ce.value),d.is("disabled",h.value),o.class]),Xe=g(()=>[r.e("icon"),"icon-arrow-down",d.is("reverse",I.value)]),Ye=g(()=>d.is("focus",Me.value)),Ge=g(()=>{var e,a;return null==(a=null==(e=V.value)?void 0:e.popperRef)?void 0:a.contentRef}),ea=e=>{if(Me.value){const a=new FocusEvent("blur",e);Ae(a)}aa(!1)},aa=e=>{var a,s,o;h.value||(e=null!=e?e:!I.value)!==I.value&&(I.value=e,null==(s=null==(a=z.value)?void 0:a.input)||s.setAttribute("aria-expanded",`${e}`),e?(la(),te(null==(o=A.value)?void 0:o.scrollToExpandingNode)):t.filterable&&pa(),l("visibleChange",e))},la=()=>{te(()=>{var e;null==(e=V.value)||e.updatePopper()})},ta=()=>{R.value=!1},sa=e=>{var a;const t=e.node;t.doCheck(!1),null==(a=A.value)||a.calculateCheckedValue(),l("removeTag",t.valueByOption)},oa=()=>{var e,a;const{filterMethod:l,showAllLevels:s,separator:o}=t,n=null==(a=null==(e=A.value)?void 0:e.getFlattedNodes(!t.props.checkStrictly))?void 0:a.filter(e=>!e.isDisabled&&(e.calcText(s,o),l(e,he.value)));pe.value&&J.value.forEach(e=>{e.hitState=!1}),R.value=!0,Q.value=n,la()},na=()=>{var e;let a;a=R.value&&q.value?q.value.$el.querySelector(`.${d.e("suggestion-item")}`):null==(e=A.value)?void 0:e.$el.querySelector(`.${d.b("node")}[tabindex="-1"]`),a&&(a.focus(),!R.value&&a.click())},ia=()=>{var e,a;const l=null==(e=z.value)?void 0:e.input,t=M.value,s=null==(a=q.value)?void 0:a.$el;if(se&&l){if(s){s.querySelector(`.${d.e("suggestion-list")}`).style.minWidth=`${l.offsetWidth}px`}if(t){const{offsetHeight:e}=t,a=J.value.length>0?Math.max(e,n)-2+"px":`${n}px`;l.style.height=a,la()}}},da=e=>{var a;return null==(a=A.value)?void 0:a.getCheckedNodes(e)},ra=e=>{la(),l("expandChange",e)},ca=e=>{if(m.value)return;switch(ne(e)){case ie.enter:case ie.numpadEnter:aa();break;case ie.down:aa(!0),te(na),e.preventDefault();break;case ie.esc:!0===I.value&&(e.preventDefault(),e.stopPropagation(),aa(!1));break;case ie.tab:aa(!1)}},ua=()=>{var e;null==(e=A.value)||e.clearCheckedNodes(),!I.value&&t.filterable&&pa(),aa(!1),l("clear")},pa=()=>{const{value:e}=Ie;U.value=e,K.value=e},va=e=>{const a=e.target,l=ne(e);switch(l){case ie.up:case ie.down:{e.preventDefault();const t=l===ie.up?-1:1;de(re(a,t,`.${d.e("suggestion-item")}[tabindex="-1"]`));break}case ie.enter:case ie.numpadEnter:a.click()}},fa=()=>{const e=J.value[J.value.length-1];i=K.value?0:i+1,!e||!i||t.collapseTags&&J.value.length>1||(e.hitState?sa(e):e.hitState=!0)},ma=Je(()=>{const{value:e}=he;if(!e)return;const a=t.beforeFilter(e);we(a)?a.then(oa).catch(()=>{}):!1!==a?oa():ta()},t.debounce),ga=(e,a)=>{!I.value&&aa(!0),(null==a?void 0:a.isComposing)||(e?ma():ta())},ba=e=>Number.parseFloat(ze(r.cssVarName("input-height"),e).value)-2;return ee(R,la),ee([fe,h,()=>t.collapseTags,()=>t.maxCollapseTags],()=>{if(!pe.value)return;const e=(()=>{switch(t.showCheckedStrategy){case"child":return fe.value;case"parent":{const e=da(!1),a=e.map(e=>e.value);return e.filter(e=>!e.parent||!a.includes(e.parent.value))}default:return[]}})(),a=[];e.forEach(e=>a.push((e=>{const{showAllLevels:a,separator:l}=t;return{node:e,key:e.uid,text:e.calcText(a,l),hitState:!1,closable:!h.value&&!e.isDisabled}})(e))),J.value=a}),ee(J,()=>{te(()=>ia())}),ee(ce,()=>{return e=this,a=null,l=function*(){yield te();const e=z.value.input;n=ba(e)||n,ia()},new Promise((t,s)=>{var o=e=>{try{i(l.next(e))}catch(a){s(a)}},n=e=>{try{i(l.throw(e))}catch(a){s(a)}},i=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,n);i((l=l.apply(e,a)).next())});var e,a,l}),ee(Ie,pa,{immediate:!0}),le(()=>{const e=z.value.input,a=ba(e);n=e.offsetHeight||a,$e(e,ia)}),a({getCheckedNodes:da,cascaderPanelRef:A,togglePopperVisible:aa,contentRef:Ge,presentText:Ie}),(e,a)=>(y(),C(x(Re),{ref_key:"tooltipRef",ref:V,visible:I.value,teleported:e.teleported,"popper-class":[x(d).e("dropdown"),e.popperClass],"popper-style":e.popperStyle,"popper-options":s,"fallback-placements":e.fallbackPlacements,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:e.placement,transition:`${x(d).namespace.value}-zoom-in-top`,effect:e.effect,pure:"",persistent:e.persistent,onHide:ta},{default:w(()=>[Se((y(),b("div",{ref_key:"wrapperRef",ref:Fe,class:T(x(Qe)),style:_e(x(G)),onClick:()=>aa(!x(ve)||void 0),onKeydown:ca,onMouseenter:e=>H.value=!0,onMouseleave:e=>H.value=!1},[v(x(Le),{ref_key:"inputRef",ref:z,modelValue:U.value,"onUpdate:modelValue":e=>U.value=e,placeholder:x(oe),readonly:x(ve),disabled:x(h),"validate-event":!1,size:x(ce),class:T(x(Ye)),tabindex:x(pe)&&e.filterable&&!x(h)?-1:void 0,onCompositionstart:x(L),onCompositionupdate:x(L),onCompositionend:x(L),onInput:ga},Ve({suffix:w(()=>[x(qe)?(y(),C(x(E),{key:"clear",class:T([x(r).e("icon"),"icon-circle-close"]),onClick:N(ua,["stop"])},{default:w(()=>[(y(),C(De(e.clearIcon)))]),_:1},8,["class","onClick"])):(y(),C(x(E),{key:"arrow-down",class:T(x(Xe)),onClick:N(e=>aa(),["stop"])},{default:w(()=>[v(x(Pe))]),_:1},8,["class","onClick"]))]),_:2},[e.$slots.prefix?{name:"prefix",fn:w(()=>[F(e.$slots,"prefix")])}:void 0]),1032,["modelValue","onUpdate:modelValue","placeholder","readonly","disabled","size","class","tabindex","onCompositionstart","onCompositionupdate","onCompositionend"]),x(pe)?(y(),b("div",{key:0,ref_key:"tagWrapper",ref:M,class:T([x(d).e("tags"),x(d).is("validate",Boolean(x(He)))])},[F(e.$slots,"tag",{data:J.value,deleteTag:sa},()=>[(y(!0),b(_,null,j(x(X),a=>(y(),C(x(Ze),{key:a.key,type:e.tagType,size:x(ue),effect:e.tagEffect,hit:a.hitState,closable:a.closable,"disable-transitions":"",onClose:e=>sa(a)},{default:w(()=>[$("span",null,B(a.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))),128))]),e.collapseTags&&J.value.length>e.maxCollapseTags?(y(),C(x(Re),{key:0,ref_key:"tagTooltipRef",ref:P,disabled:I.value||!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom","popper-class":e.popperClass,"popper-style":e.popperStyle,effect:e.effect,persistent:e.persistent},{default:w(()=>[v(x(Ze),{closable:!1,size:x(ue),type:e.tagType,effect:e.tagEffect,"disable-transitions":""},{default:w(()=>[$("span",{class:T(x(d).e("tags-text"))}," + "+B(J.value.length-e.maxCollapseTags),3)]),_:1},8,["size","type","effect"])]),content:w(()=>[v(x(Be),{"max-height":e.maxCollapseTagsTooltipHeight},{default:w(()=>[$("div",{class:T(x(d).e("collapse-tags"))},[(y(!0),b(_,null,j(x(Y),(a,l)=>(y(),b("div",{key:l,class:T(x(d).e("collapse-tag"))},[(y(),C(x(Ze),{key:a.key,class:"in-tooltip",type:e.tagType,size:x(ue),effect:e.tagEffect,hit:a.hitState,closable:a.closable,"disable-transitions":"",onClose:e=>sa(a)},{default:w(()=>[$("span",null,B(a.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))],2))),128))],2)]),_:1},8,["max-height"])]),_:1},8,["disabled","popper-class","popper-style","effect","persistent"])):k("v-if",!0),e.filterable&&!x(h)?Se((y(),b("input",{key:1,"onUpdate:modelValue":e=>K.value=e,type:"text",class:T(x(d).e("search-input")),placeholder:x(Ie)?"":x(ae),onInput:e=>ga(K.value,e),onClick:N(e=>aa(!0),["stop"]),onKeydown:Oe(fa,["delete"]),onCompositionstart:x(L),onCompositionupdate:x(L),onCompositionend:x(L)},null,42,["onUpdate:modelValue","placeholder","onInput","onClick","onKeydown","onCompositionstart","onCompositionupdate","onCompositionend"])),[[je,K.value]]):k("v-if",!0)],2)):k("v-if",!0)],46,["onClick","onMouseenter","onMouseleave"])),[[x(We),ea,x(Ge)]])]),content:w(()=>[e.$slots.header?(y(),b("div",{key:0,class:T(x(d).e("header")),onClick:N(()=>{},["stop"])},[F(e.$slots,"header")],10,["onClick"])):k("v-if",!0),Se(v(x(ha),{ref_key:"cascaderPanelRef",ref:A,modelValue:x(Ke),"onUpdate:modelValue":e=>Te(Ke)?Ke.value=e:null,options:e.options,props:t.props,border:!1,"render-label":e.$slots.default,onExpandChange:ra,onClose:a=>e.$nextTick(()=>aa(!1))},{empty:w(()=>[F(e.$slots,"empty")]),_:3},8,["modelValue","onUpdate:modelValue","options","props","render-label","onClose"]),[[Ee,!R.value]]),e.filterable?Se((y(),C(x(Be),{key:1,ref_key:"suggestionPanel",ref:q,tag:"ul",class:T(x(d).e("suggestion-panel")),"view-class":x(d).e("suggestion-list"),onKeydown:va},{default:w(()=>[Q.value.length?(y(!0),b(_,{key:0},j(Q.value,a=>(y(),b("li",{key:a.uid,class:T([x(d).e("suggestion-item"),x(d).is("checked",a.checked)]),tabindex:-1,onClick:e=>(e=>{var a,l;const{checked:t}=e;pe.value?null==(a=A.value)||a.handleCheckChange(e,!t,!1):(!t&&(null==(l=A.value)||l.handleCheckChange(e,!0,!1)),aa(!1))})(a)},[F(e.$slots,"suggestion-item",{item:a},()=>[$("span",null,B(a.text),1),a.checked?(y(),C(x(E),{key:0},{default:w(()=>[v(x(S))]),_:1})):k("v-if",!0)])],10,["onClick"]))),128)):F(e.$slots,"empty",{key:1},()=>[$("li",{class:T(x(d).e("empty-text"))},B(x(c)("el.cascader.noMatch")),3)])]),_:3},8,["class","view-class"])),[[Ee,R.value]]):k("v-if",!0),e.$slots.footer?(y(),b("div",{key:2,class:T(x(d).e("footer")),onClick:N(()=>{},["stop"])},[F(e.$slots,"footer")],10,["onClick"])):k("v-if",!0)]),_:3},8,["visible","teleported","popper-class","popper-style","fallback-placements","placement","transition","effect","persistent"]))}})),[["__file","cascader.vue"]]));export{ya as E}; diff --git a/nginx/admin/assets/index-DGLhvuMQ.js.gz b/nginx/admin/assets/index-DGLhvuMQ.js.gz new file mode 100644 index 0000000..d2ce94a Binary files /dev/null and b/nginx/admin/assets/index-DGLhvuMQ.js.gz differ diff --git a/nginx/admin/assets/index-DGXimUMN.js b/nginx/admin/assets/index-DGXimUMN.js new file mode 100644 index 0000000..db654ef --- /dev/null +++ b/nginx/admin/assets/index-DGXimUMN.js @@ -0,0 +1 @@ +import{d as i,C as t,o as e,b as s,e as a,f as o,g as n,w as r,j as p,E as l,v as m,p as c}from"./index-BoIUJTA2.js";/* empty css *//* empty css */import{_ as u}from"./index-Bwtbh5WQ.js";import{_ as d}from"./index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js";import{u as j}from"./useTable-DzUOUR11.js";import{f as g}from"./activity-CMsiETfu.js";import{E as x}from"./index-ZsMdSUVI.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./index-D2gD5Tn5.js";import"./token-DWNpOE8r.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";/* empty css *//* empty css */import"./useTableColumns-FR69a2pD.js";const _={class:"mb-6 flex items-center justify-between"},f={class:"flex items-center space-x-3"},y={class:"flex items-center space-x-1"},h=i({__name:"index",setup(i){const h=t(),{data:b,loading:v,columns:w,pagination:C,handleSizeChange:k,handleCurrentChange:z,getData:B}=j({core:{apiFn:i=>g({page:i.page,page_size:i.page_size}),apiParams:{page:1,page_size:20},columnsFactory:()=>[{prop:"id",label:"ID",width:90,align:"center"},{prop:"name",label:"活动名称",minWidth:200,showOverflowTooltip:!0},{prop:"categoryName",label:"分类",width:120,align:"center"},{prop:"status",label:"状态",width:100,align:"center",useSlot:!0},{prop:"priceDraw",label:"抽奖价格",width:110,align:"center"},{prop:"isBoss",label:"Boss",width:80,align:"center",useSlot:!0},{prop:"actions",label:"操作",useSlot:!0,width:180,align:"center"}]}});function A(){h.push({name:"ActivityWizard"})}return e(()=>{B()}),(i,t)=>{const e=l,j=x;return a(),s("div",null,[o("div",_,[t[2]||(t[2]=o("div",{class:"text-xl font-semibold text-gray-800"},"活动列表",-1)),o("div",f,[n(e,{type:"primary",onClick:A,class:"px-4"},{icon:r(()=>[...t[0]||(t[0]=[o("i",{class:"ri-add-line"},null,-1)])]),default:r(()=>[t[1]||(t[1]=p(" 创建活动 ",-1))]),_:1})])]),n(u,{loading:c(v),data:c(b),columns:c(w),pagination:c(C),"onPagination:sizeChange":c(k),"onPagination:currentChange":c(z)},{status:r(({row:i})=>[n(j,{type:1===i.status?"success":"info"},{default:r(()=>[p(m(1===i.status?"进行中":"已下线"),1)]),_:2},1032,["type"])]),isBoss:r(({row:i})=>[n(j,{type:1===i.isBoss?"warning":"info"},{default:r(()=>[p(m(1===i.isBoss?"Boss":"普通"),1)]),_:2},1032,["type"])]),actions:r(({row:i})=>[o("div",y,[n(d,{icon:"ri:list-check",onClick:t=>function(i){h.push({name:"ActivityIssues",params:{activityId:i.id}})}(i),title:"期数管理"},null,8,["onClick"]),n(d,{icon:"ri:settings-line",onClick:t=>function(i){h.push({name:"ActivityManage",params:{activityId:i.id}})}(i),title:"活动配置"},null,8,["onClick"])])]),_:1},8,["loading","data","columns","pagination","onPagination:sizeChange","onPagination:currentChange"])])}}});export{h as default}; diff --git a/nginx/admin/assets/index-DHPwBwle.css b/nginx/admin/assets/index-DHPwBwle.css new file mode 100644 index 0000000..8f886c3 --- /dev/null +++ b/nginx/admin/assets/index-DHPwBwle.css @@ -0,0 +1 @@ +.activity-audit-container[data-v-295c750b]{padding:20px}.order-input[data-v-295c750b]{max-width:600px}.info-list .info-item[data-v-295c750b]{margin-bottom:12px;display:flex;align-items:center}.info-list .label[data-v-295c750b]{width:100px;color:#666}.info-list .value[data-v-295c750b]{font-weight:700}.info-list .code[data-v-295c750b]{font-family:monospace;font-size:12px;word-break:break-all}.board-grid[data-v-295c750b]{display:grid;grid-template-columns:repeat(3,100px);grid-template-rows:repeat(3,100px);gap:10px;justify-content:center;padding:20px}.board-cell[data-v-295c750b]{border:2px dashed #ccc;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f9f9f9}.card-type[data-v-295c750b]{font-size:24px;font-weight:700;color:#409eff}.card-id[data-v-295c750b]{font-size:10px;color:#999;margin-top:4px}.empty[data-v-295c750b]{color:#ccc} diff --git a/nginx/admin/assets/index-DVdhsH_J.js b/nginx/admin/assets/index-DVdhsH_J.js new file mode 100644 index 0000000..9ac6b8d --- /dev/null +++ b/nginx/admin/assets/index-DVdhsH_J.js @@ -0,0 +1 @@ +import{d as e,r,c as t,Y as a,b as l,e as o,m as s,i}from"./index-BoIUJTA2.js";import{_ as c}from"./_plugin-vue_export-helper-BCo6x5W8.js";const n=["innerHTML"],u=c(e({__name:"index",props:{size:{default:500},themeColor:{default:"var(--el-color-primary)"},src:{}},setup(e){const c=e,u=r(""),p=t(()=>{const e="number"==typeof c.size?`${c.size}px`:c.size;return{width:e,height:e}}),v={"#C7DEFF":"var(--el-color-primary-light-6)","#071F4D":"var(--el-color-primary-dark-2)","#00E4E5":"var(--el-color-primary-light-1)","#006EFF":"var(--el-color-primary)","#fff":"var(--default-box-color)","#ffffff":"var(--default-box-color)","#DEEBFC":"var(--el-color-primary-light-7)"},f=()=>{return e=this,r=null,t=function*(){if(c.src)try{const e=yield fetch(c.src);if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const r=yield e.text();u.value=(e=>Object.entries(v).reduce((e,[r,t])=>{const a=new RegExp(`fill="${r}"`,"gi"),l=new RegExp(`stroke="${r}"`,"gi");return e.replace(a,`fill="${t}"`).replace(l,`stroke="${t}"`)},e))(r)}catch(e){u.value=""}else u.value=""},new Promise((a,l)=>{var o=e=>{try{i(t.next(e))}catch(r){l(r)}},s=e=>{try{i(t.throw(e))}catch(r){l(r)}},i=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,s);i((t=t.apply(e,r)).next())});var e,r,t};return a(()=>{f()}),(r,t)=>(o(),l("div",{class:"theme-svg",style:s(p.value)},[e.src?(o(),l("div",{key:0,class:"svg-container",innerHTML:u.value},null,8,n)):i("",!0)],4))}}),[["__scopeId","data-v-14d9c663"]]);export{u as _}; diff --git a/nginx/admin/assets/index-DVtb5Tyi.css b/nginx/admin/assets/index-DVtb5Tyi.css new file mode 100644 index 0000000..b7ede4b --- /dev/null +++ b/nginx/admin/assets/index-DVtb5Tyi.css @@ -0,0 +1 @@ +@media screen and (width <= 768px){.mobile-hide[data-v-7f5d57a9]{display:none!important}}.setting-modal{background:transparent!important}.setting-modal .el-drawer{background:#ffffff80!important;box-shadow:0 0 30px #0000001a!important;--tw-backdrop-blur: blur(30px);-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)}.setting-modal .el-drawer .setting-box-wrap{display:flex;flex-wrap:wrap;align-items:center;width:calc(100% + 15px);margin-bottom:10px}.setting-modal .el-drawer .setting-box-wrap .setting-item{box-sizing:border-box;width:calc(33.333% - 15px);margin-right:15px;text-align:center}.setting-modal .el-drawer .setting-box-wrap .setting-item .box{position:relative;box-sizing:border-box;display:flex;height:52px;overflow:hidden;cursor:pointer;border:2px solid var(--default-border);border-radius:8px;box-shadow:0 0 8px #0000001a;transition:box-shadow .1s}.setting-modal .el-drawer .setting-box-wrap .setting-item .box.mt-16{margin-top:16px}.setting-modal .el-drawer .setting-box-wrap .setting-item .box.is-active{border:2px solid var(--theme-color)}.setting-modal .el-drawer .setting-box-wrap .setting-item .box img{width:100%;height:100%}.setting-modal .el-drawer .setting-box-wrap .setting-item .name{margin-top:6px;font-size:14px;text-align:center}.setting-modal .el-drawer__body::-webkit-scrollbar{width:0!important}.dark .setting-modal .el-drawer{background:#00000080!important}.dark .setting-modal .el-drawer .setting-item .box{border:2px solid transparent}:deep(.el-drawer__body){scrollbar-width:none}@media screen and (width <= 800px){.mobile-hide{display:none!important}} diff --git a/nginx/admin/assets/index-DecqjAlx.js b/nginx/admin/assets/index-DecqjAlx.js new file mode 100644 index 0000000..68a21da --- /dev/null +++ b/nginx/admin/assets/index-DecqjAlx.js @@ -0,0 +1 @@ +import{d as e,r as t,k as i,o,b as s,e as l,g as r,w as a,E as p,j as n,f as m,v as u,T as c}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css */import{_ as d}from"./index-oPcNh_Ue.js";import{A as j}from"./index-BaXJ8CyS.js";import{_ as v}from"./index-Bwtbh5WQ.js";import{titlesApi as f}from"./titles-D1iSw7M5.js";import b from"./TitleEditDialog-G6a4Tu5P.js";import x from"./EffectManagerDialog-BmMTyIDl.js";import _ from"./RuleConfigDialog-ByrOghLW.js";import g from"./UserAssignmentDialog-Cd2RiWKB.js";import{E as y}from"./index-BaD29Izp.js";import{E as k}from"./index-ZsMdSUVI.js";import{_ as h}from"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./tree-select-DdXiCp9j.js";import"./index-BneqRonp.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-BnK4BbY2.js";import"./debounce-DQl5eUwG.js";import"./index-CXORCV4U.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./index-D2gD5Tn5.js";import"./token-DWNpOE8r.js";import"./castArray-nM8ho4U3.js";import"./_baseIteratee-CtIat01j.js";import"./clamp-BXzPLned.js";import"./index-sK8AD9wr.js";import"./index-BObA9rVr.js";import"./index-D8nVJoNy.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./slider-DTwTybBj.js";import"./index-C_S0YbqD.js";/* empty css */import"./index-C_sVHlWz.js";import"./index-CXD7B41Z.js";import"./index-BcfO0-fK.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-DqTthkO7.js";import"./index-DGLhvuMQ.js";import"./cloneDeep-B1gZFPYK.js";import"./index-rgHg98E6.js";/* empty css *//* empty css *//* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./refs-Cw5r5QN8.js";/* empty css */import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";import"./index-CZJaGuxf.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./raf-DsHSIRfX.js";import"./index-C1haaLtB.js";/* empty css *//* empty css *//* empty css */import"./index-CjpBlozU.js";import"./use-dialog-FwJ-QdmW.js";import"./EffectEditDialog-CaIWUZ9w.js";/* empty css *//* empty css */import"./activity-CMsiETfu.js";import"./adminActivities-Dgt25iR5.js";import"./index-Dy3gZN7-.js";import"./el-tab-pane-BpPSIX41.js";import"./index-C0Ar9TSn.js";/* empty css *//* empty css */import"./index-dBzz0k3i.js";const w={class:"page-container"},C={class:"compact-actions"},S=h(e({__name:"index",setup(e){const h=t(!1),S=t([]),z=i({current:1,size:10,total:0}),A=i({name:"",status:void 0}),D=t(!1),E=t(!1),U=t(!1),P=t(!1),R=t(null),T=[{key:"name",label:"名称",type:"input",props:{placeholder:"请输入称号名称",clearable:!0}},{key:"status",label:"状态",type:"select",props:{placeholder:"请选择状态",clearable:!0,options:[{label:"启用",value:1},{label:"停用",value:0}]}}],V=[{prop:"id",label:"ID",width:80},{prop:"name",label:"名称",minWidth:150},{prop:"description",label:"描述",minWidth:200},{prop:"status",label:"状态",width:80,slot:"status",useSlot:!0},{prop:"obtain_rules",label:"获得规则",width:120,slot:"obtain_rules",useSlot:!0},{prop:"scopes",label:"适用范围",width:120,slot:"scopes",useSlot:!0},{prop:"effects_count",label:"效果数量",width:100,slot:"effects_count",useSlot:!0},{prop:"created_at",label:"创建时间",width:160},{prop:"actions",label:"操作",width:220,fixed:"right",slot:"actions",useSlot:!0}],I=()=>{return e=this,t=null,i=function*(){h.value=!0;try{const e={page:z.current,page_size:z.size,name:A.name||void 0,status:A.status},t=yield f.getList(e);S.value=Array.isArray(t.list)?t.list:[],z.total=t.total||0}catch(e){S.value=[]}finally{h.value=!1}},new Promise((o,s)=>{var l=e=>{try{a(i.next(e))}catch(t){s(t)}},r=e=>{try{a(i.throw(e))}catch(t){s(t)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,r);a((i=i.apply(e,t)).next())});var e,t,i},W=()=>{z.current=1,I()},$=()=>{A.name="",A.status=void 0,z.current=1,I()},O=e=>{z.current=e,I()},Y=e=>{z.size=e,z.current=1,I()},B=()=>{R.value=null,D.value=!0},L=e=>{R.value=e,E.value=!0};return o(I),(e,t)=>{const i=p,o=y,f=k;return l(),s("div",w,[r(o,{class:"quick-actions",shadow:"never"},{default:a(()=>[r(i,{type:"primary",onClick:B},{default:a(()=>[...t[5]||(t[5]=[n("新建称号",-1)])]),_:1})]),_:1}),r(d,{items:T,modelValue:A,onSearch:W,onReset:$},null,8,["modelValue"]),r(j,{columns:V,"onUpdate:columns":t[0]||(t[0]=e=>V=e),loading:h.value,onRefresh:I},null,8,["loading"]),r(v,{loading:h.value,columns:V,data:S.value,pagination:z,onPageChange:O,onSizeChange:Y,"empty-text":"暂无数据"},{status:a(({row:e})=>[r(f,{type:1===e.status?"success":"danger"},{default:a(()=>[n(u(1===e.status?"启用":"停用"),1)]),_:2},1032,["type"])]),obtain_rules:a(({row:e})=>[r(i,{type:"text",size:"small",onClick:t=>(e=>{c.info("获得规则: "+(e.obtain_rules_json||"{}"))})(e)},{default:a(()=>[...t[6]||(t[6]=[n("查看规则",-1)])]),_:1},8,["onClick"])]),scopes:a(({row:e})=>[r(i,{type:"text",size:"small",onClick:t=>(e=>{c.info("适用范围: "+(e.scopes_json||"{}"))})(e)},{default:a(()=>[...t[7]||(t[7]=[n("查看范围",-1)])]),_:1},8,["onClick"])]),effects_count:a(({row:e})=>[r(i,{type:"text",size:"small",onClick:t=>L(e)},{default:a(()=>[n(u(e.effects_count||0)+" 个效果 ",1)]),_:2},1032,["onClick"])]),actions:a(({row:e})=>[m("div",C,[r(i,{link:"",type:"primary",onClick:t=>(e=>{R.value=e,D.value=!0})(e)},{default:a(()=>[...t[8]||(t[8]=[n("编辑",-1)])]),_:1},8,["onClick"]),r(i,{link:"",type:"success",onClick:t=>L(e)},{default:a(()=>[...t[9]||(t[9]=[n("效果",-1)])]),_:1},8,["onClick"]),r(i,{link:"",type:"warning",onClick:t=>(e=>{R.value=e,U.value=!0})(e)},{default:a(()=>[...t[10]||(t[10]=[n("规则",-1)])]),_:1},8,["onClick"]),r(i,{link:"",type:"info",onClick:t=>(e=>{R.value=e,P.value=!0})(e)},{default:a(()=>[...t[11]||(t[11]=[n("分配",-1)])]),_:1},8,["onClick"])])]),_:1},8,["loading","data","pagination"]),r(b,{visible:D.value,"onUpdate:visible":t[1]||(t[1]=e=>D.value=e),title:R.value,onSuccess:I},null,8,["visible","title"]),r(x,{visible:E.value,"onUpdate:visible":t[2]||(t[2]=e=>E.value=e),title:R.value},null,8,["visible","title"]),r(_,{visible:U.value,"onUpdate:visible":t[3]||(t[3]=e=>U.value=e),title:R.value,onSuccess:I},null,8,["visible","title"]),r(g,{visible:P.value,"onUpdate:visible":t[4]||(t[4]=e=>P.value=e),title:R.value},null,8,["visible","title"])])}}}),[["__scopeId","data-v-a4a1a850"]]);export{S as default}; diff --git a/nginx/admin/assets/index-DgQmEjZp.css b/nginx/admin/assets/index-DgQmEjZp.css new file mode 100644 index 0000000..29398ae --- /dev/null +++ b/nginx/admin/assets/index-DgQmEjZp.css @@ -0,0 +1 @@ +.el-skeleton{--el-skeleton-color:var(--el-fill-color);--el-skeleton-to-color:var(--el-fill-color-darker)}@keyframes el-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{background:var(--el-skeleton-color);height:16px;margin-top:16px}.el-skeleton.is-animated .el-skeleton__item{animation:el-skeleton-loading 1.4s ease infinite;background:linear-gradient(90deg,var(--el-skeleton-color) 25%,var(--el-skeleton-to-color) 37%,var(--el-skeleton-color) 63%);background-size:400% 100%}.el-skeleton{--el-skeleton-circle-size:var(--el-avatar-size)}.el-skeleton__item{background:var(--el-skeleton-color);border-radius:var(--el-border-radius-base);display:inline-block;height:16px;width:100%}.el-skeleton__circle{border-radius:50%;height:var(--el-skeleton-circle-size);line-height:var(--el-skeleton-circle-size);width:var(--el-skeleton-circle-size)}.el-skeleton__button{border-radius:4px;height:40px;width:64px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{height:var(--el-font-size-small);width:100%}.el-skeleton__caption{height:var(--el-font-size-extra-small)}.el-skeleton__h1{height:var(--el-font-size-extra-large)}.el-skeleton__h3{height:var(--el-font-size-large)}.el-skeleton__h5{height:var(--el-font-size-medium)}.el-skeleton__image{align-items:center;border-radius:0;display:flex;justify-content:center;width:unset}.el-skeleton__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;height:22%;width:22%}.page[data-v-61b3d89d]{padding:12px}.mb-3[data-v-61b3d89d]{margin-bottom:12px} diff --git a/nginx/admin/assets/index-DkpT8YSW.js b/nginx/admin/assets/index-DkpT8YSW.js new file mode 100644 index 0000000..0c2cebb --- /dev/null +++ b/nginx/admin/assets/index-DkpT8YSW.js @@ -0,0 +1 @@ +var e=Object.defineProperty,l=Object.defineProperties,a=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,s=(l,a,t)=>a in l?e(l,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[a]=t,i=(e,l,a)=>new Promise((t,r)=>{var o=e=>{try{i(a.next(e))}catch(l){r(l)}},s=e=>{try{i(a.throw(e))}catch(l){r(l)}},i=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,s);i((a=a.apply(e,l)).next())});import{d as n,r as u,o as d,H as p,b as c,e as m,g as f,w as v,h as y,M as b,p as j,j as _,f as h,I as x,J as g,K as w,E as V,N as O,T as P}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{l as k,u as C}from"./configs-BgITfp3i.js";import{a as S,E}from"./index-BcfO0-fK.js";import{a as A,E as U}from"./index-DqTthkO7.js";import{E as J}from"./index-dBzz0k3i.js";import{E as N}from"./index-BaD29Izp.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-Bq8lawOo.js";const D={class:"art-full-height"},I={class:"flex items-center justify-between"},Y={class:"w-full"},H=n((K=((e,l)=>{for(var a in l||(l={}))r.call(l,a)&&s(e,a,l[a]);if(t)for(var a of t(l))o.call(l,a)&&s(e,a,l[a]);return e})({},{name:"Announcement"}),l(K,a({__name:"index",setup(e){const l=u("list"),a=u([]),t=u(""),r=u("");function o(){return i(this,null,function*(){var e;const o=yield k("app_notice",1,1),s=null==(e=null==o?void 0:o.list)?void 0:e[0];if(!s)return a.value=[],t.value="",void(r.value="");r.value=s.remark||"";try{const e=JSON.parse(s.value);if(Array.isArray(e))return l.value="list",a.value=e.map(e=>String(e)),void(t.value="");l.value="single",t.value=String(e),a.value=[]}catch(i){l.value="single",t.value=s.value||"",a.value=[]}})}function s(){return i(this,null,function*(){const e="list"===l.value?JSON.stringify(a.value.filter(e=>e&&e.trim())):t.value||"";yield C("app_notice",e,r.value||""),P.success("保存成功")})}function n(){a.value.push("")}return d(()=>{o()}),(e,i)=>{const u=V,d=U,P=A,k=E,C=w,H=J,K=S,M=N,Q=p("ripple");return m(),c("div",D,[f(M,{class:"art-table-card",shadow:"never"},{header:v(()=>[h("div",I,[i[5]||(i[5]=h("div",{class:"font-medium"},"系统公告配置",-1)),h("div",null,[O((m(),y(u,{onClick:o},{default:v(()=>[...i[3]||(i[3]=[_("从服务读取",-1)])]),_:1})),[[Q]]),O((m(),y(u,{type:"primary",onClick:s},{default:v(()=>[...i[4]||(i[4]=[_("保存公告",-1)])]),_:1})),[[Q]])])])]),default:v(()=>[f(K,{"label-width":"110px",class:"max-w-3xl"},{default:v(()=>[f(k,{label:"编辑模式"},{default:v(()=>[f(P,{modelValue:j(l),"onUpdate:modelValue":i[0]||(i[0]=e=>b(l)?l.value=e:null)},{default:v(()=>[f(d,{label:"list"},{default:v(()=>[...i[6]||(i[6]=[_("列表模式",-1)])]),_:1}),f(d,{label:"single"},{default:v(()=>[...i[7]||(i[7]=[_("单条模式",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),"list"===j(l)?(m(),y(k,{key:0,label:"公告列表"},{default:v(()=>[h("div",Y,[(m(!0),c(x,null,g(j(a),(e,l)=>(m(),c("div",{key:l,class:"flex items-center mb-2"},[f(C,{modelValue:j(a)[l],"onUpdate:modelValue":e=>j(a)[l]=e,placeholder:"请输入公告内容"},null,8,["modelValue","onUpdate:modelValue"]),f(u,{class:"ml-2",type:"danger",onClick:e=>function(e){a.value.splice(e,1)}(l)},{default:v(()=>[...i[8]||(i[8]=[_("删除",-1)])]),_:1},8,["onClick"])]))),128)),f(u,{type:"primary",onClick:n},{default:v(()=>[...i[9]||(i[9]=[_("新增一条",-1)])]),_:1})])]),_:1})):(m(),y(k,{key:1,label:"公告内容"},{default:v(()=>[f(C,{modelValue:j(t),"onUpdate:modelValue":i[1]||(i[1]=e=>b(t)?t.value=e:null),type:"textarea",rows:4,placeholder:"请输入公告内容"},null,8,["modelValue"])]),_:1})),f(k,{label:"备注"},{default:v(()=>[f(C,{modelValue:j(r),"onUpdate:modelValue":i[2]||(i[2]=e=>b(r)?r.value=e:null),placeholder:"备注(可选)"},null,8,["modelValue"])]),_:1}),f(H,{title:"存储规则",type:"info","show-icon":"",closable:!1,class:"mt-2",description:"系统以键 app_notice 存储公告;列表模式存为 JSON 数组,单条模式存为纯字符串。APP 端通过 /api/app/notices 读取。"})]),_:1})]),_:1})])}}}))));var K;export{H as default}; diff --git a/nginx/admin/assets/index-DotPmHvl.js b/nginx/admin/assets/index-DotPmHvl.js new file mode 100644 index 0000000..7594d3f --- /dev/null +++ b/nginx/admin/assets/index-DotPmHvl.js @@ -0,0 +1 @@ +import{d as e,r as a,b as s,e as l,g as t,i,w as r,f as o,K as d,P as n,E as p,j as c,v as u,I as m,J as v,T as j}from"./index-BoIUJTA2.js";import{E as f}from"./el-empty-CV-PB2A2.js";/* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{g as h}from"./adminActivities-Dgt25iR5.js";import{E as y}from"./index-BaD29Izp.js";import{E as _}from"./index-CXD7B41Z.js";import{E as b}from"./index-C_sVHlWz.js";import{E as x,a as w}from"./index-BjuMygln.js";import{E as g}from"./index-ZsMdSUVI.js";import{_ as k}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";const E={class:"activity-audit-container"},I={class:"search-box"},A={key:0,class:"audit-result mt-4"},P={class:"info-list"},O={class:"info-item"},V={class:"value"},z={class:"info-item"},C={class:"value"},D={class:"info-item"},K={class:"value code"},T={class:"info-item"},U={class:"value"},$={class:"board-grid"},J={class:"card-type"},L={class:"card-id"},N={key:1,class:"empty"},Q={class:"deck-list"},S={key:1,class:"empty-state mt-4"},Y=k(e({__name:"index",setup(e){const k=a(""),Y=a(!1),q=a(!1),B=a(null),F=()=>{return e=this,a=null,s=function*(){if(k.value){Y.value=!0,q.value=!0;try{const e=yield h(k.value);B.value=e,j.success("还原成功")}catch(e){B.value=null,j.error(e.message||"查询失败")}finally{Y.value=!1}}else j.warning("请输入订单号")},new Promise((l,t)=>{var i=e=>{try{o(s.next(e))}catch(a){t(a)}},r=e=>{try{o(s.throw(e))}catch(a){t(a)}},o=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);o((s=s.apply(e,a)).next())});var e,a,s};return(e,a)=>{const j=p,h=d,G=y,H=_,M=b,R=w,W=g,X=x,Z=f;return l(),s("div",E,[t(G,{class:"search-card"},{header:r(()=>[...a[1]||(a[1]=[o("div",{class:"card-header"},[o("span",null,"对对碰抽奖审计")],-1)])]),default:r(()=>[o("div",I,[t(h,{modelValue:k.value,"onUpdate:modelValue":a[0]||(a[0]=e=>k.value=e),placeholder:"请输入完整订单号",class:"order-input",onKeyup:n(F,["enter"])},{append:r(()=>[t(j,{type:"primary",loading:Y.value,onClick:F},{default:r(()=>[...a[2]||(a[2]=[c(" 查询审计数据 ",-1)])]),_:1},8,["loading"])]),_:1},8,["modelValue"])])]),_:1}),B.value?(l(),s("div",A,[t(M,{gutter:16},{default:r(()=>[t(H,{span:8},{default:r(()=>[t(G,{shadow:"never"},{header:r(()=>[...a[3]||(a[3]=[c("基本信息",-1)])]),default:r(()=>[o("div",P,[o("div",O,[a[4]||(a[4]=o("span",{class:"label"},"订单号:",-1)),o("span",V,u(k.value),1)]),o("div",z,[a[5]||(a[5]=o("span",{class:"label"},"用户ID:",-1)),o("span",C,u(B.value.user_id),1)]),o("div",D,[a[6]||(a[6]=o("span",{class:"label"},"随机快照哈希:",-1)),o("span",K,u(B.value.server_seed_hash),1)]),o("div",T,[a[7]||(a[7]=o("span",{class:"label"},"Nonce (步进):",-1)),o("span",U,u(B.value.nonce),1)])])]),_:1})]),_:1}),t(H,{span:16},{default:r(()=>[t(G,{shadow:"never"},{header:r(()=>[...a[8]||(a[8]=[c("初始发牌棋盘 (3x3)",-1)])]),default:r(()=>[o("div",$,[(l(!0),s(m,null,v(B.value.board,(e,a)=>(l(),s("div",{key:a,class:"board-cell"},[e?(l(),s(m,{key:0},[o("div",J,u(e.type),1),o("div",L,u(e.id),1)],64)):(l(),s("span",N,"空"))]))),128))])]),_:1})]),_:1})]),_:1}),t(G,{class:"mt-4",shadow:"never"},{header:r(()=>[...a[9]||(a[9]=[c("后续待发牌堆序列 (顺序由上至下)",-1)])]),default:r(()=>[o("div",Q,[t(X,{data:B.value.deck,size:"small",border:"",stripe:"",height:"500"},{default:r(()=>[t(R,{label:"序号",type:"index",width:"80",align:"center"}),t(R,{prop:"id",label:"实例ID",width:"180"}),t(R,{prop:"type",label:"卡牌类型",width:"150"},{default:r(({row:e})=>[t(W,null,{default:r(()=>[c(u(e.type),1)]),_:2},1024)]),_:1}),t(R,{label:"审计备注"},{default:r(({$index:e})=>[c(" 由种子还原的第 "+u(e+10)+" 张牌 ",1)]),_:1})]),_:1},8,["data"])])]),_:1})])):!Y.value&&q.value?(l(),s("div",S,[t(Z,{description:"未找到审计数据,请检查单号是否正确且属于对对碰玩法"})])):i("",!0)])}}}),[["__scopeId","data-v-295c750b"]]);export{Y as default}; diff --git a/nginx/admin/assets/index-Dp6_jxJi.js b/nginx/admin/assets/index-Dp6_jxJi.js new file mode 100644 index 0000000..0314e27 --- /dev/null +++ b/nginx/admin/assets/index-Dp6_jxJi.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,s=Object.getOwnPropertyDescriptors,n=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,l=(t,s,n)=>s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[s]=n,i=(e,t)=>{for(var s in t||(t={}))o.call(t,s)&&l(e,s,t[s]);if(n)for(var s of n(t))a.call(t,s)&&l(e,s,t[s]);return e},r=(e,n)=>t(e,s(n)),u=(e,t,s)=>new Promise((n,o)=>{var a=e=>{try{i(s.next(e))}catch(t){o(t)}},l=e=>{try{i(s.throw(e))}catch(t){o(t)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(a,l);i((s=s.apply(e,t)).next())});import{x as m,aX as c,eH as d,y as p,aK as h,eI as y,r as g,eJ as b,c as v,A as f,aU as w,eK as k,D as T,d as x,b as S,e as C,g as M,p as O,M as B,w as E,f as L,s as W,m as _,v as j,z as F,eL as D,b0 as R,I as V,J as K,q as A,i as N,aZ as H,N as P,aj as $,h as U,eM as I,E as q,j as z,T as G,eN as X,n as J,o as Q,aP as Z}from"./index-BoIUJTA2.js";/* empty css *//* empty css */import{E as Y}from"./index-B18-crhn.js";import{_ as ee}from"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{E as te}from"./index-rgHg98E6.js";import{E as se}from"./index-C_S0YbqD.js";import{E as ne,a as oe}from"./index-D2gD5Tn5.js";import{_ as ae}from"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css */import"./index-COyGylbk.js";import"./use-dialog-FwJ-QdmW.js";import"./iconify-DFoKediz.js";import"./index-BnK4BbY2.js";import"./index-BMeOzN3u.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";function le(){const e=m();return{initColorWeak:()=>{if(e.colorWeak){const e=document.getElementsByTagName("html")[0];setTimeout(()=>{e.classList.add("color-weak")},100)}},switchMenuLayouts:t=>{t!==c.LEFT&&t!==c.TOP_LEFT||e.setMenuOpen(!0),e.switchMenuLayouts(t),t===c.DUAL_MENU&&(e.switchMenuStyles(d.DESIGN),e.setMenuOpen(!0))}}}function ie(){const e=m(),t={setHtmlClass:(e,t)=>{const s=document.getElementsByTagName("html")[0];t?s.classList.add(e):s.classList.remove(e)},setRootAttribute:(e,t)=>{document.documentElement.setAttribute(e,t)},setBodyClass:(e,t)=>{const s=document.getElementsByTagName("body")[0];t?s.classList.add(e):s.classList.remove(e)}},s=(e,t)=>()=>{e(),null==t||t()},n=(e,t)=>s=>{null!=s&&(e(s),null==t||t(s))},o={workTab:s(()=>e.setWorkTab(!e.showWorkTab)),uniqueOpened:s(()=>e.setUniqueOpened()),menuButton:s(()=>e.setButton()),fastEnter:s(()=>e.setFastEnter()),refreshButton:s(()=>e.setShowRefreshButton()),crumbs:s(()=>e.setCrumbs()),language:s(()=>e.setLanguage()),nprogress:s(()=>e.setNprogress()),colorWeak:s(()=>e.setColorWeak(),()=>{t.setHtmlClass("color-weak",e.colorWeak)}),watermark:s(()=>e.setWatermarkVisible(!e.watermarkVisible)),menuOpenWidth:n(t=>e.setMenuOpenWidth(t)),tabStyle:n(t=>e.setTabStyle(t)),pageTransition:n(t=>e.setPageTransition(t)),customRadius:n(t=>e.setCustomRadius(t))},a={setBoxMode:s=>{const{boxBorderMode:n}=p(e);"shadow-mode"===s&&!1===n.value||"border-mode"===s&&!0===n.value||setTimeout(()=>{t.setRootAttribute("data-box-mode",s),e.setBorderMode()},50)}};return{domOperations:t,basicHandlers:o,boxStyleHandlers:a,colorHandlers:{selectColor:t=>{e.setElementTheme(t),e.reload()}},containerHandlers:{setWidth:t=>{e.setContainerWidth(t),e.reload()}},createToggleHandler:s,createValueHandler:n}}const re={class:"setting-drawer"},ue={class:"drawer-con"},me=x({__name:"SettingDrawer",props:{modelValue:{type:Boolean}},emits:["update:modelValue","open","close"],setup(e,{emit:t}){const s=e,n=t,o=v({get:()=>s.modelValue,set:e=>n("update:modelValue",e)}),a=()=>{n("open")},l=()=>{n("close")},i=()=>{o.value=!1};return(e,t)=>{const s=Y;return C(),S("div",re,[M(s,{size:"300px",modelValue:O(o),"onUpdate:modelValue":t[0]||(t[0]=e=>B(o)?o.value=e:null),"lock-scroll":!0,"with-header":!1,"before-close":i,"destroy-on-close":!1,"modal-class":"setting-modal",onOpen:a,onClose:l},{default:E(()=>[L("div",ue,[W(e.$slots,"default")])]),_:3},8,["modelValue"])])}}}),ce={class:"flex justify-end"},de=x({__name:"SettingHeader",emits:["close"],setup:e=>(e,t)=>{const s=ee;return C(),S("div",null,[L("div",ce,[L("div",{onClick:t[0]||(t[0]=t=>e.$emit("close")),class:"flex-cc c-p size-7.5 !transition-all duration-200 rounded hover:bg-g-300/80"},[M(s,{icon:"ri:close-fill",class:"block text-xl text-g-600"})])])])}}),pe=x({__name:"SectionTitle",props:{title:{},style:{}},setup:e=>(t,s)=>(C(),S("p",{class:"relative mt-7.5 mb-5.5 text-sm text-center text-g-800 before:absolute before:top-[10px] before:left-0 before:w-[50px] before:m-auto before:content-[''] before:border-b before:border-[var(--art-gray-300)] after:absolute after:top-[10px] after:right-0 after:w-[50px] after:m-auto after:content-[''] after:border-b after:border-g-300",style:_(e.style)},j(e.title),5))});function he(){const{t:e}=F(),t=v(()=>[{value:"tab-default",label:e("setting.tabStyle.default")},{value:"tab-card",label:e("setting.tabStyle.card")},{value:"tab-google",label:e("setting.tabStyle.google")}]),s=v(()=>[{value:"",label:e("setting.transition.list.none")},{value:"fade",label:e("setting.transition.list.fade")},{value:"slide-left",label:e("setting.transition.list.slideLeft")},{value:"slide-bottom",label:e("setting.transition.list.slideBottom")},{value:"slide-top",label:e("setting.transition.list.slideTop")}]),l=[{value:"0",label:"0"},{value:"0.25",label:"0.25"},{value:"0.5",label:"0.5"},{value:"0.75",label:"0.75"},{value:"1",label:"1"}],i=v(()=>[{value:D.FULL,label:e("setting.container.list[0]"),icon:"icon-park-outline:auto-width"},{value:D.BOXED,label:e("setting.container.list[1]"),icon:"ix:width"}]),r=v(()=>[{value:"border-mode",label:e("setting.box.list[0]"),type:"border-mode"},{value:"shadow-mode",label:e("setting.box.list[1]"),type:"shadow-mode"}]),u={mainColors:T.systemMainColor,themeList:T.settingThemeList,menuLayoutList:T.menuLayoutList},m=v(()=>[{key:"showWorkTab",label:e("setting.basics.list.multiTab"),type:"switch",handler:"workTab",headerBarKey:null},{key:"uniqueOpened",label:e("setting.basics.list.accordion"),type:"switch",handler:"uniqueOpened",headerBarKey:null},{key:"showMenuButton",label:e("setting.basics.list.collapseSidebar"),type:"switch",handler:"menuButton",headerBarKey:"menuButton"},{key:"showFastEnter",label:e("setting.basics.list.fastEnter"),type:"switch",handler:"fastEnter",headerBarKey:"fastEnter"},{key:"showRefreshButton",label:e("setting.basics.list.reloadPage"),type:"switch",handler:"refreshButton",headerBarKey:"refreshButton"},{key:"showCrumbs",label:e("setting.basics.list.breadcrumb"),type:"switch",handler:"crumbs",mobileHide:!0,headerBarKey:"breadcrumb"},{key:"showLanguage",label:e("setting.basics.list.language"),type:"switch",handler:"language",headerBarKey:"language"},{key:"showNprogress",label:e("setting.basics.list.progressBar"),type:"switch",handler:"nprogress",headerBarKey:null},{key:"colorWeak",label:e("setting.basics.list.weakMode"),type:"switch",handler:"colorWeak",headerBarKey:null},{key:"watermarkVisible",label:e("setting.basics.list.watermark"),type:"switch",handler:"watermark",headerBarKey:null},{key:"menuOpenWidth",label:e("setting.basics.list.menuWidth"),type:"input-number",handler:"menuOpenWidth",min:180,max:320,step:10,style:{width:"120px"},controlsPosition:"right",headerBarKey:null},{key:"tabStyle",label:e("setting.basics.list.tabStyle"),type:"select",handler:"tabStyle",options:t.value,style:{width:"120px"},headerBarKey:null},{key:"pageTransition",label:e("setting.basics.list.pageTransition"),type:"select",handler:"pageTransition",options:s.value,style:{width:"120px"},headerBarKey:null},{key:"customRadius",label:e("setting.basics.list.borderRadius"),type:"select",handler:"customRadius",options:l,style:{width:"120px"},headerBarKey:null}].filter(e=>{if(null===e.headerBarKey)return!0;const t=R[e.headerBarKey];return!1!==(null==t?void 0:t.enabled)}).map(e=>{var t=e,{headerBarKey:s}=t;return((e,t)=>{var s={};for(var l in e)o.call(e,l)&&t.indexOf(l)<0&&(s[l]=e[l]);if(null!=e&&n)for(var l of n(e))t.indexOf(l)<0&&a.call(e,l)&&(s[l]=e[l]);return s})(t,["headerBarKey"])}));return{tabStyleOptions:t,pageTransitionOptions:s,customRadiusOptions:l,containerWidthOptions:i,boxStyleOptions:r,configOptions:u,basicSettingsConfig:m}}const ye={class:"setting-box-wrap"},ge=["onClick"],be=["src"],ve={class:"name"},fe=x({__name:"ThemeSettings",setup(e){const t=m(),{systemThemeMode:s}=p(t),{configOptions:n}=he(),{switchThemeStyles:o}=y();return(e,t)=>(C(),S(V,null,[M(pe,{title:e.$t("setting.theme.title")},null,8,["title"]),L("div",ye,[(C(!0),S(V,null,K(O(n).themeList,(t,n)=>(C(),S("div",{class:"setting-item",key:t.theme,onClick:e=>O(o)(t.theme)},[L("div",{class:A(["box",{"is-active":t.theme===O(s)}])},[L("img",{src:t.img},null,8,be)],2),L("p",ve,j(e.$t(`setting.theme.list[${n}]`)),1)],8,ge))),128))])],64))}}),we={key:0},ke={class:"setting-box-wrap"},Te=["onClick"],xe=["src"],Se={class:"name"},Ce=x({__name:"MenuLayoutSettings",setup(e){const{width:t}=H(),s=m(),{menuType:n}=p(s),{configOptions:o}=he(),{switchMenuLayouts:a}=le();return(e,s)=>O(t)>1e3?(C(),S("div",we,[M(pe,{title:e.$t("setting.menuType.title")},null,8,["title"]),L("div",ke,[(C(!0),S(V,null,K(O(o).menuLayoutList,(t,s)=>(C(),S("div",{class:"setting-item",key:t.value,onClick:e=>O(a)(t.value)},[L("div",{class:A(["box",{"is-active":t.value===O(n),"mt-16":s>2}])},[L("img",{src:t.img},null,8,xe)],2),L("p",Se,j(e.$t(`setting.menuType.list[${s}]`)),1)],8,Te))),128))])])):N("",!0)}}),Me={class:"setting-box-wrap"},Oe=["onClick"],Be=["src"],Ee=x({__name:"MenuStyleSettings",setup(e){const t=T.themeList,s=m(),{menuThemeType:n,menuType:o,isDark:a}=p(s),l=v(()=>o.value===c.TOP),i=v(()=>o.value===c.DUAL_MENU),r=v(()=>l.value||i.value||a.value);return(e,o)=>(C(),S(V,null,[M(pe,{title:e.$t("setting.menu.title")},null,8,["title"]),L("div",Me,[(C(!0),S(V,null,K(O(t),e=>(C(),S("div",{class:"setting-item",key:e.theme,onClick:t=>{return n=e.theme,void(i.value||l.value||a.value||s.switchMenuStyles(n));var n}},[L("div",{class:A(["box",{"is-active":e.theme===O(n)}]),style:_({cursor:O(r)?"no-drop":"pointer"})},[L("img",{src:e.img},null,8,Be)],6)],8,Oe))),128))])],64))}}),Le={class:"-mr-4"},We={class:"flex flex-wrap"},_e=["onClick"],je=x({__name:"ColorSettings",setup(e){const t=m(),{systemThemeColor:s}=p(t),{configOptions:n}=he(),{colorHandlers:o}=ie();return(e,t)=>{const a=ee;return C(),S("div",null,[M(pe,{title:e.$t("setting.color.title"),class:"mt-10"},null,8,["title"]),L("div",Le,[L("div",We,[(C(!0),S(V,null,K(O(n).mainColors,e=>(C(),S("div",{key:e,class:"flex items-center justify-center size-[23px] mr-4 mb-2.5 cursor-pointer rounded-full transition-all duration-200 hover:opacity-85",style:_({background:`${e} !important`}),onClick:t=>O(o).selectColor(e)},[P(M(a,{icon:"ri:check-fill",class:"text-base !text-white"},null,512),[[$,e===O(s)]])],12,_e))),128))])])])}}}),Fe={class:"box-border flex-cb p-1 mt-5 rounded-lg bg-g-200"},De=["onClick"],Re=x({__name:"BoxStyleSettings",setup(e){const t=m(),{boxBorderMode:s}=p(t),{boxStyleOptions:n}=he(),{boxStyleHandlers:o}=ie();return(e,t)=>(C(),S("div",null,[M(pe,{title:e.$t("setting.box.title"),class:"mt-10"},null,8,["title"]),L("div",Fe,[(C(!0),S(V,null,K(O(n),e=>{return C(),S("div",{key:e.value,class:A(["w-[calc(50%-3px)] h-8.5 leading-8.5 text-sm text-center c-p select-none rounded-md transition-all duration-200",(t=e.type,("border-mode"===t?s.value:!s.value)?"text-g-800 bg-[var(--default-box-color)] dark:!text-white dark:bg-g-300":"hover:text-g-800 hover:bg-black/[0.04] dark:hover:bg-black/20")]),onClick:t=>O(o).setBoxMode(e.type)},j(e.label),11,De);var t}),128))])]))}}),Ve={class:"flex"},Ke=["onClick"],Ae={class:"text-sm"},Ne=x({__name:"ContainerSettings",setup(e){const t=m(),{containerWidth:s}=p(t),{containerWidthOptions:n}=he(),{containerHandlers:o}=ie();return(e,t)=>{const a=ee;return C(),S("div",null,[M(pe,{title:e.$t("setting.container.title"),class:"mt-12.5"},null,8,["title"]),L("div",Ve,[(C(!0),S(V,null,K(O(n),e=>(C(),S("div",{key:e.value,class:A(["flex-cc flex-1 h-16 mt-5 mr-3.5 mb-3.5 cursor-pointer !border-2 rounded-lg !text-g-800 last:mr-0",{"border-theme [&_i]:!text-theme":O(s)===e.value,"border-full-d":O(s)!==e.value}]),onClick:t=>O(o).setWidth(e.value)},[M(a,{icon:e.icon,class:"mr-2 text-lg"},null,8,["icon"]),L("span",Ae,j(e.label),1)],10,Ke))),128))])])}}}),He={class:"text-sm"},Pe=ae(x({__name:"SettingItem",props:{config:{},modelValue:{}},emits:["change"],setup(e,{emit:t}){const s=e,n=t,o=v(()=>{if(!s.config.options)return[];try{return"object"==typeof s.config.options&&"value"in s.config.options?s.config.options.value||[]:Array.isArray(s.config.options)?s.config.options:[]}catch(e){return[]}}),a=e=>{try{n("change",e)}catch(t){}};return(t,s)=>{const n=te,l=se,i=oe,r=ne;return C(),S("div",{class:A(["flex-cb mb-4 last:mb-2",{"mobile-hide":e.config.mobileHide}])},[L("span",He,j(e.config.label),1),"switch"===e.config.type?(C(),U(n,{key:0,"model-value":e.modelValue,onChange:a},null,8,["model-value"])):"input-number"===e.config.type?(C(),U(l,{key:1,"model-value":e.modelValue,min:e.config.min,max:e.config.max,step:e.config.step,style:_(e.config.style),"controls-position":e.config.controlsPosition,onChange:a},null,8,["model-value","min","max","step","style","controls-position"])):"select"===e.config.type?(C(),U(r,{key:2,"model-value":e.modelValue,style:_(e.config.style),onChange:a},{default:E(()=>[(C(!0),S(V,null,K(O(o),e=>(C(),U(i,{key:e.value,label:e.label,value:e.value},null,8,["label","value"]))),128))]),_:1},8,["model-value","style"])):N("",!0)],2)}}}),[["__scopeId","data-v-7f5d57a9"]]),$e=x({__name:"BasicSettings",setup(e){const t=m(),{basicSettingsConfig:s}=he(),{basicHandlers:n}=ie(),{uniqueOpened:o,showMenuButton:a,showFastEnter:l,showRefreshButton:i,showCrumbs:r,showWorkTab:u,showLanguage:c,showNprogress:d,colorWeak:h,watermarkVisible:y,menuOpenWidth:g,tabStyle:b,pageTransition:v,customRadius:f}=p(t),w={uniqueOpened:o,showMenuButton:a,showFastEnter:l,showRefreshButton:i,showCrumbs:r,showWorkTab:u,showLanguage:c,showNprogress:d,colorWeak:h,watermarkVisible:y,menuOpenWidth:g,tabStyle:b,pageTransition:v,customRadius:f},k=e=>{var t;const s=w[e];return null!=(t=null==s?void 0:s.value)?t:null};return(e,t)=>(C(),S("div",null,[M(pe,{title:e.$t("setting.basics.title"),class:"mt-10"},null,8,["title"]),(C(!0),S(V,null,K(O(s),e=>(C(),U(Pe,{key:e.key,config:e,"model-value":k(e.key),onChange:t=>((e,t)=>{const s=n[e];"function"==typeof s&&s(t)})(e.handler,t)},null,8,["config","model-value","onChange"]))),128))]))}}),Ue={class:"mt-10 flex gap-8 border-t border-[var(--default-border)] bg-[var(--art-bg-color)] pt-5"},Ie=x(r(i({},{name:"SettingActions"}),{__name:"SettingActions",setup(e){const{t:t}=F(),s=m(),{copy:n,copied:o}=I(),{switchThemeStyles:a}=y(),l={menuType:{left:"MenuTypeEnum.LEFT",top:"MenuTypeEnum.TOP","top-left":"MenuTypeEnum.TOP_LEFT","dual-menu":"MenuTypeEnum.DUAL_MENU"},systemTheme:{auto:"SystemThemeEnum.AUTO",light:"SystemThemeEnum.LIGHT",dark:"SystemThemeEnum.DARK"},menuTheme:{design:"MenuThemeEnum.DESIGN",light:"MenuThemeEnum.LIGHT",dark:"MenuThemeEnum.DARK"},containerWidth:{"100%":"ContainerWidthEnum.FULL","1200px":"ContainerWidthEnum.BOXED"}},i=[{comment:"菜单类型",key:"menuType",enumMap:l.menuType},{comment:"菜单展开宽度",key:"menuOpenWidth"},{comment:"菜单是否展开",key:"menuOpen"},{comment:"双菜单是否显示文本",key:"dualMenuShowText"},{comment:"系统主题类型",key:"systemThemeType",enumMap:l.systemTheme},{comment:"系统主题模式",key:"systemThemeMode",enumMap:l.systemTheme},{comment:"菜单风格",key:"menuThemeType",enumMap:l.menuTheme},{comment:"系统主题颜色",key:"systemThemeColor"},{comment:"是否显示菜单按钮",key:"showMenuButton"},{comment:"是否显示快速入口",key:"showFastEnter"},{comment:"是否显示刷新按钮",key:"showRefreshButton"},{comment:"是否显示面包屑",key:"showCrumbs"},{comment:"是否显示工作台标签",key:"showWorkTab"},{comment:"是否显示语言切换",key:"showLanguage"},{comment:"是否显示进度条",key:"showNprogress"},{comment:"是否显示设置引导",key:"showSettingGuide"},{comment:"是否显示节日文本",key:"showFestivalText"},{comment:"是否显示水印",key:"watermarkVisible"},{comment:"是否自动关闭",key:"autoClose"},{comment:"是否唯一展开",key:"uniqueOpened"},{comment:"是否色弱模式",key:"colorWeak"},{comment:"是否刷新",key:"refresh"},{comment:"是否加载节日烟花",key:"holidayFireworksLoaded"},{comment:"边框模式",key:"boxBorderMode"},{comment:"页面过渡效果",key:"pageTransition"},{comment:"标签页样式",key:"tabStyle"},{comment:"自定义圆角",key:"customRadius"},{comment:"容器宽度",key:"containerWidth",enumMap:l.containerWidth},{comment:"节日日期",key:"festivalDate",forceValue:""}],r=()=>{const e=["export const SETTING_DEFAULT_CONFIG = {"];return i.forEach(t=>{e.push(` /** ${t.comment} */`);const n=void 0!==t.forceValue?t.forceValue:s[t.key];e.push(` ${String(t.key)}: ${((e,t)=>null===e?"null":void 0===e?"undefined":t&&"string"==typeof e&&t[e]?t[e]:"string"==typeof e?`'${e}'`:"boolean"==typeof e||"number"==typeof e?String(e):JSON.stringify(e))(n,t.enumMap)},`)}),e.push("}"),e.join("\n")},c=()=>u(this,null,function*(){try{const e=r();yield n(e),o.value&&G.success({message:t("setting.actions.copySuccess"),duration:3e3})}catch(e){G.error(t("setting.actions.copyFailed"))}}),p=(e,t,s)=>{e!==t&&s()},h=()=>u(this,null,function*(){try{const e=X;s.switchMenuLayouts(e.menuType),s.setMenuOpenWidth(e.menuOpenWidth),s.setMenuOpen(e.menuOpen),s.setDualMenuShowText(e.dualMenuShowText),a(e.systemThemeMode),yield J();const t=s.isDark?d.DARK:e.menuThemeType;s.switchMenuStyles(t),s.setElementTheme(e.systemThemeColor),p(s.showMenuButton,e.showMenuButton,()=>s.setButton()),p(s.showFastEnter,e.showFastEnter,()=>s.setFastEnter()),p(s.showRefreshButton,e.showRefreshButton,()=>s.setShowRefreshButton()),p(s.showCrumbs,e.showCrumbs,()=>s.setCrumbs()),p(s.showLanguage,e.showLanguage,()=>s.setLanguage()),p(s.showNprogress,e.showNprogress,()=>s.setNprogress()),s.setWorkTab(e.showWorkTab),s.setShowFestivalText(e.showFestivalText),s.setWatermarkVisible(e.watermarkVisible),p(s.autoClose,e.autoClose,()=>s.setAutoClose()),p(s.uniqueOpened,e.uniqueOpened,()=>s.setUniqueOpened()),p(s.colorWeak,e.colorWeak,()=>s.setColorWeak()),p(s.boxBorderMode,e.boxBorderMode,()=>s.setBorderMode()),s.setPageTransition(e.pageTransition),s.setTabStyle(e.tabStyle),s.setCustomRadius(e.customRadius),s.setContainerWidth(e.containerWidth),s.setFestivalDate(e.festivalDate),s.setholidayFireworksLoaded(e.holidayFireworksLoaded),location.reload()}catch(e){G.error(t("setting.actions.resetFailed"))}});return(e,t)=>{const s=q;return C(),S("div",Ue,[M(s,{type:"primary",class:"flex-1 !h-8",onClick:c},{default:E(()=>[z(j(e.$t("setting.actions.copyConfig")),1)]),_:1}),M(s,{type:"danger",plain:"",class:"flex-1 !h-8",onClick:h},{default:E(()=>[z(j(e.$t("setting.actions.resetConfig")),1)]),_:1})])}}})),qe={class:"layout-settings"},ze=x(r(i({},{name:"ArtSettingsPanel"}),{__name:"index",props:{open:{type:Boolean}},setup(e){const t=e,s=function(){const e=m(),{systemThemeType:t,systemThemeMode:s,menuType:n}=p(e),{openFestival:o,cleanup:a}=h(),{setSystemTheme:l,setSystemAutoTheme:i}=y(),{initColorWeak:r}=le(),{domOperations:u}=ie(),d=g(!1),x=b({tablet:1e3}).smaller("tablet"),S=g(),C=g(!1),M=v(()=>e.systemThemeColor),O=()=>{const n=()=>{s.value===k.AUTO?i():l(t.value)};return{initSystemColor:()=>{T.systemMainColor.includes(M.value)||(e.setElementTheme(T.systemMainColor[0]),e.reload())},initSystemTheme:n,listenerSystemTheme:()=>{const e=window.matchMedia("(prefers-color-scheme: dark)");return e.addEventListener("change",n),()=>{e.removeEventListener("change",n)}}}},B=()=>({stopWatch:f(x,t=>{t?C.value||(S.value=n.value,le().switchMenuLayouts(c.LEFT),e.setMenuOpen(!1),C.value=!0):C.value&&S.value&&(le().switchMenuLayouts(S.value),e.setMenuOpen(!0),C.value=!1)},{immediate:!0})}),E=()=>({handleOpen:()=>{setTimeout(()=>{u.setBodyClass("theme-change",!0)},500)},handleClose:()=>{u.setBodyClass("theme-change",!1)},openSetting:()=>{d.value=!0},closeDrawer:()=>{d.value=!1}});return{showDrawer:d,useThemeHandlers:O,useResponsiveLayout:B,useDrawerControl:E,usePropsWatcher:e=>{f(()=>e.open,e=>{void 0!==e&&(d.value=e)})},useSettingsInitializer:()=>{const t=O(),{openSetting:s}=E(),{stopWatch:n}=B();let l=null;return{initializeSettings:()=>{w.on("openSetting",s),t.initSystemColor(),l=t.listenerSystemTheme(),r();const n=e.boxBorderMode?"border-mode":"shadow-mode";u.setRootAttribute("data-box-mode",n),t.initSystemTheme(),o()},cleanupSettings:()=>{n(),null==l||l(),a()}}}}}(),{showDrawer:n}=s,{handleOpen:o,handleClose:a,closeDrawer:l}=s.useDrawerControl(),{initializeSettings:i,cleanupSettings:r}=s.useSettingsInitializer();return s.usePropsWatcher(t),Q(()=>{i()}),Z(()=>{r()}),(e,t)=>(C(),S("div",qe,[M(me,{modelValue:O(n),"onUpdate:modelValue":t[0]||(t[0]=e=>B(n)?n.value=e:null),onOpen:O(o),onClose:O(a)},{default:E(()=>[M(de,{onClose:O(l)},null,8,["onClose"]),M(fe),M(Ce),M(Ee),M(je),M(Re),M(Ne),M($e),M(Ie)]),_:1},8,["modelValue","onOpen","onClose"])]))}}));export{ze as default}; diff --git a/nginx/admin/assets/index-Dp6_jxJi.js.gz b/nginx/admin/assets/index-Dp6_jxJi.js.gz new file mode 100644 index 0000000..fa811ef Binary files /dev/null and b/nginx/admin/assets/index-Dp6_jxJi.js.gz differ diff --git a/nginx/admin/assets/index-DpD665hi.css b/nginx/admin/assets/index-DpD665hi.css new file mode 100644 index 0000000..1c27dd6 --- /dev/null +++ b/nginx/admin/assets/index-DpD665hi.css @@ -0,0 +1 @@ +.wizard-header[data-v-6386fe23]{text-align:center;margin-bottom:40px}.wizard-header .header-content[data-v-6386fe23]{background:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:8px;padding:32px;box-shadow:var(--el-box-shadow-light)}.wizard-header .page-title[data-v-6386fe23]{font-size:28px;font-weight:600;color:var(--el-text-color-primary);margin:0 0 12px}.wizard-header .page-description[data-v-6386fe23]{font-size:16px;color:var(--el-text-color-regular);margin:0}.wizard-steps[data-v-6386fe23]{margin-bottom:40px;padding:0 20px}.wizard-content[data-v-6386fe23]{margin-bottom:40px}.wizard-content .content-card[data-v-6386fe23]{border-radius:8px;box-shadow:var(--el-box-shadow-light)}.wizard-content .step-content-area[data-v-6386fe23]{padding:32px}.wizard-content .section-header[data-v-6386fe23]{margin-bottom:32px;text-align:center}.wizard-content .section-header .section-title[data-v-6386fe23]{font-size:24px;font-weight:600;color:var(--el-text-color-primary);margin:0 0 8px}.wizard-content .section-header .section-description[data-v-6386fe23]{font-size:14px;color:var(--el-text-color-regular);margin:0}.wizard-content .activity-form[data-v-6386fe23],.wizard-content .issue-form[data-v-6386fe23]{max-width:none;width:100%}.wizard-content .form-section[data-v-6386fe23]{background:var(--el-fill-color-lighter);padding:24px;border-radius:8px;margin-bottom:24px;border:1px solid var(--el-border-color)}.wizard-content .form-section[data-v-6386fe23] .el-form-item{margin-bottom:16px}.wizard-content .media-section[data-v-6386fe23]{display:flex;flex-direction:column;gap:8px;align-items:stretch}.wizard-content .time-range-picker[data-v-6386fe23]{display:flex;align-items:center;gap:12px}.wizard-content .time-range-picker .time-separator[data-v-6386fe23]{color:var(--el-text-color-regular);font-size:14px}.wizard-content .full-width[data-v-6386fe23]{width:100%}.wizard-content .activity-preview[data-v-6386fe23]{background:var(--el-fill-color-lighter);padding:16px;border-radius:6px}.wizard-content .activity-preview .preview-item[data-v-6386fe23]{display:flex;align-items:center;margin-bottom:8px}.wizard-content .activity-preview .preview-item[data-v-6386fe23]:last-child{margin-bottom:0}.wizard-content .activity-preview .preview-item .preview-label[data-v-6386fe23]{font-weight:500;color:var(--el-text-color-primary);margin-right:8px;min-width:80px}.wizard-content .activity-preview .preview-item .preview-value[data-v-6386fe23]{color:var(--el-text-color-regular);flex:1}.wizard-content .rewards-toolbar[data-v-6386fe23]{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding:16px;background:var(--el-fill-color-lighter);border-radius:8px}.wizard-content .rewards-toolbar .reward-stats[data-v-6386fe23]{margin-left:auto;display:flex;align-items:center;gap:16px;background:var(--el-color-primary-light-9);padding:8px 16px;border-radius:6px;border:1px solid var(--el-color-primary-light-5)}.wizard-content .rewards-toolbar .reward-stats .stat-item[data-v-6386fe23]{font-size:14px;color:var(--el-text-color-regular);font-weight:500}.wizard-content .rewards-toolbar .reward-stats .stat-item.ml-4[data-v-6386fe23]{margin-left:16px}.wizard-content .rewards-toolbar .reward-stats .stat-item.price-value[data-v-6386fe23]{color:var(--el-color-primary);font-weight:600}.wizard-content .rewards-grid[data-v-6386fe23]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.wizard-content .rewards-grid .reward-card[data-v-6386fe23]{background:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:8px;padding:20px;transition:all .3s ease}.wizard-content .rewards-grid .reward-card[data-v-6386fe23]:hover{box-shadow:var(--el-box-shadow);transform:translateY(-2px)}.wizard-content .rewards-grid .reward-card .reward-header[data-v-6386fe23]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.wizard-content .rewards-grid .reward-card .reward-header .reward-title[data-v-6386fe23]{font-size:16px;font-weight:600;color:var(--el-text-color-primary);margin:0}.wizard-content .rewards-grid .reward-card .reward-header .reward-actions[data-v-6386fe23]{display:flex;gap:8px}.wizard-content .rewards-grid .reward-card .reward-properties .property-item[data-v-6386fe23]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.wizard-content .rewards-grid .reward-card .reward-properties .property-item[data-v-6386fe23]:last-child{margin-bottom:0}.wizard-content .rewards-grid .reward-card .reward-properties .property-item .property-label[data-v-6386fe23]{font-size:14px;color:var(--el-text-color-regular);font-weight:500}.wizard-content .rewards-grid .reward-card .reward-properties .property-item .property-value[data-v-6386fe23]{font-size:14px;color:var(--el-text-color-primary);font-weight:600}.wizard-content .empty-rewards[data-v-6386fe23]{text-align:center;padding:60px 20px}.wizard-content .empty-rewards .empty-icon[data-v-6386fe23]{font-size:64px;color:var(--el-text-color-placeholder);margin-bottom:16px}.wizard-content .empty-rewards .empty-text[data-v-6386fe23]{font-size:16px;color:var(--el-text-color-regular)}.wizard-content .empty-rewards .empty-stats[data-v-6386fe23]{margin-top:16px;font-size:14px;color:var(--el-color-primary);font-weight:600;background:var(--el-color-primary-light-9);padding:8px 16px;border-radius:6px;border:1px solid var(--el-color-primary-light-5);display:inline-block}.wizard-footer[data-v-6386fe23]{background:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:8px;padding:24px;box-shadow:var(--el-box-shadow-light)}.wizard-footer .footer-content[data-v-6386fe23]{display:flex;justify-content:space-between;align-items:center}.wizard-footer .footer-content .footer-info[data-v-6386fe23]{display:flex;align-items:center;gap:8px;color:var(--el-text-color-regular);font-size:14px}.wizard-footer .footer-content .footer-info .el-icon[data-v-6386fe23]{color:var(--el-color-primary)}.form-tip[data-v-6386fe23]{font-size:12px;color:var(--el-text-color-secondary);margin-top:4px}.price-value[data-v-6386fe23]{transition:all .3s ease;display:inline-block}.price-update-animation[data-v-6386fe23]{animation:priceFlash-6386fe23 .5s ease-in-out}@keyframes priceFlash-6386fe23{0%{transform:scale(1);color:var(--el-text-color-regular)}25%{transform:scale(1.05);color:var(--el-color-success);font-weight:600}50%{transform:scale(1.1);color:var(--el-color-success);font-weight:700}75%{transform:scale(1.05);color:var(--el-color-success);font-weight:600}to{transform:scale(1);color:var(--el-text-color-regular)}}@media (max-width: 768px){.wizard-header .header-content[data-v-6386fe23],.wizard-content .step-content-area[data-v-6386fe23]{padding:24px}.form-layout .el-row[data-v-6386fe23]{margin:0}.wizard-footer .footer-content[data-v-6386fe23]{flex-direction:column;gap:16px}.rewards-grid[data-v-6386fe23]{grid-template-columns:1fr}.form-row[data-v-6386fe23]{flex-direction:column;gap:16px}} diff --git a/nginx/admin/assets/index-DpfIyoxx.js b/nginx/admin/assets/index-DpfIyoxx.js new file mode 100644 index 0000000..273c0b2 --- /dev/null +++ b/nginx/admin/assets/index-DpfIyoxx.js @@ -0,0 +1 @@ +var e=Object.defineProperty,l=Object.defineProperties,t=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,n=(l,t,a)=>t in l?e(l,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):l[t]=a,i=(e,l)=>{for(var t in l||(l={}))s.call(l,t)&&n(e,t,l[t]);if(a)for(var t of a(l))r.call(l,t)&&n(e,t,l[t]);return e},o=(e,a)=>l(e,t(a));import{d as c,dp as p,cB as d,a1 as u,N as b,ag as y,ar as h,a9 as v,a8 as f,at as g,a0 as m,b as w,p as S,e as N,f as k,I as O,J as j,h as x,g as W,bw as $,bx as D,bs as E,c as A,i as P,q as z,s as I,j as _,v as C,aq as q,ae as B,az as J,aA as R}from"./index-BoIUJTA2.js";const F=Symbol("elDescriptions");var G=c({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String,default:"td"},type:{type:String}},setup:()=>({descriptions:v(F,{})}),render(){var e;const l=p(this.cell),t=((null==(e=this.cell)?void 0:e.dirs)||[]).map(e=>{const{dir:l,arg:t,modifiers:a,value:s}=e;return[l,s,t,a]}),{border:a,direction:s}=this.descriptions,r="vertical"===s,n=()=>{var e,t,a;return(null==(a=null==(t=null==(e=this.cell)?void 0:e.children)?void 0:t.label)?void 0:a.call(t))||l.label},i=()=>{var e,l,t;return null==(t=null==(l=null==(e=this.cell)?void 0:e.children)?void 0:l.default)?void 0:t.call(l)},o=l.span,c=l.rowspan,v=l.align?`is-${l.align}`:"",f=l.labelAlign?`is-${l.labelAlign}`:v,g=l.className,m=l.labelClassName,w="label"===this.type&&(l.labelWidth||this.descriptions.labelWidth)||l.width,S={width:d(w),minWidth:d(l.minWidth)},N=u("descriptions");switch(this.type){case"label":return b(y(this.tag,{style:S,class:[N.e("cell"),N.e("label"),N.is("bordered-label",a),N.is("vertical-label",r),f,m],colSpan:r?o:1,rowspan:r?1:c},n()),t);case"content":return b(y(this.tag,{style:S,class:[N.e("cell"),N.e("content"),N.is("bordered-content",a),N.is("vertical-content",r),v,g],colSpan:r?o:2*o-1,rowspan:r?2*c-1:c},i()),t);default:{const e=n(),a={},s=d(l.labelWidth||this.descriptions.labelWidth);return s&&(a.width=s,a.display="inline-block"),b(y("td",{style:S,class:[N.e("cell"),v],colSpan:o,rowspan:c},[h(e)?void 0:y("span",{style:a,class:[N.e("label"),m]},e),y("span",{class:[N.e("content"),g]},i())]),t)}}}});const H=f({row:{type:g(Array),default:()=>[]}}),K=c({name:"ElDescriptionsRow"});var L=m(c(o(i({},K),{props:H,setup(e){const l=v(F,{});return(e,t)=>"vertical"===S(l).direction?(N(),w(O,{key:0},[k("tr",null,[(N(!0),w(O,null,j(e.row,(e,l)=>(N(),x(S(G),{key:`tr1-${l}`,cell:e,tag:"th",type:"label"},null,8,["cell"]))),128))]),k("tr",null,[(N(!0),w(O,null,j(e.row,(e,l)=>(N(),x(S(G),{key:`tr2-${l}`,cell:e,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(N(),w("tr",{key:1},[(N(!0),w(O,null,j(e.row,(e,t)=>(N(),w(O,{key:`tr3-${t}`},[S(l).border?(N(),w(O,{key:0},[W(S(G),{cell:e,tag:"td",type:"label"},null,8,["cell"]),W(S(G),{cell:e,tag:"td",type:"content"},null,8,["cell"])],64)):(N(),x(S(G),{key:1,cell:e,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}})),[["__file","descriptions-row.vue"]]);const M=f({border:Boolean,column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:$,title:{type:String,default:""},extra:{type:String,default:""},labelWidth:{type:[String,Number],default:""}}),Q="ElDescriptionsItem",T=c({name:"ElDescriptions"});var U=m(c(o(i({},T),{props:M,setup(e){const l=e,t=u("descriptions"),a=D(),s=E();B(F,l);const r=A(()=>[t.b(),t.m(a.value)]),n=(e,l,t,a=!1)=>(e.props||(e.props={}),l>t&&(e.props.span=t),a&&(e.props.span=l),e),i=()=>{if(!s.default)return[];const e=q(s.default()).filter(e=>{var l;return(null==(l=null==e?void 0:e.type)?void 0:l.name)===Q}),t=[];let a=[],r=l.column,i=0;const o=[];return e.forEach((s,c)=>{var p,d,u;const b=(null==(p=s.props)?void 0:p.span)||1,y=(null==(d=s.props)?void 0:d.rowspan)||1,h=t.length;if(o[h]||(o[h]=0),y>1)for(let e=1;e0&&(r-=o[h],o[h]=0),cr?r:b),c===e.length-1){const e=l.column-i%l.column;return a.push(n(s,e,r,!0)),void t.push(a)}b(N(),w("div",{class:z(S(r))},[e.title||e.extra||e.$slots.title||e.$slots.extra?(N(),w("div",{key:0,class:z(S(t).e("header"))},[k("div",{class:z(S(t).e("title"))},[I(e.$slots,"title",{},()=>[_(C(e.title),1)])],2),k("div",{class:z(S(t).e("extra"))},[I(e.$slots,"extra",{},()=>[_(C(e.extra),1)])],2)],2)):P("v-if",!0),k("div",{class:z(S(t).e("body"))},[k("table",{class:z([S(t).e("table"),S(t).is("bordered",e.border)])},[k("tbody",null,[(N(!0),w(O,null,j(i(),(e,l)=>(N(),x(L,{key:l,row:e},null,8,["row"]))),128))])],2)],2)],2))}})),[["__file","description.vue"]]);const V=["left","center","right"],X=f({label:{type:String,default:""},span:{type:Number,default:1},rowspan:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},labelWidth:{type:[String,Number],default:""},align:{type:String,values:V,default:"left"},labelAlign:{type:String,values:V},className:{type:String,default:""},labelClassName:{type:String,default:""}}),Y=c({name:Q,props:X}),Z=J(U,{DescriptionsItem:Y}),ee=R(Y);export{Z as E,ee as a}; diff --git a/nginx/admin/assets/index-DqKUCaTm.js b/nginx/admin/assets/index-DqKUCaTm.js new file mode 100644 index 0000000..3f69084 --- /dev/null +++ b/nginx/admin/assets/index-DqKUCaTm.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,l=(t,n,a)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[n]=a,u=(e,t)=>{for(var n in t||(t={}))o.call(t,n)&&l(e,n,t[n]);if(a)for(var n of a(t))r.call(t,n)&&l(e,n,t[n]);return e},s=(e,a)=>t(e,n(a));import{a8 as i,at as f,an as c,a0 as d,d as v,c as p,aM as m,r as g,o as h,A as x,l as b,cb as y,b as w,e as $,s as M,m as A,ad as I,az as z,D as S,x as B,y as E,i as O,p as k,g as P,w as j,f as N}from"./index-BoIUJTA2.js";const _=i({zIndex:{type:Number,default:9},rotate:{type:Number,default:-22},width:Number,height:Number,image:String,content:{type:f([String,Array]),default:"Element Plus"},font:{type:f(Object)},gap:{type:f(Array),default:()=>[100,100]},offset:{type:f(Array)}});const C={left:[0,.5],start:[0,.5],center:[.5,0],right:[1,-.5],end:[1,-.5]};function D(e,t,n=1){const a=document.createElement("canvas"),o=a.getContext("2d"),r=e*n,l=t*n;return a.setAttribute("width",`${r}px`),a.setAttribute("height",`${l}px`),o.save(),[o,a,r,l]}function T(){return function(e,t,n,a,o,r,l,u,s){const[i,f,d,v]=D(a,o,n);if(e instanceof HTMLImageElement)i.drawImage(e,0,0,d,v);else{const{color:t,fontSize:a,fontStyle:l,fontWeight:u,fontFamily:f,textAlign:v,textBaseline:p}=r,m=Number(a)*n;i.font=`${l} normal ${u} ${m}px/${o}px ${f}`,i.fillStyle=t,i.textAlign=v,i.textBaseline=p;const g=c(e)?e:[e];null==g||g.forEach((e,t)=>{const[a,o]=C[v];i.fillText(null!=e?e:"",d*a+s*o,t*(m+3*n))})}const p=Math.PI/180*Number(t),m=Math.max(a,o),[g,h,x]=D(m,m,n);g.translate(x/2,x/2),g.rotate(p),d>0&&v>0&&g.drawImage(f,-d/2,-v/2);let b=0,y=0,w=0,$=0;const M=d/2,A=v/2;[[0-M,0-A],[0+M,0-A],[0+M,0+A],[0-M,0+A]].forEach(([e,t])=>{const[n,a]=function(e,t){return[e*Math.cos(p)-t*Math.sin(p),e*Math.sin(p)+t*Math.cos(p)]}(e,t);b=Math.min(b,n),y=Math.max(y,n),w=Math.min(w,a),$=Math.max($,a)});const I=b+x/2,z=w+x/2,S=y-b,B=$-w,E=l*n,O=u*n,k=2*(S+E),P=B+O,[j,N]=D(k,P);function _(e=0,t=0){j.drawImage(h,I,z,S,B,e,t,S,B)}return _(),_(S+E,-B/2-O/2),_(S+E,+B/2+O/2),[N.toDataURL(),k/n,P/n]}}const W=v({name:"ElWatermark"});const L=z(d(v(s(u({},W),{props:_,setup(e){const t=e,n={position:"relative"},a=p(()=>{var e,n;return null!=(n=null==(e=t.font)?void 0:e.color)?n:"rgba(0,0,0,.15)"}),o=p(()=>{var e,n;return null!=(n=null==(e=t.font)?void 0:e.fontSize)?n:16}),r=p(()=>{var e,n;return null!=(n=null==(e=t.font)?void 0:e.fontWeight)?n:"normal"}),l=p(()=>{var e,n;return null!=(n=null==(e=t.font)?void 0:e.fontStyle)?n:"normal"}),i=p(()=>{var e,n;return null!=(n=null==(e=t.font)?void 0:e.fontFamily)?n:"sans-serif"}),f=p(()=>{var e,n;return null!=(n=null==(e=t.font)?void 0:e.textAlign)?n:"center"}),d=p(()=>{var e,n;return null!=(n=null==(e=t.font)?void 0:e.textBaseline)?n:"hanging"}),v=p(()=>t.gap[0]),z=p(()=>t.gap[1]),S=p(()=>v.value/2),B=p(()=>z.value/2),E=p(()=>{var e,n;return null!=(n=null==(e=t.offset)?void 0:e[0])?n:S.value}),O=p(()=>{var e,n;return null!=(n=null==(e=t.offset)?void 0:e[1])?n:B.value}),k=m(null),P=m(),j=g(!1),N=()=>{P.value&&(P.value.remove(),P.value=void 0)},_=(e,n)=>{var a;k.value&&P.value&&(j.value=!0,P.value.setAttribute("style",function(e){return Object.keys(e).map(t=>`${function(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}(t)}: ${e[t]};`).join(" ")}(s(u({},(()=>{const e={zIndex:t.zIndex,position:"absolute",left:0,top:0,width:"100%",height:"100%",pointerEvents:"none",backgroundRepeat:"repeat"};let n=E.value-S.value,a=O.value-B.value;return n>0&&(e.left=`${n}px`,e.width=`calc(100% - ${n}px)`,n=0),a>0&&(e.top=`${a}px`,e.height=`calc(100% - ${a}px)`,a=0),e.backgroundPosition=`${n}px ${a}px`,e})()),{backgroundImage:`url('${e}')`,backgroundSize:`${Math.floor(n)}px`}))),null==(a=k.value)||a.append(P.value),setTimeout(()=>{j.value=!1}))},C=T(),D=()=>{const e=document.createElement("canvas").getContext("2d"),n=t.image,u=t.content,s=t.rotate;if(e){P.value||(P.value=document.createElement("div"));const p=window.devicePixelRatio||1,[m,g,h]=(e=>{let n=120,a=64,r=0;const{image:l,content:u,width:s,height:f,rotate:d}=t;if(!l&&e.measureText){e.font=`${Number(o.value)}px ${i.value}`;const t=c(u)?u:[u];let l=0,s=0;t.forEach(t=>{const{width:n,fontBoundingBoxAscent:a,fontBoundingBoxDescent:o,actualBoundingBoxAscent:r,actualBoundingBoxDescent:u}=e.measureText(t),i=I(a)?r+u:a+o;n>l&&(l=Math.ceil(n)),i>s&&(s=Math.ceil(i))}),n=l,a=s*t.length+3*(t.length-1);const f=Math.PI/180*Number(d);r=Math.ceil(Math.abs(Math.sin(f)*a)/2),n+=r}return[null!=s?s:n,null!=f?f:a,r]})(e),x=e=>{const[t,n]=C(e||"",s,p,m,g,{color:a.value,fontSize:o.value,fontStyle:l.value,fontWeight:r.value,fontFamily:i.value,textAlign:f.value,textBaseline:d.value},v.value,z.value,h);_(t,n)};if(n){const e=new Image;e.onload=()=>{x(e)},e.onerror=()=>{x(u)},e.crossOrigin="anonymous",e.referrerPolicy="no-referrer",e.src=n}else x(u)}};h(()=>{D()}),x(()=>t,()=>{D()},{deep:!0,flush:"post"}),b(()=>{N()});return y(k,e=>{j.value||e.forEach(e=>{((e,t)=>{let n=!1;return e.removedNodes.length&&t&&(n=Array.from(e.removedNodes).includes(t)),"attributes"===e.type&&e.target===t&&(n=!0),n})(e,P.value)&&(N(),D())})},{attributes:!0,subtree:!0,childList:!0}),(e,t)=>($(),w("div",{ref_key:"containerRef",ref:k,style:A([n])},[M(e.$slots,"default")],4))}})),[["__file","watermark.vue"]])),R=v(s(u({},{name:"ArtWatermark"}),{__name:"index",props:{content:{default:S.systemInfo.name},visible:{type:Boolean,default:!1},fontSize:{default:16},fontColor:{default:"rgba(128, 128, 128, 0.2)"},rotate:{default:-22},gapX:{default:100},gapY:{default:100},offsetX:{default:50},offsetY:{default:50},zIndex:{default:3100}},setup(e){const t=B(),{watermarkVisible:n}=E(t);return(t,a)=>{const o=L;return k(n)?($(),w("div",{key:0,class:"fixed left-0 top-0 h-screen w-screen pointer-events-none",style:A({zIndex:e.zIndex})},[P(o,{content:e.content,font:{fontSize:e.fontSize,color:e.fontColor},rotate:e.rotate,gap:[e.gapX,e.gapY],offset:[e.offsetX,e.offsetY]},{default:j(()=>[...a[0]||(a[0]=[N("div",{style:{height:"100vh"}},null,-1)])]),_:1},8,["content","font","rotate","gap","offset"])],4)):O("",!0)}}}));export{R as default}; diff --git a/nginx/admin/assets/index-DqTthkO7.js b/nginx/admin/assets/index-DqTthkO7.js new file mode 100644 index 0000000..661ea2e --- /dev/null +++ b/nginx/admin/assets/index-DqTthkO7.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,l=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,t=(a,l,o)=>l in a?e(a,l,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[l]=o,d=(e,a)=>{for(var l in a||(a={}))s.call(a,l)&&t(e,l,a[l]);if(o)for(var l of o(a))r.call(a,l)&&t(e,l,a[l]);return e},n=(e,o)=>a(e,l(o));import{ah as u,bd as i,bv as b,bc as p,br as v,a8 as c,bw as m,r as f,a9 as y,c as g,aw as h,bx as k,by as B,bz as V,a0 as S,d as w,a1 as x,b as C,e as O,f as R,N as E,bA as j,p as I,O as _,q as z,M as G,s as A,j as F,v as K,n as N,m as P,bB as U,at as $,bC as L,bD as q,bE as D,o as J,ae as M,k as H,t as Q,A as T,I as W,J as X,h as Y,a2 as Z,bF as ee,ax as ae,aA as le,az as oe}from"./index-BoIUJTA2.js";const se=c({modelValue:{type:[String,Number,Boolean],default:void 0},size:m,disabled:Boolean,label:{type:[String,Number,Boolean],default:void 0},value:{type:[String,Number,Boolean],default:void 0},name:{type:String,default:void 0}}),re=c(n(d({},se),{border:Boolean})),te={[v]:e=>u(e)||i(e)||b(e),[p]:e=>u(e)||i(e)||b(e)},de=Symbol("radioGroupKey"),ne=(e,a)=>{const l=f(),o=y(de,void 0),s=g(()=>!!o),r=g(()=>h(e.value)?e.label:e.value),t=g({get:()=>s.value?o.modelValue:e.modelValue,set(t){s.value?o.changeEvent(t):a&&a(v,t),l.value.checked=e.modelValue===r.value}}),d=k(g(()=>null==o?void 0:o.size)),n=B(g(()=>null==o?void 0:o.disabled)),u=f(!1),i=g(()=>n.value||s.value&&t.value!==r.value?-1:0);return V({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-radio",ref:"https://element-plus.org/en-US/component/radio.html"},g(()=>s.value&&h(e.value))),{radioRef:l,isGroup:s,radioGroup:o,focus:u,size:d,disabled:n,tabIndex:i,modelValue:t,actualValue:r}},ue=w({name:"ElRadio"});var ie=S(w(n(d({},ue),{props:re,emits:te,setup(e,{emit:a}){const l=e,o=x("radio"),{radioRef:s,radioGroup:r,focus:t,size:d,disabled:n,modelValue:u,actualValue:i}=ne(l,a);function b(){N(()=>a(p,u.value))}return(e,a)=>{var l;return O(),C("label",{class:z([I(o).b(),I(o).is("disabled",I(n)),I(o).is("focus",I(t)),I(o).is("bordered",e.border),I(o).is("checked",I(u)===I(i)),I(o).m(I(d))])},[R("span",{class:z([I(o).e("input"),I(o).is("disabled",I(n)),I(o).is("checked",I(u)===I(i))])},[E(R("input",{ref_key:"radioRef",ref:s,"onUpdate:modelValue":e=>G(u)?u.value=e:null,class:z(I(o).e("original")),value:I(i),name:e.name||(null==(l=I(r))?void 0:l.name),disabled:I(n),checked:I(u)===I(i),type:"radio",onFocus:e=>t.value=!0,onBlur:e=>t.value=!1,onChange:b,onClick:_(()=>{},["stop"])},null,42,["onUpdate:modelValue","value","name","disabled","checked","onFocus","onBlur","onClick"]),[[j,I(u)]]),R("span",{class:z(I(o).e("inner"))},null,2)],2),R("span",{class:z(I(o).e("label")),onKeydown:_(()=>{},["stop"])},[A(e.$slots,"default",{},()=>[F(K(e.label),1)])],42,["onKeydown"])],2)}}})),[["__file","radio.vue"]]);const be=c(d({},se)),pe=w({name:"ElRadioButton"});var ve=S(w(n(d({},pe),{props:be,setup(e){const a=e,l=x("radio"),{radioRef:o,focus:s,size:r,disabled:t,modelValue:d,radioGroup:n,actualValue:u}=ne(a),i=g(()=>({backgroundColor:(null==n?void 0:n.fill)||"",borderColor:(null==n?void 0:n.fill)||"",boxShadow:(null==n?void 0:n.fill)?`-1px 0 0 0 ${n.fill}`:"",color:(null==n?void 0:n.textColor)||""}));return(e,a)=>{var b;return O(),C("label",{class:z([I(l).b("button"),I(l).is("active",I(d)===I(u)),I(l).is("disabled",I(t)),I(l).is("focus",I(s)),I(l).bm("button",I(r))])},[E(R("input",{ref_key:"radioRef",ref:o,"onUpdate:modelValue":e=>G(d)?d.value=e:null,class:z(I(l).be("button","original-radio")),value:I(u),type:"radio",name:e.name||(null==(b=I(n))?void 0:b.name),disabled:I(t),onFocus:e=>s.value=!0,onBlur:e=>s.value=!1,onClick:_(()=>{},["stop"])},null,42,["onUpdate:modelValue","value","name","disabled","onFocus","onBlur","onClick"]),[[j,I(d)]]),R("span",{class:z(I(l).be("button","inner")),style:P(I(d)===I(u)?I(i):{}),onKeydown:_(()=>{},["stop"])},[A(e.$slots,"default",{},()=>[F(K(e.label),1)])],46,["onKeydown"])],2)}}})),[["__file","radio-button.vue"]]);const ce=c(d({id:{type:String,default:void 0},size:m,disabled:Boolean,modelValue:{type:[String,Number,Boolean],default:void 0},fill:{type:String,default:""},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0},options:{type:$(Array)},props:{type:$(Object),default:()=>fe}},U(["ariaLabel"]))),me=te,fe={label:"label",value:"value",disabled:"disabled"},ye=w({name:"ElRadioGroup"});var ge=S(w(n(d({},ye),{props:ce,emits:me,setup(e,{emit:a}){const l=e,o=x("radio"),s=L(),r=f(),{formItem:t}=q(),{inputId:u,isLabeledByFormItem:i}=D(l,{formItemContext:t});J(()=>{const e=r.value.querySelectorAll("[type=radio]"),a=e[0];!Array.from(e).some(e=>e.checked)&&a&&(a.tabIndex=0)});const b=g(()=>l.name||s.value),c=g(()=>d(d({},fe),l.props));return M(de,H(n(d({},Q(l)),{changeEvent:e=>{a(v,e),N(()=>a(p,e))},name:b}))),T(()=>l.modelValue,(e,a)=>{l.validateEvent&&!ee(e,a)&&(null==t||t.validate("change").catch(e=>ae()))}),(e,a)=>(O(),C("div",{id:I(u),ref_key:"radioGroupRef",ref:r,class:z(I(o).b("group")),role:"radiogroup","aria-label":I(i)?void 0:e.ariaLabel||"radio-group","aria-labelledby":I(i)?I(t).labelId:void 0},[A(e.$slots,"default",{},()=>[(O(!0),C(W,null,X(l.options,(e,a)=>(O(),Y(ie,Z({key:a},(e=>{const a={label:e[c.value.label],value:e[c.value.value],disabled:e[c.value.disabled]};return d(d({},e),a)})(e)),null,16))),128))])],10,["id","aria-label","aria-labelledby"]))}})),[["__file","radio-group.vue"]]);const he=oe(ie,{RadioButton:ve,RadioGroup:ge}),ke=le(ge),Be=le(ve);export{Be as E,ke as a,he as b}; diff --git a/nginx/admin/assets/index-Dt1JQooD.css b/nginx/admin/assets/index-Dt1JQooD.css new file mode 100644 index 0000000..b08b30e --- /dev/null +++ b/nginx/admin/assets/index-Dt1JQooD.css @@ -0,0 +1 @@ +.modern-wizard-dialog[data-v-675bd211] .el-dialog__body{padding:0}.wizard-container[data-v-675bd211]{background:var(--el-fill-color-blank);min-height:600px}.wizard-steps[data-v-675bd211]{display:flex;justify-content:space-between;align-items:center;padding:24px;background:var(--el-fill-color-blank);border-bottom:1px solid var(--el-border-color)}.wizard-step[data-v-675bd211]{display:flex;align-items:center;flex:1;position:relative}.wizard-step .step-circle[data-v-675bd211]{width:48px;height:48px;border-radius:50%;background:#e2e8f0;display:flex;align-items:center;justify-content:center;margin-right:16px;position:relative;transition:all .3s ease}.wizard-step .step-circle .step-number[data-v-675bd211]{font-size:18px;font-weight:600;color:#a0aec0;transition:all .3s ease}.wizard-step .step-circle .step-icon[data-v-675bd211]{position:absolute;color:#fff;font-size:24px;opacity:0;transition:all .3s ease}.wizard-step .step-info[data-v-675bd211]{flex:1}.wizard-step .step-info .step-title[data-v-675bd211]{font-size:16px;font-weight:600;color:#4a5568;margin-bottom:4px;transition:all .3s ease}.wizard-step .step-info .step-desc[data-v-675bd211]{font-size:14px;color:#a0aec0;transition:all .3s ease}.wizard-step .step-line[data-v-675bd211]{position:absolute;right:-50%;top:50%;transform:translateY(-50%);width:100%;height:2px;background:#e2e8f0;z-index:-1}.wizard-step .step-line[data-v-675bd211]:after{content:"";position:absolute;top:0;left:0;height:100%;width:0;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease}.wizard-step.step-active .step-circle[data-v-675bd211]{background:linear-gradient(135deg,#667eea,#764ba2);transform:scale(1.1);box-shadow:0 8px 25px #667eea66}.wizard-step.step-active .step-circle .step-number[data-v-675bd211]{color:#fff}.wizard-step.step-active .step-title[data-v-675bd211]{color:#667eea;font-weight:700}.wizard-step.step-completed .step-circle[data-v-675bd211]{background:linear-gradient(135deg,#48bb78,#38a169)}.wizard-step.step-completed .step-circle .step-number[data-v-675bd211]{opacity:0}.wizard-step.step-completed .step-circle .step-icon[data-v-675bd211]{opacity:1}.wizard-step.step-completed .step-title[data-v-675bd211]{color:#48bb78}.wizard-step.step-completed .step-line[data-v-675bd211]:after{width:100%}.wizard-step.step-pending[data-v-675bd211]{opacity:.6}.wizard-step:last-child .step-line[data-v-675bd211]{display:none}.wizard-content[data-v-675bd211]{padding:32px;min-height:540px}.step-panel[data-v-675bd211]{animation:fadeIn-675bd211 .5s ease;display:flex;flex-direction:column;min-height:420px}@keyframes fadeIn-675bd211{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.panel-header[data-v-675bd211]{text-align:center;margin-bottom:24px}.panel-header .panel-title[data-v-675bd211]{font-size:20px;font-weight:600;color:var(--el-text-color-primary);margin:0 0 6px}.panel-header .panel-desc[data-v-675bd211]{font-size:13px;color:var(--el-text-color-secondary);margin:0}.modern-form[data-v-675bd211]{max-width:none;width:100%}.selected-activity-card[data-v-675bd211],.selected-info-cards[data-v-675bd211]{background:var(--el-fill-color);border:1px solid var(--el-border-color);border-radius:12px;padding:16px;margin-bottom:24px;display:flex;align-items:center;gap:12px;color:var(--el-text-color-regular);font-weight:500}.selected-activity-card .el-icon[data-v-675bd211],.selected-info-cards .el-icon[data-v-675bd211]{font-size:20px;color:var(--el-text-color-regular)}.selected-info-cards[data-v-675bd211]{display:flex;gap:16px}.selected-info-cards .info-card[data-v-675bd211]{display:flex;align-items:center;gap:8px;flex:1}.status-option[data-v-675bd211]{display:flex;align-items:center;gap:8px}.status-option .status-dot[data-v-675bd211]{width:8px;height:8px;border-radius:50%}.status-option .status-dot.status-active[data-v-675bd211]{background:#48bb78}.status-option .status-dot.status-inactive[data-v-675bd211]{background:#a0aec0}.status-option .status-dot.status-pending[data-v-675bd211]{background:#ed8936}.price-input[data-v-675bd211],.datetime-picker[data-v-675bd211],.full-width[data-v-675bd211]{width:100%}.category-select[data-v-675bd211]{min-width:260px}.status-select[data-v-675bd211]{min-width:200px}.currency-prefix[data-v-675bd211]{color:var(--el-color-primary);font-weight:600;margin-right:4px}.rewards-toolbar[data-v-675bd211]{display:flex;align-items:center;gap:16px;margin-bottom:24px}.rewards-toolbar .reward-stats[data-v-675bd211]{margin-left:auto}.rewards-toolbar .reward-stats .stat-badge[data-v-675bd211]{background:var(--el-color-primary-light-9);color:var(--el-color-primary);padding:8px 12px;border-radius:12px;font-weight:600;font-size:13px;border:1px solid var(--el-color-primary-light-7)}@keyframes priceUpdate-675bd211{0%{transform:scale(1);box-shadow:0 4px 12px rgba(var(--el-color-primary-rgb),.3)}50%{transform:scale(1.05);box-shadow:0 8px 20px rgba(var(--el-color-primary-rgb),.5)}to{transform:scale(1);box-shadow:0 4px 12px rgba(var(--el-color-primary-rgb),.3)}}.rewards-grid[data-v-675bd211]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.reward-card-modern[data-v-675bd211]{background:var(--el-fill-color-blank);border-radius:12px;padding:16px;border:1px solid var(--el-border-color);transition:border-color .2s ease}.reward-card-modern[data-v-675bd211]:hover{border-color:var(--el-color-primary-light-5)}.reward-card-header[data-v-675bd211]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.reward-card-header .reward-name[data-v-675bd211]{font-size:16px;font-weight:600;color:var(--el-text-color-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.reward-properties-modern[data-v-675bd211]{display:flex;flex-direction:column;gap:12px}.reward-properties-modern .property-row[data-v-675bd211]{display:flex;justify-content:space-between;align-items:center}.reward-properties-modern .property-row .property-label[data-v-675bd211]{color:var(--el-text-color-secondary);font-weight:500}.reward-properties-modern .property-row .property-value[data-v-675bd211]{color:var(--el-text-color-primary);font-weight:600}.empty-rewards-modern[data-v-675bd211]{text-align:center;padding:60px 20px}.empty-rewards-modern .empty-icon[data-v-675bd211]{font-size:64px;color:var(--el-border-color);margin-bottom:16px}.empty-rewards-modern .empty-text[data-v-675bd211]{font-size:16px;color:var(--el-text-color-secondary);font-weight:500;margin-bottom:8px}.empty-rewards-modern .empty-subtext[data-v-675bd211]{font-size:14px;color:var(--el-text-color-secondary)}.wizard-footer-modern[data-v-675bd211]{display:flex;justify-content:space-between;align-items:center;padding:24px 40px;background:var(--el-fill-color-blank);border-top:1px solid var(--el-border-color)}.wizard-footer-modern .step-indicator[data-v-675bd211]{font-size:14px;color:var(--el-text-color-secondary);font-weight:500}[data-v-675bd211] .reward-dialog-modern .el-dialog__header{background:var(--el-color-primary);margin:0;padding:24px;border-radius:16px 16px 0 0}[data-v-675bd211] .reward-dialog-modern .el-dialog__header .el-dialog__title{color:#fff;font-weight:600;font-size:20px}[data-v-675bd211] .reward-dialog-modern .el-dialog__body{padding:32px}.product-option-modern[data-v-675bd211]{display:flex;justify-content:space-between;align-items:center}.product-option-modern .product-name-modern[data-v-675bd211]{font-weight:500}.product-option-modern .product-price-modern[data-v-675bd211]{color:#667eea;font-weight:600}.number-input[data-v-675bd211]{width:100%}.input-hint-modern[data-v-675bd211]{font-size:12px;color:var(--el-text-color-secondary);margin-top:4px;line-height:1.4}.level-option-modern[data-v-675bd211]{display:flex;align-items:center;gap:8px}.level-option-modern .level-desc-modern[data-v-675bd211]{color:#718096;font-size:12px}@media (max-width: 768px){.wizard-steps[data-v-675bd211]{flex-direction:column;gap:20px;padding:24px}.wizard-step[data-v-675bd211]{flex-direction:column;text-align:center}.wizard-step .step-line[data-v-675bd211]{display:none}.wizard-content[data-v-675bd211]{padding:24px}.form-layout .el-row[data-v-675bd211]{margin:0}.form-section[data-v-675bd211]{padding:12px;margin-bottom:12px}.form-section[data-v-675bd211] .el-form-item{margin-bottom:12px}.fields-grid[data-v-675bd211],.line-row[data-v-675bd211],.line-row-single[data-v-675bd211]{grid-template-columns:1fr;gap:12px 16px}.rewards-grid[data-v-675bd211]{grid-template-columns:1fr}.wizard-footer-modern[data-v-675bd211]{flex-direction:column;gap:16px;padding:16px 24px}} diff --git a/nginx/admin/assets/index-DvejFoOw.js b/nginx/admin/assets/index-DvejFoOw.js new file mode 100644 index 0000000..ed53801 --- /dev/null +++ b/nginx/admin/assets/index-DvejFoOw.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,s=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,o=(a,s,r)=>s in a?e(a,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[s]=r;import{a8 as i,at as n,am as l,bd as p,cy as u,a0 as f,d as y,a1 as v,r as b,c as m,ah as d,cB as g,A as S,b as O,e as h,h as j,s as E,m as w,p as z,w as P,aE as k,ai as _,q,az as x}from"./index-BoIUJTA2.js";const A=i({size:{type:[Number,String],values:u,default:"",validator:e=>p(e)},shape:{type:String,values:["circle","square"],default:"circle"},icon:{type:l},src:{type:String,default:""},alt:String,srcSet:String,fit:{type:n(String),default:"cover"}}),B={error:e=>e instanceof Event},D=y({name:"ElAvatar"}),F=y((I=((e,a)=>{for(var s in a||(a={}))t.call(a,s)&&o(e,s,a[s]);if(r)for(var s of r(a))c.call(a,s)&&o(e,s,a[s]);return e})({},D),a(I,s({props:A,emits:B,setup(e,{emit:a}){const s=e,r=v("avatar"),t=b(!1),c=m(()=>{const{size:e,icon:a,shape:t}=s,c=[r.b()];return d(e)&&c.push(r.m(e)),a&&c.push(r.m("icon")),t&&c.push(r.m(t)),c}),o=m(()=>{const{size:e}=s;return p(e)?r.cssVarBlock({size:g(e)||""}):void 0}),i=m(()=>({objectFit:s.fit}));function n(e){t.value=!0,a("error",e)}return S(()=>s.src,()=>t.value=!1),(e,a)=>(h(),O("span",{class:q(z(c)),style:w(z(o))},[!e.src&&!e.srcSet||t.value?e.icon?(h(),j(z(_),{key:1},{default:P(()=>[(h(),j(k(e.icon)))]),_:1})):E(e.$slots,"default",{key:2}):(h(),O("img",{key:0,src:e.src,alt:e.alt,srcset:e.srcSet,style:w(z(i)),onError:n},null,44,["src","alt","srcset"]))],6))}}))));var I;const N=x(f(F,[["__file","avatar.vue"]]));export{N as E}; diff --git a/nginx/admin/assets/index-DxbtB6zA.js b/nginx/admin/assets/index-DxbtB6zA.js new file mode 100644 index 0000000..ccc2fba --- /dev/null +++ b/nginx/admin/assets/index-DxbtB6zA.js @@ -0,0 +1 @@ +var e=Object.defineProperty,l=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable,s=(l,a,t)=>a in l?e(l,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[a]=t,o=(e,l,a)=>new Promise((t,s)=>{var o=e=>{try{r(a.next(e))}catch(l){s(l)}},i=e=>{try{r(a.throw(e))}catch(l){s(l)}},r=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,i);r((a=a.apply(e,l)).next())});import{c1 as i,d as r,r as n,k as d,o as u,aP as m,b as p,e as c,g as _,w as y,K as f,f as h,v as b,E as v,j as g,h as x,i as j,N as w,O as k,b2 as V,ai as z,p as C,en as U,ab as E,eo as I,dB as P,b9 as O,T as S}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css */import{b as $,E as D,a as A}from"./el-dropdown-item-D7SYN_RE.js";/* empty css *//* empty css *//* empty css *//* empty css */import{a as M,E as B}from"./index-BcfO0-fK.js";import{E as N}from"./index-C_S0YbqD.js";import{E as T}from"./index-BaD29Izp.js";import{E as F}from"./index-rgHg98E6.js";import{E as G,a as H}from"./index-D2gD5Tn5.js";import{E as K}from"./index-dBzz0k3i.js";import{E as L,a as Q}from"./index-BjuMygln.js";import{E as Y}from"./index-ZsMdSUVI.js";import{E as q}from"./index-C1haaLtB.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./dropdown-Dk_wSiK6.js";import"./castArray-nM8ho4U3.js";import"./refs-Cw5r5QN8.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-BnK4BbY2.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./index-D8nVJoNy.js";const J={class:"douyin-orders-page p-4"},R={class:"flex justify-between items-center"},W={class:"flex justify-between items-center"},X={class:"flex items-center gap-4"},Z={class:"flex items-center gap-2"},ee={key:0,class:"text-xs text-gray-400"},le={class:"mt-4 flex justify-end"},ae="http://t13319619426654:ln8aj9nl@s432.kdltps.com:15818",te=r({__name:"index",setup(e){const r=n(!1),te=n(!1),se=n(!1),oe=n(!1),ie=n([]),re=d({page:1,pageSize:20,total:0}),ne=n(!1),de=n(null);let ue=null;const me=d({cookie:"",interval_minutes:5,proxy:""}),pe=d({only_unmatched:!1,max_users:200,batch_size:20,concurrency:5,inter_batch_delay_ms:200}),ce=n(!1),_e=d({status:void 0,match_status:"",shop_order_id:"",douyin_user_id:""});function ye(){return o(this,null,function*(){oe.value=!0;try{yield(e={cookie:me.cookie,interval_minutes:me.interval_minutes,proxy:me.proxy},i.put({url:"/admin/douyin/config",data:e})),S.success("配置保存成功")}catch(l){S.error("保存配置失败")}finally{oe.value=!1}var e})}function fe(){return o(this,null,function*(){r.value=!0;try{const e={page:re.page,page_size:re.pageSize};"number"==typeof _e.status&&(e.status=_e.status),_e.match_status&&(e.match_status=_e.match_status),_e.shop_order_id&&(e.shop_order_id=_e.shop_order_id),_e.douyin_user_id&&(e.douyin_user_id=_e.douyin_user_id);const l=yield function(e){return i.get({url:"/admin/douyin/orders",params:e})}(e);ie.value=l.list||[],re.total=l.total}catch(e){}finally{r.value=!1}})}function he(){return o(this,null,function*(){te.value=!0,de.value=null;try{const o=yield(e=((e,o)=>{for(var i in o||(o={}))a.call(o,i)&&s(e,i,o[i]);if(l)for(var i of l(o))t.call(o,i)&&s(e,i,o[i]);return e})({},pe),i.post({url:"/admin/douyin/sync",data:e}));de.value=o,S.success("同步完成"),yield fe()}catch(o){S.error((null==o?void 0:o.message)||"同步失败")}finally{te.value=!1}var e})}function be(e){if(e){const e=60*me.interval_minutes*1e3;ue=setInterval(()=>o(this,null,function*(){yield he()}),e),S.success(`已开启定时刷新,间隔 ${me.interval_minutes} 分钟`)}else ue&&(clearInterval(ue),ue=null),S.info("已关闭定时刷新")}function ve(){re.page=1,fe()}function ge(){_e.status=void 0,_e.match_status="",_e.shop_order_id="",_e.douyin_user_id="",re.page=1,fe()}function xe(e){return o(this,null,function*(){te.value=!0;try{switch(e){case"sync-all":{const e=yield(l=1,i.post({url:"/admin/douyin/sync-all",data:{duration_hours:l}}));S.success(e.message),yield fe()}break;case"sync-refund":{const e=yield i.post({url:"/admin/douyin/sync-refund"});S.success(e.message),yield fe()}break;case"grant-prizes":{const e=yield i.post({url:"/admin/douyin/grant-prizes"});S.success(e.message)}}}catch(a){S.error((null==a?void 0:a.message)||"操作失败")}finally{te.value=!1}var l})}function je(e){return o(this,null,function*(){var l;if(null==e?void 0:e.shop_order_id)if(2===e.order_status)try{se.value=!0;const a=yield(l=e.shop_order_id,i.post({url:`/admin/douyin/orders/${l}/grant-reward`}));S.success(a.message||"奖品同步完成"),yield fe()}catch(a){S.error((null==a?void 0:a.message)||"同步奖品失败")}finally{se.value=!1}else S.info("仅待发货的订单可以补发奖励");else S.warning("缺少抖店订单号,无法发奖")})}return u(()=>o(this,null,function*(){yield function(){return o(this,null,function*(){try{const e=yield i.get({url:"/admin/douyin/config"});me.cookie=e.cookie||"",me.interval_minutes=e.interval_minutes||5,me.proxy=e.proxy||""}catch(e){}})}(),yield fe()})),m(()=>{ue&&clearInterval(ue)}),(e,l)=>{const a=v,t=f,s=B,o=N,i=M,n=T,d=F,u=z,m=A,S=D,se=$,ue=H,we=G,ke=K,Ve=Q,ze=Y,Ce=L,Ue=q,Ee=V;return c(),p("div",J,[_(n,{shadow:"never",class:"mb-4"},{header:y(()=>[h("div",R,[l[19]||(l[19]=h("span",{class:"font-bold"},"抖店配置",-1)),_(a,{type:"primary",size:"small",onClick:ye,loading:oe.value},{default:y(()=>[...l[18]||(l[18]=[g(" 保存配置 ",-1)])]),_:1},8,["loading"])])]),default:y(()=>[_(i,{inline:!0,model:me,"label-width":"100px"},{default:y(()=>[_(s,{label:"Cookie"},{default:y(()=>[_(t,{modelValue:me.cookie,"onUpdate:modelValue":l[0]||(l[0]=e=>me.cookie=e),type:"textarea",rows:2,placeholder:"请输入抖店Cookie",style:{width:"500px"}},null,8,["modelValue"])]),_:1}),_(s,{label:"代理IP (可选)"},{label:y(()=>[l[20]||(l[20]=h("span",null,"代理IP (可选)",-1)),h("div",{class:"text-xs text-gray-400 leading-tight"}," 默认: "+b(ae))]),default:y(()=>[_(t,{modelValue:me.proxy,"onUpdate:modelValue":l[1]||(l[1]=e=>me.proxy=e),placeholder:ae,style:{width:"500px"},clearable:""},null,8,["modelValue"])]),_:1}),_(s,{label:"同步间隔(分钟)"},{default:y(()=>[_(o,{modelValue:me.interval_minutes,"onUpdate:modelValue":l[2]||(l[2]=e=>me.interval_minutes=e),min:1,max:60,placeholder:"分钟"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1}),_(n,{shadow:"never"},{header:y(()=>[h("div",W,[l[27]||(l[27]=h("span",{class:"font-bold"},"抖店订单列表",-1)),h("div",X,[h("div",Z,[l[21]||(l[21]=h("span",{class:"text-sm text-gray-500"},"定时刷新",-1)),_(d,{modelValue:ne.value,"onUpdate:modelValue":l[3]||(l[3]=e=>ne.value=e),onChange:be},null,8,["modelValue"]),ne.value?(c(),p("span",ee," ("+b(me.interval_minutes)+"分钟) ",1)):j("",!0)]),_(se,{onCommand:xe},{dropdown:y(()=>[_(S,null,{default:y(()=>[_(m,{command:"sync-all"},{default:y(()=>[_(u,null,{default:y(()=>[_(C(I))]),_:1}),l[23]||(l[23]=g(" 全量订单同步 (1小时) ",-1))]),_:1}),_(m,{command:"sync-refund"},{default:y(()=>[_(u,null,{default:y(()=>[_(C(P))]),_:1}),l[24]||(l[24]=g(" 退款状态同步 ",-1))]),_:1}),_(m,{command:"grant-prizes"},{default:y(()=>[_(u,null,{default:y(()=>[_(C(O))]),_:1}),l[25]||(l[25]=g(" 发放直播奖品 ",-1))]),_:1})]),_:1})]),default:y(()=>[_(a,{type:"success",loading:te.value},{default:y(()=>[_(u,{class:"mr-1"},{default:y(()=>[_(C(U))]),_:1}),l[22]||(l[22]=g(" 高级同步 ",-1)),_(u,{class:"ml-1"},{default:y(()=>[_(C(E))]),_:1})]),_:1},8,["loading"])]),_:1}),_(a,{type:"primary",onClick:he,loading:te.value},{default:y(()=>[_(u,{class:"mr-1"},{default:y(()=>[_(C(I))]),_:1}),l[26]||(l[26]=g(" 手动刷新 ",-1))]),_:1},8,["loading"])])])]),default:y(()=>[_(i,{inline:!0,model:pe,"label-width":"100px",class:"mb-2 sync-options-form"},{default:y(()=>[_(s,{label:"仅未匹配"},{default:y(()=>[_(d,{modelValue:pe.only_unmatched,"onUpdate:modelValue":l[4]||(l[4]=e=>pe.only_unmatched=e)},null,8,["modelValue"])]),_:1}),_(s,{label:"同步用户数"},{default:y(()=>[_(o,{modelValue:pe.max_users,"onUpdate:modelValue":l[5]||(l[5]=e=>pe.max_users=e),min:50,max:1e3,step:50,"controls-position":"right"},null,8,["modelValue"])]),_:1}),_(s,null,{default:y(()=>[_(a,{type:"primary",link:"",onClick:l[6]||(l[6]=e=>ce.value=!ce.value)},{default:y(()=>[g(b(ce.value?"收起高级配置":"高级配置"),1)]),_:1})]),_:1})]),_:1},8,["model"]),ce.value?(c(),x(i,{key:0,inline:!0,model:pe,"label-width":"100px",class:"mb-4 sync-options-advanced"},{default:y(()=>[_(s,{label:"批次大小"},{default:y(()=>[_(o,{modelValue:pe.batch_size,"onUpdate:modelValue":l[7]||(l[7]=e=>pe.batch_size=e),min:5,max:50,step:5,"controls-position":"right"},null,8,["modelValue"])]),_:1}),_(s,{label:"并发数"},{default:y(()=>[_(o,{modelValue:pe.concurrency,"onUpdate:modelValue":l[8]||(l[8]=e=>pe.concurrency=e),min:1,max:pe.batch_size||50,"controls-position":"right"},null,8,["modelValue","max"])]),_:1}),_(s,{label:"批间延迟(ms)"},{default:y(()=>[_(o,{modelValue:pe.inter_batch_delay_ms,"onUpdate:modelValue":l[9]||(l[9]=e=>pe.inter_batch_delay_ms=e),min:0,max:2e3,step:100,"controls-position":"right"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])):j("",!0),_(i,{inline:!0,model:_e,"label-width":"90px",class:"mb-4 filter-form",onSubmit:l[14]||(l[14]=k(()=>{},["prevent"]))},{default:y(()=>[_(s,{label:"订单状态"},{default:y(()=>[_(we,{modelValue:_e.status,"onUpdate:modelValue":l[10]||(l[10]=e=>_e.status=e),placeholder:"全部状态",clearable:"",style:{width:"140px"}},{default:y(()=>[_(ue,{label:"待付款",value:1}),_(ue,{label:"待发货",value:2}),_(ue,{label:"已发货",value:3}),_(ue,{label:"已退款/取消",value:4}),_(ue,{label:"已完成",value:5})]),_:1},8,["modelValue"])]),_:1}),_(s,{label:"匹配状态"},{default:y(()=>[_(we,{modelValue:_e.match_status,"onUpdate:modelValue":l[11]||(l[11]=e=>_e.match_status=e),placeholder:"全部",clearable:"",style:{width:"120px"}},{default:y(()=>[_(ue,{label:"已匹配",value:"matched"}),_(ue,{label:"未匹配",value:"unmatched"})]),_:1},8,["modelValue"])]),_:1}),_(s,{label:"抖店订单号"},{default:y(()=>[_(t,{modelValue:_e.shop_order_id,"onUpdate:modelValue":l[12]||(l[12]=e=>_e.shop_order_id=e),modelModifiers:{trim:!0},placeholder:"支持完整订单号",clearable:"",style:{width:"240px"}},null,8,["modelValue"])]),_:1}),_(s,{label:"抖音用户ID"},{default:y(()=>[_(t,{modelValue:_e.douyin_user_id,"onUpdate:modelValue":l[13]||(l[13]=e=>_e.douyin_user_id=e),modelModifiers:{trim:!0},placeholder:"抖音UID",clearable:"",style:{width:"240px"}},null,8,["modelValue"])]),_:1}),_(s,null,{default:y(()=>[_(a,{type:"primary",onClick:ve},{default:y(()=>[...l[28]||(l[28]=[g("查询",-1)])]),_:1}),_(a,{onClick:ge},{default:y(()=>[...l[29]||(l[29]=[g("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),de.value?(c(),x(ke,{key:1,title:`同步完成:处理${de.value.processed_users}/${de.value.total_users}个用户,获取${de.value.total_fetched}条,新订单${de.value.new_orders}条,耗时${(de.value.elapsed_ms/1e3).toFixed(1)}秒`,type:"success",class:"mb-4",closable:"",onClose:l[15]||(l[15]=e=>de.value=null)},null,8,["title"])):j("",!0),w((c(),x(Ce,{data:ie.value,border:"",style:{width:"100%"}},{default:y(()=>[_(Ve,{prop:"shop_order_id",label:"抖店订单号",width:"180"}),_(Ve,{prop:"order_status",label:"状态",width:"120"},{default:y(({row:e})=>[5===e.order_status?(c(),x(ze,{key:0,type:"success",size:"small"},{default:y(()=>[...l[30]||(l[30]=[g("已完成",-1)])]),_:1})):4===e.order_status?(c(),x(ze,{key:1,type:"danger",size:"small"},{default:y(()=>[...l[31]||(l[31]=[g("已退款/取消",-1)])]),_:1})):3===e.order_status?(c(),x(ze,{key:2,type:"primary",size:"small"},{default:y(()=>[...l[32]||(l[32]=[g("已发货",-1)])]),_:1})):2===e.order_status?(c(),x(ze,{key:3,type:"warning",size:"small"},{default:y(()=>[...l[33]||(l[33]=[g("待发货",-1)])]),_:1})):1===e.order_status?(c(),x(ze,{key:4,type:"info",size:"small"},{default:y(()=>[...l[34]||(l[34]=[g("待付款",-1)])]),_:1})):(c(),x(ze,{key:5,type:"info",size:"small"},{default:y(()=>[g(b(e.order_status_text),1)]),_:2},1024))]),_:1}),_(Ve,{prop:"product_count",label:"购买数量",width:"100",align:"center"}),_(Ve,{prop:"douyin_user_id",label:"抖店用户ID",width:"140"}),_(Ve,{prop:"user_nickname",label:"抖音昵称",width:"120"}),_(Ve,{label:"匹配状态",width:"120"},{default:y(({row:e})=>[e.local_user_id>0?(c(),x(ze,{key:0,type:"success",size:"small"},{default:y(()=>[g(" 已匹配: "+b(e.local_user_nickname||e.local_user_id),1)]),_:2},1024)):(c(),x(ze,{key:1,type:"danger",size:"small"},{default:y(()=>[...l[35]||(l[35]=[g("未匹配",-1)])]),_:1}))]),_:1}),_(Ve,{prop:"actual_pay_amount",label:"实付金额",width:"100"},{default:y(({row:e})=>[g(" ¥"+b(e.actual_pay_amount),1)]),_:1}),_(Ve,{prop:"actual_receive_amount",label:"实收金额",width:"100"},{default:y(({row:e})=>[g(" ¥"+b(e.actual_receive_amount),1)]),_:1}),_(Ve,{prop:"pay_type_desc",label:"支付方式",width:"100"}),_(Ve,{prop:"remark",label:"备注","min-width":"150","show-overflow-tooltip":""}),_(Ve,{prop:"created_at",label:"同步时间",width:"170"}),_(Ve,{label:"操作",width:"160",fixed:"right"},{default:y(({row:e})=>[_(a,{type:"primary",link:"",size:"small",disabled:2!==e.order_status,onClick:l=>je(e)},{default:y(()=>[...l[36]||(l[36]=[g(" 同步奖品 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1},8,["data"])),[[Ee,r.value]]),h("div",le,[_(Ue,{"current-page":re.page,"onUpdate:currentPage":l[16]||(l[16]=e=>re.page=e),"page-size":re.pageSize,"onUpdate:pageSize":l[17]||(l[17]=e=>re.pageSize=e),total:re.total,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:fe,onCurrentChange:fe},null,8,["current-page","page-size","total"])])]),_:1})])}}});export{te as default}; diff --git a/nginx/admin/assets/index-DxbtB6zA.js.gz b/nginx/admin/assets/index-DxbtB6zA.js.gz new file mode 100644 index 0000000..40bafcf Binary files /dev/null and b/nginx/admin/assets/index-DxbtB6zA.js.gz differ diff --git a/nginx/admin/assets/index-Dy3gZN7-.js b/nginx/admin/assets/index-Dy3gZN7-.js new file mode 100644 index 0000000..d42c6c2 --- /dev/null +++ b/nginx/admin/assets/index-Dy3gZN7-.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,r=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,i=(t,r,a)=>r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[r]=a;import{a8 as l,at as n,a0 as c,d,a1 as p,c as b,b as f,e as v,i as y,q as u,p as O,s as m,m as g,az as j}from"./index-BoIUJTA2.js";const P=l({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},contentPosition:{type:String,values:["left","center","right"],default:"center"},borderStyle:{type:n(String),default:"solid"}}),S=d({name:"ElDivider"}),h=d((w=((e,t)=>{for(var r in t||(t={}))s.call(t,r)&&i(e,r,t[r]);if(a)for(var r of a(t))o.call(t,r)&&i(e,r,t[r]);return e})({},S),t(w,r({props:P,setup(e){const t=e,r=p("divider"),a=b(()=>r.cssVar({"border-style":t.borderStyle}));return(e,t)=>(v(),f("div",{class:u([O(r).b(),O(r).m(e.direction)]),style:g(O(a)),role:"separator"},[e.$slots.default&&"vertical"!==e.direction?(v(),f("div",{key:0,class:u([O(r).e("text"),O(r).is(e.contentPosition)])},[m(e.$slots,"default")],2)):y("v-if",!0)],6))}}))));var w;const x=j(c(h,[["__file","divider.vue"]]));export{x as E}; diff --git a/nginx/admin/assets/index-EOF-s6Ya.js b/nginx/admin/assets/index-EOF-s6Ya.js new file mode 100644 index 0000000..f31b954 --- /dev/null +++ b/nginx/admin/assets/index-EOF-s6Ya.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/titles-D1iSw7M5.js","assets/index-BoIUJTA2.js","assets/index-Bw_sWjGf.css"])))=>i.map(i=>d[i]); +var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,o=(t,i,a)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[i]=a,l=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&o(e,i,t[i]);if(a)for(var i of a(t))s.call(t,i)&&o(e,i,t[i]);return e},n=(e,a)=>t(e,i(a)),u=(e,t,i)=>new Promise((a,r)=>{var s=e=>{try{l(i.next(e))}catch(t){r(t)}},o=e=>{try{l(i.throw(e))}catch(t){r(t)}},l=e=>e.done?a(e.value):Promise.resolve(e.value).then(s,o);l((i=i.apply(e,t)).next())});import{d as p,r as c,H as d,b as v,e as m,g as _,p as g,w as b,M as x,N as j,h as y,E as h,j as f,T as w,aD as C,ag as k,aV as T}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css */import{u as A}from"./useTable-DzUOUR11.js";import{q as S,r as I,t as P,w as D,p as E,x as O,y as N,z as V,A as R}from"./player-manage-ReHd8eMR.js";import $ from"./player-search-DWMdzkUG.js";import U from"./time-range-filter-C98LHEv0.js";import{_ as G}from"./add-points-dialog.vue_vue_type_script_setup_true_lang-C3778r95.js";import{_ as B}from"./add-coupon-dialog.vue_vue_type_script_setup_true_lang-G6pFWYH-.js";import M from"./grant-reward-dialog-b2ANVjTQ.js";import{_ as W}from"./add-item-card-dialog.vue_vue_type_script_setup_true_lang-C9E8CieY.js";import{_ as z}from"./assign-title-dialog.vue_vue_type_script_setup_true_lang-BqTGbynB.js";import{_ as L}from"./add-game-ticket-dialog.vue_vue_type_script_setup_true_lang-DNRKIxIT.js";import F from"./player-detail-drawer-BMnLvEIg.js";import H from"./audit-log-drawer-L5ySH8zh.js";import{_ as Q}from"./invitee-consume-dialog.vue_vue_type_script_setup_true_lang-Cnv6xzfB.js";import{_ as Y}from"./user-spending-drawer.vue_vue_type_script_setup_true_lang-CGv7feAY.js";import{_ as Z}from"./grant-pass-dialog.vue_vue_type_script_setup_true_lang-BRWnqJeo.js";import{i as q}from"./itemCards-WBDl8YV9.js";import{A as K}from"./index-BaXJ8CyS.js";import{_ as X}from"./index-Bwtbh5WQ.js";import{_ as J}from"./index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js";import{f as ee}from"./price-CGt8tHWF.js";import{E as te}from"./index-BaD29Izp.js";import{E as ie}from"./index-js0HKKV6.js";import{E as ae}from"./index-DvejFoOw.js";import{E as re}from"./index-ZsMdSUVI.js";import{_ as se}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./useTableColumns-FR69a2pD.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index-BcfO0-fK.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-C_sVHlWz.js";import"./index-CXD7B41Z.js";import"./index-BneqRonp.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./index-BnK4BbY2.js";import"./debounce-DQl5eUwG.js";import"./index-CXORCV4U.js";import"./index-CZJaGuxf.js";import"./dropdown-Dk_wSiK6.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index-DqTthkO7.js";import"./index-C_S0YbqD.js";import"./index-D2gD5Tn5.js";import"./token-DWNpOE8r.js";import"./_baseIteratee-CtIat01j.js";import"./index-CjpBlozU.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";import"./coupons-tpfgWUoF.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./product-qKpGgPBm.js";import"./titles-D1iSw7M5.js";/* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";import"./player-profit-loss-chart-CaOwxgxN.js";/* empty css *//* empty css *//* empty css */import"./index.vue_vue_type_script_setup_true_lang-DUnXk1_V.js";import"./useChart-DmniNG26.js";import"./installCanvasRenderer-D-xUkWdX.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./index-BjuMygln.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./index-D8nVJoNy.js";import"./index-C1haaLtB.js";import"./index-B18-crhn.js";import"./index-DpfIyoxx.js";import"./index-Dy3gZN7-.js";import"./index-ClDjAOOe.js";/* empty css */import"./index-rgHg98E6.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css */import"./operations-Cr4YfoRu.js";import"./dashboard-Csmn9wla.js";import"./index-BjQJlHTd.js";import"./index-1OHUSGeP.js";import"./gamePasses-BXLFUsdE.js";import"./activity-CMsiETfu.js";/* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./el-empty-CV-PB2A2.js";const oe={edit:"ri:pencil-line"},le={edit:"bg-secondary/12 text-secondary"};var ne=(e=>(e.VIEW_DETAILS="view_details",e.VIEW_INVITES="view_invites",e.VIEW_ORDERS="view_orders",e.VIEW_POINTS="view_points",e.VIEW_COUPONS="view_coupons",e.ADD_POINTS="add_points",e.ADD_COUPON="add_coupon",e.MANAGE_POINTS="manage_points",e.MANAGE_COUPONS="manage_coupons",e.GRANT_REWARD="grant_reward",e.ASSIGN_ITEM_CARD="assign_item_card",e.ASSIGN_TITLE="assign_title",e))(ne||{});const ue={view_details:"查看详情",view_invites:"查看邀请",view_orders:"查看订单",view_points:"查看积分",view_coupons:"查看优惠券",add_points:"添加积分",add_coupon:"添加优惠券",manage_points:"管理用户积分",manage_coupons:"管理用户优惠券",grant_reward:"发放奖励",assign_item_card:"分配道具卡",assign_title:"分配称号"},pe={view_details:"ri:eye-line",view_invites:"ri:user-shared-line",view_orders:"ri:file-list-line",view_points:"ri:coin-line",view_coupons:"ri:coupon-line",add_points:"ri:add-circle-line",add_coupon:"ri:gift-line",manage_points:"ri:coin-line",manage_coupons:"ri:coupon-line",grant_reward:"ri:gift-2-line",assign_item_card:"ri:shopping-bag-3-line",assign_title:"ri:medal-line"},ce={view_details:"查看用户详情",view_invites:"查看邀请记录",view_orders:"查看订单记录",view_points:"查看积分记录",view_coupons:"查看优惠券",add_points:"给用户添加积分",add_coupon:"给用户发放优惠券",manage_points:"管理用户积分",manage_coupons:"管理用户优惠券",grant_reward:"给用户发放奖励商品",assign_item_card:"给用户分配道具卡",assign_title:"给用户分配称号"};function de(e){let t;switch(e){case"view_details":t={type:"view",text:ue[e],icon:pe[e],iconClass:"bg-blue-100 text-blue-600 hover:bg-blue-200",tooltip:ce[e],showText:!1};break;case"view_invites":t={type:"edit",text:ue[e],icon:pe[e],iconClass:"bg-green-100 text-green-600 hover:bg-green-200",tooltip:ce[e],showText:!1};break;case"view_orders":t={type:"edit",text:ue[e],icon:pe[e],iconClass:"bg-orange-100 text-orange-600 hover:bg-orange-200",tooltip:ce[e],showText:!1};break;case"view_points":t={type:"edit",text:ue[e],icon:pe[e],iconClass:"bg-yellow-100 text-yellow-600 hover:bg-yellow-200",tooltip:ce[e],showText:!1};break;case"view_coupons":t={type:"edit",text:ue[e],icon:pe[e],iconClass:"bg-purple-100 text-purple-600 hover:bg-purple-200",tooltip:ce[e],showText:!1};break;case"add_points":case"manage_points":t={type:"add",text:ue[e],icon:pe[e],iconClass:"bg-green-100 text-green-600 hover:bg-green-200",tooltip:ce[e],showText:!1};break;case"add_coupon":case"manage_coupons":t={type:"add",text:ue[e],icon:pe[e],iconClass:"bg-purple-100 text-purple-600 hover:bg-purple-200",tooltip:ce[e],showText:!1};break;case"grant_reward":t={type:"add",text:ue[e],icon:pe[e],iconClass:"bg-orange-100 text-orange-600 hover:bg-orange-200",tooltip:ce[e],showText:!1};break;case"assign_item_card":case"assign_title":t={type:"add",text:ue[e],icon:pe[e],iconClass:"bg-theme/12 text-theme",tooltip:ce[e],showText:!1};break;default:t={type:"edit",text:ue[e]||e,icon:pe[e]||oe.edit,iconClass:le.edit,tooltip:ce[e]||e,showText:!1}}return t}const ve={class:"player-manage-page art-full-height"},me=se(p(n(l({},{name:"PlayerManage"}),{__name:"index",setup(e){const t=c(!1),i=c(!1),a=c(!1),r=c(!1),s=c(!1),o=c(!1),p=c(!1),se=c(!1),oe=c(!1),le=c(!1),ue=c(null),pe=c([]),ce=c(null),me=c(null),_e=c(null),ge=c({id:void 0,nickname:void 0,inviteCode:void 0,startDate:void 0,endDate:void 0}),{columns:be,columnChecks:xe,data:je,loading:ye,pagination:he,searchParams:fe,resetSearchParams:we,handleSizeChange:Ce,handleCurrentChange:ke,refreshData:Te,getDataDebounced:Ae}=A({core:{apiFn:E,apiParams:{},columnsFactory:()=>[{type:"selection",visible:!0},{type:"index",width:60,label:"序号",visible:!0},{prop:"userInfo",label:"用户信息",width:280,visible:!0,formatter:e=>k("div",{class:"user flex-c"},[k(ae,{class:"size-9.5 rounded-md",src:e.avatar,fallback:"https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"}),k("div",{class:"ml-2"},[k("p",{class:"user-name"},e.nickname),k("p",{class:"text-gray-400 text-xs"},`ID: ${e.id}`)])])},{prop:"remark",label:"备注",width:150,visible:!0,formatter:e=>{const t=e.remark||"点击添加";return k("div",{class:"cursor-pointer hover:text-blue-500 transition-colors flex items-center group",onClick:t=>u(this,null,function*(){t.stopPropagation();try{const{value:t}=yield T.prompt("请输入用户备注","修改备注",{confirmButtonText:"确定",cancelButtonText:"取消",inputValue:e.remark||"",inputType:"textarea",inputPlaceholder:"请输入备注信息"});yield O(e.id,t),w.success("备注更新成功"),e.remark=t}catch(i){"cancel"!==i&&w.error("更新备注失败")}})},[k("span",{class:e.remark?"text-gray-700":"text-gray-400 italic"},t),k("i",{class:"ri-edit-line ml-1 opacity-0 group-hover:opacity-100 text-blue-500"})])}},{prop:"invite_code",label:"邀请码",width:120,visible:!0},{prop:"inviter_id",label:"邀请人",width:180,visible:!0,formatter:e=>e.inviter_id?k("div",{class:"text-sm"},[k("p",{},e.inviter_nickname||"未知用户"),k("p",{class:"text-gray-400 text-xs"},`ID: ${e.inviter_id}`)]):"无"},{prop:"stats",label:"统计概览",width:320,visible:!0,formatter:e=>k("div",{class:"text-xs space-y-1"},[k("div",{class:"flex justify-between items-center"},[k("span",{class:"font-bold text-blue-600"},`💎 估值: ${ee(e.total_asset_value||0)}`),k("span",{class:"text-blue-500 font-medium"},`邀请: ${e.invite_count||0}人`)]),k("div",{class:"flex justify-between items-center text-gray-500"},[k("span",{class:"font-bold"},`💰 累计: ${ee(e.total_consume||0)}`),k("span",{class:"text-purple-500 font-medium cursor-pointer hover:underline",onClick:t=>{t.stopPropagation(),De(e)}},`👥 下线消费: ${ee(e.invitee_total_consume||0)}`)]),k("div",{class:"flex justify-between items-center text-gray-400"},[k("span",{class:"text-orange-500"},`背包: ${ee(e.inventory_value||0)}`),k("span",{},`分:${e.points_balance||0} 券:${e.coupons_count||0} 卡:${e.item_cards_count||0}`)])])},{prop:"douyin_user_id",label:"抖音绑定",width:150,visible:!0,formatter:e=>e.douyin_user_id?k("div",{class:"text-sm"},[k("p",{class:"text-success"},"已绑定"),k("p",{class:"text-xs text-gray-400"},e.douyin_user_id)]):k("span",{class:"text-gray-400"},"未绑定")},{prop:"mobile",label:"手机号",width:150,visible:!0,formatter:e=>{const t=e.mobile||"点击绑定";return k("div",{class:"cursor-pointer hover:text-blue-500 transition-colors flex items-center group",onClick:t=>u(this,null,function*(){t.stopPropagation();try{const{value:t}=yield T.prompt("请输入手机号(11位数字,1开头)","修改手机号",{confirmButtonText:"确定",cancelButtonText:"取消",inputValue:e.mobile||"",inputPlaceholder:"请输入11位手机号",inputPattern:/^1[3-9]\d{9}$/,inputErrorMessage:"手机号格式不正确"});yield N(e.id,t),w.success("手机号更新成功"),e.mobile=t}catch(i){"cancel"!==i&&w.error("更新手机号失败")}})},[k("span",{class:e.mobile?"text-gray-700":"text-gray-400 italic"},t),k("i",{class:"ri-edit-line ml-1 opacity-0 group-hover:opacity-100 text-blue-500"})])}},{prop:"channel",label:"渠道来源",width:220,visible:!0,formatter:e=>{const t=!(!e.channel_name&&!e.channel_code),i=!!e.inviter_id;if(!t&&!i)return k("span",{class:"text-gray-400"},"无");const a=[];if(t&&(a.push(k("p",{},e.channel_name||"未知渠道")),e.channel_code&&a.push(k("p",{class:"text-xs text-gray-500"},e.channel_code))),i){const t=e.inviter_nickname||`ID: ${e.inviter_id}`;a.push(k("p",{class:"text-xs text-blue-600"},`主播:${t}`))}return k("div",{class:"text-sm space-y-0.5"},a)}},{prop:"created_at",label:"注册时间",sortable:!0,width:180,visible:!0},{prop:"status",label:"状态",width:100,visible:!0,formatter:e=>{const t={1:{type:"success",text:"正常"},2:{type:"danger",text:"禁用"},3:{type:"info",text:"黑名单"}}[e.status]||{type:"info",text:"未知"};return k(re,{type:t.type},()=>t.text)}},{prop:"operation",label:"操作",width:520,fixed:"right",visible:!0,formatter:e=>k(ie,{wrap:!0,size:6},[k(J,n(l({},de(ne.MANAGE_POINTS)),{onClick:()=>Re(e)})),k(J,n(l({},de(ne.MANAGE_COUPONS)),{onClick:()=>$e(e)})),k(J,n(l({},de(ne.GRANT_REWARD)),{onClick:()=>Ue(e)})),k(J,n(l({},de(ne.ASSIGN_ITEM_CARD)),{onClick:()=>Ge(e)})),k(J,n(l({},de(ne.ASSIGN_TITLE)),{onClick:()=>Be(e)})),k(J,{icon:"ri:gamepad-line",iconClass:"bg-blue-100 text-blue-600 hover:bg-blue-200",text:"游戏资格",onClick:()=>Ze(e)}),k(J,{icon:"ri:calendar-line",iconClass:"bg-orange-100 text-orange-600 hover:bg-orange-200",text:"发放次数卡",onClick:()=>qe(e)}),k(J,n(l({},de(ne.VIEW_DETAILS)),{onClick:()=>Ve(e)})),k(J,{icon:"ri:file-list-3-line",iconClass:"bg-purple-100 text-purple-600 hover:bg-purple-200",text:"审计日志",onClick:()=>Xe(e)}),k(J,{icon:"ri:money-cny-circle-line",iconClass:"bg-cyan-100 text-cyan-600 hover:bg-cyan-200",text:"消费详情",onClick:()=>Je(e)}),k(J,{icon:3===e.status?"ri:shield-check-line":"ri:prohibited-line",iconClass:3===e.status?"bg-green-100 text-green-600 hover:bg-green-200":"bg-gray-100 text-gray-600 hover:bg-gray-200",text:3===e.status?"移出黑名单":"加入黑名单",onClick:()=>it(e,3===e.status?1:3)}),k(J,{icon:"ri:delete-bin-line",iconClass:"bg-red-100 text-red-600 hover:bg-red-200",text:"删除",onClick:()=>at(e)})])}]},transform:{dataTransformer:e=>Array.isArray(e)?e:[]}}),Se=e=>{const t=e||ge.value;Object.assign(fe,t),Ae()},Ie=e=>{ge.value.startDate=e.startDate,ge.value.endDate=e.endDate,Se()},Pe=()=>{pe.value&&0!==pe.value.length?pe.value.length>1?w.warning("只能选择一个用户进行操作"):(me.value=pe.value[0],t.value=!0):w.warning("请先选择要操作的用户")},De=e=>{ce.value=e.id,_e.value=e,oe.value=!0},Ee=()=>{pe.value&&0!==pe.value.length?pe.value.length>1?w.warning("只能选择一个用户进行操作"):(me.value=pe.value[0],i.value=!0):w.warning("请先选择要操作的用户")},Oe=e=>u(this,null,function*(){var i,a;try{if(!me.value)return void w.error("未选择用户");const i=yield S(me.value.id,e);if(i&&!0===i.success){const i=e.points>0?"增加积分成功":"扣减积分成功";w.success(i),Te(),t.value=!1}else{const t=e.points>0?"增加积分失败":"扣减积分失败";w.error(t)}}catch(r){const t=(null==(a=null==(i=null==r?void 0:r.response)?void 0:i.data)?void 0:a.message)||(e.points>0?"增加积分失败":"扣减积分失败");w.error(t)}}),Ne=e=>u(this,null,function*(){try{if(!me.value)return void w.error("未选择用户");const t=yield I(me.value.id,e);t&&!0===t.success?(w.success("发放优惠券成功"),Te(),i.value=!1):w.error("发放优惠券失败")}catch(t){w.error("发放优惠券失败")}}),Ve=e=>{ce.value=e.id,_e.value=e,p.value=!0},Re=e=>{me.value=e,t.value=!0},$e=e=>{me.value=e,i.value=!0},Ue=e=>{me.value=e,a.value=!0},Ge=e=>{me.value=e,r.value=!0},Be=e=>{me.value=e,s.value=!0},Me=()=>{if(!ce.value)return null;if(_e.value)return _e.value;const e=(null==je?void 0:je.value)||[];return(Array.isArray(e)?e.find(e=>e.id===ce.value):null)||null},We=()=>{const e=Me();e?(me.value=e,i.value=!0):w.error("未找到用户数据")},ze=()=>{const e=Me();e?(me.value=e,r.value=!0):w.error("未找到用户数据")},Le=()=>{const e=Me();e?(me.value=e,a.value=!0):w.error("未找到用户数据")},Fe=()=>{pe.value&&0!==pe.value.length?pe.value.length>1?w.warning("只能选择一个用户进行操作"):(me.value=pe.value[0],a.value=!0):w.warning("请先选择要操作的用户")},He=e=>u(this,null,function*(){try{if(!me.value)return void w.error("未选择用户");0===(yield P(me.value.id,e)).code&&(w.success("发放奖励成功"),Te(),a.value=!1)}catch(t){w.error("发放奖励失败")}}),Qe=e=>u(this,null,function*(){try{if(!me.value)return void w.error("未选择用户");const t=yield q.assignToUser(me.value.id,e);!!(null==t?void 0:t.message)||!0===(null==t?void 0:t.success)||0===(null==t?void 0:t.code)?(w.success("分配道具卡成功"),Te(),r.value=!1):w.error("分配道具卡失败")}catch(t){w.error("分配道具卡失败")}}),Ye=e=>u(this,null,function*(){try{if(!me.value)return void w.error("未选择用户");const{titlesApi:t}=yield C(()=>u(this,null,function*(){const{titlesApi:e}=yield import("./titles-D1iSw7M5.js");return{titlesApi:e}}),__vite__mapDeps([0,1,2])),i=yield t.assignToUser(me.value.id,e);!!(null==i?void 0:i.message)||!0===(null==i?void 0:i.success)||0===(null==i?void 0:i.code)?(w.success("分配称号成功"),Te(),s.value=!1):w.error("分配称号失败")}catch(t){w.error("分配称号失败")}}),Ze=e=>{me.value=e,o.value=!0},qe=e=>{me.value=e,ce.value=e.id,le.value=!0},Ke=e=>u(this,null,function*(){try{if(!me.value)return void w.error("未选择用户");const t=yield D(me.value.id,e);!0===t.success||0===t.code?(w.success("发放游戏资格成功"),Te(),o.value=!1):w.error("发放游戏资格失败")}catch(t){w.error("发放游戏资格失败")}}),Xe=e=>{ce.value=e.id,me.value=e,se.value=!0},Je=e=>{var t;null==(t=ue.value)||t.open(e.id)},et=e=>{pe.value=e},tt=()=>{ce.value=null,_e.value=null},it=(e,t)=>u(this,null,function*(){try{const i=3===t?"加入黑名单":"移出黑名单";yield T.confirm(`确定要将用户 "${e.nickname}" ${i}吗?`,"提示",{type:"warning",confirmButtonText:"确定",cancelButtonText:"取消"});!0===(yield V(e.id,t)).success&&(w.success(`${i}成功`),e.status=t)}catch(i){"cancel"!==i&&w.error("操作失败")}}),at=e=>u(this,null,function*(){try{yield T.confirm(`确定要删除用户 "${e.nickname}" (ID:${e.id}) 吗?\n\n此操作将永久删除该用户及其所有关联数据(订单、积分、优惠券、道具卡、背包等),且无法恢复!`,"危险操作",{type:"error",confirmButtonText:"确认删除",cancelButtonText:"取消",confirmButtonClass:"el-button--danger"});const t=yield R(e.id);!0===t.success&&(w.success(t.message||"删除用户成功"),Te())}catch(t){"cancel"!==t&&w.error("删除用户失败")}});return(e,l)=>{const n=d("ripple");return m(),v("div",ve,[_($,{modelValue:ge.value,"onUpdate:modelValue":l[0]||(l[0]=e=>ge.value=e),onSearch:Se,onReset:g(we)},null,8,["modelValue","onReset"]),_(g(te),{class:"time-filter-card",shadow:"never"},{default:b(()=>[_(U,{onChange:Ie})]),_:1}),_(g(te),{class:"art-table-card",shadow:"never"},{default:b(()=>{var e,u,c;return[_(K,{columns:g(xe),"onUpdate:columns":l[1]||(l[1]=e=>x(xe)?xe.value=e:null),loading:g(ye),onRefresh:g(Te)},{left:b(()=>[_(g(ie),{wrap:""},{default:b(()=>[j((m(),y(g(h),{onClick:Pe,disabled:!pe.value.length},{default:b(()=>[...l[12]||(l[12]=[f(" 批量增加积分 ",-1)])]),_:1},8,["disabled"])),[[n]]),j((m(),y(g(h),{onClick:Ee,disabled:!pe.value.length},{default:b(()=>[...l[13]||(l[13]=[f(" 批量发放优惠券 ",-1)])]),_:1},8,["disabled"])),[[n]]),j((m(),y(g(h),{onClick:Fe,disabled:!pe.value.length,type:"warning"},{default:b(()=>[...l[14]||(l[14]=[f(" 批量发放奖励 ",-1)])]),_:1},8,["disabled"])),[[n]])]),_:1})]),_:1},8,["columns","loading","onRefresh"]),_(X,{loading:g(ye),data:g(je),columns:g(be),pagination:g(he),onSelectionChange:et,"onPagination:sizeChange":g(Ce),"onPagination:currentChange":g(ke)},null,8,["loading","data","columns","pagination","onPagination:sizeChange","onPagination:currentChange"]),_(G,{visible:t.value,"onUpdate:visible":l[2]||(l[2]=e=>t.value=e),onSubmit:Oe},null,8,["visible"]),_(B,{visible:i.value,"onUpdate:visible":l[3]||(l[3]=e=>i.value=e),onSubmit:Ne},null,8,["visible"]),_(M,{visible:a.value,"onUpdate:visible":l[4]||(l[4]=e=>a.value=e),"player-id":(null==(e=me.value)?void 0:e.id)||null,onSubmit:He},null,8,["visible","player-id"]),_(W,{visible:r.value,"onUpdate:visible":l[5]||(l[5]=e=>r.value=e),onSubmit:Qe},null,8,["visible"]),_(z,{visible:s.value,"onUpdate:visible":l[6]||(l[6]=e=>s.value=e),onSubmit:Ye},null,8,["visible"]),_(L,{visible:o.value,"onUpdate:visible":l[7]||(l[7]=e=>o.value=e),onSubmit:Ke},null,8,["visible"]),_(F,{visible:p.value,"onUpdate:visible":l[8]||(l[8]=e=>p.value=e),"player-id":ce.value,"player-data":_e.value,onClosed:tt,onAddCoupon:We,onAssignItemCard:ze,onGrantReward:Le},null,8,["visible","player-id","player-data"]),_(Z,{modelValue:le.value,"onUpdate:modelValue":l[9]||(l[9]=e=>le.value=e),"user-id":ce.value||void 0,"user-name":null==(u=me.value)?void 0:u.nickname,onSuccess:g(Te)},null,8,["modelValue","user-id","user-name","onSuccess"]),_(H,{modelValue:se.value,"onUpdate:modelValue":l[10]||(l[10]=e=>se.value=e),"user-id":ce.value,"user-name":null==(c=me.value)?void 0:c.nickname,onClosed:tt},null,8,["modelValue","user-id","user-name"]),_(Q,{visible:oe.value,"onUpdate:visible":l[11]||(l[11]=e=>oe.value=e),"user-id":ce.value,"user-data":_e.value},null,8,["visible","user-id","user-data"]),_(Y,{ref_key:"spendingDrawerRef",ref:ue},null,512)]}),_:1})])}}})),[["__scopeId","data-v-ba8d9e19"]]);export{me as default}; diff --git a/nginx/admin/assets/index-EOF-s6Ya.js.gz b/nginx/admin/assets/index-EOF-s6Ya.js.gz new file mode 100644 index 0000000..4ffe4ca Binary files /dev/null and b/nginx/admin/assets/index-EOF-s6Ya.js.gz differ diff --git a/nginx/admin/assets/index-Ff-irW0T.js b/nginx/admin/assets/index-Ff-irW0T.js new file mode 100644 index 0000000..27e1923 --- /dev/null +++ b/nginx/admin/assets/index-Ff-irW0T.js @@ -0,0 +1 @@ +var e=Object.defineProperty,l=Object.defineProperties,t=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,r=(l,t,a)=>t in l?e(l,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):l[t]=a,u=(e,l)=>{for(var t in l||(l={}))s.call(l,t)&&r(e,t,l[t]);if(a)for(var t of a(l))o.call(l,t)&&r(e,t,l[t]);return e},n=(e,a)=>l(e,t(a));import{d as i,C as c,B as v,y as d,aW as p,r as f,o as h,aU as m,aP as x,n as g,b as y,e as b,g as w,w as k,K as j,p as _,bb as C,M as S,f as T,N as O,I as E,J as A,q as D,j as H,v as L,aQ as M,aj as I,O as K}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css */import{_ as P}from"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import{E as V}from"./index-Cp4NEpJ7.js";import{E as U}from"./index-CjpBlozU.js";import{_ as $}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./iconify-DFoKediz.js";import"./index-COyGylbk.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";const q={class:"layout-search"},R={class:"h-4.5 flex-cc rounded border border-g-300 dark:!bg-g-200/50 !bg-box px-1.5 text-g-500"},B={class:"result w-full"},z=["onClick","onMouseenter"],G={class:"text-xs text-g-500"},J={class:"mt-1.5 w-full"},N=["onClick","onMouseenter"],Q=["onClick"],W={class:"dialog-footer box-border flex-c border-t-d pt-4.5 pb-1"},X={class:"flex-cc"},F={class:"mr-3.5 text-xs text-g-700"},Y={class:"flex-c"},Z={class:"mr-3.5 text-xs text-g-700"},ee={class:"flex-c"},le={class:"mr-3.5 text-xs text-g-700"},te=$(i(n(u({},{name:"ArtGlobalSearch"}),{__name:"index",setup(e){const l=c(),t=v(),{menuList:a}=d(p()),s=f(!1),o=f(""),r=f([]),{searchHistory:i}=d(t),$=f(null),te=f(0),ae=f(0),se=f(),oe=f(!1);h(()=>{m.on("openSearchDialog",be),document.addEventListener("keydown",re)}),x(()=>{document.removeEventListener("keydown",re)});const re=e=>{(navigator.platform.toUpperCase().indexOf("MAC")>=0?e.metaKey:e.ctrlKey)&&"k"===e.key.toLowerCase()&&(e.preventDefault(),s.value=!0,ue()),s.value&&("ArrowUp"===e.key?(e.preventDefault(),ce()):"ArrowDown"===e.key?(e.preventDefault(),ve()):"Enter"===e.key?(e.preventDefault(),fe()):"Escape"===e.key&&(e.preventDefault(),s.value=!1))},ue=()=>{setTimeout(()=>{var e;null==(e=$.value)||e.focus()},100)},ne=e=>{r.value=e?ie(a.value,e):[]},ie=(e,l)=>{const t=l.toLowerCase(),a=[],s=e=>{var l;if(null==(l=e.meta)?void 0:l.isHide)return;const o=M(e.meta.title).toLowerCase();e.children&&e.children.length>0?e.children.forEach(s):o.includes(t)&&e.path&&a.push(n(u({},e),{children:void 0}))};return e.forEach(s),a},ce=()=>{oe.value=!0,o.value?(te.value=(te.value-1+r.value.length)%r.value.length,de()):(ae.value=(ae.value-1+i.value.length)%i.value.length,pe()),setTimeout(()=>{oe.value=!1},100)},ve=()=>{oe.value=!0,o.value?(te.value=(te.value+1)%r.value.length,de()):(ae.value=(ae.value+1)%i.value.length,pe()),setTimeout(()=>{oe.value=!1},100)},de=()=>{g(()=>{if(!se.value||!r.value.length)return;const e=se.value.wrapRef;if(!e)return;const l=e.querySelectorAll(".result .box");if(!l[te.value])return;const t=l[te.value],a=t.offsetHeight,s=e.scrollTop,o=e.clientHeight,u=t.offsetTop,n=u+a;us+o&&se.value.setScrollTop(n-o)})},pe=()=>{g(()=>{if(!se.value||!i.value.length)return;const e=se.value.wrapRef;if(!e)return;const l=e.querySelectorAll(".history-result .box");if(!l[ae.value])return;const t=l[ae.value],a=t.offsetHeight,s=e.scrollTop,o=e.clientHeight,r=t.offsetTop,u=r+a;rs+o&&se.value.setScrollTop(u-o)})},fe=()=>{o.value&&r.value.length?xe(r.value[te.value]):!o.value&&i.value.length&&xe(i.value[ae.value])},he=e=>te.value===e,me=()=>{te.value=0},xe=e=>{s.value=!1,ye(e),l.push(e.path),o.value="",r.value=[]},ge=()=>{Array.isArray(i.value)&&t.setSearchHistory(i.value)},ye=e=>{const l=i.value.findIndex(l=>l.path===e.path);-1!==l?i.value.splice(l,1):i.value.length>=10&&i.value.pop();const t=u({},e);delete t.children,delete t.meta.authList,i.value.unshift(t),ge()},be=()=>{s.value=!0,ue()},we=()=>{o.value="",r.value=[],te.value=0,ae.value=0};return(e,l)=>{const t=P,a=j,u=V,n=U;return b(),y("div",q,[w(n,{modelValue:_(s),"onUpdate:modelValue":l[1]||(l[1]=e=>S(s)?s.value=e:null),width:"600","show-close":!0,"lock-scroll":!1,"modal-class":"search-modal",onClose:we},{footer:k(()=>[T("div",W,[T("div",X,[w(t,{icon:"fluent:arrow-enter-left-20-filled",class:"keyboard"}),T("span",F,L(e.$t("search.selectKeydown")),1)]),T("div",Y,[w(t,{icon:"ri:arrow-up-wide-fill",class:"keyboard"}),w(t,{icon:"ri:arrow-down-wide-fill",class:"keyboard"}),T("span",Z,L(e.$t("search.switchKeydown")),1)]),T("div",ee,[l[2]||(l[2]=T("i",{class:"keyboard !w-8 flex-cc"},[T("p",{class:"text-[10px] font-medium"},"ESC")],-1)),T("span",le,L(e.$t("search.exitKeydown")),1)])])]),default:k(()=>[w(a,{modelValue:_(o),"onUpdate:modelValue":l[0]||(l[0]=e=>S(o)?o.value=e:null),modelModifiers:{trim:!0},placeholder:e.$t("search.placeholder"),onInput:ne,onBlur:me,ref_key:"searchInput",ref:$,"prefix-icon":_(C),class:"h-12"},{suffix:k(()=>[T("div",R,[w(t,{icon:"fluent:arrow-enter-left-20-filled"})])]),_:1},8,["modelValue","placeholder","prefix-icon"]),w(u,{class:"mt-5","max-height":"370px",ref_key:"searchResultScrollbar",ref:se,always:""},{default:k(()=>[O(T("div",B,[(b(!0),y(E,null,A(_(r),(e,l)=>(b(),y("div",{class:"box !mt-0 c-p text-base leading-none",key:l},[T("div",{class:D(["mt-2 h-12 flex-cb rounded-custom-sm bg-g-200/80 px-4 text-sm text-g-700",he(l)?"highlighted !bg-theme/70 !text-white":""]),onClick:l=>xe(e),onMouseenter:e=>(e=>{!oe.value&&o.value&&(te.value=e)})(l)},[H(L(_(M)(e.meta.title))+" ",1),O(w(t,{icon:"fluent:arrow-enter-left-20-filled"},null,512),[[I,he(l)]])],42,z)]))),128))],512),[[I,_(r).length]]),O(T("div",null,[T("p",G,L(e.$t("search.historyTitle")),1),T("div",J,[(b(!0),y(E,null,A(_(i),(e,l)=>(b(),y("div",{class:D(["box mt-2 h-12 c-p flex-cb rounded-custom-sm bg-g-200/80 px-4 text-sm text-g-800",_(ae)===l?"highlighted !bg-theme/70 !text-white [&_.selected-icon]:!text-white":""]),key:l,onClick:l=>xe(e),onMouseenter:e=>(e=>{oe.value||o.value||(ae.value=e)})(l)},[H(L(_(M)(e.meta.title))+" ",1),T("div",{class:"size-5 selected-icon select-none rounded-full text-g-500 flex-cc c-p",onClick:K(e=>(e=>{i.value.splice(e,1),ge()})(l),["stop"])},[w(t,{icon:"ri:close-large-fill",class:"text-xs"})],8,Q)],42,N))),128))])],512),[[I,!_(o)&&0===_(r).length&&_(i).length>0]])]),_:1},512)]),_:1},8,["modelValue"])])}}})),[["__scopeId","data-v-ed07ac8d"]]);export{te as default}; diff --git a/nginx/admin/assets/index-HobI4KXN.css b/nginx/admin/assets/index-HobI4KXN.css new file mode 100644 index 0000000..300382c --- /dev/null +++ b/nginx/admin/assets/index-HobI4KXN.css @@ -0,0 +1 @@ +.player-manage-page[data-v-ba8d9e19]{padding:16px}.time-filter-card[data-v-ba8d9e19]{margin-bottom:16px}[data-v-ba8d9e19] .time-filter-card .el-card__body{padding:12px 20px}.user.flex-c[data-v-ba8d9e19]{display:flex;align-items:center}.user-name[data-v-ba8d9e19]{font-weight:500;margin-bottom:2px} diff --git a/nginx/admin/assets/index-OWLr3nQL.js b/nginx/admin/assets/index-OWLr3nQL.js new file mode 100644 index 0000000..42bbf71 --- /dev/null +++ b/nginx/admin/assets/index-OWLr3nQL.js @@ -0,0 +1 @@ +var e=Object.defineProperty,l=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable,i=(l,a,t)=>a in l?e(l,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[a]=t,o=(e,l,a)=>new Promise((t,i)=>{var o=e=>{try{s(a.next(e))}catch(l){i(l)}},n=e=>{try{s(a.throw(e))}catch(l){i(l)}},s=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,n);s((a=a.apply(e,l)).next())});import{d as n,r as s,k as r,c as u,B as d,o as p,b as m,e as c,g as v,f,h as g,i as _,p as j,w as y,j as h,E as b,M as w,I as x,J as V,v as k,K as C,aV as S,T as O}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as T}from"./index-Bwtbh5WQ.js";import{_ as z}from"./index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js";import{A as U}from"./index-BaXJ8CyS.js";import{_ as P}from"./index.vue_vue_type_style_index_0_lang-HxUCIPrH.js";import{u as A}from"./useTable-DzUOUR11.js";import{b as E,e as M,g as R,a as B,f as I,h as N}from"./product-qKpGgPBm.js";import $ from"./product-search-DSJH5irW.js";import{f as D}from"./price-CGt8tHWF.js";import{E as J}from"./index-D8nVJoNy.js";import{E as F}from"./index-ZsMdSUVI.js";import{a as L,E as H}from"./index-BcfO0-fK.js";import{E as Q,a as G}from"./index-D2gD5Tn5.js";import{E as K}from"./index-CSr24crn.js";import{E as W}from"./index-C_S0YbqD.js";import{E as X}from"./index-CjpBlozU.js";import{E as Y}from"./index-1OHUSGeP.js";/* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";/* empty css *//* empty css *//* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./refs-Cw5r5QN8.js";/* empty css */import"./index-CZJaGuxf.js";import"./useTableColumns-FR69a2pD.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index-C_sVHlWz.js";import"./index-CXD7B41Z.js";import"./index-js0HKKV6.js";import"./index-BaD29Izp.js";import"./_baseClone-Ct7RL6h5.js";import"./token-DWNpOE8r.js";import"./index-ClDjAOOe.js";import"./cloneDeep-B1gZFPYK.js";import"./index-BnK4BbY2.js";import"./use-dialog-FwJ-QdmW.js";const q={class:"mb-3 flex items-center gap-3"},Z={class:"flex flex-wrap gap-1"},ee=["src","onClick"],le=n({__name:"index",setup(e){const n=s({name:void 0,category_id:void 0,status:void 0}),{data:le,loading:ae,columns:te,pagination:ie,handleSizeChange:oe,handleCurrentChange:ne,getData:se,getDataDebounced:re,searchParams:ue,resetSearchParams:de}=A({core:{apiFn:e=>I({page:e.page,page_size:e.page_size,name:e.name,category_id:e.category_id,status:e.status}).then(e=>({records:e.list,total:e.total,current:e.page,size:e.page_size})),apiParams:{page:1,page_size:20},columnsFactory:()=>[{type:"selection",width:48},{prop:"id",label:"ID",width:90,align:"center"},{prop:"name",label:"名称",minWidth:220,showOverflowTooltip:!0},{prop:"images",label:"图片",useSlot:!0,width:180,align:"center"},{prop:"category_id",label:"分类",useSlot:!0,width:160},{prop:"price",label:"售价",width:140,align:"center",formatter:e=>D(e.price)},{prop:"cost_price",label:"成本价",width:140,align:"center",formatter:e=>e.cost_price?D(e.cost_price):"-"},{prop:"stock",label:"库存",width:120,align:"center"},{prop:"sales",label:"销量",width:120,align:"center"},{prop:"status",label:"状态",useSlot:!0,width:110,align:"center"},{prop:"show_in_miniapp",label:"小程序显示",useSlot:!0,width:110,align:"center"},{prop:"actions",label:"操作",useSlot:!0,width:180}]}}),pe=s(!1),me=s("创建商品"),ce=s(null),ve=s(!1),fe=s(0),ge=s([]);function _e(e){try{const l=JSON.parse(e||"[]");return Array.isArray(l)?l:[]}catch(l){return[]}}const je=r({name:"",category_id:void 0,price:void 0,cost_price:void 0,stock:void 0,description:"",show_in_miniapp:1}),ye=s([]),he=r({}),be=s([]),we=s([]),xe=u({get:()=>(je.price||0)/100,set:e=>{je.price=Math.round(100*e)}}),Ve=u({get:()=>(je.cost_price||0)/100,set:e=>{je.cost_price=Math.round(100*e)}}),ke=d(),Ce=u(()=>"/api/common/upload/wangeditor"),Se=u(()=>({Authorization:ke.accessToken})),Oe=e=>{const o=((e,o)=>{for(var n in o||(o={}))a.call(o,n)&&i(e,n,o[n]);if(l)for(var n of l(o))t.call(o,n)&&i(e,n,o[n]);return e})({},ue),s=e||n.value;Object.assign(o,s),re(o)},Te=s(null),ze=s([]),Ue=s(!1);function Pe(e){ze.value=e.map(e=>e.id),Ue.value=e.length===le.value.length&&le.value.length>0}function Ae(){var e;const l=null==(e=Te.value)?void 0:e.elTableRef;if(l&&(l.clearSelection(),Ue.value))for(const a of le.value)l.toggleRowSelection(a,!0)}function Ee(){return o(this,null,function*(){if(0===ze.value.length)return;const e=yield S.prompt("请输入统一库存数量","批量改库存",{inputType:"number",confirmButtonText:"确定",cancelButtonText:"取消"}).catch(()=>null),l=Number(null==e?void 0:e.value);!e||isNaN(l)||l<0||(yield N({ids:ze.value,stock:l}),yield se(),ze.value=[],Ue.value=!1)})}function Me(){return o(this,null,function*(){if(0===ze.value.length)return;(yield S.confirm("确认批量上架选中商品?","提示",{type:"warning"}).catch(()=>!1))&&(yield N({ids:ze.value,status:1}),yield se(),ze.value=[],Ue.value=!1)})}function Re(){return o(this,null,function*(){if(0===ze.value.length)return;(yield S.confirm("确认批量下架选中商品?","提示",{type:"warning"}).catch(()=>!1))&&(yield N({ids:ze.value,status:2}),yield se(),ze.value=[],Ue.value=!1)})}function Be(){me.value="创建商品",ce.value=null,Object.assign(je,{name:"",category_id:void 0,price:void 0,cost_price:void 0,stock:void 0,status:1,show_in_miniapp:1,description:""}),be.value=[],we.value=[],pe.value=!0}function Ie(){return o(this,null,function*(){je.name&&je.category_id&&null!=je.price&&null!=je.stock&&(je.images_json=JSON.stringify(be.value),ce.value?yield E(ce.value,je):yield M(je),pe.value=!1,yield se())})}function Ne(){return o(this,null,function*(){const e=yield B({page:1,page_size:100});ye.value=e.list.map(e=>({id:e.id,name:e.name}));for(const l of e.list)he[l.id]=l.name})}function $e(e,l,a){var t,i;let o=(null==(t=null==e?void 0:e.data)?void 0:t.url)||(null==e?void 0:e.url)||"";if(!o&&"string"==typeof e)try{const l=JSON.parse(e);o=(null==(i=null==l?void 0:l.data)?void 0:i.url)||(null==l?void 0:l.url)||""}catch(n){}o&&(be.value.push(o),we.value=be.value.map((e,l)=>({name:`img_${l}`,url:e})))}function De(e,l){const a=we.value.findIndex(l=>l.name===e.name||l.url===e.url);a>-1&&(be.value.splice(a,1),we.value.splice(a,1))}return p(()=>o(this,null,function*(){yield Ne(),yield se()})),(e,l)=>{const a=b,t=J,i=F,s=C,r=H,u=G,d=Q,p=K,A=W,E=L,M=X,B=Y;return c(),m("div",null,[v($,{modelValue:n.value,"onUpdate:modelValue":l[0]||(l[0]=e=>n.value=e),onSearch:Oe,onReset:j(de)},null,8,["modelValue","onReset"]),f("div",q,[v(a,{type:"primary",onClick:Be},{default:y(()=>[...l[14]||(l[14]=[h("创建商品",-1)])]),_:1}),v(t,{modelValue:Ue.value,"onUpdate:modelValue":l[1]||(l[1]=e=>Ue.value=e),onChange:Ae},{default:y(()=>[...l[15]||(l[15]=[h("全选本页",-1)])]),_:1},8,["modelValue"]),v(a,{disabled:0===ze.value.length,onClick:Ee},{default:y(()=>[...l[16]||(l[16]=[h("批量改库存",-1)])]),_:1},8,["disabled"]),v(a,{disabled:0===ze.value.length,onClick:Me,type:"success"},{default:y(()=>[...l[17]||(l[17]=[h("批量上架",-1)])]),_:1},8,["disabled"]),v(a,{disabled:0===ze.value.length,onClick:Re,type:"warning"},{default:y(()=>[...l[18]||(l[18]=[h("批量下架",-1)])]),_:1},8,["disabled"])]),v(U,{columns:j(te),"onUpdate:columns":l[2]||(l[2]=e=>w(te)?te.value=e:null),loading:j(ae),onRefresh:j(se)},null,8,["columns","loading","onRefresh"]),v(T,{loading:j(ae),data:j(le),columns:j(te),tableLayout:"auto",pagination:j(ie),onSelectionChange:Pe,ref_key:"tableRef",ref:Te,"onPagination:sizeChange":j(oe),"onPagination:currentChange":j(ne)},{status:y(({row:e})=>[v(i,{type:1===e.status?"success":"danger"},{default:y(()=>[h(k(1===e.status?"上架":"下架"),1)]),_:2},1032,["type"])]),show_in_miniapp:y(({row:e})=>[v(i,{type:1===e.show_in_miniapp?"success":"info"},{default:y(()=>[h(k(1===e.show_in_miniapp?"显示":"隐藏"),1)]),_:2},1032,["type"])]),category_id:y(({row:e})=>[v(i,{type:"primary"},{default:y(()=>[h(k(j(he)[e.category_id]||e.category_id),1)]),_:2},1024)]),images:y(({row:e})=>[f("div",Z,[(c(!0),m(x,null,V(_e(e.images_json),(l,a)=>(c(),m("img",{key:a,src:l,class:"w-14 h-14 object-cover rounded cursor-pointer border",onClick:l=>function(e,l=0){ge.value=e,fe.value=l,ve.value=!0}(_e(e.images_json),a)},null,8,ee))),128))])]),actions:y(({row:e})=>[v(z,{type:"edit",onClick:l=>function(e){me.value="编辑商品",ce.value=e.id,Object.assign(je,{name:e.name,category_id:e.category_id,price:e.price,cost_price:e.cost_price||0,stock:e.stock,status:e.status,show_in_miniapp:e.show_in_miniapp,description:e.description||""});try{const l=JSON.parse(e.images_json||"[]");be.value=Array.isArray(l)?l:[],we.value=be.value.map((e,l)=>({name:`img_${l}`,url:e}))}catch(l){be.value=[],we.value=[]}pe.value=!0}(e)},null,8,["onClick"]),v(z,{type:"delete",onClick:l=>function(e){return o(this,null,function*(){var l,a,t;try{const l=le.value.find(l=>l.id===e),a=(null==l?void 0:l.name)||"该商品";yield S.confirm(`确定要删除商品"${a}"吗?此操作不可恢复`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",beforeClose:(e,l,a)=>{"confirm"===e?(l.confirmButtonLoading=!0,a()):a()}}),yield R(e),O.success({message:`"${a}"已成功删除`,duration:3e3}),yield se()}catch(i){if("cancel"===i)return;const o=(null==(a=null==(l=null==i?void 0:i.response)?void 0:l.data)?void 0:a.message)||i.message||"删除失败",n=(null==(t=le.value.find(l=>l.id===e))?void 0:t.name)||"该商品";O.error({message:`"${n}"删除失败:${o}`,duration:4e3})}})}(e.id)},null,8,["onClick"])]),_:1},8,["loading","data","columns","pagination","onPagination:sizeChange","onPagination:currentChange"]),v(M,{modelValue:pe.value,"onUpdate:modelValue":l[12]||(l[12]=e=>pe.value=e),title:me.value,width:"800px"},{footer:y(()=>[v(a,{onClick:l[11]||(l[11]=e=>pe.value=!1)},{default:y(()=>[...l[20]||(l[20]=[h("取消",-1)])]),_:1}),v(a,{type:"primary",onClick:Ie},{default:y(()=>[...l[21]||(l[21]=[h("提交",-1)])]),_:1})]),default:y(()=>[v(E,{model:j(je),"label-width":"110px"},{default:y(()=>[v(r,{label:"名称"},{default:y(()=>[v(s,{modelValue:j(je).name,"onUpdate:modelValue":l[3]||(l[3]=e=>j(je).name=e)},null,8,["modelValue"])]),_:1}),v(r,{label:"分类"},{default:y(()=>[v(d,{modelValue:j(je).category_id,"onUpdate:modelValue":l[4]||(l[4]=e=>j(je).category_id=e),modelModifiers:{number:!0},onVisibleChange:Ne},{default:y(()=>[(c(!0),m(x,null,V(ye.value,e=>(c(),g(u,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),v(r,{label:"图片"},{default:y(()=>[v(p,{action:Ce.value,name:"file",accept:"image/*","list-type":"picture-card",headers:Se.value,"on-success":$e,"on-remove":De,"file-list":we.value},{default:y(()=>[...l[19]||(l[19]=[f("i",{class:"el-icon"},[f("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[f("path",{fill:"currentColor",d:"M480 512h64V256h-64zm32 288a32 32 0 1 0 0-64a32 32 0 0 0 0 64"})])],-1)])]),_:1},8,["action","headers","file-list"])]),_:1}),v(r,{label:"价格(元)"},{default:y(()=>[v(A,{modelValue:xe.value,"onUpdate:modelValue":l[5]||(l[5]=e=>xe.value=e),min:0,precision:2,step:.01,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),v(r,{label:"成本价(元)"},{default:y(()=>[v(A,{modelValue:Ve.value,"onUpdate:modelValue":l[6]||(l[6]=e=>Ve.value=e),min:0,precision:2,step:.01,style:{width:"100%"},placeholder:"选填,用于盈亏计算"},null,8,["modelValue"])]),_:1}),v(r,{label:"库存"},{default:y(()=>[v(s,{modelValue:j(je).stock,"onUpdate:modelValue":l[7]||(l[7]=e=>j(je).stock=e),modelModifiers:{number:!0}},null,8,["modelValue"])]),_:1}),v(r,{label:"状态"},{default:y(()=>[v(d,{modelValue:j(je).status,"onUpdate:modelValue":l[8]||(l[8]=e=>j(je).status=e),modelModifiers:{number:!0}},{default:y(()=>[v(u,{value:1,label:"上架"}),v(u,{value:2,label:"下架"})]),_:1},8,["modelValue"])]),_:1}),v(r,{label:"小程序显示"},{default:y(()=>[v(d,{modelValue:j(je).show_in_miniapp,"onUpdate:modelValue":l[9]||(l[9]=e=>j(je).show_in_miniapp=e),modelModifiers:{number:!0}},{default:y(()=>[v(u,{value:1,label:"显示"}),v(u,{value:0,label:"隐藏"})]),_:1},8,["modelValue"])]),_:1}),v(r,{label:"商品详情"},{default:y(()=>[v(P,{modelValue:j(je).description,"onUpdate:modelValue":l[10]||(l[10]=e=>j(je).description=e)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),ve.value?(c(),g(B,{key:0,"url-list":ge.value,"initial-index":fe.value,onClose:l[13]||(l[13]=e=>ve.value=!1)},null,8,["url-list","initial-index"])):_("",!0)])}}});export{le as default}; diff --git a/nginx/admin/assets/index-OWLr3nQL.js.gz b/nginx/admin/assets/index-OWLr3nQL.js.gz new file mode 100644 index 0000000..3a1d28f Binary files /dev/null and b/nginx/admin/assets/index-OWLr3nQL.js.gz differ diff --git a/nginx/admin/assets/index-XPiP-EBw.js b/nginx/admin/assets/index-XPiP-EBw.js new file mode 100644 index 0000000..d91ecae --- /dev/null +++ b/nginx/admin/assets/index-XPiP-EBw.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,r=(a,t,s)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[t]=s;import{d as n,c as o,aZ as c,r as d,o as p,aU as m,aP as u,H as v,b as f,e as x,g,w as b,f as y,q as w,p as j,v as h,ai as _,be as M,I as O,J as k,K as C,P,O as V,M as z,N as E,E as A,eQ as I,eR as K,h as S,j as T,n as U}from"./index-BoIUJTA2.js";/* empty css *//* empty css */import{_ as q}from"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";/* empty css *//* empty css *//* empty css */import{m as B}from"./avatar6-6Evj8BB9.js";import{a as D}from"./avatar10-Dom60BwY.js";import{E as H}from"./index-DvejFoOw.js";import{E as Q}from"./index-B18-crhn.js";import"./iconify-DFoKediz.js";import"./index-COyGylbk.js";import"./use-dialog-FwJ-QdmW.js";const R={class:"mb-5 flex-cb"},W={class:"mt-1.5 flex-c gap-1"},J={class:"text-xs text-g-600"},L={class:"flex h-[calc(100%-70px)] flex-col"},N={class:"font-medium"},X={class:"text-g-600"},Z={class:"px-4 pt-4"},F={class:"flex gap-2 py-2"},G={class:"mt-3 flex-cb"},Y={class:"flex-c"},$="Art Bot",ee="Ricky",ae=n((te=((e,a)=>{for(var t in a||(a={}))i.call(a,t)&&r(e,t,a[t]);if(s)for(var t of s(a))l.call(a,t)&&r(e,t,a[t]);return e})({},{name:"ArtChatWindow"}),a(te,t({__name:"index",setup(e){const{width:a}=c(),t=o(()=>a.value<640),s=d(!1),i=d(!0),l=d(""),r=d(10),n=d(null),ae=d([{id:1,sender:$,content:"你好!我是你的AI助手,有什么我可以帮你的吗?",time:"10:00",isMe:!1,avatar:D},{id:2,sender:ee,content:"我想了解一下系统的使用方法。",time:"10:01",isMe:!0,avatar:B},{id:3,sender:$,content:"好的,我来为您介绍系统的主要功能。首先,您可以通过左侧菜单访问不同的功能模块...",time:"10:02",isMe:!1,avatar:D},{id:4,sender:ee,content:"听起来很不错,能具体讲讲数据分析部分吗?",time:"10:05",isMe:!0,avatar:B},{id:5,sender:$,content:"当然可以。数据分析模块可以帮助您实时监控关键指标,并生成详细的报表...",time:"10:06",isMe:!1,avatar:D},{id:6,sender:ee,content:"太好了,那我如何开始使用呢?",time:"10:08",isMe:!0,avatar:B},{id:7,sender:$,content:"您可以先创建一个项目,然后在项目中添加相关的数据源,系统会自动进行分析。",time:"10:09",isMe:!1,avatar:D},{id:8,sender:ee,content:"明白了,谢谢你的帮助!",time:"10:10",isMe:!0,avatar:B},{id:9,sender:$,content:"不客气,有任何问题随时联系我。",time:"10:11",isMe:!1,avatar:D}]),te=()=>{U(()=>{setTimeout(()=>{n.value&&(n.value.scrollTop=n.value.scrollHeight)},100)})},se=()=>{const e=l.value.trim();if(!e)return;const a={id:r.value++,sender:ee,content:e,time:(new Date).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),isMe:!0,avatar:B};ae.value.push(a),l.value="",te()},ie=()=>{s.value=!0,te()},le=()=>{s.value=!1};return p(()=>{te(),m.on("openChat",ie)}),u(()=>{m.off("openChat",ie)}),(e,a)=>{const r=_,o=H,c=A,d=C,p=q,m=Q,u=v("ripple");return x(),f("div",null,[g(m,{modelValue:j(s),"onUpdate:modelValue":a[1]||(a[1]=e=>z(s)?s.value=e:null),size:j(t)?"100%":"480px","with-header":!1},{default:b(()=>[y("div",R,[y("div",null,[a[2]||(a[2]=y("span",{class:"text-base font-medium"},"Art Bot",-1)),y("div",W,[y("div",{class:w(["h-2 w-2 rounded-full",j(i)?"bg-success/100":"bg-danger/100"])},null,2),y("span",J,h(j(i)?"在线":"离线"),1)])]),y("div",null,[g(r,{class:"c-p",size:20,onClick:le},{default:b(()=>[g(j(M))]),_:1})])]),y("div",L,[y("div",{class:"flex-1 overflow-y-auto border-t-d px-4 py-7.5 [&::-webkit-scrollbar]:!w-1",ref_key:"messageContainer",ref:n},[(x(!0),f(O,null,k(j(ae),(e,a)=>(x(),f("div",{key:a,class:w(["mb-7.5 flex w-full items-start gap-2",e.isMe?"flex-row-reverse":"flex-row"])},[g(o,{size:32,src:e.avatar,class:"shrink-0"},null,8,["src"]),y("div",{class:w(["flex max-w-[70%] flex-col",e.isMe?"items-end":"items-start"])},[y("div",{class:w(["mb-1 flex gap-2 text-xs",e.isMe?"flex-row-reverse":"flex-row"])},[y("span",N,h(e.sender),1),y("span",X,h(e.time),1)],2),y("div",{class:w(["rounded-md px-3.5 py-2.5 text-sm leading-[1.4] text-g-900",e.isMe?"message-right bg-theme/15":"message-left bg-g-300/50"])},h(e.content),3)],2)],2))),128))],512),y("div",Z,[g(d,{modelValue:j(l),"onUpdate:modelValue":a[0]||(a[0]=e=>z(l)?l.value=e:null),type:"textarea",rows:3,placeholder:"输入消息",resize:"none",onKeyup:P(V(se,["prevent"]),["enter"])},{append:b(()=>[y("div",F,[g(c,{icon:j(I),circle:"",plain:""},null,8,["icon"]),g(c,{icon:j(K),circle:"",plain:""},null,8,["icon"]),E((x(),S(c,{type:"primary",onClick:se},{default:b(()=>[...a[3]||(a[3]=[T("发送",-1)])]),_:1})),[[u]])])]),_:1},8,["modelValue","onKeyup"]),y("div",G,[y("div",Y,[g(p,{icon:"ri:image-line",class:"mr-5 c-p text-g-600 text-lg"}),g(p,{icon:"ri:emotion-happy-line",class:"mr-5 c-p text-g-600 text-lg"})]),E((x(),S(c,{type:"primary",onClick:se,class:"min-w-20"},{default:b(()=>[...a[4]||(a[4]=[T("发送",-1)])]),_:1})),[[u]])])])])]),_:1},8,["modelValue","size"])])}}}))));var te;export{ae as default}; diff --git a/nginx/admin/assets/index-ZsMdSUVI.js b/nginx/admin/assets/index-ZsMdSUVI.js new file mode 100644 index 0000000..feb5a87 --- /dev/null +++ b/nginx/admin/assets/index-ZsMdSUVI.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,s=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,t=(a,s,o)=>s in a?e(a,s,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[s]=o;import{a8 as r,cy as c,a0 as i,d as p,bx as u,a1 as b,c as d,b as f,h as m,e as y,f as v,i as g,s as k,q as O,p as C,w as h,g as j,be as w,O as E,ai as P,m as S,a3 as T,az as _}from"./index-BoIUJTA2.js";const B=r({type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"},closable:Boolean,disableTransitions:Boolean,hit:Boolean,color:String,size:{type:String,values:c},effect:{type:String,values:["dark","light","plain"],default:"light"},round:Boolean}),x={close:e=>e instanceof MouseEvent,click:e=>e instanceof MouseEvent},z=p({name:"ElTag"}),M=p(($=((e,a)=>{for(var s in a||(a={}))l.call(a,s)&&t(e,s,a[s]);if(o)for(var s of o(a))n.call(a,s)&&t(e,s,a[s]);return e})({},z),a($,s({props:B,emits:x,setup(e,{emit:a}){const s=e,o=u(),l=b("tag"),n=d(()=>{const{type:e,hit:a,effect:n,closable:t,round:r}=s;return[l.b(),l.is("closable",t),l.m(e||"primary"),l.m(o.value),l.m(n),l.is("hit",a),l.is("round",r)]}),t=e=>{a("close",e)},r=e=>{a("click",e)},c=e=>{var a,s,o;(null==(o=null==(s=null==(a=null==e?void 0:e.component)?void 0:a.subTree)?void 0:s.component)?void 0:o.bum)&&(e.component.subTree.component.bum=null)};return(e,a)=>e.disableTransitions?(y(),f("span",{key:0,class:O(C(n)),style:S({backgroundColor:e.color}),onClick:r},[v("span",{class:O(C(l).e("content"))},[k(e.$slots,"default")],2),e.closable?(y(),m(C(P),{key:0,class:O(C(l).e("close")),onClick:E(t,["stop"])},{default:h(()=>[j(C(w))]),_:1},8,["class","onClick"])):g("v-if",!0)],6)):(y(),m(T,{key:1,name:`${C(l).namespace.value}-zoom-in-center`,appear:"",onVnodeMounted:c},{default:h(()=>[v("span",{class:O(C(n)),style:S({backgroundColor:e.color}),onClick:r},[v("span",{class:O(C(l).e("content"))},[k(e.$slots,"default")],2),e.closable?(y(),m(C(P),{key:0,class:O(C(l).e("close")),onClick:E(t,["stop"])},{default:h(()=>[j(C(w))]),_:1},8,["class","onClick"])):g("v-if",!0)],6)]),_:3},8,["name"]))}}))));var $;const q=_(i(M,[["__file","tag.vue"]]));export{q as E,B as t}; diff --git a/nginx/admin/assets/index-dBzz0k3i.js b/nginx/admin/assets/index-dBzz0k3i.js new file mode 100644 index 0000000..4971d91 --- /dev/null +++ b/nginx/admin/assets/index-dBzz0k3i.js @@ -0,0 +1 @@ +var e=Object.defineProperty,s=Object.defineProperties,t=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,i=(s,t,a)=>t in s?e(s,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[t]=a,r=(e,s)=>{for(var t in s||(s={}))o.call(s,t)&&i(e,t,s[t]);if(a)for(var t of a(s))l.call(s,t)&&i(e,t,s[t]);return e},n=(e,a)=>s(e,t(a));import{ad as c,a8 as p,dD as f,e1 as d,a0 as u,d as y,bs as b,a1 as v,r as m,c as h,ay as g,ca as w,h as j,e as k,w as O,N as A,f as C,q as x,p as S,i as E,ai as P,s as $,aE as _,b as I,j as B,v as T,I as D,g as N,e2 as q,aj as z,a3 as F,az as G}from"./index-BoIUJTA2.js";import{u as H,a as J}from"./index-Bq8lawOo.js";const K=p(n(r({title:{type:String,default:""},description:{type:String,default:""},type:{type:String,values:f(d),default:"info"},closable:{type:Boolean,default:!0},closeText:{type:String,default:""},showIcon:Boolean,center:Boolean,effect:{type:String,values:["light","dark"],default:"light"}},H),{showAfter:Number})),L={open:()=>!0,close:e=>c(e)||e instanceof Event},M=y({name:"ElAlert"});const Q=G(u(y(n(r({},M),{props:K,emits:L,setup(e,{emit:s}){const t=e,{Close:a}=q,o=b(),l=v("alert"),i=m(c(t.showAfter)),r=h(()=>d[t.type]),n=h(()=>!(!t.description&&!o.default)),p=e=>{i.value=!1,s("close",e)},{onOpen:f,onClose:u}=J({showAfter:g(t,"showAfter",0),hideAfter:g(t,"hideAfter"),autoClose:g(t,"autoClose"),open:()=>{i.value=!0,s("open")},close:p});return w&&f(),(e,s)=>(k(),j(F,{name:S(l).b("fade"),persisted:""},{default:O(()=>[A(C("div",{class:x([S(l).b(),S(l).m(e.type),S(l).is("center",e.center),S(l).is(e.effect)]),role:"alert"},[e.showIcon&&(e.$slots.icon||S(r))?(k(),j(S(P),{key:0,class:x([S(l).e("icon"),{[S(l).is("big")]:S(n)}])},{default:O(()=>[$(e.$slots,"icon",{},()=>[(k(),j(_(S(r))))])]),_:3},8,["class"])):E("v-if",!0),C("div",{class:x(S(l).e("content"))},[e.title||e.$slots.title?(k(),I("span",{key:0,class:x([S(l).e("title"),{"with-description":S(n)}])},[$(e.$slots,"title",{},()=>[B(T(e.title),1)])],2)):E("v-if",!0),S(n)?(k(),I("p",{key:1,class:x(S(l).e("description"))},[$(e.$slots,"default",{},()=>[B(T(e.description),1)])],2)):E("v-if",!0),e.closable?(k(),I(D,{key:2},[e.closeText?(k(),I("div",{key:0,class:x([S(l).e("close-btn"),S(l).is("customed")]),onClick:p},T(e.closeText),3)):(k(),j(S(P),{key:1,class:x(S(l).e("close-btn")),onClick:S(u)},{default:O(()=>[N(S(a))]),_:1},8,["class","onClick"]))],64)):E("v-if",!0)],2)],2),[[z,i.value]])]),_:3},8,["name"]))}})),[["__file","alert.vue"]]));export{Q as E}; diff --git a/nginx/admin/assets/index-eQDjV_i0.css b/nginx/admin/assets/index-eQDjV_i0.css new file mode 100644 index 0000000..27603bf --- /dev/null +++ b/nginx/admin/assets/index-eQDjV_i0.css @@ -0,0 +1 @@ +.page-container[data-v-be600db5]{padding:16px} diff --git a/nginx/admin/assets/index-iyjiSOej.js b/nginx/admin/assets/index-iyjiSOej.js new file mode 100644 index 0000000..1c44639 --- /dev/null +++ b/nginx/admin/assets/index-iyjiSOej.js @@ -0,0 +1 @@ +var e=Object.defineProperty,l=Object.defineProperties,a=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,s=(l,a,t)=>a in l?e(l,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[a]=t,n=(e,l)=>{for(var a in l||(l={}))i.call(l,a)&&s(e,a,l[a]);if(t)for(var a of t(l))o.call(l,a)&&s(e,a,l[a]);return e},d=(e,l,a)=>new Promise((t,i)=>{var o=e=>{try{n(a.next(e))}catch(l){i(l)}},s=e=>{try{n(a.throw(e))}catch(l){i(l)}},n=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,s);n((a=a.apply(e,l)).next())});import{d as u,r,o as m,b as p,e as c,g as _,w as f,f as v,j as h,K as b,I as y,J as w,v as g,h as j,i as V,ai as x,p as k,b3 as U,E,ba as O,T as z}from"./index-BoIUJTA2.js";/* empty css */import{a as H,E as P}from"./el-tab-pane-BpPSIX41.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{l as N,u as S}from"./configs-BgITfp3i.js";import{f as I}from"./product-qKpGgPBm.js";import{c as J}from"./coupons-tpfgWUoF.js";import{a as A,E as L}from"./index-BcfO0-fK.js";import{E as C}from"./index-dBzz0k3i.js";import{E as D}from"./index-Dy3gZN7-.js";import{E as F}from"./index-C_sVHlWz.js";import{E as K}from"./index-CXD7B41Z.js";import{E as T}from"./index-C_S0YbqD.js";import{E as $,a as G}from"./index-BjuMygln.js";import{E as M}from"./index-rgHg98E6.js";import{E as Q,a as R}from"./index-D2gD5Tn5.js";import{E as W}from"./index-ZsMdSUVI.js";import{E as Y}from"./index-BaD29Izp.js";import{_ as q}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./raf-DsHSIRfX.js";import"./_initCloneObject-DRmC-q3t.js";import"./clamp-BXzPLned.js";import"./debounce-DQl5eUwG.js";import"./index-C0Ar9TSn.js";import"./_baseClone-Ct7RL6h5.js";import"./castArray-nM8ho4U3.js";import"./index-Bq8lawOo.js";import"./index-BnK4BbY2.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./_baseIteratee-CtIat01j.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./token-DWNpOE8r.js";const B={class:"page-container"},X={class:"card-header"},Z={class:"header-left"},ee={class:"tab-content"},le={class:"tab-content"},ae={class:"tab-content"},te={class:"role-grid"},ie={class:"role-icon"},oe={class:"role-info"},se={class:"role-name"},ne={class:"role-skill"},de={class:"role-hp"},ue={class:"tab-content"},re={class:"font-bold"},me={class:"tab-content"},pe={class:"product-option"},ce=["src"],_e={class:"product-price"},fe={class:"product-option"},ve=["src"],he={class:"product-price"},be={class:"product-option"},ye={class:"product-price"},we={class:"alert-info mt-4"},ge={class:"tab-content"},je={class:"json-preview"},Ve="game_minesweeper_config",xe=q(u({__name:"index",setup(e){const t=r("board"),i=r(!1),o=r(!1),s=r([]),u=r(!1),q=r([]),xe=[{type:"medkit",name:"医疗包",desc:"恢复1点血量"},{type:"bomb_timer",name:"定时炸弹",desc:"3步后爆炸"},{type:"poison",name:"剧毒",desc:"中毒后每2步扣1血"},{type:"shield",name:"护盾",desc:"抵挡一次伤害"},{type:"skip",name:"好人卡",desc:"跳过本轮并获得护盾"},{type:"magnifier",name:"放大镜",desc:"透视一格的内容"},{type:"knife",name:"飞刀",desc:"对一名对手造成伤害"},{type:"revive",name:"复活甲",desc:"死亡时原地复活1血"},{type:"lightning",name:"雷击",desc:"对所有玩家造成1点伤害"},{type:"chest",name:"宝箱",desc:"获得指定优惠券"},{type:"curse",name:"诅咒",desc:"下次受到伤害翻倍"}],ke=[{type:"elephant",name:"大象",icon:"🐘",skill:"血厚:5点生命,但不能用医疗/复活/跳过",defaultHp:5},{type:"cat",name:"猫",icon:"🐱",skill:"灵动:单次受害强制为1",defaultHp:3},{type:"dog",name:"狗",icon:"🐶",skill:"嗅觉:每隔几轮自动透视一格",defaultHp:4},{type:"monkey",name:"猴子",icon:"🐵",skill:"采摘:每轮有概率回1血(限2次)",defaultHp:4},{type:"chicken",name:"小鸡",icon:"🐔",skill:"应激:受创时有概率得防御道具(限2次)",defaultHp:4},{type:"sloth",name:"树懒",icon:"🦥",skill:"慵懒:免疫中毒,炸弹伤害减半",defaultHp:4},{type:"hippo",name:"河马",icon:"🦛",skill:"顽强:存活时不能捡道具,死时有概率复活",defaultHp:4},{type:"tiger",name:"老虎",icon:"🐯",skill:"猛击:飞刀伤害+1并变为群体",defaultHp:4}],Ue=r({grid_size:10,bomb_count:30,item_min:5,item_max:10,winner_reward_points:100,participation_reward_points:10,winner_reward_product_id:null,participation_reward_product_id:null,rule_desc:"1. 每位角色拥有独特的初始血量和技能\n2. 捡到道具自动使用\n3. 点击炸弹扣除2点血量\n4. 坚持到最后即获胜",enabled_items:{},item_weights:{},character_hp:{},client_url:"https://game.1024tool.vip",server:"",key:"",match_player_count:2,turn_duration:15,chest_coupon_id:null});xe.forEach(e=>{Ue.value.enabled_items[e.type]=!0,Ue.value.item_weights[e.type]=10}),ke.forEach(e=>{Ue.value.character_hp[e.type]=e.defaultHp});const Ee=e=>d(this,null,function*(){if(e){o.value=!0;try{const l=yield I({name:e,page:1,page_size:50,status:1});s.value=l.list.map(e=>{let l="";if(e.images_json)try{const a=JSON.parse(e.images_json);a&&a.length>0&&(l=a[0])}catch(a){}return{id:e.id,name:e.name,price:e.price,image:l}})}catch(l){}finally{o.value=!1}}else s.value=[]}),Oe=e=>d(this,null,function*(){u.value=!0;try{const l=yield J.getList({name:e,page:1,page_size:50,status:1});q.value=l.list||[]}catch(l){}finally{u.value=!1}}),ze=()=>d(this,null,function*(){try{const i=(yield N(Ve,1,1)).list.find(e=>e.key===Ve);if(i&&i.value)try{const t=JSON.parse(i.value),o=xe.map(e=>e.type),d={},u={};o.forEach(e=>{var l,a,i,o,s,n;d[e]=null==(i=null!=(a=null==(l=t.enabled_items)?void 0:l[e])?a:Ue.value.enabled_items[e])||i,u[e]=null!=(n=null!=(s=null==(o=t.item_weights)?void 0:o[e])?s:Ue.value.item_weights[e])?n:10});const r=ke.map(e=>e.type),m={};r.forEach(e=>{var l,a,i,o,s;const n=null!=(a=null==(l=ke.find(l=>l.type===e))?void 0:l.defaultHp)?a:4;m[e]=null!=(s=null!=(o=null==(i=t.character_hp)?void 0:i[e])?o:Ue.value.character_hp[e])?s:n}),Ue.value=(e=n(n({},Ue.value),t),l(e,a({enabled_items:d,item_weights:u,character_hp:m})));const p=[];if(Ue.value.winner_reward_product_id&&p.push(Ue.value.winner_reward_product_id),Ue.value.participation_reward_product_id&&p.push(Ue.value.participation_reward_product_id),p.length>0){const e=yield I({page:1,page_size:100,status:1});s.value=e.list.map(e=>{let l="";if(e.images_json)try{const a=JSON.parse(e.images_json);a&&a.length>0&&(l=a[0])}catch(a){}return{id:e.id,name:e.name,price:e.price,image:l}})}if(Ue.value.chest_coupon_id){const e=yield J.getList({page:1,page_size:50,status:1});q.value=e.list||[]}}catch(t){}}catch(i){}var e}),He=()=>d(this,null,function*(){i.value=!0;try{const e=JSON.stringify(Ue.value);yield S(Ve,e,"扫雷游戏参数配置(分签)"),z.success("配置已保存")}catch(e){z.error("保存失败")}finally{i.value=!1}});return m(()=>{ze()}),(e,l)=>{const a=W,n=x,d=E,r=C,m=D,z=b,N=L,S=A,I=P,J=T,Ve=K,ze=F,Pe=G,Ne=M,Se=$,Ie=R,Je=Q,Ae=H,Le=Y;return c(),p("div",B,[_(Le,{class:"box-card main-card"},{header:f(()=>[v("div",X,[v("div",Z,[l[17]||(l[17]=v("span",{class:"title"},"扫雷游戏参数配置",-1)),_(a,{type:"info",size:"small",class:"ml-2"},{default:f(()=>[...l[16]||(l[16]=[h("全局模板",-1)])]),_:1})]),_(d,{type:"primary",loading:i.value,onClick:He,class:"save-btn"},{default:f(()=>[_(n,null,{default:f(()=>[_(k(O))]),_:1}),l[18]||(l[18]=h(" 保存全部配置 ",-1))]),_:1},8,["loading"])])]),default:f(()=>[_(Ae,{modelValue:t.value,"onUpdate:modelValue":l[15]||(l[15]=e=>t.value=e),class:"config-tabs"},{default:f(()=>[_(I,{label:"服务器配置",name:"server"},{default:f(()=>[v("div",ee,[_(S,{model:Ue.value,"label-width":"140px"},{default:f(()=>[_(r,{title:"注意:此处配置将覆盖系统默认设置",type:"warning","show-icon":"",closable:!1,class:"mb-4"}),_(m,{"content-position":"left"},{default:f(()=>[...l[19]||(l[19]=[h("客户端链接",-1)])]),_:1}),_(N,{label:"游戏大厅/客户端URL"},{default:f(()=>[_(z,{modelValue:Ue.value.client_url,"onUpdate:modelValue":l[0]||(l[0]=e=>Ue.value.client_url=e),placeholder:"例如: https://game.1024tool.vip",class:"full-width"},null,8,["modelValue"]),l[20]||(l[20]=v("div",{class:"hint"},"小程序将跳转到此地址加载游戏资源",-1))]),_:1}),_(m,{"content-position":"left"},{default:f(()=>[...l[21]||(l[21]=[h("Nakama 服务端",-1)])]),_:1}),_(N,{label:"服务器地址 (Host)"},{default:f(()=>[_(z,{modelValue:Ue.value.server,"onUpdate:modelValue":l[1]||(l[1]=e=>Ue.value.server=e),placeholder:"例如: wss://nakama.yourdomain.com",class:"full-width"},null,8,["modelValue"]),l[22]||(l[22]=v("div",{class:"hint"},"Nakama 服务器的 WebSocket 地址",-1))]),_:1}),_(N,{label:"服务器密钥 (Key)"},{default:f(()=>[_(z,{modelValue:Ue.value.key,"onUpdate:modelValue":l[2]||(l[2]=e=>Ue.value.key=e),placeholder:"defaultkey",class:"full-width"},null,8,["modelValue"]),l[23]||(l[23]=v("div",{class:"hint"},"Nakama 服务器的连接密钥",-1))]),_:1})]),_:1},8,["model"])])]),_:1}),_(I,{label:"棋盘与规则",name:"board"},{default:f(()=>[v("div",le,[_(S,{model:Ue.value,"label-width":"140px"},{default:f(()=>[_(m,{"content-position":"left"},{default:f(()=>[...l[24]||(l[24]=[h("地图设定",-1)])]),_:1}),_(ze,{gutter:40},{default:f(()=>[_(Ve,{span:12},{default:f(()=>[_(N,{label:"网格大小"},{default:f(()=>[_(J,{modelValue:Ue.value.grid_size,"onUpdate:modelValue":l[3]||(l[3]=e=>Ue.value.grid_size=e),min:5,max:20,class:"full-width"},null,8,["modelValue"]),l[25]||(l[25]=v("div",{class:"hint"},"默认 10 (10x10 = 100格)",-1))]),_:1})]),_:1}),_(Ve,{span:12},{default:f(()=>[_(N,{label:"炸弹数量"},{default:f(()=>[_(J,{modelValue:Ue.value.bomb_count,"onUpdate:modelValue":l[4]||(l[4]=e=>Ue.value.bomb_count=e),min:1,max:100,class:"full-width"},null,8,["modelValue"]),l[26]||(l[26]=v("div",{class:"hint"},"建议值 20-35",-1))]),_:1})]),_:1}),_(Ve,{span:12},{default:f(()=>[_(N,{label:"每回合时长(秒)"},{default:f(()=>[_(J,{modelValue:Ue.value.turn_duration,"onUpdate:modelValue":l[5]||(l[5]=e=>Ue.value.turn_duration=e),min:5,max:60,class:"full-width"},null,8,["modelValue"]),l[27]||(l[27]=v("div",{class:"hint"},"默认 15 秒",-1))]),_:1})]),_:1})]),_:1}),_(m,{"content-position":"left"},{default:f(()=>[...l[28]||(l[28]=[h("文本说明 (APP端展示)",-1)])]),_:1}),_(N,{label:"规则描述"},{default:f(()=>[_(z,{modelValue:Ue.value.rule_desc,"onUpdate:modelValue":l[6]||(l[6]=e=>Ue.value.rule_desc=e),type:"textarea",rows:8,placeholder:"请输入游戏规则..."},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1}),_(I,{label:"玩家与角色",name:"players"},{default:f(()=>[v("div",ae,[_(S,{model:Ue.value,"label-width":"140px"},{default:f(()=>[_(m,{"content-position":"left"},{default:f(()=>[...l[29]||(l[29]=[h("匹配设定",-1)])]),_:1}),_(N,{label:"匹配人数"},{default:f(()=>[_(J,{modelValue:Ue.value.match_player_count,"onUpdate:modelValue":l[7]||(l[7]=e=>Ue.value.match_player_count=e),min:2,max:10},null,8,["modelValue"]),l[30]||(l[30]=v("div",{class:"hint"},"需要多少人才能开始游戏(默认 2 人)",-1))]),_:1}),_(m,{"content-position":"left"},{default:f(()=>[...l[31]||(l[31]=[h("角色库管理",-1)])]),_:1}),v("div",te,[(c(),p(y,null,w(ke,e=>v("div",{key:e.type,class:"role-card"},[v("div",ie,g(e.icon),1),v("div",oe,[v("div",se,g(e.name),1),v("div",ne,g(e.skill),1),v("div",de,[l[32]||(l[32]=v("span",{class:"hp-label"},"血量:",-1)),_(J,{modelValue:Ue.value.character_hp[e.type],"onUpdate:modelValue":l=>Ue.value.character_hp[e.type]=l,min:1,max:10,size:"small"},null,8,["modelValue","onUpdate:modelValue"])])])])),64))])]),_:1},8,["model"])])]),_:1}),_(I,{label:"道具库管理",name:"items"},{default:f(()=>[v("div",ue,[_(S,{model:Ue.value,"label-width":"140px"},{default:f(()=>[_(m,{"content-position":"left"},{default:f(()=>[...l[33]||(l[33]=[h("道具总量范围",-1)])]),_:1}),_(ze,{gutter:40},{default:f(()=>[_(Ve,{span:12},{default:f(()=>[_(N,{label:"每局最少个数"},{default:f(()=>[_(J,{modelValue:Ue.value.item_min,"onUpdate:modelValue":l[8]||(l[8]=e=>Ue.value.item_min=e),min:0,max:50,class:"full-width"},null,8,["modelValue"])]),_:1})]),_:1}),_(Ve,{span:12},{default:f(()=>[_(N,{label:"每局最多个数"},{default:f(()=>[_(J,{modelValue:Ue.value.item_max,"onUpdate:modelValue":l[9]||(l[9]=e=>Ue.value.item_max=e),min:0,max:50,class:"full-width"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),_(m,{"content-position":"left"},{default:f(()=>[...l[34]||(l[34]=[h("具体道具开关",-1)])]),_:1}),_(Se,{data:xe,border:"",style:{width:"100%"},size:"small"},{default:f(()=>[_(Pe,{label:"道具名称",width:"120"},{default:f(e=>[v("span",re,g(e.row.name),1)]),_:1}),_(Pe,{label:"技能描述",prop:"desc"}),_(Pe,{label:"启用状态",width:"100",align:"center"},{default:f(e=>[_(Ne,{modelValue:Ue.value.enabled_items[e.row.type],"onUpdate:modelValue":l=>Ue.value.enabled_items[e.row.type]=l},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),_(Pe,{label:"生成权重",width:"150",align:"center"},{default:f(e=>[_(J,{modelValue:Ue.value.item_weights[e.row.type],"onUpdate:modelValue":l=>Ue.value.item_weights[e.row.type]=l,min:1,max:100,size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:1})]),_:1})]),_:1},8,["model"])])]),_:1}),_(I,{label:"奖励设定",name:"rewards"},{default:f(()=>[v("div",me,[_(S,{model:Ue.value,"label-width":"140px"},{default:f(()=>[_(m,{"content-position":"left"},{default:f(()=>[...l[35]||(l[35]=[h("获胜奖励 (商城奖品)",-1)])]),_:1}),_(N,{label:"奖品选择"},{default:f(()=>[_(Je,{modelValue:Ue.value.winner_reward_product_id,"onUpdate:modelValue":l[10]||(l[10]=e=>Ue.value.winner_reward_product_id=e),filterable:"",remote:"",clearable:"",placeholder:"搜索商城商品 (中奖后进入待发货)","remote-method":Ee,loading:o.value,class:"full-width"},{default:f(()=>[(c(!0),p(y,null,w(s.value,e=>(c(),j(Ie,{key:e.id,label:e.name,value:e.id},{default:f(()=>[v("div",pe,[e.image?(c(),p("img",{key:0,src:e.image,class:"product-thumb"},null,8,ce)):V("",!0),v("span",null,g(e.name),1),v("span",_e,"¥"+g((e.price/100).toFixed(2)),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),_(N,{label:"积分奖励 (兜底)"},{default:f(()=>[_(J,{modelValue:Ue.value.winner_reward_points,"onUpdate:modelValue":l[11]||(l[11]=e=>Ue.value.winner_reward_points=e),min:0,class:"full-width"},null,8,["modelValue"]),l[36]||(l[36]=v("div",{class:"form-hint"},"未设置商品或发放失败时的奖励",-1))]),_:1}),_(m,{"content-position":"left"},{default:f(()=>[...l[37]||(l[37]=[h("参与奖励 (商城奖品)",-1)])]),_:1}),_(N,{label:"奖品选择"},{default:f(()=>[_(Je,{modelValue:Ue.value.participation_reward_product_id,"onUpdate:modelValue":l[12]||(l[12]=e=>Ue.value.participation_reward_product_id=e),filterable:"",remote:"",clearable:"",placeholder:"搜索商城商品 (未获胜但完成比赛奖励)","remote-method":Ee,loading:o.value,class:"full-width"},{default:f(()=>[(c(!0),p(y,null,w(s.value,e=>(c(),j(Ie,{key:e.id,label:e.name,value:e.id},{default:f(()=>[v("div",fe,[e.image?(c(),p("img",{key:0,src:e.image,class:"product-thumb"},null,8,ve)):V("",!0),v("span",null,g(e.name),1),v("span",he,"¥"+g((e.price/100).toFixed(2)),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),_(N,{label:"积分奖励 (兜底)"},{default:f(()=>[_(J,{modelValue:Ue.value.participation_reward_points,"onUpdate:modelValue":l[13]||(l[13]=e=>Ue.value.participation_reward_points=e),min:0,class:"full-width"},null,8,["modelValue"]),l[38]||(l[38]=v("div",{class:"form-hint"},"未获胜玩家的基准奖励",-1))]),_:1}),_(m,{"content-position":"left"},{default:f(()=>[...l[39]||(l[39]=[h("宝箱优惠券奖励",-1)])]),_:1}),_(N,{label:"宝箱优惠券"},{default:f(()=>[_(Je,{modelValue:Ue.value.chest_coupon_id,"onUpdate:modelValue":l[14]||(l[14]=e=>Ue.value.chest_coupon_id=e),filterable:"",remote:"",clearable:"",placeholder:"搜索优惠券 (踩到宝箱时发放)","remote-method":Oe,loading:u.value,class:"full-width"},{default:f(()=>[(c(!0),p(y,null,w(q.value,e=>(c(),j(Ie,{key:e.id,label:e.name,value:e.id},{default:f(()=>[v("div",be,[v("span",null,g(e.name),1),v("span",ye,"面值 ¥"+g((e.discount_value/100).toFixed(2)),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),l[40]||(l[40]=v("div",{class:"form-hint"},"玩家踩到宝箱时将获得此优惠券",-1))]),_:1}),v("div",we,[_(n,null,{default:f(()=>[_(k(U))]),_:1}),l[41]||(l[41]=v("div",null,[v("strong",null,"说明"),h(": 此配置为全局默认奖励。如果未配置具体商品 ID,系统将发放默认积分奖励。 ")],-1))])]),_:1},8,["model"])])]),_:1}),_(I,{label:"配置预览",name:"debug"},{default:f(()=>[v("div",ge,[v("pre",je,g(JSON.stringify(Ue.value,null,2)),1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})])}}}),[["__scopeId","data-v-eb579752"]]);export{xe as default}; diff --git a/nginx/admin/assets/index-iyjiSOej.js.gz b/nginx/admin/assets/index-iyjiSOej.js.gz new file mode 100644 index 0000000..7ba65ec Binary files /dev/null and b/nginx/admin/assets/index-iyjiSOej.js.gz differ diff --git a/nginx/admin/assets/index-js0HKKV6.js b/nginx/admin/assets/index-js0HKKV6.js new file mode 100644 index 0000000..ee3697b --- /dev/null +++ b/nginx/admin/assets/index-js0HKKV6.js @@ -0,0 +1 @@ +import{d as e,a8 as l,a1 as a,c as t,ag as s,s as r,r as n,Y as i,an as u,bd as c,g as o,e3 as p,j as f,b_ as d,e4 as y,cg as v,e5 as h,cy as S,ah as m,at as g,az as x}from"./index-BoIUJTA2.js";const b=e({name:"ElSpaceItem",props:l({prefixCls:{type:String}}),setup(e,{slots:l}){const n=a("space"),i=t(()=>`${e.prefixCls||n.b()}__item`);return()=>s("div",{class:i.value},r(l,"default"))}}),E={small:8,default:12,large:16};const C=x(e({name:"ElSpace",props:l({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},class:{type:g([String,Object,Array]),default:""},style:{type:g([String,Array,Object]),default:""},alignment:{type:g(String),default:"center"},prefixCls:{type:String},spacer:{type:g([Object,String,Number,Array]),default:null,validator:e=>d(e)||c(e)||m(e)},wrap:Boolean,fill:Boolean,fillRatio:{type:Number,default:100},size:{type:[String,Array,Number],values:S,validator:e=>c(e)||u(e)&&2===e.length&&e.every(c)}}),setup(e,{slots:l}){const{classes:s,containerStyle:S,itemStyle:m}=function(e){const l=a("space"),s=t(()=>[l.b(),l.m(e.direction),e.class]),r=n(0),o=n(0),p=t(()=>[e.wrap||e.fill?{flexWrap:"wrap"}:{},{alignItems:e.alignment},{rowGap:`${o.value}px`,columnGap:`${r.value}px`},e.style]),f=t(()=>e.fill?{flexGrow:1,minWidth:`${e.fillRatio}%`}:{});return i(()=>{const{size:l="small",wrap:a,direction:t,fill:s}=e;if(u(l)){const[e=0,a=0]=l;r.value=e,o.value=a}else{let e;e=c(l)?l:E[l||"small"]||E.small,(a||s)&&"horizontal"===t?r.value=o.value=e:"horizontal"===t?(r.value=e,o.value=0):(o.value=e,r.value=0)}}),{classes:s,containerStyle:p,itemStyle:f}}(e);function g(l,a="",t=[]){const{prefixCls:s}=e;return l.forEach((e,l)=>{y(e)?u(e.children)&&e.children.forEach((e,l)=>{y(e)&&u(e.children)?g(e.children,`${a+l}-`,t):d(e)&&(null==e?void 0:e.type)===v?t.push(e):t.push(o(b,{style:m.value,prefixCls:s,key:`nested-${a+l}`},{default:()=>[e]},p.PROPS|p.STYLE,["style","prefixCls"]))}):h(e)&&t.push(o(b,{style:m.value,prefixCls:s,key:`LoopKey${a+l}`},{default:()=>[e]},p.PROPS|p.STYLE,["style","prefixCls"]))}),t}return()=>{var a;const{spacer:t,direction:n}=e,i=r(l,"default",{key:0},()=>[]);if(0===(null!=(a=i.children)?a:[]).length)return null;if(u(i.children)){let e=g(i.children);if(t){const l=e.length-1;e=e.reduce((e,a,s)=>{const r=[...e,a];return s!==l&&r.push(o("span",{style:[m.value,"vertical"===n?"width: 100%":null],key:s},[d(t)?t:f(t,p.TEXT)],p.STYLE)),r},[])}return o("div",{class:s.value,style:S.value},e,p.STYLE|p.CLASS)}return i.children}}}));export{C as E}; diff --git a/nginx/admin/assets/index-n5HeLR2m.js b/nginx/admin/assets/index-n5HeLR2m.js new file mode 100644 index 0000000..c5413c1 --- /dev/null +++ b/nginx/admin/assets/index-n5HeLR2m.js @@ -0,0 +1 @@ +import{_ as t}from"./index.vue_vue_type_script_setup_true_lang-52kir2M8.js";import"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./task-center-B4yQCrbd.js";import"./product-qKpGgPBm.js";import"./index-BaD29Izp.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-D2gD5Tn5.js";import"./index-ZsMdSUVI.js";import"./token-DWNpOE8r.js";import"./index-C_S0YbqD.js";import"./index-BnK4BbY2.js";export{t as default}; diff --git a/nginx/admin/assets/index-nMx0qMvh.css b/nginx/admin/assets/index-nMx0qMvh.css new file mode 100644 index 0000000..9e65cc9 --- /dev/null +++ b/nginx/admin/assets/index-nMx0qMvh.css @@ -0,0 +1 @@ +.page-container[data-v-ad05ce9e]{padding:20px}.search-card[data-v-ad05ce9e],.table-card[data-v-ad05ce9e]{padding:20px;background:#fff;border-radius:4px}.pagination-container[data-v-ad05ce9e]{display:flex;justify-content:flex-end;margin-top:20px} diff --git a/nginx/admin/assets/index-oPcNh_Ue.js b/nginx/admin/assets/index-oPcNh_Ue.js new file mode 100644 index 0000000..0f4159f --- /dev/null +++ b/nginx/admin/assets/index-oPcNh_Ue.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,o=(a,t,s)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[t]=s,i=(e,a)=>{for(var t in a||(a={}))r.call(a,t)&&o(e,t,a[t]);if(s)for(var t of s(a))l.call(a,t)&&o(e,t,a[t]);return e};import{d as n,dS as d,z as p,c as u,aZ as m,e8 as c,dT as f,r as b,t as h,H as x,b as y,e as j,g as v,w as g,p as k,I as E,J as _,h as w,s as O,aE as B,a2 as V,cx as P,i as S,f as R,m as W,N as I,E as L,j as M,v as $,ai as C,e9 as T,ea as Z,q as A,K as J}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{c as N,E as Q,a as U,b as Y,d as q,e as z}from"./tree-select-DdXiCp9j.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{E as D}from"./slider-DTwTybBj.js";/* empty css */import{E as F}from"./index-C_sVHlWz.js";import{E as H}from"./index-CXD7B41Z.js";import{E as K,a as G}from"./index-BcfO0-fK.js";import{a as X,E as ee}from"./index-D2gD5Tn5.js";import{E as ae,a as te}from"./index-D8nVJoNy.js";import{b as se,a as re}from"./index-DqTthkO7.js";import{E as le}from"./index-DGLhvuMQ.js";import{E as oe}from"./index-BneqRonp.js";import{E as ie}from"./index-rgHg98E6.js";import{E as ne}from"./index-C_S0YbqD.js";import{_ as de}from"./_plugin-vue_export-helper-BCo6x5W8.js";const pe={class:"form-buttons"},ue={class:"icon-wrapper"};var me,ce;const fe=de(n((me=i({},{name:"ArtSearchBar"}),ce={__name:"index",props:d({items:{default:()=>[]},span:{default:6},gutter:{default:12},isExpand:{type:Boolean,default:!1},defaultExpanded:{type:Boolean,default:!1},labelPosition:{default:"right"},labelWidth:{default:"70px"},showExpand:{type:Boolean,default:!0},buttonLeftLimit:{default:2},showReset:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},disabledSearch:{type:Boolean,default:!1}},{modelValue:{default:{}},modelModifiers:{}}),emits:d(["reset","search"],["update:modelValue"]),setup(e,{expose:a,emit:t}){const s={input:J,inputTag:z,number:ne,select:ee,switch:ie,checkbox:ae,checkboxgroup:te,radiogroup:re,date:oe,daterange:oe,datetime:oe,datetimerange:oe,rate:q,slider:D,cascader:le,timepicker:Y,timeselect:U,treeselect:Q},{width:r}=m(),{t:l}=p(),o=u(()=>r.value<500),n=c("formRef"),d=e,de=t,me=f(e,"modelValue"),ce=b(d.defaultExpanded),fe=["label","labelWidth","key","type","hidden","span","slots"],be=e=>{if(e.props)return e.props;const a=i({},e);return fe.forEach(e=>delete a[e]),a},he=e=>{if(!e.slots)return{};const a={};return Object.entries(e.slots).forEach(([e,t])=>{t&&(a[e]=t)}),a},xe=(e,a)=>N(e,Oe.value,a),ye=e=>{if(e.render)return e.render;const{type:a}=e;return s[a]||s.input},je=u(()=>{const e=d.items.filter(e=>!e.hidden);if(!d.isExpand&&!ce.value){const a=Math.floor(24/d.span)-1;return e.slice(0,a)}return e}),ve=u(()=>{const e=d.items.filter(e=>!e.hidden);return!d.isExpand&&d.showExpand&&e.length>Math.floor(24/d.span)-1}),ge=u(()=>ce.value?l("table.searchBar.collapse"):l("table.searchBar.expand")),ke=u(()=>({"justify-content":o.value?"flex-end":d.items.filter(e=>!e.hidden).length<=d.buttonLeftLimit?"flex-start":"flex-end"})),Ee=()=>{ce.value=!ce.value},_e=()=>{var e;null==(e=n.value)||e.resetFields(),Object.assign(me.value,Object.fromEntries(d.items.map(({key:e})=>[e,void 0]))),de("reset")},we=()=>{de("search")};a({ref:n,validate:(...e)=>{var a;return null==(a=n.value)?void 0:a.validate(...e)},reset:_e});const{span:Oe,gutter:Be,labelPosition:Ve,labelWidth:Pe}=h(d);return(a,t)=>{const s=X,r=se,o=K,n=H,d=L,p=C,u=F,m=G,c=x("ripple");return j(),y("section",{class:A(["art-search-bar art-card-sm",{"is-expanded":k(ce)}])},[v(m,V({ref:"formRef",model:me.value,"label-position":k(Ve)},i({},a.$attrs)),{default:g(()=>[v(u,{gutter:k(Be)},{default:g(()=>[(j(!0),y(E,null,_(k(je),e=>(j(),w(n,{key:e.key,xs:xe(e.span,"xs"),sm:xe(e.span,"sm"),md:xe(e.span,"md"),lg:xe(e.span,"lg"),xl:xe(e.span,"xl")},{default:g(()=>[v(o,{label:e.label,prop:e.key,"label-width":e.label?e.labelWidth||k(Pe):void 0},{default:g(()=>[O(a.$slots,e.key,{item:e,modelValue:me.value},()=>[(j(),w(B(ye(e)),V({modelValue:me.value[e.key],"onUpdate:modelValue":a=>me.value[e.key]=a},{ref_for:!0},be(e)),P({default:g(()=>{var a,t,l;return["select"===e.type&&(null==(a=be(e))?void 0:a.options)?(j(!0),y(E,{key:0},_(be(e).options,e=>(j(),w(s,V({ref_for:!0},e,{key:e.value}),null,16))),128)):S("",!0),"checkboxgroup"===e.type&&(null==(t=be(e))?void 0:t.options)?(j(!0),y(E,{key:1},_(be(e).options,e=>(j(),w(k(ae),V({ref_for:!0},e,{key:e.value}),null,16))),128)):S("",!0),"radiogroup"===e.type&&(null==(l=be(e))?void 0:l.options)?(j(!0),y(E,{key:2},_(be(e).options,e=>(j(),w(r,V({ref_for:!0},e,{key:e.value}),null,16))),128)):S("",!0)]}),_:2},[_(he(e),(e,a)=>({name:a,fn:g(()=>[(j(),w(B(e)))])}))]),1040,["modelValue","onUpdate:modelValue"]))],!0)]),_:2},1032,["label","prop","label-width"])]),_:2},1032,["xs","sm","md","lg","xl"]))),128)),v(n,{xs:24,sm:24,md:k(Oe),lg:k(Oe),xl:k(Oe),class:"action-column"},{default:g(()=>[R("div",{class:"action-buttons-wrapper",style:W(k(ke))},[R("div",pe,[e.showReset?I((j(),w(d,{key:0,class:"reset-button",onClick:_e},{default:g(()=>[M($(k(l)("table.searchBar.reset")),1)]),_:1})),[[c]]):S("",!0),e.showSearch?I((j(),w(d,{key:1,type:"primary",class:"search-button",onClick:we,disabled:e.disabledSearch},{default:g(()=>[M($(k(l)("table.searchBar.search")),1)]),_:1},8,["disabled"])),[[c]]):S("",!0)]),k(ve)?(j(),y("div",{key:0,class:"filter-toggle",onClick:Ee},[R("span",null,$(k(ge)),1),R("div",ue,[v(p,null,{default:g(()=>[k(ce)?(j(),w(k(T),{key:0})):(j(),w(k(Z),{key:1}))]),_:1})])])):S("",!0)],4)]),_:1},8,["md","lg","xl"])]),_:3},8,["gutter"])]),_:3},16,["model","label-position"])],2)}}},a(me,t(ce)))),[["__scopeId","data-v-3e63e0e5"]]);export{fe as _}; diff --git a/nginx/admin/assets/index-rgHg98E6.js b/nginx/admin/assets/index-rgHg98E6.js new file mode 100644 index 0000000..2c77d69 --- /dev/null +++ b/nginx/admin/assets/index-rgHg98E6.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,i=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,l=(a,i,t)=>i in a?e(a,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[i]=t,s=(e,a)=>{for(var i in a||(a={}))n.call(a,i)&&l(e,i,a[i]);if(t)for(var i of t(a))c.call(a,i)&&l(e,i,a[i]);return e};import{bv as o,ah as v,bd as r,a8 as d,dV as u,bc as b,br as f,bB as p,at as y,am as m,dY as h,a0 as k,d as g,bD as x,bx as I,a1 as V,bE as w,by as S,c as T,r as P,cB as O,A as _,o as B,b as j,e as A,f as C,i as E,P as N,p as z,q as D,h as K,w as L,aE as Z,ai as $,v as q,s as F,g as Y,cZ as G,m as H,O as J,n as M,dZ as Q,aa as R,ax as U,az as W}from"./index-BoIUJTA2.js";const X=d(s({modelValue:{type:[Boolean,String,Number],default:!1},disabled:Boolean,loading:Boolean,size:{type:String,validator:h},width:{type:[String,Number],default:""},inlinePrompt:Boolean,inactiveActionIcon:{type:m},activeActionIcon:{type:m},activeIcon:{type:m},inactiveIcon:{type:m},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},beforeChange:{type:y(Function)},id:String,tabindex:{type:[String,Number]}},p(["ariaLabel"]))),ee={[f]:e=>o(e)||v(e)||r(e),[b]:e=>o(e)||v(e)||r(e),[u]:e=>o(e)||v(e)||r(e)},ae="ElSwitch",ie=g({name:ae});var te;const ne=W(k(g((te=s({},ie),a(te,i({props:X,emits:ee,setup(e,{expose:a,emit:i}){const t=e,{formItem:n}=x(),c=I(),l=V("switch"),{inputId:s}=w(t,{formItemContext:n}),v=S(T(()=>t.loading)),r=P(!1!==t.modelValue),d=P(),p=P(),y=T(()=>[l.b(),l.m(c.value),l.is("disabled",v.value),l.is("checked",W.value)]),m=T(()=>[l.e("label"),l.em("label","left"),l.is("active",!W.value)]),h=T(()=>[l.e("label"),l.em("label","right"),l.is("active",W.value)]),k=T(()=>({width:O(t.width)}));_(()=>t.modelValue,()=>{r.value=!0});const g=T(()=>!!r.value&&t.modelValue),W=T(()=>g.value===t.activeValue);[t.activeValue,t.inactiveValue].includes(g.value)||(i(f,t.inactiveValue),i(b,t.inactiveValue),i(u,t.inactiveValue)),_(W,e=>{var a;d.value.checked=e,t.validateEvent&&(null==(a=null==n?void 0:n.validate)||a.call(n,"change").catch(e=>U()))});const X=()=>{const e=W.value?t.inactiveValue:t.activeValue;i(f,e),i(b,e),i(u,e),M(()=>{d.value.checked=W.value})},ee=()=>{if(v.value)return;const{beforeChange:e}=t;if(!e)return void X();const a=e();[Q(a),o(a)].includes(!0)||R(ae,"beforeChange must return type `Promise` or `boolean`"),Q(a)?a.then(e=>{e&&X()}).catch(e=>{}):a&&X()};return B(()=>{d.value.checked=W.value}),a({focus:()=>{var e,a;null==(a=null==(e=d.value)?void 0:e.focus)||a.call(e)},checked:W}),(e,a)=>(A(),j("div",{class:D(z(y)),onClick:J(ee,["prevent"])},[C("input",{id:z(s),ref_key:"input",ref:d,class:D(z(l).e("input")),type:"checkbox",role:"switch","aria-checked":z(W),"aria-disabled":z(v),"aria-label":e.ariaLabel,name:e.name,"true-value":e.activeValue,"false-value":e.inactiveValue,disabled:z(v),tabindex:e.tabindex,onChange:X,onKeydown:N(ee,["enter"])},null,42,["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex","onKeydown"]),e.inlinePrompt||!e.inactiveIcon&&!e.inactiveText?E("v-if",!0):(A(),j("span",{key:0,class:D(z(m))},[e.inactiveIcon?(A(),K(z($),{key:0},{default:L(()=>[(A(),K(Z(e.inactiveIcon)))]),_:1})):E("v-if",!0),!e.inactiveIcon&&e.inactiveText?(A(),j("span",{key:1,"aria-hidden":z(W)},q(e.inactiveText),9,["aria-hidden"])):E("v-if",!0)],2)),C("span",{ref_key:"core",ref:p,class:D(z(l).e("core")),style:H(z(k))},[e.inlinePrompt?(A(),j("div",{key:0,class:D(z(l).e("inner"))},[e.activeIcon||e.inactiveIcon?(A(),K(z($),{key:0,class:D(z(l).is("icon"))},{default:L(()=>[(A(),K(Z(z(W)?e.activeIcon:e.inactiveIcon)))]),_:1},8,["class"])):e.activeText||e.inactiveText?(A(),j("span",{key:1,class:D(z(l).is("text")),"aria-hidden":!z(W)},q(z(W)?e.activeText:e.inactiveText),11,["aria-hidden"])):E("v-if",!0)],2)):E("v-if",!0),C("div",{class:D(z(l).e("action"))},[e.loading?(A(),K(z($),{key:0,class:D(z(l).is("loading"))},{default:L(()=>[Y(z(G))]),_:1},8,["class"])):z(W)?F(e.$slots,"active-action",{key:1},()=>[e.activeActionIcon?(A(),K(z($),{key:0},{default:L(()=>[(A(),K(Z(e.activeActionIcon)))]),_:1})):E("v-if",!0)]):z(W)?E("v-if",!0):F(e.$slots,"inactive-action",{key:2},()=>[e.inactiveActionIcon?(A(),K(z($),{key:0},{default:L(()=>[(A(),K(Z(e.inactiveActionIcon)))]),_:1})):E("v-if",!0)])],2)],6),e.inlinePrompt||!e.activeIcon&&!e.activeText?E("v-if",!0):(A(),j("span",{key:1,class:D(z(h))},[e.activeIcon?(A(),K(z($),{key:0},{default:L(()=>[(A(),K(Z(e.activeIcon)))]),_:1})):E("v-if",!0),!e.activeIcon&&e.activeText?(A(),j("span",{key:1,"aria-hidden":!z(W)},q(e.activeText),9,["aria-hidden"])):E("v-if",!0)],2))],10,["onClick"]))}})))),[["__file","switch.vue"]]));export{ne as E}; diff --git a/nginx/admin/assets/index-sK8AD9wr.js b/nginx/admin/assets/index-sK8AD9wr.js new file mode 100644 index 0000000..cb645c6 --- /dev/null +++ b/nginx/admin/assets/index-sK8AD9wr.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,d=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,r=(t,n,d)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:d}):t[n]=d;import{a8 as s,cy as i,a0 as l,d as c,r as h,bx as u,a1 as p,c as f,ad as v,o as y,bp as g,h as N,e as k,w as C,s as x,m as b,q as m,p as E,aE as K,bP as D,az as w,cV as S,bv as A,an as O,ar as T,k as B,bZ as L,ah as I,bT as _,ao as $,aw as z,n as j,a9 as q,ag as M,ae as P,a6 as F,a4 as H,G as R,N as U,aj as W,b as Y,f as V,g as Z,i as G,O as J,I as Q,J as X,cZ as ee,ai as te,A as ne,em as de,af as oe,cY as ae,Z as re,_ as se,v as ie,am as le,at as ce,bK as he,bF as ue,cm as pe}from"./index-BoIUJTA2.js";import{s as fe}from"./token-DWNpOE8r.js";import{E as ve}from"./index-BObA9rVr.js";import{E as ye}from"./index-D8nVJoNy.js";const ge=s({type:{type:String,values:["primary","success","info","warning","danger",""],default:""},size:{type:String,values:i,default:""},truncated:Boolean,lineClamp:{type:[String,Number]},tag:{type:String,default:"span"}}),Ne=c({name:"ElText"}),ke=c((Ce=((e,t)=>{for(var n in t||(t={}))o.call(t,n)&&r(e,n,t[n]);if(d)for(var n of d(t))a.call(t,n)&&r(e,n,t[n]);return e})({},Ne),t(Ce,n({props:ge,setup(e){const t=e,n=h(),d=u(),o=p("text"),a=f(()=>[o.b(),o.m(t.type),o.m(d.value),o.is("truncated",t.truncated),o.is("line-clamp",!v(t.lineClamp))]),r=()=>{var e,d,o,a,r,s,i;if(D().title)return;let l=!1;const c=(null==(e=n.value)?void 0:e.textContent)||"";if(t.truncated){const e=null==(d=n.value)?void 0:d.offsetWidth,t=null==(o=n.value)?void 0:o.scrollWidth;e&&t&&t>e&&(l=!0)}else if(!v(t.lineClamp)){const e=null==(a=n.value)?void 0:a.offsetHeight,t=null==(r=n.value)?void 0:r.scrollHeight;e&&t&&t>e&&(l=!0)}l?null==(s=n.value)||s.setAttribute("title",c):null==(i=n.value)||i.removeAttribute("title")};return y(r),g(r),(e,t)=>(k(),N(K(e.tag),{ref_key:"textRef",ref:n,class:m(E(a)),style:b({"-webkit-line-clamp":e.lineClamp})},{default:C(()=>[x(e.$slots,"default")]),_:3},8,["class","style"]))}}))));var Ce;const xe=w(l(ke,[["__file","text.vue"]])),be="$treeNodeId",me=function(e,t){t&&!t[be]&&Object.defineProperty(t,be,{value:e.id,enumerable:!1,configurable:!1,writable:!1})},Ee=(e,t)=>null==t?void 0:t[e||be],Ke=(e,t,n)=>{const d=e.value.currentNode;n();const o=e.value.currentNode;d!==o&&t("current-change",o?o.data:null,o)},De=e=>{let t=!0,n=!0,d=!0;for(let o=0,a=e.length;o{e.canFocus=t,Ae(e.childNodes,t)})};let Oe=0;class Te{constructor(e){this.isLeafByUser=void 0,this.isLeaf=void 0,this.id=Oe++,this.text=null,this.checked=!1,this.indeterminate=!1,this.data=null,this.expanded=!1,this.parent=null,this.visible=!0,this.isCurrent=!1,this.canFocus=!1;for(const t in e)S(e,t)&&(this[t]=e[t]);this.level=0,this.loaded=!1,this.childNodes=[],this.loading=!1,this.parent&&(this.level=this.parent.level+1)}initialize(){var e;const t=this.store;if(!t)throw new Error("[Node]store is required!");t.registerNode(this);const n=t.props;if(n&&void 0!==n.isLeaf){const e=Se(this,"isLeaf");A(e)&&(this.isLeafByUser=e)}if(!0!==t.lazy&&this.data?(this.setData(this.data),t.defaultExpandAll&&(this.expanded=!0,this.canFocus=!0)):this.level>0&&t.lazy&&t.defaultExpandAll&&!this.isLeafByUser&&this.expand(),O(this.data)||me(this,this.data),!this.data)return;const d=t.defaultExpandedKeys,o=t.key;o&&!T(this.key)&&d&&d.includes(this.key)&&this.expand(null,t.autoExpandParent),o&&void 0!==t.currentNodeKey&&this.key===t.currentNodeKey&&(t.currentNode=this,t.currentNode.isCurrent=!0),t.lazy&&t._initDefaultCheckedNode(this),this.updateLeafState(),1!==this.level&&!0!==(null==(e=this.parent)?void 0:e.expanded)||(this.canFocus=!0)}setData(e){let t;O(e)||me(this,e),this.data=e,this.childNodes=[],t=0===this.level&&O(this.data)?this.data:Se(this,"children")||[];for(let n=0,d=t.length;n-1)return e.childNodes[t+1]}return null}get previousSibling(){const e=this.parent;if(e){const t=e.childNodes.indexOf(this);if(t>-1)return t>0?e.childNodes[t-1]:null}return null}contains(e,t=!0){return(this.childNodes||[]).some(n=>n===e||t&&n.contains(e))}remove(){const e=this.parent;e&&e.removeChild(this)}insertChild(e,t,n){if(!e)throw new Error("InsertChild error: child is required.");if(!(e instanceof Te)){if(!n){const n=this.getChildren(!0);(null==n?void 0:n.includes(e.data))||(v(t)||t<0?null==n||n.push(e.data):null==n||n.splice(t,0,e.data))}Object.assign(e,{parent:this,store:this.store}),(e=B(new Te(e)))instanceof Te&&e.initialize()}e.level=this.level+1,v(t)||t<0?this.childNodes.push(e):this.childNodes.splice(t,0,e),this.updateLeafState()}insertBefore(e,t){let n;t&&(n=this.childNodes.indexOf(t)),this.insertChild(e,n)}insertAfter(e,t){let n;t&&(n=this.childNodes.indexOf(t),-1!==n&&(n+=1)),this.insertChild(e,n)}removeChild(e){const t=this.getChildren()||[],n=t.indexOf(e.data);n>-1&&t.splice(n,1);const d=this.childNodes.indexOf(e);d>-1&&(this.store&&this.store.deregisterNode(e),e.parent=null,this.childNodes.splice(d,1)),this.updateLeafState()}removeChildByData(e){let t=null;for(let n=0;n{if(t){let e=this.parent;for(;e&&e.level>0;)e.expanded=!0,e=e.parent}this.expanded=!0,e&&e(),Ae(this.childNodes,!0)};this.shouldLoadData()?this.loadData(e=>{O(e)&&(this.checked?this.setChecked(!0,!0):this.store.checkStrictly||we(this),n())}):n()}doCreateChildren(e,t={}){e.forEach(e=>{this.insertChild(Object.assign({data:e},t),void 0,!0)})}collapse(){this.expanded=!1,Ae(this.childNodes,!1)}shouldLoadData(){return Boolean(!0===this.store.lazy&&this.store.load&&!this.loaded)}updateLeafState(){if(!0===this.store.lazy&&!0!==this.loaded&&void 0!==this.isLeafByUser)return void(this.isLeaf=this.isLeafByUser);const e=this.childNodes;!this.store.lazy||!0===this.store.lazy&&!0===this.loaded?this.isLeaf=!e||0===e.length:this.isLeaf=!1}setChecked(e,t,n,d){if(this.indeterminate="half"===e,this.checked=!0===e,this.store.checkStrictly)return;if(!this.shouldLoadData()||this.store.checkDescendants){const{all:n,allWithoutDisable:o}=De(this.childNodes);this.isLeaf||n||!o||(this.checked=!1,e=!1);const a=()=>{if(t){const n=this.childNodes;for(let r=0,s=n.length;r{a(),we(this)},{checked:!1!==e});a()}const o=this.parent;o&&0!==o.level&&(n||we(o))}getChildren(e=!1){if(0===this.level)return this.data;const t=this.data;if(!t)return null;const n=this.store.props;let d="children";return n&&(d=n.children||"children"),v(t[d])&&(t[d]=null),e&&!t[d]&&(t[d]=[]),t[d]}updateChildren(){const e=this.getChildren()||[],t=this.childNodes.map(e=>e.data),n={},d=[];e.forEach((e,o)=>{const a=e[be];!!a&&t.findIndex(e=>(null==e?void 0:e[be])===a)>=0?n[a]={index:o,data:e}:d.push({index:o,data:e})}),this.store.lazy||t.forEach(e=>{n[null==e?void 0:e[be]]||this.removeChildByData(e)}),d.forEach(({index:e,data:t})=>{this.insertChild({data:t},e)}),this.updateLeafState()}loadData(e,t={}){if(!0!==this.store.lazy||!this.store.load||this.loaded||this.loading&&!Object.keys(t).length)e&&e.call(this);else{this.loading=!0;const n=n=>{this.childNodes=[],this.doCreateChildren(n,t),this.loaded=!0,this.loading=!1,this.updateLeafState(),e&&e.call(this,n)},d=()=>{this.loading=!1};this.store.load(this,n,d)}}eachNode(e){const t=[this];for(;t.length;){const n=t.shift();t.unshift(...n.childNodes),e(n)}}reInitChecked(){this.store.checkStrictly||we(this)}}class Be{constructor(e){this.lazy=!1,this.checkStrictly=!1,this.autoExpandParent=!1,this.defaultExpandAll=!1,this.checkDescendants=!1,this.currentNode=null,this.currentNodeKey=null;for(const t in e)S(e,t)&&(this[t]=e[t]);this.nodesMap={}}initialize(){if(this.root=new Te({data:this.data,store:this}),this.root.initialize(),this.lazy&&this.load){(0,this.load)(this.root,e=>{this.root.doCreateChildren(e),this._initDefaultCheckedNodes()},_)}else this._initDefaultCheckedNodes()}filter(e){const t=this.filterNodeMethod,n=this.lazy,d=function(o){return a=this,r=null,s=function*(){const a=o.root?o.root.childNodes:o.childNodes;for(const[n,o]of a.entries())o.visible=!!(null==t?void 0:t.call(o,e,o.data,o)),n%80==0&&n>0&&(yield j()),yield d(o);if(!o.visible&&a.length){let e=!0;e=!a.some(e=>e.visible),o.root?o.root.visible=!1===e:o.visible=!1===e}e&&o.visible&&!o.isLeaf&&(n&&!o.loaded||o.expand())},new Promise((e,t)=>{var n=e=>{try{o(s.next(e))}catch(n){t(n)}},d=e=>{try{o(s.throw(e))}catch(n){t(n)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,d);o((s=s.apply(a,r)).next())});var a,r,s};d(this)}setData(e){e!==this.root.data?(this.nodesMap={},this.root.setData(e),this._initDefaultCheckedNodes(),this.setCurrentNodeKey(this.currentNodeKey)):this.root.updateChildren()}getNode(e){if(e instanceof Te)return e;const t=$(e)?Ee(this.key,e):e;return this.nodesMap[t]||null}insertBefore(e,t){var n;const d=this.getNode(t);null==(n=d.parent)||n.insertBefore({data:e},d)}insertAfter(e,t){var n;const d=this.getNode(t);null==(n=d.parent)||n.insertAfter({data:e},d)}remove(e){const t=this.getNode(e);t&&t.parent&&(t===this.currentNode&&(this.currentNode=null),t.parent.removeChild(t))}append(e,t){const n=z(t)?this.root:this.getNode(t);n&&n.insertChild({data:e})}_initDefaultCheckedNodes(){const e=this.defaultCheckedKeys||[],t=this.nodesMap;e.forEach(e=>{const n=t[e];n&&n.setChecked(!0,!this.checkStrictly)})}_initDefaultCheckedNode(e){const t=this.defaultCheckedKeys||[];!T(e.key)&&t.includes(e.key)&&e.setChecked(!0,!this.checkStrictly)}setDefaultCheckedKey(e){e!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=e,this._initDefaultCheckedNodes())}registerNode(e){const t=this.key;if(e&&e.data)if(t){const t=e.key;T(t)||(this.nodesMap[t]=e)}else this.nodesMap[e.id]=e}deregisterNode(e){this.key&&e&&e.data&&(e.childNodes.forEach(e=>{this.deregisterNode(e)}),delete this.nodesMap[e.key])}getCheckedNodes(e=!1,t=!1){const n=[],d=function(o){(o.root?o.root.childNodes:o.childNodes).forEach(o=>{(o.checked||t&&o.indeterminate)&&(!e||e&&o.isLeaf)&&n.push(o.data),d(o)})};return d(this),n}getCheckedKeys(e=!1){return this.getCheckedNodes(e).map(e=>(e||{})[this.key])}getHalfCheckedNodes(){const e=[],t=function(n){(n.root?n.root.childNodes:n.childNodes).forEach(n=>{n.indeterminate&&e.push(n.data),t(n)})};return t(this),e}getHalfCheckedKeys(){return this.getHalfCheckedNodes().map(e=>(e||{})[this.key])}_getAllNodes(){const e=[],t=this.nodesMap;for(const n in t)S(t,n)&&e.push(t[n]);return e}updateChildren(e,t){const n=this.nodesMap[e];if(!n)return;const d=n.childNodes;for(let o=d.length-1;o>=0;o--){const e=d[o];this.remove(e.data)}for(let o=0,a=t.length;oe.level-t.level),o=Object.create(null),a=Object.keys(n);d.forEach(e=>e.setChecked(!1,!1));const r=t=>{t.childNodes.forEach(t=>{var n;o[t.data[e]]=!0,(null==(n=t.childNodes)?void 0:n.length)&&r(t)})};for(let s=0,i=d.length;s{t.isLeaf||t.setChecked(!1,!1),e(t)})};e(n)}}else n.checked&&!o[i]&&n.setChecked(!1,!1)}}setCheckedNodes(e,t=!1){const n=this.key,d={};e.forEach(e=>{d[(e||{})[n]]=!0}),this._setCheckedKeys(n,t,d)}setCheckedKeys(e,t=!1){this.defaultCheckedKeys=e;const n=this.key,d={};e.forEach(e=>{d[e]=!0}),this._setCheckedKeys(n,t,d)}setDefaultExpandedKeys(e){e=e||[],this.defaultExpandedKeys=e,e.forEach(e=>{const t=this.getNode(e);t&&t.expand(null,this.autoExpandParent)})}setChecked(e,t,n){const d=this.getNode(e);d&&d.setChecked(!!t,n)}getCurrentNode(){return this.currentNode}setCurrentNode(e){const t=this.currentNode;t&&(t.isCurrent=!1),this.currentNode=e,this.currentNode.isCurrent=!0}setUserCurrentNode(e,t=!0){var n;const d=e[this.key],o=this.nodesMap[d];this.setCurrentNode(o),t&&this.currentNode&&this.currentNode.level>1&&(null==(n=this.currentNode.parent)||n.expand(null,!0))}setCurrentNodeKey(e,t=!0){var n;if(this.currentNodeKey=e,z(e))return this.currentNode&&(this.currentNode.isCurrent=!1),void(this.currentNode=null);const d=this.getNode(e);d&&(this.setCurrentNode(d),t&&this.currentNode&&this.currentNode.level>1&&(null==(n=this.currentNode.parent)||n.expand(null,!0)))}}const Le="RootTree",Ie="NodeInstance",_e="TreeNodeMap";var $e=l(c({name:"ElTreeNodeContent",props:{node:{type:Object,required:!0},renderContent:Function},setup(e){const t=p("tree"),n=q(Ie),d=q(Le);return()=>{const o=e.node,{data:a,store:r}=o;return e.renderContent?e.renderContent(M,{_self:n,node:o,data:a,store:r}):x(d.ctx.slots,"default",{node:o,data:a},()=>[M(xe,{tag:"span",truncated:!0,class:t.be("node","label")},()=>[o.label])])}}}),[["__file","tree-node-content.vue"]]);function ze(e){const t=q(_e,null),n={treeNodeExpand:t=>{var n;e.node!==t&&(null==(n=e.node)||n.collapse())},children:[]};return t&&t.children.push(n),P(_e,n),{broadcastExpanded:t=>{if(e.accordion)for(const e of n.children)e.treeNodeExpand(t)}}}const je=Symbol("dragEvents");const qe=c({name:"ElTreeNode",components:{ElCollapseTransition:ve,ElCheckbox:ye,NodeContent:$e,ElIcon:te,Loading:ee},props:{node:{type:Te,default:()=>({})},props:{type:Object,default:()=>({})},accordion:Boolean,renderContent:Function,renderAfterExpand:Boolean,showCheckbox:Boolean},emits:["node-expand"],setup(e,t){const n=p("tree"),{broadcastExpanded:d}=ze(e),o=q(Le),a=h(!1),r=h(!1),s=h(),i=h(),l=h(),c=q(je),u=oe();P(Ie,u),e.node.expanded&&(a.value=!0,r.value=!0);const f=o.props.props.children||"children";ne(()=>{var t;const n=null==(t=e.node.data)?void 0:t[f];return n&&[...n]},()=>{e.node.updateChildren()}),ne(()=>e.node.indeterminate,t=>{y(e.node.checked,t)}),ne(()=>e.node.checked,t=>{y(t,e.node.indeterminate)}),ne(()=>e.node.childNodes.length,()=>e.node.reInitChecked()),ne(()=>e.node.expanded,e=>{j(()=>a.value=e),e&&(r.value=!0)});const v=e=>Ee(o.props.nodeKey,e.data),y=(t,n)=>{s.value===t&&i.value===n||o.ctx.emit("check-change",e.node.data,t,n),s.value=t,i.value=n},g=()=>{e.node.isLeaf||(a.value?(o.ctx.emit("node-collapse",e.node.data,e.node,u),e.node.collapse()):e.node.expand(()=>{t.emit("node-expand",e.node.data,e.node,u)}))},N=t=>{e.node.setChecked(t,!(null==o?void 0:o.props.checkStrictly)),j(()=>{const t=o.store.value;o.ctx.emit("check",e.node.data,{checkedNodes:t.getCheckedNodes(),checkedKeys:t.getCheckedKeys(),halfCheckedNodes:t.getHalfCheckedNodes(),halfCheckedKeys:t.getHalfCheckedKeys()})})};return{ns:n,node$:l,tree:o,expanded:a,childNodeRendered:r,oldChecked:s,oldIndeterminate:i,getNodeKey:v,getNodeClass:t=>{const n=e.props.class;if(!n)return{};let d;if(L(n)){const{data:e}=t;d=n(e,t)}else d=n;return I(d)?{[d]:!0}:d},handleSelectChange:y,handleClick:t=>{Ke(o.store,o.ctx.emit,()=>{var t;if(null==(t=null==o?void 0:o.props)?void 0:t.nodeKey){const t=v(e.node);o.store.value.setCurrentNodeKey(t)}else o.store.value.setCurrentNode(e.node)}),o.currentNode.value=e.node,o.props.expandOnClickNode&&g(),(o.props.checkOnClickNode||e.node.isLeaf&&o.props.checkOnClickLeaf&&e.showCheckbox)&&!e.node.disabled&&N(!e.node.checked),o.ctx.emit("node-click",e.node.data,e.node,u,t)},handleContextMenu:t=>{var n;(null==(n=o.instance.vnode.props)?void 0:n.onNodeContextmenu)&&(t.stopPropagation(),t.preventDefault()),o.ctx.emit("node-contextmenu",t,e.node.data,e.node,u)},handleExpandIconClick:g,handleCheckChange:N,handleChildNodeExpand:(e,t,n)=>{d(t),o.ctx.emit("node-expand",e,t,n)},handleDragStart:t=>{o.props.draggable&&c.treeNodeDragStart({event:t,treeNode:e})},handleDragOver:t=>{t.preventDefault(),o.props.draggable&&c.treeNodeDragOver({event:t,treeNode:{$el:l.value,node:e.node}})},handleDrop:e=>{e.preventDefault()},handleDragEnd:e=>{o.props.draggable&&c.treeNodeDragEnd(e)},CaretRight:de}}});const Me=w(l(c({name:"ElTree",components:{ElTreeNode:l(qe,[["render",function(e,t,n,d,o,a){const r=R("el-icon"),s=R("el-checkbox"),i=R("loading"),l=R("node-content"),c=R("el-tree-node"),h=R("el-collapse-transition");return U((k(),Y("div",{ref:"node$",class:m([e.ns.b("node"),e.ns.is("expanded",e.expanded),e.ns.is("current",e.node.isCurrent),e.ns.is("hidden",!e.node.visible),e.ns.is("focusable",!e.node.disabled),e.ns.is("checked",!e.node.disabled&&e.node.checked),e.getNodeClass(e.node)]),role:"treeitem",tabindex:"-1","aria-expanded":e.expanded,"aria-disabled":e.node.disabled,"aria-checked":e.node.checked,draggable:e.tree.props.draggable,"data-key":e.getNodeKey(e.node),onClick:J(e.handleClick,["stop"]),onContextmenu:e.handleContextMenu,onDragstart:J(e.handleDragStart,["stop"]),onDragover:J(e.handleDragOver,["stop"]),onDragend:J(e.handleDragEnd,["stop"]),onDrop:J(e.handleDrop,["stop"])},[V("div",{class:m(e.ns.be("node","content")),style:b({paddingLeft:(e.node.level-1)*e.tree.props.indent+"px"})},[e.tree.props.icon||e.CaretRight?(k(),N(r,{key:0,class:m([e.ns.be("node","expand-icon"),e.ns.is("leaf",e.node.isLeaf),{expanded:!e.node.isLeaf&&e.expanded}]),onClick:J(e.handleExpandIconClick,["stop"])},{default:C(()=>[(k(),N(K(e.tree.props.icon||e.CaretRight)))]),_:1},8,["class","onClick"])):G("v-if",!0),e.showCheckbox?(k(),N(s,{key:1,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:!!e.node.disabled,onClick:J(()=>{},["stop"]),onChange:e.handleCheckChange},null,8,["model-value","indeterminate","disabled","onClick","onChange"])):G("v-if",!0),e.node.loading?(k(),N(r,{key:2,class:m([e.ns.be("node","loading-icon"),e.ns.is("loading")])},{default:C(()=>[Z(i)]),_:1},8,["class"])):G("v-if",!0),Z(l,{node:e.node,"render-content":e.renderContent},null,8,["node","render-content"])],6),Z(h,null,{default:C(()=>[!e.renderAfterExpand||e.childNodeRendered?U((k(),Y("div",{key:0,class:m(e.ns.be("node","children")),role:"group","aria-expanded":e.expanded,onClick:J(()=>{},["stop"])},[(k(!0),Y(Q,null,X(e.node.childNodes,t=>(k(),N(c,{key:e.getNodeKey(t),"render-content":e.renderContent,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,node:t,accordion:e.accordion,props:e.props,onNodeExpand:e.handleChildNodeExpand},null,8,["render-content","render-after-expand","show-checkbox","node","accordion","props","onNodeExpand"]))),128))],10,["aria-expanded","onClick"])),[[W,e.expanded]]):G("v-if",!0)]),_:1})],42,["aria-expanded","aria-disabled","aria-checked","draggable","data-key","onClick","onContextmenu","onDragstart","onDragover","onDragend","onDrop"])),[[W,e.node.visible]])}],["__file","tree-node.vue"]])},props:{data:{type:ce(Array),default:()=>[]},emptyText:{type:String},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkOnClickLeaf:{type:Boolean,default:!0},checkDescendants:Boolean,autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:Array,defaultExpandedKeys:Array,currentNodeKey:[String,Number],renderContent:{type:ce(Function)},showCheckbox:Boolean,draggable:Boolean,allowDrag:{type:ce(Function)},allowDrop:{type:ce(Function)},props:{type:Object,default:()=>({children:"children",label:"label",disabled:"disabled"})},lazy:Boolean,highlightCurrent:Boolean,load:Function,filterNodeMethod:Function,accordion:Boolean,indent:{type:Number,default:18},icon:{type:le}},emits:["check-change","current-change","node-click","node-contextmenu","node-collapse","node-expand","check","node-drag-start","node-drag-end","node-drop","node-drag-leave","node-drag-enter","node-drag-over"],setup(e,t){const{t:n}=he(),d=p("tree"),o=q(fe,null),a=h(new Be({key:e.nodeKey,data:e.data,lazy:e.lazy,props:e.props,load:e.load,currentNodeKey:e.currentNodeKey,checkStrictly:e.checkStrictly,checkDescendants:e.checkDescendants,defaultCheckedKeys:e.defaultCheckedKeys,defaultExpandedKeys:e.defaultExpandedKeys,autoExpandParent:e.autoExpandParent,defaultExpandAll:e.defaultExpandAll,filterNodeMethod:e.filterNodeMethod}));a.value.initialize();const r=h(a.value.root),s=h(null),i=h(null),l=h(null),{broadcastExpanded:c}=ze(e),{dragState:u}=function({props:e,ctx:t,el$:n,dropIndicator$:d,store:o}){const a=p("tree"),r=h({showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0,dropType:null});return P(je,{treeNodeDragStart:({event:n,treeNode:d})=>{if(n.dataTransfer){if(L(e.allowDrag)&&!e.allowDrag(d.node))return n.preventDefault(),!1;n.dataTransfer.effectAllowed="move";try{n.dataTransfer.setData("text/plain","")}catch(o){}r.value.draggingNode=d,t.emit("node-drag-start",d.node,n)}},treeNodeDragOver:({event:o,treeNode:s})=>{if(!o.dataTransfer)return;const i=s,l=r.value.dropNode;l&&l.node.id!==i.node.id&&F(l.$el,a.is("drop-inner"));const c=r.value.draggingNode;if(!c||!i)return;let h=!0,u=!0,p=!0,f=!0;L(e.allowDrop)&&(h=e.allowDrop(c.node,i.node,"prev"),f=u=e.allowDrop(c.node,i.node,"inner"),p=e.allowDrop(c.node,i.node,"next")),o.dataTransfer.dropEffect=u||h||p?"move":"none",(h||u||p)&&(null==l?void 0:l.node.id)!==i.node.id&&(l&&t.emit("node-drag-leave",c.node,l.node,o),t.emit("node-drag-enter",c.node,i.node,o)),r.value.dropNode=h||u||p?i:null,i.node.nextSibling===c.node&&(p=!1),i.node.previousSibling===c.node&&(h=!1),i.node.contains(c.node,!1)&&(u=!1),(c.node===i.node||c.node.contains(i.node))&&(h=!1,u=!1,p=!1);const v=i.$el,y=v.querySelector(`.${a.be("node","content")}`).getBoundingClientRect(),g=n.value.getBoundingClientRect();let N;const k=h?u?.25:p?.45:1:Number.NEGATIVE_INFINITY,C=p?u?.75:h?.55:0:Number.POSITIVE_INFINITY;let x=-9999;const b=o.clientY-y.top;N=by.height*C?"after":u?"inner":"none";const m=v.querySelector(`.${a.be("node","expand-icon")}`).getBoundingClientRect(),E=d.value;"before"===N?x=m.top-g.top:"after"===N&&(x=m.bottom-g.top),E.style.top=`${x}px`,E.style.left=m.right-g.left+"px","inner"===N?H(v,a.is("drop-inner")):F(v,a.is("drop-inner")),r.value.showDropIndicator="before"===N||"after"===N,r.value.allowDrop=r.value.showDropIndicator||f,r.value.dropType=N,t.emit("node-drag-over",c.node,i.node,o)},treeNodeDragEnd:e=>{var n,d;const{draggingNode:s,dropType:i,dropNode:l}=r.value;if(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="move"),(null==s?void 0:s.node.data)&&l){const r={data:s.node.data};"none"!==i&&s.node.remove(),"before"===i?null==(n=l.node.parent)||n.insertBefore(r,l.node):"after"===i?null==(d=l.node.parent)||d.insertAfter(r,l.node):"inner"===i&&l.node.insertChild(r),"none"!==i&&(o.value.registerNode(r),o.value.key&&s.node.eachNode(e=>{var t;null==(t=o.value.nodesMap[e.data[o.value.key]])||t.setChecked(e.checked,!o.value.checkStrictly)})),F(l.$el,a.is("drop-inner")),t.emit("node-drag-end",s.node,l.node,i,e),"none"!==i&&t.emit("node-drop",s.node,l.node,i,e)}s&&!l&&t.emit("node-drag-end",s.node,null,i,e),r.value.showDropIndicator=!1,r.value.draggingNode=null,r.value.dropNode=null,r.value.allowDrop=!0}}),{dragState:r}}({props:e,ctx:t,el$:i,dropIndicator$:l,store:a});!function({el$:e},t){const n=p("tree");function d(e,n){var d,o;const a=t.value.getNode(e[n].dataset.key);return a.canFocus&&a.visible&&((null==(d=a.parent)?void 0:d.expanded)||0===(null==(o=a.parent)?void 0:o.level))}y(()=>{o()}),g(()=>{Array.from(e.value.querySelectorAll("input[type=checkbox]")).forEach(e=>{e.setAttribute("tabindex","-1")})}),ae(e,"keydown",t=>{const o=t.target;if(!o.className.includes(n.b("node")))return;const a=re(t),r=Array.from(e.value.querySelectorAll(`.${n.is("focusable")}[role=treeitem]`)),s=r.indexOf(o);let i;if([se.up,se.down].includes(a)){if(t.preventDefault(),a===se.up){i=-1===s?0:0!==s?s-1:r.length-1;const e=i;for(;!d(r,i);){if(i--,i===e){i=-1;break}i<0&&(i=r.length-1)}}else{i=-1===s?0:s=r.length&&(i=0)}}-1!==i&&r[i].focus()}[se.left,se.right].includes(a)&&(t.preventDefault(),o.click());const l=o.querySelector('[type="checkbox"]');[se.enter,se.numpadEnter,se.space].includes(a)&&l&&(t.preventDefault(),l.click())});const o=()=>{var t;if(!e.value)return;const d=Array.from(e.value.querySelectorAll(`.${n.is("focusable")}[role=treeitem]`));Array.from(e.value.querySelectorAll("input[type=checkbox]")).forEach(e=>{e.setAttribute("tabindex","-1")});const o=e.value.querySelectorAll(`.${n.is("checked")}[role=treeitem]`);o.length?o[0].setAttribute("tabindex","0"):null==(t=d[0])||t.setAttribute("tabindex","0")}}({el$:i},a);const v=f(()=>{const{childNodes:e}=r.value,t=!!o&&0!==o.hasFilteredOptions;return(!e||0===e.length||e.every(({visible:e})=>!e))&&!t});ne(()=>e.currentNodeKey,e=>{a.value.setCurrentNodeKey(null!=e?e:null)}),ne(()=>e.defaultCheckedKeys,(e,t)=>{ue(e,t)||a.value.setDefaultCheckedKey(null!=e?e:[])}),ne(()=>e.defaultExpandedKeys,e=>{a.value.setDefaultExpandedKeys(null!=e?e:[])}),ne(()=>e.data,e=>{a.value.setData(e)},{deep:!0}),ne(()=>e.checkStrictly,e=>{a.value.checkStrictly=e});const N=()=>{const e=a.value.getCurrentNode();return e?e.data:null};return P(Le,{ctx:t,props:e,store:a,root:r,currentNode:s,instance:oe()}),P(pe,void 0),{ns:d,store:a,root:r,currentNode:s,dragState:u,el$:i,dropIndicator$:l,isEmpty:v,filter:t=>{if(!e.filterNodeMethod)throw new Error("[Tree] filterNodeMethod is required when filter");a.value.filter(t)},getNodeKey:t=>Ee(e.nodeKey,t.data),getNodePath:t=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in getNodePath");const n=a.value.getNode(t);if(!n)return[];const d=[n.data];let o=n.parent;for(;o&&o!==r.value;)d.push(o.data),o=o.parent;return d.reverse()},getCheckedNodes:(e,t)=>a.value.getCheckedNodes(e,t),getCheckedKeys:e=>a.value.getCheckedKeys(e),getCurrentNode:N,getCurrentKey:()=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in getCurrentKey");const t=N();return t?t[e.nodeKey]:null},setCheckedNodes:(t,n)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedNodes");a.value.setCheckedNodes(t,n)},setCheckedKeys:(t,n)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedKeys");a.value.setCheckedKeys(t,n)},setChecked:(e,t,n)=>{a.value.setChecked(e,t,n)},getHalfCheckedNodes:()=>a.value.getHalfCheckedNodes(),getHalfCheckedKeys:()=>a.value.getHalfCheckedKeys(),setCurrentNode:(n,d=!0)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentNode");Ke(a,t.emit,()=>{c(n),a.value.setUserCurrentNode(n,d)})},setCurrentKey:(n,d=!0)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentKey");Ke(a,t.emit,()=>{c(),a.value.setCurrentNodeKey(null!=n?n:null,d)})},t:n,getNode:e=>a.value.getNode(e),remove:e=>{a.value.remove(e)},append:(e,t)=>{a.value.append(e,t)},insertBefore:(e,t)=>{a.value.insertBefore(e,t)},insertAfter:(e,t)=>{a.value.insertAfter(e,t)},handleNodeExpand:(e,n,d)=>{c(n),t.emit("node-expand",e,n,d)},updateKeyChildren:(t,n)=>{if(!e.nodeKey)throw new Error("[Tree] nodeKey is required in updateKeyChild");a.value.updateChildren(t,n)}}}}),[["render",function(e,t,n,d,o,a){const r=R("el-tree-node");return k(),Y("div",{ref:"el$",class:m([e.ns.b(),e.ns.is("dragging",!!e.dragState.draggingNode),e.ns.is("drop-not-allow",!e.dragState.allowDrop),e.ns.is("drop-inner","inner"===e.dragState.dropType),{[e.ns.m("highlight-current")]:e.highlightCurrent}]),role:"tree"},[(k(!0),Y(Q,null,X(e.root.childNodes,t=>(k(),N(r,{key:e.getNodeKey(t),node:t,props:e.props,accordion:e.accordion,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,"render-content":e.renderContent,onNodeExpand:e.handleNodeExpand},null,8,["node","props","accordion","render-after-expand","show-checkbox","render-content","onNodeExpand"]))),128)),e.isEmpty?(k(),Y("div",{key:0,class:m(e.ns.e("empty-block"))},[x(e.$slots,"empty",{},()=>{var t;return[V("span",{class:m(e.ns.e("empty-text"))},ie(null!=(t=e.emptyText)?t:e.t("el.tree.emptyText")),3)]})],2)):G("v-if",!0),U(V("div",{ref:"dropIndicator$",class:m(e.ns.e("drop-indicator"))},null,2),[[W,e.dragState.showDropIndicator]])],2)}],["__file","tree.vue"]]));export{Me as E}; diff --git a/nginx/admin/assets/index-sK8AD9wr.js.gz b/nginx/admin/assets/index-sK8AD9wr.js.gz new file mode 100644 index 0000000..07f3e1f Binary files /dev/null and b/nginx/admin/assets/index-sK8AD9wr.js.gz differ diff --git a/nginx/admin/assets/index-v8M328ei.js b/nginx/admin/assets/index-v8M328ei.js new file mode 100644 index 0000000..63b3024 --- /dev/null +++ b/nginx/admin/assets/index-v8M328ei.js @@ -0,0 +1 @@ +var e=(e,t,a)=>new Promise((l,i)=>{var o=e=>{try{s(a.next(e))}catch(t){i(t)}},r=e=>{try{s(a.throw(e))}catch(t){i(t)}},s=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);s((a=a.apply(e,t)).next())});import{c1 as t,d as a,r as l,k as i,B as o,c as r,o as s,b as u,e as m,g as p,w as d,E as n,j as c,ai as _,p as j,b5 as g,h as v,v as f,K as y,T as h,aV as x}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as b}from"./index-Bwtbh5WQ.js";/* empty css *//* empty css *//* empty css *//* empty css */import{_ as w}from"./index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js";import{A as V}from"./index-BaXJ8CyS.js";import{E as k}from"./index-BjQJlHTd.js";import{E as q}from"./index-ZsMdSUVI.js";import{a as C,E as U}from"./index-BcfO0-fK.js";import{E}from"./index-CSr24crn.js";import{E as A}from"./index-C_S0YbqD.js";import{a as S,b as T}from"./index-DqTthkO7.js";import{E as O}from"./index-CjpBlozU.js";import{_ as B}from"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./el-empty-CV-PB2A2.js";import"./index-BjuMygln.js";import"./index-Cp4NEpJ7.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./_initCloneObject-DRmC-q3t.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./_baseIteratee-CtIat01j.js";import"./castArray-nM8ho4U3.js";import"./debounce-DQl5eUwG.js";import"./index-D8nVJoNy.js";import"./index-CXORCV4U.js";import"./index-C1haaLtB.js";import"./index-D2gD5Tn5.js";import"./token-DWNpOE8r.js";import"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import"./iconify-DFoKediz.js";/* empty css *//* empty css *//* empty css */import"./el-dropdown-item-D7SYN_RE.js";import"./dropdown-Dk_wSiK6.js";import"./refs-Cw5r5QN8.js";/* empty css */import"./index-CZJaGuxf.js";import"./index-1OHUSGeP.js";import"./_baseClone-Ct7RL6h5.js";import"./index-ClDjAOOe.js";import"./cloneDeep-B1gZFPYK.js";import"./index-BnK4BbY2.js";import"./use-dialog-FwJ-QdmW.js";const D=()=>t.get({url:"admin/matching_card_types"}),I=e=>t.post({url:"admin/matching_card_types",data:e}),R=(e,a)=>t.put({url:`admin/matching_card_types/${e}`,data:a}),$=e=>t.del({url:`admin/matching_card_types/${e}`}),z={class:"page-container"},P={key:1},W=B(a({__name:"index",setup(t){const a=l(!1),B=l(!1),W=l([]),F=l(!1),H=l("create"),J=l(),K=i({id:0,code:"",name:"",image_url:"",quantity:9,sort:0,status:1}),L={code:[{required:!0,message:"请输入卡牌代码",trigger:"blur"}],name:[{required:!0,message:"请输入卡牌名称",trigger:"blur"}]},M=o(),N=l([]),Q=r(()=>"/api/common/upload/wangeditor"),X=r(()=>({Authorization:M.accessToken})),Y=e=>{var t,a;let l=(null==(t=null==e?void 0:e.data)?void 0:t.url)||(null==e?void 0:e.url)||"";if(!l&&"string"==typeof e)try{const t=JSON.parse(e);l=(null==(a=null==t?void 0:t.data)?void 0:a.url)||(null==t?void 0:t.url)||""}catch(i){}l&&(K.image_url=l,N.value=[{name:"card_image",url:l}])},G=[{prop:"id",label:"ID",width:80},{prop:"code",label:"代码",width:100},{prop:"name",label:"名称",minWidth:120},{prop:"image_url",label:"图片",width:80,slot:"image_url",useSlot:!0},{prop:"quantity",label:"每局数量",width:100},{prop:"sort",label:"排序",width:80},{prop:"status",label:"状态",width:80,slot:"status",useSlot:!0},{prop:"created_at",label:"创建时间",width:160},{prop:"actions",label:"操作",width:150,fixed:"right",slot:"actions",useSlot:!0}],Z=()=>e(this,null,function*(){a.value=!0;try{const e=yield D();W.value=e.list||[]}catch(e){h.error("获取卡牌类型列表失败")}finally{a.value=!1}}),ee=()=>{K.id=0,K.code="",K.name="",K.image_url="",K.quantity=9,K.sort=0,K.status=1,N.value=[],H.value="create",F.value=!0},te=t=>e(this,null,function*(){try{yield x.confirm(`确定要删除卡牌类型"${t.name}"吗?`,"删除确认",{type:"warning"}),yield $(t.id),h.success("删除成功"),Z()}catch(e){"cancel"!==e&&h.error("删除失败")}}),ae=()=>e(this,null,function*(){if(J.value){yield J.value.validate(),B.value=!0;try{const e={code:K.code,name:K.name,image_url:K.image_url,quantity:K.quantity,sort:K.sort,status:K.status};"create"===H.value?(yield I(e),h.success("创建成功")):(yield R(K.id,e),h.success("更新成功")),F.value=!1,Z()}catch(e){h.error("create"===H.value?"创建失败":"更新失败")}finally{B.value=!1}}});return s(()=>{Z()}),(e,t)=>{const l=_,i=n,o=q,r=k,s=b,h=y,x=U,D=E,I=A,R=T,$=S,M=C,le=O;return m(),u("div",z,[p(V,{columns:G,"onUpdate:columns":t[0]||(t[0]=e=>G=e),loading:a.value,onRefresh:Z},{left:d(()=>[p(i,{type:"primary",onClick:ee},{default:d(()=>[p(l,null,{default:d(()=>[p(j(g))]),_:1}),t[8]||(t[8]=c(" 新增卡牌类型 ",-1))]),_:1})]),_:1},8,["loading"]),p(s,{loading:a.value,columns:G,data:W.value,"empty-text":"暂无数据"},{actions:d(({row:e})=>[p(w,{type:"edit",onClick:t=>(e=>{K.id=e.id,K.code=e.code,K.name=e.name,K.image_url=e.image_url||"",K.quantity=e.quantity,K.sort=e.sort,K.status=e.status,N.value=e.image_url?[{name:"card_image",url:e.image_url}]:[],H.value="edit",F.value=!0})(e)},null,8,["onClick"]),p(w,{type:"delete",onClick:t=>te(e)},null,8,["onClick"])]),status:d(({row:e})=>[p(o,{type:1===e.status?"success":"danger"},{default:d(()=>[c(f(1===e.status?"启用":"禁用"),1)]),_:2},1032,["type"])]),image_url:d(({row:e})=>[e.image_url?(m(),v(r,{key:0,src:e.image_url,"preview-src-list":[e.image_url],style:{width:"40px",height:"40px"},fit:"cover"},null,8,["src","preview-src-list"])):(m(),u("span",P,"-"))]),_:1},8,["loading","data"]),p(le,{modelValue:F.value,"onUpdate:modelValue":t[7]||(t[7]=e=>F.value=e),title:"create"===H.value?"新增卡牌类型":"编辑卡牌类型",width:"500px"},{footer:d(()=>[p(i,{onClick:t[6]||(t[6]=e=>F.value=!1)},{default:d(()=>[...t[11]||(t[11]=[c("取消",-1)])]),_:1}),p(i,{type:"primary",loading:B.value,onClick:ae},{default:d(()=>[...t[12]||(t[12]=[c(" 确定 ",-1)])]),_:1},8,["loading"])]),default:d(()=>[p(M,{ref_key:"formRef",ref:J,model:K,rules:L,"label-width":"100px"},{default:d(()=>[p(x,{label:"卡牌代码",prop:"code"},{default:d(()=>[p(h,{modelValue:K.code,"onUpdate:modelValue":t[1]||(t[1]=e=>K.code=e),placeholder:"如 A, B, C",maxlength:"16"},null,8,["modelValue"])]),_:1}),p(x,{label:"卡牌名称",prop:"name"},{default:d(()=>[p(h,{modelValue:K.name,"onUpdate:modelValue":t[2]||(t[2]=e=>K.name=e),placeholder:"请输入名称",maxlength:"64"},null,8,["modelValue"])]),_:1}),p(x,{label:"卡牌图片",prop:"image_url"},{default:d(()=>[p(D,{action:Q.value,name:"file",accept:"image/*","list-type":"picture-card",headers:X.value,"on-success":Y,"file-list":N.value,limit:1,"on-remove":()=>(K.image_url="",N.value=[])},{default:d(()=>[p(l,null,{default:d(()=>[p(j(g))]),_:1})]),_:1},8,["action","headers","file-list","on-remove"])]),_:1}),p(x,{label:"每局数量",prop:"quantity"},{default:d(()=>[p(I,{modelValue:K.quantity,"onUpdate:modelValue":t[3]||(t[3]=e=>K.quantity=e),min:1,max:99},null,8,["modelValue"])]),_:1}),p(x,{label:"排序",prop:"sort"},{default:d(()=>[p(I,{modelValue:K.sort,"onUpdate:modelValue":t[4]||(t[4]=e=>K.sort=e),min:0},null,8,["modelValue"])]),_:1}),p(x,{label:"状态",prop:"status"},{default:d(()=>[p($,{modelValue:K.status,"onUpdate:modelValue":t[5]||(t[5]=e=>K.status=e)},{default:d(()=>[p(R,{label:1},{default:d(()=>[...t[9]||(t[9]=[c("启用",-1)])]),_:1}),p(R,{label:0},{default:d(()=>[...t[10]||(t[10]=[c("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),[["__scopeId","data-v-be600db5"]]);export{W as default}; diff --git a/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-52kir2M8.js b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-52kir2M8.js new file mode 100644 index 0000000..bbf8760 --- /dev/null +++ b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-52kir2M8.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,l=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable,r=(a,l,t)=>l in a?e(a,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[l]=t,i=(e,a)=>{for(var l in a||(a={}))o.call(a,l)&&r(e,l,a[l]);if(t)for(var l of t(a))d.call(a,l)&&r(e,l,a[l]);return e},n=(e,t)=>a(e,l(t)),p=(e,a,l)=>new Promise((t,o)=>{var d=e=>{try{i(l.next(e))}catch(a){o(a)}},r=e=>{try{i(l.throw(e))}catch(a){o(a)}},i=e=>e.done?t(e.value):Promise.resolve(e.value).then(d,r);i((l=l.apply(e,a)).next())});import{d as u,a as s,c as y,r as _,o as m,H as c,b as f,e as v,g as w,w as h,f as g,N as V,h as b,j as x,E as q,p as U,b2 as j,I as k,J as O,K as C,v as P}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{l as N,d as I,f as E,a as D,b as S,u as z}from"./task-center-B4yQCrbd.js";import{f as J}from"./product-qKpGgPBm.js";import{E as Q}from"./index-BaD29Izp.js";import{a as $,E as T}from"./index-BjuMygln.js";import{E as H,a as A}from"./index-D2gD5Tn5.js";import{E as F}from"./index-C_S0YbqD.js";const G={class:"art-full-height"},K={class:"flex items-center justify-between mb-3"},M={key:0,class:"flex items-center"},R={key:1,class:"flex items-center gap-2"},Y={key:2,class:"flex items-center gap-2"},B={key:3},L={key:4,class:"flex items-center gap-2"},W={key:5,class:"flex items-center gap-2"},X={class:"flex justify-between"},Z={class:"text-gray-400"},ee={key:6},ae=u(n(i({},{name:"TaskCenterRewards"}),{__name:"index",setup(e,{expose:a}){const l=s(),t=y(()=>Number(l.params.id)),o=_([]);a({refresh:ye});const d=_([]),r=_([]),u=_(!1),ae=_(!1),le=_([]),te=_([]),oe=_([]),de=_([]),re=_(!1),ie=_(!1),ne=_(!1),pe=_(!1),ue={first_order:"首单",order_count:"下单数",order_amount:"消费金额(元)",invite_count:"邀请人数"};function se(e){return`${ue[e.metric]||e.metric} ${e.operator} ${"order_amount"===e.metric?e.threshold/100:e.threshold}`}function ye(){return p(this,null,function*(){ae.value=!0;try{const e=yield N(t.value);o.value=(e.list||[]).map(e=>n(i({},e),{id:Number(e.id)}));const a=(yield I(t.value)).list||[];d.value=a.map(e=>{var a;const l=e.reward_payload||{};return{id:e.id,tier_id:e.tier_id?Number(e.tier_id):void 0,reward_type:e.reward_type,reward_payload_text:JSON.stringify(l,null,2),quantity:null!=(a=e.quantity)?a:0,payload_points:l.points||l.Points||100,payload_coupon_id:l.coupon_id||l.CouponID,payload_coupon_qty:l.quantity||l.Quantity||1,payload_card_id:l.card_id||l.CardID,payload_card_qty:l.quantity||l.Quantity||1,payload_title_id:l.title_id||l.TitleID,payload_game_code:l.game_code||l.GameCode,payload_game_amount:l.amount||l.Amount||1,payload_product_id:l.product_id||l.ProductID,payload_product_qty:l.quantity||l.Quantity||1}}),r.value=[],me(""),ce(""),fe(""),ve("")}finally{ae.value=!1}})}function _e(){var e;d.value.push({id:void 0,tier_id:null==(e=o.value[0])?void 0:e.id,reward_type:"points",reward_payload_text:"{}",quantity:1,payload_points:100,payload_coupon_qty:1,payload_card_qty:1})}function me(e){return p(this,null,function*(){re.value=!0;try{const a=yield E({name:e,page_size:50});le.value=a.list||[]}finally{re.value=!1}})}function ce(e){return p(this,null,function*(){ie.value=!0;try{const a=yield D({name:e,page_size:50});te.value=a.list||[]}finally{ie.value=!1}})}function fe(e){return p(this,null,function*(){ne.value=!0;try{const a=yield S({name:e,page_size:50});oe.value=a.list||[]}finally{ne.value=!1}})}function ve(e){return p(this,null,function*(){pe.value=!0;try{const a=yield J({name:e,page:1,page_size:50,status:1});de.value=a.list||[]}finally{pe.value=!1}})}function we(){return p(this,null,function*(){u.value=!0;try{const e=d.value.map(e=>{let a={};if("points"===e.reward_type)a={points:e.payload_points};else if("coupon"===e.reward_type)a={coupon_id:e.payload_coupon_id,quantity:e.payload_coupon_qty};else if("item_card"===e.reward_type)a={card_id:e.payload_card_id,quantity:e.payload_card_qty};else if("title"===e.reward_type)a={title_id:e.payload_title_id};else if("game_ticket"===e.reward_type)a={game_code:e.payload_game_code,amount:e.payload_game_amount};else if("product"===e.reward_type)a={product_id:e.payload_product_id,quantity:e.payload_product_qty};else try{a=JSON.parse(e.reward_payload_text||"{}")}catch(l){a={}}return{id:e.id,tier_id:Number(e.tier_id),reward_type:e.reward_type,reward_payload:a,quantity:e.quantity}});yield z(t.value,{rewards:e,delete_ids:r.value}),yield ye()}finally{u.value=!1}})}return m(ye),(e,a)=>{const l=q,t=A,i=H,n=$,p=F,s=C,y=T,_=Q,m=c("ripple"),N=j;return v(),f("div",G,[w(_,{class:"art-table-card",shadow:"never"},{default:h(()=>[g("div",K,[a[2]||(a[2]=g("div",{class:"text-base font-medium"},"任务奖励配置",-1)),g("div",null,[V((v(),b(l,{onClick:_e},{default:h(()=>[...a[0]||(a[0]=[x("新增奖励",-1)])]),_:1})),[[m]]),V((v(),b(l,{type:"primary",onClick:we,loading:U(u)},{default:h(()=>[...a[1]||(a[1]=[x("保存",-1)])]),_:1},8,["loading"])),[[m]])])]),V((v(),b(y,{data:U(d),border:"",stripe:""},{default:h(()=>[w(n,{prop:"tier_id",label:"规则",width:"220"},{default:h(({row:e})=>[(v(),b(i,{modelValue:e.tier_id,"onUpdate:modelValue":a=>e.tier_id=a,placeholder:"选择规则",style:{width:"100%"},key:U(o).length},{default:h(()=>[(v(!0),f(k,null,O(U(o),e=>(v(),b(t,{key:e.id,label:se(e),value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue"]))]),_:1}),w(n,{prop:"reward_type",label:"类型",width:"120",align:"center"},{default:h(({row:e})=>[w(i,{modelValue:e.reward_type,"onUpdate:modelValue":a=>e.reward_type=a,placeholder:"奖励类型",style:{width:"100%"},onChange:()=>function(e){"points"===e.reward_type?e.payload_points=100:"item_card"===e.reward_type?e.payload_card_qty=1:"coupon"===e.reward_type?e.payload_coupon_qty=1:"game_ticket"===e.reward_type?(e.payload_game_code="",e.payload_game_amount=1):"product"===e.reward_type&&(e.payload_product_id=void 0,e.payload_product_qty=1)}(e)},{default:h(()=>[w(t,{label:"积分",value:"points"}),w(t,{label:"优惠券",value:"coupon"}),w(t,{label:"道具卡",value:"item_card"}),w(t,{label:"称号",value:"title"}),w(t,{label:"游戏券",value:"game_ticket"}),w(t,{label:"商品",value:"product"})]),_:1},8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),w(n,{prop:"reward_payload",label:"奖励内容","min-width":"320"},{default:h(({row:e})=>["points"===e.reward_type?(v(),f("div",M,[a[3]||(a[3]=g("span",{class:"mr-2 text-gray-500"},"数量:",-1)),w(p,{modelValue:e.payload_points,"onUpdate:modelValue":a=>e.payload_points=a,min:1,"controls-position":"right",style:{width:"140px"}},null,8,["modelValue","onUpdate:modelValue"])])):"coupon"===e.reward_type?(v(),f("div",R,[w(i,{modelValue:e.payload_coupon_id,"onUpdate:modelValue":a=>e.payload_coupon_id=a,filterable:"",remote:"","remote-method":me,loading:U(re),placeholder:"搜索优惠券",style:{flex:"1"}},{default:h(()=>[(v(!0),f(k,null,O(U(le),e=>(v(),b(t,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","loading"]),a[4]||(a[4]=g("span",{class:"text-gray-500 whitespace-nowrap"},"x",-1)),w(p,{modelValue:e.payload_coupon_qty,"onUpdate:modelValue":a=>e.payload_coupon_qty=a,min:1,"controls-position":"right",style:{width:"80px"}},null,8,["modelValue","onUpdate:modelValue"])])):"item_card"===e.reward_type?(v(),f("div",Y,[w(i,{modelValue:e.payload_card_id,"onUpdate:modelValue":a=>e.payload_card_id=a,filterable:"",remote:"","remote-method":ce,loading:U(ie),placeholder:"搜索道具卡",style:{flex:"1"}},{default:h(()=>[(v(!0),f(k,null,O(U(te),e=>(v(),b(t,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","loading"]),a[5]||(a[5]=g("span",{class:"text-gray-500 whitespace-nowrap"},"x",-1)),w(p,{modelValue:e.payload_card_qty,"onUpdate:modelValue":a=>e.payload_card_qty=a,min:1,"controls-position":"right",style:{width:"80px"}},null,8,["modelValue","onUpdate:modelValue"])])):"title"===e.reward_type?(v(),f("div",B,[w(i,{modelValue:e.payload_title_id,"onUpdate:modelValue":a=>e.payload_title_id=a,filterable:"",remote:"","remote-method":fe,loading:U(ne),placeholder:"搜索称号",style:{width:"100%"}},{default:h(()=>[(v(!0),f(k,null,O(U(oe),e=>(v(),b(t,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","loading"])])):"game_ticket"===e.reward_type?(v(),f("div",L,[a[6]||(a[6]=g("span",{class:"mr-2 text-gray-500"},"游戏代码:",-1)),w(s,{modelValue:e.payload_game_code,"onUpdate:modelValue":a=>e.payload_game_code=a,placeholder:"如 minesweeper",style:{flex:"1"}},null,8,["modelValue","onUpdate:modelValue"]),a[7]||(a[7]=g("span",{class:"text-gray-500 whitespace-nowrap"},"数量:",-1)),w(p,{modelValue:e.payload_game_amount,"onUpdate:modelValue":a=>e.payload_game_amount=a,min:1,"controls-position":"right",style:{width:"80px"}},null,8,["modelValue","onUpdate:modelValue"])])):"product"===e.reward_type?(v(),f("div",W,[w(i,{modelValue:e.payload_product_id,"onUpdate:modelValue":a=>e.payload_product_id=a,filterable:"",remote:"","remote-method":ve,loading:U(pe),placeholder:"搜索商品",style:{flex:"1"}},{default:h(()=>[(v(!0),f(k,null,O(U(de),e=>(v(),b(t,{key:e.id,label:e.name,value:e.id},{default:h(()=>[g("div",X,[g("span",null,P(e.name),1),g("span",Z,"¥"+P((e.price/100).toFixed(2)),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","loading"]),a[8]||(a[8]=g("span",{class:"text-gray-500 whitespace-nowrap"},"x",-1)),w(p,{modelValue:e.payload_product_qty,"onUpdate:modelValue":a=>e.payload_product_qty=a,min:1,"controls-position":"right",style:{width:"80px"}},null,8,["modelValue","onUpdate:modelValue"])])):(v(),f("div",ee,[w(s,{type:"textarea",modelValue:e.reward_payload_text,"onUpdate:modelValue":a=>e.reward_payload_text=a,placeholder:"请输入JSON参数",rows:1},null,8,["modelValue","onUpdate:modelValue"])]))]),_:1}),w(n,{prop:"quantity",label:"发放份数",width:"120",align:"center"},{default:h(({row:e})=>[w(p,{modelValue:e.quantity,"onUpdate:modelValue":a=>e.quantity=a,min:0,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),w(n,{label:"操作",width:"80",align:"center",fixed:"right"},{default:h(({$index:e})=>[w(l,{link:"",type:"danger",onClick:a=>function(e){const a=d.value.splice(e,1)[0];(null==a?void 0:a.id)&&r.value.push(a.id)}(e)},{default:h(()=>[...a[9]||(a[9]=[x("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[N,U(ae)]])]),_:1})])}}}));export{ae as _}; diff --git a/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-52kir2M8.js.gz b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-52kir2M8.js.gz new file mode 100644 index 0000000..8f02469 Binary files /dev/null and b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-52kir2M8.js.gz differ diff --git a/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js new file mode 100644 index 0000000..46b9105 --- /dev/null +++ b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-AxI1L1VI.js @@ -0,0 +1 @@ +var e=Object.defineProperty,t=Object.defineProperties,o=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,s=(t,o,r)=>o in t?e(t,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[o]=r;import{_ as l}from"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import{d as a,c,h as p,e as d,w as m,f as u,g as b,b as y,i as x,p as f,v,m as g,q as j}from"./index-BoIUJTA2.js";/* empty css *//* empty css */import{E as _}from"./index-BMeOzN3u.js";const w={key:0,class:"ml-1"},O=a((h=((e,t)=>{for(var o in t||(t={}))i.call(t,o)&&s(e,o,t[o]);if(r)for(var o of r(t))n.call(t,o)&&s(e,o,t[o]);return e})({},{name:"ArtButtonTable"}),C={__name:"index",props:{type:{},icon:{},iconClass:{},iconColor:{},buttonBgColor:{},text:{},tooltip:{},showText:{type:Boolean}},emits:["click"],setup(e,{emit:t}){const o=e,r=t,i={add:{icon:"ri:add-fill",class:"bg-theme/12 text-theme"},edit:{icon:"ri:pencil-line",class:"bg-secondary/12 text-secondary"},delete:{icon:"ri:delete-bin-5-line",class:"bg-error/12 text-error"},view:{icon:"ri:eye-line",class:"bg-info/12 text-info"},more:{icon:"ri:more-2-fill",class:""}},n=c(()=>{var e;return o.icon||(o.type?null==(e=i[o.type])?void 0:e.icon:"")||""}),s=c(()=>{var e;return o.iconClass||(o.type?null==(e=i[o.type])?void 0:e.class:"")||""}),a=()=>{r("click")};return(t,o)=>{const r=l;return d(),p(f(_),{content:e.tooltip||e.text,placement:"top",disabled:!e.tooltip&&!e.text},{default:m(()=>[u("div",{class:j(["inline-flex items-center justify-center min-w-8 h-8 px-2.5 mr-2.5 text-sm c-p rounded-md",f(s)]),style:g({backgroundColor:e.buttonBgColor,color:e.iconColor}),onClick:a},[b(r,{icon:f(n)},null,8,["icon"]),e.text&&!1!==e.showText?(d(),y("span",w,v(e.text),1)):x("",!0)],6)]),_:1},8,["content","disabled"])}}},t(h,o(C))));var h,C;export{O as _}; diff --git a/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-CPE8D7by.js b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-CPE8D7by.js new file mode 100644 index 0000000..22d11eb --- /dev/null +++ b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-CPE8D7by.js @@ -0,0 +1 @@ +var e=Object.defineProperty,l=Object.defineProperties,t=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,i=(l,t,a)=>t in l?e(l,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):l[t]=a,d=(e,l,t)=>new Promise((a,o)=>{var r=e=>{try{d(t.next(e))}catch(l){o(l)}},i=e=>{try{d(t.throw(e))}catch(l){o(l)}},d=e=>e.done?a(e.value):Promise.resolve(e.value).then(r,i);d((t=t.apply(e,l)).next())});import{d as n,a as s,c as u,r as p,o as m,H as c,b as h,e as _,g as w,w as y,f as v,N as b,h as f,E as V,j,p as g,I as x,J as U}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{l as k,e as O}from"./task-center-B4yQCrbd.js";import{t as E}from"./adminActivities-Dgt25iR5.js";import{E as P,a as C}from"./index-BjuMygln.js";import{E as N,a as M}from"./index-D2gD5Tn5.js";import{E as S}from"./index-C_S0YbqD.js";import{E as T}from"./index-rgHg98E6.js";import{E as H}from"./index-BaD29Izp.js";const I={class:"art-full-height"},J={class:"flex items-center justify-between mb-3"},z={key:1,class:"text-gray-400 text-sm"},A=n((D=((e,l)=>{for(var t in l||(l={}))o.call(l,t)&&i(e,t,l[t]);if(a)for(var t of a(l))r.call(l,t)&&i(e,t,l[t]);return e})({},{name:"TaskCenterTiers"}),l(D,t({__name:"index",emits:["saved"],setup(e,{emit:l}){const t=s(),a=u(()=>Number(t.params.id)),o=p([]),r=p(!1),i=p([]);function n(){return d(this,null,function*(){const e=(yield k(a.value)).list||[];o.value=e.map(e=>{var l,t,a;let o={};try{e.extra_params&&(o="string"==typeof e.extra_params?JSON.parse(e.extra_params):e.extra_params)}catch(r){}return{id:e.id,metric:e.metric,operator:e.operator,threshold:"order_amount"===e.metric?e.threshold/100:e.threshold,window:e.window||"lifetime",repeatable:null!=(l=e.repeatable)?l:0,priority:null!=(t=e.priority)?t:0,activity_id:null!=(a=e.activity_id)?a:0,amount_threshold:o.amount_threshold?o.amount_threshold/100:void 0,new_user_only:o.new_user_only}})})}function A(){o.value.push({metric:"order_count",operator:">=",threshold:1,window:"lifetime",repeatable:0,priority:0,activity_id:0,new_user_only:!1})}const D=l;function G(){return d(this,null,function*(){r.value=!0;try{yield O(a.value,{tiers:o.value.map(e=>({metric:e.metric,operator:e.operator,threshold:"order_amount"===e.metric?Math.round(100*e.threshold):e.threshold,window:e.window,repeatable:e.repeatable,priority:e.priority,activity_id:e.activity_id,extra_params:{amount_threshold:e.amount_threshold?Math.round(100*e.amount_threshold):void 0,new_user_only:e.new_user_only}}))}),yield n(),D("saved")}finally{r.value=!1}})}return m(()=>{n(),function(){d(this,null,function*(){const e=yield E({page:1,page_size:100,status:1});i.value=e.list||[]})}()}),(e,l)=>{const t=V,a=M,d=N,n=C,s=S,u=T,p=P,m=H,k=c("ripple");return _(),h("div",I,[w(m,{class:"art-table-card",shadow:"never"},{default:y(()=>[v("div",J,[l[2]||(l[2]=v("div",{class:"text-base font-medium"},"任务规则配置",-1)),v("div",null,[b((_(),f(t,{onClick:A},{default:y(()=>[...l[0]||(l[0]=[j("新增规则",-1)])]),_:1})),[[k]]),b((_(),f(t,{type:"primary",onClick:G,loading:g(r)},{default:y(()=>[...l[1]||(l[1]=[j("保存",-1)])]),_:1},8,["loading"])),[[k]])])]),w(p,{data:g(o),border:"",stripe:""},{default:y(()=>[w(n,{prop:"metric",label:"指标",width:"180"},{default:y(({row:e})=>[w(d,{modelValue:e.metric,"onUpdate:modelValue":l=>e.metric=l,placeholder:"选择指标",style:{width:"100%"}},{default:y(()=>[w(a,{label:"首单",value:"first_order"}),w(a,{label:"下单数",value:"order_count"}),w(a,{label:"消费金额(元)",value:"order_amount"}),w(a,{label:"邀请人数",value:"invite_count"})]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1}),w(n,{prop:"operator",label:"比较",width:"100",align:"center"},{default:y(({row:e})=>[w(d,{modelValue:e.operator,"onUpdate:modelValue":l=>e.operator=l,placeholder:"比较符",style:{width:"100%"}},{default:y(()=>[w(a,{label:">=",value:">="}),w(a,{label:"=",value:"=="})]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1}),w(n,{prop:"threshold",label:"阈值",width:"140",align:"center"},{default:y(({row:e})=>[w(s,{modelValue:e.threshold,"onUpdate:modelValue":l=>e.threshold=l,min:0,style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),w(n,{label:"消费门槛(元)",width:"160",align:"center"},{default:y(({row:e})=>["invite_count"===e.metric?(_(),f(s,{key:0,modelValue:e.amount_threshold,"onUpdate:modelValue":l=>e.amount_threshold=l,min:0,precision:2,step:1,"controls-position":"right",style:{width:"100%"},placeholder:"0=注册即计"},null,8,["modelValue","onUpdate:modelValue"])):(_(),h("span",z,"--"))]),_:1}),w(n,{prop:"window",label:"窗口",width:"140",align:"center"},{default:y(({row:e})=>[w(d,{modelValue:e.window,"onUpdate:modelValue":l=>e.window=l,placeholder:"统计窗口",style:{width:"100%"}},{default:y(()=>[w(a,{label:"累计",value:"lifetime"}),w(a,{label:"每日",value:"daily"}),w(a,{label:"每周",value:"weekly"}),w(a,{label:"每月",value:"monthly"}),w(a,{label:"任务有效期(跟随任务时间)",value:"activity_period"}),w(a,{label:"注册以来",value:"since_registration"})]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1}),w(n,{prop:"repeatable",label:"可重复",width:"100",align:"center"},{default:y(({row:e})=>[w(d,{modelValue:e.repeatable,"onUpdate:modelValue":l=>e.repeatable=l,style:{width:"100%"}},{default:y(()=>[w(a,{label:"否",value:0}),w(a,{label:"是",value:1})]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1}),w(n,{prop:"priority",label:"优先级",width:"100",align:"center"},{default:y(({row:e})=>[w(s,{modelValue:e.priority,"onUpdate:modelValue":l=>e.priority=l,min:0,style:{width:"100%"},"controls-position":"right"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),w(n,{prop:"activity_id",label:"活动",width:"180",align:"center"},{default:y(({row:e})=>[w(d,{modelValue:e.activity_id,"onUpdate:modelValue":l=>e.activity_id=l,placeholder:"选择活动",style:{width:"100%"},clearable:""},{default:y(()=>[w(a,{label:"全部",value:0}),(_(!0),h(x,null,U(g(i),e=>(_(),f(a,{key:e.id,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1}),w(n,{label:"新用户首单",width:"100",align:"center"},{default:y(({row:e})=>[w(u,{modelValue:e.new_user_only,"onUpdate:modelValue":l=>e.new_user_only=l},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),w(n,{label:"操作",width:"80",align:"center",fixed:"right"},{default:y(({$index:e})=>[w(t,{link:"",type:"danger",onClick:l=>{return t=e,void o.value.splice(t,1);var t}},{default:y(()=>[...l[3]||(l[3]=[j("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:1})])}}}))));var D;export{A as _}; diff --git a/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-DRT_iaSg.js b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-DRT_iaSg.js new file mode 100644 index 0000000..abb4b56 --- /dev/null +++ b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-DRT_iaSg.js @@ -0,0 +1 @@ +var e=Object.defineProperty,r=Object.defineProperties,t=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,s=(r,t,o)=>t in r?e(r,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[t]=o;import{_ as c}from"./index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js";import{d as l,b as i,e as p,q as u,g as d,s as b}from"./index-BoIUJTA2.js";const f=l((v=((e,r)=>{for(var t in r||(r={}))n.call(r,t)&&s(e,t,r[t]);if(o)for(var t of o(r))a.call(r,t)&&s(e,t,r[t]);return e})({},{name:"ArtIconButton"}),x={__name:"index",props:{icon:{},circle:{type:Boolean}},setup:e=>(r,t)=>{const o=c;return p(),i("div",{class:u(["size-8.5 inline-flex flex-cc c-p text-g-600 dark:text-g-800 text-xl rounded tad-300 hover:bg-hover-color",{"rounded-full":e.circle}])},[d(o,{icon:e.icon},null,8,["icon"]),b(r.$slots,"default")],2)}},r(v,t(x))));var v,x;export{f as _}; diff --git a/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js new file mode 100644 index 0000000..0c6d9be --- /dev/null +++ b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-DUbflfBQ.js @@ -0,0 +1 @@ +var e=Object.defineProperty,r=Object.defineProperties,t=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,a=(r,t,o)=>t in r?e(r,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[t]=o;import{I as i}from"./iconify-DFoKediz.js";import{d as c,bP as p,c as l,h as b,i as y,e as f,a2 as m,p as O}from"./index-BoIUJTA2.js";const j=c((u=((e,r)=>{for(var t in r||(r={}))s.call(r,t)&&a(e,t,r[t]);if(o)for(var t of o(r))n.call(r,t)&&a(e,t,r[t]);return e})({},{name:"ArtSvgIcon",inheritAttrs:!1}),r(u,t({__name:"index",props:{icon:{}},setup(e){const r=p(),t=l(()=>({class:r.class||"",style:r.style||""}));return(r,o)=>e.icon?(f(),b(O(i),m({key:0,icon:e.icon},O(t),{class:"art-svg-icon inline"}),null,16,["icon"])):y("",!0)}}))));var u;export{j as _}; diff --git a/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-DUnXk1_V.js b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-DUnXk1_V.js new file mode 100644 index 0000000..f502fd8 --- /dev/null +++ b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-DUnXk1_V.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,i=(a,t,o)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[t]=o,n=(e,a)=>{for(var t in a||(a={}))l.call(a,t)&&i(e,t,a[t]);if(o)for(var t of o(a))r.call(a,t)&&i(e,t,a[t]);return e},s=(e,o)=>a(e,t(o));import{d,r as u,c,L as y,A as h,o as p,l as f,N as m,b as g,e as v,m as b,b2 as x,n as w,bf as A}from"./index-BoIUJTA2.js";import{u as L,a as S,g as O}from"./useChart-DmniNG26.js";const j=d(s(n({},{name:"ArtLineChart"}),{__name:"index",props:{data:{default:()=>[0,0,0,0,0,0,0]},xAxisData:{default:()=>[]},lineWidth:{default:2.5},showAreaColor:{type:Boolean,default:!1},smooth:{type:Boolean,default:!0},symbol:{default:"none"},symbolSize:{default:6},animationDelay:{default:200},height:{default:L().chartHeight},loading:{type:Boolean,default:!1},isEmpty:{type:Boolean,default:!1},colors:{default:()=>L().colors},showAxisLabel:{type:Boolean,default:!0},showAxisLine:{type:Boolean,default:!0},showSplitLine:{type:Boolean,default:!0},showTooltip:{type:Boolean,default:!0},showLegend:{type:Boolean,default:!1},legendPosition:{default:"bottom"}},setup(e){const a=e,t=u(!1),o=u([]),l=u([]),r=()=>{o.value.forEach(e=>clearTimeout(e)),o.value=[]},i=c(()=>Array.isArray(a.data)&&a.data.length>0&&"object"==typeof a.data[0]&&"name"in a.data[0]),d=c(()=>{if(i.value){return a.data.reduce((e,a)=>{var t;if(null==(t=a.data)?void 0:t.length){const t=Math.max(...a.data);return Math.max(e,t)}return e},0)}{const e=a.data;return(null==e?void 0:e.length)?Math.max(...e):0}}),L=c(()=>y("--el-color-primary")),j=(e,t)=>e||(void 0!==t?a.colors[t%a.colors.length]:L.value),D=e=>{var t,o,l,r,i;return{name:e.name,data:e.data,type:"line",color:e.color,smooth:null!=(t=e.smooth)?t:a.smooth,symbol:null!=(o=e.symbol)?o:a.symbol,symbolSize:null!=(l=e.symbolSize)?l:a.symbolSize,lineStyle:{width:null!=(r=e.lineWidth)?r:a.lineWidth,color:e.color},areaStyle:e.areaStyle,emphasis:{focus:"series",lineStyle:{width:(null!=(i=e.lineWidth)?i:a.lineWidth)+1}}}},B=(e=!1)=>{const t={animation:!0,animationDuration:e?0:1300,animationDurationUpdate:e?0:1300,grid:R(a.showLegend&&i.value,a.legendPosition,{top:15,right:15,left:0}),tooltip:a.showTooltip?_():void 0,xAxis:{type:"category",boundaryGap:!1,data:a.xAxisData,axisTick:z(),axisLine:E(a.showAxisLine),axisLabel:k(a.showAxisLabel)},yAxis:{type:"value",min:0,max:d.value,axisLabel:k(a.showAxisLabel),axisLine:E(a.showAxisLine),splitLine:G(a.showSplitLine)}};if(a.showLegend&&i.value&&(t.legend=M(a.legendPosition)),i.value){const e=l.value;t.series=e.map((e,t)=>{const o=j(a.colors[t],t),l=((e,t)=>{if(!e.areaStyle&&!e.showAreaColor&&!a.showAreaColor)return;const o=e.areaStyle||{};return o.custom?o.custom:{color:new O.LinearGradient(0,0,0,1,[{offset:0,color:A(t,o.startOpacity||.2).rgba},{offset:1,color:A(t,o.endOpacity||.02).rgba}])}})(e,o);return D({name:e.name,data:e.data,color:o,smooth:e.smooth,symbol:e.symbol,lineWidth:e.lineWidth,areaStyle:l})})}else{const e=l.value,o=j(a.colors[0]),r=(()=>{if(!a.showAreaColor)return;const e=j(a.colors[0]);return{color:new O.LinearGradient(0,0,0,1,[{offset:0,color:A(e,.2).rgba},{offset:1,color:A(e,.02).rgba}])}})();t.series=[D({data:e,color:o,areaStyle:r})]}return t},P=e=>{C(e)},T=()=>{if(r(),t.value=!0,l.value=(()=>{if(i.value)return a.data.map(e=>s(n({},e),{data:Array(e.data.length).fill(0)}));const e=a.data;return Array(e.length).fill(0)})(),P(B(!0)),i.value){const e=a.data,r=l.value;e.forEach((e,t)=>{const i=window.setTimeout(()=>{r[t]=s(n({},e),{data:[...e.data]}),l.value=[...r],P(B(!1))},t*a.animationDelay+100);o.value.push(i)});const i=(e.length-1)*a.animationDelay+1500,d=window.setTimeout(()=>{t.value=!1},i);o.value.push(d)}else w(()=>{l.value=i.value?a.data.map(e=>s(n({},e),{data:[...e.data]})):[...a.data],P(B(!1)),t.value=!1})},{chartRef:W,initChart:C,getAxisLineStyle:E,getAxisLabelStyle:k,getAxisTickStyle:z,getSplitLineStyle:G,getTooltipStyle:_,getLegendStyle:M,getGridWithLegend:R,isEmpty:H}=S({props:a,checkEmpty:()=>{if(Array.isArray(a.data)&&"number"==typeof a.data[0]){const e=a.data;return!e.length||e.every(e=>0===e)}if(Array.isArray(a.data)&&"object"==typeof a.data[0]){const e=a.data;return!e.length||e.every(e=>{var a;return!(null==(a=e.data)?void 0:a.length)||e.data.every(e=>0===e)})}return!0},watchSources:[()=>a.data,()=>a.xAxisData,()=>a.colors],onVisible:()=>{H.value||T()},generateOptions:()=>B(!1)}),I=()=>{t.value||H.value||T()};return h([()=>a.data,()=>a.xAxisData,()=>a.colors],I,{deep:!0}),p(()=>{I()}),f(()=>{r()}),(e,t)=>{const o=x;return m((v(),g("div",{ref_key:"chartRef",ref:W,class:"relative w-[calc(100%+10px)]",style:b({height:a.height})},null,4)),[[o,a.loading]])}}}));export{j as _}; diff --git a/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-Dk4553Z8.js b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-Dk4553Z8.js new file mode 100644 index 0000000..2885712 --- /dev/null +++ b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-Dk4553Z8.js @@ -0,0 +1 @@ +import{d as e,c as a,b$ as t,aM as u,c0 as l,A as s,aP as r,b as i,e as n,v,q as d,n as o}from"./index-BoIUJTA2.js";const f="easeOutExpo",p=e({__name:"index",props:{target:{default:0},duration:{default:2e3},autoStart:{type:Boolean,default:!0},decimals:{default:0},decimal:{default:"."},separator:{default:""},prefix:{default:""},suffix:{default:""},easing:{default:f},disabled:{type:Boolean,default:!1}},emits:["started","finished","paused","reset"],setup(e,{expose:p,emit:c}){const m=Number.EPSILON,b=e,g=c,x=(e,a,t)=>Number.isFinite(e)?e:t,h=(e,a,t)=>Math.max(a,Math.min(e,t)),S=a(()=>x(b.target,0,0)),F=a(()=>h(x(b.duration,0,2e3),100,6e4)),M=a(()=>h(x(b.decimals,0,0),0,10)),N=a(()=>{const e=b.easing;return e in t?e:f}),$=u(0),y=u(S.value),B=u(!1),P=u(!1),_=u(0),j=l($,{duration:F,transition:a(()=>t[N.value]),onStarted:()=>{B.value=!0,P.value=!1,g("started",y.value)},onFinished:()=>{B.value=!1,P.value=!1,g("finished",y.value)}}),E=a(()=>{const e=P.value?_.value:j.value;if(!Number.isFinite(e))return`${b.prefix}0${b.suffix}`;const a=((e,a,t,u)=>{let l=a>0?e.toFixed(a):Math.floor(e).toString();if("."!==t&&l.includes(".")&&(l=l.replace(".",t)),u){const e=l.split(t);e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,u),l=e.join(t)}return l})(e,M.value,b.decimal,b.separator);return`${b.prefix}${a}${b.suffix}`}),O=()=>{P.value=!1,_.value=0},V=e=>{if(b.disabled)return;const a=void 0!==e?e:y.value;Number.isFinite(a)&&(y.value=a,(e=>{const a=P.value?_.value:j.value;return Math.abs(a-e){$.value=a})))},q=()=>{(B.value||P.value)&&($.value=0,O(),g("paused",0))};return s(S,e=>{b.autoStart&&!b.disabled?V(e):y.value=e},{immediate:b.autoStart&&!b.disabled}),s(()=>b.disabled,e=>{e&&B.value&&q()}),r(()=>{B.value&&q()}),p({start:V,pause:()=>{B.value&&!P.value&&(P.value=!0,_.value=j.value,$.value=_.value,g("paused",_.value))},reset:(e=0)=>{const a=x(e,0,0);$.value=a,y.value=a,O(),g("reset")},stop:q,setTarget:e=>{Number.isFinite(e)&&(y.value=e,!B.value&&!b.autoStart||b.disabled||V(e))},get isRunning(){return B.value},get isPaused(){return P.value},get currentValue(){return P.value?_.value:j.value},get targetValue(){return y.value},get progress(){const e=P.value?_.value:j.value,a=y.value;return 0===a?0===e?1:0:Math.abs(e/a)}}),(e,a)=>(n(),i("span",{class:d(["text-g-900 tabular-nums",B.value?"transition-opacity duration-300 ease-in-out":""])},v(E.value),3))}});export{p as _}; diff --git a/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-g70nAmZn.js b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-g70nAmZn.js new file mode 100644 index 0000000..dc7d1ea --- /dev/null +++ b/nginx/admin/assets/index.vue_vue_type_script_setup_true_lang-g70nAmZn.js @@ -0,0 +1 @@ +import{d as t,a as e,r as a,c as l,A as r,N as s,b2 as o,b as i,e as n,f as d,g as c,i as m,v as p,I as u,J as v,j as x,w as f,T as b}from"./index-BoIUJTA2.js";/* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css */import{c as y}from"./task-center-B4yQCrbd.js";import{E as g,a as h}from"./index-BjuMygln.js";import{E as w}from"./index-ZsMdSUVI.js";const _={class:"flex items-center gap-6 mb-6"},j={class:"flex-1 p-4 rounded-2xl bg-primary/5 border border-primary/10"},k={class:"text-3xl font-black text-primary font-mono"},I={class:"text-sm text-g-500 font-bold mb-1"},q={class:"text-xl font-black text-g-900 font-mono"},D={class:"text-xs text-g-400 mt-1"},E={class:"text-sm font-bold"},N={class:"text-xs text-g-400"},P={key:0,class:"text-center py-8 text-g-400"},T=t({__name:"index",setup(t,{expose:T}){const z=e(),A=a(!1),J=a(null),U=l(()=>Number(z.params.id)),B=t=>({points:"积分",coupon:"优惠券",item_card:"道具卡",title:"称号",game_ticket:"游戏资格",product:"实物商品",unknown:"未知"}[t]||t),C=()=>{return t=this,e=null,a=function*(){if(U.value){A.value=!0;try{J.value=yield y(U.value)}catch(t){b.error("获取奖励统计失败")}finally{A.value=!1}}},new Promise((l,r)=>{var s=t=>{try{i(a.next(t))}catch(e){r(e)}},o=t=>{try{i(a.throw(t))}catch(e){r(e)}},i=t=>t.done?l(t.value):Promise.resolve(t.value).then(s,o);i((a=a.apply(t,e)).next())});var t,e,a};return T({refresh:()=>C()}),r(U,C,{immediate:!0}),(t,e)=>{var a,l,r,b;const y=h,T=w,z=g,U=o;return s((n(),i("div",null,[d("div",_,[d("div",j,[e[0]||(e[0]=d("div",{class:"text-sm text-g-500 font-bold mb-1"},"总领取人次",-1)),d("div",k,p((null==(a=J.value)?void 0:a.total_claim)||0),1)]),(n(!0),i(u,null,v((null==(l=J.value)?void 0:l.stats)||[],t=>(n(),i("div",{key:t.reward_type,class:"flex-1 p-4 rounded-2xl bg-gray-50 border border-gray-100"},[d("div",I,p(B(t.reward_type)),1),d("div",q,[x(p(t.count)+" ",1),e[1]||(e[1]=d("span",{class:"text-sm text-g-400 font-medium"},"次",-1))]),d("div",D,"共 "+p(t.quantity)+" 个",1)]))),128))]),e[2]||(e[2]=d("div",{class:"text-base font-bold text-g-800 mb-3"},"发放记录",-1)),c(z,{data:(null==(r=J.value)?void 0:r.logs)||[],style:{width:"100%"},"header-cell-style":{background:"#fafafa"},"max-height":"400"},{default:f(()=>[c(y,{prop:"id",label:"ID",width:"80"}),c(y,{label:"用户","min-width":"140"},{default:f(({row:t})=>[d("div",null,[d("div",E,p(t.nickname||"-"),1),d("div",N,"ID: "+p(t.user_id),1)])]),_:1}),c(y,{label:"奖励类型",width:"120"},{default:f(({row:t})=>{return[c(T,{type:(e=t.reward_type,{points:"warning",coupon:"success",item_card:"danger",title:"info",game_ticket:"primary",product:"primary"}[e]||"primary"),size:"small",effect:"plain"},{default:f(()=>[x(p(B(t.reward_type)),1)]),_:2},1032,["type"])];var e}),_:1}),c(y,{prop:"quantity",label:"数量",width:"80",align:"center"}),c(y,{prop:"created_at",label:"发放时间",width:"170"})]),_:1},8,["data"]),A.value||(null==(b=J.value)?void 0:b.logs)&&0!==J.value.logs.length?m("",!0):(n(),i("div",P," 暂无发放记录 "))])),[[U,A.value]])}}});export{T as _}; diff --git a/nginx/admin/assets/index.vue_vue_type_style_index_0_lang-HxUCIPrH.js b/nginx/admin/assets/index.vue_vue_type_style_index_0_lang-HxUCIPrH.js new file mode 100644 index 0000000..dd95afa --- /dev/null +++ b/nginx/admin/assets/index.vue_vue_type_style_index_0_lang-HxUCIPrH.js @@ -0,0 +1,147 @@ +var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,a=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),u=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,s=(e,t)=>{for(var n in t||(t={}))o.call(t,n)&&u(e,n,t[n]);if(r)for(var n of r(t))i.call(t,n)&&u(e,n,t[n]);return e},l=(e,r)=>t(e,n(r)),c=(e,t,n)=>new Promise((r,o)=>{var i=e=>{try{u(n.next(e))}catch(Se){o(Se)}},a=e=>{try{u(n.throw(e))}catch(Se){o(Se)}},u=e=>e.done?r(e.value):Promise.resolve(e.value).then(i,a);u((n=n.apply(e,t)).next())}),f=function(e,t){this[0]=e,this[1]=t},d=e=>{var t,n=e[a("asyncIterator")],r=!1,o={};return null==n?(n=e[a("iterator")](),t=e=>o[e]=t=>n[e](t)):(n=n.call(e),t=e=>o[e]=t=>{if(r){if(r=!1,"throw"===e)throw t;return t}return r=!0,{done:!1,value:new f(new Promise(r=>{var o=n[e](t);o instanceof Object||(e=>{throw TypeError(e)})("Object expected"),r(o)}),1)}}),o[a("iterator")]=()=>o,t("next"),"throw"in n?t("throw"):o.throw=e=>{throw e},"return"in n&&t("return"),o};import{d as p,b as h,e as g,r as v,aM as y,o as m,A as b,c4 as w,Y as E,dS as D,dT as x,B as C,c as S,l as A,g as O,p as k,m as B,T as F}from"./index-BoIUJTA2.js";const T="^_^",_="X_X";var P="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function j(e){var t={exports:{}};return e(t,t.exports),t.exports}var N,I,L=function(e){return e&&e.Math==Math&&e},R=L("object"==typeof globalThis&&globalThis)||L("object"==typeof window&&window)||L("object"==typeof self&&self)||L("object"==typeof P&&P)||function(){return this}()||Function("return this")(),M=Function.prototype,z=M.apply,$=M.bind,H=M.call,V="object"==typeof Reflect&&Reflect.apply||($?H.bind(z):function(){return H.apply(z,arguments)}),U=Function.prototype,W=U.bind,G=U.call,q=W&&W.bind(G),K=W?function(e){return e&&q(G,e)}:function(e){return e&&function(){return G.apply(e,arguments)}},Y=function(e){return"function"==typeof e},X=function(e){try{return!!e()}catch(t){return!0}},Z=!X(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}),J=Function.prototype.call,Q=J.bind?J.bind(J):function(){return J.apply(J,arguments)},ee={}.propertyIsEnumerable,te=Object.getOwnPropertyDescriptor,ne=te&&!ee.call({1:2},1)?function(e){var t=te(this,e);return!!t&&t.enumerable}:ee,re={f:ne},oe=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},ie=K({}.toString),ae=K("".slice),ue=function(e){return ae(ie(e),8,-1)},se=R.Object,le=K("".split),ce=X(function(){return!se("z").propertyIsEnumerable(0)})?function(e){return"String"==ue(e)?le(e,""):se(e)}:se,fe=R.TypeError,de=function(e){if(null==e)throw fe("Can't call method on "+e);return e},pe=function(e){return ce(de(e))},he=function(e){return"object"==typeof e?null!==e:Y(e)},ge={},ve=function(e){return Y(e)?e:void 0},ye=function(e,t){return arguments.length<2?ve(ge[e])||ve(R[e]):ge[e]&&ge[e][t]||R[e]&&R[e][t]},me=K({}.isPrototypeOf),be=ye("navigator","userAgent")||"",we=R.process,Ee=R.Deno,De=we&&we.versions||Ee&&Ee.version,xe=De&&De.v8;xe&&(I=(N=xe.split("."))[0]>0&&N[0]<4?1:+(N[0]+N[1])),!I&&be&&(!(N=be.match(/Edge\/(\d+)/))||N[1]>=74)&&(N=be.match(/Chrome\/(\d+)/))&&(I=+N[1]);var Ce,Se,Ae=I,Oe=!!Object.getOwnPropertySymbols&&!X(function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Ae&&Ae<41}),ke=Oe&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Be=R.Object,Fe=ke?function(e){return"symbol"==typeof e}:function(e){var t=ye("Symbol");return Y(t)&&me(t.prototype,Be(e))},Te=R.String,_e=function(e){try{return Te(e)}catch(t){return"Object"}},Pe=R.TypeError,je=function(e){if(Y(e))return e;throw Pe(_e(e)+" is not a function")},Ne=function(e,t){var n=e[t];return null==n?void 0:je(n)},Ie=R.TypeError,Le=Object.defineProperty,Re=R["__core-js_shared__"]||function(e,t){try{Le(R,e,{value:t,configurable:!0,writable:!0})}catch(pP){R[e]=t}return t}("__core-js_shared__",{}),Me=j(function(e){(e.exports=function(e,t){return Re[e]||(Re[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.19.3",mode:"pure",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})}),ze=R.Object,$e=function(e){return ze(de(e))},He=K({}.hasOwnProperty),Ve=Object.hasOwn||function(e,t){return He($e(e),t)},Ue=0,We=Math.random(),Ge=K(1..toString),qe=function(e){return"Symbol("+(void 0===e?"":e)+")_"+Ge(++Ue+We,36)},Ke=Me("wks"),Ye=R.Symbol,Xe=Ye&&Ye.for,Ze=ke?Ye:Ye&&Ye.withoutSetter||qe,Je=function(e){if(!Ve(Ke,e)||!Oe&&"string"!=typeof Ke[e]){var t="Symbol."+e;Oe&&Ve(Ye,e)?Ke[e]=Ye[e]:Ke[e]=ke&&Xe?Xe(t):Ze(t)}return Ke[e]},Qe=R.TypeError,et=Je("toPrimitive"),tt=function(e){var t=function(e,t){if(!he(e)||Fe(e))return e;var n,r=Ne(e,et);if(r){if(n=Q(r,e,t),!he(n)||Fe(n))return n;throw Qe("Can't convert object to primitive value")}return function(e){var t,n;if(Y(t=e.toString)&&!he(n=Q(t,e)))return n;if(Y(t=e.valueOf)&&!he(n=Q(t,e)))return n;throw Ie("Can't convert object to primitive value")}(e)}(e,"string");return Fe(t)?t:t+""},nt=R.document,rt=he(nt)&&he(nt.createElement),ot=function(e){return rt?nt.createElement(e):{}},it=!Z&&!X(function(){return 7!=Object.defineProperty(ot("div"),"a",{get:function(){return 7}}).a}),at=Object.getOwnPropertyDescriptor,ut=Z?at:function(e,t){if(e=pe(e),t=tt(t),it)try{return at(e,t)}catch(n){}if(Ve(e,t))return oe(!Q(re.f,e,t),e[t])},st={f:ut},lt=/#|\.prototype\./,ct=function(e,t){var n=dt[ft(e)];return n==ht||n!=pt&&(Y(t)?X(t):!!t)},ft=ct.normalize=function(e){return String(e).replace(lt,".").toLowerCase()},dt=ct.data={},pt=ct.NATIVE="N",ht=ct.POLYFILL="P",gt=ct,vt=K(K.bind),yt=function(e,t){return je(e),void 0===t?e:vt?vt(e,t):function(){return e.apply(t,arguments)}},mt=R.String,bt=R.TypeError,wt=function(e){if(he(e))return e;throw bt(mt(e)+" is not an object")},Et=R.TypeError,Dt=Object.defineProperty,xt=Z?Dt:function(e,t,n){if(wt(e),t=tt(t),wt(n),it)try{return Dt(e,t,n)}catch(r){}if("get"in n||"set"in n)throw Et("Accessors not supported");return"value"in n&&(e[t]=n.value),e},Ct={f:xt},St=Z?function(e,t,n){return Ct.f(e,t,oe(1,n))}:function(e,t,n){return e[t]=n,e},At=st.f,Ot=function(e){var t=function(n,r,o){if(this instanceof t){switch(arguments.length){case 0:return new e;case 1:return new e(n);case 2:return new e(n,r)}return new e(n,r,o)}return V(e,this,arguments)};return t.prototype=e.prototype,t},kt=function(e,t){var n,r,o,i,a,u,s,l,c=e.target,f=e.global,d=e.stat,p=e.proto,h=f?R:d?R[c]:(R[c]||{}).prototype,g=f?ge:ge[c]||St(ge,c,{})[c],v=g.prototype;for(o in t)n=!gt(f?o:c+(d?".":"#")+o,e.forced)&&h&&Ve(h,o),a=g[o],n&&(u=e.noTargetGet?(l=At(h,o))&&l.value:h[o]),i=n&&u?u:t[o],n&&typeof a==typeof i||(s=e.bind&&n?yt(i,R):e.wrap&&n?Ot(i):p&&Y(i)?K(i):i,(e.sham||i&&i.sham||a&&a.sham)&&St(s,"sham",!0),St(g,o,s),p&&(Ve(ge,r=c+"Prototype")||St(ge,r,{}),St(ge[r],o,i),e.real&&v&&!v[o]&&St(v,o,i)))},Bt=Me("keys"),Ft=function(e){return Bt[e]||(Bt[e]=qe(e))},Tt=!X(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}),_t=Ft("IE_PROTO"),Pt=R.Object,jt=Pt.prototype,Nt=Tt?Pt.getPrototypeOf:function(e){var t=$e(e);if(Ve(t,_t))return t[_t];var n=t.constructor;return Y(n)&&t instanceof n?n.prototype:t instanceof Pt?jt:null},It=R.String,Lt=R.TypeError,Rt=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=K(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(n,[]),t=n instanceof Array}catch(r){}return function(n,r){return wt(n),function(e){if("object"==typeof e||Y(e))return e;throw Lt("Can't set "+It(e)+" as a prototype")}(r),t?e(n,r):n.__proto__=r,n}}():void 0),Mt=Math.ceil,zt=Math.floor,$t=function(e){var t=+e;return t!=t||0===t?0:(t>0?zt:Mt)(t)},Ht=Math.max,Vt=Math.min,Ut=function(e,t){var n=$t(e);return n<0?Ht(n+t,0):Vt(n,t)},Wt=Math.min,Gt=function(e){return(t=e.length)>0?Wt($t(t),9007199254740991):0;var t},qt={indexOf:(Se=!1,function(e,t,n){var r,o=pe(e),i=Gt(o),a=Ut(n,i);if(Se&&t!=t){for(;i>a;)if((r=o[a++])!=r)return!0}else for(;i>a;a++)if((Se||a in o)&&o[a]===t)return Se||a||0;return!Se&&-1})},Kt={},Yt=qt.indexOf,Xt=K([].push),Zt=function(e,t){var n,r=pe(e),o=0,i=[];for(n in r)!Ve(Kt,n)&&Ve(r,n)&&Xt(i,n);for(;t.length>o;)Ve(r,n=t[o++])&&(~Yt(i,n)||Xt(i,n));return i},Jt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Qt=Jt.concat("length","prototype"),en=Object.getOwnPropertyNames||function(e){return Zt(e,Qt)},tn={f:en},nn={f:Object.getOwnPropertySymbols},rn=K([].concat),on=ye("Reflect","ownKeys")||function(e){var t=tn.f(wt(e)),n=nn.f;return n?rn(t,n(e)):t},an=Object.keys||function(e){return Zt(e,Jt)},un=Z?Object.defineProperties:function(e,t){wt(e);for(var n,r=pe(t),o=an(t),i=o.length,a=0;i>a;)Ct.f(e,n=o[a++],r[n]);return e},sn=ye("document","documentElement"),ln=Ft("IE_PROTO"),cn=function(){},fn=function(e){return" + + + + + +
+ + diff --git a/nginx/conf.d/default.conf b/nginx/conf.d/default.conf old mode 100644 new mode 100755 index 52c9d1a..8ebbee9 --- a/nginx/conf.d/default.conf +++ b/nginx/conf.d/default.conf @@ -31,14 +31,28 @@ server { ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_prefer_server_ciphers on; - # 1. Admin Frontend (Static Dist) + # 1. Douyin Game (Root Path) location / { - root /usr/share/nginx/html/admin; + root /usr/share/nginx/html/game; index index.html index.htm; try_files $uri $uri/ /index.html; # SPA Support } - # 2. Backend API + # 2. Minesweeper Game (Phaser3) + location /minesweeper/ { + alias /usr/share/nginx/html/minesweeper/; + index index.html index.htm; + try_files $uri $uri/ /minesweeper/index.html; + } + + # 3. Admin Frontend (Subpath /admin) + location /admin/ { + alias /usr/share/nginx/html/admin/; + index index.html index.htm; + try_files $uri $uri/ /admin/index.html; # SPA Support for /admin prefix + } + + # 3. Backend API location /api/ { proxy_pass http://bindbox-game:9991/api/; proxy_set_header Host $host; @@ -47,7 +61,7 @@ server { proxy_set_header X-Forwarded-Proto $scheme; } - # 3. Nakama API (HTTP / GRPC / WebSocket) + # 4. Nakama API (HTTP / GRPC / WebSocket) location /v2/ { proxy_pass http://nakama:7350/v2/; proxy_set_header Host $host; diff --git a/nginx/game/assets/index-CQgR_jMM.js b/nginx/game/assets/index-CQgR_jMM.js new file mode 100644 index 0000000..5f98b02 --- /dev/null +++ b/nginx/game/assets/index-CQgR_jMM.js @@ -0,0 +1,96 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))a(u);new MutationObserver(u=>{for(const n of u)if(n.type==="childList")for(const i of n.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&a(i)}).observe(document,{childList:!0,subtree:!0});function e(u){const n={};return u.integrity&&(n.integrity=u.integrity),u.referrerPolicy&&(n.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?n.credentials="include":u.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function a(u){if(u.ep)return;u.ep=!0;const n=e(u);fetch(u.href,n)}})();var No={exports:{}},Yn={};/** + * @license React + * react-jsx-runtime.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 D0=Symbol.for("react.transitional.element"),U0=Symbol.for("react.fragment");function zo(l,t,e){var a=null;if(e!==void 0&&(a=""+e),t.key!==void 0&&(a=""+t.key),"key"in t){e={};for(var u in t)u!=="key"&&(e[u]=t[u])}else e=t;return t=e.ref,{$$typeof:D0,type:l,key:a,ref:t!==void 0?t:null,props:e}}Yn.Fragment=U0;Yn.jsx=zo;Yn.jsxs=zo;No.exports=Yn;var f=No.exports,_o={exports:{}},D={};/** + * @license React + * react.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 qc=Symbol.for("react.transitional.element"),C0=Symbol.for("react.portal"),H0=Symbol.for("react.fragment"),R0=Symbol.for("react.strict_mode"),B0=Symbol.for("react.profiler"),Y0=Symbol.for("react.consumer"),q0=Symbol.for("react.context"),G0=Symbol.for("react.forward_ref"),X0=Symbol.for("react.suspense"),Q0=Symbol.for("react.memo"),To=Symbol.for("react.lazy"),Z0=Symbol.for("react.activity"),kf=Symbol.iterator;function L0(l){return l===null||typeof l!="object"?null:(l=kf&&l[kf]||l["@@iterator"],typeof l=="function"?l:null)}var Eo={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ao=Object.assign,Mo={};function xa(l,t,e){this.props=l,this.context=t,this.refs=Mo,this.updater=e||Eo}xa.prototype.isReactComponent={};xa.prototype.setState=function(l,t){if(typeof l!="object"&&typeof l!="function"&&l!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,l,t,"setState")};xa.prototype.forceUpdate=function(l){this.updater.enqueueForceUpdate(this,l,"forceUpdate")};function wo(){}wo.prototype=xa.prototype;function Gc(l,t,e){this.props=l,this.context=t,this.refs=Mo,this.updater=e||Eo}var Xc=Gc.prototype=new wo;Xc.constructor=Gc;Ao(Xc,xa.prototype);Xc.isPureReactComponent=!0;var $f=Array.isArray;function Zi(){}var I={H:null,A:null,T:null,S:null},Oo=Object.prototype.hasOwnProperty;function Qc(l,t,e){var a=e.ref;return{$$typeof:qc,type:l,key:t,ref:a!==void 0?a:null,props:e}}function V0(l,t){return Qc(l.type,t,l.props)}function Zc(l){return typeof l=="object"&&l!==null&&l.$$typeof===qc}function K0(l){var t={"=":"=0",":":"=2"};return"$"+l.replace(/[=:]/g,function(e){return t[e]})}var Wf=/\/+/g;function ii(l,t){return typeof l=="object"&&l!==null&&l.key!=null?K0(""+l.key):t.toString(36)}function J0(l){switch(l.status){case"fulfilled":return l.value;case"rejected":throw l.reason;default:switch(typeof l.status=="string"?l.then(Zi,Zi):(l.status="pending",l.then(function(t){l.status==="pending"&&(l.status="fulfilled",l.value=t)},function(t){l.status==="pending"&&(l.status="rejected",l.reason=t)})),l.status){case"fulfilled":return l.value;case"rejected":throw l.reason}}throw l}function Ge(l,t,e,a,u){var n=typeof l;(n==="undefined"||n==="boolean")&&(l=null);var i=!1;if(l===null)i=!0;else switch(n){case"bigint":case"string":case"number":i=!0;break;case"object":switch(l.$$typeof){case qc:case C0:i=!0;break;case To:return i=l._init,Ge(i(l._payload),t,e,a,u)}}if(i)return u=u(l),i=a===""?"."+ii(l,0):a,$f(u)?(e="",i!=null&&(e=i.replace(Wf,"$&/")+"/"),Ge(u,t,e,"",function(h){return h})):u!=null&&(Zc(u)&&(u=V0(u,e+(u.key==null||l&&l.key===u.key?"":(""+u.key).replace(Wf,"$&/")+"/")+i)),t.push(u)),1;i=0;var c=a===""?".":a+":";if($f(l))for(var s=0;s>>1,il=S[tl];if(0>>1;tlu(Re,O))Vlu(Be,Re)?(S[tl]=Be,S[Vl]=O,tl=Vl):(S[tl]=Re,S[He]=O,tl=He);else if(Vlu(Be,O))S[tl]=Be,S[Vl]=O,tl=Vl;else break l}}return R}function u(S,R){var O=S.sortIndex-R.sortIndex;return O!==0?O:S.id-R.id}if(l.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var n=performance;l.unstable_now=function(){return n.now()}}else{var i=Date,c=i.now();l.unstable_now=function(){return i.now()-c}}var s=[],h=[],y=1,b=null,r=3,m=!1,p=!1,j=!1,C=!1,d=typeof setTimeout=="function"?setTimeout:null,o=typeof clearTimeout=="function"?clearTimeout:null,v=typeof setImmediate<"u"?setImmediate:null;function g(S){for(var R=e(h);R!==null;){if(R.callback===null)a(h);else if(R.startTime<=S)a(h),R.sortIndex=R.expirationTime,t(s,R);else break;R=e(h)}}function z(S){if(j=!1,g(S),!p)if(e(s)!==null)p=!0,M||(M=!0,Ll());else{var R=e(h);R!==null&&Ce(z,R.startTime-S)}}var M=!1,N=-1,E=5,w=-1;function H(){return C?!0:!(l.unstable_now()-wS&&H());){var tl=b.callback;if(typeof tl=="function"){b.callback=null,r=b.priorityLevel;var il=tl(b.expirationTime<=S);if(S=l.unstable_now(),typeof il=="function"){b.callback=il,g(S),R=!0;break t}b===e(s)&&a(s),g(S)}else a(s);b=e(s)}if(b!==null)R=!0;else{var ce=e(h);ce!==null&&Ce(z,ce.startTime-S),R=!1}}break l}finally{b=null,r=O,m=!1}R=void 0}}finally{R?Ll():M=!1}}}var Ll;if(typeof v=="function")Ll=function(){v(jl)};else if(typeof MessageChannel<"u"){var Ea=new MessageChannel,Aa=Ea.port2;Ea.port1.onmessage=jl,Ll=function(){Aa.postMessage(null)}}else Ll=function(){d(jl,0)};function Ce(S,R){N=d(function(){S(l.unstable_now())},R)}l.unstable_IdlePriority=5,l.unstable_ImmediatePriority=1,l.unstable_LowPriority=4,l.unstable_NormalPriority=3,l.unstable_Profiling=null,l.unstable_UserBlockingPriority=2,l.unstable_cancelCallback=function(S){S.callback=null},l.unstable_forceFrameRate=function(S){0>S||125tl?(S.sortIndex=O,t(h,S),e(s)===null&&S===e(h)&&(j?(o(N),N=-1):j=!0,Ce(z,O-tl))):(S.sortIndex=il,t(s,S),p||m||(p=!0,M||(M=!0,Ll()))),S},l.unstable_shouldYield=H,l.unstable_wrapCallback=function(S){var R=r;return function(){var O=r;r=R;try{return S.apply(this,arguments)}finally{r=O}}}})(Co);Uo.exports=Co;var W0=Uo.exports,Ho={exports:{}},_l={};/** + * @license React + * react-dom.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 F0=T;function Ro(l){var t="https://react.dev/errors/"+l;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Bo)}catch(l){console.error(l)}}Bo(),Ho.exports=_l;var lh=Ho.exports;/** + * @license React + * react-dom-client.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 hl=W0,Yo=T,th=lh;function x(l){var t="https://react.dev/errors/"+l;if(1Le||(l.current=$i[Le],$i[Le]=null,Le--)}function $(l,t){Le++,$i[Le]=l.current,l.current=t}var ot=rt(null),tu=rt(null),Kt=rt(null),sn=rt(null);function on(l,t){switch($(Kt,t),$(tu,l),$(ot,null),t.nodeType){case 9:case 11:l=(l=t.documentElement)&&(l=l.namespaceURI)?no(l):0;break;default:if(l=t.tagName,t=t.namespaceURI)t=no(t),l=o0(t,l);else switch(l){case"svg":l=1;break;case"math":l=2;break;default:l=0}}yl(ot),$(ot,l)}function fa(){yl(ot),yl(tu),yl(Kt)}function Wi(l){l.memoizedState!==null&&$(sn,l);var t=ot.current,e=o0(t,l.type);t!==e&&($(tu,l),$(ot,e))}function rn(l){tu.current===l&&(yl(ot),yl(tu)),sn.current===l&&(yl(sn),du._currentValue=xe)}var ci,ls;function ve(l){if(ci===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);ci=t&&t[1]||"",ls=-1)":-1u||s[a]!==h[u]){var y=` +`+s[a].replace(" at new "," at ");return l.displayName&&y.includes("")&&(y=y.replace("",l.displayName)),y}while(1<=a&&0<=u);break}}}finally{fi=!1,Error.prepareStackTrace=e}return(e=l?l.displayName||l.name:"")?ve(e):""}function ih(l,t){switch(l.tag){case 26:case 27:case 5:return ve(l.type);case 16:return ve("Lazy");case 13:return l.child!==t&&t!==null?ve("Suspense Fallback"):ve("Suspense");case 19:return ve("SuspenseList");case 0:case 15:return si(l.type,!1);case 11:return si(l.type.render,!1);case 1:return si(l.type,!0);case 31:return ve("Activity");default:return""}}function ts(l){try{var t="",e=null;do t+=ih(l,e),e=l,l=l.return;while(l);return t}catch(a){return` +Error generating stack: `+a.message+` +`+a.stack}}var Fi=Object.prototype.hasOwnProperty,Kc=hl.unstable_scheduleCallback,oi=hl.unstable_cancelCallback,ch=hl.unstable_shouldYield,fh=hl.unstable_requestPaint,Yl=hl.unstable_now,sh=hl.unstable_getCurrentPriorityLevel,Vo=hl.unstable_ImmediatePriority,Ko=hl.unstable_UserBlockingPriority,dn=hl.unstable_NormalPriority,oh=hl.unstable_LowPriority,Jo=hl.unstable_IdlePriority,rh=hl.log,dh=hl.unstable_setDisableYieldValue,yu=null,ql=null;function Xt(l){if(typeof rh=="function"&&dh(l),ql&&typeof ql.setStrictMode=="function")try{ql.setStrictMode(yu,l)}catch{}}var Gl=Math.clz32?Math.clz32:vh,hh=Math.log,mh=Math.LN2;function vh(l){return l>>>=0,l===0?32:31-(hh(l)/mh|0)|0}var Du=256,Uu=262144,Cu=4194304;function ye(l){var t=l&42;if(t!==0)return t;switch(l&-l){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return l&261888;case 262144:case 524288:case 1048576:case 2097152:return l&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return l&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return l}}function Xn(l,t,e){var a=l.pendingLanes;if(a===0)return 0;var u=0,n=l.suspendedLanes,i=l.pingedLanes;l=l.warmLanes;var c=a&134217727;return c!==0?(a=c&~n,a!==0?u=ye(a):(i&=c,i!==0?u=ye(i):e||(e=c&~l,e!==0&&(u=ye(e))))):(c=a&~n,c!==0?u=ye(c):i!==0?u=ye(i):e||(e=a&~l,e!==0&&(u=ye(e)))),u===0?0:t!==0&&t!==u&&!(t&n)&&(n=u&-u,e=t&-t,n>=e||n===32&&(e&4194048)!==0)?t:u}function bu(l,t){return(l.pendingLanes&~(l.suspendedLanes&~l.pingedLanes)&t)===0}function yh(l,t){switch(l){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32: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 t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ko(){var l=Cu;return Cu<<=1,!(Cu&62914560)&&(Cu=4194304),l}function ri(l){for(var t=[],e=0;31>e;e++)t.push(l);return t}function gu(l,t){l.pendingLanes|=t,t!==268435456&&(l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0)}function bh(l,t,e,a,u,n){var i=l.pendingLanes;l.pendingLanes=e,l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0,l.expiredLanes&=e,l.entangledLanes&=e,l.errorRecoveryDisabledLanes&=e,l.shellSuspendCounter=0;var c=l.entanglements,s=l.expirationTimes,h=l.hiddenUpdates;for(e=i&~e;0"u")return null;try{return l.activeElement||l.body}catch{return l.body}}var Nh=/[\n"\\]/g;function Fl(l){return l.replace(Nh,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function lc(l,t,e,a,u,n,i,c){l.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?l.type=i:l.removeAttribute("type"),t!=null?i==="number"?(t===0&&l.value===""||l.value!=t)&&(l.value=""+kl(t)):l.value!==""+kl(t)&&(l.value=""+kl(t)):i!=="submit"&&i!=="reset"||l.removeAttribute("value"),t!=null?tc(l,i,kl(t)):e!=null?tc(l,i,kl(e)):a!=null&&l.removeAttribute("value"),u==null&&n!=null&&(l.defaultChecked=!!n),u!=null&&(l.checked=u&&typeof u!="function"&&typeof u!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?l.name=""+kl(c):l.removeAttribute("name")}function ar(l,t,e,a,u,n,i,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(l.type=n),t!=null||e!=null){if(!(n!=="submit"&&n!=="reset"||t!=null)){Pi(l);return}e=e!=null?""+kl(e):"",t=t!=null?""+kl(t):e,c||t===l.value||(l.value=t),l.defaultValue=t}a=a??u,a=typeof a!="function"&&typeof a!="symbol"&&!!a,l.checked=c?l.checked:!!a,l.defaultChecked=!!a,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(l.name=i),Pi(l)}function tc(l,t,e){t==="number"&&hn(l.ownerDocument)===l||l.defaultValue===""+e||(l.defaultValue=""+e)}function ea(l,t,e,a){if(l=l.options,t){t={};for(var u=0;u"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ac=!1;if(Et)try{var wa={};Object.defineProperty(wa,"passive",{get:function(){ac=!0}}),window.addEventListener("test",wa,wa),window.removeEventListener("test",wa,wa)}catch{ac=!1}var Qt=null,Ic=null,$u=null;function fr(){if($u)return $u;var l,t=Ic,e=t.length,a,u="value"in Qt?Qt.value:Qt.textContent,n=u.length;for(l=0;l=Qa),ds=" ",hs=!1;function or(l,t){switch(l){case"keyup":return Fh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function rr(l){return l=l.detail,typeof l=="object"&&"data"in l?l.data:null}var Je=!1;function Ph(l,t){switch(l){case"compositionend":return rr(t);case"keypress":return t.which!==32?null:(hs=!0,ds);case"textInput":return l=t.data,l===ds&&hs?null:l;default:return null}}function lm(l,t){if(Je)return l==="compositionend"||!lf&&or(l,t)?(l=fr(),$u=Ic=Qt=null,Je=!1,l):null;switch(l){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:e,offset:t-l};l=a}l:{for(;e;){if(e.nextSibling){e=e.nextSibling;break l}e=e.parentNode}e=void 0}e=gs(e)}}function vr(l,t){return l&&t?l===t?!0:l&&l.nodeType===3?!1:t&&t.nodeType===3?vr(l,t.parentNode):"contains"in l?l.contains(t):l.compareDocumentPosition?!!(l.compareDocumentPosition(t)&16):!1:!1}function yr(l){l=l!=null&&l.ownerDocument!=null&&l.ownerDocument.defaultView!=null?l.ownerDocument.defaultView:window;for(var t=hn(l.document);t instanceof l.HTMLIFrameElement;){try{var e=typeof t.contentWindow.location.href=="string"}catch{e=!1}if(e)l=t.contentWindow;else break;t=hn(l.document)}return t}function tf(l){var t=l&&l.nodeName&&l.nodeName.toLowerCase();return t&&(t==="input"&&(l.type==="text"||l.type==="search"||l.type==="tel"||l.type==="url"||l.type==="password")||t==="textarea"||l.contentEditable==="true")}var fm=Et&&"documentMode"in document&&11>=document.documentMode,ke=null,uc=null,La=null,nc=!1;function ps(l,t,e){var a=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;nc||ke==null||ke!==hn(a)||(a=ke,"selectionStart"in a&&tf(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),La&&uu(La,a)||(La=a,a=On(uc,"onSelect"),0>=i,u-=i,ct=1<<32-Gl(t)+u|e<E?(w=N,N=null):w=N.sibling;var H=r(d,N,v[E],g);if(H===null){N===null&&(N=w);break}l&&N&&H.alternate===null&&t(d,N),o=n(H,o,E),M===null?z=H:M.sibling=H,M=H,N=w}if(E===v.length)return e(d,N),G&&xt(d,E),z;if(N===null){for(;EE?(w=N,N=null):w=N.sibling;var jl=r(d,N,H.value,g);if(jl===null){N===null&&(N=w);break}l&&N&&jl.alternate===null&&t(d,N),o=n(jl,o,E),M===null?z=jl:M.sibling=jl,M=jl,N=w}if(H.done)return e(d,N),G&&xt(d,E),z;if(N===null){for(;!H.done;E++,H=v.next())H=b(d,H.value,g),H!==null&&(o=n(H,o,E),M===null?z=H:M.sibling=H,M=H);return G&&xt(d,E),z}for(N=a(N);!H.done;E++,H=v.next())H=m(N,d,E,H.value,g),H!==null&&(l&&H.alternate!==null&&N.delete(H.key===null?E:H.key),o=n(H,o,E),M===null?z=H:M.sibling=H,M=H);return l&&N.forEach(function(Ll){return t(d,Ll)}),G&&xt(d,E),z}function C(d,o,v,g){if(typeof v=="object"&&v!==null&&v.type===Ze&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Ou:l:{for(var z=v.key;o!==null;){if(o.key===z){if(z=v.type,z===Ze){if(o.tag===7){e(d,o.sibling),g=u(o,v.props.children),g.return=d,d=g;break l}}else if(o.elementType===z||typeof z=="object"&&z!==null&&z.$$typeof===Ht&&be(z)===o.type){e(d,o.sibling),g=u(o,v.props),Da(g,v),g.return=d,d=g;break l}e(d,o);break}else t(d,o);o=o.sibling}v.type===Ze?(g=pe(v.props.children,d.mode,g,v.key),g.return=d,d=g):(g=Fu(v.type,v.key,v.props,null,d.mode,g),Da(g,v),g.return=d,d=g)}return i(d);case Ra:l:{for(z=v.key;o!==null;){if(o.key===z)if(o.tag===4&&o.stateNode.containerInfo===v.containerInfo&&o.stateNode.implementation===v.implementation){e(d,o.sibling),g=u(o,v.children||[]),g.return=d,d=g;break l}else{e(d,o);break}else t(d,o);o=o.sibling}g=pi(v,d.mode,g),g.return=d,d=g}return i(d);case Ht:return v=be(v),C(d,o,v,g)}if(Ba(v))return p(d,o,v,g);if(Ma(v)){if(z=Ma(v),typeof z!="function")throw Error(x(150));return v=z.call(v),j(d,o,v,g)}if(typeof v.then=="function")return C(d,o,Yu(v),g);if(v.$$typeof===St)return C(d,o,Bu(d,v),g);qu(d,v)}return typeof v=="string"&&v!==""||typeof v=="number"||typeof v=="bigint"?(v=""+v,o!==null&&o.tag===6?(e(d,o.sibling),g=u(o,v),g.return=d,d=g):(e(d,o),g=xi(v,d.mode,g),g.return=d,d=g),i(d)):e(d,o)}return function(d,o,v,g){try{cu=0;var z=C(d,o,v,g);return na=null,z}catch(N){if(N===Na||N===Jn)throw N;var M=Rl(29,N,null,d.mode);return M.lanes=g,M.return=d,M}finally{}}}var Te=Or(!0),Dr=Or(!1),Rt=!1;function rf(l){l.updateQueue={baseState:l.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function dc(l,t){l=l.updateQueue,t.updateQueue===l&&(t.updateQueue={baseState:l.baseState,firstBaseUpdate:l.firstBaseUpdate,lastBaseUpdate:l.lastBaseUpdate,shared:l.shared,callbacks:null})}function kt(l){return{lane:l,tag:0,payload:null,callback:null,next:null}}function $t(l,t,e){var a=l.updateQueue;if(a===null)return null;if(a=a.shared,Q&2){var u=a.pending;return u===null?t.next=t:(t.next=u.next,u.next=t),a.pending=t,t=vn(l),Nr(l,null,e),t}return Kn(l,a,t,e),vn(l)}function Ka(l,t,e){if(t=t.updateQueue,t!==null&&(t=t.shared,(e&4194048)!==0)){var a=t.lanes;a&=l.pendingLanes,e|=a,t.lanes=e,Wo(l,e)}}function ji(l,t){var e=l.updateQueue,a=l.alternate;if(a!==null&&(a=a.updateQueue,e===a)){var u=null,n=null;if(e=e.firstBaseUpdate,e!==null){do{var i={lane:e.lane,tag:e.tag,payload:e.payload,callback:null,next:null};n===null?u=n=i:n=n.next=i,e=e.next}while(e!==null);n===null?u=n=t:n=n.next=t}else u=n=t;e={baseState:a.baseState,firstBaseUpdate:u,lastBaseUpdate:n,shared:a.shared,callbacks:a.callbacks},l.updateQueue=e;return}l=e.lastBaseUpdate,l===null?e.firstBaseUpdate=t:l.next=t,e.lastBaseUpdate=t}var hc=!1;function Ja(){if(hc){var l=ua;if(l!==null)throw l}}function ka(l,t,e,a){hc=!1;var u=l.updateQueue;Rt=!1;var n=u.firstBaseUpdate,i=u.lastBaseUpdate,c=u.shared.pending;if(c!==null){u.shared.pending=null;var s=c,h=s.next;s.next=null,i===null?n=h:i.next=h,i=s;var y=l.alternate;y!==null&&(y=y.updateQueue,c=y.lastBaseUpdate,c!==i&&(c===null?y.firstBaseUpdate=h:c.next=h,y.lastBaseUpdate=s))}if(n!==null){var b=u.baseState;i=0,y=h=s=null,c=n;do{var r=c.lane&-536870913,m=r!==c.lane;if(m?(q&r)===r:(a&r)===r){r!==0&&r===ra&&(hc=!0),y!==null&&(y=y.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});l:{var p=l,j=c;r=t;var C=e;switch(j.tag){case 1:if(p=j.payload,typeof p=="function"){b=p.call(C,b,r);break l}b=p;break l;case 3:p.flags=p.flags&-65537|128;case 0:if(p=j.payload,r=typeof p=="function"?p.call(C,b,r):p,r==null)break l;b=P({},b,r);break l;case 2:Rt=!0}}r=c.callback,r!==null&&(l.flags|=64,m&&(l.flags|=8192),m=u.callbacks,m===null?u.callbacks=[r]:m.push(r))}else m={lane:r,tag:c.tag,payload:c.payload,callback:c.callback,next:null},y===null?(h=y=m,s=b):y=y.next=m,i|=r;if(c=c.next,c===null){if(c=u.shared.pending,c===null)break;m=c,c=m.next,m.next=null,u.lastBaseUpdate=m,u.shared.pending=null}}while(!0);y===null&&(s=b),u.baseState=s,u.firstBaseUpdate=h,u.lastBaseUpdate=y,n===null&&(u.shared.lanes=0),ue|=i,l.lanes=i,l.memoizedState=b}}function Ur(l,t){if(typeof l!="function")throw Error(x(191,l));l.call(t)}function Cr(l,t){var e=l.callbacks;if(e!==null)for(l.callbacks=null,l=0;ln?n:8;var i=A.T,c={};A.T=c,zf(l,!1,t,e);try{var s=u(),h=A.S;if(h!==null&&h(c,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var y=bm(s,a);$a(l,t,y,Xl(l))}else $a(l,t,a,Xl(l))}catch(b){$a(l,t,{then:function(){},status:"rejected",reason:b},Xl())}finally{Z.p=n,i!==null&&c.types!==null&&(i.types=c.types),A.T=i}}function Nm(){}function gc(l,t,e,a){if(l.tag!==5)throw Error(x(476));var u=nd(l).queue;ud(l,u,t,xe,e===null?Nm:function(){return id(l),e(a)})}function nd(l){var t=l.memoizedState;if(t!==null)return t;t={memoizedState:xe,baseState:xe,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Mt,lastRenderedState:xe},next:null};var e={};return t.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Mt,lastRenderedState:e},next:null},l.memoizedState=t,l=l.alternate,l!==null&&(l.memoizedState=t),t}function id(l){var t=nd(l);t.next===null&&(t=l.alternate.memoizedState),$a(l,t.next.queue,{},Xl())}function Nf(){return pl(du)}function cd(){return nl().memoizedState}function fd(){return nl().memoizedState}function zm(l){for(var t=l.return;t!==null;){switch(t.tag){case 24:case 3:var e=Xl();l=kt(e);var a=$t(t,l,e);a!==null&&(Ol(a,t,e),Ka(a,t,e)),t={cache:ff()},l.payload=t;return}t=t.return}}function _m(l,t,e){var a=Xl();e={lane:a,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},Fn(l)?od(t,e):(e=af(l,t,e,a),e!==null&&(Ol(e,l,a),rd(e,t,a)))}function sd(l,t,e){var a=Xl();$a(l,t,e,a)}function $a(l,t,e,a){var u={lane:a,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(Fn(l))od(t,u);else{var n=l.alternate;if(l.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var i=t.lastRenderedState,c=n(i,e);if(u.hasEagerState=!0,u.eagerState=c,Ql(c,i))return Kn(l,t,u,0),k===null&&Vn(),!1}catch{}finally{}if(e=af(l,t,u,a),e!==null)return Ol(e,l,a),rd(e,t,a),!0}return!1}function zf(l,t,e,a){if(a={lane:2,revertLane:Uf(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Fn(l)){if(t)throw Error(x(479))}else t=af(l,e,a,2),t!==null&&Ol(t,l,2)}function Fn(l){var t=l.alternate;return l===U||t!==null&&t===U}function od(l,t){ia=Sn=!0;var e=l.pending;e===null?t.next=t:(t.next=e.next,e.next=t),l.pending=t}function rd(l,t,e){if(e&4194048){var a=t.lanes;a&=l.pendingLanes,e|=a,t.lanes=e,Wo(l,e)}}var su={readContext:pl,use:$n,useCallback:el,useContext:el,useEffect:el,useImperativeHandle:el,useLayoutEffect:el,useInsertionEffect:el,useMemo:el,useReducer:el,useRef:el,useState:el,useDebugValue:el,useDeferredValue:el,useTransition:el,useSyncExternalStore:el,useId:el,useHostTransitionStatus:el,useFormState:el,useActionState:el,useOptimistic:el,useMemoCache:el,useCacheRefresh:el};su.useEffectEvent=el;var dd={readContext:pl,use:$n,useCallback:function(l,t){return Nl().memoizedState=[l,t===void 0?null:t],l},useContext:pl,useEffect:Hs,useImperativeHandle:function(l,t,e){e=e!=null?e.concat([l]):null,ln(4194308,4,Pr.bind(null,t,l),e)},useLayoutEffect:function(l,t){return ln(4194308,4,l,t)},useInsertionEffect:function(l,t){ln(4,2,l,t)},useMemo:function(l,t){var e=Nl();t=t===void 0?null:t;var a=l();if(Ee){Xt(!0);try{l()}finally{Xt(!1)}}return e.memoizedState=[a,t],a},useReducer:function(l,t,e){var a=Nl();if(e!==void 0){var u=e(t);if(Ee){Xt(!0);try{e(t)}finally{Xt(!1)}}}else u=t;return a.memoizedState=a.baseState=u,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:u},a.queue=l,l=l.dispatch=_m.bind(null,U,l),[a.memoizedState,l]},useRef:function(l){var t=Nl();return l={current:l},t.memoizedState=l},useState:function(l){l=yc(l);var t=l.queue,e=sd.bind(null,U,t);return t.dispatch=e,[l.memoizedState,e]},useDebugValue:Sf,useDeferredValue:function(l,t){var e=Nl();return jf(e,l,t)},useTransition:function(){var l=yc(!1);return l=ud.bind(null,U,l.queue,!0,!1),Nl().memoizedState=l,[!1,l]},useSyncExternalStore:function(l,t,e){var a=U,u=Nl();if(G){if(e===void 0)throw Error(x(407));e=e()}else{if(e=t(),k===null)throw Error(x(349));q&127||qr(a,t,e)}u.memoizedState=e;var n={value:e,getSnapshot:t};return u.queue=n,Hs(Xr.bind(null,a,n,l),[l]),a.flags|=2048,ha(9,{destroy:void 0},Gr.bind(null,a,n,e,t),null),e},useId:function(){var l=Nl(),t=k.identifierPrefix;if(G){var e=ft,a=ct;e=(a&~(1<<32-Gl(a)-1)).toString(32)+e,t="_"+t+"R_"+e,e=jn++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof a.is=="string"?i.createElement("select",{is:a.is}):i.createElement("select"),a.multiple?n.multiple=!0:a.size&&(n.size=a.size);break;default:n=typeof a.is=="string"?i.createElement(u,{is:a.is}):i.createElement(u)}}n[gl]=t,n[Dl]=a;l:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)n.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break l;for(;i.sibling===null;){if(i.return===null||i.return===t)break l;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=n;l:switch(Sl(n,u,a),u){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break l;case"img":a=!0;break l;default:a=!1}a&&vt(t)}}return W(t),wi(t,t.type,l===null?null:l.memoizedProps,t.pendingProps,e),null;case 6:if(l&&t.stateNode!=null)l.memoizedProps!==a&&vt(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(x(166));if(l=Kt.current,Ye(t)){if(l=t.stateNode,e=t.memoizedProps,a=null,u=xl,u!==null)switch(u.tag){case 27:case 5:a=u.memoizedProps}l[gl]=t,l=!!(l.nodeValue===e||a!==null&&a.suppressHydrationWarning===!0||s0(l.nodeValue,e)),l||ee(t,!0)}else l=Dn(l).createTextNode(a),l[gl]=t,t.stateNode=l}return W(t),null;case 31:if(e=t.memoizedState,l===null||l.memoizedState!==null){if(a=Ye(t),e!==null){if(l===null){if(!a)throw Error(x(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(x(557));l[gl]=t}else ze(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;W(t),l=!1}else e=Si(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=e),l=!0;if(!l)return t.flags&256?(Hl(t),t):(Hl(t),null);if(t.flags&128)throw Error(x(558))}return W(t),null;case 13:if(a=t.memoizedState,l===null||l.memoizedState!==null&&l.memoizedState.dehydrated!==null){if(u=Ye(t),a!==null&&a.dehydrated!==null){if(l===null){if(!u)throw Error(x(318));if(u=t.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(x(317));u[gl]=t}else ze(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;W(t),u=!1}else u=Si(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=u),u=!0;if(!u)return t.flags&256?(Hl(t),t):(Hl(t),null)}return Hl(t),t.flags&128?(t.lanes=e,t):(e=a!==null,l=l!==null&&l.memoizedState!==null,e&&(a=t.child,u=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(u=a.alternate.memoizedState.cachePool.pool),n=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(n=a.memoizedState.cachePool.pool),n!==u&&(a.flags|=2048)),e!==l&&e&&(t.child.flags|=8192),Gu(t,t.updateQueue),W(t),null);case 4:return fa(),l===null&&Cf(t.stateNode.containerInfo),W(t),null;case 10:return _t(t.type),W(t),null;case 19:if(yl(ul),a=t.memoizedState,a===null)return W(t),null;if(u=(t.flags&128)!==0,n=a.rendering,n===null)if(u)Ua(a,!1);else{if(al!==0||l!==null&&l.flags&128)for(l=t.child;l!==null;){if(n=pn(l),n!==null){for(t.flags|=128,Ua(a,!1),l=n.updateQueue,t.updateQueue=l,Gu(t,l),t.subtreeFlags=0,l=e,e=t.child;e!==null;)zr(e,l),e=e.sibling;return $(ul,ul.current&1|2),G&&xt(t,a.treeForkCount),t.child}l=l.sibling}a.tail!==null&&Yl()>Tn&&(t.flags|=128,u=!0,Ua(a,!1),t.lanes=4194304)}else{if(!u)if(l=pn(n),l!==null){if(t.flags|=128,u=!0,l=l.updateQueue,t.updateQueue=l,Gu(t,l),Ua(a,!0),a.tail===null&&a.tailMode==="hidden"&&!n.alternate&&!G)return W(t),null}else 2*Yl()-a.renderingStartTime>Tn&&e!==536870912&&(t.flags|=128,u=!0,Ua(a,!1),t.lanes=4194304);a.isBackwards?(n.sibling=t.child,t.child=n):(l=a.last,l!==null?l.sibling=n:t.child=n,a.last=n)}return a.tail!==null?(l=a.tail,a.rendering=l,a.tail=l.sibling,a.renderingStartTime=Yl(),l.sibling=null,e=ul.current,$(ul,u?e&1|2:e&1),G&&xt(t,a.treeForkCount),l):(W(t),null);case 22:case 23:return Hl(t),df(),a=t.memoizedState!==null,l!==null?l.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?e&536870912&&!(t.flags&128)&&(W(t),t.subtreeFlags&6&&(t.flags|=8192)):W(t),e=t.updateQueue,e!==null&&Gu(t,e.retryQueue),e=null,l!==null&&l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(e=l.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==e&&(t.flags|=2048),l!==null&&yl(Se),null;case 24:return e=null,l!==null&&(e=l.memoizedState.cache),t.memoizedState.cache!==e&&(t.flags|=2048),_t(sl),W(t),null;case 25:return null;case 30:return null}throw Error(x(156,t.tag))}function wm(l,t){switch(cf(t),t.tag){case 1:return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 3:return _t(sl),fa(),l=t.flags,l&65536&&!(l&128)?(t.flags=l&-65537|128,t):null;case 26:case 27:case 5:return rn(t),null;case 31:if(t.memoizedState!==null){if(Hl(t),t.alternate===null)throw Error(x(340));ze()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 13:if(Hl(t),l=t.memoizedState,l!==null&&l.dehydrated!==null){if(t.alternate===null)throw Error(x(340));ze()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 19:return yl(ul),null;case 4:return fa(),null;case 10:return _t(t.type),null;case 22:case 23:return Hl(t),df(),l!==null&&yl(Se),l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 24:return _t(sl),null;case 25:return null;default:return null}}function zd(l,t){switch(cf(t),t.tag){case 3:_t(sl),fa();break;case 26:case 27:case 5:rn(t);break;case 4:fa();break;case 31:t.memoizedState!==null&&Hl(t);break;case 13:Hl(t);break;case 19:yl(ul);break;case 10:_t(t.type);break;case 22:case 23:Hl(t),df(),l!==null&&yl(Se);break;case 24:_t(sl)}}function Nu(l,t){try{var e=t.updateQueue,a=e!==null?e.lastEffect:null;if(a!==null){var u=a.next;e=u;do{if((e.tag&l)===l){a=void 0;var n=e.create,i=e.inst;a=n(),i.destroy=a}e=e.next}while(e!==u)}}catch(c){V(t,t.return,c)}}function ae(l,t,e){try{var a=t.updateQueue,u=a!==null?a.lastEffect:null;if(u!==null){var n=u.next;a=n;do{if((a.tag&l)===l){var i=a.inst,c=i.destroy;if(c!==void 0){i.destroy=void 0,u=t;var s=e,h=c;try{h()}catch(y){V(u,s,y)}}}a=a.next}while(a!==n)}}catch(y){V(t,t.return,y)}}function _d(l){var t=l.updateQueue;if(t!==null){var e=l.stateNode;try{Cr(t,e)}catch(a){V(l,l.return,a)}}}function Td(l,t,e){e.props=Ae(l.type,l.memoizedProps),e.state=l.memoizedState;try{e.componentWillUnmount()}catch(a){V(l,t,a)}}function Wa(l,t){try{var e=l.ref;if(e!==null){switch(l.tag){case 26:case 27:case 5:var a=l.stateNode;break;case 30:a=l.stateNode;break;default:a=l.stateNode}typeof e=="function"?l.refCleanup=e(a):e.current=a}}catch(u){V(l,t,u)}}function st(l,t){var e=l.ref,a=l.refCleanup;if(e!==null)if(typeof a=="function")try{a()}catch(u){V(l,t,u)}finally{l.refCleanup=null,l=l.alternate,l!=null&&(l.refCleanup=null)}else if(typeof e=="function")try{e(null)}catch(u){V(l,t,u)}else e.current=null}function Ed(l){var t=l.type,e=l.memoizedProps,a=l.stateNode;try{l:switch(t){case"button":case"input":case"select":case"textarea":e.autoFocus&&a.focus();break l;case"img":e.src?a.src=e.src:e.srcSet&&(a.srcset=e.srcSet)}}catch(u){V(l,l.return,u)}}function Oi(l,t,e){try{var a=l.stateNode;Im(a,l.type,e,t),a[Dl]=t}catch(u){V(l,l.return,u)}}function Ad(l){return l.tag===5||l.tag===3||l.tag===26||l.tag===27&&ie(l.type)||l.tag===4}function Di(l){l:for(;;){for(;l.sibling===null;){if(l.return===null||Ad(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.tag===27&&ie(l.type)||l.flags&2||l.child===null||l.tag===4)continue l;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function Nc(l,t,e){var a=l.tag;if(a===5||a===6)l=l.stateNode,t?(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e).insertBefore(l,t):(t=e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,t.appendChild(l),e=e._reactRootContainer,e!=null||t.onclick!==null||(t.onclick=jt));else if(a!==4&&(a===27&&ie(l.type)&&(e=l.stateNode,t=null),l=l.child,l!==null))for(Nc(l,t,e),l=l.sibling;l!==null;)Nc(l,t,e),l=l.sibling}function _n(l,t,e){var a=l.tag;if(a===5||a===6)l=l.stateNode,t?e.insertBefore(l,t):e.appendChild(l);else if(a!==4&&(a===27&&ie(l.type)&&(e=l.stateNode),l=l.child,l!==null))for(_n(l,t,e),l=l.sibling;l!==null;)_n(l,t,e),l=l.sibling}function Md(l){var t=l.stateNode,e=l.memoizedProps;try{for(var a=l.type,u=t.attributes;u.length;)t.removeAttributeNode(u[0]);Sl(t,a,e),t[gl]=l,t[Dl]=e}catch(n){V(l,l.return,n)}}var pt=!1,fl=!1,Ui=!1,ks=typeof WeakSet=="function"?WeakSet:Set,ml=null;function Om(l,t){if(l=l.containerInfo,wc=Rn,l=yr(l),tf(l)){if("selectionStart"in l)var e={start:l.selectionStart,end:l.selectionEnd};else l:{e=(e=l.ownerDocument)&&e.defaultView||window;var a=e.getSelection&&e.getSelection();if(a&&a.rangeCount!==0){e=a.anchorNode;var u=a.anchorOffset,n=a.focusNode;a=a.focusOffset;try{e.nodeType,n.nodeType}catch{e=null;break l}var i=0,c=-1,s=-1,h=0,y=0,b=l,r=null;t:for(;;){for(var m;b!==e||u!==0&&b.nodeType!==3||(c=i+u),b!==n||a!==0&&b.nodeType!==3||(s=i+a),b.nodeType===3&&(i+=b.nodeValue.length),(m=b.firstChild)!==null;)r=b,b=m;for(;;){if(b===l)break t;if(r===e&&++h===u&&(c=i),r===n&&++y===a&&(s=i),(m=b.nextSibling)!==null)break;b=r,r=b.parentNode}b=m}e=c===-1||s===-1?null:{start:c,end:s}}else e=null}e=e||{start:0,end:0}}else e=null;for(Oc={focusedElem:l,selectionRange:e},Rn=!1,ml=t;ml!==null;)if(t=ml,l=t.child,(t.subtreeFlags&1028)!==0&&l!==null)l.return=t,ml=l;else for(;ml!==null;){switch(t=ml,n=t.alternate,l=t.flags,t.tag){case 0:if(l&4&&(l=t.updateQueue,l=l!==null?l.events:null,l!==null))for(e=0;e title"))),Sl(n,a,e),n[gl]=l,vl(n),a=n;break l;case"link":var i=vo("link","href",u).get(a+(e.href||""));if(i){for(var c=0;cC&&(i=C,C=j,j=i);var d=xs(c,j),o=xs(c,C);if(d&&o&&(m.rangeCount!==1||m.anchorNode!==d.node||m.anchorOffset!==d.offset||m.focusNode!==o.node||m.focusOffset!==o.offset)){var v=b.createRange();v.setStart(d.node,d.offset),m.removeAllRanges(),j>C?(m.addRange(v),m.extend(o.node,o.offset)):(v.setEnd(o.node,o.offset),m.addRange(v))}}}}for(b=[],m=c;m=m.parentNode;)m.nodeType===1&&b.push({element:m,left:m.scrollLeft,top:m.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;ce?32:e,A.T=null,e=Tc,Tc=null;var n=Ft,i=Tt;if(dl=0,va=Ft=null,Tt=0,Q&6)throw Error(x(331));var c=Q;if(Q|=4,Gd(n.current),Bd(n,n.current,i,e),Q=c,zu(0,!1),ql&&typeof ql.onPostCommitFiberRoot=="function")try{ql.onPostCommitFiberRoot(yu,n)}catch{}return!0}finally{Z.p=u,A.T=a,t0(l,t)}}function Is(l,t,e){t=Il(e,t),t=pc(l.stateNode,t,2),l=$t(l,t,2),l!==null&&(gu(l,2),dt(l))}function V(l,t,e){if(l.tag===3)Is(l,l,e);else for(;t!==null;){if(t.tag===3){Is(t,l,e);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(Wt===null||!Wt.has(a))){l=Il(e,l),e=bd(2),a=$t(t,e,2),a!==null&&(gd(e,a,t,l),gu(a,2),dt(a));break}}t=t.return}}function Hi(l,t,e){var a=l.pingCache;if(a===null){a=l.pingCache=new Cm;var u=new Set;a.set(t,u)}else u=a.get(t),u===void 0&&(u=new Set,a.set(t,u));u.has(e)||(wf=!0,u.add(e),l=qm.bind(null,l,t,e),t.then(l,l))}function qm(l,t,e){var a=l.pingCache;a!==null&&a.delete(t),l.pingedLanes|=l.suspendedLanes&e,l.warmLanes&=~e,k===l&&(q&e)===e&&(al===4||al===3&&(q&62914560)===q&&300>Yl()-In?!(Q&2)&&ya(l,0):Of|=e,ma===q&&(ma=0)),dt(l)}function a0(l,t){t===0&&(t=ko()),l=De(l,t),l!==null&&(gu(l,t),dt(l))}function Gm(l){var t=l.memoizedState,e=0;t!==null&&(e=t.retryLane),a0(l,e)}function Xm(l,t){var e=0;switch(l.tag){case 31:case 13:var a=l.stateNode,u=l.memoizedState;u!==null&&(e=u.retryLane);break;case 19:a=l.stateNode;break;case 22:a=l.stateNode._retryCache;break;default:throw Error(x(314))}a!==null&&a.delete(t),a0(l,e)}function Qm(l,t){return Kc(l,t)}var Mn=null,Qe=null,Ac=!1,wn=!1,Ri=!1,Vt=0;function dt(l){l!==Qe&&l.next===null&&(Qe===null?Mn=Qe=l:Qe=Qe.next=l),wn=!0,Ac||(Ac=!0,Lm())}function zu(l,t){if(!Ri&&wn){Ri=!0;do for(var e=!1,a=Mn;a!==null;){if(l!==0){var u=a.pendingLanes;if(u===0)var n=0;else{var i=a.suspendedLanes,c=a.pingedLanes;n=(1<<31-Gl(42|l)+1)-1,n&=u&~(i&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,Ps(a,n))}else n=q,n=Xn(a,a===k?n:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),!(n&3)||bu(a,n)||(e=!0,Ps(a,n));a=a.next}while(e);Ri=!1}}function Zm(){u0()}function u0(){wn=Ac=!1;var l=0;Vt!==0&&lv()&&(l=Vt);for(var t=Yl(),e=null,a=Mn;a!==null;){var u=a.next,n=n0(a,t);n===0?(a.next=null,e===null?Mn=u:e.next=u,u===null&&(Qe=e)):(e=a,(l!==0||n&3)&&(wn=!0)),a=u}dl!==0&&dl!==5||zu(l),Vt!==0&&(Vt=0)}function n0(l,t){for(var e=l.suspendedLanes,a=l.pingedLanes,u=l.expirationTimes,n=l.pendingLanes&-62914561;0c)break;var y=s.transferSize,b=s.initiatorType;y&&uo(b)&&(s=s.responseEnd,i+=y*(s"u"?null:document;function m0(l,t,e){var a=_a;if(a&&typeof t=="string"&&t){var u=Fl(t);u='link[rel="'+l+'"][href="'+u+'"]',typeof e=="string"&&(u+='[crossorigin="'+e+'"]'),ro.has(u)||(ro.add(u),l={rel:l,crossOrigin:e,href:t},a.querySelector(u)===null&&(t=a.createElement("link"),Sl(t,"link",l),vl(t),a.head.appendChild(t)))}}function sv(l){Dt.D(l),m0("dns-prefetch",l,null)}function ov(l,t){Dt.C(l,t),m0("preconnect",l,t)}function rv(l,t,e){Dt.L(l,t,e);var a=_a;if(a&&l&&t){var u='link[rel="preload"][as="'+Fl(t)+'"]';t==="image"&&e&&e.imageSrcSet?(u+='[imagesrcset="'+Fl(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(u+='[imagesizes="'+Fl(e.imageSizes)+'"]')):u+='[href="'+Fl(l)+'"]';var n=u;switch(t){case"style":n=ba(l);break;case"script":n=Ta(l)}et.has(n)||(l=P({rel:"preload",href:t==="image"&&e&&e.imageSrcSet?void 0:l,as:t},e),et.set(n,l),a.querySelector(u)!==null||t==="style"&&a.querySelector(_u(n))||t==="script"&&a.querySelector(Tu(n))||(t=a.createElement("link"),Sl(t,"link",l),vl(t),a.head.appendChild(t)))}}function dv(l,t){Dt.m(l,t);var e=_a;if(e&&l){var a=t&&typeof t.as=="string"?t.as:"script",u='link[rel="modulepreload"][as="'+Fl(a)+'"][href="'+Fl(l)+'"]',n=u;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=Ta(l)}if(!et.has(n)&&(l=P({rel:"modulepreload",href:l},t),et.set(n,l),e.querySelector(u)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(Tu(n)))return}a=e.createElement("link"),Sl(a,"link",l),vl(a),e.head.appendChild(a)}}}function hv(l,t,e){Dt.S(l,t,e);var a=_a;if(a&&l){var u=ta(a).hoistableStyles,n=ba(l);t=t||"default";var i=u.get(n);if(!i){var c={loading:0,preload:null};if(i=a.querySelector(_u(n)))c.loading=5;else{l=P({rel:"stylesheet",href:l,"data-precedence":t},e),(e=et.get(n))&&Hf(l,e);var s=i=a.createElement("link");vl(s),Sl(s,"link",l),s._p=new Promise(function(h,y){s.onload=h,s.onerror=y}),s.addEventListener("load",function(){c.loading|=1}),s.addEventListener("error",function(){c.loading|=2}),c.loading|=4,un(i,t,a)}i={type:"stylesheet",instance:i,count:1,state:c},u.set(n,i)}}}function mv(l,t){Dt.X(l,t);var e=_a;if(e&&l){var a=ta(e).hoistableScripts,u=Ta(l),n=a.get(u);n||(n=e.querySelector(Tu(u)),n||(l=P({src:l,async:!0},t),(t=et.get(u))&&Rf(l,t),n=e.createElement("script"),vl(n),Sl(n,"link",l),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},a.set(u,n))}}function vv(l,t){Dt.M(l,t);var e=_a;if(e&&l){var a=ta(e).hoistableScripts,u=Ta(l),n=a.get(u);n||(n=e.querySelector(Tu(u)),n||(l=P({src:l,async:!0,type:"module"},t),(t=et.get(u))&&Rf(l,t),n=e.createElement("script"),vl(n),Sl(n,"link",l),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},a.set(u,n))}}function ho(l,t,e,a){var u=(u=Kt.current)?Un(u):null;if(!u)throw Error(x(446));switch(l){case"meta":case"title":return null;case"style":return typeof e.precedence=="string"&&typeof e.href=="string"?(t=ba(e.href),e=ta(u).hoistableStyles,a=e.get(t),a||(a={type:"style",instance:null,count:0,state:null},e.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(e.rel==="stylesheet"&&typeof e.href=="string"&&typeof e.precedence=="string"){l=ba(e.href);var n=ta(u).hoistableStyles,i=n.get(l);if(i||(u=u.ownerDocument||u,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(l,i),(n=u.querySelector(_u(l)))&&!n._p&&(i.instance=n,i.state.loading=5),et.has(l)||(e={rel:"preload",as:"style",href:e.href,crossOrigin:e.crossOrigin,integrity:e.integrity,media:e.media,hrefLang:e.hrefLang,referrerPolicy:e.referrerPolicy},et.set(l,e),n||yv(u,l,e,i.state))),t&&a===null)throw Error(x(528,""));return i}if(t&&a!==null)throw Error(x(529,""));return null;case"script":return t=e.async,e=e.src,typeof e=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Ta(e),e=ta(u).hoistableScripts,a=e.get(t),a||(a={type:"script",instance:null,count:0,state:null},e.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(x(444,l))}}function ba(l){return'href="'+Fl(l)+'"'}function _u(l){return'link[rel="stylesheet"]['+l+"]"}function v0(l){return P({},l,{"data-precedence":l.precedence,precedence:null})}function yv(l,t,e,a){l.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=l.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Sl(t,"link",e),vl(t),l.head.appendChild(t))}function Ta(l){return'[src="'+Fl(l)+'"]'}function Tu(l){return"script[async]"+l}function mo(l,t,e){if(t.count++,t.instance===null)switch(t.type){case"style":var a=l.querySelector('style[data-href~="'+Fl(e.href)+'"]');if(a)return t.instance=a,vl(a),a;var u=P({},e,{"data-href":e.href,"data-precedence":e.precedence,href:null,precedence:null});return a=(l.ownerDocument||l).createElement("style"),vl(a),Sl(a,"style",u),un(a,e.precedence,l),t.instance=a;case"stylesheet":u=ba(e.href);var n=l.querySelector(_u(u));if(n)return t.state.loading|=4,t.instance=n,vl(n),n;a=v0(e),(u=et.get(u))&&Hf(a,u),n=(l.ownerDocument||l).createElement("link"),vl(n);var i=n;return i._p=new Promise(function(c,s){i.onload=c,i.onerror=s}),Sl(n,"link",a),t.state.loading|=4,un(n,e.precedence,l),t.instance=n;case"script":return n=Ta(e.src),(u=l.querySelector(Tu(n)))?(t.instance=u,vl(u),u):(a=e,(u=et.get(n))&&(a=P({},e),Rf(a,u)),l=l.ownerDocument||l,u=l.createElement("script"),vl(u),Sl(u,"link",a),l.head.appendChild(u),t.instance=u);case"void":return null;default:throw Error(x(443,t.type))}else t.type==="stylesheet"&&!(t.state.loading&4)&&(a=t.instance,t.state.loading|=4,un(a,e.precedence,l));return t.instance}function un(l,t,e){for(var a=e.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),u=a.length?a[a.length-1]:null,n=u,i=0;i title"):null)}function bv(l,t,e){if(e===1||t.itemProp!=null)return!1;switch(l){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return l=t.disabled,typeof t.precedence=="string"&&l==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function y0(l){return!(l.type==="stylesheet"&&!(l.state.loading&3))}function gv(l,t,e,a){if(e.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&!(e.state.loading&4)){if(e.instance===null){var u=ba(a.href),n=t.querySelector(_u(u));if(n){t=n._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(l.count++,l=Cn.bind(l),t.then(l,l)),e.state.loading|=4,e.instance=n,vl(n);return}n=t.ownerDocument||t,a=v0(a),(u=et.get(u))&&Hf(a,u),n=n.createElement("link"),vl(n);var i=n;i._p=new Promise(function(c,s){i.onload=c,i.onerror=s}),Sl(n,"link",a),e.instance=n}l.stylesheets===null&&(l.stylesheets=new Map),l.stylesheets.set(e,t),(t=e.state.preload)&&!(e.state.loading&3)&&(l.count++,e=Cn.bind(l),t.addEventListener("load",e),t.addEventListener("error",e))}}var Qi=0;function xv(l,t){return l.stylesheets&&l.count===0&&cn(l,l.stylesheets),0Qi?50:800)+t);return l.unsuspend=e,function(){l.unsuspend=null,clearTimeout(a),clearTimeout(u)}}:null}function Cn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)cn(this,this.stylesheets);else if(this.unsuspend){var l=this.unsuspend;this.unsuspend=null,l()}}}var Hn=null;function cn(l,t){l.stylesheets=null,l.unsuspend!==null&&(l.count++,Hn=new Map,t.forEach(pv,l),Hn=null,Cn.call(l))}function pv(l,t){if(!(t.state.loading&4)){var e=Hn.get(l);if(e)var a=e.get(null);else{e=new Map,Hn.set(l,e);for(var u=l.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(z0)}catch(l){console.error(l)}}z0(),Do.exports=qn;var Av=Do.exports;const Mv={new_order:"/sounds/new_order.mp3",flip:"/sounds/flip.mp3",win_common:"/sounds/win_common.mp3",win_grand:"/sounds/win_grand.mp3"},wv=(l=!1)=>{const t=T.useRef(null),e=T.useRef(new Map);return T.useEffect(()=>((async()=>{if(!t.current){const n=window.AudioContext||window.webkitAudioContext;t.current=new n}for(const[n,i]of Object.entries(Mv))try{const s=await(await fetch(i)).arrayBuffer();if(t.current){const h=await t.current.decodeAudioData(s);e.current.set(n,h)}}catch(c){console.warn(`Failed to load sound: ${n}`,c)}})(),()=>{t.current&&t.current.close()}),[]),{play:T.useCallback(u=>{if(!(l||!t.current||!e.current.has(u)))try{t.current.state==="suspended"&&t.current.resume();const n=t.current.createBufferSource(),i=e.current.get(u);i&&(n.buffer=i,n.connect(t.current.destination),n.start(0))}catch(n){console.error(`Error playing sound: ${u}`,n)}},[l])}},Ov=({gradient:l,starColor:t})=>{const e=T.useMemo(()=>Array.from({length:150}).map((a,u)=>({id:u,left:`${Math.random()*100}%`,top:`${Math.random()*100}%`,size:Math.random()*2+1,duration:Math.random()*3+2,delay:Math.random()*5})),[]);return f.jsxs("div",{className:`fixed inset-0 z-0 bg-gradient-to-b ${l} overflow-hidden`,children:[e.map(a=>f.jsx("div",{className:"star",style:{left:a.left,top:a.top,width:`${a.size}px`,height:`${a.size}px`,backgroundColor:t,boxShadow:`0 0 ${a.size}px ${t}`,animation:`twinkle ${a.duration}s infinite ease-in-out`,animationDelay:`${a.delay}s`}},a.id)),f.jsx("div",{className:"absolute inset-0 opacity-20 pointer-events-none bg-[radial-gradient(circle_at_center,rgba(59,130,246,0.3)_0%,transparent_70%)]"})]})},Dv=({id:l,title:t,subtitle:e,userName:a,userNameFontSize:u=10,image:n,isRevealed:i,onFlip:c,accentColor:s="text-blue-400",borderColor:h="border-white/10",cardBg:y="bg-white/[0.03]",textColor:b="text-white",subTextColor:r="text-white/30",isGrandPrize:m,disabled:p,isBlacklisted:j})=>{const C=p||j;return f.jsx("div",{className:`w-full aspect-[3/4.5] perspective-1000 group ${C?"cursor-not-allowed":"cursor-pointer"} ${j?"opacity-70":p?"opacity-60":""}`,onClick:d=>!i&&!C&&c(l,d),children:f.jsxs("div",{className:`relative w-full h-full transition-all duration-1000 preserve-3d ${i?"[transform:rotateY(180deg)]":"hover:[transform:translateZ(20px)]"}`,children:[f.jsx("div",{className:`absolute inset-0 w-full h-full backface-hidden rounded-[24px] overflow-hidden ${y} backdrop-blur-3xl border transition-all duration-500 flex flex-col p-1 shadow-2xl group-hover:shadow-[0_0_50px_rgba(255,255,255,0.1)] ${i?"opacity-0":"opacity-100"} ${j?"border-red-500/60 ring-2 ring-red-500/30":m?"border-yellow-400/40":h}`,children:f.jsxs("div",{className:"relative w-full h-full border border-white/5 rounded-[20px] flex flex-col items-center justify-between p-2 overflow-hidden",style:{containerType:"inline-size"},children:[f.jsx("div",{className:"absolute inset-0 opacity-20",style:{backgroundImage:"linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px)",backgroundSize:"20px 20px"}}),f.jsxs("div",{className:"w-full flex justify-between items-center z-10",children:[f.jsxs("div",{className:"flex gap-1.5",children:[f.jsx("div",{className:`w-1.5 h-1.5 rounded-full ${j?"bg-red-500":m?"bg-yellow-400 animate-ping":"bg-white/20"}`}),f.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-white/10"})]}),f.jsx("div",{className:`text-[10px] font-mono tracking-widest ${j?"text-red-400":r}`,children:j?"⚠️ 黑名单":`NO.${String(l).slice(-4)}`})]}),f.jsxs("div",{className:"relative flex-1 flex flex-col items-center justify-center w-full my-1 overflow-hidden perspective-1000",children:[f.jsxs("div",{className:"absolute bottom-2 w-[min(8rem,80%)] h-[min(8rem,80%)] flex items-center justify-center pointer-events-none",children:[f.jsx("div",{className:"absolute w-3/4 h-3/4 border border-white/10 rounded-full animate-spin-slow [animation-duration:10s]"}),f.jsx("div",{className:"absolute w-1/2 h-1/2 border border-white/20 rounded-full border-dashed animate-spin-reverse-slow [animation-duration:15s]"}),f.jsx("div",{className:"absolute w-full h-1/4 bg-[radial-gradient(ellipse_at_center,rgba(255,255,255,0.1)_0%,transparent_70%)] blur-md bottom-0"})]}),f.jsxs("div",{className:"relative w-[min(7rem,75%)] h-[min(7rem,75%)] animate-float group-hover:scale-110 transition-transform duration-500 z-10",children:[f.jsxs("svg",{viewBox:"0 0 100 100",className:"w-full h-full drop-shadow-[0_10px_20px_rgba(0,0,0,0.5)]",children:[f.jsxs("defs",{children:[f.jsxs("linearGradient",{id:"crateFaceL",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[f.jsx("stop",{offset:"0%",stopColor:"rgba(255,255,255,0.15)"}),f.jsx("stop",{offset:"100%",stopColor:"rgba(255,255,255,0.05)"})]}),f.jsxs("linearGradient",{id:"crateFaceR",x1:"100%",y1:"0%",x2:"0%",y2:"100%",children:[f.jsx("stop",{offset:"0%",stopColor:"rgba(255,255,255,0.2)"}),f.jsx("stop",{offset:"100%",stopColor:"rgba(255,255,255,0.08)"})]}),f.jsxs("linearGradient",{id:"crateTop",x1:"0%",y1:"0%",x2:"0%",y2:"100%",children:[f.jsx("stop",{offset:"0%",stopColor:"rgba(255,255,255,0.4)"}),f.jsx("stop",{offset:"100%",stopColor:"rgba(255,255,255,0.2)"})]})]}),f.jsx("g",{transform:"translate(0, 10)",children:b.includes("white")?f.jsxs(f.Fragment,{children:[f.jsx("path",{d:"M50 90 L15 72.5 L15 37.5 L50 55 Z",fill:"url(#crateFaceL)",stroke:"rgba(255,255,255,0.2)",strokeWidth:"0.5"}),f.jsx("path",{d:"M50 90 L85 72.5 L85 37.5 L50 55 Z",fill:"url(#crateFaceR)",stroke:"rgba(255,255,255,0.2)",strokeWidth:"0.5"}),f.jsx("path",{d:"M15 37.5 L50 20 L85 37.5 L50 55 Z",fill:"url(#crateTop)",stroke:"rgba(255,255,255,0.5)",strokeWidth:"0.5",className:"opacity-80"}),f.jsx("path",{d:"M50 55 L50 90",stroke:s.replace("text-","stroke-"),strokeWidth:"2",className:"opacity-50 blur-[2px]"}),f.jsx("path",{d:"M15 37.5 L50 55 L85 37.5",stroke:"white",strokeWidth:"0.5",className:"opacity-30"})]}):f.jsxs(f.Fragment,{children:[f.jsx("path",{d:"M50 90 L15 72.5 L15 37.5 L50 55 Z",fill:"#e4e4e7",stroke:"none"})," ",f.jsx("path",{d:"M50 90 L85 72.5 L85 37.5 L50 55 Z",fill:"#d4d4d8",stroke:"none"})," ",f.jsx("path",{d:"M15 37.5 L50 20 L85 37.5 L50 55 Z",fill:"#f4f4f5",stroke:"none"})," ",f.jsx("path",{d:"M50 90 L15 72.5 L15 37.5 L50 55 Z",fill:"none",stroke:"#a1a1aa",strokeWidth:"0.5"}),f.jsx("path",{d:"M50 90 L85 72.5 L85 37.5 L50 55 Z",fill:"none",stroke:"#a1a1aa",strokeWidth:"0.5"}),f.jsx("path",{d:"M15 37.5 L50 20 L85 37.5 L50 55 Z",fill:"none",stroke:"#a1a1aa",strokeWidth:"0.5"})]})})]}),b.includes("white")?f.jsxs("div",{className:"absolute top-0 left-0 w-full h-full flex items-center justify-center -translate-y-3",children:[f.jsx("div",{className:`absolute bottom-1/2 w-12 h-24 bg-gradient-to-t from-${s.split("-")[1]}-500/20 to-transparent blur-xl`}),f.jsx("div",{className:"relative animate-pulse",children:f.jsx("div",{className:"text-5xl font-black text-transparent bg-clip-text bg-gradient-to-b from-white to-white/0 drop-shadow-[0_0_10px_rgba(255,255,255,0.8)]",children:"?"})})]}):f.jsx("div",{className:"absolute top-0 left-0 w-full h-full flex items-center justify-center -translate-y-3",children:f.jsx("div",{className:"text-5xl font-black text-zinc-300 drop-shadow-sm transform -translate-y-2",children:"?"})})]})]}),f.jsxs("div",{className:"w-full mt-auto shrink-0",children:[f.jsx("div",{className:"h-[1px] w-full bg-gradient-to-r from-transparent via-white/10 to-transparent",style:{marginBottom:"clamp(2px, 1cqw, 12px)"}}),a?f.jsxs("div",{className:"flex items-center justify-center gap-1 px-0.5 w-full overflow-hidden",children:[f.jsx("div",{className:"owner-avatar rounded bg-gradient-to-br from-white/20 to-white/5 flex items-center justify-center font-black text-white border border-white/10 shrink-0",style:{width:`${u*2.4}px`,height:`${u*2.4}px`,fontSize:`${u*.9}px`},children:a.slice(0,1)}),f.jsxs("div",{className:"flex flex-col min-w-0",children:[f.jsx("span",{className:`owner-label block text-center uppercase leading-none mb-0.5 ${r}`,style:{fontSize:`${Math.max(u*.7,6)}px`},children:"Owner"}),f.jsx("span",{className:`block text-center font-bold truncate leading-none ${b}`,style:{fontSize:`${u}px`},children:a})]})]}):f.jsx("div",{className:`flex justify-center text-[9px] font-black uppercase tracking-widest py-1 ${r}`,children:e})]})]})}),f.jsxs("div",{className:`absolute inset-0 w-full h-full backface-hidden [transform:rotateY(180deg)] rounded-[24px] overflow-hidden bg-[#0a0a0a] shadow-xl border ${m?"border-yellow-500 ring-2 ring-yellow-500/50":"border-white/20"}`,children:[f.jsx("div",{className:"absolute inset-0 z-0",children:f.jsx("img",{src:n,alt:"Prize",className:"w-full h-full object-cover opacity-90"})}),f.jsxs("div",{className:"absolute inset-0 bg-gradient-to-t from-black via-black/40 to-transparent flex flex-col justify-end p-5",children:[f.jsx("div",{className:"text-sm font-black text-white leading-tight mb-2 line-clamp-2",children:t}),f.jsx("div",{className:"w-full h-[1px] bg-white/10 mb-2"}),f.jsxs("div",{className:"flex justify-between items-center gap-2",children:[f.jsx("div",{className:"text-[10px] text-white/40 font-mono tracking-tighter uppercase truncate max-w-[60%]",children:e}),f.jsx("div",{className:`text-[9px] font-bold uppercase tracking-widest ${s} whitespace-nowrap`,children:"Acquired"})]})]})]}),m&&f.jsx("div",{className:"absolute top-4 right-4 w-10 h-10 border-2 border-yellow-400 rounded-full flex items-center justify-center transform rotate-12 bg-black/10 backdrop-blur-sm z-20",children:f.jsxs("div",{className:"text-[6px] font-black text-yellow-400 text-center leading-none tracking-tighter",children:["LEGENDARY",f.jsx("br",{}),"ITEM"]})})]})})},Uv=({isOpen:l,productImage:t,productName:e,userName:a,level:u,onClose:n,triggerX:i=50,triggerY:c=50})=>{const[s,h]=T.useState([]),y=u!==void 0&&u<=3;if(T.useEffect(()=>{if(l){const r=Array.from({length:40}).map((m,p)=>({id:Date.now()+p,x:i,y:c,vx:(Math.random()-.5)*10,vy:(Math.random()-.5)*10,size:Math.random()*4+2,color:["#3b82f6","#fbbf24","#ffffff","#60a5fa"][Math.floor(Math.random()*4)],life:1}));h(r)}},[l]),T.useEffect(()=>{if(s.length===0)return;const r=setInterval(()=>{h(m=>m.map(p=>({...p,x:p.x+p.vx,y:p.y+p.vy,life:p.life-.05})).filter(p=>p.life>0))},20);return()=>clearInterval(r)},[s]),!l)return null;const b=r=>r?{1:"🏆 等级 1",2:"🥈 等级 2",3:"🥉 等级 3",4:"等级 4",5:"等级 5",6:"普通物品"}[r]||`等级 ${r}`:"";return f.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-xl animate-in fade-in duration-300",onClick:n,children:[f.jsx("div",{className:"absolute inset-0 pointer-events-none",children:s.map(r=>f.jsx("div",{className:"absolute rounded-full",style:{left:`${r.x}px`,top:`${r.y}px`,width:`${r.size}px`,height:`${r.size}px`,backgroundColor:r.color,opacity:r.life,transform:`scale(${r.life})`}},r.id))}),f.jsxs("div",{className:"relative group animate-in zoom-in-95 duration-500 ease-out",onClick:r=>r.stopPropagation(),children:[f.jsx("div",{className:`absolute -inset-8 ${y?"bg-yellow-500/30":"bg-blue-500/20"} blur-3xl rounded-full animate-pulse`}),f.jsx("div",{className:`absolute -inset-2 bg-gradient-to-tr ${y?"from-yellow-500 via-transparent to-orange-400":"from-blue-500 via-transparent to-yellow-400"} opacity-30 blur-xl rounded-2xl group-hover:opacity-60 transition-opacity`}),f.jsxs("div",{className:`relative w-72 h-96 bg-white rounded-2xl overflow-hidden shadow-[0_0_50px_rgba(59,130,246,0.3)] border-4 ${y?"border-yellow-400":"border-white/80"}`,children:[f.jsx("img",{src:t||"https://via.placeholder.com/300x400",alt:"Item",className:"w-full h-full object-cover"}),f.jsxs("div",{className:"absolute bottom-0 inset-x-0 bg-gradient-to-t from-black/80 to-transparent pt-12 pb-4 px-4 text-center",children:[u&&f.jsx("div",{className:`font-black text-xl tracking-widest uppercase mb-1 ${y?"text-yellow-400":"text-white"}`,children:b(u)}),e&&f.jsx("div",{className:"text-white font-bold text-sm mb-1",children:e}),f.jsx("div",{className:"text-white/60 text-[10px] tracking-tighter",children:a?`恭喜 ${a} 开启成功!`:"恭喜您开启成功!"})]})]}),y&&f.jsx("div",{className:"absolute -top-4 -right-4 w-16 h-16 bg-gradient-to-br from-yellow-400 to-orange-500 rounded-full flex items-center justify-center shadow-lg shadow-yellow-400/50 animate-bounce",children:f.jsx("span",{className:"text-2xl",children:"🎉"})}),f.jsx("div",{className:"mt-8 text-center text-white/40 text-xs tracking-widest animate-bounce",children:"点击任意处关闭"})]})]})},Cv=({isVisible:l,type:t="coins",onComplete:e})=>{const[a,u]=T.useState([]);return T.useEffect(()=>{if(l){let n=0;t==="coins"&&(n=50),t==="fireworks"&&(n=60);const i=Array.from({length:n}).map((s,h)=>({id:h,left:Math.random()*100,top:Math.random()*100,delay:Math.random()*2,color:["#fbbf24","#ef4444","#3b82f6","#10b981","#a855f7"][Math.floor(Math.random()*5)]}));u(i);const c=setTimeout(()=>{e()},5e3);return()=>clearTimeout(c)}else u([])},[l,t,e]),l?f.jsxs("div",{className:"fixed inset-0 z-[100] pointer-events-none overflow-hidden",children:[f.jsx("div",{className:`absolute inset-0 transition-opacity duration-1000 ${t==="flash"?"bg-white/80 animate-flash-fade":"bg-black/40"}`}),t==="coins"&&a.map(n=>f.jsx("div",{className:"absolute -top-10 text-3xl animate-fall",style:{left:`${n.left}%`,animationDelay:`${n.delay}s`,animationDuration:`${1+Math.random()*2}s`},children:["🪙","✨","🦆","💰"][Math.floor(Math.random()*4)]},n.id)),t==="fireworks"&&a.map(n=>f.jsx("div",{className:"absolute w-2 h-2 rounded-full animate-firework-burst",style:{left:`${n.left}%`,top:`${n.top}%`,backgroundColor:n.color,animationDelay:`${n.delay}s`,boxShadow:`0 0 10px ${n.color}, 0 0 20px ${n.color}`}},n.id)),f.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:f.jsxs("div",{className:"text-center animate-bounce-in relative z-10",children:[f.jsx("h2",{className:"text-8xl font-black italic text-transparent bg-clip-text bg-gradient-to-b from-yellow-100 via-yellow-300 to-yellow-600 drop-shadow-[0_0_50px_rgba(250,204,21,0.8)] uppercase tracking-tighter transform -skew-x-12",children:t==="coins"?"Grand Prize":t==="fireworks"?"Epic Win":"Lucky Hit"}),f.jsx("div",{className:"mt-6 inline-block px-12 py-3 bg-gradient-to-r from-yellow-500 to-amber-600 text-white font-black italic text-2xl rounded-full skew-x-[-12deg] shadow-[0_10px_30px_rgba(245,158,11,0.5)] border-2 border-yellow-200",children:"爆奖啦!柯大鸭大满足"})]})}),f.jsx("style",{children:` + @keyframes fall { + to { transform: translateY(110vh) rotate(360deg); } + } + @keyframes firework-burst { + 0% { transform: scale(0); opacity: 1; } + 50% { opacity: 1; } + 100% { transform: scale(20); opacity: 0; } + } + @keyframes flash-fade { + 0% { opacity: 1; } + 100% { opacity: 0; } + } + @keyframes bounce-in { + 0% { transform: scale(0.3); opacity: 0; } + 50% { transform: scale(1.1); opacity: 1; } + 70% { transform: scale(0.9); } + 100% { transform: scale(1); } + } + .animate-fall { animation: fall linear infinite; } + .animate-firework-burst { animation: firework-burst 1s ease-out forwards; } + .animate-flash-fade { animation: flash-fade 0.5s ease-out forwards; } + .animate-bounce-in { animation: bounce-in 0.8s cubic-bezier(0.17, 0.67, 0.83, 0.67) forwards; } + `})]}):null},Hv=({isOpen:l,onClose:t,prizes:e,showProbability:a})=>{if(!l)return null;const u=n=>{switch(n){case 1:return{bg:"bg-yellow-500",text:"等级 1",border:"border-yellow-400"};case 2:return{bg:"bg-gray-300",text:"等级 2",border:"border-gray-200"};case 3:return{bg:"bg-orange-600",text:"等级 3",border:"border-orange-500"};default:return{bg:"bg-blue-900",text:`等级 ${n}`,border:"border-blue-800"}}};return f.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/80 backdrop-blur-xl animate-in fade-in duration-300",children:[f.jsxs("div",{className:"relative w-full max-w-4xl h-[80vh] bg-[#0f172a] border border-white/10 rounded-3xl overflow-hidden flex flex-col shadow-2xl",children:[f.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-white/5 bg-black/20",children:[f.jsxs("div",{className:"flex items-center gap-3",children:[f.jsx("div",{className:"w-1.5 h-6 bg-blue-500 rounded-full shadow-[0_0_12px_rgba(59,130,246,0.8)]"}),f.jsx("h2",{className:"text-xl font-black text-white tracking-widest uppercase",children:"物品一览"})]}),f.jsx("button",{onClick:t,className:"w-10 h-10 rounded-full bg-white/5 text-white/40 hover:text-white hover:bg-white/10 transition-all flex items-center justify-center border border-white/5",children:"✕"})]}),f.jsxs("div",{className:"flex-1 overflow-y-auto p-8 custom-scrollbar",children:[f.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4",children:e.map(n=>{const i=u(n.level),c=n.level<=2;return f.jsxs("div",{className:`relative group bg-white/[0.03] rounded-2xl border ${c?"border-yellow-500/20":"border-white/5"} overflow-hidden hover:bg-white/[0.06] transition-all hover:scale-[1.02]`,children:[f.jsxs("div",{className:"aspect-[3/4] relative overflow-hidden bg-black/20",children:[f.jsx("img",{src:n.image,alt:n.name,className:"w-full h-full object-cover transition-transform duration-700 group-hover:scale-110"}),f.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/90 via-black/20 to-transparent opacity-80"}),f.jsx("div",{className:`absolute top-2 right-2 px-2 py-1 rounded-md text-[10px] font-black uppercase text-white shadow-lg border border-white/10 ${i.bg}`,children:i.text})]}),f.jsxs("div",{className:"absolute bottom-0 inset-x-0 p-4",children:[f.jsx("h3",{className:"text-sm font-bold text-white mb-1 truncate",children:n.name}),f.jsxs("div",{className:"flex items-center justify-between mt-0.5",children:[f.jsxs("div",{className:"flex items-center gap-1.5",children:[f.jsx("span",{className:"text-[10px] text-white/40 uppercase tracking-wider",children:"库存"}),f.jsx("span",{className:`text-[10px] font-mono font-bold ${n.remaining>0?"text-green-400":n.remaining===-1?"text-blue-400":"text-red-400"}`,children:n.remaining===-1?"无限":n.remaining})]}),a&&f.jsxs("div",{className:"flex items-center gap-1.5",children:[f.jsx("span",{className:"text-[10px] text-white/40 uppercase tracking-wider",children:"概率"}),f.jsx("span",{className:"text-[10px] font-mono font-bold text-yellow-400",children:n.probability||"0%"})]})]})]}),c&&f.jsx("div",{className:"absolute inset-0 border-2 border-yellow-500/10 rounded-2xl pointer-events-none group-hover:border-yellow-500/30 transition-colors"})]},n.id)})}),e.length===0&&f.jsxs("div",{className:"flex flex-col items-center justify-center h-64 text-white/20",children:[f.jsx("span",{className:"text-4xl mb-4",children:"📭"}),f.jsx("span",{className:"text-sm",children:"暂无物品配置"})]})]})]}),f.jsx("style",{children:` + .custom-scrollbar::-webkit-scrollbar { width: 6px; } + .custom-scrollbar::-webkit-scrollbar-track { background: rgba(0,0,0,0.2); } + .custom-scrollbar::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 10px; } + .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.2); } + `})]})},Rv="/api/public",Bv=({isOpen:l,onClose:t,accessCode:e})=>{const[a,u]=T.useState([]),[n,i]=T.useState(!1),[c,s]=T.useState(""),[h,y]=T.useState("all"),b=async()=>{i(!0),s("");try{let m=`${Rv}/livestream/${e}/winners?page=1&page_size=50`;const p=new Date;let j="";h==="today"?j=new Date(p.getFullYear(),p.getMonth(),p.getDate()).toISOString():h==="hour"&&(j=new Date(p.getTime()-36e5).toISOString()),j&&(m+=`&start_time=${j}`);const C=await fetch(m),d=await C.json();C.ok&&d.list?u(d.list):s(d.message||"加载失败")}catch{s("网络错误")}finally{i(!1)}};if(T.useEffect(()=>{l&&e&&b()},[l,e,h]),!l)return null;const r=m=>{switch(m){case 1:return"text-yellow-400";case 2:return"text-purple-400";case 3:return"text-blue-400";default:return"text-white/60"}};return f.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[f.jsx("div",{className:"absolute inset-0 bg-black/80 backdrop-blur-sm",onClick:t}),f.jsxs("div",{className:"relative w-full max-w-md bg-[#0a0b1e] border border-white/10 rounded-3xl shadow-2xl flex flex-col max-h-[80vh] animate-in fade-in zoom-in-95 duration-300",children:[f.jsxs("div",{className:"flex flex-col gap-4 p-6 border-b border-white/5 bg-white/5 rounded-t-3xl",children:[f.jsxs("div",{className:"flex items-center justify-between",children:[f.jsxs("div",{children:[f.jsx("h2",{className:"text-xl font-bold text-white",children:"中奖记录"}),f.jsx("p",{className:"text-xs text-white/40 mt-1",children:h==="all"?"全部记录":h==="today"?"今日记录":"最近1小时"})]}),f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("button",{onClick:b,className:`p-2 rounded-full hover:bg-white/10 transition-colors ${n?"animate-spin":""}`,title:"刷新",children:"🔄"}),f.jsx("button",{onClick:t,className:"p-2 rounded-full hover:bg-white/10 transition-colors text-white/60 hover:text-white",children:"✕"})]})]}),f.jsx("div",{className:"flex p-1 bg-black/40 rounded-xl",children:[{id:"all",label:"全部"},{id:"today",label:"今天"},{id:"hour",label:"最近1小时"}].map(m=>f.jsx("button",{onClick:()=>y(m.id),className:`flex-1 py-1.5 text-xs font-bold rounded-lg transition-all ${h===m.id?"bg-blue-500 text-white shadow-lg shadow-blue-500/20":"text-white/40 hover:text-white/80 hover:bg-white/5"}`,children:m.label},m.id))})]}),f.jsx("div",{className:"flex-1 overflow-y-auto p-4 custom-scrollbar",children:n&&a.length===0?f.jsx("div",{className:"flex justify-center py-10",children:f.jsx("div",{className:"w-8 h-8 border-2 border-white/20 border-t-blue-500 rounded-full animate-spin"})}):c?f.jsx("div",{className:"text-center py-10 text-red-400",children:c}):a.length===0?f.jsx("div",{className:"text-center py-10 text-white/20",children:"暂无中奖记录"}):f.jsx("div",{className:"space-y-3",children:a.map((m,p)=>f.jsxs("div",{className:"flex items-center justify-between bg-white/5 p-3 rounded-xl border border-white/5 hover:border-white/10 transition-colors",children:[f.jsxs("div",{className:"flex items-center gap-3",children:[f.jsx("div",{className:"w-8 h-8 rounded-full bg-gradient-to-br from-white/10 to-transparent flex items-center justify-center text-xs font-bold text-white/40",children:m.douyin_user_id.charAt(0)}),f.jsxs("div",{children:[f.jsx("div",{className:"text-sm font-bold text-white/90",children:m.douyin_user_id}),f.jsx("div",{className:"text-[10px] text-white/30 font-mono",children:m.created_at})]})]}),f.jsxs("div",{className:`text-xs font-bold ${r(m.level)} text-right`,children:[f.jsx("div",{className:"truncate max-w-[120px]",children:m.prize_name}),f.jsxs("div",{className:"text-[9px] opacity-60 font-normal",children:["LV.",m.level]})]})]},p))})})]}),f.jsx("style",{children:` + .custom-scrollbar::-webkit-scrollbar { width: 4px; } + .custom-scrollbar::-webkit-scrollbar-track { background: transparent; } + .custom-scrollbar::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 4px; } + `})]})},Ku="/api/public",Ct={midnight:{id:"midnight",name:"静谧夜黑",gradient:"from-[#02040a] via-[#050b18] to-[#02040a]",accent:"text-blue-200",border:"border-white/20",glow:"bg-blue-600/20",starColor:"#6366f1",cardBg:"bg-[#1e293b]/80",preview:"bg-[#050b18]",textColor:"text-white",subTextColor:"text-white/30"},cyber:{id:"cyber",name:"赛博幻紫",gradient:"from-[#0b0118] via-[#1a0533] to-[#0b0118]",accent:"text-fuchsia-200",border:"border-fuchsia-300/30",glow:"bg-fuchsia-500/20",starColor:"#e879f9",cardBg:"bg-[#2e1065]/70",preview:"bg-[#1a0533]",textColor:"text-white",subTextColor:"text-white/30"},titanium:{id:"titanium",name:"高级灰金",gradient:"from-[#0f0f0f] via-[#1c1c1c] to-[#0f0f0f]",accent:"text-[#fcd34d]",border:"border-[#fcd34d]/40",glow:"bg-[#fbbf24]/10",starColor:"#fffbeb",cardBg:"bg-[#292524]/80",preview:"bg-[#1c1c1c]",textColor:"text-white",subTextColor:"text-white/30"},emerald:{id:"emerald",name:"林源幽径",gradient:"from-[#022c22] via-[#064e3b] to-[#022c22]",accent:"text-emerald-200",border:"border-emerald-300/30",glow:"bg-emerald-500/20",starColor:"#34d399",cardBg:"bg-[#065f46]/70",preview:"bg-[#064e3b]",textColor:"text-white",subTextColor:"text-white/30"},arctic:{id:"arctic",name:"演播室白",gradient:"from-[#ffffff] via-[#f8fafc] to-[#f1f5f9]",accent:"text-blue-600",border:"border-white/80",glow:"bg-blue-500/5",starColor:"#cbd5e1",cardBg:"bg-white shadow-xl shadow-slate-200/50 border border-slate-100 rounded-2xl",preview:"bg-white",textColor:"text-slate-900",subTextColor:"text-slate-500"}};function Yv(){const t=new URLSearchParams(window.location.search).get("code")||"",[e,a]=T.useState(null),[u,n]=T.useState(!0),[i,c]=T.useState(""),[s,h]=T.useState([]),[y,b]=T.useState({}),[r,m]=T.useState(null),[p,j]=T.useState({x:0,y:0}),[C,d]=T.useState(!1),[o,v]=T.useState(!1),[g,z]=T.useState(!1),[M,N]=T.useState("grid"),[E,w]=T.useState(4),[H,jl]=T.useState(240),[Ll,Ea]=T.useState(24),[Aa,Ce]=T.useState(10),[S,R]=T.useState(!1),[O,tl]=T.useState(50),[il,ce]=T.useState(!1),[He,Re]=T.useState(!1),[Vl,Be]=T.useState(!0),[ai,_0]=T.useState({1:"coins",2:"fireworks",3:"flash"}),[T0,Xf]=T.useState("coins"),[ui,Qf]=T.useState(!1),[fe,E0]=T.useState(!1),[Eu,A0]=T.useState(!1),[Au,M0]=T.useState(!1),{play:se}=wv(Au),ni=T.useRef(null),[it,w0]=T.useState("midnight");T.useEffect(()=>{if(!t){c("请提供活动访问码"),n(!1);return}fetch(`${Ku}/livestream/${t}`).then(_=>_.json()).then(_=>{_&&_.id?a(_):c(_.message||"活动不存在")}).catch(()=>c("加载失败")).finally(()=>n(!1))},[t]);const Zf=async()=>{try{const rl=await(await fetch(`${Ku}/livestream/${t}/pending-orders`)).json();if(Array.isArray(rl)){const Tl=[];if(rl.forEach(X=>{const re=Math.max(1,X.product_count||1)-(X.reward_granted||0);for(let de=0;de!y[oe.localId]);X&&(ni.current&&clearTimeout(ni.current),ni.current=setTimeout(()=>{X.is_blacklisted||Lf(X.shop_order_id,X.localId,!1)},2e3))}Tl.length>s.length&&se("new_order"),h(Tl)}}catch(_){console.error("Failed to fetch orders:",_)}};T.useEffect(()=>{if(S){const _=[],rl=["张","王","李","赵","陈","刘","小","大","老","A","B","M","S","Dream","Happy","Lucky"],Tl=["*","**","***"];for(let X=0;X{if(X==null||X.stopPropagation(),g||y[rl])return;if(Tl){alert("⚠️ 该用户已被列入黑名单,无法开奖");return}if(S){const de=X?X.clientX:window.innerWidth/2,ht=X?X.clientY:window.innerHeight/2;j({x:de,y:ht}),z(!0),se("flip"),setTimeout(()=>{var Jf;const Kl=Math.random()>.9?1:Math.random()>.7?2:Math.random()>.4?3:6,Kf={prize_id:999,prize_name:Kl<=3?`${Kl}级稀有物品`:"普通物品",prize_image:"https://picsum.photos/300/400",level:Kl,seed_hash:"mock_hash",user_nickname:(Jf=s.find(he=>he.localId===rl))==null?void 0:Jf.user_nickname};if(b(he=>({...he,[rl]:Kf})),Kl<=2?se("win_grand"):se("win_common"),Kl<=3){const he=ai[String(Kl)];he&&he!=="none"&&setTimeout(()=>{Xf(he),d(!0),v(!0),setTimeout(()=>v(!1),1e3)},500)}setTimeout(()=>{m(Kf),z(!1)},700)},600);return}const oe=X?X.clientX:window.innerWidth/2,re=X?X.clientY:window.innerHeight/2;j({x:oe,y:re}),z(!0);try{se("flip");const ht=await(await fetch(`${Ku}/livestream/${t}/draw`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({shop_order_id:_})})).json();if(ht.prize_id){if(b(Kl=>({...Kl,[rl]:ht})),ht.level<=2?se("win_grand"):se("win_common"),ht.level){const Kl=ai[String(ht.level)];Kl&&Kl!=="none"&&setTimeout(()=>{Xf(Kl),d(!0),v(!0),setTimeout(()=>v(!1),1e3)},500)}setTimeout(()=>{m(ht)},700)}else alert(ht.message||"开启失败")}catch{alert("网络错误")}finally{z(!1)}},[Mu,Vf]=T.useState(!1),O0=async()=>{if(!Mu){Vf(!0);try{const rl=await(await fetch(`${Ku}/livestream/${t}/sync`,{method:"POST",headers:{"Content-Type":"application/json"}})).json();rl.message==="同步完成"?(await Zf(),rl.new_orders>0?alert(`🎉 同步成功!检测到 ${rl.new_orders} 个新订单,快来开启吧!`):alert("同步完成,暂未发现新订单。")):alert(rl.message||"同步失败")}catch{alert("网络错误或同步超时")}finally{Vf(!1)}}};return u?f.jsx("div",{className:"h-screen w-full flex items-center justify-center bg-[#050614] text-white",children:f.jsxs("div",{className:"text-center",children:[f.jsx("div",{className:"w-12 h-12 border-4 border-yellow-400 border-t-transparent rounded-full animate-spin mx-auto mb-4"}),f.jsx("p",{children:"加载中..."})]})}):i||!e?f.jsx("div",{className:"h-screen w-full flex items-center justify-center bg-[#050614] text-white",children:f.jsxs("div",{className:"text-center",children:[f.jsx("p",{className:"text-2xl mb-4",children:"😅"}),f.jsx("p",{className:"text-red-400",children:i||"活动不存在"})]})}):f.jsxs("div",{className:`relative h-screen w-full flex flex-col overflow-hidden text-white font-sans ${o?"animate-shake":""} ${fe?"bg-[#00FF00]":""}`,children:[!fe&&f.jsx(Cv,{isVisible:C,type:T0,onComplete:()=>d(!1)}),!fe&&f.jsx(Ov,{gradient:Ct[it].gradient,starColor:Ct[it].starColor}),f.jsx("div",{className:"absolute top-0 left-0 w-full h-screen bg-gradient-to-b from-blue-600/5 via-transparent to-yellow-500/5 pointer-events-none"}),!fe&&f.jsxs("header",{className:"sticky top-0 z-40 w-full px-8 py-5 backdrop-blur-xl bg-black/40 border-b border-white/5 flex justify-between items-center",children:[f.jsxs("div",{className:"flex-1",children:[f.jsx("h1",{className:"text-2xl font-black tracking-tighter leading-none mb-1",children:e.name}),f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse shadow-[0_0_8px_rgba(34,197,94,0.6)]"}),f.jsxs("p",{className:"text-xs text-white/40",children:["主播: ",e.streamer_name]})]})]}),f.jsxs("div",{className:"flex items-center gap-3",children:[f.jsxs("button",{onClick:()=>ce(!0),className:"h-10 px-4 rounded-xl border bg-blue-500/10 border-blue-500/20 text-blue-400 hover:bg-blue-500/20 shadow-lg shadow-blue-500/10 flex items-center gap-2 transition-all active:scale-95",title:"物品图鉴",children:[f.jsx("span",{children:"💎"}),f.jsx("span",{className:"text-xs font-bold hidden md:inline",children:"图鉴"})]}),f.jsxs("button",{onClick:()=>Re(!0),className:"h-10 px-4 rounded-xl border bg-purple-500/10 border-purple-500/20 text-purple-400 hover:bg-purple-500/20 shadow-lg shadow-purple-500/10 flex items-center gap-2 transition-all active:scale-95",title:"中奖记录",children:[f.jsx("span",{children:"📜"}),f.jsx("span",{className:"text-xs font-bold hidden md:inline",children:"记录"})]}),f.jsx("div",{className:"w-[1px] h-6 bg-white/10 mx-1"}),f.jsx("button",{onClick:O0,disabled:Mu,className:`w-10 h-10 flex items-center justify-center rounded-xl border transition-all active:scale-95 ${Mu?"bg-blue-500/5 text-blue-500/20 border-blue-500/10 cursor-not-allowed":"bg-white/5 border-white/10 text-white/60 hover:text-white hover:bg-white/10"}`,title:"手动全店扫描",children:f.jsx("span",{className:Mu?"animate-spin":"",children:"🔄"})}),f.jsxs("button",{onClick:()=>Qf(!ui),className:`h-10 px-4 rounded-xl flex items-center gap-2 border transition-all duration-300 active:scale-95 ${ui?"bg-white text-black border-white shadow-[0_0_30px_rgba(255,255,255,0.2)]":"bg-white/5 text-white/80 border-white/10 hover:bg-white/10 hover:border-white/20"}`,children:[f.jsx("span",{className:"text-lg",children:"⚙️"}),f.jsx("span",{className:"text-xs font-black uppercase tracking-widest hidden md:inline",children:"设置"})]})]}),ui&&f.jsxs("div",{className:"absolute top-24 right-8 w-84 bg-[#0a0b1e]/95 backdrop-blur-3xl border border-white/10 rounded-[32px] shadow-[0_32px_64px_-16px_rgba(0,0,0,0.6)] p-8 z-50 animate-in fade-in zoom-in-95 slide-in-from-top-4 duration-300 max-h-[80vh] overflow-y-auto no-scrollbar",children:[f.jsxs("div",{className:"flex items-center justify-between mb-10",children:[f.jsxs("div",{className:"flex items-center gap-3",children:[f.jsx("div",{className:"w-1.5 h-6 bg-white rounded-full shadow-[0_0_12px_rgba(255,255,255,0.4)]"}),f.jsx("h3",{className:"text-sm font-black uppercase tracking-[0.1em] text-white",children:"界面设置"})]}),f.jsx("button",{onClick:()=>Qf(!1),className:"w-8 h-8 flex items-center justify-center rounded-full bg-white/5 text-white/20 hover:text-white hover:bg-white/10 transition-all border border-white/5",children:"✕"})]}),f.jsxs("div",{className:"space-y-8",children:[f.jsxs("div",{className:"space-y-4",children:[f.jsxs("div",{className:"flex items-end justify-between",children:[f.jsxs("div",{className:"flex flex-col",children:[f.jsx("span",{className:"text-[10px] font-black text-white/40 uppercase tracking-[3px]",children:"Visual Atmosphere"}),f.jsx("span",{className:"text-sm font-bold text-white mt-1",children:"视觉氛围"})]}),f.jsx("span",{className:"text-[10px] text-white/20 font-mono",children:"v2.5"})]}),f.jsx("div",{className:"grid grid-cols-2 gap-3",children:Object.values(Ct).map(_=>f.jsxs("button",{onClick:()=>w0(_.id),className:`group relative overflow-hidden rounded-2xl border transition-all duration-500 p-3 flex flex-col items-center gap-2 ${it===_.id?"border-white/40 bg-white/5 shadow-xl shadow-black/50":"border-white/5 bg-transparent hover:border-white/10 hover:bg-white/[0.02]"}`,children:[f.jsxs("div",{className:`w-full aspect-video rounded-lg relative overflow-hidden ${_.preview}`,children:[f.jsx("div",{className:`absolute inset-0 bg-gradient-to-br ${_.gradient} opacity-50`}),f.jsx("div",{className:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-4 h-4 rounded-full ${_.glow} blur-md`}),f.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:f.jsx("div",{className:`w-6 h-8 rounded-md border ${_.border} bg-white/5 opacity-40`})})]}),f.jsx("span",{className:`text-[11px] font-black tracking-[0.1em] uppercase ${it===_.id?"text-white":"text-white/40 group-hover:text-white/60"}`,children:_.name}),it===_.id&&f.jsx("div",{className:"absolute top-1 right-1 w-1.5 h-1.5 bg-blue-500 rounded-full shadow-[0_0_8px_rgba(59,130,246,0.8)]"})]},_.id))})]}),f.jsx("div",{className:"h-[1px] w-full bg-gradient-to-r from-transparent via-white/10 to-transparent"}),f.jsxs("div",{className:"space-y-4",children:[f.jsxs("div",{className:"flex flex-col",children:[f.jsx("span",{className:"text-[10px] font-black text-white/40 uppercase tracking-[2px]",children:"Item Gallery"}),f.jsx("span",{className:"text-xs font-bold text-white mt-1",children:"物品图鉴"})]}),f.jsxs("div",{className:"flex justify-between items-center bg-white/5 p-3 rounded-xl border border-white/5",children:[f.jsx("span",{className:"text-[11px] font-bold text-white/80",children:"显示概率"}),f.jsx("button",{onClick:()=>Be(!Vl),className:`w-10 h-5 rounded-full transition-colors relative ${Vl?"bg-blue-500":"bg-white/20"}`,children:f.jsx("div",{className:`absolute top-0.5 w-4 h-4 rounded-full bg-white transition-all shadow-sm ${Vl?"left-[22px]":"left-0.5"}`})})]})]}),f.jsx("div",{className:"h-[1px] w-full bg-gradient-to-r from-transparent via-white/10 to-transparent"}),f.jsxs("div",{className:"space-y-4",children:[f.jsxs("div",{className:"flex justify-between items-center",children:[f.jsxs("div",{className:"flex flex-col",children:[f.jsx("span",{className:"text-[10px] font-black text-white/40 uppercase tracking-[2px]",children:"Matrix Grid"}),f.jsx("span",{className:"text-xs font-bold text-white mt-1",children:"矩阵布局"})]}),f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx("input",{type:"number",min:"1",max:"20",value:E,onChange:_=>{w(Number(_.target.value)),N("grid")},className:"w-14 h-9 bg-white/5 border border-white/10 rounded-xl px-2 text-xs font-mono text-center text-white focus:bg-white/10 focus:border-white/30 outline-none transition-all"}),f.jsx("span",{className:"text-white/20 text-[9px] font-black uppercase",children:"列"})]})]}),f.jsx("div",{className:"flex gap-2 p-1.5 bg-black/40 rounded-2xl border border-white/5 shadow-inner",children:[3,4,6,8,10].map(_=>f.jsx("button",{onClick:()=>{w(_),N("grid")},className:`flex-1 py-1.5 rounded-xl text-[10px] font-black transition-all ${M==="grid"&&E===_?"bg-white text-black shadow-lg":"text-white/30 hover:text-white/60"}`,children:_},_))})]}),f.jsx("div",{className:"h-[1px] w-full bg-gradient-to-r from-transparent via-white/5 to-transparent"}),f.jsxs("div",{className:"space-y-5",children:[f.jsxs("div",{className:"flex justify-between items-center",children:[f.jsxs("div",{className:"flex flex-col",children:[f.jsx("span",{className:"text-[10px] font-black text-white/40 uppercase tracking-[2px]",children:"Free Scale"}),f.jsx("span",{className:"text-xs font-bold text-white mt-1",children:"自由缩放"})]}),f.jsxs("span",{className:`text-[10px] font-mono px-2 py-0.5 rounded-lg border ${M==="flex"?"text-white border-white/40 bg-white/10 shadow-[0_0_10px_rgba(255,255,255,0.1)]":"text-white/20 border-white/5"}`,children:[H,"px"]})]}),f.jsx("div",{className:"px-1",children:f.jsx("input",{type:"range",min:"120",max:"600",step:"1",value:H,onChange:_=>{jl(Number(_.target.value)),N("flex")},className:"w-full h-1 bg-white/10 rounded-full appearance-none cursor-pointer accent-white"})})]}),f.jsxs("div",{className:"space-y-5",children:[f.jsxs("div",{className:"flex justify-between items-center",children:[f.jsxs("div",{className:"flex flex-col",children:[f.jsx("span",{className:"text-[10px] font-black text-white/40 uppercase tracking-[2px]",children:"Gap Spacing"}),f.jsx("span",{className:"text-xs font-bold text-white mt-1",children:"间距调节"})]}),f.jsxs("span",{className:"text-[10px] font-mono text-white/40 px-2 py-0.5 rounded-lg bg-white/5 border border-white/5",children:[Ll,"px"]})]}),f.jsx("div",{className:"px-1",children:f.jsx("input",{type:"range",min:"0",max:"100",step:"1",value:Ll,onChange:_=>Ea(Number(_.target.value)),className:"w-full h-1 bg-white/10 rounded-full appearance-none cursor-pointer accent-white/40"})})]}),f.jsx("div",{className:"h-[1px] w-full bg-gradient-to-r from-transparent via-white/5 to-transparent"}),f.jsxs("div",{className:"space-y-5",children:[f.jsxs("div",{className:"flex justify-between items-center",children:[f.jsxs("div",{className:"flex flex-col",children:[f.jsx("span",{className:"text-[10px] font-black text-white/40 uppercase tracking-[2px]",children:"Name Size"}),f.jsx("span",{className:"text-xs font-bold text-white mt-1",children:"昵称大小"})]}),f.jsxs("span",{className:"text-[10px] font-mono text-white/40 px-2 py-0.5 rounded-lg bg-white/5 border border-white/5",children:[Aa,"px"]})]}),f.jsx("div",{className:"px-1",children:f.jsx("input",{type:"range",min:"8",max:"24",step:"1",value:Aa,onChange:_=>Ce(Number(_.target.value)),className:"w-full h-1 bg-white/10 rounded-full appearance-none cursor-pointer accent-white/40"})})]}),f.jsx("div",{className:"h-[1px] w-full bg-gradient-to-r from-transparent via-white/5 to-transparent"}),f.jsxs("div",{className:"space-y-4",children:[f.jsxs("div",{className:"flex flex-col",children:[f.jsx("span",{className:"text-[10px] font-black text-white/40 uppercase tracking-[2px]",children:"Simulation"}),f.jsx("span",{className:"text-xs font-bold text-white mt-1",children:"模拟演示"})]}),f.jsxs("div",{className:"flex justify-between items-center bg-white/5 p-3 rounded-xl border border-white/5",children:[f.jsx("span",{className:"text-[11px] font-bold text-white/80",children:"启用模拟数据"}),f.jsx("button",{onClick:()=>{R(!S),b({})},className:`w-10 h-5 rounded-full transition-colors relative ${S?"bg-indigo-500":"bg-white/20"}`,children:f.jsx("div",{className:`absolute top-0.5 w-4 h-4 rounded-full bg-white transition-all shadow-sm ${S?"left-[22px]":"left-0.5"}`})})]}),S&&f.jsxs("div",{className:"space-y-3 pt-2",children:[f.jsxs("div",{className:"flex justify-between items-center px-1",children:[f.jsx("span",{className:"text-[10px] text-white/60",children:"卡牌数量"}),f.jsx("span",{className:"text-[10px] font-mono text-white/80",children:O})]}),f.jsx("input",{type:"range",min:"1",max:"200",step:"1",value:O,onChange:_=>tl(Number(_.target.value)),className:"w-full h-1 bg-white/10 rounded-full appearance-none cursor-pointer accent-indigo-500"})]})]}),f.jsx("div",{className:"h-[1px] w-full bg-gradient-to-r from-transparent via-white/5 to-transparent"}),f.jsxs("div",{className:"space-y-4",children:[f.jsxs("div",{className:"flex flex-col",children:[f.jsx("span",{className:"text-[10px] font-black text-white/40 uppercase tracking-[2px]",children:"Effect Triggers"}),f.jsx("span",{className:"text-xs font-bold text-white mt-1",children:"特效触发配置"})]}),[1,2,3].map(_=>f.jsxs("div",{className:"flex justify-between items-center bg-white/5 p-2 rounded-xl border border-white/5",children:[f.jsxs("span",{className:"text-[11px] font-bold text-white/80",children:[_," 级物品"]}),f.jsxs("select",{value:ai[String(_)]||"none",onChange:rl=>_0(Tl=>({...Tl,[String(_)]:rl.target.value})),className:"bg-black/40 text-xs text-white border border-white/10 rounded-lg px-2 py-1 outline-none focus:border-white/30",children:[f.jsx("option",{value:"none",children:"无特效"}),f.jsx("option",{value:"coins",children:"金币雨"}),f.jsx("option",{value:"fireworks",children:"烟花"}),f.jsx("option",{value:"flash",children:"高光"})]})]},_))]}),f.jsx("div",{className:"h-[1px] w-full bg-gradient-to-r from-transparent via-white/5 to-transparent"}),f.jsxs("div",{className:"space-y-4",children:[f.jsxs("div",{className:"flex flex-col",children:[f.jsx("span",{className:"text-[10px] font-black text-white/40 uppercase tracking-[2px]",children:"Stream Tools"}),f.jsx("span",{className:"text-xs font-bold text-white mt-1",children:"直播助手"})]}),f.jsxs("div",{className:"flex justify-between items-center bg-white/5 p-3 rounded-xl border border-white/5",children:[f.jsx("span",{className:"text-[11px] font-bold text-white/80",children:"绿幕模式 (OBS抠图)"}),f.jsx("button",{onClick:()=>E0(!fe),className:`w-10 h-5 rounded-full transition-colors relative ${fe?"bg-green-500":"bg-white/20"}`,children:f.jsx("div",{className:`absolute top-0.5 w-4 h-4 rounded-full bg-white transition-all shadow-sm ${fe?"left-[22px]":"left-0.5"}`})})]}),f.jsxs("div",{className:"flex justify-between items-center bg-white/5 p-3 rounded-xl border border-white/5",children:[f.jsx("span",{className:"text-[11px] font-bold text-white/80",children:"自动翻牌 (延迟2秒)"}),f.jsx("button",{onClick:()=>A0(!Eu),className:`w-10 h-5 rounded-full transition-colors relative ${Eu?"bg-blue-500":"bg-white/20"}`,children:f.jsx("div",{className:`absolute top-0.5 w-4 h-4 rounded-full bg-white transition-all shadow-sm ${Eu?"left-[22px]":"left-0.5"}`})})]}),f.jsxs("div",{className:"flex justify-between items-center bg-white/5 p-3 rounded-xl border border-white/5",children:[f.jsx("span",{className:"text-[11px] font-bold text-white/80",children:"静音模式"}),f.jsx("button",{onClick:()=>M0(!Au),className:`w-10 h-5 rounded-full transition-colors relative ${Au?"bg-red-500":"bg-white/20"}`,children:f.jsx("div",{className:`absolute top-0.5 w-4 h-4 rounded-full bg-white transition-all shadow-sm ${Au?"left-[22px]":"left-0.5"}`})})]})]})]}),f.jsx("div",{className:"mt-10 pt-6 border-t border-white/5 flex justify-center",children:f.jsx("button",{onClick:()=>{w(4),jl(240),Ea(24),Ce(10),N("grid")},className:"text-[10px] font-black uppercase tracking-[0.2em] text-white/20 hover:text-yellow-400 transition-colors",children:"重置为默认视角"})})]})]}),f.jsx("div",{className:"flex-1 overflow-y-auto overflow-x-hidden scroll-smooth custom-scrollbar bg-black/20 px-8 py-16",children:s.length>0?f.jsx("div",{className:"grid mx-auto",style:{gap:`${Ll}px`,gridTemplateColumns:M==="grid"?`repeat(${E}, minmax(0, 1fr))`:`repeat(auto-fill, ${H}px)`,justifyContent:"center",maxWidth:M==="grid"?"1800px":"none"},children:s.map((_,rl)=>{var Tl,X;return f.jsx("div",{className:"animate-reveal",style:{animationDelay:`${rl*50}ms`},children:f.jsx(Dv,{id:_.localId,userName:_.user_nickname,userNameFontSize:Aa,title:y[_.localId]?y[_.localId].prize_name:"待开启",subtitle:`订单: ...${_.shop_order_id.slice(-6)}`,accentColor:Ct[it].accent,borderColor:Ct[it].border,cardBg:Ct[it].cardBg,textColor:Ct[it].textColor,subTextColor:Ct[it].subTextColor,image:y[_.localId]?y[_.localId].prize_image:((Tl=e.prizes[0])==null?void 0:Tl.image)||`https://picsum.photos/seed/${_.id}/300/400`,isGrandPrize:((X=y[_.localId])==null?void 0:X.level)<=2,isRevealed:!!y[_.localId],isBlacklisted:_.is_blacklisted,onFlip:(oe,re)=>Lf(_.shop_order_id,_.localId,_.is_blacklisted||!1,re),disabled:g||!!y[_.localId]})},_.localId)})}):f.jsxs("div",{className:"flex flex-col items-center justify-center h-[400px] text-white/20",children:[f.jsx("div",{className:"text-6xl mb-6",children:"📦"}),f.jsx("p",{className:"text-xl font-bold mb-2",children:"暂无待开启订单"}),f.jsx("p",{className:"text-sm",children:"等待玩家下单,实时同步即可自动出牌"})]})}),r&&f.jsx(Uv,{isOpen:!0,productImage:r.prize_image,productName:r.prize_name,userName:r.user_nickname,level:r.level,onClose:()=>{m(null),d(!1)},triggerX:p.x,triggerY:p.y}),f.jsx(Hv,{isOpen:il,onClose:()=>ce(!1),prizes:(e==null?void 0:e.prizes)||[],showProbability:Vl}),f.jsx(Bv,{isOpen:He,onClose:()=>Re(!1),accessCode:t}),f.jsx("style",{children:` + @keyframes reveal { + from { opacity: 0; transform: translateY(30px) scale(0.9); } + to { opacity: 1; transform: translateY(0) scale(1); } + } + @keyframes shake { + 0%, 100% { transform: translate(0, 0); } + 10%, 30%, 50%, 70%, 90% { transform: translate(-5px, -5px); } + 20%, 40%, 60%, 80% { transform: translate(5px, 5px); } + } + .animate-shake { animation: shake 0.5s ease-in-out; } + .animate-reveal { animation: reveal 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; } + .custom-scrollbar::-webkit-scrollbar { width: 5px; } + .custom-scrollbar::-webkit-scrollbar-track { background: rgba(255,255,255,0.02); } + .custom-scrollbar::-webkit-scrollbar-thumb { background: rgba(250, 204, 21, 0.1); border-radius: 10px; } + `})]})}Av.createRoot(document.getElementById("root")).render(f.jsx(T.StrictMode,{children:f.jsx(Yv,{})})); diff --git a/nginx/game/assets/index-CvjqchgY.css b/nginx/game/assets/index-CvjqchgY.css new file mode 100644 index 0000000..5ce8eef --- /dev/null +++ b/nginx/game/assets/index-CvjqchgY.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}body{overflow:hidden;--tw-bg-opacity: 1;background-color:rgb(10 11 30 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));margin:0;min-height:100vh}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-2{top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.-right-4{right:-1rem}.-top-10{top:-2.5rem}.-top-4{top:-1rem}.bottom-0{bottom:0}.bottom-1\/2{bottom:50%}.bottom-2{bottom:.5rem}.left-0{left:0}.left-0\.5{left:.125rem}.left-1\/2{left:50%}.left-\[22px\]{left:22px}.right-1{right:.25rem}.right-2{right:.5rem}.right-4{right:1rem}.right-8{right:2rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-24{top:6rem}.top-4{top:1rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.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}.flex{display:flex}.grid{display:grid}.hidden{display:none}.aspect-\[3\/4\.5\]{aspect-ratio:3/4.5}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-video{aspect-ratio:16 / 9}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-1\/2{height:50%}.h-1\/4{height:25%}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3\/4{height:75%}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[1px\]{height:1px}.h-\[400px\]{height:400px}.h-\[80vh\]{height:80vh}.h-\[min\(7rem\,75\%\)\]{height:min(7rem,75%)}.h-\[min\(8rem\,80\%\)\]{height:min(8rem,80%)}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[80vh\]{max-height:80vh}.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-3\/4{width:75%}.w-4{width:1rem}.w-6{width:1.5rem}.w-72{width:18rem}.w-8{width:2rem}.w-\[1px\]{width:1px}.w-\[min\(7rem\,75\%\)\]{width:min(7rem,75%)}.w-\[min\(8rem\,80\%\)\]{width:min(8rem,80%)}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-4xl{max-width:56rem}.max-w-\[120px\]{max-width:120px}.max-w-\[60\%\]{max-width:60%}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-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-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-y-2{--tw-translate-y: -.5rem;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-3{--tw-translate-y: -.75rem;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-12{--tw-rotate: 12deg;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))}.-skew-x-12,.skew-x-\[-12deg\]{--tw-skew-x: -12deg;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 ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) 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-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.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-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * 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))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[20px\]{border-radius:20px}.rounded-\[24px\]{border-radius:24px}.rounded-\[32px\]{border-radius:32px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[\#fcd34d\]\/40{border-color:#fcd34d66}.border-blue-500\/10{border-color:#3b82f61a}.border-blue-500\/20{border-color:#3b82f633}.border-blue-800{--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.border-emerald-300\/30{border-color:#6ee7b74d}.border-fuchsia-300\/30{border-color:#f0abfc4d}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-orange-500{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}.border-purple-500\/20{border-color:#a855f733}.border-red-500\/60{border-color:#ef444499}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-white\/40{border-color:#fff6}.border-white\/5{border-color:#ffffff0d}.border-white\/80{border-color:#fffc}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.border-yellow-400{--tw-border-opacity: 1;border-color:rgb(250 204 21 / var(--tw-border-opacity, 1))}.border-yellow-400\/40{border-color:#facc1566}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(234 179 8 / var(--tw-border-opacity, 1))}.border-yellow-500\/10{border-color:#eab3081a}.border-yellow-500\/20{border-color:#eab30833}.border-t-blue-500{--tw-border-opacity: 1;border-top-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-\[\#00FF00\]{--tw-bg-opacity: 1;background-color:rgb(0 255 0 / var(--tw-bg-opacity, 1))}.bg-\[\#050614\]{--tw-bg-opacity: 1;background-color:rgb(5 6 20 / var(--tw-bg-opacity, 1))}.bg-\[\#050b18\]{--tw-bg-opacity: 1;background-color:rgb(5 11 24 / var(--tw-bg-opacity, 1))}.bg-\[\#064e3b\]{--tw-bg-opacity: 1;background-color:rgb(6 78 59 / var(--tw-bg-opacity, 1))}.bg-\[\#065f46\]\/70{background-color:#065f46b3}.bg-\[\#0a0a0a\]{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1))}.bg-\[\#0a0b1e\]{--tw-bg-opacity: 1;background-color:rgb(10 11 30 / var(--tw-bg-opacity, 1))}.bg-\[\#0a0b1e\]\/95{background-color:#0a0b1ef2}.bg-\[\#0f172a\]{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-\[\#1a0533\]{--tw-bg-opacity: 1;background-color:rgb(26 5 51 / var(--tw-bg-opacity, 1))}.bg-\[\#1c1c1c\]{--tw-bg-opacity: 1;background-color:rgb(28 28 28 / var(--tw-bg-opacity, 1))}.bg-\[\#1e293b\]\/80{background-color:#1e293bcc}.bg-\[\#292524\]\/80{background-color:#292524cc}.bg-\[\#2e1065\]\/70{background-color:#2e1065b3}.bg-\[\#fbbf24\]\/10{background-color:#fbbf241a}.bg-black\/10{background-color:#0000001a}.bg-black\/20{background-color:#0003}.bg-black\/40{background-color:#0006}.bg-black\/60{background-color:#0009}.bg-black\/80{background-color:#000c}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-500\/5{background-color:#3b82f60d}.bg-blue-600\/20{background-color:#2563eb33}.bg-blue-900{--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/20{background-color:#10b98133}.bg-fuchsia-500\/20{background-color:#d946ef33}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-orange-600{--tw-bg-opacity: 1;background-color:rgb(234 88 12 / var(--tw-bg-opacity, 1))}.bg-purple-500\/10{background-color:#a855f71a}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/20{background-color:#fff3}.bg-white\/5{background-color:#ffffff0d}.bg-white\/80{background-color:#fffc}.bg-white\/\[0\.03\]{background-color:#ffffff08}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/30{background-color:#eab3084d}.bg-\[radial-gradient\(circle_at_center\,rgba\(59\,130\,246\,0\.3\)_0\%\,transparent_70\%\)\]{background-image:radial-gradient(circle at center,rgba(59,130,246,.3) 0%,transparent 70%)}.bg-\[radial-gradient\(ellipse_at_center\,rgba\(255\,255\,255\,0\.1\)_0\%\,transparent_70\%\)\]{background-image:radial-gradient(ellipse at center,rgba(255,255,255,.1) 0%,transparent 70%)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-\[\#02040a\]{--tw-gradient-from: #02040a var(--tw-gradient-from-position);--tw-gradient-to: rgb(2 4 10 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#022c22\]{--tw-gradient-from: #022c22 var(--tw-gradient-from-position);--tw-gradient-to: rgb(2 44 34 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#0b0118\]{--tw-gradient-from: #0b0118 var(--tw-gradient-from-position);--tw-gradient-to: rgb(11 1 24 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#0f0f0f\]{--tw-gradient-from: #0f0f0f var(--tw-gradient-from-position);--tw-gradient-to: rgb(15 15 15 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#ffffff\]{--tw-gradient-from: #ffffff var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black{--tw-gradient-from: #000 var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/80{--tw-gradient-from: rgb(0 0 0 / .8) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/90{--tw-gradient-from: rgb(0 0 0 / .9) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-600\/5{--tw-gradient-from: rgb(37 99 235 / .05) var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white{--tw-gradient-from: #fff var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white\/10{--tw-gradient-from: rgb(255 255 255 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white\/20{--tw-gradient-from: rgb(255 255 255 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-100{--tw-gradient-from: #fef9c3 var(--tw-gradient-from-position);--tw-gradient-to: rgb(254 249 195 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-400{--tw-gradient-from: #facc15 var(--tw-gradient-from-position);--tw-gradient-to: rgb(250 204 21 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from: #eab308 var(--tw-gradient-from-position);--tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[\#050b18\]{--tw-gradient-to: rgb(5 11 24 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #050b18 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-\[\#064e3b\]{--tw-gradient-to: rgb(6 78 59 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #064e3b var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-\[\#1a0533\]{--tw-gradient-to: rgb(26 5 51 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #1a0533 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-\[\#1c1c1c\]{--tw-gradient-to: rgb(28 28 28 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #1c1c1c var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-\[\#f8fafc\]{--tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #f8fafc var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-black\/20{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / .2) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-black\/40{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / .4) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/10{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/5{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .05) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-yellow-300{--tw-gradient-to: rgb(253 224 71 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #fde047 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-\[\#02040a\]{--tw-gradient-to: #02040a var(--tw-gradient-to-position)}.to-\[\#022c22\]{--tw-gradient-to: #022c22 var(--tw-gradient-to-position)}.to-\[\#0b0118\]{--tw-gradient-to: #0b0118 var(--tw-gradient-to-position)}.to-\[\#0f0f0f\]{--tw-gradient-to: #0f0f0f var(--tw-gradient-to-position)}.to-\[\#f1f5f9\]{--tw-gradient-to: #f1f5f9 var(--tw-gradient-to-position)}.to-amber-600{--tw-gradient-to: #d97706 var(--tw-gradient-to-position)}.to-orange-400{--tw-gradient-to: #fb923c var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to: #f97316 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-white\/0{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position)}.to-white\/5{--tw-gradient-to: rgb(255 255 255 / .05) var(--tw-gradient-to-position)}.to-yellow-400{--tw-gradient-to: #facc15 var(--tw-gradient-to-position)}.to-yellow-500\/5{--tw-gradient-to: rgb(234 179 8 / .05) var(--tw-gradient-to-position)}.to-yellow-600{--tw-gradient-to: #ca8a04 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.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-16{padding-top:4rem;padding-bottom:4rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-4{padding-bottom:1rem}.pt-12{padding-top:3rem}.pt-2{padding-top:.5rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.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-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[6px\]{font-size:6px}.text-\[9px\]{font-size:9px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-normal{font-weight:400}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[2px\]{letter-spacing:2px}.tracking-\[3px\]{letter-spacing:3px}.tracking-tighter{letter-spacing:-.05em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#fcd34d\]{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-200{--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500\/20{color:#3b82f633}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-emerald-200{--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity, 1))}.text-fuchsia-200{--tw-text-opacity: 1;color:rgb(245 208 254 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/20{color:#fff3}.text-white\/30{color:#ffffff4d}.text-white\/40{color:#fff6}.text-white\/60{color:#fff9}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-zinc-300{--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity, 1))}.accent-indigo-500{accent-color:#6366f1}.accent-white{accent-color:#fff}.accent-white\/40{accent-color:rgb(255 255 255 / .4)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px 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-\[0_0_10px_rgba\(255\,255\,255\,0\.1\)\]{--tw-shadow: 0 0 10px rgba(255,255,255,.1);--tw-shadow-colored: 0 0 10px 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-\[0_0_12px_rgba\(255\,255\,255\,0\.4\)\]{--tw-shadow: 0 0 12px rgba(255,255,255,.4);--tw-shadow-colored: 0 0 12px 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-\[0_0_12px_rgba\(59\,130\,246\,0\.8\)\]{--tw-shadow: 0 0 12px rgba(59,130,246,.8);--tw-shadow-colored: 0 0 12px 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-\[0_0_30px_rgba\(255\,255\,255\,0\.2\)\]{--tw-shadow: 0 0 30px rgba(255,255,255,.2);--tw-shadow-colored: 0 0 30px 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-\[0_0_50px_rgba\(59\,130\,246\,0\.3\)\]{--tw-shadow: 0 0 50px rgba(59,130,246,.3);--tw-shadow-colored: 0 0 50px 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-\[0_0_8px_rgba\(34\,197\,94\,0\.6\)\]{--tw-shadow: 0 0 8px rgba(34,197,94,.6);--tw-shadow-colored: 0 0 8px 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-\[0_0_8px_rgba\(59\,130\,246\,0\.8\)\]{--tw-shadow: 0 0 8px rgba(59,130,246,.8);--tw-shadow-colored: 0 0 8px 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-\[0_10px_30px_rgba\(245\,158\,11\,0\.5\)\]{--tw-shadow: 0 10px 30px rgba(245,158,11,.5);--tw-shadow-colored: 0 10px 30px 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-\[0_32px_64px_-16px_rgba\(0\,0\,0\,0\.6\)\]{--tw-shadow: 0 32px 64px -16px rgba(0,0,0,.6);--tw-shadow-colored: 0 32px 64px -16px 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-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 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-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/50{--tw-shadow-color: rgb(0 0 0 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-500\/10{--tw-shadow-color: rgb(59 130 246 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-500\/20{--tw-shadow-color: rgb(59 130 246 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-500\/10{--tw-shadow-color: rgb(168 85 247 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-slate-200\/50{--tw-shadow-color: rgb(226 232 240 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-yellow-400\/50{--tw-shadow-color: rgb(250 204 21 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.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-red-500\/30{--tw-ring-color: rgb(239 68 68 / .3)}.ring-yellow-500\/50{--tw-ring-color: rgb(234 179 8 / .5)}.blur-3xl{--tw-blur: blur(64px);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)}.blur-\[2px\]{--tw-blur: blur(2px);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)}.blur-md{--tw-blur: blur(12px);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)}.blur-xl{--tw-blur: blur(24px);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)}.drop-shadow-\[0_0_10px_rgba\(255\,255\,255\,0\.8\)\]{--tw-drop-shadow: drop-shadow(0 0 10px rgba(255,255,255,.8));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)}.drop-shadow-\[0_0_50px_rgba\(250\,204\,21\,0\.8\)\]{--tw-drop-shadow: drop-shadow(0 0 50px rgba(250,204,21,.8));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)}.drop-shadow-\[0_10px_20px_rgba\(0\,0\,0\,0\.5\)\]{--tw-drop-shadow: drop-shadow(0 10px 20px rgba(0,0,0,.5));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)}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));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-3xl{--tw-backdrop-blur: blur(64px);-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)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-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)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-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-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-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.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)}.\[animation-duration\:10s\]{animation-duration:10s}.\[animation-duration\:15s\]{animation-duration:15s}.\[transform\:rotateY\(180deg\)\]{transform:rotateY(180deg)}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.star{pointer-events:none;position:absolute;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));box-shadow:0 0 4px #fffc}.perspective-1000{perspective:1000px}.preserve-3d{transform-style:preserve-3d}.backface-hidden{backface-visibility:hidden}.rotate-y-180{transform:rotateY(180deg)}@container (max-width: 120px){.owner-avatar,.owner-label{display:none!important}}.hover\:scale-\[1\.02\]:hover{--tw-scale-x: 1.02;--tw-scale-y: 1.02;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-white\/10:hover{border-color:#ffffff1a}.hover\:border-white\/20:hover{border-color:#fff3}.hover\:bg-blue-500\/20:hover{background-color:#3b82f633}.hover\:bg-purple-500\/20:hover{background-color:#a855f733}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:bg-white\/\[0\.02\]:hover{background-color:#ffffff05}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:text-white\/60:hover{color:#fff9}.hover\:text-white\/80:hover{color:#fffc}.hover\:text-yellow-400:hover{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.hover\:\[transform\:translateZ\(20px\)\]:hover{transform:translateZ(20px)}.focus\:border-white\/30:focus{border-color:#ffffff4d}.focus\:bg-white\/10:focus{background-color:#ffffff1a}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--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))}.group:hover .group-hover\:border-yellow-500\/30{border-color:#eab3084d}.group:hover .group-hover\:text-white\/60{color:#fff9}.group:hover .group-hover\:opacity-60{opacity:.6}.group:hover .group-hover\:shadow-\[0_0_50px_rgba\(255\,255\,255\,0\.1\)\]{--tw-shadow: 0 0 50px rgba(255,255,255,.1);--tw-shadow-colored: 0 0 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media (min-width: 768px){.md\:inline{display:inline}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}} diff --git a/nginx/game/index.html b/nginx/game/index.html new file mode 100644 index 0000000..974f483 --- /dev/null +++ b/nginx/game/index.html @@ -0,0 +1,17 @@ + + + + + + + + 抖店无限 + + + + + +
+ + + \ No newline at end of file diff --git a/nginx/game/vite.svg b/nginx/game/vite.svg new file mode 100755 index 0000000..e7b8dfb --- /dev/null +++ b/nginx/game/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/nginx/minesweeper/assets/bgm/vespidaze-upbeat-rpg-battle-460971.mp3 b/nginx/minesweeper/assets/bgm/vespidaze-upbeat-rpg-battle-460971.mp3 new file mode 100644 index 0000000..6b67996 Binary files /dev/null and b/nginx/minesweeper/assets/bgm/vespidaze-upbeat-rpg-battle-460971.mp3 differ diff --git a/nginx/minesweeper/assets/bgm/williamhector-cinematic-action-jungle-drums-loop-125bpm-345139.mp3 b/nginx/minesweeper/assets/bgm/williamhector-cinematic-action-jungle-drums-loop-125bpm-345139.mp3 new file mode 100644 index 0000000..4de492f Binary files /dev/null and b/nginx/minesweeper/assets/bgm/williamhector-cinematic-action-jungle-drums-loop-125bpm-345139.mp3 differ diff --git a/nginx/minesweeper/assets/cat-Cc4v6SL1.mp3 b/nginx/minesweeper/assets/cat-Cc4v6SL1.mp3 new file mode 100644 index 0000000..f488fdb Binary files /dev/null and b/nginx/minesweeper/assets/cat-Cc4v6SL1.mp3 differ diff --git a/nginx/minesweeper/assets/cat-DX-s73ik.js b/nginx/minesweeper/assets/cat-DX-s73ik.js new file mode 100644 index 0000000..29f8d6c --- /dev/null +++ b/nginx/minesweeper/assets/cat-DX-s73ik.js @@ -0,0 +1 @@ +const t="/assets/cat-Cc4v6SL1.mp3";export{t as default}; diff --git a/nginx/minesweeper/assets/chestOpen-But9ZQZ6.js b/nginx/minesweeper/assets/chestOpen-But9ZQZ6.js new file mode 100644 index 0000000..0c0d3e7 --- /dev/null +++ b/nginx/minesweeper/assets/chestOpen-But9ZQZ6.js @@ -0,0 +1 @@ +const e="/assets/chestOpen-DJupHvRt.mp3";export{e as default}; diff --git a/nginx/minesweeper/assets/chestOpen-DJupHvRt.mp3 b/nginx/minesweeper/assets/chestOpen-DJupHvRt.mp3 new file mode 100644 index 0000000..50e6641 Binary files /dev/null and b/nginx/minesweeper/assets/chestOpen-DJupHvRt.mp3 differ diff --git a/nginx/minesweeper/assets/curse-CvtomDV0.js b/nginx/minesweeper/assets/curse-CvtomDV0.js new file mode 100644 index 0000000..7abf64a --- /dev/null +++ b/nginx/minesweeper/assets/curse-CvtomDV0.js @@ -0,0 +1 @@ +const s="/assets/curse-TQCqtwSX.mp3";export{s as default}; diff --git a/nginx/minesweeper/assets/curse-TQCqtwSX.mp3 b/nginx/minesweeper/assets/curse-TQCqtwSX.mp3 new file mode 100644 index 0000000..31f8407 Binary files /dev/null and b/nginx/minesweeper/assets/curse-TQCqtwSX.mp3 differ diff --git a/nginx/minesweeper/assets/dogbark-COddFP35.mp3 b/nginx/minesweeper/assets/dogbark-COddFP35.mp3 new file mode 100644 index 0000000..a9bac98 Binary files /dev/null and b/nginx/minesweeper/assets/dogbark-COddFP35.mp3 differ diff --git a/nginx/minesweeper/assets/dogbark-Cd9-eN5p.js b/nginx/minesweeper/assets/dogbark-Cd9-eN5p.js new file mode 100644 index 0000000..3a15fee --- /dev/null +++ b/nginx/minesweeper/assets/dogbark-Cd9-eN5p.js @@ -0,0 +1 @@ +const a="/assets/dogbark-COddFP35.mp3";export{a as default}; diff --git a/nginx/minesweeper/assets/doghowling-BZhI7xlk.mp3 b/nginx/minesweeper/assets/doghowling-BZhI7xlk.mp3 new file mode 100644 index 0000000..05cf7c9 Binary files /dev/null and b/nginx/minesweeper/assets/doghowling-BZhI7xlk.mp3 differ diff --git a/nginx/minesweeper/assets/doghowling-DiPAqmhW.js b/nginx/minesweeper/assets/doghowling-DiPAqmhW.js new file mode 100644 index 0000000..b7e0f2d --- /dev/null +++ b/nginx/minesweeper/assets/doghowling-DiPAqmhW.js @@ -0,0 +1 @@ +const o="/assets/doghowling-BZhI7xlk.mp3";export{o as default}; diff --git a/nginx/minesweeper/assets/elephant-CMV5jWgD.mp3 b/nginx/minesweeper/assets/elephant-CMV5jWgD.mp3 new file mode 100644 index 0000000..c9ad4aa Binary files /dev/null and b/nginx/minesweeper/assets/elephant-CMV5jWgD.mp3 differ diff --git a/nginx/minesweeper/assets/elephant-CZlZnjTw.js b/nginx/minesweeper/assets/elephant-CZlZnjTw.js new file mode 100644 index 0000000..abbbc1b --- /dev/null +++ b/nginx/minesweeper/assets/elephant-CZlZnjTw.js @@ -0,0 +1 @@ +const e="/assets/elephant-CMV5jWgD.mp3";export{e as default}; diff --git a/nginx/minesweeper/assets/game/未翻开格子.jpg b/nginx/minesweeper/assets/game/未翻开格子.jpg new file mode 100644 index 0000000..d127445 Binary files /dev/null and b/nginx/minesweeper/assets/game/未翻开格子.jpg differ diff --git a/nginx/minesweeper/assets/game/炸弹.png b/nginx/minesweeper/assets/game/炸弹.png new file mode 100644 index 0000000..6b5a6e7 Binary files /dev/null and b/nginx/minesweeper/assets/game/炸弹.png differ diff --git a/nginx/minesweeper/assets/game/背景.jpg b/nginx/minesweeper/assets/game/背景.jpg new file mode 100644 index 0000000..91f3a6f Binary files /dev/null and b/nginx/minesweeper/assets/game/背景.jpg differ diff --git a/nginx/minesweeper/assets/goodperson-B4zFtTxH.mp3 b/nginx/minesweeper/assets/goodperson-B4zFtTxH.mp3 new file mode 100644 index 0000000..679a9a0 Binary files /dev/null and b/nginx/minesweeper/assets/goodperson-B4zFtTxH.mp3 differ diff --git a/nginx/minesweeper/assets/goodperson-BTK7x34a.js b/nginx/minesweeper/assets/goodperson-BTK7x34a.js new file mode 100644 index 0000000..37fd113 --- /dev/null +++ b/nginx/minesweeper/assets/goodperson-BTK7x34a.js @@ -0,0 +1 @@ +const o="/assets/goodperson-B4zFtTxH.mp3";export{o as default}; diff --git a/nginx/minesweeper/assets/heal-B6EfYNeh.mp3 b/nginx/minesweeper/assets/heal-B6EfYNeh.mp3 new file mode 100644 index 0000000..ecb5409 Binary files /dev/null and b/nginx/minesweeper/assets/heal-B6EfYNeh.mp3 differ diff --git a/nginx/minesweeper/assets/heal-BaF7csk7.js b/nginx/minesweeper/assets/heal-BaF7csk7.js new file mode 100644 index 0000000..e0685f2 --- /dev/null +++ b/nginx/minesweeper/assets/heal-BaF7csk7.js @@ -0,0 +1 @@ +const e="/assets/heal-B6EfYNeh.mp3";export{e as default}; diff --git a/nginx/minesweeper/assets/hippos-BW9g2GGo.mp3 b/nginx/minesweeper/assets/hippos-BW9g2GGo.mp3 new file mode 100644 index 0000000..34bb466 Binary files /dev/null and b/nginx/minesweeper/assets/hippos-BW9g2GGo.mp3 differ diff --git a/nginx/minesweeper/assets/hippos-CL_x8hh_.js b/nginx/minesweeper/assets/hippos-CL_x8hh_.js new file mode 100644 index 0000000..7c44b48 --- /dev/null +++ b/nginx/minesweeper/assets/hippos-CL_x8hh_.js @@ -0,0 +1 @@ +const s="/assets/hippos-BW9g2GGo.mp3";export{s as default}; diff --git a/nginx/minesweeper/assets/index-DYFdfY1J.js b/nginx/minesweeper/assets/index-DYFdfY1J.js new file mode 100644 index 0000000..c56b055 --- /dev/null +++ b/nginx/minesweeper/assets/index-DYFdfY1J.js @@ -0,0 +1,13139 @@ +var gn=Object.defineProperty;var xn=(E,y,n)=>y in E?gn(E,y,{enumerable:!0,configurable:!0,writable:!0,value:n}):E[y]=n;var $=(E,y,n)=>xn(E,typeof y!="symbol"?y+"":y,n);(function(){const y=document.createElement("link").relList;if(y&&y.supports&&y.supports("modulepreload"))return;for(const S of document.querySelectorAll('link[rel="modulepreload"]'))m(S);new MutationObserver(S=>{for(const x of S)if(x.type==="childList")for(const h of x.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&m(h)}).observe(document,{childList:!0,subtree:!0});function n(S){const x={};return S.integrity&&(x.integrity=S.integrity),S.referrerPolicy&&(x.referrerPolicy=S.referrerPolicy),S.crossOrigin==="use-credentials"?x.credentials="include":S.crossOrigin==="anonymous"?x.credentials="omit":x.credentials="same-origin",x}function m(S){if(S.ep)return;S.ep=!0;const x=n(S);fetch(S.href,x)}})();var yn={50792:E=>{var y=Object.prototype.hasOwnProperty,n="~";function m(){}Object.create&&(m.prototype=Object.create(null),new m().__proto__||(n=!1));function S(t,e,l){this.fn=t,this.context=e,this.once=l||!1}function x(t,e,l,i,s){if(typeof l!="function")throw new TypeError("The listener must be a function");var r=new S(l,i||t,s),o=n?n+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],r]:t._events[o].push(r):(t._events[o]=r,t._eventsCount++),t}function h(t,e){--t._eventsCount===0?t._events=new m:delete t._events[e]}function d(){this._events=new m,this._eventsCount=0}d.prototype.eventNames=function(){var e=[],l,i;if(this._eventsCount===0)return e;for(i in l=this._events)y.call(l,i)&&e.push(n?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(l)):e},d.prototype.listeners=function(e){var l=n?n+e:e,i=this._events[l];if(!i)return[];if(i.fn)return[i.fn];for(var s=0,r=i.length,o=new Array(r);s{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(38829),S=function(x,h,d,t){for(var e=x[0],l=1;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(66979),S=function(x,h,d,t,e){return m(x,"angle",h,d,t,e)};E.exports=S},60757:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){for(var x=0;x{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){S===void 0&&(S=0);for(var x=S;x{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){S===void 0&&(S=0);for(var x=n.length-1;x>=S;x--){var h=n[x],d=!0;for(var t in m)h[t]!==m[t]&&(d=!1);if(d)return h}return null};E.exports=y},94420:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(11879),S=n(60461),x=n(95540),h=n(29747),d=n(41481),t=new d({sys:{queueDepthSort:h,events:{once:h}}},0,0,1,1).setOrigin(0,0),e=function(l,i){i===void 0&&(i={});var s=i.hasOwnProperty("width"),r=i.hasOwnProperty("height"),o=x(i,"width",-1),a=x(i,"height",-1),u=x(i,"cellWidth",1),f=x(i,"cellHeight",u),v=x(i,"position",S.TOP_LEFT),c=x(i,"x",0),g=x(i,"y",0),p=0,T=0,C=o*u,M=a*f;t.setPosition(c,g),t.setSize(u,f);for(var A=0;A{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(66979),S=function(x,h,d,t,e){return m(x,"alpha",h,d,t,e)};E.exports=S},67285:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(66979),S=function(x,h,d,t,e){return m(x,"x",h,d,t,e)};E.exports=S},9074:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(66979),S=function(x,h,d,t,e,l,i){return d==null&&(d=h),m(x,"x",h,t,l,i),m(x,"y",d,e,l,i)};E.exports=S},75222:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(66979),S=function(x,h,d,t,e){return m(x,"y",h,d,t,e)};E.exports=S},22983:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){S===void 0&&(S=0),x===void 0&&(x=6.28);for(var h=S,d=(x-S)/n.length,t=m.x,e=m.y,l=m.radius,i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){S===void 0&&(S=0),x===void 0&&(x=6.28);for(var h=S,d=(x-S)/n.length,t=m.width/2,e=m.height/2,l=0;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(15258),S=n(26708),x=function(h,d,t){var e;t?e=S(d,t,h.length):e=m(d,h.length);for(var l=0;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(14649),S=n(86003),x=n(49498),h=function(d,t,e){e===void 0&&(e=0);var l=m(t,!1,d.length);e>0?S(l,e):e<0&&x(l,Math.abs(e));for(var i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(84993),S=function(x,h,d){var t=m({x1:h.x1,y1:h.y1,x2:h.x2,y2:h.y2},d),e=m({x1:h.x2,y1:h.y2,x2:h.x3,y2:h.y3},d),l=m({x1:h.x3,y1:h.y3,x2:h.x1,y2:h.y1},d);t.pop(),e.pop(),l.pop(),t=t.concat(e,l);for(var i=t.length/x.length,s=0,r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){for(var x=0;x{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x,h,d){x===void 0&&(x=0),h===void 0&&(h=0),d===void 0&&(d=1);var t,e=0,l=n.length;if(d===1)for(t=h;t=0;t--)n[t][m]+=S+e*x,e++;return n};E.exports=y},43967:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x,h,d){x===void 0&&(x=0),h===void 0&&(h=0),d===void 0&&(d=1);var t,e=0,l=n.length;if(d===1)for(t=h;t=0;t--)n[t][m]=S+e*x,e++;return n};E.exports=y},88926:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(28176),S=function(x,h){for(var d=0;d{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(24820),S=function(x,h){for(var d=0;d{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(65822),S=function(x,h){for(var d=0;d{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26597),S=function(x,h){for(var d=0;d{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(90260),S=function(x,h){for(var d=0;d{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(66979),S=function(x,h,d,t,e){return m(x,"rotation",h,d,t,e)};E.exports=S},91051:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(1163),S=n(20339),x=function(h,d,t){for(var e=d.x,l=d.y,i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(1163),S=function(x,h,d,t){var e=h.x,l=h.y;if(t===0)return x;for(var i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(66979),S=function(x,h,d,t,e){return m(x,"scaleX",h,d,t,e)};E.exports=S},94868:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(66979),S=function(x,h,d,t,e,l,i){return d==null&&(d=h),m(x,"scaleX",h,t,l,i),m(x,"scaleY",d,e,l,i)};E.exports=S},95532:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(66979),S=function(x,h,d,t,e){return m(x,"scaleY",h,d,t,e)};E.exports=S},8689:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43967),S=function(x,h,d,t,e){return m(x,"alpha",h,d,t,e)};E.exports=S},2645:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43967),S=function(x,h,d,t){return m(x,"blendMode",h,0,d,t)};E.exports=S},32372:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43967),S=function(x,h,d,t,e){return m(x,"depth",h,d,t,e)};E.exports=S},85373:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){for(var x=0;x{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43967),S=function(x,h,d,t,e,l,i){return d==null&&(d=h),m(x,"originX",h,t,l,i),m(x,"originY",d,e,l,i),x.forEach(function(s){s.updateDisplayOrigin()}),x};E.exports=S},79939:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43967),S=function(x,h,d,t,e){return m(x,"rotation",h,d,t,e)};E.exports=S},2699:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43967),S=function(x,h,d,t,e,l,i){return d==null&&(d=h),m(x,"scaleX",h,t,l,i),m(x,"scaleY",d,e,l,i)};E.exports=S},98739:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43967),S=function(x,h,d,t,e){return m(x,"scaleX",h,d,t,e)};E.exports=S},98476:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43967),S=function(x,h,d,t,e){return m(x,"scaleY",h,d,t,e)};E.exports=S},6207:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43967),S=function(x,h,d,t,e,l,i){return d==null&&(d=h),m(x,"scrollFactorX",h,t,l,i),m(x,"scrollFactorY",d,e,l,i)};E.exports=S},6607:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43967),S=function(x,h,d,t,e){return m(x,"scrollFactorX",h,d,t,e)};E.exports=S},72248:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43967),S=function(x,h,d,t,e){return m(x,"scrollFactorY",h,d,t,e)};E.exports=S},14036:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x,h){for(var d=0;d{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43967),S=function(x,h,d,t){return m(x,"visible",h,0,d,t)};E.exports=S},77597:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43967),S=function(x,h,d,t,e){return m(x,"x",h,d,t,e)};E.exports=S},83194:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43967),S=function(x,h,d,t,e,l,i){return d==null&&(d=h),m(x,"x",h,t,l,i),m(x,"y",d,e,l,i)};E.exports=S},67678:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43967),S=function(x,h,d,t,e){return m(x,"y",h,d,t,e)};E.exports=S},35850:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h,d,t,e){t===void 0&&(t=0),e===void 0&&(e=new m);var l,i,s=x.length;if(s===1)l=x[0].x,i=x[0].y,x[0].x=h,x[0].y=d;else{var r=1,o=0;t===0&&(o=s-1,r=s-2),l=x[o].x,i=x[o].y,x[o].x=h,x[o].y=d;for(var a=0;a=s||r===-1)){var u=x[r],f=u.x,v=u.y;u.x=l,u.y=i,l=f,i=v,t===0?r--:r++}}return e.x=l,e.y=i,e};E.exports=S},8628:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(33680),S=function(x){return m(x)};E.exports=S},21837:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7602),S=function(x,h,d,t,e){e===void 0&&(e=!1);var l=Math.abs(t-d)/x.length,i;if(e)for(i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(54261),S=function(x,h,d,t,e){e===void 0&&(e=!1);var l=Math.abs(t-d)/x.length,i;if(e)for(i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x,h){if(h===void 0&&(h=!1),n.length===0)return n;if(n.length===1)return h?n[0][m]+=(x+S)/2:n[0][m]=(x+S)/2,n;var d=Math.abs(x-S)/(n.length-1),t;if(h)for(t=0;t{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){for(var m=0;m{/** + * @author Richard Davey + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(15994),S=function(x,h,d){d===void 0&&(d=0);for(var t=0;t{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={AlignTo:n(11517),Angle:n(80318),Call:n(60757),GetFirst:n(69927),GetLast:n(32265),GridAlign:n(94420),IncAlpha:n(41721),IncX:n(67285),IncXY:n(9074),IncY:n(75222),PlaceOnCircle:n(22983),PlaceOnEllipse:n(95253),PlaceOnLine:n(88505),PlaceOnRectangle:n(41346),PlaceOnTriangle:n(11575),PlayAnimation:n(29953),PropertyValueInc:n(66979),PropertyValueSet:n(43967),RandomCircle:n(88926),RandomEllipse:n(33286),RandomLine:n(96e3),RandomRectangle:n(28789),RandomTriangle:n(97154),Rotate:n(20510),RotateAround:n(91051),RotateAroundDistance:n(76332),ScaleX:n(61619),ScaleXY:n(94868),ScaleY:n(95532),SetAlpha:n(8689),SetBlendMode:n(2645),SetDepth:n(32372),SetHitArea:n(85373),SetOrigin:n(81583),SetRotation:n(79939),SetScale:n(2699),SetScaleX:n(98739),SetScaleY:n(98476),SetScrollFactor:n(6207),SetScrollFactorX:n(6607),SetScrollFactorY:n(72248),SetTint:n(14036),SetVisible:n(50159),SetX:n(77597),SetXY:n(83194),SetY:n(67678),ShiftPosition:n(35850),Shuffle:n(8628),SmootherStep:n(21910),SmoothStep:n(21837),Spread:n(62054),ToggleVisible:n(79815),WrapInRectangle:n(39665)}},42099:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(45319),S=n(83419),x=n(74943),h=n(81957),d=n(41138),t=n(35154),e=n(90126),l=new S({initialize:function(s,r,o){this.manager=s,this.key=r,this.type="frame",this.frames=this.getFrames(s.textureManager,t(o,"frames",[]),t(o,"defaultTextureKey",null),t(o,"sortFrames",!0)),this.frameRate=t(o,"frameRate",null),this.duration=t(o,"duration",null),this.msPerFrame,this.skipMissedFrames=t(o,"skipMissedFrames",!0),this.delay=t(o,"delay",0),this.repeat=t(o,"repeat",0),this.repeatDelay=t(o,"repeatDelay",0),this.yoyo=t(o,"yoyo",!1),this.showBeforeDelay=t(o,"showBeforeDelay",!1),this.showOnStart=t(o,"showOnStart",!1),this.hideOnComplete=t(o,"hideOnComplete",!1),this.randomFrame=t(o,"randomFrame",!1),this.paused=!1,this.calculateDuration(this,this.getTotalFrames(),this.duration,this.frameRate),this.manager.on&&(this.manager.on(x.PAUSE_ALL,this.pause,this),this.manager.on(x.RESUME_ALL,this.resume,this))},getTotalFrames:function(){return this.frames.length},calculateDuration:function(i,s,r,o){r===null&&o===null?(i.frameRate=24,i.duration=24/s*1e3):r&&o===null?(i.duration=r,i.frameRate=s/(r/1e3)):(i.frameRate=o,i.duration=s/o*1e3),i.msPerFrame=1e3/i.frameRate},addFrame:function(i){return this.addFrameAt(this.frames.length,i)},addFrameAt:function(i,s){var r=this.getFrames(this.manager.textureManager,s);if(r.length>0){if(i===0)this.frames=r.concat(this.frames);else if(i===this.frames.length)this.frames=this.frames.concat(r);else{var o=this.frames.slice(0,i),a=this.frames.slice(i);this.frames=o.concat(r,a)}this.updateFrameSequence()}return this},checkFrame:function(i){return i>=0&&i0){f.isLast=!0,f.nextFrame=a[0],a[0].prevFrame=f;var P=1/(a.length-1);for(c=0;c0?i.inReverse&&i.forward?i.forward=!1:this.repeatAnimation(i):i.complete():this.updateAndGetNextTick(i,s.nextFrame)},handleYoyoFrame:function(i,s){if(s||(s=!1),i.inReverse===!s&&i.repeatCounter>0){(i.repeatDelay===0||i.pendingRepeat)&&(i.forward=s),this.repeatAnimation(i);return}if(i.inReverse!==s&&i.repeatCounter===0){i.complete();return}i.forward=s;var r=s?i.currentFrame.nextFrame:i.currentFrame.prevFrame;this.updateAndGetNextTick(i,r)},getLastFrame:function(){return this.frames[this.frames.length-1]},previousFrame:function(i){var s=i.currentFrame;s.isFirst?i.yoyo?this.handleYoyoFrame(i,!0):i.repeatCounter>0?i.inReverse&&!i.forward?this.repeatAnimation(i):(i.forward=!0,this.repeatAnimation(i)):i.complete():this.updateAndGetNextTick(i,s.prevFrame)},updateAndGetNextTick:function(i,s){i.setCurrentFrame(s),this.getNextTick(i)},removeFrame:function(i){var s=this.frames.indexOf(i);return s!==-1&&this.removeFrameAt(s),this},removeFrameAt:function(i){return this.frames.splice(i,1),this.updateFrameSequence(),this},repeatAnimation:function(i){if(i._pendingStop===2){if(i._pendingStopValue===0)return i.stop();i._pendingStopValue--}i.repeatDelay>0&&!i.pendingRepeat?(i.pendingRepeat=!0,i.accumulator-=i.nextTick,i.nextTick+=i.repeatDelay):(i.repeatCounter--,i.forward?i.setCurrentFrame(i.currentFrame.nextFrame):i.setCurrentFrame(i.currentFrame.prevFrame),i.isPlaying&&(this.getNextTick(i),i.handleRepeat()))},toJSON:function(){var i={key:this.key,type:this.type,frames:[],frameRate:this.frameRate,duration:this.duration,skipMissedFrames:this.skipMissedFrames,delay:this.delay,repeat:this.repeat,repeatDelay:this.repeatDelay,yoyo:this.yoyo,showBeforeDelay:this.showBeforeDelay,showOnStart:this.showOnStart,randomFrame:this.randomFrame,hideOnComplete:this.hideOnComplete};return this.frames.forEach(function(s){i.frames.push(s.toJSON())}),i},updateFrameSequence:function(){for(var i=this.frames.length,s=1/(i-1),r,o=0;o1?(r.isLast=!0,r.prevFrame=this.frames[i-2],r.nextFrame=this.frames[0]):i>1&&(r.prevFrame=this.frames[o-1],r.nextFrame=this.frames[o+1]);return this},pause:function(){return this.paused=!0,this},resume:function(){return this.paused=!1,this},destroy:function(){this.manager.off&&(this.manager.off(x.PAUSE_ALL,this.pause,this),this.manager.off(x.RESUME_ALL,this.resume,this)),this.manager.remove(this.key);for(var i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h,d,t,e,l){l===void 0&&(l=!1),this.textureKey=h,this.textureFrame=d,this.index=t,this.frame=e,this.isFirst=!1,this.isLast=!1,this.prevFrame=null,this.nextFrame=null,this.duration=0,this.progress=0,this.isKeyFrame=l},toJSON:function(){return{key:this.textureKey,frame:this.textureFrame,duration:this.duration,keyframe:this.isKeyFrame}},destroy:function(){this.frame=void 0}});E.exports=S},60848:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(42099),S=n(83419),x=n(90330),h=n(50792),d=n(74943),t=n(8443),e=n(95540),l=n(35154),i=n(36383),s=n(20283),r=n(41836),o=new S({Extends:h,initialize:function(u){h.call(this),this.game=u,this.textureManager=null,this.globalTimeScale=1,this.anims=new x,this.mixes=new x,this.paused=!1,this.name="AnimationManager",u.events.once(t.BOOT,this.boot,this)},boot:function(){this.textureManager=this.game.textures,this.game.events.once(t.DESTROY,this.destroy,this)},addMix:function(a,u,f){var v=this.anims,c=this.mixes,g=typeof a=="string"?a:a.key,p=typeof u=="string"?u:u.key;if(v.has(g)&&v.has(p)){var T=c.get(g);T||(T={}),T[p]=f,c.set(g,T)}return this},removeMix:function(a,u){var f=this.mixes,v=typeof a=="string"?a:a.key,c=f.get(v);if(c)if(u){var g=typeof u=="string"?u:u.key;c.hasOwnProperty(g)&&delete c[g]}else u||f.delete(v);return this},getMix:function(a,u){var f=this.mixes,v=typeof a=="string"?a:a.key,c=typeof u=="string"?u:u.key,g=f.get(v);return g&&g.hasOwnProperty(c)?g[c]:0},add:function(a,u){return this.anims.has(a)?(console.warn("Animation key exists: "+a),this):(u.key=a,this.anims.set(a,u),this.emit(d.ADD_ANIMATION,a,u),this)},exists:function(a){return this.anims.has(a)},createFromAseprite:function(a,u,f){var v=[],c=this.game.cache.json.get(a);if(!c)return console.warn("No Aseprite data found for: "+a),v;var g=this,p=l(c,"meta",null),T=l(c,"frames",null);if(p&&T){var C=l(p,"frameTags",[]);C.forEach(function(M){var A=[],R=e(M,"name",null),P=e(M,"from",0),L=e(M,"to",0),F=e(M,"direction","forward");if(R&&(!u||u&&u.indexOf(R)>-1)){for(var w=0,O=P;O<=L;O++){var B=O.toString(),I=T[B];if(I){var D=e(I,"duration",i.MAX_SAFE_INTEGER);A.push({key:a,frame:B,duration:D}),w+=D}}F==="reverse"&&(A=A.reverse());var N={key:R,frames:A,duration:w,yoyo:F==="pingpong"},z;f?f.anims&&(z=f.anims.create(N)):z=g.create(N),z&&v.push(z)}})}return v},create:function(a){var u=a.key,f=!1;return u&&(f=this.get(u),f?console.warn("AnimationManager key already exists: "+u):(f=new m(this,u,a),this.anims.set(u,f),this.emit(d.ADD_ANIMATION,u,f))),f},fromJSON:function(a,u){u===void 0&&(u=!1),u&&this.anims.clear(),typeof a=="string"&&(a=JSON.parse(a));var f=[];if(a.hasOwnProperty("anims")&&Array.isArray(a.anims)){for(var v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(42099),S=n(30976),x=n(83419),h=n(90330),d=n(74943),t=n(95540),e=new x({initialize:function(i){this.parent=i,this.animationManager=i.scene.sys.anims,this.animationManager.on(d.REMOVE_ANIMATION,this.globalRemove,this),this.textureManager=this.animationManager.textureManager,this.anims=null,this.isPlaying=!1,this.hasStarted=!1,this.currentAnim=null,this.currentFrame=null,this.nextAnim=null,this.nextAnimsQueue=[],this.timeScale=1,this.frameRate=0,this.duration=0,this.msPerFrame=0,this.skipMissedFrames=!0,this.randomFrame=!1,this.delay=0,this.repeat=0,this.repeatDelay=0,this.yoyo=!1,this.showBeforeDelay=!1,this.showOnStart=!1,this.hideOnComplete=!1,this.forward=!0,this.inReverse=!1,this.accumulator=0,this.nextTick=0,this.delayCounter=0,this.repeatCounter=0,this.pendingRepeat=!1,this._paused=!1,this._wasPlaying=!1,this._pendingStop=0,this._pendingStopValue},chain:function(l){var i=this.parent;if(l===void 0)return this.nextAnimsQueue.length=0,this.nextAnim=null,i;Array.isArray(l)||(l=[l]);for(var s=0;so&&(f=0),this.randomFrame&&(f=S(0,o-1));var v=r.frames[f];f===0&&!this.forward&&(v=r.getLastFrame()),this.currentFrame=v}return this.parent},pause:function(l){return this._paused||(this._paused=!0,this._wasPlaying=this.isPlaying,this.isPlaying=!1),l!==void 0&&this.setCurrentFrame(l),this.parent},resume:function(l){return this._paused&&(this._paused=!1,this.isPlaying=this._wasPlaying),l!==void 0&&this.setCurrentFrame(l),this.parent},playAfterDelay:function(l,i){if(!this.isPlaying)this.delayCounter=i,this.play(l,!0);else{var s=this.nextAnim,r=this.nextAnimsQueue;s&&r.unshift(s),this.nextAnim=l,this._pendingStop=1,this._pendingStopValue=i}return this.parent},playAfterRepeat:function(l,i){if(i===void 0&&(i=1),!this.isPlaying)this.play(l);else{var s=this.nextAnim,r=this.nextAnimsQueue;s&&r.unshift(s),this.repeatCounter!==-1&&i>this.repeatCounter&&(i=this.repeatCounter),this.nextAnim=l,this._pendingStop=2,this._pendingStopValue=i}return this.parent},play:function(l,i){i===void 0&&(i=!1);var s=this.currentAnim,r=this.parent,o=typeof l=="string"?l:l.key;if(i&&this.isPlaying&&s.key===o)return r;if(s&&this.isPlaying){var a=this.animationManager.getMix(s.key,l);if(a>0)return this.playAfterDelay(l,a)}return this.forward=!0,this.inReverse=!1,this._paused=!1,this._wasPlaying=!0,this.startAnimation(l)},playReverse:function(l,i){i===void 0&&(i=!1);var s=typeof l=="string"?l:l.key;return i&&this.isPlaying&&this.currentAnim.key===s?this.parent:(this.forward=!1,this.inReverse=!0,this._paused=!1,this._wasPlaying=!0,this.startAnimation(l))},startAnimation:function(l){this.load(l);var i=this.currentAnim,s=this.parent;return i&&(this.repeatCounter=this.repeat===-1?Number.MAX_VALUE:this.repeat,i.getFirstTick(this),this.isPlaying=!0,this.pendingRepeat=!1,this.hasStarted=!1,this._pendingStop=0,this._pendingStopValue=0,this._paused=!1,this.delayCounter+=this.delay,this.delayCounter===0?this.handleStart():this.showBeforeDelay&&this.setCurrentFrame(this.currentFrame)),s},handleStart:function(){this.showOnStart&&this.parent.setVisible(!0),this.setCurrentFrame(this.currentFrame),this.hasStarted=!0,this.emitEvents(d.ANIMATION_START)},handleRepeat:function(){this.pendingRepeat=!1,this.emitEvents(d.ANIMATION_REPEAT)},handleStop:function(){this._pendingStop=0,this.isPlaying=!1,this.emitEvents(d.ANIMATION_STOP)},handleComplete:function(){this._pendingStop=0,this.isPlaying=!1,this.hideOnComplete&&this.parent.setVisible(!1),this.emitEvents(d.ANIMATION_COMPLETE,d.ANIMATION_COMPLETE_KEY)},emitEvents:function(l,i){var s=this.currentAnim;if(s){var r=this.currentFrame,o=this.parent,a=r.textureFrame;o.emit(l,s,r,o,a),i&&o.emit(i+s.key,s,r,o,a)}},reverse:function(){return this.isPlaying&&(this.inReverse=!this.inReverse,this.forward=!this.forward),this.parent},getProgress:function(){var l=this.currentFrame;if(!l)return 0;var i=l.progress;return this.inReverse&&(i*=-1),i},setProgress:function(l){return this.forward||(l=1-l),this.setCurrentFrame(this.currentAnim.getFrameByProgress(l)),this.parent},setRepeat:function(l){return this.repeatCounter=l===-1?Number.MAX_VALUE:l,this.parent},globalRemove:function(l,i){i===void 0&&(i=this.currentAnim),this.isPlaying&&i.key===this.currentAnim.key&&(this.stop(),this.setCurrentFrame(this.currentAnim.frames[0]))},restart:function(l,i){l===void 0&&(l=!1),i===void 0&&(i=!1);var s=this.currentAnim,r=this.parent;return s?(i&&(this.repeatCounter=this.repeat===-1?Number.MAX_VALUE:this.repeat),s.getFirstTick(this),this.emitEvents(d.ANIMATION_RESTART),this.isPlaying=!0,this.pendingRepeat=!1,this.hasStarted=!l,this._pendingStop=0,this._pendingStopValue=0,this._paused=!1,this.setCurrentFrame(s.frames[0]),this.parent):r},complete:function(){if(this._pendingStop=0,this.isPlaying=!1,this.currentAnim&&this.handleComplete(),this.nextAnim){var l=this.nextAnim;this.nextAnim=this.nextAnimsQueue.length>0?this.nextAnimsQueue.shift():null,this.play(l)}return this.parent},stop:function(){if(this._pendingStop=0,this.isPlaying=!1,this.delayCounter=0,this.currentAnim&&this.handleStop(),this.nextAnim){var l=this.nextAnim;this.nextAnim=this.nextAnimsQueue.shift(),this.play(l)}return this.parent},stopAfterDelay:function(l){return this._pendingStop=1,this._pendingStopValue=l,this.parent},stopAfterRepeat:function(l){return l===void 0&&(l=1),this.repeatCounter!==-1&&l>this.repeatCounter&&(l=this.repeatCounter),this._pendingStop=2,this._pendingStopValue=l,this.parent},stopOnFrame:function(l){return this._pendingStop=3,this._pendingStopValue=l,this.parent},getTotalFrames:function(){return this.currentAnim?this.currentAnim.getTotalFrames():0},update:function(l,i){var s=this.currentAnim;if(!(!this.isPlaying||!s||s.paused)){if(this.accumulator+=i*this.timeScale*this.animationManager.globalTimeScale,this._pendingStop===1&&(this._pendingStopValue-=i,this._pendingStopValue<=0))return this.stop();if(!this.hasStarted)this.accumulator>=this.delayCounter&&(this.accumulator-=this.delayCounter,this.handleStart());else if(this.accumulator>=this.nextTick&&(this.forward?s.nextFrame(this):s.previousFrame(this),this.isPlaying&&this._pendingStop===0&&this.skipMissedFrames&&this.accumulator>this.nextTick)){var r=0;do this.forward?s.nextFrame(this):s.previousFrame(this),r++;while(this.isPlaying&&this.accumulator>this.nextTick&&r<60)}}},setCurrentFrame:function(l){var i=this.parent;return this.currentFrame=l,i.texture=l.frame.texture,i.frame=l.frame,i.isCropped&&i.frame.updateCropUVs(i._crop,i.flipX,i.flipY),l.setAlpha&&(i.alpha=l.alpha),i.setSizeToFrame(),i._originComponent&&(l.frame.customPivot?i.setOrigin(l.frame.pivotX,l.frame.pivotY):i.updateDisplayOrigin()),this.isPlaying&&this.hasStarted&&(this.emitEvents(d.ANIMATION_UPDATE),this._pendingStop===3&&this._pendingStopValue===l&&this.stop()),i},nextFrame:function(){return this.currentAnim&&this.currentAnim.nextFrame(this),this.parent},previousFrame:function(){return this.currentAnim&&this.currentAnim.previousFrame(this),this.parent},get:function(l){return this.anims?this.anims.get(l):null},exists:function(l){return this.anims?this.anims.has(l):!1},create:function(l){var i=l.key,s=!1;return i&&(s=this.get(i),s?console.warn("Animation key already exists: "+i):(s=new m(this,i,l),this.anims||(this.anims=new h),this.anims.set(i,s))),s},createFromAseprite:function(l,i){return this.animationManager.createFromAseprite(l,i,this.parent)},generateFrameNames:function(l,i){return this.animationManager.generateFrameNames(l,i)},generateFrameNumbers:function(l,i){return this.animationManager.generateFrameNumbers(l,i)},remove:function(l){var i=this.get(l);return i&&(this.currentAnim===i&&this.stop(),this.anims.delete(l)),i},destroy:function(){this.animationManager.off(d.REMOVE_ANIMATION,this.globalRemove,this),this.anims&&this.anims.clear(),this.animationManager=null,this.parent=null,this.nextAnim=null,this.nextAnimsQueue.length=0,this.currentAnim=null,this.currentFrame=null},isPaused:{get:function(){return this._paused}}});E.exports=e},57090:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="add"},25312:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="animationcomplete"},89580:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="animationcomplete-"},52860:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="animationrepeat"},63850:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="animationrestart"},99085:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="animationstart"},28087:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="animationstop"},1794:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="animationupdate"},52562:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pauseall"},57953:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="remove"},68339:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="resumeall"},74943:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={ADD_ANIMATION:n(57090),ANIMATION_COMPLETE:n(25312),ANIMATION_COMPLETE_KEY:n(89580),ANIMATION_REPEAT:n(52860),ANIMATION_RESTART:n(63850),ANIMATION_START:n(99085),ANIMATION_STOP:n(28087),ANIMATION_UPDATE:n(1794),PAUSE_ALL:n(52562),REMOVE_ANIMATION:n(57953),RESUME_ALL:n(68339)}},60421:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Animation:n(42099),AnimationFrame:n(41138),AnimationManager:n(60848),AnimationState:n(9674),Events:n(74943)}},2161:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(90330),x=n(50792),h=n(24736),d=new m({initialize:function(){this.entries=new S,this.events=new x},add:function(t,e){return this.entries.set(t,e),this.events.emit(h.ADD,this,t,e),this},has:function(t){return this.entries.has(t)},exists:function(t){return this.entries.has(t)},get:function(t){return this.entries.get(t)},remove:function(t){var e=this.get(t);return e&&(this.entries.delete(t),this.events.emit(h.REMOVE,this,t,e.data)),this},getKeys:function(){return this.entries.keys()},destroy:function(){this.entries.clear(),this.events.removeAllListeners(),this.entries=null,this.events=null}});E.exports=d},24047:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(2161),S=n(83419),x=n(8443),h=new S({initialize:function(t){this.game=t,this.binary=new m,this.bitmapFont=new m,this.json=new m,this.physics=new m,this.shader=new m,this.audio=new m,this.video=new m,this.text=new m,this.html=new m,this.obj=new m,this.tilemap=new m,this.xml=new m,this.custom={},this.game.events.once(x.DESTROY,this.destroy,this)},addCustom:function(d){return this.custom.hasOwnProperty(d)||(this.custom[d]=new m),this.custom[d]},destroy:function(){for(var d=["binary","bitmapFont","json","physics","shader","audio","video","text","html","obj","tilemap","xml"],t=0;t{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="add"},59261:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="remove"},24736:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={ADD:n(51464),REMOVE:n(59261)}},83388:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={BaseCache:n(2161),CacheManager:n(24047),Events:n(24736)}},71911:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(31401),x=n(39506),h=n(50792),d=n(19715),t=n(87841),e=n(61340),l=n(80333),i=n(26099),s=new m({Extends:h,Mixins:[S.AlphaSingle,S.Visible],initialize:function(o,a,u,f){o===void 0&&(o=0),a===void 0&&(a=0),u===void 0&&(u=0),f===void 0&&(f=0),h.call(this),this.scene,this.sceneManager,this.scaleManager,this.cameraManager,this.id=0,this.name="",this.roundPixels=!1,this.useBounds=!1,this.worldView=new t,this.dirty=!0,this._x=o,this._y=a,this._width=u,this._height=f,this._bounds=new t,this._scrollX=0,this._scrollY=0,this._zoomX=1,this._zoomY=1,this._rotation=0,this.matrix=new e,this.matrixCombined=new e,this.matrixExternal=new e,this.transparent=!0,this.backgroundColor=l("rgba(0,0,0,0)"),this.disableCull=!1,this.culledObjects=[],this.midPoint=new i(u/2,f/2),this.originX=.5,this.originY=.5,this._customViewport=!1,this.mask=null,this._maskCamera=null,this.renderList=[],this.isSceneCamera=!0,this.forceComposite=!1,this.renderRoundPixels=!0},addToRenderList:function(r){this.renderList.push(r)},setOrigin:function(r,o){return r===void 0&&(r=.5),o===void 0&&(o=r),this.originX=r,this.originY=o,this},getScroll:function(r,o,a){a===void 0&&(a=new i);var u=this.width*.5,f=this.height*.5;return a.x=r-u,a.y=o-f,this.useBounds&&(a.x=this.clampX(a.x),a.y=this.clampY(a.y)),a},centerOnX:function(r){var o=this.width*.5;return this.midPoint.x=r,this.scrollX=r-o,this.useBounds&&(this.scrollX=this.clampX(this.scrollX)),this},centerOnY:function(r){var o=this.height*.5;return this.midPoint.y=r,this.scrollY=r-o,this.useBounds&&(this.scrollY=this.clampY(this.scrollY)),this},centerOn:function(r,o){return this.centerOnX(r),this.centerOnY(o),this},centerToBounds:function(){if(this.useBounds){var r=this._bounds,o=this.width*.5,a=this.height*.5;this.midPoint.set(r.centerX,r.centerY),this.scrollX=r.centerX-o,this.scrollY=r.centerY-a}return this},centerToSize:function(){return this.scrollX=this.width*.5,this.scrollY=this.height*.5,this},cull:function(r){if(this.disableCull)return r;var o=this.matrix.matrix,a=o[0],u=o[1],f=o[2],v=o[3],c=a*v-u*f;if(!c)return r;var g=this.scrollX,p=this.scrollY,T=this.width,C=this.height,M=this.y,A=M+C,R=this.x,P=R+T,L=this.culledObjects,F=r.length;c=1/c,L.length=0;for(var w=0;wR&&zM&&Vf&&(r=f),r},clampY:function(r){var o=this._bounds,a=this.displayHeight,u=o.y+(a-this.height)/2,f=Math.max(u,u+o.height-a);return rf&&(r=f),r},removeBounds:function(){return this.useBounds=!1,this.dirty=!0,this._bounds.setEmpty(),this},setAngle:function(r){return r===void 0&&(r=0),this.rotation=x(r),this},setBackgroundColor:function(r){return r===void 0&&(r="rgba(0,0,0,0)"),this.backgroundColor=l(r),this.transparent=this.backgroundColor.alpha===0,this},setBounds:function(r,o,a,u,f){return f===void 0&&(f=!1),this._bounds.setTo(r,o,a,u),this.dirty=!0,this.useBounds=!0,f?this.centerToBounds():(this.scrollX=this.clampX(this.scrollX),this.scrollY=this.clampY(this.scrollY)),this},setForceComposite:function(r){return this.forceComposite=r,this},getBounds:function(r){r===void 0&&(r=new t);var o=this._bounds;return r.setTo(o.x,o.y,o.width,o.height),r},setName:function(r){return r===void 0&&(r=""),this.name=r,this},setPosition:function(r,o){return o===void 0&&(o=r),this.x=r,this.y=o,this},setRotation:function(r){return r===void 0&&(r=0),this.rotation=r,this},setRoundPixels:function(r){return this.roundPixels=r,this},setScene:function(r,o){o===void 0&&(o=!0),this.scene&&this._customViewport&&this.sceneManager.customViewports--,this.scene=r,this.isSceneCamera=o;var a=r.sys;return this.sceneManager=a.game.scene,this.scaleManager=a.scale,this.cameraManager=a.cameras,this.updateSystem(),this},setScroll:function(r,o){return o===void 0&&(o=r),this.scrollX=r,this.scrollY=o,this},setSize:function(r,o){return o===void 0&&(o=r),this.width=r,this.height=o,this},setViewport:function(r,o,a,u){return this.x=r,this.y=o,this.width=a,this.height=u,this},setZoom:function(r,o){return r===void 0&&(r=1),o===void 0&&(o=r),r===0&&(r=.001),o===0&&(o=.001),this.zoomX=r,this.zoomY=o,this},setMask:function(r,o){return o===void 0&&(o=!0),this.mask=r,this._maskCamera=o?this.cameraManager.default:this,this},clearMask:function(r){return r===void 0&&(r=!1),r&&this.mask&&this.mask.destroy(),this.mask=null,this},toJSON:function(){var r={name:this.name,x:this.x,y:this.y,width:this.width,height:this.height,zoom:this.zoom,rotation:this.rotation,roundPixels:this.roundPixels,scrollX:this.scrollX,scrollY:this.scrollY,backgroundColor:this.backgroundColor.rgba};return this.useBounds&&(r.bounds={x:this._bounds.x,y:this._bounds.y,width:this._bounds.width,height:this._bounds.height}),r},update:function(){},setIsSceneCamera:function(r){return this.isSceneCamera=r,this},updateSystem:function(){if(!(!this.scaleManager||!this.isSceneCamera)){var r=this._x!==0||this._y!==0||this.scaleManager.width!==this._width||this.scaleManager.height!==this._height,o=this.sceneManager;r&&!this._customViewport?o.customViewports++:!r&&this._customViewport&&o.customViewports--,this.dirty=!0,this._customViewport=r}},destroy:function(){this.emit(d.DESTROY,this),this.removeAllListeners(),this.matrix.destroy(),this.matrixCombined.destroy(),this.matrixExternal.destroy(),this.culledObjects=[],this._customViewport&&this.sceneManager.customViewports--,this.renderList=[],this._bounds=null,this.scene=null,this.scaleManager=null,this.sceneManager=null,this.cameraManager=null},x:{get:function(){return this._x},set:function(r){this._x=r,this.updateSystem()}},y:{get:function(){return this._y},set:function(r){this._y=r,this.updateSystem()}},width:{get:function(){return this._width},set:function(r){this._width=r,this.updateSystem()}},height:{get:function(){return this._height},set:function(r){this._height=r,this.updateSystem()}},scrollX:{get:function(){return this._scrollX},set:function(r){r!==this._scrollX&&(this._scrollX=r,this.dirty=!0)}},scrollY:{get:function(){return this._scrollY},set:function(r){r!==this._scrollY&&(this._scrollY=r,this.dirty=!0)}},zoom:{get:function(){return(this._zoomX+this._zoomY)/2},set:function(r){this._zoomX=r,this._zoomY=r,this.dirty=!0}},zoomX:{get:function(){return this._zoomX},set:function(r){this._zoomX=r,this.dirty=!0}},zoomY:{get:function(){return this._zoomY},set:function(r){this._zoomY=r,this.dirty=!0}},rotation:{get:function(){return this._rotation},set:function(r){this._rotation=r,this.dirty=!0}},centerX:{get:function(){return this.x+.5*this.width}},centerY:{get:function(){return this.y+.5*this.height}},displayWidth:{get:function(){return this.width/this.zoomX}},displayHeight:{get:function(){return this.height/this.zoomY}}});E.exports=s},38058:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(71911),S=n(67502),x=n(45319),h=n(83419),d=n(31401),t=n(20052),e=n(19715),l=n(28915),i=n(87841),s=n(26099),r=new h({Extends:m,initialize:function(a,u,f,v){m.call(this,a,u,f,v),this.filters={internal:new d.FilterList(this),external:new d.FilterList(this)},this.isObjectInversion=!1,this.inputEnabled=!0,this.fadeEffect=new t.Fade(this),this.flashEffect=new t.Flash(this),this.shakeEffect=new t.Shake(this),this.panEffect=new t.Pan(this),this.rotateToEffect=new t.RotateTo(this),this.zoomEffect=new t.Zoom(this),this.lerp=new s(1,1),this.followOffset=new s,this.deadzone=null,this._follow=null},setDeadzone:function(o,a){if(o===void 0)this.deadzone=null;else{if(this.deadzone?(this.deadzone.width=o,this.deadzone.height=a):this.deadzone=new i(0,0,o,a),this._follow){var u=this.width/2,f=this.height/2,v=this._follow.x-this.followOffset.x,c=this._follow.y-this.followOffset.y;this.midPoint.set(v,c),this.scrollX=v-u,this.scrollY=c-f}S(this.deadzone,this.midPoint.x,this.midPoint.y)}return this},fadeIn:function(o,a,u,f,v,c){return this.fadeEffect.start(!1,o,a,u,f,!0,v,c)},fadeOut:function(o,a,u,f,v,c){return this.fadeEffect.start(!0,o,a,u,f,!0,v,c)},fadeFrom:function(o,a,u,f,v,c,g){return this.fadeEffect.start(!1,o,a,u,f,v,c,g)},fade:function(o,a,u,f,v,c,g){return this.fadeEffect.start(!0,o,a,u,f,v,c,g)},flash:function(o,a,u,f,v,c,g){return this.flashEffect.start(o,a,u,f,v,c,g)},shake:function(o,a,u,f,v){return this.shakeEffect.start(o,a,u,f,v)},pan:function(o,a,u,f,v,c,g){return this.panEffect.start(o,a,u,f,v,c,g)},rotateTo:function(o,a,u,f,v,c,g){return this.rotateToEffect.start(o,a,u,f,v,c,g)},zoomTo:function(o,a,u,f,v,c){return this.zoomEffect.start(o,a,u,f,v,c)},preRender:function(){this.renderList.length=0;var o=this.width,a=this.height,u=o*.5,f=a*.5,v=this.zoomX,c=this.zoomY;this.renderRoundPixels=this.roundPixels&&Number.isInteger(v)&&Number.isInteger(c);var g=o*this.originX,p=a*this.originY,T=this._follow,C=this.deadzone,M=this.scrollX,A=this.scrollY;C&&S(C,this.midPoint.x,this.midPoint.y);var R=!1;if(T&&!this.panEffect.isRunning){var P=this.lerp,L=T.x-this.followOffset.x,F=T.y-this.followOffset.y;C?(LC.right&&(M=l(M,M+(L-C.right),P.x)),FC.bottom&&(A=l(A,A+(F-C.bottom),P.y))):(M=l(M,L-g,P.x),A=l(A,F-p,P.y)),R=!0}this.useBounds&&(M=this.clampX(M),A=this.clampY(A)),this.scrollX=M,this.scrollY=A;var w=M+u,O=A+f;this.midPoint.set(w,O);var B=o/v,I=a/c,D=w-B/2,N=O-I/2;this.worldView.setTo(D,N,B,I);var z=this.matrix,V=this.matrixExternal;this.isObjectInversion?(z.loadIdentity(),z.translate(g,p),z.scale(v,c),z.rotate(this.rotation),z.translate(-M-g,-A-p)):(z.applyITRS(g,p,this.rotation,v,c),z.translate(-M-g,-A-p)),V.applyITRS(this.x,this.y,0,1,1),this.shakeEffect.preRender(),V.multiply(z,this.matrixCombined),R&&this.emit(e.FOLLOW_UPDATE,this,T)},getViewMatrix:function(o){return o||this.forceComposite||this.filters.external.length>0||this.filters.internal.length>0?this.matrix:this.matrixCombined},setLerp:function(o,a){return o===void 0&&(o=1),a===void 0&&(a=o),this.lerp.set(o,a),this},setFollowOffset:function(o,a){return o===void 0&&(o=0),a===void 0&&(a=0),this.followOffset.set(o,a),this},startFollow:function(o,a,u,f,v,c){a===void 0&&(a=!1),u===void 0&&(u=1),f===void 0&&(f=u),v===void 0&&(v=0),c===void 0&&(c=v),this._follow=o,this.roundPixels=a,u=x(u,0,1),f=x(f,0,1),this.lerp.set(u,f),this.followOffset.set(v,c);var g=this.width/2,p=this.height/2,T=o.x-v,C=o.y-c;return this.midPoint.set(T,C),this.scrollX=T-g,this.scrollY=C-p,this.useBounds&&(this.scrollX=this.clampX(this.scrollX),this.scrollY=this.clampY(this.scrollY)),this},stopFollow:function(){return this._follow=null,this},resetFX:function(){return this.rotateToEffect.reset(),this.panEffect.reset(),this.shakeEffect.reset(),this.flashEffect.reset(),this.fadeEffect.reset(),this},update:function(o,a){this.visible&&(this.rotateToEffect.update(o,a),this.panEffect.update(o,a),this.zoomEffect.update(o,a),this.shakeEffect.update(o,a),this.flashEffect.update(o,a),this.fadeEffect.update(o,a))},destroy:function(){this.resetFX(),this.filters.internal.destroy(),this.filters.external.destroy(),m.prototype.destroy.call(this),this._follow=null,this.deadzone=null}});E.exports=r},32743:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(38058),S=n(83419),x=n(95540),h=n(37277),d=n(37303),t=n(97480),e=n(44594),l=new S({initialize:function(s){this.scene=s,this.systems=s.sys,this.roundPixels=s.sys.game.config.roundPixels,this.cameras=[],this.main,this.default,s.sys.events.once(e.BOOT,this.boot,this),s.sys.events.on(e.START,this.start,this)},boot:function(){var i=this.systems;i.settings.cameras?this.fromJSON(i.settings.cameras):this.add(),this.main=this.cameras[0],this.default=new m(0,0,i.scale.width,i.scale.height).setScene(this.scene),i.game.scale.on(t.RESIZE,this.onResize,this),this.systems.events.once(e.DESTROY,this.destroy,this)},start:function(){if(!this.main){var i=this.systems;i.settings.cameras?this.fromJSON(i.settings.cameras):this.add(),this.main=this.cameras[0]}var s=this.systems.events;s.on(e.UPDATE,this.update,this),s.once(e.SHUTDOWN,this.shutdown,this)},add:function(i,s,r,o,a,u){i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r=this.scene.sys.scale.width),o===void 0&&(o=this.scene.sys.scale.height),a===void 0&&(a=!1),u===void 0&&(u="");var f=new m(i,s,r,o);return f.setName(u),f.setScene(this.scene),f.setRoundPixels(this.roundPixels),f.id=this.getNextID(),this.cameras.push(f),a&&(this.main=f),f},addExisting:function(i,s){s===void 0&&(s=!1);var r=this.cameras.indexOf(i);return r===-1?(i.id=this.getNextID(),i.setRoundPixels(this.roundPixels),this.cameras.push(i),s&&(this.main=i),i):null},getNextID:function(){for(var i=this.cameras,s=1,r=0;r<32;r++){for(var o=!1,a=0;a0){u.preRender();var f=this.getVisibleChildren(s.getChildren(),u);i.render(r,f,u)}}},getVisibleChildren:function(i,s){return i.filter(function(r){return r.willRender(s)})},resetAll:function(){for(var i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(45319),S=n(83419),x=n(19715),h=new S({initialize:function(t){this.camera=t,this.isRunning=!1,this.isComplete=!1,this.direction=!0,this.duration=0,this.red=0,this.green=0,this.blue=0,this.alpha=0,this.progress=0,this._elapsed=0,this._onUpdate,this._onUpdateScope},start:function(d,t,e,l,i,s,r,o){if(d===void 0&&(d=!0),t===void 0&&(t=1e3),e===void 0&&(e=0),l===void 0&&(l=0),i===void 0&&(i=0),s===void 0&&(s=!1),r===void 0&&(r=null),o===void 0&&(o=this.camera.scene),!s&&this.isRunning)return this.camera;this.isRunning=!0,this.isComplete=!1,this.duration=t,this.direction=d,this.progress=0,this.red=e,this.green=l,this.blue=i,this.alpha=d?Number.MIN_VALUE:1,this._elapsed=0,this._onUpdate=r,this._onUpdateScope=o;var a=d?x.FADE_OUT_START:x.FADE_IN_START;return this.camera.emit(a,this.camera,this,t,e,l,i),this.camera},update:function(d,t){this.isRunning&&(this._elapsed+=t,this.progress=m(this._elapsed/this.duration,0,1),this._onUpdate&&this._onUpdate.call(this._onUpdateScope,this.camera,this.progress),this._elapsed{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(45319),S=n(83419),x=n(19715),h=new S({initialize:function(t){this.camera=t,this.isRunning=!1,this.duration=0,this.red=0,this.green=0,this.blue=0,this.alpha=1,this.progress=0,this._elapsed=0,this._alpha,this._onUpdate,this._onUpdateScope},start:function(d,t,e,l,i,s,r){return d===void 0&&(d=250),t===void 0&&(t=255),e===void 0&&(e=255),l===void 0&&(l=255),i===void 0&&(i=!1),s===void 0&&(s=null),r===void 0&&(r=this.camera.scene),!i&&this.isRunning?this.camera:(this.isRunning=!0,this.duration=d,this.progress=0,this.red=t,this.green=e,this.blue=l,this._alpha=this.alpha,this._elapsed=0,this._onUpdate=s,this._onUpdateScope=r,this.camera.emit(x.FLASH_START,this.camera,this,d,t,e,l),this.camera)},update:function(d,t){this.isRunning&&(this._elapsed+=t,this.progress=m(this._elapsed/this.duration,0,1),this._onUpdate&&this._onUpdate.call(this._onUpdateScope,this.camera,this.progress),this._elapsed{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(45319),S=n(83419),x=n(62640),h=n(19715),d=n(26099),t=new S({initialize:function(l){this.camera=l,this.isRunning=!1,this.duration=0,this.source=new d,this.current=new d,this.destination=new d,this.ease,this.progress=0,this._elapsed=0,this._onUpdate,this._onUpdateScope},start:function(e,l,i,s,r,o,a){i===void 0&&(i=1e3),s===void 0&&(s=x.Linear),r===void 0&&(r=!1),o===void 0&&(o=null),a===void 0&&(a=this.camera.scene);var u=this.camera;return!r&&this.isRunning||(this.isRunning=!0,this.duration=i,this.progress=0,this.source.set(u.scrollX,u.scrollY),this.destination.set(e,l),u.getScroll(e,l,this.current),typeof s=="string"&&x.hasOwnProperty(s)?this.ease=x[s]:typeof s=="function"&&(this.ease=s),this._elapsed=0,this._onUpdate=o,this._onUpdateScope=a,this.camera.emit(h.PAN_START,this.camera,this,i,e,l)),u},update:function(e,l){if(this.isRunning){this._elapsed+=l;var i=m(this._elapsed/this.duration,0,1);this.progress=i;var s=this.camera;if(this._elapsed{/** + * @author Jason Nicholls + * @copyright 2018 Photon Storm Ltd. + * @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License} + */var m=n(45319),S=n(83419),x=n(19715),h=n(62640),d=n(86554),t=new S({initialize:function(l){this.camera=l,this.isRunning=!1,this.duration=0,this.source=0,this.current=0,this.destination=0,this.ease,this.progress=0,this._elapsed=0,this._onUpdate,this._onUpdateScope,this.clockwise=!0,this.shortestPath=!1},start:function(e,l,i,s,r,o,a){i===void 0&&(i=1e3),s===void 0&&(s=h.Linear),r===void 0&&(r=!1),o===void 0&&(o=null),a===void 0&&(a=this.camera.scene),l===void 0&&(l=!1);var u=this.camera;if(!r&&this.isRunning)return u;if(this.shortestPath=l,this.isRunning=!0,this.duration=i,this.progress=0,this.source=u.rotation,this.destination=e,typeof s=="string"&&h.hasOwnProperty(s)?this.ease=h[s]:typeof s=="function"&&(this.ease=s),this._elapsed=0,this._onUpdate=o,this._onUpdateScope=a,this.shortestPath){var f=d(this.destination-this.source);this.destination=this.source+f,this.clockwise=f>=0}else this.clockwise=this.destination>=this.source;return this.camera.emit(x.ROTATE_START,this.camera,this,i,this.destination),u},update:function(e,l){if(this.isRunning){this._elapsed+=l;var i=m(this._elapsed/this.duration,0,1);this.progress=i;var s=this.camera;if(this._elapsed{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(45319),S=n(83419),x=n(19715),h=n(26099),d=new S({initialize:function(e){this.camera=e,this.isRunning=!1,this.duration=0,this.intensity=new h,this.progress=0,this._elapsed=0,this._offsetX=0,this._offsetY=0,this._onUpdate,this._onUpdateScope},start:function(t,e,l,i,s){return t===void 0&&(t=100),e===void 0&&(e=.05),l===void 0&&(l=!1),i===void 0&&(i=null),s===void 0&&(s=this.camera.scene),!l&&this.isRunning?this.camera:(this.isRunning=!0,this.duration=t,this.progress=0,typeof e=="number"?this.intensity.set(e):this.intensity.set(e.x,e.y),this._elapsed=0,this._offsetX=0,this._offsetY=0,this._onUpdate=i,this._onUpdateScope=s,this.camera.emit(x.SHAKE_START,this.camera,this,t,e),this.camera)},preRender:function(){this.isRunning&&this.camera.matrix.translate(this._offsetX,this._offsetY)},update:function(t,e){if(this.isRunning)if(this._elapsed+=e,this.progress=m(this._elapsed/this.duration,0,1),this._onUpdate&&this._onUpdate.call(this._onUpdateScope,this.camera,this.progress),this._elapsed{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(45319),S=n(83419),x=n(62640),h=n(19715),d=new S({initialize:function(e){this.camera=e,this.isRunning=!1,this.duration=0,this.source=1,this.destination=1,this.ease,this.progress=0,this._elapsed=0,this._onUpdate,this._onUpdateScope},start:function(t,e,l,i,s,r){e===void 0&&(e=1e3),l===void 0&&(l=x.Linear),i===void 0&&(i=!1),s===void 0&&(s=null),r===void 0&&(r=this.camera.scene);var o=this.camera;return!i&&this.isRunning||(this.isRunning=!0,this.duration=e,this.progress=0,this.source=o.zoom,this.destination=t,typeof l=="string"&&x.hasOwnProperty(l)?this.ease=x[l]:typeof l=="function"&&(this.ease=l),this._elapsed=0,this._onUpdate=s,this._onUpdateScope=r,this.camera.emit(h.ZOOM_START,this.camera,this,e,t)),o},update:function(t,e){this.isRunning&&(this._elapsed+=e,this.progress=m(this._elapsed/this.duration,0,1),this._elapsed{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Fade:n(5020),Flash:n(10662),Pan:n(20359),Shake:n(30330),RotateTo:n(34208),Zoom:n(45641)}},16438:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="cameradestroy"},32726:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="camerafadeincomplete"},87807:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="camerafadeinstart"},45917:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="camerafadeoutcomplete"},95666:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="camerafadeoutstart"},47056:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="cameraflashcomplete"},91261:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="cameraflashstart"},45047:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="followupdate"},81927:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="camerapancomplete"},74264:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="camerapanstart"},54419:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="postrender"},79330:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="prerender"},93183:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="camerarotatecomplete"},80112:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="camerarotatestart"},62252:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="camerashakecomplete"},86017:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="camerashakestart"},539:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="camerazoomcomplete"},51892:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="camerazoomstart"},19715:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={DESTROY:n(16438),FADE_IN_COMPLETE:n(32726),FADE_IN_START:n(87807),FADE_OUT_COMPLETE:n(45917),FADE_OUT_START:n(95666),FLASH_COMPLETE:n(47056),FLASH_START:n(91261),FOLLOW_UPDATE:n(45047),PAN_COMPLETE:n(81927),PAN_START:n(74264),POST_RENDER:n(54419),PRE_RENDER:n(79330),ROTATE_COMPLETE:n(93183),ROTATE_START:n(80112),SHAKE_COMPLETE:n(62252),SHAKE_START:n(86017),ZOOM_COMPLETE:n(539),ZOOM_START:n(51892)}},87969:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Camera:n(38058),BaseCamera:n(71911),CameraManager:n(32743),Effects:n(20052),Events:n(19715)}},63091:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(35154),x=new m({initialize:function(d){this.camera=S(d,"camera",null),this.left=S(d,"left",null),this.right=S(d,"right",null),this.up=S(d,"up",null),this.down=S(d,"down",null),this.zoomIn=S(d,"zoomIn",null),this.zoomOut=S(d,"zoomOut",null),this.zoomSpeed=S(d,"zoomSpeed",.01),this.minZoom=S(d,"minZoom",.001),this.maxZoom=S(d,"maxZoom",1e3),this.speedX=0,this.speedY=0;var t=S(d,"speed",null);typeof t=="number"?(this.speedX=t,this.speedY=t):(this.speedX=S(d,"speed.x",0),this.speedY=S(d,"speed.y",0)),this._zoom=0,this.active=this.camera!==null},start:function(){return this.active=this.camera!==null,this},stop:function(){return this.active=!1,this},setCamera:function(h){return this.camera=h,this},update:function(h){if(this.active){h===void 0&&(h=1);var d=this.camera;this.up&&this.up.isDown?d.scrollY-=this.speedY*h|0:this.down&&this.down.isDown&&(d.scrollY+=this.speedY*h|0),this.left&&this.left.isDown?d.scrollX-=this.speedX*h|0:this.right&&this.right.isDown&&(d.scrollX+=this.speedX*h|0),this.zoomIn&&this.zoomIn.isDown?(d.zoom-=this.zoomSpeed,d.zoomthis.maxZoom&&(d.zoom=this.maxZoom))}},destroy:function(){this.camera=null,this.left=null,this.right=null,this.up=null,this.down=null,this.zoomIn=null,this.zoomOut=null}});E.exports=x},58818:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(35154),x=new m({initialize:function(d){this.camera=S(d,"camera",null),this.left=S(d,"left",null),this.right=S(d,"right",null),this.up=S(d,"up",null),this.down=S(d,"down",null),this.zoomIn=S(d,"zoomIn",null),this.zoomOut=S(d,"zoomOut",null),this.zoomSpeed=S(d,"zoomSpeed",.01),this.minZoom=S(d,"minZoom",.001),this.maxZoom=S(d,"maxZoom",1e3),this.accelX=0,this.accelY=0;var t=S(d,"acceleration",null);typeof t=="number"?(this.accelX=t,this.accelY=t):(this.accelX=S(d,"acceleration.x",0),this.accelY=S(d,"acceleration.y",0)),this.dragX=0,this.dragY=0;var e=S(d,"drag",null);typeof e=="number"?(this.dragX=e,this.dragY=e):(this.dragX=S(d,"drag.x",0),this.dragY=S(d,"drag.y",0)),this.maxSpeedX=0,this.maxSpeedY=0;var l=S(d,"maxSpeed",null);typeof l=="number"?(this.maxSpeedX=l,this.maxSpeedY=l):(this.maxSpeedX=S(d,"maxSpeed.x",0),this.maxSpeedY=S(d,"maxSpeed.y",0)),this._speedX=0,this._speedY=0,this._zoom=0,this.active=this.camera!==null},start:function(){return this.active=this.camera!==null,this},stop:function(){return this.active=!1,this},setCamera:function(h){return this.camera=h,this},update:function(h){if(this.active){h===void 0&&(h=1);var d=this.camera;this._speedX>0?(this._speedX-=this.dragX*h,this._speedX<0&&(this._speedX=0)):this._speedX<0&&(this._speedX+=this.dragX*h,this._speedX>0&&(this._speedX=0)),this._speedY>0?(this._speedY-=this.dragY*h,this._speedY<0&&(this._speedY=0)):this._speedY<0&&(this._speedY+=this.dragY*h,this._speedY>0&&(this._speedY=0)),this.up&&this.up.isDown?(this._speedY+=this.accelY,this._speedY>this.maxSpeedY&&(this._speedY=this.maxSpeedY)):this.down&&this.down.isDown&&(this._speedY-=this.accelY,this._speedY<-this.maxSpeedY&&(this._speedY=-this.maxSpeedY)),this.left&&this.left.isDown?(this._speedX+=this.accelX,this._speedX>this.maxSpeedX&&(this._speedX=this.maxSpeedX)):this.right&&this.right.isDown&&(this._speedX-=this.accelX,this._speedX<-this.maxSpeedX&&(this._speedX=-this.maxSpeedX)),this.zoomIn&&this.zoomIn.isDown?this._zoom=-this.zoomSpeed:this.zoomOut&&this.zoomOut.isDown?this._zoom=this.zoomSpeed:this._zoom=0,this._speedX!==0&&(d.scrollX-=this._speedX*h|0),this._speedY!==0&&(d.scrollY-=this._speedY*h|0),this._zoom!==0&&(d.zoom+=this._zoom,d.zoomthis.maxZoom&&(d.zoom=this.maxZoom))}},destroy:function(){this.camera=null,this.left=null,this.right=null,this.up=null,this.down=null,this.zoomIn=null,this.zoomOut=null}});E.exports=x},38865:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={FixedKeyControl:n(63091),SmoothedKeyControl:n(58818)}},26638:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Controls:n(38865),Scene2D:n(87969)}},8054:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m={VERSION:"4.0.0 RC6",LOG_VERSION:"v400",BlendModes:n(10312),ScaleModes:n(29795),AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,FOREVER:-1,NONE:4,UP:5,DOWN:6,LEFT:7,RIGHT:8};E.exports=m},69547:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(8054),x=n(42363),h=n(82264),d=n(95540),t=n(35154),e=n(41212),l=n(29747),i=n(75508),s=n(80333),r=new m({initialize:function(a){a===void 0&&(a={});var u=["#ff0000","#ffff00","#00ff00","#00ffff","#000000"],f="#ffffff",v=t(a,"scale",null);this.width=t(v,"width",1024,a),this.height=t(v,"height",768,a),this.zoom=t(v,"zoom",1,a),this.parent=t(v,"parent",void 0,a),this.scaleMode=t(v,v?"mode":"scaleMode",0,a),this.expandParent=t(v,"expandParent",!0,a),this.autoRound=t(v,"autoRound",!1,a),this.autoCenter=t(v,"autoCenter",0,a),this.resizeInterval=t(v,"resizeInterval",500,a),this.fullscreenTarget=t(v,"fullscreenTarget",null,a),this.minWidth=t(v,"min.width",0,a),this.maxWidth=t(v,"max.width",0,a),this.minHeight=t(v,"min.height",0,a),this.maxHeight=t(v,"max.height",0,a),this.snapWidth=t(v,"snap.width",0,a),this.snapHeight=t(v,"snap.height",0,a),this.renderType=t(a,"type",S.AUTO),this.canvas=t(a,"canvas",null),this.context=t(a,"context",null),this.canvasStyle=t(a,"canvasStyle",null),this.customEnvironment=t(a,"customEnvironment",!1),this.sceneConfig=t(a,"scene",null),this.seed=t(a,"seed",[(Date.now()*Math.random()).toString()]),i.RND=new i.RandomDataGenerator(this.seed),this.gameTitle=t(a,"title",""),this.gameURL=t(a,"url","https://phaser.io/"+S.LOG_VERSION),this.gameVersion=t(a,"version",""),this.autoFocus=t(a,"autoFocus",!0),this.stableSort=t(a,"stableSort",-1),this.stableSort===-1&&(this.stableSort=h.browser.es2019?1:0),h.features.stableSort=this.stableSort,this.domCreateContainer=t(a,"dom.createContainer",!1),this.domPointerEvents=t(a,"dom.pointerEvents","none"),this.inputKeyboard=t(a,"input.keyboard",!0),this.inputKeyboardEventTarget=t(a,"input.keyboard.target",window),this.inputKeyboardCapture=t(a,"input.keyboard.capture",[]),this.inputMouse=t(a,"input.mouse",!0),this.inputMouseEventTarget=t(a,"input.mouse.target",null),this.inputMousePreventDefaultDown=t(a,"input.mouse.preventDefaultDown",!0),this.inputMousePreventDefaultUp=t(a,"input.mouse.preventDefaultUp",!0),this.inputMousePreventDefaultMove=t(a,"input.mouse.preventDefaultMove",!0),this.inputMousePreventDefaultWheel=t(a,"input.mouse.preventDefaultWheel",!0),this.inputTouch=t(a,"input.touch",h.input.touch),this.inputTouchEventTarget=t(a,"input.touch.target",null),this.inputTouchCapture=t(a,"input.touch.capture",!0),this.inputActivePointers=t(a,"input.activePointers",1),this.inputSmoothFactor=t(a,"input.smoothFactor",0),this.inputWindowEvents=t(a,"input.windowEvents",!0),this.inputGamepad=t(a,"input.gamepad",!1),this.inputGamepadEventTarget=t(a,"input.gamepad.target",window),this.disableContextMenu=t(a,"disableContextMenu",!1),this.audio=t(a,"audio",{}),this.hideBanner=t(a,"banner",null)===!1,this.hidePhaser=t(a,"banner.hidePhaser",!1),this.bannerTextColor=t(a,"banner.text",f),this.bannerBackgroundColor=t(a,"banner.background",u),this.gameTitle===""&&this.hidePhaser&&(this.hideBanner=!0),this.fps=t(a,"fps",null);var c=t(a,"render",null);this.autoMobileTextures=t(c,"autoMobileTextures",!0,a),this.antialias=t(c,"antialias",!0,a),this.antialiasGL=t(c,"antialiasGL",!0,a),this.mipmapFilter=t(c,"mipmapFilter","",a),this.desynchronized=t(c,"desynchronized",!1,a),this.roundPixels=t(c,"roundPixels",!1,a),this.selfShadow=t(c,"selfShadow",!1,a),this.pathDetailThreshold=t(c,"pathDetailThreshold",1,a),this.pixelArt=t(c,"pixelArt",this.zoom!==1,a),this.pixelArt&&(this.antialias=!1,this.antialiasGL=!1,this.roundPixels=!0),this.smoothPixelArt=t(c,"smoothPixelArt",!1,a),this.smoothPixelArt&&(this.antialias=!0,this.antialiasGL=!0,this.pixelArt=!1),this.transparent=t(c,"transparent",!1,a),this.clearBeforeRender=t(c,"clearBeforeRender",!0,a),this.preserveDrawingBuffer=t(c,"preserveDrawingBuffer",!1,a),this.premultipliedAlpha=t(c,"premultipliedAlpha",!0,a),this.skipUnreadyShaders=t(c,"skipUnreadyShaders",!1,a),this.failIfMajorPerformanceCaveat=t(c,"failIfMajorPerformanceCaveat",!1,a),this.powerPreference=t(c,"powerPreference","default",a),this.batchSize=t(c,"batchSize",16384,a),this.maxTextures=t(c,"maxTextures",-1,a),this.maxLights=t(c,"maxLights",10,a),this.renderNodes=t(c,"renderNodes",{},a);var g=t(a,"backgroundColor",0);this.backgroundColor=s(g),this.transparent&&(this.backgroundColor=s(0),this.backgroundColor.alpha=0),this.preBoot=t(a,"callbacks.preBoot",l),this.postBoot=t(a,"callbacks.postBoot",l),this.physics=t(a,"physics",{}),this.defaultPhysicsSystem=t(this.physics,"default",!1),this.loaderBaseURL=t(a,"loader.baseURL",""),this.loaderPath=t(a,"loader.path",""),this.loaderMaxParallelDownloads=t(a,"loader.maxParallelDownloads",h.os.android?6:32),this.loaderCrossOrigin=t(a,"loader.crossOrigin",void 0),this.loaderResponseType=t(a,"loader.responseType",""),this.loaderAsync=t(a,"loader.async",!0),this.loaderUser=t(a,"loader.user",""),this.loaderPassword=t(a,"loader.password",""),this.loaderTimeout=t(a,"loader.timeout",0),this.loaderMaxRetries=t(a,"loader.maxRetries",2),this.loaderWithCredentials=t(a,"loader.withCredentials",!1),this.loaderImageLoadType=t(a,"loader.imageLoadType","XHR"),this.loaderLocalScheme=t(a,"loader.localScheme",["file://","capacitor://"]),this.glowQuality=t(a,"filters.glow.quality",10),this.glowDistance=t(a,"filters.glow.distance",10),this.installGlobalPlugins=[],this.installScenePlugins=[];var p=t(a,"plugins",null),T=x.DefaultScene;p&&(Array.isArray(p)?this.defaultPlugins=p:e(p)&&(this.installGlobalPlugins=d(p,"global",[]),this.installScenePlugins=d(p,"scene",[]),Array.isArray(p.default)?T=p.default:Array.isArray(p.defaultMerge)&&(T=T.concat(p.defaultMerge)))),this.defaultPlugins=T;var C="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAg";this.defaultImage=t(a,"images.default",C+"AQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg=="),this.missingImage=t(a,"images.missing",C+"CAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg=="),this.whiteImage=t(a,"images.white","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABdJREFUeNpi/P//PwMMMDEgAdwcgAADAJZuAwXJYZOzAAAAAElFTkSuQmCC"),window&&(window.FORCE_WEBGL?this.renderType=S.WEBGL:window.FORCE_CANVAS&&(this.renderType=S.CANVAS))}});E.exports=r},86054:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(20623),S=n(27919),x=n(8054),h=n(89357),d=function(t){var e=t.config;if((e.customEnvironment||e.canvas)&&e.renderType===x.AUTO)throw new Error("Must set explicit renderType in custom environment");if(!e.customEnvironment&&!e.canvas&&e.renderType!==x.HEADLESS)if(e.renderType===x.AUTO&&(e.renderType=h.webGL?x.WEBGL:x.CANVAS),e.renderType===x.WEBGL){if(!h.webGL)throw new Error("Cannot create WebGL context, aborting.")}else if(e.renderType===x.CANVAS){if(!h.canvas)throw new Error("Cannot create Canvas context, aborting.")}else throw new Error("Unknown value for renderer type: "+e.renderType);e.antialias||S.disableSmoothing();var l=t.scale.baseSize,i=l.width,s=l.height;if(e.canvas?(t.canvas=e.canvas,t.canvas.width=i,t.canvas.height=s):t.canvas=S.create(t,i,s,e.renderType),e.canvasStyle&&(t.canvas.style=e.canvasStyle),e.antialias||m.setCrisp(t.canvas),e.renderType!==x.HEADLESS){var r,o;r=n(68627),o=n(74797),e.renderType===x.WEBGL?t.renderer=new o(t):(t.renderer=new r(t),t.context=t.renderer.gameContext)}};E.exports=d},96391:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(8054),S=function(x){var h=x.config;if(!h.hideBanner){var d="WebGL";h.renderType===m.CANVAS?d="Canvas":h.renderType===m.HEADLESS&&(d="Headless");var t=h.audio,e=x.device.audio,l;if(e.webAudio&&!t.disableWebAudio?l="Web Audio":t.noAudio||!e.webAudio&&!e.audioData?l="No Audio":l="HTML5 Audio",x.device.browser.ie)window.console&&console.log("Phaser v"+m.VERSION+" / https://phaser.io");else{var i="",s=[i];if(Array.isArray(h.bannerBackgroundColor)){var r;h.bannerBackgroundColor.forEach(function(o){i=i.concat("%c "),s.push("background: "+o),r=o}),s[s.length-1]="color: "+h.bannerTextColor+"; background: "+r}else i=i.concat("%c "),s.push("color: "+h.bannerTextColor+"; background: "+h.bannerBackgroundColor);s.push("background: transparent"),h.gameTitle&&(i=i.concat(h.gameTitle),h.gameVersion&&(i=i.concat(" v"+h.gameVersion)),h.hidePhaser||(i=i.concat(" / "))),h.hidePhaser||(i=i.concat("Phaser v"+m.VERSION+" ("+d+" | "+l+")")),i=i.concat(" %c "+h.gameURL),s[0]=i,console.log.apply(console,s)}}};E.exports=S},50127:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(40366),S=n(60848),x=n(24047),h=n(27919),d=n(83419),t=n(69547),e=n(83719),l=n(86054),i=n(45893),s=n(96391),r=n(82264),o=n(57264),a=n(50792),u=n(8443),f=n(7003),v=n(37277),c=n(77332),g=n(76531),p=n(60903),T=n(69442),C=n(17130),M=n(65898),A=n(51085),R=n(14747),P=new d({initialize:function(F){this.config=new t(F),this.renderer=null,this.domContainer=null,this.canvas=null,this.context=null,this.isBooted=!1,this.isRunning=!1,this.events=new a,this.anims=new S(this),this.textures=new C(this),this.cache=new x(this),this.registry=new i(this,new a),this.input=new f(this,this.config),this.scene=new p(this,this.config.sceneConfig),this.device=r,this.scale=new g(this,this.config),this.sound=null,this.sound=R.create(this),this.loop=new M(this,this.config.fps),this.plugins=new c(this,this.config),this.pendingDestroy=!1,this.removeCanvas=!1,this.noReturn=!1,this.hasFocus=!1,this.isPaused=!1,o(this.boot.bind(this))},boot:function(){if(!v.hasCore("EventEmitter")){console.warn("Aborting. Core Plugins missing.");return}this.isBooted=!0,this.config.preBoot(this),this.scale.preBoot(),l(this),e(this),s(this),m(this.canvas,this.config.parent),this.textures.once(T.READY,this.texturesReady,this),this.events.emit(u.BOOT)},texturesReady:function(){this.events.emit(u.READY),this.start()},start:function(){this.isRunning=!0,this.config.postBoot(this),this.renderer?this.loop.start(this.step.bind(this)):this.loop.start(this.headlessStep.bind(this)),A(this);var L=this.events;L.on(u.HIDDEN,this.onHidden,this),L.on(u.VISIBLE,this.onVisible,this),L.on(u.BLUR,this.onBlur,this),L.on(u.FOCUS,this.onFocus,this)},step:function(L,F){if(this.pendingDestroy)return this.runDestroy();if(!this.isPaused){var w=this.events;w.emit(u.PRE_STEP,L,F),w.emit(u.STEP,L,F),this.scene.update(L,F),w.emit(u.POST_STEP,L,F);var O=this.renderer;O.preRender(),w.emit(u.PRE_RENDER,O,L,F),this.scene.render(O),O.postRender(),w.emit(u.POST_RENDER,O,L,F)}},headlessStep:function(L,F){if(this.pendingDestroy)return this.runDestroy();if(!this.isPaused){var w=this.events;w.emit(u.PRE_STEP,L,F),w.emit(u.STEP,L,F),this.scene.update(L,F),w.emit(u.POST_STEP,L,F),this.scene.isProcessing=!1,w.emit(u.PRE_RENDER,null,L,F),w.emit(u.POST_RENDER,null,L,F)}},onHidden:function(){this.loop.pause(),this.events.emit(u.PAUSE)},pause:function(){var L=this.isPaused;this.isPaused=!0,L||this.events.emit(u.PAUSE)},onVisible:function(){this.loop.resume(),this.events.emit(u.RESUME,this.loop.pauseDuration)},resume:function(){var L=this.isPaused;this.isPaused=!1,L&&this.events.emit(u.RESUME,0)},onBlur:function(){this.hasFocus=!1,this.loop.blur()},onFocus:function(){this.hasFocus=!0,this.loop.focus()},getFrame:function(){return this.loop.frame},getTime:function(){return this.loop.now},destroy:function(L,F){F===void 0&&(F=!1),this.pendingDestroy=!0,this.removeCanvas=L,this.noReturn=F},runDestroy:function(){this.scene.destroy(),this.events.emit(u.DESTROY),this.events.removeAllListeners(),this.renderer&&this.renderer.destroy(),this.removeCanvas&&this.canvas&&(h.remove(this.canvas),this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas)),this.domContainer&&this.domContainer.parentNode&&this.domContainer.parentNode.removeChild(this.domContainer),this.loop.destroy(),this.pendingDestroy=!1}});E.exports=P},65898:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(35154),x=n(29747),h=n(43092),d=new m({initialize:function(e,l){this.game=e,this.raf=new h,this.started=!1,this.running=!1,this.minFps=S(l,"min",5),this.targetFps=S(l,"target",60),this.fpsLimit=S(l,"limit",0),this.hasFpsLimit=this.fpsLimit>0,this._limitRate=this.hasFpsLimit?1e3/this.fpsLimit:0,this._min=1e3/this.minFps,this._target=1e3/this.targetFps,this.actualFps=this.targetFps,this.nextFpsUpdate=0,this.framesThisSecond=0,this.callback=x,this.forceSetTimeOut=S(l,"forceSetTimeOut",!1),this.time=0,this.startTime=0,this.lastTime=0,this.frame=0,this.inFocus=!0,this.pauseDuration=0,this._pauseTime=0,this._coolDown=0,this.delta=0,this.deltaIndex=0,this.deltaHistory=[],this.deltaSmoothingMax=S(l,"deltaHistory",10),this.panicMax=S(l,"panicMax",120),this.rawDelta=0,this.now=0,this.smoothStep=S(l,"smoothStep",!0)},blur:function(){this.inFocus=!1},focus:function(){this.inFocus=!0,this.resetDelta()},pause:function(){this._pauseTime=window.performance.now()},resume:function(){this.resetDelta(),this.pauseDuration=this.time-this._pauseTime,this.startTime+=this.pauseDuration},resetDelta:function(){var t=window.performance.now();this.time=t,this.lastTime=t,this.nextFpsUpdate=t+1e3,this.framesThisSecond=0;for(var e=0;e0||!this.inFocus)&&(this._coolDown--,t=Math.min(t,this._target)),t>this._min&&(t=l[e],t=Math.min(t,this._min)),l[e]=t,this.deltaIndex++,this.deltaIndex>=i&&(this.deltaIndex=0);for(var s=0,r=0;r=this.nextFpsUpdate&&this.updateFPS(t),this.framesThisSecond++,this.delta>=this._limitRate&&(this.callback(t,this.delta),this.delta=0),this.lastTime=t,this.frame++},step:function(t){this.now=t;var e=Math.max(0,t-this.lastTime);this.rawDelta=e,this.time+=this.rawDelta,this.smoothStep&&(e=this.smoothDelta(e)),this.delta=e,t>=this.nextFpsUpdate&&this.updateFPS(t),this.framesThisSecond++,this.callback(t,e),this.lastTime=t,this.frame++},tick:function(){var t=window.performance.now();this.hasFpsLimit?this.stepLimitFPS(t):this.step(t)},sleep:function(){this.running&&(this.raf.stop(),this.running=!1)},wake:function(t){t===void 0&&(t=!1);var e=window.performance.now();if(!this.running){t&&(this.startTime+=-this.lastTime+(this.lastTime+e));var l=this.hasFpsLimit?this.stepLimitFPS.bind(this):this.step.bind(this);this.raf.start(l,this.forceSetTimeOut,this._target),this.running=!0,this.nextFpsUpdate=e+1e3,this.framesThisSecond=0,this.fpsLimitTriggered=!1,this.tick()}},getDuration:function(){return Math.round(this.lastTime-this.startTime)/1e3},getDurationMS:function(){return Math.round(this.lastTime-this.startTime)},stop:function(){return this.running=!1,this.started=!1,this.raf.stop(),this},destroy:function(){this.stop(),this.raf.destroy(),this.raf=null,this.game=null,this.callback=null}});E.exports=d},51085:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(8443),S=function(x){var h,d=x.events;if(document.hidden!==void 0)h="visibilitychange";else{var t=["webkit","moz","ms"];t.forEach(function(l){document[l+"Hidden"]!==void 0&&(document.hidden=function(){return document[l+"Hidden"]},h=l+"visibilitychange")})}var e=function(l){document.hidden||l.type==="pause"?d.emit(m.HIDDEN):d.emit(m.VISIBLE)};h&&document.addEventListener(h,e,!1),window.onblur=function(){d.emit(m.BLUR)},window.onfocus=function(){d.emit(m.FOCUS)},window.focus&&x.config.autoFocus&&window.focus()};E.exports=S},97217:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="blur"},47548:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="boot"},19814:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="contextlost"},68446:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="destroy"},41700:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="focus"},25432:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="hidden"},65942:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pause"},59211:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="postrender"},47789:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="poststep"},39066:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="prerender"},460:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="prestep"},16175:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="ready"},42331:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="resume"},11966:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="step"},32969:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="systemready"},94830:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="visible"},8443:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={BLUR:n(97217),BOOT:n(47548),CONTEXT_LOST:n(19814),DESTROY:n(68446),FOCUS:n(41700),HIDDEN:n(25432),PAUSE:n(65942),POST_RENDER:n(59211),POST_STEP:n(47789),PRE_RENDER:n(39066),PRE_STEP:n(460),READY:n(16175),RESUME:n(42331),STEP:n(11966),SYSTEM_READY:n(32969),VISIBLE:n(94830)}},42857:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Config:n(69547),CreateRenderer:n(86054),DebugHeader:n(96391),Events:n(8443),TimeStep:n(65898),VisibilityHandler:n(51085)}},46728:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(36316),x=n(80021),h=n(26099),d=new m({Extends:x,initialize:function(e,l,i,s){x.call(this,"CubicBezierCurve"),Array.isArray(e)&&(s=new h(e[6],e[7]),i=new h(e[4],e[5]),l=new h(e[2],e[3]),e=new h(e[0],e[1])),this.p0=e,this.p1=l,this.p2=i,this.p3=s},getStartPoint:function(t){return t===void 0&&(t=new h),t.copy(this.p0)},getResolution:function(t){return t},getPoint:function(t,e){e===void 0&&(e=new h);var l=this.p0,i=this.p1,s=this.p2,r=this.p3;return e.set(S(t,l.x,i.x,s.x,r.x),S(t,l.y,i.y,s.y,r.y))},draw:function(t,e){e===void 0&&(e=32);var l=this.getPoints(e);t.beginPath(),t.moveTo(this.p0.x,this.p0.y);for(var i=1;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(19217),x=n(87841),h=n(26099),d=new m({initialize:function(e){this.type=e,this.defaultDivisions=5,this.arcLengthDivisions=100,this.cacheArcLengths=[],this.needsUpdate=!0,this.active=!0,this._tmpVec2A=new h,this._tmpVec2B=new h},draw:function(t,e){return e===void 0&&(e=32),t.strokePoints(this.getPoints(e))},getBounds:function(t,e){t||(t=new x),e===void 0&&(e=16);var l=this.getLength();e>l&&(e=l/2);var i=Math.max(1,Math.round(l/e));return S(this.getSpacedPoints(i),t)},getDistancePoints:function(t){var e=this.getLength(),l=Math.max(1,e/t);return this.getSpacedPoints(l)},getEndPoint:function(t){return t===void 0&&(t=new h),this.getPointAt(1,t)},getLength:function(){var t=this.getLengths();return t[t.length-1]},getLengths:function(t){if(t===void 0&&(t=this.arcLengthDivisions),this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var e=[],l,i=this.getPoint(0,this._tmpVec2A),s=0;e.push(0);for(var r=1;r<=t;r++)l=this.getPoint(r/t,this._tmpVec2B),s+=l.distance(i),e.push(s),i.copy(l);return this.cacheArcLengths=e,e},getPointAt:function(t,e){var l=this.getUtoTmapping(t);return this.getPoint(l,e)},getPoints:function(t,e,l){l===void 0&&(l=[]),t||(e?t=this.getLength()/e:t=this.defaultDivisions);for(var i=0;i<=t;i++)l.push(this.getPoint(i/t));return l},getRandomPoint:function(t){return t===void 0&&(t=new h),this.getPoint(Math.random(),t)},getSpacedPoints:function(t,e,l){l===void 0&&(l=[]),t||(e?t=this.getLength()/e:t=this.defaultDivisions);for(var i=0;i<=t;i++){var s=this.getUtoTmapping(i/t,null,t);l.push(this.getPoint(s))}return l},getStartPoint:function(t){return t===void 0&&(t=new h),this.getPointAt(0,t)},getTangent:function(t,e){e===void 0&&(e=new h);var l=1e-4,i=t-l,s=t+l;return i<0&&(i=0),s>1&&(s=1),this.getPoint(i,this._tmpVec2A),this.getPoint(s,e),e.subtract(this._tmpVec2A).normalize()},getTangentAt:function(t,e){var l=this.getUtoTmapping(t);return this.getTangent(l,e)},getTFromDistance:function(t,e){return t<=0?0:this.getUtoTmapping(0,t,e)},getUtoTmapping:function(t,e,l){var i=this.getLengths(l),s=0,r=i.length,o;e?o=Math.min(e,i[r-1]):o=t*i[r-1];for(var a=0,u=r-1,f;a<=u;)if(s=Math.floor(a+(u-a)/2),f=i[s]-o,f<0)a=s+1;else if(f>0)u=s-1;else{u=s;break}if(s=u,i[s]===o)return s/(r-1);var v=i[s],c=i[s+1],g=c-v,p=(o-v)/g;return(s+p)/(r-1)},updateArcLengths:function(){this.needsUpdate=!0,this.getLengths()}});E.exports=d},73825:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(80021),x=n(39506),h=n(35154),d=n(43396),t=n(26099),e=new m({Extends:S,initialize:function(i,s,r,o,a,u,f,v){if(typeof i=="object"){var c=i;i=h(c,"x",0),s=h(c,"y",0),r=h(c,"xRadius",0),o=h(c,"yRadius",r),a=h(c,"startAngle",0),u=h(c,"endAngle",360),f=h(c,"clockwise",!1),v=h(c,"rotation",0)}else o===void 0&&(o=r),a===void 0&&(a=0),u===void 0&&(u=360),f===void 0&&(f=!1),v===void 0&&(v=0);S.call(this,"EllipseCurve"),this.p0=new t(i,s),this._xRadius=r,this._yRadius=o,this._startAngle=x(a),this._endAngle=x(u),this._clockwise=f,this._rotation=x(v)},getStartPoint:function(l){return l===void 0&&(l=new t),this.getPoint(0,l)},getResolution:function(l){return l*2},getPoint:function(l,i){i===void 0&&(i=new t);for(var s=Math.PI*2,r=this._endAngle-this._startAngle,o=Math.abs(r)s;)r-=s;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(80021),x=n(19217),h=n(87841),d=n(26099),t=new m({Extends:S,initialize:function(l,i){S.call(this,"LineCurve"),Array.isArray(l)&&(i=new d(l[2],l[3]),l=new d(l[0],l[1])),this.p0=l,this.p1=i,this.arcLengthDivisions=1},getBounds:function(e){return e===void 0&&(e=new h),x([this.p0,this.p1],e)},getStartPoint:function(e){return e===void 0&&(e=new d),e.copy(this.p0)},getResolution:function(e){return e===void 0&&(e=1),e},getPoint:function(e,l){return l===void 0&&(l=new d),e===1?l.copy(this.p1):(l.copy(this.p1).subtract(this.p0).scale(e).add(this.p0),l)},getPointAt:function(e,l){return this.getPoint(e,l)},getTangent:function(e,l){return l===void 0&&(l=new d),l.copy(this.p1).subtract(this.p0).normalize(),l},getUtoTmapping:function(e,l,i){var s;if(l){var r=this.getLengths(i),o=r[r.length-1],a=Math.min(l,o);s=a/o}else s=e;return s},draw:function(e){return e.lineBetween(this.p0.x,this.p0.y,this.p1.x,this.p1.y),e},toJSON:function(){return{type:this.type,points:[this.p0.x,this.p0.y,this.p1.x,this.p1.y]}}});t.fromJSON=function(e){var l=e.points,i=new d(l[0],l[1]),s=new d(l[2],l[3]);return new t(i,s)},E.exports=t},14744:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(80021),x=n(32112),h=n(26099),d=new m({Extends:S,initialize:function(e,l,i){S.call(this,"QuadraticBezierCurve"),Array.isArray(e)&&(i=new h(e[4],e[5]),l=new h(e[2],e[3]),e=new h(e[0],e[1])),this.p0=e,this.p1=l,this.p2=i},getStartPoint:function(t){return t===void 0&&(t=new h),t.copy(this.p0)},getResolution:function(t){return t},getPoint:function(t,e){e===void 0&&(e=new h);var l=this.p0,i=this.p1,s=this.p2;return e.set(x(t,l.x,i.x,s.x),x(t,l.y,i.y,s.y))},draw:function(t,e){e===void 0&&(e=32);var l=this.getPoints(e);t.beginPath(),t.moveTo(this.p0.x,this.p0.y);for(var i=1;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87842),S=n(83419),x=n(80021),h=n(26099),d=new S({Extends:x,initialize:function(e){e===void 0&&(e=[]),x.call(this,"SplineCurve"),this.points=[],this.addPoints(e)},addPoints:function(t){for(var e=0;el.length-2?l.length-1:s+1],f=l[s>l.length-3?l.length-1:s+2];return e.set(m(r,o.x,a.x,u.x,f.x),m(r,o.y,a.y,u.y,f.y))},toJSON:function(){for(var t=[],e=0;e{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Path:n(46669),MoveTo:n(68618),CubicBezier:n(46728),Curve:n(80021),Ellipse:n(73825),Line:n(33951),QuadraticBezier:n(14744),Spline:n(42534)}},68618:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(26099),x=new m({initialize:function(d,t){this.active=!1,this.p0=new S(d,t)},getPoint:function(h,d){return d===void 0&&(d=new S),d.copy(this.p0)},getPointAt:function(h,d){return this.getPoint(h,d)},getResolution:function(){return 1},getLength:function(){return 0},toJSON:function(){return{type:"MoveTo",points:[this.p0.x,this.p0.y]}}});E.exports=x},46669:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(46728),x=n(73825),h=n(39429),d=n(33951),t=n(68618),e=n(14744),l=n(87841),i=n(42534),s=n(26099),r=n(36383),o=new m({initialize:function(u,f){u===void 0&&(u=0),f===void 0&&(f=0),this.name="",this.defaultDivisions=12,this.curves=[],this.cacheLengths=[],this.autoClose=!1,this.startPoint=new s,this._tmpVec2A=new s,this._tmpVec2B=new s,typeof u=="object"?this.fromJSON(u):this.startPoint.set(u,f)},add:function(a){return this.curves.push(a),this},circleTo:function(a,u,f){return u===void 0&&(u=!1),this.ellipseTo(a,a,0,360,u,f)},closePath:function(){var a=this.curves[0].getPoint(0),u=this.curves[this.curves.length-1].getPoint(1);return a.equals(u)||this.curves.push(new d(u,a)),this},cubicBezierTo:function(a,u,f,v,c,g){var p=this.getEndPoint(),T,C,M;return a instanceof s?(T=a,C=u,M=f):(T=new s(f,v),C=new s(c,g),M=new s(a,u)),this.add(new S(p,T,C,M))},quadraticBezierTo:function(a,u,f,v){var c=this.getEndPoint(),g,p;return a instanceof s?(g=a,p=u):(g=new s(f,v),p=new s(a,u)),this.add(new e(c,g,p))},draw:function(a,u){for(var f=0;f=u)return this.curves[v];v++}return null},getEndPoint:function(a){return a===void 0&&(a=new s),this.curves.length>0?this.curves[this.curves.length-1].getPoint(1,a):a.copy(this.startPoint),a},getLength:function(){var a=this.getCurveLengths();return a[a.length-1]},getPoint:function(a,u){u===void 0&&(u=new s);for(var f=a*this.getLength(),v=this.getCurveLengths(),c=0;c=f){var g=v[c]-f,p=this.curves[c],T=p.getLength(),C=T===0?0:1-g/T;return p.getPointAt(C,u)}c++}return null},getPoints:function(a,u){!a&&!u&&(a=this.defaultDivisions);for(var f=[],v,c=0;c1&&!f[f.length-1].equals(f[0])&&f.push(f[0]),f},getRandomPoint:function(a){return a===void 0&&(a=new s),this.getPoint(Math.random(),a)},getSpacedPoints:function(a){a===void 0&&(a=40);for(var u=[],f=0;f<=a;f++)u.push(this.getPoint(f/a));return this.autoClose&&u.push(u[0]),u},getStartPoint:function(a){return a===void 0&&(a=new s),a.copy(this.startPoint)},getTangent:function(a,u){u===void 0&&(u=new s);for(var f=a*this.getLength(),v=this.getCurveLengths(),c=0;c=f){var g=v[c]-f,p=this.curves[c],T=p.getLength(),C=T===0?0:1-g/T;return p.getTangentAt(C,u)}c++}return null},lineTo:function(a,u){a instanceof s?this._tmpVec2B.copy(a):typeof a=="object"?this._tmpVec2B.setFromObject(a):this._tmpVec2B.set(a,u);var f=this.getEndPoint(this._tmpVec2A);return this.add(new d([f.x,f.y,this._tmpVec2B.x,this._tmpVec2B.y]))},splineTo:function(a){return a.unshift(this.getEndPoint()),this.add(new i(a))},moveTo:function(a,u){return a instanceof s?this.add(new t(a.x,a.y)):this.add(new t(a,u))},toJSON:function(){for(var a=[],u=0;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(24882),x=new m({initialize:function(d,t){this.parent=d,this.events=t,t||(this.events=d.events?d.events:d),this.list={},this.values={},this._frozen=!1,!d.hasOwnProperty("sys")&&this.events&&this.events.once(S.DESTROY,this.destroy,this)},get:function(h){var d=this.list;if(Array.isArray(h)){for(var t=[],e=0;e{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(45893),x=n(37277),h=n(44594),d=new m({Extends:S,initialize:function(e){S.call(this,e,e.sys.events),this.scene=e,this.systems=e.sys,e.sys.events.once(h.BOOT,this.boot,this),e.sys.events.on(h.START,this.start,this)},boot:function(){this.events=this.systems.events,this.events.once(h.DESTROY,this.destroy,this)},start:function(){this.events.once(h.SHUTDOWN,this.shutdown,this)},shutdown:function(){this.systems.events.off(h.SHUTDOWN,this.shutdown,this)},destroy:function(){S.prototype.destroy.call(this),this.events.off(h.START,this.start,this),this.scene=null,this.systems=null}});x.register("DataManagerPlugin",d,"data"),E.exports=d},10700:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="changedata"},93608:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="changedata-"},60883:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="destroy"},69780:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="removedata"},22166:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="setdata"},24882:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={CHANGE_DATA:n(10700),CHANGE_DATA_KEY:n(93608),DESTROY:n(60883),REMOVE_DATA:n(69780),SET_DATA:n(22166)}},44965:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={DataManager:n(45893),DataManagerPlugin:n(63646),Events:n(24882)}},7098:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(84148),S={flac:!1,aac:!1,audioData:!1,dolby:!1,m4a:!1,mp3:!1,ogg:!1,opus:!1,wav:!1,webAudio:!1,webm:!1};function x(){if(typeof importScripts=="function")return S;S.audioData=!!window.Audio,S.webAudio=!!(window.AudioContext||window.webkitAudioContext);var h=document.createElement("audio"),d=!!h.canPlayType;try{if(d){var t=function(i,s){var r=h.canPlayType("audio/"+i).replace(/^no$/,"");return s?!!(r||h.canPlayType("audio/"+s).replace(/^no$/,"")):!!r};if(S.ogg=t('ogg; codecs="vorbis"'),S.opus=t('ogg; codecs="opus"',"opus"),S.mp3=t("mpeg"),S.wav=t("wav"),S.m4a=t("x-m4a"),S.aac=t("aac"),S.flac=t("flac","x-flac"),S.webm=t('webm; codecs="vorbis"'),h.canPlayType('audio/mp4; codecs="ec-3"')!==""){if(m.edge)S.dolby=!0;else if(m.safari&&m.safariVersion>=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),l=parseInt(RegExp.$2,10);(e===10&&l>=11||e>10)&&(S.dolby=!0)}}}}catch{}return S}E.exports=x()},84148:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25892),S={chrome:!1,chromeVersion:0,edge:!1,firefox:!1,firefoxVersion:0,ie:!1,ieVersion:0,mobileSafari:!1,opera:!1,safari:!1,safariVersion:0,silk:!1,trident:!1,tridentVersion:0,es2019:!1};function x(){var h=navigator.userAgent;return/Edg\/\d+/.test(h)?(S.edge=!0,S.es2019=!0):/OPR/.test(h)?(S.opera=!0,S.es2019=!0):/Chrome\/(\d+)/.test(h)&&!m.windowsPhone?(S.chrome=!0,S.chromeVersion=parseInt(RegExp.$1,10),S.es2019=S.chromeVersion>69):/Firefox\D+(\d+)/.test(h)?(S.firefox=!0,S.firefoxVersion=parseInt(RegExp.$1,10),S.es2019=S.firefoxVersion>10):/AppleWebKit\/(?!.*CriOS)/.test(h)&&m.iOS?(S.mobileSafari=!0,S.es2019=!0):/MSIE (\d+\.\d+);/.test(h)?(S.ie=!0,S.ieVersion=parseInt(RegExp.$1,10)):/Version\/(\d+\.\d+(\.\d+)?) Safari/.test(h)&&!m.windowsPhone?(S.safari=!0,S.safariVersion=parseInt(RegExp.$1,10),S.es2019=S.safariVersion>10):/Trident\/(\d+\.\d+)(.*)rv:(\d+\.\d+)/.test(h)&&(S.ie=!0,S.trident=!0,S.tridentVersion=parseInt(RegExp.$1,10),S.ieVersion=parseInt(RegExp.$3,10)),/Silk/.test(h)&&(S.silk=!0),S}E.exports=x()},89289:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(27919),S={supportInverseAlpha:!1,supportNewBlendModes:!1};function x(){var t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/",e="AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==",l=new Image;return l.onload=function(){var i=new Image;i.onload=function(){var s=m.create2D(i,6),r=s.getContext("2d",{willReadFrequently:!0});if(r.globalCompositeOperation="multiply",r.drawImage(l,0,0),r.drawImage(i,2,0),!r.getImageData(2,0,1,1))return!1;var o=r.getImageData(2,0,1,1).data;m.remove(i),S.supportNewBlendModes=o[0]===255&&o[1]===0&&o[2]===0},i.src=t+"/wCKxvRF"+e},l.src=t+"AP804Oa6"+e,!1}function h(){var t=m.create2D(this,2),e=t.getContext("2d",{willReadFrequently:!0});e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var l=e.getImageData(0,0,1,1);if(l===null)return!1;e.putImageData(l,1,0);var i=e.getImageData(1,0,1,1),s=i.data[0]===l.data[0]&&i.data[1]===l.data[1]&&i.data[2]===l.data[2]&&i.data[3]===l.data[3];return m.remove(this),s}function d(){return typeof importScripts!="function"&&document!==void 0&&(S.supportNewBlendModes=x(),S.supportInverseAlpha=h()),S}E.exports=d()},89357:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25892),S=n(84148),x=n(27919),h={canvas:!1,canvasBitBltShift:null,file:!1,fileSystem:!1,getUserMedia:!0,littleEndian:!1,localStorage:!1,pointerLock:!1,stableSort:!1,support32bit:!1,vibration:!1,webGL:!1,worker:!1};function d(){var e=new ArrayBuffer(4),l=new Uint8Array(e),i=new Uint32Array(e);return l[0]=161,l[1]=178,l[2]=195,l[3]=212,i[0]===3569595041?!0:i[0]===2712847316?!1:null}function t(){if(typeof importScripts=="function")return h;h.canvas=!!window.CanvasRenderingContext2D;try{h.localStorage=!!localStorage.getItem}catch{h.localStorage=!1}h.file=!!window.File&&!!window.FileReader&&!!window.FileList&&!!window.Blob,h.fileSystem=!!window.requestFileSystem;var e=!1,l=function(){if(window.WebGLRenderingContext)try{var i=x.createWebGL(this),s=i.getContext("webgl")||i.getContext("experimental-webgl"),r=x.create2D(this),o=r.getContext("2d",{willReadFrequently:!0}),a=o.createImageData(1,1);return e=a.data instanceof Uint8ClampedArray,x.remove(i),x.remove(r),!!s}catch{return!1}return!1};return h.webGL=l(),h.worker=!!window.Worker,h.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,h.getUserMedia=h.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,S.firefox&&S.firefoxVersion<21&&(h.getUserMedia=!1),!m.iOS&&(S.ie||S.firefox||S.chrome)&&(h.canvasBitBltShift=!0),(S.safari||S.mobileSafari)&&(h.canvasBitBltShift=!1),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(h.vibration=!0),typeof ArrayBuffer<"u"&&typeof Uint8Array<"u"&&typeof Uint32Array<"u"&&(h.littleEndian=d()),h.support32bit=typeof ArrayBuffer<"u"&&typeof Uint8ClampedArray<"u"&&typeof Int32Array<"u"&&h.littleEndian!==null&&e,h}E.exports=t()},91639:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={available:!1,cancel:"",keyboard:!1,request:""};function n(){if(typeof importScripts=="function")return y;var m,S="Fullscreen",x="FullScreen",h=["request"+S,"request"+x,"webkitRequest"+S,"webkitRequest"+x,"msRequest"+S,"msRequest"+x,"mozRequest"+x,"mozRequest"+S];for(m=0;m{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(84148),S={gamepads:!1,mspointer:!1,touch:!1,wheelEvent:null};function x(){return typeof importScripts=="function"||(("ontouchstart"in document.documentElement||navigator.maxTouchPoints&&navigator.maxTouchPoints>=1)&&(S.touch=!0),(navigator.msPointerEnabled||navigator.pointerEnabled)&&(S.mspointer=!0),navigator.getGamepads&&(S.gamepads=!0),"onwheel"in window||m.ie&&"WheelEvent"in window?S.wheelEvent="wheel":"onmousewheel"in window?S.wheelEvent="mousewheel":m.firefox&&"MouseScrollEvent"in window&&(S.wheelEvent="DOMMouseScroll")),S}E.exports=x()},25892:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={android:!1,chromeOS:!1,cordova:!1,crosswalk:!1,desktop:!1,ejecta:!1,electron:!1,iOS:!1,iOSVersion:0,iPad:!1,iPhone:!1,kindle:!1,linux:!1,macOS:!1,node:!1,nodeWebkit:!1,pixelRatio:1,webApp:!1,windows:!1,windowsPhone:!1};function n(){if(typeof importScripts=="function")return y;var m=navigator.userAgent;/Windows/.test(m)?y.windows=!0:/Mac OS/.test(m)&&!/like Mac OS/.test(m)?navigator.maxTouchPoints&&navigator.maxTouchPoints>2?(y.iOS=!0,y.iPad=!0,navigator.appVersion.match(/Version\/(\d+)/),y.iOSVersion=parseInt(RegExp.$1,10)):y.macOS=!0:/Android/.test(m)?y.android=!0:/Linux/.test(m)?y.linux=!0:/iP[ao]d|iPhone/i.test(m)?(y.iOS=!0,navigator.appVersion.match(/OS (\d+)/),y.iOSVersion=parseInt(RegExp.$1,10),y.iPhone=m.toLowerCase().indexOf("iphone")!==-1,y.iPad=m.toLowerCase().indexOf("ipad")!==-1):/Kindle/.test(m)||/\bKF[A-Z][A-Z]+/.test(m)||/Silk.*Mobile Safari/.test(m)?y.kindle=!0:/CrOS/.test(m)&&(y.chromeOS=!0),(/Windows Phone/i.test(m)||/IEMobile/i.test(m))&&(y.android=!1,y.iOS=!1,y.macOS=!1,y.windows=!0,y.windowsPhone=!0);var S=/Silk/.test(m);return(y.windows||y.macOS||y.linux&&!S||y.chromeOS)&&(y.desktop=!0),(y.windowsPhone||/Windows NT/i.test(m)&&/Touch/i.test(m))&&(y.desktop=!1),navigator.standalone&&(y.webApp=!0),typeof importScripts!="function"&&(window.cordova!==void 0&&(y.cordova=!0),window.ejecta!==void 0&&(y.ejecta=!0)),typeof process<"u"&&process.versions&&process.versions.node&&(y.node=!0),y.node&&typeof process.versions=="object"&&(y.nodeWebkit=!!process.versions["node-webkit"],y.electron=!!process.versions.electron),/Crosswalk/.test(m)&&(y.crosswalk=!0),y.pixelRatio=window.devicePixelRatio||1,y}E.exports=n()},43267:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(95540),S={h264:!1,hls:!1,mov:!1,mp4:!1,m4v:!1,ogg:!1,vp9:!1,webm:!1,hasRequestVideoFrame:!1};function x(){if(typeof importScripts=="function")return S;var h=document.createElement("video"),d=!!h.canPlayType,t=/^no$/;try{d&&(h.canPlayType('video/ogg; codecs="theora"').replace(t,"")&&(S.ogg=!0),h.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(t,"")&&(S.h264=!0,S.mp4=!0),h.canPlayType('video/quicktime4; codecs="avc1.42E01E"').replace(t,"")&&(S.mov=!0),h.canPlayType("video/x-m4v").replace(t,"")&&(S.m4v=!0),h.canPlayType('video/webm; codecs="vp8, vorbis"').replace(t,"")&&(S.webm=!0),h.canPlayType('video/webm; codecs="vp9"').replace(t,"")&&(S.vp9=!0),h.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(t,"")&&(S.hls=!0))}catch{}return h.parentNode&&h.parentNode.removeChild(h),S.getVideoURL=function(e){Array.isArray(e)||(e=[e]);for(var l=0;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={os:n(25892),browser:n(84148),features:n(89357),input:n(31784),audio:n(7098),video:n(43267),fullscreen:n(91639),canvasFeatures:n(89289)}},89422:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new Float32Array(20),x=new m({initialize:function(){this._matrix=new Float32Array(20),this.alpha=1,this._dirty=!0,this._data=new Float32Array(20),this.reset()},set:function(h){return this._matrix.set(h),this._dirty=!0,this},reset:function(){var h=this._matrix;return h.fill(0),h[0]=1,h[6]=1,h[12]=1,h[18]=1,this.alpha=1,this._dirty=!0,this},getData:function(){var h=this._data;return this._dirty&&(h.set(this._matrix),h[4]/=255,h[9]/=255,h[14]/=255,h[19]/=255,this._dirty=!1),h},brightness:function(h,d){h===void 0&&(h=0),d===void 0&&(d=!1);var t=h;return this.multiply([t,0,0,0,0,0,t,0,0,0,0,0,t,0,0,0,0,0,1,0],d)},saturate:function(h,d){h===void 0&&(h=0),d===void 0&&(d=!1);var t=h*2/3+1,e=(t-1)*-.5;return this.multiply([t,e,e,0,0,e,t,e,0,0,e,e,t,0,0,0,0,0,1,0],d)},desaturate:function(h){return h===void 0&&(h=!1),this.saturate(-1,h)},hue:function(h,d){h===void 0&&(h=0),d===void 0&&(d=!1),h=h/180*Math.PI;var t=Math.cos(h),e=Math.sin(h),l=.213,i=.715,s=.072;return this.multiply([l+t*(1-l)+e*-l,i+t*-i+e*-i,s+t*-s+e*(1-s),0,0,l+t*-l+e*.143,i+t*(1-i)+e*.14,s+t*-s+e*-.283,0,0,l+t*-l+e*-.787,i+t*-i+e*i,s+t*(1-s)+e*s,0,0,0,0,0,1,0],d)},grayscale:function(h,d){return h===void 0&&(h=1),d===void 0&&(d=!1),this.saturate(-h,d)},blackWhite:function(h){return h===void 0&&(h=!1),this.multiply(x.BLACK_WHITE,h)},contrast:function(h,d){h===void 0&&(h=0),d===void 0&&(d=!1);var t=h+1,e=-.5*(t-1);return this.multiply([t,0,0,0,e,0,t,0,0,e,0,0,t,0,e,0,0,0,1,0],d)},negative:function(h){return h===void 0&&(h=!1),this.multiply(x.NEGATIVE,h)},desaturateLuminance:function(h){return h===void 0&&(h=!1),this.multiply(x.DESATURATE_LUMINANCE,h)},sepia:function(h){return h===void 0&&(h=!1),this.multiply(x.SEPIA,h)},night:function(h,d){return h===void 0&&(h=.1),d===void 0&&(d=!1),this.multiply([h*-2,-h,0,0,0,-h,0,h,0,0,0,h,h*2,0,0,0,0,0,1,0],d)},lsd:function(h){return h===void 0&&(h=!1),this.multiply(x.LSD,h)},brown:function(h){return h===void 0&&(h=!1),this.multiply(x.BROWN,h)},vintagePinhole:function(h){return h===void 0&&(h=!1),this.multiply(x.VINTAGE,h)},kodachrome:function(h){return h===void 0&&(h=!1),this.multiply(x.KODACHROME,h)},technicolor:function(h){return h===void 0&&(h=!1),this.multiply(x.TECHNICOLOR,h)},polaroid:function(h){return h===void 0&&(h=!1),this.multiply(x.POLAROID,h)},shiftToBGR:function(h){return h===void 0&&(h=!1),this.multiply(x.SHIFT_BGR,h)},multiply:function(h,d){d===void 0&&(d=!1),d||this.reset();var t=this._matrix,e=S;return e.set(t),t.set([e[0]*h[0]+e[1]*h[5]+e[2]*h[10]+e[3]*h[15],e[0]*h[1]+e[1]*h[6]+e[2]*h[11]+e[3]*h[16],e[0]*h[2]+e[1]*h[7]+e[2]*h[12]+e[3]*h[17],e[0]*h[3]+e[1]*h[8]+e[2]*h[13]+e[3]*h[18],e[0]*h[4]+e[1]*h[9]+e[2]*h[14]+e[3]*h[19]+e[4],e[5]*h[0]+e[6]*h[5]+e[7]*h[10]+e[8]*h[15],e[5]*h[1]+e[6]*h[6]+e[7]*h[11]+e[8]*h[16],e[5]*h[2]+e[6]*h[7]+e[7]*h[12]+e[8]*h[17],e[5]*h[3]+e[6]*h[8]+e[7]*h[13]+e[8]*h[18],e[5]*h[4]+e[6]*h[9]+e[7]*h[14]+e[8]*h[19]+e[9],e[10]*h[0]+e[11]*h[5]+e[12]*h[10]+e[13]*h[15],e[10]*h[1]+e[11]*h[6]+e[12]*h[11]+e[13]*h[16],e[10]*h[2]+e[11]*h[7]+e[12]*h[12]+e[13]*h[17],e[10]*h[3]+e[11]*h[8]+e[12]*h[13]+e[13]*h[18],e[10]*h[4]+e[11]*h[9]+e[12]*h[14]+e[13]*h[19]+e[14],e[15]*h[0]+e[16]*h[5]+e[17]*h[10]+e[18]*h[15],e[15]*h[1]+e[16]*h[6]+e[17]*h[11]+e[18]*h[16],e[15]*h[2]+e[16]*h[7]+e[17]*h[12]+e[18]*h[17],e[15]*h[3]+e[16]*h[8]+e[17]*h[13]+e[18]*h[18],e[15]*h[4]+e[16]*h[9]+e[17]*h[14]+e[18]*h[19]+e[19]]),this._dirty=!0,this}});x.BLACK_WHITE=[.3,.6,.1,0,0,.3,.6,.1,0,0,.3,.6,.1,0,0,0,0,0,1,0],x.NEGATIVE=[-1,0,0,1,0,0,-1,0,1,0,0,0,-1,1,0,0,0,0,1,0],x.DESATURATE_LUMINANCE=[.2764723,.929708,.0938197,0,-37.1,.2764723,.929708,.0938197,0,-37.1,.2764723,.929708,.0938197,0,-37.1,0,0,0,1,0],x.SEPIA=[.393,.7689999,.18899999,0,0,.349,.6859999,.16799999,0,0,.272,.5339999,.13099999,0,0,0,0,0,1,0],x.LSD=[2,-.4,.5,0,0,-.5,2,-.4,0,0,-.4,-.5,3,0,0,0,0,0,1,0],x.BROWN=[.5997023498159715,.34553243048391263,-.2708298674538042,0,47.43192855600873,-.037703249837783157,.8609577587992641,.15059552388459913,0,-36.96841498319127,.24113635128153335,-.07441037908422492,.44972182064877153,0,-7.562075277591283,0,0,0,1,0],x.VINTAGE=[.6279345635605994,.3202183420819367,-.03965408211312453,0,9.651285835294123,.02578397704808868,.6441188644374771,.03259127616149294,0,7.462829176470591,.0466055556782719,-.0851232987247891,.5241648018700465,0,5.159190588235296,0,0,0,1,0],x.KODACHROME=[1.1285582396593525,-.3967382283601348,-.03992559172921793,0,63.72958762196502,-.16404339962244616,1.0835251566291304,-.05498805115633132,0,24.732407896706203,-.16786010706155763,-.5603416277695248,1.6014850761964943,0,35.62982807460946,0,0,0,1,0],x.TECHNICOLOR=[1.9125277891456083,-.8545344976951645,-.09155508482755585,0,11.793603434377337,-.3087833385928097,1.7658908555458428,-.10601743074722245,0,-70.35205161461398,-.231103377548616,-.7501899197440212,1.847597816108189,0,30.950940869491138,0,0,0,1,0],x.POLAROID=[1.438,-.062,-.062,0,0,-.122,1.378,-.122,0,0,-.016,-.016,1.483,0,0,0,0,0,1,0],x.SHIFT_BGR=[0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0],E.exports=x},51767:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(29747),x=new m({initialize:function(d,t,e){this._rgb=[0,0,0],this.onChangeCallback=S,this.dirty=!1,this.set(d,t,e)},set:function(h,d,t){return h===void 0&&(h=0),d===void 0&&(d=0),t===void 0&&(t=0),this._rgb=[h,d,t],this.onChange(),this},equals:function(h,d,t){var e=this._rgb;return e[0]===h&&e[1]===d&&e[2]===t},onChange:function(){this.dirty=!0;var h=this._rgb;this.onChangeCallback.call(this,h[0],h[1],h[2])},r:{get:function(){return this._rgb[0]},set:function(h){this._rgb[0]=h,this.onChange()}},g:{get:function(){return this._rgb[1]},set:function(h){this._rgb[1]=h,this.onChange()}},b:{get:function(){return this._rgb[2]},set:function(h){this._rgb[2]=h,this.onChange()}},destroy:function(){this.onChangeCallback=null}});E.exports=x},60461:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12};E.exports=y},54312:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(62235),S=n(35893),x=n(86327),h=n(88417),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),h(t,S(e)+l),x(t,m(e)+i),t};E.exports=d},46768:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(62235),S=n(26541),x=n(86327),h=n(385),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),h(t,S(e)-l),x(t,m(e)+i),t};E.exports=d},35827:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(62235),S=n(54380),x=n(86327),h=n(40136),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),h(t,S(e)+l),x(t,m(e)+i),t};E.exports=d},46871:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(66786),S=n(35893),x=n(7702),h=function(d,t,e,l){return e===void 0&&(e=0),l===void 0&&(l=0),m(d,S(t)+e,x(t)+l),d};E.exports=h},5198:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7702),S=n(26541),x=n(20786),h=n(385),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),h(t,S(e)-l),x(t,m(e)+i),t};E.exports=d},11879:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(60461),S=[];S[m.BOTTOM_CENTER]=n(54312),S[m.BOTTOM_LEFT]=n(46768),S[m.BOTTOM_RIGHT]=n(35827),S[m.CENTER]=n(46871),S[m.LEFT_CENTER]=n(5198),S[m.RIGHT_CENTER]=n(80503),S[m.TOP_CENTER]=n(89698),S[m.TOP_LEFT]=n(922),S[m.TOP_RIGHT]=n(21373),S[m.LEFT_BOTTOM]=S[m.BOTTOM_LEFT],S[m.LEFT_TOP]=S[m.TOP_LEFT],S[m.RIGHT_BOTTOM]=S[m.BOTTOM_RIGHT],S[m.RIGHT_TOP]=S[m.TOP_RIGHT];var x=function(h,d,t,e,l){return S[t](h,d,e,l)};E.exports=x},80503:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7702),S=n(54380),x=n(20786),h=n(40136),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),h(t,S(e)+l),x(t,m(e)+i),t};E.exports=d},89698:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(35893),S=n(17717),x=n(88417),h=n(66737),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),x(t,m(e)+l),h(t,S(e)-i),t};E.exports=d},922:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26541),S=n(17717),x=n(385),h=n(66737),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),x(t,m(e)-l),h(t,S(e)-i),t};E.exports=d},21373:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(54380),S=n(17717),x=n(40136),h=n(66737),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),x(t,m(e)+l),h(t,S(e)-i),t};E.exports=d},91660:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={BottomCenter:n(54312),BottomLeft:n(46768),BottomRight:n(35827),Center:n(46871),LeftCenter:n(5198),QuickSet:n(11879),RightCenter:n(80503),TopCenter:n(89698),TopLeft:n(922),TopRight:n(21373)}},71926:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(60461),S=n(79291),x={In:n(91660),To:n(16694)};x=S(!1,x,m),E.exports=x},21578:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(62235),S=n(35893),x=n(88417),h=n(66737),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),x(t,S(e)+l),h(t,m(e)+i),t};E.exports=d},10210:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(62235),S=n(26541),x=n(385),h=n(66737),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),x(t,S(e)-l),h(t,m(e)+i),t};E.exports=d},82341:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(62235),S=n(54380),x=n(40136),h=n(66737),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),x(t,S(e)+l),h(t,m(e)+i),t};E.exports=d},87958:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(62235),S=n(26541),x=n(86327),h=n(40136),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),h(t,S(e)-l),x(t,m(e)+i),t};E.exports=d},40080:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7702),S=n(26541),x=n(20786),h=n(40136),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),h(t,S(e)-l),x(t,m(e)+i),t};E.exports=d},88466:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26541),S=n(17717),x=n(40136),h=n(66737),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),x(t,m(e)-l),h(t,S(e)-i),t};E.exports=d},38829:(E,y,n)=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(60461),S=[];S[m.BOTTOM_CENTER]=n(21578),S[m.BOTTOM_LEFT]=n(10210),S[m.BOTTOM_RIGHT]=n(82341),S[m.LEFT_BOTTOM]=n(87958),S[m.LEFT_CENTER]=n(40080),S[m.LEFT_TOP]=n(88466),S[m.RIGHT_BOTTOM]=n(19211),S[m.RIGHT_CENTER]=n(34609),S[m.RIGHT_TOP]=n(48741),S[m.TOP_CENTER]=n(49440),S[m.TOP_LEFT]=n(81288),S[m.TOP_RIGHT]=n(61323);var x=function(h,d,t,e,l){return S[t](h,d,e,l)};E.exports=x},19211:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(62235),S=n(54380),x=n(86327),h=n(385),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),h(t,S(e)+l),x(t,m(e)+i),t};E.exports=d},34609:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7702),S=n(54380),x=n(20786),h=n(385),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),h(t,S(e)+l),x(t,m(e)+i),t};E.exports=d},48741:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(54380),S=n(17717),x=n(385),h=n(66737),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),x(t,m(e)+l),h(t,S(e)-i),t};E.exports=d},49440:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(35893),S=n(17717),x=n(86327),h=n(88417),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),h(t,m(e)+l),x(t,S(e)-i),t};E.exports=d},81288:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26541),S=n(17717),x=n(86327),h=n(385),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),h(t,m(e)-l),x(t,S(e)-i),t};E.exports=d},61323:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(54380),S=n(17717),x=n(86327),h=n(40136),d=function(t,e,l,i){return l===void 0&&(l=0),i===void 0&&(i=0),h(t,m(e)+l),x(t,S(e)-i),t};E.exports=d},16694:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={BottomCenter:n(21578),BottomLeft:n(10210),BottomRight:n(82341),LeftBottom:n(87958),LeftCenter:n(40080),LeftTop:n(88466),QuickSet:n(38829),RightBottom:n(19211),RightCenter:n(34609),RightTop:n(48741),TopCenter:n(49440),TopLeft:n(81288),TopRight:n(61323)}},66786:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(88417),S=n(20786),x=function(h,d,t){return m(h,d),S(h,t)};E.exports=x},62235:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.y+n.height-n.height*n.originY};E.exports=y},72873:(E,y,n)=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(62235),S=n(26541),x=n(54380),h=n(17717),d=n(87841),t=function(e,l){l===void 0&&(l=new d);var i=S(e),s=h(e);return l.x=i,l.y=s,l.width=x(e)-i,l.height=m(e)-s,l};E.exports=t},35893:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.x-n.width*n.originX+n.width*.5};E.exports=y},7702:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.y-n.height*n.originY+n.height*.5};E.exports=y},26541:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.x-n.width*n.originX};E.exports=y},87431:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.width*n.originX};E.exports=y},46928:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.height*n.originY};E.exports=y},54380:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.x+n.width-n.width*n.originX};E.exports=y},17717:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.y-n.height*n.originY};E.exports=y},86327:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.y=m-n.height+n.height*n.originY,n};E.exports=y},88417:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){var S=n.width*n.originX;return n.x=m+S-n.width*.5,n};E.exports=y},20786:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){var S=n.height*n.originY;return n.y=m+S-n.height*.5,n};E.exports=y},385:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.x=m+n.width*n.originX,n};E.exports=y},40136:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.x=m-n.width+n.width*n.originX,n};E.exports=y},66737:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.y=m+n.height*n.originY,n};E.exports=y},58724:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={CenterOn:n(66786),GetBottom:n(62235),GetBounds:n(72873),GetCenterX:n(35893),GetCenterY:n(7702),GetLeft:n(26541),GetOffsetX:n(87431),GetOffsetY:n(46928),GetRight:n(54380),GetTop:n(17717),SetBottom:n(86327),SetCenterX:n(88417),SetCenterY:n(20786),SetLeft:n(385),SetRight:n(40136),SetTop:n(66737)}},20623:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setCrisp:function(n){var m=["optimizeSpeed","-moz-crisp-edges","-o-crisp-edges","-webkit-optimize-contrast","optimize-contrast","crisp-edges","pixelated"];return m.forEach(function(S){n.style["image-rendering"]=S}),n.style.msInterpolationMode="nearest-neighbor",n},setBicubic:function(n){return n.style["image-rendering"]="auto",n.style.msInterpolationMode="bicubic",n}};E.exports=y},27919:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(8054),S=n(68703),x=[],h=!1,d=function(){var t=function(f,v,c,g,p){v===void 0&&(v=1),c===void 0&&(c=1),g===void 0&&(g=m.CANVAS),p===void 0&&(p=!1);var T,C=i(g);return C===null?(C={parent:f,canvas:document.createElement("canvas"),type:g},g===m.CANVAS&&x.push(C),T=C.canvas):(C.parent=f,T=C.canvas),p&&(C.parent=T),T.width=v,T.height=c,h&&g===m.CANVAS&&S.disable(T.getContext("2d",{willReadFrequently:!1})),T},e=function(f,v,c){return t(f,v,c,m.CANVAS)},l=function(f,v,c){return t(f,v,c,m.WEBGL)},i=function(f){if(f===void 0&&(f=m.CANVAS),f===m.WEBGL)return null;for(var v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y="",n=function(){var m=function(d){for(var t=["i","webkitI","msI","mozI","oI"],e=0;e{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m===void 0&&(m="none"),n.style.msTouchAction=m,n.style["ms-touch-action"]=m,n.style["touch-action"]=m,n};E.exports=y},91610:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){m===void 0&&(m="none");var S=["-webkit-","-khtml-","-moz-","-ms-",""];return S.forEach(function(x){n.style[x+"user-select"]=m}),n.style["-webkit-touch-callout"]=m,n.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",n};E.exports=y},26253:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={CanvasInterpolation:n(20623),CanvasPool:n(27919),Smoothing:n(68703),TouchAction:n(65208),UserSelect:n(91610)}},40987:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(37589),x=n(1e3),h=n(7537),d=n(87837),t=new m({initialize:function(l,i,s,r){l===void 0&&(l=0),i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r=255),this.r=0,this.g=0,this.b=0,this.a=255,this._h=0,this._s=0,this._v=0,this._locked=!1,this.gl=[0,0,0,1],this._color=0,this._color32=0,this._rgba="",this.setTo(l,i,s,r)},transparent:function(){return this._locked=!0,this.red=0,this.green=0,this.blue=0,this.alpha=0,this._locked=!1,this.update(!0)},setTo:function(e,l,i,s,r){return s===void 0&&(s=255),r===void 0&&(r=!0),this._locked=!0,this.red=e,this.green=l,this.blue=i,this.alpha=s,this._locked=!1,this.update(r)},setGLTo:function(e,l,i,s){return s===void 0&&(s=1),this._locked=!0,this.redGL=e,this.greenGL=l,this.blueGL=i,this.alphaGL=s,this._locked=!1,this.update(!0)},setFromRGB:function(e){return this._locked=!0,this.red=e.r,this.green=e.g,this.blue=e.b,e.hasOwnProperty("a")&&(this.alpha=e.a),this._locked=!1,this.update(!0)},setFromHSV:function(e,l,i){return h(e,l,i,this)},update:function(e){if(e===void 0&&(e=!1),this._locked)return this;var l=this.r,i=this.g,s=this.b,r=this.a;return this._color=S(l,i,s),this._color32=x(l,i,s,r),this._rgba="rgba("+l+","+i+","+s+","+r/255+")",e&&d(l,i,s,this),this},updateHSV:function(){var e=this.r,l=this.g,i=this.b;return d(e,l,i,this),this},clone:function(){return new t(this.r,this.g,this.b,this.a)},gray:function(e){return this.setTo(e,e,e)},random:function(e,l){e===void 0&&(e=0),l===void 0&&(l=255);var i=Math.floor(e+Math.random()*(l-e)),s=Math.floor(e+Math.random()*(l-e)),r=Math.floor(e+Math.random()*(l-e));return this.setTo(i,s,r)},randomGray:function(e,l){e===void 0&&(e=0),l===void 0&&(l=255);var i=Math.floor(e+Math.random()*(l-e));return this.setTo(i,i,i)},saturate:function(e){return this.s+=e/100,this},desaturate:function(e){return this.s-=e/100,this},lighten:function(e){return this.v+=e/100,this},darken:function(e){return this.v-=e/100,this},brighten:function(e){var l=this.r,i=this.g,s=this.b;return l=Math.max(0,Math.min(255,l-Math.round(255*-(e/100)))),i=Math.max(0,Math.min(255,i-Math.round(255*-(e/100)))),s=Math.max(0,Math.min(255,s-Math.round(255*-(e/100)))),this.setTo(l,i,s)},color:{get:function(){return this._color}},color32:{get:function(){return this._color32}},rgba:{get:function(){return this._rgba}},redGL:{get:function(){return this.gl[0]},set:function(e){this.gl[0]=Math.min(Math.abs(e),1),this.r=Math.floor(this.gl[0]*255),this.update(!0)}},greenGL:{get:function(){return this.gl[1]},set:function(e){this.gl[1]=Math.min(Math.abs(e),1),this.g=Math.floor(this.gl[1]*255),this.update(!0)}},blueGL:{get:function(){return this.gl[2]},set:function(e){this.gl[2]=Math.min(Math.abs(e),1),this.b=Math.floor(this.gl[2]*255),this.update(!0)}},alphaGL:{get:function(){return this.gl[3]},set:function(e){this.gl[3]=Math.min(Math.abs(e),1),this.a=Math.floor(this.gl[3]*255),this.update()}},red:{get:function(){return this.r},set:function(e){e=Math.floor(Math.abs(e)),this.r=Math.min(e,255),this.gl[0]=e/255,this.update(!0)}},green:{get:function(){return this.g},set:function(e){e=Math.floor(Math.abs(e)),this.g=Math.min(e,255),this.gl[1]=e/255,this.update(!0)}},blue:{get:function(){return this.b},set:function(e){e=Math.floor(Math.abs(e)),this.b=Math.min(e,255),this.gl[2]=e/255,this.update(!0)}},alpha:{get:function(){return this.a},set:function(e){e=Math.floor(Math.abs(e)),this.a=Math.min(e,255),this.gl[3]=e/255,this.update()}},h:{get:function(){return this._h},set:function(e){this._h=e,h(e,this._s,this._v,this)}},s:{get:function(){return this._s},set:function(e){this._s=e,h(this._h,e,this._v,this)}},v:{get:function(){return this._v},set:function(e){this._v=e,h(this._h,this._s,e,this)}}});E.exports=t},92728:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(37589),S=function(x){x===void 0&&(x=1024);var h=[],d=255,t,e=255,l=0,i=0;for(t=0;t<=d;t++)h.push({r:e,g:t,b:i,color:m(e,t,i)});for(l=255,t=d;t>=0;t--)h.push({r:t,g:l,b:i,color:m(t,l,i)});for(e=0,t=0;t<=d;t++,l--)h.push({r:e,g:l,b:t,color:m(e,l,t)});for(l=0,i=255,t=0;t<=d;t++,i--,e++)h.push({r:e,g:l,b:i,color:m(e,l,i)});if(x===1024)return h;var s=[],r=0,o=1024/x;for(t=0;t{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){var m={r:n>>16&255,g:n>>8&255,b:n&255,a:255};return n>16777215&&(m.a=n>>>24),m};E.exports=y},62957:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){var m=n.toString(16);return m.length===1?"0"+m:m};E.exports=y},37589:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return n<<16|m<<8|S};E.exports=y},1e3:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){return x<<24|n<<16|m<<8|S};E.exports=y},62183:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(40987),S=n(89528),x=function(h,d,t){var e=t,l=t,i=t;if(d!==0){var s=t<.5?t*(1+d):t+d-t*d,r=2*t-s;e=S(r,s,h+1/3),l=S(r,s,h),i=S(r,s,h-1/3)}var o=new m;return o.setGLTo(e,l,i,1)};E.exports=x},27939:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7537),S=function(x,h){x===void 0&&(x=1),h===void 0&&(h=1);for(var d=[],t=0;t<=359;t++)d.push(m(t/359,x,h));return d};E.exports=S},7537:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(37589);function S(h,d,t,e){var l=(h+d*6)%6,i=Math.min(l,4-l,1);return Math.round(255*(e-e*t*Math.max(0,i)))}var x=function(h,d,t,e){d===void 0&&(d=1),t===void 0&&(t=1);var l=S(5,h,d,t),i=S(3,h,d,t),s=S(1,h,d,t);return e?e.setTo?e.setTo(l,i,s,e.alpha,!0):(e.r=l,e.g=i,e.b=s,e.color=m(l,i,s),e):{r:l,g:i,b:s,color:m(l,i,s)}};E.exports=x},70238:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(40987),S=function(x){var h=new m;x=x.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(i,s,r,o){return s+s+r+r+o+o});var d=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(x);if(d){var t=parseInt(d[1],16),e=parseInt(d[2],16),l=parseInt(d[3],16);h.setTo(t,e,l)}return h};E.exports=S},89528:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return S<0&&(S+=1),S>1&&(S-=1),S<.16666666666666666?n+(m-n)*6*S:S<.5?m:S<.6666666666666666?n+(m-n)*(.6666666666666666-S)*6:n};E.exports=y},30100:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(40987),S=n(90664),x=function(h){var d=S(h);return new m(d.r,d.g,d.b,d.a)};E.exports=x},90664:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n>16777215?{a:n>>>24,r:n>>16&255,g:n>>8&255,b:n&255}:{a:255,r:n>>16&255,g:n>>8&255,b:n&255}};E.exports=y},13699:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(28915),S=n(37589),x=function(t,e,l,i,s,r,o,a){o===void 0&&(o=100),a===void 0&&(a=0);var u=a/o,f=m(t,i,u),v=m(e,s,u),c=m(l,r,u);return{r:f,g:v,b:c,a:255,color:S(f,v,c)}},h=function(t,e,l,i){return l===void 0&&(l=100),i===void 0&&(i=0),x(t.r,t.g,t.b,e.r,e.g,e.b,l,i)},d=function(t,e,l,i,s,r){return s===void 0&&(s=100),r===void 0&&(r=0),x(t.r,t.g,t.b,e,l,i,s,r)};E.exports={RGBWithRGB:x,ColorWithRGB:d,ColorWithColor:h}},68957:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(40987),S=function(x){return new m(x.r,x.g,x.b,x.a)};E.exports=S},87388:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(40987),S=function(x){var h=new m,d=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(x.toLowerCase());if(d){var t=parseInt(d[1],10),e=parseInt(d[2],10),l=parseInt(d[3],10),i=d[4]!==void 0?parseFloat(d[4]):1;h.setTo(t,e,l,i*255)}return h};E.exports=S},87837:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){x===void 0&&(x={h:0,s:0,v:0}),n/=255,m/=255,S/=255;var h=Math.min(n,m,S),d=Math.max(n,m,S),t=d-h,e=0,l=d===0?0:t/d,i=d;return d!==h&&(d===n?e=(m-S)/t+(m{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(62957),S=function(x,h,d,t,e){return t===void 0&&(t=255),e===void 0&&(e="#"),e==="#"?"#"+((1<<24)+(x<<16)+(h<<8)+d).toString(16).slice(1,7):"0x"+m(t)+m(x)+m(h)+m(d)};E.exports=S},85386:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(30976),S=n(40987),x=function(h,d){return h===void 0&&(h=0),d===void 0&&(d=255),new S(m(h,d),m(h,d),m(h,d))};E.exports=x},80333:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(70238),S=n(30100),x=n(68957),h=n(87388),d=function(t){var e=typeof t;switch(e){case"string":return t.substr(0,3).toLowerCase()==="rgb"?h(t):m(t);case"number":return S(t);case"object":return x(t)}};E.exports=d},3956:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(40987);m.ColorSpectrum=n(92728),m.ColorToRGBA=n(91588),m.ComponentToHex=n(62957),m.GetColor=n(37589),m.GetColor32=n(1e3),m.HexStringToColor=n(70238),m.HSLToColor=n(62183),m.HSVColorWheel=n(27939),m.HSVToRGB=n(7537),m.HueToComponent=n(89528),m.IntegerToColor=n(30100),m.IntegerToRGB=n(90664),m.Interpolate=n(13699),m.ObjectToColor=n(68957),m.RandomRGB=n(85386),m.RGBStringToColor=n(87388),m.RGBToHSV=n(87837),m.RGBToString=n(75723),m.ValueToColor=n(80333),E.exports=m},27460:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Align:n(71926),BaseShader:n(73894),Bounds:n(58724),Canvas:n(26253),Color:n(3956),ColorMatrix:n(89422),Masks:n(69781),RGB:n(51767)}},80661:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h,d){this.geometryMask=d},setShape:function(x){return this.geometryMask=x,this},preRenderCanvas:function(x,h,d){var t=this.geometryMask;x.currentContext.save(),t.renderCanvas(x,t,d,null,null,!0),x.currentContext.clip()},postRenderCanvas:function(x){x.currentContext.restore()},destroy:function(){this.geometryMask=null}});E.exports=S},69781:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={GeometryMask:n(80661)}},73894:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h,d,t){t===void 0&&(t={}),this.key=h,this.glsl=d,this.metadata=t}});E.exports=S},40366:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){var S;if(m)typeof m=="string"?S=document.getElementById(m):typeof m=="object"&&m.nodeType===1&&(S=m);else if(n.parentElement||m===null)return n;return S||(S=document.body),S.appendChild(n),n};E.exports=y},83719:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(40366),S=function(x){var h=x.config;if(!(!h.parent||!h.domCreateContainer)){var d=document.createElement("div");d.style.cssText=["display: block;","width: "+x.scale.width+"px;","height: "+x.scale.height+"px;","padding: 0; margin: 0;","position: absolute;","overflow: hidden;","pointer-events: "+h.domPointerEvents+";","transform: scale(1);","transform-origin: left top;"].join(" "),x.domContainer=d,m(d,h.parent)}};E.exports=S},57264:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25892),S=function(x){if(document.readyState==="complete"||document.readyState==="interactive"){x();return}var h=function(){document.removeEventListener("deviceready",h,!0),document.removeEventListener("DOMContentLoaded",h,!0),window.removeEventListener("load",h,!0),x()};document.body?m.cordova?document.addEventListener("deviceready",h,!1):(document.addEventListener("DOMContentLoaded",h,!0),window.addEventListener("load",h,!0)):window.setTimeout(h,20)};E.exports=S},57811:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){if(!n)return window.innerHeight;var m=Math.abs(window.orientation),S={w:0,h:0},x=document.createElement("div");return x.setAttribute("style","position: fixed; height: 100vh; width: 0; top: 0"),document.documentElement.appendChild(x),S.w=m===90?x.offsetHeight:window.innerWidth,S.h=m===90?window.innerWidth:x.offsetHeight,document.documentElement.removeChild(x),x=null,Math.abs(window.orientation)!==90?S.h:S.w};E.exports=y},45818:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(13560),S=function(x,h){var d=window.screen,t=d?d.orientation||d.mozOrientation||d.msOrientation:!1;if(t&&typeof t.type=="string")return t.type;if(typeof t=="string")return t;if(typeof window.orientation=="number")return window.orientation===0||window.orientation===180?m.ORIENTATION.PORTRAIT:m.ORIENTATION.LANDSCAPE;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return m.ORIENTATION.PORTRAIT;if(window.matchMedia("(orientation: landscape)").matches)return m.ORIENTATION.LANDSCAPE}else return h>x?m.ORIENTATION.PORTRAIT:m.ORIENTATION.LANDSCAPE};E.exports=S},74403:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){var m;return n!==""&&(typeof n=="string"?m=document.getElementById(n):n&&n.nodeType===1&&(m=n)),m||(m=document.body),m};E.exports=y},56836:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){var m="";try{if(window.DOMParser){var S=new DOMParser;m=S.parseFromString(n,"text/xml")}else m=new ActiveXObject("Microsoft.XMLDOM"),m.loadXML(n)}catch{m=null}return!m||!m.documentElement||m.getElementsByTagName("parsererror").length?null:m};E.exports=y},35846:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){n.parentNode&&n.parentNode.removeChild(n)};E.exports=y},43092:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(29747),x=new m({initialize:function(){this.isRunning=!1,this.callback=S,this.isSetTimeOut=!1,this.timeOutID=null,this.delay=0;var d=this;this.step=function t(e){d.callback(e),d.isRunning&&(d.timeOutID=window.requestAnimationFrame(t))},this.stepTimeout=function t(){d.isRunning&&(d.timeOutID=window.setTimeout(t,d.delay)),d.callback(window.performance.now())}},start:function(h,d,t){this.isRunning||(this.callback=h,this.isSetTimeOut=d,this.delay=t,this.isRunning=!0,this.timeOutID=d?window.setTimeout(this.stepTimeout,0):window.requestAnimationFrame(this.step))},stop:function(){this.isRunning=!1,this.isSetTimeOut?clearTimeout(this.timeOutID):window.cancelAnimationFrame(this.timeOutID)},destroy:function(){this.stop(),this.callback=S}});E.exports=x},84902:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m={AddToDOM:n(40366),DOMContentLoaded:n(57264),GetInnerHeight:n(57811),GetScreenOrientation:n(45818),GetTarget:n(74403),ParseXML:n(56836),RemoveFromDOM:n(35846),RequestAnimationFrame:n(43092)};E.exports=m},47565:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(50792),x=n(37277),h=new m({Extends:S,initialize:function(){S.call(this)},shutdown:function(){this.removeAllListeners()},destroy:function(){this.removeAllListeners()}});x.register("EventEmitter",h,"events"),E.exports=h},93055:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={EventEmitter:n(47565)}},10189:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(13045),x=new m({Extends:S,initialize:function(d,t){t===void 0&&(t=1),S.call(this,d,"FilterBarrel"),this.amount=t}});E.exports=x},16762:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(13045),x=new m({Extends:S,initialize:function(d,t,e,l,i){t===void 0&&(t="__WHITE"),e===void 0&&(e=0),l===void 0&&(l=1),i===void 0&&(i=[1,1,1,1]),S.call(this,d,"FilterBlend"),this.glTexture,this.blendMode=e,this.amount=l,this.color=i,this.setTexture(t)},setTexture:function(h){var d=this.camera.scene.sys.textures.getFrame(h);return d&&(this.glTexture=d.glTexture),this}});E.exports=x},37597:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(13045),x=new m({Extends:S,initialize:function(d,t){S.call(this,d,"FilterBlocky"),this.size={x:4,y:4},this.offset={x:0,y:0},t&&(t.size!==void 0&&(typeof t.size=="number"?(this.size.x=t.size,this.size.y=t.size):(this.size.x=t.size.x,this.size.y=t.size.y)),t.offset!==void 0&&(typeof t.offset=="number"?(this.offset.x=t.offset,this.offset.y=t.offset):(this.offset.x=t.offset.x,this.offset.y=t.offset.y)))}});E.exports=x},88344:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(13045),x=new m({Extends:S,initialize:function(d,t,e,l,i,s,r){t===void 0&&(t=0),e===void 0&&(e=2),l===void 0&&(l=2),i===void 0&&(i=1),r===void 0&&(r=4),S.call(this,d,"FilterBlur"),this.quality=t,this.x=e,this.y=l,this.strength=i,this.glcolor=[1,1,1],s!=null&&(this.color=s),this.steps=r},color:{get:function(){var h=this.glcolor;return(h[0]*255<<16)+(h[1]*255<<8)+(h[2]*255|0)},set:function(h){var d=this.glcolor;d[0]=(h>>16&255)/255,d[1]=(h>>8&255)/255,d[2]=(h&255)/255}},getPadding:function(){var h=this.paddingOverride;if(h)return this.currentPadding.setTo(h.x,h.y,h.width,h.height),h;var d=this.quality,t=d===0?1.333:d===1?3.2307692308:5.176470588235294,e=this.steps*this.strength*t,l=Math.ceil(this.x*e),i=Math.ceil(this.y*e);return this.currentPadding.setTo(-l,-i,l*2,i*2),this.currentPadding}});E.exports=x},47564:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(13045),x=new m({Extends:S,initialize:function(d,t,e,l,i,s,r,o){t===void 0&&(t=.5),e===void 0&&(e=1),l===void 0&&(l=.2),i===void 0&&(i=!1),s===void 0&&(s=1),r===void 0&&(r=1),o===void 0&&(o=1),S.call(this,d,"FilterBokeh"),this.radius=t,this.amount=e,this.contrast=l,this.isTiltShift=i,this.blurX=s,this.blurY=r,this.strength=o},getPadding:function(){var h=this.paddingOverride;if(h)return this.currentPadding.setTo(h.x,h.y,h.width,h.height),h;var d=Math.ceil(this.camera.height*this.radius*.021426096060426905);return this.currentPadding.setTo(-d,-d,d*2,d*2),this.currentPadding}});E.exports=x},77011:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(13045),x=n(89422),h=new m({Extends:S,initialize:function(t){S.call(this,t,"FilterColorMatrix"),this.colorMatrix=new x},destroy:function(){this.colorMatrix=null,S.prototype.destroy.call(this)}});E.exports=h},13045:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(87841),x=new m({initialize:function(d,t){this.active=!0,this.camera=d,this.renderNode=t,this.paddingOverride=new S,this.currentPadding=new S,this.allowBaseDraw=!0,this.ignoreDestroy=!1},getPadding:function(){return this.paddingOverride||this.currentPadding},setPaddingOverride:function(h,d,t,e){return h===null?(this.paddingOverride=null,this):(h===void 0&&(h=0),d===void 0&&(d=0),t===void 0&&(t=0),e===void 0&&(e=0),this.paddingOverride=new S(h,d,t-h,e-d),this)},setActive:function(h){return this.active=h,this},destroy:function(){this.active=!1,this.renderNode=null,this.camera=null}});E.exports=x},16898:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(13045),x=new m({Extends:S,initialize:function(d,t,e,l){t===void 0&&(t="__WHITE"),e===void 0&&(e=.005),l===void 0&&(l=.005),S.call(this,d,"FilterDisplacement"),this.x=e,this.y=l,this.glTexture,this.setTexture(t)},setTexture:function(h){var d=this.camera.scene.sys.textures.getFrame(h);return d&&(this.glTexture=d.glTexture),this},getPadding:function(){var h=this.paddingOverride;if(h)return this.currentPadding.setTo(h.x,h.y,h.width,h.height),h;var d=this.camera,t=Math.ceil(d.width*this.x*.5),e=Math.ceil(d.height*this.y*.5);return this.currentPadding.setTo(-t,-e,t*2,e*2),this.currentPadding}});E.exports=x},42652:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(13045),x=new m({Extends:S,initialize:function(d,t,e,l,i,s,r,o){e===void 0&&(e=4),l===void 0&&(l=0),i===void 0&&(i=1),s===void 0&&(s=!1),r===void 0&&(r=d.scene.sys.game.config.glowQuality),o===void 0&&(o=d.scene.sys.game.config.glowDistance),S.call(this,d,"FilterGlow"),this.outerStrength=e,this.innerStrength=l,this.scale=i,this.knockout=s,this._quality=Math.max(Math.round(r),1),this._distance=Math.max(Math.round(o),1),this.glcolor=[1,1,1,1],t!==void 0&&(this.color=t)},color:{get:function(){var h=this.glcolor;return(h[0]*255<<16)+(h[1]*255<<8)+(h[2]*255|0)},set:function(h){var d=this.glcolor;d[0]=(h>>16&255)/255,d[1]=(h>>8&255)/255,d[2]=(h&255)/255}},distance:{get:function(){return this._distance}},quality:{get:function(){return this._quality}},getPadding:function(){var h=this.paddingOverride;if(h)return this.currentPadding.setTo(h.x,h.y,h.width,h.height),h;var d=this.currentPadding,t=Math.ceil(this.distance*this.scale);return d.left=-t,d.top=-t,d.right=t,d.bottom=t,d}});E.exports=x},97797:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(45650),x=n(13045),h=new m({Extends:x,initialize:function(t,e,l,i,s,r){e===void 0&&(e="__WHITE"),l===void 0&&(l=!1),r===void 0&&(r=1),x.call(this,t,"FilterMask"),this.glTexture,this._dynamicTexture=null,this.maskGameObject=null,this.invert=l,this.autoUpdate=!0,this.needsUpdate=!1,this.viewTransform=s||"world",this.viewCamera=i,this.scaleFactor=r,typeof e=="string"?this.setTexture(e):this.setGameObject(e)},updateDynamicTexture:function(d,t){var e=this.scaleFactor,l=d*e,i=t*e,s=this.maskGameObject;if(s){if(this._dynamicTexture)this._dynamicTexture.width!==l||this._dynamicTexture.height!==i?this._dynamicTexture.setSize(l,i,!1):this._dynamicTexture.clear();else{var r=this.camera.scene.sys.textures;this._dynamicTexture=r.addDynamicTexture(S(),l,i,!1)}this.glTexture=this._dynamicTexture.get().glTexture;var o=this.viewCamera||s.scene.renderer.currentViewCamera;this._dynamicTexture.capture(s,{transform:this.viewTransform,camera:o}),this._dynamicTexture.render(),this.needsUpdate=!1}},setGameObject:function(d){return this.maskGameObject=d,this.needsUpdate=!0,this},setTexture:function(d){var t=this.camera.scene.sys.textures.getFrame(d);return t&&(this.maskGameObject=null,this.glTexture=t.glTexture),this},destroy:function(){this._dynamicTexture&&this._dynamicTexture.destroy(),this.maskGameObject=null,this._dynamicTexture=null,x.prototype.destroy.call(this)}});E.exports=h},2195:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(53427),x=n(13045),h=n(16762),d=new m({Extends:x,initialize:function(e){x.call(this,e,"FilterParallelFilters"),this.top=new S(e),this.bottom=new S(e),this.blend=new h(e)}});E.exports=d},29861:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(13045),x=new m({Extends:S,initialize:function(d,t){t===void 0&&(t=1),S.call(this,d,"FilterPixelate"),this.amount=t}});E.exports=x},63785:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(13045),x=new m({Extends:S,initialize:function(d,t,e){e===void 0&&(e=null),S.call(this,d,"FilterSampler"),this.allowBaseDraw=!1,this.callback=t,this.region=e}});E.exports=x},62229:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(13045),x=new m({Extends:S,initialize:function(d,t,e,l,i,s,r,o){t===void 0&&(t=0),e===void 0&&(e=0),l===void 0&&(l=.1),i===void 0&&(i=1),r===void 0&&(r=6),o===void 0&&(o=1),S.call(this,d,"FilterShadow"),this.x=t,this.y=e,this.decay=l,this.power=i,this.glcolor=[0,0,0,1],this.samples=r,this.intensity=o,s!==void 0&&(this.color=s)},color:{get:function(){var h=this.glcolor;return(h[0]*255<<16)+(h[1]*255<<8)+(h[2]*255|0)},set:function(h){var d=this.glcolor;d[0]=(h>>16&255)/255,d[1]=(h>>8&255)/255,d[2]=(h&255)/255}},getPadding:function(){var h=this.paddingOverride;if(h)return this.currentPadding.setTo(h.x,h.y,h.width,h.height),h;var d=this.camera,t=this.decay*this.intensity,e=Math.ceil(Math.abs(this.x)*d.width*t),l=Math.ceil(Math.abs(this.y)*d.height*t);return this.currentPadding.setTo(-e,-l,e*2,l*2),this.currentPadding}});E.exports=x},99534:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(13045),x=new m({Extends:S,initialize:function(d,t,e,l){S.call(this,d,"FilterThreshold"),this.edge1=[.5,.5,.5,.5],this.edge2=[.5,.5,.5,.5],this.invert=[!1,!1,!1,!1],this.setEdge(t,e),this.setInvert(l)},setEdge:function(h,d){h===void 0&&(h=.5),typeof h=="number"&&(h=[h,h,h,h]),this.edge1[0]=h[0],this.edge1[1]=h[1],this.edge1[2]=h[2],this.edge1[3]=h[3],d===void 0&&(d=h),typeof d=="number"&&(d=[d,d,d,d]),this.edge2[0]=d[0],this.edge2[1]=d[1],this.edge2[2]=d[2],this.edge2[3]=d[3];for(var t=0;t<4;t++)if(this.edge1[t]>this.edge2[t]){var e=this.edge1[t];this.edge1[t]=this.edge2[t],this.edge2[t]=e}return this},setInvert:function(h){return h===void 0&&(h=!1),typeof h=="boolean"&&(h=[h,h,h,h]),this.invert[0]=h[0],this.invert[1]=h[1],this.invert[2]=h[2],this.invert[3]=h[3],this}});E.exports=x},11889:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m={Controller:n(13045),Barrel:n(10189),Blend:n(16762),Blocky:n(37597),Blur:n(88344),Bokeh:n(47564),ColorMatrix:n(77011),Displacement:n(16898),Glow:n(42652),Mask:n(97797),ParallelFilters:n(2195),Pixelate:n(29861),Sampler:n(63785),Shadow:n(62229),Threshold:n(99534)};E.exports=m},25305:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(10312),S=n(23568),x=function(h,d,t){d.x=S(t,"x",0),d.y=S(t,"y",0),d.depth=S(t,"depth",0),d.flipX=S(t,"flipX",!1),d.flipY=S(t,"flipY",!1);var e=S(t,"scale",null);typeof e=="number"?d.setScale(e):e!==null&&(d.scaleX=S(e,"x",1),d.scaleY=S(e,"y",1));var l=S(t,"scrollFactor",null);typeof l=="number"?d.setScrollFactor(l):l!==null&&(d.scrollFactorX=S(l,"x",1),d.scrollFactorY=S(l,"y",1)),d.rotation=S(t,"rotation",0);var i=S(t,"angle",null);i!==null&&(d.angle=i),d.alpha=S(t,"alpha",1);var s=S(t,"origin",null);if(typeof s=="number")d.setOrigin(s);else if(s!==null){var r=S(s,"x",.5),o=S(s,"y",.5);d.setOrigin(r,o)}d.blendMode=S(t,"blendMode",m.NORMAL),d.visible=S(t,"visible",!0);var a=S(t,"add",!0);return a&&h.sys.displayList.add(d),d.preUpdate&&h.sys.updateList.add(d),d};E.exports=x},13059:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(23568),S=function(x,h){var d=m(h,"anims",null);if(d===null)return x;if(typeof d=="string")x.anims.play(d);else if(typeof d=="object"){var t=x.anims,e=m(d,"key",void 0);if(e){var l=m(d,"startFrame",void 0),i=m(d,"delay",0),s=m(d,"repeat",0),r=m(d,"repeatDelay",0),o=m(d,"yoyo",!1),a=m(d,"play",!1),u=m(d,"delayedPlay",0),f={key:e,delay:i,repeat:s,repeatDelay:r,yoyo:o,startFrame:l};a?t.play(f):u>0?t.playAfterDelay(f,u):t.load(f)}}return x};E.exports=S},8050:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(73162),x=n(37277),h=n(51708),d=n(44594),t=n(19186),e=new m({Extends:S,initialize:function(i){S.call(this,i),this.sortChildrenFlag=!1,this.scene=i,this.systems=i.sys,this.events=i.sys.events,this.addCallback=this.addChildCallback,this.removeCallback=this.removeChildCallback,this.events.once(d.BOOT,this.boot,this),this.events.on(d.START,this.start,this)},boot:function(){this.events.once(d.DESTROY,this.destroy,this)},addChildCallback:function(l){l.displayList&&l.displayList!==this&&l.removeFromDisplayList(),l.parentContainer&&l.parentContainer.remove(l),l.displayList||(this.queueDepthSort(),l.displayList=this,l.emit(h.ADDED_TO_SCENE,l,this.scene),this.events.emit(d.ADDED_TO_SCENE,l,this.scene))},removeChildCallback:function(l){this.queueDepthSort(),l.displayList=null,l.emit(h.REMOVED_FROM_SCENE,l,this.scene),this.events.emit(d.REMOVED_FROM_SCENE,l,this.scene)},start:function(){this.events.once(d.SHUTDOWN,this.shutdown,this)},queueDepthSort:function(){this.sortChildrenFlag=!0},depthSort:function(){this.sortChildrenFlag&&(t(this.list,this.sortByDepth),this.sortChildrenFlag=!1)},sortByDepth:function(l,i){return l._depth-i._depth},getChildren:function(){return this.list},shutdown:function(){for(var l=this.list,i=l.length;i--;)l[i]&&l[i].destroy(!0);l.length=0,this.events.off(d.SHUTDOWN,this.shutdown,this)},destroy:function(){this.shutdown(),this.events.off(d.START,this.start,this),this.scene=null,this.systems=null,this.events=null}});x.register("DisplayList",e,"displayList"),E.exports=e},95643:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(31401),x=n(53774),h=n(45893),d=n(50792),t=n(51708),e=n(44594),l=new m({Extends:d,Mixins:[S.Filters,S.RenderSteps],initialize:function(s,r){d.call(this),this.scene=s,this.displayList=null,this.type=r,this.state=0,this.parentContainer=null,this.name="",this.active=!0,this.tabIndex=-1,this.data=null,this.renderFlags=15,this.cameraFilter=0,this.vertexRoundMode="safeAuto",this.input=null,this.body=null,this.ignoreDestroy=!1,this.addRenderStep&&this.addRenderStep(this.renderWebGL),this.on(t.ADDED_TO_SCENE,this.addedToScene,this),this.on(t.REMOVED_FROM_SCENE,this.removedFromScene,this),s.sys.queueDepthSort()},setActive:function(i){return this.active=i,this},setName:function(i){return this.name=i,this},setState:function(i){return this.state=i,this},setDataEnabled:function(){return this.data||(this.data=new h(this)),this},setData:function(i,s){return this.data||(this.data=new h(this)),this.data.set(i,s),this},incData:function(i,s){return this.data||(this.data=new h(this)),this.data.inc(i,s),this},toggleData:function(i){return this.data||(this.data=new h(this)),this.data.toggle(i),this},getData:function(i){return this.data||(this.data=new h(this)),this.data.get(i)},setInteractive:function(i,s,r){return this.scene.sys.input.enable(this,i,s,r),this},disableInteractive:function(i){return i===void 0&&(i=!1),this.scene.sys.input.disable(this,i),this},removeInteractive:function(i){return i===void 0&&(i=!1),this.scene.sys.input.clear(this),i&&this.scene.sys.input.resetCursor(),this.input=void 0,this},addedToScene:function(){},removedFromScene:function(){},update:function(){},toJSON:function(){return x(this)},willRender:function(i){var s=this.displayList&&this.displayList.active?this.displayList.willRender(i):!0;return!(!s||l.RENDER_MASK!==this.renderFlags||this.cameraFilter!==0&&this.cameraFilter&i.id)},willRoundVertices:function(i,s){switch(this.vertexRoundMode){case"safe":return s;case"safeAuto":return s&&i.roundPixels;case"full":return!0;case"fullAuto":return i.roundPixels;case"off":default:return!1}},setVertexRoundMode:function(i){return this.vertexRoundMode=i,this},getIndexList:function(){for(var i=this,s=this.parentContainer,r=[];s&&(r.unshift(s.getIndex(i)),i=s,s.parentContainer);)s=s.parentContainer;return this.displayList?r.unshift(this.displayList.getIndex(i)):r.unshift(this.scene.sys.displayList.getIndex(i)),r},addToDisplayList:function(i){return i===void 0&&(i=this.scene.sys.displayList),this.displayList&&this.displayList!==i&&this.removeFromDisplayList(),i.exists(this)||(this.displayList=i,i.add(this,!0),i.queueDepthSort(),this.emit(t.ADDED_TO_SCENE,this,this.scene),i.events.emit(e.ADDED_TO_SCENE,this,this.scene)),this},addToUpdateList:function(){return this.scene&&this.preUpdate&&this.scene.sys.updateList.add(this),this},removeFromDisplayList:function(){var i=this.displayList||this.scene.sys.displayList;return i&&i.exists(this)&&(i.remove(this,!0),i.queueDepthSort(),this.displayList=null,this.emit(t.REMOVED_FROM_SCENE,this,this.scene),i.events.emit(e.REMOVED_FROM_SCENE,this,this.scene)),this},removeFromUpdateList:function(){return this.scene&&this.preUpdate&&this.scene.sys.updateList.remove(this),this},getDisplayList:function(){var i=null;return this.parentContainer?i=this.parentContainer.list:this.displayList&&(i=this.displayList.list),i},destroy:function(i){!this.scene||this.ignoreDestroy||(i===void 0&&(i=!1),this.preDestroy&&this.preDestroy.call(this),this.emit(t.DESTROY,this,i),this.removeAllListeners(),this.removeFromDisplayList(),this.removeFromUpdateList(),this.input&&(this.scene.sys.input.clear(this),this.input=void 0),this.data&&(this.data.destroy(),this.data=void 0),this.body&&(this.body.destroy(),this.body=void 0),this.filterCamera&&(this.filterCamera.destroy(),this.filterCamera=void 0),this.active=!1,this.visible=!1,this.scene=void 0,this.parentContainer=void 0)}});l.RENDER_MASK=15,E.exports=l},44603:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(37277),x=n(44594),h=new m({initialize:function(t){this.scene=t,this.systems=t.sys,this.events=t.sys.events,this.displayList,this.updateList,this.events.once(x.BOOT,this.boot,this),this.events.on(x.START,this.start,this)},boot:function(){this.displayList=this.systems.displayList,this.updateList=this.systems.updateList,this.events.once(x.DESTROY,this.destroy,this)},start:function(){this.events.once(x.SHUTDOWN,this.shutdown,this)},shutdown:function(){this.events.off(x.SHUTDOWN,this.shutdown,this)},destroy:function(){this.shutdown(),this.events.off(x.START,this.start,this),this.scene=null,this.systems=null,this.events=null,this.displayList=null,this.updateList=null}});h.register=function(d,t){h.prototype.hasOwnProperty(d)||(h.prototype[d]=t)},h.remove=function(d){h.prototype.hasOwnProperty(d)&&delete h.prototype[d]},S.register("GameObjectCreator",h,"make"),E.exports=h},39429:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(37277),x=n(44594),h=new m({initialize:function(t){this.scene=t,this.systems=t.sys,this.events=t.sys.events,this.displayList,this.updateList,this.events.once(x.BOOT,this.boot,this),this.events.on(x.START,this.start,this)},boot:function(){this.displayList=this.systems.displayList,this.updateList=this.systems.updateList,this.events.once(x.DESTROY,this.destroy,this)},start:function(){this.events.once(x.SHUTDOWN,this.shutdown,this)},existing:function(d){return(d.renderCanvas||d.renderWebGL)&&this.displayList.add(d),d.preUpdate&&this.updateList.add(d),d},shutdown:function(){this.events.off(x.SHUTDOWN,this.shutdown,this)},destroy:function(){this.shutdown(),this.events.off(x.START,this.start,this),this.scene=null,this.systems=null,this.events=null,this.displayList=null,this.updateList=null}});h.register=function(d,t){h.prototype.hasOwnProperty(d)||(h.prototype[d]=t)},h.remove=function(d){h.prototype.hasOwnProperty(d)&&delete h.prototype[d]},S.register("GameObjectFactory",h,"add"),E.exports=h},91296:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(61340),S=new m,x=new m,h=new m,d=new m,t={camera:S,sprite:x,calc:h,cameraExternal:d},e=function(l,i,s,r){return r?d.loadIdentity():d.copyFrom(i.matrixExternal),S.copyWithScrollFactorFrom(r?i.matrix:i.matrixCombined,i.scrollX,i.scrollY,l.scrollFactorX,l.scrollFactorY),h.copyFrom(S),s&&h.multiply(s),x.applyITRS(l.x,l.y,l.rotation,l.scaleX,l.scaleY),h.multiply(x),t};E.exports=e},45027:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(25774),x=n(37277),h=n(44594),d=new m({Extends:S,initialize:function(e){S.call(this),this.checkQueue=!0,this.scene=e,this.systems=e.sys,e.sys.events.once(h.BOOT,this.boot,this),e.sys.events.on(h.START,this.start,this)},boot:function(){this.systems.events.once(h.DESTROY,this.destroy,this)},start:function(){var t=this.systems.events;t.on(h.PRE_UPDATE,this.update,this),t.on(h.UPDATE,this.sceneUpdate,this),t.once(h.SHUTDOWN,this.shutdown,this)},sceneUpdate:function(t,e){for(var l=this._active,i=l.length,s=0;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={frame:null,uvSource:null},n={quad:new Float32Array(8)},m=function(S,x,h,d,t,e,l,i,s){y.frame=h.frame,y.uvSource=t;var r=d.x-h.displayOriginX+e,o=d.y-h.displayOriginY+l,a=r+d.w,u=o+d.h,f=i.a,v=i.b,c=i.c,g=i.d,p=i.e,T=i.f,C=r*f+o*c+p,M=r*v+o*g+T,A=r*f+u*c+p,R=r*v+u*g+T,P=a*f+u*c+p,L=a*v+u*g+T,F=a*f+o*c+p,w=a*v+o*g+T;n.quad[0]=C,n.quad[1]=M,n.quad[2]=A,n.quad[3]=R,n.quad[4]=P,n.quad[5]=L,n.quad[6]=F,n.quad[7]=w,x.run(S,h,void 0,0,y,n,s)};E.exports=m},53048:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){if(S===void 0&&(S=!1),x===void 0)return x={local:{x:0,y:0,width:0,height:0},global:{x:0,y:0,width:0,height:0},lines:{shortest:0,longest:0,lengths:null,height:0},wrappedText:"",words:[],characters:[],scaleX:0,scaleY:0},x;var h=n.text,d=h.length,t=n.maxWidth,e=n.wordWrapCharCode,l=Number.MAX_VALUE,i=Number.MAX_VALUE,s=0,r=0,o=n.fontData.chars,a=n.fontData.lineHeight,u=n.letterSpacing,f=n.lineSpacing,v=0,c=0,g=0,p=null,T=n._align,C=0,M=0,A=n.fontSize/n.fontData.size,R=A*n.scaleX,P=A*n.scaleY,L=null,F=0,w=[],O=Number.MAX_VALUE,B=0,I=0,D=0,N,z,V,U=[],G=[],b=null,Y=function(lt,dt){for(var ct=0,Bt=0;Bt0){V=h.split(` +`);var W=[];for(N=0;NB&&(B=D),DC&&(l=C),i>M&&(i=M);var k=C+p.xAdvance,q=M+a;sB&&(B=D),D0)for(var rt=0;rt{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(21859),S=function(x,h,d,t,e,l,i){var s=x.sys.textures.get(d),r=s.get(t),o=x.sys.cache.xml.get(e);if(r&&o){var a=m(o,r,l,i,s);return x.sys.cache.bitmapFont.add(h,{data:a,texture:d,frame:t,fromAtlas:!0}),!0}else return!1};E.exports=S},6925:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(35154),S=function(x,h){var d=h.width,t=h.height,e=Math.floor(d/2),l=Math.floor(t/2),i=m(h,"chars","");if(i!==""){var s=m(h,"image",""),r=x.sys.textures.getFrame(s),o=r.cutX,a=r.cutY,u=r.source.width,f=r.source.height,v=m(h,"offset.x",0),c=m(h,"offset.y",0),g=m(h,"spacing.x",0),p=m(h,"spacing.y",0),T=m(h,"lineSpacing",0),C=m(h,"charsPerRow",null);C===null&&(C=u/d,C>i.length&&(C=i.length));for(var M=v,A=c,R={retroFont:!0,font:s,size:d,lineHeight:t+T,chars:{}},P=0,L=0;L{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */function y(m,S){return parseInt(m.getAttribute(S),10)}var n=function(m,S,x,h,d){x===void 0&&(x=0),h===void 0&&(h=0);var t=S.cutX,e=S.cutY,l=S.source.width,i=S.source.height,s=S.sourceIndex,r={},o=m.getElementsByTagName("info")[0],a=m.getElementsByTagName("common")[0];r.font=o.getAttribute("face"),r.size=y(o,"size"),r.lineHeight=y(a,"lineHeight")+h,r.chars={};var u=m.getElementsByTagName("char"),f=S!==void 0&&S.trimmed;if(f)var v=S.height,c=S.width;for(var g=0;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87662),S=n(79291),x={Parse:n(6925)};x=S(!1,x,m),E.exports=x},87662:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={TEXT_SET1:" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",TEXT_SET2:` !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ`,TEXT_SET3:"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",TEXT_SET4:"ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",TEXT_SET5:"ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",TEXT_SET6:`ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789"(),-.' `,TEXT_SET7:`AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW")28FLRX-'39`,TEXT_SET8:"0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",TEXT_SET9:`ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'"?!`,TEXT_SET10:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",TEXT_SET11:`ABCDEFGHIJKLMNOPQRSTUVWXYZ.,"-+!?()':;0123456789`};E.exports=y},2638:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(22186),S=n(83419),x=n(12310),h=new S({Extends:m,Mixins:[x],initialize:function(t,e,l,i,s,r,o){m.call(this,t,e,l,i,s,r,o),this.type="DynamicBitmapText",this.scrollX=0,this.scrollY=0,this.cropWidth=0,this.cropHeight=0,this.displayCallback,this.callbackData={parent:this,color:0,tint:{topLeft:0,topRight:0,bottomLeft:0,bottomRight:0},index:0,charCode:0,x:0,y:0,scale:0,rotation:0,data:0}},setSize:function(d,t){return this.cropWidth=d,this.cropHeight=t,this},setDisplayCallback:function(d){return this.displayCallback=d,this},setScrollX:function(d){return this.scrollX=d,this},setScrollY:function(d){return this.scrollY=d,this}});E.exports=h},86741:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(20926),S=function(x,h,d,t){var e=h._text,l=e.length,i=x.currentContext;if(!(l===0||!m(x,i,h,d,t))){d.addToRenderList(h);var s=h.fromAtlas?h.frame:h.texture.frames.__BASE,r=h.displayCallback,o=h.callbackData,a=h.fontData.chars,u=h.fontData.lineHeight,f=h._letterSpacing,v=0,c=0,g=0,p=null,T=0,C=0,M=0,A=0,R=0,P=0,L=null,F=0,w=h.frame.source.image,O=s.cutX,B=s.cutY,I=0,D=0,N=h._fontSize/h.fontData.size,z=h._align,V=0,U=0;h.getTextBounds(!1);var G=h._bounds.lines;z===1?U=(G.longest-G.lengths[0])/2:z===2&&(U=G.longest-G.lengths[0]),i.translate(-h.displayOriginX,-h.displayOriginY);var b=d.roundPixels;h.cropWidth>0&&h.cropHeight>0&&(i.beginPath(),i.rect(0,0,h.cropWidth,h.cropHeight),i.clip());for(var Y=0;Y{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(2638),S=n(25305),x=n(44603),h=n(23568);x.register("dynamicBitmapText",function(d,t){d===void 0&&(d={});var e=h(d,"font",""),l=h(d,"text",""),i=h(d,"size",!1),s=new m(this.scene,0,0,e,l,i);return t!==void 0&&(d.add=t),S(this.scene,s,d),s})},72566:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(2638),S=n(39429);S.register("dynamicBitmapText",function(x,h,d,t,e){return this.displayList.add(new m(this.scene,x,h,d,t,e))})},12310:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(73482),x=n(86741),E.exports={renderWebGL:S,renderCanvas:x}},73482:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91296),S=n(61340),x=n(70554),h=new S,d={frame:null,uvSource:null},t={tintEffect:0,tintTopLeft:0,tintTopRight:0,tintBottomLeft:0,tintBottomRight:0},e=function(l,i,s,r){var o=i.text,a=o.length;if(a!==0){var u=s.camera;u.addToRenderList(i);var f=s,v=i.customRenderNodes.Submitter||i.defaultRenderNodes.Submitter,c=m(i,u,r,!s.useCanvas),g=c.sprite,p=c.calc,T=h,C=i.cropWidth>0||i.cropHeight>0;C&&(f=s.getClone(),f.setScissorEnable(!0),f.setScissorBox(p.tx,p.ty,i.cropWidth*p.scaleX,i.cropHeight*p.scaleY),f.use()),d.frame=i.frame;var M=i.tintFill,A=x.getTintAppendFloatAlpha(i.tintTopLeft,i._alphaTL),R=x.getTintAppendFloatAlpha(i.tintTopRight,i._alphaTR),P=x.getTintAppendFloatAlpha(i.tintBottomLeft,i._alphaBL),L=x.getTintAppendFloatAlpha(i.tintBottomRight,i._alphaBR),F=0,w=0,O=0,B=0,I=i.letterSpacing,D,N=0,z=0,V,U=i.scrollX,G=i.scrollY,b=i.fontData,Y=b.chars,W=b.lineHeight,H=i.fontSize/b.size,X=0,K=i._align,Z=0,Q=0,j=i.getTextBounds(!1);i.maxWidth>0&&(o=j.wrappedText,a=o.length);var J=i._bounds.lines;K===1?Q=(J.longest-J.lengths[0])/2:K===2&&(Q=J.longest-J.lengths[0]);for(var tt=i.displayCallback,k=i.callbackData,q=0;q{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(70972),S=n(83419),x=n(45319),h=n(31401),d=n(95643),t=n(53048),e=n(61327),l=n(21859),i=n(87841),s=n(18658),r=new S({Extends:d,Mixins:[h.Alpha,h.BlendMode,h.Depth,h.GetBounds,h.Lighting,h.Mask,h.Origin,h.RenderNodes,h.ScrollFactor,h.Texture,h.Tint,h.Transform,h.Visible,s],initialize:function(a,u,f,v,c,g,p){c===void 0&&(c=""),p===void 0&&(p=0),d.call(this,a,"BitmapText"),this.font=v;var T=this.scene.sys.cache.bitmapFont.get(v);T||console.warn("Invalid BitmapText key: "+v),this.fontData=T.data,this._text="",this._fontSize=g||this.fontData.size,this._letterSpacing=0,this._lineSpacing=0,this._align=p,this._bounds=t(),this._dirty=!0,this._maxWidth=0,this.wordWrapCharCode=32,this.charColors=[],this.dropShadowX=0,this.dropShadowY=0,this.dropShadowColor=0,this.dropShadowAlpha=.5,this.fromAtlas=T.fromAtlas,this.setTexture(T.texture,T.frame),this.setPosition(u,f),this.setOrigin(0,0),this.initRenderNodes(this._defaultRenderNodesMap),this.setText(c)},_defaultRenderNodesMap:{get:function(){return m}},setLeftAlign:function(){return this._align=r.ALIGN_LEFT,this._dirty=!0,this},setCenterAlign:function(){return this._align=r.ALIGN_CENTER,this._dirty=!0,this},setRightAlign:function(){return this._align=r.ALIGN_RIGHT,this._dirty=!0,this},setFontSize:function(o){return this._fontSize=o,this._dirty=!0,this},setLetterSpacing:function(o){return o===void 0&&(o=0),this._letterSpacing=o,this._dirty=!0,this},setLineSpacing:function(o){return o===void 0&&(o=0),this.lineSpacing=o,this},setText:function(o){return!o&&o!==0&&(o=""),Array.isArray(o)&&(o=o.join(` +`)),o!==this.text&&(this._text=o.toString(),this._dirty=!0,this.updateDisplayOrigin()),this},setDropShadow:function(o,a,u,f){return o===void 0&&(o=0),a===void 0&&(a=0),u===void 0&&(u=0),f===void 0&&(f=.5),this.dropShadowX=o,this.dropShadowY=a,this.dropShadowColor=u,this.dropShadowAlpha=f,this},setCharacterTint:function(o,a,u,f,v,c,g){o===void 0&&(o=0),a===void 0&&(a=1),u===void 0&&(u=!1),f===void 0&&(f=-1),v===void 0&&(v=f,c=f,g=f);var p=this.text.length;a===-1&&(a=p),o<0&&(o=p+o),o=x(o,0,p-1);for(var T=x(o+a,o,p),C=this.charColors,M=o;M{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(20926),S=function(x,h,d,t){var e=h._text,l=e.length,i=x.currentContext;if(!(l===0||!m(x,i,h,d,t))){d.addToRenderList(h);var s=h.fromAtlas?h.frame:h.texture.frames.__BASE,r=h.fontData.chars,o=h.fontData.lineHeight,a=h._letterSpacing,u=h._lineSpacing,f=0,v=0,c=0,g=null,p=0,T=0,C=0,M=0,A=0,R=0,P=null,L=0,F=s.source.image,w=s.cutX,O=s.cutY,B=h._fontSize/h.fontData.size,I=h._align,D=0,N=0,z=h.getTextBounds(!1);h.maxWidth>0&&(e=z.wrappedText,l=e.length);var V=h._bounds.lines;I===1?N=(V.longest-V.lengths[0])/2:I===2&&(N=V.longest-V.lengths[0]),i.translate(-h.displayOriginX,-h.displayOriginY);for(var U=d.roundPixels,G=0;G{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(22186),S=n(25305),x=n(44603),h=n(23568),d=n(35154);x.register("bitmapText",function(t,e){t===void 0&&(t={});var l=d(t,"font",""),i=h(t,"text",""),s=h(t,"size",!1),r=d(t,"align",0),o=new m(this.scene,0,0,l,i,s,r);return e!==void 0&&(t.add=e),S(this.scene,o,t),o})},34914:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(22186),S=n(39429);S.register("bitmapText",function(x,h,d,t,e,l){return this.displayList.add(new m(this.scene,x,h,d,t,e,l))})},18658:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(33590),x=n(37289),E.exports={renderWebGL:S,renderCanvas:x}},33590:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(3217),S=n(91296),x=n(70554),h={tintEffect:0,tintTopLeft:0,tintTopRight:0,tintBottomLeft:0,tintBottomRight:0},d={tintEffect:0,tintTopLeft:0,tintTopRight:0,tintBottomLeft:0,tintBottomRight:0},t=function(e,l,i,s){var r=l._text,o=r.length;if(o!==0){var a=i.camera;a.addToRenderList(l);var u=l.customRenderNodes.Submitter||l.defaultRenderNodes.Submitter,f=S(l,a,s,!i.useCanvas).calc,v=l.charColors,c=x.getTintAppendFloatAlpha;h.tintFill=l.tintFill,h.tintTopLeft=c(l.tintTopLeft,l._alphaTL),h.tintTopRight=c(l.tintTopRight,l._alphaTR),h.tintBottomLeft=c(l.tintBottomLeft,l._alphaBL),h.tintBottomRight=c(l.tintBottomRight,l._alphaBR);var g=l.getTextBounds(!1),p,T,C,M=g.characters,A=l.dropShadowX,R=l.dropShadowY,P=A!==0||R!==0;if(P){var L=l.dropShadowColor,F=l.dropShadowAlpha;for(d.tintFill=1,d.tintTopLeft=c(L,F*l._alphaTL),d.tintTopRight=c(L,F*l._alphaTR),d.tintBottomLeft=c(L,F*l._alphaBL),d.tintBottomRight=c(L,F*l._alphaBR),p=0;p{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(48011),S=n(46590),x=n(98682),h=n(83419),d=n(31401),t=n(4327),e=n(95643),l=n(73162),i=new h({Extends:e,Mixins:[d.Alpha,d.BlendMode,d.Depth,d.Lighting,d.Mask,d.RenderNodes,d.ScrollFactor,d.Size,d.Texture,d.Transform,d.Visible,m],initialize:function(r,o,a,u,f){e.call(this,r,"Blitter"),this.setTexture(u,f),this.setPosition(o,a),this.initRenderNodes(this._defaultRenderNodesMap),this.children=new l,this.renderList=[],this.dirty=!1},_defaultRenderNodesMap:{get:function(){return x}},create:function(s,r,o,a,u){a===void 0&&(a=!0),u===void 0&&(u=this.children.length),o===void 0?o=this.frame:o instanceof t||(o=this.texture.get(o));var f=new S(this,s,r,o,a);return this.children.addAt(f,u,!1),this.dirty=!0,f},createFromCallback:function(s,r,o,a){for(var u=this.createMultiple(r,o,a),f=0;f0},getRenderList:function(){return this.dirty&&(this.renderList=this.children.list.filter(this.childCanRender,this),this.dirty=!1),this.renderList},clear:function(){this.children.removeAll(),this.dirty=!0},preDestroy:function(){this.children.destroy(),this.renderList=[]}});E.exports=i},72396:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){var h=m.getRenderList();if(h.length!==0){var d=n.currentContext,t=S.alpha*m.alpha;if(t!==0){S.addToRenderList(m),d.globalCompositeOperation=n.blendModes[m.blendMode],d.imageSmoothingEnabled=!m.frame.source.scaleMode;var e=m.x-S.scrollX*m.scrollFactorX,l=m.y-S.scrollY*m.scrollFactorY;d.save(),x&&x.copyToContext(d);for(var i=S.roundPixels,s=0;s0&&u.height>0&&(d.save(),d.translate(r.x+e,r.y+l),d.scale(c,g),d.drawImage(a.source.image,u.x,u.y,u.width,u.height,f,v,u.width,u.height),d.restore())):(i&&(f=Math.round(f),v=Math.round(v)),u.width>0&&u.height>0&&d.drawImage(a.source.image,u.x,u.y,u.width,u.height,f+r.x+e,v+r.y+l,u.width,u.height)))}d.restore()}}};E.exports=y},9403:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(6107),S=n(25305),x=n(44603),h=n(23568);x.register("blitter",function(d,t){d===void 0&&(d={});var e=h(d,"key",null),l=h(d,"frame",null),i=new m(this.scene,0,0,e,l);return t!==void 0&&(d.add=t),S(this.scene,i,d),i})},12709:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(6107),S=n(39429);S.register("blitter",function(x,h,d,t){return this.displayList.add(new m(this.scene,x,h,d,t))})},48011:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(99485),x=n(72396),E.exports={renderWebGL:S,renderCanvas:x}},99485:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(61340),S=n(70554),x=new m,h={quad:new Float32Array(8)},d={},t={},e=function(l,i,s,r){var o=i.getRenderList(),a=s.camera,u=i.alpha;if(!(o.length===0||u===0)){a.addToRenderList(i);var f=x.copyWithScrollFactorFrom(a.getViewMatrix(!s.useCanvas),a.scrollX,a.scrollY,i.scrollFactorX,i.scrollFactorY);r&&f.multiply(r);for(var v=i.x,c=i.y,g=i.customRenderNodes,p=i.defaultRenderNodes,T=0;T{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(4327),x=new m({initialize:function(d,t,e,l,i){this.parent=d,this.x=t,this.y=e,this.frame=l,this.data={},this.tint=16777215,this._visible=i,this._alpha=1,this.flipX=!1,this.flipY=!1,this.hasTransformComponent=!0},setFrame:function(h){return h===void 0?this.frame=this.parent.frame:h instanceof S&&h.texture===this.parent.texture?this.frame=h:this.frame=this.parent.texture.get(h),this},resetFlip:function(){return this.flipX=!1,this.flipY=!1,this},reset:function(h,d,t){return this.x=h,this.y=d,this.flipX=!1,this.flipY=!1,this._alpha=1,this._visible=!0,this.parent.dirty=!0,t&&this.setFrame(t),this},setPosition:function(h,d){return this.x=h,this.y=d,this},setFlipX:function(h){return this.flipX=h,this},setFlipY:function(h){return this.flipY=h,this},setFlip:function(h,d){return this.flipX=h,this.flipY=d,this},setVisible:function(h){return this.visible=h,this},setAlpha:function(h){return this.alpha=h,this},setTint:function(h){return this.tint=h,this},destroy:function(){this.parent.dirty=!0,this.parent.children.remove(this),this.parent=void 0,this.frame=void 0,this.data=void 0},visible:{get:function(){return this._visible},set:function(h){this.parent.dirty|=this._visible!==h,this._visible=h}},alpha:{get:function(){return this._alpha},set:function(h){this.parent.dirty|=this._alpha>0!=h>0,this._alpha=h}}});E.exports=x},43451:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87774),S=n(30529),x=n(83419),h=n(31401),d=n(95643),t=n(36683),e=new x({Extends:d,Mixins:[h.BlendMode,h.Depth,h.RenderNodes,h.Visible,t],initialize:function(i,s){d.call(this,i,"CaptureFrame");var r=i.renderer;this.drawingContext=new m(r,{width:r.width,height:r.height}),this.captureTexture=i.sys.textures.addGLTexture(s,this.drawingContext.texture),this.initRenderNodes(this._defaultRenderNodesMap)},_defaultRenderNodesMap:{get:function(){return S}},setAlpha:function(l){return this},setScrollFactor:function(l,i){return this}});E.exports=e},23675:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(44603),S=n(23568),x=n(43451);m.register("captureFrame",function(h,d){h===void 0&&(h={});var t=S(h,"depth",0),e=S(h,"key",null),l=S(h,"visible",!0),i=new x(this.scene,e);return d!==void 0&&(h.add=d),i.setDepth(t).setVisible(l),h.add&&this.scene.sys.displayList.add(i),i})},20421:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43451),S=n(39429);S.register("captureFrame",function(x){return this.displayList.add(new m(this.scene,x))})},36683:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(82237),E.exports={renderWebGL:S,renderCanvas:x}},82237:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=!1,n=function(m,S,x){if(x.useCanvas){y||(y=!0,console.warn("CaptureFrame: Cannot capture from main canvas. Activate `forceComposite` on the camera to use this feature. This warning will now mute."));return}x.camera.addToRenderList(S);var h=x.width,d=x.height,t=S.customRenderNodes,e=S.defaultRenderNodes;S.drawingContext.resize(h,d),S.drawingContext.use(),(t.BatchHandler||e.BatchHandler).batch(S.drawingContext,x.texture,0,d,0,0,h,d,h,0,0,0,1,1,!1,4294967295,4294967295,4294967295,4294967295,{}),S.drawingContext.release()};E.exports=n},16005:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(45319),S=2,x={_alpha:1,_alphaTL:1,_alphaTR:1,_alphaBL:1,_alphaBR:1,clearAlpha:function(){return this.setAlpha(1)},setAlpha:function(h,d,t,e){return h===void 0&&(h=1),d===void 0?this.alpha=h:(this._alphaTL=m(h,0,1),this._alphaTR=m(d,0,1),this._alphaBL=m(t,0,1),this._alphaBR=m(e,0,1)),this},alpha:{get:function(){return this._alpha},set:function(h){var d=m(h,0,1);this._alpha=d,this._alphaTL=d,this._alphaTR=d,this._alphaBL=d,this._alphaBR=d,d===0?this.renderFlags&=~S:this.renderFlags|=S}},alphaTopLeft:{get:function(){return this._alphaTL},set:function(h){var d=m(h,0,1);this._alphaTL=d,d!==0&&(this.renderFlags|=S)}},alphaTopRight:{get:function(){return this._alphaTR},set:function(h){var d=m(h,0,1);this._alphaTR=d,d!==0&&(this.renderFlags|=S)}},alphaBottomLeft:{get:function(){return this._alphaBL},set:function(h){var d=m(h,0,1);this._alphaBL=d,d!==0&&(this.renderFlags|=S)}},alphaBottomRight:{get:function(){return this._alphaBR},set:function(h){var d=m(h,0,1);this._alphaBR=d,d!==0&&(this.renderFlags|=S)}}};E.exports=x},88509:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(45319),S=2,x={_alpha:1,clearAlpha:function(){return this.setAlpha(1)},setAlpha:function(h){return h===void 0&&(h=1),this.alpha=h,this},alpha:{get:function(){return this._alpha},set:function(h){var d=m(h,0,1);this._alpha=d,d===0?this.renderFlags&=~S:this.renderFlags|=S}}};E.exports=x},90065:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(10312),S={_blendMode:m.NORMAL,blendMode:{get:function(){return this._blendMode},set:function(x){typeof x=="string"&&(x=m[x]),x|=0,x>=-1&&(this._blendMode=x)}},setBlendMode:function(x){return this.blendMode=x,this}};E.exports=S},94215:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={width:0,height:0,displayWidth:{get:function(){return this.scaleX*this.width},set:function(n){this.scaleX=n/this.width}},displayHeight:{get:function(){return this.scaleY*this.height},set:function(n){this.scaleY=n/this.height}},setSize:function(n,m){return this.width=n,this.height=m,this},setDisplaySize:function(n,m){return this.displayWidth=n,this.displayHeight=m,this}};E.exports=y},61683:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={texture:null,frame:null,isCropped:!1,setCrop:function(n,m,S,x){if(n===void 0)this.isCropped=!1;else if(this.frame){if(typeof n=="number")this.frame.setCropUVs(this._crop,n,m,S,x,this.flipX,this.flipY);else{var h=n;this.frame.setCropUVs(this._crop,h.x,h.y,h.width,h.height,this.flipX,this.flipY)}this.isCropped=!0}return this},resetCropObject:function(){return{u0:0,v0:0,u1:0,v1:0,width:0,height:0,x:0,y:0,flipX:!1,flipY:!1,cx:0,cy:0,cw:0,ch:0}}};E.exports=y},89272:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(37105),S={_depth:0,depth:{get:function(){return this._depth},set:function(x){this.displayList&&this.displayList.queueDepthSort(),this._depth=x}},setDepth:function(x){return x===void 0&&(x=0),this.depth=x,this},setToTop:function(){var x=this.getDisplayList();return x&&m.BringToTop(x,this),this},setToBack:function(){var x=this.getDisplayList();return x&&m.SendToBack(x,this),this},setAbove:function(x){var h=this.getDisplayList();return h&&x&&m.MoveAbove(h,this,x),this},setBelow:function(x){var h=this.getDisplayList();return h&&x&&m.MoveBelow(h,this,x),this}};E.exports=S},3248:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={timeElapsed:0,timeElapsedResetPeriod:36e5,timePaused:!1,setTimerResetPeriod:function(n){return this.timeElapsedResetPeriod=n,this},setTimerPaused:function(n){return this.timePaused=!!n,this},resetTimer:function(n){return n===void 0&&(n=0),this.timeElapsed=n,this},updateTimer:function(n,m){return this.timePaused||(this.timeElapsed+=m,this.timeElapsed>=this.timeElapsedResetPeriod&&(this.timeElapsed-=this.timeElapsedResetPeriod)),this}};E.exports=y},53427:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(10189),x=n(16762),h=n(37597),d=n(88344),t=n(47564),e=n(77011),l=n(16898),i=n(42652),s=n(97797),r=null,o=n(29861),a=n(63785),u=n(62229),f=n(99534),v=new m({initialize:function(p){this.camera=p,this.list=[]},clear:function(){for(var g=0;g{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=null,S=n(26099),x=n(61340),h={};h={filterCamera:null,filters:{get:function(){return this.filterCamera?this.filterCamera.filters:null}},renderFilters:!0,maxFilterSize:null,filtersAutoFocus:!0,filtersFocusContext:!1,filtersForceComposite:!1,_filtersMatrix:null,_filtersViewMatrix:null,willRenderFilters:function(){return this.renderFilters&&this.filters&&(this.filters.internal.getActive().length>0||this.filters.external.getActive().length>0||this.filtersForceComposite)},enableFilters:function(){if(this.filterCamera||!this.scene.renderer.gl)return this;var d=this.scene;if(m||(m=n(38058)),this.filterCamera=new m(0,0,1,1).setScene(d,!1),this.filterCamera.isObjectInversion=!0,d.game.config.roundPixels&&(this.filterCamera.roundPixels=!0),!this.maxFilterSize){var t=d.renderer.getMaxTextureSize();this.maxFilterSize=new S(t,t)}return this._filtersMatrix=new x,this._filtersViewMatrix=new x,(!this.getBounds||this.width===void 0||this.height===void 0||this.width===0||this.height===0)&&(this.filtersFocusContext=!0),this.addRenderStep(this.renderWebGLFilters,0),this},renderWebGLFilters:function(d,t,e,l,i){if(!t.willRenderFilters()){t.renderWebGLStep(d,t,e,l,i+1);return}var s=e.camera,r=t.filtersAutoFocus,o=t.filtersFocusContext;r&&(o?t.focusFiltersOnCamera(s):t.focusFilters());var a=t.filterCamera;if(a.preRender(),r&&o){var u=t.parentContainer;if(u){var f=u.getWorldTransformMatrix();a.matrix.multiply(f)}}var v=t._filtersMatrix,c=t._filtersViewMatrix.copyWithScrollFactorFrom(s.getViewMatrix(!e.useCanvas),s.scrollX,s.scrollY,t.scrollFactorX,t.scrollFactorY);if(l&&c.multiply(l),o)v.loadIdentity();else{if(t.type==="Layer")v.loadIdentity();else{var g=t.flipX?-1:1,p=t.flipY?-1:1;v.applyITRS(t.x,t.y,t.rotation,t.scaleX*g,t.scaleY*p)}var T=a.width,C=a.height;v.translate(-T*a.originX,-C*a.originY),c.multiply(v,v)}var M=t.scrollFactorX,A=t.scrollFactorY;t.scrollFactorX=1,t.scrollFactorY=1,d.cameraRenderNode.run(e,[t],a,v,!0,i+1),t.scrollFactorX=M,t.scrollFactorY=A;for(var R=a.renderList.length,P=0;P{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={flipX:!1,flipY:!1,toggleFlipX:function(){return this.flipX=!this.flipX,this},toggleFlipY:function(){return this.flipY=!this.flipY,this},setFlipX:function(n){return this.flipX=n,this},setFlipY:function(n){return this.flipY=n,this},setFlip:function(n,m){return this.flipX=n,this.flipY=m,this},resetFlip:function(){return this.flipX=!1,this.flipY=!1,this}};E.exports=y},8004:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87841),S=n(11520),x=n(26099),h={prepareBoundsOutput:function(d,t){if(t===void 0&&(t=!1),this.rotation!==0&&S(d,this.x,this.y,this.rotation),t&&this.parentContainer){var e=this.parentContainer.getBoundsTransformMatrix();e.transformPoint(d.x,d.y,d)}return d},getCenter:function(d,t){return d===void 0&&(d=new x),d.x=this.x-this.displayWidth*this.originX+this.displayWidth/2,d.y=this.y-this.displayHeight*this.originY+this.displayHeight/2,this.prepareBoundsOutput(d,t)},getTopLeft:function(d,t){return d||(d=new x),d.x=this.x-this.displayWidth*this.originX,d.y=this.y-this.displayHeight*this.originY,this.prepareBoundsOutput(d,t)},getTopCenter:function(d,t){return d||(d=new x),d.x=this.x-this.displayWidth*this.originX+this.displayWidth/2,d.y=this.y-this.displayHeight*this.originY,this.prepareBoundsOutput(d,t)},getTopRight:function(d,t){return d||(d=new x),d.x=this.x-this.displayWidth*this.originX+this.displayWidth,d.y=this.y-this.displayHeight*this.originY,this.prepareBoundsOutput(d,t)},getLeftCenter:function(d,t){return d||(d=new x),d.x=this.x-this.displayWidth*this.originX,d.y=this.y-this.displayHeight*this.originY+this.displayHeight/2,this.prepareBoundsOutput(d,t)},getRightCenter:function(d,t){return d||(d=new x),d.x=this.x-this.displayWidth*this.originX+this.displayWidth,d.y=this.y-this.displayHeight*this.originY+this.displayHeight/2,this.prepareBoundsOutput(d,t)},getBottomLeft:function(d,t){return d||(d=new x),d.x=this.x-this.displayWidth*this.originX,d.y=this.y-this.displayHeight*this.originY+this.displayHeight,this.prepareBoundsOutput(d,t)},getBottomCenter:function(d,t){return d||(d=new x),d.x=this.x-this.displayWidth*this.originX+this.displayWidth/2,d.y=this.y-this.displayHeight*this.originY+this.displayHeight,this.prepareBoundsOutput(d,t)},getBottomRight:function(d,t){return d||(d=new x),d.x=this.x-this.displayWidth*this.originX+this.displayWidth,d.y=this.y-this.displayHeight*this.originY+this.displayHeight,this.prepareBoundsOutput(d,t)},getBounds:function(d){d===void 0&&(d=new m);var t,e,l,i,s,r,o,a;if(this.parentContainer){var u=this.parentContainer.getBoundsTransformMatrix();this.getTopLeft(d),u.transformPoint(d.x,d.y,d),t=d.x,e=d.y,this.getTopRight(d),u.transformPoint(d.x,d.y,d),l=d.x,i=d.y,this.getBottomLeft(d),u.transformPoint(d.x,d.y,d),s=d.x,r=d.y,this.getBottomRight(d),u.transformPoint(d.x,d.y,d),o=d.x,a=d.y}else this.getTopLeft(d),t=d.x,e=d.y,this.getTopRight(d),l=d.x,i=d.y,this.getBottomLeft(d),s=d.x,r=d.y,this.getBottomRight(d),o=d.x,a=d.y;return d.x=Math.min(t,l,s,o),d.y=Math.min(e,i,r,a),d.width=Math.max(t,l,s,o)-d.x,d.height=Math.max(e,i,r,a)-d.y,d}};E.exports=h},73629:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={lighting:!1,selfShadow:{enabled:null,penumbra:.5,diffuseFlatThreshold:.3333333333333333},setLighting:function(n){return this.lighting=n,this},setSelfShadow:function(n,m,S){return n!==void 0&&(n===null?this.selfShadow.enabled=this.scene.sys.game.config.selfShadow:this.selfShadow.enabled=n),m!==void 0&&(this.selfShadow.penumbra=m),S!==void 0&&(this.selfShadow.diffuseFlatThreshold=S),this}};E.exports=y},8573:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(8054),S=n(80661),x={mask:null,setMask:function(h){return this.scene.renderer.type===m.WEBGL?(console.warn("Phaser.GameObjects.Components.Mask.setMask: This method is not supported in WebGL. Create a Mask filter instead."),this):(this.mask=h,this)},clearMask:function(h){return h===void 0&&(h=!1),h&&this.mask&&this.mask.destroy(),this.mask=null,this},createGeometryMask:function(h){return h===void 0&&(this.type==="Graphics"||this.geom)&&(h=this),new S(this.scene,h)}};E.exports=x},27387:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={_originComponent:!0,originX:.5,originY:.5,_displayOriginX:0,_displayOriginY:0,displayOriginX:{get:function(){return this._displayOriginX},set:function(n){this._displayOriginX=n,this.originX=n/this.width}},displayOriginY:{get:function(){return this._displayOriginY},set:function(n){this._displayOriginY=n,this.originY=n/this.height}},setOrigin:function(n,m){return n===void 0&&(n=.5),m===void 0&&(m=n),this.originX=n,this.originY=m,this.updateDisplayOrigin()},setOriginFromFrame:function(){return!this.frame||!this.frame.customPivot?this.setOrigin():(this.originX=this.frame.pivotX,this.originY=this.frame.pivotY,this.updateDisplayOrigin())},setDisplayOrigin:function(n,m){return n===void 0&&(n=0),m===void 0&&(m=n),this.displayOriginX=n,this.displayOriginY=m,this},updateDisplayOrigin:function(){return this._displayOriginX=this.originX*this.width,this._displayOriginY=this.originY*this.height,this}};E.exports=y},37640:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(39506),S=n(57355),x=n(35154),h=n(86353),d=n(26099),t={path:null,rotateToPath:!1,pathRotationOffset:0,pathOffset:null,pathVector:null,pathDelta:null,pathTween:null,pathConfig:null,_prevDirection:h.PLAYING_FORWARD,setPath:function(e,l){l===void 0&&(l=this.pathConfig);var i=this.pathTween;return i&&i.isPlaying()&&i.stop(),this.path=e,l&&this.startFollow(l),this},setRotateToPath:function(e,l){return l===void 0&&(l=0),this.rotateToPath=e,this.pathRotationOffset=l,this},isFollowing:function(){var e=this.pathTween;return e&&e.isPlaying()},startFollow:function(e,l){e===void 0&&(e={}),l===void 0&&(l=0);var i=this.pathTween;i&&i.isPlaying()&&i.stop(),typeof e=="number"&&(e={duration:e}),e.from=x(e,"from",0),e.to=x(e,"to",1);var s=S(e,"positionOnPath",!1);this.rotateToPath=S(e,"rotateToPath",!1),this.pathRotationOffset=x(e,"rotationOffset",0);var r=x(e,"startAt",l);if(r&&(e.onStart=function(a){var u=a.data[0];u.progress=r,u.elapsed=u.duration*r;var f=u.ease(u.progress);u.current=u.start+(u.end-u.start)*f,u.setTargetValue()}),this.pathOffset||(this.pathOffset=new d(this.x,this.y)),this.pathVector||(this.pathVector=new d),this.pathDelta||(this.pathDelta=new d),this.pathDelta.reset(),e.persist=!0,this.pathTween=this.scene.sys.tweens.addCounter(e),this.path.getStartPoint(this.pathOffset),s&&(this.x=this.pathOffset.x,this.y=this.pathOffset.y),this.pathOffset.x=this.x-this.pathOffset.x,this.pathOffset.y=this.y-this.pathOffset.y,this._prevDirection=h.PLAYING_FORWARD,this.rotateToPath){var o=this.path.getPoint(.1);this.rotation=Math.atan2(o.y-this.y,o.x-this.x)+m(this.pathRotationOffset)}return this.pathConfig=e,this},pauseFollow:function(){var e=this.pathTween;return e&&e.isPlaying()&&e.pause(),this},resumeFollow:function(){var e=this.pathTween;return e&&e.isPaused()&&e.resume(),this},stopFollow:function(){var e=this.pathTween;return e&&e.isPlaying()&&e.stop(),this},pathUpdate:function(){var e=this.pathTween;if(e&&e.data){var l=e.data[0],i=this.pathDelta,s=this.pathVector;if(i.copy(s).negate(),l.state===h.COMPLETE){this.path.getPoint(l.end,s),i.add(s),s.add(this.pathOffset),this.setPosition(s.x,s.y);return}else if(l.state!==h.PLAYING_FORWARD&&l.state!==h.PLAYING_BACKWARD)return;this.path.getPoint(e.getValue(),s),i.add(s),s.add(this.pathOffset);var r=this.x,o=this.y;this.setPosition(s.x,s.y);var a=this.x-r,u=this.y-o;if(a===0&&u===0)return;if(l.state!==this._prevDirection){this._prevDirection=l.state;return}this.rotateToPath&&(this.rotation=Math.atan2(u,a)+m(this.pathRotationOffset))}}};E.exports=t},68680:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(62644),S={customRenderNodes:null,defaultRenderNodes:null,renderNodeData:null,initRenderNodes:function(x){this.customRenderNodes={},this.defaultRenderNodes={},this.renderNodeData={};var h=this.scene.sys.renderer;if(h){var d=h.renderNodes;if(d&&x){var t=this.defaultRenderNodes;x.each(function(e,l){t[e]=d.getNode(l)})}}},setRenderNodeRole:function(x,h,d,t){var e=this.scene.sys.renderer;if(!e)return this;var l=e.renderNodes;if(!l)return this;if(h!==null){if(typeof h=="string"&&(h=l.getNode(h)),!h)return this;this.customRenderNodes[x]=h,d?this.renderNodeData[h.name]=t?m(d):d:this.renderNodeData[h.name]={}}else{var i=this.customRenderNodes[x];i&&(delete this.renderNodeData[i.name],delete this.customRenderNodes[x])}return this},setRenderNodeData:function(x,h,d){var t=x;typeof x!="string"&&(t=x.name);var e=this.renderNodeData[t];return d===void 0?delete e[h]:e[h]=d,this}};E.exports=S},86038:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={};y={_renderSteps:null,renderWebGLStep:function(n,m,S,x,h,d,t){h===void 0&&(h=0);var e=m._renderSteps[h];e&&(d?t===void 0&&(t=0):(d=[m],t=0),e(n,m,S,x,h,d,t))},addRenderStep:function(n,m){return this._renderSteps||(this._renderSteps=[]),m===void 0?(this._renderSteps.push(n),this):(this._renderSteps.splice(m,0,n),this)}},E.exports=y},80227:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={scrollFactorX:1,scrollFactorY:1,setScrollFactor:function(n,m){return m===void 0&&(m=n),this.scrollFactorX=n,this.scrollFactorY=m,this}};E.exports=y},16736:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={_sizeComponent:!0,width:0,height:0,displayWidth:{get:function(){return Math.abs(this.scaleX*this.frame.realWidth)},set:function(n){this.scaleX=n/this.frame.realWidth}},displayHeight:{get:function(){return Math.abs(this.scaleY*this.frame.realHeight)},set:function(n){this.scaleY=n/this.frame.realHeight}},setSizeToFrame:function(n){n||(n=this.frame),this.width=n.realWidth,this.height=n.realHeight;var m=this.input;return m&&!m.customHitArea&&(m.hitArea.width=this.width,m.hitArea.height=this.height),this},setSize:function(n,m){return this.width=n,this.height=m,this},setDisplaySize:function(n,m){return this.displayWidth=n,this.displayHeight=m,this}};E.exports=y},37726:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(4327),S=8,x={texture:null,frame:null,isCropped:!1,setTexture:function(h,d,t,e){return this.texture=this.scene.sys.textures.get(h),this.setFrame(d,t,e)},setFrame:function(h,d,t){return d===void 0&&(d=!0),t===void 0&&(t=!0),h instanceof m?(this.texture=this.scene.sys.textures.get(h.texture.key),this.frame=h):this.frame=this.texture.get(h),!this.frame.cutWidth||!this.frame.cutHeight?this.renderFlags&=~S:this.renderFlags|=S,this._sizeComponent&&d&&this.setSizeToFrame(),this._originComponent&&t&&(this.frame.customPivot?this.setOrigin(this.frame.pivotX,this.frame.pivotY):this.updateDisplayOrigin()),this}};E.exports=x},79812:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(4327),S=8,x={texture:null,frame:null,isCropped:!1,setCrop:function(h,d,t,e){if(h===void 0)this.isCropped=!1;else if(this.frame){if(typeof h=="number")this.frame.setCropUVs(this._crop,h,d,t,e,this.flipX,this.flipY);else{var l=h;this.frame.setCropUVs(this._crop,l.x,l.y,l.width,l.height,this.flipX,this.flipY)}this.isCropped=!0}return this},setTexture:function(h,d){return this.texture=this.scene.sys.textures.get(h),this.setFrame(d)},setFrame:function(h,d,t){return d===void 0&&(d=!0),t===void 0&&(t=!0),h instanceof m?(this.texture=this.scene.sys.textures.get(h.texture.key),this.frame=h):this.frame=this.texture.get(h),!this.frame.cutWidth||!this.frame.cutHeight?this.renderFlags&=~S:this.renderFlags|=S,this._sizeComponent&&d&&this.setSizeToFrame(),this._originComponent&&t&&(this.frame.customPivot?this.setOrigin(this.frame.pivotX,this.frame.pivotY):this.updateDisplayOrigin()),this.isCropped&&this.frame.updateCropUVs(this._crop,this.flipX,this.flipY),this},resetCropObject:function(){return{u0:0,v0:0,u1:0,v1:0,width:0,height:0,x:0,y:0,flipX:!1,flipY:!1,cx:0,cy:0,cw:0,ch:0}}};E.exports=x},27472:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={tintTopLeft:16777215,tintTopRight:16777215,tintBottomLeft:16777215,tintBottomRight:16777215,tintFill:!1,clearTint:function(){return this.setTint(16777215),this},setTint:function(n,m,S,x){return n===void 0&&(n=16777215),m===void 0&&(m=n,S=n,x=n),this.tintTopLeft=n,this.tintTopRight=m,this.tintBottomLeft=S,this.tintBottomRight=x,this.tintFill=!1,this},setTintFill:function(n,m,S,x){return this.setTint(n,m,S,x),this.tintFill=!0,this},tint:{get:function(){return this.tintTopLeft},set:function(n){this.setTint(n,n,n,n)}},isTinted:{get:function(){var n=16777215;return this.tintFill||this.tintTopLeft!==n||this.tintTopRight!==n||this.tintBottomLeft!==n||this.tintBottomRight!==n}}};E.exports=y},53774:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){var m={name:n.name,type:n.type,x:n.x,y:n.y,depth:n.depth,scale:{x:n.scaleX,y:n.scaleY},origin:{x:n.originX,y:n.originY},flipX:n.flipX,flipY:n.flipY,rotation:n.rotation,alpha:n.alpha,visible:n.visible,blendMode:n.blendMode,textureKey:"",frameKey:"",data:{}};return n.texture&&(m.textureKey=n.texture.key,m.frameKey=n.frame.name),m};E.exports=y},16901:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(36383),S=n(61340),x=n(85955),h=n(86554),d=n(30954),t=n(26099),e=4,l={hasTransformComponent:!0,_scaleX:1,_scaleY:1,_rotation:0,x:0,y:0,z:0,w:0,scale:{get:function(){return(this._scaleX+this._scaleY)/2},set:function(i){this._scaleX=i,this._scaleY=i,i===0?this.renderFlags&=~e:this.renderFlags|=e}},scaleX:{get:function(){return this._scaleX},set:function(i){this._scaleX=i,i===0?this.renderFlags&=~e:this._scaleY!==0&&(this.renderFlags|=e)}},scaleY:{get:function(){return this._scaleY},set:function(i){this._scaleY=i,i===0?this.renderFlags&=~e:this._scaleX!==0&&(this.renderFlags|=e)}},angle:{get:function(){return d(this._rotation*m.RAD_TO_DEG)},set:function(i){this.rotation=d(i)*m.DEG_TO_RAD}},rotation:{get:function(){return this._rotation},set:function(i){this._rotation=h(i)}},setPosition:function(i,s,r,o){return i===void 0&&(i=0),s===void 0&&(s=i),r===void 0&&(r=0),o===void 0&&(o=0),this.x=i,this.y=s,this.z=r,this.w=o,this},copyPosition:function(i){return i.x!==void 0&&(this.x=i.x),i.y!==void 0&&(this.y=i.y),i.z!==void 0&&(this.z=i.z),i.w!==void 0&&(this.w=i.w),this},setRandomPosition:function(i,s,r,o){return i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r=this.scene.sys.scale.width),o===void 0&&(o=this.scene.sys.scale.height),this.x=i+Math.random()*r,this.y=s+Math.random()*o,this},setRotation:function(i){return i===void 0&&(i=0),this.rotation=i,this},setAngle:function(i){return i===void 0&&(i=0),this.angle=i,this},setScale:function(i,s){return i===void 0&&(i=1),s===void 0&&(s=i),this.scaleX=i,this.scaleY=s,this},setX:function(i){return i===void 0&&(i=0),this.x=i,this},setY:function(i){return i===void 0&&(i=0),this.y=i,this},setZ:function(i){return i===void 0&&(i=0),this.z=i,this},setW:function(i){return i===void 0&&(i=0),this.w=i,this},getLocalTransformMatrix:function(i){return i===void 0&&(i=new S),i.applyITRS(this.x,this.y,this._rotation,this._scaleX,this._scaleY)},getWorldTransformMatrix:function(i,s){i===void 0&&(i=new S);var r=this.parentContainer;if(!r)return this.getLocalTransformMatrix(i);var o=!1;for(s||(s=new S,o=!0),i.applyITRS(this.x,this.y,this._rotation,this._scaleX,this._scaleY);r;)s.applyITRS(r.x,r.y,r._rotation,r._scaleX,r._scaleY),s.multiply(i,i),r=r.parentContainer;return o&&s.destroy(),i},getLocalPoint:function(i,s,r,o){r||(r=new t),o||(o=this.scene.sys.cameras.main);var a=o.scrollX,u=o.scrollY,f=i+a*this.scrollFactorX-a,v=s+u*this.scrollFactorY-u;return this.parentContainer?this.getWorldTransformMatrix().applyInverse(f,v,r):x(f,v,this.x,this.y,this.rotation,this.scaleX,this.scaleY,r),this._originComponent&&(r.x+=this._displayOriginX,r.y+=this._displayOriginY),r},getWorldPoint:function(i,s,r){i===void 0&&(i=new t);var o=this.parentContainer;if(!o)return i.x=this.x,i.y=this.y,i;var a=this.getWorldTransformMatrix(s,r);return i.x=a.tx,i.y=a.ty,i},getParentRotation:function(){for(var i=0,s=this.parentContainer;s;)i+=s.rotation,s=s.parentContainer;return i}};E.exports=l},61340:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(36383),x=n(26099),h=new m({initialize:function(t,e,l,i,s,r){t===void 0&&(t=1),e===void 0&&(e=0),l===void 0&&(l=0),i===void 0&&(i=1),s===void 0&&(s=0),r===void 0&&(r=0),this.matrix=new Float32Array([t,e,l,i,s,r,0,0,1]),this.decomposedMatrix={translateX:0,translateY:0,scaleX:1,scaleY:1,rotation:0},this.quad=new Float32Array(8)},a:{get:function(){return this.matrix[0]},set:function(d){this.matrix[0]=d}},b:{get:function(){return this.matrix[1]},set:function(d){this.matrix[1]=d}},c:{get:function(){return this.matrix[2]},set:function(d){this.matrix[2]=d}},d:{get:function(){return this.matrix[3]},set:function(d){this.matrix[3]=d}},e:{get:function(){return this.matrix[4]},set:function(d){this.matrix[4]=d}},f:{get:function(){return this.matrix[5]},set:function(d){this.matrix[5]=d}},tx:{get:function(){return this.matrix[4]},set:function(d){this.matrix[4]=d}},ty:{get:function(){return this.matrix[5]},set:function(d){this.matrix[5]=d}},rotation:{get:function(){return Math.acos(this.a/this.scaleX)*(Math.atan(-this.c/this.a)<0?-1:1)}},rotationNormalized:{get:function(){var d=this.matrix,t=d[0],e=d[1],l=d[2],i=d[3];return t||e?e>0?Math.acos(t/this.scaleX):-Math.acos(t/this.scaleX):l||i?S.PI_OVER_2-(i>0?Math.acos(-l/this.scaleY):-Math.acos(l/this.scaleY)):0}},scaleX:{get:function(){return Math.sqrt(this.a*this.a+this.b*this.b)}},scaleY:{get:function(){return Math.sqrt(this.c*this.c+this.d*this.d)}},loadIdentity:function(){var d=this.matrix;return d[0]=1,d[1]=0,d[2]=0,d[3]=1,d[4]=0,d[5]=0,this},translate:function(d,t){var e=this.matrix;return e[4]=e[0]*d+e[2]*t+e[4],e[5]=e[1]*d+e[3]*t+e[5],this},scale:function(d,t){var e=this.matrix;return e[0]*=d,e[1]*=d,e[2]*=t,e[3]*=t,this},rotate:function(d){var t=Math.sin(d),e=Math.cos(d),l=this.matrix,i=l[0],s=l[1],r=l[2],o=l[3];return l[0]=i*e+r*t,l[1]=s*e+o*t,l[2]=i*-t+r*e,l[3]=s*-t+o*e,this},multiply:function(d,t){var e=this.matrix,l=d.matrix,i=e[0],s=e[1],r=e[2],o=e[3],a=e[4],u=e[5],f=l[0],v=l[1],c=l[2],g=l[3],p=l[4],T=l[5],C=t===void 0?e:t.matrix;return C[0]=f*i+v*r,C[1]=f*s+v*o,C[2]=c*i+g*r,C[3]=c*s+g*o,C[4]=p*i+T*r+a,C[5]=p*s+T*o+u,C},multiplyWithOffset:function(d,t,e){var l=this.matrix,i=d.matrix,s=l[0],r=l[1],o=l[2],a=l[3],u=l[4],f=l[5],v=t*s+e*o+u,c=t*r+e*a+f,g=i[0],p=i[1],T=i[2],C=i[3],M=i[4],A=i[5];return l[0]=g*s+p*o,l[1]=g*r+p*a,l[2]=T*s+C*o,l[3]=T*r+C*a,l[4]=M*s+A*o+v,l[5]=M*r+A*a+c,this},transform:function(d,t,e,l,i,s){var r=this.matrix,o=r[0],a=r[1],u=r[2],f=r[3],v=r[4],c=r[5];return r[0]=d*o+t*u,r[1]=d*a+t*f,r[2]=e*o+l*u,r[3]=e*a+l*f,r[4]=i*o+s*u+v,r[5]=i*a+s*f+c,this},transformPoint:function(d,t,e){e===void 0&&(e={x:0,y:0});var l=this.matrix,i=l[0],s=l[1],r=l[2],o=l[3],a=l[4],u=l[5];return e.x=d*i+t*r+a,e.y=d*s+t*o+u,e},invert:function(){var d=this.matrix,t=d[0],e=d[1],l=d[2],i=d[3],s=d[4],r=d[5],o=t*i-e*l;return d[0]=i/o,d[1]=-e/o,d[2]=-l/o,d[3]=t/o,d[4]=(l*r-i*s)/o,d[5]=-(t*r-e*s)/o,this},copyFrom:function(d){var t=this.matrix;return t[0]=d.a,t[1]=d.b,t[2]=d.c,t[3]=d.d,t[4]=d.e,t[5]=d.f,this},copyFromArray:function(d){var t=this.matrix;return t[0]=d[0],t[1]=d[1],t[2]=d[2],t[3]=d[3],t[4]=d[4],t[5]=d[5],this},copyWithScrollFactorFrom:function(d,t,e,l,i){var s=this.matrix;s[0]=d.a,s[1]=d.b,s[2]=d.c,s[3]=d.d;var r=t*(1-l),o=e*(1-i);return s[4]=d.a*r+d.c*o+d.e,s[5]=d.b*r+d.d*o+d.f,this},copyToContext:function(d){var t=this.matrix;return d.transform(t[0],t[1],t[2],t[3],t[4],t[5]),d},setToContext:function(d){return d.setTransform(this.a,this.b,this.c,this.d,this.e,this.f),d},copyToArray:function(d){var t=this.matrix;return d===void 0?d=[t[0],t[1],t[2],t[3],t[4],t[5]]:(d[0]=t[0],d[1]=t[1],d[2]=t[2],d[3]=t[3],d[4]=t[4],d[5]=t[5]),d},setTransform:function(d,t,e,l,i,s){var r=this.matrix;return r[0]=d,r[1]=t,r[2]=e,r[3]=l,r[4]=i,r[5]=s,this},decomposeMatrix:function(){var d=this.decomposedMatrix,t=this.matrix,e=t[0],l=t[1],i=t[2],s=t[3],r=e*s-l*i;if(d.translateX=t[4],d.translateY=t[5],e||l){var o=Math.sqrt(e*e+l*l);d.rotation=l>0?Math.acos(e/o):-Math.acos(e/o),d.scaleX=o,d.scaleY=r/o}else if(i||s){var a=Math.sqrt(i*i+s*s);d.rotation=Math.PI*.5-(s>0?Math.acos(-i/a):-Math.acos(i/a)),d.scaleX=r/a,d.scaleY=a}else d.rotation=0,d.scaleX=0,d.scaleY=0;return d},applyITRS:function(d,t,e,l,i){var s=this.matrix,r=Math.sin(e),o=Math.cos(e);return s[4]=d,s[5]=t,s[0]=o*l,s[1]=r*l,s[2]=-r*i,s[3]=o*i,this},applyInverse:function(d,t,e){e===void 0&&(e=new x);var l=this.matrix,i=l[0],s=l[1],r=l[2],o=l[3],a=l[4],u=l[5],f=1/(i*o+r*-s);return e.x=o*f*d+-r*f*t+(u*r-a*o)*f,e.y=i*f*t+-s*f*d+(-u*i+a*s)*f,e},setQuad:function(d,t,e,l,i){i===void 0&&(i=this.quad);var s=this.matrix,r=s[0],o=s[1],a=s[2],u=s[3],f=s[4],v=s[5];return i[0]=d*r+t*a+f,i[1]=d*o+t*u+v,i[2]=d*r+l*a+f,i[3]=d*o+l*u+v,i[4]=e*r+l*a+f,i[5]=e*o+l*u+v,i[6]=e*r+t*a+f,i[7]=e*o+t*u+v,i},getX:function(d,t){return d*this.a+t*this.c+this.e},getY:function(d,t){return d*this.b+t*this.d+this.f},getXRound:function(d,t,e){var l=this.getX(d,t);return e&&(l=Math.floor(l+.5)),l},getYRound:function(d,t,e){var l=this.getY(d,t);return e&&(l=Math.floor(l+.5)),l},getCSSMatrix:function(){var d=this.matrix;return"matrix("+d[0]+","+d[1]+","+d[2]+","+d[3]+","+d[4]+","+d[5]+")"},destroy:function(){this.matrix=null,this.quad=null,this.decomposedMatrix=null}});E.exports=h},59715:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=1,n={_visible:!0,visible:{get:function(){return this._visible},set:function(m){m?(this._visible=!0,this.renderFlags|=y):(this._visible=!1,this.renderFlags&=~y)}},setVisible:function(m){return this.visible=m,this}};E.exports=n},31401:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Alpha:n(16005),AlphaSingle:n(88509),BlendMode:n(90065),ComputedSize:n(94215),Crop:n(61683),Depth:n(89272),ElapseTimer:n(3248),FilterList:n(53427),Filters:n(43102),Flip:n(54434),GetBounds:n(8004),Lighting:n(73629),Mask:n(8573),Origin:n(27387),PathFollower:n(37640),RenderNodes:n(68680),RenderSteps:n(86038),ScrollFactor:n(80227),Size:n(16736),Texture:n(37726),TextureCrop:n(79812),Tint:n(27472),ToJSON:n(53774),Transform:n(16901),TransformMatrix:n(61340),Visible:n(59715)}},31559:(E,y,n)=>{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(37105),S=n(10312),x=n(83419),h=n(31401),d=n(51708),t=n(95643),e=n(87841),l=n(29959),i=n(36899),s=n(26099),r=new h.TransformMatrix,o=new x({Extends:t,Mixins:[h.AlphaSingle,h.BlendMode,h.ComputedSize,h.Depth,h.Mask,h.Transform,h.Visible,l],initialize:function(u,f,v,c){t.call(this,u,"Container"),this.list=[],this.exclusive=!0,this.maxSize=-1,this.position=0,this.localTransform=new h.TransformMatrix,this._sortKey="",this._sysEvents=u.sys.events,this.scrollFactorX=1,this.scrollFactorY=1,this.setPosition(f,v),this.setBlendMode(S.SKIP_CHECK),c&&this.add(c)},originX:{get:function(){return .5}},originY:{get:function(){return .5}},displayOriginX:{get:function(){return this.width*.5}},displayOriginY:{get:function(){return this.height*.5}},setExclusive:function(a){return a===void 0&&(a=!0),this.exclusive=a,this},getBounds:function(a){if(a===void 0&&(a=new e),a.setTo(this.x,this.y,0,0),this.parentContainer){var u=this.parentContainer.getBoundsTransformMatrix(),f=u.transformPoint(this.x,this.y);a.setTo(f.x,f.y,0,0)}if(this.list.length>0){var v=this.list,c=new e,g=!1;a.setEmpty();for(var p=0;p-1},setAll:function(a,u,f,v){return m.SetAll(this.list,a,u,f,v),this},each:function(a,u){var f=[null],v,c=this.list.slice(),g=c.length;for(v=2;v0?this.list[0]:null}},last:{get:function(){return this.list.length>0?(this.position=this.list.length-1,this.list[this.position]):null}},next:{get:function(){return this.position0?(this.position--,this.list[this.position]):null}},preDestroy:function(){this.removeAll(!!this.exclusive),this.localTransform.destroy(),this.list=[]},onChildDestroyed:function(a){m.Remove(this.list,a),this.exclusive&&(a.parentContainer=null,a.removedFromScene())}});E.exports=o},53584:E=>{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){S.addToRenderList(m);var h=m.list;if(h.length!==0){var d=m.localTransform;x?(d.loadIdentity(),d.multiply(x),d.translate(m.x,m.y),d.rotate(m.rotation),d.scale(m.scaleX,m.scaleY)):d.applyITRS(m.x,m.y,m.rotation,m.scaleX,m.scaleY);var t=m.blendMode!==-1;t||n.setBlendMode(0);var e=m._alpha,l=m.scrollFactorX,i=m.scrollFactorY;m.mask&&m.mask.preRenderCanvas(n,null,S);for(var s=0;s{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25305),S=n(31559),x=n(44603),h=n(23568),d=n(95540);x.register("container",function(t,e){t===void 0&&(t={});var l=h(t,"x",0),i=h(t,"y",0),s=d(t,"children",null),r=new S(this.scene,l,i,s);return e!==void 0&&(t.add=e),m(this.scene,r,t),r})},24961:(E,y,n)=>{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(31559),S=n(39429);S.register("container",function(x,h,d){return this.displayList.add(new m(this.scene,x,h,d))})},29959:(E,y,n)=>{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(72249),x=n(53584),E.exports={renderWebGL:S,renderCanvas:x}},72249:(E,y,n)=>{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(8054),S=function(x,h,d,t,e,l,i){var s=d.camera;s.addToRenderList(h);var r=h.list,o=r.length;if(o!==0){var a=d,u=h.localTransform;t?(u.loadIdentity(),u.multiply(t),u.translate(h.x,h.y),u.rotate(h.rotation),u.scale(h.scaleX,h.scaleY)):u.applyITRS(h.x,h.y,h.rotation,h.scaleX,h.scaleY);var f=h.blendMode!==-1;!f&&a.blendMode!==0&&(a=a.getClone(),a.setBlendMode(0),a.use());for(var v=a,c=h.alpha,g=h.scrollFactorX,p=h.scrollFactorY,T=0;T{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports=["normal","multiply","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"]},3069:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(31401),x=n(441),h=n(95643),d=n(41212),t=n(35846),e=n(44594),l=n(61369),i=new m({Extends:h,Mixins:[S.AlphaSingle,S.BlendMode,S.Depth,S.Origin,S.ScrollFactor,S.Transform,S.Visible,x],initialize:function(r,o,a,u,f,v){if(h.call(this,r,"DOMElement"),this.parent=r.sys.game.domContainer,!this.parent)throw new Error("No DOM Container set in game config");this.cache=r.sys.cache.html,this.node,this.transformOnly=!1,this.skewX=0,this.skewY=0,this.rotate3d=new l,this.rotate3dAngle="deg",this.pointerEvents="auto",this.width=0,this.height=0,this.displayWidth=0,this.displayHeight=0,this.handler=this.dispatchNativeEvent.bind(this),this.setPosition(o,a),typeof u=="string"?u[0]==="#"?this.setElement(u.substr(1),f,v):this.createElement(u,f,v):u&&this.setElement(u,f,v),r.sys.events.on(e.SLEEP,this.handleSceneEvent,this),r.sys.events.on(e.WAKE,this.handleSceneEvent,this),r.sys.events.on(e.PRE_RENDER,this.preRender,this)},handleSceneEvent:function(s){var r=this.node,o=r.style;r&&(o.display=s.settings.visible?"block":"none")},setSkew:function(s,r){return s===void 0&&(s=0),r===void 0&&(r=s),this.skewX=s,this.skewY=r,this},setPerspective:function(s){return this.parent.style.perspective=s+"px",this},perspective:{get:function(){return parseFloat(this.parent.style.perspective)},set:function(s){this.parent.style.perspective=s+"px"}},addListener:function(s){if(this.node){s=s.split(" ");for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(47407),S=n(95643),x=n(61340),h=new x,d=new x,t=new x,e=function(l,i,s,r){if(i.node){s.camera&&(s=s.camera);var o=i.node.style,a=i.scene.sys.settings;if(!o||!a.visible||S.RENDER_MASK!==i.renderFlags||i.cameraFilter!==0&&i.cameraFilter&s.id||i.parentContainer&&!i.parentContainer.willRender()){o.display="none";return}var u=i.parentContainer,f=s.alpha*i.alpha;u&&(f*=u.alpha);var v=h,c=d,g=t,p=i.width*i.originX,T=i.height*i.originY,C="0%",M="0%";v.copyWithScrollFactorFrom(s.matrix,s.scrollX,s.scrollY,i.scrollFactorX,i.scrollFactorY),r?(v.multiply(r),p*=i.scaleX,T*=i.scaleY):(C=100*i.originX+"%",M=100*i.originY+"%"),v.translate(-p,-T),c.applyITRS(i.x,i.y,i.rotation,i.scaleX,i.scaleY),v.multiply(c,g),i.transformOnly||(o.display="block",o.opacity=f,o.zIndex=i._depth,o.pointerEvents=i.pointerEvents,o.mixBlendMode=m[i._blendMode]),o.transform=g.getCSSMatrix()+" skew("+i.skewX+"rad, "+i.skewY+"rad) rotate3d("+i.rotate3d.x+","+i.rotate3d.y+","+i.rotate3d.z+","+i.rotate3d.w+i.rotate3dAngle+")",o.transformOrigin=C+" "+M}};E.exports=e},2611:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(3069),S=n(39429);S.register("dom",function(x,h,d,t,e){var l=new m(this.scene,x,h,d,t,e);return this.displayList.add(l),l})},441:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(49381),x=n(49381),E.exports={renderWebGL:S,renderCanvas:x}},62980:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="addedtoscene"},41337:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="destroy"},44947:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="removedfromscene"},49358:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="complete"},35163:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="created"},97249:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="error"},19483:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="locked"},56059:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="loop"},26772:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="metadata"},64437:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="playing"},83411:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="play"},75780:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="seeked"},67799:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="seeking"},63500:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="stalled"},55541:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="stop"},53208:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="textureready"},4992:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="unlocked"},12:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="unsupported"},51708:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={ADDED_TO_SCENE:n(62980),DESTROY:n(41337),REMOVED_FROM_SCENE:n(44947),VIDEO_COMPLETE:n(49358),VIDEO_CREATED:n(35163),VIDEO_ERROR:n(97249),VIDEO_LOCKED:n(19483),VIDEO_LOOP:n(56059),VIDEO_METADATA:n(26772),VIDEO_PLAY:n(83411),VIDEO_PLAYING:n(64437),VIDEO_SEEKED:n(75780),VIDEO_SEEKING:n(67799),VIDEO_STALLED:n(63500),VIDEO_STOP:n(55541),VIDEO_TEXTURE:n(53208),VIDEO_UNLOCKED:n(4992),VIDEO_UNSUPPORTED:n(12)}},42421:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(31401),x=n(95643),h=n(64993),d=new m({Extends:x,Mixins:[S.Alpha,S.BlendMode,S.Depth,S.Flip,S.Origin,S.ScrollFactor,S.Size,S.Texture,S.Tint,S.Transform,S.Visible,h],initialize:function(e){x.call(this,e,"Extern")},addedToScene:function(){this.scene.sys.updateList.add(this)},removedFromScene:function(){this.scene.sys.updateList.remove(this)},preUpdate:function(){},render:function(){}});E.exports=d},70217:()=>{},56315:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(42421),S=n(39429);S.register("extern",function(){var x=new m(this.scene);return this.displayList.add(x),x})},64993:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(80287),x=n(70217),E.exports={renderWebGL:S,renderCanvas:x}},80287:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91296),S=function(x,h,d,t,e,l,i){x.renderNodes.getNode("YieldContext").run(d);var s=m(h,d.camera,t,!d.useCanvas).calc;h.render.call(h,x,d,s,l,i),x.renderNodes.getNode("RebindContext").run(d)};E.exports=S},85592:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={ARC:0,BEGIN_PATH:1,CLOSE_PATH:2,FILL_RECT:3,LINE_TO:4,MOVE_TO:5,LINE_STYLE:6,FILL_STYLE:7,FILL_PATH:8,STROKE_PATH:9,FILL_TRIANGLE:10,STROKE_TRIANGLE:11,SAVE:14,RESTORE:15,TRANSLATE:16,SCALE:17,ROTATE:18,GRADIENT_FILL_STYLE:21,GRADIENT_LINE_STYLE:22}},43831:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(71911),S=n(83419),x=n(85592),h=n(31401),d=n(8497),t=n(95643),e=n(87891),l=n(95540),i=n(35154),s=n(36383),r=n(84503),o=new S({Extends:t,Mixins:[h.AlphaSingle,h.BlendMode,h.Depth,h.Lighting,h.Mask,h.RenderNodes,h.Transform,h.Visible,h.ScrollFactor,r],initialize:function(u,f){var v=i(f,"x",0),c=i(f,"y",0);t.call(this,u,"Graphics"),this.setPosition(v,c),this.initRenderNodes(this._defaultRenderNodesMap),this.displayOriginX=0,this.displayOriginY=0,this.commandBuffer=[],this.defaultFillColor=-1,this.defaultFillAlpha=1,this.defaultStrokeWidth=1,this.defaultStrokeColor=-1,this.defaultStrokeAlpha=1,this._lineWidth=1,this.pathDetailThreshold=-1,this.lineStyle(1,0,0),this.fillStyle(0,0),this.setDefaultStyles(f)},_defaultRenderNodesMap:{get:function(){return e}},setDefaultStyles:function(a){return i(a,"lineStyle",null)&&(this.defaultStrokeWidth=i(a,"lineStyle.width",1),this.defaultStrokeColor=i(a,"lineStyle.color",16777215),this.defaultStrokeAlpha=i(a,"lineStyle.alpha",1),this.lineStyle(this.defaultStrokeWidth,this.defaultStrokeColor,this.defaultStrokeAlpha)),i(a,"fillStyle",null)&&(this.defaultFillColor=i(a,"fillStyle.color",16777215),this.defaultFillAlpha=i(a,"fillStyle.alpha",1),this.fillStyle(this.defaultFillColor,this.defaultFillAlpha)),this},lineStyle:function(a,u,f){return f===void 0&&(f=1),this.commandBuffer.push(x.LINE_STYLE,a,u,f),this._lineWidth=a,this},fillStyle:function(a,u){return u===void 0&&(u=1),this.commandBuffer.push(x.FILL_STYLE,a,u),this},fillGradientStyle:function(a,u,f,v,c,g,p,T){return c===void 0&&(c=1),g===void 0&&(g=c),p===void 0&&(p=c),T===void 0&&(T=c),this.commandBuffer.push(x.GRADIENT_FILL_STYLE,c,g,p,T,a,u,f,v),this},lineGradientStyle:function(a,u,f,v,c,g){return g===void 0&&(g=1),this.commandBuffer.push(x.GRADIENT_LINE_STYLE,a,g,u,f,v,c),this},beginPath:function(){return this.commandBuffer.push(x.BEGIN_PATH),this},closePath:function(){return this.commandBuffer.push(x.CLOSE_PATH),this},fillPath:function(){return this.commandBuffer.push(x.FILL_PATH),this},fill:function(){return this.commandBuffer.push(x.FILL_PATH),this},strokePath:function(){return this.commandBuffer.push(x.STROKE_PATH),this},stroke:function(){return this.commandBuffer.push(x.STROKE_PATH),this},fillCircleShape:function(a){return this.fillCircle(a.x,a.y,a.radius)},strokeCircleShape:function(a){return this.strokeCircle(a.x,a.y,a.radius)},fillCircle:function(a,u,f){return this.beginPath(),this.arc(a,u,f,0,s.TAU),this.fillPath(),this},strokeCircle:function(a,u,f){return this.beginPath(),this.arc(a,u,f,0,s.TAU),this.strokePath(),this},fillRectShape:function(a){return this.fillRect(a.x,a.y,a.width,a.height)},strokeRectShape:function(a){return this.strokeRect(a.x,a.y,a.width,a.height)},fillRect:function(a,u,f,v){return this.commandBuffer.push(x.FILL_RECT,a,u,f,v),this},strokeRect:function(a,u,f,v){var c=this._lineWidth/2,g=a-c,p=a+c;return this.beginPath(),this.moveTo(a,u),this.lineTo(a,u+v),this.strokePath(),this.beginPath(),this.moveTo(a+f,u),this.lineTo(a+f,u+v),this.strokePath(),this.beginPath(),this.moveTo(g,u),this.lineTo(p+f,u),this.strokePath(),this.beginPath(),this.moveTo(g,u+v),this.lineTo(p+f,u+v),this.strokePath(),this},fillRoundedRect:function(a,u,f,v,c){c===void 0&&(c=20);var g=c,p=c,T=c,C=c;typeof c!="number"&&(g=l(c,"tl",20),p=l(c,"tr",20),T=l(c,"bl",20),C=l(c,"br",20));var M=g>=0,A=p>=0,R=T>=0,P=C>=0;return g=Math.abs(g),p=Math.abs(p),T=Math.abs(T),C=Math.abs(C),this.beginPath(),this.moveTo(a+g,u),this.lineTo(a+f-p,u),A?this.arc(a+f-p,u+p,p,-s.PI_OVER_2,0):this.arc(a+f,u,p,Math.PI,s.PI_OVER_2,!0),this.lineTo(a+f,u+v-C),P?this.arc(a+f-C,u+v-C,C,0,s.PI_OVER_2):this.arc(a+f,u+v,C,-s.PI_OVER_2,Math.PI,!0),this.lineTo(a+T,u+v),R?this.arc(a+T,u+v-T,T,s.PI_OVER_2,Math.PI):this.arc(a,u+v,T,0,-s.PI_OVER_2,!0),this.lineTo(a,u+g),M?this.arc(a+g,u+g,g,-Math.PI,-s.PI_OVER_2):this.arc(a,u,g,s.PI_OVER_2,0,!0),this.fillPath(),this},strokeRoundedRect:function(a,u,f,v,c){c===void 0&&(c=20);var g=c,p=c,T=c,C=c,M=Math.min(f,v)/2;typeof c!="number"&&(g=l(c,"tl",20),p=l(c,"tr",20),T=l(c,"bl",20),C=l(c,"br",20));var A=g>=0,R=p>=0,P=T>=0,L=C>=0;return g=Math.min(Math.abs(g),M),p=Math.min(Math.abs(p),M),T=Math.min(Math.abs(T),M),C=Math.min(Math.abs(C),M),this.beginPath(),this.moveTo(a+g,u),this.lineTo(a+f-p,u),this.moveTo(a+f-p,u),R?this.arc(a+f-p,u+p,p,-s.PI_OVER_2,0):this.arc(a+f,u,p,Math.PI,s.PI_OVER_2,!0),this.lineTo(a+f,u+v-C),this.moveTo(a+f,u+v-C),L?this.arc(a+f-C,u+v-C,C,0,s.PI_OVER_2):this.arc(a+f,u+v,C,-s.PI_OVER_2,Math.PI,!0),this.lineTo(a+T,u+v),this.moveTo(a+T,u+v),P?this.arc(a+T,u+v-T,T,s.PI_OVER_2,Math.PI):this.arc(a,u+v,T,0,-s.PI_OVER_2,!0),this.lineTo(a,u+g),this.moveTo(a,u+g),A?this.arc(a+g,u+g,g,-Math.PI,-s.PI_OVER_2):this.arc(a,u,g,s.PI_OVER_2,0,!0),this.strokePath(),this},fillPointShape:function(a,u){return this.fillPoint(a.x,a.y,u)},fillPoint:function(a,u,f){return!f||f<1?f=1:(a-=f/2,u-=f/2),this.commandBuffer.push(x.FILL_RECT,a,u,f,f),this},fillTriangleShape:function(a){return this.fillTriangle(a.x1,a.y1,a.x2,a.y2,a.x3,a.y3)},strokeTriangleShape:function(a){return this.strokeTriangle(a.x1,a.y1,a.x2,a.y2,a.x3,a.y3)},fillTriangle:function(a,u,f,v,c,g){return this.commandBuffer.push(x.FILL_TRIANGLE,a,u,f,v,c,g),this},strokeTriangle:function(a,u,f,v,c,g){return this.commandBuffer.push(x.STROKE_TRIANGLE,a,u,f,v,c,g),this},strokeLineShape:function(a){return this.lineBetween(a.x1,a.y1,a.x2,a.y2)},lineBetween:function(a,u,f,v){return this.beginPath(),this.moveTo(a,u),this.lineTo(f,v),this.strokePath(),this},lineTo:function(a,u){return this.commandBuffer.push(x.LINE_TO,a,u),this},moveTo:function(a,u){return this.commandBuffer.push(x.MOVE_TO,a,u),this},strokePoints:function(a,u,f,v){u===void 0&&(u=!1),f===void 0&&(f=!1),v===void 0&&(v=a.length),this.beginPath(),this.moveTo(a[0].x,a[0].y);for(var c=1;c-1&&this.fillStyle(this.defaultFillColor,this.defaultFillAlpha),this.defaultStrokeColor>-1&&this.lineStyle(this.defaultStrokeWidth,this.defaultStrokeColor,this.defaultStrokeAlpha),this},generateTexture:function(a,u,f){var v=this.scene.sys,c=v.game.renderer;u===void 0&&(u=v.scale.width),f===void 0&&(f=v.scale.height),o.TargetCamera.setScene(this.scene),o.TargetCamera.setViewport(0,0,u,f),o.TargetCamera.scrollX=this.x,o.TargetCamera.scrollY=this.y;var g,p,T={willReadFrequently:!0};if(typeof a=="string")if(v.textures.exists(a)){g=v.textures.get(a);var C=g.getSourceImage();C instanceof HTMLCanvasElement&&(p=C.getContext("2d",T))}else g=v.textures.createCanvas(a,u,f),p=g.getSourceImage().getContext("2d",T);else a instanceof HTMLCanvasElement&&(p=a.getContext("2d",T));return p&&(this.renderCanvas(c,this,o.TargetCamera,null,p,!1),g&&g.refresh()),this},preDestroy:function(){this.commandBuffer=[]}});o.TargetCamera=new m,E.exports=o},32768:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(85592),S=n(20926),x=function(h,d,t,e,l,i){var s=d.commandBuffer,r=s.length,o=l||h.currentContext;if(!(r===0||!S(h,o,d,t,e))){t.addToRenderList(d);var a=1,u=1,f=0,v=0,c=1,g=0,p=0,T=0;o.beginPath();for(var C=0;C>>16,p=(f&65280)>>>8,T=f&255,o.strokeStyle="rgba("+g+","+p+","+T+","+a+")",o.lineWidth=c,C+=3;break;case m.FILL_STYLE:v=s[C+1],u=s[C+2],g=(v&16711680)>>>16,p=(v&65280)>>>8,T=v&255,o.fillStyle="rgba("+g+","+p+","+T+","+u+")",C+=2;break;case m.BEGIN_PATH:o.beginPath();break;case m.CLOSE_PATH:o.closePath();break;case m.FILL_PATH:i||o.fill();break;case m.STROKE_PATH:i||o.stroke();break;case m.FILL_RECT:i?o.rect(s[C+1],s[C+2],s[C+3],s[C+4]):o.fillRect(s[C+1],s[C+2],s[C+3],s[C+4]),C+=4;break;case m.FILL_TRIANGLE:o.beginPath(),o.moveTo(s[C+1],s[C+2]),o.lineTo(s[C+3],s[C+4]),o.lineTo(s[C+5],s[C+6]),o.closePath(),i||o.fill(),C+=6;break;case m.STROKE_TRIANGLE:o.beginPath(),o.moveTo(s[C+1],s[C+2]),o.lineTo(s[C+3],s[C+4]),o.lineTo(s[C+5],s[C+6]),o.closePath(),i||o.stroke(),C+=6;break;case m.LINE_TO:o.lineTo(s[C+1],s[C+2]),C+=2;break;case m.MOVE_TO:o.moveTo(s[C+1],s[C+2]),C+=2;break;case m.LINE_FX_TO:o.lineTo(s[C+1],s[C+2]),C+=5;break;case m.MOVE_FX_TO:o.moveTo(s[C+1],s[C+2]),C+=5;break;case m.SAVE:o.save();break;case m.RESTORE:o.restore();break;case m.TRANSLATE:o.translate(s[C+1],s[C+2]),C+=2;break;case m.SCALE:o.scale(s[C+1],s[C+2]),C+=2;break;case m.ROTATE:o.rotate(s[C+1]),C+=1;break;case m.GRADIENT_FILL_STYLE:C+=5;break;case m.GRADIENT_LINE_STYLE:C+=6;break}}o.restore()}};E.exports=x},87079:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(44603),S=n(43831);m.register("graphics",function(x,h){x===void 0&&(x={}),h!==void 0&&(x.add=h);var d=new S(this.scene,x);return x.add&&this.scene.sys.displayList.add(d),d})},1201:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43831),S=n(39429);S.register("graphics",function(x){return this.displayList.add(new m(this.scene,x))})},84503:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(77545),x=n(32768),x=n(32768),E.exports={renderWebGL:S,renderCanvas:x}},77545:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(85592),S=n(91296),x=n(70554),h=n(61340),d=function(u,f,v){this.x=u,this.y=f,this.width=v},t=function(u,f,v){this.points=[],this.points[0]=new d(u,f,v),this.addPoint=function(c,g,p){var T=this.points[this.points.length-1];T.x===c&&T.y===g||this.points.push(new d(c,g,p))}},e=[],l=new h,i=new h,s={TL:0,TR:0,BL:0,BR:0},r={TL:0,TR:0,BL:0,BR:0},o=[{x:0,y:0,width:0},{x:0,y:0,width:0},{x:0,y:0,width:0},{x:0,y:0,width:0}],a=function(u,f,v,c){if(f.commandBuffer.length!==0){var g=f.customRenderNodes,p=f.defaultRenderNodes,T=g.Submitter||p.Submitter,C=f.lighting,M=v,A=M.camera;A.addToRenderList(f);for(var R=S(f,A,c,!v.useCanvas).calc,P=l.loadIdentity(),L=f.commandBuffer,F=f.alpha,w=Math.max(f.pathDetailThreshold,u.config.pathDetailThreshold,0),O=1,B=0,I=0,D=0,N=.01,z=Math.PI*2,V,U=[],G=0,b=!0,Y=null,W=x.getTintAppendFloatAlpha,H=0;H0&&(lt=-z+lt%z):lt>z?lt=z:lt<0&&(lt=z+lt%z),Y===null&&(Y=new t(ht+Math.cos(it)*nt,ot+Math.sin(it)*nt,O),U.push(Y),at+=N);at<1+ct;)D=lt*at+it,B=ht+Math.cos(D)*nt,I=ot+Math.sin(D)*nt,Y.addPoint(B,I,O),at+=N;D=lt+it,B=ht+Math.cos(D)*nt,I=ot+Math.sin(D)*nt,Y.addPoint(B,I,O);break}case m.FILL_RECT:{R.multiply(P,i),(g.FillRect||p.FillRect).run(M,i,T,L[++H],L[++H],L[++H],L[++H],s.TL,s.TR,s.BL,s.BR,C);break}case m.FILL_TRIANGLE:{R.multiply(P,i),(g.FillTri||p.FillTri).run(M,i,T,L[++H],L[++H],L[++H],L[++H],L[++H],L[++H],s.TL,s.TR,s.BL,C);break}case m.STROKE_TRIANGLE:{R.multiply(P,i),o[0].x=L[++H],o[0].y=L[++H],o[0].width=O,o[1].x=L[++H],o[1].y=L[++H],o[1].width=O,o[2].x=L[++H],o[2].y=L[++H],o[2].width=O,o[3].x=o[0].x,o[3].y=o[0].y,o[3].width=O,(g.StrokePath||p.StrokePath).run(M,T,o,O,!1,i,r.TL,r.TR,r.BL,r.BR,C);break}case m.LINE_TO:{ht=L[++H],ot=L[++H],Y!==null?Y.addPoint(ht,ot,O):(Y=new t(ht,ot,O),U.push(Y));break}case m.MOVE_TO:{Y=new t(L[++H],L[++H],O),U.push(Y);break}case m.SAVE:{e.push(P.copyToArray());break}case m.RESTORE:{P.copyFromArray(e.pop());break}case m.TRANSLATE:{ht=L[++H],ot=L[++H],P.translate(ht,ot);break}case m.SCALE:{ht=L[++H],ot=L[++H],P.scale(ht,ot);break}case m.ROTATE:{P.rotate(L[++H]);break}}}};E.exports=a},26479:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(61061),S=n(83419),x=n(51708),h=n(50792),d=n(46710),t=n(95540),e=n(35154),l=n(97022),i=n(41212),s=n(88492),r=n(68287),o=new S({Extends:h,initialize:function(u,f,v){h.call(this),v?f&&!Array.isArray(f)&&(f=[f]):Array.isArray(f)?i(f[0])&&(v=f,f=null):i(f)&&(v=f,f=null),this.scene=u,this.children=new Set,this.isParent=!0,this.type="Group",this.classType=t(v,"classType",r),this.name=t(v,"name",""),this.active=t(v,"active",!0),this.maxSize=t(v,"maxSize",-1),this.defaultKey=t(v,"defaultKey",null),this.defaultFrame=t(v,"defaultFrame",null),this.runChildUpdate=t(v,"runChildUpdate",!1),this.createCallback=t(v,"createCallback",null),this.removeCallback=t(v,"removeCallback",null),this.createMultipleCallback=t(v,"createMultipleCallback",null),this.internalCreateCallback=t(v,"internalCreateCallback",null),this.internalRemoveCallback=t(v,"internalRemoveCallback",null),f&&this.addMultiple(f),v&&this.createMultiple(v),this.on(x.ADDED_TO_SCENE,this.addedToScene,this),this.on(x.REMOVED_FROM_SCENE,this.removedFromScene,this)},addedToScene:function(){this.scene.sys.updateList.add(this)},removedFromScene:function(){this.scene.sys.updateList.remove(this)},create:function(a,u,f,v,c,g){if(a===void 0&&(a=0),u===void 0&&(u=0),f===void 0&&(f=this.defaultKey),v===void 0&&(v=this.defaultFrame),c===void 0&&(c=!0),g===void 0&&(g=!0),this.isFull())return null;var p=new this.classType(this.scene,a,u,f,v);return p.addToDisplayList(this.scene.sys.displayList),p.addToUpdateList(),p.visible=c,p.setActive(g),this.add(p),p},createMultiple:function(a){if(this.isFull())return[];Array.isArray(a)||(a=[a]);var u=[];if(a[0].key)for(var f=0;f=0;A--)if(M=P[A],M.active===f){if(R++,R===u)break}else M=null;return M?(typeof c=="number"&&(M.x=c),typeof g=="number"&&(M.y=g),M):v?this.create(c,g,p,T,C):null},get:function(a,u,f,v,c){return this.getFirst(!1,!0,a,u,f,v,c)},getFirstAlive:function(a,u,f,v,c,g){return this.getFirst(!0,a,u,f,v,c,g)},getFirstDead:function(a,u,f,v,c,g){return this.getFirst(!1,a,u,f,v,c,g)},playAnimation:function(a,u){return m.PlayAnimation(Array.from(this.children),a,u),this},isFull:function(){return this.maxSize===-1?!1:this.children.size>=this.maxSize},countActive:function(a){a===void 0&&(a=!0);var u=0;return this.children.forEach(function(f){f.active===a&&u++}),u},getTotalUsed:function(){return this.countActive()},getTotalFree:function(){var a=this.getTotalUsed(),u=this.maxSize===-1?999999999999:this.maxSize;return u-a},setActive:function(a){return this.active=a,this},setName:function(a){return this.name=a,this},propertyValueSet:function(a,u,f,v,c){return m.PropertyValueSet(Array.from(this.children),a,u,f,v,c),this},propertyValueInc:function(a,u,f,v,c){return m.PropertyValueInc(Array.from(this.children),a,u,f,v,c),this},setX:function(a,u){return m.SetX(Array.from(this.children),a,u),this},setY:function(a,u){return m.SetY(Array.from(this.children),a,u),this},setXY:function(a,u,f,v){return m.SetXY(Array.from(this.children),a,u,f,v),this},incX:function(a,u){return m.IncX(Array.from(this.children),a,u),this},incY:function(a,u){return m.IncY(Array.from(this.children),a,u),this},incXY:function(a,u,f,v){return m.IncXY(Array.from(this.children),a,u,f,v),this},shiftPosition:function(a,u,f){return m.ShiftPosition(Array.from(this.children),a,u,f),this},angle:function(a,u){return m.Angle(Array.from(this.children),a,u),this},rotate:function(a,u){return m.Rotate(Array.from(this.children),a,u),this},rotateAround:function(a,u){return m.RotateAround(Array.from(this.children),a,u),this},rotateAroundDistance:function(a,u,f){return m.RotateAroundDistance(Array.from(this.children),a,u,f),this},setAlpha:function(a,u){return m.SetAlpha(Array.from(this.children),a,u),this},setTint:function(a,u,f,v){return m.SetTint(Array.from(this.children),a,u,f,v),this},setOrigin:function(a,u,f,v){return m.SetOrigin(Array.from(this.children),a,u,f,v),this},scaleX:function(a,u){return m.ScaleX(Array.from(this.children),a,u),this},scaleY:function(a,u){return m.ScaleY(Array.from(this.children),a,u),this},scaleXY:function(a,u,f,v){return m.ScaleXY(Array.from(this.children),a,u,f,v),this},setDepth:function(a,u){return m.SetDepth(Array.from(this.children),a,u),this},setBlendMode:function(a){return m.SetBlendMode(Array.from(this.children),a),this},setHitArea:function(a,u){return m.SetHitArea(Array.from(this.children),a,u),this},shuffle:function(){return m.Shuffle(Array.from(this.children)),this},kill:function(a){this.children.has(a)&&a.setActive(!1)},killAndHide:function(a){this.children.has(a)&&(a.setActive(!1),a.setVisible(!1))},setVisible:function(a,u,f){return m.SetVisible(Array.from(this.children),a,u,f),this},toggleVisible:function(){return m.ToggleVisible(Array.from(this.children)),this},destroy:function(a,u){a===void 0&&(a=!1),u===void 0&&(u=!1),!(!this.scene||this.ignoreDestroy)&&(this.emit(x.DESTROY,this),this.removeAllListeners(),this.scene.sys.updateList.remove(this),this.clear(u,a),this.scene=void 0,this.children=void 0)}});E.exports=o},94975:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(44603),S=n(26479);m.register("group",function(x){return new S(this.scene,null,x)})},3385:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26479),S=n(39429);S.register("group",function(x,h){return this.updateList.add(new m(this.scene,x,h))})},88571:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(40939),S=n(83419),x=n(31401),h=n(95643),d=n(59819),t=new S({Extends:h,Mixins:[x.Alpha,x.BlendMode,x.Depth,x.Flip,x.GetBounds,x.Lighting,x.Mask,x.Origin,x.RenderNodes,x.ScrollFactor,x.Size,x.TextureCrop,x.Tint,x.Transform,x.Visible,d],initialize:function(l,i,s,r,o){h.call(this,l,"Image"),this._crop=this.resetCropObject(),this.setTexture(r,o),this.setPosition(i,s),this.setSizeToFrame(),this.setOriginFromFrame(),this.initRenderNodes(this._defaultRenderNodesMap)},_defaultRenderNodesMap:{get:function(){return m}}});E.exports=t},40652:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){S.addToRenderList(m),n.batchSprite(m,m.frame,S,x)};E.exports=y},82459:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25305),S=n(44603),x=n(23568),h=n(88571);S.register("image",function(d,t){d===void 0&&(d={});var e=x(d,"key",null),l=x(d,"frame",null),i=new h(this.scene,0,0,e,l);return t!==void 0&&(d.add=t),m(this.scene,i,d),i})},2117:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(88571),S=n(39429);S.register("image",function(x,h,d,t){return this.displayList.add(new m(this.scene,x,h,d,t))})},59819:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(99517),x=n(40652),E.exports={renderWebGL:S,renderCanvas:x}},99517:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){S.camera.addToRenderList(m);var h=m.customRenderNodes,d=m.defaultRenderNodes;(h.Submitter||d.Submitter).run(S,m,x,0,h.Texturer||d.Texturer,h.Transformer||d.Transformer)};E.exports=y},77856:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m={Events:n(51708),DisplayList:n(8050),GameObjectCreator:n(44603),GameObjectFactory:n(39429),UpdateList:n(45027),Components:n(31401),GetCalcMatrix:n(91296),BuildGameObject:n(25305),BuildGameObjectAnimation:n(13059),GameObject:n(95643),BitmapText:n(22186),Blitter:n(6107),Bob:n(46590),Container:n(31559),DOMElement:n(3069),DynamicBitmapText:n(2638),Extern:n(42421),Graphics:n(43831),Group:n(26479),Image:n(88571),Layer:n(93595),Particles:n(18404),PathFollower:n(1159),RenderTexture:n(591),RetroFont:n(196),Rope:n(77757),Sprite:n(68287),Stamp:n(14727),Text:n(50171),GetTextSize:n(14220),MeasureText:n(79557),TextStyle:n(35762),TileSprite:n(20839),Zone:n(41481),Video:n(18471),Shape:n(17803),Arc:n(23629),Curve:n(89),Ellipse:n(19921),Grid:n(30479),IsoBox:n(61475),IsoTriangle:n(16933),Line:n(57847),Polygon:n(24949),Rectangle:n(74561),Star:n(55911),Triangle:n(36931),Factories:{Blitter:n(12709),Container:n(24961),DOMElement:n(2611),DynamicBitmapText:n(72566),Extern:n(56315),Graphics:n(1201),Group:n(3385),Image:n(2117),Layer:n(20005),Particles:n(676),PathFollower:n(90145),RenderTexture:n(60505),Rope:n(96819),Sprite:n(46409),Stamp:n(85326),StaticBitmapText:n(34914),Text:n(68005),TileSprite:n(91681),Zone:n(84175),Video:n(89025),Arc:n(42563),Curve:n(40511),Ellipse:n(1543),Grid:n(34137),IsoBox:n(3933),IsoTriangle:n(49803),Line:n(2481),Polygon:n(64827),Rectangle:n(87959),Star:n(93697),Triangle:n(45245)},Creators:{Blitter:n(9403),Container:n(77143),DynamicBitmapText:n(11164),Graphics:n(87079),Group:n(94975),Image:n(82459),Layer:n(25179),Particles:n(92730),RenderTexture:n(34495),Rope:n(26209),Sprite:n(15567),Stamp:n(31479),StaticBitmapText:n(57336),Text:n(71259),TileSprite:n(14167),Zone:n(95261),Video:n(11511)}};m.CaptureFrame=n(43451),m.Shader=n(20071),m.NineSlice=n(28103),m.PointLight=n(80321),m.SpriteGPULayer=n(76573),m.Factories.CaptureFrame=n(20421),m.Factories.Shader=n(74177),m.Factories.NineSlice=n(47521),m.Factories.PointLight=n(71255),m.Factories.SpriteGPULayer=n(96019),m.Creators.CaptureFrame=n(23675),m.Creators.Shader=n(54935),m.Creators.NineSlice=n(28279),m.Creators.PointLight=n(39829),m.Creators.SpriteGPULayer=n(16193),m.Light=n(41432),m.LightsManager=n(61356),m.LightsPlugin=n(88992),E.exports=m},93595:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(10312),S=n(83419),x=n(31401),h=n(53774),d=n(45893),t=n(50792),e=n(51708),l=n(73162),i=n(33963),s=n(44594),r=n(19186),o=new S({Extends:l,Mixins:[x.AlphaSingle,x.BlendMode,x.Depth,x.Filters,x.Mask,x.RenderSteps,x.Visible,t,i],initialize:function(u,f){l.call(this,u),t.call(this),this.scene=u,this.displayList=null,this.type="Layer",this.state=0,this.parentContainer=null,this.name="",this.active=!0,this.tabIndex=-1,this.data=null,this.renderFlags=15,this.cameraFilter=0,this.input=null,this.body=null,this.ignoreDestroy=!1,this.systems=u.sys,this.events=u.sys.events,this.sortChildrenFlag=!1,this.addCallback=this.addChildCallback,this.removeCallback=this.removeChildCallback,this.clearAlpha(),this.setBlendMode(m.SKIP_CHECK),f&&this.add(f),this.addRenderStep&&this.addRenderStep(this.renderWebGL),u.sys.queueDepthSort()},setActive:function(a){return this.active=a,this},setName:function(a){return this.name=a,this},setState:function(a){return this.state=a,this},setDataEnabled:function(){return this.data||(this.data=new d(this)),this},setData:function(a,u){return this.data||(this.data=new d(this)),this.data.set(a,u),this},incData:function(a,u){return this.data||(this.data=new d(this)),this.data.inc(a,u),this},toggleData:function(a){return this.data||(this.data=new d(this)),this.data.toggle(a),this},getData:function(a){return this.data||(this.data=new d(this)),this.data.get(a)},setInteractive:function(){return this},disableInteractive:function(){return this},removeInteractive:function(){return this},addedToScene:function(){},removedFromScene:function(){},update:function(){},toJSON:function(){return h(this)},willRender:function(a){return!(this.renderFlags!==15||this.list.length===0||this.cameraFilter!==0&&this.cameraFilter&a.id)},getIndexList:function(){for(var a=this,u=this.parentContainer,f=[];u&&(f.unshift(u.getIndex(a)),a=u,u.parentContainer);)u=u.parentContainer;return f.unshift(this.displayList.getIndex(a)),f},addChildCallback:function(a){var u=a.displayList;u&&u!==this&&a.removeFromDisplayList(),a.displayList||(this.queueDepthSort(),a.displayList=this,a.emit(e.ADDED_TO_SCENE,a,this.scene),this.events.emit(s.ADDED_TO_SCENE,a,this.scene))},removeChildCallback:function(a){this.queueDepthSort(),a.displayList=null,a.emit(e.REMOVED_FROM_SCENE,a,this.scene),this.events.emit(s.REMOVED_FROM_SCENE,a,this.scene)},queueDepthSort:function(){this.sortChildrenFlag=!0},depthSort:function(){this.sortChildrenFlag&&(r(this.list,this.sortByDepth),this.sortChildrenFlag=!1)},sortByDepth:function(a,u){return a._depth-u._depth},getChildren:function(){return this.list},addToDisplayList:function(a){return a===void 0&&(a=this.scene.sys.displayList),this.displayList&&this.displayList!==a&&this.removeFromDisplayList(),a.exists(this)||(this.displayList=a,a.add(this,!0),a.queueDepthSort(),this.emit(e.ADDED_TO_SCENE,this,this.scene),a.events.emit(s.ADDED_TO_SCENE,this,this.scene)),this},removeFromDisplayList:function(){var a=this.displayList||this.scene.sys.displayList;return a.exists(this)&&(a.remove(this,!0),a.queueDepthSort(),this.displayList=null,this.emit(e.REMOVED_FROM_SCENE,this,this.scene),a.events.emit(s.REMOVED_FROM_SCENE,this,this.scene)),this},getDisplayList:function(){var a=null;return this.parentContainer?a=this.parentContainer.list:this.displayList&&(a=this.displayList.list),a},destroy:function(a){if(!(!this.scene||this.ignoreDestroy)){this.emit(e.DESTROY,this);for(var u=this.list;u.length;)u[0].destroy(a);this.removeAllListeners(),this.displayList&&(this.displayList.remove(this,!0,!1),this.displayList.queueDepthSort()),this.data&&(this.data.destroy(),this.data=void 0),this.filterCamera&&(this.filterCamera.destroy(),this.filterCamera=void 0),this.active=!1,this.visible=!1,this.list=void 0,this.scene=void 0,this.displayList=void 0,this.systems=void 0,this.events=void 0}}});E.exports=o},2956:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){var x=m.list;if(x.length!==0){m.depthSort();var h=m.blendMode!==-1;h||n.setBlendMode(0);var d=m._alpha;m.mask&&m.mask.preRenderCanvas(n,null,S);for(var t=0;t{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25305),S=n(93595),x=n(44603),h=n(23568);x.register("layer",function(d,t){d===void 0&&(d={});var e=h(d,"children",null),l=new S(this.scene,e);return t!==void 0&&(d.add=t),m(this.scene,l,d),l})},20005:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(93595),S=n(39429);S.register("layer",function(x){return this.displayList.add(new m(this.scene,x))})},33963:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(15869),x=n(2956),E.exports={renderWebGL:S,renderCanvas:x}},15869:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(8054),S=function(x,h,d,t,e,l,i){var s=h.list,r=s.length;if(r!==0){var o=d,a=o.camera;h.depthSort();var u=h.blendMode!==m.BlendModes.SKIP_CHECK;!u&&o.blendMode!==0&&(o=o.getClone(),o.setBlendMode(0),o.use());for(var f=h.alpha,v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(96503),S=n(83419),x=n(31401),h=n(51767),d=n(70554),t=new S({Extends:m,Mixins:[x.Origin,x.ScrollFactor,x.Visible],initialize:function(l,i,s,r,o,a,u,f){m.call(this,l,i,s),this.color=new h(r,o,a),this.intensity=u,this.z=f===void 0?s*.1:f,this.renderFlags=15,this.cameraFilter=0,this.setScrollFactor(1,1),this.setOrigin(),this.setDisplayOrigin(s)},displayWidth:{get:function(){return this.diameter},set:function(e){this.diameter=e}},displayHeight:{get:function(){return this.diameter},set:function(e){this.diameter=e}},width:{get:function(){return this.diameter},set:function(e){this.diameter=e}},height:{get:function(){return this.diameter},set:function(e){this.diameter=e}},zNormal:{get:function(){return this.z/this.radius},set:function(e){this.z=e*this.radius}},willRender:function(e){return!(t.RENDER_MASK!==this.renderFlags||this.cameraFilter!==0&&this.cameraFilter&e.id)},setColor:function(e){var l=d.getFloatsFromUintRGB(e);return this.color.set(l[0],l[1],l[2]),this},setIntensity:function(e){return this.intensity=e,this},setRadius:function(e){return this.radius=e,this},setZ:function(e){return this.z=e,this},setZNormal:function(e){return this.z=e*this.radius,this}});t.RENDER_MASK=15,E.exports=t},61356:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(81491),S=n(83419),x=n(20339),h=n(41432),d=n(80321),t=n(51767),e=n(19133),l=n(19186),i=n(70554),s=new S({initialize:function(){this.lights=[],this.ambientColor=new t(.1,.1,.1),this.active=!1,this.maxLights=-1,this.visibleLights=0},addPointLight:function(r,o,a,u,f,v){return this.systems.displayList.add(new d(this.scene,r,o,a,u,f,v))},enable:function(){return this.maxLights===-1&&(this.maxLights=this.systems.renderer.config.maxLights),this.active=!0,this},disable:function(){return this.active=!1,this},getLights:function(r){for(var o=this.lights,a=r.worldView,u=[],f=0;fthis.maxLights&&(l(u,this.sortByDistance),u=u.slice(0,this.maxLights)),this.visibleLights=u.length,u},sortByDistance:function(r,o){return r.distance>=o.distance},setAmbientColor:function(r){var o=i.getFloatsFromUintRGB(r);return this.ambientColor.set(o[0],o[1],o[2]),this},getMaxVisibleLights:function(){return this.maxLights},getLightCount:function(){return this.lights.length},addLight:function(r,o,a,u,f,v){r===void 0&&(r=0),o===void 0&&(o=0),a===void 0&&(a=128),u===void 0&&(u=16777215),f===void 0&&(f=1),v===void 0&&(v=a*.1);var c=i.getFloatsFromUintRGB(u),g=new h(r,o,a,c[0],c[1],c[2],f,v);return this.lights.push(g),g},removeLight:function(r){var o=this.lights.indexOf(r);return o>=0&&e(this.lights,o),this},shutdown:function(){this.lights.length=0},destroy:function(){this.shutdown()}});E.exports=s},88992:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(61356),x=n(37277),h=n(44594),d=new m({Extends:S,initialize:function(e){this.scene=e,this.systems=e.sys,e.sys.settings.isBooted||e.sys.events.once(h.BOOT,this.boot,this),S.call(this)},boot:function(){var t=this.systems.events;t.on(h.SHUTDOWN,this.shutdown,this),t.on(h.DESTROY,this.destroy,this)},destroy:function(){this.shutdown(),this.scene=void 0,this.systems=void 0}});x.register("LightsPlugin",d,"lights"),E.exports=d},28103:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(30529),S=n(83419),x=n(31401),h=n(95643),d=n(78023),t=n(82513),e=new S({Extends:h,Mixins:[x.AlphaSingle,x.BlendMode,x.Depth,x.GetBounds,x.Mask,x.Origin,x.RenderNodes,x.ScrollFactor,x.Texture,x.Transform,x.Visible,d],initialize:function(i,s,r,o,a,u,f,v,c,g,p){h.call(this,i,"NineSlice"),this._width,this._height,this._originX=.5,this._originY=.5,this._sizeComponent=!0,this.vertices=[],this.leftWidth,this.rightWidth,this.topHeight,this.bottomHeight,this.tint=16777215,this.tintFill=!1;var T=i.textures.getFrame(o,a);this.is3Slice=!g&&!p,T&&T.scale9&&(this.is3Slice=T.is3Slice);for(var C=this.is3Slice?18:54,M=0;M{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25305),S=n(44603),x=n(23568),h=n(35154),d=n(28103);S.register("nineslice",function(t,e){t===void 0&&(t={});var l=x(t,"key",null),i=x(t,"frame",null),s=h(t,"width",256),r=h(t,"height",256),o=h(t,"leftWidth",10),a=h(t,"rightWidth",10),u=h(t,"topHeight",0),f=h(t,"bottomHeight",0),v=new d(this.scene,0,0,l,i,s,r,o,a,u,f);return e!==void 0&&(t.add=e),m(this.scene,v,t),v})},47521:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(28103),S=n(39429);S.register("nineslice",function(x,h,d,t,e,l,i,s,r,o){return this.displayList.add(new m(this.scene,x,h,d,t,e,l,i,s,r,o))})},78023:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(52230),E.exports={renderWebGL:S,renderCanvas:x}},82513:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(26099),x=new m({Extends:S,initialize:function(d,t,e,l){S.call(this,d,t),this.vx=0,this.vy=0,this.u=e,this.v=l},setUVs:function(h,d){return this.u=h,this.v=d,this},resize:function(h,d,t,e,l,i){return this.x=h,this.y=d,this.vx=this.x*t,this.vy=-this.y*e,l<.5?this.vx+=t*(.5-l):l>.5&&(this.vx-=t*(l-.5)),i<.5?this.vy+=e*(.5-i):i>.5&&(this.vy-=e*(i-.5)),this}});E.exports=x},52230:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91296),S=n(70554),x={multiTexturing:!0},h=function(d,t,e,l){var i=t.vertices,s=i.length;if(s!==0){var r=e.camera;r.addToRenderList(t);for(var o=t.alpha,a=t.customRenderNodes.BatchHandler||t.defaultRenderNodes.BatchHandler,u=m(t,r,l,!e.useCanvas).calc,f=S.getTintAppendFloatAlpha(t.tint,o),v=t.frame.source.glTexture,c=t.tintFill,g,p,T,C=0;C{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(44777),x=n(37589),h=n(6113),d=n(91389),t=n(90664),e=new m({Extends:S,initialize:function(i){S.call(this,i,null,!1),this.active=!1,this.easeName="Linear",this.r=[],this.g=[],this.b=[]},getMethod:function(){return this.propertyValue===null?0:9},setMethods:function(){var l=this.propertyValue,i=l,s=this.defaultEmit,r=this.defaultUpdate;if(this.method===9){this.start=l[0],this.ease=h("Linear"),this.interpolation=d("linear"),s=this.easedValueEmit,r=this.easeValueUpdate,i=l[0],this.active=!0,this.r.length=0,this.g.length=0,this.b.length=0;for(var o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(30976),S=n(45319),x=n(83419),h=n(99472),d=n(6113),t=n(95540),e=n(91389),l=n(77720),i=n(15994),s=new x({initialize:function(o,a,u){u===void 0&&(u=!1),this.propertyKey=o,this.propertyValue=a,this.defaultValue=a,this.steps=0,this.counter=0,this.yoyo=!1,this.direction=0,this.start=0,this.current=0,this.end=0,this.ease=null,this.interpolation=null,this.emitOnly=u,this.onEmit=this.defaultEmit,this.onUpdate=this.defaultUpdate,this.active=!0,this.method=0,this._onEmit,this._onUpdate},loadConfig:function(r,o){r===void 0&&(r={}),o&&(this.propertyKey=o),this.propertyValue=t(r,this.propertyKey,this.defaultValue),this.method=this.getMethod(),this.setMethods(),this.emitOnly&&(this.onUpdate=this.defaultUpdate)},toJSON:function(){return JSON.stringify(this.propertyValue)},onChange:function(r){var o;switch(this.method){case 1:case 3:case 8:o=r;break;case 2:this.propertyValue.indexOf(r)>=0&&(o=r);break;case 4:var a=(this.end-this.start)/this.steps;o=l(r,a),this.counter=o;break;case 5:case 6:case 7:o=S(r,this.start,this.end);break;case 9:o=this.start[0];break}return this.current=o,this},getMethod:function(){var r=this.propertyValue;if(r===null)return 0;var o=typeof r;if(o==="number")return 1;if(Array.isArray(r))return 2;if(o==="function")return 3;if(o==="object"){if(this.hasBoth(r,"start","end"))return this.has(r,"steps")?4:5;if(this.hasBoth(r,"min","max"))return 6;if(this.has(r,"random"))return 7;if(this.hasEither(r,"onEmit","onUpdate"))return 8;if(this.hasEither(r,"values","interpolation"))return 9}return 0},setMethods:function(){var r=this.propertyValue,o=r,a=this.defaultEmit,u=this.defaultUpdate;switch(this.method){case 1:a=this.staticValueEmit;break;case 2:a=this.randomStaticValueEmit,o=r[0];break;case 3:this._onEmit=r,a=this.proxyEmit,o=this.defaultValue;break;case 4:this.start=r.start,this.end=r.end,this.steps=r.steps,this.counter=this.start,this.yoyo=this.has(r,"yoyo")?r.yoyo:!1,this.direction=0,a=this.steppedEmit,o=this.start;break;case 5:this.start=r.start,this.end=r.end;var f=this.has(r,"ease")?r.ease:"Linear";this.ease=d(f,r.easeParams),a=this.has(r,"random")&&r.random?this.randomRangedValueEmit:this.easedValueEmit,u=this.easeValueUpdate,o=this.start;break;case 6:this.start=r.min,this.end=r.max,a=this.has(r,"int")&&r.int?this.randomRangedIntEmit:this.randomRangedValueEmit,o=this.start;break;case 7:var v=r.random;Array.isArray(v)&&(this.start=v[0],this.end=v[1]),a=this.randomRangedIntEmit,o=this.start;break;case 8:this._onEmit=this.has(r,"onEmit")?r.onEmit:this.defaultEmit,this._onUpdate=this.has(r,"onUpdate")?r.onUpdate:this.defaultUpdate,a=this.proxyEmit,u=this.proxyUpdate,o=this.defaultValue;break;case 9:this.start=r.values;var c=this.has(r,"ease")?r.ease:"Linear";this.ease=d(c,r.easeParams),this.interpolation=e(r.interpolation),a=this.easedValueEmit,u=this.easeValueUpdate,o=this.start[0];break}return this.onEmit=a,this.onUpdate=u,this.current=o,this},has:function(r,o){return r.hasOwnProperty(o)},hasBoth:function(r,o,a){return r.hasOwnProperty(o)&&r.hasOwnProperty(a)},hasEither:function(r,o,a){return r.hasOwnProperty(o)||r.hasOwnProperty(a)},defaultEmit:function(){return this.defaultValue},defaultUpdate:function(r,o,a,u){return u},proxyEmit:function(r,o,a){var u=this._onEmit(r,o,a);return this.current=u,u},proxyUpdate:function(r,o,a,u){var f=this._onUpdate(r,o,a,u);return this.current=f,f},staticValueEmit:function(){return this.current},staticValueUpdate:function(){return this.current},randomStaticValueEmit:function(){var r=Math.floor(Math.random()*this.propertyValue.length);return this.current=this.propertyValue[r],this.current},randomRangedValueEmit:function(r,o){var a=h(this.start,this.end);return r&&r.data[o]&&(r.data[o].min=a,r.data[o].max=this.end),this.current=a,a},randomRangedIntEmit:function(r,o){var a=m(this.start,this.end);return r&&r.data[o]&&(r.data[o].min=a,r.data[o].max=this.end),this.current=a,a},steppedEmit:function(){var r=this.counter,o=r,a=(this.end-this.start)/this.steps;if(this.yoyo){var u;this.direction===0?(o+=a,o>=this.end&&(u=o-this.end,o=this.end-u,this.direction=1)):(o-=a,o<=this.start&&(u=this.start-o,o=this.start+u,this.direction=0)),this.counter=o}else this.counter=i(o+a,this.start,this.end);return this.current=r,r},easedValueEmit:function(r,o){if(r&&r.data[o]){var a=r.data[o];a.min=this.start,a.max=this.end}return this.current=this.start,this.start},easeValueUpdate:function(r,o,a){var u=r.data[o],f,v=this.ease(a);return this.interpolation?f=this.interpolation(this.start,v):f=(u.max-u.min)*v+u.min,this.current=f,f},destroy:function(){this.propertyValue=null,this.defaultValue=null,this.ease=null,this.interpolation=null,this._onEmit=null,this._onUpdate=null}});E.exports=s},24502:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(95540),x=n(20286),h=new m({Extends:x,initialize:function(t,e,l,i,s){if(typeof t=="object"){var r=t;t=S(r,"x",0),e=S(r,"y",0),l=S(r,"power",0),i=S(r,"epsilon",100),s=S(r,"gravity",50)}else t===void 0&&(t=0),e===void 0&&(e=0),l===void 0&&(l=0),i===void 0&&(i=100),s===void 0&&(s=50);x.call(this,t,e,!0),this._gravity=s,this._power=l*s,this._epsilon=i*i},update:function(d,t){var e=this.x-d.x,l=this.y-d.y,i=e*e+l*l;if(i!==0){var s=Math.sqrt(i);i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(9674),S=n(45319),x=n(83419),h=n(39506),d=n(87841),t=n(11520),e=n(26099),l=new x({initialize:function(s){this.emitter=s,this.texture=null,this.frame=null,this.x=0,this.y=0,this.worldPosition=new e,this.velocityX=0,this.velocityY=0,this.accelerationX=0,this.accelerationY=0,this.maxVelocityX=1e4,this.maxVelocityY=1e4,this.bounce=0,this.scaleX=1,this.scaleY=1,this.alpha=1,this.angle=0,this.rotation=0,this.tint=16777215,this.life=1e3,this.lifeCurrent=1e3,this.delayCurrent=0,this.holdCurrent=0,this.lifeT=0,this.data={tint:{min:16777215,max:16777215},alpha:{min:1,max:1},rotate:{min:0,max:0},scaleX:{min:1,max:1},scaleY:{min:1,max:1},x:{min:0,max:0},y:{min:0,max:0},accelerationX:{min:0,max:0},accelerationY:{min:0,max:0},maxVelocityX:{min:0,max:0},maxVelocityY:{min:0,max:0},moveToX:{min:0,max:0},moveToY:{min:0,max:0},bounce:{min:0,max:0}},this.isCropped=!1,this.scene=s.scene,this.anims=null,this.emitter.anims.length>0&&(this.anims=new m(this)),this.bounds=new d},emit:function(i,s,r,o,a,u){return this.emitter.emit(i,s,r,o,a,u)},isAlive:function(){return this.lifeCurrent>0},kill:function(){this.lifeCurrent=0},setPosition:function(i,s){i===void 0&&(i=0),s===void 0&&(s=0),this.x=i,this.y=s},fire:function(i,s){var r=this.emitter,o=r.ops,a=r.getAnim();if(a?this.anims.play(a):(this.frame=r.getFrame(),this.texture=this.frame.texture),!this.frame)throw new Error("Particle has no texture frame");if(r.getEmitZone(this),i===void 0?this.x+=o.x.onEmit(this,"x"):o.x.steps>0?this.x+=i+o.x.onEmit(this,"x"):this.x+=i,s===void 0?this.y+=o.y.onEmit(this,"y"):o.y.steps>0?this.y+=s+o.y.onEmit(this,"y"):this.y+=s,this.life=o.lifespan.onEmit(this,"lifespan"),this.lifeCurrent=this.life,this.lifeT=0,this.delayCurrent=o.delay.onEmit(this,"delay"),this.holdCurrent=o.hold.onEmit(this,"hold"),this.scaleX=o.scaleX.onEmit(this,"scaleX"),this.scaleY=o.scaleY.active?o.scaleY.onEmit(this,"scaleY"):this.scaleX,this.angle=o.rotate.onEmit(this,"rotate"),this.rotation=h(this.angle),r.worldMatrix.transformPoint(this.x,this.y,this.worldPosition),this.delayCurrent===0&&r.getDeathZone(this))return this.lifeCurrent=0,!1;var u=o.speedX.onEmit(this,"speedX"),f=o.speedY.active?o.speedY.onEmit(this,"speedY"):u;if(r.radial){var v=h(o.angle.onEmit(this,"angle"));this.velocityX=Math.cos(v)*Math.abs(u),this.velocityY=Math.sin(v)*Math.abs(f)}else if(r.moveTo){var c=o.moveToX.onEmit(this,"moveToX"),g=o.moveToY.onEmit(this,"moveToY"),p=this.life/1e3;this.velocityX=(c-this.x)/p,this.velocityY=(g-this.y)/p}else this.velocityX=u,this.velocityY=f;return r.acceleration&&(this.accelerationX=o.accelerationX.onEmit(this,"accelerationX"),this.accelerationY=o.accelerationY.onEmit(this,"accelerationY")),this.maxVelocityX=o.maxVelocityX.onEmit(this,"maxVelocityX"),this.maxVelocityY=o.maxVelocityY.onEmit(this,"maxVelocityY"),this.bounce=o.bounce.onEmit(this,"bounce"),this.alpha=o.alpha.onEmit(this,"alpha"),o.color.active?this.tint=o.color.onEmit(this,"tint"):this.tint=o.tint.onEmit(this,"tint"),!0},update:function(i,s,r){if(this.lifeCurrent<=0)return this.holdCurrent>0?(this.holdCurrent-=i,this.holdCurrent<=0):!0;if(this.delayCurrent>0)return this.delayCurrent-=i,!1;this.anims&&this.anims.update(0,i);var o=this.emitter,a=o.ops,u=1-this.lifeCurrent/this.life;if(this.lifeT=u,this.x=a.x.onUpdate(this,"x",u,this.x),this.y=a.y.onUpdate(this,"y",u,this.y),o.moveTo){var f=a.moveToX.onUpdate(this,"moveToX",u,o.moveToX),v=a.moveToY.onUpdate(this,"moveToY",u,o.moveToY),c=this.lifeCurrent/1e3;this.velocityX=(f-this.x)/c,this.velocityY=(v-this.y)/c}return this.computeVelocity(o,i,s,r,u),this.scaleX=a.scaleX.onUpdate(this,"scaleX",u,this.scaleX),a.scaleY.active?this.scaleY=a.scaleY.onUpdate(this,"scaleY",u,this.scaleY):this.scaleY=this.scaleX,this.angle=a.rotate.onUpdate(this,"rotate",u,this.angle),this.rotation=h(this.angle),o.getDeathZone(this)?(this.lifeCurrent=0,!0):(this.alpha=S(a.alpha.onUpdate(this,"alpha",u,this.alpha),0,1),a.color.active?this.tint=a.color.onUpdate(this,"color",u,this.tint):this.tint=a.tint.onUpdate(this,"tint",u,this.tint),this.lifeCurrent-=i,this.lifeCurrent<=0&&this.holdCurrent<=0)},computeVelocity:function(i,s,r,o,a){var u=i.ops,f=this.velocityX,v=this.velocityY,c=u.accelerationX.onUpdate(this,"accelerationX",a,this.accelerationX),g=u.accelerationY.onUpdate(this,"accelerationY",a,this.accelerationY),p=u.maxVelocityX.onUpdate(this,"maxVelocityX",a,this.maxVelocityX),T=u.maxVelocityY.onUpdate(this,"maxVelocityY",a,this.maxVelocityY);this.bounce=u.bounce.onUpdate(this,"bounce",a,this.bounce),f+=i.gravityX*r+c*r,v+=i.gravityY*r+g*r,f=S(f,-p,p),v=S(v,-T,T),this.velocityX=f,this.velocityY=v,this.x+=f*r,this.y+=v*r,i.worldMatrix.transformPoint(this.x,this.y,this.worldPosition);for(var C=0;C{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(20286),x=n(87841),h=new m({Extends:S,initialize:function(t,e,l,i,s,r,o,a){s===void 0&&(s=!0),r===void 0&&(r=!0),o===void 0&&(o=!0),a===void 0&&(a=!0),S.call(this,t,e,!0),this.bounds=new x(t,e,l,i),this.collideLeft=s,this.collideRight=r,this.collideTop=o,this.collideBottom=a},update:function(d){var t=this.bounds,e=-d.bounce,l=d.worldPosition;l.xt.right&&this.collideRight&&(d.x-=l.x-t.right,d.velocityX*=e),l.yt.bottom&&this.collideBottom&&(d.y-=l.y-t.bottom,d.velocityY*=e)}});E.exports=h},31600:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(68668),S=n(83419),x=n(31401),h=n(53774),d=n(43459),t=n(26388),e=n(19909),l=n(76472),i=n(44777),s=n(20696),r=n(95643),o=n(95540),a=n(26546),u=n(24502),f=n(69036),v=n(1985),c=n(97022),g=n(86091),p=n(73162),T=n(20074),C=n(269),M=n(56480),A=n(69601),R=n(68875),P=n(87841),L=n(59996),F=n(72905),w=n(90668),O=n(19186),B=n(61340),I=n(26099),D=n(15994),N=["active","advance","blendMode","colorEase","deathCallback","deathCallbackScope","duration","emitCallback","emitCallbackScope","follow","frequency","gravityX","gravityY","maxAliveParticles","maxParticles","name","emitting","particleBringToTop","particleClass","radial","sortCallback","sortOrderAsc","sortProperty","stopAfter","tintFill","timeScale","trackVisible","visible"],z=["accelerationX","accelerationY","alpha","angle","bounce","color","delay","hold","lifespan","maxVelocityX","maxVelocityY","moveToX","moveToY","quantity","rotate","scaleX","scaleY","speedX","speedY","tint","x","y"],V=new S({Extends:r,Mixins:[x.AlphaSingle,x.BlendMode,x.Depth,x.Lighting,x.Mask,x.RenderNodes,x.ScrollFactor,x.Texture,x.Transform,x.Visible,w],initialize:function(G,b,Y,W,H){r.call(this,G,"ParticleEmitter"),this.particleClass=M,this.config=null,this.ops={accelerationX:new i("accelerationX",0),accelerationY:new i("accelerationY",0),alpha:new i("alpha",1),angle:new i("angle",{min:0,max:360},!0),bounce:new i("bounce",0),color:new l("color"),delay:new i("delay",0,!0),hold:new i("hold",0,!0),lifespan:new i("lifespan",1e3,!0),maxVelocityX:new i("maxVelocityX",1e4),maxVelocityY:new i("maxVelocityY",1e4),moveToX:new i("moveToX",0),moveToY:new i("moveToY",0),quantity:new i("quantity",1,!0),rotate:new i("rotate",0),scaleX:new i("scaleX",1),scaleY:new i("scaleY",1),speedX:new i("speedX",0,!0),speedY:new i("speedY",0,!0),tint:new i("tint",16777215),x:new i("x",0),y:new i("y",0)},this.radial=!0,this.gravityX=0,this.gravityY=0,this.acceleration=!1,this.moveTo=!1,this.emitCallback=null,this.emitCallbackScope=null,this.deathCallback=null,this.deathCallbackScope=null,this.maxParticles=0,this.maxAliveParticles=0,this.stopAfter=0,this.duration=0,this.frequency=0,this.emitting=!0,this.particleBringToTop=!0,this.timeScale=1,this.emitZones=[],this.deathZones=[],this.viewBounds=null,this.follow=null,this.followOffset=new I,this.trackVisible=!1,this.frames=[],this.randomFrame=!0,this.frameQuantity=1,this.anims=[],this.randomAnim=!0,this.animQuantity=1,this.dead=[],this.alive=[],this.counters=new Float32Array(10),this.skipping=!1,this.worldMatrix=new B,this.sortProperty="",this.sortOrderAsc=!0,this.sortCallback=this.depthSortCallback,this.processors=new p(this),this.tintFill=!1,this.initRenderNodes(this._defaultRenderNodesMap),this.setPosition(b,Y),this.setTexture(W),H&&this.setConfig(H)},_defaultRenderNodesMap:{get:function(){return m}},addedToScene:function(){this.scene.sys.updateList.add(this)},removedFromScene:function(){this.scene.sys.updateList.remove(this)},setConfig:function(U){if(!U)return this;this.config=U;var G=0,b="",Y=this.ops;for(G=0;G=this.animQuantity&&(this.animCounter=0,this.currentAnim=D(this.currentAnim+1,0,G)),b},setAnim:function(U,G,b){G===void 0&&(G=!0),b===void 0&&(b=1),this.randomAnim=G,this.animQuantity=b,this.currentAnim=0;var Y=typeof U;if(this.anims.length=0,Array.isArray(U))this.anims=this.anims.concat(U);else if(Y==="string")this.anims.push(U);else if(Y==="object"){var W=U;U=o(W,"anims",null),U&&(this.anims=this.anims.concat(U));var H=o(W,"cycle",!1);this.randomAnim=!H,this.animQuantity=o(W,"quantity",b)}return this.anims.length===1&&(this.animQuantity=1,this.randomAnim=!1),this},setRadial:function(U){return U===void 0&&(U=!0),this.radial=U,this},addParticleBounds:function(U,G,b,Y,W,H,X,K){if(typeof U=="object"){var Z=U;U=Z.x,G=Z.y,b=c(Z,"w")?Z.w:Z.width,Y=c(Z,"h")?Z.h:Z.height}return this.addParticleProcessor(new A(U,G,b,Y,W,H,X,K))},setParticleSpeed:function(U,G){return G===void 0&&(G=U),this.ops.speedX.onChange(U),U===G?this.ops.speedY.active=!1:this.ops.speedY.onChange(G),this.radial=!0,this},setParticleScale:function(U,G){return U===void 0&&(U=1),G===void 0&&(G=U),this.ops.scaleX.onChange(U),this.ops.scaleY.onChange(G),this},setParticleGravity:function(U,G){return this.gravityX=U,this.gravityY=G,this},setParticleAlpha:function(U){return this.ops.alpha.onChange(U),this},setParticleTint:function(U){return this.ops.tint.onChange(U),this},setEmitterAngle:function(U){return this.ops.angle.onChange(U),this},setParticleLifespan:function(U){return this.ops.lifespan.onChange(U),this},setQuantity:function(U){return this.quantity=U,this},setFrequency:function(U,G){return this.frequency=U,this.flowCounter=U>0?U:0,G&&(this.quantity=G),this},addDeathZone:function(U){Array.isArray(U)||(U=[U]);for(var G,b=[],Y=0;Y-1&&(this.zoneTotal++,this.zoneTotal===Y.total&&(this.zoneTotal=0,this.zoneIndex++,this.zoneIndex===b&&(this.zoneIndex=0)))}},getDeathZone:function(U){for(var G=this.deathZones,b=0;b=0&&(this.zoneIndex=G),this},addParticleProcessor:function(U){return this.processors.exists(U)||(U.emitter&&U.emitter.removeParticleProcessor(U),this.processors.add(U),U.emitter=this),U},removeParticleProcessor:function(U){return this.processors.exists(U)&&(this.processors.remove(U,!0),U.emitter=null),U},getProcessors:function(){return this.processors.getAll("active",!0)},createGravityWell:function(U){return this.addParticleProcessor(new u(U))},reserve:function(U){var G=this.dead;if(this.maxParticles>0){var b=this.getParticleCount();b+U>this.maxParticles&&(U=this.maxParticles-(b+U))}for(var Y=0;Y0&&this.getParticleCount()>=this.maxParticles?!0:this.maxAliveParticles>0&&this.getAliveParticleCount()>=this.maxAliveParticles},onParticleEmit:function(U,G){return U===void 0?(this.emitCallback=null,this.emitCallbackScope=null):typeof U=="function"&&(this.emitCallback=U,G&&(this.emitCallbackScope=G)),this},onParticleDeath:function(U,G){return U===void 0?(this.deathCallback=null,this.deathCallbackScope=null):typeof U=="function"&&(this.deathCallback=U,G&&(this.deathCallbackScope=G)),this},killAll:function(){for(var U=this.dead,G=this.alive;G.length>0;)U.push(G.pop());return this},forEachAlive:function(U,G){for(var b=this.alive,Y=b.length,W=0;W0&&this.fastForward(U),this.emitting=!0,this.resetCounters(this.frequency,!0),G!==void 0&&(this.duration=Math.abs(G)),this.emit(s.START,this)),this},stop:function(U){return U===void 0&&(U=!1),this.emitting&&(this.emitting=!1,U&&this.killAll(),this.emit(s.STOP,this)),this},pause:function(){return this.active=!1,this},resume:function(){return this.active=!0,this},setSortProperty:function(U,G){return U===void 0&&(U=""),G===void 0&&(G=this.true),this.sortProperty=U,this.sortOrderAsc=G,this.sortCallback=this.depthSortCallback,this},setSortCallback:function(U){return this.sortProperty!==""?U=this.depthSortCallback:U=null,this.sortCallback=U,this},depthSort:function(){return O(this.alive,this.sortCallback.bind(this)),this},depthSortCallback:function(U,G){var b=this.sortProperty;return this.sortOrderAsc?U[b]-G[b]:G[b]-U[b]},flow:function(U,G,b){return G===void 0&&(G=1),this.emitting=!1,this.frequency=U,this.quantity=G,b!==void 0&&(this.stopAfter=b),this.start()},explode:function(U,G,b){this.frequency=-1,this.resetCounters(-1,!0);var Y=this.emitParticle(U,G,b);return this.emit(s.EXPLODE,this,Y),Y},emitParticleAt:function(U,G,b){return this.emitParticle(b,U,G)},emitParticle:function(U,G,b){if(!this.atLimit()){U===void 0&&(U=this.ops.quantity.onEmit());for(var Y=this.dead,W=this.stopAfter,H=this.follow?this.follow.x+this.followOffset.x:G,X=this.follow?this.follow.y+this.followOffset.y:b,K=0;K0&&(this.stopCounter++,this.stopCounter>=W)||this.atLimit())break}return Z}},fastForward:function(U,G){G===void 0&&(G=1e3/60);var b=0;for(this.skipping=!0;b0){var j=this.deathCallback,J=this.deathCallbackScope;for(X=Z-1;X>=0;X--){var tt=K[X];W.splice(tt.index,1),H.push(tt.particle),j&&j.call(J,tt.particle),tt.particle.setPosition()}}if(!this.emitting&&!this.skipping){this.completeFlag===1&&W.length===0&&(this.completeFlag=0,this.emit(s.COMPLETE,this));return}if(this.frequency===0)this.emitParticle();else if(this.frequency>0)for(this.flowCounter-=G;this.flowCounter<=0;)this.emitParticle(),this.flowCounter+=this.frequency;this.skipping||(this.duration>0&&(this.elapsed+=G,this.elapsed>=this.duration&&this.stop()),this.stopAfter>0&&this.stopCounter>=this.stopAfter&&this.stop())},overlap:function(U){for(var G=this.getWorldTransformMatrix(),b=this.alive,Y=b.length,W=[],H=0;H0){var Q=0;for(this.skipping=!0;Q0&&g(Y,U,U),Y},createEmitter:function(){throw new Error("createEmitter removed. See ParticleEmitter docs for info")},particleX:{get:function(){return this.ops.x.current},set:function(U){this.ops.x.onChange(U)}},particleY:{get:function(){return this.ops.y.current},set:function(U){this.ops.y.onChange(U)}},accelerationX:{get:function(){return this.ops.accelerationX.current},set:function(U){this.ops.accelerationX.onChange(U)}},accelerationY:{get:function(){return this.ops.accelerationY.current},set:function(U){this.ops.accelerationY.onChange(U)}},maxVelocityX:{get:function(){return this.ops.maxVelocityX.current},set:function(U){this.ops.maxVelocityX.onChange(U)}},maxVelocityY:{get:function(){return this.ops.maxVelocityY.current},set:function(U){this.ops.maxVelocityY.onChange(U)}},speed:{get:function(){return this.ops.speedX.current},set:function(U){this.ops.speedX.onChange(U),this.ops.speedY.onChange(U)}},speedX:{get:function(){return this.ops.speedX.current},set:function(U){this.ops.speedX.onChange(U)}},speedY:{get:function(){return this.ops.speedY.current},set:function(U){this.ops.speedY.onChange(U)}},moveToX:{get:function(){return this.ops.moveToX.current},set:function(U){this.ops.moveToX.onChange(U)}},moveToY:{get:function(){return this.ops.moveToY.current},set:function(U){this.ops.moveToY.onChange(U)}},bounce:{get:function(){return this.ops.bounce.current},set:function(U){this.ops.bounce.onChange(U)}},particleScaleX:{get:function(){return this.ops.scaleX.current},set:function(U){this.ops.scaleX.onChange(U)}},particleScaleY:{get:function(){return this.ops.scaleY.current},set:function(U){this.ops.scaleY.onChange(U)}},particleColor:{get:function(){return this.ops.color.current},set:function(U){this.ops.color.onChange(U)}},colorEase:{get:function(){return this.ops.color.easeName},set:function(U){this.ops.color.setEase(U)}},particleTint:{get:function(){return this.ops.tint.current},set:function(U){this.ops.tint.onChange(U)}},particleAlpha:{get:function(){return this.ops.alpha.current},set:function(U){this.ops.alpha.onChange(U)}},lifespan:{get:function(){return this.ops.lifespan.current},set:function(U){this.ops.lifespan.onChange(U)}},particleAngle:{get:function(){return this.ops.angle.current},set:function(U){this.ops.angle.onChange(U)}},particleRotate:{get:function(){return this.ops.rotate.current},set:function(U){this.ops.rotate.onChange(U)}},quantity:{get:function(){return this.ops.quantity.current},set:function(U){this.ops.quantity.onChange(U)}},delay:{get:function(){return this.ops.delay.current},set:function(U){this.ops.delay.onChange(U)}},hold:{get:function(){return this.ops.hold.current},set:function(U){this.ops.hold.onChange(U)}},flowCounter:{get:function(){return this.counters[0]},set:function(U){this.counters[0]=U}},frameCounter:{get:function(){return this.counters[1]},set:function(U){this.counters[1]=U}},animCounter:{get:function(){return this.counters[2]},set:function(U){this.counters[2]=U}},elapsed:{get:function(){return this.counters[3]},set:function(U){this.counters[3]=U}},stopCounter:{get:function(){return this.counters[4]},set:function(U){this.counters[4]=U}},completeFlag:{get:function(){return this.counters[5]},set:function(U){this.counters[5]=U}},zoneIndex:{get:function(){return this.counters[6]},set:function(U){this.counters[6]=U}},zoneTotal:{get:function(){return this.counters[7]},set:function(U){this.counters[7]=U}},currentFrame:{get:function(){return this.counters[8]},set:function(U){this.counters[8]=U}},currentAnim:{get:function(){return this.counters[9]},set:function(U){this.counters[9]=U}},preDestroy:function(){this.texture=null,this.frames=null,this.anims=null,this.emitCallback=null,this.emitCallbackScope=null,this.deathCallback=null,this.deathCallbackScope=null,this.emitZones=null,this.deathZones=null,this.bounds=null,this.follow=null,this.counters=null;var U,G=this.ops;for(U=0;U{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(59996),S=n(61340),x=new S,h=new S,d=new S,t=new S,e=function(l,i,s,r){s.addToRenderList(i),x.copyWithScrollFactorFrom(s.matrix,s.scrollX,s.scrollY,i.scrollFactorX,i.scrollFactorY),r&&x.multiply(r),t.applyITRS(i.x,i.y,i.rotation,i.scaleX,i.scaleY),x.multiply(t);var o=l.currentContext,a=s.roundPixels,u=s.alpha,f=i.alpha,v=i.alive,c=v.length,g=i.viewBounds;if(!(!i.visible||c===0||g&&!m(g,s.worldView))){i.sortCallback&&i.depthSort(),o.save(),o.globalCompositeOperation=l.blendModes[i.blendMode];for(var p=0;p0&&A.height>0){var R=-M.halfWidth,P=-M.halfHeight;o.globalAlpha=C,o.save(),h.setToContext(o),a&&(R=Math.round(R),P=Math.round(P)),o.imageSmoothingEnabled=!M.source.scaleMode,o.drawImage(M.source.image,A.x,A.y,A.width,A.height,R,P,A.width,A.height),o.restore()}}}o.restore()}};E.exports=e},92730:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25305),S=n(44603),x=n(23568),h=n(95540),d=n(31600);S.register("particles",function(t,e){t===void 0&&(t={});var l=x(t,"key",null),i=h(t,"config",null),s=new d(this.scene,0,0,l);return e!==void 0&&(t.add=e),m(this.scene,s,t),i&&s.setConfig(i),s})},676:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(39429),S=n(31600);m.register("particles",function(x,h,d,t){return x!==void 0&&typeof x=="string"&&console.warn("ParticleEmitterManager was removed in Phaser 3.60. See documentation for details"),this.displayList.add(new S(this.scene,x,h,d,t))})},90668:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(21188),x=n(9871),E.exports={renderWebGL:S,renderCanvas:x}},21188:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(59996),S=n(61340),x=n(70554),h=new S,d=new S,t=new S,e=new S,l={},i={},s={quad:new Float32Array(8)},r=function(o,a,u,f){var v=u.camera;v.addToRenderList(a),h.copyWithScrollFactorFrom(v.getViewMatrix(!u.useCanvas),v.scrollX,v.scrollY,a.scrollFactorX,a.scrollFactorY),f&&h.multiply(f),e.applyITRS(a.x,a.y,a.rotation,a.scaleX,a.scaleY),h.multiply(e);var c=x.getTintAppendFloatAlpha,g=a.alpha,p=a.alive,T=p.length,C=a.viewBounds;if(!(T===0||C&&!m(C,v.worldView))){a.sortCallback&&a.depthSort();for(var M=a.tintFill,A=0;A{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h,d,t){h===void 0&&(h=0),d===void 0&&(d=0),t===void 0&&(t=!0),this.emitter,this.x=h,this.y=d,this.active=t},update:function(){},destroy:function(){this.emitter=null}});E.exports=S},9774:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="complete"},812:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="deathzone"},30522:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="explode"},96695:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="start"},18677:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="stop"},20696:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={COMPLETE:n(9774),DEATH_ZONE:n(812),EXPLODE:n(30522),START:n(96695),STOP:n(18677)}},18404:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={EmitterColorOp:n(76472),EmitterOp:n(44777),Events:n(20696),GravityWell:n(24502),Particle:n(56480),ParticleBounds:n(69601),ParticleEmitter:n(31600),ParticleProcessor:n(20286),Zones:n(21024)}},26388:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h,d){this.source=h,this.killOnEnter=d},willKill:function(x){var h=x.worldPosition,d=this.source.contains(h.x,h.y);return d&&this.killOnEnter||!d&&!this.killOnEnter}});E.exports=S},19909:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h,d,t,e,l,i){e===void 0&&(e=!1),l===void 0&&(l=!0),i===void 0&&(i=-1),this.source=h,this.points=[],this.quantity=d,this.stepRate=t,this.yoyo=e,this.counter=-1,this.seamless=l,this._length=0,this._direction=0,this.total=i,this.updateSource()},updateSource:function(){if(this.points=this.source.getPoints(this.quantity,this.stepRate),this.seamless){var x=this.points[0],h=this.points[this.points.length-1];x.x===h.x&&x.y===h.y&&this.points.pop()}var d=this._length;return this._length=this.points.length,this._lengththis._length&&(this.counter=this._length-1),this},changeSource:function(x){return this.source=x,this.updateSource()},getPoint:function(x){this._direction===0?(this.counter++,this.counter>=this._length&&(this.yoyo?(this._direction=1,this.counter=this._length-1):this.counter=0)):(this.counter--,this.counter===-1&&(this.yoyo?(this._direction=0,this.counter=0):this.counter=this._length-1));var h=this.points[this.counter];h&&(x.x=h.x,x.y=h.y)}});E.exports=S},68875:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(26099),x=new m({initialize:function(d){this.source=d,this._tempVec=new S,this.total=-1},getPoint:function(h){var d=this._tempVec;this.source.getRandomPoint(d),h.x=d.x,h.y=d.y}});E.exports=x},21024:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={DeathZone:n(26388),EdgeZone:n(19909),RandomZone:n(68875)}},1159:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(31401),x=n(68287),h=new m({Extends:x,Mixins:[S.PathFollower],initialize:function(t,e,l,i,s,r){x.call(this,t,l,i,s,r),this.path=e},preUpdate:function(d,t){this.anims.update(d,t),this.pathUpdate(d)}});E.exports=h},90145:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(39429),S=n(1159);m.register("follower",function(x,h,d,t,e){var l=new S(this.scene,x,h,d,t,e);return this.displayList.add(l),this.updateList.add(l),l})},80321:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43246),S=n(83419),x=n(31401),h=n(95643),d=n(30100),t=n(67277),e=new S({Extends:h,Mixins:[x.AlphaSingle,x.BlendMode,x.Depth,x.Mask,x.RenderNodes,x.ScrollFactor,x.Transform,x.Visible,t],initialize:function(i,s,r,o,a,u,f){o===void 0&&(o=16777215),a===void 0&&(a=128),u===void 0&&(u=1),f===void 0&&(f=.1),h.call(this,i,"PointLight"),this.initRenderNodes(this._defaultRenderNodesMap),this.setPosition(s,r),this.color=d(o),this.intensity=u,this.attenuation=f,this.width=a*2,this.height=a*2,this._radius=a},_defaultRenderNodesMap:{get:function(){return m}},radius:{get:function(){return this._radius},set:function(l){this._radius=l,this.width=l*2,this.height=l*2}},originX:{get:function(){return .5}},originY:{get:function(){return .5}},displayOriginX:{get:function(){return this._radius}},displayOriginY:{get:function(){return this._radius}}});E.exports=e},39829:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25305),S=n(44603),x=n(23568),h=n(80321);S.register("pointlight",function(d,t){d===void 0&&(d={});var e=x(d,"color",16777215),l=x(d,"radius",128),i=x(d,"intensity",1),s=x(d,"attenuation",.1),r=new h(this.scene,0,0,e,l,i,s);return t!==void 0&&(d.add=t),m(this.scene,r,d),r})},71255:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(39429),S=n(80321);m.register("pointlight",function(x,h,d,t,e,l){return this.displayList.add(new S(this.scene,x,h,d,t,e,l))})},67277:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(57787),E.exports={renderWebGL:S,renderCanvas:x}},57787:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91296),S=function(x,h,d,t){var e=d.camera;e.addToRenderList(h);var l=m(h,e,t,!d.useCanvas).calc,i=h.width,s=h.height,r=-h._radius,o=-h._radius,a=r+i,u=o+s,f=l.getX(0,0),v=l.getY(0,0),c=l.getX(r,o),g=l.getY(r,o),p=l.getX(r,u),T=l.getY(r,u),C=l.getX(a,u),M=l.getY(a,u),A=l.getX(a,o),R=l.getY(a,o);(h.customRenderNodes.BatchHandler||h.defaultRenderNodes.BatchHandler).batch(d,h,c,g,p,T,A,R,C,M,f,v)};E.exports=S},591:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(45650),x=n(88571),h=n(83999),d=n(58855),t=new m({Extends:x,Mixins:[h],initialize:function(l,i,s,r,o,a){i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r=32),o===void 0&&(o=32),a===void 0&&(a=!0);var u=l.sys.textures.addDynamicTexture(S(),r,o,a);x.call(this,l,i,s,u),this.type="RenderTexture",this.camera=this.texture.camera,this._saved=!1,this.renderMode=d.RENDER,this.isCurrentlyRendering=!1},setSize:function(e,l){this.width=e,this.height=l,this.updateDisplayOrigin();var i=this.input;return i&&!i.customHitArea&&(i.hitArea.width=e,i.hitArea.height=l),this},resize:function(e,l,i){return this.texture.setSize(e,l,i),this.setSize(this.texture.width,this.texture.height),this},saveTexture:function(e){var l=this.texture;return l.key=e,l.manager.addDynamicTexture(l)&&(this._saved=!0),l},setRenderMode:function(e,l){return this.renderMode=e,l&&this.texture.preserve(!0),this},render:function(){return this.texture.render(),this},fill:function(e,l,i,s,r,o){return this.texture.fill(e,l,i,s,r,o),this},clear:function(e,l,i,s){return this.texture.clear(e,l,i,s),this},stamp:function(e,l,i,s,r){return this.texture.stamp(e,l,i,s,r),this},erase:function(e,l,i){return this.texture.erase(e,l,i),this},draw:function(e,l,i,s,r){return this.texture.draw(e,l,i,s,r),this},capture:function(e,l){return this.texture.capture(e,l),this},repeat:function(e,l,i,s,r,o,a){return this.texture.repeat(e,l,i,s,r,o,a),this},preserve:function(e){return this.texture.preserve(e),this},callback:function(e){return this.texture.callback(e),this},snapshotArea:function(e,l,i,s,r,o,a){return this.texture.snapshotArea(e,l,i,s,r,o,a),this},snapshot:function(e,l,i){return this.texture.snapshot(e,l,i)},snapshotPixel:function(e,l,i){return this.texture.snapshotPixel(e,l,i)},preDestroy:function(){this.camera=null,this._saved||this.texture.destroy()}});E.exports=t},97272:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(40652),S=n(58855),x=function(h,d,t,e){var l=!0,i=!0;d.renderMode===S.REDRAW?i=!1:d.renderMode===S.RENDER&&(l=!1),l&&d.render(),i&&m(h,d,t,e)};E.exports=x},34495:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25305),S=n(44603),x=n(23568),h=n(591);S.register("renderTexture",function(d,t){d===void 0&&(d={});var e=x(d,"x",0),l=x(d,"y",0),i=x(d,"width",32),s=x(d,"height",32),r=new h(this.scene,e,l,i,s);return t!==void 0&&(d.add=t),m(this.scene,r,d),r})},60505:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(39429),S=n(591);m.register("renderTexture",function(x,h,d,t){return this.displayList.add(new S(this.scene,x,h,d,t))})},83999:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(53937),x=n(97272),E.exports={renderWebGL:S,renderCanvas:x}},58855:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={RENDER:"render",REDRAW:"redraw",ALL:"all"}},53937:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(99517),S=n(58855),x=function(h,d,t,e){if(!d.isCurrentlyRendering){d.isCurrentlyRendering=!0;var l=!0,i=!0;d.renderMode===S.REDRAW?i=!1:d.renderMode===S.RENDER&&(l=!1),l&&d.render(),i&&m(h,d,t,e),d.isCurrentlyRendering=!1}};E.exports=x},77757:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(9674),S=n(85760),x=n(83419),h=n(31401),d=n(95643),t=n(38745),e=n(26099),l=new x({Extends:d,Mixins:[h.AlphaSingle,h.BlendMode,h.Depth,h.Flip,h.Mask,h.RenderNodes,h.Size,h.Texture,h.Transform,h.Visible,h.ScrollFactor,t],initialize:function(s,r,o,a,u,f,v,c,g){a===void 0&&(a="__DEFAULT"),f===void 0&&(f=2),v===void 0&&(v=!0),d.call(this,s,"Rope"),this.anims=new m(this),this.points=f,this.vertices,this.uv,this.colors,this.alphas,this.tintFill=a==="__DEFAULT",this.dirty=!1,this.horizontal=v,this._flipX=!1,this._flipY=!1,this._perp=new e,this.debugCallback=null,this.debugGraphic=null,this.setTexture(a,u),this.setPosition(r,o),this.setSizeToFrame(),this.initRenderNodes(this._defaultRenderNodesMap),Array.isArray(f)&&this.resizeArrays(f.length),this.setPoints(f,c,g),this.updateVertices()},_defaultRenderNodesMap:{get:function(){return S}},addedToScene:function(){this.scene.sys.updateList.add(this)},removedFromScene:function(){this.scene.sys.updateList.remove(this)},preUpdate:function(i,s){var r=this.anims.currentFrame;this.anims.update(i,s),this.anims.currentFrame!==r&&(this.updateUVs(),this.updateVertices())},play:function(i,s,r){return this.anims.play(i,s,r),this},setDirty:function(){return this.dirty=!0,this},setHorizontal:function(i,s,r){return i===void 0&&(i=this.points.length),this.horizontal?this:(this.horizontal=!0,this.setPoints(i,s,r))},setVertical:function(i,s,r){return i===void 0&&(i=this.points.length),this.horizontal?(this.horizontal=!1,this.setPoints(i,s,r)):this},setTintFill:function(i){return i===void 0&&(i=!1),this.tintFill=i,this},setAlphas:function(i,s){var r=this.points.length;if(r<1)return this;var o=this.alphas;i===void 0?i=[1]:!Array.isArray(i)&&s===void 0&&(i=[i]);var a,u=0;if(s!==void 0)for(a=0;au&&(f=i[u]),o[u]=f,i.length>u+1&&(f=i[u+1]),o[u+1]=f}return this},setColors:function(i){var s=this.points.length;if(s<1)return this;var r=this.colors;i===void 0?i=[16777215]:Array.isArray(i)||(i=[i]);var o,a=0;if(i.length===s)for(o=0;oa&&(u=i[a]),r[a]=u,i.length>a+1&&(u=i[a+1]),r[a+1]=u}return this},setPoints:function(i,s,r){if(i===void 0&&(i=2),typeof i=="number"){var o=i;o<2&&(o=2),i=[];var a,u,f;if(this.horizontal)for(f=-this.frame.halfWidth,u=this.frame.width/(o-1),a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(){};E.exports=y},26209:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25305),S=n(44603),x=n(23568),h=n(35154),d=n(77757);S.register("rope",function(t,e){t===void 0&&(t={});var l=x(t,"key",null),i=x(t,"frame",null),s=x(t,"horizontal",!0),r=h(t,"points",void 0),o=h(t,"colors",void 0),a=h(t,"alphas",void 0),u=new d(this.scene,0,0,l,i,r,s,o,a);return e!==void 0&&(t.add=e),m(this.scene,u,t),u})},96819:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(77757),S=n(39429);S.register("rope",function(x,h,d,t,e,l,i,s){return this.displayList.add(new m(this.scene,x,h,d,t,e,l,i,s))})},38745:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(20439),x=n(95262),E.exports={renderWebGL:S,renderCanvas:x}},20439:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91296),S={multiTexturing:!1,smoothPixelArt:!1},x=function(h,d,t,e){var l=t.camera;l.addToRenderList(d);var i=m(d,l,e,!t.useCanvas).calc;d.dirty&&d.updateVertices();var s,r=d.texture;r&&r.smoothPixelArt!==null?s=r.smoothPixelArt:s=d.scene.sys.game.config.smoothPixelArt,S.smoothPixelArt=s,(d.customRenderNodes.BatchHandler||d.defaultRenderNodes.BatchHandler).batchStrip(t,d,i,d.texture.source[0].glTexture,d.vertices,d.uv,d.colors,d.alphas,d.alpha,d.tintFill,S,d.debugCallback)};E.exports=x},20071:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(71911),S=n(26099),x=n(55403),h=n(87774),d=n(83419),t=n(95540),e=n(31401),l=n(95643),i=n(25479),s=new d({Extends:l,Mixins:[e.BlendMode,e.ComputedSize,e.Depth,e.GetBounds,e.Origin,e.ScrollFactor,e.Transform,e.Visible,i],initialize:function(o,a,u,f,v,c,g){a===void 0&&(a={}),typeof a=="string"&&(a={fragmentKey:a}),u===void 0&&(u=0),f===void 0&&(f=0),v===void 0&&(v=128),c===void 0&&(c=128),l.call(this,o,"Shader");var p=o.sys.renderer;this.textures=[],this.renderNode=new x(p.renderNodes,a),this.setupUniforms=t(a,"setupUniforms",function(){}),a.updateShaderConfig&&(this.renderNode.updateShaderConfig=a.updateShaderConfig);var T=t(a,"initialUniforms",{});Object.entries(T).forEach(function(C){this.setUniform(C[0],C[1])},this),this.drawingContext=null,this.glTexture=null,this.renderToTexture=!1,this.texture=null,this.textureCoordinateTopLeft=new S(0,1),this.textureCoordinateTopRight=new S(1,1),this.textureCoordinateBottomLeft=new S(0,0),this.textureCoordinateBottomRight=new S(1,0),this.setTextures(g),this.setPosition(u,f),this.setSize(v,c),this.setOrigin(.5,.5)},getUniform:function(r){return this.renderNode.programManager.uniforms[r]},setUniform:function(r,o){return this.renderNode.programManager.setUniform(r,o),this},setTextures:function(r){r===void 0&&(r=[]),this.textures.length=0;for(var o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(){};E.exports=y},54935:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25305),S=n(44603),x=n(23568),h=n(20071);S.register("shader",function(d,t){d===void 0&&(d={});var e=x(d,"config",null),l=x(d,"x",0),i=x(d,"y",0),s=x(d,"width",128),r=x(d,"height",128),o=new h(this.scene,e,l,i,s,r);return t!==void 0&&(d.add=t),m(this.scene,o,d),o})},74177:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(20071),S=n(39429);S.register("shader",function(x,h,d,t,e,l,i){return this.displayList.add(new m(this.scene,x,h,d,t,e,l,i))})},25479:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(19257),x=n(80464),E.exports={renderWebGL:S,renderCanvas:x}},19257:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){var h=S.camera;if(h.addToRenderList(m),m.renderToTexture){if(S=m.drawingContext,S.width!==m.width||S.height!==m.height){var d=m.width,t=m.height;S.resize(d,t),S.camera.setSize(d,t)}S.use()}m.renderNode.run(S,m,x),m.renderToTexture&&S.release()};E.exports=y},10441:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(70554),S=function(x,h,d,t,e,l,i){var s=m.getTintAppendFloatAlpha(t.fillColor,t.fillAlpha*e),r=t.pathData,o=t.pathIndexes,a=r.length,u,f,v,c,g,p=Array(a*2),T=Array(a),C=0,M=0;for(u=0;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){var h=S||m.fillColor,d=x||m.fillAlpha,t=(h&16711680)>>>16,e=(h&65280)>>>8,l=h&255;n.fillStyle="rgba("+t+","+e+","+l+","+d+")"};E.exports=y},75177:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){var h=S||m.strokeColor,d=x||m.strokeAlpha,t=(h&16711680)>>>16,e=(h&65280)>>>8,l=h&255;n.strokeStyle="rgba("+t+","+e+","+l+","+d+")",n.lineWidth=m.lineWidth};E.exports=y},17803:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87891),S=n(83419),x=n(31401),h=n(95643),d=n(23031),t=new S({Extends:h,Mixins:[x.AlphaSingle,x.BlendMode,x.Depth,x.GetBounds,x.Lighting,x.Mask,x.Origin,x.RenderNodes,x.ScrollFactor,x.Transform,x.Visible],initialize:function(l,i,s){i===void 0&&(i="Shape"),h.call(this,l,i),this.geom=s,this.pathData=[],this.pathIndexes=[],this.fillColor=16777215,this.fillAlpha=1,this.strokeColor=16777215,this.strokeAlpha=1,this.lineWidth=1,this.isFilled=!1,this.isStroked=!1,this.closePath=!0,this._tempLine=new d,this.width=0,this.height=0,this.enableFilters&&(this.filtersFocusContext=!0),this.initRenderNodes(this._defaultRenderNodesMap)},_defaultRenderNodesMap:{get:function(){return m}},setFillStyle:function(e,l){return l===void 0&&(l=1),e===void 0?this.isFilled=!1:(this.fillColor=e,this.fillAlpha=l,this.isFilled=!0),this},setStrokeStyle:function(e,l,i){return i===void 0&&(i=1),e===void 0?this.isStroked=!1:(this.lineWidth=e,this.strokeColor=l,this.strokeAlpha=i,this.isStroked=!0),this},setClosePath:function(e){return this.closePath=e,this},setSize:function(e,l){return this.width=e,this.height=l,this},setDisplaySize:function(e,l){return this.displayWidth=e,this.displayHeight=l,this},preDestroy:function(){this.geom=null,this._tempLine=null,this.pathData=[],this.pathIndexes=[]},displayWidth:{get:function(){return this.scaleX*this.width},set:function(e){this.scaleX=e/this.width}},displayHeight:{get:function(){return this.scaleY*this.height},set:function(e){this.scaleY=e/this.height}}});E.exports=t},34682:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(70554),S=function(x,h,d,t,e,l,i){var s=m.getTintAppendFloatAlpha(t.strokeColor,t.strokeAlpha*e),r=t.pathData,o=r.length-1,a=t.lineWidth,u=!t.closePath,f=t.customRenderNodes.StrokePath||t.defaultRenderNodes.StrokePath,v=[];u&&(o-=2);for(var c=0;c0&&g===r[c-2]&&p===r[c-1]||v.push({x:g,y:p,width:a})}f.run(x,h,v,a,u,d,s,s,s,s)};E.exports=S},23629:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(13609),S=n(83419),x=n(39506),h=n(94811),d=n(96503),t=n(36383),e=n(17803),l=new S({Extends:e,Mixins:[m],initialize:function(s,r,o,a,u,f,v,c,g){r===void 0&&(r=0),o===void 0&&(o=0),a===void 0&&(a=128),u===void 0&&(u=0),f===void 0&&(f=360),v===void 0&&(v=!1),e.call(this,s,"Arc",new d(0,0,a)),this._startAngle=u,this._endAngle=f,this._anticlockwise=v,this._iterations=.01,this.setPosition(r,o);var p=this.geom.radius*2;this.setSize(p,p),c!==void 0&&this.setFillStyle(c,g),this.updateDisplayOrigin(),this.updateData()},iterations:{get:function(){return this._iterations},set:function(i){this._iterations=i,this.updateData()}},radius:{get:function(){return this.geom.radius},set:function(i){this.geom.radius=i;var s=i*2;this.setSize(s,s),this.updateDisplayOrigin(),this.updateData()}},startAngle:{get:function(){return this._startAngle},set:function(i){this._startAngle=i,this.updateData()}},endAngle:{get:function(){return this._endAngle},set:function(i){this._endAngle=i,this.updateData()}},anticlockwise:{get:function(){return this._anticlockwise},set:function(i){this._anticlockwise=i,this.updateData()}},setRadius:function(i){return this.radius=i,this},setIterations:function(i){return i===void 0&&(i=.01),this.iterations=i,this},setStartAngle:function(i,s){return this._startAngle=i,s!==void 0&&(this._anticlockwise=s),this.updateData()},setEndAngle:function(i,s){return this._endAngle=i,s!==void 0&&(this._anticlockwise=s),this.updateData()},updateData:function(){var i=this._iterations,s=i,r=this.geom.radius,o=x(this._startAngle),a=x(this._endAngle),u=this._anticlockwise,f=r,v=r;a-=o,u?a<-t.TAU?a=-t.TAU:a>0&&(a=-t.TAU+a%t.TAU):a>t.TAU?a=t.TAU:a<0&&(a=t.TAU+a%t.TAU);for(var c=[f+Math.cos(o)*r,v+Math.sin(o)*r],g;s<1;)g=a*s+o,c.push(f+Math.cos(g)*r,v+Math.sin(g)*r),s+=i;return g=a+o,c.push(f+Math.cos(g)*r,v+Math.sin(g)*r),c.push(f+Math.cos(o)*r,v+Math.sin(o)*r),this.pathIndexes=h(c),this.pathData=c,this}});E.exports=l},42542:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(39506),S=n(65960),x=n(75177),h=n(20926),d=function(t,e,l,i){l.addToRenderList(e);var s=t.currentContext;if(h(t,s,e,l,i)){var r=e.radius;s.beginPath(),s.arc(r-e.originX*(r*2),r-e.originY*(r*2),r,m(e._startAngle),m(e._endAngle),e.anticlockwise),e.closePath&&s.closePath(),e.isFilled&&(S(s,e),s.fill()),e.isStroked&&(x(s,e),s.stroke()),s.restore()}};E.exports=d},42563:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(23629),S=n(39429);S.register("arc",function(x,h,d,t,e,l,i,s){return this.displayList.add(new m(this.scene,x,h,d,t,e,l,i,s))}),S.register("circle",function(x,h,d,t,e){return this.displayList.add(new m(this.scene,x,h,d,0,360,!1,t,e))})},13609:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(41447),x=n(42542),E.exports={renderWebGL:S,renderCanvas:x}},41447:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91296),S=n(10441),x=n(34682),h=function(d,t,e,l){var i=e.camera;i.addToRenderList(t);var s=m(t,i,l,!e.useCanvas).calc,r=t._displayOriginX,o=t._displayOriginY,a=t.alpha,u=t.customRenderNodes.Submitter||t.defaultRenderNodes.Submitter;t.isFilled&&S(e,u,s,t,a,r,o),t.isStroked&&x(e,u,s,t,a,r,o)};E.exports=h},89:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(33141),x=n(94811),h=n(87841),d=n(17803),t=new m({Extends:d,Mixins:[S],initialize:function(l,i,s,r,o,a){i===void 0&&(i=0),s===void 0&&(s=0),d.call(this,l,"Curve",r),this._smoothness=32,this._curveBounds=new h,this.closePath=!1,this.setPosition(i,s),o!==void 0&&this.setFillStyle(o,a),this.updateData()},smoothness:{get:function(){return this._smoothness},set:function(e){this._smoothness=e,this.updateData()}},setSmoothness:function(e){return this._smoothness=e,this.updateData()},updateData:function(){var e=this._curveBounds,l=this._smoothness;this.geom.getBounds(e,l),this.setSize(e.width,e.height),this.updateDisplayOrigin();for(var i=[],s=this.geom.getPoints(l),r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(65960),S=n(75177),x=n(20926),h=function(d,t,e,l){e.addToRenderList(t);var i=d.currentContext;if(x(d,i,t,e,l)){var s=t._displayOriginX+t._curveBounds.x,r=t._displayOriginY+t._curveBounds.y,o=t.pathData,a=o.length-1,u=o[0]-s,f=o[1]-r;i.beginPath(),i.moveTo(u,f),t.closePath||(a-=2);for(var v=2;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(39429),S=n(89);m.register("curve",function(x,h,d,t,e){return this.displayList.add(new S(this.scene,x,h,d,t,e))})},33141:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(53987),x=n(3170),E.exports={renderWebGL:S,renderCanvas:x}},53987:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(10441),S=n(91296),x=n(34682),h=function(d,t,e,l){var i=e.camera;i.addToRenderList(t);var s=S(t,i,l,!e.useCanvas).calc,r=t._displayOriginX+t._curveBounds.x,o=t._displayOriginY+t._curveBounds.y,a=t.alpha,u=t.customRenderNodes.Submitter||t.defaultRenderNodes.Submitter;t.isFilled&&m(e,u,s,t,a,r,o),t.isStroked&&x(e,u,s,t,a,r,o)};E.exports=h},19921:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(94811),x=n(54205),h=n(8497),d=n(17803),t=new m({Extends:d,Mixins:[x],initialize:function(l,i,s,r,o,a,u){i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r=128),o===void 0&&(o=128),d.call(this,l,"Ellipse",new h(r/2,o/2,r,o)),this._smoothness=64,this.setPosition(i,s),this.width=r,this.height=o,a!==void 0&&this.setFillStyle(a,u),this.updateDisplayOrigin(),this.updateData()},smoothness:{get:function(){return this._smoothness},set:function(e){this._smoothness=e,this.updateData()}},setSize:function(e,l){return this.width=e,this.height=l,this.geom.setPosition(e/2,l/2),this.geom.setSize(e,l),this.updateDisplayOrigin(),this.updateData()},setSmoothness:function(e){return this._smoothness=e,this.updateData()},updateData:function(){for(var e=[],l=this.geom.getPoints(this._smoothness),i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(65960),S=n(75177),x=n(20926),h=function(d,t,e,l){e.addToRenderList(t);var i=d.currentContext;if(x(d,i,t,e,l)){var s=t._displayOriginX,r=t._displayOriginY,o=t.pathData,a=o.length-1,u=o[0]-s,f=o[1]-r;i.beginPath(),i.moveTo(u,f),t.closePath||(a-=2);for(var v=2;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(19921),S=n(39429);S.register("ellipse",function(x,h,d,t,e,l){return this.displayList.add(new m(this.scene,x,h,d,t,e,l))})},54205:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(19467),x=n(7930),E.exports={renderWebGL:S,renderCanvas:x}},19467:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(10441),S=n(91296),x=n(34682),h=function(d,t,e,l){var i=e.camera;i.addToRenderList(t);var s=S(t,i,l,!e.useCanvas).calc,r=t._displayOriginX,o=t._displayOriginY,a=t.alpha,u=t.customRenderNodes.Submitter||t.defaultRenderNodes.Submitter;t.isFilled&&m(e,u,s,t,a,r,o),t.isStroked&&x(e,u,s,t,a,r,o)};E.exports=h},30479:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(17803),x=n(26015),h=new m({Extends:S,Mixins:[x],initialize:function(t,e,l,i,s,r,o,a,u,f,v){e===void 0&&(e=0),l===void 0&&(l=0),i===void 0&&(i=128),s===void 0&&(s=128),r===void 0&&(r=32),o===void 0&&(o=32),S.call(this,t,"Grid",null),this.cellWidth=r,this.cellHeight=o,this.showAltCells=!1,this.altFillColor,this.altFillAlpha,this.cellPadding=.5,this.strokeOutside=!1,this.strokeOutsideIncomplete=!0,this.setPosition(e,l),this.setSize(i,s),this.setFillStyle(a,u),f!==void 0&&this.setStrokeStyle(1,f,v),this.updateDisplayOrigin()},setAltFillStyle:function(d,t){return t===void 0&&(t=1),d===void 0?this.showAltCells=!1:(this.altFillColor=d,this.altFillAlpha=t,this.showAltCells=!0),this},setCellPadding:function(d){return this.cellPadding=d||0,this},setStrokeOutside:function(d,t){return this.strokeOutside=d,t!==void 0&&(this.strokeOutsideIncomplete=t),this}});E.exports=h},49912:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(65960),S=n(75177),x=n(20926),h=function(d,t,e,l){e.addToRenderList(t);var i=d.currentContext;if(x(d,i,t,e,l)){var s=-t._displayOriginX,r=-t._displayOriginY,o=e.alpha*t.alpha,a=t.width,u=t.height,f=t.cellWidth,v=t.cellHeight,c=Math.ceil(a/f),g=Math.ceil(u/v),p=f,T=v,C=f-(c*f-a),M=v-(g*v-u),A=t.isFilled,R=t.showAltCells,P=t.isStroked,L=t.cellPadding,F=t.lineWidth,w=F/2,O=0,B=0,I=0,D=0,N=0;if(L&&(p-=L*2,T-=L*2,C-=L*2,M-=L*2),A&&t.fillAlpha>0)for(m(i,t),B=0;B0&&N>0&&i.fillRect(s+O*f+L,r+B*v+L,D,N)}if(R&&t.altFillAlpha>0)for(m(i,t,t.altFillColor,t.altFillAlpha*o),B=0;B0&&N>0&&i.fillRect(s+O*f+L,r+B*v+L,D,N)}if(P&&t.strokeAlpha>0){S(i,t,t.strokeColor,t.strokeAlpha*o);var z=t.strokeOutside?0:1;for(O=z;Ow&&(i.beginPath(),i.moveTo(a+s,r),i.lineTo(a+s,u+r),i.stroke()),u>w&&(i.beginPath(),i.moveTo(s,u+r),i.lineTo(a+s,u+r),i.stroke()))}i.restore()}};E.exports=h},34137:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(39429),S=n(30479);m.register("grid",function(x,h,d,t,e,l,i,s,r,o){return this.displayList.add(new S(this.scene,x,h,d,t,e,l,i,s,r,o))})},26015:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(46161),x=n(49912),E.exports={renderWebGL:S,renderCanvas:x}},46161:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91296),S=n(70554),x=function(h,d,t,e){var l=t.camera;l.addToRenderList(d);var i=d.customRenderNodes.FillRect||d.defaultRenderNodes.FillRect,s=d.customRenderNodes.Submitter||d.defaultRenderNodes.Submitter,r=m(d,l,e,!t.useCanvas).calc;r.translate(-d._displayOriginX,-d._displayOriginY);var o=d.alpha,a=d.width,u=d.height,f=d.cellWidth,v=d.cellHeight,c=Math.ceil(a/f),g=Math.ceil(u/v),p=f,T=v,C=f-(c*f-a),M=v-(g*v-u),A,R=d.isFilled,P=d.showAltCells,L=d.isStroked,F=d.cellPadding,w=d.lineWidth,O=w/2,B=0,I=0,D=0,N=0,z=0;if(F&&(p-=F*2,T-=F*2,C-=F*2,M-=F*2),R&&d.fillAlpha>0)for(A=S.getTintAppendFloatAlpha(d.fillColor,d.fillAlpha*o),I=0;I0&&z>0&&i.run(t,r,s,B*f+F,I*v+F,N,z,A,A,A,A)}if(P&&d.altFillAlpha>0)for(A=S.getTintAppendFloatAlpha(d.altFillColor,d.altFillAlpha*o),I=0;I0&&z>0&&i.run(t,r,s,B*f+F,I*v+F,N,z,A,A,A,A)}if(L&&d.strokeAlpha>0){var V=S.getTintAppendFloatAlpha(d.strokeColor,d.strokeAlpha*o),U=d.strokeOutside?0:1;for(B=U;BO&&i.run(t,r,s,a-O,0,w,u,V,V,V,V),u>O&&i.run(t,r,s,0,u-O,a,w,V,V,V,V))}};E.exports=x},61475:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(99651),S=n(83419),x=n(17803),h=new S({Extends:x,Mixins:[m],initialize:function(t,e,l,i,s,r,o,a){e===void 0&&(e=0),l===void 0&&(l=0),i===void 0&&(i=48),s===void 0&&(s=32),r===void 0&&(r=15658734),o===void 0&&(o=10066329),a===void 0&&(a=13421772),x.call(this,t,"IsoBox",null),this.projection=4,this.fillTop=r,this.fillLeft=o,this.fillRight=a,this.showTop=!0,this.showLeft=!0,this.showRight=!0,this.isFilled=!0,this.setPosition(e,l),this.setSize(i,s),this.updateDisplayOrigin()},setProjection:function(d){return this.projection=d,this},setFaces:function(d,t,e){return d===void 0&&(d=!0),t===void 0&&(t=!0),e===void 0&&(e=!0),this.showTop=d,this.showLeft=t,this.showRight=e,this},setFillStyle:function(d,t,e){return this.fillTop=d,this.fillLeft=t,this.fillRight=e,this.isFilled=!0,this}});E.exports=h},11508:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(65960),S=n(20926),x=function(h,d,t,e){t.addToRenderList(d);var l=h.currentContext;if(S(h,l,d,t,e)&&d.isFilled){var i=d.width,s=d.height,r=i/2,o=i/d.projection;d.showTop&&(m(l,d,d.fillTop),l.beginPath(),l.moveTo(-r,-s),l.lineTo(0,-o-s),l.lineTo(r,-s),l.lineTo(r,-1),l.lineTo(0,o-1),l.lineTo(-r,-1),l.lineTo(-r,-s),l.fill()),d.showLeft&&(m(l,d,d.fillLeft),l.beginPath(),l.moveTo(-r,0),l.lineTo(0,o),l.lineTo(0,o-s),l.lineTo(-r,-s),l.lineTo(-r,0),l.fill()),d.showRight&&(m(l,d,d.fillRight),l.beginPath(),l.moveTo(r,0),l.lineTo(0,o),l.lineTo(0,o-s),l.lineTo(r,-s),l.lineTo(r,0),l.fill()),l.restore()}};E.exports=x},3933:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(39429),S=n(61475);m.register("isobox",function(x,h,d,t,e,l,i){return this.displayList.add(new S(this.scene,x,h,d,t,e,l,i))})},99651:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(68149),x=n(11508),E.exports={renderWebGL:S,renderCanvas:x}},68149:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91296),S=n(70554),x=function(h,d,t,e){if(d.isFilled){var l=t.camera;l.addToRenderList(d);var i=d.customRenderNodes.FillTri||d.defaultRenderNodes.FillTri,s=d.customRenderNodes.Submitter||d.defaultRenderNodes.Submitter,r=m(d,l,e,!t.useCanvas).calc,o=d.width,a=d.height,u=o/2,f=o/d.projection,v=d.alpha,c,g,p,T,C,M,A,R,P;d.showTop&&(c=S.getTintAppendFloatAlpha(d.fillTop,v),g=-u,p=-a,T=0,C=-f-a,M=u,A=-a,R=0,P=f-a,i.run(t,r,s,g,p,T,C,M,A,c,c,c),i.run(t,r,s,M,A,R,P,g,p,c,c,c)),d.showLeft&&(c=S.getTintAppendFloatAlpha(d.fillLeft,v),g=-u,p=0,T=0,C=f,M=0,A=f-a,R=-u,P=-a,i.run(t,r,s,g,p,T,C,M,A,c,c,c),i.run(t,r,s,M,A,R,P,g,p,c,c,c)),d.showRight&&(c=S.getTintAppendFloatAlpha(d.fillRight,v),g=u,p=0,T=0,C=f,M=0,A=f-a,R=u,P=-a,i.run(t,r,s,g,p,T,C,M,A,c,c,c),i.run(t,r,s,M,A,R,P,g,p,c,c,c))}};E.exports=x},16933:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(60561),x=n(17803),h=new m({Extends:x,Mixins:[S],initialize:function(t,e,l,i,s,r,o,a,u){e===void 0&&(e=0),l===void 0&&(l=0),i===void 0&&(i=48),s===void 0&&(s=32),r===void 0&&(r=!1),o===void 0&&(o=15658734),a===void 0&&(a=10066329),u===void 0&&(u=13421772),x.call(this,t,"IsoTriangle",null),this.projection=4,this.fillTop=o,this.fillLeft=a,this.fillRight=u,this.showTop=!0,this.showLeft=!0,this.showRight=!0,this.isReversed=r,this.isFilled=!0,this.setPosition(e,l),this.setSize(i,s),this.updateDisplayOrigin()},setProjection:function(d){return this.projection=d,this},setReversed:function(d){return this.isReversed=d,this},setFaces:function(d,t,e){return d===void 0&&(d=!0),t===void 0&&(t=!0),e===void 0&&(e=!0),this.showTop=d,this.showLeft=t,this.showRight=e,this},setFillStyle:function(d,t,e){return this.fillTop=d,this.fillLeft=t,this.fillRight=e,this.isFilled=!0,this}});E.exports=h},79590:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(65960),S=n(20926),x=function(h,d,t,e){t.addToRenderList(d);var l=h.currentContext;if(S(h,l,d,t,e)&&d.isFilled){var i=d.width,s=d.height,r=i/2,o=i/d.projection,a=d.isReversed;d.showTop&&a&&(m(l,d,d.fillTop),l.beginPath(),l.moveTo(-r,-s),l.lineTo(0,-o-s),l.lineTo(r,-s),l.lineTo(0,o-s),l.fill()),d.showLeft&&(m(l,d,d.fillLeft),l.beginPath(),a?(l.moveTo(-r,-s),l.lineTo(0,o),l.lineTo(0,o-s)):(l.moveTo(-r,0),l.lineTo(0,o),l.lineTo(0,o-s)),l.fill()),d.showRight&&(m(l,d,d.fillRight),l.beginPath(),a?(l.moveTo(r,-s),l.lineTo(0,o),l.lineTo(0,o-s)):(l.moveTo(r,0),l.lineTo(0,o),l.lineTo(0,o-s)),l.fill()),l.restore()}};E.exports=x},49803:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(39429),S=n(16933);m.register("isotriangle",function(x,h,d,t,e,l,i,s){return this.displayList.add(new S(this.scene,x,h,d,t,e,l,i,s))})},60561:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(51503),x=n(79590),E.exports={renderWebGL:S,renderCanvas:x}},51503:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91296),S=n(70554),x=function(h,d,t,e){if(d.isFilled){var l=t.camera;l.addToRenderList(d);var i=d.customRenderNodes.FillTri||d.defaultRenderNodes.FillTri,s=d.customRenderNodes.Submitter||d.defaultRenderNodes.Submitter,r=m(d,l,e,!t.useCanvas).calc,o=d.width,a=d.height,u=o/2,f=o/d.projection,v=d.isReversed,c=d.alpha,g,p,T,C,M,A,R;if(d.showTop&&v){g=S.getTintAppendFloatAlpha(d.fillTop,c),p=-u,T=-a,C=0,M=-f-a,A=u,R=-a;var P=0,L=f-a;i.run(t,r,s,p,T,C,M,A,R,g,g,g),i.run(t,r,s,A,R,P,L,p,T,g,g,g)}d.showLeft&&(g=S.getTintAppendFloatAlpha(d.fillLeft,c),v?(p=-u,T=-a,C=0,M=f,A=0,R=f-a):(p=-u,T=0,C=0,M=f,A=0,R=f-a),i.run(t,r,s,p,T,C,M,A,R,g,g,g)),d.showRight&&(g=S.getTintAppendFloatAlpha(d.fillRight,c),v?(p=u,T=-a,C=0,M=f,A=0,R=f-a):(p=u,T=0,C=0,M=f,A=0,R=f-a),i.run(t,r,s,p,T,C,M,A,R,g,g,g))}};E.exports=x},57847:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(17803),x=n(23031),h=n(36823),d=new m({Extends:S,Mixins:[h],initialize:function(e,l,i,s,r,o,a,u,f){l===void 0&&(l=0),i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r=0),o===void 0&&(o=128),a===void 0&&(a=0),S.call(this,e,"Line",new x(s,r,o,a));var v=Math.max(1,this.geom.right-this.geom.left),c=Math.max(1,this.geom.bottom-this.geom.top);this.lineWidth=1,this._startWidth=1,this._endWidth=1,this.setPosition(l,i),this.setSize(v,c),u!==void 0&&this.setStrokeStyle(1,u,f),this.updateDisplayOrigin()},setLineWidth:function(t,e){return e===void 0&&(e=t),this._startWidth=t,this._endWidth=e,this.lineWidth=t,this},setTo:function(t,e,l,i){return this.geom.setTo(t,e,l,i),this}});E.exports=d},17440:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(75177),S=n(20926),x=function(h,d,t,e){t.addToRenderList(d);var l=h.currentContext;if(S(h,l,d,t,e)){var i=d._displayOriginX,s=d._displayOriginY;d.isStroked&&(m(l,d),l.beginPath(),l.moveTo(d.geom.x1-i,d.geom.y1-s),l.lineTo(d.geom.x2-i,d.geom.y2-s),l.stroke()),l.restore()}};E.exports=x},2481:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(39429),S=n(57847);m.register("line",function(x,h,d,t,e,l,i,s){return this.displayList.add(new S(this.scene,x,h,d,t,e,l,i,s))})},36823:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(77385),x=n(17440),E.exports={renderWebGL:S,renderCanvas:x}},77385:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91296),S=n(70554),x=[{x:0,y:0,width:0},{x:0,y:0,width:0}],h=function(d,t,e,l){var i=e.camera;i.addToRenderList(t);var s=m(t,i,l,!e.useCanvas).calc,r=t._displayOriginX,o=t._displayOriginY,a=t.alpha;if(t.isStroked){var u=S.getTintAppendFloatAlpha(t.strokeColor,t.strokeAlpha*a);x[0].x=t.geom.x1-r,x[0].y=t.geom.y1-o,x[0].width=t._startWidth,x[1].x=t.geom.x2-r,x[1].y=t.geom.y2-o,x[1].width=t._endWidth,(t.customRenderNodes.StrokePath||t.defaultRenderNodes.StrokePath).run(e,t.customRenderNodes.Submitter||t.defaultRenderNodes.Submitter,x,1,!0,s,u,u,u,u)}};E.exports=h},24949:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(90273),S=n(83419),x=n(94811),h=n(13829),d=n(25717),t=n(17803),e=n(5469),l=new S({Extends:t,Mixins:[m],initialize:function(s,r,o,a,u,f){r===void 0&&(r=0),o===void 0&&(o=0),t.call(this,s,"Polygon",new d(a));var v=h(this.geom);this.setPosition(r,o),this.setSize(v.width,v.height),u!==void 0&&this.setFillStyle(u,f),this.updateDisplayOrigin(),this.updateData()},smooth:function(i){i===void 0&&(i=1);for(var s=0;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(65960),S=n(75177),x=n(20926),h=function(d,t,e,l){e.addToRenderList(t);var i=d.currentContext;if(x(d,i,t,e,l)){var s=t._displayOriginX,r=t._displayOriginY,o=t.pathData,a=o.length-1,u=o[0]-s,f=o[1]-r;i.beginPath(),i.moveTo(u,f),t.closePath||(a-=2);for(var v=2;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(39429),S=n(24949);m.register("polygon",function(x,h,d,t,e){return this.displayList.add(new S(this.scene,x,h,d,t,e))})},90273:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(73695),x=n(38710),E.exports={renderWebGL:S,renderCanvas:x}},73695:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(10441),S=n(91296),x=n(34682),h=function(d,t,e,l){var i=e.camera;i.addToRenderList(t);var s=S(t,i,l,!e.useCanvas).calc,r=t._displayOriginX,o=t._displayOriginY,a=t.alpha,u=t.customRenderNodes.Submitter||t.defaultRenderNodes.Submitter;t.isFilled&&m(e,u,s,t,a,r,o),t.isStroked&&x(e,u,s,t,a,r,o)};E.exports=h},74561:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(94811),x=n(87841),h=n(17803),d=n(95597),t=new m({Extends:h,Mixins:[d],initialize:function(l,i,s,r,o,a,u){i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r=128),o===void 0&&(o=128),h.call(this,l,"Rectangle",new x(0,0,r,o)),this.radius=20,this.isRounded=!1,this.setPosition(i,s),this.setSize(r,o),a!==void 0&&this.setFillStyle(a,u),this.updateDisplayOrigin(),this.updateData()},setRounded:function(e){return e===void 0&&(e=16),this.radius=e,this.isRounded=e>0,this.updateRoundedData()},setSize:function(e,l){this.width=e,this.height=l,this.geom.setSize(e,l),this.updateData(),this.updateDisplayOrigin();var i=this.input;return i&&!i.customHitArea&&(i.hitArea.width=e,i.hitArea.height=l),this},updateData:function(){if(this.isRounded)return this.updateRoundedData();var e=[],l=this.geom,i=this._tempLine;return l.getLineA(i),e.push(i.x1,i.y1,i.x2,i.y2),l.getLineB(i),e.push(i.x2,i.y2),l.getLineC(i),e.push(i.x2,i.y2),l.getLineD(i),e.push(i.x2,i.y2),this.pathData=e,this},updateRoundedData:function(){var e=[],l=this.width/2,i=this.height/2,s=Math.min(l,i),r=Math.min(this.radius,s),o=l,a=i,u=Math.max(4,Math.min(16,Math.ceil(r/2)));return this.arcTo(e,o-l+r,a-i+r,r,Math.PI,Math.PI*1.5,u),e.push(o+l-r,a-i),this.arcTo(e,o+l-r,a-i+r,r,Math.PI*1.5,Math.PI*2,u),e.push(o+l,a+i-r),this.arcTo(e,o+l-r,a+i-r,r,0,Math.PI*.5,u),e.push(o-l+r,a+i),this.arcTo(e,o-l+r,a+i-r,r,Math.PI*.5,Math.PI,u),e.push(o-l,a-i+r),this.pathIndexes=S(e),this.pathData=e,this},arcTo:function(e,l,i,s,r,o,a){for(var u=(o-r)/a,f=0;f<=a;f++){var v=r+u*f;e.push(l+Math.cos(v)*s,i+Math.sin(v)*s)}}});E.exports=t},48682:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(65960),S=n(75177),x=n(20926),h=function(t,e,l,i,s,r){var o=Math.min(i/2,s/2),a=Math.min(r,o);if(a===0){t.rect(e,l,i,s);return}t.moveTo(e+a,l),t.lineTo(e+i-a,l),t.arcTo(e+i,l,e+i,l+a,a),t.lineTo(e+i,l+s-a),t.arcTo(e+i,l+s,e+i-a,l+s,a),t.lineTo(e+a,l+s),t.arcTo(e,l+s,e,l+s-a,a),t.lineTo(e,l+a),t.arcTo(e,l,e+a,l,a),t.closePath()},d=function(t,e,l,i){l.addToRenderList(e);var s=t.currentContext;if(x(t,s,e,l,i)){var r=e._displayOriginX,o=e._displayOriginY;e.isFilled&&(m(s,e),e.isRounded?(s.beginPath(),h(s,-r,-o,e.width,e.height,e.radius),s.fill()):s.fillRect(-r,-o,e.width,e.height)),e.isStroked&&(S(s,e),s.beginPath(),e.isRounded?h(s,-r,-o,e.width,e.height,e.radius):s.rect(-r,-o,e.width,e.height),s.stroke()),s.restore()}};E.exports=d},87959:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(39429),S=n(74561);m.register("rectangle",function(x,h,d,t,e,l){return this.displayList.add(new S(this.scene,x,h,d,t,e,l))})},95597:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(52059),x=n(48682),E.exports={renderWebGL:S,renderCanvas:x}},52059:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(10441),S=n(91296),x=n(34682),h=n(70554),d=function(t,e,l,i){var s=l.camera;s.addToRenderList(e);var r=S(e,s,i,!l.useCanvas).calc,o=e._displayOriginX,a=e._displayOriginY,u=e.alpha,f=e.customRenderNodes,v=e.defaultRenderNodes,c=f.Submitter||v.Submitter;if(e.isFilled)if(e.isRounded)m(l,c,r,e,u,o,a);else{var g=h.getTintAppendFloatAlpha(e.fillColor,e.fillAlpha*u);(f.FillRect||v.FillRect).run(l,r,c,-o,-a,e.width,e.height,g,g,g,g)}e.isStroked&&x(l,c,r,e,u,o,a)};E.exports=d},55911:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(81991),S=n(83419),x=n(94811),h=n(17803),d=new S({Extends:h,Mixins:[m],initialize:function(e,l,i,s,r,o,a,u){l===void 0&&(l=0),i===void 0&&(i=0),s===void 0&&(s=5),r===void 0&&(r=32),o===void 0&&(o=64),h.call(this,e,"Star",null),this._points=s,this._innerRadius=r,this._outerRadius=o,this.setPosition(l,i),this.setSize(o*2,o*2),a!==void 0&&this.setFillStyle(a,u),this.updateDisplayOrigin(),this.updateData()},setPoints:function(t){return this._points=t,this.updateData()},setInnerRadius:function(t){return this._innerRadius=t,this.updateData()},setOuterRadius:function(t){return this._outerRadius=t,this.updateData()},points:{get:function(){return this._points},set:function(t){this._points=t,this.updateData()}},innerRadius:{get:function(){return this._innerRadius},set:function(t){this._innerRadius=t,this.updateData()}},outerRadius:{get:function(){return this._outerRadius},set:function(t){this._outerRadius=t,this.updateData()}},updateData:function(){var t=[],e=this._points,l=this._innerRadius,i=this._outerRadius,s=Math.PI/2*3,r=Math.PI/e,o=i,a=i;t.push(o,a+-i);for(var u=0;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(65960),S=n(75177),x=n(20926),h=function(d,t,e,l){e.addToRenderList(t);var i=d.currentContext;if(x(d,i,t,e,l)){var s=t._displayOriginX,r=t._displayOriginY,o=t.pathData,a=o.length-1,u=o[0]-s,f=o[1]-r;i.beginPath(),i.moveTo(u,f),t.closePath||(a-=2);for(var v=2;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(55911),S=n(39429);S.register("star",function(x,h,d,t,e,l,i){return this.displayList.add(new m(this.scene,x,h,d,t,e,l,i))})},81991:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(57017),x=n(64272),E.exports={renderWebGL:S,renderCanvas:x}},57017:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(10441),S=n(91296),x=n(34682),h=function(d,t,e,l){var i=e.camera;i.addToRenderList(t);var s=S(t,i,l,!e.useCanvas).calc,r=t._displayOriginX,o=t._displayOriginY,a=t.alpha,u=t.customRenderNodes.Submitter||t.defaultRenderNodes.Submitter;t.isFilled&&m(e,u,s,t,a,r,o),t.isStroked&&x(e,u,s,t,a,r,o)};E.exports=h},36931:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(17803),x=n(16483),h=n(96195),d=new m({Extends:S,Mixins:[h],initialize:function(e,l,i,s,r,o,a,u,f,v,c){l===void 0&&(l=0),i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r=128),o===void 0&&(o=64),a===void 0&&(a=0),u===void 0&&(u=128),f===void 0&&(f=128),S.call(this,e,"Triangle",new x(s,r,o,a,u,f));var g=this.geom.right-this.geom.left,p=this.geom.bottom-this.geom.top;this.setPosition(l,i),this.setSize(g,p),v!==void 0&&this.setFillStyle(v,c),this.updateDisplayOrigin(),this.updateData()},setTo:function(t,e,l,i,s,r){return this.geom.setTo(t,e,l,i,s,r),this.updateData()},updateData:function(){var t=[],e=this.geom,l=this._tempLine;return e.getLineA(l),t.push(l.x1,l.y1,l.x2,l.y2),e.getLineB(l),t.push(l.x2,l.y2),e.getLineC(l),t.push(l.x2,l.y2),this.pathData=t,this}});E.exports=d},85172:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(65960),S=n(75177),x=n(20926),h=function(d,t,e,l){e.addToRenderList(t);var i=d.currentContext;if(x(d,i,t,e,l)){var s=t._displayOriginX,r=t._displayOriginY,o=t.geom.x1-s,a=t.geom.y1-r,u=t.geom.x2-s,f=t.geom.y2-r,v=t.geom.x3-s,c=t.geom.y3-r;i.beginPath(),i.moveTo(o,a),i.lineTo(u,f),i.lineTo(v,c),i.closePath(),t.isFilled&&(m(i,t),i.fill()),t.isStroked&&(S(i,t),i.stroke()),i.restore()}};E.exports=h},45245:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(39429),S=n(36931);m.register("triangle",function(x,h,d,t,e,l,i,s,r,o){return this.displayList.add(new S(this.scene,x,h,d,t,e,l,i,s,r,o))})},96195:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(83253),x=n(85172),E.exports={renderWebGL:S,renderCanvas:x}},83253:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91296),S=n(34682),x=n(70554),h=function(d,t,e,l){var i=e.camera;i.addToRenderList(t);var s=m(t,i,l,!e.useCanvas).calc,r=t._displayOriginX,o=t._displayOriginY,a=t.alpha,u=t.customRenderNodes,f=t.defaultRenderNodes,v=u.Submitter||f.Submitter;if(t.isFilled){var c=x.getTintAppendFloatAlpha(t.fillColor,t.fillAlpha*a),g=t.geom.x1-r,p=t.geom.y1-o,T=t.geom.x2-r,C=t.geom.y2-o,M=t.geom.x3-r,A=t.geom.y3-o;(u.FillTri||f.FillTri).run(e,s,v,g,p,T,C,M,A,c,c,c)}t.isStroked&&S(e,v,s,t,a,r,o)};E.exports=h},68287:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(9674),S=n(40939),x=n(83419),h=n(31401),d=n(95643),t=n(92751),e=new x({Extends:d,Mixins:[h.Alpha,h.BlendMode,h.Depth,h.Flip,h.GetBounds,h.Lighting,h.Mask,h.Origin,h.RenderNodes,h.ScrollFactor,h.Size,h.TextureCrop,h.Tint,h.Transform,h.Visible,t],initialize:function(i,s,r,o,a){d.call(this,i,"Sprite"),this._crop=this.resetCropObject(),this.anims=new m(this),this.setTexture(o,a),this.setPosition(s,r),this.setSizeToFrame(),this.setOriginFromFrame(),this.initRenderNodes(this._defaultRenderNodesMap)},_defaultRenderNodesMap:{get:function(){return S}},addedToScene:function(){this.scene.sys.updateList.add(this)},removedFromScene:function(){this.scene.sys.updateList.remove(this)},preUpdate:function(l,i){this.anims.update(l,i)},play:function(l,i){return this.anims.play(l,i)},playReverse:function(l,i){return this.anims.playReverse(l,i)},playAfterDelay:function(l,i){return this.anims.playAfterDelay(l,i)},playAfterRepeat:function(l,i){return this.anims.playAfterRepeat(l,i)},chain:function(l){return this.anims.chain(l)},stop:function(){return this.anims.stop()},stopAfterDelay:function(l){return this.anims.stopAfterDelay(l)},stopAfterRepeat:function(l){return this.anims.stopAfterRepeat(l)},stopOnFrame:function(l){return this.anims.stopOnFrame(l)},toJSON:function(){return h.ToJSON(this)},preDestroy:function(){this.anims.destroy(),this.anims=void 0}});E.exports=e},76552:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){S.addToRenderList(m),n.batchSprite(m,m.frame,S,x)};E.exports=y},15567:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25305),S=n(13059),x=n(44603),h=n(23568),d=n(68287);x.register("sprite",function(t,e){t===void 0&&(t={});var l=h(t,"key",null),i=h(t,"frame",null),s=new d(this.scene,0,0,l,i);return e!==void 0&&(t.add=e),m(this.scene,s,t),S(s,t),s})},46409:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(39429),S=n(68287);m.register("sprite",function(x,h,d,t){return this.displayList.add(new S(this.scene,x,h,d,t))})},92751:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(9409),x=n(76552),E.exports={renderWebGL:S,renderCanvas:x}},9409:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){S.camera.addToRenderList(m);var h=m.customRenderNodes,d=m.defaultRenderNodes;(h.Submitter||d.Submitter).run(S,m,x,0,h.Texturer||d.Texturer,h.Transformer||d.Transformer)};E.exports=y},18207:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={None:0,Power0:1,Power1:10,Power2:20,Power3:30,Power4:40,Linear:1,Gravity:2,Quad:10,"Quad.easeOut":10,"Quad.easeIn":11,"Quad.easeInOut":12,Cubic:20,"Cubic.easeOut":20,"Cubic.easeIn":21,"Cubic.easeInOut":22,Quart:30,"Quart.easeOut":30,"Quart.easeIn":31,"Quart.easeInOut":32,Quint:40,"Quint.easeOut":40,"Quint.easeIn":41,"Quint.easeInOut":42,Sine:50,"Sine.easeOut":50,"Sine.easeIn":51,"Sine.easeInOut":52,Expo:60,"Expo.easeOut":60,"Expo.easeIn":61,"Expo.easeInOut":62,Circ:70,"Circ.easeOut":70,"Circ.easeIn":71,"Circ.easeInOut":72,Back:90,"Back.easeOut":90,"Back.easeIn":91,"Back.easeInOut":92,Bounce:100,"Bounce.easeOut":100,"Bounce.easeIn":101,"Bounce.easeInOut":102,Stepped:110,Smoothstep:120,"Smoothstep.easeOut":120,"Smoothstep.easeIn":121,"Smoothstep.easeInOut":122};E.exports=y},68218:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */for(var m=n(18207),S={},x=Object.keys(m),h=x.length,d=0;d{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(31401),x=n(95643),h=n(53384),d=n(70554),t=n(18207),e=n(68218),l=n(71238),i=d.getTintAppendFloatAlpha,s=new m({Extends:x,Mixins:[S.Alpha,S.BlendMode,S.Depth,S.ElapseTimer,S.Lighting,S.Mask,S.RenderNodes,S.TextureCrop,S.Visible,l],initialize:function(o,a,u){x.call(this,o,"SpriteGPULayer"),this.memberCount=0,this.size=Math.max(u,0),this._segments=24,this.MAX_BUFFER_UPDATE_SEGMENTS_FULL=16777215,this.bufferUpdateSegments=0,this.bufferUpdateSegmentSize=Math.ceil(this.size/this._segments),this.gravity=1024,this._animationsEnabled={};for(var f=Object.keys(t),v=f.length,c=0;c=this.size||this.bufferUpdateSegments===this.MAX_BUFFER_UPDATE_SEGMENTS_FULL)){var o=Math.floor(r/this.bufferUpdateSegmentSize);this.bufferUpdateSegments|=1<=this.size)return this;var o=this.submitterNode.instanceBufferLayout,a=o.buffer.viewF32,u=this.memberCount*o.layout.stride;return a.set(r,u/a.BYTES_PER_ELEMENT),this.setSegmentNeedsUpdate(this.memberCount),this.memberCount++,this},addMember:function(r){if(this.memberCount>=this.size)return this;var o=this.nextMemberF32,a=this.nextMemberU32;r||(r={});var u=this.frame;if(r.frame!==void 0&&(u=r.frame.base?r.frame.base:r.frame),typeof u=="string"&&(u=this.texture.get(u),!u))return this;var f=0;this._setAnimatedValue(r.x,f),f+=4,this._setAnimatedValue(r.y,f),f+=4,this._setAnimatedValue(r.rotation,f),f+=4,this._setAnimatedValue(r.scaleX,f,1),f+=4,this._setAnimatedValue(r.scaleY,f,1),f+=4,this._setAnimatedValue(r.alpha,f,1),f+=4;var v=r.animation;if(v){var c;if(typeof v=="string"||typeof v=="number")typeof v=="string"?c=this.animationDataNames[v]:c=this.animationDataIndices[v],this._setAnimatedValue({base:c.index,amplitude:c.frameCount,duration:c.duration,ease:t.Linear,yoyo:!1},f);else{var g=v.base;typeof g=="string"?c=this.animationDataNames[g]:typeof g=="number"?c=this.animationDataIndices[g]:c=this.animationData[0],this._setAnimatedValue({base:c.index,amplitude:typeof v.amplitude=="number"?v.amplitude:c.frameCount,duration:v.duration||c.duration,delay:v.delay||0,ease:v.ease||t.Linear,yoyo:!!v.yoyo},f)}}else{var p=this.frameDataIndices[u.name],T=r.frame;T&&T.base!==void 0?this._setAnimatedValue({base:p,amplitude:T.amplitude,duration:T.duration,delay:T.delay,ease:T.ease,yoyo:T.yoyo},f):this._setAnimatedValue(p,f)}f+=4,this._setAnimatedValue(r.tintBlend,f,1),f+=4;var C=r.tintBottomLeft===void 0?16777215:r.tintBottomLeft,M=r.tintTopLeft===void 0?16777215:r.tintTopLeft,A=r.tintBottomRight===void 0?16777215:r.tintBottomRight,R=r.tintTopRight===void 0?16777215:r.tintTopRight,P=r.alphaBottomLeft===void 0?1:r.alphaBottomLeft,L=r.alphaTopLeft===void 0?1:r.alphaTopLeft,F=r.alphaBottomRight===void 0?1:r.alphaBottomRight,w=r.alphaTopRight===void 0?1:r.alphaTopRight;return a[f++]=i(C,P),a[f++]=i(M,L),a[f++]=i(A,F),a[f++]=i(R,w),o[f++]=r.originX===void 0?.5:r.originX,o[f++]=r.originY===void 0?.5:r.originY,o[f++]=r.tintFill?1:0,o[f++]=r.creationTime||this.timeElapsed,o[f++]=r.scrollFactorX===void 0?1:r.scrollFactorX,o[f++]=r.scrollFactorY===void 0?1:r.scrollFactorY,this.addData(this.nextMemberF32),this},editMember:function(r,o){if(r<0||r>=this.memberCount)return this;var a=this.memberCount;return this.memberCount=r,this.addMember(o),this.memberCount=a,this},patchMember:function(r,o,a){if(!(r<0||r>=this.memberCount)){var u=this.submitterNode.instanceBufferLayout,f=u.buffer,v=u.layout.stride,c=r*v,g=f.viewU32,p=c/4;if(a)for(var T=0;T=this.memberCount)return null;var o=this.submitterNode.instanceBufferLayout,a=o.buffer,u=o.layout.stride,f=r*u,v=a.viewF32,c=a.viewU32,g={},p=f/v.BYTES_PER_ELEMENT;g.x=this._getAnimatedValue(p),p+=4,g.y=this._getAnimatedValue(p),p+=4,g.rotation=this._getAnimatedValue(p),p+=4,g.scaleX=this._getAnimatedValue(p),p+=4,g.scaleY=this._getAnimatedValue(p),p+=4,g.alpha=this._getAnimatedValue(p),p+=4;var T=this._getAnimatedValue(p);p+=4,typeof T!="number"&&(T=T.base);var C=this.frameDataIndicesInv[T];if(C===void 0){var M=this.animationDataIndices[T];M&&(g.animation=M.name)}else g.frame=C;return g.tintBlend=this._getAnimatedValue(p),p+=4,g.tintBottomLeft=c[p++],g.tintTopLeft=c[p++],g.tintBottomRight=c[p++],g.tintTopRight=c[p++],g.alphaBottomLeft=(g.tintBottomLeft>>>24)/255,g.alphaTopLeft=(g.tintTopLeft>>>24)/255,g.alphaBottomRight=(g.tintBottomRight>>>24)/255,g.alphaTopRight=(g.tintTopRight>>>24)/255,g.tintBottomLeft&=16777215,g.tintTopLeft&=16777215,g.tintBottomRight&=16777215,g.tintTopRight&=16777215,g.originX=v[p++],g.originY=v[p++],g.tintFill=!!v[p++],g.creationTime=v[p++],g.scrollFactorX=v[p++],g.scrollFactorY=v[p++],g},getMemberData:function(r,o){if(r<0||r>=this.memberCount)return null;var a=this.submitterNode.instanceBufferLayout,u=a.buffer,f=a.layout.stride,v=r*f;o||(o=this.nextMemberU32);var c=u.viewU32,g=c.BYTES_PER_ELEMENT;return o.set(c.subarray(v/g,v/g+f/g)),o},removeMembers:function(r,o){if(r<0||r>=this.memberCount)return this;o===void 0&&(o=1),o=Math.min(o,this.memberCount-r);var a=this.submitterNode.instanceBufferLayout,u=a.layout.stride,f=r*u,v=o*u,c=a.buffer.viewU8;c.set(c.subarray(f+v),f);for(var g=r;gthis.memberCount)return this;Array.isArray(o)||(o=[o]);var a=this.memberCount,u=this.submitterNode.instanceBufferLayout,f=u.layout.stride,v=r*f,c=o.length*f;u.buffer.viewU8.copyWithin(v+c,v,a*f),this.memberCount=r;for(var g=0;gthis.memberCount)return this;var a=o.length*o.BYTES_PER_ELEMENT,u=this.submitterNode.instanceBufferLayout,f=u.layout.stride,v=r*f;u.buffer.viewU8.copyWithin(v+a,v,this.memberCount*f),u.buffer.viewU32.set(o,v/o.BYTES_PER_ELEMENT),this.memberCount=Math.min(this.size,this.memberCount+a/f);for(var c=r;c=1?R=0:R<-1&&(R=-.999),R=(R+1)/2,c=Math.floor(A)+R}g>0?p=p/g%2:p=0,p<0&&(p+=2),p/=2,p+=v,T&&(g=-g),C||(p=-p),u[o++]=f,u[o++]=c,u[o++]=g,u[o]=p}},_getAnimatedValue:function(r){var o=this.submitterNode.instanceBufferLayout.buffer.viewF32,a=o[r++],u=o[r++],f=o[r++],v=o[r];if(u===0||f===0||p===0)return a;var c=v>0;c||(v=-v);var g=f<0;g&&(f=-f);var p=Math.floor(v);if(v-=p,v=v*f*2%f,p===t.Gravity){var T=Math.floor(u),C=(u-T)*2-1;return C===0&&(C=1),{base:a,ease:p,duration:f,delay:v,yoyo:g,velocity:T,gravityFactor:C}}return{base:a,ease:p,amplitude:u,duration:f,delay:v,yoyo:g}},setAnimationEnabled:function(r,o){return this._animationsEnabled[r]=!!o,this},preDestroy:function(){this.frameDataTexture.destroy()}});E.exports=s},16193:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(10312),S=n(44603),x=n(23568),h=n(76573);S.register("spriteGPULayer",function(d,t){d===void 0&&(d={});var e=x(d,"key",null),l=x(d,"size",1),i=new h(this.scene,e,l);return t!==void 0&&(d.add=t),i.alpha=x(d,"alpha",1),i.blendMode=x(d,"blendMode",m.NORMAL),i.visible=x(d,"visible",!0),t&&this.scene.sys.displayList.add(i),i})},96019:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(76573),S=n(39429);S.register("spriteGPULayer",function(x,h){return this.displayList.add(new m(this.scene,x,h))})},71238:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=n(97591),x=m;E.exports={renderWebGL:S,renderCanvas:x}},97591:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){S.camera.addToRenderList(m);var h=m.customRenderNodes,d=m.defaultRenderNodes;(h.Submitter||d.Submitter).run(S)};E.exports=y},14727:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(78705),S=n(83419),x=n(88571),h=n(74759),d=new S({Extends:x,Mixins:[h],initialize:function(e,l,i,s,r){x.call(this,e,l,i,s,r),this.type="Stamp"},_defaultRenderNodesMap:{get:function(){return m}}});E.exports=d},656:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(61340),S=new m,x=function(h,d,t){t.addToRenderList(d),S.copyFrom(t.matrix),t.matrix.loadIdentity();var e=t.scrollX,l=t.scrollY;t.scrollX=0,t.scrollY=0,h.batchSprite(d,d.frame,t),t.scrollX=e,t.scrollY=l,t.matrix.copyFrom(S)};E.exports=x},31479:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25305),S=n(44603),x=n(23568),h=n(14727);S.register("stamp",function(d,t){d===void 0&&(d={});var e=x(d,"key",null),l=x(d,"frame",null),i=new h(this.scene,0,0,e,l);return t!==void 0&&(d.add=t),m(this.scene,i,d),i})},85326:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(14727),S=n(39429);S.register("stamp",function(x,h,d,t){return this.displayList.add(new m(this.scene,x,h,d,t))})},74759:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m;S=n(656),E.exports={renderCanvas:S}},14220:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){var x=n.canvas,h=n.context,d=n.style,t=[],e=0,l=S.length;d.maxLines>0&&d.maxLines1&&(r+=i*(o.length-1))}d.wordWrap&&(r-=h.measureText(" ").width),t[s]=Math.ceil(r),e=Math.max(e,t[s])}var u=m.fontSize+d.strokeThickness,f=u*l,v=n.lineSpacing;return l>1&&(f+=v*(l-1)),{width:e,height:f,lines:l,lineWidths:t,lineSpacing:v,lineHeight:u}};E.exports=y},79557:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(27919),S=function(x){var h=m.create(this),d=h.getContext("2d",{willReadFrequently:!0});x.syncFont(h,d);var t=d.measureText(x.testString);if("actualBoundingBoxAscent"in t){var e=t.actualBoundingBoxAscent,l=t.actualBoundingBoxDescent;return m.remove(h),{ascent:e,descent:l,fontSize:e+l}}var i=Math.ceil(t.width*x.baselineX),s=i,r=2*s;s=s*x.baselineY|0,h.width=i,h.height=r,d.fillStyle="#f00",d.fillRect(0,0,i,r),d.font=x._font,d.textBaseline="alphabetic",d.fillStyle="#000",d.fillText(x.testString,0,s);var o={ascent:0,descent:0,fontSize:0},a=d.getImageData(0,0,i,r);if(!a)return o.ascent=s,o.descent=s+6,o.fontSize=o.ascent+o.descent,m.remove(h),o;var u=a.data,f=u.length,v=i*4,c,g,p=0,T=!1;for(c=0;cs;c--){for(g=0;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(40366),S=n(27919),x=n(40939),h=n(83419),d=n(31401),t=n(95643),e=n(14220),l=n(35154),i=n(35846),s=n(61771),r=n(35762),o=n(45650),a=new h({Extends:t,Mixins:[d.Alpha,d.BlendMode,d.ComputedSize,d.Crop,d.Depth,d.Flip,d.GetBounds,d.Lighting,d.Mask,d.Origin,d.RenderNodes,d.ScrollFactor,d.Tint,d.Transform,d.Visible,s],initialize:function(f,v,c,g,p){v===void 0&&(v=0),c===void 0&&(c=0),t.call(this,f,"Text"),this.renderer=f.sys.renderer,this.setPosition(v,c),this.setOrigin(0,0),this.initRenderNodes(this._defaultRenderNodesMap),this.canvas=S.create(this),this.context,this.style=new r(this,p),this.autoRound=!0,this.splitRegExp=/(?:\r\n|\r|\n)/,this._text=void 0,this.padding={left:0,right:0,top:0,bottom:0},this.width=1,this.height=1,this.lineSpacing=0,this.letterSpacing=0,this.style.resolution===0&&(this.style.resolution=1),this._crop=this.resetCropObject(),this._textureKey=o(),this.texture=f.sys.textures.addCanvas(this._textureKey,this.canvas),this.context=this.texture.context,this.frame=this.texture.get(),this.frame.source.resolution=this.style.resolution,this.renderer&&this.renderer.gl&&(this.renderer.deleteTexture(this.frame.source.glTexture),this.frame.source.glTexture=null),this.initRTL(),this.setText(g),p&&p.padding&&this.setPadding(p.padding),p&&p.lineSpacing&&this.setLineSpacing(p.lineSpacing),p&&p.letterSpacing&&this.setLetterSpacing(p.letterSpacing)},_defaultRenderNodesMap:{get:function(){return x}},initRTL:function(){if(!this.style.rtl){this.canvas.dir="ltr",this.context.direction="ltr";return}this.canvas.dir="rtl",this.context.direction="rtl",this.canvas.style.display="none",m(this.canvas,this.scene.sys.canvas),this.originX=1},runWordWrap:function(u){var f=this.style;if(f.wordWrapCallback){var v=f.wordWrapCallback.call(f.wordWrapCallbackScope,u,this);return Array.isArray(v)&&(v=v.join(` +`)),v}else return f.wordWrapWidth?f.wordWrapUseAdvanced?this.advancedWordWrap(u,this.context,this.style.wordWrapWidth):this.basicWordWrap(u,this.context,this.style.wordWrapWidth):u},advancedWordWrap:function(u,f,v){for(var c="",g=u.replace(/ +/gi," ").split(this.splitRegExp),p=g.length,T=0;TP){if(F===0){for(var D=O;D.length;){D=D.slice(0,-1);var N=D.length*this.letterSpacing;if(I=f.measureText(D).width+N,I<=P)break}if(!D.length)throw new Error("wordWrapWidth < a single character");var z=w.substr(D.length);L[F]=z,M+=D}var V=L[F].length?F:F+1,U=L.slice(V).join(" ").replace(/[ \n]*$/gi,"");g.splice(T+1,0,U),p=g.length;break}else M+=O,P-=I}c+=M.replace(/[ \n]*$/gi,"")+` +`}return c=c.replace(/[\s|\n]*$/gi,""),c},basicWordWrap:function(u,f,v){for(var c="",g=u.split(this.splitRegExp),p=g.length-1,T=f.measureText(" ").width,C=0;C<=p;C++){for(var M=v,A=g[C].split(" "),R=A.length-1,P=0;P<=R;P++){var L=A[P],F=L.length*this.letterSpacing,w=f.measureText(L).width+F,O=w;PM&&P>0&&(c+=` +`,M=v),c+=L,P0&&(F+=C.lineSpacing*w),v.rtl)L=R-L-M.left-M.right;else if(v.align==="right")L+=A-C.lineWidths[w];else if(v.align==="center")L+=(A-C.lineWidths[w])/2;else if(v.align==="justify"){var O=.85;if(C.lineWidths[w]/C.width>=O){var B=C.width-C.lineWidths[w],I=f.measureText(" ").width,D=T[w].trim(),N=D.split(" ");B+=(T[w].length-D.length)*I;for(var z=Math.floor(B/I),V=0;z>0;)N[V]+=" ",V=(V+1)%(N.length-1||1),--z;T[w]=N.join(" ")}}this.autoRound&&(L=Math.round(L),F=Math.round(F));var U=this.letterSpacing;if(v.strokeThickness&&U===0&&(v.syncShadow(f,v.shadowStroke),f.strokeText(T[w],L,F)),v.color)if(v.syncShadow(f,v.shadowFill),U!==0)for(var G=0,b=T[w].split(""),Y=0;Y{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){m.width===0||m.height===0||(S.addToRenderList(m),n.batchSprite(m,m.frame,S,x))};E.exports=y},71259:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25305),S=n(44603),x=n(23568),h=n(50171);S.register("text",function(d,t){d===void 0&&(d={});var e=x(d,"text",""),l=x(d,"style",null),i=x(d,"padding",null);i!==null&&(l.padding=i);var s=new h(this.scene,0,0,e,l);return t!==void 0&&(d.add=t),m(this.scene,s,d),s.autoRound=x(d,"autoRound",!0),s.resolution=x(d,"resolution",1),s})},68005:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(50171),S=n(39429);S.register("text",function(x,h,d,t){return this.displayList.add(new m(this.scene,x,h,d,t))})},61771:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(34397),x=n(79724),E.exports={renderWebGL:S,renderCanvas:x}},35762:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23568),x=n(35154),h=n(79557),d={fontFamily:["fontFamily","Courier"],fontSize:["fontSize","16px"],fontStyle:["fontStyle",""],backgroundColor:["backgroundColor",null],color:["color","#fff"],stroke:["stroke","#fff"],strokeThickness:["strokeThickness",0],shadowOffsetX:["shadow.offsetX",0],shadowOffsetY:["shadow.offsetY",0],shadowColor:["shadow.color","#000"],shadowBlur:["shadow.blur",0],shadowStroke:["shadow.stroke",!1],shadowFill:["shadow.fill",!1],align:["align","left"],maxLines:["maxLines",0],fixedWidth:["fixedWidth",0],fixedHeight:["fixedHeight",0],resolution:["resolution",0],rtl:["rtl",!1],testString:["testString","|MÉqgy"],baselineX:["baselineX",1.2],baselineY:["baselineY",1.4],wordWrapWidth:["wordWrap.width",null],wordWrapCallback:["wordWrap.callback",null],wordWrapCallbackScope:["wordWrap.callbackScope",null],wordWrapUseAdvanced:["wordWrap.useAdvancedWrap",!1]},t=new m({initialize:function(l,i){this.parent=l,this.fontFamily,this.fontSize,this.fontStyle,this.backgroundColor,this.color,this.stroke,this.strokeThickness,this.shadowOffsetX,this.shadowOffsetY,this.shadowColor,this.shadowBlur,this.shadowStroke,this.shadowFill,this.align,this.maxLines,this.fixedWidth,this.fixedHeight,this.resolution,this.rtl,this.testString,this.baselineX,this.baselineY,this.wordWrapWidth,this.wordWrapCallback,this.wordWrapCallbackScope,this.wordWrapUseAdvanced,this._font,this.setStyle(i,!1,!0)},setStyle:function(e,l,i){l===void 0&&(l=!0),i===void 0&&(i=!1);for(var s in d){var r=i?d[s][1]:this[s];s==="wordWrapCallback"||s==="wordWrapCallbackScope"?this[s]=x(e,d[s][0],r):e&&s==="fontSize"&&typeof e.fontSize=="number"?this[s]=e.fontSize.toString()+"px":this[s]=S(e,d[s][0],r)}var o=x(e,"font",null);o!==null&&this.setFont(o,!1),this._font=[this.fontStyle,this.fontSize,this.fontFamily].join(" ").trim();var a=x(e,"fill",null);a!==null&&(this.color=a);var u=x(e,"metrics",!1);return u?this.metrics={ascent:x(u,"ascent",0),descent:x(u,"descent",0),fontSize:x(u,"fontSize",0)}:(l||!this.metrics)&&(this.metrics=h(this)),l?this.parent.updateText():this.parent},syncFont:function(e,l){l.font=this._font},syncStyle:function(e,l){l.textBaseline="alphabetic",l.fillStyle=this.color,l.strokeStyle=this.stroke,l.lineWidth=this.strokeThickness,l.lineCap="round",l.lineJoin="round"},syncShadow:function(e,l){l?(e.shadowOffsetX=this.shadowOffsetX,e.shadowOffsetY=this.shadowOffsetY,e.shadowColor=this.shadowColor,e.shadowBlur=this.shadowBlur):(e.shadowOffsetX=0,e.shadowOffsetY=0,e.shadowColor=0,e.shadowBlur=0)},update:function(e){return e&&(this._font=[this.fontStyle,this.fontSize,this.fontFamily].join(" ").trim(),this.metrics=h(this)),this.parent.updateText()},setFont:function(e,l){l===void 0&&(l=!0);var i=e,s="",r="";if(typeof e!="string")i=x(e,"fontFamily","Courier"),s=x(e,"fontSize","16px"),r=x(e,"fontStyle","");else{var o=e.split(" "),a=0;r=o.length>2?o[a++]:"",s=o[a++]||"16px",i=o[a++]||"Courier"}return(i!==this.fontFamily||s!==this.fontSize||r!==this.fontStyle)&&(this.fontFamily=i,this.fontSize=s,this.fontStyle=r,l&&this.update(!0)),this.parent},setFontFamily:function(e){return this.fontFamily!==e&&(this.fontFamily=e,this.update(!0)),this.parent},setFontStyle:function(e){return this.fontStyle!==e&&(this.fontStyle=e,this.update(!0)),this.parent},setFontSize:function(e){return typeof e=="number"&&(e=e.toString()+"px"),this.fontSize!==e&&(this.fontSize=e,this.update(!0)),this.parent},setTestString:function(e){return this.testString=e,this.update(!0)},setFixedSize:function(e,l){return this.fixedWidth=e,this.fixedHeight=l,e&&(this.parent.width=e),l&&(this.parent.height=l),this.update(!1)},setBackgroundColor:function(e){return this.backgroundColor=e,this.update(!1)},setFill:function(e){return this.color=e,this.update(!1)},setColor:function(e){return this.color=e,this.update(!1)},setResolution:function(e){return this.resolution=e,this.update(!1)},setStroke:function(e,l){return l===void 0&&(l=this.strokeThickness),e===void 0&&this.strokeThickness!==0?(this.strokeThickness=0,this.update(!0)):(this.stroke!==e||this.strokeThickness!==l)&&(this.stroke=e,this.strokeThickness=l,this.update(!0)),this.parent},setShadow:function(e,l,i,s,r,o){return e===void 0&&(e=0),l===void 0&&(l=0),i===void 0&&(i="#000"),s===void 0&&(s=0),r===void 0&&(r=!1),o===void 0&&(o=!0),this.shadowOffsetX=e,this.shadowOffsetY=l,this.shadowColor=i,this.shadowBlur=s,this.shadowStroke=r,this.shadowFill=o,this.update(!1)},setShadowOffset:function(e,l){return e===void 0&&(e=0),l===void 0&&(l=e),this.shadowOffsetX=e,this.shadowOffsetY=l,this.update(!1)},setShadowColor:function(e){return e===void 0&&(e="#000"),this.shadowColor=e,this.update(!1)},setShadowBlur:function(e){return e===void 0&&(e=0),this.shadowBlur=e,this.update(!1)},setShadowStroke:function(e){return this.shadowStroke=e,this.update(!1)},setShadowFill:function(e){return this.shadowFill=e,this.update(!1)},setWordWrapWidth:function(e,l){return l===void 0&&(l=!1),this.wordWrapWidth=e,this.wordWrapUseAdvanced=l,this.update(!1)},setWordWrapCallback:function(e,l){return l===void 0&&(l=null),this.wordWrapCallback=e,this.wordWrapCallbackScope=l,this.update(!1)},setAlign:function(e){return e===void 0&&(e="left"),this.align=e,this.update(!1)},setMaxLines:function(e){return e===void 0&&(e=0),this.maxLines=e,this.update(!1)},getTextMetrics:function(){var e=this.metrics;return{ascent:e.ascent,descent:e.descent,fontSize:e.fontSize}},toJSON:function(){var e={};for(var l in d)e[l]=this[l];return e.metrics=this.getTextMetrics(),e},destroy:function(){this.parent=void 0}});E.exports=t},34397:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){if(!(m.width===0||m.height===0)){S.camera.addToRenderList(m);var h=m.customRenderNodes,d=m.defaultRenderNodes;(h.Submitter||d.Submitter).run(S,m,x,0,h.Texturer||d.Texturer,h.Transformer||d.Transformer)}};E.exports=y},20839:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(9674),S=n(27919),x=n(41571),h=n(83419),d=n(31401),t=n(95643),e=n(68703),l=n(56295),i=n(45650),s=n(26099),r=8,o=new h({Extends:t,Mixins:[d.Alpha,d.BlendMode,d.ComputedSize,d.Depth,d.Flip,d.GetBounds,d.Lighting,d.Mask,d.Origin,d.RenderNodes,d.ScrollFactor,d.Texture,d.Tint,d.Transform,d.Visible,l],initialize:function(u,f,v,c,g,p,T){var C=u.sys.renderer,M=C&&!C.gl;t.call(this,u,"TileSprite");var A=u.sys.textures.get(p),R=A.get(T);c=c?Math.floor(c):R.width,g=g?Math.floor(g):R.height,this._tilePosition=new s,this._tileScale=new s(1,1),this._tileRotation=0,this.dirty=!1,this.renderer=C,this.canvas=M?S.create(this,c,g):null,this.context=M?this.canvas.getContext("2d",{willReadFrequently:!1}):null,this._displayTextureKey=i(),this.displayTexture=M?u.sys.textures.addCanvas(this._displayTextureKey,this.canvas):null,this.displayFrame=this.displayTexture?this.displayTexture.get():null,this.currentFrame=null,this.fillCanvas=M?S.create2D(this,R.width,this.displayFrame.height):null,this.fillContext=this.fillCanvas?this.fillCanvas.getContext("2d",{willReadFrequently:!1}):null,this.fillPattern=null,this.anims=new m(this),this.setTexture(p,T),this.setPosition(f,v),this.setSize(c,g),this.setOrigin(.5,.5),this.initRenderNodes(this._defaultRenderNodesMap)},_defaultRenderNodesMap:{get:function(){return x}},addedToScene:function(){this.scene.sys.updateList.add(this)},removedFromScene:function(){this.scene.sys.updateList.remove(this)},preUpdate:function(a,u){this.anims.update(a,u)},setFrame:function(a){var u=this.texture.get(a);return!u.cutWidth||!u.cutHeight?this.renderFlags&=~r:this.renderFlags|=r,this.frame=u,this.dirty=!0,this},setSizeToFrame:function(){return this},setTilePosition:function(a,u){return a!==void 0&&(this.tilePositionX=a),u!==void 0&&(this.tilePositionY=u),this},setTileRotation:function(a){return a===void 0&&(a=0),this.tileRotation=a,this},setTileScale:function(a,u){return a===void 0&&(a=this.tileScaleX),u===void 0&&(u=a),this.tileScaleX=a,this.tileScaleY=u,this},updateTileTexture:function(){if(!(!this.renderer||this.renderer.gl)){var a=this.frame,u=this.fillContext,f=this.fillCanvas,v=a.cutWidth,c=a.cutHeight;u.clearRect(0,0,v,c),f.width=v,f.height=c,u.drawImage(a.source.image,a.cutX,a.cutY,a.cutWidth,a.cutHeight,0,0,v,c),this.fillPattern=u.createPattern(f,"repeat"),this.currentFrame=a}},updateCanvas:function(){var a=this.canvas,u=this.width,f=this.height,v=this.currentFrame!==this.frame;if((a.width!==u||a.height!==f||v)&&(a.width=u,a.height=f,this.displayFrame.setSize(u,f),this.updateDisplayOrigin(),v&&this.updateTileTexture(),this.dirty=!0),!this.dirty||this.renderer&&this.renderer.gl){this.dirty=!1;return}var c=this.context;this.scene.sys.game.config.antialias||e.disable(c);var g=this._tileScale.x,p=this._tileScale.y,T=this._tilePosition.x,C=this._tilePosition.y;c.clearRect(0,0,u,f),c.save(),c.rotate(this._tileRotation),c.scale(g,p),c.translate(-T,-C),c.fillStyle=this.fillPattern;var M=Math.max(u,Math.abs(u/g)),A=Math.max(f,Math.abs(f/p)),R=Math.sqrt(M*M+A*A);c.fillRect(T-R,C-R,2*R,2*R),c.restore(),this.dirty=!1},preDestroy:function(){this.canvas&&S.remove(this.canvas),this.fillCanvas&&S.remove(this.fillCanvas),this.fillPattern=null,this.fillContext=null,this.fillCanvas=null,this.displayTexture=null,this.displayFrame=null,this.renderer=null,this.anims.destroy(),this.anims=void 0},tilePositionX:{get:function(){return this._tilePosition.x},set:function(a){this._tilePosition.x=a,this.dirty=!0}},tilePositionY:{get:function(){return this._tilePosition.y},set:function(a){this._tilePosition.y=a,this.dirty=!0}},tileRotation:{get:function(){return this._tileRotation},set:function(a){this._tileRotation=a,this.dirty=!0}},tileScaleX:{get:function(){return this._tileScale.x},set:function(a){this._tileScale.x=a,this.dirty=!0}},tileScaleY:{get:function(){return this._tileScale.y},set:function(a){this._tileScale.y=a,this.dirty=!0}}});E.exports=o},46992:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){m.updateCanvas(),S.addToRenderList(m),n.batchSprite(m,m.displayFrame,S,x)};E.exports=y},14167:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25305),S=n(44603),x=n(23568),h=n(20839);S.register("tileSprite",function(d,t){d===void 0&&(d={});var e=x(d,"x",0),l=x(d,"y",0),i=x(d,"width",512),s=x(d,"height",512),r=x(d,"key",""),o=x(d,"frame",""),a=new h(this.scene,e,l,i,s,r,o);return t!==void 0&&(d.add=t),m(this.scene,a,d),a})},91681:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(20839),S=n(39429);S.register("tileSprite",function(x,h,d,t,e,l){return this.displayList.add(new m(this.scene,x,h,d,t,e,l))})},56295:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(18553),x=n(46992),E.exports={renderWebGL:S,renderCanvas:x}},18553:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){var h=m.width,d=m.height;if(!(h===0||d===0)){var t=S.camera;t.addToRenderList(m);var e=m.customRenderNodes,l=m.defaultRenderNodes;(e.Submitter||l.Submitter).run(S,m,x,0,e.Texturer||l.Texturer,e.Transformer||l.Transformer)}};E.exports=y},18471:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(45319),S=n(40939),x=n(83419),h=n(31401),d=n(51708),t=n(8443),e=n(95643),l=n(36383),i=n(14463),s=n(45650),r=n(10247),o=new x({Extends:e,Mixins:[h.Alpha,h.BlendMode,h.ComputedSize,h.Depth,h.Flip,h.GetBounds,h.Lighting,h.Mask,h.Origin,h.RenderNodes,h.ScrollFactor,h.TextureCrop,h.Tint,h.Transform,h.Visible,r],initialize:function(u,f,v,c){e.call(this,u,"Video"),this.video,this.videoTexture,this.videoTextureSource,this.snapshotTexture,this.glFlipY=!0,this._key=s(),this.touchLocked=!1,this.playWhenUnlocked=!1,this.frameReady=!1,this.isStalled=!1,this.failedPlayAttempts=0,this.metadata,this.retry=0,this.retryInterval=500,this._systemMuted=!1,this._codeMuted=!1,this._systemPaused=!1,this._codePaused=!1,this._callbacks={ended:this.completeHandler.bind(this),legacy:this.legacyPlayHandler.bind(this),playing:this.playingHandler.bind(this),seeked:this.seekedHandler.bind(this),seeking:this.seekingHandler.bind(this),stalled:this.stalledHandler.bind(this),suspend:this.stalledHandler.bind(this),waiting:this.stalledHandler.bind(this)},this._loadCallbackHandler=this.loadErrorHandler.bind(this),this._metadataCallbackHandler=this.metadataHandler.bind(this),this._crop=this.resetCropObject(),this.markers={},this._markerIn=0,this._markerOut=0,this._playingMarker=!1,this._lastUpdate=0,this.cacheKey="",this.isSeeking=!1,this._playCalled=!1,this._getFrame=!1,this._rfvCallbackId=0;var g=u.sys.game;this._device=g.device.video,this.setPosition(f,v),this.setSize(256,256),this.initRenderNodes(this._defaultRenderNodesMap),g.events.on(t.PAUSE,this.globalPause,this),g.events.on(t.RESUME,this.globalResume,this);var p=u.sys.sound;p&&p.on(i.GLOBAL_MUTE,this.globalMute,this),c&&this.load(c)},_defaultRenderNodesMap:{get:function(){return S}},addedToScene:function(){this.scene.sys.updateList.add(this)},removedFromScene:function(){this.scene.sys.updateList.remove(this)},load:function(a){var u=this.scene.sys.cache.video.get(a);return u?(this.cacheKey=a,this.loadHandler(u.url,u.noAudio,u.crossOrigin)):console.warn("No video in cache for key: "+a),this},changeSource:function(a,u,f,v,c){u===void 0&&(u=!0),f===void 0&&(f=!1),this.cacheKey!==a&&(this.load(a),u&&this.play(f,v,c))},getVideoKey:function(){return this.cacheKey},loadURL:function(a,u,f){u===void 0&&(u=!1);var v=this._device.getVideoURL(a);return v?(this.cacheKey="",this.loadHandler(v.url,u,f)):console.warn("No supported video format found for "+a),this},loadMediaStream:function(a,u,f){return this.loadHandler(null,u,f,a)},loadHandler:function(a,u,f,v){u||(u=!1);var c=this.video;if(c?(this.removeLoadEventHandlers(),this.stop()):(c=document.createElement("video"),c.controls=!1,c.setAttribute("playsinline","playsinline"),c.setAttribute("preload","auto"),c.setAttribute("disablePictureInPicture","true")),u?(c.muted=!0,c.defaultMuted=!0,c.setAttribute("autoplay","autoplay")):(c.muted=!1,c.defaultMuted=!1,c.removeAttribute("autoplay")),f?c.setAttribute("crossorigin",f):c.removeAttribute("crossorigin"),v)if("srcObject"in c)try{c.srcObject=v}catch(p){if(p.name!=="TypeError")throw p;c.src=URL.createObjectURL(v)}else c.src=URL.createObjectURL(v);else c.src=a;this.retry=0,this.video=c,this._playCalled=!1,c.load(),this.addLoadEventHandlers();var g=this.scene.sys.textures.get(this._key);return this.setTexture(g),this},requestVideoFrame:function(a,u){var f=this.video;if(f){var v=u.width,c=u.height,g=this.videoTexture,p=this.videoTextureSource,T=!g||p.source!==f;T?(this._codePaused=f.paused,this._codeMuted=f.muted,g?(p.source=f,p.width=v,p.height=c,g.get().setSize(v,c)):(g=this.scene.sys.textures.create(this._key,f,v,c),g.add("__BASE",0,0,0,v,c),this.setTexture(g),this.videoTexture=g,this.videoTextureSource=g.source[0],this.videoTextureSource.setFlipY(this.glFlipY),this.emit(d.VIDEO_TEXTURE,this,g)),this.setSizeToFrame(),this.updateDisplayOrigin()):p.update(),this.isStalled=!1,this.metadata=u;var C=u.mediaTime;T&&(this._lastUpdate=C,this.emit(d.VIDEO_CREATED,this,v,c),this.frameReady||(this.frameReady=!0,this.emit(d.VIDEO_PLAY,this))),this._playingMarker?C>=this._markerOut&&(f.loop?(f.currentTime=this._markerIn,this.emit(d.VIDEO_LOOP,this)):(this.stop(!1),this.emit(d.VIDEO_COMPLETE,this))):C-1&&f>u&&f=0&&!isNaN(f)&&f>u&&(this.markers[a]=[u,f]),this},playMarker:function(a,u){var f=this.markers[a];return f&&this.play(u,f[0],f[1]),this},removeMarker:function(a){return delete this.markers[a],this},snapshot:function(a,u){return a===void 0&&(a=this.width),u===void 0&&(u=this.height),this.snapshotArea(0,0,this.width,this.height,a,u)},snapshotArea:function(a,u,f,v,c,g){a===void 0&&(a=0),u===void 0&&(u=0),f===void 0&&(f=this.width),v===void 0&&(v=this.height),c===void 0&&(c=f),g===void 0&&(g=v);var p=this.video,T=this.snapshotTexture;return T?(T.setSize(c,g),p&&T.context.drawImage(p,a,u,f,v,0,0,c,g)):(T=this.scene.sys.textures.createCanvas(s(),c,g),this.snapshotTexture=T,p&&T.context.drawImage(p,a,u,f,v,0,0,c,g)),T.update()},saveSnapshotTexture:function(a){return this.snapshotTexture?this.scene.sys.textures.renameTexture(this.snapshotTexture.key,a):this.snapshotTexture=this.scene.sys.textures.createCanvas(a,this.width,this.height),this.snapshotTexture},playSuccess:function(){if(this._playCalled){this.addEventHandlers(),this._codePaused=!1,this.touchLocked&&(this.touchLocked=!1,this.emit(d.VIDEO_UNLOCKED,this));var a=this.scene.sys.sound;a&&a.mute&&this.setMute(!0),this._markerIn>-1&&(this.video.currentTime=this._markerIn)}},playError:function(a){var u=a.name;u==="NotAllowedError"?(this.touchLocked=!0,this.playWhenUnlocked=!0,this.failedPlayAttempts=1,this.emit(d.VIDEO_LOCKED,this)):u==="NotSupportedError"?(this.stop(!1),this.emit(d.VIDEO_UNSUPPORTED,this,a)):(this.stop(!1),this.emit(d.VIDEO_ERROR,this,a))},legacyPlayHandler:function(){var a=this.video;a&&(this.playSuccess(),a.removeEventListener("playing",this._callbacks.legacy))},playingHandler:function(){this.isStalled=!1,this.emit(d.VIDEO_PLAYING,this)},loadErrorHandler:function(a){this.stop(!1),this.emit(d.VIDEO_ERROR,this,a)},metadataHandler:function(a){this.emit(d.VIDEO_METADATA,this,a)},setSizeToFrame:function(a){a||(a=this.frame),this.width=a.realWidth,this.height=a.realHeight,this.scaleX!==1&&(this.scaleX=this.displayWidth/this.width),this.scaleY!==1&&(this.scaleY=this.displayHeight/this.height);var u=this.input;return u&&!u.customHitArea&&(u.hitArea.width=this.width,u.hitArea.height=this.height),this},stalledHandler:function(a){this.isStalled=!0,this.emit(d.VIDEO_STALLED,this,a)},completeHandler:function(){this._playCalled=!1,this.emit(d.VIDEO_COMPLETE,this)},preUpdate:function(a,u){var f=this.video;!f||!this._playCalled||this.touchLocked&&this.playWhenUnlocked&&(this.retry+=u,this.retry>=this.retryInterval&&(this.createPlayPromise(!1),this.retry=0))},seekTo:function(a){var u=this.video;if(u){var f=u.duration;if(f!==1/0&&!isNaN(f)){var v=f*a;this.setCurrentTime(v)}}return this},getCurrentTime:function(){return this.video?this.video.currentTime:0},setCurrentTime:function(a){var u=this.video;if(u){if(typeof a=="string"){var f=a[0],v=parseFloat(a.substr(1));f==="+"?a=u.currentTime+v:f==="-"&&(a=u.currentTime-v)}u.currentTime=a}return this},seekingHandler:function(){this.isSeeking=!0,this.emit(d.VIDEO_SEEKING,this)},seekedHandler:function(){this.isSeeking=!1,this.emit(d.VIDEO_SEEKED,this)},getProgress:function(){var a=this.video;if(a){var u=a.duration;if(u!==1/0&&!isNaN(u))return a.currentTime/u}return-1},getDuration:function(){return this.video?this.video.duration:0},setMute:function(a){a===void 0&&(a=!0),this._codeMuted=a;var u=this.video;return u&&(u.muted=this._systemMuted?!0:a),this},isMuted:function(){return this._codeMuted},globalMute:function(a,u){this._systemMuted=u;var f=this.video;f&&(f.muted=this._codeMuted?!0:u)},globalPause:function(){this._systemPaused=!0,this.video&&!this.video.ended&&(this.removeEventHandlers(),this.video.pause())},globalResume:function(){this._systemPaused=!1,this.video&&!this._codePaused&&!this.video.ended&&this.createPlayPromise()},setPaused:function(a){a===void 0&&(a=!0);var u=this.video;return this._codePaused=a,u&&!u.ended&&(a?u.paused||(this.removeEventHandlers(),u.pause()):a||(this._playCalled?u.paused&&!this._systemPaused&&this.createPlayPromise():this.play())),this},pause:function(){return this.setPaused(!0)},resume:function(){return this.setPaused(!1)},getVolume:function(){return this.video?this.video.volume:1},setVolume:function(a){return a===void 0&&(a=1),this.video&&(this.video.volume=m(a,0,1)),this},getPlaybackRate:function(){return this.video?this.video.playbackRate:1},setPlaybackRate:function(a){return this.video&&(this.video.playbackRate=a),this},getLoop:function(){return this.video?this.video.loop:!1},setLoop:function(a){return a===void 0&&(a=!0),this.video&&(this.video.loop=a),this},isPlaying:function(){return this.video?!(this.video.paused||this.video.ended):!1},isPaused:function(){return this.video&&this._playCalled&&this.video.paused||this._codePaused||this._systemPaused},saveTexture:function(a,u){return u===void 0&&(u=!0),this.videoTexture&&(this.scene.sys.textures.renameTexture(this._key,a),this.videoTextureSource.setFlipY(u)),this._key=a,this.glFlipY=u,!!this.videoTexture},stop:function(a){a===void 0&&(a=!0);var u=this.video;return u&&(this.removeEventHandlers(),u.cancelVideoFrameCallback(this._rfvCallbackId),u.pause()),this.retry=0,this._playCalled=!1,a&&this.emit(d.VIDEO_STOP,this),this},removeVideoElement:function(){var a=this.video;if(a){for(a.parentNode&&a.parentNode.removeChild(a);a.hasChildNodes();)a.removeChild(a.firstChild);a.removeAttribute("autoplay"),a.removeAttribute("src"),this.video=null}},preDestroy:function(){this.stop(!1),this.removeLoadEventHandlers(),this.removeVideoElement();var a=this.scene.sys.game.events;a.off(t.PAUSE,this.globalPause,this),a.off(t.RESUME,this.globalResume,this);var u=this.scene.sys.sound;u&&u.off(i.GLOBAL_MUTE,this.globalMute,this)}});E.exports=o},58352:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){m.videoTexture&&(S.addToRenderList(m),n.batchSprite(m,m.frame,S,x))};E.exports=y},11511:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25305),S=n(44603),x=n(23568),h=n(18471);S.register("video",function(d,t){d===void 0&&(d={});var e=x(d,"key",null),l=new h(this.scene,0,0,e);return t!==void 0&&(d.add=t),m(this.scene,l,d),l})},89025:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(18471),S=n(39429);S.register("video",function(x,h,d){return this.displayList.add(new m(this.scene,x,h,d))})},10247:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(29849),x=n(58352),E.exports={renderWebGL:S,renderCanvas:x}},29849:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){if(m.videoTexture){S.camera.addToRenderList(m);var h=m.customRenderNodes,d=m.defaultRenderNodes;(h.Submitter||d.Submitter).run(S,m,x,0,h.Texturer||d.Texturer,h.Transformer||d.Transformer)}};E.exports=y},41481:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(10312),S=n(96503),x=n(87902),h=n(83419),d=n(31401),t=n(95643),e=n(87841),l=n(37303),i=new h({Extends:t,Mixins:[d.Depth,d.GetBounds,d.Origin,d.Transform,d.ScrollFactor,d.Visible],initialize:function(r,o,a,u,f){u===void 0&&(u=1),f===void 0&&(f=u),t.call(this,r,"Zone"),this.setPosition(o,a),this.width=u,this.height=f,this.blendMode=m.NORMAL,this.updateDisplayOrigin()},displayWidth:{get:function(){return this.scaleX*this.width},set:function(s){this.scaleX=s/this.width}},displayHeight:{get:function(){return this.scaleY*this.height},set:function(s){this.scaleY=s/this.height}},setSize:function(s,r,o){o===void 0&&(o=!0),this.width=s,this.height=r,this.updateDisplayOrigin();var a=this.input;return o&&a&&!a.customHitArea&&(a.hitArea.width=s,a.hitArea.height=r),this},setDisplaySize:function(s,r){return this.displayWidth=s,this.displayHeight=r,this},setCircleDropZone:function(s){return this.setDropZone(new S(0,0,s),x)},setRectangleDropZone:function(s,r){return this.setDropZone(new e(0,0,s,r),l)},setDropZone:function(s,r){return this.input||this.setInteractive(s,r,!0),this},setAlpha:function(){},setBlendMode:function(){},renderCanvas:function(s,r,o){o.addToRenderList(r)},renderWebGL:function(s,r,o){o.camera.addToRenderList(r)}});E.exports=i},95261:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(44603),S=n(23568),x=n(41481);m.register("zone",function(h){var d=S(h,"x",0),t=S(h,"y",0),e=S(h,"width",1),l=S(h,"height",e);return new x(this.scene,d,t,e,l)})},84175:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(41481),S=n(39429);S.register("zone",function(x,h,d,t){return this.displayList.add(new m(this.scene,x,h,d,t))})},95166:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.radius>0?Math.PI*n.radius*n.radius:0};E.exports=y},96503:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(87902),x=n(26241),h=n(79124),d=n(23777),t=n(28176),e=new m({initialize:function(i,s,r){i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r=0),this.type=d.CIRCLE,this.x=i,this.y=s,this._radius=r,this._diameter=r*2},contains:function(l,i){return S(this,l,i)},getPoint:function(l,i){return x(this,l,i)},getPoints:function(l,i,s){return h(this,l,i,s)},getRandomPoint:function(l){return t(this,l)},setTo:function(l,i,s){return this.x=l,this.y=i,this._radius=s,this._diameter=s*2,this},setEmpty:function(){return this._radius=0,this._diameter=0,this},setPosition:function(l,i){return i===void 0&&(i=l),this.x=l,this.y=i,this},isEmpty:function(){return this._radius<=0},radius:{get:function(){return this._radius},set:function(l){this._radius=l,this._diameter=l*2}},diameter:{get:function(){return this._diameter},set:function(l){this._diameter=l,this._radius=l*.5}},left:{get:function(){return this.x-this._radius},set:function(l){this.x=l+this._radius}},right:{get:function(){return this.x+this._radius},set:function(l){this.x=l-this._radius}},top:{get:function(){return this.y-this._radius},set:function(l){this.y=l+this._radius}},bottom:{get:function(){return this.y+this._radius},set:function(l){this.y=l-this._radius}}});E.exports=e},71562:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return 2*(Math.PI*n.radius)};E.exports=y},92110:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h,d){return d===void 0&&(d=new m),d.x=x.x+x.radius*Math.cos(h),d.y=x.y+x.radius*Math.sin(h),d};E.exports=S},42250:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(96503),S=function(x){return new m(x.x,x.y,x.radius)};E.exports=S},87902:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){if(n.radius>0&&m>=n.left&&m<=n.right&&S>=n.top&&S<=n.bottom){var x=(n.x-m)*(n.x-m),h=(n.y-S)*(n.y-S);return x+h<=n.radius*n.radius}else return!1};E.exports=y},5698:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87902),S=function(x,h){return m(x,h.x,h.y)};E.exports=S},70588:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87902),S=function(x,h){return m(x,h.x,h.y)&&m(x,h.right,h.y)&&m(x,h.x,h.bottom)&&m(x,h.right,h.bottom)};E.exports=S},26394:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m.setTo(n.x,n.y,n.radius)};E.exports=y},76278:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.x===m.x&&n.y===m.y&&n.radius===m.radius};E.exports=y},2074:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87841),S=function(x,h){return h===void 0&&(h=new m),h.x=x.left,h.y=x.top,h.width=x.diameter,h.height=x.diameter,h};E.exports=S},26241:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(92110),S=n(62945),x=n(36383),h=n(26099),d=function(t,e,l){l===void 0&&(l=new h);var i=S(e,0,x.TAU);return m(t,i,l)};E.exports=d},79124:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(71562),S=n(92110),x=n(62945),h=n(36383),d=function(t,e,l,i){i===void 0&&(i=[]),!e&&l>0&&(e=m(t)/l);for(var s=0;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return n.x+=m,n.y+=S,n};E.exports=y},39212:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.x+=m.x,n.y+=m.y,n};E.exports=y},28176:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h){h===void 0&&(h=new m);var d=2*Math.PI*Math.random(),t=Math.random()+Math.random(),e=t>1?2-t:t,l=e*Math.cos(d),i=e*Math.sin(d);return h.x=x.x+l*x.radius,h.y=x.y+i*x.radius,h};E.exports=S},88911:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(96503);m.Area=n(95166),m.Circumference=n(71562),m.CircumferencePoint=n(92110),m.Clone=n(42250),m.Contains=n(87902),m.ContainsPoint=n(5698),m.ContainsRect=n(70588),m.CopyFrom=n(26394),m.Equals=n(76278),m.GetBounds=n(2074),m.GetPoint=n(26241),m.GetPoints=n(79124),m.Offset=n(50884),m.OffsetPoint=n(39212),m.Random=n(28176),E.exports=m},23777:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={CIRCLE:0,ELLIPSE:1,LINE:2,POINT:3,POLYGON:4,RECTANGLE:5,TRIANGLE:6};E.exports=y},78874:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.isEmpty()?0:n.getMajorRadius()*n.getMinorRadius()*Math.PI};E.exports=y},92990:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){var m=n.width/2,S=n.height/2,x=Math.pow(m-S,2)/Math.pow(m+S,2);return Math.PI*(m+S)*(1+3*x/(10+Math.sqrt(4-3*x)))};E.exports=y},79522:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h,d){d===void 0&&(d=new m);var t=x.width/2,e=x.height/2;return d.x=x.x+t*Math.cos(h),d.y=x.y+e*Math.sin(h),d};E.exports=S},58102:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(8497),S=function(x){return new m(x.x,x.y,x.width,x.height)};E.exports=S},81154:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){if(n.width<=0||n.height<=0)return!1;var x=(m-n.x)/n.width,h=(S-n.y)/n.height;return x*=x,h*=h,x+h<.25};E.exports=y},46662:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(81154),S=function(x,h){return m(x,h.x,h.y)};E.exports=S},1632:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(81154),S=function(x,h){return m(x,h.x,h.y)&&m(x,h.right,h.y)&&m(x,h.x,h.bottom)&&m(x,h.right,h.bottom)};E.exports=S},65534:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m.setTo(n.x,n.y,n.width,n.height)};E.exports=y},8497:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(81154),x=n(90549),h=n(48320),d=n(23777),t=n(24820),e=new m({initialize:function(i,s,r,o){i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r=0),o===void 0&&(o=0),this.type=d.ELLIPSE,this.x=i,this.y=s,this.width=r,this.height=o},contains:function(l,i){return S(this,l,i)},getPoint:function(l,i){return x(this,l,i)},getPoints:function(l,i,s){return h(this,l,i,s)},getRandomPoint:function(l){return t(this,l)},setTo:function(l,i,s,r){return this.x=l,this.y=i,this.width=s,this.height=r,this},setEmpty:function(){return this.width=0,this.height=0,this},setPosition:function(l,i){return i===void 0&&(i=l),this.x=l,this.y=i,this},setSize:function(l,i){return i===void 0&&(i=l),this.width=l,this.height=i,this},isEmpty:function(){return this.width<=0||this.height<=0},getMinorRadius:function(){return Math.min(this.width,this.height)/2},getMajorRadius:function(){return Math.max(this.width,this.height)/2},left:{get:function(){return this.x-this.width/2},set:function(l){this.x=l+this.width/2}},right:{get:function(){return this.x+this.width/2},set:function(l){this.x=l-this.width/2}},top:{get:function(){return this.y-this.height/2},set:function(l){this.y=l+this.height/2}},bottom:{get:function(){return this.y+this.height/2},set:function(l){this.y=l-this.height/2}}});E.exports=e},36146:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.x===m.x&&n.y===m.y&&n.width===m.width&&n.height===m.height};E.exports=y},23694:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87841),S=function(x,h){return h===void 0&&(h=new m),h.x=x.left,h.y=x.top,h.width=x.width,h.height=x.height,h};E.exports=S},90549:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(79522),S=n(62945),x=n(36383),h=n(26099),d=function(t,e,l){l===void 0&&(l=new h);var i=S(e,0,x.TAU);return m(t,i,l)};E.exports=d},48320:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(92990),S=n(79522),x=n(62945),h=n(36383),d=function(t,e,l,i){i===void 0&&(i=[]),!e&&l>0&&(e=m(t)/l);for(var s=0;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return n.x+=m,n.y+=S,n};E.exports=y},44808:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.x+=m.x,n.y+=m.y,n};E.exports=y},24820:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h){h===void 0&&(h=new m);var d=Math.random()*Math.PI*2,t=Math.sqrt(Math.random());return h.x=x.x+t*Math.cos(d)*x.width/2,h.y=x.y+t*Math.sin(d)*x.height/2,h};E.exports=S},49203:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(8497);m.Area=n(78874),m.Circumference=n(92990),m.CircumferencePoint=n(79522),m.Clone=n(58102),m.Contains=n(81154),m.ContainsPoint=n(46662),m.ContainsRect=n(1632),m.CopyFrom=n(65534),m.Equals=n(36146),m.GetBounds=n(23694),m.GetPoint=n(90549),m.GetPoints=n(48320),m.Offset=n(73424),m.OffsetPoint=n(44808),m.Random=n(24820),E.exports=m},55738:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(23777),S=n(79291),x={Circle:n(88911),Ellipse:n(49203),Intersects:n(91865),Line:n(2529),Polygon:n(58423),Rectangle:n(93232),Triangle:n(84435)};x=S(!1,x,m),E.exports=x},2044:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(20339),S=function(x,h){return m(x.x,x.y,h.x,h.y)<=x.radius+h.radius};E.exports=S},81491:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){var S=m.width/2,x=m.height/2,h=Math.abs(n.x-m.x-S),d=Math.abs(n.y-m.y-x),t=S+n.radius,e=x+n.radius;if(h>t||d>e)return!1;if(h<=S||d<=x)return!0;var l=h-S,i=d-x,s=l*l,r=i*i,o=n.radius*n.radius;return s+r<=o};E.exports=y},63376:(E,y,n)=>{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=n(2044),x=function(h,d,t){if(t===void 0&&(t=[]),S(h,d)){var e=h.x,l=h.y,i=h.radius,s=d.x,r=d.y,o=d.radius,a,u,f,v,c;if(l===r)c=(o*o-i*i-s*s+e*e)/(2*(e-s)),a=1,u=-2*r,f=s*s+c*c-2*s*c+r*r-o*o,v=u*u-4*a*f,v===0?t.push(new m(c,-u/(2*a))):v>0&&(t.push(new m(c,(-u+Math.sqrt(v))/(2*a))),t.push(new m(c,(-u-Math.sqrt(v))/(2*a))));else{var g=(e-s)/(l-r),p=(o*o-i*i-s*s+e*e-r*r+l*l)/(2*(l-r));a=g*g+1,u=2*l*g-2*p*g-2*e,f=e*e+l*l+p*p-i*i-2*l*p,v=u*u-4*a*f,v===0?(c=-u/(2*a),t.push(new m(c,p-c*g))):v>0&&(c=(-u+Math.sqrt(v))/(2*a),t.push(new m(c,p-c*g)),c=(-u-Math.sqrt(v))/(2*a),t.push(new m(c,p-c*g)))}}return t};E.exports=x},97439:(E,y,n)=>{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(4042),S=n(81491),x=function(h,d,t){if(t===void 0&&(t=[]),S(h,d)){var e=d.getLineA(),l=d.getLineB(),i=d.getLineC(),s=d.getLineD();m(e,h,t),m(l,h,t),m(i,h,t),m(s,h,t)}return t};E.exports=x},4042:(E,y,n)=>{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=n(80462),x=function(h,d,t){if(t===void 0&&(t=[]),S(h,d)){var e=h.x1,l=h.y1,i=h.x2,s=h.y2,r=d.x,o=d.y,a=d.radius,u=i-e,f=s-l,v=e-r,c=l-o,g=u*u+f*f,p=2*(u*v+f*c),T=v*v+c*c-a*a,C=p*p-4*g*T,M,A;if(C===0){var R=-p/(2*g);M=e+R*u,A=l+R*f,R>=0&&R<=1&&t.push(new m(M,A))}else if(C>0){var P=(-p-Math.sqrt(C))/(2*g);M=e+P*u,A=l+P*f,P>=0&&P<=1&&t.push(new m(M,A));var L=(-p+Math.sqrt(C))/(2*g);M=e+L*u,A=l+L*f,L>=0&&L<=1&&t.push(new m(M,A))}}return t};E.exports=x},36100:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25836),S=function(x,h,d,t){d===void 0&&(d=!1);var e=x.x1,l=x.y1,i=x.x2,s=x.y2,r=h.x1,o=h.y1,a=h.x2,u=h.y2,f=i-e,v=s-l,c=a-r,g=u-o,p=f*g-v*c;if(p===0)return null;var T,C,M;if(d){if(T=(f*(o-l)+v*(e-r))/(c*v-g*f),f!==0)C=(r+c*T-e)/f;else if(v!==0)C=(o+g*T-l)/v;else return null;if(C<0||T<0||T>1)return null;M=C}else{if(T=((r-e)*g-(o-l)*c)/p,C=((l-o)*f-(e-r)*v)/p,T<0||T>1||C<0||C>1)return null;M=T}return t===void 0&&(t=new m),t.set(e+f*M,l+v*M,M)};E.exports=S},3073:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(36100),S=n(23031),x=n(25836),h=new S,d=new x,t=function(e,l,i,s){i===void 0&&(i=!1),s===void 0&&(s=new x);var r=!1;s.set(),d.set();for(var o=l[l.length-1],a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25836),S=n(61369),x=n(3073),h=new m,d=function(t,e,l,i){i===void 0&&(i=new S),Array.isArray(e)||(e=[e]);var s=!1;i.set(),h.set();for(var r=0;r{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=n(76112),x=n(92773),h=function(d,t,e){if(e===void 0&&(e=[]),x(d,t))for(var l=t.getLineA(),i=t.getLineB(),s=t.getLineC(),r=t.getLineD(),o=[new m,new m,new m,new m],a=[S(l,d,o[0]),S(i,d,o[1]),S(s,d,o[2]),S(r,d,o[3])],u=0;u<4;u++)a[u]&&e.push(o[u]);return e};E.exports=h},71147:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(61369),S=n(56362),x=n(23031),h=new x;function d(l,i,s,r,o){var a=Math.cos(l),u=Math.sin(l);h.setTo(i,s,i+a,s+u);var f=S(h,r,!0);f&&o.push(new m(f.x,f.y,l,f.w))}function t(l,i){return l.z-i.z}var e=function(l,i,s){Array.isArray(s)||(s=[s]);for(var r=[],o=[],a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87841),S=n(59996),x=function(h,d,t){return t===void 0&&(t=new m),S(h,d)&&(t.x=Math.max(h.x,d.x),t.y=Math.max(h.y,d.y),t.width=Math.min(h.right,d.right)-t.x,t.height=Math.min(h.bottom,d.bottom)-t.y),t};E.exports=x},52784:(E,y,n)=>{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(60646),S=n(59996),x=function(h,d,t){if(t===void 0&&(t=[]),S(h,d)){var e=h.getLineA(),l=h.getLineB(),i=h.getLineC(),s=h.getLineD();m(e,d,t),m(l,d,t),m(i,d,t),m(s,d,t)}return t};E.exports=x},26341:(E,y,n)=>{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(89265),S=n(60646),x=function(h,d,t){if(t===void 0&&(t=[]),m(h,d)){var e=d.getLineA(),l=d.getLineB(),i=d.getLineC();S(e,h,t),S(l,h,t),S(i,h,t)}return t};E.exports=x},38720:(E,y,n)=>{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(4042),S=n(67636),x=function(h,d,t){if(t===void 0&&(t=[]),S(h,d)){var e=h.getLineA(),l=h.getLineB(),i=h.getLineC();m(e,d,t),m(l,d,t),m(i,d,t)}return t};E.exports=x},13882:(E,y,n)=>{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=n(2822),x=n(76112),h=function(d,t,e){if(e===void 0&&(e=[]),S(d,t))for(var l=d.getLineA(),i=d.getLineB(),s=d.getLineC(),r=[new m,new m,new m],o=[x(l,t,r[0]),x(i,t,r[1]),x(s,t,r[2])],a=0;a<3;a++)o[a]&&e.push(r[a]);return e};E.exports=h},75636:(E,y,n)=>{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(82944),S=n(13882),x=function(h,d,t){if(t===void 0&&(t=[]),m(h,d)){var e=d.getLineA(),l=d.getLineB(),i=d.getLineC();S(h,e,t),S(h,l,t),S(h,i,t)}return t};E.exports=x},80462:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87902),S=n(26099),x=new S,h=function(d,t,e){if(e===void 0&&(e=x),m(t,d.x1,d.y1))return e.x=d.x1,e.y=d.y1,!0;if(m(t,d.x2,d.y2))return e.x=d.x2,e.y=d.y2,!0;var l=d.x2-d.x1,i=d.y2-d.y1,s=t.x-d.x1,r=t.y-d.y1,o=l*l+i*i,a=l,u=i;if(o>0){var f=(s*l+r*i)/o;a*=f,u*=f}e.x=d.x1+a,e.y=d.y1+u;var v=a*a+u*u;return v<=o&&a*l+u*i>=0&&m(t,e.x,e.y)};E.exports=h},76112:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){var x=n.x1,h=n.y1,d=n.x2,t=n.y2,e=m.x1,l=m.y1,i=m.x2,s=m.y2;if(x===d&&h===t||e===i&&l===s)return!1;var r=(s-l)*(d-x)-(i-e)*(t-h);if(r===0)return!1;var o=((i-e)*(h-l)-(s-l)*(x-e))/r,a=((d-x)*(h-l)-(t-h)*(x-e))/r;return o<0||o>1||a<0||a>1?!1:(S&&(S.x=x+o*(d-x),S.y=h+o*(t-h)),!0)};E.exports=y},92773:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){var S=n.x1,x=n.y1,h=n.x2,d=n.y2,t=m.x,e=m.y,l=m.right,i=m.bottom,s=0;if(S>=t&&S<=l&&x>=e&&x<=i||h>=t&&h<=l&&d>=e&&d<=i)return!0;if(S=t){if(s=x+(d-x)*(t-S)/(h-S),s>e&&s<=i)return!0}else if(S>l&&h<=l&&(s=x+(d-x)*(l-S)/(h-S),s>=e&&s<=i))return!0;if(x=e){if(s=S+(h-S)*(e-x)/(d-x),s>=t&&s<=l)return!0}else if(x>i&&d<=i&&(s=S+(h-S)*(i-x)/(d-x),s>=t&&s<=l))return!0;return!1};E.exports=y},16204:E=>{/** + * @author Richard Davey + * @author Florian Mertens + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){S===void 0&&(S=1);var x=m.x1,h=m.y1,d=m.x2,t=m.y2,e=n.x,l=n.y,i=(d-x)*(d-x)+(t-h)*(t-h);if(i===0)return!1;var s=((e-x)*(d-x)+(l-h)*(t-h))/i;if(s<0)return Math.sqrt((x-e)*(x-e)+(h-l)*(h-l))<=S;if(s>=0&&s<=1){var r=((h-l)*(d-x)-(x-e)*(t-h))/i;return Math.abs(r)*Math.sqrt(i)<=S}else return Math.sqrt((d-e)*(d-e)+(t-l)*(t-l))<=S};E.exports=y},14199:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(16204),S=function(x,h){if(!m(x,h))return!1;var d=Math.min(h.x1,h.x2),t=Math.max(h.x1,h.x2),e=Math.min(h.y1,h.y2),l=Math.max(h.y1,h.y2);return x.x>=d&&x.x<=t&&x.y>=e&&x.y<=l};E.exports=S},59996:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.width<=0||n.height<=0||m.width<=0||m.height<=0?!1:!(n.rightm.right||n.y>m.bottom)};E.exports=y},89265:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(76112),S=n(37303),x=n(48653),h=n(77493),d=function(t,e){if(e.left>t.right||e.rightt.bottom||e.bottom0};E.exports=d},84411:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x,h,d){return d===void 0&&(d=0),!(m>n.right+d||Sn.bottom+d||h{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(80462),S=n(10690),x=function(h,d){return h.left>d.right||h.rightd.bottom||h.bottom{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(76112),S=function(x,h){return!!(x.contains(h.x1,h.y1)||x.contains(h.x2,h.y2)||m(x.getLineA(),h)||m(x.getLineB(),h)||m(x.getLineC(),h))};E.exports=S},82944:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(48653),S=n(71694),x=n(76112),h=function(d,t){if(d.left>t.right||d.rightt.bottom||d.bottom0||(a=S(t),u=m(d,a,!0),u.length>0)};E.exports=h},91865:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={CircleToCircle:n(2044),CircleToRectangle:n(81491),GetCircleToCircle:n(63376),GetCircleToRectangle:n(97439),GetLineToCircle:n(4042),GetLineToLine:n(36100),GetLineToPoints:n(3073),GetLineToPolygon:n(56362),GetLineToRectangle:n(60646),GetRaysFromPointToPolygon:n(71147),GetRectangleIntersection:n(68389),GetRectangleToRectangle:n(52784),GetRectangleToTriangle:n(26341),GetTriangleToCircle:n(38720),GetTriangleToLine:n(13882),GetTriangleToTriangle:n(75636),LineToCircle:n(80462),LineToLine:n(76112),LineToRectangle:n(92773),PointToLine:n(16204),PointToLineSegment:n(14199),RectangleToRectangle:n(59996),RectangleToTriangle:n(89265),RectangleToValues:n(84411),TriangleToCircle:n(67636),TriangleToLine:n(2822),TriangleToTriangle:n(82944)}},91938:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return Math.atan2(n.y2-n.y1,n.x2-n.x1)};E.exports=y},84993:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){m===void 0&&(m=1),S===void 0&&(S=[]);var x=Math.round(n.x1),h=Math.round(n.y1),d=Math.round(n.x2),t=Math.round(n.y2),e=Math.abs(d-x),l=Math.abs(t-h),i=x-l&&(r-=l,x+=i),a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){var x=m-(n.x1+n.x2)/2,h=S-(n.y1+n.y2)/2;return n.x1+=x,n.y1+=h,n.x2+=x,n.y2+=h,n};E.exports=y},31116:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(23031),S=function(x){return new m(x.x1,x.y1,x.x2,x.y2)};E.exports=S},59944:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m.setTo(n.x1,n.y1,n.x2,n.y2)};E.exports=y},59220:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.x1===m.x1&&n.y1===m.y1&&n.x2===m.x2&&n.y2===m.y2};E.exports=y},78177:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(35001),S=function(x,h,d){d===void 0&&(d=h);var t=m(x),e=x.x2-x.x1,l=x.y2-x.y1;return h&&(x.x1=x.x1-e/t*h,x.y1=x.y1-l/t*h),d&&(x.x2=x.x2+e/t*d,x.y2=x.y2+l/t*d),x};E.exports=S},26708:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(52816),S=n(6113),x=n(26099),h=function(d,t,e,l,i){l===void 0&&(l=0),i===void 0&&(i=[]);var s=[],r=d.x1,o=d.y1,a=d.x2-r,u=d.y2-o,f=S(t,i),v,c,g=e-1;for(v=0;v0){var p=s[0],T=[p];for(v=1;v=l&&(T.push(C),p=C)}var M=s[s.length-1];return m(p,M){/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h){return h===void 0&&(h=new m),h.x=(x.x1+x.x2)/2,h.y=(x.y1+x.y2)/2,h};E.exports=S},99569:(E,y,n)=>{/** + * @author Richard Davey + * @author Florian Mertens + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h,d){d===void 0&&(d=new m);var t=x.x1,e=x.y1,l=x.x2,i=x.y2,s=(l-t)*(l-t)+(i-e)*(i-e);if(s===0)return d;var r=((h.x-t)*(l-t)+(h.y-e)*(i-e))/s;return d.x=t+r*(l-t),d.y=e+r*(i-e),d};E.exports=S},34638:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(36383),S=n(91938),x=n(26099),h=function(d,t){t===void 0&&(t=new x);var e=S(d)-m.PI_OVER_2;return t.x=Math.cos(e),t.y=Math.sin(e),t};E.exports=h},13151:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h,d){return d===void 0&&(d=new m),d.x=x.x1+(x.x2-x.x1)*h,d.y=x.y1+(x.y2-x.y1)*h,d};E.exports=S},15258:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(35001),S=n(26099),x=function(h,d,t,e){e===void 0&&(e=[]),!d&&t>0&&(d=m(h)/t);for(var l=h.x1,i=h.y1,s=h.x2,r=h.y2,o=0;o{/** + * @author Richard Davey + * @author Florian Mertens + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){var S=n.x1,x=n.y1,h=n.x2,d=n.y2,t=(h-S)*(h-S)+(d-x)*(d-x);if(t===0)return!1;var e=((x-m.y)*(h-S)-(S-m.x)*(d-x))/t;return Math.abs(e)*Math.sqrt(t)};E.exports=y},98770:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return Math.abs(n.y1-n.y2)};E.exports=y},35001:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return Math.sqrt((n.x2-n.x1)*(n.x2-n.x1)+(n.y2-n.y1)*(n.y2-n.y1))};E.exports=y},23031:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(13151),x=n(15258),h=n(23777),d=n(65822),t=n(26099),e=new m({initialize:function(i,s,r,o){i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r=0),o===void 0&&(o=0),this.type=h.LINE,this.x1=i,this.y1=s,this.x2=r,this.y2=o},getPoint:function(l,i){return S(this,l,i)},getPoints:function(l,i,s){return x(this,l,i,s)},getRandomPoint:function(l){return d(this,l)},setTo:function(l,i,s,r){return l===void 0&&(l=0),i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r=0),this.x1=l,this.y1=i,this.x2=s,this.y2=r,this},setFromObjects:function(l,i){return this.x1=l.x,this.y1=l.y,this.x2=i.x,this.y2=i.y,this},getPointA:function(l){return l===void 0&&(l=new t),l.set(this.x1,this.y1),l},getPointB:function(l){return l===void 0&&(l=new t),l.set(this.x2,this.y2),l},left:{get:function(){return Math.min(this.x1,this.x2)},set:function(l){this.x1<=this.x2?this.x1=l:this.x2=l}},right:{get:function(){return Math.max(this.x1,this.x2)},set:function(l){this.x1>this.x2?this.x1=l:this.x2=l}},top:{get:function(){return Math.min(this.y1,this.y2)},set:function(l){this.y1<=this.y2?this.y1=l:this.y2=l}},bottom:{get:function(){return Math.max(this.y1,this.y2)},set:function(l){this.y1>this.y2?this.y1=l:this.y2=l}}});E.exports=e},64795:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(36383),S=n(15994),x=n(91938),h=function(d){var t=x(d)-m.PI_OVER_2;return S(t,-Math.PI,Math.PI)};E.exports=h},52616:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(36383),S=n(91938),x=function(h){return Math.cos(S(h)-m.PI_OVER_2)};E.exports=x},87231:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(36383),S=n(91938),x=function(h){return Math.sin(S(h)-m.PI_OVER_2)};E.exports=x},89662:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return n.x1+=m,n.y1+=S,n.x2+=m,n.y2+=S,n};E.exports=y},71165:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return-((n.x2-n.x1)/(n.y2-n.y1))};E.exports=y},65822:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h){h===void 0&&(h=new m);var d=Math.random();return h.x=x.x1+d*(x.x2-x.x1),h.y=x.y1+d*(x.y2-x.y1),h};E.exports=S},69777:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91938),S=n(64795),x=function(h,d){return 2*S(d)-Math.PI-m(h)};E.exports=x},39706:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(64400),S=function(x,h){var d=(x.x1+x.x2)/2,t=(x.y1+x.y2)/2;return m(x,d,t,h)};E.exports=S},82585:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(64400),S=function(x,h,d){return m(x,h.x,h.y,d)};E.exports=S},64400:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){var h=Math.cos(x),d=Math.sin(x),t=n.x1-m,e=n.y1-S;return n.x1=t*h-e*d+m,n.y1=t*d+e*h+S,t=n.x2-m,e=n.y2-S,n.x2=t*h-e*d+m,n.y2=t*d+e*h+S,n};E.exports=y},62377:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x,h){return n.x1=m,n.y1=S,n.x2=m+Math.cos(x)*h,n.y2=S+Math.sin(x)*h,n};E.exports=y},71366:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return(n.y2-n.y1)/(n.x2-n.x1)};E.exports=y},10809:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return Math.abs(n.x1-n.x2)};E.exports=y},2529:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(23031);m.Angle=n(91938),m.BresenhamPoints=n(84993),m.CenterOn=n(36469),m.Clone=n(31116),m.CopyFrom=n(59944),m.Equals=n(59220),m.Extend=n(78177),m.GetEasedPoints=n(26708),m.GetMidPoint=n(32125),m.GetNearestPoint=n(99569),m.GetNormal=n(34638),m.GetPoint=n(13151),m.GetPoints=n(15258),m.GetShortestDistance=n(26408),m.Height=n(98770),m.Length=n(35001),m.NormalAngle=n(64795),m.NormalX=n(52616),m.NormalY=n(87231),m.Offset=n(89662),m.PerpSlope=n(71165),m.Random=n(65822),m.ReflectAngle=n(69777),m.Rotate=n(39706),m.RotateAroundPoint=n(82585),m.RotateAroundXY=n(64400),m.SetToAngle=n(62377),m.Slope=n(71366),m.Width=n(10809),E.exports=m},12306:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25717),S=function(x){return new m(x.points)};E.exports=S},63814:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){for(var x=!1,h=-1,d=n.points.length-1;++h{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(63814),S=function(x,h){return m(x,h.x,h.y)};E.exports=S},94811:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */function y(I,D,N){N=N||2;var z=D&&D.length,V=z?D[0]*N:I.length,U=n(I,0,V,N,!0),G=[];if(!U||U.next===U.prev)return G;var b,Y,W,H,X,K,Z;if(z&&(U=e(I,D,U,N)),I.length>80*N){b=W=I[0],Y=H=I[1];for(var Q=N;QW&&(W=X),K>H&&(H=K);Z=Math.max(W-b,H-Y),Z=Z!==0?32767/Z:0}return S(U,G,N,b,Y,Z,0),G}function n(I,D,N,z,V){var U,G;if(V===B(I,D,N,z)>0)for(U=D;U=D;U-=z)G=F(U,I[U],I[U+1],G);return G&&p(G,G.next)&&(w(G),G=G.next),G}function m(I,D){if(!I)return I;D||(D=I);var N=I,z;do if(z=!1,!N.steiner&&(p(N,N.next)||g(N.prev,N,N.next)===0)){if(w(N),N=D=N.prev,N===N.next)break;z=!0}else N=N.next;while(z||N!==D);return D}function S(I,D,N,z,V,U,G){if(I){!G&&U&&o(I,z,V,U);for(var b=I,Y,W;I.prev!==I.next;){if(Y=I.prev,W=I.next,U?h(I,z,V,U):x(I)){D.push(Y.i/N|0),D.push(I.i/N|0),D.push(W.i/N|0),w(I),I=W.next,b=W.next;continue}if(I=W,I===b){G?G===1?(I=d(m(I),D,N),S(I,D,N,z,V,U,2)):G===2&&t(I,D,N,z,V,U):S(m(I),D,N,z,V,U,1);break}}}}function x(I){var D=I.prev,N=I,z=I.next;if(g(D,N,z)>=0)return!1;for(var V=D.x,U=N.x,G=z.x,b=D.y,Y=N.y,W=z.y,H=VU?V>G?V:G:U>G?U:G,Z=b>Y?b>W?b:W:Y>W?Y:W,Q=z.next;Q!==D;){if(Q.x>=H&&Q.x<=K&&Q.y>=X&&Q.y<=Z&&v(V,b,U,Y,G,W,Q.x,Q.y)&&g(Q.prev,Q,Q.next)>=0)return!1;Q=Q.next}return!0}function h(I,D,N,z){var V=I.prev,U=I,G=I.next;if(g(V,U,G)>=0)return!1;for(var b=V.x,Y=U.x,W=G.x,H=V.y,X=U.y,K=G.y,Z=bY?b>W?b:W:Y>W?Y:W,J=H>X?H>K?H:K:X>K?X:K,tt=u(Z,Q,D,N,z),k=u(j,J,D,N,z),q=I.prevZ,_=I.nextZ;q&&q.z>=tt&&_&&_.z<=k;){if(q.x>=Z&&q.x<=j&&q.y>=Q&&q.y<=J&&q!==V&&q!==G&&v(b,H,Y,X,W,K,q.x,q.y)&&g(q.prev,q,q.next)>=0||(q=q.prevZ,_.x>=Z&&_.x<=j&&_.y>=Q&&_.y<=J&&_!==V&&_!==G&&v(b,H,Y,X,W,K,_.x,_.y)&&g(_.prev,_,_.next)>=0))return!1;_=_.nextZ}for(;q&&q.z>=tt;){if(q.x>=Z&&q.x<=j&&q.y>=Q&&q.y<=J&&q!==V&&q!==G&&v(b,H,Y,X,W,K,q.x,q.y)&&g(q.prev,q,q.next)>=0)return!1;q=q.prevZ}for(;_&&_.z<=k;){if(_.x>=Z&&_.x<=j&&_.y>=Q&&_.y<=J&&_!==V&&_!==G&&v(b,H,Y,X,W,K,_.x,_.y)&&g(_.prev,_,_.next)>=0)return!1;_=_.nextZ}return!0}function d(I,D,N){var z=I;do{var V=z.prev,U=z.next.next;!p(V,U)&&T(V,z,z.next,U)&&R(V,U)&&R(U,V)&&(D.push(V.i/N|0),D.push(z.i/N|0),D.push(U.i/N|0),w(z),w(z.next),z=I=U),z=z.next}while(z!==I);return m(z)}function t(I,D,N,z,V,U){var G=I;do{for(var b=G.next.next;b!==G.prev;){if(G.i!==b.i&&c(G,b)){var Y=L(G,b);G=m(G,G.next),Y=m(Y,Y.next),S(G,D,N,z,V,U,0),S(Y,D,N,z,V,U,0);return}b=b.next}G=G.next}while(G!==I)}function e(I,D,N,z){var V=[],U,G,b,Y,W;for(U=0,G=D.length;U=N.next.y&&N.next.y!==N.y){var b=N.x+(V-N.y)*(N.next.x-N.x)/(N.next.y-N.y);if(b<=z&&b>U&&(U=b,G=N.x=N.x&&N.x>=W&&z!==N.x&&v(VG.x||N.x===G.x&&r(G,N)))&&(G=N,X=K)),N=N.next;while(N!==Y);return G}function r(I,D){return g(I.prev,I,D.prev)<0&&g(D.next,I,I.next)<0}function o(I,D,N,z){var V=I;do V.z===0&&(V.z=u(V.x,V.y,D,N,z)),V.prevZ=V.prev,V.nextZ=V.next,V=V.next;while(V!==I);V.prevZ.nextZ=null,V.prevZ=null,a(V)}function a(I){var D,N,z,V,U,G,b,Y,W=1;do{for(N=I,I=null,U=null,G=0;N;){for(G++,z=N,b=0,D=0;D0||Y>0&&z;)b!==0&&(Y===0||!z||N.z<=z.z)?(V=N,N=N.nextZ,b--):(V=z,z=z.nextZ,Y--),U?U.nextZ=V:I=V,V.prevZ=U,U=V;N=z}U.nextZ=null,W*=2}while(G>1);return I}function u(I,D,N,z,V){return I=(I-N)*V|0,D=(D-z)*V|0,I=(I|I<<8)&16711935,I=(I|I<<4)&252645135,I=(I|I<<2)&858993459,I=(I|I<<1)&1431655765,D=(D|D<<8)&16711935,D=(D|D<<4)&252645135,D=(D|D<<2)&858993459,D=(D|D<<1)&1431655765,I|D<<1}function f(I){var D=I,N=I;do(D.x=(I-G)*(U-b)&&(I-G)*(z-b)>=(N-G)*(D-b)&&(N-G)*(U-b)>=(V-G)*(z-b)}function c(I,D){return I.next.i!==D.i&&I.prev.i!==D.i&&!A(I,D)&&(R(I,D)&&R(D,I)&&P(I,D)&&(g(I.prev,I,D.prev)||g(I,D.prev,D))||p(I,D)&&g(I.prev,I,I.next)>0&&g(D.prev,D,D.next)>0)}function g(I,D,N){return(D.y-I.y)*(N.x-D.x)-(D.x-I.x)*(N.y-D.y)}function p(I,D){return I.x===D.x&&I.y===D.y}function T(I,D,N,z){var V=M(g(I,D,N)),U=M(g(I,D,z)),G=M(g(N,z,I)),b=M(g(N,z,D));return!!(V!==U&&G!==b||V===0&&C(I,N,D)||U===0&&C(I,z,D)||G===0&&C(N,I,z)||b===0&&C(N,D,z))}function C(I,D,N){return D.x<=Math.max(I.x,N.x)&&D.x>=Math.min(I.x,N.x)&&D.y<=Math.max(I.y,N.y)&&D.y>=Math.min(I.y,N.y)}function M(I){return I>0?1:I<0?-1:0}function A(I,D){var N=I;do{if(N.i!==I.i&&N.next.i!==I.i&&N.i!==D.i&&N.next.i!==D.i&&T(N,N.next,I,D))return!0;N=N.next}while(N!==I);return!1}function R(I,D){return g(I.prev,I,I.next)<0?g(I,D,I.next)>=0&&g(I,I.prev,D)>=0:g(I,D,I.prev)<0||g(I,I.next,D)<0}function P(I,D){var N=I,z=!1,V=(I.x+D.x)/2,U=(I.y+D.y)/2;do N.y>U!=N.next.y>U&&N.next.y!==N.y&&V<(N.next.x-N.x)*(U-N.y)/(N.next.y-N.y)+N.x&&(z=!z),N=N.next;while(N!==I);return z}function L(I,D){var N=new O(I.i,I.x,I.y),z=new O(D.i,D.x,D.y),V=I.next,U=D.prev;return I.next=D,D.prev=I,N.next=V,V.prev=N,z.next=N,N.prev=z,U.next=z,z.prev=U,z}function F(I,D,N,z){var V=new O(I,D,N);return z?(V.next=z.next,V.prev=z,z.next.prev=V,z.next=V):(V.prev=V,V.next=V),V}function w(I){I.next.prev=I.prev,I.prev.next=I.next,I.prevZ&&(I.prevZ.nextZ=I.nextZ),I.nextZ&&(I.nextZ.prevZ=I.prevZ)}function O(I,D,N){this.i=I,this.x=D,this.y=N,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}y.deviation=function(I,D,N,z){var V=D&&D.length,U=V?D[0]*N:I.length,G=Math.abs(B(I,0,U,N));if(V)for(var b=0,Y=D.length;b0&&(z+=I[V-1].length,N.holes.push(z))}return N},E.exports=y},13829:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87841),S=function(x,h){h===void 0&&(h=new m);for(var d=1/0,t=1/0,e=-d,l=-t,i,s=0;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){m===void 0&&(m=[]);for(var S=0;S{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(35001),S=n(23031),x=n(30052),h=function(d,t,e,l){l===void 0&&(l=[]);var i=d.points,s=x(d);!t&&e>0&&(t=s/e);for(var r=0;ra+g){a+=g;continue}var p=c.getPoint((o-a)/g);l.push(p);break}return l};E.exports=h},30052:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(35001),S=n(23031),x=function(h){for(var d=h.points,t=0,e=0;e{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(63814),x=n(9564),h=n(23777),d=new m({initialize:function(e){this.type=h.POLYGON,this.area=0,this.points=[],e&&this.setTo(e)},contains:function(t,e){return S(this,t,e)},setTo:function(t){if(this.area=0,this.points=[],typeof t=="string"&&(t=t.split(" ")),!Array.isArray(t))return this;for(var e,l=0;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.points.reverse(),n};E.exports=y},29524:E=>{function y(d,t){var e=d.x-t.x,l=d.y-t.y;return e*e+l*l}function n(d,t,e){var l=t.x,i=t.y,s=e.x-l,r=e.y-i;if(s!==0||r!==0){var o=((d.x-l)*s+(d.y-i)*r)/(s*s+r*r);o>1?(l=e.x,i=e.y):o>0&&(l+=s*o,i+=r*o)}return s=d.x-l,r=d.y-i,s*s+r*r}function m(d,t){for(var e=d[0],l=[e],i,s=1,r=d.length;st&&(l.push(i),e=i);return e!==i&&l.push(i),l}function S(d,t,e,l,i){for(var s=l,r,o=t+1;os&&(r=o,s=a)}s>l&&(r-t>1&&S(d,t,r,l,i),i.push(d[r]),e-r>1&&S(d,r,e,l,i))}function x(d,t){var e=d.length-1,l=[d[0]];return S(d,0,e,t,l),l.push(d[e]),l}var h=function(d,t,e){t===void 0&&(t=1),e===void 0&&(e=!1);var l=d.points;if(l.length>2){var i=t*t;e||(l=m(l,i)),d.setTo(x(l,i))}return d};E.exports=h},5469:E=>{/** + * @author Richard Davey + * @author Igor Ognichenko + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(m,S){return m[0]=S[0],m[1]=S[1],m},n=function(m){var S,x=[],h=m.points;for(S=0;S0&&d.push(y([0,0],x[0])),S=0;S1&&d.push(y([0,0],x[x.length-1])),m.setTo(d)};E.exports=n},24709:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){for(var x=n.points,h=0;h{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25717);m.Clone=n(12306),m.Contains=n(63814),m.ContainsPoint=n(99338),m.Earcut=n(94811),m.GetAABB=n(13829),m.GetNumberArray=n(26173),m.GetPoints=n(9564),m.Perimeter=n(30052),m.Reverse=n(8133),m.Simplify=n(29524),m.Smooth=n(5469),m.Translate=n(24709),E.exports=m},62224:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.width*n.height};E.exports=y},98615:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.x=Math.ceil(n.x),n.y=Math.ceil(n.y),n};E.exports=y},31688:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.x=Math.ceil(n.x),n.y=Math.ceil(n.y),n.width=Math.ceil(n.width),n.height=Math.ceil(n.height),n};E.exports=y},67502:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return n.x=m-n.width/2,n.y=S-n.height/2,n};E.exports=y},65085:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87841),S=function(x){return new m(x.x,x.y,x.width,x.height)};E.exports=S},37303:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return n.width<=0||n.height<=0?!1:n.x<=m&&n.x+n.width>=m&&n.y<=S&&n.y+n.height>=S};E.exports=y},96553:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(37303),S=function(x,h){return m(x,h.x,h.y)};E.exports=S},70273:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m.width*m.height>n.width*n.height?!1:m.x>n.x&&m.xn.x&&m.rightn.y&&m.yn.y&&m.bottom{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m.setTo(n.x,n.y,n.width,n.height)};E.exports=y},77493:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m===void 0&&(m=[]),m.push({x:n.x,y:n.y}),m.push({x:n.right,y:n.y}),m.push({x:n.right,y:n.bottom}),m.push({x:n.x,y:n.bottom}),m};E.exports=y},9219:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.x===m.x&&n.y===m.y&&n.width===m.width&&n.height===m.height};E.exports=y},53751:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(8249),S=function(x,h){var d=m(x);return d{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(8249),S=function(x,h){var d=m(x);return d>m(h)?x.setSize(h.height*d,h.height):x.setSize(h.width,h.width/d),x.setPosition(h.centerX-x.width/2,h.centerY-x.height/2)};E.exports=S},80774:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.x=Math.floor(n.x),n.y=Math.floor(n.y),n};E.exports=y},83859:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.x=Math.floor(n.x),n.y=Math.floor(n.y),n.width=Math.floor(n.width),n.height=Math.floor(n.height),n};E.exports=y},19217:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87841),S=n(36383),x=function(h,d){if(d===void 0&&(d=new m),h.length===0)return d;for(var t=Number.MAX_VALUE,e=Number.MAX_VALUE,l=S.MIN_SAFE_INTEGER,i=S.MIN_SAFE_INTEGER,s,r,o,a=0;a{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87841),S=function(x,h,d,t,e){return e===void 0&&(e=new m),e.setTo(Math.min(x,d),Math.min(h,t),Math.abs(x-d),Math.abs(h-t))};E.exports=S},8249:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.height===0?NaN:n.width/n.height};E.exports=y},27165:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h){return h===void 0&&(h=new m),h.x=x.centerX,h.y=x.centerY,h};E.exports=S},20812:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(13019),S=n(26099),x=function(h,d,t){if(t===void 0&&(t=new S),d<=0||d>=1)return t.x=h.x,t.y=h.y,t;var e=m(h)*d;return d>.5?(e-=h.width+h.height,e<=h.width?(t.x=h.right-e,t.y=h.bottom):(t.x=h.x,t.y=h.bottom-(e-h.width))):e<=h.width?(t.x=h.x+e,t.y=h.y):(t.x=h.right,t.y=h.y+(e-h.width)),t};E.exports=x},34819:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(20812),S=n(13019),x=function(h,d,t,e){e===void 0&&(e=[]),!d&&t>0&&(d=S(h)/t);for(var l=0;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h){return h===void 0&&(h=new m),h.x=x.width,h.y=x.height,h};E.exports=S},86091:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(67502),S=function(x,h,d){var t=x.centerX,e=x.centerY;return x.setSize(x.width+h*2,x.height+d*2),m(x,t,e)};E.exports=S},53951:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87841),S=n(59996),x=function(h,d,t){return t===void 0&&(t=new m),S(h,d)?(t.x=Math.max(h.x,d.x),t.y=Math.max(h.y,d.y),t.width=Math.min(h.right,d.right)-t.x,t.height=Math.min(h.bottom,d.bottom)-t.y):t.setEmpty(),t};E.exports=x},14649:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(13019),S=n(26099),x=function(h,d,t,e){if(e===void 0&&(e=[]),!d&&!t)return e;d?t=Math.round(m(h)/d):d=m(h)/t;for(var l=h.x,i=h.y,s=0,r=0;r=h.right&&(s=1,i+=l-h.right,l=h.right);break;case 1:i+=d,i>=h.bottom&&(s=2,l-=i-h.bottom,i=h.bottom);break;case 2:l-=d,l<=h.left&&(s=3,i-=h.left-l,l=h.left);break;case 3:i-=d,i<=h.top&&(s=0,i=h.top);break}return e};E.exports=x},33595:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){for(var S=n.x,x=n.right,h=n.y,d=n.bottom,t=0;t{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){var S=Math.min(n.x,m.x),x=Math.max(n.right,m.right);n.x=S,n.width=x-S;var h=Math.min(n.y,m.y),d=Math.max(n.bottom,m.bottom);return n.y=h,n.height=d-h,n};E.exports=y},92171:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){var x=Math.min(n.x,m),h=Math.max(n.right,m);n.x=x,n.width=h-x;var d=Math.min(n.y,S),t=Math.max(n.bottom,S);return n.y=d,n.height=t-d,n};E.exports=y},42981:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return n.x+=m,n.y+=S,n};E.exports=y},46907:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.x+=m.x,n.y+=m.y,n};E.exports=y},60170:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.xm.x&&n.ym.y};E.exports=y},13019:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return 2*(n.width+n.height)};E.exports=y},85133:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=n(39506),x=function(h,d,t){t===void 0&&(t=new m),d=S(d);var e=Math.sin(d),l=Math.cos(d),i=l>0?h.width/2:h.width/-2,s=e>0?h.height/2:h.height/-2;return Math.abs(i*e){/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h){return h===void 0&&(h=new m),h.x=x.x+Math.random()*x.width,h.y=x.y+Math.random()*x.height,h};E.exports=S},86470:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(30976),S=n(70273),x=n(26099),h=function(d,t,e){if(e===void 0&&(e=new x),S(d,t))switch(m(0,3)){case 0:e.x=d.x+Math.random()*(t.right-d.x),e.y=d.y+Math.random()*(t.top-d.y);break;case 1:e.x=t.x+Math.random()*(d.right-t.x),e.y=t.bottom+Math.random()*(d.bottom-t.bottom);break;case 2:e.x=d.x+Math.random()*(t.x-d.x),e.y=t.y+Math.random()*(d.bottom-t.y);break;case 3:e.x=t.right+Math.random()*(d.right-t.right),e.y=d.y+Math.random()*(t.bottom-d.y);break}return e};E.exports=h},87841:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(37303),x=n(20812),h=n(34819),d=n(23777),t=n(23031),e=n(26597),l=new m({initialize:function(s,r,o,a){s===void 0&&(s=0),r===void 0&&(r=0),o===void 0&&(o=0),a===void 0&&(a=0),this.type=d.RECTANGLE,this.x=s,this.y=r,this.width=o,this.height=a},contains:function(i,s){return S(this,i,s)},getPoint:function(i,s){return x(this,i,s)},getPoints:function(i,s,r){return h(this,i,s,r)},getRandomPoint:function(i){return e(this,i)},setTo:function(i,s,r,o){return this.x=i,this.y=s,this.width=r,this.height=o,this},setEmpty:function(){return this.setTo(0,0,0,0)},setPosition:function(i,s){return s===void 0&&(s=i),this.x=i,this.y=s,this},setSize:function(i,s){return s===void 0&&(s=i),this.width=i,this.height=s,this},isEmpty:function(){return this.width<=0||this.height<=0},getLineA:function(i){return i===void 0&&(i=new t),i.setTo(this.x,this.y,this.right,this.y),i},getLineB:function(i){return i===void 0&&(i=new t),i.setTo(this.right,this.y,this.right,this.bottom),i},getLineC:function(i){return i===void 0&&(i=new t),i.setTo(this.right,this.bottom,this.x,this.bottom),i},getLineD:function(i){return i===void 0&&(i=new t),i.setTo(this.x,this.bottom,this.x,this.y),i},left:{get:function(){return this.x},set:function(i){i>=this.right?this.width=0:this.width=this.right-i,this.x=i}},right:{get:function(){return this.x+this.width},set:function(i){i<=this.x?this.width=0:this.width=i-this.x}},top:{get:function(){return this.y},set:function(i){i>=this.bottom?this.height=0:this.height=this.bottom-i,this.y=i}},bottom:{get:function(){return this.y+this.height},set:function(i){i<=this.y?this.height=0:this.height=i-this.y}},centerX:{get:function(){return this.x+this.width/2},set:function(i){this.x=i-this.width/2}},centerY:{get:function(){return this.y+this.height/2},set:function(i){this.y=i-this.height/2}}});E.exports=l},94845:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.width===m.width&&n.height===m.height};E.exports=y},31730:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return S===void 0&&(S=m),n.width*=m,n.height*=S,n};E.exports=y},36899:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87841),S=function(x,h,d){d===void 0&&(d=new m);var t=Math.min(x.x,h.x),e=Math.min(x.y,h.y),l=Math.max(x.right,h.right)-t,i=Math.max(x.bottom,h.bottom)-e;return d.setTo(t,e,l,i)};E.exports=S},93232:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87841);m.Area=n(62224),m.Ceil=n(98615),m.CeilAll=n(31688),m.CenterOn=n(67502),m.Clone=n(65085),m.Contains=n(37303),m.ContainsPoint=n(96553),m.ContainsRect=n(70273),m.CopyFrom=n(43459),m.Decompose=n(77493),m.Equals=n(9219),m.FitInside=n(53751),m.FitOutside=n(16088),m.Floor=n(80774),m.FloorAll=n(83859),m.FromPoints=n(19217),m.FromXY=n(9477),m.GetAspectRatio=n(8249),m.GetCenter=n(27165),m.GetPoint=n(20812),m.GetPoints=n(34819),m.GetSize=n(51313),m.Inflate=n(86091),m.Intersection=n(53951),m.MarchingAnts=n(14649),m.MergePoints=n(33595),m.MergeRect=n(20074),m.MergeXY=n(92171),m.Offset=n(42981),m.OffsetPoint=n(46907),m.Overlaps=n(60170),m.Perimeter=n(13019),m.PerimeterPoint=n(85133),m.Random=n(26597),m.RandomOutside=n(86470),m.SameDimensions=n(94845),m.Scale=n(31730),m.Union=n(36899),E.exports=m},41658:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){var m=n.x1,S=n.y1,x=n.x2,h=n.y2,d=n.x3,t=n.y3;return Math.abs(((d-m)*(h-S)-(x-m)*(t-S))/2)};E.exports=y},39208:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(16483),S=function(x,h,d){var t=d*(Math.sqrt(3)/2),e=x,l=h,i=x+d/2,s=h+t,r=x-d/2,o=h+t;return new m(e,l,i,s,r,o)};E.exports=S},39545:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(94811),S=n(16483),x=function(h,d,t,e,l){d===void 0&&(d=null),t===void 0&&(t=1),e===void 0&&(e=1),l===void 0&&(l=[]);for(var i=m(h,d),s,r,o,a,u,f,v,c,g,p=0;p{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(16483),S=function(x,h,d,t){t===void 0&&(t=d);var e=x,l=h,i=x,s=h-t,r=x+d,o=h;return new m(e,l,i,s,r,o)};E.exports=S},23707:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(97523),S=n(13584),x=function(h,d,t,e){e===void 0&&(e=m);var l=e(h),i=d-l.x,s=t-l.y;return S(h,i,s)};E.exports=x},97523:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h){return h===void 0&&(h=new m),h.x=(x.x1+x.x2+x.x3)/3,h.y=(x.y1+x.y2+x.y3)/3,h};E.exports=S},24951:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099);function S(h,d,t,e){return h*e-d*t}var x=function(h,d){d===void 0&&(d=new m);var t=h.x3,e=h.y3,l=h.x1-t,i=h.y1-e,s=h.x2-t,r=h.y2-e,o=2*S(l,i,s,r),a=S(i,l*l+i*i,r,s*s+r*r),u=S(l,l*l+i*i,s,s*s+r*r);return d.x=t-a/o,d.y=e+u/o,d};E.exports=x},85614:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(96503),S=function(x,h){h===void 0&&(h=new m);var d=x.x1,t=x.y1,e=x.x2,l=x.y2,i=x.x3,s=x.y3,r=e-d,o=l-t,a=i-d,u=s-t,f=r*(d+e)+o*(t+l),v=a*(d+i)+u*(t+s),c=2*(r*(s-l)-o*(i-e)),g,p;if(Math.abs(c)<1e-6){var T=Math.min(d,e,i),C=Math.min(t,l,s);g=(Math.max(d,e,i)-T)*.5,p=(Math.max(t,l,s)-C)*.5,h.x=T+g,h.y=C+p,h.radius=Math.sqrt(g*g+p*p)}else h.x=(u*f-o*v)/c,h.y=(r*v-a*f)/c,g=h.x-d,p=h.y-t,h.radius=Math.sqrt(g*g+p*p);return h};E.exports=S},74422:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(16483),S=function(x){return new m(x.x1,x.y1,x.x2,x.y2,x.x3,x.y3)};E.exports=S},10690:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){var x=n.x3-n.x1,h=n.y3-n.y1,d=n.x2-n.x1,t=n.y2-n.y1,e=m-n.x1,l=S-n.y1,i=x*x+h*h,s=x*d+h*t,r=x*e+h*l,o=d*d+t*t,a=d*e+t*l,u=i*o-s*s,f=u===0?0:1/u,v=(o*r-s*a)*f,c=(i*a-s*r)*f;return v>=0&&c>=0&&v+c<1};E.exports=y},48653:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){S===void 0&&(S=!1),x===void 0&&(x=[]);for(var h=n.x3-n.x1,d=n.y3-n.y1,t=n.x2-n.x1,e=n.y2-n.y1,l=h*h+d*d,i=h*t+d*e,s=t*t+e*e,r=l*s-i*i,o=r===0?0:1/r,a,u,f,v,c,g,p=n.x1,T=n.y1,C=0;C=0&&u>=0&&a+u<1&&(x.push({x:m[C].x,y:m[C].y}),S)));C++);return x};E.exports=y},96006:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(10690),S=function(x,h){return m(x,h.x,h.y)};E.exports=S},71326:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m.setTo(n.x1,n.y1,n.x2,n.y2,n.x3,n.y3)};E.exports=y},71694:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m===void 0&&(m=[]),m.push({x:n.x1,y:n.y1}),m.push({x:n.x2,y:n.y2}),m.push({x:n.x3,y:n.y3}),m};E.exports=y},33522:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.x1===m.x1&&n.y1===m.y1&&n.x2===m.x2&&n.y2===m.y2&&n.x3===m.x3&&n.y3===m.y3};E.exports=y},20437:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=n(35001),x=function(h,d,t){t===void 0&&(t=new m);var e=h.getLineA(),l=h.getLineB(),i=h.getLineC();if(d<=0||d>=1)return t.x=e.x1,t.y=e.y1,t;var s=S(e),r=S(l),o=S(i),a=s+r+o,u=a*d,f=0;return us+r?(u-=s+r,f=u/o,t.x=i.x1+(i.x2-i.x1)*f,t.y=i.y1+(i.y2-i.y1)*f):(u-=s,f=u/r,t.x=l.x1+(l.x2-l.x1)*f,t.y=l.y1+(l.y2-l.y1)*f),t};E.exports=x},80672:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(35001),S=n(26099),x=function(h,d,t,e){e===void 0&&(e=[]);var l=h.getLineA(),i=h.getLineB(),s=h.getLineC(),r=m(l),o=m(i),a=m(s),u=r+o+a;!d&&t>0&&(d=u/t);for(var f=0;fr+o?(v-=r+o,c=v/a,g.x=s.x1+(s.x2-s.x1)*c,g.y=s.y1+(s.y2-s.y1)*c):(v-=r,c=v/o,g.x=i.x1+(i.x2-i.x1)*c,g.y=i.y1+(i.y2-i.y1)*c),e.push(g)}return e};E.exports=x},39757:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099);function S(h,d,t,e){var l=h-t,i=d-e,s=l*l+i*i;return Math.sqrt(s)}var x=function(h,d){d===void 0&&(d=new m);var t=h.x1,e=h.y1,l=h.x2,i=h.y2,s=h.x3,r=h.y3,o=S(s,r,l,i),a=S(t,e,s,r),u=S(l,i,t,e),f=o+a+u;return d.x=(t*o+l*a+s*u)/f,d.y=(e*o+i*a+r*u)/f,d};E.exports=x},13584:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return n.x1+=m,n.y1+=S,n.x2+=m,n.y2+=S,n.x3+=m,n.y3+=S,n};E.exports=y},1376:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(35001),S=function(x){var h=x.getLineA(),d=x.getLineB(),t=x.getLineC();return m(h)+m(d)+m(t)};E.exports=S},90260:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h){h===void 0&&(h=new m);var d=x.x2-x.x1,t=x.y2-x.y1,e=x.x3-x.x1,l=x.y3-x.y1,i=Math.random(),s=Math.random();return i+s>=1&&(i=1-i,s=1-s),h.x=x.x1+(d*i+e*s),h.y=x.y1+(t*i+l*s),h};E.exports=S},52172:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(99614),S=n(39757),x=function(h,d){var t=S(h);return m(h,t.x,t.y,d)};E.exports=x},49907:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(99614),S=function(x,h,d){return m(x,h.x,h.y,d)};E.exports=S},99614:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){var h=Math.cos(x),d=Math.sin(x),t=n.x1-m,e=n.y1-S;return n.x1=t*h-e*d+m,n.y1=t*d+e*h+S,t=n.x2-m,e=n.y2-S,n.x2=t*h-e*d+m,n.y2=t*d+e*h+S,t=n.x3-m,e=n.y3-S,n.x3=t*h-e*d+m,n.y3=t*d+e*h+S,n};E.exports=y},16483:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(10690),x=n(20437),h=n(80672),d=n(23777),t=n(23031),e=n(90260),l=new m({initialize:function(s,r,o,a,u,f){s===void 0&&(s=0),r===void 0&&(r=0),o===void 0&&(o=0),a===void 0&&(a=0),u===void 0&&(u=0),f===void 0&&(f=0),this.type=d.TRIANGLE,this.x1=s,this.y1=r,this.x2=o,this.y2=a,this.x3=u,this.y3=f},contains:function(i,s){return S(this,i,s)},getPoint:function(i,s){return x(this,i,s)},getPoints:function(i,s,r){return h(this,i,s,r)},getRandomPoint:function(i){return e(this,i)},setTo:function(i,s,r,o,a,u){return i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r=0),o===void 0&&(o=0),a===void 0&&(a=0),u===void 0&&(u=0),this.x1=i,this.y1=s,this.x2=r,this.y2=o,this.x3=a,this.y3=u,this},getLineA:function(i){return i===void 0&&(i=new t),i.setTo(this.x1,this.y1,this.x2,this.y2),i},getLineB:function(i){return i===void 0&&(i=new t),i.setTo(this.x2,this.y2,this.x3,this.y3),i},getLineC:function(i){return i===void 0&&(i=new t),i.setTo(this.x3,this.y3,this.x1,this.y1),i},left:{get:function(){return Math.min(this.x1,this.x2,this.x3)},set:function(i){var s=0;this.x1<=this.x2&&this.x1<=this.x3?s=this.x1-i:this.x2<=this.x1&&this.x2<=this.x3?s=this.x2-i:s=this.x3-i,this.x1-=s,this.x2-=s,this.x3-=s}},right:{get:function(){return Math.max(this.x1,this.x2,this.x3)},set:function(i){var s=0;this.x1>=this.x2&&this.x1>=this.x3?s=this.x1-i:this.x2>=this.x1&&this.x2>=this.x3?s=this.x2-i:s=this.x3-i,this.x1-=s,this.x2-=s,this.x3-=s}},top:{get:function(){return Math.min(this.y1,this.y2,this.y3)},set:function(i){var s=0;this.y1<=this.y2&&this.y1<=this.y3?s=this.y1-i:this.y2<=this.y1&&this.y2<=this.y3?s=this.y2-i:s=this.y3-i,this.y1-=s,this.y2-=s,this.y3-=s}},bottom:{get:function(){return Math.max(this.y1,this.y2,this.y3)},set:function(i){var s=0;this.y1>=this.y2&&this.y1>=this.y3?s=this.y1-i:this.y2>=this.y1&&this.y2>=this.y3?s=this.y2-i:s=this.y3-i,this.y1-=s,this.y2-=s,this.y3-=s}}});E.exports=l},84435:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(16483);m.Area=n(41658),m.BuildEquilateral=n(39208),m.BuildFromPolygon=n(39545),m.BuildRight=n(90301),m.CenterOn=n(23707),m.Centroid=n(97523),m.CircumCenter=n(24951),m.CircumCircle=n(85614),m.Clone=n(74422),m.Contains=n(10690),m.ContainsArray=n(48653),m.ContainsPoint=n(96006),m.CopyFrom=n(71326),m.Decompose=n(71694),m.Equals=n(33522),m.GetPoint=n(20437),m.GetPoints=n(80672),m.InCenter=n(39757),m.Perimeter=n(1376),m.Offset=n(13584),m.Random=n(90260),m.Rotate=n(52172),m.RotateAroundPoint=n(49907),m.RotateAroundXY=n(99614),E.exports=m},74457:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return{gameObject:n,enabled:!0,draggable:!1,dropZone:!1,cursor:!1,target:null,camera:null,hitArea:m,hitAreaCallback:S,hitAreaDebug:null,customHitArea:!1,localX:0,localY:0,dragState:0,dragStartX:0,dragStartY:0,dragStartXGlobal:0,dragStartYGlobal:0,dragStartCamera:null,dragX:0,dragY:0}};E.exports=y},84409:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return function(S,x,h,d){var t=n.getPixelAlpha(x,h,d.texture.key,d.frame.name);return t&&t>=m}};E.exports=y},7003:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(93301),x=n(50792),h=n(8214),d=n(8443),t=n(78970),e=n(85098),l=n(42515),i=n(36210),s=n(61340),r=n(85955),o=new m({initialize:function(u,f){this.game=u,this.scaleManager,this.canvas,this.config=f,this.enabled=!0,this.events=new x,this.isOver=!0,this.defaultCursor="",this.keyboard=f.inputKeyboard?new t(this):null,this.mouse=f.inputMouse?new e(this):null,this.touch=f.inputTouch?new i(this):null,this.pointers=[],this.pointersTotal=f.inputActivePointers;for(var v=0;v<=this.pointersTotal;v++){var c=new l(this,v);c.smoothFactor=f.inputSmoothFactor,this.pointers.push(c)}this.mousePointer=f.inputMouse?this.pointers[0]:null,this.activePointer=this.pointers[0],this.globalTopOnly=!0,this.time=0,this._tempPoint={x:0,y:0},this._tempHitTest=[],this._tempMatrix=new s,this._tempMatrix2=new s,this._tempSkip=!1,this.mousePointerContainer=[this.mousePointer],u.events.once(d.BOOT,this.boot,this)},boot:function(){var a=this.game,u=a.events;this.canvas=a.canvas,this.scaleManager=a.scale,this.events.emit(h.MANAGER_BOOT),u.on(d.PRE_RENDER,this.preRender,this),u.once(d.DESTROY,this.destroy,this)},setCanvasOver:function(a){this.isOver=!0,this.events.emit(h.GAME_OVER,a)},setCanvasOut:function(a){this.isOver=!1,this.events.emit(h.GAME_OUT,a)},preRender:function(){var a=this.game.loop.now,u=this.game.loop.delta,f=this.game.scene.getScenes(!0,!0);this.time=a,this.events.emit(h.MANAGER_UPDATE);for(var v=0;v10&&(a=10-this.pointersTotal);for(var f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(96503),S=n(87902),x=n(83419),h=n(93301),d=n(74457),t=n(84409),e=n(20339),l=n(8497),i=n(81154),s=n(8214),r=n(50792),o=n(95540),a=n(23777),u=n(89639),f=n(41212),v=n(37277),c=n(87841),g=n(37303),p=n(44594),T=n(16483),C=n(10690),M=new x({Extends:r,initialize:function(R){r.call(this),this.scene=R,this.systems=R.sys,this.settings=R.sys.settings,this.manager=R.sys.game.input,this.pluginEvents=new r,this.enabled=!0,this.displayList,this.cameras,u.install(this),this.mouse=this.manager.mouse,this.topOnly=!0,this.pollRate=-1,this._pollTimer=0;var P={cancelled:!1};this._eventContainer={stopPropagation:function(){P.cancelled=!0}},this._eventData=P,this.dragDistanceThreshold=0,this.dragTimeThreshold=0,this._temp=[],this._tempZones=[],this._list=[],this._pendingInsertion=[],this._pendingRemoval=[],this._draggable=[],this._drag={0:[],1:[],2:[],3:[],4:[],5:[],6:[],7:[],8:[],9:[],10:[]},this._dragState=[],this._over={0:[],1:[],2:[],3:[],4:[],5:[],6:[],7:[],8:[],9:[],10:[]},this._validTypes=["onDown","onUp","onOver","onOut","onMove","onDragStart","onDrag","onDragEnd","onDragEnter","onDragLeave","onDragOver","onDrop"],this._updatedThisFrame=!1,R.sys.events.once(p.BOOT,this.boot,this),R.sys.events.on(p.START,this.start,this)},boot:function(){this.cameras=this.systems.cameras,this.displayList=this.systems.displayList,this.systems.events.once(p.DESTROY,this.destroy,this),this.pluginEvents.emit(s.BOOT)},start:function(){var A=this.systems.events;A.on(p.TRANSITION_START,this.transitionIn,this),A.on(p.TRANSITION_OUT,this.transitionOut,this),A.on(p.TRANSITION_COMPLETE,this.transitionComplete,this),A.on(p.PRE_UPDATE,this.preUpdate,this),A.once(p.SHUTDOWN,this.shutdown,this),this.manager.events.on(s.GAME_OUT,this.onGameOut,this),this.manager.events.on(s.GAME_OVER,this.onGameOver,this),this.enabled=!0,this._dragState=[0,0,0,0,0,0,0,0,0,0],this.pluginEvents.emit(s.START)},onGameOver:function(A){this.isActive()&&this.emit(s.GAME_OVER,A.timeStamp,A)},onGameOut:function(A){this.isActive()&&this.emit(s.GAME_OUT,A.timeStamp,A)},preUpdate:function(){this.pluginEvents.emit(s.PRE_UPDATE);var A=this._pendingRemoval,R=this._pendingInsertion,P=A.length,L=R.length;if(!(P===0&&L===0)){for(var F=this._list,w=0;w-1&&(F.splice(B,1),this.clear(O,!0))}this._pendingRemoval.length=0,this._list=F.concat(R.splice(0))}},isActive:function(){return this.manager&&this.manager.enabled&&this.enabled&&this.scene.sys.canInput()},setCursor:function(A){this.manager&&this.manager.setCursor(A)},resetCursor:function(){this.manager&&this.manager.resetCursor(null,!0)},updatePoll:function(A,R){if(!this.isActive())return!1;if(this.pluginEvents.emit(s.UPDATE,A,R),this._updatedThisFrame)return this._updatedThisFrame=!1,!1;var P,L=this.manager,F=L.pointers;for(P=0;P0)if(this._pollTimer-=R,this._pollTimer<0)this._pollTimer=this.pollRate;else return!1;var O=!1;for(P=0;P0&&(O=!0)}return O},update:function(A,R){if(!this.isActive())return!1;for(var P=!1,L=0;L0&&(P=!0)}return this._updatedThisFrame=!0,P},clear:function(A,R){R===void 0&&(R=!1),this.disable(A);var P=A.input;P&&(this.removeDebug(A),this.manager.resetCursor(P),P.gameObject=void 0,P.target=void 0,P.hitArea=void 0,P.hitAreaCallback=void 0,P.callbackContext=void 0,A.input=null),R||this.queueForRemoval(A);var L=this._draggable.indexOf(A);return L>-1&&this._draggable.splice(L,1),A},disable:function(A,R){R===void 0&&(R=!1);var P=A.input;P&&(P.enabled=!1,P.dragState=0);for(var L=this._drag,F=this._over,w=this.manager,O=0,B;O-1&&L[O].splice(B,1),B=F[O].indexOf(A),B>-1&&F[O].splice(B,1);return R&&this.resetCursor(),this},enable:function(A,R,P,L){return L===void 0&&(L=!1),A.input?A.input.enabled=!0:this.setHitArea(A,R,P),A.input&&L&&!A.input.dropZone&&(A.input.dropZone=L),this},hitTestPointer:function(A){for(var R=this.cameras.getCamerasBelowPointer(A),P=0;P0)return A.camera=L,F}return A.camera=R[0],[]},processDownEvents:function(A){var R=0,P=this._temp,L=this._eventData,F=this._eventContainer;L.cancelled=!1;for(var w=0;w0&&e(A.x,A.y,A.downX,A.downY)>=F||L>0&&R>=A.downTime+L)&&(P=!0),P)return this.setDragState(A,3),this.processDragStartList(A)},processDragStartList:function(A){if(this.getDragState(A)!==3)return 0;var R=this._drag[A.id];R.length>1&&(R=R.slice(0));for(var P=0;P1&&(this.sortGameObjects(P,A),this.topOnly&&P.splice(1)),this._drag[A.id]=P,this.dragDistanceThreshold===0&&this.dragTimeThreshold===0?(this.setDragState(A,3),this.processDragStartList(A)):(this.setDragState(A,2),0))},processDragMoveEvent:function(A){if(this.getDragState(A)===2&&this.processDragThresholdEvent(A,this.manager.game.loop.now),this.getDragState(A)!==4)return 0;var R=this._tempZones,P=this._drag[A.id];P.length>1&&(P=P.slice(0));for(var L=0;L0?(F.emit(s.GAMEOBJECT_DRAG_LEAVE,A,O),this.emit(s.DRAG_LEAVE,A,F,O),w.target=R[0],O=w.target,F.emit(s.GAMEOBJECT_DRAG_ENTER,A,O),this.emit(s.DRAG_ENTER,A,F,O)):(F.emit(s.GAMEOBJECT_DRAG_LEAVE,A,O),this.emit(s.DRAG_LEAVE,A,F,O),R[0]?(w.target=R[0],O=w.target,F.emit(s.GAMEOBJECT_DRAG_ENTER,A,O),this.emit(s.DRAG_ENTER,A,F,O)):w.target=null)}else!O&&R[0]&&(w.target=R[0],O=w.target,F.emit(s.GAMEOBJECT_DRAG_ENTER,A,O),this.emit(s.DRAG_ENTER,A,F,O));var I,D,N=A.positionToCamera(w.dragStartCamera);if(!F.parentContainer)I=N.x-w.dragX,D=N.y-w.dragY;else{var z=N.x-w.dragStartXGlobal,V=N.y-w.dragStartYGlobal,U=F.getParentRotation(),G=z*Math.cos(U)+V*Math.sin(U),b=V*Math.cos(U)-z*Math.sin(U);G*=1/F.parentContainer.scaleX,b*=1/F.parentContainer.scaleY,I=G+w.dragStartX,D=b+w.dragStartY}F.emit(s.GAMEOBJECT_DRAG,A,I,D),this.emit(s.DRAG,A,F,I,D)}return P.length},processDragUpEvent:function(A){var R=this._drag[A.id];R.length>1&&(R=R.slice(0));for(var P=0;P0){var w=this.manager,O=this._eventData,B=this._eventContainer;O.cancelled=!1;for(var I=0;I0){var F=this.manager,w=this._eventData,O=this._eventContainer;w.cancelled=!1,this.sortGameObjects(R,A);for(var B=0;B0){for(this.sortGameObjects(F,A),P=0;P0){for(this.sortGameObjects(w,A),P=0;P-1&&this._draggable.splice(F,1)}return this},makePixelPerfect:function(A){A===void 0&&(A=1);var R=this.systems.textures;return t(R,A)},setHitArea:function(A,R,P){if(R===void 0)return this.setHitAreaFromTexture(A);Array.isArray(A)||(A=[A]);var L=!1,F=!1,w=!1,O=!1,B=!1,I=!0;if(f(R)&&Object.keys(R).length){var D=R;R=o(D,"hitArea",null),P=o(D,"hitAreaCallback",null),B=o(D,"pixelPerfect",!1);var N=o(D,"alphaTolerance",1);B&&(R={},P=this.makePixelPerfect(N)),L=o(D,"draggable",!1),F=o(D,"dropZone",!1),w=o(D,"cursor",!1),O=o(D,"useHandCursor",!1),(!R||!P)&&(this.setHitAreaFromTexture(A),I=!1)}else typeof R=="function"&&!P&&(P=R,R={});for(var z=0;z{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(35154),S={},x={};x.register=function(h,d,t,e,l){S[h]={plugin:d,mapping:t,settingsKey:e,configKey:l}},x.getPlugin=function(h){return S[h]},x.install=function(h){var d=h.scene.sys,t=d.settings.input,e=d.game.config;for(var l in S){var i=S[l].plugin,s=S[l].mapping,r=S[l].settingsKey,o=S[l].configKey;m(t,r,e[o])&&(h[s]=new i(h))}},x.remove=function(h){S.hasOwnProperty(h)&&delete S[h]},E.exports=x},42515:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(31040),S=n(83419),x=n(20339),h=n(43855),d=n(47235),t=n(26099),e=n(25892),l=new S({initialize:function(s,r){this.manager=s,this.id=r,this.event,this.downElement,this.upElement,this.camera=null,this.button=0,this.buttons=0,this.position=new t,this.prevPosition=new t,this.midPoint=new t(-1,-1),this.velocity=new t,this.angle=0,this.distance=0,this.smoothFactor=0,this.motionFactor=.2,this.worldX=0,this.worldY=0,this.moveTime=0,this.downX=0,this.downY=0,this.downTime=0,this.upX=0,this.upY=0,this.upTime=0,this.primaryDown=!1,this.isDown=!1,this.wasTouch=!1,this.wasCanceled=!1,this.movementX=0,this.movementY=0,this.identifier=0,this.pointerId=null,this.active=r===0,this.locked=!1,this.deltaX=0,this.deltaY=0,this.deltaZ=0},updateWorldPoint:function(i){var s=i.getWorldPoint(this.x,this.y);return this.worldX=s.x,this.worldY=s.y,this},positionToCamera:function(i,s){return i.getWorldPoint(this.x,this.y,s)},updateMotion:function(){var i=this.position.x,s=this.position.y,r=this.midPoint.x,o=this.midPoint.y;if(!(i===r&&s===o)){var a=d(this.motionFactor,r,i),u=d(this.motionFactor,o,s);h(a,i,.1)&&(a=i),h(u,s,.1)&&(u=s),this.midPoint.set(a,u);var f=i-a,v=s-u;this.velocity.set(f,v),this.angle=m(a,u,i,s),this.distance=Math.sqrt(f*f+v*v)}},up:function(i){"buttons"in i&&(this.buttons=i.buttons),this.event=i,this.button=i.button,this.upElement=i.target,this.manager.transformPointer(this,i.pageX,i.pageY,!1),i.button===0&&(this.primaryDown=!1,this.upX=this.x,this.upY=this.y),this.buttons===0&&(this.isDown=!1,this.upTime=i.timeStamp,this.wasTouch=!1)},down:function(i){"buttons"in i&&(this.buttons=i.buttons),this.event=i,this.button=i.button,this.downElement=i.target,this.manager.transformPointer(this,i.pageX,i.pageY,!1),i.button===0&&(this.primaryDown=!0,this.downX=this.x,this.downY=this.y),e.macOS&&i.ctrlKey&&(this.buttons=2,this.primaryDown=!1),this.isDown||(this.isDown=!0,this.downTime=i.timeStamp),this.wasTouch=!1},move:function(i){"buttons"in i&&(this.buttons=i.buttons),this.event=i,this.manager.transformPointer(this,i.pageX,i.pageY,!0),this.locked&&(this.movementX=i.movementX||i.mozMovementX||i.webkitMovementX||0,this.movementY=i.movementY||i.mozMovementY||i.webkitMovementY||0),this.moveTime=i.timeStamp,this.wasTouch=!1},wheel:function(i){"buttons"in i&&(this.buttons=i.buttons),this.event=i,this.manager.transformPointer(this,i.pageX,i.pageY,!1),this.deltaX=i.deltaX,this.deltaY=i.deltaY,this.deltaZ=i.deltaZ,this.wasTouch=!1},touchstart:function(i,s){i.pointerId&&(this.pointerId=i.pointerId),this.identifier=i.identifier,this.target=i.target,this.active=!0,this.buttons=1,this.event=s,this.downElement=i.target,this.manager.transformPointer(this,i.pageX,i.pageY,!1),this.primaryDown=!0,this.downX=this.x,this.downY=this.y,this.downTime=s.timeStamp,this.isDown=!0,this.wasTouch=!0,this.wasCanceled=!1,this.updateMotion()},touchmove:function(i,s){this.event=s,this.manager.transformPointer(this,i.pageX,i.pageY,!0),this.moveTime=s.timeStamp,this.wasTouch=!0,this.updateMotion()},touchend:function(i,s){this.buttons=0,this.event=s,this.upElement=i.target,this.manager.transformPointer(this,i.pageX,i.pageY,!1),this.primaryDown=!1,this.upX=this.x,this.upY=this.y,this.upTime=s.timeStamp,this.isDown=!1,this.wasTouch=!0,this.wasCanceled=!1,this.active=!1,this.updateMotion()},touchcancel:function(i,s){this.buttons=0,this.event=s,this.upElement=i.target,this.manager.transformPointer(this,i.pageX,i.pageY,!1),this.primaryDown=!1,this.upX=this.x,this.upY=this.y,this.upTime=s.timeStamp,this.isDown=!1,this.wasTouch=!0,this.wasCanceled=!0,this.active=!1},noButtonDown:function(){return this.buttons===0},leftButtonDown:function(){return!!(this.buttons&1)},rightButtonDown:function(){return!!(this.buttons&2)},middleButtonDown:function(){return!!(this.buttons&4)},backButtonDown:function(){return!!(this.buttons&8)},forwardButtonDown:function(){return!!(this.buttons&16)},leftButtonReleased:function(){return this.buttons===0?this.button===0&&!this.isDown:this.button===0},rightButtonReleased:function(){return this.buttons===0?this.button===2&&!this.isDown:this.button===2},middleButtonReleased:function(){return this.buttons===0?this.button===1&&!this.isDown:this.button===1},backButtonReleased:function(){return this.buttons===0?this.button===3&&!this.isDown:this.button===3},forwardButtonReleased:function(){return this.buttons===0?this.button===4&&!this.isDown:this.button===4},getDistance:function(){return this.isDown?x(this.downX,this.downY,this.x,this.y):x(this.downX,this.downY,this.upX,this.upY)},getDistanceX:function(){return this.isDown?Math.abs(this.downX-this.x):Math.abs(this.downX-this.upX)},getDistanceY:function(){return this.isDown?Math.abs(this.downY-this.y):Math.abs(this.downY-this.upY)},getDuration:function(){return this.isDown?this.manager.time-this.downTime:this.upTime-this.downTime},getAngle:function(){return this.isDown?m(this.downX,this.downY,this.x,this.y):m(this.downX,this.downY,this.upX,this.upY)},getInterpolatedPosition:function(i,s){i===void 0&&(i=10),s===void 0&&(s=[]);for(var r=this.prevPosition.x,o=this.prevPosition.y,a=this.position.x,u=this.position.y,f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={MOUSE_DOWN:0,MOUSE_MOVE:1,MOUSE_UP:2,TOUCH_START:3,TOUCH_MOVE:4,TOUCH_END:5,POINTER_LOCK_CHANGE:6,TOUCH_CANCEL:7,MOUSE_WHEEL:8};E.exports=y},7179:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="boot"},85375:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="destroy"},39843:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="dragend"},23388:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="dragenter"},16133:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="drag"},27829:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="dragleave"},53904:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="dragover"},56058:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="dragstart"},2642:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="drop"},88171:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="gameobjectdown"},36147:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="dragend"},71692:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="dragenter"},96149:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="drag"},81285:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="dragleave"},74048:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="dragover"},21322:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="dragstart"},49378:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="drop"},86754:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="gameobjectmove"},86433:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="gameobjectout"},60709:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="gameobjectover"},24081:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pointerdown"},11172:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pointermove"},18907:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pointerout"},95579:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pointerover"},35368:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pointerup"},26972:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="wheel"},47078:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="gameobjectup"},73802:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="gameobjectwheel"},56718:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="gameout"},25936:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="gameover"},27503:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="boot"},50852:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="process"},96438:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="update"},59152:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pointerlockchange"},47777:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pointerdown"},27957:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pointerdownoutside"},19444:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pointermove"},54251:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pointerout"},18667:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pointerover"},27192:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pointerup"},24652:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pointerupoutside"},45132:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="wheel"},44512:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="preupdate"},15757:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="shutdown"},41637:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="start"},93802:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="update"},8214:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={BOOT:n(7179),DESTROY:n(85375),DRAG_END:n(39843),DRAG_ENTER:n(23388),DRAG:n(16133),DRAG_LEAVE:n(27829),DRAG_OVER:n(53904),DRAG_START:n(56058),DROP:n(2642),GAME_OUT:n(56718),GAME_OVER:n(25936),GAMEOBJECT_DOWN:n(88171),GAMEOBJECT_DRAG_END:n(36147),GAMEOBJECT_DRAG_ENTER:n(71692),GAMEOBJECT_DRAG:n(96149),GAMEOBJECT_DRAG_LEAVE:n(81285),GAMEOBJECT_DRAG_OVER:n(74048),GAMEOBJECT_DRAG_START:n(21322),GAMEOBJECT_DROP:n(49378),GAMEOBJECT_MOVE:n(86754),GAMEOBJECT_OUT:n(86433),GAMEOBJECT_OVER:n(60709),GAMEOBJECT_POINTER_DOWN:n(24081),GAMEOBJECT_POINTER_MOVE:n(11172),GAMEOBJECT_POINTER_OUT:n(18907),GAMEOBJECT_POINTER_OVER:n(95579),GAMEOBJECT_POINTER_UP:n(35368),GAMEOBJECT_POINTER_WHEEL:n(26972),GAMEOBJECT_UP:n(47078),GAMEOBJECT_WHEEL:n(73802),MANAGER_BOOT:n(27503),MANAGER_PROCESS:n(50852),MANAGER_UPDATE:n(96438),POINTER_DOWN:n(47777),POINTER_DOWN_OUTSIDE:n(27957),POINTER_MOVE:n(19444),POINTER_OUT:n(54251),POINTER_OVER:n(18667),POINTER_UP:n(27192),POINTER_UP_OUTSIDE:n(24652),POINTER_WHEEL:n(45132),POINTERLOCK_CHANGE:n(59152),PRE_UPDATE:n(44512),SHUTDOWN:n(15757),START:n(41637),UPDATE:n(93802)}},97421:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h,d){this.pad=h,this.events=h.events,this.index=d,this.value=0,this.threshold=.1},update:function(x){this.value=x},getValue:function(){return Math.abs(this.value){/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(92734),x=new m({initialize:function(d,t,e){e===void 0&&(e=!1),this.pad=d,this.events=d.manager,this.index=t,this.value=0,this.threshold=1,this.pressed=e},update:function(h){this.value=h;var d=this.pad,t=this.index;h>=this.threshold?this.pressed||(this.pressed=!0,this.events.emit(S.BUTTON_DOWN,d,this,h),this.pad.emit(S.GAMEPAD_BUTTON_DOWN,t,h,this)):this.pressed&&(this.pressed=!1,this.events.emit(S.BUTTON_UP,d,this,h),this.pad.emit(S.GAMEPAD_BUTTON_UP,t,h,this))},destroy:function(){this.pad=null,this.events=null}});E.exports=x},99125:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(97421),S=n(28884),x=n(83419),h=n(50792),d=n(26099),t=new x({Extends:h,initialize:function(l,i){h.call(this),this.manager=l,this.pad=i,this.id=i.id,this.index=i.index;for(var s=[],r=0;r=.5));this.buttons=s;var o=[];for(r=0;r=2&&(this.leftStick.set(o[0].getValue(),o[1].getValue()),r>=4&&this.rightStick.set(o[2].getValue(),o[3].getValue()))}},destroy:function(){this.removeAllListeners(),this.manager=null,this.pad=null;var e;for(e=0;e{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(50792),x=n(92734),h=n(99125),d=n(35154),t=n(89639),e=n(8214),l=new m({Extends:S,initialize:function(s){S.call(this),this.scene=s.scene,this.settings=this.scene.sys.settings,this.sceneInputPlugin=s,this.enabled=!0,this.target,this.gamepads=[],this.queue=[],this.onGamepadHandler,this._pad1,this._pad2,this._pad3,this._pad4,s.pluginEvents.once(e.BOOT,this.boot,this),s.pluginEvents.on(e.START,this.start,this)},boot:function(){var i=this.scene.sys.game,s=this.settings.input,r=i.config;this.enabled=d(s,"gamepad",r.inputGamepad)&&i.device.input.gamepads,this.target=d(s,"gamepad.target",r.inputGamepadEventTarget),this.sceneInputPlugin.pluginEvents.once(e.DESTROY,this.destroy,this)},start:function(){this.enabled&&(this.startListeners(),this.refreshPads()),this.sceneInputPlugin.pluginEvents.once(e.SHUTDOWN,this.shutdown,this)},isActive:function(){return this.enabled&&this.scene.sys.isActive()},startListeners:function(){var i=this,s=this.target,r=function(o){o.defaultPrevented||!i.isActive()||(i.refreshPads(),i.queue.push(o))};this.onGamepadHandler=r,s.addEventListener("gamepadconnected",r,!1),s.addEventListener("gamepaddisconnected",r,!1),this.sceneInputPlugin.pluginEvents.on(e.UPDATE,this.update,this)},stopListeners:function(){this.target.removeEventListener("gamepadconnected",this.onGamepadHandler),this.target.removeEventListener("gamepaddisconnected",this.onGamepadHandler),this.sceneInputPlugin.pluginEvents.off(e.UPDATE,this.update);for(var i=this.gamepads,s=0;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={UP:12,DOWN:13,LEFT:14,RIGHT:15,SELECT:8,START:9,B:0,A:1,Y:2,X:3,LEFT_SHOULDER:4,RIGHT_SHOULDER:5}},65294:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={UP:12,DOWN:13,LEFT:14,RIGHT:15,SHARE:8,OPTIONS:9,PS:16,TOUCHBAR:17,X:0,CIRCLE:1,SQUARE:2,TRIANGLE:3,L1:4,R1:5,L2:6,R2:7,L3:10,R3:11,LEFT_STICK_H:0,LEFT_STICK_V:1,RIGHT_STICK_H:2,RIGHT_STICK_V:3}},90089:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={UP:12,DOWN:13,LEFT:14,RIGHT:15,MENU:16,A:0,B:1,X:2,Y:3,LB:4,RB:5,LT:6,RT:7,BACK:8,START:9,LS:10,RS:11,LEFT_STICK_H:0,LEFT_STICK_V:1,RIGHT_STICK_H:2,RIGHT_STICK_V:3}},64894:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={DUALSHOCK_4:n(65294),SNES_USB:n(89651),XBOX_360:n(90089)}},46008:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="down"},7629:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="up"},42206:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="connected"},86544:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="disconnected"},94784:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="down"},14325:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="up"},92734:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={BUTTON_DOWN:n(46008),BUTTON_UP:n(7629),CONNECTED:n(42206),DISCONNECTED:n(86544),GAMEPAD_BUTTON_DOWN:n(94784),GAMEPAD_BUTTON_UP:n(14325)}},48646:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Axis:n(97421),Button:n(28884),Events:n(92734),Gamepad:n(99125),GamepadPlugin:n(56654),Configs:n(64894)}},14350:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(93301),S=n(79291),x={CreatePixelPerfectHandler:n(84409),CreateInteractiveObject:n(74457),Events:n(8214),Gamepad:n(48646),InputManager:n(7003),InputPlugin:n(48205),InputPluginCache:n(89639),Keyboard:n(51442),Mouse:n(87078),Pointer:n(42515),Touch:n(95618)};x=S(!1,x,m),E.exports=x},78970:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(72905),S=n(83419),x=n(8443),h=n(8214),d=n(46032),t=n(29747),e=new S({initialize:function(i){this.manager=i,this.queue=[],this.preventDefault=!0,this.captures=[],this.enabled=!1,this.target,this.onKeyDown=t,this.onKeyUp=t,i.events.once(h.MANAGER_BOOT,this.boot,this)},boot:function(){var l=this.manager.config;this.enabled=l.inputKeyboard,this.target=l.inputKeyboardEventTarget,this.addCapture(l.inputKeyboardCapture),!this.target&&window&&(this.target=window),this.enabled&&this.target&&this.startListeners(),this.manager.game.events.on(x.POST_STEP,this.postUpdate,this)},startListeners:function(){var l=this;this.onKeyDown=function(s){if(!(s.defaultPrevented||!l.enabled||!l.manager)){l.queue.push(s),l.manager.events.emit(h.MANAGER_PROCESS);var r=s.altKey||s.ctrlKey||s.shiftKey||s.metaKey;l.preventDefault&&!r&&l.captures.indexOf(s.keyCode)>-1&&s.preventDefault()}},this.onKeyUp=function(s){if(!(s.defaultPrevented||!l.enabled||!l.manager)){l.queue.push(s),l.manager.events.emit(h.MANAGER_PROCESS);var r=s.altKey||s.ctrlKey||s.shiftKey||s.metaKey;l.preventDefault&&!r&&l.captures.indexOf(s.keyCode)>-1&&s.preventDefault()}};var i=this.target;i&&(i.addEventListener("keydown",this.onKeyDown,!1),i.addEventListener("keyup",this.onKeyUp,!1),this.enabled=!0)},stopListeners:function(){var l=this.target;l.removeEventListener("keydown",this.onKeyDown,!1),l.removeEventListener("keyup",this.onKeyUp,!1),this.enabled=!1},postUpdate:function(){this.queue=[]},addCapture:function(l){typeof l=="string"&&(l=l.split(",")),Array.isArray(l)||(l=[l]);for(var i=this.captures,s=0;s0},removeCapture:function(l){typeof l=="string"&&(l=l.split(",")),Array.isArray(l)||(l=[l]);for(var i=this.captures,s=0;s0},clearCaptures:function(){this.captures=[],this.preventDefault=!1},destroy:function(){this.stopListeners(),this.clearCaptures(),this.queue=[],this.manager.game.events.off(x.POST_RENDER,this.postUpdate,this),this.target=null,this.enabled=!1,this.manager=null}});E.exports=e},28846:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(50792),x=n(95922),h=n(8443),d=n(35154),t=n(8214),e=n(89639),l=n(30472),i=n(46032),s=n(87960),r=n(74600),o=n(44594),a=n(56583),u=new m({Extends:S,initialize:function(v){S.call(this),this.game=v.systems.game,this.scene=v.scene,this.settings=this.scene.sys.settings,this.sceneInputPlugin=v,this.manager=v.manager.keyboard,this.enabled=!0,this.keys=[],this.combos=[],this.prevCode=null,this.prevTime=0,this.prevType=null,v.pluginEvents.once(t.BOOT,this.boot,this),v.pluginEvents.on(t.START,this.start,this)},boot:function(){var f=this.settings.input;this.enabled=d(f,"keyboard",!0);var v=d(f,"keyboard.capture",null);v&&this.addCaptures(v),this.sceneInputPlugin.pluginEvents.once(t.DESTROY,this.destroy,this)},start:function(){this.sceneInputPlugin.manager.events.on(t.MANAGER_PROCESS,this.update,this),this.sceneInputPlugin.pluginEvents.once(t.SHUTDOWN,this.shutdown,this),this.game.events.on(h.BLUR,this.resetKeys,this),this.scene.sys.events.on(o.PAUSE,this.resetKeys,this),this.scene.sys.events.on(o.SLEEP,this.resetKeys,this)},isActive:function(){return this.enabled&&this.scene.sys.canInput()},addCapture:function(f){return this.manager.addCapture(f),this},removeCapture:function(f){return this.manager.removeCapture(f),this},getCaptures:function(){return this.manager.captures},enableGlobalCapture:function(){return this.manager.preventDefault=!0,this},disableGlobalCapture:function(){return this.manager.preventDefault=!1,this},clearCaptures:function(){return this.manager.clearCaptures(),this},createCursorKeys:function(){return this.addKeys({up:i.UP,down:i.DOWN,left:i.LEFT,right:i.RIGHT,space:i.SPACE,shift:i.SHIFT})},addKeys:function(f,v,c){v===void 0&&(v=!0),c===void 0&&(c=!1);var g={};if(typeof f=="string"){f=f.split(",");for(var p=0;p-1?g[p]=f:g[f.keyCode]=f,v&&this.addCapture(f.keyCode),f.setEmitOnRepeat(c),f}return typeof f=="string"&&(f=i[f.toUpperCase()]),g[f]||(g[f]=new l(this,f),v&&this.addCapture(f),g[f].setEmitOnRepeat(c)),g[f]},removeKey:function(f,v,c){v===void 0&&(v=!1),c===void 0&&(c=!1);var g=this.keys,p;if(f instanceof l){var T=g.indexOf(f);T>-1&&(p=this.keys[T],this.keys[T]=void 0)}else typeof f=="string"&&(f=i[f.toUpperCase()]);return g[f]&&(p=g[f],g[f]=void 0),p&&(p.plugin=null,c&&this.removeCapture(p.keyCode),v&&p.destroy()),this},removeAllKeys:function(f,v){f===void 0&&(f=!1),v===void 0&&(v=!1);for(var c=this.keys,g=0;gf._tick)return f._tick=c,!0}return!1},update:function(){var f=this.manager.queue,v=f.length;if(!(!this.isActive()||v===0))for(var c=this.keys,g=0;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m.timeLastMatched=n.timeStamp,m.index++,m.index===m.size?!0:(m.current=m.keyCodes[m.index],!1)};E.exports=y},87960:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(95922),x=n(95540),h=n(68769),d=n(92803),t=new m({initialize:function(l,i,s){if(s===void 0&&(s={}),i.length<2)return!1;this.manager=l,this.enabled=!0,this.keyCodes=[];for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(66970),S=function(x,h){if(h.matched)return!0;var d=!1,t=!1;if(x.keyCode===h.current)if(h.index>0&&h.maxKeyDelay>0){var e=h.timeLastMatched+h.maxKeyDelay;x.timeStamp<=e&&(t=!0,d=m(x,h))}else t=!0,d=m(x,h);return!t&&h.resetOnWrongKey&&(h.index=0,h.current=h.keyCodes[0]),d&&(h.timeLastMatched=x.timeStamp,h.matched=!0,h.timeMatched=x.timeStamp),d};E.exports=S},92803:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.current=n.keyCodes[0],n.index=0,n.timeLastMatched=0,n.matched=!1,n.timeMatched=0,n};E.exports=y},92612:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="keydown"},23345:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="keyup"},21957:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="keycombomatch"},44743:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="down"},3771:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="keydown-"},46358:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="keyup-"},75674:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="up"},95922:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={ANY_KEY_DOWN:n(92612),ANY_KEY_UP:n(23345),COMBO_MATCH:n(21957),DOWN:n(44743),KEY_DOWN:n(3771),KEY_UP:n(46358),UP:n(75674)}},51442:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Events:n(95922),KeyboardManager:n(78970),KeyboardPlugin:n(28846),Key:n(30472),KeyCodes:n(46032),KeyCombo:n(87960),AdvanceKeyCombo:n(66970),ProcessKeyCombo:n(68769),ResetKeyCombo:n(92803),JustDown:n(90229),JustUp:n(38796),DownDuration:n(37015),UpDuration:n(41170)}},37015:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){m===void 0&&(m=50);var S=n.plugin.game.loop.time-n.timeDown;return n.isDown&&S{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n._justDown?(n._justDown=!1,!0):!1};E.exports=y},38796:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n._justUp?(n._justUp=!1,!0):!1};E.exports=y},30472:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(50792),x=n(95922),h=new m({Extends:S,initialize:function(t,e){S.call(this),this.plugin=t,this.keyCode=e,this.originalEvent=void 0,this.enabled=!0,this.isDown=!1,this.isUp=!0,this.altKey=!1,this.ctrlKey=!1,this.shiftKey=!1,this.metaKey=!1,this.location=0,this.timeDown=0,this.duration=0,this.timeUp=0,this.emitOnRepeat=!1,this.repeats=0,this._justDown=!1,this._justUp=!1,this._tick=-1},setEmitOnRepeat:function(d){return this.emitOnRepeat=d,this},onDown:function(d){this.originalEvent=d,this.enabled&&(this.altKey=d.altKey,this.ctrlKey=d.ctrlKey,this.shiftKey=d.shiftKey,this.metaKey=d.metaKey,this.location=d.location,this.repeats++,this.isDown?this.emitOnRepeat&&this.emit(x.DOWN,this,d):(this.isDown=!0,this.isUp=!1,this.timeDown=d.timeStamp,this.duration=0,this._justDown=!0,this._justUp=!1,this.emit(x.DOWN,this,d)))},onUp:function(d){this.originalEvent=d,this.enabled&&(this.isDown=!1,this.isUp=!0,this.timeUp=d.timeStamp,this.duration=this.timeUp-this.timeDown,this.repeats=0,this._justDown=!1,this._justUp=!0,this._tick=-1,this.emit(x.UP,this,d))},reset:function(){return this.isDown=!1,this.isUp=!0,this.altKey=!1,this.ctrlKey=!1,this.shiftKey=!1,this.metaKey=!1,this.timeDown=0,this.duration=0,this.timeUp=0,this.repeats=0,this._justDown=!1,this._justUp=!1,this._tick=-1,this},getDuration:function(){return this.isDown?this.plugin.game.loop.time-this.timeDown:0},destroy:function(){this.removeAllListeners(),this.originalEvent=null,this.plugin=null}});E.exports=h},46032:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:42,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,NUMPAD_ZERO:96,NUMPAD_ONE:97,NUMPAD_TWO:98,NUMPAD_THREE:99,NUMPAD_FOUR:100,NUMPAD_FIVE:101,NUMPAD_SIX:102,NUMPAD_SEVEN:103,NUMPAD_EIGHT:104,NUMPAD_NINE:105,NUMPAD_ADD:107,NUMPAD_SUBTRACT:109,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,SEMICOLON:186,PLUS:187,COMMA:188,MINUS:189,PERIOD:190,FORWARD_SLASH:191,BACK_SLASH:220,QUOTES:222,BACKTICK:192,OPEN_BRACKET:219,CLOSED_BRACKET:221,SEMICOLON_FIREFOX:59,COLON:58,COMMA_FIREFOX_WINDOWS:60,COMMA_FIREFOX:62,BRACKET_RIGHT_FIREFOX:174,BRACKET_LEFT_FIREFOX:175};E.exports=y},74600:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(46032),S={};for(var x in m)S[m[x]]=x;E.exports=S},41170:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){m===void 0&&(m=50);var S=n.plugin.game.loop.time-n.timeUp;return n.isUp&&S{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(89357),x=n(8214),h=n(29747),d=new m({initialize:function(e){this.manager=e,this.preventDefaultDown=!0,this.preventDefaultUp=!0,this.preventDefaultMove=!0,this.preventDefaultWheel=!1,this.enabled=!1,this.target,this.locked=!1,this.onMouseMove=h,this.onMouseDown=h,this.onMouseUp=h,this.onMouseDownWindow=h,this.onMouseUpWindow=h,this.onMouseOver=h,this.onMouseOut=h,this.onMouseWheel=h,this.pointerLockChange=h,this.isTop=!0,e.events.once(x.MANAGER_BOOT,this.boot,this)},boot:function(){var t=this.manager.config;this.enabled=t.inputMouse,this.target=t.inputMouseEventTarget,this.passive=t.inputMousePassive,this.preventDefaultDown=t.inputMousePreventDefaultDown,this.preventDefaultUp=t.inputMousePreventDefaultUp,this.preventDefaultMove=t.inputMousePreventDefaultMove,this.preventDefaultWheel=t.inputMousePreventDefaultWheel,this.target?typeof this.target=="string"&&(this.target=document.getElementById(this.target)):this.target=this.manager.game.canvas,t.disableContextMenu&&this.disableContextMenu(),this.enabled&&this.target&&this.startListeners()},disableContextMenu:function(){return this.target.addEventListener("contextmenu",function(t){return t.preventDefault(),!1}),this},requestPointerLock:function(){if(S.pointerLock){var t=this.target;t.requestPointerLock=t.requestPointerLock||t.mozRequestPointerLock||t.webkitRequestPointerLock,t.requestPointerLock()}},releasePointerLock:function(){S.pointerLock&&(document.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock,document.exitPointerLock())},startListeners:function(){var t=this.target;if(t){var e=this,l=this.manager,i=l.canvas,s=window&&window.focus&&l.game.config.autoFocus;this.onMouseMove=function(o){!o.defaultPrevented&&e.enabled&&l&&l.enabled&&(l.onMouseMove(o),e.preventDefaultMove&&o.preventDefault())},this.onMouseDown=function(o){s&&window.focus(),!o.defaultPrevented&&e.enabled&&l&&l.enabled&&(l.onMouseDown(o),e.preventDefaultDown&&o.target===i&&o.preventDefault())},this.onMouseDownWindow=function(o){o.sourceCapabilities&&o.sourceCapabilities.firesTouchEvents||!o.defaultPrevented&&e.enabled&&l&&l.enabled&&o.target!==i&&l.onMouseDown(o)},this.onMouseUp=function(o){!o.defaultPrevented&&e.enabled&&l&&l.enabled&&(l.onMouseUp(o),e.preventDefaultUp&&o.target===i&&o.preventDefault())},this.onMouseUpWindow=function(o){o.sourceCapabilities&&o.sourceCapabilities.firesTouchEvents||!o.defaultPrevented&&e.enabled&&l&&l.enabled&&o.target!==i&&l.onMouseUp(o)},this.onMouseOver=function(o){!o.defaultPrevented&&e.enabled&&l&&l.enabled&&l.setCanvasOver(o)},this.onMouseOut=function(o){!o.defaultPrevented&&e.enabled&&l&&l.enabled&&l.setCanvasOut(o)},this.onMouseWheel=function(o){!o.defaultPrevented&&e.enabled&&l&&l.enabled&&l.onMouseWheel(o),e.preventDefaultWheel&&o.target===i&&o.preventDefault()};var r={passive:!0};if(t.addEventListener("mousemove",this.onMouseMove),t.addEventListener("mousedown",this.onMouseDown),t.addEventListener("mouseup",this.onMouseUp),t.addEventListener("mouseover",this.onMouseOver,r),t.addEventListener("mouseout",this.onMouseOut,r),this.preventDefaultWheel?t.addEventListener("wheel",this.onMouseWheel,{passive:!1}):t.addEventListener("wheel",this.onMouseWheel,r),window&&l.game.config.inputWindowEvents)try{window.top.addEventListener("mousedown",this.onMouseDownWindow,r),window.top.addEventListener("mouseup",this.onMouseUpWindow,r)}catch{window.addEventListener("mousedown",this.onMouseDownWindow,r),window.addEventListener("mouseup",this.onMouseUpWindow,r),this.isTop=!1}S.pointerLock&&(this.pointerLockChange=function(o){var a=e.target;e.locked=document.pointerLockElement===a||document.mozPointerLockElement===a||document.webkitPointerLockElement===a,l.onPointerLockChange(o)},document.addEventListener("pointerlockchange",this.pointerLockChange,!0),document.addEventListener("mozpointerlockchange",this.pointerLockChange,!0),document.addEventListener("webkitpointerlockchange",this.pointerLockChange,!0)),this.enabled=!0}},stopListeners:function(){var t=this.target;t.removeEventListener("mousemove",this.onMouseMove),t.removeEventListener("mousedown",this.onMouseDown),t.removeEventListener("mouseup",this.onMouseUp),t.removeEventListener("mouseover",this.onMouseOver),t.removeEventListener("mouseout",this.onMouseOut),window&&(t=this.isTop?window.top:window,t.removeEventListener("mousedown",this.onMouseDownWindow),t.removeEventListener("mouseup",this.onMouseUpWindow)),S.pointerLock&&(document.removeEventListener("pointerlockchange",this.pointerLockChange,!0),document.removeEventListener("mozpointerlockchange",this.pointerLockChange,!0),document.removeEventListener("webkitpointerlockchange",this.pointerLockChange,!0))},destroy:function(){this.stopListeners(),this.target=null,this.enabled=!1,this.manager=null}});E.exports=d},87078:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={MouseManager:n(85098)}},36210:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(8214),x=n(29747),h=new m({initialize:function(t){this.manager=t,this.capture=!0,this.enabled=!1,this.target,this.onTouchStart=x,this.onTouchStartWindow=x,this.onTouchMove=x,this.onTouchEnd=x,this.onTouchEndWindow=x,this.onTouchCancel=x,this.onTouchCancelWindow=x,this.isTop=!0,t.events.once(S.MANAGER_BOOT,this.boot,this)},boot:function(){var d=this.manager.config;this.enabled=d.inputTouch,this.target=d.inputTouchEventTarget,this.capture=d.inputTouchCapture,this.target?typeof this.target=="string"&&(this.target=document.getElementById(this.target)):this.target=this.manager.game.canvas,d.disableContextMenu&&this.disableContextMenu(),this.enabled&&this.target&&this.startListeners()},disableContextMenu:function(){return this.target.addEventListener("contextmenu",function(d){return d.preventDefault(),!1}),this},startListeners:function(){var d=this.target;if(d){var t=this,e=this.manager,l=e.canvas,i=window&&window.focus&&e.game.config.autoFocus;this.onTouchMove=function(a){!a.defaultPrevented&&t.enabled&&e&&e.enabled&&(e.onTouchMove(a),t.capture&&a.cancelable&&a.preventDefault())},this.onTouchStart=function(a){i&&window.focus(),!a.defaultPrevented&&t.enabled&&e&&e.enabled&&(e.onTouchStart(a),t.capture&&a.cancelable&&a.target===l&&a.preventDefault())},this.onTouchStartWindow=function(a){!a.defaultPrevented&&t.enabled&&e&&e.enabled&&a.target!==l&&e.onTouchStart(a)},this.onTouchEnd=function(a){!a.defaultPrevented&&t.enabled&&e&&e.enabled&&(e.onTouchEnd(a),t.capture&&a.cancelable&&a.target===l&&a.preventDefault())},this.onTouchEndWindow=function(a){!a.defaultPrevented&&t.enabled&&e&&e.enabled&&a.target!==l&&e.onTouchEnd(a)},this.onTouchCancel=function(a){!a.defaultPrevented&&t.enabled&&e&&e.enabled&&(e.onTouchCancel(a),t.capture&&a.preventDefault())},this.onTouchCancelWindow=function(a){!a.defaultPrevented&&t.enabled&&e&&e.enabled&&e.onTouchCancel(a)};var s=this.capture,r={passive:!0},o={passive:!1};if(d.addEventListener("touchstart",this.onTouchStart,s?o:r),d.addEventListener("touchmove",this.onTouchMove,s?o:r),d.addEventListener("touchend",this.onTouchEnd,s?o:r),d.addEventListener("touchcancel",this.onTouchCancel,s?o:r),window&&e.game.config.inputWindowEvents)try{window.top.addEventListener("touchstart",this.onTouchStartWindow,o),window.top.addEventListener("touchend",this.onTouchEndWindow,o),window.top.addEventListener("touchcancel",this.onTouchCancelWindow,o)}catch{window.addEventListener("touchstart",this.onTouchStartWindow,o),window.addEventListener("touchend",this.onTouchEndWindow,o),window.addEventListener("touchcancel",this.onTouchCancelWindow,o),this.isTop=!1}this.enabled=!0}},stopListeners:function(){var d=this.target;d.removeEventListener("touchstart",this.onTouchStart),d.removeEventListener("touchmove",this.onTouchMove),d.removeEventListener("touchend",this.onTouchEnd),d.removeEventListener("touchcancel",this.onTouchCancel),window&&(d=this.isTop?window.top:window,d.removeEventListener("touchstart",this.onTouchStartWindow),d.removeEventListener("touchend",this.onTouchEndWindow),d.removeEventListener("touchcancel",this.onTouchCancelWindow))},destroy:function(){this.stopListeners(),this.target=null,this.enabled=!1,this.manager=null}});E.exports=h},95618:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={TouchManager:n(36210)}},41299:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(54899),h=n(95540),d=n(98356),t=n(3374),e=n(84376),l=n(92638),i=new m({initialize:function(r,o){if(this.loader=r,this.cache=h(o,"cache",!1),this.type=h(o,"type",!1),!this.type)throw new Error("Invalid File type: "+this.type);this.key=h(o,"key",!1);var a=this.key;if(r.prefix&&r.prefix!==""&&(this.key=r.prefix+a),!this.key)throw new Error("Invalid File key: "+this.key);var u=h(o,"url");u===void 0?u=r.path+a+"."+h(o,"extension",""):typeof u=="string"&&!u.match(/^(?:blob:|data:|capacitor:\/\/|http:\/\/|https:\/\/|\/\/)/)&&(u=r.path+u),this.url=u,this.src="",this.xhrSettings=l(h(o,"responseType",void 0)),h(o,"xhrSettings",!1)&&(this.xhrSettings=t(this.xhrSettings,h(o,"xhrSettings",{}))),this.xhrLoader=null,this.state=typeof this.url=="function"?S.FILE_POPULATED:S.FILE_PENDING,this.bytesTotal=0,this.bytesLoaded=-1,this.percentComplete=-1,this.crossOrigin=void 0,this.data=void 0,this.config=h(o,"config",{}),this.multiFile,this.linkFile,this.base64=typeof u=="string"&&u.indexOf("data:")===0,this.retryAttempts=h(o,"maxRetries",r.maxRetries)},setLink:function(s){this.linkFile=s,s.linkFile=this},resetXHR:function(){this.xhrLoader&&(this.xhrLoader.onload=void 0,this.xhrLoader.onerror=void 0,this.xhrLoader.onprogress=void 0)},load:function(){if(this.state===S.FILE_POPULATED)this.loader.nextFile(this,!0);else{if(this.state=S.FILE_LOADING,this.src=d(this,this.loader.baseURL),!this.src)throw new Error("URL Error in File: "+this.key+" from: "+this.url);this.src.indexOf("data:")===0&&(this.base64=!0),this.xhrLoader=e(this,this.loader.xhr)}},onLoad:function(s,r){var o=s.responseURL&&this.loader.localSchemes.some(function(f){return s.responseURL.indexOf(f)===0}),a=o&&r.target.status===0,u=!(r.target&&r.target.status!==200)||a;s.readyState===4&&s.status>=400&&s.status<=599&&(u=!1),this.state=S.FILE_LOADED,this.resetXHR(),this.loader.nextFile(this,u)},onBase64Load:function(s){this.xhrLoader=s,this.state=S.FILE_LOADED,this.percentComplete=1,this.loader.emit(x.FILE_PROGRESS,this,this.percentComplete),this.loader.nextFile(this,!0)},onError:function(){this.resetXHR(),this.retryAttempts>0?(this.retryAttempts--,this.load()):this.loader.nextFile(this,!1)},onProgress:function(s){s.lengthComputable&&(this.bytesLoaded=s.loaded,this.bytesTotal=s.total,this.percentComplete=Math.min(this.bytesLoaded/this.bytesTotal,1),this.loader.emit(x.FILE_PROGRESS,this,this.percentComplete))},onProcess:function(){this.state=S.FILE_PROCESSING,this.onProcessComplete()},onProcessComplete:function(){this.state=S.FILE_COMPLETE,this.multiFile&&this.multiFile.onFileComplete(this),this.loader.fileProcessComplete(this)},onProcessError:function(){console.error('Failed to process file: %s "%s"',this.type,this.key),this.state=S.FILE_ERRORED,this.multiFile&&this.multiFile.onFileFailed(this),this.loader.fileProcessComplete(this)},hasCacheConflict:function(){return this.cache&&this.cache.exists(this.key)},addToCache:function(){this.cache&&this.data&&this.cache.add(this.key,this.data)},pendingDestroy:function(s){if(this.state!==S.FILE_PENDING_DESTROY){s===void 0&&(s=this.data);var r=this.key,o=this.type;this.loader.emit(x.FILE_COMPLETE,r,o,s),this.loader.emit(x.FILE_KEY_COMPLETE+o+"-"+r,r,o,s),this.loader.flagForRemoval(this),this.state=S.FILE_PENDING_DESTROY}},destroy:function(){this.loader=null,this.cache=null,this.xhrSettings=null,this.multiFile=null,this.linkFile=null,this.data=null}});i.createObjectURL=function(s,r,o){if(typeof URL=="function")s.src=URL.createObjectURL(r);else{var a=new FileReader;a.onload=function(){s.removeAttribute("crossOrigin"),s.src="data:"+(r.type||o)+";base64,"+a.result.split(",")[1]},a.onerror=s.onerror,a.readAsDataURL(r)}},i.revokeObjectURL=function(s){typeof URL=="function"&&URL.revokeObjectURL(s.src)},E.exports=i},74099:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={},n={install:function(m){for(var S in y)m[S]=y[S]},register:function(m,S){y[m]=S},destroy:function(){y={}}};E.exports=n},98356:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.url?n.url.match(/^(?:blob:|data:|capacitor:\/\/|file:\/\/|http:\/\/|https:\/\/|\/\/)/)?n.url:m+n.url:!1};E.exports=y},74261:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(50792),h=n(54899),d=n(74099),t=n(95540),e=n(35154),l=n(41212),i=n(37277),s=n(44594),r=n(92638),o=new m({Extends:x,initialize:function(u){x.call(this);var f=u.sys.game.config,v=u.sys.settings.loader;this.scene=u,this.systems=u.sys,this.cacheManager=u.sys.cache,this.textureManager=u.sys.textures,this.sceneManager=u.sys.game.scene,d.install(this),this.prefix="",this.path="",this.baseURL="",this.setBaseURL(t(v,"baseURL",f.loaderBaseURL)),this.setPath(t(v,"path",f.loaderPath)),this.setPrefix(t(v,"prefix",f.loaderPrefix)),this.maxParallelDownloads=t(v,"maxParallelDownloads",f.loaderMaxParallelDownloads),this.xhr=r(t(v,"responseType",f.loaderResponseType),t(v,"async",f.loaderAsync),t(v,"user",f.loaderUser),t(v,"password",f.loaderPassword),t(v,"timeout",f.loaderTimeout),t(v,"withCredentials",f.loaderWithCredentials)),this.crossOrigin=t(v,"crossOrigin",f.loaderCrossOrigin),this.imageLoadType=t(v,"imageLoadType",f.loaderImageLoadType),this.localSchemes=t(v,"localScheme",f.loaderLocalScheme),this.totalToLoad=0,this.progress=0,this.list=new Set,this.inflight=new Set,this.queue=new Set,this._deleteQueue=new Set,this.totalFailed=0,this.totalComplete=0,this.state=S.LOADER_IDLE,this.multiKeyIndex=0,this.maxRetries=t(v,"maxRetries",f.loaderMaxRetries),u.sys.events.once(s.BOOT,this.boot,this),u.sys.events.on(s.START,this.pluginStart,this)},boot:function(){this.systems.events.once(s.DESTROY,this.destroy,this)},pluginStart:function(){this.systems.events.once(s.SHUTDOWN,this.shutdown,this)},setBaseURL:function(a){return a===void 0&&(a=""),a!==""&&a.substr(-1)!=="/"&&(a=a.concat("/")),this.baseURL=a,this},setPath:function(a){return a===void 0&&(a=""),a!==""&&a.substr(-1)!=="/"&&(a=a.concat("/")),this.path=a,this},setPrefix:function(a){return a===void 0&&(a=""),this.prefix=a,this},setCORS:function(a){return this.crossOrigin=a,this},addFile:function(a){Array.isArray(a)||(a=[a]);for(var u=0;u0},removePack:function(a,u){var f=this.systems.anims,v=this.cacheManager,c=this.textureManager,g={animation:"json",aseprite:"json",audio:"audio",audioSprite:"audio",binary:"binary",bitmapFont:"bitmapFont",css:null,glsl:"shader",html:"html",json:"json",obj:"obj",plugin:null,scenePlugin:null,script:null,spine:"json",text:"text",tilemapCSV:"tilemap",tilemapImpact:"tilemap",tilemapTiledJSON:"tilemap",video:"video",xml:"xml"},p;if(l(a))p=a;else if(p=v.json.get(a),!p){console.warn("Asset Pack not found in JSON cache:",a);return}u&&(p={_:p[u]});for(var T in p){var C=p[T],M=t(C,"prefix",""),A=t(C,"files"),R=t(C,"defaultType");if(Array.isArray(A))for(var P=0;P0&&this.inflight.size{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(79291),S=n(92638),x=function(h,d){var t=h===void 0?S():m({},h);if(d)for(var e in d)d[e]!==void 0&&(t[e]=d[e]);return t};E.exports=x},26430:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(54899),h=new m({initialize:function(t,e,l,i){var s=[];i.forEach(function(a){a&&s.push(a)}),this.loader=t,this.type=e,this.key=l;var r=this.key;t.prefix&&t.prefix!==""&&(this.key=t.prefix+r),this.multiKeyIndex=t.multiKeyIndex++,this.files=s,this.state=S.FILE_PENDING,this.complete=!1,this.pending=s.length,this.failed=0,this.config={},this.baseURL=t.baseURL,this.path=t.path,this.prefix=t.prefix;for(var o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(3374),S=function(x,h){var d=m(h,x.xhrSettings);if(x.base64){var t=x.url.split(";base64,").pop()||x.url.split(",").pop(),e;x.xhrSettings.responseType==="arraybuffer"?e={response:Uint8Array.from(atob(t),function(s){return s.charCodeAt(0)}).buffer}:e={responseText:atob(t)},x.onBase64Load(e);return}var l=new XMLHttpRequest;if(l.open("GET",x.src,d.async,d.user,d.password),l.responseType=x.xhrSettings.responseType,l.timeout=d.timeout,d.headers)for(var i in d.headers)l.setRequestHeader(i,d.headers[i]);return d.header&&d.headerValue&&l.setRequestHeader(d.header,d.headerValue),d.requestedWith&&l.setRequestHeader("X-Requested-With",d.requestedWith),d.overrideMimeType&&l.overrideMimeType(d.overrideMimeType),d.withCredentials&&(l.withCredentials=!0),l.onload=x.onLoad.bind(x,l),l.onerror=x.onError.bind(x,l),l.onprogress=x.onProgress.bind(x),l.ontimeout=x.onError.bind(x,l),l.send(),l};E.exports=S},92638:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x,h,d){return n===void 0&&(n=""),m===void 0&&(m=!0),S===void 0&&(S=""),x===void 0&&(x=""),h===void 0&&(h=0),d===void 0&&(d=!1),{responseType:n,async:m,user:S,password:x,timeout:h,headers:void 0,header:void 0,headerValue:void 0,requestedWith:!1,overrideMimeType:void 0,withCredentials:d}};E.exports=y},23906:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={LOADER_IDLE:0,LOADER_LOADING:1,LOADER_PROCESSING:2,LOADER_COMPLETE:3,LOADER_SHUTDOWN:4,LOADER_DESTROYED:5,FILE_PENDING:10,FILE_LOADING:11,FILE_LOADED:12,FILE_FAILED:13,FILE_PROCESSING:14,FILE_ERRORED:16,FILE_COMPLETE:17,FILE_DESTROYED:18,FILE_POPULATED:19,FILE_PENDING_DESTROY:20};E.exports=y},42155:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="addfile"},38991:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="complete"},27540:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="filecomplete"},87464:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="filecomplete-"},94486:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="loaderror"},13035:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="load"},38144:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="fileprogress"},97520:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="postprocess"},85595:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="progress"},55680:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="start"},54899:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={ADD:n(42155),COMPLETE:n(38991),FILE_COMPLETE:n(27540),FILE_KEY_COMPLETE:n(87464),FILE_LOAD_ERROR:n(94486),FILE_LOAD:n(13035),FILE_PROGRESS:n(38144),POST_PROCESS:n(97520),PROGRESS:n(85595),START:n(55680)}},14135:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(74099),x=n(518),h=n(54899),d=new m({Extends:x,initialize:function(e,l,i,s,r){x.call(this,e,l,i,s,r),this.type="animationJSON"},onProcess:function(){this.loader.once(h.POST_PROCESS,this.onLoadComplete,this),x.prototype.onProcess.call(this)},onLoadComplete:function(){this.loader.systems.anims.fromJSON(this.data)}});S.register("animation",function(t,e,l,i){if(Array.isArray(t))for(var s=0;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(74099),x=n(95540),h=n(19550),d=n(41212),t=n(518),e=n(26430),l=new m({Extends:e,initialize:function(s,r,o,a,u,f){var v,c;if(d(r)){var g=r;r=x(g,"key"),v=new h(s,{key:r,url:x(g,"textureURL"),extension:x(g,"textureExtension","png"),normalMap:x(g,"normalMap"),xhrSettings:x(g,"textureXhrSettings")}),c=new t(s,{key:r,url:x(g,"atlasURL"),extension:x(g,"atlasExtension","json"),xhrSettings:x(g,"atlasXhrSettings")})}else v=new h(s,r,o,u),c=new t(s,r,a,f);v.linkFile?e.call(this,s,"atlasjson",r,[v,c,v.linkFile]):e.call(this,s,"atlasjson",r,[v,c])},addToCache:function(){if(this.isReadyToProcess()){var i=this.files[0],s=this.files[1],r=this.files[2]?this.files[2].data:null;this.loader.textureManager.addAtlas(i.key,i.data,s.data,r),s.addToCache(),this.complete=!0}}});S.register("aseprite",function(i,s,r,o,a){var u;if(Array.isArray(i))for(var f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(74099),x=n(95540),h=n(19550),d=n(41212),t=n(518),e=n(26430),l=new m({Extends:e,initialize:function(s,r,o,a,u,f){var v,c;if(d(r)){var g=r;r=x(g,"key"),v=new h(s,{key:r,url:x(g,"textureURL"),extension:x(g,"textureExtension","png"),normalMap:x(g,"normalMap"),xhrSettings:x(g,"textureXhrSettings")}),c=new t(s,{key:r,url:x(g,"atlasURL"),extension:x(g,"atlasExtension","json"),xhrSettings:x(g,"atlasXhrSettings")})}else v=new h(s,r,o,u),c=new t(s,r,a,f);v.linkFile?e.call(this,s,"atlasjson",r,[v,c,v.linkFile]):e.call(this,s,"atlasjson",r,[v,c])},addToCache:function(){if(this.isReadyToProcess()){var i=this.files[0],s=this.files[1],r=this.files[2]?this.files[2].data:null;this.loader.textureManager.addAtlas(i.key,i.data,s.data,r),this.complete=!0}}});S.register("atlas",function(i,s,r,o,a){var u;if(Array.isArray(i))for(var f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(74099),x=n(95540),h=n(19550),d=n(41212),t=n(26430),e=n(57318),l=new m({Extends:t,initialize:function(s,r,o,a,u,f){var v,c;if(d(r)){var g=r;r=x(g,"key"),v=new h(s,{key:r,url:x(g,"textureURL"),extension:x(g,"textureExtension","png"),normalMap:x(g,"normalMap"),xhrSettings:x(g,"textureXhrSettings")}),c=new e(s,{key:r,url:x(g,"atlasURL"),extension:x(g,"atlasExtension","xml"),xhrSettings:x(g,"atlasXhrSettings")})}else v=new h(s,r,o,u),c=new e(s,r,a,f);v.linkFile?t.call(this,s,"atlasxml",r,[v,c,v.linkFile]):t.call(this,s,"atlasxml",r,[v,c])},addToCache:function(){if(this.isReadyToProcess()){var i=this.files[0],s=this.files[1],r=this.files[2]?this.files[2].data:null;this.loader.textureManager.addAtlasXML(i.key,i.data,s.data,r),this.complete=!0}}});S.register("atlasXML",function(i,s,r,o,a){var u;if(Array.isArray(i))for(var f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(95540),t=n(89749),e=n(41212),l=new m({Extends:x,initialize:function(s,r,o,a,u){if(e(r)){var f=r;r=d(f,"key"),a=d(f,"xhrSettings"),u=d(f,"context",u)}var v={type:"audio",cache:s.cacheManager.audio,extension:o.type,responseType:"arraybuffer",key:r,url:o.url,xhrSettings:a,config:{context:u}};x.call(this,s,v)},onProcess:function(){this.state=S.FILE_PROCESSING;var i=this;this.config.context.decodeAudioData(this.xhrLoader.response,function(s){i.data=s,i.onProcessComplete()},function(s){console.error("Error decoding audio: "+i.key+" - ",s?s.message:null),i.onProcessError()}),this.config.context=null}});l.create=function(i,s,r,o,a){var u=i.systems.game,f=u.config.audio,v=u.device.audio;e(s)&&(r=d(s,"url",[]),o=d(s,"config",{}));var c=l.getAudioURL(u,r);return c?v.webAudio&&!f.disableWebAudio?new l(i,s,c,a,u.sound.context):new t(i,s,c,o):(console.warn('No audio URLs for "%s" can play on this device',s),null)},l.getAudioURL=function(i,s){Array.isArray(s)||(s=[s]);for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(21097),S=n(83419),x=n(74099),h=n(95540),d=n(41212),t=n(518),e=n(26430),l=new S({Extends:e,initialize:function(s,r,o,a,u,f,v){if(d(r)){var c=r;r=h(c,"key"),o=h(c,"jsonURL"),a=h(c,"audioURL"),u=h(c,"audioConfig"),f=h(c,"audioXhrSettings"),v=h(c,"jsonXhrSettings")}var g;if(!a)g=new t(s,r,o,v),e.call(this,s,"audiosprite",r,[g]),this.config.resourceLoad=!0,this.config.audioConfig=u,this.config.audioXhrSettings=f;else{var p=m.create(s,r,a,u,f);p&&(g=new t(s,r,o,v),e.call(this,s,"audiosprite",r,[p,g]),this.config.resourceLoad=!1)}},onFileComplete:function(i){var s=this.files.indexOf(i);if(s!==-1&&(this.pending--,this.config.resourceLoad&&i.type==="json"&&i.data.hasOwnProperty("resources"))){var r=i.data.resources,o=h(this.config,"audioConfig"),a=h(this.config,"audioXhrSettings"),u=m.create(this.loader,i.key,r,o,a);u&&(this.addToMultiFile(u),this.loader.addFile(u))}},addToCache:function(){if(this.isReadyToProcess()){var i=this.files[0],s=this.files[1];i.addToCache(),s.addToCache(),this.complete=!0}}});x.register("audioSprite",function(i,s,r,o,a,u){var f=this.systems.game,v=f.config.audio,c=f.device.audio;if(v&&v.noAudio||!c.webAudio&&!c.audioData)return this;var g;if(Array.isArray(i))for(var p=0;p{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(95540),t=n(41212),e=new m({Extends:x,initialize:function(i,s,r,o,a){var u="bin";if(t(s)){var f=s;s=d(f,"key"),r=d(f,"url"),o=d(f,"xhrSettings"),u=d(f,"extension",u),a=d(f,"dataType",a)}var v={type:"binary",cache:i.cacheManager.binary,extension:u,responseType:"arraybuffer",key:s,url:r,xhrSettings:o,config:{dataType:a}};x.call(this,i,v)},onProcess:function(){this.state=S.FILE_PROCESSING;var l=this.config.dataType;this.data=l?new l(this.xhrLoader.response):this.xhrLoader.response,this.onProcessComplete()}});h.register("binary",function(l,i,s,r){if(Array.isArray(l))for(var o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(74099),x=n(95540),h=n(19550),d=n(41212),t=n(26430),e=n(21859),l=n(57318),i=new m({Extends:t,initialize:function(r,o,a,u,f,v){var c,g;if(d(o)){var p=o;o=x(p,"key"),c=new h(r,{key:o,url:x(p,"textureURL"),extension:x(p,"textureExtension","png"),normalMap:x(p,"normalMap"),xhrSettings:x(p,"textureXhrSettings")}),g=new l(r,{key:o,url:x(p,"fontDataURL"),extension:x(p,"fontDataExtension","xml"),xhrSettings:x(p,"fontDataXhrSettings")})}else c=new h(r,o,a,f),g=new l(r,o,u,v);c.linkFile?t.call(this,r,"bitmapfont",o,[c,g,c.linkFile]):t.call(this,r,"bitmapfont",o,[c,g])},addToCache:function(){if(this.isReadyToProcess()){var s=this.files[0],r=this.files[1];s.addToCache();var o=s.cache.get(s.key),a=e(r.data,s.cache.getFrame(s.key),0,0,o);this.loader.cacheManager.bitmapFont.add(s.key,{data:a,texture:s.key,frame:null}),this.complete=!0}}});S.register("bitmapFont",function(s,r,o,a,u){var f;if(Array.isArray(s))for(var v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(95540),t=n(41212),e=new m({Extends:x,initialize:function(i,s,r,o){var a="css";if(t(s)){var u=s;s=d(u,"key"),r=d(u,"url"),o=d(u,"xhrSettings"),a=d(u,"extension",a)}var f={type:"script",cache:!1,extension:a,responseType:"text",key:s,url:r,xhrSettings:o};x.call(this,i,f)},onProcess:function(){this.state=S.FILE_PROCESSING,this.data=document.createElement("style"),this.data.defer=!1,this.data.innerHTML=this.xhrLoader.responseText,document.head.appendChild(this.data),this.onProcessComplete()}});h.register("css",function(l,i,s){if(Array.isArray(l))for(var r=0;r{/** + * @author Richard Davey + * @copyright 2021 Photon Storm Ltd. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(38734),S=n(85722),x=n(83419),h=n(74099),d=n(95540),t=n(19550),e=n(41212),l=n(518),i=n(31403),s=n(46975),r=n(59327),o=n(26430),a=n(82038),u=n(55222),f=new x({Extends:o,initialize:function(c,g,p,T){if(p.multiAtlasURL){var C=new l(c,{key:g,url:p.multiAtlasURL,xhrSettings:T,config:p});o.call(this,c,"texture",g,[C])}else{var M=p.textureURL.substr(p.textureURL.length-3);p.type||(p.type=M.toLowerCase()==="ktx"?"KTX":"PVR");var A=new S(c,{key:g,url:p.textureURL,extension:M,xhrSettings:T,config:p});if(p.atlasURL){var R=new l(c,{key:g,url:p.atlasURL,xhrSettings:T,config:p});o.call(this,c,"texture",g,[A,R])}else o.call(this,c,"texture",g,[A])}this.config=p},onFileComplete:function(v){var c=this.files.indexOf(v);if(c!==-1){if(this.pending--,!this.config.multiAtlasURL)return;if(v.type==="json"&&v.data.hasOwnProperty("textures")){var g=v.data.textures,p=this.config,T=this.loader,C=T.baseURL,M=T.path,A=T.prefix,R=d(p,"multiBaseURL",this.baseURL),P=d(p,"multiPath",this.path),L=d(p,"prefix",this.prefix),F=d(p,"textureXhrSettings");R&&T.setBaseURL(R),P&&T.setPath(P),L&&T.setPrefix(L);for(var w=0;w{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(95540),t=n(98356),e=n(41212),l=new m({Extends:x,initialize:function(s,r,o,a,u,f){var v="ttf";if(e(r)){var c=r;r=d(c,"key"),o=d(c,"url"),a=d(c,"format","truetype"),u=d(c,"descriptors",null),f=d(c,"xhrSettings"),v=d(c,"extension",v)}else a===void 0&&(a="truetype");var g={type:"font",cache:!1,extension:v,responseType:"text",key:r,url:o,xhrSettings:f};x.call(this,s,g),this.data={format:a,descriptors:u},this.state=S.FILE_POPULATED},onProcess:function(){this.state=S.FILE_PROCESSING,this.src=t(this,this.loader.baseURL);var i,s=this.key,r="url("+this.src+') format("'+this.data.format+'")';this.data.descriptors?i=new FontFace(s,r,this.data.descriptors):i=new FontFace(s,r);var o=this;i.load().then(function(){document.fonts.add(i),document.body.classList.add("fonts-loaded"),o.onProcessComplete()}).catch(function(){console.warn("Font failed to load",r),o.onProcessComplete()})}});h.register("font",function(i,s,r,o,a){if(Array.isArray(i))for(var u=0;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(95540),t=n(41212),e=n(73894),l=new m({Extends:x,initialize:function(s,r,o,a){var u="glsl";if(t(r)){var f=r;r=d(f,"key"),o=d(f,"url"),a=d(f,"xhrSettings"),u=d(f,"extension",u)}var v={type:"glsl",cache:s.cacheManager.shader,extension:u,responseType:"text",key:r,url:o,xhrSettings:a};x.call(this,s,v)},onProcess:function(){this.state=S.FILE_PROCESSING,this.data=this.xhrLoader.responseText,this.onProcessComplete()},addToCache:function(){this.cache.add(this.key,new e(this.key,this.data))}});h.register("glsl",function(i,s,r){if(Array.isArray(i))for(var o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(54899),x=n(41299),h=n(95540),d=n(98356),t=n(41212),e=new m({Extends:x,initialize:function(i,s,r,o){if(t(s)){var a=s;s=h(a,"key"),o=h(a,"config",o)}var u={type:"audio",cache:i.cacheManager.audio,extension:r.type,key:s,url:r.url,config:o};x.call(this,i,u),this.locked="ontouchstart"in window,this.loaded=!1,this.filesLoaded=0,this.filesTotal=0},onLoad:function(){this.loaded||(this.loaded=!0,this.loader.nextFile(this,!0))},onError:function(){for(var l=0;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(95540),t=n(41212),e=new m({Extends:x,initialize:function(i,s,r,o){var a="html";if(t(s)){var u=s;s=d(u,"key"),r=d(u,"url"),o=d(u,"xhrSettings"),a=d(u,"extension",a)}var f={type:"text",cache:i.cacheManager.html,extension:a,responseType:"text",key:s,url:r,xhrSettings:o};x.call(this,i,f)},onProcess:function(){this.state=S.FILE_PROCESSING,this.data=this.xhrLoader.responseText,this.onProcessComplete()}});h.register("html",function(l,i,s){if(Array.isArray(l))for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(95540),t=n(41212),e=new m({Extends:x,initialize:function(i,s,r,o,a,u){o===void 0&&(o=512),a===void 0&&(a=512);var f="html";if(t(s)){var v=s;s=d(v,"key"),r=d(v,"url"),u=d(v,"xhrSettings"),f=d(v,"extension",f),o=d(v,"width",o),a=d(v,"height",a)}var c={type:"html",cache:i.textureManager,extension:f,responseType:"text",key:s,url:r,xhrSettings:u,config:{width:o,height:a}};x.call(this,i,c)},onProcess:function(){this.state=S.FILE_PROCESSING;var l=this.config.width,i=this.config.height,s=[];s.push(''),s.push(''),s.push(''),s.push(this.xhrLoader.responseText),s.push(""),s.push(""),s.push("");var r=[s.join(` +`)],o=this;try{var a=new window.Blob(r,{type:"image/svg+xml;charset=utf-8"})}catch{o.state=S.FILE_ERRORED,o.onProcessComplete();return}this.data=new Image,this.data.crossOrigin=this.crossOrigin,this.data.onload=function(){x.revokeObjectURL(o.data),o.onProcessComplete()},this.data.onerror=function(){x.revokeObjectURL(o.data),o.onProcessError()},x.createObjectURL(this.data,a,"image/svg+xml")},addToCache:function(){this.cache.addImage(this.key,this.data)}});h.register("htmlTexture",function(l,i,s,r,o){if(Array.isArray(l))for(var a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(95540),t=n(41212),e=n(98356),l=new m({Extends:x,initialize:function i(s,r,o,a,u){var f="png",v;if(t(r)){var c=r;r=d(c,"key"),o=d(c,"url"),v=d(c,"normalMap"),a=d(c,"xhrSettings"),f=d(c,"extension",f),u=d(c,"frameConfig")}Array.isArray(o)&&(v=o[1],o=o[0]);var g={type:"image",cache:s.textureManager,extension:f,responseType:"blob",key:r,url:o,xhrSettings:a,config:u};if(x.call(this,s,g),v){var p=new i(s,this.key,v,a,u);p.type="normalMap",this.setLink(p),s.addFile(p)}this.useImageElementLoad=s.imageLoadType==="HTMLImageElement"||this.base64,this.useImageElementLoad&&(this.load=this.loadImage,this.onProcess=this.onProcessImage)},onProcess:function(){this.state=S.FILE_PROCESSING,this.data=new Image,this.data.crossOrigin=this.crossOrigin;var i=this;this.data.onload=function(){x.revokeObjectURL(i.data),i.onProcessComplete()},this.data.onerror=function(){x.revokeObjectURL(i.data),i.onProcessError()},x.createObjectURL(this.data,this.xhrLoader.response,"image/png")},onProcessImage:function(){var i=this.state;this.state=S.FILE_PROCESSING,i===S.FILE_LOADED?this.onProcessComplete():this.onProcessError()},loadImage:function(){this.state=S.FILE_LOADING,this.src=e(this,this.loader.baseURL),this.data=new Image,this.data.crossOrigin=this.crossOrigin;var i=this;this.data.onload=function(){i.state=S.FILE_LOADED,i.loader.nextFile(i,!0)},this.data.onerror=function(){i.loader.nextFile(i,!1)},this.data.src=this.src},addToCache:function(){var i=this.linkFile;i?i.state>=S.FILE_COMPLETE&&(i.type==="spritesheet"?i.addToCache():this.type==="normalMap"?this.cache.addImage(this.key,i.data,this.data):this.cache.addImage(this.key,this.data,i.data)):this.cache.addImage(this.key,this.data)}});h.register("image",function(i,s,r){if(Array.isArray(i))for(var o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(95540),t=n(35154),e=n(41212),l=new m({Extends:x,initialize:function(s,r,o,a,u){var f="json";if(e(r)){var v=r;r=d(v,"key"),o=d(v,"url"),a=d(v,"xhrSettings"),f=d(v,"extension",f),u=d(v,"dataKey",u)}var c={type:"json",cache:s.cacheManager.json,extension:f,responseType:"text",key:r,url:o,xhrSettings:a,config:u};x.call(this,s,c),e(o)&&(u?this.data=t(o,u):this.data=o,this.state=S.FILE_POPULATED)},onProcess:function(){if(this.state!==S.FILE_POPULATED){this.state=S.FILE_PROCESSING;try{var i=JSON.parse(this.xhrLoader.responseText)}catch(r){throw this.onProcessError(),r}var s=this.config;typeof s=="string"?this.data=t(i,s,i):this.data=i}this.onProcessComplete()}});h.register("json",function(i,s,r,o){if(Array.isArray(i))for(var a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(74099),x=n(95540),h=n(19550),d=n(41212),t=n(518),e=n(26430),l=new m({Extends:e,initialize:function(s,r,o,a,u,f,v){if(d(r)){var c=r;r=x(c,"key"),x(c,"url",!1)?o=x(c,"url"):o=x(c,"atlasURL"),f=x(c,"xhrSettings"),a=x(c,"path"),u=x(c,"baseURL"),v=x(c,"textureXhrSettings")}var g=new t(s,r,o,f);e.call(this,s,"multiatlas",r,[g]),this.config.path=a,this.config.baseURL=u,this.config.textureXhrSettings=v},onFileComplete:function(i){var s=this.files.indexOf(i);if(s!==-1&&(this.pending--,i.type==="json"&&i.data.hasOwnProperty("textures"))){var r=i.data.textures,o=this.config,a=this.loader,u=a.baseURL,f=a.path,v=a.prefix,c=x(o,"baseURL",this.baseURL),g=x(o,"path",this.path),p=x(o,"prefix",this.prefix),T=x(o,"textureXhrSettings");a.setBaseURL(c),a.setPath(g),a.setPrefix(p);for(var C=0;C{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(74099),x=n(95540),h=n(41212),d=n(26430),t=n(34328),e=new m({Extends:d,initialize:function(i,s,r,o){var a="js",u=[];if(h(s)){var f=s;s=x(f,"key"),r=x(f,"url"),o=x(f,"xhrSettings"),a=x(f,"extension",a)}Array.isArray(r)||(r=[r]);for(var v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(74099),h=n(518),d=new m({Extends:h,initialize:function(e,l,i,s,r){h.call(this,e,l,i,s,r),this.type="packfile"},onProcess:function(){if(this.state!==S.FILE_POPULATED&&(this.state=S.FILE_PROCESSING,this.data=JSON.parse(this.xhrLoader.responseText)),this.data.hasOwnProperty("files")&&this.config){var t={};t[this.config]=this.data,this.data=t}this.loader.addPack(this.data,this.config),this.onProcessComplete()}});x.register("pack",function(t,e,l,i){if(Array.isArray(t))for(var s=0;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(95540),t=n(41212),e=new m({Extends:x,initialize:function(i,s,r,o,a,u){var f="js";if(t(s)){var v=s;s=d(v,"key"),r=d(v,"url"),u=d(v,"xhrSettings"),f=d(v,"extension",f),o=d(v,"start"),a=d(v,"mapping")}var c={type:"plugin",cache:!1,extension:f,responseType:"text",key:s,url:r,xhrSettings:u,config:{start:o,mapping:a}};x.call(this,i,c),typeof r=="function"&&(this.data=r,this.state=S.FILE_POPULATED)},onProcess:function(){var l=this.loader.systems.plugins,i=this.config,s=d(i,"start",!1),r=d(i,"mapping",null);if(this.state===S.FILE_POPULATED)l.install(this.key,this.data,s,r);else{this.state=S.FILE_PROCESSING,this.data=document.createElement("script"),this.data.language="javascript",this.data.type="text/javascript",this.data.defer=!1,this.data.text=this.xhrLoader.responseText,document.head.appendChild(this.data);var o=l.install(this.key,window[this.key],s,r);(s||r)&&(this.loader.systems[r]=o,this.loader.scene[r]=o)}this.onProcessComplete()}});h.register("plugin",function(l,i,s,r,o){if(Array.isArray(l))for(var a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(95540),t=n(41212),e=new m({Extends:x,initialize:function(i,s,r,o,a){var u="svg";if(t(s)){var f=s;s=d(f,"key"),r=d(f,"url"),o=d(f,"svgConfig",{}),a=d(f,"xhrSettings"),u=d(f,"extension",u)}var v={type:"svg",cache:i.textureManager,extension:u,responseType:"text",key:s,url:r,xhrSettings:a,config:{width:d(o,"width"),height:d(o,"height"),scale:d(o,"scale")}};x.call(this,i,v)},onProcess:function(){this.state=S.FILE_PROCESSING;var l=this.xhrLoader.responseText,i=[l],s=this.config.width,r=this.config.height,o=this.config.scale;t:if(s&&r||o){var a=null,u=new DOMParser;a=u.parseFromString(l,"text/xml");var f=a.getElementsByTagName("svg")[0],v=f.hasAttribute("viewBox"),c=parseFloat(f.getAttribute("width")),g=parseFloat(f.getAttribute("height"));if(!v&&c&&g)f.setAttribute("viewBox","0 0 "+c+" "+g);else if(v&&!c&&!g){var p=f.getAttribute("viewBox").split(/\s+|,/);c=p[2],g=p[3]}if(o)if(c&&g)s=c*o,r=g*o;else break t;f.setAttribute("width",s.toString()+"px"),f.setAttribute("height",r.toString()+"px"),i=[new XMLSerializer().serializeToString(f)]}try{var T=new window.Blob(i,{type:"image/svg+xml;charset=utf-8"})}catch{this.onProcessError();return}this.data=new Image,this.data.crossOrigin=this.crossOrigin;var C=this,M=!1;this.data.onload=function(){M||x.revokeObjectURL(C.data),C.onProcessComplete()},this.data.onerror=function(){M?C.onProcessError():(M=!0,x.revokeObjectURL(C.data),C.data.src="data:image/svg+xml,"+encodeURIComponent(i.join("")))},x.createObjectURL(this.data,T,"image/svg+xml")},addToCache:function(){this.cache.addImage(this.key,this.data)}});h.register("svg",function(l,i,s,r){if(Array.isArray(l))for(var o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(95540),t=n(41212),e=new m({Extends:x,initialize:function(i,s,r,o){var a="js";if(t(s)){var u=s;s=d(u,"key"),r=d(u,"url"),o=d(u,"xhrSettings"),a=d(u,"extension",a)}var f={type:"text",extension:a,responseType:"text",key:s,url:r,xhrSettings:o};x.call(this,i,f)},onProcess:function(){this.state=S.FILE_PROCESSING,this.data=this.xhrLoader.responseText,this.onProcessComplete()},addToCache:function(){var l=this.data.concat(`(function(){ +return new `+this.key+`(); +}).call(this);`),i=eval;this.loader.sceneManager.add(this.key,i(l)),this.complete=!0}});h.register("sceneFile",function(l,i,s){if(Array.isArray(l))for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(95540),t=n(41212),e=new m({Extends:x,initialize:function(i,s,r,o,a,u){var f="js";if(t(s)){var v=s;s=d(v,"key"),r=d(v,"url"),u=d(v,"xhrSettings"),f=d(v,"extension",f),o=d(v,"systemKey"),a=d(v,"sceneKey")}var c={type:"scenePlugin",cache:!1,extension:f,responseType:"text",key:s,url:r,xhrSettings:u,config:{systemKey:o,sceneKey:a}};x.call(this,i,c),typeof r=="function"&&(this.data=r,this.state=S.FILE_POPULATED)},onProcess:function(){var l=this.loader.systems.plugins,i=this.config,s=this.key,r=d(i,"systemKey",s),o=d(i,"sceneKey",s);this.state===S.FILE_POPULATED?l.installScenePlugin(r,this.data,o,this.loader.scene,!0):(this.state=S.FILE_PROCESSING,this.data=document.createElement("script"),this.data.language="javascript",this.data.type="text/javascript",this.data.defer=!1,this.data.text=this.xhrLoader.responseText,document.head.appendChild(this.data),l.installScenePlugin(r,window[this.key],o,this.loader.scene,!0)),this.onProcessComplete()}});h.register("scenePlugin",function(l,i,s,r,o){if(Array.isArray(l))for(var a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(95540),t=n(41212),e=new m({Extends:x,initialize:function(i,s,r,o,a){var u="js";if(t(s)){var f=s;s=d(f,"key"),r=d(f,"url"),o=d(f,"type","script"),a=d(f,"xhrSettings"),u=d(f,"extension",u)}else o===void 0&&(o="script");var v={type:o,cache:!1,extension:u,responseType:"text",key:s,url:r,xhrSettings:a};x.call(this,i,v)},onProcess:function(){this.state=S.FILE_PROCESSING,this.data=document.createElement("script"),this.data.language="javascript",this.data.type="text/javascript",this.data.defer=!1,this.data.text=this.xhrLoader.responseText,document.head.appendChild(this.data),this.onProcessComplete()}});h.register("script",function(l,i,s,r){if(Array.isArray(l))for(var o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(74099),h=n(19550),d=new m({Extends:h,initialize:function(e,l,i,s,r){h.call(this,e,l,i,r,s),this.type="spritesheet"},addToCache:function(){var t=this.linkFile;t?t.state>=S.FILE_COMPLETE&&(this.type==="normalMap"?this.cache.addSpriteSheet(this.key,t.data,this.config,this.data):this.cache.addSpriteSheet(this.key,this.data,this.config,t.data)):this.cache.addSpriteSheet(this.key,this.data,this.config)}});x.register("spritesheet",function(t,e,l,i){if(Array.isArray(t))for(var s=0;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(95540),t=n(41212),e=new m({Extends:x,initialize:function(i,s,r,o){var a="text",u="txt",f=i.cacheManager.text;if(t(s)){var v=s;s=d(v,"key"),r=d(v,"url"),o=d(v,"xhrSettings"),u=d(v,"extension",u),a=d(v,"type",a),f=d(v,"cache",f)}var c={type:a,cache:f,extension:u,responseType:"text",key:s,url:r,xhrSettings:o};x.call(this,i,c)},onProcess:function(){this.state=S.FILE_PROCESSING,this.data=this.xhrLoader.responseText,this.onProcessComplete()}});h.register("text",function(l,i,s){if(Array.isArray(l))for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(95540),t=n(41212),e=n(80341),l=new m({Extends:x,initialize:function(s,r,o,a){var u="csv";if(t(r)){var f=r;r=d(f,"key"),o=d(f,"url"),a=d(f,"xhrSettings"),u=d(f,"extension",u)}var v={type:"tilemapCSV",cache:s.cacheManager.tilemap,extension:u,responseType:"text",key:r,url:o,xhrSettings:a};x.call(this,s,v),this.tilemapFormat=e.CSV},onProcess:function(){this.state=S.FILE_PROCESSING,this.data=this.xhrLoader.responseText,this.onProcessComplete()},addToCache:function(){var i={format:this.tilemapFormat,data:this.data};this.cache.add(this.key,i)}});h.register("tilemapCSV",function(i,s,r){if(Array.isArray(i))for(var o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(74099),x=n(518),h=n(80341),d=new m({Extends:x,initialize:function(e,l,i,s){x.call(this,e,l,i,s),this.type="tilemapJSON",this.cache=e.cacheManager.tilemap},addToCache:function(){var t={format:h.WELTMEISTER,data:this.data};this.cache.add(this.key,t)}});S.register("tilemapImpact",function(t,e,l){if(Array.isArray(t))for(var i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(74099),x=n(518),h=n(80341),d=new m({Extends:x,initialize:function(e,l,i,s){x.call(this,e,l,i,s),this.type="tilemapJSON",this.cache=e.cacheManager.tilemap},addToCache:function(){var t={format:h.TILED_JSON,data:this.data};this.cache.add(this.key,t)}});S.register("tilemapTiledJSON",function(t,e,l){if(Array.isArray(t))for(var i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(74099),x=n(95540),h=n(19550),d=n(41212),t=n(26430),e=n(78776),l=new m({Extends:t,initialize:function(s,r,o,a,u,f){var v,c;if(d(r)){var g=r;r=x(g,"key"),v=new h(s,{key:r,url:x(g,"textureURL"),extension:x(g,"textureExtension","png"),normalMap:x(g,"normalMap"),xhrSettings:x(g,"textureXhrSettings")}),c=new e(s,{key:r,url:x(g,"atlasURL"),extension:x(g,"atlasExtension","txt"),xhrSettings:x(g,"atlasXhrSettings")})}else v=new h(s,r,o,u),c=new e(s,r,a,f);v.linkFile?t.call(this,s,"unityatlas",r,[v,c,v.linkFile]):t.call(this,s,"unityatlas",r,[v,c])},addToCache:function(){if(this.isReadyToProcess()){var i=this.files[0],s=this.files[1],r=this.files[2]?this.files[2].data:null;this.loader.textureManager.addUnityAtlas(i.key,i.data,s.data,r),this.complete=!0}}});S.register("unityAtlas",function(i,s,r,o,a){var u;if(Array.isArray(i))for(var f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(98356),t=n(95540),e=n(41212),l=new m({Extends:x,initialize:function(s,r,o,a){if(a===void 0&&(a=!1),e(r)){var u=r;r=t(u,"key"),o=t(u,"url",[]),a=t(u,"noAudio",!1)}var f=s.systems.game.device.video.getVideoURL(o);f||console.warn("VideoFile: No supported format for "+r);var v={type:"video",cache:s.cacheManager.video,extension:f.type,key:r,url:f.url,config:{noAudio:a}};x.call(this,s,v)},onProcess:function(){this.data={url:this.src,noAudio:this.config.noAudio,crossOrigin:this.crossOrigin},this.onProcessComplete()},load:function(){this.src=d(this,this.loader.baseURL),this.state=S.FILE_LOADED,this.loader.nextFile(this,!0)}});h.register("video",function(i,s,r){if(Array.isArray(i))for(var o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(23906),x=n(41299),h=n(74099),d=n(95540),t=n(41212),e=n(56836),l=new m({Extends:x,initialize:function(s,r,o,a){var u="xml";if(t(r)){var f=r;r=d(f,"key"),o=d(f,"url"),a=d(f,"xhrSettings"),u=d(f,"extension",u)}var v={type:"xml",cache:s.cacheManager.xml,extension:u,responseType:"text",key:r,url:o,xhrSettings:a};x.call(this,s,v)},onProcess:function(){this.state=S.FILE_PROCESSING,this.data=e(this.xhrLoader.responseText),this.data?this.onProcessComplete():this.onProcessError()}});h.register("xml",function(i,s,r){if(Array.isArray(i))for(var o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={AnimationJSONFile:n(14135),AsepriteFile:n(76272),AtlasJSONFile:n(38734),AtlasXMLFile:n(74599),AudioFile:n(21097),AudioSpriteFile:n(89524),BinaryFile:n(85722),BitmapFontFile:n(97025),CompressedTextureFile:n(69559),CSSFile:n(16024),FontFile:n(87674),GLSLFile:n(47931),HTML5AudioFile:n(89749),HTMLFile:n(88470),HTMLTextureFile:n(14643),ImageFile:n(19550),JSONFile:n(518),MultiAtlasFile:n(59327),MultiScriptFile:n(99297),PackFile:n(58610),PluginFile:n(48988),SceneFile:n(88423),ScenePluginFile:n(56812),ScriptFile:n(34328),SpriteSheetFile:n(85035),SVGFile:n(67397),TextFile:n(78776),TilemapCSVFile:n(49477),TilemapImpactFile:n(40807),TilemapJSONFile:n(56775),UnityAtlasFile:n(25771),VideoFile:n(33720),XMLFile:n(57318)}},57777:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(23906),S=n(79291),x={Events:n(54899),FileTypes:n(64589),File:n(41299),FileTypesManager:n(74099),GetURL:n(98356),LoaderPlugin:n(74261),MergeXHRSettings:n(3374),MultiFile:n(26430),XHRLoader:n(84376),XHRSettings:n(92638)};x=S(!1,x,m),E.exports=x},53307:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){for(var m=0,S=0;S{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(6411),S=function(x,h){return m(x)/m(h)/m(x-h)};E.exports=S},30976:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return Math.floor(Math.random()*(m-n+1)+n)};E.exports=y},87842:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x,h){var d=(x-m)*.5,t=(h-S)*.5,e=n*n,l=n*e;return(2*S-2*x+d+t)*l+(-3*S+3*x-2*d-t)*e+d*n+S};E.exports=y},26302:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){m===void 0&&(m=0),S===void 0&&(S=10);var x=Math.pow(S,-m);return Math.ceil(n*x)/x};E.exports=y},45319:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return Math.max(m,Math.min(S,n))};E.exports=y},39506:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(36383),S=function(x){return x*m.DEG_TO_RAD};E.exports=S},61241:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return Math.abs(n-m)};E.exports=y},38857:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(45319),S=n(83419),x=n(37867),h=n(29747),d=new x,t=new S({initialize:function e(l,i,s,r){l===void 0&&(l=0),i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r=e.DefaultOrder),this._x=l,this._y=i,this._z=s,this._order=r,this.onChangeCallback=h},x:{get:function(){return this._x},set:function(e){this._x=e,this.onChangeCallback(this)}},y:{get:function(){return this._y},set:function(e){this._y=e,this.onChangeCallback(this)}},z:{get:function(){return this._z},set:function(e){this._z=e,this.onChangeCallback(this)}},order:{get:function(){return this._order},set:function(e){this._order=e,this.onChangeCallback(this)}},set:function(e,l,i,s){return s===void 0&&(s=this._order),this._x=e,this._y=l,this._z=i,this._order=s,this.onChangeCallback(this),this},copy:function(e){return this.set(e.x,e.y,e.z,e.order)},setFromQuaternion:function(e,l,i){return l===void 0&&(l=this._order),i===void 0&&(i=!1),d.fromQuat(e),this.setFromRotationMatrix(d,l,i)},setFromRotationMatrix:function(e,l,i){l===void 0&&(l=this._order),i===void 0&&(i=!1);var s=e.val,r=s[0],o=s[4],a=s[8],u=s[1],f=s[5],v=s[9],c=s[2],g=s[6],p=s[10],T=0,C=0,M=0,A=.99999;switch(l){case"XYZ":{C=Math.asin(m(a,-1,1)),Math.abs(a){/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){if(n===0)return 1;for(var m=n;--n;)m*=n;return m};E.exports=y},99472:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return Math.random()*(m-n)+n};E.exports=y},77623:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){m===void 0&&(m=0),S===void 0&&(S=10);var x=Math.pow(S,-m);return Math.floor(n*x)/x};E.exports=y},62945:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(45319),S=function(x,h,d){return x=m(x,0,1),(d-h)*x+h};E.exports=S},2672:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h){h===void 0&&(h=new m);var d=x.length;if(!Array.isArray(x)||d===0)throw new Error("GetCentroid points be a non-empty array");if(d===1)h.x=x[0].x,h.y=x[0].y;else{for(var t=0;t{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n/m/1e3};E.exports=y},55133:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87841),S=function(x,h){h===void 0&&(h=new m);for(var d=Number.NEGATIVE_INFINITY,t=Number.POSITIVE_INFINITY,e=Number.NEGATIVE_INFINITY,l=Number.POSITIVE_INFINITY,i=0;id&&(d=s.x),s.xe&&(e=s.y),s.y{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n==parseFloat(n)?!(n%2):void 0};E.exports=y},94883:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n===parseFloat(n)?!(n%2):void 0};E.exports=y},28915:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return(m-n)*S+n};E.exports=y},94908:E=>{/** + * @author Greg McLean + * @copyright 2021 Photon Storm Ltd. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return S===void 0&&(S=0),n.clone().lerp(m,S)};E.exports=y},94434:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h){this.val=new Float32Array(9),h?this.copy(h):this.identity()},clone:function(){return new S(this)},set:function(x){return this.copy(x)},copy:function(x){var h=this.val,d=x.val;return h[0]=d[0],h[1]=d[1],h[2]=d[2],h[3]=d[3],h[4]=d[4],h[5]=d[5],h[6]=d[6],h[7]=d[7],h[8]=d[8],this},fromMat4:function(x){var h=x.val,d=this.val;return d[0]=h[0],d[1]=h[1],d[2]=h[2],d[3]=h[4],d[4]=h[5],d[5]=h[6],d[6]=h[8],d[7]=h[9],d[8]=h[10],this},fromArray:function(x){var h=this.val;return h[0]=x[0],h[1]=x[1],h[2]=x[2],h[3]=x[3],h[4]=x[4],h[5]=x[5],h[6]=x[6],h[7]=x[7],h[8]=x[8],this},identity:function(){var x=this.val;return x[0]=1,x[1]=0,x[2]=0,x[3]=0,x[4]=1,x[5]=0,x[6]=0,x[7]=0,x[8]=1,this},transpose:function(){var x=this.val,h=x[1],d=x[2],t=x[5];return x[1]=x[3],x[2]=x[6],x[3]=h,x[5]=x[7],x[6]=d,x[7]=t,this},invert:function(){var x=this.val,h=x[0],d=x[1],t=x[2],e=x[3],l=x[4],i=x[5],s=x[6],r=x[7],o=x[8],a=o*l-i*r,u=-o*e+i*s,f=r*e-l*s,v=h*a+d*u+t*f;return v?(v=1/v,x[0]=a*v,x[1]=(-o*d+t*r)*v,x[2]=(i*d-t*l)*v,x[3]=u*v,x[4]=(o*h-t*s)*v,x[5]=(-i*h+t*e)*v,x[6]=f*v,x[7]=(-r*h+d*s)*v,x[8]=(l*h-d*e)*v,this):null},adjoint:function(){var x=this.val,h=x[0],d=x[1],t=x[2],e=x[3],l=x[4],i=x[5],s=x[6],r=x[7],o=x[8];return x[0]=l*o-i*r,x[1]=t*r-d*o,x[2]=d*i-t*l,x[3]=i*s-e*o,x[4]=h*o-t*s,x[5]=t*e-h*i,x[6]=e*r-l*s,x[7]=d*s-h*r,x[8]=h*l-d*e,this},determinant:function(){var x=this.val,h=x[0],d=x[1],t=x[2],e=x[3],l=x[4],i=x[5],s=x[6],r=x[7],o=x[8];return h*(o*l-i*r)+d*(-o*e+i*s)+t*(r*e-l*s)},multiply:function(x){var h=this.val,d=h[0],t=h[1],e=h[2],l=h[3],i=h[4],s=h[5],r=h[6],o=h[7],a=h[8],u=x.val,f=u[0],v=u[1],c=u[2],g=u[3],p=u[4],T=u[5],C=u[6],M=u[7],A=u[8];return h[0]=f*d+v*l+c*r,h[1]=f*t+v*i+c*o,h[2]=f*e+v*s+c*a,h[3]=g*d+p*l+T*r,h[4]=g*t+p*i+T*o,h[5]=g*e+p*s+T*a,h[6]=C*d+M*l+A*r,h[7]=C*t+M*i+A*o,h[8]=C*e+M*s+A*a,this},translate:function(x){var h=this.val,d=x.x,t=x.y;return h[6]=d*h[0]+t*h[3]+h[6],h[7]=d*h[1]+t*h[4]+h[7],h[8]=d*h[2]+t*h[5]+h[8],this},rotate:function(x){var h=this.val,d=h[0],t=h[1],e=h[2],l=h[3],i=h[4],s=h[5],r=Math.sin(x),o=Math.cos(x);return h[0]=o*d+r*l,h[1]=o*t+r*i,h[2]=o*e+r*s,h[3]=o*l-r*d,h[4]=o*i-r*t,h[5]=o*s-r*e,this},scale:function(x){var h=this.val,d=x.x,t=x.y;return h[0]=d*h[0],h[1]=d*h[1],h[2]=d*h[2],h[3]=t*h[3],h[4]=t*h[4],h[5]=t*h[5],this},fromQuat:function(x){var h=x.x,d=x.y,t=x.z,e=x.w,l=h+h,i=d+d,s=t+t,r=h*l,o=h*i,a=h*s,u=d*i,f=d*s,v=t*s,c=e*l,g=e*i,p=e*s,T=this.val;return T[0]=1-(u+v),T[3]=o+p,T[6]=a-g,T[1]=o-p,T[4]=1-(r+v),T[7]=f+c,T[2]=a+g,T[5]=f-c,T[8]=1-(r+u),this},normalFromMat4:function(x){var h=x.val,d=this.val,t=h[0],e=h[1],l=h[2],i=h[3],s=h[4],r=h[5],o=h[6],a=h[7],u=h[8],f=h[9],v=h[10],c=h[11],g=h[12],p=h[13],T=h[14],C=h[15],M=t*r-e*s,A=t*o-l*s,R=t*a-i*s,P=e*o-l*r,L=e*a-i*r,F=l*a-i*o,w=u*p-f*g,O=u*T-v*g,B=u*C-c*g,I=f*T-v*p,D=f*C-c*p,N=v*C-c*T,z=M*N-A*D+R*I+P*B-L*O+F*w;return z?(z=1/z,d[0]=(r*N-o*D+a*I)*z,d[1]=(o*B-s*N-a*O)*z,d[2]=(s*D-r*B+a*w)*z,d[3]=(l*D-e*N-i*I)*z,d[4]=(t*N-l*B+i*O)*z,d[5]=(e*B-t*D-i*w)*z,d[6]=(p*F-T*L+C*P)*z,d[7]=(T*R-g*F-C*A)*z,d[8]=(g*L-p*R+C*M)*z,this):null}});E.exports=S},37867:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(25836),x=1e-6,h=new m({initialize:function(r){this.val=new Float32Array(16),r?this.copy(r):this.identity()},clone:function(){return new h(this)},set:function(s){return this.copy(s)},setValues:function(s,r,o,a,u,f,v,c,g,p,T,C,M,A,R,P){var L=this.val;return L[0]=s,L[1]=r,L[2]=o,L[3]=a,L[4]=u,L[5]=f,L[6]=v,L[7]=c,L[8]=g,L[9]=p,L[10]=T,L[11]=C,L[12]=M,L[13]=A,L[14]=R,L[15]=P,this},copy:function(s){var r=s.val;return this.setValues(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15])},fromArray:function(s){return this.setValues(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8],s[9],s[10],s[11],s[12],s[13],s[14],s[15])},zero:function(){return this.setValues(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)},transform:function(s,r,o){var a=d.fromQuat(o),u=a.val,f=r.x,v=r.y,c=r.z;return this.setValues(u[0]*f,u[1]*f,u[2]*f,0,u[4]*v,u[5]*v,u[6]*v,0,u[8]*c,u[9]*c,u[10]*c,0,s.x,s.y,s.z,1)},xyz:function(s,r,o){this.identity();var a=this.val;return a[12]=s,a[13]=r,a[14]=o,this},scaling:function(s,r,o){this.zero();var a=this.val;return a[0]=s,a[5]=r,a[10]=o,a[15]=1,this},identity:function(){return this.setValues(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},transpose:function(){var s=this.val,r=s[1],o=s[2],a=s[3],u=s[6],f=s[7],v=s[11];return s[1]=s[4],s[2]=s[8],s[3]=s[12],s[4]=r,s[6]=s[9],s[7]=s[13],s[8]=o,s[9]=u,s[11]=s[14],s[12]=a,s[13]=f,s[14]=v,this},getInverse:function(s){return this.copy(s),this.invert()},invert:function(){var s=this.val,r=s[0],o=s[1],a=s[2],u=s[3],f=s[4],v=s[5],c=s[6],g=s[7],p=s[8],T=s[9],C=s[10],M=s[11],A=s[12],R=s[13],P=s[14],L=s[15],F=r*v-o*f,w=r*c-a*f,O=r*g-u*f,B=o*c-a*v,I=o*g-u*v,D=a*g-u*c,N=p*R-T*A,z=p*P-C*A,V=p*L-M*A,U=T*P-C*R,G=T*L-M*R,b=C*L-M*P,Y=F*b-w*G+O*U+B*V-I*z+D*N;return Y?(Y=1/Y,this.setValues((v*b-c*G+g*U)*Y,(a*G-o*b-u*U)*Y,(R*D-P*I+L*B)*Y,(C*I-T*D-M*B)*Y,(c*V-f*b-g*z)*Y,(r*b-a*V+u*z)*Y,(P*O-A*D-L*w)*Y,(p*D-C*O+M*w)*Y,(f*G-v*V+g*N)*Y,(o*V-r*G-u*N)*Y,(A*I-R*O+L*F)*Y,(T*O-p*I-M*F)*Y,(v*z-f*U-c*N)*Y,(r*U-o*z+a*N)*Y,(R*w-A*B-P*F)*Y,(p*B-T*w+C*F)*Y)):this},adjoint:function(){var s=this.val,r=s[0],o=s[1],a=s[2],u=s[3],f=s[4],v=s[5],c=s[6],g=s[7],p=s[8],T=s[9],C=s[10],M=s[11],A=s[12],R=s[13],P=s[14],L=s[15];return this.setValues(v*(C*L-M*P)-T*(c*L-g*P)+R*(c*M-g*C),-(o*(C*L-M*P)-T*(a*L-u*P)+R*(a*M-u*C)),o*(c*L-g*P)-v*(a*L-u*P)+R*(a*g-u*c),-(o*(c*M-g*C)-v*(a*M-u*C)+T*(a*g-u*c)),-(f*(C*L-M*P)-p*(c*L-g*P)+A*(c*M-g*C)),r*(C*L-M*P)-p*(a*L-u*P)+A*(a*M-u*C),-(r*(c*L-g*P)-f*(a*L-u*P)+A*(a*g-u*c)),r*(c*M-g*C)-f*(a*M-u*C)+p*(a*g-u*c),f*(T*L-M*R)-p*(v*L-g*R)+A*(v*M-g*T),-(r*(T*L-M*R)-p*(o*L-u*R)+A*(o*M-u*T)),r*(v*L-g*R)-f*(o*L-u*R)+A*(o*g-u*v),-(r*(v*M-g*T)-f*(o*M-u*T)+p*(o*g-u*v)),-(f*(T*P-C*R)-p*(v*P-c*R)+A*(v*C-c*T)),r*(T*P-C*R)-p*(o*P-a*R)+A*(o*C-a*T),-(r*(v*P-c*R)-f*(o*P-a*R)+A*(o*c-a*v)),r*(v*C-c*T)-f*(o*C-a*T)+p*(o*c-a*v))},determinant:function(){var s=this.val,r=s[0],o=s[1],a=s[2],u=s[3],f=s[4],v=s[5],c=s[6],g=s[7],p=s[8],T=s[9],C=s[10],M=s[11],A=s[12],R=s[13],P=s[14],L=s[15],F=r*v-o*f,w=r*c-a*f,O=r*g-u*f,B=o*c-a*v,I=o*g-u*v,D=a*g-u*c,N=p*R-T*A,z=p*P-C*A,V=p*L-M*A,U=T*P-C*R,G=T*L-M*R,b=C*L-M*P;return F*b-w*G+O*U+B*V-I*z+D*N},multiply:function(s){var r=this.val,o=r[0],a=r[1],u=r[2],f=r[3],v=r[4],c=r[5],g=r[6],p=r[7],T=r[8],C=r[9],M=r[10],A=r[11],R=r[12],P=r[13],L=r[14],F=r[15],w=s.val,O=w[0],B=w[1],I=w[2],D=w[3];return r[0]=O*o+B*v+I*T+D*R,r[1]=O*a+B*c+I*C+D*P,r[2]=O*u+B*g+I*M+D*L,r[3]=O*f+B*p+I*A+D*F,O=w[4],B=w[5],I=w[6],D=w[7],r[4]=O*o+B*v+I*T+D*R,r[5]=O*a+B*c+I*C+D*P,r[6]=O*u+B*g+I*M+D*L,r[7]=O*f+B*p+I*A+D*F,O=w[8],B=w[9],I=w[10],D=w[11],r[8]=O*o+B*v+I*T+D*R,r[9]=O*a+B*c+I*C+D*P,r[10]=O*u+B*g+I*M+D*L,r[11]=O*f+B*p+I*A+D*F,O=w[12],B=w[13],I=w[14],D=w[15],r[12]=O*o+B*v+I*T+D*R,r[13]=O*a+B*c+I*C+D*P,r[14]=O*u+B*g+I*M+D*L,r[15]=O*f+B*p+I*A+D*F,this},multiplyLocal:function(s){var r=this.val,o=s.val;return this.setValues(r[0]*o[0]+r[1]*o[4]+r[2]*o[8]+r[3]*o[12],r[0]*o[1]+r[1]*o[5]+r[2]*o[9]+r[3]*o[13],r[0]*o[2]+r[1]*o[6]+r[2]*o[10]+r[3]*o[14],r[0]*o[3]+r[1]*o[7]+r[2]*o[11]+r[3]*o[15],r[4]*o[0]+r[5]*o[4]+r[6]*o[8]+r[7]*o[12],r[4]*o[1]+r[5]*o[5]+r[6]*o[9]+r[7]*o[13],r[4]*o[2]+r[5]*o[6]+r[6]*o[10]+r[7]*o[14],r[4]*o[3]+r[5]*o[7]+r[6]*o[11]+r[7]*o[15],r[8]*o[0]+r[9]*o[4]+r[10]*o[8]+r[11]*o[12],r[8]*o[1]+r[9]*o[5]+r[10]*o[9]+r[11]*o[13],r[8]*o[2]+r[9]*o[6]+r[10]*o[10]+r[11]*o[14],r[8]*o[3]+r[9]*o[7]+r[10]*o[11]+r[11]*o[15],r[12]*o[0]+r[13]*o[4]+r[14]*o[8]+r[15]*o[12],r[12]*o[1]+r[13]*o[5]+r[14]*o[9]+r[15]*o[13],r[12]*o[2]+r[13]*o[6]+r[14]*o[10]+r[15]*o[14],r[12]*o[3]+r[13]*o[7]+r[14]*o[11]+r[15]*o[15])},premultiply:function(s){return this.multiplyMatrices(s,this)},multiplyMatrices:function(s,r){var o=s.val,a=r.val,u=o[0],f=o[4],v=o[8],c=o[12],g=o[1],p=o[5],T=o[9],C=o[13],M=o[2],A=o[6],R=o[10],P=o[14],L=o[3],F=o[7],w=o[11],O=o[15],B=a[0],I=a[4],D=a[8],N=a[12],z=a[1],V=a[5],U=a[9],G=a[13],b=a[2],Y=a[6],W=a[10],H=a[14],X=a[3],K=a[7],Z=a[11],Q=a[15];return this.setValues(u*B+f*z+v*b+c*X,g*B+p*z+T*b+C*X,M*B+A*z+R*b+P*X,L*B+F*z+w*b+O*X,u*I+f*V+v*Y+c*K,g*I+p*V+T*Y+C*K,M*I+A*V+R*Y+P*K,L*I+F*V+w*Y+O*K,u*D+f*U+v*W+c*Z,g*D+p*U+T*W+C*Z,M*D+A*U+R*W+P*Z,L*D+F*U+w*W+O*Z,u*N+f*G+v*H+c*Q,g*N+p*G+T*H+C*Q,M*N+A*G+R*H+P*Q,L*N+F*G+w*H+O*Q)},translate:function(s){return this.translateXYZ(s.x,s.y,s.z)},translateXYZ:function(s,r,o){var a=this.val;return a[12]=a[0]*s+a[4]*r+a[8]*o+a[12],a[13]=a[1]*s+a[5]*r+a[9]*o+a[13],a[14]=a[2]*s+a[6]*r+a[10]*o+a[14],a[15]=a[3]*s+a[7]*r+a[11]*o+a[15],this},scale:function(s){return this.scaleXYZ(s.x,s.y,s.z)},scaleXYZ:function(s,r,o){var a=this.val;return a[0]=a[0]*s,a[1]=a[1]*s,a[2]=a[2]*s,a[3]=a[3]*s,a[4]=a[4]*r,a[5]=a[5]*r,a[6]=a[6]*r,a[7]=a[7]*r,a[8]=a[8]*o,a[9]=a[9]*o,a[10]=a[10]*o,a[11]=a[11]*o,this},makeRotationAxis:function(s,r){var o=Math.cos(r),a=Math.sin(r),u=1-o,f=s.x,v=s.y,c=s.z,g=u*f,p=u*v;return this.setValues(g*f+o,g*v-a*c,g*c+a*v,0,g*v+a*c,p*v+o,p*c-a*f,0,g*c-a*v,p*c+a*f,u*c*c+o,0,0,0,0,1)},rotate:function(s,r){var o=this.val,a=r.x,u=r.y,f=r.z,v=Math.sqrt(a*a+u*u+f*f);if(Math.abs(v){/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return Math.min(n+m,S)};E.exports=y},50040:E=>{/** + * @author Vladislav Forsh + * @copyright 2021 RoboWhale + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){var m=n.length;if(m===0)return 0;n.sort(function(x,h){return x-h});var S=Math.floor(m/2);return m%2===0?(n[S]+n[S-1])/2:n[S]};E.exports=y},37204:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return Math.max(n-m,S)};E.exports=y},65201:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){S===void 0&&(S=m+1);var h=(n-m)/(S-m);return h>1?x!==void 0?(h=(x-n)/(x-S),h<0&&(h=0)):h=1:h<0&&(h=0),h};E.exports=y},15746:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(94434),x=n(29747),h=n(25836),d=1e-6,t=new Int8Array([1,2,0]),e=new Float32Array([0,0,0]),l=new h(1,0,0),i=new h(0,1,0),s=new h,r=new S,o=new m({initialize:function(u,f,v,c){this.onChangeCallback=x,this.set(u,f,v,c)},x:{get:function(){return this._x},set:function(a){this._x=a,this.onChangeCallback(this)}},y:{get:function(){return this._y},set:function(a){this._y=a,this.onChangeCallback(this)}},z:{get:function(){return this._z},set:function(a){this._z=a,this.onChangeCallback(this)}},w:{get:function(){return this._w},set:function(a){this._w=a,this.onChangeCallback(this)}},copy:function(a){return this.set(a)},set:function(a,u,f,v,c){return c===void 0&&(c=!0),typeof a=="object"?(this._x=a.x||0,this._y=a.y||0,this._z=a.z||0,this._w=a.w||0):(this._x=a||0,this._y=u||0,this._z=f||0,this._w=v||0),c&&this.onChangeCallback(this),this},add:function(a){return this._x+=a.x,this._y+=a.y,this._z+=a.z,this._w+=a.w,this.onChangeCallback(this),this},subtract:function(a){return this._x-=a.x,this._y-=a.y,this._z-=a.z,this._w-=a.w,this.onChangeCallback(this),this},scale:function(a){return this._x*=a,this._y*=a,this._z*=a,this._w*=a,this.onChangeCallback(this),this},length:function(){var a=this.x,u=this.y,f=this.z,v=this.w;return Math.sqrt(a*a+u*u+f*f+v*v)},lengthSq:function(){var a=this.x,u=this.y,f=this.z,v=this.w;return a*a+u*u+f*f+v*v},normalize:function(){var a=this.x,u=this.y,f=this.z,v=this.w,c=a*a+u*u+f*f+v*v;return c>0&&(c=1/Math.sqrt(c),this._x=a*c,this._y=u*c,this._z=f*c,this._w=v*c),this.onChangeCallback(this),this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.w},lerp:function(a,u){u===void 0&&(u=0);var f=this.x,v=this.y,c=this.z,g=this.w;return this.set(f+u*(a.x-f),v+u*(a.y-v),c+u*(a.z-c),g+u*(a.w-g))},rotationTo:function(a,u){var f=a.x*u.x+a.y*u.y+a.z*u.z;return f<-.999999?(s.copy(l).cross(a).length().999999?this.set(0,0,0,1):(s.copy(a).cross(u),this._x=s.x,this._y=s.y,this._z=s.z,this._w=1+f,this.normalize())},setAxes:function(a,u,f){var v=r.val;return v[0]=u.x,v[3]=u.y,v[6]=u.z,v[1]=f.x,v[4]=f.y,v[7]=f.z,v[2]=-a.x,v[5]=-a.y,v[8]=-a.z,this.fromMat3(r).normalize()},identity:function(){return this.set(0,0,0,1)},setAxisAngle:function(a,u){u=u*.5;var f=Math.sin(u);return this.set(f*a.x,f*a.y,f*a.z,Math.cos(u))},multiply:function(a){var u=this.x,f=this.y,v=this.z,c=this.w,g=a.x,p=a.y,T=a.z,C=a.w;return this.set(u*C+c*g+f*T-v*p,f*C+c*p+v*g-u*T,v*C+c*T+u*p-f*g,c*C-u*g-f*p-v*T)},slerp:function(a,u){var f=this.x,v=this.y,c=this.z,g=this.w,p=a.x,T=a.y,C=a.z,M=a.w,A=f*p+v*T+c*C+g*M;A<0&&(A=-A,p=-p,T=-T,C=-C,M=-M);var R=1-u,P=u;if(1-A>d){var L=Math.acos(A),F=Math.sin(L);R=Math.sin((1-u)*L)/F,P=Math.sin(u*L)/F}return this.set(R*f+P*p,R*v+P*T,R*c+P*C,R*g+P*M)},invert:function(){var a=this.x,u=this.y,f=this.z,v=this.w,c=a*a+u*u+f*f+v*v,g=c?1/c:0;return this.set(-a*g,-u*g,-f*g,v*g)},conjugate:function(){return this._x=-this.x,this._y=-this.y,this._z=-this.z,this.onChangeCallback(this),this},rotateX:function(a){a*=.5;var u=this.x,f=this.y,v=this.z,c=this.w,g=Math.sin(a),p=Math.cos(a);return this.set(u*p+c*g,f*p+v*g,v*p-f*g,c*p-u*g)},rotateY:function(a){a*=.5;var u=this.x,f=this.y,v=this.z,c=this.w,g=Math.sin(a),p=Math.cos(a);return this.set(u*p-v*g,f*p+c*g,v*p+u*g,c*p-f*g)},rotateZ:function(a){a*=.5;var u=this.x,f=this.y,v=this.z,c=this.w,g=Math.sin(a),p=Math.cos(a);return this.set(u*p+f*g,f*p-u*g,v*p+c*g,c*p-v*g)},calculateW:function(){var a=this.x,u=this.y,f=this.z;return this.w=-Math.sqrt(1-a*a-u*u-f*f),this},setFromEuler:function(a,u){var f=a.x/2,v=a.y/2,c=a.z/2,g=Math.cos(f),p=Math.cos(v),T=Math.cos(c),C=Math.sin(f),M=Math.sin(v),A=Math.sin(c);switch(a.order){case"XYZ":{this.set(C*p*T+g*M*A,g*M*T-C*p*A,g*p*A+C*M*T,g*p*T-C*M*A,u);break}case"YXZ":{this.set(C*p*T+g*M*A,g*M*T-C*p*A,g*p*A-C*M*T,g*p*T+C*M*A,u);break}case"ZXY":{this.set(C*p*T-g*M*A,g*M*T+C*p*A,g*p*A+C*M*T,g*p*T-C*M*A,u);break}case"ZYX":{this.set(C*p*T-g*M*A,g*M*T+C*p*A,g*p*A-C*M*T,g*p*T+C*M*A,u);break}case"YZX":{this.set(C*p*T+g*M*A,g*M*T+C*p*A,g*p*A-C*M*T,g*p*T-C*M*A,u);break}case"XZY":{this.set(C*p*T-g*M*A,g*M*T-C*p*A,g*p*A+C*M*T,g*p*T+C*M*A,u);break}}return this},setFromRotationMatrix:function(a){var u=a.val,f=u[0],v=u[4],c=u[8],g=u[1],p=u[5],T=u[9],C=u[2],M=u[6],A=u[10],R=f+p+A,P;return R>0?(P=.5/Math.sqrt(R+1),this.set((M-T)*P,(c-C)*P,(g-v)*P,.25/P)):f>p&&f>A?(P=2*Math.sqrt(1+f-p-A),this.set(.25*P,(v+g)/P,(c+C)/P,(M-T)/P)):p>A?(P=2*Math.sqrt(1+p-f-A),this.set((v+g)/P,.25*P,(T+M)/P,(c-C)/P)):(P=2*Math.sqrt(1+A-f-p),this.set((c+C)/P,(T+M)/P,.25*P,(g-v)/P)),this},fromMat3:function(a){var u=a.val,f=u[0]+u[4]+u[8],v;if(f>0)v=Math.sqrt(f+1),this.w=.5*v,v=.5/v,this._x=(u[7]-u[5])*v,this._y=(u[2]-u[6])*v,this._z=(u[3]-u[1])*v;else{var c=0;u[4]>u[0]&&(c=1),u[8]>u[c*3+c]&&(c=2);var g=t[c],p=t[g];v=Math.sqrt(u[c*3+c]-u[g*3+g]-u[p*3+p]+1),e[c]=.5*v,v=.5/v,e[g]=(u[g*3+c]+u[c*3+g])*v,e[p]=(u[p*3+c]+u[c*3+p])*v,this._x=e[0],this._y=e[1],this._z=e[2],this._w=(u[p*3+g]-u[g*3+p])*v}return this.onChangeCallback(this),this}});E.exports=o},43396:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(36383),S=function(x){return x*m.RAD_TO_DEG};E.exports=S},74362:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){m===void 0&&(m=1);var S=Math.random()*2*Math.PI;return n.x=Math.cos(S)*m,n.y=Math.sin(S)*m,n};E.exports=y},60706:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){m===void 0&&(m=1);var S=Math.random()*2*Math.PI,x=Math.random()*2-1,h=Math.sqrt(1-x*x)*m;return n.x=Math.cos(S)*h,n.y=Math.sin(S)*h,n.z=x*m,n};E.exports=y},67421:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m===void 0&&(m=1),n.x=(Math.random()*2-1)*m,n.y=(Math.random()*2-1)*m,n.z=(Math.random()*2-1)*m,n.w=(Math.random()*2-1)*m,n};E.exports=y},36305:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){var S=n.x,x=n.y;return n.x=S*Math.cos(m)-x*Math.sin(m),n.y=S*Math.sin(m)+x*Math.cos(m),n};E.exports=y},11520:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){var h=Math.cos(x),d=Math.sin(x),t=n.x-m,e=n.y-S;return n.x=t*h-e*d+m,n.y=t*d+e*h+S,n};E.exports=y},1163:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x,h){var d=x+Math.atan2(n.y-S,n.x-m);return n.x=m+h*Math.cos(d),n.y=S+h*Math.sin(d),n};E.exports=y},70336:E=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x,h){return n.x=m+h*Math.cos(x),n.y=S+h*Math.sin(x),n};E.exports=y},72678:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(25836),S=n(37867),x=n(15746),h=new S,d=new x,t=new m,e=function(l,i,s){return d.setAxisAngle(i,s),h.fromRotationTranslation(d,t.set(0,0,0)),l.transformMat4(h)};E.exports=e},2284:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n>0?Math.ceil(n):Math.floor(n)};E.exports=y},41013:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){m===void 0&&(m=0),S===void 0&&(S=10);var x=Math.pow(S,-m);return Math.round(n*x)/x};E.exports=y},7602:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return n<=m?0:n>=S?1:(n=(n-m)/(S-m),n*n*(3-2*n))};E.exports=y},54261:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return n=Math.max(0,Math.min(1,(n-m)/(S-m))),n*n*n*(n*(n*6-15)+10)};E.exports=y},44408:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h,d,t){t===void 0&&(t=new m);var e=0,l=0,i=h*d;return x>0&&x<=i&&(x>h-1?(l=Math.floor(x/h),e=x-l*h):e=x),t.set(e,l)};E.exports=S},85955:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h,d,t,e,l,i,s){s===void 0&&(s=new m);var r=Math.sin(e),o=Math.cos(e),a=o*l,u=r*l,f=-r*i,v=o*i,c=1/(a*v+f*-u);return s.x=v*c*x+-f*c*h+(t*f-d*v)*c,s.y=a*c*h+-u*c*x+(-t*a+d*u)*c,s};E.exports=S},26099:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(43855),x=new m({initialize:function(d,t){this.x=0,this.y=0,typeof d=="object"?(this.x=d.x||0,this.y=d.y||0):(t===void 0&&(t=d),this.x=d||0,this.y=t||0)},clone:function(){return new x(this.x,this.y)},copy:function(h){return this.x=h.x||0,this.y=h.y||0,this},setFromObject:function(h){return this.x=h.x||0,this.y=h.y||0,this},set:function(h,d){return d===void 0&&(d=h),this.x=h,this.y=d,this},setTo:function(h,d){return this.set(h,d)},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},invert:function(){return this.set(this.y,this.x)},setToPolar:function(h,d){return d==null&&(d=1),this.x=Math.cos(h)*d,this.y=Math.sin(h)*d,this},equals:function(h){return this.x===h.x&&this.y===h.y},fuzzyEquals:function(h,d){return S(this.x,h.x,d)&&S(this.y,h.y,d)},angle:function(){var h=Math.atan2(this.y,this.x);return h<0&&(h+=2*Math.PI),h},setAngle:function(h){return this.setToPolar(h,this.length())},add:function(h){return this.x+=h.x,this.y+=h.y,this},subtract:function(h){return this.x-=h.x,this.y-=h.y,this},multiply:function(h){return this.x*=h.x,this.y*=h.y,this},scale:function(h){return isFinite(h)?(this.x*=h,this.y*=h):(this.x=0,this.y=0),this},divide:function(h){return this.x/=h.x,this.y/=h.y,this},negate:function(){return this.x=-this.x,this.y=-this.y,this},distance:function(h){var d=h.x-this.x,t=h.y-this.y;return Math.sqrt(d*d+t*t)},distanceSq:function(h){var d=h.x-this.x,t=h.y-this.y;return d*d+t*t},length:function(){var h=this.x,d=this.y;return Math.sqrt(h*h+d*d)},setLength:function(h){return this.normalize().scale(h)},lengthSq:function(){var h=this.x,d=this.y;return h*h+d*d},normalize:function(){var h=this.x,d=this.y,t=h*h+d*d;return t>0&&(t=1/Math.sqrt(t),this.x=h*t,this.y=d*t),this},normalizeRightHand:function(){var h=this.x;return this.x=this.y*-1,this.y=h,this},normalizeLeftHand:function(){var h=this.x;return this.x=this.y,this.y=h*-1,this},dot:function(h){return this.x*h.x+this.y*h.y},cross:function(h){return this.x*h.y-this.y*h.x},lerp:function(h,d){d===void 0&&(d=0);var t=this.x,e=this.y;return this.x=t+d*(h.x-t),this.y=e+d*(h.y-e),this},transformMat3:function(h){var d=this.x,t=this.y,e=h.val;return this.x=e[0]*d+e[3]*t+e[6],this.y=e[1]*d+e[4]*t+e[7],this},transformMat4:function(h){var d=this.x,t=this.y,e=h.val;return this.x=e[0]*d+e[4]*t+e[12],this.y=e[1]*d+e[5]*t+e[13],this},reset:function(){return this.x=0,this.y=0,this},limit:function(h){var d=this.length();return d&&d>h&&this.scale(h/d),this},reflect:function(h){return h=h.clone().normalize(),this.subtract(h.scale(2*this.dot(h)))},mirror:function(h){return this.reflect(h).negate()},rotate:function(h){var d=Math.cos(h),t=Math.sin(h);return this.set(d*this.x-t*this.y,t*this.x+d*this.y)},project:function(h){var d=this.dot(h)/h.dot(h);return this.copy(h).scale(d)},projectUnit:function(h,d){d===void 0&&(d=new x);var t=this.x*h.x+this.y*h.y;return t!==0&&(d.x=t*h.x,d.y=t*h.y),d}});x.ZERO=new x,x.RIGHT=new x(1,0),x.LEFT=new x(-1,0),x.UP=new x(0,-1),x.DOWN=new x(0,1),x.ONE=new x(1,1),E.exports=x},25836:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h,d,t){this.x=0,this.y=0,this.z=0,typeof h=="object"?(this.x=h.x||0,this.y=h.y||0,this.z=h.z||0):(this.x=h||0,this.y=d||0,this.z=t||0)},up:function(){return this.x=0,this.y=1,this.z=0,this},min:function(x){return this.x=Math.min(this.x,x.x),this.y=Math.min(this.y,x.y),this.z=Math.min(this.z,x.z),this},max:function(x){return this.x=Math.max(this.x,x.x),this.y=Math.max(this.y,x.y),this.z=Math.max(this.z,x.z),this},clone:function(){return new S(this.x,this.y,this.z)},addVectors:function(x,h){return this.x=x.x+h.x,this.y=x.y+h.y,this.z=x.z+h.z,this},subVectors:function(x,h){return this.x=x.x-h.x,this.y=x.y-h.y,this.z=x.z-h.z,this},crossVectors:function(x,h){var d=x.x,t=x.y,e=x.z,l=h.x,i=h.y,s=h.z;return this.x=t*s-e*i,this.y=e*l-d*s,this.z=d*i-t*l,this},equals:function(x){return this.x===x.x&&this.y===x.y&&this.z===x.z},copy:function(x){return this.x=x.x,this.y=x.y,this.z=x.z||0,this},set:function(x,h,d){return typeof x=="object"?(this.x=x.x||0,this.y=x.y||0,this.z=x.z||0):(this.x=x||0,this.y=h||0,this.z=d||0),this},setFromMatrixPosition:function(x){return this.fromArray(x.val,12)},setFromMatrixColumn:function(x,h){return this.fromArray(x.val,h*4)},fromArray:function(x,h){return h===void 0&&(h=0),this.x=x[h],this.y=x[h+1],this.z=x[h+2],this},add:function(x){return this.x+=x.x,this.y+=x.y,this.z+=x.z||0,this},addScalar:function(x){return this.x+=x,this.y+=x,this.z+=x,this},addScale:function(x,h){return this.x+=x.x*h,this.y+=x.y*h,this.z+=x.z*h||0,this},subtract:function(x){return this.x-=x.x,this.y-=x.y,this.z-=x.z||0,this},multiply:function(x){return this.x*=x.x,this.y*=x.y,this.z*=x.z||1,this},scale:function(x){return isFinite(x)?(this.x*=x,this.y*=x,this.z*=x):(this.x=0,this.y=0,this.z=0),this},divide:function(x){return this.x/=x.x,this.y/=x.y,this.z/=x.z||1,this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},distance:function(x){var h=x.x-this.x,d=x.y-this.y,t=x.z-this.z||0;return Math.sqrt(h*h+d*d+t*t)},distanceSq:function(x){var h=x.x-this.x,d=x.y-this.y,t=x.z-this.z||0;return h*h+d*d+t*t},length:function(){var x=this.x,h=this.y,d=this.z;return Math.sqrt(x*x+h*h+d*d)},lengthSq:function(){var x=this.x,h=this.y,d=this.z;return x*x+h*h+d*d},normalize:function(){var x=this.x,h=this.y,d=this.z,t=x*x+h*h+d*d;return t>0&&(t=1/Math.sqrt(t),this.x=x*t,this.y=h*t,this.z=d*t),this},dot:function(x){return this.x*x.x+this.y*x.y+this.z*x.z},cross:function(x){var h=this.x,d=this.y,t=this.z,e=x.x,l=x.y,i=x.z;return this.x=d*i-t*l,this.y=t*e-h*i,this.z=h*l-d*e,this},lerp:function(x,h){h===void 0&&(h=0);var d=this.x,t=this.y,e=this.z;return this.x=d+h*(x.x-d),this.y=t+h*(x.y-t),this.z=e+h*(x.z-e),this},applyMatrix3:function(x){var h=this.x,d=this.y,t=this.z,e=x.val;return this.x=e[0]*h+e[3]*d+e[6]*t,this.y=e[1]*h+e[4]*d+e[7]*t,this.z=e[2]*h+e[5]*d+e[8]*t,this},applyMatrix4:function(x){var h=this.x,d=this.y,t=this.z,e=x.val,l=1/(e[3]*h+e[7]*d+e[11]*t+e[15]);return this.x=(e[0]*h+e[4]*d+e[8]*t+e[12])*l,this.y=(e[1]*h+e[5]*d+e[9]*t+e[13])*l,this.z=(e[2]*h+e[6]*d+e[10]*t+e[14])*l,this},transformMat3:function(x){var h=this.x,d=this.y,t=this.z,e=x.val;return this.x=h*e[0]+d*e[3]+t*e[6],this.y=h*e[1]+d*e[4]+t*e[7],this.z=h*e[2]+d*e[5]+t*e[8],this},transformMat4:function(x){var h=this.x,d=this.y,t=this.z,e=x.val;return this.x=e[0]*h+e[4]*d+e[8]*t+e[12],this.y=e[1]*h+e[5]*d+e[9]*t+e[13],this.z=e[2]*h+e[6]*d+e[10]*t+e[14],this},transformCoordinates:function(x){var h=this.x,d=this.y,t=this.z,e=x.val,l=h*e[0]+d*e[4]+t*e[8]+e[12],i=h*e[1]+d*e[5]+t*e[9]+e[13],s=h*e[2]+d*e[6]+t*e[10]+e[14],r=h*e[3]+d*e[7]+t*e[11]+e[15];return this.x=l/r,this.y=i/r,this.z=s/r,this},transformQuat:function(x){var h=this.x,d=this.y,t=this.z,e=x.x,l=x.y,i=x.z,s=x.w,r=s*h+l*t-i*d,o=s*d+i*h-e*t,a=s*t+e*d-l*h,u=-e*h-l*d-i*t;return this.x=r*s+u*-e+o*-i-a*-l,this.y=o*s+u*-l+a*-e-r*-i,this.z=a*s+u*-i+r*-l-o*-e,this},project:function(x){var h=this.x,d=this.y,t=this.z,e=x.val,l=e[0],i=e[1],s=e[2],r=e[3],o=e[4],a=e[5],u=e[6],f=e[7],v=e[8],c=e[9],g=e[10],p=e[11],T=e[12],C=e[13],M=e[14],A=e[15],R=1/(h*r+d*f+t*p+A);return this.x=(h*l+d*o+t*v+T)*R,this.y=(h*i+d*a+t*c+C)*R,this.z=(h*s+d*u+t*g+M)*R,this},projectViewMatrix:function(x,h){return this.applyMatrix4(x).applyMatrix4(h)},unprojectViewMatrix:function(x,h){return this.applyMatrix4(x).applyMatrix4(h)},unproject:function(x,h){var d=x.x,t=x.y,e=x.z,l=x.w,i=this.x-d,s=l-this.y-1-t,r=this.z;return this.x=2*i/e-1,this.y=2*s/l-1,this.z=2*r-1,this.project(h)},reset:function(){return this.x=0,this.y=0,this.z=0,this}});S.ZERO=new S,S.RIGHT=new S(1,0,0),S.LEFT=new S(-1,0,0),S.UP=new S(0,-1,0),S.DOWN=new S(0,1,0),S.FORWARD=new S(0,0,1),S.BACK=new S(0,0,-1),S.ONE=new S(1,1,1),E.exports=S},61369:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h,d,t,e){this.x=0,this.y=0,this.z=0,this.w=0,typeof h=="object"?(this.x=h.x||0,this.y=h.y||0,this.z=h.z||0,this.w=h.w||0):(this.x=h||0,this.y=d||0,this.z=t||0,this.w=e||0)},clone:function(){return new S(this.x,this.y,this.z,this.w)},copy:function(x){return this.x=x.x,this.y=x.y,this.z=x.z||0,this.w=x.w||0,this},equals:function(x){return this.x===x.x&&this.y===x.y&&this.z===x.z&&this.w===x.w},set:function(x,h,d,t){return typeof x=="object"?(this.x=x.x||0,this.y=x.y||0,this.z=x.z||0,this.w=x.w||0):(this.x=x||0,this.y=h||0,this.z=d||0,this.w=t||0),this},add:function(x){return this.x+=x.x,this.y+=x.y,this.z+=x.z||0,this.w+=x.w||0,this},subtract:function(x){return this.x-=x.x,this.y-=x.y,this.z-=x.z||0,this.w-=x.w||0,this},scale:function(x){return this.x*=x,this.y*=x,this.z*=x,this.w*=x,this},length:function(){var x=this.x,h=this.y,d=this.z,t=this.w;return Math.sqrt(x*x+h*h+d*d+t*t)},lengthSq:function(){var x=this.x,h=this.y,d=this.z,t=this.w;return x*x+h*h+d*d+t*t},normalize:function(){var x=this.x,h=this.y,d=this.z,t=this.w,e=x*x+h*h+d*d+t*t;return e>0&&(e=1/Math.sqrt(e),this.x=x*e,this.y=h*e,this.z=d*e,this.w=t*e),this},dot:function(x){return this.x*x.x+this.y*x.y+this.z*x.z+this.w*x.w},lerp:function(x,h){h===void 0&&(h=0);var d=this.x,t=this.y,e=this.z,l=this.w;return this.x=d+h*(x.x-d),this.y=t+h*(x.y-t),this.z=e+h*(x.z-e),this.w=l+h*(x.w-l),this},multiply:function(x){return this.x*=x.x,this.y*=x.y,this.z*=x.z||1,this.w*=x.w||1,this},divide:function(x){return this.x/=x.x,this.y/=x.y,this.z/=x.z||1,this.w/=x.w||1,this},distance:function(x){var h=x.x-this.x,d=x.y-this.y,t=x.z-this.z||0,e=x.w-this.w||0;return Math.sqrt(h*h+d*d+t*t+e*e)},distanceSq:function(x){var h=x.x-this.x,d=x.y-this.y,t=x.z-this.z||0,e=x.w-this.w||0;return h*h+d*d+t*t+e*e},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},transformMat4:function(x){var h=this.x,d=this.y,t=this.z,e=this.w,l=x.val;return this.x=l[0]*h+l[4]*d+l[8]*t+l[12]*e,this.y=l[1]*h+l[5]*d+l[9]*t+l[13]*e,this.z=l[2]*h+l[6]*d+l[10]*t+l[14]*e,this.w=l[3]*h+l[7]*d+l[11]*t+l[15]*e,this},transformQuat:function(x){var h=this.x,d=this.y,t=this.z,e=x.x,l=x.y,i=x.z,s=x.w,r=s*h+l*t-i*d,o=s*d+i*h-e*t,a=s*t+e*d-l*h,u=-e*h-l*d-i*t;return this.x=r*s+u*-e+o*-i-a*-l,this.y=o*s+u*-l+a*-e-r*-i,this.z=a*s+u*-i+r*-l-o*-e,this},reset:function(){return this.x=0,this.y=0,this.z=0,this.w=0,this}});S.prototype.sub=S.prototype.subtract,S.prototype.mul=S.prototype.multiply,S.prototype.div=S.prototype.divide,S.prototype.dist=S.prototype.distance,S.prototype.distSq=S.prototype.distanceSq,S.prototype.len=S.prototype.length,S.prototype.lenSq=S.prototype.lengthSq,E.exports=S},60417:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return Math.abs(n-m)<=S};E.exports=y},15994:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){var x=S-m;return m+((n-m)%x+x)%x};E.exports=y},31040:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){return Math.atan2(x-m,S-n)};E.exports=y},55495:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return Math.atan2(m.y-n.y,m.x-n.x)};E.exports=y},128:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return Math.atan2(m.x-n.x,m.y-n.y)};E.exports=y},41273:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){return Math.atan2(S-n,x-m)};E.exports=y},1432:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(36383),S=function(x){return x>Math.PI&&(x-=m.TAU),Math.abs(((x+m.PI_OVER_2)%m.TAU-m.TAU)%m.TAU)};E.exports=S},49127:(E,y,n)=>{/** + * @author samme + * @copyright 2025 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(12407),S=function(x,h){return m(h-x)};E.exports=S},52285:(E,y,n)=>{/** + * @author samme + * @copyright 2025 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(36383),S=n(12407),x=m.TAU,h=function(d,t){var e=S(t-d);return e>0&&(e-=x),e};E.exports=h},67317:(E,y,n)=>{/** + * @author samme + * @copyright 2025 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(86554),S=function(x,h){return m(h-x)};E.exports=S},12407:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n=n%(2*Math.PI),n>=0?n:n+2*Math.PI};E.exports=y},53993:(E,y,n)=>{/** + * @author Richard Davey + * @author @samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(99472),S=function(){return m(-Math.PI,Math.PI)};E.exports=S},86564:(E,y,n)=>{/** + * @author Richard Davey + * @author @samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(99472),S=function(){return m(-180,180)};E.exports=S},90154:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(12407),S=function(x){return m(x+Math.PI)};E.exports=S},48736:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(36383),S=function(x,h,d){return d===void 0&&(d=.05),x===h||(Math.abs(h-x)<=d||Math.abs(h-x)>=m.TAU-d?x=h:(Math.abs(h-x)>Math.PI&&(hx?x+=d:h{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){var S=m-n;if(S===0)return 0;var x=Math.floor((S- -180)/360);return S-x*360};E.exports=y},86554:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(15994),S=function(x){return m(x,-Math.PI,Math.PI)};E.exports=S},30954:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(15994),S=function(x){return m(x,-180,180)};E.exports=S},25588:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Between:n(31040),BetweenPoints:n(55495),BetweenPointsY:n(128),BetweenY:n(41273),CounterClockwise:n(1432),GetClockwiseDistance:n(49127),GetCounterClockwiseDistance:n(52285),GetShortestDistance:n(67317),Normalize:n(12407),Random:n(53993),RandomDegrees:n(86564),Reverse:n(90154),RotateTo:n(48736),ShortestBetween:n(61430),Wrap:n(86554),WrapDegrees:n(30954)}},36383:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={TAU:Math.PI*2,PI_OVER_2:Math.PI/2,EPSILON:1e-6,DEG_TO_RAD:Math.PI/180,RAD_TO_DEG:180/Math.PI,RND:null,MIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER||-9007199254740991,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991};E.exports=y},20339:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){var h=n-S,d=m-x;return Math.sqrt(h*h+d*d)};E.exports=y},52816:E=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){var S=n.x-m.x,x=n.y-m.y;return Math.sqrt(S*S+x*x)};E.exports=y},64559:E=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){var S=n.x-m.x,x=n.y-m.y;return S*S+x*x};E.exports=y},82340:E=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){return Math.max(Math.abs(n-S),Math.abs(m-x))};E.exports=y},14390:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x,h){return h===void 0&&(h=2),Math.sqrt(Math.pow(S-n,h)+Math.pow(x-m,h))};E.exports=y},2243:E=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){return Math.abs(n-S)+Math.abs(m-x)};E.exports=y},89774:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){var h=n-S,d=m-x;return h*h+d*d};E.exports=y},50994:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Between:n(20339),BetweenPoints:n(52816),BetweenPointsSquared:n(64559),Chebyshev:n(82340),Power:n(14390),Snake:n(2243),Squared:n(89774)}},62640:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(54178),S=n(41521),x=n(79980),h=n(85433),d=n(99140),t=n(48857),e=n(81596),l=n(59133),i=n(98516),s=n(35248),r=n(82500),o=n(49752);E.exports={Power0:e,Power1:l.Out,Power2:h.Out,Power3:i.Out,Power4:s.Out,Linear:e,Quad:l.Out,Cubic:h.Out,Quart:i.Out,Quint:s.Out,Sine:r.Out,Expo:t.Out,Circ:x.Out,Elastic:d.Out,Back:m.Out,Bounce:S.Out,Stepped:o,"Quad.easeIn":l.In,"Cubic.easeIn":h.In,"Quart.easeIn":i.In,"Quint.easeIn":s.In,"Sine.easeIn":r.In,"Expo.easeIn":t.In,"Circ.easeIn":x.In,"Elastic.easeIn":d.In,"Back.easeIn":m.In,"Bounce.easeIn":S.In,"Quad.easeOut":l.Out,"Cubic.easeOut":h.Out,"Quart.easeOut":i.Out,"Quint.easeOut":s.Out,"Sine.easeOut":r.Out,"Expo.easeOut":t.Out,"Circ.easeOut":x.Out,"Elastic.easeOut":d.Out,"Back.easeOut":m.Out,"Bounce.easeOut":S.Out,"Quad.easeInOut":l.InOut,"Cubic.easeInOut":h.InOut,"Quart.easeInOut":i.InOut,"Quint.easeInOut":s.InOut,"Sine.easeInOut":r.InOut,"Expo.easeInOut":t.InOut,"Circ.easeInOut":x.InOut,"Elastic.easeInOut":d.InOut,"Back.easeInOut":m.InOut,"Bounce.easeInOut":S.InOut}},1639:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m===void 0&&(m=1.70158),n*n*((m+1)*n-m)};E.exports=y},50099:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){m===void 0&&(m=1.70158);var S=m*1.525;return(n*=2)<1?.5*(n*n*((S+1)*n-S)):.5*((n-=2)*n*((S+1)*n+S)+2)};E.exports=y},41286:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m===void 0&&(m=1.70158),--n*n*((m+1)*n+m)+1};E.exports=y},54178:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={In:n(1639),Out:n(41286),InOut:n(50099)}},59590:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n=1-n,n<.36363636363636365?1-7.5625*n*n:n<.7272727272727273?1-(7.5625*(n-=.5454545454545454)*n+.75):n<.9090909090909091?1-(7.5625*(n-=.8181818181818182)*n+.9375):1-(7.5625*(n-=.9545454545454546)*n+.984375)};E.exports=y},41788:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){var m=!1;return n<.5?(n=1-n*2,m=!0):n=n*2-1,n<.36363636363636365?n=7.5625*n*n:n<.7272727272727273?n=7.5625*(n-=.5454545454545454)*n+.75:n<.9090909090909091?n=7.5625*(n-=.8181818181818182)*n+.9375:n=7.5625*(n-=.9545454545454546)*n+.984375,m?(1-n)*.5:n*.5+.5};E.exports=y},69905:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n<.36363636363636365?7.5625*n*n:n<.7272727272727273?7.5625*(n-=.5454545454545454)*n+.75:n<.9090909090909091?7.5625*(n-=.8181818181818182)*n+.9375:7.5625*(n-=.9545454545454546)*n+.984375};E.exports=y},41521:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={In:n(59590),Out:n(69905),InOut:n(41788)}},91861:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return 1-Math.sqrt(1-n*n)};E.exports=y},4177:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return(n*=2)<1?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1)};E.exports=y},57512:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return Math.sqrt(1- --n*n)};E.exports=y},79980:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={In:n(91861),Out:n(57512),InOut:n(4177)}},51150:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n*n*n};E.exports=y},82820:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return(n*=2)<1?.5*n*n*n:.5*((n-=2)*n*n+2)};E.exports=y},35033:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return--n*n*n+1};E.exports=y},85433:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={In:n(51150),Out:n(35033),InOut:n(82820)}},69965:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){if(m===void 0&&(m=.1),S===void 0&&(S=.1),n===0)return 0;if(n===1)return 1;var x=S/4;return m<1?m=1:x=S*Math.asin(1/m)/(2*Math.PI),-(m*Math.pow(2,10*(n-=1))*Math.sin((n-x)*(2*Math.PI)/S))};E.exports=y},50665:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){if(m===void 0&&(m=.1),S===void 0&&(S=.1),n===0)return 0;if(n===1)return 1;var x=S/4;return m<1?m=1:x=S*Math.asin(1/m)/(2*Math.PI),(n*=2)<1?-.5*(m*Math.pow(2,10*(n-=1))*Math.sin((n-x)*(2*Math.PI)/S)):m*Math.pow(2,-10*(n-=1))*Math.sin((n-x)*(2*Math.PI)/S)*.5+1};E.exports=y},7744:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){if(m===void 0&&(m=.1),S===void 0&&(S=.1),n===0)return 0;if(n===1)return 1;var x=S/4;return m<1?m=1:x=S*Math.asin(1/m)/(2*Math.PI),m*Math.pow(2,-10*n)*Math.sin((n-x)*(2*Math.PI)/S)+1};E.exports=y},99140:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={In:n(69965),Out:n(7744),InOut:n(50665)}},24590:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return Math.pow(2,10*(n-1))-.001};E.exports=y},87844:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return(n*=2)<1?.5*Math.pow(2,10*(n-1)):.5*(2-Math.pow(2,-10*(n-1)))};E.exports=y},89433:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return 1-Math.pow(2,-10*n)};E.exports=y},48857:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={In:n(24590),Out:n(89433),InOut:n(87844)}},48820:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Back:n(54178),Bounce:n(41521),Circular:n(79980),Cubic:n(85433),Elastic:n(99140),Expo:n(48857),Linear:n(81596),Quadratic:n(59133),Quartic:n(98516),Quintic:n(35248),Sine:n(82500),Stepped:n(49752)}},7147:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n};E.exports=y},81596:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports=n(7147)},34826:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n*n};E.exports=y},20544:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return(n*=2)<1?.5*n*n:-.5*(--n*(n-2)-1)};E.exports=y},92029:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n*(2-n)};E.exports=y},59133:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={In:n(34826),Out:n(92029),InOut:n(20544)}},64413:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n*n*n*n};E.exports=y},78137:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return(n*=2)<1?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2)};E.exports=y},45840:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return 1- --n*n*n*n};E.exports=y},98516:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={In:n(64413),Out:n(45840),InOut:n(78137)}},87745:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n*n*n*n*n};E.exports=y},16509:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return(n*=2)<1?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2)};E.exports=y},17868:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return--n*n*n*n*n+1};E.exports=y},35248:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={In:n(87745),Out:n(17868),InOut:n(16509)}},80461:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n===0?0:n===1?1:1-Math.cos(n*Math.PI/2)};E.exports=y},34025:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n===0?0:n===1?1:.5*(1-Math.cos(Math.PI*n))};E.exports=y},52768:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n===0?0:n===1?1:Math.sin(n*Math.PI/2)};E.exports=y},82500:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={In:n(80461),Out:n(52768),InOut:n(34025)}},72251:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m===void 0&&(m=1),n<=0?0:n>=1?1:((m*n|0)+1)*(1/m)};E.exports=y},49752:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports=n(72251)},75698:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m===void 0&&(m=1e-4),Math.ceil(n-m)};E.exports=y},43855:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return S===void 0&&(S=1e-4),Math.abs(n-m){/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m===void 0&&(m=1e-4),Math.floor(n+m)};E.exports=y},5470:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return S===void 0&&(S=1e-4),n>m-S};E.exports=y},94977:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return S===void 0&&(S=1e-4),n{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Ceil:n(75698),Equal:n(43855),Floor:n(25777),GreaterThan:n(5470),LessThan:n(94977)}},75508:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(36383),S=n(79291),x={Angle:n(25588),Distance:n(50994),Easing:n(48820),Fuzzy:n(48379),Interpolation:n(38289),Pow2:n(49001),Snap:n(73697),RandomDataGenerator:n(28453),Average:n(53307),Bernstein:n(85710),Between:n(30976),CatmullRom:n(87842),CeilTo:n(26302),Clamp:n(45319),DegToRad:n(39506),Difference:n(61241),Euler:n(38857),Factorial:n(6411),FloatBetween:n(99472),FloorTo:n(77623),FromPercent:n(62945),GetCentroid:n(2672),GetSpeed:n(38265),GetVec2Bounds:n(55133),IsEven:n(78702),IsEvenStrict:n(94883),Linear:n(28915),LinearXY:n(94908),MaxAdd:n(86883),Median:n(50040),MinSub:n(37204),Percent:n(65201),RadToDeg:n(43396),RandomXY:n(74362),RandomXYZ:n(60706),RandomXYZW:n(67421),Rotate:n(36305),RotateAround:n(11520),RotateAroundDistance:n(1163),RotateTo:n(70336),RoundAwayFromZero:n(2284),RoundTo:n(41013),SmootherStep:n(54261),SmoothStep:n(7602),ToXY:n(44408),TransformXY:n(85955),Within:n(60417),Wrap:n(15994),Vector2:n(26099),Vector3:n(25836),Vector4:n(61369),Matrix3:n(94434),Matrix4:n(37867),Quaternion:n(15746),RotateVec3:n(72678)};x=S(!1,x,m),E.exports=x},89318:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(85710),S=function(x,h){for(var d=0,t=x.length-1,e=0;e<=t;e++)d+=Math.pow(1-h,t-e)*Math.pow(h,e)*x[e]*m(t,e);return d};E.exports=S},77259:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87842),S=function(x,h){var d=x.length-1,t=d*h,e=Math.floor(t);return x[0]===x[d]?(h<0&&(e=Math.floor(t=d*(1+h))),m(t-e,x[(e-1+d)%d],x[e],x[(e+1)%d],x[(e+2)%d])):h<0?x[0]-(m(-t,x[0],x[0],x[1],x[1])-x[0]):h>1?x[d]-(m(t-d,x[d],x[d],x[d-1],x[d-1])-x[d]):m(t-e,x[e?e-1:0],x[e],x[d{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */function y(h,d){var t=1-h;return t*t*t*d}function n(h,d){var t=1-h;return 3*t*t*h*d}function m(h,d){return 3*(1-h)*h*h*d}function S(h,d){return h*h*h*d}var x=function(h,d,t,e,l){return y(h,d)+n(h,t)+m(h,e)+S(h,l)};E.exports=x},28392:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(28915),S=function(x,h){var d=x.length-1,t=d*h,e=Math.floor(t);return h<0?m(x[0],x[1],t):h>1?m(x[d],x[d-1],d-t):m(x[e],x[e+1>d?d:e+1],t-e)};E.exports=S},32112:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */function y(x,h){var d=1-x;return d*d*h}function n(x,h){return 2*(1-x)*x*h}function m(x,h){return x*x*h}var S=function(x,h,d,t){return y(x,h)+n(x,d)+m(x,t)};E.exports=S},47235:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7602),S=function(x,h,d){return h+(d-h)*m(x,0,1)};E.exports=S},50178:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(54261),S=function(x,h,d){return h+(d-h)*m(x,0,1)};E.exports=S},38289:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Bezier:n(89318),CatmullRom:n(77259),CubicBezier:n(36316),Linear:n(28392),QuadraticBezier:n(32112),SmoothStep:n(47235),SmootherStep:n(50178)}},98439:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){var m=Math.log(n)/.6931471805599453;return 1<{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n>0&&(n&n-1)===0&&m>0&&(m&m-1)===0};E.exports=y},81230:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n>0&&(n&n-1)===0};E.exports=y},49001:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={GetNext:n(98439),IsSize:n(50030),IsValue:n(81230)}},28453:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h){h===void 0&&(h=[(Date.now()*Math.random()).toString()]),this.c=1,this.s0=0,this.s1=0,this.s2=0,this.n=0,this.signs=[-1,1],h&&this.init(h)},rnd:function(){var x=2091639*this.s0+this.c*23283064365386963e-26;return this.c=x|0,this.s0=this.s1,this.s1=this.s2,this.s2=x-this.c,this.s2},hash:function(x){var h,d=this.n;x=x.toString();for(var t=0;t>>0,h-=d,h*=d,d=h>>>0,h-=d,d+=h*4294967296;return this.n=d,(d>>>0)*23283064365386963e-26},init:function(x){typeof x=="string"?this.state(x):this.sow(x)},sow:function(x){if(this.n=4022871197,this.s0=this.hash(" "),this.s1=this.hash(" "),this.s2=this.hash(" "),this.c=1,!!x)for(var h=0;h0;d--){var t=Math.floor(this.frac()*(d+1)),e=x[t];x[t]=x[d],x[d]=e}return x}});E.exports=S},63448:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){return S===void 0&&(S=0),m===0?n:(n-=S,n=m*Math.ceil(n/m),x?(S+n)/m:S+n)};E.exports=y},56583:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){return S===void 0&&(S=0),m===0?n:(n-=S,n=m*Math.floor(n/m),x?(S+n)/m:S+n)};E.exports=y},77720:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){return S===void 0&&(S=0),m===0?n:(n-=S,n=m*Math.round(n/m),x?(S+n)/m:S+n)};E.exports=y},73697:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Ceil:n(63448),Floor:n(56583),To:n(77720)}},71289:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(92209),x=n(88571),h=new m({Extends:x,Mixins:[S.Acceleration,S.Angular,S.Bounce,S.Collision,S.Debug,S.Drag,S.Enable,S.Friction,S.Gravity,S.Immovable,S.Mass,S.Pushable,S.Size,S.Velocity],initialize:function(t,e,l,i,s){x.call(this,t,e,l,i,s),this.body=null}});E.exports=h},86689:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(39506),x=n(20339),h=n(89774),d=n(66022),t=n(95540),e=n(46975),l=n(72441),i=n(47956),s=n(37277),r=n(44594),o=n(26099),a=n(82248),u=new m({initialize:function(v){this.scene=v,this.systems=v.sys,this.config=this.getConfig(),this.world,this.add,this._category=1,v.sys.events.once(r.BOOT,this.boot,this),v.sys.events.on(r.START,this.start,this)},boot:function(){this.world=new a(this.scene,this.config),this.add=new d(this.world),this.systems.events.once(r.DESTROY,this.destroy,this)},start:function(){this.world||(this.world=new a(this.scene,this.config),this.add=new d(this.world));var f=this.systems.events;t(this.config,"customUpdate",!1)||f.on(r.UPDATE,this.world.update,this.world),f.on(r.POST_UPDATE,this.world.postUpdate,this.world),f.once(r.SHUTDOWN,this.shutdown,this)},enableUpdate:function(){this.systems.events.on(r.UPDATE,this.world.update,this.world)},disableUpdate:function(){this.systems.events.off(r.UPDATE,this.world.update,this.world)},getConfig:function(){var f=this.systems.game.config.physics,v=this.systems.settings.physics,c=e(t(v,"arcade",{}),t(f,"arcade",{}));return c},nextCategory:function(){return this._category=this._category<<1,this._category},overlap:function(f,v,c,g,p){return c===void 0&&(c=null),g===void 0&&(g=null),p===void 0&&(p=c),this.world.collideObjects(f,v,c,g,p,!0)},collide:function(f,v,c,g,p){return c===void 0&&(c=null),g===void 0&&(g=null),p===void 0&&(p=c),this.world.collideObjects(f,v,c,g,p,!1)},collideTiles:function(f,v,c,g,p){return this.world.collideTiles(f,v,c,g,p)},overlapTiles:function(f,v,c,g,p){return this.world.overlapTiles(f,v,c,g,p)},pause:function(){return this.world.pause()},resume:function(){return this.world.resume()},accelerateTo:function(f,v,c,g,p,T){g===void 0&&(g=60);var C=Math.atan2(c-f.y,v-f.x);return f.body.acceleration.setToPolar(C,g),p!==void 0&&T!==void 0&&f.body.maxVelocity.set(p,T),C},accelerateToObject:function(f,v,c,g,p){return this.accelerateTo(f,v.x,v.y,c,g,p)},closest:function(f,v){v||(v=Array.from(this.world.bodies));for(var c=Number.MAX_VALUE,g=null,p=f.x,T=f.y,C=v.length,M=0;Mc&&(g=A,c=P)}}return g},moveTo:function(f,v,c,g,p){g===void 0&&(g=60),p===void 0&&(p=0);var T=Math.atan2(c-f.y,v-f.x);return p>0&&(g=x(f.x,f.y,v,c)/(p/1e3)),f.body.velocity.setToPolar(T,g),T},moveToObject:function(f,v,c,g){return this.moveTo(f,v.x,v.y,c,g)},velocityFromAngle:function(f,v,c){return v===void 0&&(v=60),c===void 0&&(c=new o),c.setToPolar(S(f),v)},velocityFromRotation:function(f,v,c){return v===void 0&&(v=60),c===void 0&&(c=new o),c.setToPolar(f,v)},overlapRect:function(f,v,c,g,p,T){return i(this.world,f,v,c,g,p,T)},overlapCirc:function(f,v,c,g,p){return l(this.world,f,v,c,g,p)},shutdown:function(){if(this.world){var f=this.systems.events;f.off(r.UPDATE,this.world.update,this.world),f.off(r.POST_UPDATE,this.world.postUpdate,this.world),f.off(r.SHUTDOWN,this.shutdown,this),this.add.destroy(),this.world.destroy(),this.add=null,this.world=null,this._category=1}},destroy:function(){this.shutdown(),this.scene.sys.events.off(r.START,this.start,this),this.scene=null,this.systems=null}});s.register("ArcadePhysics",u,"arcadePhysics"),E.exports=u},13759:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(92209),x=n(68287),h=new m({Extends:x,Mixins:[S.Acceleration,S.Angular,S.Bounce,S.Collision,S.Debug,S.Drag,S.Enable,S.Friction,S.Gravity,S.Immovable,S.Mass,S.Pushable,S.Size,S.Velocity],initialize:function(t,e,l,i,s){x.call(this,t,e,l,i,s),this.body=null}});E.exports=h},37742:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(78389),x=n(37747),h=n(63012),d=n(43396),t=n(87841),e=n(37303),l=n(95829),i=n(26099),s=new m({Mixins:[S],initialize:function(o,a){var u=64,f=64,v={x:0,y:0,angle:0,rotation:0,scaleX:1,scaleY:1,displayOriginX:0,displayOriginY:0},c=a!==void 0;c&&a.displayWidth&&(u=a.displayWidth,f=a.displayHeight),c||(a=v),this.world=o,this.gameObject=c?a:void 0,this.isBody=!0,this.transform={x:a.x,y:a.y,rotation:a.angle,scaleX:a.scaleX,scaleY:a.scaleY,displayOriginX:a.displayOriginX,displayOriginY:a.displayOriginY},this.debugShowBody=o.defaults.debugShowBody,this.debugShowVelocity=o.defaults.debugShowVelocity,this.debugBodyColor=o.defaults.bodyDebugColor,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i,this.position=new i(a.x-a.scaleX*a.displayOriginX,a.y-a.scaleY*a.displayOriginY),this.prev=this.position.clone(),this.prevFrame=this.position.clone(),this.allowRotation=!0,this.rotation=a.angle,this.preRotation=a.angle,this.width=u,this.height=f,this.sourceWidth=u,this.sourceHeight=f,a.frame&&(this.sourceWidth=a.frame.realWidth,this.sourceHeight=a.frame.realHeight),this.halfWidth=Math.abs(u/2),this.halfHeight=Math.abs(f/2),this.center=new i(this.position.x+this.halfWidth,this.position.y+this.halfHeight),this.velocity=new i,this.newVelocity=new i,this.deltaMax=new i,this.acceleration=new i,this.allowDrag=!0,this.drag=new i,this.allowGravity=!0,this.gravity=new i,this.bounce=new i,this.worldBounce=null,this.customBoundsRectangle=o.bounds,this.onWorldBounds=!1,this.onCollide=!1,this.onOverlap=!1,this.maxVelocity=new i(1e4,1e4),this.maxSpeed=-1,this.friction=new i(1,0),this.useDamping=!1,this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=x.FACING_NONE,this.immovable=!1,this.pushable=!0,this.slideFactor=new i(1,1),this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision=l(!1),this.touching=l(!0),this.wasTouching=l(!0),this.blocked=l(!0),this.syncBounds=!1,this.physicsType=x.DYNAMIC_BODY,this.collisionCategory=1,this.collisionMask=1,this._sx=a.scaleX,this._sy=a.scaleY,this._dx=0,this._dy=0,this._tx=0,this._ty=0,this._bounds=new t,this.directControl=!1,this.autoFrame=this.position.clone()},updateBounds:function(){var r=this.gameObject,o=this.transform;if(r.parentContainer){var a=r.getWorldTransformMatrix(this.world._tempMatrix,this.world._tempMatrix2);o.x=a.tx,o.y=a.ty,o.rotation=d(a.rotation),o.scaleX=a.scaleX,o.scaleY=a.scaleY,o.displayOriginX=r.displayOriginX,o.displayOriginY=r.displayOriginY}else o.x=r.x,o.y=r.y,o.rotation=r.angle,o.scaleX=r.scaleX,o.scaleY=r.scaleY,o.displayOriginX=r.displayOriginX,o.displayOriginY=r.displayOriginY;var u=!1;if(this.syncBounds){var f=r.getBounds(this._bounds);this.width=f.width,this.height=f.height,u=!0}else{var v=Math.abs(o.scaleX),c=Math.abs(o.scaleY);(this._sx!==v||this._sy!==c)&&(this.width=this.sourceWidth*v,this.height=this.sourceHeight*c,this._sx=v,this._sy=c,u=!0)}u&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.set(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},updateFromGameObject:function(){this.updateBounds();var r=this.transform;this.position.x=r.x+r.scaleX*(this.offset.x-r.displayOriginX),this.position.y=r.y+r.scaleY*(this.offset.y-r.displayOriginY),this.updateCenter()},resetFlags:function(r){r===void 0&&(r=!1);var o=this.wasTouching,a=this.touching,u=this.blocked;r?l(!0,o):(o.none=a.none,o.up=a.up,o.down=a.down,o.left=a.left,o.right=a.right),l(!0,a),l(!0,u),this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1},preUpdate:function(r,o){if(r&&this.resetFlags(),this.gameObject&&this.updateFromGameObject(),this.rotation=this.transform.rotation,this.preRotation=this.rotation,this.moves){var a=this.position;this.prev.x=a.x,this.prev.y=a.y,this.prevFrame.x=a.x,this.prevFrame.y=a.y}r&&this.update(o)},update:function(r){var o=this.prev,a=this.position,u=this.velocity;if(o.set(a.x,a.y),!this.moves){this._dx=a.x-o.x,this._dy=a.y-o.y;return}if(this.directControl){var f=this.autoFrame;u.set((a.x-f.x)/r,(a.y-f.y)/r),this.world.updateMotion(this,r),this._dx=a.x-f.x,this._dy=a.y-f.y}else this.world.updateMotion(this,r),this.newVelocity.set(u.x*r,u.y*r),a.add(this.newVelocity),this._dx=a.x-o.x,this._dy=a.y-o.y;var v=u.x,c=u.y;if(this.updateCenter(),this.angle=Math.atan2(c,v),this.speed=Math.sqrt(v*v+c*c),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds){var g=this.blocked;this.world.emit(h.WORLD_BOUNDS,this,g.up,g.down,g.left,g.right)}},postUpdate:function(){var r=this.position,o=r.x-this.prevFrame.x,a=r.y-this.prevFrame.y,u=this.gameObject;if(this.moves){var f=this.deltaMax.x,v=this.deltaMax.y;f!==0&&o!==0&&(o<0&&o<-f?o=-f:o>0&&o>f&&(o=f)),v!==0&&a!==0&&(a<0&&a<-v?a=-v:a>0&&a>v&&(a=v)),u&&(u.x+=o,u.y+=a)}o<0?this.facing=x.FACING_LEFT:o>0&&(this.facing=x.FACING_RIGHT),a<0?this.facing=x.FACING_UP:a>0&&(this.facing=x.FACING_DOWN),this.allowRotation&&u&&(u.angle+=this.deltaZ()),this._tx=o,this._ty=a,this.autoFrame.set(r.x,r.y)},setBoundsRectangle:function(r){return this.customBoundsRectangle=r||this.world.bounds,this},checkWorldBounds:function(){var r=this.position,o=this.velocity,a=this.blocked,u=this.customBoundsRectangle,f=this.world.checkCollision,v=this.worldBounce?-this.worldBounce.x:-this.bounce.x,c=this.worldBounce?-this.worldBounce.y:-this.bounce.y,g=!1;return r.xu.right&&f.right&&(r.x=u.right-this.width,o.x*=v,a.right=!0,g=!0),r.yu.bottom&&f.down&&(r.y=u.bottom-this.height,o.y*=c,a.down=!0,g=!0),g&&(this.blocked.none=!1,this.updateCenter()),g},setOffset:function(r,o){return o===void 0&&(o=r),this.offset.set(r,o),this},setGameObject:function(r,o){if(o===void 0&&(o=!0),!r||!r.hasTransformComponent)return this;var a=this.world;return this.gameObject&&this.gameObject.body&&(a.disable(this.gameObject),this.gameObject.body=null),r.body&&a.disable(r),this.gameObject=r,r.body=this,this.setSize(),this.enable=o,this},setSize:function(r,o,a){a===void 0&&(a=!0);var u=this.gameObject;if(u&&(!r&&u.frame&&(r=u.frame.realWidth),!o&&u.frame&&(o=u.frame.realHeight)),this.sourceWidth=r,this.sourceHeight=o,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter(),a&&u&&u.getCenter){var f=(u.width-r)/2,v=(u.height-o)/2;this.offset.set(f,v)}return this.isCircle=!1,this.radius=0,this},setCircle:function(r,o,a){return o===void 0&&(o=this.offset.x),a===void 0&&(a=this.offset.y),r>0?(this.isCircle=!0,this.radius=r,this.sourceWidth=r*2,this.sourceHeight=r*2,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.set(o,a),this.updateCenter()):this.isCircle=!1,this},reset:function(r,o){this.stop();var a=this.gameObject;a&&(a.setPosition(r,o),this.rotation=a.angle,this.preRotation=a.angle);var u=this.position;a&&a.getTopLeft?a.getTopLeft(u):u.set(r,o),this.prev.copy(u),this.prevFrame.copy(u),this.autoFrame.copy(u),a&&this.updateBounds(),this.updateCenter(),this.collideWorldBounds&&this.checkWorldBounds(),this.resetFlags(!0)},stop:function(){return this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0,this},getBounds:function(r){return r.x=this.x,r.y=this.y,r.right=this.right,r.bottom=this.bottom,r},hitTest:function(r,o){if(!this.isCircle)return e(this,r,o);if(this.radius>0&&r>=this.left&&r<=this.right&&o>=this.top&&o<=this.bottom){var a=(this.center.x-r)*(this.center.x-r),u=(this.center.y-o)*(this.center.y-o);return a+u<=this.radius*this.radius}return!1},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this._dx>0?this._dx:-this._dx},deltaAbsY:function(){return this._dy>0?this._dy:-this._dy},deltaX:function(){return this._dx},deltaY:function(){return this._dy},deltaXFinal:function(){return this._tx},deltaYFinal:function(){return this._ty},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.enable=!1,this.world&&this.world.pendingDestroy.add(this)},drawDebug:function(r){var o=this.position,a=o.x+this.halfWidth,u=o.y+this.halfHeight;this.debugShowBody&&(r.lineStyle(r.defaultStrokeWidth,this.debugBodyColor),this.isCircle?r.strokeCircle(a,u,this.width/2):(this.checkCollision.up&&r.lineBetween(o.x,o.y,o.x+this.width,o.y),this.checkCollision.right&&r.lineBetween(o.x+this.width,o.y,o.x+this.width,o.y+this.height),this.checkCollision.down&&r.lineBetween(o.x,o.y+this.height,o.x+this.width,o.y+this.height),this.checkCollision.left&&r.lineBetween(o.x,o.y,o.x,o.y+this.height))),this.debugShowVelocity&&(r.lineStyle(r.defaultStrokeWidth,this.world.defaults.velocityDebugColor,1),r.lineBetween(a,u,a+this.velocity.x/2,u+this.velocity.y/2))},willDrawDebug:function(){return this.debugShowBody||this.debugShowVelocity},setDirectControl:function(r){return r===void 0&&(r=!0),this.directControl=r,this},setCollideWorldBounds:function(r,o,a,u){r===void 0&&(r=!0),this.collideWorldBounds=r;var f=o!==void 0,v=a!==void 0;return(f||v)&&(this.worldBounce||(this.worldBounce=new i),f&&(this.worldBounce.x=o),v&&(this.worldBounce.y=a)),u!==void 0&&(this.onWorldBounds=u),this},setVelocity:function(r,o){return this.velocity.set(r,o),r=this.velocity.x,o=this.velocity.y,this.speed=Math.sqrt(r*r+o*o),this},setVelocityX:function(r){return this.setVelocity(r,this.velocity.y)},setVelocityY:function(r){return this.setVelocity(this.velocity.x,r)},setMaxVelocity:function(r,o){return this.maxVelocity.set(r,o),this},setMaxVelocityX:function(r){return this.maxVelocity.x=r,this},setMaxVelocityY:function(r){return this.maxVelocity.y=r,this},setMaxSpeed:function(r){return this.maxSpeed=r,this},setSlideFactor:function(r,o){return this.slideFactor.set(r,o),this},setBounce:function(r,o){return this.bounce.set(r,o),this},setBounceX:function(r){return this.bounce.x=r,this},setBounceY:function(r){return this.bounce.y=r,this},setAcceleration:function(r,o){return this.acceleration.set(r,o),this},setAccelerationX:function(r){return this.acceleration.x=r,this},setAccelerationY:function(r){return this.acceleration.y=r,this},setAllowDrag:function(r){return r===void 0&&(r=!0),this.allowDrag=r,this},setAllowGravity:function(r){return r===void 0&&(r=!0),this.allowGravity=r,this},setAllowRotation:function(r){return r===void 0&&(r=!0),this.allowRotation=r,this},setDrag:function(r,o){return this.drag.set(r,o),this},setDamping:function(r){return this.useDamping=r,this},setDragX:function(r){return this.drag.x=r,this},setDragY:function(r){return this.drag.y=r,this},setGravity:function(r,o){return this.gravity.set(r,o),this},setGravityX:function(r){return this.gravity.x=r,this},setGravityY:function(r){return this.gravity.y=r,this},setFriction:function(r,o){return this.friction.set(r,o),this},setFrictionX:function(r){return this.friction.x=r,this},setFrictionY:function(r){return this.friction.y=r,this},setAngularVelocity:function(r){return this.angularVelocity=r,this},setAngularAcceleration:function(r){return this.angularAcceleration=r,this},setAngularDrag:function(r){return this.angularDrag=r,this},setMass:function(r){return this.mass=r,this},setImmovable:function(r){return r===void 0&&(r=!0),this.immovable=r,this},setEnable:function(r){return r===void 0&&(r=!0),this.enable=r,this},processX:function(r,o,a,u){this.x+=r,this.updateCenter(),o!==null&&(this.velocity.x=o*this.slideFactor.x);var f=this.blocked;a&&(f.left=!0,f.none=!1),u&&(f.right=!0,f.none=!1)},processY:function(r,o,a,u){this.y+=r,this.updateCenter(),o!==null&&(this.velocity.y=o*this.slideFactor.y);var f=this.blocked;a&&(f.up=!0,f.none=!1),u&&(f.down=!0,f.none=!1)},x:{get:function(){return this.position.x},set:function(r){this.position.x=r}},y:{get:function(){return this.position.y},set:function(r){this.position.y=r}},left:{get:function(){return this.position.x}},right:{get:function(){return this.position.x+this.width}},top:{get:function(){return this.position.y}},bottom:{get:function(){return this.position.y+this.height}}});E.exports=s},79342:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h,d,t,e,l,i,s){this.world=h,this.name="",this.active=!0,this.overlapOnly=d,this.object1=t,this.object2=e,this.collideCallback=l,this.processCallback=i,this.callbackContext=s},setName:function(x){return this.name=x,this},update:function(){this.world.collideObjects(this.object1,this.object2,this.collideCallback,this.processCallback,this.callbackContext,this.overlapOnly)},destroy:function(){this.world.removeCollider(this),this.active=!1,this.world=null,this.object1=null,this.object2=null,this.collideCallback=null,this.processCallback=null,this.callbackContext=null}});E.exports=S},66022:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(71289),S=n(13759),x=n(37742),h=n(83419),d=n(37747),t=n(60758),e=n(72624),l=n(71464),i=new h({initialize:function(r){this.world=r,this.scene=r.scene,this.sys=r.scene.sys},collider:function(s,r,o,a,u){return this.world.addCollider(s,r,o,a,u)},overlap:function(s,r,o,a,u){return this.world.addOverlap(s,r,o,a,u)},existing:function(s,r){var o=r?d.STATIC_BODY:d.DYNAMIC_BODY;return this.world.enableBody(s,o),s},staticImage:function(s,r,o,a){var u=new m(this.scene,s,r,o,a);return this.sys.displayList.add(u),this.world.enableBody(u,d.STATIC_BODY),u},image:function(s,r,o,a){var u=new m(this.scene,s,r,o,a);return this.sys.displayList.add(u),this.world.enableBody(u,d.DYNAMIC_BODY),u},staticSprite:function(s,r,o,a){var u=new S(this.scene,s,r,o,a);return this.sys.displayList.add(u),this.sys.updateList.add(u),this.world.enableBody(u,d.STATIC_BODY),u},sprite:function(s,r,o,a){var u=new S(this.scene,s,r,o,a);return this.sys.displayList.add(u),this.sys.updateList.add(u),this.world.enableBody(u,d.DYNAMIC_BODY),u},staticGroup:function(s,r){return this.sys.updateList.add(new l(this.world,this.world.scene,s,r))},group:function(s,r){return this.sys.updateList.add(new t(this.world,this.world.scene,s,r))},body:function(s,r,o,a){var u=new x(this.world);return u.position.set(s,r),o&&a&&u.setSize(o,a),this.world.add(u,d.DYNAMIC_BODY),u},staticBody:function(s,r,o,a){var u=new e(this.world);return u.position.set(s,r),o&&a&&u.setSize(o,a),this.world.add(u,d.STATIC_BODY),u},destroy:function(){this.world=null,this.scene=null,this.sys=null}});E.exports=i},79599:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){var m=0;if(!Array.isArray(n))m=n;else for(var S=0;S{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(37747),S=function(x,h,d,t){var e=0,l=x.deltaAbsX()+h.deltaAbsX()+t;return x._dx===0&&h._dx===0?(x.embedded=!0,h.embedded=!0):x._dx>h._dx?(e=x.right-h.x,e>l&&!d||x.checkCollision.right===!1||h.checkCollision.left===!1?e=0:(x.touching.none=!1,x.touching.right=!0,h.touching.none=!1,h.touching.left=!0,h.physicsType===m.STATIC_BODY&&!d&&(x.blocked.none=!1,x.blocked.right=!0),x.physicsType===m.STATIC_BODY&&!d&&(h.blocked.none=!1,h.blocked.left=!0))):x._dxl&&!d||x.checkCollision.left===!1||h.checkCollision.right===!1?e=0:(x.touching.none=!1,x.touching.left=!0,h.touching.none=!1,h.touching.right=!0,h.physicsType===m.STATIC_BODY&&!d&&(x.blocked.none=!1,x.blocked.left=!0),x.physicsType===m.STATIC_BODY&&!d&&(h.blocked.none=!1,h.blocked.right=!0))),x.overlapX=e,h.overlapX=e,e};E.exports=S},45170:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(37747),S=function(x,h,d,t){var e=0,l=x.deltaAbsY()+h.deltaAbsY()+t;return x._dy===0&&h._dy===0?(x.embedded=!0,h.embedded=!0):x._dy>h._dy?(e=x.bottom-h.y,e>l&&!d||x.checkCollision.down===!1||h.checkCollision.up===!1?e=0:(x.touching.none=!1,x.touching.down=!0,h.touching.none=!1,h.touching.up=!0,h.physicsType===m.STATIC_BODY&&!d&&(x.blocked.none=!1,x.blocked.down=!0),x.physicsType===m.STATIC_BODY&&!d&&(h.blocked.none=!1,h.blocked.up=!0))):x._dyl&&!d||x.checkCollision.up===!1||h.checkCollision.down===!1?e=0:(x.touching.none=!1,x.touching.up=!0,h.touching.none=!1,h.touching.down=!0,h.physicsType===m.STATIC_BODY&&!d&&(x.blocked.none=!1,x.blocked.up=!0),x.physicsType===m.STATIC_BODY&&!d&&(h.blocked.none=!1,h.blocked.down=!0))),x.overlapY=e,h.overlapY=e,e};E.exports=S},60758:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(13759),S=n(83419),x=n(78389),h=n(37747),d=n(95540),t=n(26479),e=n(41212),l=new S({Extends:t,Mixins:[x],initialize:function(s,r,o,a){if(!o&&!a)a={internalCreateCallback:this.createCallbackHandler,internalRemoveCallback:this.removeCallbackHandler};else if(e(o))a=o,o=null,a.internalCreateCallback=this.createCallbackHandler,a.internalRemoveCallback=this.removeCallbackHandler;else if(Array.isArray(o)&&e(o[0])){var u=this;o.forEach(function(f){f.internalCreateCallback=u.createCallbackHandler,f.internalRemoveCallback=u.removeCallbackHandler,f.classType=d(f,"classType",m)}),a=null}else a={internalCreateCallback:this.createCallbackHandler,internalRemoveCallback:this.removeCallbackHandler};this.world=s,a&&(a.classType=d(a,"classType",m)),this.physicsType=h.DYNAMIC_BODY,this.collisionCategory=1,this.collisionMask=2147483647,this.defaults={setCollideWorldBounds:d(a,"collideWorldBounds",!1),setBoundsRectangle:d(a,"customBoundsRectangle",null),setAccelerationX:d(a,"accelerationX",0),setAccelerationY:d(a,"accelerationY",0),setAllowDrag:d(a,"allowDrag",!0),setAllowGravity:d(a,"allowGravity",!0),setAllowRotation:d(a,"allowRotation",!0),setDamping:d(a,"useDamping",!1),setBounceX:d(a,"bounceX",0),setBounceY:d(a,"bounceY",0),setDragX:d(a,"dragX",0),setDragY:d(a,"dragY",0),setEnable:d(a,"enable",!0),setGravityX:d(a,"gravityX",0),setGravityY:d(a,"gravityY",0),setFrictionX:d(a,"frictionX",0),setFrictionY:d(a,"frictionY",0),setMaxSpeed:d(a,"maxSpeed",-1),setMaxVelocityX:d(a,"maxVelocityX",1e4),setMaxVelocityY:d(a,"maxVelocityY",1e4),setVelocityX:d(a,"velocityX",0),setVelocityY:d(a,"velocityY",0),setAngularVelocity:d(a,"angularVelocity",0),setAngularAcceleration:d(a,"angularAcceleration",0),setAngularDrag:d(a,"angularDrag",0),setMass:d(a,"mass",1),setImmovable:d(a,"immovable",!1)},t.call(this,r,o,a),this.type="PhysicsGroup"},createCallbackHandler:function(i){(!i.body||i.body.physicsType!==h.DYNAMIC_BODY)&&(i.body&&(i.body.destroy(),i.body=null),this.world.enableBody(i,h.DYNAMIC_BODY));var s=i.body;for(var r in this.defaults)s[r](this.defaults[r])},removeCallbackHandler:function(i){i.body&&this.world.disableBody(i)},setVelocity:function(i,s,r){r===void 0&&(r=0);for(var o=this.getChildren(),a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y,n,m,S,x,h,d,t,e,l,i,s,r,o,a,u,f,v=function(M,A,R){y=M,n=A;var P=y.velocity.x,L=n.velocity.x;return m=y.pushable,e=y._dx<0,l=y._dx>0,i=y._dx===0,a=Math.abs(y.right-n.x)<=Math.abs(n.right-y.x),d=L-P*y.bounce.x,S=n.pushable,s=n._dx<0,r=n._dx>0,o=n._dx===0,u=!a,t=P-L*n.bounce.x,f=Math.abs(R),c()},c=function(){return l&&a&&n.blocked.right?(y.processX(-f,d,!1,!0),1):e&&u&&n.blocked.left?(y.processX(f,d,!0),1):r&&u&&y.blocked.right?(n.processX(-f,t,!1,!0),2):s&&a&&y.blocked.left?(n.processX(f,t,!0),2):0},g=function(){var M=y.velocity.x,A=n.velocity.x,R=Math.sqrt(A*A*n.mass/y.mass)*(A>0?1:-1),P=Math.sqrt(M*M*y.mass/n.mass)*(M>0?1:-1),L=(R+P)*.5;return R-=L,P-=L,x=L+R*y.bounce.x,h=L+P*n.bounce.x,e&&u?p(0):s&&a?p(1):l&&a?p(2):r&&u?p(3):!1},p=function(M){if(m&&S)f*=.5,M===0||M===3?(y.processX(f,x),n.processX(-f,h)):(y.processX(-f,x),n.processX(f,h));else if(m&&!S)M===0||M===3?y.processX(f,d,!0):y.processX(-f,d,!1,!0);else if(!m&&S)M===0||M===3?n.processX(-f,t,!1,!0):n.processX(f,t,!0);else{var A=f*.5;M===0?o?(y.processX(f,0,!0),n.processX(0,null,!1,!0)):r?(y.processX(A,0,!0),n.processX(-A,0,!1,!0)):(y.processX(A,n.velocity.x,!0),n.processX(-A,null,!1,!0)):M===1?i?(y.processX(0,null,!1,!0),n.processX(f,0,!0)):l?(y.processX(-A,0,!1,!0),n.processX(A,0,!0)):(y.processX(-A,null,!1,!0),n.processX(A,y.velocity.x,!0)):M===2?o?(y.processX(-f,0,!1,!0),n.processX(0,null,!0)):s?(y.processX(-A,0,!1,!0),n.processX(A,0,!0)):(y.processX(-A,n.velocity.x,!1,!0),n.processX(A,null,!0)):M===3&&(i?(y.processX(0,null,!0),n.processX(-f,0,!1,!0)):e?(y.processX(A,0,!0),n.processX(-A,0,!1,!0)):(y.processX(A,n.velocity.y,!0),n.processX(-A,null,!1,!0)))}return!0},T=function(M){if(M===1?n.velocity.x=0:a?n.processX(f,t,!0):n.processX(-f,t,!1,!0),y.moves){var A=y.directControl?y.y-y.autoFrame.y:y.y-y.prev.y;n.y+=A*y.friction.y,n._dy=n.y-n.prev.y}},C=function(M){if(M===2?y.velocity.x=0:u?y.processX(f,d,!0):y.processX(-f,d,!1,!0),n.moves){var A=n.directControl?n.y-n.autoFrame.y:n.y-n.prev.y;y.y+=A*n.friction.y,y._dy=y.y-y.prev.y}};E.exports={BlockCheck:c,Check:g,Set:v,Run:p,RunImmovableBody1:T,RunImmovableBody2:C}},47962:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y,n,m,S,x,h,d,t,e,l,i,s,r,o,a,u,f,v=function(M,A,R){y=M,n=A;var P=y.velocity.y,L=n.velocity.y;return m=y.pushable,e=y._dy<0,l=y._dy>0,i=y._dy===0,a=Math.abs(y.bottom-n.y)<=Math.abs(n.bottom-y.y),d=L-P*y.bounce.y,S=n.pushable,s=n._dy<0,r=n._dy>0,o=n._dy===0,u=!a,t=P-L*n.bounce.y,f=Math.abs(R),c()},c=function(){return l&&a&&n.blocked.down?(y.processY(-f,d,!1,!0),1):e&&u&&n.blocked.up?(y.processY(f,d,!0),1):r&&u&&y.blocked.down?(n.processY(-f,t,!1,!0),2):s&&a&&y.blocked.up?(n.processY(f,t,!0),2):0},g=function(){var M=y.velocity.y,A=n.velocity.y,R=Math.sqrt(A*A*n.mass/y.mass)*(A>0?1:-1),P=Math.sqrt(M*M*y.mass/n.mass)*(M>0?1:-1),L=(R+P)*.5;return R-=L,P-=L,x=L+R*y.bounce.y,h=L+P*n.bounce.y,e&&u?p(0):s&&a?p(1):l&&a?p(2):r&&u?p(3):!1},p=function(M){if(m&&S)f*=.5,M===0||M===3?(y.processY(f,x),n.processY(-f,h)):(y.processY(-f,x),n.processY(f,h));else if(m&&!S)M===0||M===3?y.processY(f,d,!0):y.processY(-f,d,!1,!0);else if(!m&&S)M===0||M===3?n.processY(-f,t,!1,!0):n.processY(f,t,!0);else{var A=f*.5;M===0?o?(y.processY(f,0,!0),n.processY(0,null,!1,!0)):r?(y.processY(A,0,!0),n.processY(-A,0,!1,!0)):(y.processY(A,n.velocity.y,!0),n.processY(-A,null,!1,!0)):M===1?i?(y.processY(0,null,!1,!0),n.processY(f,0,!0)):l?(y.processY(-A,0,!1,!0),n.processY(A,0,!0)):(y.processY(-A,null,!1,!0),n.processY(A,y.velocity.y,!0)):M===2?o?(y.processY(-f,0,!1,!0),n.processY(0,null,!0)):s?(y.processY(-A,0,!1,!0),n.processY(A,0,!0)):(y.processY(-A,n.velocity.y,!1,!0),n.processY(A,null,!0)):M===3&&(i?(y.processY(0,null,!0),n.processY(-f,0,!1,!0)):e?(y.processY(A,0,!0),n.processY(-A,0,!1,!0)):(y.processY(A,n.velocity.y,!0),n.processY(-A,null,!1,!0)))}return!0},T=function(M){if(M===1?n.velocity.y=0:a?n.processY(f,t,!0):n.processY(-f,t,!1,!0),y.moves){var A=y.directControl?y.x-y.autoFrame.x:y.x-y.prev.x;n.x+=A*y.friction.x,n._dx=n.x-n.prev.x}},C=function(M){if(M===2?y.velocity.y=0:u?y.processY(f,d,!0):y.processY(-f,d,!1,!0),n.moves){var A=n.directControl?n.x-n.autoFrame.x:n.x-n.prev.x;y.x+=A*n.friction.x,y._dx=y.x-y.prev.x}};E.exports={BlockCheck:c,Check:g,Set:v,Run:p,RunImmovableBody1:T,RunImmovableBody2:C}},14087:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(64897),S=n(3017),x=function(h,d,t,e,l){l===void 0&&(l=m(h,d,t,e));var i=h.immovable,s=d.immovable;if(t||l===0||i&&s||h.customSeparateX||d.customSeparateX)return l!==0||h.embedded&&d.embedded;var r=S.Set(h,d,l);return!i&&!s?r>0?!0:S.Check():(i?S.RunImmovableBody1(r):s&&S.RunImmovableBody2(r),!0)};E.exports=x},89936:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(45170),S=n(47962),x=function(h,d,t,e,l){l===void 0&&(l=m(h,d,t,e));var i=h.immovable,s=d.immovable;if(t||l===0||i&&s||h.customSeparateY||d.customSeparateY)return l!==0||h.embedded&&d.embedded;var r=S.Set(h,d,l);return!i&&!s?r>0?!0:S.Check():(i?S.RunImmovableBody1(r):s&&S.RunImmovableBody2(r),!0)};E.exports=x},95829:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m===void 0&&(m={}),m.none=n,m.up=!1,m.down=!1,m.left=!1,m.right=!1,n||(m.up=!0,m.down=!0,m.left=!0,m.right=!0),m};E.exports=y},72624:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87902),S=n(83419),x=n(78389),h=n(37747),d=n(37303),t=n(95829),e=n(26099),l=new S({Mixins:[x],initialize:function(s,r){var o=64,a=64,u={x:0,y:0,angle:0,rotation:0,scaleX:1,scaleY:1,displayOriginX:0,displayOriginY:0},f=r!==void 0;f&&r.displayWidth&&(o=r.displayWidth,a=r.displayHeight),f||(r=u),this.world=s,this.gameObject=f?r:void 0,this.isBody=!0,this.debugShowBody=s.defaults.debugShowStaticBody,this.debugBodyColor=s.defaults.staticBodyDebugColor,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e,this.position=new e(r.x-o*r.originX,r.y-a*r.originY),this.width=o,this.height=a,this.halfWidth=Math.abs(this.width/2),this.halfHeight=Math.abs(this.height/2),this.center=new e(this.position.x+this.halfWidth,this.position.y+this.halfHeight),this.velocity=e.ZERO,this.allowGravity=!1,this.gravity=e.ZERO,this.bounce=e.ZERO,this.onWorldBounds=!1,this.onCollide=!1,this.onOverlap=!1,this.mass=1,this.immovable=!0,this.pushable=!1,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision=t(!1),this.touching=t(!0),this.wasTouching=t(!0),this.blocked=t(!0),this.physicsType=h.STATIC_BODY,this.collisionCategory=1,this.collisionMask=1,this._dx=0,this._dy=0},setGameObject:function(i,s,r){if(s===void 0&&(s=!0),r===void 0&&(r=!0),!i||!i.hasTransformComponent)return this;var o=this.world;return this.gameObject&&this.gameObject.body&&(o.disable(this.gameObject),this.gameObject.body=null),i.body&&o.disable(i),this.gameObject=i,i.body=this,this.setSize(),s&&this.updateFromGameObject(),this.enable=r,this},updateFromGameObject:function(){this.world.staticTree.remove(this);var i=this.gameObject;return i.getTopLeft(this.position),this.width=i.displayWidth,this.height=i.displayHeight,this.halfWidth=Math.abs(this.width/2),this.halfHeight=Math.abs(this.height/2),this.center.set(this.position.x+this.halfWidth,this.position.y+this.halfHeight),this.world.staticTree.insert(this),this},setOffset:function(i,s){return s===void 0&&(s=i),this.world.staticTree.remove(this),this.position.x-=this.offset.x,this.position.y-=this.offset.y,this.offset.set(i,s),this.position.x+=this.offset.x,this.position.y+=this.offset.y,this.updateCenter(),this.world.staticTree.insert(this),this},setSize:function(i,s,r){r===void 0&&(r=!0);var o=this.gameObject;if(o&&o.frame&&(i||(i=o.frame.realWidth),s||(s=o.frame.realHeight)),this.world.staticTree.remove(this),this.width=i,this.height=s,this.halfWidth=Math.floor(i/2),this.halfHeight=Math.floor(s/2),r&&o&&o.getCenter){var a=o.displayWidth/2,u=o.displayHeight/2;this.position.x-=this.offset.x,this.position.y-=this.offset.y,this.offset.set(a-this.halfWidth,u-this.halfHeight),this.position.x+=this.offset.x,this.position.y+=this.offset.y}return this.updateCenter(),this.isCircle=!1,this.radius=0,this.world.staticTree.insert(this),this},setCircle:function(i,s,r){return s===void 0&&(s=this.offset.x),r===void 0&&(r=this.offset.y),i>0?(this.world.staticTree.remove(this),this.isCircle=!0,this.radius=i,this.width=i*2,this.height=i*2,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.set(s,r),this.updateCenter(),this.world.staticTree.insert(this)):this.isCircle=!1,this},updateCenter:function(){this.center.set(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},reset:function(i,s){var r=this.gameObject;i===void 0&&(i=r.x),s===void 0&&(s=r.y),this.world.staticTree.remove(this),r.setPosition(i,s),r.getTopLeft(this.position),this.position.x+=this.offset.x,this.position.y+=this.offset.y,this.updateCenter(),this.world.staticTree.insert(this)},stop:function(){return this},getBounds:function(i){return i.x=this.x,i.y=this.y,i.right=this.right,i.bottom=this.bottom,i},hitTest:function(i,s){return this.isCircle?m(this,i,s):d(this,i,s)},postUpdate:function(){},deltaAbsX:function(){return 0},deltaAbsY:function(){return 0},deltaX:function(){return 0},deltaY:function(){return 0},deltaZ:function(){return 0},destroy:function(){this.enable=!1,this.world.pendingDestroy.add(this)},drawDebug:function(i){var s=this.position,r=s.x+this.halfWidth,o=s.y+this.halfHeight;this.debugShowBody&&(i.lineStyle(i.defaultStrokeWidth,this.debugBodyColor,1),this.isCircle?i.strokeCircle(r,o,this.width/2):i.strokeRect(s.x,s.y,this.width,this.height))},willDrawDebug:function(){return this.debugShowBody},setMass:function(i){return i<=0&&(i=.1),this.mass=i,this},x:{get:function(){return this.position.x},set:function(i){this.world.staticTree.remove(this),this.position.x=i,this.world.staticTree.insert(this)}},y:{get:function(){return this.position.y},set:function(i){this.world.staticTree.remove(this),this.position.y=i,this.world.staticTree.insert(this)}},left:{get:function(){return this.position.x}},right:{get:function(){return this.position.x+this.width}},top:{get:function(){return this.position.y}},bottom:{get:function(){return this.position.y+this.height}}});E.exports=l},71464:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(13759),S=n(83419),x=n(78389),h=n(37747),d=n(95540),t=n(26479),e=n(41212),l=new S({Extends:t,Mixins:[x],initialize:function(s,r,o,a){!o&&!a?a={internalCreateCallback:this.createCallbackHandler,internalRemoveCallback:this.removeCallbackHandler,createMultipleCallback:this.createMultipleCallbackHandler,classType:m}:e(o)?(a=o,o=null,a.internalCreateCallback=this.createCallbackHandler,a.internalRemoveCallback=this.removeCallbackHandler,a.createMultipleCallback=this.createMultipleCallbackHandler,a.classType=d(a,"classType",m)):Array.isArray(o)&&e(o[0])?(a=o,o=null,a.forEach(function(u){u.internalCreateCallback=this.createCallbackHandler,u.internalRemoveCallback=this.removeCallbackHandler,u.createMultipleCallback=this.createMultipleCallbackHandler,u.classType=d(u,"classType",m)},this)):a={internalCreateCallback:this.createCallbackHandler,internalRemoveCallback:this.removeCallbackHandler},this.world=s,this.physicsType=h.STATIC_BODY,this.collisionCategory=1,this.collisionMask=1,t.call(this,r,o,a),this.type="StaticPhysicsGroup"},createCallbackHandler:function(i){(!i.body||i.body.physicsType!==h.STATIC_BODY)&&(i.body&&(i.body.destroy(),i.body=null),this.world.enableBody(i,h.STATIC_BODY))},removeCallbackHandler:function(i){i.body&&this.world.disableBody(i)},createMultipleCallbackHandler:function(){this.refresh()},refresh:function(){for(var i=Array.from(this.children),s=0;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(55495),S=n(37742),x=n(45319),h=n(83419),d=n(79342),t=n(37747),e=n(20339),l=n(52816),i=n(50792),s=n(63012),r=n(43855),o=n(5470),a=n(94977),u=n(64897),f=n(45170),v=n(96523),c=n(35154),g=n(36383),p=n(25774),T=n(96602),C=n(87841),M=n(59542),A=n(40012),R=n(14087),P=n(89936),L=n(72624),F=n(2483),w=n(61340),O=n(26099),B=n(15994),I=new h({Extends:i,initialize:function(N,z){i.call(this),this.scene=N,this.bodies=new Set,this.staticBodies=new Set,this.pendingDestroy=new Set,this.colliders=new p,this.gravity=new O(c(z,"gravity.x",0),c(z,"gravity.y",0)),this.bounds=new C(c(z,"x",0),c(z,"y",0),c(z,"width",N.sys.scale.width),c(z,"height",N.sys.scale.height)),this.checkCollision={up:c(z,"checkCollision.up",!0),down:c(z,"checkCollision.down",!0),left:c(z,"checkCollision.left",!0),right:c(z,"checkCollision.right",!0)},this.fps=c(z,"fps",60),this.fixedStep=c(z,"fixedStep",!0),this._elapsed=0,this._frameTime=1/this.fps,this._frameTimeMS=1e3*this._frameTime,this.stepsLastFrame=0,this.timeScale=c(z,"timeScale",1),this.OVERLAP_BIAS=c(z,"overlapBias",4),this.TILE_BIAS=c(z,"tileBias",16),this.forceX=c(z,"forceX",!1),this.isPaused=c(z,"isPaused",!1),this._total=0,this.drawDebug=c(z,"debug",!1),this.debugGraphic,this.defaults={debugShowBody:c(z,"debugShowBody",!0),debugShowStaticBody:c(z,"debugShowStaticBody",!0),debugShowVelocity:c(z,"debugShowVelocity",!0),bodyDebugColor:c(z,"debugBodyColor",16711935),staticBodyDebugColor:c(z,"debugStaticBodyColor",255),velocityDebugColor:c(z,"debugVelocityColor",65280)},this.maxEntries=c(z,"maxEntries",16),this.useTree=c(z,"useTree",!0),this.tree=new M(this.maxEntries),this.staticTree=new M(this.maxEntries),this.treeMinMax={minX:0,minY:0,maxX:0,maxY:0},this._tempMatrix=new w,this._tempMatrix2=new w,this.tileFilterOptions={isColliding:!0,isNotEmpty:!0,hasInterestingFace:!0},this.drawDebug&&this.createDebugGraphic()},enable:function(D,N){N===void 0&&(N=t.DYNAMIC_BODY),Array.isArray(D)||(D=[D]);for(var z=0;z=V;if(this.fixedStep||(z=N*.001,G=!0,this._elapsed=0),U.forEach(function(H){H.enable&&H.preUpdate(G,z)}),G){this._elapsed-=V,this.stepsLastFrame=1,this.useTree&&(this.tree.clear(),this.tree.load(Array.from(U)));for(var b=this.colliders.update(),Y=0;Y=V;)this._elapsed-=V,this.step(z)}},step:function(D){var N=this.bodies;N.forEach(function(G){G.enable&&G.update(D)}),this.useTree&&(this.tree.clear(),this.tree.load(Array.from(N)));for(var z=this.colliders.update(),V=0;V0){var U=this.tree,G=this.staticTree;V.forEach(function(b){b.physicsType===t.DYNAMIC_BODY?(U.remove(b),D.delete(b)):b.physicsType===t.STATIC_BODY&&(G.remove(b),N.delete(b)),b.world=void 0,b.gameObject=void 0}),V.clear()}},updateMotion:function(D,N){D.allowRotation&&this.computeAngularVelocity(D,N),this.computeVelocity(D,N)},computeAngularVelocity:function(D,N){var z=D.angularVelocity,V=D.angularAcceleration,U=D.angularDrag,G=D.maxAngular;V?z+=V*N:D.allowDrag&&U&&(U*=N,o(z-U,0,.1)?z-=U:a(z+U,0,.1)?z+=U:z=0),z=x(z,-G,G);var b=z-D.angularVelocity;D.angularVelocity+=b,D.rotation+=D.angularVelocity*N},computeVelocity:function(D,N){var z=D.velocity.x,V=D.acceleration.x,U=D.drag.x,G=D.maxVelocity.x,b=D.velocity.y,Y=D.acceleration.y,W=D.drag.y,H=D.maxVelocity.y,X=D.speed,K=D.maxSpeed,Z=D.allowDrag,Q=D.useDamping;D.allowGravity&&(z+=(this.gravity.x+D.gravity.x)*N,b+=(this.gravity.y+D.gravity.y)*N),V?z+=V*N:Z&&U&&(Q?(U=Math.pow(U,N),z*=U,X=Math.sqrt(z*z+b*b),r(X,0,.001)&&(z=0)):(U*=N,o(z-U,0,.01)?z-=U:a(z+U,0,.01)?z+=U:z=0)),Y?b+=Y*N:Z&&W&&(Q?(W=Math.pow(W,N),b*=W,X=Math.sqrt(z*z+b*b),r(X,0,.001)&&(b=0)):(W*=N,o(b-W,0,.01)?b-=W:a(b+W,0,.01)?b+=W:b=0)),z=x(z,-G,G),b=x(b,-H,H),D.velocity.set(z,b),K>-1&&D.velocity.length()>K&&(D.velocity.normalize().scale(K),X=K),D.speed=X},separate:function(D,N,z,V,U){var G,b,Y=!1,W=!0;if(!D.enable||!N.enable||D.checkCollision.none||N.checkCollision.none||!this.intersects(D,N)||z&&z.call(V,D.gameObject||D,N.gameObject||N)===!1)return Y;if(D.isCircle||N.isCircle){var H=this.separateCircle(D,N,U);H.result?(Y=!0,W=!1):(G=H.x,b=H.y,W=!0)}if(W){var X=!1,K=!1,Z=this.OVERLAP_BIAS;U?(X=R(D,N,U,Z,G),K=P(D,N,U,Z,b)):this.forceX||Math.abs(this.gravity.y+D.gravity.y)q&&(K=e(Q,j,q,k)-J):j>_&&(Qq&&(K=e(Q,j,q,_)-J)),K*=-1}else K=D.halfWidth+N.halfWidth-l(G,b);D.overlapR=K,N.overlapR=K;var rt=m(G,b),at=(K+g.EPSILON)*Math.cos(rt),ht=(K+g.EPSILON)*Math.sin(rt),ot={overlap:K,result:!1,x:at,y:ht};if(z&&(!Z||Z&&K!==0))return ot.result=!0,ot;if(!Z&&K===0||Y&&W||D.customSeparateX||N.customSeparateX)return ot.x=void 0,ot.y=void 0,ot;var nt=!D.pushable&&!N.pushable;if(Z){var it=G.x-b.x,lt=G.y-b.y,dt=Math.sqrt(Math.pow(it,2)+Math.pow(lt,2)),ct=(b.x-G.x)/dt||0,Bt=(b.y-G.y)/dt||0,Lt=2*(H.x*ct+H.y*Bt-X.x*ct-X.y*Bt)/(D.mass+N.mass);(Y||W||!D.pushable||!N.pushable)&&(Lt*=2),!Y&&D.pushable&&(H.x=H.x-Lt/D.mass*ct,H.y=H.y-Lt/D.mass*Bt,H.multiply(D.bounce)),!W&&N.pushable&&(X.x=X.x+Lt/N.mass*ct,X.y=X.y+Lt/N.mass*Bt,X.multiply(N.bounce)),!Y&&!W&&(at*=.5,ht*=.5),(!Y||D.pushable||nt)&&(D.x-=at,D.y-=ht,D.updateCenter()),(!W||N.pushable||nt)&&(N.x+=at,N.y+=ht,N.updateCenter()),ot.result=!0}else(!Y||D.pushable||nt)&&(D.x-=at,D.y-=ht,D.updateCenter()),(!W||N.pushable||nt)&&(N.x+=at,N.y+=ht,N.updateCenter()),ot.x=void 0,ot.y=void 0;return ot},intersects:function(D,N){return D===N?!1:!D.isCircle&&!N.isCircle?!(D.right<=N.left||D.bottom<=N.top||D.left>=N.right||D.top>=N.bottom):D.isCircle?N.isCircle?l(D.center,N.center)<=D.halfWidth+N.halfWidth:this.circleBodyIntersects(D,N):this.circleBodyIntersects(N,D)},circleBodyIntersects:function(D,N){var z=x(D.center.x,N.left,N.right),V=x(D.center.y,N.top,N.bottom),U=(D.center.x-z)*(D.center.x-z),G=(D.center.y-V)*(D.center.y-V);return U+G<=D.halfWidth*D.halfWidth},overlap:function(D,N,z,V,U){return z===void 0&&(z=null),V===void 0&&(V=null),U===void 0&&(U=z),this.collideObjects(D,N,z,V,U,!0)},collide:function(D,N,z,V,U){return z===void 0&&(z=null),V===void 0&&(V=null),U===void 0&&(U=z),this.collideObjects(D,N,z,V,U,!1)},collideObjects:function(D,N,z,V,U,G){var b,Y;D.isParent&&(D.physicsType===void 0||N===void 0||D===N)&&(D=Array.from(D.children)),N&&N.isParent&&N.physicsType===void 0&&(N=Array.from(N.children));var W=Array.isArray(D),H=Array.isArray(N);if(this._total=0,!W&&!H)this.collideHandler(D,N,z,V,U,G);else if(!W&&H)for(b=0;b0},collideHandler:function(D,N,z,V,U,G){if(N===void 0&&D.isParent)return this.collideGroupVsGroup(D,D,z,V,U,G);if(!D||!N)return!1;if(D.body||D.isBody){if(N.body||N.isBody)return this.collideSpriteVsSprite(D,N,z,V,U,G);if(N.isParent)return this.collideSpriteVsGroup(D,N,z,V,U,G);if(N.isTilemap)return this.collideSpriteVsTilemapLayer(D,N,z,V,U,G)}else if(D.isParent){if(N.body||N.isBody)return this.collideSpriteVsGroup(N,D,z,V,U,G);if(N.isParent)return this.collideGroupVsGroup(D,N,z,V,U,G);if(N.isTilemap)return this.collideGroupVsTilemapLayer(D,N,z,V,U,G)}else if(D.isTilemap){if(N.body||N.isBody)return this.collideSpriteVsTilemapLayer(N,D,z,V,U,G);if(N.isParent)return this.collideGroupVsTilemapLayer(N,D,z,V,U,G)}},canCollide:function(D,N){return D&&N&&(D.collisionMask&N.collisionCategory)!==0&&(N.collisionMask&D.collisionCategory)!==0},collideSpriteVsSprite:function(D,N,z,V,U,G){var b=D.isBody?D:D.body,Y=N.isBody?N:N.body;return this.canCollide(b,Y)?(this.separate(b,Y,V,U,G)&&(z&&z.call(U,D,N),this._total++),!0):!1},collideSpriteVsGroup:function(D,N,z,V,U,G){var b=D.isBody?D:D.body;if(!(N.getLength()===0||!b||!b.enable||b.checkCollision.none||!this.canCollide(b,N))){var Y,W,H;if(this.useTree||N.physicsType===t.STATIC_BODY){var X=this.treeMinMax;X.minX=b.left,X.minY=b.top,X.maxX=b.right,X.maxY=b.bottom;var K=N.physicsType===t.DYNAMIC_BODY?this.tree.search(X):this.staticTree.search(X);for(W=K.length,Y=0;Y{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setAcceleration:function(n,m){return this.body.acceleration.set(n,m),this},setAccelerationX:function(n){return this.body.acceleration.x=n,this},setAccelerationY:function(n){return this.body.acceleration.y=n,this}};E.exports=y},59023:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setAngularVelocity:function(n){return this.body.angularVelocity=n,this},setAngularAcceleration:function(n){return this.body.angularAcceleration=n,this},setAngularDrag:function(n){return this.body.angularDrag=n,this}};E.exports=y},62069:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setBounce:function(n,m){return this.body.bounce.set(n,m),this},setBounceX:function(n){return this.body.bounce.x=n,this},setBounceY:function(n){return this.body.bounce.y=n,this},setCollideWorldBounds:function(n,m,S,x){return this.body.setCollideWorldBounds(n,m,S,x),this}};E.exports=y},78389:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(79599),S={setCollisionCategory:function(x){var h=this.body?this.body:this;return h.collisionCategory=x,this},willCollideWith:function(x){var h=this.body?this.body:this;return(h.collisionMask&x)!==0},addCollidesWith:function(x){var h=this.body?this.body:this;return h.collisionMask=h.collisionMask|x,this},removeCollidesWith:function(x){var h=this.body?this.body:this;return h.collisionMask=h.collisionMask&~x,this},setCollidesWith:function(x){var h=this.body?this.body:this;return h.collisionMask=m(x),this},resetCollisionCategory:function(){var x=this.body?this.body:this;return x.collisionCategory=1,x.collisionMask=2147483647,this}};E.exports=S},87118:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setDebug:function(n,m,S){return this.debugShowBody=n,this.debugShowVelocity=m,this.debugBodyColor=S,this},setDebugBodyColor:function(n){return this.body.debugBodyColor=n,this},debugShowBody:{get:function(){return this.body.debugShowBody},set:function(n){this.body.debugShowBody=n}},debugShowVelocity:{get:function(){return this.body.debugShowVelocity},set:function(n){this.body.debugShowVelocity=n}},debugBodyColor:{get:function(){return this.body.debugBodyColor},set:function(n){this.body.debugBodyColor=n}}};E.exports=y},52819:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setDrag:function(n,m){return this.body.drag.set(n,m),this},setDragX:function(n){return this.body.drag.x=n,this},setDragY:function(n){return this.body.drag.y=n,this},setDamping:function(n){return this.body.useDamping=n,this}};E.exports=y},4074:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setDirectControl:function(n){return this.body.setDirectControl(n),this},enableBody:function(n,m,S,x,h){return n&&this.body.reset(m,S),x&&(this.body.gameObject.active=!0),h&&(this.body.gameObject.visible=!0),this.body.enable=!0,this},disableBody:function(n,m){return n===void 0&&(n=!1),m===void 0&&(m=!1),this.body.stop(),this.body.enable=!1,n&&(this.body.gameObject.active=!1),m&&(this.body.gameObject.visible=!1),this},refreshBody:function(){return this.body.updateFromGameObject(),this}};E.exports=y},40831:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setFriction:function(n,m){return this.body.friction.set(n,m),this},setFrictionX:function(n){return this.body.friction.x=n,this},setFrictionY:function(n){return this.body.friction.y=n,this}};E.exports=y},26775:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setGravity:function(n,m){return this.body.gravity.set(n,m),this},setGravityX:function(n){return this.body.gravity.x=n,this},setGravityY:function(n){return this.body.gravity.y=n,this}};E.exports=y},9437:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setImmovable:function(n){return n===void 0&&(n=!0),this.body.immovable=n,this}};E.exports=y},30621:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setMass:function(n){return this.body.mass=n,this}};E.exports=y},72441:(E,y,n)=>{var m=n(47956),S=n(96503),x=n(2044),h=n(81491),d=function(t,e,l,i,s,r){var o=m(t,e-i,l-i,2*i,2*i,s,r);if(o.length===0)return o;for(var a=new S(e,l,i),u=new S,f=[],v=0;v{var y=function(n,m,S,x,h,d,t){d===void 0&&(d=!0),t===void 0&&(t=!1);var e=[],l=[],i=n.treeMinMax;if(i.minX=m,i.minY=S,i.maxX=m+x,i.maxY=S+h,t&&(l=n.staticTree.search(i)),d&&n.useTree)e=n.tree.search(i);else if(d)for(var s=Array.from(n.bodies),r={position:{x:m,y:S},left:m,top:S,right:m+x,bottom:S+h,isCircle:!1},o=n.intersects,a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setPushable:function(n){return n===void 0&&(n=!0),this.body.pushable=n,this}};E.exports=y},29384:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setOffset:function(n,m){return this.body.setOffset(n,m),this},setSize:function(n,m,S){return this.body.setSize(n,m,S),this},setBodySize:function(n,m,S){return this.body.setSize(n,m,S),this},setCircle:function(n,m,S){return this.body.setCircle(n,m,S),this}};E.exports=y},15098:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setVelocity:function(n,m){return this.body.setVelocity(n,m),this},setVelocityX:function(n){return this.body.setVelocityX(n),this},setVelocityY:function(n){return this.body.setVelocityY(n),this},setMaxVelocity:function(n,m){return this.body.maxVelocity.set(n,m),this}};E.exports=y},92209:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Acceleration:n(1093),Angular:n(59023),Bounce:n(62069),Collision:n(78389),Debug:n(87118),Drag:n(52819),Enable:n(4074),Friction:n(40831),Gravity:n(26775),Immovable:n(9437),Mass:n(30621),OverlapCirc:n(72441),OverlapRect:n(47956),Pushable:n(62121),Size:n(29384),Velocity:n(15098)}},37747:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={DYNAMIC_BODY:0,STATIC_BODY:1,GROUP:2,TILEMAPLAYER:3,FACING_NONE:10,FACING_UP:11,FACING_DOWN:12,FACING_LEFT:13,FACING_RIGHT:14};E.exports=y},20009:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="collide"},36768:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="overlap"},60473:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pause"},89954:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="resume"},61804:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="tilecollide"},7161:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="tileoverlap"},34689:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="worldbounds"},16006:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="worldstep"},63012:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={COLLIDE:n(20009),OVERLAP:n(36768),PAUSE:n(60473),RESUME:n(89954),TILE_COLLIDE:n(61804),TILE_OVERLAP:n(7161),WORLD_BOUNDS:n(34689),WORLD_STEP:n(16006)}},27064:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(37747),S=n(79291),x={ArcadePhysics:n(86689),Body:n(37742),Collider:n(79342),Components:n(92209),Events:n(63012),Factory:n(66022),GetCollidesWith:n(79599),GetOverlapX:n(64897),GetOverlapY:n(45170),SeparateX:n(14087),SeparateY:n(89936),Group:n(60758),Image:n(71289),Sprite:n(13759),StaticBody:n(72624),StaticGroup:n(71464),Tilemap:n(55173),World:n(82248)};x=S(!1,x,m),E.exports=x},96602:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.collisionCallback?!n.collisionCallback.call(n.collisionCallbackContext,m,n):n.layer.callbacks[n.index]?!n.layer.callbacks[n.index].callback.call(n.layer.callbacks[n.index].callbackContext,m,n):!0};E.exports=y},36294:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){m<0?(n.blocked.none=!1,n.blocked.left=!0):m>0&&(n.blocked.none=!1,n.blocked.right=!0),n.position.x-=m,n.updateCenter(),n.bounce.x===0?n.velocity.x=0:n.velocity.x=-n.velocity.x*n.bounce.x};E.exports=y},67013:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){m<0?(n.blocked.none=!1,n.blocked.up=!0):m>0&&(n.blocked.none=!1,n.blocked.down=!0),n.position.y-=m,n.updateCenter(),n.bounce.y===0?n.velocity.y=0:n.velocity.y=-n.velocity.y*n.bounce.y};E.exports=y},40012:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(21329),S=n(53442),x=n(2483),h=function(d,t,e,l,i,s,r){var o=l.left,a=l.top,u=l.right,f=l.bottom,v=e.faceLeft||e.faceRight,c=e.faceTop||e.faceBottom;if(r||(v=!0,c=!0),!v&&!c)return!1;var g=0,p=0,T=0,C=1;if(t.deltaAbsX()>t.deltaAbsY()?T=-1:t.deltaAbsX(){/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(36294),S=function(x,h,d,t,e,l){var i=0,s=h.faceLeft,r=h.faceRight,o=h.collideLeft,a=h.collideRight;return l||(s=!0,r=!0,o=!0,a=!0),x.deltaX()<0&&a&&x.checkCollision.left?r&&x.x0&&o&&x.checkCollision.right&&s&&x.right>d&&(i=x.right-d,i>e&&(i=0)),i!==0&&(x.customSeparateX?x.overlapX=i:m(x,i)),i};E.exports=S},53442:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(67013),S=function(x,h,d,t,e,l){var i=0,s=h.faceTop,r=h.faceBottom,o=h.collideUp,a=h.collideDown;return l||(s=!0,r=!0,o=!0,a=!0),x.deltaY()<0&&a&&x.checkCollision.up?r&&x.y0&&o&&x.checkCollision.down&&s&&x.bottom>d&&(i=x.bottom-d,i>e&&(i=0)),i!==0&&(x.customSeparateY?x.overlapY=i:m(x,i)),i};E.exports=S},2483:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return!(m.right<=n.left||m.bottom<=n.top||m.position.x>=n.right||m.position.y>=n.bottom)};E.exports=y},55173:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m={ProcessTileCallbacks:n(96602),ProcessTileSeparationX:n(36294),ProcessTileSeparationY:n(67013),SeparateTile:n(40012),TileCheckX:n(21329),TileCheckY:n(53442),TileIntersectsBody:n(2483)};E.exports=m},44563:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Arcade:n(27064),Matter:n(3875)}},68174:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(26099),x=new m({initialize:function(){this.boundsCenter=new S,this.centerDiff=new S},parseBody:function(h){if(h=h.hasOwnProperty("body")?h.body:h,!h.hasOwnProperty("bounds")||!h.hasOwnProperty("centerOfMass"))return!1;var d=this.boundsCenter,t=this.centerDiff,e=h.bounds.max.x-h.bounds.min.x,l=h.bounds.max.y-h.bounds.min.y,i=e*h.centerOfMass.x,s=l*h.centerOfMass.y;return d.set(e/2,l/2),t.set(i-d.x,s-d.y),!0},getTopLeft:function(h,d,t){if(d===void 0&&(d=0),t===void 0&&(t=0),this.parseBody(h)){var e=this.boundsCenter,l=this.centerDiff;return new S(d+e.x+l.x,t+e.y+l.y)}return!1},getTopCenter:function(h,d,t){if(d===void 0&&(d=0),t===void 0&&(t=0),this.parseBody(h)){var e=this.boundsCenter,l=this.centerDiff;return new S(d+l.x,t+e.y+l.y)}return!1},getTopRight:function(h,d,t){if(d===void 0&&(d=0),t===void 0&&(t=0),this.parseBody(h)){var e=this.boundsCenter,l=this.centerDiff;return new S(d-(e.x-l.x),t+e.y+l.y)}return!1},getLeftCenter:function(h,d,t){if(d===void 0&&(d=0),t===void 0&&(t=0),this.parseBody(h)){var e=this.boundsCenter,l=this.centerDiff;return new S(d+e.x+l.x,t+l.y)}return!1},getCenter:function(h,d,t){if(d===void 0&&(d=0),t===void 0&&(t=0),this.parseBody(h)){var e=this.centerDiff;return new S(d+e.x,t+e.y)}return!1},getRightCenter:function(h,d,t){if(d===void 0&&(d=0),t===void 0&&(t=0),this.parseBody(h)){var e=this.boundsCenter,l=this.centerDiff;return new S(d-(e.x-l.x),t+l.y)}return!1},getBottomLeft:function(h,d,t){if(d===void 0&&(d=0),t===void 0&&(t=0),this.parseBody(h)){var e=this.boundsCenter,l=this.centerDiff;return new S(d+e.x+l.x,t-(e.y-l.y))}return!1},getBottomCenter:function(h,d,t){if(d===void 0&&(d=0),t===void 0&&(t=0),this.parseBody(h)){var e=this.boundsCenter,l=this.centerDiff;return new S(d+l.x,t-(e.y-l.y))}return!1},getBottomRight:function(h,d,t){if(d===void 0&&(d=0),t===void 0&&(t=0),this.parseBody(h)){var e=this.boundsCenter,l=this.centerDiff;return new S(d-(e.x-l.x),t-(e.y-l.y))}return!1}});E.exports=x},19933:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(6790);m.Body=n(22562),m.Composite=n(69351),m.World=n(4372),m.Collision=n(52284),m.Detector=n(81388),m.Pairs=n(99561),m.Pair=n(4506),m.Query=n(73296),m.Resolver=n(66272),m.Constraint=n(48140),m.Common=n(53402),m.Engine=n(48413),m.Events=n(35810),m.Sleeping=n(53614),m.Plugin=n(73832),m.Bodies=n(66280),m.Composites=n(74116),m.Axes=n(66615),m.Bounds=n(15647),m.Svg=n(74058),m.Vector=n(31725),m.Vertices=n(41598),m.World.add=m.Composite.add,m.World.remove=m.Composite.remove,m.World.addComposite=m.Composite.addComposite,m.World.addBody=m.Composite.addBody,m.World.addConstraint=m.Composite.addConstraint,m.World.clear=m.Composite.clear,E.exports=m},28137:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(66280),S=n(83419),x=n(74116),h=n(48140),d=n(74058),t=n(75803),e=n(23181),l=n(34803),i=n(73834),s=n(19496),r=n(85791),o=n(98713),a=n(41598),u=new S({initialize:function(v){this.world=v,this.scene=v.scene,this.sys=v.scene.sys},rectangle:function(f,v,c,g,p){var T=m.rectangle(f,v,c,g,p);return this.world.add(T),T},trapezoid:function(f,v,c,g,p,T){var C=m.trapezoid(f,v,c,g,p,T);return this.world.add(C),C},circle:function(f,v,c,g,p){var T=m.circle(f,v,c,g,p);return this.world.add(T),T},polygon:function(f,v,c,g,p){var T=m.polygon(f,v,c,g,p);return this.world.add(T),T},fromVertices:function(f,v,c,g,p,T,C){typeof c=="string"&&(c=a.fromPath(c));var M=m.fromVertices(f,v,c,g,p,T,C);return this.world.add(M),M},fromPhysicsEditor:function(f,v,c,g,p){p===void 0&&(p=!0);var T=s.parseBody(f,v,c,g);return p&&!this.world.has(T)&&this.world.add(T),T},fromSVG:function(f,v,c,g,p,T){g===void 0&&(g=1),p===void 0&&(p={}),T===void 0&&(T=!0);for(var C=c.getElementsByTagName("path"),M=[],A=0;A{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(9503),S=n(95540),x=n(26099);function h(t){return!!t.get&&typeof t.get=="function"||!!t.set&&typeof t.set=="function"}var d=function(t,e,l,i){l===void 0&&(l={}),i===void 0&&(i=!0);var s=e.x,r=e.y;e.body={temp:!0,position:{x:s,y:r}};var o=[m.Bounce,m.Collision,m.Force,m.Friction,m.Gravity,m.Mass,m.Sensor,m.SetBody,m.Sleep,m.Static,m.Transform,m.Velocity];if(o.forEach(function(u){for(var f in u)h(u[f])?Object.defineProperty(e,f,{get:u[f].get,set:u[f].set}):Object.defineProperty(e,f,{value:u[f]})}),e.world=t,e._tempVec2=new x(s,r),l.hasOwnProperty("type")&&l.type==="body")e.setExistingBody(l,i);else{var a=S(l,"shape",null);a||(a="rectangle"),l.addToWorld=i,e.setBody(a,l)}return e};E.exports=d},23181:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(9503),x=n(95643),h=n(95540),d=n(88571),t=n(26099),e=new m({Extends:d,Mixins:[S.Bounce,S.Collision,S.Force,S.Friction,S.Gravity,S.Mass,S.Sensor,S.SetBody,S.Sleep,S.Static,S.Transform,S.Velocity],initialize:function(i,s,r,o,a,u){x.call(this,i.scene,"Image"),this._crop=this.resetCropObject(),this.setTexture(o,a),this.setSizeToFrame(),this.setOrigin(),this.initRenderNodes(this._defaultRenderNodesMap),this.world=i,this._tempVec2=new t(s,r);var f=h(u,"shape",null);f?this.setBody(f,u):this.setRectangle(this.width,this.height,u),this.setPosition(s,r)}});E.exports=e},42045:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(60461),S=n(66615),x=n(66280),h=n(22562),d=n(68174),t=n(15647),e=n(83419),l=n(52284),i=n(53402),s=n(69351),r=n(74116),o=n(48140),a=n(81388),u=n(20339),f=n(28137),v=n(95540),c=n(35154),g=n(46975),p=n(4506),T=n(99561),C=n(37277),M=n(73296),A=n(66272),R=n(44594),P=n(74058),L=n(31725),F=n(41598),w=n(68243);i.setDecomp(n(55973));var O=new e({initialize:function(I){this.scene=I,this.systems=I.sys,this.config=this.getConfig(),this.world,this.add,this.bodyBounds,this.body=h,this.composite=s,this.collision=l,this.detector=a,this.pair=p,this.pairs=T,this.query=M,this.resolver=A,this.constraint=o,this.bodies=x,this.composites=r,this.axes=S,this.bounds=t,this.svg=P,this.vector=L,this.vertices=F,this.verts=F,this._tempVec2=L.create(),A._restingThresh=c(this.config,"restingThresh",4),A._restingThreshTangent=c(this.config,"restingThreshTangent",6),A._positionDampen=c(this.config,"positionDampen",.9),A._positionWarming=c(this.config,"positionWarming",.8),A._frictionNormalMultiplier=c(this.config,"frictionNormalMultiplier",5),I.sys.events.once(R.BOOT,this.boot,this),I.sys.events.on(R.START,this.start,this)},boot:function(){this.world=new w(this.scene,this.config),this.add=new f(this.world),this.bodyBounds=new d,this.systems.events.once(R.DESTROY,this.destroy,this)},start:function(){this.world||(this.world=new w(this.scene,this.config),this.add=new f(this.world));var B=this.systems.events;B.on(R.UPDATE,this.world.update,this.world),B.on(R.POST_UPDATE,this.world.postUpdate,this.world),B.once(R.SHUTDOWN,this.shutdown,this)},getConfig:function(){var B=this.systems.game.config.physics,I=this.systems.settings.physics,D=g(v(I,"matter",{}),v(B,"matter",{}));return D},pause:function(){return this.world.pause()},resume:function(){return this.world.resume()},set60Hz:function(){return this.world.getDelta=this.world.update60Hz,this.world.autoUpdate=!0,this},set30Hz:function(){return this.world.getDelta=this.world.update30Hz,this.world.autoUpdate=!0,this},step:function(B,I){this.world.step(B,I)},containsPoint:function(B,I,D){B=this.getMatterBodies(B);var N=L.create(I,D),z=M.point(B,N);return z.length>0},intersectPoint:function(B,I,D){D=this.getMatterBodies(D);var N=L.create(B,I),z=[],V=M.point(D,N);return V.forEach(function(U){z.indexOf(U)===-1&&z.push(U)}),z},intersectRect:function(B,I,D,N,z,V){z===void 0&&(z=!1),V=this.getMatterBodies(V);var U={min:{x:B,y:I},max:{x:B+D,y:I+N}},G=[],b=M.region(V,U,z);return b.forEach(function(Y){G.indexOf(Y)===-1&&G.push(Y)}),G},intersectRay:function(B,I,D,N,z,V){z===void 0&&(z=1),V=this.getMatterBodies(V);for(var U=[],G=M.ray(V,L.create(B,I),L.create(D,N),z),b=0;b{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(9674),S=n(83419),x=n(9503),h=n(95643),d=n(95540),t=n(68287),e=n(26099),l=new S({Extends:t,Mixins:[x.Bounce,x.Collision,x.Force,x.Friction,x.Gravity,x.Mass,x.Sensor,x.SetBody,x.Sleep,x.Static,x.Transform,x.Velocity],initialize:function(s,r,o,a,u,f){h.call(this,s.scene,"Sprite"),this._crop=this.resetCropObject(),this.anims=new m(this),this.setTexture(a,u),this.setSizeToFrame(),this.setOrigin(),this.initRenderNodes(this._defaultRenderNodesMap),this.world=s,this._tempVec2=new e(r,o);var v=d(f,"shape",null);v?this.setBody(v,f):this.setRectangle(this.width,this.height,f),this.setPosition(r,o)}});E.exports=l},73834:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(66280),S=n(22562),x=n(83419),h=n(9503),d=n(62644),t=n(50792),e=n(95540),l=n(97022),i=n(41598),s=new x({Extends:t,Mixins:[h.Bounce,h.Collision,h.Friction,h.Gravity,h.Mass,h.Sensor,h.Sleep,h.Static],initialize:function(o,a,u){t.call(this),this.tile=a,this.world=o,a.physics.matterBody&&a.physics.matterBody.destroy(),a.physics.matterBody=this;var f=e(u,"body",null),v=e(u,"addToWorld",!0);if(f)this.setBody(f,v);else{var c=a.getCollisionGroup(),g=e(c,"objects",[]);g.length>0?this.setFromTileCollision(u):this.setFromTileRectangle(u)}if(a.flipX||a.flipY){var p={x:a.getCenterX(),y:a.getCenterY()},T=a.flipX?-1:1,C=a.flipY?-1:1;S.scale(f,T,C,p)}},setFromTileRectangle:function(r){r===void 0&&(r={}),l(r,"isStatic")||(r.isStatic=!0),l(r,"addToWorld")||(r.addToWorld=!0);var o=this.tile.getBounds(),a=o.x+o.width/2,u=o.y+o.height/2,f=m.rectangle(a,u,o.width,o.height,r);return this.setBody(f,r.addToWorld),this},setFromTileCollision:function(r){r===void 0&&(r={}),l(r,"isStatic")||(r.isStatic=!0),l(r,"addToWorld")||(r.addToWorld=!0);for(var o=this.tile.tilemapLayer.scaleX,a=this.tile.tilemapLayer.scaleY,u=this.tile.getLeft(),f=this.tile.getTop(),v=this.tile.getCollisionGroup(),c=e(v,"objects",[]),g=[],p=0;p1){var B=d(r);B.parts=g,this.setBody(S.create(B),B.addToWorld)}return this},setBody:function(r,o){return o===void 0&&(o=!0),this.body&&this.removeBody(),this.body=r,this.body.gameObject=this,o&&this.world.add(this.body),this},removeBody:function(){return this.body&&(this.world.remove(this.body),this.body.gameObject=void 0,this.body=void 0),this},destroy:function(){this.removeBody(),this.tile.physics.matterBody=void 0,this.removeAllListeners()}});E.exports=s},19496:(E,y,n)=>{/** + * @author Joachim Grill + * @author Richard Davey + * @copyright 2018 CodeAndWeb GmbH + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(66280),S=n(22562),x=n(53402),h=n(95540),d=n(41598),t={parseBody:function(e,l,i,s){s===void 0&&(s={});for(var r=h(i,"fixtures",[]),o=[],a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(66280),S=n(22562),x={parseBody:function(h,d,t,e){e===void 0&&(e={});var l,i=t.vertices;if(i.length===1)e.vertices=i[0],l=S.create(e),m.flagCoincidentParts(l.parts);else{for(var s=[],r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(15647),S=n(83419),x=n(69351),h=n(48140),d=n(81388),t=n(1121),e=n(8214),l=n(46975),i=n(53614),s=n(26099),r=n(41598),o=new S({initialize:function(u,f,v){v===void 0&&(v={});var c={label:"Pointer Constraint",pointA:{x:0,y:0},pointB:{x:0,y:0},length:.01,stiffness:.1,angularStiffness:1,collisionFilter:{category:1,mask:4294967295,group:0}};this.scene=u,this.world=f,this.camera=null,this.pointer=null,this.active=!0,this.position=new s,this.body=null,this.part=null,this.constraint=h.create(l(v,c)),this.world.on(t.BEFORE_UPDATE,this.update,this),u.sys.input.on(e.POINTER_DOWN,this.onDown,this),u.sys.input.on(e.POINTER_UP,this.onUp,this)},onDown:function(a){this.pointer||(this.pointer=a,this.camera=a.camera)},onUp:function(a){a===this.pointer&&(this.pointer=null)},getBody:function(a){var u=this.position,f=this.constraint;this.camera.getWorldPoint(a.x,a.y,u);for(var v=x.allBodies(this.world.localWorld),c=0;c1?1:0,g=c;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(66280),S=n(22562),x=n(83419),h=n(53402),d=n(69351),t=n(48413),e=n(50792),l=n(1121),i=n(95540),s=n(35154),r=n(22562),o=n(35810),a=n(73834),u=n(4372),f=n(13037),v=n(31725),c=new x({Extends:e,initialize:function(p,T){e.call(this),this.scene=p,this.engine=t.create(T),this.localWorld=this.engine.world;var C=s(T,"gravity",null);C?this.setGravity(C.x,C.y,C.scale):C===!1&&this.setGravity(0,0,0),this.walls={left:null,right:null,top:null,bottom:null},this.enabled=s(T,"enabled",!0),this.getDelta=s(T,"getDelta",this.update60Hz);var M=i(T,"runner",{}),A=i(M,"fps",!1);A&&(M.delta=1e3/i(M,"fps",60)),this.runner=f.create(M),this.autoUpdate=s(T,"autoUpdate",!0);var R=s(T,"debug",!1);if(this.drawDebug=typeof R=="object"?!0:R,this.debugGraphic,this.debugConfig={showAxes:i(R,"showAxes",!1),showAngleIndicator:i(R,"showAngleIndicator",!1),angleColor:i(R,"angleColor",15208787),showBroadphase:i(R,"showBroadphase",!1),broadphaseColor:i(R,"broadphaseColor",16757760),showBounds:i(R,"showBounds",!1),boundsColor:i(R,"boundsColor",16777215),showVelocity:i(R,"showVelocity",!1),velocityColor:i(R,"velocityColor",44783),showCollisions:i(R,"showCollisions",!1),collisionColor:i(R,"collisionColor",16094476),showSeparations:i(R,"showSeparations",!1),separationColor:i(R,"separationColor",16753920),showBody:i(R,"showBody",!0),showStaticBody:i(R,"showStaticBody",!0),showInternalEdges:i(R,"showInternalEdges",!1),renderFill:i(R,"renderFill",!1),renderLine:i(R,"renderLine",!0),fillColor:i(R,"fillColor",1075465),fillOpacity:i(R,"fillOpacity",1),lineColor:i(R,"lineColor",2678297),lineOpacity:i(R,"lineOpacity",1),lineThickness:i(R,"lineThickness",1),staticFillColor:i(R,"staticFillColor",857979),staticLineColor:i(R,"staticLineColor",1255396),showSleeping:i(R,"showSleeping",!1),staticBodySleepOpacity:i(R,"staticBodySleepOpacity",.7),sleepFillColor:i(R,"sleepFillColor",4605510),sleepLineColor:i(R,"sleepLineColor",10066585),showSensors:i(R,"showSensors",!0),sensorFillColor:i(R,"sensorFillColor",857979),sensorLineColor:i(R,"sensorLineColor",1255396),showPositions:i(R,"showPositions",!0),positionSize:i(R,"positionSize",4),positionColor:i(R,"positionColor",14697178),showJoint:i(R,"showJoint",!0),jointColor:i(R,"jointColor",14737474),jointLineOpacity:i(R,"jointLineOpacity",1),jointLineThickness:i(R,"jointLineThickness",2),pinSize:i(R,"pinSize",4),pinColor:i(R,"pinColor",4382944),springColor:i(R,"springColor",14697184),anchorColor:i(R,"anchorColor",15724527),anchorSize:i(R,"anchorSize",4),showConvexHulls:i(R,"showConvexHulls",!1),hullColor:i(R,"hullColor",14091216)},this.drawDebug&&this.createDebugGraphic(),this.setEventsProxy(),i(T,"setBounds",!1)){var P=T.setBounds;if(typeof P=="boolean")this.setBounds();else{var L=i(P,"x",0),F=i(P,"y",0),w=i(P,"width",p.sys.scale.width),O=i(P,"height",p.sys.scale.height),B=i(P,"thickness",64),I=i(P,"left",!0),D=i(P,"right",!0),N=i(P,"top",!0),z=i(P,"bottom",!0);this.setBounds(L,F,w,O,B,I,D,N,z)}}},setCompositeRenderStyle:function(g){var p=g.bodies,T=g.constraints,C=g.composites,M,A,R;for(M=0;M0&&M.map(function(P){A=P.bodyA,R=P.bodyB,A.gameObject&&A.gameObject.emit("collide",A,R,P),R.gameObject&&R.gameObject.emit("collide",R,A,P),o.trigger(A,"onCollide",{pair:P}),o.trigger(R,"onCollide",{pair:P}),A.onCollideCallback&&A.onCollideCallback(P),R.onCollideCallback&&R.onCollideCallback(P),A.onCollideWith[R.id]&&A.onCollideWith[R.id](R,P),R.onCollideWith[A.id]&&R.onCollideWith[A.id](A,P)}),g.emit(l.COLLISION_START,C,A,R)}),o.on(p,"collisionActive",function(C){var M=C.pairs,A,R;M.length>0&&M.map(function(P){A=P.bodyA,R=P.bodyB,A.gameObject&&A.gameObject.emit("collideActive",A,R,P),R.gameObject&&R.gameObject.emit("collideActive",R,A,P),o.trigger(A,"onCollideActive",{pair:P}),o.trigger(R,"onCollideActive",{pair:P}),A.onCollideActiveCallback&&A.onCollideActiveCallback(P),R.onCollideActiveCallback&&R.onCollideActiveCallback(P)}),g.emit(l.COLLISION_ACTIVE,C,A,R)}),o.on(p,"collisionEnd",function(C){var M=C.pairs,A,R;M.length>0&&M.map(function(P){A=P.bodyA,R=P.bodyB,A.gameObject&&A.gameObject.emit("collideEnd",A,R,P),R.gameObject&&R.gameObject.emit("collideEnd",R,A,P),o.trigger(A,"onCollideEnd",{pair:P}),o.trigger(R,"onCollideEnd",{pair:P}),A.onCollideEndCallback&&A.onCollideEndCallback(P),R.onCollideEndCallback&&R.onCollideEndCallback(P)}),g.emit(l.COLLISION_END,C,A,R)})},setBounds:function(g,p,T,C,M,A,R,P,L){return g===void 0&&(g=0),p===void 0&&(p=0),T===void 0&&(T=this.scene.sys.scale.width),C===void 0&&(C=this.scene.sys.scale.height),M===void 0&&(M=64),A===void 0&&(A=!0),R===void 0&&(R=!0),P===void 0&&(P=!0),L===void 0&&(L=!0),this.updateWall(A,"left",g-M,p-M,M,C+M*2),this.updateWall(R,"right",g+T,p-M,M,C+M*2),this.updateWall(P,"top",g,p-M,T,M),this.updateWall(L,"bottom",g,p+C,T,M),this},updateWall:function(g,p,T,C,M,A){var R=this.walls[p];g?(R&&u.remove(this.localWorld,R),T+=M/2,C+=A/2,this.walls[p]=this.create(T,C,M,A,{isStatic:!0,friction:0,frictionStatic:0})):(R&&u.remove(this.localWorld,R),this.walls[p]=null)},createDebugGraphic:function(){var g=this.scene.sys.add.graphics({x:0,y:0});return g.setDepth(Number.MAX_VALUE),this.debugGraphic=g,this.drawDebug=!0,g},disableGravity:function(){return this.localWorld.gravity.x=0,this.localWorld.gravity.y=0,this.localWorld.gravity.scale=0,this},setGravity:function(g,p,T){return g===void 0&&(g=0),p===void 0&&(p=1),T===void 0&&(T=.001),this.localWorld.gravity.x=g,this.localWorld.gravity.y=p,this.localWorld.gravity.scale=T,this},create:function(g,p,T,C,M){var A=m.rectangle(g,p,T,C,M);return u.add(this.localWorld,A),A},add:function(g){return u.add(this.localWorld,g),this},remove:function(g,p){Array.isArray(g)||(g=[g]);for(var T=0;TMath.max(f._maxFrameDelta,T.maxFrameTime))&&(R=T.frameDelta||f._frameDeltaFallback),T.frameDeltaSmoothing){T.frameDeltaHistory.push(R),T.frameDeltaHistory=T.frameDeltaHistory.slice(-T.frameDeltaHistorySize);var P=T.frameDeltaHistory.slice(0).sort(),L=T.frameDeltaHistory.slice(P.length*f._smoothingLowerBound,P.length*f._smoothingUpperBound),F=f._mean(L);R=F||R}T.frameDeltaSnapping&&(R=1e3/Math.round(1e3/R)),T.frameDelta=R,T.timeLastTick=g,T.timeBuffer+=T.frameDelta,T.timeBuffer=h.clamp(T.timeBuffer,0,T.frameDelta+M*f._timeBufferMargin),T.lastUpdatesDeferred=0;for(var w=T.maxUpdates||Math.ceil(T.maxFrameTime/M),O=h.now();M>0&&T.timeBuffer>=M*f._timeBufferMargin;){t.update(p,M),T.timeBuffer-=M,A+=1;var B=h.now()-C,I=h.now()-O,D=B+f._elapsedNextEstimate*I/A;if(A>=w||D>T.maxFrameTime){T.lastUpdatesDeferred=Math.round(Math.max(0,T.timeBuffer/M-f._timeBufferMargin));break}}}},step:function(g){t.update(this.engine,g)},update60Hz:function(){return 1e3/60},update30Hz:function(){return 1e3/30},has:function(g){var p=g.hasOwnProperty("body")?g.body:g;return d.get(this.localWorld,p.id,p.type)!==null},getAllBodies:function(){return d.allBodies(this.localWorld)},getAllConstraints:function(){return d.allConstraints(this.localWorld)},getAllComposites:function(){return d.allComposites(this.localWorld)},postUpdate:function(){if(this.drawDebug){var g=this.debugConfig,p=this.engine,T=this.debugGraphic,C=d.allBodies(this.localWorld);this.debugGraphic.clear(),g.showBroadphase&&p.broadphase.controller&&this.renderGrid(p.broadphase,T,g.broadphaseColor,.5),g.showBounds&&this.renderBodyBounds(C,T,g.boundsColor,.5),(g.showBody||g.showStaticBody)&&this.renderBodies(C),g.showJoint&&this.renderJoints(),(g.showAxes||g.showAngleIndicator)&&this.renderBodyAxes(C,T,g.showAxes,g.angleColor,.5),g.showVelocity&&this.renderBodyVelocity(C,T,g.velocityColor,1,2),g.showSeparations&&this.renderSeparations(p.pairs.list,T,g.separationColor),g.showCollisions&&this.renderCollisions(p.pairs.list,T,g.collisionColor)}},renderGrid:function(g,p,T,C){p.lineStyle(1,T,C);for(var M=h.keys(g.buckets),A=0;A0){var w=F[0].vertex.x,O=F[0].vertex.y;M.contactCount===2&&(w=(F[0].vertex.x+F[1].vertex.x)/2,O=(F[0].vertex.y+F[1].vertex.y)/2),L.bodyB===L.supports[0].body||L.bodyA.isStatic?p.lineBetween(w-L.normal.x*8,O-L.normal.y*8,w,O):p.lineBetween(w+L.normal.x*8,O+L.normal.y*8,w,O)}}return this},renderBodyBounds:function(g,p,T,C){p.lineStyle(1,T,C);for(var M=0;M1?1:0;L1?1:0;F1?1:0;F1&&this.renderConvexHull(N,p,I,U)}}},renderBody:function(g,p,T,C,M,A,R,P){C===void 0&&(C=null),M===void 0&&(M=null),A===void 0&&(A=1),R===void 0&&(R=null),P===void 0&&(P=null);for(var L=this.debugConfig,F=L.sensorFillColor,w=L.sensorLineColor,O=g.parts,B=O.length,I=B>1?1:0;I1){var R=g.vertices;p.lineStyle(C,T),p.beginPath(),p.moveTo(R[0].x,R[0].y);for(var P=1;P0&&(p.fillStyle(R),p.fillCircle(O.x,O.y,P),p.fillCircle(B.x,B.y,P)),this},resetCollisionIDs:function(){return S._nextCollidingGroupId=1,S._nextNonCollidingGroupId=-1,S._nextCategory=1,this},shutdown:function(){o.off(this.engine),this.removeAllListeners(),u.clear(this.localWorld,!1),t.clear(this.engine),this.drawDebug&&this.debugGraphic.destroy()},destroy:function(){this.shutdown()}});E.exports=c},70410:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setBounce:function(n){return this.body.restitution=n,this}};E.exports=y},66968:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setCollisionCategory:function(n){return this.body.collisionFilter.category=n,this},setCollisionGroup:function(n){return this.body.collisionFilter.group=n,this},setCollidesWith:function(n){var m=0;if(!Array.isArray(n))m=n;else for(var S=0;S{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(22562),S={applyForce:function(x){return this._tempVec2.set(this.body.position.x,this.body.position.y),m.applyForce(this.body,this._tempVec2,x),this},applyForceFrom:function(x,h){return m.applyForce(this.body,x,h),this},thrust:function(x){var h=this.body.angle;return this._tempVec2.set(x*Math.cos(h),x*Math.sin(h)),m.applyForce(this.body,{x:this.body.position.x,y:this.body.position.y},this._tempVec2),this},thrustLeft:function(x){var h=this.body.angle-Math.PI/2;return this._tempVec2.set(x*Math.cos(h),x*Math.sin(h)),m.applyForce(this.body,{x:this.body.position.x,y:this.body.position.y},this._tempVec2),this},thrustRight:function(x){var h=this.body.angle+Math.PI/2;return this._tempVec2.set(x*Math.cos(h),x*Math.sin(h)),m.applyForce(this.body,{x:this.body.position.x,y:this.body.position.y},this._tempVec2),this},thrustBack:function(x){var h=this.body.angle-Math.PI;return this._tempVec2.set(x*Math.cos(h),x*Math.sin(h)),m.applyForce(this.body,{x:this.body.position.x,y:this.body.position.y},this._tempVec2),this}};E.exports=S},5436:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setFriction:function(n,m,S){return this.body.friction=n,m!==void 0&&(this.body.frictionAir=m),S!==void 0&&(this.body.frictionStatic=S),this},setFrictionAir:function(n){return this.body.frictionAir=n,this},setFrictionStatic:function(n){return this.body.frictionStatic=n,this}};E.exports=y},39858:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setIgnoreGravity:function(n){return this.body.ignoreGravity=n,this}};E.exports=y},37302:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(22562),S=n(26099),x={setMass:function(h){return m.setMass(this.body,h),this},setDensity:function(h){return m.setDensity(this.body,h),this},centerOfMass:{get:function(){return new S(this.body.centerOfMass.x,this.body.centerOfMass.y)}}};E.exports=x},39132:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={setSensor:function(n){return this.body.isSensor=n,this},isSensor:function(){return this.body.isSensor}};E.exports=y},57772:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(66280),S=n(22562),x=n(43855),h=n(95540),d=n(19496),t=n(85791),e=n(41598),l={setRectangle:function(i,s,r){return this.setBody({type:"rectangle",width:i,height:s},r)},setCircle:function(i,s){return this.setBody({type:"circle",radius:i},s)},setPolygon:function(i,s,r){return this.setBody({type:"polygon",sides:s,radius:i},r)},setTrapezoid:function(i,s,r,o){return this.setBody({type:"trapezoid",width:i,height:s,slope:r},o)},setExistingBody:function(i,s){s===void 0&&(s=!0),this.body&&this.world.remove(this.body,!0),this.body=i;for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(1121),S=n(53614),x=n(35810),h={setToSleep:function(){return S.set(this.body,!0),this},setAwake:function(){return S.set(this.body,!1),this},setSleepThreshold:function(d){return d===void 0&&(d=60),this.body.sleepThreshold=d,this},setSleepEvents:function(d,t){return this.setSleepStartEvent(d),this.setSleepEndEvent(t),this},setSleepStartEvent:function(d){if(d){var t=this.world;x.on(this.body,"sleepStart",function(e){t.emit(m.SLEEP_START,e,this)})}else x.off(this.body,"sleepStart");return this},setSleepEndEvent:function(d){if(d){var t=this.world;x.on(this.body,"sleepEnd",function(e){t.emit(m.SLEEP_END,e,this)})}else x.off(this.body,"sleepEnd");return this}};E.exports=h},90556:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(22562),S={setStatic:function(x){return m.setStatic(this.body,x),this},isStatic:function(){return this.body.isStatic}};E.exports=S},85436:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(22562),S=n(36383),x=n(86554),h=n(30954),d=4,t={x:{get:function(){return this.body.position.x},set:function(e){this._tempVec2.set(e,this.y),m.setPosition(this.body,this._tempVec2)}},y:{get:function(){return this.body.position.y},set:function(e){this._tempVec2.set(this.x,e),m.setPosition(this.body,this._tempVec2)}},scale:{get:function(){return(this._scaleX+this._scaleY)/2},set:function(e){this.setScale(e,e)}},scaleX:{get:function(){return this._scaleX},set:function(e){var l=1/this._scaleX,i=1/this._scaleY;this._scaleX=e,this._scaleX===0?this.renderFlags&=~d:this.renderFlags|=d,m.scale(this.body,l,i),m.scale(this.body,e,this._scaleY)}},scaleY:{get:function(){return this._scaleY},set:function(e){var l=1/this._scaleX,i=1/this._scaleY;this._scaleY=e,this._scaleY===0?this.renderFlags&=~d:this.renderFlags|=d,m.scale(this.body,l,i),m.scale(this.body,this._scaleX,e)}},angle:{get:function(){return h(this.body.angle*S.RAD_TO_DEG)},set:function(e){this.rotation=h(e)*S.DEG_TO_RAD}},rotation:{get:function(){return this.body.angle},set:function(e){this._rotation=x(e),m.setAngle(this.body,this._rotation)}},setPosition:function(e,l){return e===void 0&&(e=0),l===void 0&&(l=e),this._tempVec2.set(e,l),m.setPosition(this.body,this._tempVec2),this},setRotation:function(e){return e===void 0&&(e=0),this._rotation=x(e),m.setAngle(this.body,e),this},setFixedRotation:function(){return m.setInertia(this.body,1/0),this},setAngle:function(e){return e===void 0&&(e=0),this.angle=e,m.setAngle(this.body,this.rotation),this},setScale:function(e,l,i){e===void 0&&(e=1),l===void 0&&(l=e);var s=1/this._scaleX,r=1/this._scaleY;return this._scaleX=e,this._scaleY=l,m.scale(this.body,s,r,i),m.scale(this.body,e,l,i),this}};E.exports=t},42081:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(22562),S={setVelocityX:function(x){return this._tempVec2.set(x,this.body.velocity.y),m.setVelocity(this.body,this._tempVec2),this},setVelocityY:function(x){return this._tempVec2.set(this.body.velocity.x,x),m.setVelocity(this.body,this._tempVec2),this},setVelocity:function(x,h){return this._tempVec2.set(x,h),m.setVelocity(this.body,this._tempVec2),this},getVelocity:function(){return m.getVelocity(this.body)},setAngularVelocity:function(x){return m.setAngularVelocity(this.body,x),this},getAngularVelocity:function(){return m.getAngularVelocity(this.body)},setAngularSpeed:function(x){return m.setAngularSpeed(this.body,x),this},getAngularSpeed:function(){return m.getAngularSpeed(this.body)}};E.exports=S},9503:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Bounce:n(70410),Collision:n(66968),Force:n(51607),Friction:n(5436),Gravity:n(39858),Mass:n(37302),Sensor:n(39132),SetBody:n(57772),Sleep:n(38083),Static:n(90556),Transform:n(85436),Velocity:n(42081)}},85608:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="afteradd"},1213:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="afterremove"},25968:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="afterupdate"},67205:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="beforeadd"},39438:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="beforeremove"},44823:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="beforeupdate"},92593:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="collisionactive"},60128:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="collisionend"},76861:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="collisionstart"},92362:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="dragend"},76408:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="drag"},93971:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="dragstart"},5656:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pause"},47861:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="resume"},79099:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="sleepend"},35906:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="sleepstart"},1121:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={AFTER_ADD:n(85608),AFTER_REMOVE:n(1213),AFTER_UPDATE:n(25968),BEFORE_ADD:n(67205),BEFORE_REMOVE:n(39438),BEFORE_UPDATE:n(44823),COLLISION_ACTIVE:n(92593),COLLISION_END:n(60128),COLLISION_START:n(76861),DRAG_END:n(92362),DRAG:n(76408),DRAG_START:n(93971),PAUSE:n(5656),RESUME:n(47861),SLEEP_END:n(79099),SLEEP_START:n(35906)}},3875:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={BodyBounds:n(68174),Components:n(9503),Events:n(1121),Factory:n(28137),MatterGameObject:n(75803),Image:n(23181),Matter:n(19933),MatterPhysics:n(42045),PolyDecomp:n(55973),Sprite:n(34803),TileBody:n(73834),PhysicsEditorParser:n(19496),PhysicsJSONParser:n(85791),PointerConstraint:n(98713),World:n(68243)}},22562:(E,y,n)=>{var m={};E.exports=m;var S=n(41598),x=n(31725),h=n(53614),d=n(53402),t=n(15647),e=n(66615);(function(){m._timeCorrection=!0,m._inertiaScale=4,m._nextCollidingGroupId=1,m._nextNonCollidingGroupId=-1,m._nextCategory=1,m._baseDelta=1e3/60,m.create=function(i){var s={id:d.nextId(),type:"body",label:"Body",parts:[],plugin:{},attractors:i.attractors||[],wrapBounds:null,angle:0,vertices:null,position:{x:0,y:0},force:{x:0,y:0},torque:0,positionImpulse:{x:0,y:0},constraintImpulse:{x:0,y:0,angle:0},totalContacts:0,speed:0,angularSpeed:0,velocity:{x:0,y:0},angularVelocity:0,isSensor:!1,isStatic:!1,isSleeping:!1,motion:0,sleepThreshold:60,density:.001,restitution:0,friction:.1,frictionStatic:.5,frictionAir:.01,collisionFilter:{category:1,mask:4294967295,group:0},slop:.05,timeScale:1,events:null,bounds:null,chamfer:null,circleRadius:0,positionPrev:null,anglePrev:0,parent:null,axes:null,area:0,mass:0,inverseMass:0,inertia:0,deltaTime:16.666666666666668,inverseInertia:0,_original:null,render:{visible:!0,opacity:1,sprite:{xOffset:0,yOffset:0},fillColor:null,fillOpacity:null,lineColor:null,lineOpacity:null,lineThickness:null},gameObject:null,scale:{x:1,y:1},centerOfMass:{x:0,y:0},centerOffset:{x:0,y:0},gravityScale:{x:1,y:1},ignoreGravity:!1,ignorePointer:!1,onCollideCallback:null,onCollideEndCallback:null,onCollideActiveCallback:null,onCollideWith:{}};!i.hasOwnProperty("position")&&i.hasOwnProperty("vertices")?i.position=S.centre(i.vertices):i.hasOwnProperty("vertices")||(s.vertices=S.fromPath("L 0 0 L 40 0 L 40 40 L 0 40"));var r=d.extend(s,i);return l(r,i),r.setOnCollideWith=function(o,a){return a?this.onCollideWith[o.id]=a:delete this.onCollideWith[o.id],this},r},m.nextGroup=function(i){return i?m._nextNonCollidingGroupId--:m._nextCollidingGroupId++},m.nextCategory=function(){return m._nextCategory=m._nextCategory<<1,m._nextCategory};var l=function(i,s){if(s=s||{},m.set(i,{bounds:i.bounds||t.create(i.vertices),positionPrev:i.positionPrev||x.clone(i.position),anglePrev:i.anglePrev||i.angle,vertices:i.vertices,parts:i.parts||[i],isStatic:i.isStatic,isSleeping:i.isSleeping,parent:i.parent||i}),S.rotate(i.vertices,i.angle,i.position),e.rotate(i.axes,i.angle),t.update(i.bounds,i.vertices,i.velocity),m.set(i,{axes:s.axes||i.axes,area:s.area||i.area,mass:s.mass||i.mass,inertia:s.inertia||i.inertia}),i.parts.length===1){var r=i.bounds,o=i.centerOfMass,a=i.centerOffset,u=r.max.x-r.min.x,f=r.max.y-r.min.y;o.x=-(r.min.x-i.position.x)/u,o.y=-(r.min.y-i.position.y)/f,a.x=u*o.x,a.y=f*o.y}};m.set=function(i,s,r){var o;typeof s=="string"&&(o=s,s={},s[o]=r);for(o in s)if(Object.prototype.hasOwnProperty.call(s,o))switch(r=s[o],o){case"isStatic":m.setStatic(i,r);break;case"isSleeping":h.set(i,r);break;case"mass":m.setMass(i,r);break;case"density":m.setDensity(i,r);break;case"inertia":m.setInertia(i,r);break;case"vertices":m.setVertices(i,r);break;case"position":m.setPosition(i,r);break;case"angle":m.setAngle(i,r);break;case"velocity":m.setVelocity(i,r);break;case"angularVelocity":m.setAngularVelocity(i,r);break;case"speed":m.setSpeed(i,r);break;case"angularSpeed":m.setAngularSpeed(i,r);break;case"parts":m.setParts(i,r);break;case"centre":m.setCentre(i,r);break;default:i[o]=r}},m.setStatic=function(i,s){for(var r=0;r0&&x.rotateAbout(u.position,o,i.position,u.position)}},m.setVelocity=function(i,s){var r=i.deltaTime/m._baseDelta;i.positionPrev.x=i.position.x-s.x*r,i.positionPrev.y=i.position.y-s.y*r,i.velocity.x=(i.position.x-i.positionPrev.x)/r,i.velocity.y=(i.position.y-i.positionPrev.y)/r,i.speed=x.magnitude(i.velocity)},m.getVelocity=function(i){var s=m._baseDelta/i.deltaTime;return{x:(i.position.x-i.positionPrev.x)*s,y:(i.position.y-i.positionPrev.y)*s}},m.getSpeed=function(i){return x.magnitude(m.getVelocity(i))},m.setSpeed=function(i,s){m.setVelocity(i,x.mult(x.normalise(m.getVelocity(i)),s))},m.setAngularVelocity=function(i,s){var r=i.deltaTime/m._baseDelta;i.anglePrev=i.angle-s*r,i.angularVelocity=(i.angle-i.anglePrev)/r,i.angularSpeed=Math.abs(i.angularVelocity)},m.getAngularVelocity=function(i){return(i.angle-i.anglePrev)*m._baseDelta/i.deltaTime},m.getAngularSpeed=function(i){return Math.abs(m.getAngularVelocity(i))},m.setAngularSpeed=function(i,s){m.setAngularVelocity(i,d.sign(m.getAngularVelocity(i))*s)},m.translate=function(i,s,r){m.setPosition(i,x.add(i.position,s),r)},m.rotate=function(i,s,r,o){if(!r)m.setAngle(i,i.angle+s,o);else{var a=Math.cos(s),u=Math.sin(s),f=i.position.x-r.x,v=i.position.y-r.y;m.setPosition(i,{x:r.x+(f*a-v*u),y:r.y+(f*u+v*a)},o),m.setAngle(i,i.angle+s,o)}},m.scale=function(i,s,r,o){var a=0,u=0;o=o||i.position;for(var f=i.inertia===1/0,v=0;v0&&(a+=c.area,u+=c.inertia),c.position.x=o.x+(c.position.x-o.x)*s,c.position.y=o.y+(c.position.y-o.y)*r,t.update(c.bounds,c.vertices,i.velocity)}i.parts.length>1&&(i.area=a,i.isStatic||(m.setMass(i,i.density*a),m.setInertia(i,u))),i.circleRadius&&(s===r?i.circleRadius*=s:i.circleRadius=null),f&&m.setInertia(i,1/0)},m.update=function(i,s){s=(typeof s<"u"?s:1e3/60)*i.timeScale;var r=s*s,o=m._timeCorrection?s/(i.deltaTime||s):1,a=1-i.frictionAir*(s/d._baseDelta),u=(i.position.x-i.positionPrev.x)*o,f=(i.position.y-i.positionPrev.y)*o;i.velocity.x=u*a+i.force.x/i.mass*r,i.velocity.y=f*a+i.force.y/i.mass*r,i.positionPrev.x=i.position.x,i.positionPrev.y=i.position.y,i.position.x+=i.velocity.x,i.position.y+=i.velocity.y,i.deltaTime=s,i.angularVelocity=(i.angle-i.anglePrev)*a*o+i.torque/i.inertia*r,i.anglePrev=i.angle,i.angle+=i.angularVelocity,i.speed=x.magnitude(i.velocity),i.angularSpeed=Math.abs(i.angularVelocity);for(var v=0;v0&&(c.position.x+=i.velocity.x,c.position.y+=i.velocity.y),i.angularVelocity!==0&&(S.rotate(c.vertices,i.angularVelocity,i.position),e.rotate(c.axes,i.angularVelocity),v>0&&x.rotateAbout(c.position,i.angularVelocity,i.position,c.position)),t.update(c.bounds,c.vertices,i.velocity)}},m.updateVelocities=function(i){var s=m._baseDelta/i.deltaTime,r=i.velocity;r.x=(i.position.x-i.positionPrev.x)*s,r.y=(i.position.y-i.positionPrev.y)*s,i.speed=Math.sqrt(r.x*r.x+r.y*r.y),i.angularVelocity=(i.angle-i.anglePrev)*s,i.angularSpeed=Math.abs(i.angularVelocity)},m.applyForce=function(i,s,r){var o={x:s.x-i.position.x,y:s.y-i.position.y};i.force.x+=r.x,i.force.y+=r.y,i.torque+=o.x*r.y-o.y*r.x},m._totalProperties=function(i){for(var s={mass:0,area:0,inertia:0,centre:{x:0,y:0}},r=i.parts.length===1?0:1;r{var m={};E.exports=m;var S=n(35810),x=n(53402),h=n(15647),d=n(22562);(function(){m.create=function(t){return x.extend({id:x.nextId(),type:"composite",parent:null,isModified:!1,bodies:[],constraints:[],composites:[],label:"Composite",plugin:{},wrapBounds:null,cache:{allBodies:null,allConstraints:null,allComposites:null}},t)},m.setModified=function(t,e,l,i){if(S.trigger(t,"compositeModified",t),t.isModified=e,e&&t.cache&&(t.cache.allBodies=null,t.cache.allConstraints=null,t.cache.allComposites=null),l&&t.parent&&m.setModified(t.parent,e,l,i),i)for(var s=0;s{var m={};E.exports=m;var S=n(69351);(function(){m.create=S.create,m.add=S.add,m.remove=S.remove,m.clear=S.clear,m.addComposite=S.addComposite,m.addBody=S.addBody,m.addConstraint=S.addConstraint})()},52284:(E,y,n)=>{var m={};E.exports=m;var S=n(41598),x=n(4506);(function(){var h=[],d={overlap:0,axis:null},t={overlap:0,axis:null};m.create=function(e,l){return{pair:null,collided:!1,bodyA:e,bodyB:l,parentA:e.parent,parentB:l.parent,depth:0,normal:{x:0,y:0},tangent:{x:0,y:0},penetration:{x:0,y:0},supports:[null,null],supportCount:0}},m.collides=function(e,l,i){if(m._overlapAxes(d,e.vertices,l.vertices,e.axes),d.overlap<=0||(m._overlapAxes(t,l.vertices,e.vertices,l.axes),t.overlap<=0))return null;var s=i&&i.table[x.id(e,l)],r;s?r=s.collision:(r=m.create(e,l),r.collided=!0,r.bodyA=e.id=0&&(p=-p,T=-T),a.x=p,a.y=T,u.x=-T,u.y=p,f.x=p*c,f.y=T*c,r.depth=c;var A=m._findSupports(e,l,a,1),R=0;if(S.contains(e.vertices,A[0])&&(v[R++]=A[0]),S.contains(e.vertices,A[1])&&(v[R++]=A[1]),R<2){var P=m._findSupports(l,e,a,-1);S.contains(l.vertices,P[0])&&(v[R++]=P[0]),R<2&&S.contains(l.vertices,P[1])&&(v[R++]=P[1])}return R===0&&(v[R++]=A[0]),r.supportCount=R,r},m._overlapAxes=function(e,l,i,s){var r=l.length,o=i.length,a=l[0].x,u=l[0].y,f=i[0].x,v=i[0].y,c=s.length,g=Number.MAX_VALUE,p=0,T,C,M,A,R,P;for(R=0;RI?I=A:AD?D=A:A{var y={};E.exports=y,function(){y.create=function(n){return{vertex:n,normalImpulse:0,tangentImpulse:0}}}()},81388:(E,y,n)=>{var m={};E.exports=m;var S=n(53402),x=n(52284);(function(){m.create=function(h){var d={bodies:[],collisions:[],pairs:null};return S.extend(d,h)},m.setBodies=function(h,d){h.bodies=d.slice(0)},m.clear=function(h){h.bodies=[],h.collisions=[]},m.collisions=function(h){var d=h.pairs,t=h.bodies,e=t.length,l=m.canCollide,i=x.collides,s=h.collisions,r=0,o,a;for(t.sort(m._compareBoundsX),o=0;ov)break;if(!(cA.max.y)&&!(p&&(M.isStatic||M.isSleeping))&&l(u.collisionFilter,M.collisionFilter)){var R=M.parts.length;if(C&&R===1){var P=i(u,M,d);P&&(s[r++]=P)}else for(var L=T>1?1:0,F=R>1?1:0,w=L;wA.max.x||f.max.xA.max.y)){var P=i(O,I,d);P&&(s[r++]=P)}}}}}return s.length!==r&&(s.length=r),s},m.canCollide=function(h,d){return h.group===d.group&&h.group!==0?h.group>0:(h.mask&d.category)!==0&&(d.mask&h.category)!==0},m._compareBoundsX=function(h,d){return h.bounds.min.x-d.bounds.min.x}})()},4506:(E,y,n)=>{var m={};E.exports=m;var S=n(43424);(function(){m.create=function(x,h){var d=x.bodyA,t=x.bodyB,e={id:m.id(d,t),bodyA:d,bodyB:t,collision:x,contacts:[S.create(),S.create()],contactCount:0,separation:0,isActive:!0,isSensor:d.isSensor||t.isSensor,timeCreated:h,timeUpdated:h,inverseMass:0,friction:0,frictionStatic:0,restitution:0,slop:0};return m.update(e,x,h),e},m.update=function(x,h,d){var t=h.supports,e=h.supportCount,l=x.contacts,i=h.parentA,s=h.parentB;x.isActive=!0,x.timeUpdated=d,x.collision=h,x.separation=h.depth,x.inverseMass=i.inverseMass+s.inverseMass,x.friction=i.frictions.frictionStatic?i.frictionStatic:s.frictionStatic,x.restitution=i.restitution>s.restitution?i.restitution:s.restitution,x.slop=i.slop>s.slop?i.slop:s.slop,x.contactCount=e,h.pair=x;var r=t[0],o=l[0],a=t[1],u=l[1];(u.vertex===r||o.vertex===a)&&(l[1]=o,l[0]=o=u,u=l[1]),o.vertex=r,u.vertex=a},m.setActive=function(x,h,d){h?(x.isActive=!0,x.timeUpdated=d):(x.isActive=!1,x.contactCount=0)},m.id=function(x,h){return x.id{var m={};E.exports=m;var S=n(4506),x=n(53402);(function(){m.create=function(h){return x.extend({table:{},list:[],collisionStart:[],collisionActive:[],collisionEnd:[]},h)},m.update=function(h,d,t){var e=S.update,l=S.create,i=S.setActive,s=h.table,r=h.list,o=r.length,a=o,u=h.collisionStart,f=h.collisionEnd,v=h.collisionActive,c=d.length,g=0,p=0,T=0,C,M,A;for(A=0;A=t?r[a++]=M:(i(M,!1,t),M.collision.bodyA.sleepCounter>0&&M.collision.bodyB.sleepCounter>0?r[a++]=M:(f[p++]=M,delete s[M.id]));r.length!==a&&(r.length=a),u.length!==g&&(u.length=g),f.length!==p&&(f.length=p),v.length!==T&&(v.length=T)},m.clear=function(h){return h.table={},h.list.length=0,h.collisionStart.length=0,h.collisionActive.length=0,h.collisionEnd.length=0,h}})()},73296:(E,y,n)=>{var m={};E.exports=m;var S=n(31725),x=n(52284),h=n(15647),d=n(66280),t=n(41598);(function(){m.collides=function(e,l){for(var i=[],s=l.length,r=e.bounds,o=x.collides,a=h.overlaps,u=0;u{var m={};E.exports=m;var S=n(41598),x=n(53402),h=n(15647);(function(){m._restingThresh=2,m._restingThreshTangent=Math.sqrt(6),m._positionDampen=.9,m._positionWarming=.8,m._frictionNormalMultiplier=5,m._frictionMaxStatic=Number.MAX_VALUE,m.preSolvePosition=function(d){var t,e,l,i=d.length;for(t=0;tht?(v=_>0?_:-_,f=p.friction*(_>0?1:-1)*i,f<-v?f=-v:f>v&&(f=v)):(f=_,v=a);var ot=W*R-H*A,nt=X*R-K*A,it=I/(F+C.inverseInertia*ot*ot+M.inverseInertia*nt*nt),lt=(1+p.restitution)*q*it;if(f*=it,q0&&(b.normalImpulse=0),lt=b.normalImpulse-dt}if(_<-r||_>r)b.tangentImpulse=0;else{var ct=b.tangentImpulse;b.tangentImpulse+=f,b.tangentImpulse<-v&&(b.tangentImpulse=-v),b.tangentImpulse>v&&(b.tangentImpulse=v),f=b.tangentImpulse-ct}var Bt=A*lt+P*f,Lt=R*lt+L*f;C.isStatic||C.isSleeping||(C.positionPrev.x+=Bt*C.inverseMass,C.positionPrev.y+=Lt*C.inverseMass,C.anglePrev+=(W*Lt-H*Bt)*C.inverseInertia),M.isStatic||M.isSleeping||(M.positionPrev.x-=Bt*M.inverseMass,M.positionPrev.y-=Lt*M.inverseMass,M.anglePrev-=(X*Lt-K*Bt)*M.inverseInertia)}}}}})()},48140:(E,y,n)=>{var m={};E.exports=m;var S=n(41598),x=n(31725),h=n(53614),d=n(15647),t=n(66615),e=n(53402);(function(){m._warming=.4,m._torqueDampen=1,m._minLength=1e-6,m.create=function(l){var i=l;i.bodyA&&!i.pointA&&(i.pointA={x:0,y:0}),i.bodyB&&!i.pointB&&(i.pointB={x:0,y:0});var s=i.bodyA?x.add(i.bodyA.position,i.pointA):i.pointA,r=i.bodyB?x.add(i.bodyB.position,i.pointB):i.pointB,o=x.magnitude(x.sub(s,r));i.length=typeof i.length<"u"?i.length:o,i.id=i.id||e.nextId(),i.label=i.label||"Constraint",i.type="constraint",i.stiffness=i.stiffness||(i.length>0?1:.7),i.damping=i.damping||0,i.angularStiffness=i.angularStiffness||0,i.angleA=i.bodyA?i.bodyA.angle:i.angleA,i.angleB=i.bodyB?i.bodyB.angle:i.angleB,i.plugin={};var a={visible:!0,type:"line",anchors:!0,lineColor:null,lineOpacity:null,lineThickness:null,pinSize:null,anchorColor:null,anchorSize:null};return i.length===0&&i.stiffness>.1?(a.type="pin",a.anchors=!1):i.stiffness<.9&&(a.type="spring"),i.render=e.extend(a,i.render),i},m.preSolveAll=function(l){for(var i=0;i=1||l.length===0,T=p?l.stiffness*i:l.stiffness*i*i,C=l.damping*i,M=x.mult(v,g*T),A=(s?s.inverseMass:0)+(r?r.inverseMass:0),R=(s?s.inverseInertia:0)+(r?r.inverseInertia:0),P=A+R,L,F,w,O,B;if(C>0){var I=x.create();w=x.div(v,c),B=x.sub(r&&x.sub(r.position,r.positionPrev)||I,s&&x.sub(s.position,s.positionPrev)||I),O=x.dot(w,B)}s&&!s.isStatic&&(F=s.inverseMass/A,s.constraintImpulse.x-=M.x*F,s.constraintImpulse.y-=M.y*F,s.position.x-=M.x*F,s.position.y-=M.y*F,C>0&&(s.positionPrev.x-=C*w.x*O*F,s.positionPrev.y-=C*w.y*O*F),L=x.cross(o,M)/P*m._torqueDampen*s.inverseInertia*(1-l.angularStiffness),s.constraintImpulse.angle-=L,s.angle-=L),r&&!r.isStatic&&(F=r.inverseMass/A,r.constraintImpulse.x+=M.x*F,r.constraintImpulse.y+=M.y*F,r.position.x+=M.x*F,r.position.y+=M.y*F,C>0&&(r.positionPrev.x+=C*w.x*O*F,r.positionPrev.y+=C*w.y*O*F),L=x.cross(a,M)/P*m._torqueDampen*r.inverseInertia*(1-l.angularStiffness),r.constraintImpulse.angle+=L,r.angle+=L)}}},m.postSolveAll=function(l){for(var i=0;i0&&(a.position.x+=r.x,a.position.y+=r.y),r.angle!==0&&(S.rotate(a.vertices,r.angle,s.position),t.rotate(a.axes,r.angle),o>0&&x.rotateAbout(a.position,r.angle,s.position,a.position)),d.update(a.bounds,a.vertices,s.velocity)}r.angle*=m._warming,r.x*=m._warming,r.y*=m._warming}}},m.pointAWorld=function(l){return{x:(l.bodyA?l.bodyA.position.x:0)+(l.pointA?l.pointA.x:0),y:(l.bodyA?l.bodyA.position.y:0)+(l.pointA?l.pointA.y:0)}},m.pointBWorld=function(l){return{x:(l.bodyB?l.bodyB.position.x:0)+(l.pointB?l.pointB.x:0),y:(l.bodyB?l.bodyB.position.y:0)+(l.pointB?l.pointB.y:0)}},m.currentLength=function(l){var i=(l.bodyA?l.bodyA.position.x:0)+(l.pointA?l.pointA.x:0),s=(l.bodyA?l.bodyA.position.y:0)+(l.pointA?l.pointA.y:0),r=(l.bodyB?l.bodyB.position.x:0)+(l.pointB?l.pointB.x:0),o=(l.bodyB?l.bodyB.position.y:0)+(l.pointB?l.pointB.y:0),a=i-r,u=s-o;return Math.sqrt(a*a+u*u)}})()},53402:(E,y,n)=>{var m={};E.exports=m,function(){m._baseDelta=1e3/60,m._nextId=0,m._seed=0,m._nowStartTime=+new Date,m._warnedOnce={},m._decomp=null,m.extend=function(x,h){var d,t;typeof h=="boolean"?(d=2,t=h):(d=1,t=!0);for(var e=d;e0;h--){var d=Math.floor(m.random()*(h+1)),t=x[h];x[h]=x[d],x[d]=t}return x},m.choose=function(x){return x[Math.floor(m.random()*x.length)]},m.isElement=function(x){return typeof HTMLElement<"u"?x instanceof HTMLElement:!!(x&&x.nodeType&&x.nodeName)},m.isArray=function(x){return Object.prototype.toString.call(x)==="[object Array]"},m.isFunction=function(x){return typeof x=="function"},m.isPlainObject=function(x){return typeof x=="object"&&x.constructor===Object},m.isString=function(x){return toString.call(x)==="[object String]"},m.clamp=function(x,h,d){return xd?d:x},m.sign=function(x){return x<0?-1:1},m.now=function(){if(typeof window<"u"&&window.performance){if(window.performance.now)return window.performance.now();if(window.performance.webkitNow)return window.performance.webkitNow()}return Date.now?Date.now():new Date-m._nowStartTime},m.random=function(x,h){return x=typeof x<"u"?x:0,h=typeof h<"u"?h:1,x+S()*(h-x)};var S=function(){return m._seed=(m._seed*9301+49297)%233280,m._seed/233280};m.colorToNumber=function(x){return x=x.replace("#",""),x.length==3&&(x=x.charAt(0)+x.charAt(0)+x.charAt(1)+x.charAt(1)+x.charAt(2)+x.charAt(2)),parseInt(x,16)},m.logLevel=1,m.log=function(){console&&m.logLevel>0&&m.logLevel<=3&&console.log.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},m.info=function(){console&&m.logLevel>0&&m.logLevel<=2&&console.info.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},m.warn=function(){console&&m.logLevel>0&&m.logLevel<=3&&console.warn.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},m.warnOnce=function(){var x=Array.prototype.slice.call(arguments).join(" ");m._warnedOnce[x]||(m.warn(x),m._warnedOnce[x]=!0)},m.deprecated=function(x,h,d){x[h]=m.chain(function(){m.warnOnce("🔅 deprecated 🔅",d)},x[h])},m.nextId=function(){return m._nextId++},m.indexOf=function(x,h){if(x.indexOf)return x.indexOf(h);for(var d=0;d{var m={};E.exports=m;var S=n(53614),x=n(66272),h=n(81388),d=n(99561),t=n(35810),e=n(69351),l=n(48140),i=n(53402),s=n(22562);(function(){m._deltaMax=1e3/60,m.create=function(r){r=r||{};var o={positionIterations:6,velocityIterations:4,constraintIterations:2,enableSleeping:!1,events:[],plugin:{},gravity:{x:0,y:1,scale:.001},timing:{timestamp:0,timeScale:1,lastDelta:0,lastElapsed:0,lastUpdatesPerFrame:0}},a=i.extend(o,r);return a.world=r.world||e.create({label:"World"}),a.pairs=r.pairs||d.create(),a.detector=r.detector||h.create(),a.detector.pairs=a.pairs,a.grid={buckets:[]},a.world.gravity=a.gravity,a.broadphase=a.grid,a.metrics={},a},m.update=function(r,o){var a=i.now(),u=r.world,f=r.detector,v=r.pairs,c=r.timing,g=c.timestamp,p;o>m._deltaMax&&i.warnOnce("Matter.Engine.update: delta argument is recommended to be less than or equal to",m._deltaMax.toFixed(3),"ms."),o=typeof o<"u"?o:i._baseDelta,o*=c.timeScale,c.timestamp+=o,c.lastDelta=o;var T={timestamp:c.timestamp,delta:o};t.trigger(r,"beforeUpdate",T);var C=e.allBodies(u),M=e.allConstraints(u),A=e.allComposites(u);for(u.isModified&&(h.setBodies(f,C),e.setModified(u,!1,!1,!0)),r.enableSleeping&&S.update(C,o),m._bodiesApplyGravity(C,r.gravity),m.wrap(C,A),m.attractors(C),o>0&&m._bodiesUpdate(C,o),t.trigger(r,"beforeSolve",T),l.preSolveAll(C),p=0;p0&&t.trigger(r,"collisionStart",{pairs:v.collisionStart,timestamp:c.timestamp,delta:o});var P=i.clamp(20/r.positionIterations,0,1);for(x.preSolvePosition(v.list),p=0;p0&&t.trigger(r,"collisionActive",{pairs:v.collisionActive,timestamp:c.timestamp,delta:o}),v.collisionEnd.length>0&&t.trigger(r,"collisionEnd",{pairs:v.collisionEnd,timestamp:c.timestamp,delta:o}),m._bodiesClearForces(C),t.trigger(r,"afterUpdate",T),r.timing.lastElapsed=i.now()-a,r},m.merge=function(r,o){if(i.extend(r,o),o.world){r.world=o.world,m.clear(r);for(var a=e.allBodies(r.world),u=0;u0)for(var f=0;f{var m={};E.exports=m;var S=n(53402);(function(){m.on=function(x,h,d){for(var t=h.split(" "),e,l=0;l0){d||(d={}),t=h.split(" ");for(var r=0;r{var m={};E.exports=m;var S=n(73832),x=n(53402);(function(){m.name="matter-js",m.version="0.20.0",m.uses=[],m.used=[],m.use=function(){S.use(m,Array.prototype.slice.call(arguments))},m.before=function(h,d){return h=h.replace(/^Matter./,""),x.chainPathBefore(m,h,d)},m.after=function(h,d){return h=h.replace(/^Matter./,""),x.chainPathAfter(m,h,d)}})()},73832:(E,y,n)=>{var m={};E.exports=m;var S=n(53402);(function(){m._registry={},m.register=function(x){if(m.isPlugin(x)||S.warn("Plugin.register:",m.toString(x),"does not implement all required fields."),x.name in m._registry){var h=m._registry[x.name],d=m.versionParse(x.version).number,t=m.versionParse(h.version).number;d>t?(S.warn("Plugin.register:",m.toString(h),"was upgraded to",m.toString(x)),m._registry[x.name]=x):d-1},m.isFor=function(x,h){var d=x.for&&m.dependencyParse(x.for);return!x.for||h.name===d.name&&m.versionSatisfies(h.version,d.range)},m.use=function(x,h){if(x.uses=(x.uses||[]).concat(h||[]),x.uses.length===0){S.warn("Plugin.use:",m.toString(x),"does not specify any dependencies to install.");return}for(var d=m.dependencies(x),t=S.topologicalSort(d),e=[],l=0;l0&&!i.silent&&S.info(e.join(" "))},m.dependencies=function(x,h){var d=m.dependencyParse(x),t=d.name;if(h=h||{},!(t in h)){x=m.resolve(x)||x,h[t]=S.map(x.uses||[],function(l){m.isPlugin(l)&&m.register(l);var i=m.dependencyParse(l),s=m.resolve(l);return s&&!m.versionSatisfies(s.version,i.range)?(S.warn("Plugin.dependencies:",m.toString(s),"does not satisfy",m.toString(i),"used by",m.toString(d)+"."),s._warned=!0,x._warned=!0):s||(S.warn("Plugin.dependencies:",m.toString(l),"used by",m.toString(d),"could not be resolved."),x._warned=!0),i.name});for(var e=0;e=|>)?\s*((\d+)\.(\d+)\.(\d+))(-[0-9A-Za-z-+]+)?$/;h.test(x)||S.warn("Plugin.versionParse:",x,"is not a valid version or range.");var d=h.exec(x),t=Number(d[4]),e=Number(d[5]),l=Number(d[6]);return{isRange:!!(d[1]||d[2]),version:d[3],range:x,operator:d[1]||d[2]||"",major:t,minor:e,patch:l,parts:[t,e,l],prerelease:d[7],number:t*1e8+e*1e4+l}},m.versionSatisfies=function(x,h){h=h||"*";var d=m.versionParse(h),t=m.versionParse(x);if(d.isRange){if(d.operator==="*"||x==="*")return!0;if(d.operator===">")return t.number>d.number;if(d.operator===">=")return t.number>=d.number;if(d.operator==="~")return t.major===d.major&&t.minor===d.minor&&t.patch>=d.patch;if(d.operator==="^")return d.major>0?t.major===d.major&&t.number>=d.number:d.minor>0?t.minor===d.minor&&t.patch>=d.patch:t.patch===d.patch}return x===h||x==="*"}})()},13037:(E,y,n)=>{var m={};E.exports=m;var S=n(35810),x=n(48413),h=n(53402);(function(){m._maxFrameDelta=1e3/15,m._frameDeltaFallback=1e3/60,m._timeBufferMargin=1.5,m._elapsedNextEstimate=1,m._smoothingLowerBound=.1,m._smoothingUpperBound=.9,m.create=function(t){var e={delta:16.666666666666668,frameDelta:null,frameDeltaSmoothing:!0,frameDeltaSnapping:!0,frameDeltaHistory:[],frameDeltaHistorySize:100,frameRequestId:null,timeBuffer:0,timeLastTick:null,maxUpdates:null,maxFrameTime:33.333333333333336,lastUpdatesDeferred:0,enabled:!0},l=h.extend(e,t);return l.fps=0,l},m.run=function(t,e){return t.timeBuffer=m._frameDeltaFallback,function l(i){t.frameRequestId=m._onNextFrame(t,l),i&&t.enabled&&m.tick(t,e,i)}(),t},m.tick=function(t,e,l){var i=h.now(),s=t.delta,r=0,o=l-t.timeLastTick;if((!o||!t.timeLastTick||o>Math.max(m._maxFrameDelta,t.maxFrameTime))&&(o=t.frameDelta||m._frameDeltaFallback),t.frameDeltaSmoothing){t.frameDeltaHistory.push(o),t.frameDeltaHistory=t.frameDeltaHistory.slice(-t.frameDeltaHistorySize);var a=t.frameDeltaHistory.slice(0).sort(),u=t.frameDeltaHistory.slice(a.length*m._smoothingLowerBound,a.length*m._smoothingUpperBound),f=d(u);o=f||o}t.frameDeltaSnapping&&(o=1e3/Math.round(1e3/o)),t.frameDelta=o,t.timeLastTick=l,t.timeBuffer+=t.frameDelta,t.timeBuffer=h.clamp(t.timeBuffer,0,t.frameDelta+s*m._timeBufferMargin),t.lastUpdatesDeferred=0;var v=t.maxUpdates||Math.ceil(t.maxFrameTime/s),c={timestamp:e.timing.timestamp};S.trigger(t,"beforeTick",c),S.trigger(t,"tick",c);for(var g=h.now();s>0&&t.timeBuffer>=s*m._timeBufferMargin;){S.trigger(t,"beforeUpdate",c),x.update(e,s),S.trigger(t,"afterUpdate",c),t.timeBuffer-=s,r+=1;var p=h.now()-i,T=h.now()-g,C=p+m._elapsedNextEstimate*T/r;if(r>=v||C>t.maxFrameTime){t.lastUpdatesDeferred=Math.round(Math.max(0,t.timeBuffer/s-m._timeBufferMargin));break}}e.timing.lastUpdatesPerFrame=r,S.trigger(t,"afterTick",c),t.frameDeltaHistory.length>=100&&(t.lastUpdatesDeferred&&Math.round(t.frameDelta/s)>v?h.warnOnce("Matter.Runner: runner reached runner.maxUpdates, see docs."):t.lastUpdatesDeferred&&h.warnOnce("Matter.Runner: runner reached runner.maxFrameTime, see docs."),typeof t.isFixed<"u"&&h.warnOnce("Matter.Runner: runner.isFixed is now redundant, see docs."),(t.deltaMin||t.deltaMax)&&h.warnOnce("Matter.Runner: runner.deltaMin and runner.deltaMax were removed, see docs."),t.fps!==0&&h.warnOnce("Matter.Runner: runner.fps was replaced by runner.delta, see docs."))},m.stop=function(t){m._cancelNextFrame(t)},m._onNextFrame=function(t,e){if(typeof window<"u"&&window.requestAnimationFrame)t.frameRequestId=window.requestAnimationFrame(e);else throw new Error("Matter.Runner: missing required global window.requestAnimationFrame.");return t.frameRequestId},m._cancelNextFrame=function(t){if(typeof window<"u"&&window.cancelAnimationFrame)window.cancelAnimationFrame(t.frameRequestId);else throw new Error("Matter.Runner: missing required global window.cancelAnimationFrame.")};var d=function(t){for(var e=0,l=t.length,i=0;i{var m={};E.exports=m;var S=n(22562),x=n(35810),h=n(53402);(function(){m._motionWakeThreshold=.18,m._motionSleepThreshold=.08,m._minBias=.9,m.update=function(d,t){for(var e=t/h._baseDelta,l=m._motionSleepThreshold,i=0;i0&&s.motion=s.sleepThreshold/e&&m.set(s,!0)):s.sleepCounter>0&&(s.sleepCounter-=1)}},m.afterCollisions=function(d){for(var t=m._motionSleepThreshold,e=0;et&&m.set(o,!1)}}}},m.set=function(d,t){var e=d.isSleeping;t?(d.isSleeping=!0,d.sleepCounter=d.sleepThreshold,d.positionImpulse.x=0,d.positionImpulse.y=0,d.positionPrev.x=d.position.x,d.positionPrev.y=d.position.y,d.anglePrev=d.angle,d.speed=0,d.angularSpeed=0,d.motion=0,e||x.trigger(d,"sleepStart")):(d.isSleeping=!1,d.sleepCounter=0,e&&x.trigger(d,"sleepEnd"))}})()},66280:(E,y,n)=>{var m={};E.exports=m;var S=n(41598),x=n(53402),h=n(22562),d=n(15647),t=n(31725);(function(){m.rectangle=function(e,l,i,s,r){r=r||{};var o={label:"Rectangle Body",position:{x:e,y:l},vertices:S.fromPath("L 0 0 L "+i+" 0 L "+i+" "+s+" L 0 "+s)};if(r.chamfer){var a=r.chamfer;o.vertices=S.chamfer(o.vertices,a.radius,a.quality,a.qualityMin,a.qualityMax),delete r.chamfer}return h.create(x.extend({},o,r))},m.trapezoid=function(e,l,i,s,r,o){o=o||{},r>=1&&x.warn("Bodies.trapezoid: slope parameter must be < 1."),r*=.5;var a=(1-r*2)*i,u=i*r,f=u+a,v=f+u,c;r<.5?c="L 0 0 L "+u+" "+-s+" L "+f+" "+-s+" L "+v+" 0":c="L 0 0 L "+f+" "+-s+" L "+v+" 0";var g={label:"Trapezoid Body",position:{x:e,y:l},vertices:S.fromPath(c)};if(o.chamfer){var p=o.chamfer;g.vertices=S.chamfer(g.vertices,p.radius,p.quality,p.qualityMin,p.qualityMax),delete o.chamfer}return h.create(x.extend({},g,o))},m.circle=function(e,l,i,s,r){s=s||{};var o={label:"Circle Body",circleRadius:i};r=r||25;var a=Math.ceil(Math.max(10,Math.min(r,i)));return a%2===1&&(a+=1),m.polygon(e,l,a,i,x.extend({},o,s))},m.polygon=function(e,l,i,s,r){if(r=r||{},i<3)return m.circle(e,l,s,r);for(var o=2*Math.PI/i,a="",u=o*.5,f=0;f0&&S.area(B)1?(c=h.create(x.extend({parts:g.slice(0)},s)),h.setPosition(c,{x:e,y:l}),c):g[0]},m.flagCoincidentParts=function(e,l){l===void 0&&(l=5);for(var i=0;i{var m={};E.exports=m;var S=n(69351),x=n(48140),h=n(53402),d=n(22562),t=n(66280);(function(){m.stack=function(e,l,i,s,r,o,a){for(var u=S.create({label:"Stack"}),f=e,v=l,c,g=0,p=0;pT&&(T=A),d.translate(M,{x:R*.5,y:A*.5}),f=M.bounds.max.x+r,S.addBody(u,M),c=M,g+=1}else f+=r}v+=T+o,f=e}return u},m.chain=function(e,l,i,s,r,o){for(var a=e.bodies,u=1;u0)for(u=0;u0&&(c=o[u-1+(a-1)*l],S.addConstraint(e,x.create(h.extend({bodyA:c,bodyB:v},r)))),s&&uT)){c=T-c;var M=c,A=i-1-c;if(!(vA)){p===1&&d.translate(g,{x:(v+(i%2===1?1:-1))*C,y:0});var R=g?v*C:0;return a(e+R+v*r,f,v,c,g,p)}}})},m.newtonsCradle=function(e,l,i,s,r){for(var o=S.create({label:"Newtons Cradle"}),a=0;a{var m={};E.exports=m;var S=n(31725),x=n(53402);(function(){m.fromVertices=function(h){for(var d={},t=0;t{var y={};E.exports=y,function(){y.create=function(n){var m={min:{x:0,y:0},max:{x:0,y:0}};return n&&y.update(m,n),m},y.update=function(n,m,S){n.min.x=1/0,n.max.x=-1/0,n.min.y=1/0,n.max.y=-1/0;for(var x=0;xn.max.x&&(n.max.x=h.x),h.xn.max.y&&(n.max.y=h.y),h.y0?n.max.x+=S.x:n.min.x+=S.x,S.y>0?n.max.y+=S.y:n.min.y+=S.y)},y.contains=function(n,m){return m.x>=n.min.x&&m.x<=n.max.x&&m.y>=n.min.y&&m.y<=n.max.y},y.overlaps=function(n,m){return n.min.x<=m.max.x&&n.max.x>=m.min.x&&n.max.y>=m.min.y&&n.min.y<=m.max.y},y.translate=function(n,m){n.min.x+=m.x,n.max.x+=m.x,n.min.y+=m.y,n.max.y+=m.y},y.shift=function(n,m){var S=n.max.x-n.min.x,x=n.max.y-n.min.y;n.min.x=m.x,n.max.x=m.x+S,n.min.y=m.y,n.max.y=m.y+x},y.wrap=function(n,m,S){var x=null,h=null;if(typeof m.min.x<"u"&&typeof m.max.x<"u"&&(n.min.x>m.max.x?x=m.min.x-n.max.x:n.max.xm.max.y?h=m.min.y-n.max.y:n.max.y{var m={};E.exports=m,n(15647);var S=n(53402);(function(){m.pathToVertices=function(x,h){typeof window<"u"&&!("SVGPathSeg"in window)&&S.warn("Svg.pathToVertices: SVGPathSeg not defined, a polyfill is required.");var d,t,e,l,i,s,r,o,a,u,f=[],v,c,g=0,p=0,T=0;h=h||15;var C=function(A,R,P){var L=P%2===1&&P>1;if(!a||A!=a.x||R!=a.y){a&&L?(v=a.x,c=a.y):(v=0,c=0);var F={x:v+A,y:c+R};(L||!a)&&(a=F),f.push(F),p=v+A,T=c+R}},M=function(A){var R=A.pathSegTypeAsLetter.toUpperCase();if(R!=="Z"){switch(R){case"M":case"L":case"T":case"C":case"S":case"Q":p=A.x,T=A.y;break;case"H":p=A.x;break;case"V":T=A.y;break}C(p,T,A.pathSegType)}};for(m._svgPathToAbsolute(x),e=x.getTotalLength(),s=[],d=0;d{var y={};E.exports=y,function(){y.create=function(n,m){return{x:n||0,y:m||0}},y.clone=function(n){return{x:n.x,y:n.y}},y.magnitude=function(n){return Math.sqrt(n.x*n.x+n.y*n.y)},y.magnitudeSquared=function(n){return n.x*n.x+n.y*n.y},y.rotate=function(n,m,S){var x=Math.cos(m),h=Math.sin(m);S||(S={});var d=n.x*x-n.y*h;return S.y=n.x*h+n.y*x,S.x=d,S},y.rotateAbout=function(n,m,S,x){var h=Math.cos(m),d=Math.sin(m);x||(x={});var t=S.x+((n.x-S.x)*h-(n.y-S.y)*d);return x.y=S.y+((n.x-S.x)*d+(n.y-S.y)*h),x.x=t,x},y.normalise=function(n){var m=y.magnitude(n);return m===0?{x:0,y:0}:{x:n.x/m,y:n.y/m}},y.dot=function(n,m){return n.x*m.x+n.y*m.y},y.cross=function(n,m){return n.x*m.y-n.y*m.x},y.cross3=function(n,m,S){return(m.x-n.x)*(S.y-n.y)-(m.y-n.y)*(S.x-n.x)},y.add=function(n,m,S){return S||(S={}),S.x=n.x+m.x,S.y=n.y+m.y,S},y.sub=function(n,m,S){return S||(S={}),S.x=n.x-m.x,S.y=n.y-m.y,S},y.mult=function(n,m){return{x:n.x*m,y:n.y*m}},y.div=function(n,m){return{x:n.x/m,y:n.y/m}},y.perp=function(n,m){return m=m===!0?-1:1,{x:m*-n.y,y:m*n.x}},y.neg=function(n){return{x:-n.x,y:-n.y}},y.angle=function(n,m){return Math.atan2(m.y-n.y,m.x-n.x)},y._temp=[y.create(),y.create(),y.create(),y.create(),y.create(),y.create()]}()},41598:(E,y,n)=>{var m={};E.exports=m;var S=n(31725),x=n(53402);(function(){m.create=function(h,d){for(var t=[],e=0;e0)return!1;i=s}return!0},m.scale=function(h,d,t,e){if(d===1&&t===1)return h;e=e||m.centre(h);for(var l,i,s=0;s=0?s-1:h.length-1],o=h[s],a=h[(s+1)%h.length],u=d[s0&&(d|=2),d===3)return!1;return d!==0?!0:null},m.hull=function(h){var d=[],t=[],e,l;for(h=h.slice(0),h.sort(function(i,s){var r=i.x-s.x;return r!==0?r:i.y-s.y}),l=0;l=2&&S.cross3(t[t.length-2],t[t.length-1],e)<=0;)t.pop();t.push(e)}for(l=h.length-1;l>=0;l-=1){for(e=h[l];d.length>=2&&S.cross3(d[d.length-2],d[d.length-1],e)<=0;)d.pop();d.push(e)}return d.pop(),t.pop(),d.concat(t)}})()},55973:E=>{/** + * @author Stefan Hedman (http://steffe.se) + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={decomp:M,quickDecomp:L,isSimple:R,removeCollinearPoints:F,removeDuplicatePoints:w,makeCCW:a};function y(I,D,N){N=N||0;var z=[0,0],V,U,G,b,Y,W,H;return V=I[1][1]-I[0][1],U=I[0][0]-I[1][0],G=V*I[0][0]+U*I[0][1],b=D[1][1]-D[0][1],Y=D[0][0]-D[1][0],W=b*D[0][0]+Y*D[0][1],H=V*Y-b*U,O(H,0,N)||(z[0]=(Y*G-U*W)/H,z[1]=(V*W-b*G)/H),z}function n(I,D,N,z){var V=D[0]-I[0],U=D[1]-I[1],G=z[0]-N[0],b=z[1]-N[1];if(G*U-b*V===0)return!1;var Y=(V*(N[1]-I[1])+U*(I[0]-N[0]))/(G*U-b*V),W=(G*(I[1]-N[1])+b*(N[0]-I[0]))/(b*V-G*U);return Y>=0&&Y<=1&&W>=0&&W<=1}function m(I,D,N){return(D[0]-I[0])*(N[1]-I[1])-(N[0]-I[0])*(D[1]-I[1])}function S(I,D,N){return m(I,D,N)>0}function x(I,D,N){return m(I,D,N)>=0}function h(I,D,N){return m(I,D,N)<0}function d(I,D,N){return m(I,D,N)<=0}var t=[],e=[];function l(I,D,N,z){if(z){var V=t,U=e;V[0]=D[0]-I[0],V[1]=D[1]-I[1],U[0]=N[0]-D[0],U[1]=N[1]-D[1];var G=V[0]*U[0]+V[1]*U[1],b=Math.sqrt(V[0]*V[0]+V[1]*V[1]),Y=Math.sqrt(U[0]*U[0]+U[1]*U[1]),W=Math.acos(G/(b*Y));return WN[D][0])&&(D=z);return S(s(I,D-1),s(I,D),s(I,D+1))?!1:(u(I),!0)}function u(I){for(var D=[],N=I.length,z=0;z!==N;z++)D.push(I.pop());for(var z=0;z!==N;z++)I[z]=D[z]}function f(I,D){return h(s(I,D-1),s(I,D),s(I,D+1))}var v=[],c=[];function g(I,D,N){var z,V,U=v,G=c;if(x(s(I,D+1),s(I,D),s(I,N))&&d(s(I,D-1),s(I,D),s(I,N)))return!1;V=i(s(I,D),s(I,N));for(var b=0;b!==I.length;++b)if(!((b+1)%I.length===D||b===D)&&x(s(I,D),s(I,N),s(I,b+1))&&d(s(I,D),s(I,N),s(I,b))&&(U[0]=s(I,D),U[1]=s(I,N),G[0]=s(I,b),G[1]=s(I,b+1),z=y(U,G),i(s(I,D),z)0?A(I,D):[I]}function A(I,D){if(D.length===0)return[I];if(D instanceof Array&&D.length&&D[0]instanceof Array&&D[0].length===2&&D[0][0]instanceof Array){for(var N=[I],z=0;zU)return console.warn("quickDecomp: max level ("+U+") reached."),D;for(var rt=0;rtQ&&(Q+=I.length),Z=Number.MAX_VALUE,Q3&&z>=0;--z)l(s(I,z-1),s(I,z),s(I,z+1),D)&&(I.splice(z%I.length,1),N++);return N}function w(I,D){for(var N=I.length-1;N>=1;--N)for(var z=I[N],V=N-1;V>=0;--V)if(B(z,I[V],D)){I.splice(N,1);continue}}function O(I,D,N){return N=N||0,Math.abs(I-D)<=N}function B(I,D,N){return O(I[0],D[0],N)&&O(I[1],D[1],N)}},52018:(E,y,n)=>{/** +* @author Richard Davey +* @copyright 2013-2026 Phaser Studio Inc. +* @license {@link https://github.com/photonstorm/phaser3-plugin-template/blob/master/LICENSE|MIT License} +*/var m=n(83419),S=new m({initialize:function(h){this.pluginManager=h,this.game=h.game},init:function(){},start:function(){},stop:function(){},destroy:function(){this.pluginManager=null,this.game=null,this.scene=null,this.systems=null}});E.exports=S},42363:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={Global:["game","anims","cache","plugins","registry","scale","sound","textures","renderer"],CoreScene:["EventEmitter","CameraManager","GameObjectCreator","GameObjectFactory","ScenePlugin","DisplayList","UpdateList"],DefaultScene:["Clock","DataManagerPlugin","InputPlugin","Loader","TweenManager","LightsPlugin"]};y.DefaultScene.push("CameraManager3D"),y.Global.push("facebook"),E.exports=y},37277:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={},n={},m={};m.register=function(S,x,h,d){d===void 0&&(d=!1),y[S]={plugin:x,mapping:h,custom:d}},m.registerCustom=function(S,x,h,d){n[S]={plugin:x,mapping:h,data:d}},m.hasCore=function(S){return y.hasOwnProperty(S)},m.hasCustom=function(S){return n.hasOwnProperty(S)},m.getCore=function(S){return y[S]},m.getCustom=function(S){return n[S]},m.getCustomClass=function(S){return n.hasOwnProperty(S)?n[S].plugin:null},m.remove=function(S){y.hasOwnProperty(S)&&delete y[S]},m.removeCustom=function(S){n.hasOwnProperty(S)&&delete n[S]},m.destroyCorePlugins=function(){for(var S in y)y.hasOwnProperty(S)&&delete y[S]},m.destroyCustomPlugins=function(){for(var S in n)n.hasOwnProperty(S)&&delete n[S]},E.exports=m},77332:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(8443),x=n(50792),h=n(74099),d=n(44603),t=n(39429),e=n(95540),l=n(37277),i=n(72905),s=n(8054),r=new m({Extends:x,initialize:function(a){x.call(this),this.game=a,this.plugins=[],this.scenePlugins=[],this._pendingGlobal=[],this._pendingScene=[],a.isBooted||a.config.renderType===s.HEADLESS?this.boot():a.events.once(S.BOOT,this.boot,this)},boot:function(){var o,a,u,f,v,c,g,p=this.game.config,T=p.installGlobalPlugins;for(T=T.concat(this._pendingGlobal),o=0;o{/** +* @author Richard Davey +* @copyright 2013-2026 Phaser Studio Inc. +* @license {@link https://github.com/photonstorm/phaser3-plugin-template/blob/master/LICENSE|MIT License} +*/var m=n(52018),S=n(83419),x=n(44594),h=new S({Extends:m,initialize:function(t,e,l){m.call(this,e),this.scene=t,this.systems=t.sys,this.pluginKey=l,t.sys.events.once(x.BOOT,this.boot,this)},boot:function(){},destroy:function(){this.pluginManager=null,this.game=null,this.scene=null,this.systems=null}});E.exports=h},18922:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={BasePlugin:n(52018),DefaultPlugins:n(42363),PluginCache:n(37277),PluginManager:n(77332),ScenePlugin:n(45145)}},63595:()=>{typeof HTMLVideoElement<"u"&&!("requestVideoFrameCallback"in HTMLVideoElement.prototype)&&"getVideoPlaybackQuality"in HTMLVideoElement.prototype&&(HTMLVideoElement.prototype._rvfcpolyfillmap={},HTMLVideoElement.prototype.requestVideoFrameCallback=function(E){const y=performance.now(),n=this.getVideoPlaybackQuality(),m=this.mozPresentedFrames||this.mozPaintedFrames||n.totalVideoFrames-n.droppedVideoFrames,S=(x,h)=>{const d=this.getVideoPlaybackQuality(),t=this.mozPresentedFrames||this.mozPaintedFrames||d.totalVideoFrames-d.droppedVideoFrames;if(t>m){const e=this.mozFrameDelay||d.totalFrameDelay-n.totalFrameDelay||0,l=h-x;E(h,{presentationTime:h+e*1e3,expectedDisplayTime:h+l,width:this.videoWidth,height:this.videoHeight,mediaTime:Math.max(0,this.currentTime||0)+l/1e3,presentedFrames:t,processingDuration:e}),delete this._rvfcpolyfillmap[y]}else this._rvfcpolyfillmap[y]=requestAnimationFrame(e=>S(h,e))};return this._rvfcpolyfillmap[y]=requestAnimationFrame(x=>S(y,x)),y},HTMLVideoElement.prototype.cancelVideoFrameCallback=function(E){cancelAnimationFrame(this._rvfcpolyfillmap[E]),delete this._rvfcpolyfillmap[E]})},10312:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={SKIP_CHECK:-1,NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16,ERASE:17,SOURCE_IN:18,SOURCE_OUT:19,SOURCE_ATOP:20,DESTINATION_OVER:21,DESTINATION_IN:22,DESTINATION_OUT:23,DESTINATION_ATOP:24,LIGHTER:25,COPY:26,XOR:27}},29795:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={DEFAULT:0,LINEAR:0,NEAREST:1};E.exports=y},68627:(E,y,n)=>{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(19715),S=n(32880),x=n(83419),h=n(8054),d=n(50792),t=n(92503),e=n(56373),l=n(97480),i=n(69442),s=n(8443),r=n(61340),o=new x({Extends:d,initialize:function(u){d.call(this);var f=u.config;this.config={clearBeforeRender:f.clearBeforeRender,backgroundColor:f.backgroundColor,antialias:f.antialias,roundPixels:f.roundPixels,transparent:f.transparent},this.game=u,this.type=h.CANVAS,this.drawCount=0,this.width=0,this.height=0,this.gameCanvas=u.canvas;var v={alpha:f.transparent,desynchronized:f.desynchronized,willReadFrequently:!1};this.gameContext=f.context?f.context:this.gameCanvas.getContext("2d",v),this.currentContext=this.gameContext,this.antialias=f.antialias,this.blendModes=e(),this.snapshotState={x:0,y:0,width:1,height:1,getPixel:!1,callback:null,type:"image/png",encoder:.92},this._tempMatrix1=new r,this._tempMatrix2=new r,this._tempMatrix3=new r,this.isBooted=!1,this.init()},init:function(){var a=this.game;a.events.once(s.BOOT,function(){var u=this.config;if(!u.transparent){var f=this.gameContext,v=this.gameCanvas;f.fillStyle=u.backgroundColor.rgba,f.fillRect(0,0,v.width,v.height)}},this),a.textures.once(i.READY,this.boot,this)},boot:function(){var a=this.game,u=a.scale.baseSize;this.width=u.width,this.height=u.height,this.isBooted=!0,a.scale.on(l.RESIZE,this.onResize,this),this.resize(u.width,u.height)},onResize:function(a,u){(u.width!==this.width||u.height!==this.height)&&this.resize(u.width,u.height)},resize:function(a,u){this.width=a,this.height=u,this.emit(t.RESIZE,a,u)},resetTransform:function(){this.currentContext.setTransform(1,0,0,1,0,0)},setBlendMode:function(a){return this.currentContext.globalCompositeOperation=a,this},setContext:function(a){return this.currentContext=a||this.gameContext,this},setAlpha:function(a){return this.currentContext.globalAlpha=a,this},preRender:function(){var a=this.gameContext,u=this.config,f=this.width,v=this.height;a.globalAlpha=1,a.globalCompositeOperation="source-over",a.setTransform(1,0,0,1,0,0),this.emit(t.PRE_RENDER_CLEAR),u.clearBeforeRender&&(a.clearRect(0,0,f,v),u.transparent||(a.fillStyle=u.backgroundColor.rgba,a.fillRect(0,0,f,v))),a.save(),this.drawCount=0,this.emit(t.PRE_RENDER)},render:function(a,u,f){var v=u.length;this.emit(t.RENDER,a,f);var c=f.x,g=f.y,p=f.width,T=f.height,C=f.renderToTexture?f.context:a.sys.context;C.save(),this.game.scene.customViewports&&(C.beginPath(),C.rect(c,g,p,T),C.clip()),f.emit(m.PRE_RENDER,f),this.currentContext=C;var M=f.mask;M&&M.preRenderCanvas(this,null,f._maskCamera),f.transparent||(C.fillStyle=f.backgroundColor.rgba,C.fillRect(c,g,p,T)),C.globalAlpha=f.alpha,C.globalCompositeOperation="source-over",this.drawCount+=v,f.renderToTexture&&f.emit(m.PRE_RENDER,f),f.matrix.copyToContext(C);for(var A=0;A=0?B=-(B+R):B<0&&(B=Math.abs(B)-R)),a.flipY&&(I>=0?I=-(I+P):I<0&&(I=Math.abs(I)-P))}var N=1,z=1;a.flipX&&(L||(B+=-u.realWidth+w*2),N=-1),a.flipY&&(L||(I+=-u.realHeight+O*2),z=-1);var V=a.x,U=a.y;if(f.roundPixels&&(V=Math.floor(V),U=Math.floor(U)),T.applyITRS(V,U,a.rotation,a.scaleX*N,a.scaleY*z),p.copyWithScrollFactorFrom(f.matrixCombined,f.scrollX,f.scrollY,a.scrollFactorX,a.scrollFactorY),v&&p.multiply(v),p.multiply(T),f.renderRoundPixels&&(p.e=Math.floor(p.e+.5),p.f=Math.floor(p.f+.5)),g.save(),p.setToContext(g),g.globalCompositeOperation=this.blendModes[a.blendMode],g.globalAlpha=c,g.imageSmoothingEnabled=!u.source.scaleMode,a.mask&&a.mask.preRenderCanvas(this,a,f),R>0&&P>0){var G=R/F,b=P/F;f.roundPixels&&(B=Math.floor(B+.5),I=Math.floor(I+.5),G+=.5,b+=.5),g.drawImage(u.source.image,M,A,R,P,B,I,G,b)}a.mask&&a.mask.postRenderCanvas(this,a,f),g.restore()}},destroy:function(){this.removeAllListeners(),this.game=null,this.gameCanvas=null,this.gameContext=null}});E.exports=o},55830:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={CanvasRenderer:n(68627),GetBlendModes:n(56373),SetTransform:n(20926)}},56373:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(10312),S=n(89289),x=function(){var h=[],d=S.supportNewBlendModes,t="source-over";return h[m.NORMAL]=t,h[m.ADD]="lighter",h[m.MULTIPLY]=d?"multiply":t,h[m.SCREEN]=d?"screen":t,h[m.OVERLAY]=d?"overlay":t,h[m.DARKEN]=d?"darken":t,h[m.LIGHTEN]=d?"lighten":t,h[m.COLOR_DODGE]=d?"color-dodge":t,h[m.COLOR_BURN]=d?"color-burn":t,h[m.HARD_LIGHT]=d?"hard-light":t,h[m.SOFT_LIGHT]=d?"soft-light":t,h[m.DIFFERENCE]=d?"difference":t,h[m.EXCLUSION]=d?"exclusion":t,h[m.HUE]=d?"hue":t,h[m.SATURATION]=d?"saturation":t,h[m.COLOR]=d?"color":t,h[m.LUMINOSITY]=d?"luminosity":t,h[m.ERASE]="destination-out",h[m.SOURCE_IN]="source-in",h[m.SOURCE_OUT]="source-out",h[m.SOURCE_ATOP]="source-atop",h[m.DESTINATION_OVER]="destination-over",h[m.DESTINATION_IN]="destination-in",h[m.DESTINATION_OUT]="destination-out",h[m.DESTINATION_ATOP]="destination-atop",h[m.LIGHTER]="lighter",h[m.COPY]="copy",h[m.XOR]="xor",h};E.exports=x},20926:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91296),S=function(x,h,d,t,e){var l=t.alpha*d.alpha;if(l<=0)return!1;var i=m(d,t,e).calc;return h.globalCompositeOperation=x.blendModes[d.blendMode],h.globalAlpha=l,h.save(),i.setToContext(h),h.imageSmoothingEnabled=d.frame?!d.frame.source.scaleMode:x.antialias,!0};E.exports=S},63899:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="losewebgl"},6119:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="postrender"},31124:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="prerenderclear"},48070:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="prerender"},15640:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="render"},8912:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="resize"},87124:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="restorewebgl"},53998:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="setparalleltextureunits"},92503:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={LOSE_WEBGL:n(63899),POST_RENDER:n(6119),PRE_RENDER:n(48070),PRE_RENDER_CLEAR:n(31124),RENDER:n(15640),RESIZE:n(8912),RESTORE_WEBGL:n(87124),SET_PARALLEL_TEXTURE_UNITS:n(53998)}},36909:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Events:n(92503),Snapshot:n(89966)},E.exports.Canvas=n(55830),E.exports.WebGL=n(4159)},32880:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(27919),S=n(40987),x=n(95540),h=function(d,t){var e=x(t,"callback"),l=x(t,"type","image/png"),i=x(t,"encoder",.92),s=Math.abs(Math.round(x(t,"x",0))),r=Math.abs(Math.round(x(t,"y",0))),o=Math.floor(x(t,"width",d.width)),a=Math.floor(x(t,"height",d.height)),u=x(t,"getPixel",!1);if(u){var f=d.getContext("2d",{willReadFrequently:!1}),v=f.getImageData(s,r,1,1),c=v.data;e.call(null,new S(c[0],c[1],c[2],c[3]))}else if(s!==0||r!==0||o!==d.width||a!==d.height){var g=m.createWebGL(this,o,a),p=g.getContext("2d",{willReadFrequently:!0});o>0&&a>0&&p.drawImage(d,s,r,o,a,0,0,o,a);var T=new Image;T.onerror=function(){e.call(null),m.remove(g)},T.onload=function(){e.call(null,T),m.remove(g)},T.src=g.toDataURL(l,i)}else{var C=new Image;C.onerror=function(){e.call(null)},C.onload=function(){e.call(null,C)},C.src=d.toDataURL(l,i)}};E.exports=h},88815:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(27919),S=n(40987),x=n(95540),h=function(d,t){var e=d,l=x(t,"callback"),i=x(t,"type","image/png"),s=x(t,"encoder",.92),r=Math.abs(Math.round(x(t,"x",0))),o=Math.abs(Math.round(x(t,"y",0))),a=x(t,"getPixel",!1),u=x(t,"isFramebuffer",!1),f=u?x(t,"bufferWidth",1):e.drawingBufferWidth,v=u?x(t,"bufferHeight",1):e.drawingBufferHeight;if(a){var c=new Uint8Array(4),g=v-o-1;e.readPixels(r,g,1,1,e.RGBA,e.UNSIGNED_BYTE,c),l.call(null,new S(c[0],c[1],c[2],c[3]))}else{var p=Math.floor(x(t,"width",f)),T=Math.floor(x(t,"height",v)),C=p*T*4,M=new Uint8Array(C);e.readPixels(r,v-o-T,p,T,e.RGBA,e.UNSIGNED_BYTE,M);for(var A=m.createWebGL(this,p,T),R=A.getContext("2d",{willReadFrequently:!0}),P=R.getImageData(0,0,p,T),L=P.data,F=0;F{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Canvas:n(32880),WebGL:n(88815)}},87774:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h,d){d===void 0&&(d={}),this.renderer=h,this.camera=null,this.setCamera(d.camera||null),this.state={bindings:{framebuffer:null},blend:{},colorClearValue:d.clearColor||[0,0,0,0],scissor:{box:[0,0,0,0],enable:!0},viewport:[0,0,0,0]},this.blendMode=-1,this.setBlendMode(d.blendMode||0),this.autoClear=0,d.autoClear===void 0||d.autoClear===!0?this.setAutoClear(!0,!0,!0):Array.isArray(d.autoClear)&&this.setAutoClear.apply(this,d.autoClear),this.useCanvas=!!d.useCanvas,this.framebuffer=null,this.texture=null,this.pool=d.pool||null,this.lastUsed=0,this.width=0,this.height=0,this._locks=[],d.copyFrom?this.copy(d.copyFrom):this.resize(d.width||h.width,d.height||h.height)},resize:function(x,h){if(x=Math.round(x),h=Math.round(h),x<=0&&(x=1),h<=0&&(h=1),this.useCanvas)this.framebuffer||(this.framebuffer=this.renderer.createFramebuffer(null));else if(this.framebuffer)this.framebuffer.resize(x,h);else{var d=this.renderer;this.texture=d.createTextureFromSource(null,x,h,0),this.framebuffer=d.createFramebuffer(this.texture,!0,!1)}this.state.bindings.framebuffer=this.framebuffer,this.width=x,this.height=h,this.state.scissor.box=[0,0,x,h],this.state.viewport=[0,0,x,h]},copy:function(x){var h=x.state,d=h.blend,t=h.scissor;this.autoClear=x.autoClear,this.useCanvas=x.useCanvas,this.framebuffer=x.framebuffer,this.texture=x.texture,this.camera=x.camera,this.blendMode=x.blendMode,this.width=x.width,this.height=x.height,this.state={bindings:{framebuffer:h.bindings.framebuffer},blend:{color:d.color&&d.color.slice(),enable:d.enable,equation:d.equation,func:d.func},colorClearValue:h.colorClearValue.slice(),scissor:{box:t.box.slice(),enable:t.enable},viewport:h.viewport.slice()}},getClone:function(x){var h=new S(this.renderer,{copyFrom:this});return x||h.setAutoClear(!1,!1,!1),h},setAutoClear:function(x,h,d){var t=0,e=this.renderer.gl;x&&(t|=e.COLOR_BUFFER_BIT),h&&(t|=e.DEPTH_BUFFER_BIT),d&&(t|=e.STENCIL_BUFFER_BIT),this.autoClear=t},setBlendMode:function(x,h){if(x!==this.blendMode){var d=this.state.blend,t=this.renderer.blendModes[x];d.enable=t.enable,d.equation=t.equation,d.func=t.func,h?d.color=h:d.color=void 0,this.blendMode=x}},setCamera:function(x){this.camera=x},setClearColor:function(x,h,d,t){var e=this.state.colorClearValue;x===e[0]&&h===e[1]&&d===e[2]&&t===e[3]||(this.state.colorClearValue=[x,h,d,t])},setScissorBox:function(x,h,d,t){h=this.height-h-t,this.state.scissor.box=[x,h,d,t]},setScissorEnable:function(x){this.state.scissor.enable=x},use:function(){this.renderer.renderNodes.finishBatch(),this.autoClear&&this.clear()},release:function(){this.pool&&this._locks.length===0&&(this.lastUsed=Date.now(),this.pool.add(this)),this.renderer.renderNodes.finishBatch()},lock:function(x){this._locks.indexOf(x)===-1&&this._locks.push(x)},unlock:function(x,h){var d=this._locks.indexOf(x);d!==-1&&this._locks.splice(d,1),h&&this.release()},isLocked:function(){return this._locks.length>0},beginDraw:function(){this.framebuffer&&this.renderer.glTextureUnits.unbindTexture(this.texture),this.renderer.glWrapper.update(this.state)},clear:function(x){this.beginDraw(),x===void 0&&(x=this.autoClear),this.renderer.renderNodes.finishBatch(),this.renderer.gl.clear(x)},destroy:function(){this.renderer.deleteTexture(this.texture),this.renderer.deleteFramebuffer(this.state.bindings.framebuffer),this.renderer=null,this.camera=null,this.state=null,this.framebuffer=null,this.texture=null}});E.exports=S},65656:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(87774),x=new m({initialize:function(d,t,e){this.renderer=d,this.maxAge=t,this.maxPoolSize=e,this.agePool=[],this.sizePool={}},add:function(h){if(this.agePool.indexOf(h)===-1){var d=h.width+"x"+h.height;this.sizePool[d]?this.sizePool[d].push(h):this.sizePool[d]=[h],this.agePool.push(h)}},get:function(h,d){var t,e,l=this.renderer;h===void 0&&(h=l.width),d===void 0&&(d=l.height);var i=l.getMaxTextureSize();h>i&&(h=i),d>i&&(d=i);var s=h+"x"+d,r=this.sizePool[s];if(r&&r.length>0)return t=r.pop(),e=this.agePool.indexOf(t),this.agePool.splice(e,1),t;if(this.agePool.length>0){var o=Date.now(),a=this.maxAge;if(t=this.agePool[0],o-t.lastUsed>a){this.agePool.shift();var u=t.width+"x"+t.height;return r=this.sizePool[u],e=r.indexOf(t),r.splice(e,1),t.resize(h,d),t}}return this.agePool.length0)for(var e=d.splice(0,t),l=0;l{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(62644),x=new m({initialize:function(d,t,e){this.renderer=d,this.indexBuffer=e,this.attributeBufferLayouts=t,this.currentProgramKey=null,this.currentConfig={base:{vertexShader:"",fragmentShader:""},additions:[],features:[]},this.programs={},this.uniforms={}},getCurrentProgramSuite:function(){var h=this.currentConfig,d=this.renderer,t=d.shaderProgramFactory,e=t.getKey(h.base,h.additions,h.features);if(!this.programs[e]){var l=t.getShaderProgram(h.base,h.additions,h.features);l.compiling&&l.checkParallelCompile(),l.compiling||(this.programs[e]={program:l,vao:d.createVAO(l,this.indexBuffer,this.attributeBufferLayouts),config:S(h)})}return this.programs[e]||null},resetCurrentConfig:function(){this.currentConfig.base.vertexShader="",this.currentConfig.base.fragmentShader="",this.currentConfig.additions.length=0,this.currentConfig.features.length=0},setUniform:function(h,d){this.uniforms[h]=d},removeUniform:function(h){delete this.uniforms[h]},clearUniforms:function(){this.uniforms.length=0},applyUniforms:function(h){var d=this.uniforms;for(var t in d)h.setUniform(t,d[t])},setBaseShader:function(h,d,t){var e=this.currentConfig.base;e.name=h,e.vertexShader=d,e.fragmentShader=t},addAddition:function(h,d){d===void 0?this.currentConfig.additions.push(h):this.currentConfig.additions.splice(d,0,h)},getAddition:function(h){for(var d=this.currentConfig.additions,t=0;t{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h){this.renderer=h,this.programs={}},has:function(x){return this.programs[x]!==void 0},getShaderProgram:function(x,h,d){var t=this.getKey(x,h,d),e=this.programs[t];return e||(e=this.createShaderProgram(t,x,h,d)),e},getKey:function(x,h,d){var t=x.name;if(h&&h.length>0){t+="_";for(var e=0;e0&&(t+="__",t+=d.sort().join("_")),t},createShaderProgram:function(x,h,d,t){var e=h.vertexShader,l=h.fragmentShader;if(e=e.replace(/\r/g,""),l=l.replace(/\r/g,""),d){for(var i,s,r={},o=0;o{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @author Matthew Groves <@doormat> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(61340);E.exports={getTintFromFloats:function(S,x,h,d){var t=(S*255|0)&255,e=(x*255|0)&255,l=(h*255|0)&255,i=(d*255|0)&255;return(i<<24|t<<16|e<<8|l)>>>0},getTintAppendFloatAlpha:function(S,x){var h=(x*255|0)&255;return(h<<24|S)>>>0},getTintAppendFloatAlphaAndSwap:function(S,x){var h=(S>>16|0)&255,d=(S>>8|0)&255,t=(S|0)&255,e=(x*255|0)&255;return(e<<24|t<<16|d<<8|h)>>>0},getFloatsFromUintRGB:function(S){var x=(S>>16|0)&255,h=(S>>8|0)&255,d=(S|0)&255;return[x/255,h/255,d/255]},checkShaderMax:function(S,x){var h=Math.min(16,S.getParameter(S.MAX_TEXTURE_IMAGE_UNITS));return!x||x===-1?h:Math.min(h,x)},updateLightingUniforms:function(S,x,h,d,t,e,l,i){var s=x.camera,r=s.scene,o=r.sys.lights;if(!(!o||!o.active)){var a=o.getLights(s),u=a.length,f=o.ambientColor,v=x.height;if(S){h.setUniform("uNormSampler",d),h.setUniform("uCamera",[s.x,s.y,s.rotation,s.zoom]),h.setUniform("uAmbientLightColor",[f.r,f.g,f.b]),h.setUniform("uLightCount",u);for(var c=new m,g=0;g{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(95428),S=n(72905),x=n(83419),h=n(8054),d=n(50792),t=n(92503),e=n(50030),l=n(37867),i=n(29747),s=n(87774),r=n(97480),o=n(69442),a=n(70554),u=n(88815),f=n(26128),v=n(37959),c=n(1482),g=n(86272),p=n(82751),T=n(13760),C=n(84387),M=n(85788),A=n(47774),R=n(53314),P=n(30130),L=n(65656),F=n(18804),w=new x({Extends:d,initialize:function(B){d.call(this);var I=B.config,D={alpha:I.transparent,desynchronized:I.desynchronized,depth:!0,antialias:I.antialiasGL,premultipliedAlpha:I.premultipliedAlpha,stencil:!0,failIfMajorPerformanceCaveat:I.failIfMajorPerformanceCaveat,powerPreference:I.powerPreference,preserveDrawingBuffer:I.preserveDrawingBuffer,willReadFrequently:!1};this.config={clearBeforeRender:I.clearBeforeRender,antialias:I.antialias,backgroundColor:I.backgroundColor,contextCreation:D,roundPixels:I.roundPixels,pathDetailThreshold:I.pathDetailThreshold,maxTextures:I.maxTextures,maxTextureSize:I.maxTextureSize,batchSize:I.batchSize,maxLights:I.maxLights,mipmapFilter:I.mipmapFilter},this.game=B,this.type=h.WEBGL,this.renderNodes=null,this.cameraRenderNode=null,this.shaderProgramFactory=new F(this),this.width=0,this.height=0,this.canvas=B.canvas,this.blendModes=[],this.contextLost=!1,this.snapshotState={x:0,y:0,width:1,height:1,getPixel:!1,callback:null,type:"image/png",encoder:.92,isFramebuffer:!1,bufferWidth:0,bufferHeight:0,unpremultiplyAlpha:!0},this.maxTextures=0,this.textureUnitIndices=[],this.glBufferWrappers=[],this.glProgramWrappers=[],this.glTextureWrappers=[],this.glFramebufferWrappers=[],this.glVAOWrappers=[],this.genericQuadIndexBuffer=null,this.baseDrawingContext=null,this.currentViewCamera=null,this.drawingContextPool=new L(this,1e3,1024),this.contextLostHandler=i,this.contextRestoredHandler=i,this.previousContextLostHandler=i,this.previousContextRestoredHandler=i,this.gl=null,this.glWrapper=null,this.glTextureUnits=null,this.supportedExtensions=null,this.instancedArraysExtension=null,this.parallelShaderCompileExtension=null,this.standardDerivativesExtension=null,this.vaoExtension=null,this.extensions={},this.glFormats,this.compression,this.drawingBufferHeight=0,this.blankTexture=null,this.normalTexture=null,this.whiteTexture=null,this.shaderSetters=null,this.mipmapFilter=null,this.isBooted=!1,this.projectionMatrix,this.projectionWidth=0,this.projectionHeight=0,this.projectionFlipY=!1,this.spector=null,this._debugCapture=!1,this.init(this.config)},init:function(O){var B,I=this.game,D=this.canvas,N=O.backgroundColor;if(I.config.context?B=I.config.context:B=D.getContext("webgl",O.contextCreation)||D.getContext("experimental-webgl",O.contextCreation),!B||B.isContextLost())throw this.contextLost=!0,new Error("WebGL unsupported");this.gl=B,this.setExtensions(),this.setContextHandlers(),I.context=B;for(var z=0;z<=27;z++)this.blendModes.push(A.createCombined(this));this.blendModes[1].func=[B.ONE,B.DST_ALPHA,B.ONE,B.DST_ALPHA],this.blendModes[2].func=[B.DST_COLOR,B.ONE_MINUS_SRC_ALPHA,B.DST_COLOR,B.ONE_MINUS_SRC_ALPHA],this.blendModes[3].func=[B.ONE,B.ONE_MINUS_SRC_COLOR,B.ONE,B.ONE_MINUS_SRC_COLOR],this.blendModes[17].equation=[B.FUNC_REVERSE_SUBTRACT,B.FUNC_REVERSE_SUBTRACT],this.blendModes[17].func=[B.ZERO,B.ONE_MINUS_SRC_ALPHA,B.ZERO,B.ONE_MINUS_SRC_ALPHA],this.glFormats=[B.BYTE,B.SHORT,B.UNSIGNED_BYTE,B.UNSIGNED_SHORT,B.FLOAT],this.shaderSetters=new g(this),(!O.maxTextures||O.maxTextures===-1)&&(O.maxTextures=B.getParameter(B.MAX_TEXTURE_IMAGE_UNITS)),O.maxTextureSize||(O.maxTextureSize=B.getParameter(B.MAX_TEXTURE_SIZE)),this.compression=this.getCompressedTextures(),this.glWrapper=new v(this),this.glWrapper.update(void 0,!0),B.clearColor(N.redGL,N.greenGL,N.blueGL,N.alphaGL);var V=["NEAREST","LINEAR","NEAREST_MIPMAP_NEAREST","LINEAR_MIPMAP_NEAREST","NEAREST_MIPMAP_LINEAR","LINEAR_MIPMAP_LINEAR"];for(V.indexOf(O.mipmapFilter)!==-1&&(this.mipmapFilter=B[O.mipmapFilter]),this.maxTextures=a.checkShaderMax(B,O.maxTextures),z=0;z-1?O.getExtension(D):null,B.config.skipUnreadyShaders){var N="KHR_parallel_shader_compile";this.parallelShaderCompileExtension=I.indexOf(N)>-1?O.getExtension(N):null,this.parallelShaderCompileExtension||(B.config.skipUnreadyShaders=!1)}var z="OES_vertex_array_object";if(this.vaoExtension=I.indexOf(z)>-1?O.getExtension(z):null,B.config.smoothPixelArt){var V="OES_standard_derivatives";this.standardDerivativesExtension=I.indexOf(V)>-1?O.getExtension(V):null}if(O instanceof WebGLRenderingContext){if(this.instancedArraysExtension)O.vertexAttribDivisor=this.instancedArraysExtension.vertexAttribDivisorANGLE.bind(this.instancedArraysExtension),O.drawArraysInstanced=this.instancedArraysExtension.drawArraysInstancedANGLE.bind(this.instancedArraysExtension),O.drawElementsInstanced=this.instancedArraysExtension.drawElementsInstancedANGLE.bind(this.instancedArraysExtension);else throw new Error("ANGLE_instanced_arrays extension not supported. Required for rendering.");if(this.vaoExtension)O.createVertexArray=this.vaoExtension.createVertexArrayOES.bind(this.vaoExtension),O.bindVertexArray=this.vaoExtension.bindVertexArrayOES.bind(this.vaoExtension),O.deleteVertexArray=this.vaoExtension.deleteVertexArrayOES.bind(this.vaoExtension),O.isVertexArray=this.vaoExtension.isVertexArrayOES.bind(this.vaoExtension);else throw new Error("OES_vertex_array_object extension not supported. Required for rendering.");if(this.standardDerivativesExtension)O.FRAGMENT_SHADER_DERIVATIVE_HINT=this.standardDerivativesExtension.FRAGMENT_SHADER_DERIVATIVE_HINT_OES;else if(B.config.smoothPixelArt)throw new Error("OES_standard_derivatives extension not supported. Cannot use smoothPixelArt.")}},setContextHandlers:function(O,B){this.previousContextLostHandler&&this.canvas.removeEventListener("webglcontextlost",this.previousContextLostHandler,!1),this.previousContextRestoredHandler&&this.canvas.removeEventListener("webglcontextlost",this.previousContextRestoredHandler,!1),typeof O=="function"?this.contextLostHandler=O.bind(this):this.contextLostHandler=this.dispatchContextLost.bind(this),typeof B=="function"?this.contextRestoredHandler=B.bind(this):this.contextRestoredHandler=this.dispatchContextRestored.bind(this),this.canvas.addEventListener("webglcontextlost",this.contextLostHandler,!1),this.canvas.addEventListener("webglcontextrestored",this.contextRestoredHandler,!1),this.previousContextLostHandler=this.contextLostHandler,this.previousContextRestoredHandler=this.contextRestoredHandler},dispatchContextLost:function(O){this.contextLost=!0,console&&console.warn("WebGL Context lost. Renderer disabled"),this.emit(t.LOSE_WEBGL,this),O.preventDefault()},dispatchContextRestored:function(O){var B=this.gl;if(B.isContextLost()){console&&console.log("WebGL Context restored, but context is still lost");return}this.setExtensions(),this.glWrapper.update(R.getDefault(this),!0),this.glTextureUnits.init(),this.compression=this.getCompressedTextures();var I=function(D){D.createResource()};m(this.glTextureWrappers,I),m(this.glBufferWrappers,I),m(this.glFramebufferWrappers,I),m(this.glProgramWrappers,I),m(this.glVAOWrappers,I),this.glTextureUnits.bindUnits(this.glTextureUnits.units,!0),this.resize(this.game.scale.baseSize.width,this.game.scale.baseSize.height),this.contextLost=!1,console&&console.warn("WebGL Context restored. Renderer running again."),this.emit(t.RESTORE_WEBGL,this),O.preventDefault()},captureFrame:function(O,B){},captureNextFrame:function(){},getFps:function(){},log:function(){},startCapture:function(O,B,I){},stopCapture:function(){},onCapture:function(O){},onResize:function(O,B){(B.width!==this.width||B.height!==this.height)&&this.resize(B.width,B.height)},resize:function(O,B){var I=this.gl;return this.width=O,this.height=B,this.setProjectionMatrix(O,B),this.drawingBufferHeight=I.drawingBufferHeight,this.glWrapper.update({scissor:{box:[0,I.drawingBufferHeight-B,O,B]},viewport:[0,0,O,B]}),this.emit(t.RESIZE,O,B),this},getCompressedTextures:function(){var O="WEBGL_compressed_texture_",B="WEBKIT_"+O,I="EXT_texture_compression_",D=function(z,V){var U=z.getExtension(O+V)||z.getExtension(B+V)||z.getExtension(I+V);if(U){var G={};for(var b in U)G[U[b]]=b;return G}},N=this.gl;return{ETC:D(N,"etc"),ETC1:D(N,"etc1"),ATC:D(N,"atc"),ASTC:D(N,"astc"),BPTC:D(N,"bptc"),RGTC:D(N,"rgtc"),PVRTC:D(N,"pvrtc"),S3TC:D(N,"s3tc"),S3TCSRGB:D(N,"s3tc_srgb"),IMG:!0}},getCompressedTextureName:function(O,B){var I=this.compression[O.toUpperCase()];if(B in I)return I[B]},supportsCompressedTexture:function(O,B){var I=this.compression[O.toUpperCase()];return I?B?B in I:!0:!1},getAspectRatio:function(){return this.width/this.height},setProjectionMatrix:function(O,B,I){return(O!==this.projectionWidth||B!==this.projectionHeight||I!==this.projectionFlipY)&&(this.projectionWidth=O,this.projectionHeight=B,this.projectionFlipY=!!I,I?this.projectionMatrix.ortho(0,O,0,B,-1e3,1e3):this.projectionMatrix.ortho(0,O,B,0,-1e3,1e3)),this},setProjectionMatrixFromDrawingContext:function(O){return this.setProjectionMatrix(O.width,O.height,!1)},resetProjectionMatrix:function(){return this.setProjectionMatrix(this.width,this.height)},hasExtension:function(O){return this.supportedExtensions?this.supportedExtensions.indexOf(O):!1},getExtension:function(O){return this.hasExtension(O)?(O in this.extensions||(this.extensions[O]=this.gl.getExtension(O)),this.extensions[O]):null},addBlendMode:function(O,B){var I=this.blendModes.push(A.createCombined(this,!0,void 0,B,O[0],O[1]))-1;return I-1},updateBlendMode:function(O,B,I){if(O>17&&this.blendModes[O]){var D=this.blendModes[O];B.length===2?D.func=[B[0],B[1],B[0],B[1]]:D.func=[B[0],B[1],B[2],B[3]],typeof I=="number"?D.equation=[I,I]:D.equation=[I[0],I[1]]}return this},removeBlendMode:function(O){return O>17&&this.blendModes[O]&&this.blendModes.splice(O,1),this},clearFramebuffer:function(O,B,I){var D=this.gl,N=0;O&&(this.glWrapper.updateColorClearValue({colorClearValue:O}),N=N|D.COLOR_BUFFER_BIT),B!==void 0&&(this.glWrapper.updateStencilClear({stencil:{clear:B}}),N=N|D.STENCIL_BUFFER_BIT),I!==void 0&&(N=N|D.DEPTH_BUFFER_BIT),D.clear(N)},createTextureFromSource:function(O,B,I,D,N,z){N===void 0&&(N=!1);var V=this.gl,U=V.NEAREST,G=V.NEAREST,b=V.CLAMP_TO_EDGE,Y=null;B=O?O.width:B,I=O?O.height:I;var W=e(B,I);if(W&&!N&&(b=V.REPEAT),D===h.ScaleModes.LINEAR&&this.config.antialias){var H=O&&O.compressed,X=!H&&W||H&&O.mipmaps.length>1;U=this.mipmapFilter&&X?this.mipmapFilter:V.LINEAR,G=V.LINEAR}return!O&&typeof B=="number"&&typeof I=="number"?Y=this.createTexture2D(0,U,G,b,b,V.RGBA,null,B,I,void 0,void 0,z):Y=this.createTexture2D(0,U,G,b,b,V.RGBA,O,void 0,void 0,void 0,void 0,z),Y},createTexture2D:function(O,B,I,D,N,z,V,U,G,b,Y,W){typeof U!="number"&&(U=V?V.width:1),typeof G!="number"&&(G=V?V.height:1);var H=new p(this,O,B,I,D,N,z,V,U,G,b,Y,W);return this.glTextureWrappers.push(H),H},createFramebuffer:function(O,B,I){!Array.isArray(O)&&O!==null&&(O=[O]);var D=new C(this,O,B,I);return this.glFramebufferWrappers.push(D),D},createProgram:function(O,B){var I=new c(this,O,B);return this.glProgramWrappers.push(I),I},createVertexBuffer:function(O,B){var I=this.gl,D=new f(this,O,I.ARRAY_BUFFER,B);return this.glBufferWrappers.push(D),D},createIndexBuffer:function(O,B){var I=this.gl,D=new f(this,O,I.ELEMENT_ARRAY_BUFFER,B);return this.glBufferWrappers.push(D),D},createVAO:function(O,B,I){var D=new M(this,O,B,I);return this.glVAOWrappers.push(D),D},deleteTexture:function(O){if(O)return S(this.glTextureWrappers,O),O.destroy(),this},deleteFramebuffer:function(O){return O?(S(this.glFramebufferWrappers,O),O.destroy(),this):this},deleteProgram:function(O){return O&&(S(this.glProgramWrappers,O),O.destroy()),this},deleteBuffer:function(O){return O?(S(this.glBufferWrappers,O),O.destroy(),this):this},preRender:function(){if(!this.contextLost){this.emit(t.PRE_RENDER_CLEAR);var O=this.baseDrawingContext;if(this.config.clearBeforeRender){var B=this.config.backgroundColor;O.setClearColor(B.redGL,B.greenGL,B.blueGL,B.alphaGL),O.setAutoClear(!0,!0,!0)}else O.setAutoClear(!1,!1,!1);O.use(),this.emit(t.PRE_RENDER)}},render:function(O,B,I){this.contextLost||(this.emit(t.RENDER,O,I),this.currentViewCamera=I,this.cameraRenderNode.run(this.baseDrawingContext,B,I),this.currentViewCamera=null)},postRender:function(){if(this.baseDrawingContext.release(),!this.contextLost){this.emit(t.POST_RENDER);var O=this.snapshotState;O.callback&&(u(this.gl,O),O.callback=null)}},drawElements:function(O,B,I,D,N,z,V){var U=this.gl;O.beginDraw(),I.bind(),D.bind(),this.glTextureUnits.bindUnits(B),U.drawElements(V||U.TRIANGLE_STRIP,N,U.UNSIGNED_SHORT,z)},drawInstancedArrays:function(O,B,I,D,N,z,V,U){var G=this.gl;O.beginDraw(),I.bind(),D.bind(),this.glTextureUnits.bindUnits(B),G.drawArraysInstanced(U||G.TRIANGLE_STRIP,N,z,V)},snapshot:function(O,B,I){return this.snapshotArea(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight,O,B,I)},snapshotArea:function(O,B,I,D,N,z,V){var U=this.snapshotState;return U.callback=N,U.type=z,U.encoder=V,U.getPixel=!1,U.x=O,U.y=B,U.width=I,U.height=D,U.unpremultiplyAlpha=this.game.config.premultipliedAlpha,this},snapshotPixel:function(O,B,I){return this.snapshotArea(O,B,1,1,I),this.snapshotState.getPixel=!0,this},snapshotFramebuffer:function(O,B,I,D,N,z,V,U,G,b,Y){N===void 0&&(N=!1),z===void 0&&(z=0),V===void 0&&(V=0),U===void 0&&(U=B),G===void 0&&(G=I),b==="pixel"&&(N=!0,b="image/png"),this.snapshotArea(z,V,U,G,D,b,Y);var W=this.snapshotState;return W.getPixel=N,W.isFramebuffer=!0,W.bufferWidth=B,W.bufferHeight=I,W.width=Math.min(W.width,B),W.height=Math.min(W.height,I),this.glWrapper.updateBindingsFramebuffer({bindings:{framebuffer:O}}),u(this.gl,W),W.callback=null,W.isFramebuffer=!1,this},canvasToTexture:function(O,B,I,D){I===void 0&&(I=!1),D===void 0&&(D=!0);var N=this.gl,z=N.NEAREST,V=N.NEAREST,U=O.width,G=O.height,b=N.CLAMP_TO_EDGE,Y=e(U,G);return!I&&Y&&(b=N.REPEAT),this.config.antialias&&(z=Y&&this.mipmapFilter?this.mipmapFilter:N.LINEAR,V=N.LINEAR),B?(B.update(O,U,G,D,b,b,z,V,B.format),B):this.createTexture2D(0,z,V,b,b,N.RGBA,O,U,G,!0,!1,D)},createCanvasTexture:function(O,B,I){return B===void 0&&(B=!1),I===void 0&&(I=!0),this.canvasToTexture(O,null,B,I)},updateCanvasTexture:function(O,B,I,D){return I===void 0&&(I=!0),D===void 0&&(D=!1),this.canvasToTexture(O,B,D,I)},videoToTexture:function(O,B,I,D){I===void 0&&(I=!1),D===void 0&&(D=!0);var N=this.gl,z=N.NEAREST,V=N.NEAREST,U=O.videoWidth,G=O.videoHeight,b=N.CLAMP_TO_EDGE,Y=e(U,G);return!I&&Y&&(b=N.REPEAT),this.config.antialias&&(z=Y&&this.mipmapFilter?this.mipmapFilter:N.LINEAR,V=N.LINEAR),B?(B.update(O,U,G,D,b,b,z,V,B.format),B):this.createTexture2D(0,z,V,b,b,N.RGBA,O,U,G,!0,!0,D)},createVideoTexture:function(O,B,I){return B===void 0&&(B=!1),I===void 0&&(I=!0),this.videoToTexture(O,null,B,I)},updateVideoTexture:function(O,B,I,D){return I===void 0&&(I=!0),D===void 0&&(D=!1),this.videoToTexture(O,B,D,I)},createUint8ArrayTexture:function(O,B,I,D,N){var z=this.gl,V=z.NEAREST,U=z.NEAREST,G=z.CLAMP_TO_EDGE,b=e(B,I);return b&&(G=z.REPEAT),D===void 0&&(D=!0),N===void 0&&(N=!0),this.createTexture2D(0,V,U,G,G,z.RGBA,O,B,I,D,!1,N)},setTextureFilter:function(O,B){var I=this.gl,D=B===0?I.LINEAR:I.NEAREST,N=this.glTextureUnits,z=N.units[0];return N.bind(O,0),O.update(O.pixels,O.width,O.height,O.flipY,O.wrapS,O.wrapT,D,D,O.format),z&&N.bind(z,0),this},setTextureWrap:function(O,B,I){var D=this.gl;if(!e(O.width,O.height)&&(B!==D.CLAMP_TO_EDGE||I!==D.CLAMP_TO_EDGE))return this;var N=this.glTextureUnits,z=N.units[0];return N.bind(O,0),O.update(O.pixels,O.width,O.height,O.flipY,B,I,O.minFilter,O.magFilter,O.format),z&&N.bind(z,0),this},getMaxTextureSize:function(){return this.config.maxTextureSize},destroy:function(){this.off(t.RESIZE,this.baseDrawingContext.resize,this.baseDrawingContext),this.canvas.removeEventListener("webglcontextlost",this.contextLostHandler,!1),this.canvas.removeEventListener("webglcontextrestored",this.contextRestoredHandler,!1);var O=function(B){B.destroy()};m(this.glBufferWrappers,O),m(this.glFramebufferWrappers,O),m(this.glProgramWrappers,O),m(this.glTextureWrappers,O),this.removeAllListeners(),this.extensions={},this.gl=null,this.game=null,this.canvas=null,this.contextLost=!0}});E.exports=w},14500:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={BYTE:{enum:5120,size:1},UNSIGNED_BYTE:{enum:5121,size:1},SHORT:{enum:5122,size:2},UNSIGNED_SHORT:{enum:5123,size:2},INT:{enum:5124,size:4},UNSIGNED_INT:{enum:5125,size:4},FLOAT:{enum:5126,size:4}};E.exports=y},4159:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(14500),S=n(79291),x={Shaders:n(89350),ShaderAdditionMakers:n(83786),DrawingContext:n(87774),DrawingContextPool:n(65656),ProgramManager:n(56436),RenderNodes:n(54521),ShaderProgramFactory:n(18804),Utils:n(70554),WebGLRenderer:n(74797),Wrappers:n(31884)};x=S(!1,x,m),E.exports=x},47774:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={createCombined:function(n,m,S,x,h,d){var t=n.gl;m===void 0&&(m=!0),S===void 0&&(S=[0,0,0,0]),x===void 0&&(x=t.FUNC_ADD),h===void 0&&(h=t.ONE),d===void 0&&(d=t.ONE_MINUS_SRC_ALPHA);var e={enabled:m,color:S,equation:[x,x],func:[h,d,h,d]};return e},createSeparate:function(n,m,S,x,h,d,t,e,l){var i=n.gl;m===void 0&&(m=!0),S===void 0&&(S=[0,0,0,0]),x===void 0&&(x=i.FUNC_ADD),h===void 0&&(h=i.FUNC_ADD),d===void 0&&(d=i.ONE),t===void 0&&(t=i.ONE_MINUS_SRC_ALPHA),e===void 0&&(e=i.ONE),l===void 0&&(l=i.ONE_MINUS_SRC_ALPHA);var s={enabled:m,color:S,equation:[x,h],func:[d,t,e,l]};return s}};E.exports=y},53314:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(8054),S=n(62644),x=n(71623),h={getDefault:function(d){var t={bindings:{activeTexture:0,arrayBuffer:null,elementArrayBuffer:null,framebuffer:null,program:null,renderbuffer:null},blend:S(d.blendModes[m.BlendModes.NORMAL]),colorClearValue:[0,0,0,1],colorWritemask:[!0,!0,!0,!0],cullFace:!1,depthTest:!1,scissor:{enable:!0,box:[0,0,0,0]},stencil:x.create(d),texturing:{flipY:!1,premultiplyAlpha:!1},vao:null,viewport:[0,0,0,0]};return t}};E.exports=h},71623:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={create:function(n,m,S,x,h,d,t,e,l){var i=n.gl;m===void 0&&(m=!1),S===void 0&&(S=i.ALWAYS),x===void 0&&(x=0),h===void 0&&(h=255),d===void 0&&(d=i.KEEP),t===void 0&&(t=i.KEEP),e===void 0&&(e=i.KEEP),l===void 0&&(l=0);var s={enabled:m,func:{func:S,ref:x,mask:h},op:{fail:d,zfail:t,zpass:e},clear:l};return s}};E.exports=y},13961:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(56436),x=n(40952),h=n(6141),d=n(36909),t=new m({Extends:h,initialize:function(l,i,s){var r=l.renderer,o=r.gl;s=this._copyAndCompleteConfig(l,s||{},i);var a=s.name;if(!a)throw new Error("BatchHandler must have a name");h.call(this,a,l),this.instancesPerBatch=-1,this.verticesPerInstance=s.verticesPerInstance;var u=65536,f=Math.floor(u/this.verticesPerInstance),v=s.instancesPerBatch||r.config.batchSize||f;this.instancesPerBatch=Math.min(v,f),this.indicesPerInstance=s.indicesPerInstance,this.bytesPerIndexPerInstance=this.indicesPerInstance*Uint16Array.BYTES_PER_ELEMENT,this.maxTexturesPerBatch=1,this.manager.on(d.Events.SET_PARALLEL_TEXTURE_UNITS,this.updateTextureCount,this),r.glWrapper.updateVAO({vao:null}),this.indexBuffer=r.createIndexBuffer(this._generateElementIndices(this.instancesPerBatch),s.indexBufferDynamic?o.DYNAMIC_DRAW:o.STATIC_DRAW);var c=s.vertexBufferLayout;if(c.count=this.instancesPerBatch*this.verticesPerInstance,this.vertexBufferLayout=new x(r,c,null),this.programManager=new S(r,[this.vertexBufferLayout],this.indexBuffer),this.programManager.setBaseShader(s.shaderName,s.vertexSource,s.fragmentSource),s.shaderAdditions)for(var g=0;g{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(4127),x=n(89924),h=n(13961),d=new m({Extends:h,initialize:function(t,e){h.call(this,t,this.defaultConfig,e),this._emptyTextures=[]},defaultConfig:{name:"BatchHandlerPointLight",verticesPerInstance:4,indicesPerInstance:6,shaderName:"POINTLIGHT",vertexSource:x,fragmentSource:S,vertexBufferLayout:{usage:"DYNAMIC_DRAW",layout:[{name:"inPosition",size:2},{name:"inLightPosition",size:2},{name:"inLightRadius",size:1},{name:"inLightAttenuation",size:1},{name:"inLightColor",size:4}]}},_generateElementIndices:function(t){for(var e=new ArrayBuffer(t*6*2),l=new Uint16Array(e),i=0,s=0;s{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=n(83419),x=n(62644),h=n(70554),d=n(98840),t=n(44667),e=n(81084),l=n(44349),i=n(6184),s=n(11653),r=n(40829),o=n(42792),a=n(96049),u=n(33997),f=n(79532),v=n(65217),c=n(74505),g=n(13961),p=new S({Extends:g,initialize:function(C,M){this.renderOptions={multiTexturing:!1,texRes:!1,lighting:!1,selfShadow:!1,selfShadowPenumbra:0,selfShadowThreshold:0,smoothPixelArt:!1},g.call(this,C,this.defaultConfig,M),this.programManager.setUniform("uMainSampler[0]",this.manager.renderer.textureUnitIndices),this.nextRenderOptions=x(this.renderOptions),this._renderOptionsChanged=!1,this._lightVector=new m},defaultConfig:{name:"BatchHandlerQuad",verticesPerInstance:4,indicesPerInstance:6,shaderName:"STANDARD",vertexSource:t,fragmentSource:d,shaderAdditions:[o(),a(!0),c(!0),s(1),u(),l(),i(!0),v(!0),f(!0),r(!0),e(!0)],vertexBufferLayout:{usage:"DYNAMIC_DRAW",layout:[{name:"inPosition",size:2},{name:"inTexCoord",size:2},{name:"inTexDatum"},{name:"inTintEffect"},{name:"inTint",size:4,type:"UNSIGNED_BYTE",normalized:!0}]}},_generateElementIndices:function(T){for(var C=new ArrayBuffer(T*6*2),M=new Uint16Array(C),A=0,R=0;R{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(15214),x=new m({Extends:S,initialize:function(d,t){t===void 0&&(t={}),t.name||(t.name="BatchHandlerQuadSingle"),t.shaderName||(t.shaderName="STANDARD_SINGLE"),t.instancesPerBatch||(t.instancesPerBatch=1),S.call(this,d,t)}});E.exports=x},62791:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(98840),x=n(44667),h=n(44349),d=n(11653),t=n(42792),e=n(96049),l=n(74505),i=n(33997),s=n(70554),r=n(15214),o=s.getTintAppendFloatAlpha,a=new m({Extends:r,initialize:function(f,v){r.call(this,f,v),this.renderOptions.multiTexturing=!0},defaultConfig:{name:"BatchHandlerStrip",verticesPerInstance:2,indicesPerInstance:2,shaderName:"STRIP",vertexSource:x,fragmentSource:S,shaderAdditions:[t(),e(!0),l(!0),d(1),i(),h()],vertexBufferLayout:{usage:"DYNAMIC_DRAW",layout:[{name:"inPosition",size:2},{name:"inTexCoord",size:2},{name:"inTexDatum"},{name:"inTintEffect"},{name:"inTint",size:4,type:"UNSIGNED_BYTE",normalized:!0}]}},_generateElementIndices:function(u){for(var f=new ArrayBuffer(u*2*2),v=new Uint16Array(f),c=v.length,g=0;gthis.instancesPerBatch)throw new Error("BatchHandlerStrip: Vertex count exceeds maximum per batch ("+this.maxVerticesPerBatch+")");this.instanceCount+L>this.instancesPerBatch&&this.run(u),this.updateRenderOptions(R),this._renderOptionsChanged&&(this.run(u),this.updateShaderConfig());var F=this.batchTextures(c),w=this.instanceCount*this.floatsPerInstance,O=this.vertexBufferLayout.buffer,B=O.viewF32,I=O.viewU32,D=!1;if(this.instanceCount>0){var N=1+this.floatsPerInstance/this.verticesPerInstance;B[w++]=B[w-N],B[w++]=B[w-N],B[w++]=B[w-N],B[w++]=B[w-N],B[w++]=B[w-N],B[w++]=B[w-N],I[w++]=I[w-N],D=!0}var z;P&&(z=[]);for(var V=v.a,U=v.b,G=v.c,b=v.d,Y=v.e,W=v.f,H=g.length,X=0;X{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(98840),x=n(44667),h=n(81084),d=n(44349),t=n(6184),e=n(11653),l=n(40829),i=n(42792),s=n(96049),r=n(33997),o=n(10455),a=n(79532),u=n(65217),f=n(74505),v=n(44832),c=n(23295),g=n(15214),p=new m({Extends:g,initialize:function(C,M){g.call(this,C,M)},defaultConfig:{name:"BatchHandlerTileSprite",verticesPerInstance:4,indicesPerInstance:6,shaderName:"TILESPRITE",vertexSource:x,fragmentSource:S,shaderAdditions:[o(),i(),s(!0),c(!0),v(!0),f(!0),e(1),r(),d(),t(!0),u(!0),a(!0),l(!0),h(!0)],vertexBufferLayout:{usage:"DYNAMIC_DRAW",layout:[{name:"inPosition",size:2},{name:"inTexCoord",size:2},{name:"inFrame",size:4},{name:"inTexDatum"},{name:"inTintEffect"},{name:"inTint",size:4,type:"UNSIGNED_BYTE",normalized:!0}]}},updateRenderOptions:function(T){g.prototype.updateRenderOptions.call(this,T);var C=this.renderOptions,M=this.nextRenderOptions,A=this._renderOptionsChanged;M.clampFrame=!!T.clampFrame,M.clampFrame!==C.clampFrame&&(A=!0),M.wrapFrame=!!T.wrapFrame,M.wrapFrame!==C.wrapFrame&&(A=!0),M.texRes=M.clampFrame||M.texRes,M.texRes!==C.texRes&&(A=!0),A&&(this._renderOptionsChanged=!0)},updateShaderConfig:function(){g.prototype.updateShaderConfig.call(this);var T=this.programManager,C=this.renderOptions,M=this.nextRenderOptions;if(M.clampFrame!==C.clampFrame){var A=M.clampFrame;C.clampFrame=A;var R=T.getAddition("TexCoordFrameClamp");R.disable=!M.clampFrame}if(M.wrapFrame!==C.wrapFrame){var P=M.wrapFrame;C.wrapFrame=P;var L=T.getAddition("TexCoordFrameWrap");L.disable=!P}},batch:function(T,C,M,A,R,P,L,F,w,O,B,I,D,N,z,V,U,G,b,Y,W,H,X,K,Z,Q,j,J){this.instanceCount===0&&this.manager.setCurrentBatchNode(this,T),this.updateRenderOptions(Y),this._renderOptionsChanged&&(this.run(T),this.updateShaderConfig());var tt=this.batchTextures(C,Y),k=this.instanceCount*this.floatsPerInstance,q=this.vertexBufferLayout.buffer,_=q.viewF32,rt=q.viewU32;_[k++]=R,_[k++]=P,_[k++]=X,_[k++]=K,_[k++]=B,_[k++]=I,_[k++]=D,_[k++]=N,_[k++]=tt,_[k++]=z,rt[k++]=U,_[k++]=M,_[k++]=A,_[k++]=W,_[k++]=H,_[k++]=B,_[k++]=I,_[k++]=D,_[k++]=N,_[k++]=tt,_[k++]=z,rt[k++]=V,_[k++]=w,_[k++]=O,_[k++]=j,_[k++]=J,_[k++]=B,_[k++]=I,_[k++]=D,_[k++]=N,_[k++]=tt,_[k++]=z,rt[k++]=b,_[k++]=L,_[k++]=F,_[k++]=Z,_[k++]=Q,_[k++]=B,_[k++]=I,_[k++]=D,_[k++]=N,_[k++]=tt,_[k++]=z,rt[k++]=G,this.instanceCount++,this.currentBatchEntry.count++,this.instanceCount===this.instancesPerBatch&&this.run(T)}});E.exports=p},62087:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=n(83419),x=n(81084),h=n(6184),d=n(13198),t=n(73416),e=n(91627),l=n(70554),i=n(13961),s=new S({Extends:i,initialize:function(o,a){i.call(this,o,this.defaultConfig,a),this._emptyTextures=[],this.vertexCount=0,this._lightVector=new m,this.renderOptions={lighting:!1},this.nextRenderOptions={lighting:!1},this._renderOptionsChanged=!1},defaultConfig:{name:"BatchHandlerTriFlat",verticesPerInstance:3,indicesPerInstance:3,shaderName:"FLAT",vertexSource:e,fragmentSource:t,shaderAdditions:[h(!0),d(!0),x(!0)],indexBufferDynamic:!0,vertexBufferLayout:{usage:"DYNAMIC_DRAW",layout:[{name:"inPosition",size:2},{name:"inTint",size:4,type:"UNSIGNED_BYTE",normalized:!0}]}},_generateElementIndices:function(r){return new ArrayBuffer(r*3*2)},setupUniforms:function(r){var o=this.programManager;r.renderer.setProjectionMatrixFromDrawingContext(r),o.setUniform("uProjectionMatrix",r.renderer.projectionMatrix.val),this.renderOptions.lighting&&(l.updateLightingUniforms(this.renderOptions.lighting,r,o,1,this._lightVector),o.setUniform("uResolution",[r.width,r.height]))},updateRenderOptions:function(r){var o=this.nextRenderOptions,a=this.renderOptions,u=!1;r!==a.lighting&&(o.lighting=r,u=!0),this._renderOptionsChanged=u},updateShaderConfig:function(){var r=this.programManager,o=this.renderOptions,a=this.nextRenderOptions;if(o.lighting!==a.lighting){var u=a.lighting;o.lighting=u;for(var f=r.getAdditionsByTag("LIGHTING"),v=0;v=M.length)&&(v++,this.run(r),A=this.instanceCount*this.indicesPerInstance,F=this.vertexCount*p/P.BYTES_PER_ELEMENT,O=0,I=0)}}});E.exports=s},61842:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(19715),S=n(1e3),x=n(61340),h=n(87841),d=n(43855),t=n(83419),e=n(70554),l=n(6141);function i(r){return e.getTintAppendFloatAlpha(16777215,r)}var s=new t({Extends:l,initialize:function(o){l.call(this,"Camera",o),this.batchHandlerQuadSingleNode=o.getNode("BatchHandlerQuadSingle"),this.fillCameraNode=o.getNode("FillCamera"),this.listCompositorNode=o.getNode("ListCompositor"),this._parentTransformMatrix=new x},run:function(r,o,a,u,f,v){this.onRunBegin(r);var c,g=r.renderer.drawingContextPool,p=this.manager,T=a.alpha,C=a.filters.internal.getActive(),M=a.filters.external.getActive(),A=f||a.forceComposite||C.length||M.length||T<1;u?a.matrixExternal.multiply(u,u):u=this._parentTransformMatrix.copyFrom(a.matrixExternal);var R=u.decomposeMatrix(),P=d(R.translateX,0)&&d(R.translateY,0)&&d(R.rotation,0)&&d(R.scaleX,1)&&d(R.scaleY,1),L=a.x,F=a.y,w=a.width,O=a.height,B=r.getClone();B.setCamera(a),A?(c=g.get(w,O),c.setCamera(a),c.setScissorBox(0,0,w,O)):(c=B,c.setScissorBox(L,F,w,O)),c.use();var I=this.fillCameraNode;if(a.backgroundColor.alphaGL>0){var D=a.backgroundColor,N=S(D.red,D.green,D.blue,D.alpha);I.run(c,N,A)}this.listCompositorNode.run(c,o,null,v);var z=a.flashEffect;z.postRenderWebGL()&&(N=S(z.red,z.green,z.blue,z.alpha*255),I.run(c,N,A));var V=a.fadeEffect;if(V.postRenderWebGL()&&(N=S(V.red,V.green,V.blue,V.alpha*255),I.run(c,N,A)),p.finishBatch(),A){var U,G,b,Y,W,H={smoothPixelArt:p.renderer.game.config.smoothPixelArt},X=new h(0,0,c.width,c.height);for(U=0;U0,Q=!Z,j=new h(0,0,B.width,B.height);if(Z){for(U=M.length-1;U>=0;U--)G=M[U],G.active&&(b=G.getPadding(),j.setTo(j.x+b.x,j.y+b.y,j.width+b.width,j.height+b.height));Q=j.width!==c.width||j.height!==c.height||!P,Q&&(c=g.get(j.width,j.height),c.setScissorBox(0,0,j.width,j.height),c.setCamera(B.camera),c.use())}else c=B;if(Q){var J=j.x,tt=j.y,k;u.setQuad(X.x,X.y,X.x+X.width,X.y+X.height),k=u.quad,W=Z?4294967295:i(T),this.batchHandlerQuadSingleNode.batch(c,K.texture,k[0]-J,k[1]-tt,k[2]-J,k[3]-tt,k[6]-J,k[7]-tt,k[4]-J,k[5]-tt,0,1,1,-1,!1,W,W,W,W,H)}if(K!==c&&K.release(),Z){var q=!1;for(K=null,b=new h,U=0;U{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(6141),x=new m({Extends:S,initialize:function(d){S.call(this,"DrawLine",d)},run:function(h,d,t,e,l,i,s,r,o){this.onRunBegin(h);var a=l-t,u=i-e,f=Math.sqrt(a*a+u*u),v=s*(i-e)/f,c=s*(t-l)/f,g=r*(i-e)/f,p=r*(t-l)/f,T=l-g,C=i-p,M=t-v,A=e-c,R=l+g,P=i+p,L=t+v,F=e+c,w=o.length;d?(o[w+0]=d.getX(L,F),o[w+1]=d.getY(L,F),o[w+2]=d.getX(M,A),o[w+3]=d.getY(M,A),o[w+4]=d.getX(T,C),o[w+5]=d.getY(T,C),o[w+6]=d.getX(R,P),o[w+7]=d.getY(R,P)):(o[w+0]=L,o[w+1]=F,o[w+2]=M,o[w+3]=A,o[w+4]=T,o[w+5]=C,o[w+6]=R,o[w+7]=P),this.onRunEnd(h)}});E.exports=x},95449:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(19715),S=n(42538),x=n(83419),h=n(10312),d=n(6141),t=new x({Extends:d,initialize:function(l){d.call(this,"DynamicTextureHandler",l),this.fillRectNode=this.manager.getNode("FillRect")},run:function(e){var l=e.drawingContext,i=l.camera,s=l.renderer,r=e.manager;this.onRunBegin(l);var o=l.framebuffer.renderTexture;if(o)for(var a=s.glTextureUnits,u=a.units,f=0;f{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(6141),x=new m({Extends:S,initialize:function(d){S.call(this,"FillCamera",d),this.fillRectNode=this.manager.getNode("FillRect")},run:function(h,d,t){this.onRunBegin(h);var e=h.camera,l=t?0:e.x,i=t?0:e.y,s=e.width,r=e.height;this.fillRectNode.run(h,null,null,l,i,s,r,d,d,d,d),this.onRunEnd(h)}});E.exports=x},14255:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(94811),S=n(83419),x=n(6141),h=new S({Extends:x,initialize:function(t){x.call(this,"FillPath",t)},run:function(d,t,e,l,i,s,r,o,a){this.onRunBegin(d),o===void 0&&(o=0);var u=l.length,f,v,c,g,p,T,C=0,M=0,A=[],R=[],P=0;for(v=0;v0&&v{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(61340),S=n(83419),x=n(6141),h=new S({Extends:x,initialize:function(t){x.call(this,"FillRect",t),this._batchHandlerDefault=t.getNode("BatchHandlerTriFlat"),this._identityMatrix=new m,this._indexedTriangles=[0,1,2,2,3,0]},run:function(d,t,e,l,i,s,r,o,a,u,f,v){this.onRunBegin(d),t||(t=this._identityMatrix),e||(e=this._batchHandlerDefault);var c=t.setQuad(l,i,l+s,i+r);e.batch(d,this._indexedTriangles,c,[o,u,f,a],v),this.onRunEnd(d)}});E.exports=h},13119:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(6141),x=new m({Extends:S,initialize:function(d){S.call(this,"FillTri",d),this._indexedTriangles=[0,1,2]},run:function(h,d,t,e,l,i,s,r,o,a,u,f,v){this.onRunBegin(h),d?t.batch(h,this._indexedTriangles,[d.getX(e,l),d.getY(e,l),d.getX(i,s),d.getY(i,s),d.getX(r,o),d.getY(r,o)],[a,u,f],v):t.batch(h,this._indexedTriangles,[e,l,i,s,r,o],[a,u,f],v),this.onRunEnd(h)}});E.exports=x},27996:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(8054),x=n(6141),h=new m({Extends:x,initialize:function(t){x.call(this,"ListCompositor",t)},run:function(d,t,e,l){this.onRunBegin(d);for(var i=d,s=d.blendMode,r=s,o=this.manager.renderer,a=0;a{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(46975),x=n(6141),h=new m({Extends:x,initialize:function(t){x.call(this,"RebindContext",t),this._state={bindings:{activeTexture:0,arrayBuffer:null,elementArrayBuffer:null,framebuffer:null,program:null,renderbuffer:null},vao:null}},run:function(d){this.onRunBegin(d);var t=this.manager.renderer,e=t.glWrapper;t.clearFramebuffer(void 0,void 0,0),e.update(S(this._state,e.state),!0),t.glTextureUnits.unbindAllUnits(),this.onRunEnd(d)}});E.exports=h},6141:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h,d){this.name=h,this.manager=d,this._run=null},run:function(){},onRunBegin:function(x){},onRunEnd:function(x){},setDebug:function(x){x?(this._run=this.run,this.run=function(){var h=this.manager;h.pushDebug(this.name);var d=this._run.apply(this,arguments);return h.popDebug(),d}):(this.run=this._run,this._run=null)}});E.exports=S},30130:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(50792),S=n(83419),x=n(92503),h=n(47406),d=n(53663),t=n(16971),e=n(15214),l=n(72266),i=n(62791),s=n(21832),r=n(62087),o=n(61842),a=n(76409),u=n(95449),f=n(61199),v=n(14255),c=n(12682),g=n(13119),p=n(22731),T=n(57032),C=n(52903),M=n(13922),A=n(33466),R=n(75798),P=n(90830),L=n(52302),F=n(34989),w=n(15600),O=n(99786),B=n(26703),I=n(55905),D=n(58167),N=n(13279),z=n(27459),V=n(88856),U=n(27996),G=n(56432),b=n(17486),Y=n(31029),W=n(94494),H=n(87469),X=n(89723),K=n(12913),Z=n(22995),Q=n(86081),j=n(88383),J=n(34454),tt=n(46211),k=n(95433),q=new S({Extends:m,initialize:function(rt){m.call(this),this.renderer=rt;var at=rt.game;this.maxParallelTextureUnits=at.config.autoMobileTextures&&!at.device.os.desktop?1:rt.maxTextures,this._nodes={},this._nodeConstructors={BaseFilter:h,BaseFilterShader:d,BatchHandlerPointLight:t,BatchHandlerQuad:e,BatchHandlerQuadSingle:l,BatchHandlerStrip:i,BatchHandlerTileSprite:s,BatchHandlerTriFlat:r,Camera:o,DrawLine:a,DynamicTextureHandler:u,FillCamera:f,FillPath:v,FillRect:c,FillTri:g,FilterBarrel:p,FilterBlend:T,FilterBlocky:C,FilterBlur:M,FilterBlurHigh:A,FilterBlurLow:R,FilterBlurMed:P,FilterBokeh:L,FilterColorMatrix:F,FilterDisplacement:w,FilterGlow:O,FilterMask:B,FilterParallelFilters:I,FilterPixelate:D,FilterSampler:N,FilterShadow:z,FilterThreshold:V,ListCompositor:U,RebindContext:G,StrokePath:b,SubmitterQuad:Y,SubmitterTile:W,SubmitterTilemapGPULayer:H,SubmitterTileSprite:X,TexturerImage:K,TexturerTileSprite:Z,TransformerImage:Q,TransformerStamp:j,TransformerTile:J,TransformerTileSprite:tt,YieldContext:k},Object.entries(at.config.renderNodes).forEach(function(ht){var ot=ht[0],nt=ht[1];this.addNodeConstructor(ot,nt)},this),this.currentBatchNode=null,this.currentBatchDrawingContext=null,this.debug=!1,this.debugGraph=null,this.currentDebugNode=null},addNode:function(_,rt){if(this._nodes[_])throw new Error("node "+_+" already exists.");this._nodes[_]=rt,this.debug&&rt.setDebug(!0)},addNodeConstructor:function(_,rt){if(this._nodeConstructors[_])throw new Error("node constructor "+_+" already exists.");this._nodeConstructors[_]=rt},getNode:function(_){if(this._nodes[_])return this._nodes[_];if(this._nodeConstructors[_]){var rt=new this._nodeConstructors[_](this);return this.addNode(_,rt),rt}return null},hasNode:function(_,rt){return!!this._nodes[_]||!rt&&!!this._nodeConstructors[_]},setCurrentBatchNode:function(_,rt){this.currentBatchNode!==_&&(this.currentBatchNode!==null&&this.currentBatchNode.run(this.currentBatchDrawingContext),this.currentBatchNode=_,this.currentBatchDrawingContext=_?rt:null)},setMaxParallelTextureUnits:function(_){this.maxParallelTextureUnits=Math.max(1,Math.min(_,this.renderer.maxTextures)),this.emit(x.SET_PARALLEL_TEXTURE_UNITS,this.maxParallelTextureUnits)},finishBatch:function(){this.currentBatchNode!==null&&this.setCurrentBatchNode(null)},startStandAloneRender:function(){this.finishBatch()},setDebug:function(_){this.debug=_;for(var rt in this._nodes)this._nodes[rt].setDebug(_);_&&(this.debugGraph=null,this.currentDebugNode=null,this.pushDebug("[Render Tree Root]"),this.renderer.once(x.POST_RENDER,function(){this.setDebug(!1)},this))},pushDebug:function(_){if(this.debug){var rt={name:_,children:[],parent:this.currentDebugNode};this.debugGraph?this.currentDebugNode.children.push(rt):this.debugGraph=rt,this.currentDebugNode=rt}},popDebug:function(){this.debug&&(this.currentDebugNode.parent?this.currentDebugNode=this.currentDebugNode.parent:this.currentDebugNode=null)},debugToString:function(){var _="",rt=0,at=this.debugGraph;function ht(nt){return" ".repeat(nt)}function ot(nt,it){for(var lt=ht(it)+nt.name+` +`,dt=0;dt{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(40952),x=n(56436),h=n(6141),d=n(65884),t=n(72823),e=new m({Extends:h,initialize:function(i,s){h.call(this,"ShaderQuad",i);var r=i.renderer;this.renderer=r,s=this._completeConfig(s),s.updateShaderConfig&&(this.updateShaderConfig=s.updateShaderConfig),this.indexBuffer=r.genericQuadIndexBuffer,this.vertexBufferLayout=new S(r,s.vertexBufferLayout,null),this.programManager=new x(r,[this.vertexBufferLayout],this.indexBuffer),this.programManager.setBaseShader(s.shaderName,s.vertexSource,s.fragmentSource);for(var o=0;o{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(6141),x=new m({Extends:S,initialize:function(d){S.call(this,"StrokePath",d),this.drawLineNode=this.manager.getNode("DrawLine")},run:function(h,d,t,e,l,i,s,r,o,a,u,f){this.onRunBegin(h);var v=this.drawLineNode,c=t.length-1,g,p,T=!1,C=!1;e>2&&c>1&&(T=!0,l||(C=!0));for(var M=[],A=0,R=[],P=0,L,F=[],w=0,O,B,I,D,N=u*u,z,V,U,G=0;G{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(6141),x=new m({Extends:S,initialize:function(d){S.call(this,"YieldContext",d),this._state={blend:this.manager.renderer.blendModes[0],vao:null}},run:function(h){this.onRunBegin(h);var d=this.manager,t=d.renderer;d.startStandAloneRender(),t.glWrapper.update(this._state),t.glTextureUnits.unbindAllUnits(),this.onRunEnd(h)}});E.exports=x},70972:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(90330),S=new m([["Submitter","SubmitterQuad"],["BatchHandler","BatchHandlerQuad"]]);E.exports=S},98682:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(90330),S=new m([["Submitter","SubmitterQuad"],["BatchHandler","BatchHandlerQuad"]]);E.exports=S},87891:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(90330),S=new m([["Submitter","BatchHandlerTriFlat"],["FillPath","FillPath"],["FillRect","FillRect"],["FillTri","FillTri"],["StrokePath","StrokePath"]]);E.exports=S},40939:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(90330),S=new m([["Submitter","SubmitterQuad"],["BatchHandler","BatchHandlerQuad"],["Transformer","TransformerImage"],["Texturer","TexturerImage"]]);E.exports=S},68668:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(90330),S=new m([["Submitter","SubmitterQuad"],["BatchHandler","BatchHandlerQuad"]]);E.exports=S},43246:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(90330),S=new m([["BatchHandler","BatchHandlerPointLight"]]);E.exports=S},30529:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(90330),S=new m([["BatchHandler","BatchHandlerQuad"]]);E.exports=S},85760:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(90330),S=new m([["BatchHandler","BatchHandlerStrip"]]);E.exports=S},78705:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(90330),S=new m([["Submitter","SubmitterQuad"],["BatchHandler","BatchHandlerQuad"],["Transformer","TransformerStamp"],["Texturer","TexturerImage"]]);E.exports=S},41571:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(90330),S=new m([["Submitter","SubmitterTileSprite"],["BatchHandler","BatchHandlerTileSprite"],["Transformer","TransformerTileSprite"],["Texturer","TexturerTileSprite"]]);E.exports=S},67743:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(90330),S=new m([["Submitter","SubmitterTilemapGPULayer"]]);E.exports=S},79317:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(90330),S=new m([["Submitter","SubmitterTile"],["BatchHandler","BatchHandlerTileSprite"],["Transformer","TransformerTile"]]);E.exports=S},59212:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m={DefaultBitmapTextNodes:n(70972),DefaultBlitterNodes:n(98682),DefaultGraphicsNodes:n(87891),DefaultImageNodes:n(40939),DefaultParticleEmitterNodes:n(68668),DefaultPointLightNodes:n(43246),DefaultQuadNodes:n(30529),DefaultRopeNodes:n(85760),DefaultStampNodes:n(78705),DefaultTilemapGPULayerNodes:n(67743),DefaultTilemapLayerNodes:n(79317),DefaultTileSpriteNodes:n(41571)};E.exports=m},47406:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(6141),x=new m({Extends:S,initialize:function(d,t){S.call(this,d,t)},run:function(h,d,t,e){}});E.exports=x},53663:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(2807),x=n(99501),h=n(56436),d=n(40952),t=n(47406),e=new m({Extends:t,initialize:function(s,r,o,a,u){if(!a){var f=r.renderer.game.cache.shader.get(o);if(!(f&&f.glsl))throw new Error("BaseFilterShader: No fragment shader source provided and no shader found with key "+o);a=f.glsl}t.call(this,s,r);var v=r.renderer,c=v.gl,g={shaderName:s,vertexSource:S,fragmentSource:a,shaderAdditions:u||[],vertexBufferLayout:{usage:"DYNAMIC_DRAW",count:4,layout:[{name:"inPosition",size:2,type:c.FLOAT,normalized:!1},{name:"inTexCoord",size:2,type:c.FLOAT,normalized:!1}]}};g.shaderAdditions.push(x()),this.indexBuffer=v.genericQuadIndexBuffer,this.vertexBufferLayout=new d(v,g.vertexBufferLayout,null),this.programManager=new h(v,[this.vertexBufferLayout],this.indexBuffer),this.programManager.setBaseShader(g.shaderName,g.vertexSource,g.fragmentSource);for(var p=0;p{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(53663),x=n(10235),h=new m({Extends:S,initialize:function(t){S.call(this,"FilterBarrel",t,null,x)},setupUniforms:function(d,t){var e=this.programManager;e.setUniform("amount",d.amount)}});E.exports=h},57032:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(90330),S=n(83419),x=n(10312),h=n(53663),d=n(65980),t=new S({Extends:h,initialize:function(l){this._blendModeMap=new m;var i=this._blendModeMap;Object.entries(x).forEach(function(o){i.set(o[1],o[0])});var s=i.get(x.NORMAL),r=[{name:s,additions:{fragmentHeader:"#define BLEND "+s},tags:["blendmode"]}];h.call(this,"FilterBlend",l,null,d,r)},updateShaderConfig:function(e,l){var i=e.blendMode;i===x.SKIP_CHECK&&(i=x.NORMAL);var s=this._blendModeMap.get(i)||this._blendModeMap.get(x.NORMAL),r=this.programManager.getAdditionsByTag("blendmode")[0];r.name=s,r.additions.fragmentHeader="#define BLEND "+s},setupTextures:function(e,l,i){l[1]=e.glTexture},setupUniforms:function(e,l){var i=this.programManager;i.setUniform("uMainSampler2",1),i.setUniform("amount",e.amount),i.setUniform("color",e.color)}});E.exports=t},52903:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(53663),x=n(5899),h=new m({Extends:S,initialize:function(t){S.call(this,"FilterBlocky",t,null,x)},setupUniforms:function(d,t){var e=this.programManager,l=Math.max(1,d.size.x),i=Math.max(1,d.size.y);e.setUniform("resolution",[t.width,t.height]),e.setUniform("uSizeAndOffset",[l,i,d.offset.x,d.offset.y])}});E.exports=h},13922:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87841),S=n(83419),x=n(47406),h=new S({Extends:x,initialize:function(t){x.call(this,"FilterBlur",t)},run:function(d,t,e,l){this.onRunBegin(e);var i=d.quality,s=d.steps,r=null;switch(i){case 2:{r=this.manager.getNode("FilterBlurHigh");break}case 1:{r=this.manager.getNode("FilterBlurMed");break}case 0:default:{r=this.manager.getNode("FilterBlurLow");break}}var o={strength:d.strength,color:d.glcolor,x:d.x,y:d.y};l||(l=d.getPadding());for(var a=t,u=0;u{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(53663),x=n(20784),h=new m({Extends:S,initialize:function(t){S.call(this,"FilterBlurHigh",t,null,x)},setupUniforms:function(d,t){var e=this.programManager;e.setUniform("resolution",[t.width,t.height]),e.setUniform("strength",d.strength),e.setUniform("color",d.color),e.setUniform("offset",[d.x,d.y])}});E.exports=h},75798:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(53663),x=n(65122),h=new m({Extends:S,initialize:function(t){S.call(this,"FilterBlurLow",t,null,x)},setupUniforms:function(d,t){var e=this.programManager;e.setUniform("resolution",[t.width,t.height]),e.setUniform("strength",d.strength),e.setUniform("color",d.color),e.setUniform("offset",[d.x,d.y])}});E.exports=h},90830:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(53663),x=n(60942),h=new m({Extends:S,initialize:function(t){S.call(this,"FilterBlurMed",t,null,x)},setupUniforms:function(d,t){var e=this.programManager;e.setUniform("resolution",[t.width,t.height]),e.setUniform("strength",d.strength),e.setUniform("color",d.color),e.setUniform("offset",[d.x,d.y])}});E.exports=h},52302:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(53663),x=n(43722),h=new m({Extends:S,initialize:function(t){S.call(this,"FilterBokeh",t,null,x)},setupUniforms:function(d,t){var e=this.programManager;e.setUniform("radius",d.radius),e.setUniform("amount",d.amount),e.setUniform("contrast",d.contrast),e.setUniform("strength",d.strength),e.setUniform("blur",[d.blurX,d.blurY]),e.setUniform("isTiltShift",d.isTiltShift),e.setUniform("resolution",[t.width,t.height])}});E.exports=h},34989:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(53663),x=n(19883),h=new m({Extends:S,initialize:function(t){S.call(this,"FilterColorMatrix",t,null,x)},setupUniforms:function(d,t){var e=this.programManager;e.setUniform("uColorMatrix[0]",d.colorMatrix.getData()),e.setUniform("uAlpha",d.colorMatrix.alpha)}});E.exports=h},15600:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(53663),x=n(12886),h=new m({Extends:S,initialize:function(t){S.call(this,"FilterDisplacement",t,null,x)},setupTextures:function(d,t){t[1]=d.glTexture},setupUniforms:function(d,t){var e=this.programManager;e.setUniform("uDisplacementSampler",1),e.setUniform("amount",[d.x,d.y])}});E.exports=h},99786:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(53663),x=n(33016),h=new m({Extends:S,initialize:function(t){var e=[{name:"distance_10.0",additions:{fragmentDefine:"#define DISTANCE 10.0"},tags:["distance"]},{name:"quality_0.1",additions:{fragmentDefine:"#define QUALITY 0.1"},tags:["quality"]}];S.call(this,"FilterGlow",t,null,x,e)},updateShaderConfig:function(d,t){var e=this.programManager,l=d.distance.toFixed(0)+".0",i=e.getAdditionsByTag("distance")[0];i.name="distance_"+l,i.additions.fragmentDefine=`#undef DISTANCE +#define DISTANCE `+l;var s=d.quality.toFixed(0)+".0",r=e.getAdditionsByTag("quality")[0];r.name="quality_"+s,r.additions.fragmentDefine=`#undef QUALITY +#define QUALITY `+s},setupUniforms:function(d,t){var e=this.programManager;e.setUniform("resolution",[t.width,t.height]),e.setUniform("glowColor",d.glcolor),e.setUniform("outerStrength",d.outerStrength),e.setUniform("innerStrength",d.innerStrength),e.setUniform("scale",d.scale),e.setUniform("knockout",d.knockout)}});E.exports=h},26703:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(53663),x=n(39603),h=new m({Extends:S,initialize:function(t){S.call(this,"FilterMask",t,null,x)},setupTextures:function(d,t,e){d.maskGameObject&&(d.needsUpdate||d.autoUpdate)&&d.updateDynamicTexture(e.width,e.height),t[1]=d.glTexture},setupUniforms:function(d,t){var e=this.programManager;e.setUniform("uMaskSampler",1),e.setUniform("invert",d.invert)}});E.exports=h},55905:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87841),S=n(83419),x=n(10312),h=n(47406),d=new S({Extends:h,initialize:function(e){h.call(this,"FilterParallelFilters",e)},run:function(t,e,l,i){this.onRunBegin(l),e.lock(this);var s=t.bottom.getActive(),r=t.top.getActive(),o=i||t.getPadding();if(s.length+r.length>0){var a=e,u=e;if(s.length>0){i=o;for(var f=0;f0)for(i=o,f=0;f{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(53663),x=n(99191),h=new m({Extends:S,initialize:function(t){S.call(this,"FilterPixelate",t,null,x)},setupUniforms:function(d,t){var e=this.programManager;e.setUniform("amount",d.amount),e.setUniform("resolution",[t.width,t.height])}});E.exports=h},13279:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(47406),x=new m({Extends:S,initialize:function(d){S.call(this,"FilterSampler",d)},run:function(h,d,t,e){this.onRunBegin(d);var l=this.manager.renderer,i=0,s=0,r=1,o=1,a=d.width,u=d.height,f=!1;return h.region?(i=h.region.x,s=h.region.y,h.region.width!==void 0?(r=h.region.width,o=h.region.height):f=!0):(r=a,o=u),l.snapshotFramebuffer(d.framebuffer,a,u,h.callback,f,i,s,r,o),this.onRunEnd(d),d}});E.exports=x},27459:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(53663),x=n(69355),h=new m({Extends:S,initialize:function(t){S.call(this,"FilterShadow",t,null,x)},setupUniforms:function(d,t){var e=this.programManager,l=d.samples;e.setUniform("lightPosition",[d.x,1-d.y]),e.setUniform("decay",d.decay),e.setUniform("power",d.power/l),e.setUniform("color",d.glcolor),e.setUniform("samples",l),e.setUniform("intensity",d.intensity)}});E.exports=h},88856:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(53663),x=n(92636),h=new m({Extends:S,initialize:function(t){S.call(this,"FilterThreshold",t,null,x)},setupUniforms:function(d,t){var e=this.programManager;e.setUniform("edge1",d.edge1),e.setUniform("edge2",d.edge2),e.setUniform("invert",d.invert)}});E.exports=h},54521:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m={BaseFilter:n(47406),BaseFilterShader:n(53663),BatchHandler:n(13961),BatchHandlerPointLight:n(16971),BatchHandlerQuad:n(15214),BatchHandlerQuadSingle:n(72266),BatchHandlerStrip:n(62791),BatchHandlerTileSprite:n(21832),BatchHandlerTriFlat:n(62087),Camera:n(61842),Defaults:n(59212),DrawLine:n(76409),DynamicTextureHandler:n(95449),FillCamera:n(61199),FillPath:n(14255),FillRect:n(12682),FillTri:n(13119),FilterBarrel:n(22731),FilterBlend:n(57032),FilterBlur:n(13922),FilterBlurHigh:n(33466),FilterBlurLow:n(75798),FilterBlurMed:n(90830),FilterBokeh:n(52302),FilterColorMatrix:n(34989),FilterDisplacement:n(15600),FilterGlow:n(99786),FilterMask:n(26703),FilterParallelFilters:n(55905),FilterPixelate:n(58167),FilterSampler:n(13279),FilterShadow:n(27459),FilterThreshold:n(88856),ListCompositor:n(27996),RebindContext:n(56432),RenderNode:n(6141),StrokePath:n(17486),SubmitterQuad:n(31029),SubmitterSpriteGPULayer:n(53384),SubmitterTile:n(94494),SubmitterTilemapGPULayer:n(87469),SubmitterTileSprite:n(89723),TexturerImage:n(12913),TexturerTileSprite:n(22995),TransformerImage:n(86081),TransformerStamp:n(88383),TransformerTile:n(34454),TransformerTileSprite:n(46211),YieldContext:n(95433)};E.exports=m},31029:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(46975),x=n(70554),h=n(6141),d=x.getTintAppendFloatAlpha,t=new m({Extends:h,initialize:function(l,i){i=S(i||{},this.defaultConfig),h.call(this,i.name,l),this.batchHandler=i.batchHandler,this._renderOptions={multiTexturing:!0,lighting:null,smoothPixelArt:null},this._lightingOptions={normalGLTexture:null,normalMapRotation:0,selfShadow:{enabled:!1,penumbra:0,diffuseFlatThreshold:0}}},defaultConfig:{name:"SubmitterQuad",role:"Submitter",batchHandler:"BatchHandler"},run:function(e,l,i,s,r,o,a,u,f){this.onRunBegin(e);var v,c,g,p,T;r.run&&r.run(e,l,s),o.run&&o.run(e,l,r,i,s),a?(a.run&&a.run(e,l,s),v=a.tintFill,c=a.tintTopLeft,g=a.tintBottomLeft,p=a.tintTopRight,T=a.tintBottomRight):(v=l.tintFill,c=d(l.tintTopLeft,l._alphaTL),g=d(l.tintBottomLeft,l._alphaBL),p=d(l.tintTopRight,l._alphaTR),T=d(l.tintBottomRight,l._alphaBR));var C=o.quad,M=r.uvSource,A=M.u0,R=M.v0,P=M.u1,L=M.v1;this.setRenderOptions(l,u,f),(l.customRenderNodes[this.batchHandler]||l.defaultRenderNodes[this.batchHandler]).batch(e,r.frame.source.glTexture,C[0],C[1],C[2],C[3],C[6],C[7],C[4],C[5],A,R,P-A,L-R,v,c,g,p,T,this._renderOptions),this.onRunEnd(e)},setRenderOptions:function(e,l,i){var s=this._renderOptions,r,o;if(e.displayTexture?(r=e.displayTexture,o=e.displayFrame.sourceIndex):e.texture?(r=e.texture,o=e.frame.sourceIndex):e.tileset&&(Array.isArray(e.tileset)?r=e.tileset[0].image:r=e.tileset.image,o=0),e.lighting){if(l||r&&(l=r.dataSource[o]),l?l=l.glTexture:l=this.manager.renderer.normalTexture,isNaN(i)&&(i=e.rotation,e.parentContainer)){var a=e.getWorldTransformMatrix(this._tempMatrix,this._tempMatrix2);i=a.rotationNormalized}var u=e.selfShadow,f=u.enabled;f===null&&(f=e.scene.sys.game.config.selfShadow),this._lightingOptions.normalGLTexture=l,this._lightingOptions.normalMapRotation=i,this._lightingOptions.selfShadow.enabled=f,this._lightingOptions.selfShadow.penumbra=u.penumbra,this._lightingOptions.selfShadow.diffuseFlatThreshold=u.diffuseFlatThreshold,s.lighting=this._lightingOptions}else s.lighting=null;var v;r&&r.smoothPixelArt!==null?v=r.smoothPixelArt:v=e.scene.sys.game.config.smoothPixelArt,s.smoothPixelArt=v}});E.exports=t},53384:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(61340),S=n(26099),x=n(83419),h=n(46975),d=n(56436),t=n(81084),e=n(44349),l=n(6184),i=n(11653),s=n(40829),r=n(42792),o=n(96049),a=n(33997),u=n(79532),f=n(74505),v=n(70554),c=n(40952),g=n(6141),p=n(49119),T=n(3524),C=new x({Extends:g,initialize:function(A,R,P){var L=A.renderer,F=h(R||{},this.defaultConfig),w=F.name;this._completeLayout(F),g.call(this,w,A),this.config=F,this.gameObject=P,this.instanceBufferLayout=new c(L,F.instanceBufferLayout,null),this.vertexBufferLayout=new c(L,F.vertexBufferLayout,null);var O=this.vertexBufferLayout.buffer,B=O.viewU8;if(B[0]=0,B[1]=1,B[2]=2,B[3]=3,O.update(),this.programManager=new d(L,[this.vertexBufferLayout,this.instanceBufferLayout],this.indexBuffer),this.programManager.setBaseShader(F.shaderName,F.vertexSource,F.fragmentSource),F.shaderAdditions)for(var I=0;I0){var L=this.instanceBufferLayout.buffer,F=R.memberCount,w=Math.floor(F/R.bufferUpdateSegmentSize),O=!0;for(A=0;A<=w;A++)if(!(1<{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(31029),x=new m({Extends:S,initialize:function(d,t){S.call(this,d,t),this._renderOptions.clampFrame=!0},defaultConfig:{name:"SubmitterTile",role:"Submitter",batchHandler:"BatchHandler"},run:function(h,d,t,e,l,i,s,r,o){this.onRunBegin(h);var a,u,f,v,c;if(l.run&&l.run(h,d,e),i.run&&i.run(h,d,l,t,e),s)s.run&&s.run(h,d,e),a=s.tintFill,u=s.tintTopLeft,f=s.tintBottomLeft,v=s.tintTopRight,c=s.tintBottomRight;else{a=d.tintFill;var g=4294967295;u=g,f=g,v=g,c=g}var p=l.frame,T=i.quad,C=l.uvSource,M=C.u0,A=C.v0,R=C.u1,P=C.v1;this.setRenderOptions(d,r,o),(d.customRenderNodes[this.batchHandler]||d.defaultRenderNodes[this.batchHandler]).batch(h,p.source.glTexture,T[0],T[1],T[2],T[3],T[6],T[7],T[4],T[5],M,A,R-M,P-A,a,u,f,v,c,this._renderOptions,M,P,M,A,R,P,R,A),this.onRunEnd(h)}});E.exports=x},89723:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(70554),x=n(31029),h=S.getTintAppendFloatAlpha,d=new m({Extends:x,initialize:function(e,l){x.call(this,e,l),this._renderOptions.wrapFrame=!0},defaultConfig:{name:"SubmitterTileSprite",role:"Submitter",batchHandler:"BatchHandler"},run:function(t,e,l,i,s,r,o,a,u){this.onRunBegin(t);var f,v,c,g,p;s.run&&s.run(t,e,i),r.run&&r.run(t,e,s,l,i),o?(o.run&&o.run(t,e,i),f=o.tintFill,v=o.tintTopLeft,c=o.tintBottomLeft,g=o.tintTopRight,p=o.tintBottomRight):(f=e.tintFill,v=h(e.tintTopLeft,e._alphaTL),c=h(e.tintBottomLeft,e._alphaBL),g=h(e.tintTopRight,e._alphaTR),p=h(e.tintBottomRight,e._alphaBR));var T=s.frame,C=r.quad,M=T,A=M.u0,R=M.v0,P=M.u1,L=M.v1,F=s.uvMatrix.quad;this.setRenderOptions(e,a,u),this._lightingOptions.normalMapRotation+=e.tileRotation,(e.customRenderNodes[this.batchHandler]||e.defaultRenderNodes[this.batchHandler]).batch(t,T.source.glTexture,C[0],C[1],C[2],C[3],C[6],C[7],C[4],C[5],A,R,P-A,L-R,f,v,c,g,p,this._renderOptions,F[0],F[1],F[2],F[3],F[6],F[7],F[4],F[5]),this.onRunEnd(t)}});E.exports=d},87469:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license None + */var m=n(61340),S=n(26099),x=n(83419),h=n(46975),d=n(56436),t=n(84639),e=n(81084),l=n(6184),i=n(747),s=n(74505),r=n(57532),o=n(23879),a=n(40952),u=n(6141),f=n(70554),v=new x({Extends:u,initialize:function(g,p){var T=g.renderer,C=h(p||{},this.defaultConfig),M=C.name;if(this._completeLayout(C),u.call(this,M,g),this.config=C,this.indexBuffer=T.genericQuadIndexBuffer,this.vertexBufferLayout=new a(T,C.vertexBufferLayout,null),this.programManager=new d(T,[this.vertexBufferLayout],this.indexBuffer),this.programManager.setBaseShader(C.shaderName,C.vertexSource,C.fragmentSource),C.shaderAdditions)for(var A=0;A0&&g.addAddition(t(c.tileset.maxAnimationLength));for(var C=c.lighting,M=g.getAdditionsByTag("LIGHTING"),A=0;A0,G=[V,g.layerDataTexture];if(U&&(G[2]=z.getAnimationDataTexture(C)),g.lighting){var b=z.image,Y=b.dataSource[0];Y?Y=Y.glTexture:Y=this.manager.renderer.normalTexture,G[3]=Y}this.updateRenderOptions(g);var W=this.programManager,H=W.getCurrentProgramSuite();if(H){var X=H.program,K=H.vao;this.setupUniforms(c,g),W.applyUniforms(X),C.drawElements(c,G,X,K,4,0)}this.onRunEnd(c)}});E.exports=v},12913:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(6141),x=new m({Extends:S,initialize:function(d){S.call(this,"TexturerImage",d),this.frame=null,this.frameWidth=0,this.frameHeight=0,this.uvSource=null},run:function(h,d,t){this.onRunBegin(h);var e=d.frame;if(this.frame=e,this.frameWidth=e.cutWidth,this.frameHeight=e.cutHeight,this.uvSource=e,d.isCropped){var l=d._crop;this.uvSource=l,(l.flipX!==d.flipX||l.flipY!==d.flipY)&&d.frame.updateCropUVs(l,d.flipX,d.flipY),this.frameWidth=l.width,this.frameHeight=l.height}var i=e.source.resolution;this.frameWidth/=i,this.frameHeight/=i,this.onRunEnd(h)}});E.exports=x},22995:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(61340),S=n(83419),x=n(6141),h=new S({Extends:x,initialize:function(t){x.call(this,"TexturerTileSprite",t),this.frame=null,this.uvMatrix=new m},run:function(d,t,e){this.onRunBegin(d);var l=t.frame;if(this.frame=l,t.isCropped){var i=t._crop;(i.flipX!==t.flipX||i.flipY!==t.flipY)&&t.frame.updateCropUVs(i,t.flipX,t.flipY)}this.uvMatrix.loadIdentity(),this.uvMatrix.scale(1/l.width,1/l.height),this.uvMatrix.translate(t.tilePositionX,t.tilePositionY),this.uvMatrix.scale(1/t.tileScaleX,1/t.tileScaleY),this.uvMatrix.rotate(-t.tileRotation),this.uvMatrix.setQuad(0,0,t.width,t.height),this.onRunEnd(d)}});E.exports=h},86081:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(61340),S=n(83419),x=n(46975),h=n(6141),d=new S({Extends:h,initialize:function(e,l){l=x(l||{},this.defaultConfig),h.call(this,l.name,e),this.quad=new Float32Array(8),this._spriteMatrix=new m,this._calcMatrix=new m},defaultConfig:{name:"TransformerImage",role:"Transformer"},run:function(t,e,l,i,s){this.onRunBegin(t);var r=l.frame,o=l.uvSource,a=o.x,u=o.y,f=e.displayOriginX,v=e.displayOriginY,c=-f+a,g=-v+u,p=r.customPivot,T=1,C=1;e.flipX&&(p||(c+=-r.realWidth+f*2),T=-1),e.flipY&&(p||(g+=-r.realHeight+v*2),C=-1);var M=t.camera,A=this._spriteMatrix,R=this._calcMatrix.copyWithScrollFactorFrom(M.getViewMatrix(!t.useCanvas),M.scrollX,M.scrollY,e.scrollFactorX,e.scrollFactorY);i&&R.multiply(i),A.applyITRS(e.x,e.y,e.rotation,e.scaleX*T,e.scaleY*C),R.multiply(A),R.setQuad(c,g,c+l.frameWidth,g+l.frameHeight,this.quad);var P=R.matrix,L=P[0]===1&&P[1]===0&&P[2]===0&&P[3]===1;if(e.willRoundVertices(M,L)){var F=this.quad;F[0]=Math.round(F[0]),F[1]=Math.round(F[1]),F[2]=Math.round(F[2]),F[3]=Math.round(F[3]),F[4]=Math.round(F[4]),F[5]=Math.round(F[5]),F[6]=Math.round(F[6]),F[7]=Math.round(F[7])}this.onRunEnd(t)}});E.exports=d},88383:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(61340),S=n(83419),x=n(46975),h=n(6141),d=new S({Extends:h,initialize:function(e,l){l=x(l||{},this.defaultConfig),h.call(this,l.name,e),this._spriteMatrix=new m,this.quad=this._spriteMatrix.quad},defaultConfig:{name:"TransformerStamp",role:"Transformer"},run:function(t,e,l,i,s){this.onRunBegin(t);var r=l.frame,o=l.uvSource,a=o.x,u=o.y,f=e.displayOriginX,v=e.displayOriginY,c=-f+a,g=-v+u,p=r.customPivot,T=1,C=1;e.flipX&&(p||(c+=-r.realWidth+f*2),T=-1),e.flipY&&(p||(g+=-r.realHeight+v*2),C=-1);var M=e.x,A=e.y,R=this._spriteMatrix;R.applyITRS(M,A,e.rotation,e.scaleX*T,e.scaleY*C);var P=R.matrix;this.onlyTranslate=P[0]===1&&P[1]===0&&P[2]===0&&P[3]===1,R.setQuad(c,g,c+l.frameWidth,g+l.frameHeight);var L=R.matrix,F=L[0]===1&&L[1]===0&&L[2]===0&&L[3]===1;if(e.willRoundVertices(t.camera,F)){var w=this.quad;w[0]=Math.round(w[0]),w[1]=Math.round(w[1]),w[2]=Math.round(w[2]),w[3]=Math.round(w[3]),w[4]=Math.round(w[4]),w[5]=Math.round(w[5]),w[6]=Math.round(w[6]),w[7]=Math.round(w[7])}this.onRunEnd(t)}});E.exports=d},34454:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(86081),x=new m({Extends:S,initialize:function(d,t){S.call(this,d,t)},defaultConfig:{name:"TransformerTile",role:"Transformer"},run:function(h,d,t,e,l){this.onRunBegin(h);var i=h.camera,s=this._calcMatrix,r=this._spriteMatrix;s.copyWithScrollFactorFrom(i.getViewMatrix(!h.useCanvas),i.scrollX,i.scrollY,d.scrollFactorX,d.scrollFactorY),e&&s.multiply(e);var o=t.frameWidth,a=t.frameHeight,u=o,f=a,v=o/2,c=a/2,g=d.scaleX,p=d.scaleY,T=d.gidMap[l.index],C=T.tileOffset.x,M=T.tileOffset.y,A=d.x+l.pixelX*g+(v*g-C),R=d.y+l.pixelY*p+(c*p-M),P=-v,L=-c;l.flipX&&(u*=-1,P+=o),l.flipY&&(f*=-1,P+=a),r.applyITRS(A,R,l.rotation,g,p),s.multiply(r),s.setQuad(P,L,P+u,L+f,this.quad);var F=s.matrix,w=F[0]===1&&F[1]===0&&F[2]===0&&F[3]===1;if(d.willRoundVertices(i,w)){var O=this.quad;O[0]=Math.round(O[0]),O[1]=Math.round(O[1]),O[2]=Math.round(O[2]),O[3]=Math.round(O[3]),O[4]=Math.round(O[4]),O[5]=Math.round(O[5]),O[6]=Math.round(O[6]),O[7]=Math.round(O[7])}this.onRunEnd(h)}});E.exports=x},46211:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(86081),x=new m({Extends:S,initialize:function(d,t){S.call(this,d,t)},defaultConfig:{name:"TransformerTileSprite",role:"Transformer"},run:function(h,d,t,e,l){this.onRunBegin(h);var i=d.width,s=d.height,r=d.displayOriginX,o=d.displayOriginY,a=-r,u=-o,f=1,v=1;d.flipX&&(a+=-i+r*2,f=-1),d.flipY&&(u+=-s+o*2,v=-1);var c=d.x,g=d.y,p=h.camera,T=this._calcMatrix,C=this._spriteMatrix;T.copyWithScrollFactorFrom(p.getViewMatrix(!h.useCanvas),p.scrollX,p.scrollY,d.scrollFactorX,d.scrollFactorY),e&&T.multiply(e),C.applyITRS(c,g,d.rotation,d.scaleX*f,d.scaleY*v),T.multiply(C),T.setQuad(a,u,a+i,u+s,this.quad);var M=T.matrix,A=M[0]===1&&M[1]===0&&M[2]===0&&M[3]===1;if(d.willRoundVertices(p,A)){var R=this.quad;R[0]=Math.round(R[0]),R[1]=Math.round(R[1]),R[2]=Math.round(R[2]),R[3]=Math.round(R[3]),R[4]=Math.round(R[4]),R[5]=Math.round(R[5]),R[6]=Math.round(R[6]),R[7]=Math.round(R[7])}this.onRunEnd(h)}});E.exports=x},84547:E=>{E.exports=["vec4 applyLighting (vec4 fragColor, vec3 normal)","{"," vec4 lighting = getLighting(fragColor, normal);"," return fragColor * vec4(lighting.rgb * lighting.a, lighting.a);","}"].join(` +`)},11104:E=>{E.exports=["vec4 applyTint(vec4 texture)","{"," vec4 texel = vec4(outTint.bgr * outTint.a, outTint.a);"," vec4 color = texture * texel;"," if (outTintEffect == 1.0)"," {"," color.rgb = mix(texture.rgb, outTint.bgr * outTint.a, texture.a);"," }"," else if (outTintEffect == 2.0)"," {"," color = texel;"," }"," return color;","}"].join(` +`)},81556:E=>{E.exports=["vec4 boundedSampler(sampler2D sampler, vec2 uv)","{"," if (clamp(uv, 0.0, 1.0) != uv)"," {"," return vec4(0.0, 0.0, 0.0, 0.0);"," }"," return texture2D(sampler, uv);","}"].join(` +`)},96293:E=>{E.exports=["#define SHADER_NAME PHASER_COLORMATRIX_FS","precision mediump float;","uniform sampler2D uMainSampler;","uniform float uColorMatrix[20];","uniform float uAlpha;","varying vec2 outTexCoord;","void main ()","{"," vec4 c = texture2D(uMainSampler, outTexCoord);"," if (uAlpha == 0.0)"," {"," gl_FragColor = c;"," return;"," }"," if (c.a > 0.0)"," {"," c.rgb /= c.a;"," }"," vec4 result;"," result.r = (uColorMatrix[0] * c.r) + (uColorMatrix[1] * c.g) + (uColorMatrix[2] * c.b) + (uColorMatrix[3] * c.a) + uColorMatrix[4];"," result.g = (uColorMatrix[5] * c.r) + (uColorMatrix[6] * c.g) + (uColorMatrix[7] * c.b) + (uColorMatrix[8] * c.a) + uColorMatrix[9];"," result.b = (uColorMatrix[10] * c.r) + (uColorMatrix[11] * c.g) + (uColorMatrix[12] * c.b) + (uColorMatrix[13] * c.a) + uColorMatrix[14];"," result.a = (uColorMatrix[15] * c.r) + (uColorMatrix[16] * c.g) + (uColorMatrix[17] * c.b) + (uColorMatrix[18] * c.a) + uColorMatrix[19];"," c.rgb *= c.a;"," result.rgb *= result.a;"," gl_FragColor = mix(c, result, uAlpha);","}"].join(` +`)},78390:E=>{E.exports=["vec2 v2len (vec2 a, vec2 b)","{"," return sqrt(a*a+b*b);","}","vec2 getBlockyTexCoord (vec2 texCoord, vec2 texRes) {"," texCoord *= texRes;"," vec2 seam = floor(texCoord + 0.5);"," texCoord = (texCoord - seam) / v2len(dFdx(texCoord), dFdy(texCoord)) + seam;"," texCoord = clamp(texCoord, seam-.5, seam+.5);"," return texCoord / texRes;","}"].join(` +`)},11719:E=>{E.exports=["struct Light","{"," vec3 position;"," vec3 color;"," float intensity;"," float radius;","};","const int kMaxLights = LIGHT_COUNT;","uniform vec4 uCamera; /* x, y, rotation, zoom */","uniform sampler2D uNormSampler;","uniform vec3 uAmbientLightColor;","uniform Light uLights[kMaxLights];","uniform int uLightCount;","#ifdef FEATURE_SELFSHADOW","uniform float uDiffuseFlatThreshold;","uniform float uPenumbra;","#endif","vec4 getLighting (vec4 fragColor, vec3 normal)","{"," vec3 finalColor = vec3(0.0);"," vec2 res = vec2(min(uResolution.x, uResolution.y)) * uCamera.w;"," #ifdef FEATURE_SELFSHADOW"," vec3 unpremultipliedColor = fragColor.rgb / fragColor.a;"," float occlusionThreshold = 1.0 - ((unpremultipliedColor.r + unpremultipliedColor.g + unpremultipliedColor.b) / uDiffuseFlatThreshold);"," #endif"," for (int index = 0; index < kMaxLights; ++index)"," {"," if (index < uLightCount)"," {"," Light light = uLights[index];"," vec3 lightDir = vec3((light.position.xy / res) - (gl_FragCoord.xy / res), light.position.z / res.x);"," vec3 lightNormal = normalize(lightDir);"," float distToSurf = length(lightDir) * uCamera.w;"," float diffuseFactor = max(dot(normal, lightNormal), 0.0);"," float radius = (light.radius / res.x * uCamera.w) * uCamera.w;"," float attenuation = clamp(1.0 - distToSurf * distToSurf / (radius * radius), 0.0, 1.0);"," #ifdef FEATURE_SELFSHADOW"," float occluded = smoothstep(0.0, 1.0, (diffuseFactor - occlusionThreshold) / uPenumbra);"," vec3 diffuse = light.color * diffuseFactor * occluded;"," #else"," vec3 diffuse = light.color * diffuseFactor;"," #endif"," finalColor += (attenuation * diffuse) * light.intensity;"," }"," }"," vec4 colorOutput = vec4(uAmbientLightColor + finalColor, 1.0);"," return colorOutput;","}"].join(` +`)},14030:E=>{E.exports=["vec2 clampTexCoordWithinFrame (vec2 texCoord)","{"," vec2 texRes = getTexRes();"," vec4 frameTexel = outFrame * texRes.xyxy;"," vec2 frameMin = frameTexel.xy + vec2(0.5, 0.5);"," vec2 frameMax = frameTexel.xy + frameTexel.zw - vec2(0.5, 0.5);"," return clamp(texCoord, frameMin / texRes, frameMax / texRes);","}"].join(` +`)},10235:E=>{E.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform float amount;","varying vec2 outTexCoord;","#pragma phaserTemplate(fragmentHeader)","vec2 Distort(vec2 p)","{"," float theta = atan(p.y, p.x);"," float radius = length(p);"," radius = pow(radius, amount);"," p.x = radius * cos(theta);"," p.y = radius * sin(theta);"," return 0.5 * (p + 1.0);","}","void main()","{"," vec2 xy = 2.0 * outTexCoord - 1.0;"," vec2 texCoord = outTexCoord;"," if (length(xy) < 1.0)"," {"," texCoord = Distort(xy);"," }"," gl_FragColor = boundedSampler(uMainSampler, texCoord);","}"].join(` +`)},65980:E=>{E.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform sampler2D uMainSampler2;","uniform float amount;","uniform vec4 color;","varying vec2 outTexCoord;","vec4 NORMAL (vec4 base, vec4 blend)","{"," return blend + base * (1.0 - blend.a);","}","vec4 ADD (vec4 base, vec4 blend)","{"," return base + blend;","}","vec4 MULTIPLY (vec4 base, vec4 blend)","{"," return base * blend;","}","vec4 SCREEN (vec4 base, vec4 blend)","{"," return 1.0 - (1.0 - base) * (1.0 - blend);","}","float overlayChannel (float base, float blend)","{"," return base < 0.5 ? 2.0 * base * blend : 1.0 - 2.0 * (1.0 - base) * (1.0 - blend);","}","vec4 OVERLAY (vec4 base, vec4 blend)","{"," return vec4("," overlayChannel(base.r, blend.r),"," overlayChannel(base.g, blend.g),"," overlayChannel(base.b, blend.b),"," overlayChannel(base.a, blend.a)"," );","}","vec4 DARKEN (vec4 base, vec4 blend)","{"," return min(base, blend);","}","vec4 LIGHTEN (vec4 base, vec4 blend)","{"," return max(base, blend);","}","float dodgeChannel (float base, float blend)","{"," return blend == 1.0 ? blend : min(1.0, base / (1.0 - blend));","}","vec4 COLOR_DODGE (vec4 base, vec4 blend)","{"," return vec4("," dodgeChannel(base.r, blend.r),"," dodgeChannel(base.g, blend.g),"," dodgeChannel(base.b, blend.b),"," dodgeChannel(base.a, blend.a)"," );","}","float burnChannel (float base, float blend)","{"," return blend == 0.0 ? blend : 1.0 - min(1.0, (1.0 - base) / blend);","}","vec4 COLOR_BURN (vec4 base, vec4 blend)","{"," return vec4("," burnChannel(base.r, blend.r),"," burnChannel(base.g, blend.g),"," burnChannel(base.b, blend.b),"," burnChannel(base.a, blend.a)"," );","}","float hardLightChannel (float base, float blend)","{"," return blend < 0.5 ? 2.0 * base * blend : 1.0 - 2.0 * (1.0 - base) * (1.0 - blend);","}","vec4 HARD_LIGHT (vec4 base, vec4 blend)","{"," return vec4("," hardLightChannel(base.r, blend.r),"," hardLightChannel(base.g, blend.g),"," hardLightChannel(base.b, blend.b),"," hardLightChannel(base.a, blend.a)"," );","}","float softLightChannel (float base, float blend)","{"," return blend < 0.5 ? (2.0 * base * blend + base * base * (1.0 - 2.0 * blend)) : (sqrt(base) * (2.0 * blend - 1.0) + 2.0 * base * (1.0 - blend));","}","vec4 SOFT_LIGHT (vec4 base, vec4 blend)","{"," return vec4("," softLightChannel(base.r, blend.r),"," softLightChannel(base.g, blend.g),"," softLightChannel(base.b, blend.b),"," softLightChannel(base.a, blend.a)"," );","}","vec4 DIFFERENCE (vec4 base, vec4 blend)","{"," return abs(base - blend);","}","vec4 EXCLUSION (vec4 base, vec4 blend)","{"," return base + blend - 2.0 * base * blend;","}","vec3 rgbToHsl (vec3 color)","{"," vec3 hsl = vec3(0.0);"," float fmin = min(min(color.r, color.g), color.b);"," float fmax = max(max(color.r, color.g), color.b);"," float delta = fmax - fmin;"," hsl.z = (fmax + fmin) / 2.0;"," if (delta == 0.0)"," {"," hsl.x = 0.0;"," hsl.y = 0.0;"," }"," else"," {"," if (hsl.z < 0.5)"," {"," hsl.y = delta / (fmax + fmin);"," }"," else"," {"," hsl.y = delta / (2.0 - fmax - fmin);"," }"," float deltaR = (((fmax - color.r) / 6.0) + (delta / 2.0)) / delta;"," float deltaG = (((fmax - color.g) / 6.0) + (delta / 2.0)) / delta;"," float deltaB = (((fmax - color.b) / 6.0) + (delta / 2.0)) / delta;"," if (color.r == fmax)"," {"," hsl.x = deltaB - deltaG;"," }"," else if (color.g == fmax)"," {"," hsl.x = (1.0 / 3.0) + deltaR - deltaB;"," }"," else if (color.b == fmax)"," {"," hsl.x = (2.0 / 3.0) + deltaG - deltaR;"," }"," if (hsl.x < 0.0)"," {"," hsl.x += 1.0;"," }"," else if (hsl.x > 1.0)"," {"," hsl.x -= 1.0;"," }"," }"," return hsl;","}","vec3 hslToRgb (vec3 hsl)","{"," float p = hsl.z * (1.0 - hsl.y);"," float q = hsl.z * (1.0 - hsl.y * hsl.x);"," float t = hsl.z * (1.0 - hsl.y * (1.0 - hsl.x));"," if (hsl.x < 1.0 / 6.0)"," {"," return vec3(hsl.z, t, p);"," }"," else if (hsl.x < 0.5)"," {"," return vec3(q, hsl.z, p);"," }"," else if (hsl.x < 2.0 / 3.0)"," {"," return vec3(p, hsl.z, t);"," }"," return vec3(p, q, hsl.z);","}","vec4 HUE (vec4 base, vec4 blend)","{"," vec3 baseHSL = rgbToHsl(base.rgb);"," vec3 blendHSL = rgbToHsl(blend.rgb);"," return vec4(hslToRgb(vec3(blendHSL.x, baseHSL.y, baseHSL.z)), base.a);","}","vec4 SATURATION (vec4 base, vec4 blend)","{"," vec3 baseHSL = rgbToHsl(base.rgb);"," vec3 blendHSL = rgbToHsl(blend.rgb);"," return vec4(hslToRgb(vec3(baseHSL.x, blendHSL.y, baseHSL.z)), base.a);","}","vec4 COLOR (vec4 base, vec4 blend)","{"," vec3 baseHSL = rgbToHsl(base.rgb);"," vec3 blendHSL = rgbToHsl(blend.rgb);"," return vec4(hslToRgb(vec3(blendHSL.x, blendHSL.y, baseHSL.z)), base.a);","}","vec4 LUMINOSITY (vec4 base, vec4 blend)","{"," vec3 baseHSL = rgbToHsl(base.rgb);"," vec3 blendHSL = rgbToHsl(blend.rgb);"," return vec4(hslToRgb(vec3(baseHSL.x, baseHSL.y, blendHSL.z)), base.a);","}","vec4 ERASE (vec4 base, vec4 blend)","{"," return base * (1.0 - blend.a);","}","vec4 SOURCE_IN (vec4 base, vec4 blend)","{"," return blend * base.a;","}","vec4 SOURCE_OUT (vec4 base, vec4 blend)","{"," return blend * (1.0 - base.a);","}","vec4 SOURCE_ATOP (vec4 base, vec4 blend)","{"," return base * (1.0 - blend.a) + blend * base.a;","}","vec4 DESTINATION_OVER (vec4 base, vec4 blend)","{"," return base + blend * (1.0 - base.a);","}","vec4 DESTINATION_IN (vec4 base, vec4 blend)","{"," return base * blend.a;","}","vec4 DESTINATION_OUT (vec4 base, vec4 blend)","{"," return base * (1.0 - blend.a);","}","vec4 DESTINATION_ATOP (vec4 base, vec4 blend)","{"," return base * blend.a + blend * (1.0 - base.a);","}","vec4 LIGHTER (vec4 base, vec4 blend)","{"," return ADD(base, blend);","}","vec4 COPY (vec4 base, vec4 blend)","{"," return blend;","}","vec4 XOR (vec4 base, vec4 blend)","{"," return base * (1.0 - blend.a) + blend * (1.0 - base.a);","}","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec4 base = boundedSampler(uMainSampler, outTexCoord);"," vec4 blend = boundedSampler(uMainSampler2, outTexCoord) * color;"," vec4 blended = BLEND(base, blend);"," gl_FragColor = mix(base, blended, amount);","}"].join(` +`)},5899:E=>{E.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform vec2 resolution;","uniform vec4 uSizeAndOffset;","varying vec2 outTexCoord;","void main()","{"," vec2 gridCell = floor((outTexCoord * resolution + uSizeAndOffset.zw) / uSizeAndOffset.xy) * uSizeAndOffset.xy - uSizeAndOffset.zw;"," vec2 texCoord = gridCell / resolution;"," gl_FragColor = texture2D(uMainSampler, texCoord);","}"].join(` +`)},20784:E=>{E.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform vec2 resolution;","uniform vec2 offset;","uniform float strength;","uniform vec3 color;","varying vec2 outTexCoord;","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec2 uv = outTexCoord;"," vec4 col = vec4(0.0);"," vec2 off1 = vec2(1.411764705882353) * offset * strength;"," vec2 off2 = vec2(3.2941176470588234) * offset * strength;"," vec2 off3 = vec2(5.176470588235294) * offset * strength;"," col += boundedSampler(uMainSampler, uv) * 0.1964825501511404;"," col += boundedSampler(uMainSampler, uv + (off1 / resolution)) * 0.2969069646728344;"," col += boundedSampler(uMainSampler, uv - (off1 / resolution)) * 0.2969069646728344;"," col += boundedSampler(uMainSampler, uv + (off2 / resolution)) * 0.09447039785044732;"," col += boundedSampler(uMainSampler, uv - (off2 / resolution)) * 0.09447039785044732;"," col += boundedSampler(uMainSampler, uv + (off3 / resolution)) * 0.010381362401148057;"," col += boundedSampler(uMainSampler, uv - (off3 / resolution)) * 0.010381362401148057;"," gl_FragColor = col * vec4(color, 1.0);","}"].join(` +`)},65122:E=>{E.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform vec2 resolution;","uniform vec2 offset;","uniform float strength;","uniform vec3 color;","varying vec2 outTexCoord;","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec2 uv = outTexCoord;"," vec4 col = vec4(0.0);"," vec2 offset = vec2(1.333) * offset * strength;"," col += boundedSampler(uMainSampler, uv) * 0.29411764705882354;"," col += boundedSampler(uMainSampler, uv + (offset / resolution)) * 0.35294117647058826;"," col += boundedSampler(uMainSampler, uv - (offset / resolution)) * 0.35294117647058826;"," gl_FragColor = col * vec4(color, 1.0);","}"].join(` +`)},60942:E=>{E.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform vec2 resolution;","uniform vec2 offset;","uniform float strength;","uniform vec3 color;","varying vec2 outTexCoord;","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec2 uv = outTexCoord;"," vec4 col = vec4(0.0);"," vec2 off1 = vec2(1.3846153846) * offset * strength;"," vec2 off2 = vec2(3.2307692308) * offset * strength;"," col += boundedSampler(uMainSampler, uv) * 0.2270270270;"," col += boundedSampler(uMainSampler, uv + (off1 / resolution)) * 0.3162162162;"," col += boundedSampler(uMainSampler, uv - (off1 / resolution)) * 0.3162162162;"," col += boundedSampler(uMainSampler, uv + (off2 / resolution)) * 0.0702702703;"," col += boundedSampler(uMainSampler, uv - (off2 / resolution)) * 0.0702702703;"," gl_FragColor = col * vec4(color, 1.0);","}"].join(` +`)},43722:E=>{E.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","#define ITERATIONS 100.0","#define ONEOVER_ITR 1.0 / ITERATIONS","#define PI 3.141596","#define GOLDEN_ANGLE 2.39996323","uniform sampler2D uMainSampler;","uniform vec2 resolution;","uniform float radius;","uniform float amount;","uniform float contrast;","uniform bool isTiltShift;","uniform float strength;","uniform vec2 blur;","varying vec2 outTexCoord;","vec2 Sample (in float theta, inout float r)","{"," r += 1.0 / r;"," return (r - 1.0) * vec2(cos(theta), sin(theta)) * 0.06;","}","#pragma phaserTemplate(fragmentHeader)","vec3 Bokeh (sampler2D tex, vec2 uv, float radius)","{"," vec3 acc = vec3(0.0);"," vec3 div = vec3(0.0);"," vec2 pixel = vec2(resolution.y / resolution.x, 1.0) * radius * .025;"," float r = 1.0;"," for (float j = 0.0; j < GOLDEN_ANGLE * ITERATIONS; j += GOLDEN_ANGLE)"," {"," vec3 col = boundedSampler(tex, uv + pixel * Sample(j, r)).xyz;"," col = contrast > 0.0 ? col * col * (1.0 + contrast) : col;"," vec3 bokeh = vec3(0.5) + pow(col, vec3(10.0)) * amount;"," acc += col * bokeh;"," div += bokeh;"," }"," return acc / div;","}","void main ()","{"," float shift = 1.0;"," if (isTiltShift)"," {"," vec2 uv = vec2(gl_FragCoord.xy / resolution + vec2(-0.5, -0.5)) * 2.0;"," float centerStrength = 1.0;"," shift = length(uv * blur * strength) * centerStrength;"," }"," gl_FragColor = vec4(Bokeh(uMainSampler, outTexCoord * vec2(1.0, 1.0), radius * shift), 0.0);","}"].join(` +`)},19883:E=>{E.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform float uColorMatrix[20];","uniform float uAlpha;","varying vec2 outTexCoord;","void main ()","{"," vec4 c = texture2D(uMainSampler, outTexCoord);"," if (uAlpha == 0.0)"," {"," gl_FragColor = c;"," return;"," }"," if (c.a > 0.0)"," {"," c.rgb /= c.a;"," }"," vec4 result;"," result.r = (uColorMatrix[0] * c.r) + (uColorMatrix[1] * c.g) + (uColorMatrix[2] * c.b) + (uColorMatrix[3] * c.a) + uColorMatrix[4];"," result.g = (uColorMatrix[5] * c.r) + (uColorMatrix[6] * c.g) + (uColorMatrix[7] * c.b) + (uColorMatrix[8] * c.a) + uColorMatrix[9];"," result.b = (uColorMatrix[10] * c.r) + (uColorMatrix[11] * c.g) + (uColorMatrix[12] * c.b) + (uColorMatrix[13] * c.a) + uColorMatrix[14];"," result.a = (uColorMatrix[15] * c.r) + (uColorMatrix[16] * c.g) + (uColorMatrix[17] * c.b) + (uColorMatrix[18] * c.a) + uColorMatrix[19];"," vec3 rgb = mix(c.rgb, result.rgb, uAlpha);"," rgb *= result.a;"," gl_FragColor = vec4(rgb, result.a);","}"].join(` +`)},12886:E=>{E.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform sampler2D uDisplacementSampler;","uniform vec2 amount;","varying vec2 outTexCoord;","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec2 disp = (-vec2(0.5, 0.5) + texture2D(uDisplacementSampler, outTexCoord).rg) * amount;"," gl_FragColor = boundedSampler(uMainSampler, outTexCoord + disp).rgba;","}"].join(` +`)},33016:E=>{E.exports=["#pragma phaserTemplate(shaderName)","#define DISTANCE 10.0","#define QUALITY 10.0","#pragma phaserTemplate(fragmentDefine)","precision mediump float;","uniform sampler2D uMainSampler;","varying vec2 outTexCoord;","uniform float outerStrength;","uniform float innerStrength;","uniform float scale;","uniform vec2 resolution;","uniform vec4 glowColor;","uniform bool knockout;","const float PI = 3.14159265358979323846264;","const float MAX_ALPHA = DISTANCE * (DISTANCE + 1.0) * QUALITY / 2.0;","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec2 px = vec2(1.0 / resolution.x, 1.0 / resolution.y) * scale;"," float totalAlpha = 0.0;"," float curAngle = 0.0;"," vec2 direction;"," vec2 displaced;"," vec4 color;"," for (float curDistance = 0.0; curDistance < DISTANCE; curDistance++)"," {"," curAngle += fract(sin(dot(vec2(curDistance, outTexCoord.x + outTexCoord.y), vec2(12.9898, 78.233))) * 43758.5453);"," for (float i = 0.0; i < QUALITY; i++)"," {"," curAngle += PI * 2.0 / (QUALITY);"," direction = vec2(cos(curAngle), sin(curAngle)) * px;"," displaced = outTexCoord + direction * (curDistance + 1.0);"," color = boundedSampler(uMainSampler, displaced);"," totalAlpha += (DISTANCE - curDistance) * color.a;"," }"," }"," color = boundedSampler(uMainSampler, outTexCoord);"," float alphaRatio = (totalAlpha / MAX_ALPHA);"," float innerGlowAlpha = (1.0 - alphaRatio) * innerStrength * color.a;"," float innerGlowStrength = min(1.0, innerGlowAlpha);"," vec4 innerColor = mix(color, glowColor, innerGlowStrength);"," float outerGlowAlpha = alphaRatio * outerStrength * (1.0 - color.a);"," float outerGlowStrength = min(1.0 - innerColor.a, outerGlowAlpha);"," if (knockout)"," {"," float resultAlpha = outerGlowStrength + innerGlowStrength;"," gl_FragColor = vec4(glowColor.rgb * resultAlpha, resultAlpha);"," }"," else"," {"," vec4 outerGlowColor = outerGlowStrength * glowColor.rgba;"," gl_FragColor = innerColor + outerGlowColor;"," }","}"].join(` +`)},39603:E=>{E.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform sampler2D uMaskSampler;","uniform bool invert;","varying vec2 outTexCoord;","void main ()","{"," vec4 color = texture2D(uMainSampler, outTexCoord);"," vec4 mask = texture2D(uMaskSampler, outTexCoord);"," float a = mask.a;"," color *= invert ? (1.0 - a) : a;"," gl_FragColor = color;","}"].join(` +`)},99191:E=>{E.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform vec2 resolution;","uniform float amount;","varying vec2 outTexCoord;","void main ()","{"," float pixelSize = floor(2.0 + amount);"," vec2 center = pixelSize * floor(outTexCoord * resolution / pixelSize) + pixelSize * vec2(0.5, 0.5);"," vec2 corner1 = center + pixelSize * vec2(-0.5, -0.5);"," vec2 corner2 = center + pixelSize * vec2(+0.5, -0.5);"," vec2 corner3 = center + pixelSize * vec2(+0.5, +0.5);"," vec2 corner4 = center + pixelSize * vec2(-0.5, +0.5);"," vec4 pixel = 0.4 * texture2D(uMainSampler, center / resolution);"," pixel += 0.15 * texture2D(uMainSampler, corner1 / resolution);"," pixel += 0.15 * texture2D(uMainSampler, corner2 / resolution);"," pixel += 0.15 * texture2D(uMainSampler, corner3 / resolution);"," pixel += 0.15 * texture2D(uMainSampler, corner4 / resolution);"," gl_FragColor = pixel;","}"].join(` +`)},69355:E=>{E.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","varying vec2 outTexCoord;","uniform vec2 lightPosition;","uniform vec4 color;","uniform float decay;","uniform float power;","uniform float intensity;","uniform int samples;","const int MAX = 12;","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec4 texture = boundedSampler(uMainSampler, outTexCoord);"," vec2 pc = (lightPosition - outTexCoord) * intensity;"," float shadow = 0.0;"," float limit = max(float(MAX), float(samples));"," for (int i = 0; i < MAX; ++i)"," {"," if (i >= samples)"," {"," break;"," }"," shadow += boundedSampler(uMainSampler, outTexCoord + float(i) * decay / limit * pc).a * power;"," }"," float mask = 1.0 - texture.a;"," gl_FragColor = mix(texture, color, clamp(shadow * mask, 0.0, 1.0));","}"].join(` +`)},92636:E=>{E.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform vec4 edge1;","uniform vec4 edge2;","uniform vec4 invert;","varying vec2 outTexCoord;","void main ()","{"," vec4 color = texture2D(uMainSampler, outTexCoord);"," color = clamp((color - edge1) / (edge2 - edge1), 0.0, 1.0);"," color = mix(color, 1.0 - color, invert);"," gl_FragColor = color;","}"].join(` +`)},73416:E=>{E.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#pragma phaserTemplate(fragmentDefine)","uniform vec2 uResolution;","varying vec4 outTint;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec4 fragColor = outTint;"," #pragma phaserTemplate(fragmentProcess)"," gl_FragColor = fragColor;","}"].join(` +`)},91627:E=>{E.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#pragma phaserTemplate(vertexDefine)","uniform mat4 uProjectionMatrix;","uniform vec2 uResolution;","attribute vec2 inPosition;","attribute vec4 inTint;","varying vec4 outTint;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(vertexHeader)","void main ()","{"," gl_Position = uProjectionMatrix * vec4(inPosition, 1.0, 1.0);"," outTint = vec4(inTint.bgr * inTint.a, inTint.a);"," #pragma phaserTemplate(vertexProcess)","}"].join(` +`)},84220:E=>{E.exports=["vec3 getNormalFromMap (vec2 texCoord)","{"," vec3 normalMap = texture2D(uNormSampler, texCoord).rgb;"," return normalize(outInverseRotationMatrix * vec3(normalMap * 2.0 - 1.0));","}"].join(` +`)},2860:E=>{E.exports=["uniform vec2 uMainResolution[TEXTURE_COUNT];","vec2 getTexRes ()","{"," #if TEXTURE_COUNT == 1"," float texId = 0.0;"," #else"," float texId = outTexDatum;"," #endif"," #pragma phaserTemplate(texIdProcess)"," vec2 texRes = vec2(0.0);"," for (int i = 0; i < TEXTURE_COUNT; i++)"," {"," if (texId == float(i))"," {"," texRes = uMainResolution[i];"," break;"," }"," }"," return texRes;","}"].join(` +`)},46432:E=>{E.exports=["uniform sampler2D uMainSampler[TEXTURE_COUNT];","vec4 getTexture (vec2 texCoord)","{"," #if TEXTURE_COUNT == 1"," return texture2D(uMainSampler[0], texCoord);"," #else"," if (outTexDatum == 0.0) return texture2D(uMainSampler[0], texCoord);"," #define ELSE_TEX_CASE(INDEX) else if (outTexDatum == float(INDEX)) return texture2D(uMainSampler[INDEX], texCoord);"," #pragma phaserTemplate(texIdProcess)"," else return vec4(0.0, 0.0, 0.0, 0.0);"," #endif","}"].join(` +`)},98840:E=>{E.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#pragma phaserTemplate(fragmentDefine)","uniform vec2 uResolution;","varying vec2 outTexCoord;","varying float outTexDatum;","varying float outTintEffect;","varying vec4 outTint;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," #pragma phaserTemplate(fragmentProcess)"," gl_FragColor = fragColor;","}"].join(` +`)},44667:E=>{E.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#pragma phaserTemplate(vertexDefine)","uniform mat4 uProjectionMatrix;","uniform vec2 uResolution;","attribute vec2 inPosition;","attribute vec2 inTexCoord;","attribute float inTexDatum;","attribute float inTintEffect;","attribute vec4 inTint;","varying vec2 outTexCoord;","varying float outTexDatum;","varying float outTintEffect;","varying vec4 outTint;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(vertexHeader)","void main ()","{"," gl_Position = uProjectionMatrix * vec4(inPosition, 1.0, 1.0);"," outTexCoord = inTexCoord;"," outTexDatum = inTexDatum;"," outTint = inTint;"," outTintEffect = inTintEffect;"," #pragma phaserTemplate(vertexProcess)","}"].join(` +`)},62807:E=>{E.exports=["float inverseRotation = -rotation - uCamera.z;","float irSine = sin(inverseRotation);","float irCosine = cos(inverseRotation);","outInverseRotationMatrix = mat3("," irCosine, irSine, 0.0,"," -irSine, irCosine, 0.0,"," 0.0, 0.0, 1.0",");"].join(` +`)},4127:E=>{E.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","precision mediump float;","#pragma phaserTemplate(fragmentDefine)","uniform vec2 uResolution;","uniform float uCameraZoom;","varying vec4 lightPosition;","varying vec4 lightColor;","varying float lightRadius;","varying float lightAttenuation;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec2 center = (lightPosition.xy + 1.0) * (uResolution.xy * 0.5);"," float distToSurf = length(center - gl_FragCoord.xy);"," float radius = 1.0 - distToSurf / (lightRadius * uCameraZoom);"," float intensity = smoothstep(0.0, 1.0, radius * lightAttenuation);"," vec4 color = vec4(intensity, intensity, intensity, 0.0) * lightColor;"," #pragma phaserTemplate(fragmentProcess)"," gl_FragColor = vec4(color.rgb * lightColor.a, color.a);","}"].join(` +`)},89924:E=>{E.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","precision mediump float;","#pragma phaserTemplate(vertexDefine)","uniform mat4 uProjectionMatrix;","attribute vec2 inPosition;","attribute vec2 inLightPosition;","attribute vec4 inLightColor;","attribute float inLightRadius;","attribute float inLightAttenuation;","varying vec4 lightPosition;","varying vec4 lightColor;","varying float lightRadius;","varying float lightAttenuation;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(vertexHeader)","void main ()","{"," lightColor = inLightColor;"," lightRadius = inLightRadius;"," lightAttenuation = inLightAttenuation;"," lightPosition = uProjectionMatrix * vec4(inLightPosition, 1.0, 1.0);"," gl_Position = uProjectionMatrix * vec4(inPosition, 1.0, 1.0);"," #pragma phaserTemplate(vertexProcess)","}"].join(` +`)},72823:E=>{E.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#pragma phaserTemplate(fragmentDefine)","varying vec2 outTexCoord;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec4 fragColor = vec4(outTexCoord.xyx, 1.0);"," #pragma phaserTemplate(fragmentProcess)"," gl_FragColor = fragColor;","}"].join(` +`)},65884:E=>{E.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#pragma phaserTemplate(vertexDefine)","uniform mat4 uProjectionMatrix;","attribute vec2 inPosition;","attribute vec2 inTexCoord;","varying vec2 outTexCoord;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(vertexHeader)","void main ()","{"," gl_Position = uProjectionMatrix * vec4(inPosition, 1.0, 1.0);"," outTexCoord = inTexCoord;"," #pragma phaserTemplate(vertexProcess)","}"].join(` +`)},2807:E=>{E.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","attribute vec2 inPosition;","attribute vec2 inTexCoord;","varying vec2 outFragCoord;","varying vec2 outTexCoord;","void main ()","{"," outFragCoord = inPosition.xy * 0.5 + 0.5;"," outTexCoord = inTexCoord;"," gl_Position = vec4(inPosition, 0, 1);","}"].join(` +`)},49119:E=>{E.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#pragma phaserTemplate(fragmentDefine)","uniform vec2 uResolution;","varying vec2 outTexCoord;","varying float outTintEffect;","varying vec4 outTint;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," #pragma phaserTemplate(fragmentProcess)"," gl_FragColor = fragColor;","}"].join(` +`)},3524:E=>{E.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#define ROUND_BIAS 0.5001","#pragma phaserTemplate(vertexDefine)","uniform mat4 uProjectionMatrix;","uniform mat3 uViewMatrix;","uniform vec3 uCameraScrollAndAlpha;","uniform int uRoundPixels;","uniform vec2 uResolution;","uniform float uTime;","uniform vec2 uDiffuseResolution;","uniform vec2 uFrameDataResolution;","uniform sampler2D uFrameDataTexture;","uniform float uGravity;","attribute float inVertex;","attribute vec4 inPositionX;","attribute vec4 inPositionY;","attribute vec4 inRotation;","attribute vec4 inScaleX;","attribute vec4 inScaleY;","attribute vec4 inAlpha;","attribute vec4 inFrame;","attribute vec4 inTintBlend;","attribute vec4 inTintTL;","attribute vec4 inTintTR;","attribute vec4 inTintBL;","attribute vec4 inTintBR;","attribute vec4 inOriginAndTintFillAndCreationTime;","attribute vec2 inScrollFactor;","varying vec2 outTexCoord;","varying float outTintEffect;","varying vec4 outTint;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(vertexHeader)","const float PI = 3.14159265359;","const float HALF_PI = PI / 2.0;","const float BOUNCE_OVERSHOOT = 1.70158;","const float BOUNCE_OVERSHOOT_PLUS = BOUNCE_OVERSHOOT + 1.0;","const float BOUNCE_OVERSHOOT_IN_OUT = BOUNCE_OVERSHOOT * 1.525;","const float BOUNCE_OVERSHOOT_IN_OUT_PLUS = BOUNCE_OVERSHOOT_IN_OUT + 1.0;","float animate (vec4 anim)","{"," float value = anim.x;"," float a = anim.y;"," float b = abs(anim.z);"," float c = abs(anim.w);"," bool yoyo = anim.z < 0.0;"," bool loop = anim.w > 0.0;"," int type = int(floor(c));"," if (type == 0|| b == 0.0)"," {"," return value;"," }"," float duration = b;"," float delay = mod(c, 1.0) * 2.0;"," float rawTime = ((uTime - inOriginAndTintFillAndCreationTime.w) / duration) - delay;"," float time = mod(rawTime, 1.0);"," if (yoyo && (mod(rawTime, 2.0) >= 1.0))"," {"," time = 1.0 - time;"," }"," float repeats = loop ? 0.0 : floor(a);"," float timeContinuous = loop ? time : rawTime;"," #ifdef FEATURE_LINEAR"," if (type == 1)"," {"," return value + a * timeContinuous;"," }"," #endif"," #ifdef FEATURE_GRAVITY"," if (type == 2)"," {"," float v = floor(a);"," float gravityFactor = (a - v) * 2.0 - 1.0;"," if (gravityFactor == 0.0)"," {"," gravityFactor = 1.0;"," }"," float seconds = timeContinuous * duration / 1000.0;"," float accel = uGravity * gravityFactor;"," return value + (v * seconds) + (0.5 * accel * seconds * seconds);"," }"," #endif"," #ifdef FEATURE_QUAD_EASEOUT"," if (type == 10)"," {"," return value + a * time * (2.0 - time)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_QUAD_EASEIN"," if (type == 11)"," {"," return value + a * time * time"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_QUAD_EASEINOUT"," if (type == 12)"," {"," time *= 2.0;"," if (time < 1.0)"," {"," return value + a * time * time * 0.5"," + repeats * a;"," }"," time -= 1.0;"," return value + a * -0.5 * (time * (time - 2.0) - 1.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_CUBIC_EASEOUT"," if (type == 20)"," {"," time -= 1.0;"," return value + a * (time * time * time + 1.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_CUBIC_EASEIN"," if (type == 21)"," {"," return value + a * time * time * time"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_CUBIC_EASEINOUT"," if (type == 22)"," {"," time *= 2.0;"," if (time < 1.0)"," {"," return value + a * time * time * time * 0.5"," + repeats * a;"," }"," time -= 2.0;"," return value + a * 0.5 * (time * time * time + 2.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_QUART_EASEOUT"," if (type == 30)"," {"," time -= 1.0;"," return value + a * (1.0 - time * time * time * time)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_QUART_EASEIN"," if (type == 31)"," {"," return value + a * time * time * time * time"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_QUART_EASEINOUT"," if (type == 32)"," {"," time *= 2.0;"," if (time < 1.0)"," {"," return value + a * time * time * time * time * 0.5"," + repeats * a;"," }"," time -= 2.0;"," return value + a * -0.5 * (time * time * time * time - 2.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_QUINT_EASEOUT"," if (type == 40)"," {"," time -= 1.0;"," return value + a * (time * time * time * time * time + 1.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_QUINT_EASEIN"," if (type == 41)"," {"," return value + a * time * time * time * time * time"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_QUINT_EASEINOUT"," if (type == 42)"," {"," time *= 2.0;"," if (time < 1.0)"," {"," return value + a * time * time * time * time * time * 0.5"," + repeats * a;"," }"," time -= 2.0;"," return value + a * 0.5 * (time * time * time * time * time + 2.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_SINE_EASEOUT"," if (type == 50)"," {"," return value + a * sin(time * HALF_PI)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_SINE_EASEIN"," if (type == 51)"," {"," return value + a * (1.0 - cos(time * HALF_PI))"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_SINE_EASEINOUT"," if (type == 52)"," {"," return value + a * 0.5 * (1.0 - cos(PI * time))"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_EXPO_EASEOUT"," if (type == 60)"," {"," return value + a * (1.0 - pow(2.0, -10.0 * time))"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_EXPO_EASEIN"," if (type == 61)"," {"," return value + a * pow(2.0, 10.0 * (time - 1.0) - 0.001)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_EXPO_EASEINOUT"," if (type == 62)"," {"," time *= 2.0;"," if (time < 1.0)"," {"," return value + a * 0.5 * pow(2.0, 10.0 * (time - 1.0))"," + repeats * a;"," }"," time -= 1.0;"," return value + a * 0.5 * (2.0 - pow(2.0, -10.0 * (time - 1.0)))"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_CIRC_EASEOUT"," if (type == 70)"," {"," time -= 1.0;"," return value + a * sqrt(1.0 - time * time)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_CIRC_EASEIN"," if (type == 71)"," {"," return value + a * (1.0 - sqrt(1.0 - time * time))"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_CIRC_EASEINOUT"," if (type == 72)"," {"," time *= 2.0;"," if (time < 1.0)"," {"," return value + a * -0.5 * (sqrt(1.0 - time * time) - 1.0)"," + repeats * a;"," }"," time -= 2.0;"," return value + a * 0.5 * (sqrt(1.0 - time * time) + 1.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_BACK_EASEOUT"," if (type == 90)"," {"," time -= 1.0;"," return value + a * (time * time * (BOUNCE_OVERSHOOT_PLUS * time + BOUNCE_OVERSHOOT) + 1.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_BACK_EASEIN"," if (type == 91)"," {"," return value + a * time * time * (BOUNCE_OVERSHOOT_PLUS * time - BOUNCE_OVERSHOOT)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_BACK_EASEINOUT"," if (type == 92)"," {"," time *= 2.0;"," if (time < 1.0)"," {"," return value + a * 0.5 * (time * time * (BOUNCE_OVERSHOOT_IN_OUT_PLUS * time - BOUNCE_OVERSHOOT_IN_OUT))"," + repeats * a;"," }"," time -= 2.0;"," return value + a * 0.5 * (time * time * (BOUNCE_OVERSHOOT_IN_OUT_PLUS * time + BOUNCE_OVERSHOOT_IN_OUT) + 2.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_BOUNCE_EASEOUT"," if (type == 100)"," {"," if (time < 1.0 / 2.75)"," {"," return value + a * (7.5625 * time * time)"," + repeats * a;"," }"," else if (time < 2.0 / 2.75)"," {"," time -= 1.5 / 2.75;"," return value + a * (7.5625 * time * time + 0.75)"," + repeats * a;"," }"," else if (time < 2.5 / 2.75)"," {"," time -= 2.25 / 2.75;"," return value + a * (7.5625 * time * time + 0.9375)"," + repeats * a;"," }"," else"," {"," time -= 2.625 / 2.75;"," return value + a * (7.5625 * time * time + 0.984375)"," + repeats * a;"," }"," }"," #endif"," #ifdef FEATURE_BOUNCE_EASEIN"," if (type == 101)"," {"," time = 1.0 - time;"," if (time < 1.0 / 2.75)"," {"," return value + a * (1.0 - 7.5625 * time * time)"," + repeats * a;"," }"," else if (time < 2.0 / 2.75)"," {"," time -= 1.5 / 2.75;"," return value + a * (1.0 - (7.5625 * time * time + 0.75))"," + repeats * a;"," }"," else if (time < 2.5 / 2.75)"," {"," time -= 2.25 / 2.75;"," return value + a * (1.0 - (7.5625 * time * time + 0.9375))"," + repeats * a;"," }"," else"," {"," time -= 2.625 / 2.75;"," return value + a * (1.0 - (7.5625 * time * time + 0.984375))"," + repeats * a;"," }"," }"," #endif"," #ifdef FEATURE_BOUNCE_EASEINOUT"," if (type == 102)"," {"," bool reverse = false;"," if (time < 0.5)"," {"," time = 1.0 - time * 2.0;"," reverse = true;"," }"," if (time < 1.0 / 2.75)"," {"," time = 7.5625 * time * time;"," }"," else if (time < 2.0 / 2.75)"," {"," time -= 1.5 / 2.75;"," time = 7.5625 * time * time + 0.75;"," }"," else if (time < 2.5 / 2.75)"," {"," time -= 2.25 / 2.75;"," time = 7.5625 * time * time + 0.9375;"," }"," else"," {"," time -= 2.625 / 2.75;"," time = 7.5625 * time * time + 0.984375;"," }"," if (reverse)"," {"," return value + a * (1.0 - time) * 0.5"," + repeats * a;"," }"," return value + a * time * 0.5 + 0.5"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_STEPPED"," if (type == 110)"," {"," return value + a * floor(time + 0.5)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_SMOOTHSTEP_EASEOUT"," if (type == 120)"," {"," return value + a * (smoothstep(0.0, 1.0, time / 2.0 + 0.5) * 2.0 - 1.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_SMOOTHSTEP_EASEIN"," if (type == 121)"," {"," return value + a * smoothstep(0.0, 1.0, time / 2.0) * 2.0"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_SMOOTHSTEP_EASEINOUT"," if (type == 122)"," {"," return value + a * smoothstep(0.0, 1.0, time)"," + repeats * a;"," }"," #endif"," return value;","}","struct Frame {"," vec2 position;"," vec2 size;"," vec2 offset;","};","Frame getFrame (float frame)","{"," float index1 = floor(frame) * 3.0;"," float index2 = index1 + 1.0;"," float index3 = index1 + 2.0;"," float width = uFrameDataResolution.x;"," float x = mod(index1, width);"," float y = floor(index1 / width);"," vec4 texelUV = texture2D("," uFrameDataTexture,"," vec2(x + 0.5, y + 0.5) / uFrameDataResolution"," );"," x = mod(index2, width);"," y = floor(index2 / width);"," vec4 texelWH = texture2D("," uFrameDataTexture,"," vec2(x + 0.5, y + 0.5) / uFrameDataResolution"," );"," x = mod(index3, width);"," y = floor(index3 / width);"," vec4 texelOrigin = texture2D("," uFrameDataTexture,"," vec2(x + 0.5, y + 0.5) / uFrameDataResolution"," );"," return Frame("," vec2("," texelUV.r + texelUV.g * 256.0,"," texelUV.b + texelUV.a * 256.0"," ) * 255.0,"," vec2("," texelWH.r + texelWH.g * 256.0,"," texelWH.b + texelWH.a * 256.0"," ) * 255.0,"," vec2("," texelOrigin.r + texelOrigin.g * 256.0,"," texelOrigin.b + texelOrigin.a * 256.0"," ) * 255.0 - 32768.0"," );","}","void main ()","{"," float positionX = animate(inPositionX);"," float positionY = animate(inPositionY);"," float rotation = animate(inRotation);"," float scaleX = animate(inScaleX);"," float scaleY = animate(inScaleY);"," float frame = animate(inFrame);"," float tintBlend = animate(inTintBlend);"," float alpha = animate(inAlpha);"," vec2 origin = inOriginAndTintFillAndCreationTime.xy;"," float tintFill = inOriginAndTintFillAndCreationTime.z;"," float scrollFactorX = inScrollFactor.x;"," float scrollFactorY = inScrollFactor.y;"," Frame frameData = getFrame(frame);"," vec2 uv = frameData.position / uDiffuseResolution;"," vec2 wh = frameData.size / uDiffuseResolution;"," float u = uv.s;"," float v = uv.t;"," float w = wh.s;"," float h = wh.t;"," float width = frameData.size.s;"," float height = frameData.size.t;"," vec4 tint = inTintTL;"," float x = -origin.x;"," float y = -origin.y;"," if (inVertex == 0.0)"," {"," y = 1.0 - origin.y;"," v += h;"," tint = inTintBL;"," }"," else if (inVertex == 2.0)"," {"," x = 1.0 - origin.x;"," y = 1.0 - origin.y;"," u += w;"," v += h;"," tint = inTintBR;"," }"," else if (inVertex == 3.0)"," {"," x = 1.0 - origin.x;"," u += w;"," tint = inTintTR;"," }"," vec3 position = vec3("," (x * width - frameData.offset.x) * scaleX,"," (y * height - frameData.offset.y) * scaleY,"," 1.0"," );"," mat3 viewMatrix = uViewMatrix * mat3("," 1.0, 0.0, 0.0,"," 0.0, 1.0, 0.0,"," uCameraScrollAndAlpha.x * (1.0 - scrollFactorX), uCameraScrollAndAlpha.y * (1.0 - scrollFactorY), 1.0"," );"," float sine = sin(rotation);"," float cosine = cos(rotation);"," mat3 transformMatrix = mat3("," cosine, sine, 0.0,"," -sine, cosine, 0.0,"," positionX, positionY, 1.0"," );"," position = viewMatrix * transformMatrix * position;"," alpha *= uCameraScrollAndAlpha.z;"," tint.a *= alpha;"," if (uRoundPixels == 1 && rotation == 0.0 && scaleX == 1.0 && scaleY == 1.0)"," {"," position.xy = floor(position.xy + ROUND_BIAS);"," }"," gl_Position = uProjectionMatrix * vec4(position.xy, 1.0, 1.0);"," outTexCoord = vec2(u, 1.0 - v);"," outTint = mix(vec4(1.0, 1.0, 1.0, tint.a), tint, tintBlend);"," outTintEffect = tintFill;"," #pragma phaserTemplate(vertexProcess)","}"].join(` +`)},57532:E=>{E.exports=["#version 100","#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","/* Redefine MAX_ANIM_FRAMES to support animations with different frame numbers. */","#define MAX_ANIM_FRAMES 0","#pragma phaserTemplate(fragmentDefine)","uniform vec2 uResolution;","uniform sampler2D uMainSampler;","uniform sampler2D uLayerSampler;","uniform vec2 uMainResolution;","uniform vec2 uLayerResolution;","uniform float uTileColumns;","uniform vec4 uTileWidthHeightMarginSpacing;","uniform float uAlpha;","uniform float uTime;","#if MAX_ANIM_FRAMES > 0","uniform sampler2D uAnimSampler;","uniform vec2 uAnimResolution;","#endif","varying vec2 outTexCoord;","varying vec2 outTileStride;","#pragma phaserTemplate(outVariables)","vec2 getTexRes ()","{"," return uMainResolution;","}","float floatTexel (vec4 texel)","{"," return texel.r * 255.0 + (texel.g * 255.0 * 256.0) + (texel.b * 255.0 * 256.0 * 256.0) + (texel.a * 255.0 * 256.0 * 256.0 * 256.0);","}","struct Tile","{"," float index;"," vec2 uv; // In texels."," #if MAX_ANIM_FRAMES > 0"," bool animated;"," #endif"," bool empty;","};","Tile getLayerData (vec2 coord)","{"," vec2 texelCoord = coord * uLayerResolution;"," vec2 tile = floor(texelCoord);"," vec2 uv = fract(texelCoord);"," uv.y = 1.0 - uv.y;"," vec4 texel = texture2D(uLayerSampler, (tile + 0.5) / uLayerResolution) * 255.0;"," float flags = texel.a;"," /* Check for empty tile flag in bit 28. */"," if (flags == 16.0)"," {"," return Tile("," 0.0,"," vec2(0.0),"," #if MAX_ANIM_FRAMES > 0"," false,"," #endif"," true"," );"," }"," /* Bit 31 is flipX. */"," bool flipX = flags > 127.0;"," /* Bit 30 is flipY. */"," bool flipY = mod(flags, 128.0) > 63.0;"," #if MAX_ANIM_FRAMES > 0"," /* Bit 29 is animation. */"," bool animated = mod(flags, 64.0) > 31.0;"," #endif"," if (flipX)"," {"," uv.x = 1.0 - uv.x;"," }"," if (flipY)"," {"," uv.y = 1.0 - uv.y;"," }"," float index = texel.r + (texel.g * 256.0) + (texel.b * 256.0 * 256.0);"," return Tile("," index,"," uv * uTileWidthHeightMarginSpacing.xy,"," #if MAX_ANIM_FRAMES > 0"," animated,"," #endif"," false"," );","}","vec2 getFrameCorner (float index)","{"," float x = mod(index, uTileColumns);"," float y = floor(index / uTileColumns);"," vec2 xy = vec2(x, y);"," return xy * outTileStride + uTileWidthHeightMarginSpacing.zz;","}","#if MAX_ANIM_FRAMES > 0","float animationIndex (float index)","{"," float animTextureWidth = uAnimResolution.x;"," vec2 index2D = vec2(mod(index, animTextureWidth), floor(index / animTextureWidth));"," vec4 animDurationTexel = texture2D(uAnimSampler, (index2D + 0.5) / uAnimResolution);"," index2D = vec2(mod(index + 1.0, animTextureWidth), floor((index + 1.0) / animTextureWidth));"," vec4 animIndexTexel = texture2D(uAnimSampler, (index2D + 0.5) / uAnimResolution);"," float animDuration = floatTexel(animDurationTexel);"," float animIndex = floatTexel(animIndexTexel);"," float animTime = mod(uTime, animDuration);"," float animTimeAccum = 0.0;"," for (int i = 0; i < MAX_ANIM_FRAMES; i++)"," {"," index2D = vec2(mod(animIndex, animTextureWidth), floor(animIndex / animTextureWidth));"," animDurationTexel = texture2D(uAnimSampler, (index2D + 0.5) / uAnimResolution);"," float frameDuration = floatTexel(animDurationTexel);"," animTimeAccum += frameDuration;"," if (animTime <= animTimeAccum)"," {"," break;"," }"," animIndex += 2.0;"," }"," animIndex += 1.0;"," index2D = vec2(mod(animIndex, animTextureWidth), floor(animIndex / animTextureWidth));"," animIndexTexel = texture2D(uAnimSampler, (index2D + 0.5) / uAnimResolution);"," float animFrameIndex = floatTexel(animIndexTexel);"," return animFrameIndex;","}","#endif","vec2 getTileTexelCoord (Tile tile)","{"," if (tile.empty)"," {"," return vec2(0.0);"," }"," float index = tile.index;"," #if MAX_ANIM_FRAMES > 0"," if (tile.animated)"," {"," index = animationIndex(index);"," }"," #endif"," vec2 frameCorner = getFrameCorner(index);"," return frameCorner + tile.uv;","}","#pragma phaserTemplate(fragmentHeader)","struct Samples {"," vec4 color;"," #pragma phaserTemplate(defineSamples)","};","Samples getColorSamples (vec2 texCoord)","{"," Samples samples;"," samples.color = texture2D("," uMainSampler,"," vec2(texCoord.x, 1.0 - texCoord.y)"," );"," #pragma phaserTemplate(getSamples)"," return samples;","}","Samples mixSamples (Samples samples1, Samples samples2, float alpha)","{"," Samples samples;"," samples.color = mix(samples1.color, samples2.color, alpha);"," #pragma phaserTemplate(mixSamples)"," return samples;","}","Samples getFinalSamples (Tile tile, vec2 layerTexCoord)","{"," vec2 texelCoord = getTileTexelCoord(tile);"," vec2 texCoord = texelCoord / uMainResolution;"," #pragma phaserTemplate(texCoord)"," #ifndef FEATURE_BORDERFILTER"," return getColorSamples(texCoord);"," #else"," #pragma phaserTemplate(finalSamples)"," vec2 wh = uTileWidthHeightMarginSpacing.xy;"," vec2 frameCorner = getFrameCorner(tile.index);"," vec2 frameCornerOpposite = frameCorner + wh;"," vec2 texCoordClamped = clamp(texCoord, (frameCorner + 0.5) / uMainResolution, (frameCornerOpposite - 0.5) / uMainResolution);"," vec2 dTexelCoord = (texCoord - texCoordClamped) * uMainResolution;"," dTexelCoord.y = -dTexelCoord.y;"," vec2 offsets = sign(dTexelCoord);"," Samples samples0 = getColorSamples(texCoordClamped);"," if (offsets.x == 0.0)"," {"," if (offsets.y == 0.0)"," {"," return samples0;"," }"," Tile tileY = getLayerData(layerTexCoord + (offsets - dTexelCoord) / wh / uLayerResolution);"," vec2 texelCoordY = getTileTexelCoord(tileY);"," vec2 texCoordY = texelCoordY / uMainResolution;"," Samples samplesY = getColorSamples(texCoordY);"," return mixSamples(samples0, samplesY, abs(dTexelCoord.y));"," }"," else"," {"," if (offsets.y == 0.0)"," {"," Tile tileX = getLayerData(layerTexCoord + (offsets - dTexelCoord) / wh / uLayerResolution);"," vec2 texelCoordX = getTileTexelCoord(tileX);"," vec2 texCoordX = texelCoordX / uMainResolution;"," Samples samplesX = getColorSamples(texCoordX);"," return mixSamples(samples0, samplesX, abs(dTexelCoord.x));"," }"," Tile tileX = getLayerData(layerTexCoord + (offsets * vec2(1.0, 0.0) - dTexelCoord) / wh / uLayerResolution);"," vec2 texelCoordX = getTileTexelCoord(tileX);"," vec2 texCoordX = texelCoordX / uMainResolution;"," Samples samplesX = getColorSamples(texCoordX);"," Tile tileY = getLayerData(layerTexCoord + (offsets * vec2(0.0, 1.0) - dTexelCoord) / wh / uLayerResolution);"," vec2 texelCoordY = getTileTexelCoord(tileY);"," vec2 texCoordY = texelCoordY / uMainResolution;"," Samples samplesY = getColorSamples(texCoordY);"," Tile tileXY = getLayerData(layerTexCoord + (offsets - dTexelCoord) / wh / uLayerResolution);"," vec2 texelCoordXY = getTileTexelCoord(tileXY);"," vec2 texCoordXY = texelCoordXY / uMainResolution;"," Samples samplesXY = getColorSamples(texCoordXY);"," Samples samples1 = mixSamples(samples0, samplesX, abs(dTexelCoord.x));"," Samples samples2 = mixSamples(samplesY, samplesXY, abs(dTexelCoord.x));"," return mixSamples(samples1, samples2, abs(dTexelCoord.y));"," }"," #endif","}","void main ()","{"," vec2 layerTexCoord = outTexCoord;"," Tile tile = getLayerData(layerTexCoord);"," Samples samples = getFinalSamples(tile, layerTexCoord);"," vec4 fragColor = samples.color;"," #pragma phaserTemplate(declareSamples)"," #pragma phaserTemplate(fragmentProcess)"," fragColor *= uAlpha;"," gl_FragColor = fragColor;","}"].join(` +`)},23879:E=>{E.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#pragma phaserTemplate(vertexDefine)","uniform mat4 uProjectionMatrix;","uniform vec2 uResolution;","uniform vec4 uTileWidthHeightMarginSpacing;","attribute vec2 inPosition;","attribute vec2 inTexCoord;","varying vec2 outTexCoord;","varying vec2 outTileStride;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(vertexHeader)","void main ()","{"," gl_Position = uProjectionMatrix * vec4(inPosition, 1.0, 1.0);"," outTexCoord = inTexCoord;"," outTileStride = uTileWidthHeightMarginSpacing.xy + uTileWidthHeightMarginSpacing.zz;"," #pragma phaserTemplate(vertexProcess)","}"].join(` +`)},84639:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return{name:n+"Anims",additions:{fragmentDefine:`#undef MAX_ANIM_FRAMES +#define MAX_ANIM_FRAMES `+n},tags:["MAXANIMS"],disable:!!m}};E.exports=y},67155:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(84547),S=function(x){return{name:"ApplyFlatLighting",additions:{fragmentHeader:m,fragmentProcess:"fragColor = applyLighting(fragColor, vec3(0.0, 0.0, 1.0));"},tags:["LIGHTING"],disable:!!x}};E.exports=S},81084:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(84547),S=function(x){return{name:"ApplyLighting",additions:{fragmentHeader:m,fragmentProcess:"fragColor = applyLighting(fragColor, normal);"},tags:["LIGHTING"],disable:!!x}};E.exports=S},44349:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(11104),S=function(x){return{name:"Tint",additions:{fragmentHeader:m,fragmentProcess:"fragColor = applyTint(fragColor);"},tags:["TINT"],disable:!!x}};E.exports=S},99501:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(81556),S=function(x){return{name:"BoundedSampler",additions:{fragmentHeader:m},disable:!!x}};E.exports=S},6184:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(11719),S=function(x){return{name:"DefineLights",additions:{fragmentDefine:"#define LIGHT_COUNT 1",fragmentHeader:m},tags:["LIGHTING"],disable:!!x}};E.exports=S},11653:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return{name:n+"TexCount",additions:{fragmentDefine:"#define TEXTURE_COUNT "+n},tags:["TexCount"],disable:!!m}};E.exports=y},13198:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return{name:"FlatNormal",additions:{fragmentProcess:"vec3 normal = vec3(0.0, 0.0, 1.0);"},tags:["LIGHTING"],disable:!!n}};E.exports=y},40829:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(84220),S=function(x){return{name:"NormalMap",additions:{fragmentHeader:m,fragmentProcess:"vec3 normal = getNormalFromMap(texCoord);"},tags:["LIGHTING"],disable:!!x}};E.exports=S},42792:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return{name:"TexCoordOut",additions:{fragmentProcess:`vec2 texCoord = outTexCoord; +#pragma phaserTemplate(texCoord)`},tags:["TEXCOORD"],disable:!!n}};E.exports=y},96049:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(2860),S=function(x){return{name:"GetTexRes",additions:{fragmentHeader:m},tags:["TEXRES"],disable:!!x}};E.exports=S},33997:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(46432),S=function(x,h){x===void 0&&(x=1);for(var d="",t=1;t{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return{name:"OutFrame",additions:{vertexHeader:"attribute vec4 inFrame;",vertexProcess:"outFrame = inFrame;",outVariables:"varying vec4 outFrame;"},disable:!!n}};E.exports=y},79532:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(62807),S=function(x){return{name:"OutInverseRotation",additions:{vertexHeader:"uniform vec4 uCamera;",vertexProcess:m,outVariables:"varying mat3 outInverseRotationMatrix;"},tags:["LIGHTING"],disable:!!x}};E.exports=S},65217:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return{name:"RotDatum",additions:{vertexProcess:"float rotation = inTexDatum;"},tags:["LIGHTING"],disable:!!n}};E.exports=y},747:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return{name:"SampleNormal",additions:{defineSamples:"vec4 normal;",getSamples:"samples.normal = texture2D(uNormSampler, texCoord);",mixSamples:"samples.normal = mix(samples1.normal, samples2.normal, alpha);",declareSamples:"vec3 normal = normalize(samples.normal.rgb * 2.0 - 1.0);"},tags:["LIGHTING"],disable:!!n}};E.exports=y},74505:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(78390),S=function(x){return{name:"SmoothPixelArt",additions:{extensions:"#extension GL_OES_standard_derivatives : enable",fragmentHeader:m,texCoord:"texCoord = getBlockyTexCoord(texCoord, getTexRes());"},disable:!!x}};E.exports=S},44832:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(14030),S=function(x){return{name:"TexCoordFrameClamp",additions:{fragmentHeader:m,texCoord:"texCoord = clampTexCoordWithinFrame(texCoord);"},disable:!!x}};E.exports=S},23295:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return{name:"TexCoordFrameWrap",additions:{texCoord:`// Wrap texture coordinate into the UV space of the texture frame. +texCoord = mod(texCoord, 1.0) * outFrame.zw + outFrame.xy;`},disable:!!n}};E.exports=y},83786:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={MakeAnimLength:n(84639),MakeApplyFlatLighting:n(67155),MakeApplyLighting:n(81084),MakeApplyTint:n(44349),MakeBoundedSampler:n(99501),MakeDefineLights:n(6184),MakeDefineTexCount:n(11653),MakeFlatNormal:n(13198),MakeGetNormalFromMap:n(40829),MakeGetTexCoordOut:n(42792),MakeGetTexRes:n(96049),MakeGetTexture:n(33997),MakeOutFrame:n(10455),MakeOutInverseRotation:n(79532),MakeRotationDatum:n(65217),MakeSampleNormal:n(747),MakeSmoothPixelArt:n(74505),MakeTexCoordFrameClamp:n(44832),MakeTexCoordFrameWrap:n(23295)}},89350:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2023 Photon Storm Ltd. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={ApplyLighting:n(84547),ApplyTint:n(11104),BoundedSampler:n(81556),ColorMatrixFrag:n(96293),DefineBlockyTexCoord:n(78390),DefineLights:n(11719),DefineTexCoordFrameClamp:n(14030),FilterBarrelFrag:n(10235),FilterBlendFrag:n(65980),FilterBlockyFrag:n(5899),FilterBlurHighFrag:n(20784),FilterBlurLowFrag:n(65122),FilterBlurMedFrag:n(60942),FilterBokehFrag:n(43722),FilterColorMatrixFrag:n(19883),FilterDisplacementFrag:n(12886),FilterGlowFrag:n(33016),FilterMaskFrag:n(39603),FilterPixelateFrag:n(99191),FilterShadowFrag:n(69355),FilterThresholdFrag:n(92636),FlatFrag:n(73416),FlatVert:n(91627),GetNormalFromMap:n(84220),GetTexRes:n(2860),GetTexture:n(46432),MultiFrag:n(98840),MultiVert:n(44667),OutInverseRotation:n(62807),PointLightFrag:n(4127),PointLightVert:n(89924),ShaderQuadFrag:n(72823),ShaderQuadVert:n(65884),SimpleTextureVert:n(2807),SpriteGPULayerFrag:n(49119),SpriteGPULayerVert:n(3524),TilemapGPULayerFrag:n(57532),TilemapGPULayerVert:n(23879)}},26128:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h,d,t,e){this.renderer=h,this.webGLBuffer=null,this.dataBuffer=d,this.viewF32=null,this.viewU8=new Uint8Array(d),this.viewU16=null,this.viewU32=null,this.bufferType=t,this.bufferUsage=e,this.createViews(),this.createResource()},createResource:function(){var x=this.renderer.gl,h=this.bufferType,d=x.createBuffer();this.webGLBuffer=d,this.bind(),x.bufferData(h,this.dataBuffer,this.bufferUsage),this.bind(!0)},bind:function(x){var h=this.renderer.gl,d=this.bufferType,t=x?null:this;d===h.ARRAY_BUFFER?this.renderer.glWrapper.updateBindingsArrayBuffer({bindings:{arrayBuffer:t}}):d===h.ELEMENT_ARRAY_BUFFER&&this.renderer.glWrapper.updateBindingsElementArrayBuffer({bindings:{elementArrayBuffer:t}})},update:function(x,h){var d=this.renderer.gl;this.bind(),h===void 0&&(h=0),x===void 0?d.bufferSubData(this.bufferType,h,this.dataBuffer):d.bufferSubData(this.bufferType,h,this.viewU8.subarray(h,h+x))},resize:function(x){var h=this.renderer.gl;this.dataBuffer=new ArrayBuffer(x),this.createViews(),this.bind(),h.bufferData(this.bufferType,this.dataBuffer,this.bufferUsage)},createViews:function(){var x=this.dataBuffer;this.viewF32=null,x.byteLength%Float32Array.BYTES_PER_ELEMENT===0&&(this.viewF32=new Float32Array(x)),this.viewU8=new Uint8Array(x),this.viewU16=null,x.byteLength%Uint16Array.BYTES_PER_ELEMENT===0&&(this.viewU16=new Uint16Array(x)),this.viewU32=null,x.byteLength%Uint32Array.BYTES_PER_ELEMENT===0&&(this.viewU32=new Uint32Array(x))},destroy:function(){this.renderer.gl.deleteBuffer(this.webGLBuffer),this.webGLBuffer=null,this.dataBuffer=null,this.viewF32=null,this.viewU8=null,this.viewU16=null,this.viewU32=null,this.renderer=null}});E.exports=S},84387:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S={36054:"Incomplete Attachment",36055:"Missing Attachment",36057:"Incomplete Dimensions",36061:"Framebuffer Unsupported"},x=new m({initialize:function(d,t,e,l){var i=d.gl;if(this.webGLFramebuffer=null,this.renderer=d,this.useCanvas=!t||t.length===0,this.width=0,this.height=0,this.attachments=[],!this.useCanvas){for(var s=0;s{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(53314),x=new m({initialize:function(d){this.renderer=d,this.state=S.getDefault(d)},update:function(h,d,t){if(h===void 0){if(!d)return;h=this.state}d===void 0&&(d=!1),t===void 0&&(t=!1),h.vao!==void 0&&!t&&this.updateVAO(h,d),h.bindings!==void 0&&this.updateBindings(h,d),h.blend!==void 0&&this.updateBlend(h,d),h.colorClearValue!==void 0&&this.updateColorClearValue(h,d),h.colorWritemask!==void 0&&this.updateColorWritemask(h,d),h.cullFace!==void 0&&this.updateCullFace(h,d),h.depthTest!==void 0&&this.updateDepthTest(h,d),h.scissor!==void 0&&this.updateScissor(h,d),h.stencil!==void 0&&this.updateStencil(h,d),h.texturing!==void 0&&this.updateTexturing(h,d),h.viewport!==void 0&&this.updateViewport(h,d),h.vao!==void 0&&t&&this.updateVAO(h,d)},updateBindings:function(h,d){var t=h.bindings;t.activeTexture!==void 0&&this.updateBindingsActiveTexture(h,d),t.arrayBuffer!==void 0&&this.updateBindingsArrayBuffer(h,d),t.elementArrayBuffer!==void 0&&this.updateBindingsElementArrayBuffer(h,d),t.framebuffer!==void 0&&this.updateBindingsFramebuffer(h,d),t.program!==void 0&&this.updateBindingsProgram(h,d),t.renderbuffer!==void 0&&this.updateBindingsRenderbuffer(h,d)},updateBindingsActiveTexture:function(h,d){var t=h.bindings.activeTexture,e=t!==this.state.bindings.activeTexture;if(e&&(this.state.bindings.activeTexture=t),e||d){var l=this.renderer.gl;l.activeTexture(l.TEXTURE0+t)}},updateBindingsArrayBuffer:function(h,d){var t=h.bindings.arrayBuffer,e=this.renderer.gl;if(t!==null&&t.bufferType!==e.ARRAY_BUFFER)throw new Error("Invalid buffer type for ARRAY_BUFFER");var l=t!==this.state.bindings.arrayBuffer;if(l&&(this.state.bindings.arrayBuffer=t),l||d){var i=t?t.webGLBuffer:null;e.bindBuffer(e.ARRAY_BUFFER,i)}},updateBindingsElementArrayBuffer:function(h,d){var t=h.bindings.elementArrayBuffer,e=this.renderer.gl;if(t!==null&&t.bufferType!==e.ELEMENT_ARRAY_BUFFER)throw new Error("Invalid buffer type for ELEMENT_ARRAY_BUFFER");var l=t!==this.state.bindings.elementArrayBuffer;if(l&&(this.state.bindings.elementArrayBuffer=t),l||d){var i=t?t.webGLBuffer:null;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,i)}},updateBindingsFramebuffer:function(h,d){var t=h.bindings.framebuffer,e=t!==this.state.bindings.framebuffer;if(e&&(this.state.bindings.framebuffer=t),e||d){var l=this.renderer.gl,i=t?t.webGLFramebuffer:null;l.bindFramebuffer(l.FRAMEBUFFER,i)}},updateBindingsProgram:function(h,d){var t=h.bindings.program,e=t!==this.state.bindings.program;if(e&&(this.state.bindings.program=t),e||d){var l=t?t.webGLProgram:null;this.renderer.gl.useProgram(l)}},updateBindingsRenderbuffer:function(h,d){var t=h.bindings.renderbuffer,e=t!==this.state.bindings.renderbuffer;if(e&&(this.state.bindings.renderbuffer=t),e||d){var l=this.renderer.gl,i=t||null;l.bindRenderbuffer(l.RENDERBUFFER,i)}},updateBlend:function(h,d){var t=h.blend;t.enabled!==void 0&&this.updateBlendEnabled(h,d),t.color!==void 0&&this.updateBlendColor(h,d),t.equation!==void 0&&this.updateBlendEquation(h,d),t.func!==void 0&&this.updateBlendFunc(h,d)},updateBlendColor:function(h,d){var t=h.blend.color,e=t[0],l=t[1],i=t[2],s=t[3],r=e!==this.state.blend.color[0]||l!==this.state.blend.color[1]||i!==this.state.blend.color[2]||s!==this.state.blend.color[3];r&&(this.state.blend.color=[e,l,i,s]),(r||d)&&this.renderer.gl.blendColor(e,l,i,s)},updateBlendEnabled:function(h,d){var t=h.blend.enabled,e=t!==this.state.blend.enabled;if(e&&(this.state.blend.enabled=t),e||d){var l=this.renderer.gl;t?l.enable(l.BLEND):l.disable(l.BLEND)}},updateBlendEquation:function(h,d){var t=h.blend.equation,e=t[0]!==this.state.blend.equation[0]||t[1]!==this.state.blend.equation[1];e&&(this.state.blend.equation=[t[0],t[1]]),(e||d)&&this.renderer.gl.blendEquationSeparate(t[0],t[1])},updateBlendFunc:function(h,d){var t=h.blend.func,e=t[0]!==this.state.blend.func[0]||t[1]!==this.state.blend.func[1]||t[2]!==this.state.blend.func[2]||t[3]!==this.state.blend.func[3];e&&(this.state.blend.func=[t[0],t[1],t[2],t[3]]),(e||d)&&this.renderer.gl.blendFuncSeparate(t[0],t[1],t[2],t[3])},updateColorClearValue:function(h,d){var t=h.colorClearValue,e=t[0],l=t[1],i=t[2],s=t[3],r=e!==this.state.colorClearValue[0]||l!==this.state.colorClearValue[1]||i!==this.state.colorClearValue[2]||s!==this.state.colorClearValue[3];r&&(this.state.colorClearValue=[e,l,i,s]),(r||d)&&this.renderer.gl.clearColor(e,l,i,s)},updateColorWritemask:function(h,d){var t=h.colorWritemask,e=t[0],l=t[1],i=t[2],s=t[3],r=e!==this.state.colorWritemask[0]||l!==this.state.colorWritemask[1]||i!==this.state.colorWritemask[2]||s!==this.state.colorWritemask[3];r&&(this.state.colorWritemask=[e,l,i,s]),(r||d)&&this.renderer.gl.colorMask(e,l,i,s)},updateCullFace:function(h,d){var t=!!h.cullFace,e=t!==this.state.cullFace;if(e&&(this.state.cullFace=t),e||d){var l=this.renderer.gl;t?l.enable(l.CULL_FACE):l.disable(l.CULL_FACE)}},updateDepthTest:function(h,d){var t=!!h.depthTest,e=t!==this.state.depthTest;if(e&&(this.state.depthTest=t),e||d){var l=this.renderer.gl;t?l.enable(l.DEPTH_TEST):l.disable(l.DEPTH_TEST)}},updateScissor:function(h,d){var t=h.scissor;t.enable!==void 0&&this.updateScissorEnabled(h,d),t.box!==void 0&&this.updateScissorBox(h,d)},updateScissorEnabled:function(h,d){var t=h.scissor.enable,e=t!==this.state.scissor.enable;if(e&&(this.state.scissor.enable=t),e||d){var l=this.renderer.gl;t?l.enable(l.SCISSOR_TEST):l.disable(l.SCISSOR_TEST)}},updateScissorBox:function(h,d){var t=h.scissor.box,e=t[0],l=t[1],i=t[2],s=t[3],r=e!==this.state.scissor.box[0]||l!==this.state.scissor.box[1]||i!==this.state.scissor.box[2]||s!==this.state.scissor.box[3];r&&(this.state.scissor.box=[e,l,i,s]),(r||d)&&this.renderer.gl.scissor(e,l,i,s)},updateStencil:function(h,d){var t=h.stencil;t.clear!==void 0&&this.updateStencilClear(h,d),t.enabled!==void 0&&this.updateStencilEnabled(h,d),t.func!==void 0&&this.updateStencilFunc(h,d),t.op!==void 0&&this.updateStencilOp(h,d)},updateStencilClear:function(h,d){var t=h.stencil.clear,e=t!==this.state.stencil.clear;e&&(this.state.stencil.clear=t),(e||d)&&this.renderer.gl.clearStencil(t)},updateStencilEnabled:function(h,d){var t=h.stencil.enabled,e=t!==this.state.stencil.enabled;if(e&&(this.state.stencil.enabled=t),e||d){var l=this.renderer.gl;t?l.enable(l.STENCIL_TEST):l.disable(l.STENCIL_TEST)}},updateStencilFunc:function(h,d){var t=h.stencil.func,e=t.func!==this.state.stencil.func.func||t.ref!==this.state.stencil.func.ref||t.mask!==this.state.stencil.func.mask;if(e&&(this.state.stencil.func={func:t.func,ref:t.ref,mask:t.mask}),e||d){var l=this.renderer.gl;l.stencilFunc(t.func,t.ref,t.mask)}},updateStencilOp:function(h,d){var t=h.stencil.op,e=t.fail!==this.state.stencil.op.fail||t.zfail!==this.state.stencil.op.zfail||t.zpass!==this.state.stencil.op.zpass;if(e&&(this.state.stencil.op={fail:t.fail,zfail:t.zfail,zpass:t.zpass}),e||d){var l=this.renderer.gl;l.stencilOp(t.fail,t.zfail,t.zpass)}},updateTexturing:function(h,d){var t=h.texturing;t.flipY!==void 0&&this.updateTexturingFlipY(h,d),t.premultiplyAlpha!==void 0&&this.updateTexturingPremultiplyAlpha(h,d)},updateTexturingFlipY:function(h,d){var t=h.texturing.flipY,e=t!==this.state.texturing.flipY;if(e&&(this.state.texturing.flipY=t),e||d){var l=this.renderer.gl;l.pixelStorei(l.UNPACK_FLIP_Y_WEBGL,t)}},updateTexturingPremultiplyAlpha:function(h,d){var t=h.texturing.premultiplyAlpha,e=t!==this.state.texturing.premultiplyAlpha;if(e&&(this.state.texturing.premultiplyAlpha=t),e||d){var l=this.renderer.gl;l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t)}},updateVAO:function(h,d){var t=h.vao,e=t!==this.state.vao;if(e&&(this.state.vao=t),e||d){var l=this.renderer.gl;t?l.bindVertexArray(t.vertexArrayObject):l.bindVertexArray(null)}},updateViewport:function(h,d){var t=h.viewport,e=t[0],l=t[1],i=t[2],s=t[3],r=e!==this.state.viewport[0]||l!==this.state.viewport[1]||i!==this.state.viewport[2]||s!==this.state.viewport[3];r&&(this.state.viewport=[e,l,i,s]),(r||d)&&this.renderer.gl.viewport(e,l,i,s)}});E.exports=x},1482:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(90330),S=n(83419);function x(d,t){return!(d===t||(Number.isNaN(d)||d===void 0)&&(Number.isNaN(t)||t===void 0))}var h=new S({initialize:function(t,e,l){this.renderer=t,this.webGLProgram=null,this.compiling=!1,this._compileStartTime=0,this.compileTimeMs=0,this.glState={bindings:{program:this}},this.vertexSource=e,this.fragmentSource=l,this._vertexShader=null,this._fragmentShader=null,this.glAttributes=[],this.glAttributeNames=new m,this.glAttributeBuffer=null,this.glUniforms=new m,this.uniformRequests=new m,this.createResource()},createResource:function(){var d=this.renderer,t=d.gl;if(this.glAttributeBuffer=null,!t.isContextLost()){this.compiling=!0,this._compileStartTime=performance.now(),d.glWrapper.state.bindings.program===this&&d.glWrapper.updateBindingsProgram({bindings:{program:null}});var e=t.createProgram();this.webGLProgram=e;var l=t.createShader(t.VERTEX_SHADER),i=t.createShader(t.FRAGMENT_SHADER);this._vertexShader=l,this._fragmentShader=i,t.shaderSource(l,this.vertexSource),t.shaderSource(i,this.fragmentSource),t.compileShader(l),t.compileShader(i),t.attachShader(e,l),t.attachShader(e,i),t.linkProgram(e),d.game.config.skipUnreadyShaders||this._completeProgram()}},checkParallelCompile:function(){var d=this.renderer,t=d.gl,e=d.parallelShaderCompileExtension;!e||!t.getProgramParameter(this.webGLProgram,e.COMPLETION_STATUS_KHR)||this._completeProgram()},_completeProgram:function(){var d=this.webGLProgram,t=this.renderer,e=t.gl,l=this._vertexShader,i=this._fragmentShader,s=`Shader failed: +`;if(!e.getProgramParameter(d,e.LINK_STATUS))throw e.getShaderParameter(l,e.COMPILE_STATUS)?e.getShaderParameter(i,e.COMPILE_STATUS)?(console.log(this.vertexSource,this.fragmentSource),new Error("Link Shader failed:"+e.getProgramInfoLog(d))):(console.log(this.fragmentSource),new Error("Fragment "+s+e.getShaderInfoLog(i))):(console.log(this.vertexSource),new Error("Vertex "+s+e.getShaderInfoLog(l)));this._setupAttributesAndUniforms(),this.compileTimeMs=performance.now()-this._compileStartTime,this.compiling=!1},_setupAttributesAndUniforms:function(){var d=this.webGLProgram,t=this.renderer,e=t.gl,l=this;this.glAttributeNames.clear(),this.glAttributes.length=0;for(var i=e.getProgramParameter(d,e.ACTIVE_ATTRIBUTES),s=0;s1&&(v=f.baseType===e.FLOAT?new Float32Array(c):new Int32Array(c)),this.glUniforms.set(u.name,{location:e.getUniformLocation(d,u.name),size:u.size,type:u.type,value:v})}},setUniform:function(d,t){this.uniformRequests.set(d,t)},bind:function(){this.renderer.glWrapper.updateBindingsProgram(this.glState),this.uniformRequests.each(this._processUniformRequest.bind(this)),this.uniformRequests.clear()},_processUniformRequest:function(d,t){var e=this.renderer,l=e.gl,i=this.glUniforms.get(d);if(i){var s=i.value;if(s.length){for(var r=!1,o=0;o1)v.setV.call(l,a,s);else switch(v.size){case 1:v.set.call(l,a,t);break;case 2:v.set.call(l,a,t[0],t[1]);break;case 3:v.set.call(l,a,t[0],t[1],t[2]);break;case 4:v.set.call(l,a,t[0],t[1],t[2],t[3]);break}}},destroy:function(){if(this.webGLProgram){var d=this.renderer.gl;if(!d.isContextLost()){this._vertexShader&&d.deleteShader(this._vertexShader),this._fragmentShader&&d.deleteShader(this._fragmentShader),d.deleteProgram(this.webGLProgram);for(var t=0;t{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h){var d=h.gl;this.constants={5124:{constant:d.INT,baseType:d.INT,size:1,bytes:4,set:d.uniform1i,setV:d.uniform1iv,isMatrix:!1},35667:{constant:d.INT_VEC2,baseType:d.INT,size:2,bytes:4,set:d.uniform2i,setV:d.uniform2iv,isMatrix:!1},35668:{constant:d.INT_VEC3,baseType:d.INT,size:3,bytes:4,set:d.uniform3i,setV:d.uniform3iv,isMatrix:!1},35669:{constant:d.INT_VEC4,baseType:d.INT,size:4,bytes:4,set:d.uniform4i,setV:d.uniform4iv,isMatrix:!1},5126:{constant:d.FLOAT,baseType:d.FLOAT,size:1,bytes:4,set:d.uniform1f,setV:d.uniform1fv,isMatrix:!1},35664:{constant:d.FLOAT_VEC2,baseType:d.FLOAT,size:2,bytes:4,set:d.uniform2f,setV:d.uniform2fv,isMatrix:!1},35665:{constant:d.FLOAT_VEC3,baseType:d.FLOAT,size:3,bytes:4,set:d.uniform3f,setV:d.uniform3fv,isMatrix:!1},35666:{constant:d.FLOAT_VEC4,baseType:d.FLOAT,size:4,bytes:4,set:d.uniform4f,setV:d.uniform4fv,isMatrix:!1},5125:{constant:d.UNSIGNED_INT,baseType:d.UNSIGNED_INT,size:1,bytes:4,set:d.uniform1i,setV:d.uniform1iv,isMatrix:!1},5120:{constant:d.BYTE,baseType:d.BYTE,size:1,bytes:1,set:d.uniform1i,setV:d.uniform1iv,isMatrix:!1},5121:{constant:d.UNSIGNED_BYTE,baseType:d.UNSIGNED_BYTE,size:1,bytes:1,set:d.uniform1i,setV:d.uniform1iv,isMatrix:!1},5122:{constant:d.SHORT,baseType:d.SHORT,size:1,bytes:2,set:d.uniform1i,setV:d.uniform1iv,isMatrix:!1},5123:{constant:d.UNSIGNED_SHORT,baseType:d.UNSIGNED_SHORT,size:1,bytes:2,set:d.uniform1i,setV:d.uniform1iv,isMatrix:!1},35670:{constant:d.BOOL,baseType:d.BOOL,size:1,bytes:4,set:d.uniform1i,setV:d.uniform1iv,isMatrix:!1},35671:{constant:d.BOOL_VEC2,baseType:d.BOOL,size:2,bytes:4,set:d.uniform2i,setV:d.uniform2iv,isMatrix:!1},35672:{constant:d.BOOL_VEC3,baseType:d.BOOL,size:3,bytes:4,set:d.uniform3i,setV:d.uniform3iv,isMatrix:!1},35673:{constant:d.BOOL_VEC4,baseType:d.BOOL,size:4,bytes:4,set:d.uniform4i,setV:d.uniform4iv,isMatrix:!1},35674:{constant:d.FLOAT_MAT2,baseType:d.FLOAT,size:4,bytes:4,set:d.uniformMatrix2fv,setV:d.uniformMatrix2fv,isMatrix:!0},35675:{constant:d.FLOAT_MAT3,baseType:d.FLOAT,size:9,bytes:4,set:d.uniformMatrix3fv,setV:d.uniformMatrix3fv,isMatrix:!0},35676:{constant:d.FLOAT_MAT4,baseType:d.FLOAT,size:16,bytes:4,set:d.uniformMatrix4fv,setV:d.uniformMatrix4fv,isMatrix:!0},35678:{constant:d.SAMPLER_2D,baseType:d.INT,size:1,bytes:4,set:d.uniform1i,setV:d.uniform1iv,isMatrix:!1},35680:{constant:d.SAMPLER_CUBE,baseType:d.INT,size:1,bytes:4,set:d.uniform1i,setV:d.uniform1iv,isMatrix:!1}}}});E.exports=S},13760:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h){this.renderer=h,this.units=[],this.unitIndices=[],this.init()},init:function(){var x=this.renderer.gl;this.units.length=0,this.unitIndices.length=0;for(var h=x.createTexture(),d=this.renderer.maxTextures-1;d>=0;d--)this.units[d]=void 0,this.renderer.glWrapper.updateBindingsActiveTexture({bindings:{activeTexture:d}}),x.bindTexture(x.TEXTURE_2D,h),this.unitIndices[d]=d;x.texImage2D(x.TEXTURE_2D,0,x.RGBA,1,1,0,x.RGBA,x.UNSIGNED_BYTE,new Uint8Array([0,0,255,255]))},bind:function(x,h,d,t){var e=this.units[h]!==x;if((d||t!==!1||e)&&this.renderer.glWrapper.updateBindingsActiveTexture({bindings:{activeTexture:h}},d),!(!e&&!d)){this.units[h]=x;var l=x?x.webGLTexture:null,i=this.renderer.gl;i.bindTexture(i.TEXTURE_2D,l)}},bindUnits:function(x,h){for(var d=Math.min(x.length,this.renderer.maxTextures),t=d-1;t>=0;t--)x[t]!==void 0&&this.bind(x[t],t,h,!1)},unbindTexture:function(x){for(var h=this.units.length-1;h>=0;h--)this.units[h]===x&&this.bind(null,h,!0,!1)},unbindAllUnits:function(){for(var x=this.units.length-1;x>=0;x--)this.bind(null,x,!0,!1)}});E.exports=S},82751:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(50030),x=new m({initialize:function(d,t,e,l,i,s,r,o,a,u,f,v,c){c===void 0&&(c=!0),this.renderer=d,this.webGLTexture=null,this.isRenderTexture=!1,this.mipLevel=t,this.minFilter=e,this.magFilter=l,this.wrapT=i,this.wrapS=s,this.format=r,this.pixels=o,this.width=a,this.height=u,this.pma=f??!0,this.forceSize=!!v,this.flipY=!!c,this.__SPECTOR_Metadata={},this.batchUnit=-1,this.createResource()},createResource:function(){var h=this.renderer.gl;if(!h.isContextLost()){if(this.pixels instanceof x){this.webGLTexture=this.pixels.webGLTexture;return}var d=h.createTexture();d.__SPECTOR_Metadata=this.__SPECTOR_Metadata,this.webGLTexture=d,this._processTexture()}},resize:function(h,d){this.width===h&&this.height===d||(this.width=h,this.height=d,this._processTexture())},update:function(h,d,t,e,l,i,s,r,o){d===0||t===0||(this.pixels=h,this.width=d,this.height=t,this.flipY=e,this.wrapS=l,this.wrapT=i,this.minFilter=s,this.magFilter=r,this.format=o,this._processTexture())},_processTexture:function(){var h=this.renderer.gl;this.renderer.glTextureUnits.bind(this,0),this.renderer.glWrapper.updateTexturing({texturing:{flipY:this.flipY,premultiplyAlpha:this.pma}}),h.texParameteri(h.TEXTURE_2D,h.TEXTURE_MIN_FILTER,this.minFilter),h.texParameteri(h.TEXTURE_2D,h.TEXTURE_MAG_FILTER,this.magFilter),h.texParameteri(h.TEXTURE_2D,h.TEXTURE_WRAP_S,this.wrapS),h.texParameteri(h.TEXTURE_2D,h.TEXTURE_WRAP_T,this.wrapT);var d=this.pixels,t=this.mipLevel,e=this.width,l=this.height,i=this.format,s=!1;if(d==null)h.texImage2D(h.TEXTURE_2D,t,i,e,l,0,i,h.UNSIGNED_BYTE,null),s=S(e,l);else if(d.compressed){e=d.width,l=d.height,s=d.generateMipmap;for(var r=0;r{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h,d,t,e){this.renderer=h,this.program=d,this.vertexArrayObject=null,this.indexBuffer=t,this.attributeBufferLayouts=e,this.glState={vao:this},this.createResource()},createResource:function(){var x=this.renderer.gl;this.vertexArrayObject=x.createVertexArray(),this.bind(),this.indexBuffer&&this.indexBuffer.bind();for(var h=this.program,d=h.glAttributes,t=h.glAttributeNames,e=0;e{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h,d,t){this.renderer=h,this.layout=d,this.completeLayout(d);var e=d.stride*d.count;if(t&&t.byteLength{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m={WebGLGlobalWrapper:n(37959),WebGLBufferWrapper:n(26128),WebGLProgramWrapper:n(1482),WebGLShaderSetterWrapper:n(86272),WebGLTextureWrapper:n(82751),WebGLTextureUnitsWrapper:n(13760),WebGLFramebufferWrapper:n(84387),WebGLVAOWrapper:n(85788),WebGLVertexBufferLayoutWrapper:n(40952)};E.exports=m},76531:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(13560),S=n(83419),x=n(45319),h=n(50792),d=n(97480),t=n(8443),e=n(57811),l=n(74403),i=n(45818),s=n(29747),r=n(87841),o=n(86555),a=n(56583),u=n(26099),f=n(38058),v=new S({Extends:h,initialize:function(g){h.call(this),this.game=g,this.canvas,this.canvasBounds=new r,this.parent=null,this.parentIsWindow=!1,this.parentSize=new o,this.gameSize=new o,this.baseSize=new o,this.displaySize=new o,this.scaleMode=m.SCALE_MODE.NONE,this.zoom=1,this._resetZoom=!1,this.displayScale=new u(1,1),this.autoRound=!1,this.autoCenter=m.CENTER.NO_CENTER,this.orientation=m.ORIENTATION.LANDSCAPE,this.fullscreen,this.fullscreenTarget=null,this._createdFullscreenTarget=!1,this.dirty=!1,this.resizeInterval=500,this._lastCheck=0,this._checkOrientation=!1,this.domlisteners={orientationChange:s,windowResize:s,fullScreenChange:s,fullScreenError:s}},preBoot:function(){this.parseConfig(this.game.config),this.game.events.once(t.BOOT,this.boot,this)},boot:function(){var c=this.game;this.canvas=c.canvas,this.fullscreen=c.device.fullscreen;var g=this.scaleMode;g!==m.SCALE_MODE.RESIZE&&g!==m.SCALE_MODE.EXPAND&&this.displaySize.setAspectMode(g),g===m.SCALE_MODE.NONE?this.resize(this.width,this.height):(this.getParentBounds(),this.parentSize.width>0&&this.parentSize.height>0&&this.displaySize.setParent(this.parentSize),this.refresh()),c.events.on(t.PRE_STEP,this.step,this),c.events.once(t.READY,this.refresh,this),c.events.once(t.DESTROY,this.destroy,this),this.startListeners()},parseConfig:function(c){this.getParent(c),this.getParentBounds();var g=c.width,p=c.height,T=c.scaleMode,C=c.zoom,M=c.autoRound;if(typeof g=="string")if(g.substr(-1)!=="%")g=parseInt(g,10);else{var A=this.parentSize.width;A===0&&(A=window.innerWidth);var R=parseInt(g,10)/100;g=Math.floor(A*R)}if(typeof p=="string")if(p.substr(-1)!=="%")p=parseInt(p,10);else{var P=this.parentSize.height;P===0&&(P=window.innerHeight);var L=parseInt(p,10)/100;p=Math.floor(P*L)}this.scaleMode=T,this.autoRound=M,this.autoCenter=c.autoCenter,this.resizeInterval=c.resizeInterval,M&&(g=Math.floor(g),p=Math.floor(p)),this.gameSize.setSize(g,p),C===m.ZOOM.MAX_ZOOM&&(C=this.getMaxZoom()),this.zoom=C,C!==1&&(this._resetZoom=!0),this.baseSize.setSize(g,p),M&&(this.baseSize.width=Math.floor(this.baseSize.width),this.baseSize.height=Math.floor(this.baseSize.height)),c.minWidth>0&&this.displaySize.setMin(c.minWidth*C,c.minHeight*C),c.maxWidth>0&&this.displaySize.setMax(c.maxWidth*C,c.maxHeight*C),this.displaySize.setSize(g,p),(c.snapWidth>0||c.snapHeight>0)&&this.displaySize.setSnap(c.snapWidth,c.snapHeight),this.orientation=i(g,p)},getParent:function(c){var g=c.parent;if(g!==null){if(this.parent=l(g),this.parentIsWindow=this.parent===document.body,c.expandParent&&c.scaleMode!==m.SCALE_MODE.NONE){var p=this.parent.getBoundingClientRect();(this.parentIsWindow||p.height===0)&&(document.documentElement.style.height="100%",document.body.style.height="100%",p=this.parent.getBoundingClientRect(),!this.parentIsWindow&&p.height===0&&(this.parent.style.overflow="hidden",this.parent.style.width="100%",this.parent.style.height="100%"))}c.fullscreenTarget&&!this.fullscreenTarget&&(this.fullscreenTarget=l(c.fullscreenTarget))}},getParentBounds:function(){if(!this.parent)return!1;var c=this.parentSize,g=this.parent.getBoundingClientRect();this.parentIsWindow&&this.game.device.os.iOS&&(g.height=e(!0));var p=g.width,T=g.height;if(c.width!==p||c.height!==T)return c.setSize(p,T),!0;if(this.canvas){var C=this.canvasBounds,M=this.canvas.getBoundingClientRect();if(M.x!==C.x||M.y!==C.y)return!0}return!1},lockOrientation:function(c){var g=screen.lockOrientation||screen.mozLockOrientation||screen.msLockOrientation;return g?g.call(screen,c):!1},setParentSize:function(c,g){return this.parentSize.setSize(c,g),this.refresh()},setGameSize:function(c,g){var p=this.autoRound;p&&(c=Math.floor(c),g=Math.floor(g));var T=this.width,C=this.height;return this.gameSize.resize(c,g),this.baseSize.resize(c,g),p&&(this.baseSize.width=Math.floor(this.baseSize.width),this.baseSize.height=Math.floor(this.baseSize.height)),this.displaySize.setAspectRatio(c/g),this.canvas.width=this.baseSize.width,this.canvas.height=this.baseSize.height,this.refresh(T,C)},resize:function(c,g){var p=this.zoom,T=this.autoRound;T&&(c=Math.floor(c),g=Math.floor(g));var C=this.width,M=this.height;this.gameSize.resize(c,g),this.baseSize.resize(c,g),T&&(this.baseSize.width=Math.floor(this.baseSize.width),this.baseSize.height=Math.floor(this.baseSize.height)),this.displaySize.setSize(c*p,g*p),this.canvas.width=this.baseSize.width,this.canvas.height=this.baseSize.height;var A=this.canvas.style,R=c*p,P=g*p;return T&&(R=Math.floor(R),P=Math.floor(P)),(R!==c||P!==g)&&(A.width=R+"px",A.height=P+"px"),this.refresh(C,M)},setZoom:function(c){return this.zoom=c,this._resetZoom=!0,this.refresh()},setMaxZoom:function(){return this.zoom=this.getMaxZoom(),this._resetZoom=!0,this.refresh()},setSnap:function(c,g){return c===void 0&&(c=0),g===void 0&&(g=c),this.displaySize.setSnap(c,g),this.refresh()},refresh:function(c,g){c===void 0&&(c=this.width),g===void 0&&(g=this.height),this.updateScale(),this.updateBounds(),this.updateOrientation(),this.displayScale.set(this.baseSize.width/this.canvasBounds.width,this.baseSize.height/this.canvasBounds.height);var p=this.game.domContainer;if(p){this.baseSize.setCSS(p);var T=this.canvas.style,C=p.style;C.transform="scale("+this.displaySize.width/this.baseSize.width+","+this.displaySize.height/this.baseSize.height+")",C.marginLeft=T.marginLeft,C.marginTop=T.marginTop}return this.emit(d.RESIZE,this.gameSize,this.baseSize,this.displaySize,c,g),this},updateOrientation:function(){if(this._checkOrientation){this._checkOrientation=!1;var c=i(this.width,this.height);c!==this.orientation&&(this.orientation=c,this.emit(d.ORIENTATION_CHANGE,c))}},updateScale:function(){var c=this.canvas.style,g=this.gameSize.width,p=this.gameSize.height,T,C,M=this.zoom,A=this.autoRound;if(this.scaleMode===m.SCALE_MODE.NONE)this.displaySize.setSize(g*M,p*M),T=this.displaySize.width,C=this.displaySize.height,A&&(T=Math.floor(T),C=Math.floor(C)),this._resetZoom&&(c.width=T+"px",c.height=C+"px",this._resetZoom=!1);else if(this.scaleMode===m.SCALE_MODE.RESIZE)this.displaySize.setSize(this.parentSize.width,this.parentSize.height),this.gameSize.setSize(this.displaySize.width,this.displaySize.height),this.baseSize.setSize(this.displaySize.width,this.displaySize.height),T=this.displaySize.width,C=this.displaySize.height,A&&(T=Math.floor(T),C=Math.floor(C)),this.canvas.width=T,this.canvas.height=C;else if(this.scaleMode===m.SCALE_MODE.EXPAND){var R=this.game.config.width,P=this.game.config.height,L=this.parentSize.width,F=this.parentSize.height,w=L/R,O=F/P,B,I;w=0?0:-(C.x*M.x),R=C.y>=0?0:-(C.y*M.y),P;T.width>=C.width?P=p.width:P=p.width-(C.width-T.width)*M.x;var L;return T.height>=C.height?L=p.height:L=p.height-(C.height-T.height)*M.y,g.setTo(A,R,P,L),c&&(g.width/=c.zoomX,g.height/=c.zoomY,g.centerX=c.centerX+c.scrollX,g.centerY=c.centerY+c.scrollY),g},step:function(c,g){this.parent&&(this._lastCheck+=g,(this.dirty||this._lastCheck>this.resizeInterval)&&(this.getParentBounds()&&this.refresh(),this.dirty=!1,this._lastCheck=0))},stopListeners:function(){var c=this.domlisteners;screen.orientation&&screen.orientation.addEventListener?screen.orientation.removeEventListener("change",c.orientationChange,!1):window.removeEventListener("orientationchange",c.orientationChange,!1),window.removeEventListener("resize",c.windowResize,!1);var g=["webkit","moz",""];g.forEach(function(p){document.removeEventListener(p+"fullscreenchange",c.fullScreenChange,!1),document.removeEventListener(p+"fullscreenerror",c.fullScreenError,!1)}),document.removeEventListener("MSFullscreenChange",c.fullScreenChange,!1),document.removeEventListener("MSFullscreenError",c.fullScreenError,!1)},destroy:function(){this.removeAllListeners(),this.stopListeners(),this.game=null,this.canvas=null,this.canvasBounds=null,this.parent=null,this.fullscreenTarget=null,this.parentSize.destroy(),this.gameSize.destroy(),this.baseSize.destroy(),this.displaySize.destroy()},isFullscreen:{get:function(){return this.fullscreen.active}},width:{get:function(){return this.gameSize.width}},height:{get:function(){return this.gameSize.height}},isPortrait:{get:function(){return this.orientation===m.ORIENTATION.PORTRAIT}},isLandscape:{get:function(){return this.orientation===m.ORIENTATION.LANDSCAPE}},isGamePortrait:{get:function(){return this.height>this.width}},isGameLandscape:{get:function(){return this.width>this.height}}});E.exports=v},64743:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={NO_CENTER:0,CENTER_BOTH:1,CENTER_HORIZONTALLY:2,CENTER_VERTICALLY:3}},39218:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={LANDSCAPE:"landscape-primary",LANDSCAPE_SECONDARY:"landscape-secondary",PORTRAIT:"portrait-primary",PORTRAIT_SECONDARY:"portrait-secondary"}},81050:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={NONE:0,WIDTH_CONTROLS_HEIGHT:1,HEIGHT_CONTROLS_WIDTH:2,FIT:3,ENVELOP:4,RESIZE:5,EXPAND:6}},80805:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={NO_ZOOM:1,ZOOM_2X:2,ZOOM_4X:4,MAX_ZOOM:-1}},13560:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m={CENTER:n(64743),ORIENTATION:n(39218),SCALE_MODE:n(81050),ZOOM:n(80805)};E.exports=m},56139:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="enterfullscreen"},2336:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="fullscreenfailed"},47412:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="fullscreenunsupported"},51452:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="leavefullscreen"},20666:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="orientationchange"},47945:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="resize"},97480:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={ENTER_FULLSCREEN:n(56139),FULLSCREEN_FAILED:n(2336),FULLSCREEN_UNSUPPORTED:n(47412),LEAVE_FULLSCREEN:n(51452),ORIENTATION_CHANGE:n(20666),RESIZE:n(47945)}},93364:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(79291),S=n(13560),x={Center:n(64743),Events:n(97480),Orientation:n(39218),ScaleManager:n(76531),ScaleModes:n(81050),Zoom:n(80805)};x=m(!1,x,S.CENTER),x=m(!1,x,S.ORIENTATION),x=m(!1,x,S.SCALE_MODE),x=m(!1,x,S.ZOOM),E.exports=x},27397:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(95540),S=n(35355),x=function(h){var d=h.game.config.defaultPhysicsSystem,t=m(h.settings,"physics",!1);if(!(!d&&!t)){var e=[];if(d&&e.push(S(d+"Physics")),t)for(var l in t)l=S(l.concat("Physics")),e.indexOf(l)===-1&&e.push(l);return e}};E.exports=x},52106:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(95540),S=function(x){var h=x.plugins.getDefaultScenePlugins(),d=m(x.settings,"plugins",!1);return Array.isArray(d)?d:h||[]};E.exports=S},87033:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={game:"game",renderer:"renderer",anims:"anims",cache:"cache",plugins:"plugins",registry:"registry",scale:"scale",sound:"sound",textures:"textures",events:"events",cameras:"cameras",add:"add",make:"make",scenePlugin:"scene",displayList:"children",lights:"lights",data:"data",input:"input",load:"load",time:"time",tweens:"tweens",arcadePhysics:"physics",matterPhysics:"matter"};E.exports=y},97482:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(2368),x=new m({initialize:function(d){this.sys=new S(this,d),this.game,this.anims,this.cache,this.registry,this.sound,this.textures,this.events,this.cameras,this.add,this.make,this.scene,this.children,this.lights,this.data,this.input,this.load,this.time,this.tweens,this.physics,this.matter,this.scale,this.plugins,this.renderer},update:function(){}});E.exports=x},60903:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(89993),x=n(44594),h=n(8443),d=n(35154),t=n(54899),e=n(29747),l=n(97482),i=n(2368),s=new m({initialize:function(o,a){if(this.game=o,this.keys={},this.scenes=[],this._pending=[],this._start=[],this._queue=[],this._data={},this.isProcessing=!1,this.isBooted=!1,this.customViewports=0,this.systemScene,a){Array.isArray(a)||(a=[a]);for(var u=0;u-1&&(delete this.keys[u],this.scenes.splice(a,1),this._start.indexOf(u)>-1&&(a=this._start.indexOf(u),this._start.splice(a,1)),o.sys.destroy()),this},bootScene:function(r){var o=r.sys,a=o.settings;o.sceneUpdate=e,r.init&&(r.init.call(r,a.data),a.status=S.INIT,a.isTransition&&o.events.emit(x.TRANSITION_INIT,a.transitionFrom,a.transitionDuration));var u;o.load&&(u=o.load,u.reset()),u&&r.preload?(r.preload.call(r),a.status=S.LOADING,u.once(t.COMPLETE,this.loadComplete,this),u.start()):this.create(r)},loadComplete:function(r){this.create(r.scene)},payloadComplete:function(r){this.bootScene(r.scene)},update:function(r,o){this.processQueue(),this.isProcessing=!0;for(var a=this.scenes.length-1;a>=0;a--){var u=this.scenes[a].sys;u.settings.status>S.START&&u.settings.status<=S.RUNNING&&u.step(r,o),u.scenePlugin&&u.scenePlugin._target&&u.scenePlugin.step(r,o)}},render:function(r){for(var o=0;o=S.LOADING&&a.settings.status=S.START&&f<=S.CREATING)return this;if(f>=S.RUNNING&&f<=S.SLEEPING)u.shutdown(),u.sceneUpdate=e,u.start(o);else{u.sceneUpdate=e,u.start(o);var v;if(u.load&&(v=u.load),v&&u.settings.hasOwnProperty("pack")&&(v.reset(),v.addPack({payload:u.settings.pack})))return u.settings.status=S.LOADING,v.once(t.COMPLETE,this.payloadComplete,this),v.start(),this}return this.bootScene(a),this},stop:function(r,o){var a=this.getScene(r);if(a&&!a.sys.isTransitioning()&&a.sys.settings.status!==S.SHUTDOWN){var u=a.sys.load;u&&(u.off(t.COMPLETE,this.loadComplete,this),u.off(t.COMPLETE,this.payloadComplete,this)),a.sys.shutdown(o)}return this},switch:function(r,o,a){var u=this.getScene(r),f=this.getScene(o);return u&&f&&u!==f&&(this.sleep(r),this.isSleeping(o)?this.wake(o,a):this.start(o,a)),this},getAt:function(r){return this.scenes[r]},getIndex:function(r){var o=this.getScene(r);return this.scenes.indexOf(o)},bringToTop:function(r){if(this.isProcessing)return this.queueOp("bringToTop",r);var o=this.getIndex(r),a=this.scenes;if(o!==-1&&o0){var a=this.getScene(r);this.scenes.splice(o,1),this.scenes.unshift(a)}return this},moveDown:function(r){if(this.isProcessing)return this.queueOp("moveDown",r);var o=this.getIndex(r);if(o>0){var a=o-1,u=this.getScene(r),f=this.getAt(a);this.scenes[o]=f,this.scenes[a]=u}return this},moveUp:function(r){if(this.isProcessing)return this.queueOp("moveUp",r);var o=this.getIndex(r);if(oa),0,f)}return this},moveBelow:function(r,o){if(r===o)return this;if(this.isProcessing)return this.queueOp("moveBelow",r,o);var a=this.getIndex(r),u=this.getIndex(o);if(a!==-1&&u!==-1&&u>a){var f=this.getAt(u);this.scenes.splice(u,1),a===0?this.scenes.unshift(f):this.scenes.splice(a-(u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(45319),S=n(83419),x=n(44594),h=n(95540),d=n(37277),t=new S({initialize:function(l){this.scene=l,this.systems=l.sys,this.settings=l.sys.settings,this.key=l.sys.settings.key,this.manager=l.sys.game.scene,this.transitionProgress=0,this._elapsed=0,this._target=null,this._duration=0,this._onUpdate,this._onUpdateScope,this._willSleep=!1,this._willRemove=!1,l.sys.events.once(x.BOOT,this.boot,this),l.sys.events.on(x.START,this.pluginStart,this)},boot:function(){this.systems.events.once(x.DESTROY,this.destroy,this)},pluginStart:function(){this._target=null,this.systems.events.once(x.SHUTDOWN,this.shutdown,this)},start:function(e,l){return e===void 0&&(e=this.key),this.manager.queueOp("stop",this.key),this.manager.queueOp("start",e,l),this},restart:function(e){var l=this.key;return this.manager.queueOp("stop",l),this.manager.queueOp("start",l,e),this},transition:function(e){e===void 0&&(e={});var l=h(e,"target",!1),i=this.manager.getScene(l);if(!l||!this.checkValidTransition(i))return!1;var s=h(e,"duration",1e3);this._elapsed=0,this._target=i,this._duration=s,this._willSleep=h(e,"sleep",!1),this._willRemove=h(e,"remove",!1);var r=h(e,"onUpdate",null);r&&(this._onUpdate=r,this._onUpdateScope=h(e,"onUpdateScope",this.scene));var o=h(e,"allowInput",!1);this.settings.transitionAllowInput=o;var a=i.sys.settings;a.isTransition=!0,a.transitionFrom=this.scene,a.transitionDuration=s,a.transitionAllowInput=o,h(e,"moveAbove",!1)?this.manager.moveAbove(this.key,l):h(e,"moveBelow",!1)&&this.manager.moveBelow(this.key,l),i.sys.isSleeping()?i.sys.wake(h(e,"data")):this.manager.start(l,h(e,"data"));var u=h(e,"onStart",null),f=h(e,"onStartScope",this.scene);return u&&u.call(f,this.scene,i,s),this.systems.events.emit(x.TRANSITION_OUT,i,s),!0},checkValidTransition:function(e){return!(!e||e.sys.isActive()||e.sys.isTransitioning()||e===this.scene||this.systems.isTransitioning())},step:function(e,l){this._elapsed+=l,this.transitionProgress=m(this._elapsed/this._duration,0,1),this._onUpdate&&this._onUpdate.call(this._onUpdateScope,this.transitionProgress),this._elapsed>=this._duration&&this.transitionComplete()},transitionComplete:function(){var e=this._target.sys,l=this._target.sys.settings;e.events.emit(x.TRANSITION_COMPLETE,this.scene),l.isTransition=!1,l.transitionFrom=null,this._duration=0,this._target=null,this._onUpdate=null,this._onUpdateScope=null,this._willRemove?this.manager.remove(this.key):this._willSleep?this.systems.sleep():this.manager.stop(this.key)},add:function(e,l,i,s){return this.manager.add(e,l,i,s)},launch:function(e,l){return e&&e!==this.key&&this.manager.queueOp("start",e,l),this},run:function(e,l){return e&&e!==this.key&&this.manager.queueOp("run",e,l),this},pause:function(e,l){return e===void 0&&(e=this.key),this.manager.queueOp("pause",e,l),this},resume:function(e,l){return e===void 0&&(e=this.key),this.manager.queueOp("resume",e,l),this},sleep:function(e,l){return e===void 0&&(e=this.key),this.manager.queueOp("sleep",e,l),this},wake:function(e,l){return e===void 0&&(e=this.key),this.manager.queueOp("wake",e,l),this},switch:function(e,l){return e!==this.key&&this.manager.queueOp("switch",this.key,e,l),this},stop:function(e,l){return e===void 0&&(e=this.key),this.manager.queueOp("stop",e,l),this},setActive:function(e,l,i){l===void 0&&(l=this.key);var s=this.manager.getScene(l);return s&&s.sys.setActive(e,i),this},setVisible:function(e,l){l===void 0&&(l=this.key);var i=this.manager.getScene(l);return i&&i.sys.setVisible(e),this},isSleeping:function(e){return e===void 0&&(e=this.key),this.manager.isSleeping(e)},isActive:function(e){return e===void 0&&(e=this.key),this.manager.isActive(e)},isPaused:function(e){return e===void 0&&(e=this.key),this.manager.isPaused(e)},isVisible:function(e){return e===void 0&&(e=this.key),this.manager.isVisible(e)},swapPosition:function(e,l){return l===void 0&&(l=this.key),e!==l&&this.manager.swapPosition(e,l),this},moveAbove:function(e,l){return l===void 0&&(l=this.key),e!==l&&this.manager.moveAbove(e,l),this},moveBelow:function(e,l){return l===void 0&&(l=this.key),e!==l&&this.manager.moveBelow(e,l),this},remove:function(e){return e===void 0&&(e=this.key),this.manager.remove(e),this},moveUp:function(e){return e===void 0&&(e=this.key),this.manager.moveUp(e),this},moveDown:function(e){return e===void 0&&(e=this.key),this.manager.moveDown(e),this},bringToTop:function(e){return e===void 0&&(e=this.key),this.manager.bringToTop(e),this},sendToBack:function(e){return e===void 0&&(e=this.key),this.manager.sendToBack(e),this},get:function(e){return this.manager.getScene(e)},getStatus:function(e){var l=this.manager.getScene(e);if(l)return l.sys.getStatus()},getIndex:function(e){return e===void 0&&(e=this.key),this.manager.getIndex(e)},shutdown:function(){var e=this.systems.events;e.off(x.SHUTDOWN,this.shutdown,this),e.off(x.TRANSITION_OUT)},destroy:function(){this.shutdown(),this.scene.sys.events.off(x.START,this.start,this),this.scene=null,this.systems=null,this.settings=null,this.manager=null}});d.register("ScenePlugin",t,"scenePlugin"),E.exports=t},55681:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(89993),S=n(35154),x=n(46975),h=n(87033),d={create:function(t){return typeof t=="string"?t={key:t}:t===void 0&&(t={}),{status:m.PENDING,key:S(t,"key",""),active:S(t,"active",!1),visible:S(t,"visible",!0),isBooted:!1,isTransition:!1,transitionFrom:null,transitionDuration:0,transitionAllowInput:!0,data:{},pack:S(t,"pack",!1),cameras:S(t,"cameras",null),map:S(t,"map",x(h,S(t,"mapAdd",{}))),physics:S(t,"physics",{}),loader:S(t,"loader",{}),plugins:S(t,"plugins",!1),input:S(t,"input",{})}}};E.exports=d},2368:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(89993),x=n(42363),h=n(44594),d=n(27397),t=n(52106),e=n(29747),l=n(55681),i=new m({initialize:function(r,o){this.scene=r,this.game,this.renderer,this.config=o,this.settings=l.create(o),this.canvas,this.context,this.anims,this.cache,this.plugins,this.registry,this.scale,this.sound,this.textures,this.add,this.cameras,this.displayList,this.events,this.make,this.scenePlugin,this.updateList,this.sceneUpdate=e},init:function(s){this.settings.status=S.INIT,this.sceneUpdate=e,this.game=s,this.renderer=s.renderer,this.canvas=s.canvas,this.context=s.context;var r=s.plugins;this.plugins=r,r.addToScene(this,x.Global,[x.CoreScene,t(this),d(this)]),this.events.emit(h.BOOT,this),this.settings.isBooted=!0},step:function(s,r){var o=this.events;o.emit(h.PRE_UPDATE,s,r),o.emit(h.UPDATE,s,r),this.sceneUpdate.call(this.scene,s,r),o.emit(h.POST_UPDATE,s,r)},render:function(s){var r=this.displayList;r.depthSort(),this.events.emit(h.PRE_RENDER,s),this.cameras.render(s,r),this.events.emit(h.RENDER,s)},queueDepthSort:function(){this.displayList.queueDepthSort()},depthSort:function(){this.displayList.depthSort()},pause:function(s){var r=this.settings,o=this.getStatus();return o!==S.CREATING&&o!==S.RUNNING?console.warn("Cannot pause non-running Scene",r.key):this.settings.active&&(r.status=S.PAUSED,r.active=!1,this.events.emit(h.PAUSE,this,s)),this},resume:function(s){var r=this.events,o=this.settings;return this.settings.active||(o.status=S.RUNNING,o.active=!0,r.emit(h.RESUME,this,s)),this},sleep:function(s){var r=this.settings,o=this.getStatus();return o!==S.CREATING&&o!==S.RUNNING?console.warn("Cannot sleep non-running Scene",r.key):(r.status=S.SLEEPING,r.active=!1,r.visible=!1,this.events.emit(h.SLEEP,this,s)),this},wake:function(s){var r=this.events,o=this.settings;return o.status=S.RUNNING,o.active=!0,o.visible=!0,r.emit(h.WAKE,this,s),o.isTransition&&r.emit(h.TRANSITION_WAKE,o.transitionFrom,o.transitionDuration),this},getData:function(){return this.settings.data},getStatus:function(){return this.settings.status},canInput:function(){var s=this.settings.status;return s>S.PENDING&&s<=S.RUNNING},isSleeping:function(){return this.settings.status===S.SLEEPING},isActive:function(){return this.settings.status===S.RUNNING},isPaused:function(){return this.settings.status===S.PAUSED},isTransitioning:function(){return this.settings.isTransition||this.scenePlugin._target!==null},isTransitionOut:function(){return this.scenePlugin._target!==null&&this.scenePlugin._duration>0},isTransitionIn:function(){return this.settings.isTransition},isVisible:function(){return this.settings.visible},setVisible:function(s){return this.settings.visible=s,this},setActive:function(s,r){return s?this.resume(r):this.pause(r)},start:function(s){var r=this.events,o=this.settings;s&&(o.data=s),o.status=S.START,o.active=!0,o.visible=!0,r.emit(h.START,this),r.emit(h.READY,this,s)},shutdown:function(s){var r=this.events,o=this.settings;r.off(h.TRANSITION_INIT),r.off(h.TRANSITION_START),r.off(h.TRANSITION_COMPLETE),r.off(h.TRANSITION_OUT),o.status=S.SHUTDOWN,o.active=!1,o.visible=!1,r.emit(h.SHUTDOWN,this,s)},destroy:function(){var s=this.events,r=this.settings;r.status=S.DESTROYED,r.active=!1,r.visible=!1,s.emit(h.DESTROY,this),s.removeAllListeners();for(var o=["scene","game","anims","cache","plugins","registry","sound","textures","add","camera","displayList","events","make","scenePlugin","updateList"],a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={PENDING:0,INIT:1,START:2,LOADING:3,CREATING:4,RUNNING:5,PAUSED:6,SLEEPING:7,SHUTDOWN:8,DESTROYED:9};E.exports=y},69830:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="addedtoscene"},7919:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="boot"},46763:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="create"},11763:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="destroy"},71555:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pause"},36735:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="postupdate"},3809:E=>{/** + * @author samme + * @copyright 2021 Photon Storm Ltd. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="prerender"},90716:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="preupdate"},58262:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="ready"},91633:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="removedfromscene"},10319:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="render"},87132:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="resume"},81961:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="shutdown"},90194:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="sleep"},6265:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="start"},33178:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="transitioncomplete"},43063:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="transitioninit"},11259:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="transitionout"},61611:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="transitionstart"},45209:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="transitionwake"},22966:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="update"},21747:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="wake"},44594:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={ADDED_TO_SCENE:n(69830),BOOT:n(7919),CREATE:n(46763),DESTROY:n(11763),PAUSE:n(71555),POST_UPDATE:n(36735),PRE_RENDER:n(3809),PRE_UPDATE:n(90716),READY:n(58262),REMOVED_FROM_SCENE:n(91633),RENDER:n(10319),RESUME:n(87132),SHUTDOWN:n(81961),SLEEP:n(90194),START:n(6265),TRANSITION_COMPLETE:n(33178),TRANSITION_INIT:n(43063),TRANSITION_OUT:n(11259),TRANSITION_START:n(61611),TRANSITION_WAKE:n(45209),UPDATE:n(22966),WAKE:n(21747)}},62194:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(89993),S=n(79291),x={Events:n(44594),GetPhysicsPlugins:n(27397),GetScenePlugins:n(52106),SceneManager:n(60903),ScenePlugin:n(52209),Settings:n(55681),Systems:n(2368)};x=S(!1,x,m),E.exports=x},30341:(E,y,n)=>{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(50792),x=n(14463),h=n(79291),d=n(29747),t=new m({Extends:S,initialize:function(l,i,s){S.call(this),this.manager=l,this.key=i,this.isPlaying=!1,this.isPaused=!1,this.totalRate=1,this.duration=this.duration||0,this.totalDuration=this.totalDuration||0,this.config={mute:!1,volume:1,rate:1,detune:0,seek:0,loop:!1,delay:0,pan:0},this.currentConfig=this.config,this.config=h(this.config,s),this.markers={},this.currentMarker=null,this.pendingRemove=!1},addMarker:function(e){return!e||!e.name||typeof e.name!="string"?!1:this.markers[e.name]?(console.error("addMarker "+e.name+" already exists in Sound"),!1):(e=h(!0,{name:"",start:0,duration:this.totalDuration-(e.start||0),config:{mute:!1,volume:1,rate:1,detune:0,seek:0,loop:!1,delay:0,pan:0}},e),this.markers[e.name]=e,!0)},updateMarker:function(e){return!e||!e.name||typeof e.name!="string"?!1:this.markers[e.name]?(this.markers[e.name]=h(!0,this.markers[e.name],e),!0):(console.warn("Audio Marker: "+e.name+" missing in Sound: "+this.key),!1)},removeMarker:function(e){var l=this.markers[e];return l?(this.markers[e]=null,l):null},play:function(e,l){if(e===void 0&&(e=""),typeof e=="object"&&(l=e,e=""),typeof e!="string")return!1;if(!e)this.currentMarker=null,this.currentConfig=this.config,this.duration=this.totalDuration;else{if(!this.markers[e])return console.warn("Marker: "+e+" missing in Sound: "+this.key),!1;this.currentMarker=this.markers[e],this.currentConfig=this.currentMarker.config,this.duration=this.currentMarker.duration}return this.resetConfig(),this.currentConfig=h(this.currentConfig,l),this.isPlaying=!0,this.isPaused=!1,!0},pause:function(){return this.isPaused||!this.isPlaying?!1:(this.isPlaying=!1,this.isPaused=!0,!0)},resume:function(){return!this.isPaused||this.isPlaying?!1:(this.isPlaying=!0,this.isPaused=!1,!0)},stop:function(){return!this.isPaused&&!this.isPlaying?!1:(this.isPlaying=!1,this.isPaused=!1,this.resetConfig(),!0)},applyConfig:function(){this.mute=this.currentConfig.mute,this.volume=this.currentConfig.volume,this.rate=this.currentConfig.rate,this.detune=this.currentConfig.detune,this.loop=this.currentConfig.loop,this.pan=this.currentConfig.pan},resetConfig:function(){this.currentConfig.seek=0,this.currentConfig.delay=0},update:d,calculateRate:function(){var e=1.0005777895065548,l=this.currentConfig.detune+this.manager.detune,i=Math.pow(e,l);this.totalRate=this.currentConfig.rate*this.manager.rate*i},destroy:function(){this.pendingRemove||(this.stop(),this.emit(x.DESTROY,this),this.removeAllListeners(),this.pendingRemove=!0,this.manager=null,this.config=null,this.currentConfig=null,this.markers=null,this.currentMarker=null)}});E.exports=t},85034:(E,y,n)=>{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(41786),x=n(50792),h=n(14463),d=n(8443),t=n(46710),e=n(58731),l=n(29747),i=n(26099),s=new m({Extends:x,initialize:function(o){x.call(this),this.game=o,this.jsonCache=o.cache.json,this.sounds=[],this.mute=!1,this.volume=1,this.pauseOnBlur=!0,this._rate=1,this._detune=0,this.locked=this.locked||!1,this.unlocked=!1,this.gameLostFocus=!1,this.listenerPosition=new i;var a=o.events;a.on(d.BLUR,this.onGameBlur,this),a.on(d.FOCUS,this.onGameFocus,this),a.on(d.PRE_STEP,this.update,this),a.once(d.DESTROY,this.destroy,this)},add:l,addAudioSprite:function(r,o){o===void 0&&(o={});var a=this.add(r,o);a.spritemap=this.jsonCache.get(r).spritemap;for(var u in a.spritemap)if(a.spritemap.hasOwnProperty(u)){var f=S(o),v=a.spritemap[u];f.loop=v.hasOwnProperty("loop")?v.loop:!1,a.addMarker({name:u,start:v.start,duration:v.end-v.start,config:f})}return a},get:function(r){return e(this.sounds,"key",r)},getAll:function(r){return r?t(this.sounds,"key",r):t(this.sounds)},getAllPlaying:function(){return t(this.sounds,"isPlaying",!0)},play:function(r,o){var a=this.add(r);return a.once(h.COMPLETE,a.destroy,a),o?o.name?(a.addMarker(o),a.play(o.name)):a.play(o):a.play()},playAudioSprite:function(r,o,a){var u=this.addAudioSprite(r);return u.once(h.COMPLETE,u.destroy,u),u.play(o,a)},remove:function(r){var o=this.sounds.indexOf(r);return o!==-1?(r.destroy(),this.sounds.splice(o,1),!0):!1},removeAll:function(){this.sounds.forEach(function(r){r.destroy()}),this.sounds.length=0},removeByKey:function(r){for(var o=0,a=this.sounds.length-1;a>=0;a--){var u=this.sounds[a];u.key===r&&(u.destroy(),this.sounds.splice(a,1),o++)}return o},pauseAll:function(){this.forEachActiveSound(function(r){r.pause()}),this.emit(h.PAUSE_ALL,this)},resumeAll:function(){this.forEachActiveSound(function(r){r.resume()}),this.emit(h.RESUME_ALL,this)},setListenerPosition:l,stopAll:function(){this.forEachActiveSound(function(r){r.stop()}),this.emit(h.STOP_ALL,this)},stopByKey:function(r){var o=0;return this.getAll(r).forEach(function(a){a.stop()&&o++}),o},isPlaying:function(r){var o=this.sounds,a=o.length-1,u;if(r===void 0){for(;a>=0;a--)if(u=this.sounds[a],u.isPlaying)return!0}else for(;a>=0;a--)if(u=this.sounds[a],u.key===r&&u.isPlaying)return!0;return!1},unlock:l,onBlur:l,onFocus:l,onGameBlur:function(){this.gameLostFocus=!0,this.pauseOnBlur&&this.onBlur()},onGameFocus:function(){this.gameLostFocus=!1,this.pauseOnBlur&&this.onFocus()},update:function(r,o){this.unlocked&&(this.unlocked=!1,this.locked=!1,this.emit(h.UNLOCKED,this));for(var a=this.sounds.length-1;a>=0;a--)this.sounds[a].pendingRemove&&this.sounds.splice(a,1);this.sounds.forEach(function(u){u.update(r,o)})},destroy:function(){this.game.events.off(d.BLUR,this.onGameBlur,this),this.game.events.off(d.FOCUS,this.onGameFocus,this),this.game.events.off(d.PRE_STEP,this.update,this),this.removeAllListeners(),this.removeAll(),this.sounds.length=0,this.sounds=null,this.listenerPosition=null,this.game=null},forEachActiveSound:function(r,o){var a=this;this.sounds.forEach(function(u,f){u&&!u.pendingRemove&&r.call(o||a,u,f,a.sounds)})},setRate:function(r){return this.rate=r,this},rate:{get:function(){return this._rate},set:function(r){this._rate=r,this.forEachActiveSound(function(o){o.calculateRate()}),this.emit(h.GLOBAL_RATE,this,r)}},setDetune:function(r){return this.detune=r,this},detune:{get:function(){return this._detune},set:function(r){this._detune=r,this.forEachActiveSound(function(o){o.calculateRate()}),this.emit(h.GLOBAL_DETUNE,this,r)}}});E.exports=s},14747:(E,y,n)=>{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(33684),S=n(25960),x=n(57490),h={create:function(d){var t=d.config.audio,e=d.device.audio;return t.noAudio||!e.webAudio&&!e.audioData?new S(d):e.webAudio&&!t.disableWebAudio?new x(d):new m(d)}};E.exports=h},19723:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="complete"},98882:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="decodedall"},57506:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="decoded"},73146:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="destroy"},11305:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="detune"},40577:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="detune"},30333:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="mute"},20394:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="rate"},21802:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="volume"},1299:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="looped"},99190:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="loop"},97125:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="mute"},89259:E=>{/** + * @author pi-kei + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pan"},79986:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pauseall"},17586:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pause"},19618:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="play"},42306:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="rate"},10387:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="resumeall"},48959:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="resume"},9960:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="seek"},19180:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="stopall"},98328:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="stop"},50401:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="unlocked"},52498:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="volume"},14463:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={COMPLETE:n(19723),DECODED:n(57506),DECODED_ALL:n(98882),DESTROY:n(73146),DETUNE:n(11305),GLOBAL_DETUNE:n(40577),GLOBAL_MUTE:n(30333),GLOBAL_RATE:n(20394),GLOBAL_VOLUME:n(21802),LOOP:n(99190),LOOPED:n(1299),MUTE:n(97125),PAN:n(89259),PAUSE_ALL:n(79986),PAUSE:n(17586),PLAY:n(19618),RATE:n(42306),RESUME_ALL:n(10387),RESUME:n(48959),SEEK:n(9960),STOP_ALL:n(19180),STOP:n(98328),UNLOCKED:n(50401),VOLUME:n(52498)}},64895:(E,y,n)=>{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(30341),S=n(83419),x=n(14463),h=n(45319),d=new S({Extends:m,initialize:function(e,l,i){if(i===void 0&&(i={}),this.tags=e.game.cache.audio.get(l),!this.tags)throw new Error('No cached audio asset with key "'+l);this.audio=null,this.startTime=0,this.previousTime=0,this.duration=this.tags[0].duration,this.totalDuration=this.tags[0].duration,m.call(this,e,l,i)},play:function(t,e){return this.manager.isLocked(this,"play",[t,e])||!m.prototype.play.call(this,t,e)||!this.pickAndPlayAudioTag()?!1:(this.emit(x.PLAY,this),!0)},pause:function(){return this.manager.isLocked(this,"pause")||this.startTime>0||!m.prototype.pause.call(this)?!1:(this.currentConfig.seek=this.audio.currentTime-(this.currentMarker?this.currentMarker.start:0),this.stopAndReleaseAudioTag(),this.emit(x.PAUSE,this),!0)},resume:function(){return this.manager.isLocked(this,"resume")||this.startTime>0||!m.prototype.resume.call(this)||!this.pickAndPlayAudioTag()?!1:(this.emit(x.RESUME,this),!0)},stop:function(){return this.manager.isLocked(this,"stop")||!m.prototype.stop.call(this)?!1:(this.stopAndReleaseAudioTag(),this.emit(x.STOP,this),!0)},pickAndPlayAudioTag:function(){if(!this.pickAudioTag())return this.reset(),!1;var t=this.currentConfig.seek,e=this.currentConfig.delay,l=(this.currentMarker?this.currentMarker.start:0)+t;return this.previousTime=l,this.audio.currentTime=l,this.applyConfig(),e===0?(this.startTime=0,this.audio.paused&&this.playCatchPromise()):(this.startTime=window.performance.now()+e*1e3,this.audio.paused||this.audio.pause()),this.resetConfig(),!0},pickAudioTag:function(){if(this.audio)return!0;for(var t=0;t0){this.startTime=l-this.manager.loopEndOffset?(this.audio.currentTime=e+Math.max(0,i-l),i=this.audio.currentTime):i=l){this.reset(),this.stopAndReleaseAudioTag(),this.emit(x.COMPLETE,this);return}this.previousTime=i}},destroy:function(){m.prototype.destroy.call(this),this.tags=null,this.audio&&this.stopAndReleaseAudioTag()},updateMute:function(){this.audio&&(this.audio.muted=this.currentConfig.mute||this.manager.mute)},updateVolume:function(){this.audio&&(this.audio.volume=h(this.currentConfig.volume*this.manager.volume,0,1))},calculateRate:function(){m.prototype.calculateRate.call(this),this.audio&&(this.audio.playbackRate=this.totalRate)},mute:{get:function(){return this.currentConfig.mute},set:function(t){this.currentConfig.mute=t,!this.manager.isLocked(this,"mute",t)&&(this.updateMute(),this.emit(x.MUTE,this,t))}},setMute:function(t){return this.mute=t,this},volume:{get:function(){return this.currentConfig.volume},set:function(t){this.currentConfig.volume=t,!this.manager.isLocked(this,"volume",t)&&(this.updateVolume(),this.emit(x.VOLUME,this,t))}},setVolume:function(t){return this.volume=t,this},rate:{get:function(){return this.currentConfig.rate},set:function(t){this.currentConfig.rate=t,!this.manager.isLocked(this,x.RATE,t)&&(this.calculateRate(),this.emit(x.RATE,this,t))}},setRate:function(t){return this.rate=t,this},detune:{get:function(){return this.currentConfig.detune},set:function(t){this.currentConfig.detune=t,!this.manager.isLocked(this,x.DETUNE,t)&&(this.calculateRate(),this.emit(x.DETUNE,this,t))}},setDetune:function(t){return this.detune=t,this},seek:{get:function(){return this.isPlaying?this.audio.currentTime-(this.currentMarker?this.currentMarker.start:0):this.isPaused?this.currentConfig.seek:0},set:function(t){this.manager.isLocked(this,"seek",t)||this.startTime>0||(this.isPlaying||this.isPaused)&&(t=Math.min(Math.max(0,t),this.duration),this.isPlaying?(this.previousTime=t,this.audio.currentTime=t):this.isPaused&&(this.currentConfig.seek=t),this.emit(x.SEEK,this,t))}},setSeek:function(t){return this.seek=t,this},loop:{get:function(){return this.currentConfig.loop},set:function(t){this.currentConfig.loop=t,!this.manager.isLocked(this,"loop",t)&&(this.audio&&(this.audio.loop=t),this.emit(x.LOOP,this,t))}},setLoop:function(t){return this.loop=t,this},pan:{get:function(){return this.currentConfig.pan},set:function(t){this.currentConfig.pan=t,this.emit(x.PAN,this,t)}},setPan:function(t){return this.pan=t,this}});E.exports=d},33684:(E,y,n)=>{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(85034),S=n(83419),x=n(14463),h=n(64895),d=new S({Extends:m,initialize:function(e){this.override=!0,this.audioPlayDelay=.1,this.loopEndOffset=.05,this.onBlurPausedSounds=[],this.locked="ontouchstart"in window,this.lockedActionsQueue=this.locked?[]:null,this._mute=!1,this._volume=1,m.call(this,e)},add:function(t,e){var l=new h(this,t,e);return this.sounds.push(l),l},unlock:function(){this.locked=!1;var t=this;if(this.game.cache.audio.entries.each(function(s,r){for(var o=0;o{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={SoundManagerCreator:n(14747),Events:n(14463),BaseSound:n(30341),BaseSoundManager:n(85034),WebAudioSound:n(71741),WebAudioSoundManager:n(57490),HTML5AudioSound:n(64895),HTML5AudioSoundManager:n(33684),NoAudioSound:n(4603),NoAudioSoundManager:n(25960)}},4603:(E,y,n)=>{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(30341),S=n(83419),x=n(50792),h=n(79291),d=n(29747),t=function(){return!1},e=function(){return null},l=function(){return this},i=new S({Extends:x,initialize:function(r,o,a){a===void 0&&(a={}),x.call(this),this.manager=r,this.key=o,this.isPlaying=!1,this.isPaused=!1,this.totalRate=1,this.duration=0,this.totalDuration=0,this.config=h({mute:!1,volume:1,rate:1,detune:0,seek:0,loop:!1,delay:0,pan:0},a),this.currentConfig=this.config,this.mute=!1,this.volume=1,this.rate=1,this.detune=0,this.seek=0,this.loop=!1,this.pan=0,this.markers={},this.currentMarker=null,this.pendingRemove=!1},addMarker:t,updateMarker:t,removeMarker:e,play:t,pause:t,resume:t,stop:t,setMute:l,setVolume:l,setRate:l,setDetune:l,setSeek:l,setLoop:l,setPan:l,applyConfig:e,resetConfig:e,update:d,calculateRate:e,destroy:function(){m.prototype.destroy.call(this)}});E.exports=i},25960:(E,y,n)=>{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(85034),S=n(83419),x=n(50792),h=n(4603),d=n(29747),t=new S({Extends:x,initialize:function(l){x.call(this),this.game=l,this.sounds=[],this.mute=!1,this.volume=1,this.rate=1,this.detune=0,this.pauseOnBlur=!0,this.locked=!1},add:function(e,l){var i=new h(this,e,l);return this.sounds.push(i),i},addAudioSprite:function(e,l){var i=this.add(e,l);return i.spritemap={},i},get:function(e){return m.prototype.get.call(this,e)},getAll:function(e){return m.prototype.getAll.call(this,e)},play:function(e,l){return!1},playAudioSprite:function(e,l,i){return!1},remove:function(e){return m.prototype.remove.call(this,e)},removeAll:function(){return m.prototype.removeAll.call(this)},removeByKey:function(e){return m.prototype.removeByKey.call(this,e)},stopByKey:function(e){return m.prototype.stopByKey.call(this,e)},onBlur:d,onFocus:d,onGameBlur:d,onGameFocus:d,pauseAll:d,resumeAll:d,stopAll:d,update:d,setRate:d,setDetune:d,setMute:d,setVolume:d,unlock:d,forEachActiveSound:function(e,l){m.prototype.forEachActiveSound.call(this,e,l)},destroy:function(){m.prototype.destroy.call(this)}});E.exports=t},71741:(E,y,n)=>{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(30341),S=n(83419),x=n(14463),h=n(95540),d=new S({Extends:m,initialize:function(e,l,i){if(i===void 0&&(i={}),this.audioBuffer=e.game.cache.audio.get(l),!this.audioBuffer)throw new Error('Audio key "'+l+'" not found in cache');this.source=null,this.loopSource=null,this.muteNode=e.context.createGain(),this.volumeNode=e.context.createGain(),this.pannerNode=null,this.spatialNode=null,this.spatialSource=null,this.playTime=0,this.startTime=0,this.loopTime=0,this.rateUpdates=[],this.hasEnded=!1,this.hasLooped=!1,this.muteNode.connect(this.volumeNode),e.context.createPanner&&(this.spatialNode=e.context.createPanner(),this.volumeNode.connect(this.spatialNode)),e.context.createStereoPanner?(this.pannerNode=e.context.createStereoPanner(),e.context.createPanner?this.spatialNode.connect(this.pannerNode):this.volumeNode.connect(this.pannerNode),this.pannerNode.connect(e.destination)):e.context.createPanner?this.spatialNode.connect(e.destination):this.volumeNode.connect(e.destination),this.duration=this.audioBuffer.duration,this.totalDuration=this.audioBuffer.duration,m.call(this,e,l,i)},play:function(t,e){return m.prototype.play.call(this,t,e)?(this.stopAndRemoveBufferSource(),this.createAndStartBufferSource(),this.emit(x.PLAY,this),!0):!1},pause:function(){return this.manager.context.currentTime{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(53134),S=n(85034),x=n(83419),h=n(14463),d=n(8443),t=n(71741),e=n(95540),l=new x({Extends:S,initialize:function(s){this.context=this.createAudioContext(s),this.masterMuteNode=this.context.createGain(),this.masterVolumeNode=this.context.createGain(),this.masterMuteNode.connect(this.masterVolumeNode),this.masterVolumeNode.connect(this.context.destination),this.destination=this.masterMuteNode,this.locked=this.context.state==="suspended",S.call(this,s),this.locked&&(s.isBooted?this.unlock():s.events.once(d.BOOT,this.unlock,this)),s.events.on(d.VISIBLE,this.onGameVisible,this)},onGameVisible:function(){var i=this.context;window.setTimeout(function(){i&&(i.suspend(),i.resume())},100)},createAudioContext:function(i){var s=i.config.audio;if(s.context)return s.context.resume(),s.context;if(window.hasOwnProperty("AudioContext"))return new AudioContext;if(window.hasOwnProperty("webkitAudioContext"))return new window.webkitAudioContext},setAudioContext:function(i){return this.context&&this.context.close(),this.masterMuteNode&&this.masterMuteNode.disconnect(),this.masterVolumeNode&&this.masterVolumeNode.disconnect(),this.context=i,this.masterMuteNode=i.createGain(),this.masterVolumeNode=i.createGain(),this.masterMuteNode.connect(this.masterVolumeNode),this.masterVolumeNode.connect(i.destination),this.destination=this.masterMuteNode,this},add:function(i,s){var r=new t(this,i,s);return this.sounds.push(r),r},decodeAudio:function(i,s){var r;Array.isArray(i)?r=i:r=[{key:i,data:s}];for(var o=this.game.cache.audio,a=r.length,u=0;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(37105),S=n(83419),x=n(29747),h=n(19186),d=new S({initialize:function(e){this.parent=e,this.list=[],this.position=0,this.addCallback=x,this.removeCallback=x,this._sortKey=""},add:function(t,e){return e?m.Add(this.list,t):m.Add(this.list,t,0,this.addCallback,this)},addAt:function(t,e,l){return l?m.AddAt(this.list,t,e):m.AddAt(this.list,t,e,0,this.addCallback,this)},getAt:function(t){return this.list[t]},getIndex:function(t){return this.list.indexOf(t)},sort:function(t,e){return t?(e===void 0&&(e=function(l,i){return l[t]-i[t]}),h(this.list,e),this):this},getByName:function(t){return m.GetFirst(this.list,"name",t)},getRandom:function(t,e){return m.GetRandom(this.list,t,e)},getFirst:function(t,e,l,i){return m.GetFirst(this.list,t,e,l,i)},getAll:function(t,e,l,i){return m.GetAll(this.list,t,e,l,i)},count:function(t,e){return m.CountAllMatching(this.list,t,e)},swap:function(t,e){m.Swap(this.list,t,e)},moveTo:function(t,e){return m.MoveTo(this.list,t,e)},moveAbove:function(t,e){return m.MoveAbove(this.list,t,e)},moveBelow:function(t,e){return m.MoveBelow(this.list,t,e)},remove:function(t,e){return e?m.Remove(this.list,t):m.Remove(this.list,t,this.removeCallback,this)},removeAt:function(t,e){return e?m.RemoveAt(this.list,t):m.RemoveAt(this.list,t,this.removeCallback,this)},removeBetween:function(t,e,l){return l?m.RemoveBetween(this.list,t,e):m.RemoveBetween(this.list,t,e,this.removeCallback,this)},removeAll:function(t){for(var e=this.list.length;e--;)this.remove(this.list[e],t);return this},bringToTop:function(t){return m.BringToTop(this.list,t)},sendToBack:function(t){return m.SendToBack(this.list,t)},moveUp:function(t){return m.MoveUp(this.list,t),t},moveDown:function(t){return m.MoveDown(this.list,t),t},reverse:function(){return this.list.reverse(),this},shuffle:function(){return m.Shuffle(this.list),this},replace:function(t,e){return m.Replace(this.list,t,e)},exists:function(t){return this.list.indexOf(t)>-1},setAll:function(t,e,l,i){return m.SetAll(this.list,t,e,l,i),this},each:function(t,e){for(var l=[null],i=2;i0?this.list[0]:null}},last:{get:function(){return this.list.length>0?(this.position=this.list.length-1,this.list[this.position]):null}},next:{get:function(){return this.position0?(this.position--,this.list[this.position]):null}}});E.exports=d},90330:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h){this.entries={},this.size=0,this.setAll(h)},setAll:function(x){if(Array.isArray(x))for(var h=0;h{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(50792),x=n(82348),h=new m({Extends:S,initialize:function(){S.call(this),this._pending=[],this._active=[],this._destroy=[],this._toProcess=0,this.checkQueue=!1},isActive:function(d){return this._active.indexOf(d)>-1},isPending:function(d){return this._toProcess>0&&this._pending.indexOf(d)>-1},isDestroying:function(d){return this._destroy.indexOf(d)>-1},add:function(d){return this.checkQueue&&this.isActive(d)&&!this.isDestroying(d)||this.isPending(d)||(this._pending.push(d),this._toProcess++),d},remove:function(d){if(this.isPending(d)){var t=this._pending,e=t.indexOf(d);e!==-1&&t.splice(e,1)}else this.isActive(d)&&(this._destroy.push(d),this._toProcess++);return d},removeAll:function(){for(var d=this._active,t=this._destroy,e=d.length;e--;)t.push(d[e]),this._toProcess++;return this},update:function(){if(this._toProcess===0)return this._active;var d=this._destroy,t=this._active,e,l;for(e=0;e{/** + * @author Vladimir Agafonkin + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(43886);function S(c){if(!(this instanceof S))return new S(c);this._maxEntries=Math.max(4,c||9),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()}S.prototype={all:function(){return this._all(this.data,[])},search:function(c){var g=this.data,p=[],T=this.toBBox;if(!u(c,g))return p;for(var C=[],M,A,R,P;g;){for(M=0,A=g.children.length;M=0&&M[g].children.length>this._maxEntries;)this._split(M,g),g--;this._adjustParentBBoxes(C,M,g)},_split:function(c,g){var p=c[g],T=p.children.length,C=this._minEntries;this._chooseSplitAxis(p,C,T);var M=this._chooseSplitIndex(p,C,T),A=f(p.children.splice(M,p.children.length-M));A.height=p.height,A.leaf=p.leaf,h(p,this.toBBox),h(A,this.toBBox),g?c[g-1].children.push(A):this._splitRoot(p,A)},_splitRoot:function(c,g){this.data=f([c,g]),this.data.height=c.height+1,this.data.leaf=!1,h(this.data,this.toBBox)},_chooseSplitIndex:function(c,g,p){var T,C,M,A,R,P,L,F;for(P=L=1/0,T=g;T<=p-g;T++)C=d(c,0,T,this.toBBox),M=d(c,T,p,this.toBBox),A=o(C,M),R=i(C)+i(M),A=g;P--)L=c.children[P],t(A,c.leaf?C(L):L),R+=s(A);return R},_adjustParentBBoxes:function(c,g,p){for(var T=p;T>=0;T--)t(g[T],c)},_condense:function(c){for(var g=c.length-1,p;g>=0;g--)c[g].children.length===0?g>0?(p=c[g-1].children,p.splice(p.indexOf(c[g]),1)):this.clear():h(c[g],this.toBBox)},compareMinX:function(c,g){return c.left-g.left},compareMinY:function(c,g){return c.top-g.top},toBBox:function(c){return{minX:c.left,minY:c.top,maxX:c.right,maxY:c.bottom}}};function x(c,g,p){if(!p)return g.indexOf(c);for(var T=0;T=c.minX&&g.maxY>=c.minY}function f(c){return{children:c,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function v(c,g,p,T,C){for(var M=[g,p],A;M.length;)p=M.pop(),g=M.pop(),!(p-g<=T)&&(A=g+Math.ceil((p-g)/T/2)*T,m(c,A,g,p,C),M.push(g,A,A,p))}E.exports=S},86555:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(45319),S=n(83419),x=n(56583),h=n(26099),d=new S({initialize:function(e,l,i,s){e===void 0&&(e=0),l===void 0&&(l=e),i===void 0&&(i=0),s===void 0&&(s=null),this._width=e,this._height=l,this._parent=s,this.aspectMode=i,this.aspectRatio=l===0?1:e/l,this.minWidth=0,this.minHeight=0,this.maxWidth=Number.MAX_VALUE,this.maxHeight=Number.MAX_VALUE,this.snapTo=new h},setAspectMode:function(t){return t===void 0&&(t=0),this.aspectMode=t,this.setSize(this._width,this._height)},setSnap:function(t,e){return t===void 0&&(t=0),e===void 0&&(e=t),this.snapTo.set(t,e),this.setSize(this._width,this._height)},setParent:function(t){return this._parent=t,this.setSize(this._width,this._height)},setMin:function(t,e){return t===void 0&&(t=0),e===void 0&&(e=t),this.minWidth=m(t,0,this.maxWidth),this.minHeight=m(e,0,this.maxHeight),this.setSize(this._width,this._height)},setMax:function(t,e){return t===void 0&&(t=Number.MAX_VALUE),e===void 0&&(e=t),this.maxWidth=m(t,this.minWidth,Number.MAX_VALUE),this.maxHeight=m(e,this.minHeight,Number.MAX_VALUE),this.setSize(this._width,this._height)},setSize:function(t,e){switch(t===void 0&&(t=0),e===void 0&&(e=t),this.aspectMode){case d.NONE:this._width=this.getNewWidth(x(t,this.snapTo.x)),this._height=this.getNewHeight(x(e,this.snapTo.y)),this.aspectRatio=this._height===0?1:this._width/this._height;break;case d.WIDTH_CONTROLS_HEIGHT:this._width=this.getNewWidth(x(t,this.snapTo.x)),this._height=this.getNewHeight(this._width*(1/this.aspectRatio),!1);break;case d.HEIGHT_CONTROLS_WIDTH:this._height=this.getNewHeight(x(e,this.snapTo.y)),this._width=this.getNewWidth(this._height*this.aspectRatio,!1);break;case d.FIT:this.constrain(t,e,!0);break;case d.ENVELOP:this.constrain(t,e,!1);break}return this},setAspectRatio:function(t){return this.aspectRatio=t,this.setSize(this._width,this._height)},resize:function(t,e){return this._width=this.getNewWidth(x(t,this.snapTo.x)),this._height=this.getNewHeight(x(e,this.snapTo.y)),this.aspectRatio=this._height===0?1:this._width/this._height,this},getNewWidth:function(t,e){return e===void 0&&(e=!0),t=m(t,this.minWidth,this.maxWidth),e&&this._parent&&t>this._parent.width&&(t=Math.max(this.minWidth,this._parent.width)),t},getNewHeight:function(t,e){return e===void 0&&(e=!0),t=m(t,this.minHeight,this.maxHeight),e&&this._parent&&t>this._parent.height&&(t=Math.max(this.minHeight,this._parent.height)),t},constrain:function(t,e,l){t===void 0&&(t=0),e===void 0&&(e=t),l===void 0&&(l=!0),t=this.getNewWidth(t),e=this.getNewHeight(e);var i=this.snapTo,s=e===0?1:t/e;return l&&this.aspectRatio>s||!l&&this.aspectRatio0&&(e=x(e,i.y),t=e*this.aspectRatio)):(l&&this.aspectRatios)&&(e=x(e,i.y),t=e*this.aspectRatio,i.x>0&&(t=x(t,i.x),e=t*(1/this.aspectRatio))),this._width=t,this._height=e,this},fitTo:function(t,e){return this.constrain(t,e,!0)},envelop:function(t,e){return this.constrain(t,e,!1)},setWidth:function(t){return this.setSize(t,this._height)},setHeight:function(t){return this.setSize(this._width,t)},toString:function(){return"[{ Size (width="+this._width+" height="+this._height+" aspectRatio="+this.aspectRatio+" aspectMode="+this.aspectMode+") }]"},setCSS:function(t){t&&t.style&&(t.style.width=this._width+"px",t.style.height=this._height+"px")},copy:function(t){return t.setAspectMode(this.aspectMode),t.aspectRatio=this.aspectRatio,t.setSize(this.width,this.height)},destroy:function(){this._parent=null,this.snapTo=null},width:{get:function(){return this._width},set:function(t){this.setSize(t,this._height)}},height:{get:function(){return this._height},set:function(t){this.setSize(this._width,t)}}});d.NONE=0,d.WIDTH_CONTROLS_HEIGHT=1,d.HEIGHT_CONTROLS_WIDTH=2,d.FIT=3,d.ENVELOP=4,E.exports=d},15238:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="add"},56187:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="remove"},82348:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={PROCESS_QUEUE_ADD:n(15238),PROCESS_QUEUE_REMOVE:n(56187)}},41392:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Events:n(82348),List:n(73162),Map:n(90330),ProcessQueue:n(25774),RTree:n(59542),Size:n(86555)}},57382:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(45319),x=n(40987),h=n(8054),d=n(50030),t=n(79237),e=new m({Extends:t,initialize:function(i,s,r,o,a){t.call(this,i,s,r,o,a),this.add("__BASE",0,0,0,o,a),this._source=this.frames.__BASE.source,this.canvas=this._source.image,this.context=this.canvas.getContext("2d",{willReadFrequently:!0}),this.width=o,this.height=a,this.imageData=this.context.getImageData(0,0,o,a),this.data=null,this.imageData&&(this.data=this.imageData.data),this.pixels=null,this.buffer,this.data&&(this.imageData.data.buffer?(this.buffer=this.imageData.data.buffer,this.pixels=new Uint32Array(this.buffer)):window.ArrayBuffer?(this.buffer=new ArrayBuffer(this.imageData.data.length),this.pixels=new Uint32Array(this.buffer)):this.pixels=this.imageData.data)},update:function(){return this.imageData=this.context.getImageData(0,0,this.width,this.height),this.data=this.imageData.data,this.imageData.data.buffer?(this.buffer=this.imageData.data.buffer,this.pixels=new Uint32Array(this.buffer)):window.ArrayBuffer?(this.buffer=new ArrayBuffer(this.imageData.data.length),this.pixels=new Uint32Array(this.buffer)):this.pixels=this.imageData.data,this.manager.game.config.renderType===h.WEBGL&&this.refresh(),this},draw:function(l,i,s,r){return r===void 0&&(r=!0),this.context.drawImage(s,l,i),r&&this.update(),this},drawFrame:function(l,i,s,r,o){s===void 0&&(s=0),r===void 0&&(r=0),o===void 0&&(o=!0);var a=this.manager.getFrame(l,i);if(a){var u=a.canvasData,f=a.cutWidth,v=a.cutHeight,c=a.source.resolution;this.context.drawImage(a.source.image,u.x,u.y,f,v,s,r,f/c,v/c),o&&this.update()}return this},setPixel:function(l,i,s,r,o,a){a===void 0&&(a=255),l=Math.abs(Math.floor(l)),i=Math.abs(Math.floor(i));var u=this.getIndex(l,i);if(u>-1){var f=this.context.getImageData(l,i,1,1);f.data[0]=s,f.data[1]=r,f.data[2]=o,f.data[3]=a,this.context.putImageData(f,l,i)}return this},putData:function(l,i,s,r,o,a,u){return r===void 0&&(r=0),o===void 0&&(o=0),a===void 0&&(a=l.width),u===void 0&&(u=l.height),this.context.putImageData(l,i,s,r,o,a,u),this},getData:function(l,i,s,r){l=S(Math.floor(l),0,this.width-1),i=S(Math.floor(i),0,this.height-1),s=S(s,1,this.width-l),r=S(r,1,this.height-i);var o=this.context.getImageData(l,i,s,r);return o},getPixel:function(l,i,s){s||(s=new x);var r=this.getIndex(l,i);if(r>-1){var o=this.data,a=o[r+0],u=o[r+1],f=o[r+2],v=o[r+3];s.setTo(a,u,f,v)}return s},getPixels:function(l,i,s,r){l===void 0&&(l=0),i===void 0&&(i=0),s===void 0&&(s=this.width),r===void 0&&(r=s),l=Math.abs(Math.round(l)),i=Math.abs(Math.round(i));for(var o=S(l,0,this.width),a=S(l+s,0,this.width),u=S(i,0,this.height),f=S(i+r,0,this.height),v=new x,c=[],g=u;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(10312),S=n(38058),x=n(27919),h=n(83419),d=n(8054),t=n(87774),e=n(4327),l=n(95540),i=n(79237),s=n(70554),r=n(42538),o=n(61340),a=new h({Extends:i,initialize:function(f,v,c,g,p){c===void 0&&(c=256),g===void 0&&(g=256),p===void 0&&(p=!0),this.type="DynamicTexture";var T=f.game.renderer,C=T&&T.type===d.CANVAS,M=C?x.create2D(this,c,g):[this];if(i.call(this,f,v,M,c,g),this.add("__BASE",0,0,0,c,g),this.renderer=T,this.width=-1,this.height=-1,this.commandBuffer=[],this.canvas=C?M:null,this.context=C?M.getContext("2d",{willReadFrequently:!0}):null,this.camera=new S(0,0,c,g).setScene(f.game.scene.systemScene,!1),this.drawingContext=C?null:new t(T,{width:c,height:g,camera:this.camera,autoClear:!1}),!C){var A=this.get();A.source.glTexture=this.drawingContext.texture}this.setSize(c,g,p)},setSize:function(u,f,v){f===void 0&&(f=u),v===void 0&&(v=!0),v&&(u=Math.floor(u),f=Math.floor(f),u%2!==0&&u++,f%2!==0&&f++);var c=this.get(),g=c.source;if(u!==this.width||f!==this.height){this.canvas&&(this.canvas.width=u,this.canvas.height=f);var p=this.drawingContext;p&&(p.width!==u||p.height!==f)&&p.resize(u,f),this.camera.setSize(u,f),g.width=u,g.height=f,c.setSize(u,f),this.width=u,this.height=f}else{var T=this.getSourceImage();c.cutX+u>T.width&&(u=T.width-c.cutX),c.cutY+f>T.height&&(f=T.height-c.cutY),c.setSize(u,f,c.cutX,c.cutY)}return this},render:function(){if(this.commandBuffer.length!==0)return this.camera.preRender(),this.renderer.type===d.WEBGL&&this._renderWebGL(),this.renderer.type===d.CANVAS&&this._renderCanvas(),this},_renderWebGL:function(){this.renderer.renderNodes.getNode("DynamicTextureHandler").run(this)},_renderCanvas:function(){var u=this.camera,f=this.context,v=this.renderer,c=this.manager;v.setContext(f);for(var g,p,T,C,M,A,R,P,L,F,w,O,B,I,D,N=this.commandBuffer,z=N.length,V=!1,U=!1,G=0;G>24&255)/255;var W=Y>>16&255,H=Y>>8&255,X=Y&255;f.save(),f.globalCompositeOperation="source-over",f.fillStyle="rgba("+W+","+H+","+X+","+g+")",f.fillRect(I,D,B,M),f.restore();break}case r.STAMP:{A=N[++G],C=N[++G],I=N[++G],D=N[++G],g=N[++G],O=N[++G],L=N[++G],F=N[++G],w=N[++G],R=N[++G],P=N[++G],p=N[++G],U&&(p=m.ERASE);var K=c.resetStamp(g,O);K.setPosition(I,D).setRotation(L).setScale(F,w).setTexture(A,C).setOrigin(R,P).setBlendMode(p),K.renderCanvas(v,K,u,null);break}case r.REPEAT:{A=N[++G],C=N[++G],I=N[++G],D=N[++G],g=N[++G],O=N[++G],L=N[++G],F=N[++G],w=N[++G],R=N[++G],P=N[++G],p=N[++G],B=N[++G],M=N[++G];var Z=N[++G],Q=N[++G],j=N[++G],J=N[++G],tt=N[++G];U&&(p=m.ERASE);var k=c.resetTileSprite(g,O);k.setPosition(I,D).setRotation(L).setScale(F,w).setTexture(A,C).setSize(B,M).setOrigin(R,P).setBlendMode(p).setTilePosition(Z,Q).setTileRotation(j).setTileScale(J,tt),k.renderCanvas(v,k,u,null);break}case r.DRAW:{var q=N[++G];if(I=N[++G],D=N[++G],I!==void 0){var _=q.x;q.x=I}if(D!==void 0){var rt=q.y;q.y=D}U&&(T=q.blendMode,q.blendMode=m.ERASE),q.renderCanvas(v,q,u,null),I!==void 0&&(q.x=_),D!==void 0&&(q.y=rt),U&&(q.blendMode=T);break}case r.SET_ERASE:{U=!!N[++G];break}case r.PRESERVE:{V=N[++G];break}case r.CALLBACK:{var at=N[++G];at();break}case r.CAPTURE:{q=N[++G];var ht=N[++G],ot=this.startCapture(q,ht);q.renderCanvas(v,q,ht.camera||u,ot.transform),this.finishCapture(q,ot);break}}}V||(N.length=0),v.setContext()},fill:function(u,f,v,c,g,p){f===void 0&&(f=1),v===void 0&&(v=0),c===void 0&&(c=0),g===void 0&&(g=this.width),p===void 0&&(p=this.height);var T=u>>16&255,C=u>>8&255,M=u&255,A=s.getTintFromFloats(T/255,C/255,M/255,f);return this.commandBuffer.push(r.FILL,A,v,c,g,p),this},clear:function(u,f,v,c){return u===void 0&&(u=0),f===void 0&&(f=0),v===void 0&&(v=this.width),c===void 0&&(c=this.height),this.commandBuffer.push(r.CLEAR,u,f,v,c),this},stamp:function(u,f,v,c,g){v===void 0&&(v=0),c===void 0&&(c=0);var p=l(g,"alpha",1),T=l(g,"tint",16777215),C=l(g,"angle",0),M=l(g,"rotation",0),A=l(g,"scale",1),R=l(g,"scaleX",A),P=l(g,"scaleY",A),L=l(g,"originX",.5),F=l(g,"originY",.5),w=l(g,"blendMode",0);return C!==0&&(M=C*Math.PI/180),this.commandBuffer.push(r.STAMP,u,f,v,c,p,T,M,R,P,L,F,w),this},erase:function(u,f,v,c,g){var p=this.commandBuffer,T=p.length;return p[T-2]===r.SET_ERASE&&!p[T-1]?p.length-=2:p.push(r.SET_ERASE,!0),this.draw(u,f,v,c,g),p.push(r.SET_ERASE,!1),this},draw:function(u,f,v,c,g){Array.isArray(u)||(u=[u]);for(var p=u.length,T=0;T{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={CLEAR:0,FILL:1,STAMP:2,REPEAT:3,DRAW:4,SET_ERASE:5,PRESERVE:6,CALLBACK:7,CAPTURE:8}},4327:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(45319),x=n(79291),h=new m({initialize:function(t,e,l,i,s,r,o){this.texture=t,this.name=e,this.source=t.source[l],this.sourceIndex=l,this.cutX,this.cutY,this.cutWidth,this.cutHeight,this.x=0,this.y=0,this.width,this.height,this.halfWidth,this.halfHeight,this.centerX,this.centerY,this.pivotX=0,this.pivotY=0,this.customPivot=!1,this.rotated=!1,this.autoRound=-1,this.customData={},this.u0=0,this.v0=0,this.u1=0,this.v1=0,this.data={cut:{x:0,y:0,w:0,h:0,r:0,b:0},trim:!1,sourceSize:{w:0,h:0},spriteSourceSize:{x:0,y:0,w:0,h:0,r:0,b:0},radius:0,drawImage:{x:0,y:0,width:0,height:0},is3Slice:!1,scale9:!1,scale9Borders:{x:0,y:0,w:0,h:0}},this.setSize(r,o,i,s)},setCutPosition:function(d,t){return d===void 0&&(d=0),t===void 0&&(t=0),this.cutX=d,this.cutY=t,this.updateUVs()},setCutSize:function(d,t){return this.cutWidth=d,this.cutHeight=t,this.updateUVs()},setSize:function(d,t,e,l){e===void 0&&(e=0),l===void 0&&(l=0),this.setCutPosition(e,l),this.setCutSize(d,t),this.width=d,this.height=t,this.halfWidth=Math.floor(d*.5),this.halfHeight=Math.floor(t*.5),this.centerX=Math.floor(d/2),this.centerY=Math.floor(t/2);var i=this.data,s=i.cut;s.x=e,s.y=l,s.w=d,s.h=t,s.r=e+d,s.b=l+t,i.sourceSize.w=d,i.sourceSize.h=t,i.spriteSourceSize.w=d,i.spriteSourceSize.h=t,i.radius=.5*Math.sqrt(d*d+t*t);var r=i.drawImage;return r.x=e,r.y=l,r.width=d,r.height=t,this.updateUVs()},setTrim:function(d,t,e,l,i,s){var r=this.data,o=r.spriteSourceSize;return r.trim=!0,r.sourceSize.w=d,r.sourceSize.h=t,o.x=e,o.y=l,o.w=i,o.h=s,o.r=e+i,o.b=l+s,this.x=e,this.y=l,this.width=i,this.height=s,this.halfWidth=i*.5,this.halfHeight=s*.5,this.centerX=Math.floor(i/2),this.centerY=Math.floor(s/2),this.updateUVs()},setScale9:function(d,t,e,l){var i=this.data;return i.scale9=!0,i.is3Slice=t===0&&l===this.height,i.scale9Borders.x=d,i.scale9Borders.y=t,i.scale9Borders.w=e,i.scale9Borders.h=l,this},setCropUVs:function(d,t,e,l,i,s,r){var o=this.cutX,a=this.cutY,u=this.cutWidth,f=this.cutHeight,v=this.realWidth,c=this.realHeight;t=S(t,0,v),e=S(e,0,c),l=S(l,0,v-t),i=S(i,0,c-e);var g=o+t,p=a+e,T=l,C=i,M=this.data;if(M.trim){var A=M.spriteSourceSize;l=S(l,0,A.x+u-t),i=S(i,0,A.y+f-e);var R=t+l,P=e+i,L=!(A.rR||A.y>P);if(L){var F=Math.max(A.x,t),w=Math.max(A.y,e),O=Math.min(A.r,R)-F,B=Math.min(A.b,P)-w;T=O,C=B,s?g=o+(u-(F-A.x)-O):g=o+(F-A.x),r?p=a+(f-(w-A.y)-B):p=a+(w-A.y),t=F,e=w,l=O,i=B}else g=0,p=0,T=0,C=0}else s&&(g=o+(u-t-l)),r&&(p=a+(f-e-i));var I=this.source.width,D=this.source.height;return d.u0=Math.max(0,g/I),d.v0=1-Math.max(0,p/D),d.u1=Math.min(1,(g+T)/I),d.v1=1-Math.min(1,(p+C)/D),d.x=t,d.y=e,d.cx=g,d.cy=p,d.cw=T,d.ch=C,d.width=l,d.height=i,d.flipX=s,d.flipY=r,d},updateCropUVs:function(d,t,e){return this.setCropUVs(d,d.x,d.y,d.width,d.height,t,e)},setUVs:function(d,t,e,l,i,s){var r=this.data.drawImage;return r.width=d,r.height=t,this.u0=e,this.v0=l,this.u1=i,this.v1=s,this},updateUVs:function(){var d=this.cutX,t=this.cutY,e=this.cutWidth,l=this.cutHeight,i=this.data.drawImage;i.width=e,i.height=l;var s=this.source.width,r=this.source.height;return this.u0=d/s,this.v0=1-t/r,this.u1=(d+e)/s,this.v1=1-(t+l)/r,this},updateUVsInverted:function(){var d=this.source.width,t=this.source.height;return this.u0=(this.cutX+this.cutHeight)/d,this.v0=1-this.cutY/t,this.u1=this.cutX/d,this.v1=1-(this.cutY+this.cutWidth)/t,this},clone:function(){var d=new h(this.texture,this.name,this.sourceIndex);return d.cutX=this.cutX,d.cutY=this.cutY,d.cutWidth=this.cutWidth,d.cutHeight=this.cutHeight,d.x=this.x,d.y=this.y,d.width=this.width,d.height=this.height,d.halfWidth=this.halfWidth,d.halfHeight=this.halfHeight,d.centerX=this.centerX,d.centerY=this.centerY,d.rotated=this.rotated,d.data=x(!0,d.data,this.data),d.updateUVs(),d},destroy:function(){this.texture=null,this.source=null,this.customData=null,this.data=null},glTexture:{get:function(){return this.source.glTexture}},realWidth:{get:function(){return this.data.sourceSize.w}},realHeight:{get:function(){return this.data.sourceSize.h}},radius:{get:function(){return this.data.radius}},trimmed:{get:function(){return this.data.trim}},scale9:{get:function(){return this.data.scale9}},is3Slice:{get:function(){return this.data.is3Slice}},canvasData:{get:function(){return this.data.drawImage}}});E.exports=h},79237:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(4327),x=n(11876),h='Texture "%s" has no frame "%s"',d=new m({initialize:function(e,l,i,s,r){Array.isArray(i)||(i=[i]),this.manager=e,this.key=l,this.source=[],this.dataSource=[],this.frames={},this.customData={},this.firstFrame="__BASE",this.frameTotal=0,this.smoothPixelArt=null;for(var o=0;or&&(r=u.cutX+u.cutWidth),u.cutY+u.cutHeight>o&&(o=u.cutY+u.cutHeight)}return{x:i,y:s,width:r-i,height:o-s}},getFrameNames:function(t){t===void 0&&(t=!1);var e=Object.keys(this.frames);if(!t){var l=e.indexOf("__BASE");l!==-1&&e.splice(l,1)}return e},getSourceImage:function(t){(t==null||this.frameTotal===1)&&(t="__BASE");var e=this.frames[t];return e?e.source.image:(console.warn(h,this.key,t),this.frames.__BASE.source.image)},getDataSourceImage:function(t){(t==null||this.frameTotal===1)&&(t="__BASE");var e=this.frames[t],l;return e?l=e.sourceIndex:(console.warn(h,this.key,t),l=this.frames.__BASE.sourceIndex),this.dataSource[l].image},setDataSource:function(t){Array.isArray(t)||(t=[t]);for(var e=0;e{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(27919),S=n(57382),x=n(83419),h=n(40987),d=n(8054),t=n(81320),e=n(50792),l=n(69442),i=n(4327),s=n(8443),r=n(35154),o=n(88571),a=n(41212),u=n(61309),f=n(87841),v=n(79237),c=n(20839),g=new x({Extends:e,initialize:function(T){e.call(this),this.game=T,this.name="TextureManager",this.list={},this._tempCanvas=m.create2D(this),this._tempContext=this._tempCanvas.getContext("2d",{willReadFrequently:!0}),this._pending=0,this.stamp,this.stampCrop=new f,this.tileSprite,this.silentWarnings=!1,T.events.once(s.BOOT,this.boot,this)},boot:function(){this._pending=3,this.on(l.LOAD,this.updatePending,this),this.on(l.ERROR,this.updatePending,this);var p=this.game.config;p.defaultImage!==null&&this.addBase64("__DEFAULT",p.defaultImage),p.missingImage!==null&&this.addBase64("__MISSING",p.missingImage),p.whiteImage!==null&&this.addBase64("__WHITE",p.whiteImage),this.game.renderer&&this.game.renderer.gl&&this.addUint8Array("__NORMAL",new Uint8Array([127,127,255,255]),1,1),this.game.events.once(s.DESTROY,this.destroy,this),this.game.events.once(s.SYSTEM_READY,function(T){this.stamp=new o(T).setOrigin(0),this.tileSprite=new c(T,0,0,256,256,"__WHITE").setOrigin(0)},this)},updatePending:function(){this._pending--,this._pending===0&&(this.off(l.LOAD),this.off(l.ERROR),this.emit(l.READY))},checkKey:function(p){return!p||typeof p!="string"||this.exists(p)?(this.silentWarnings||console.error("Texture key already in use: "+p),!1):!0},remove:function(p){if(typeof p=="string")if(this.exists(p))p=this.get(p);else return this.silentWarnings||console.warn("No texture found matching key: "+p),this;var T=p.key;return this.list.hasOwnProperty(T)&&(p.destroy(),this.emit(l.REMOVE,T),this.emit(l.REMOVE_KEY+T)),this},removeKey:function(p){return this.list.hasOwnProperty(p)&&delete this.list[p],this},addBase64:function(p,T){if(this.checkKey(p)){var C=this,M=new Image;M.onerror=function(){C.emit(l.ERROR,p)},M.onload=function(){var A=C.create(p,M);A&&(u.Image(A,0),C.emit(l.ADD,p,A),C.emit(l.ADD_KEY+p,A),C.emit(l.LOAD,p,A))},M.src=T}return this},getBase64:function(p,T,C,M){C===void 0&&(C="image/png"),M===void 0&&(M=.92);var A="",R=this.getFrame(p,T);if(R&&(R.source.isRenderTexture||R.source.isGLTexture))this.silentWarnings||console.warn("Cannot getBase64 from WebGL Texture");else if(R){var P=R.canvasData,L=m.create2D(this,P.width,P.height),F=L.getContext("2d",{willReadFrequently:!0});P.width>0&&P.height>0&&F.drawImage(R.source.image,P.x,P.y,P.width,P.height,0,0,P.width,P.height),A=L.toDataURL(C,M),m.remove(L)}return A},addImage:function(p,T,C){var M=null;return this.checkKey(p)&&(M=this.create(p,T),u.Image(M,0),C&&M.setDataSource(C),this.emit(l.ADD,p,M),this.emit(l.ADD_KEY+p,M)),M},addGLTexture:function(p,T){var C=null;if(this.checkKey(p)){var M=T.width,A=T.height;C=this.create(p,T,M,A),C.add("__BASE",0,0,0,M,A),this.emit(l.ADD,p,C),this.emit(l.ADD_KEY+p,C)}return C},addCompressedTexture:function(p,T,C){var M=null;if(this.checkKey(p)){if(M=this.create(p,T),M.add("__BASE",0,0,0,T.width,T.height),C){var A=function(P,L,F){Array.isArray(F.textures)||Array.isArray(F.frames)?u.JSONArray(P,L,F):u.JSONHash(P,L,F)};if(Array.isArray(C))for(var R=0;R=L.x&&p=L.y&&T=L.x&&p=L.y&&T{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(27919),S=n(83419),x=n(50030),h=n(29795),d=n(82751),t=new S({initialize:function(l,i,s,r,o){o===void 0&&(o=!0);var a=l.manager.game;this.renderer=a.renderer,this.texture=l,this.source=i,this.image=i.compressed?null:i,this.compressionAlgorithm=i.compressed?i.format:null,this.resolution=1,this.width=s||i.naturalWidth||i.videoWidth||i.width||0,this.height=r||i.naturalHeight||i.videoHeight||i.height||0,this.scaleMode=h.DEFAULT,this.isCanvas=i instanceof HTMLCanvasElement,this.isVideo=window.hasOwnProperty("HTMLVideoElement")&&i instanceof HTMLVideoElement,this.isRenderTexture=i.type==="RenderTexture"||i.type==="DynamicTexture",this.isGLTexture=i instanceof d,this.isPowerOf2=x(this.width,this.height),this.glTexture=null,this.flipY=o,this.init(a)},init:function(e){var l=this.renderer;if(l){var i=this.source;if(l.gl){var s=this.image,r=this.flipY,o=this.width,a=this.height,u=this.scaleMode;this.isCanvas?this.glTexture=l.createCanvasTexture(s,!1,r):this.isVideo?this.glTexture=l.createVideoTexture(s,!1,r):this.isRenderTexture?this.glTexture=l.createTextureFromSource(null,o,a,u,void 0,r):this.isGLTexture?this.glTexture=i:this.compressionAlgorithm?this.glTexture=l.createTextureFromSource(i,void 0,void 0,u,void 0,r):i instanceof Uint8Array?this.glTexture=l.createUint8ArrayTexture(i,o,a,u,void 0,r):this.glTexture=l.createTextureFromSource(s,o,a,u,void 0,r)}else this.isRenderTexture&&(this.image=i.canvas)}e.config.antialias||this.setFilter(1)},setFilter:function(e){this.renderer&&this.renderer.gl&&this.renderer.setTextureFilter(this.glTexture,e),this.scaleMode=e},setFlipY:function(e){return e===void 0&&(e=!0),e===this.flipY?this:(this.flipY=e,this.update(),this)},setWrap:function(e,l){return this.renderer&&this.renderer.gl&&this.renderer.setTextureWrap(this.glTexture,e,l),this},update:function(){var e=this.renderer,l=this.image,i=this.flipY,s=e.gl;if(s){var r=this.glTexture;this.isCanvas?e.updateCanvasTexture(l,r,i):this.isVideo?e.updateVideoTexture(l,r,i):r.update(l,this.width,this.height,i,r.wrapS,r.wrapT,r.magFilter,r.minFilter,r.format)}},updateSize:function(e,l){this.width===e&&this.height===l||(this.width=e,this.height=l,this.isPowerOf2=x(e,l))},destroy:function(){this.glTexture&&this.renderer.deleteTexture(this.glTexture),this.isCanvas&&m.remove(this.image),this.renderer=null,this.texture=null,this.source=null,this.image=null,this.glTexture=null}});E.exports=t},43378:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={CLAMP_TO_EDGE:33071,REPEAT:10497,MIRRORED_REPEAT:33648};E.exports=y},19673:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={LINEAR:0,NEAREST:1};E.exports=y},44538:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="addtexture"},63486:E=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="addtexture-"},94851:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="onerror"},29099:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="onload"},8678:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="ready"},86415:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="removetexture"},30879:E=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="removetexture-"},69442:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={ADD:n(44538),ADD_KEY:n(63486),ERROR:n(94851),LOAD:n(29099),READY:n(8678),REMOVE:n(86415),REMOVE_KEY:n(30879)}},27458:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(79291),S=n(19673),x=n(43378),h={CanvasTexture:n(57382),DynamicTexture:n(81320),Events:n(69442),FilterMode:S,Frame:n(4327),Parsers:n(61309),Texture:n(79237),TextureManager:n(17130),TextureSource:n(11876),WrapMode:x};h=m(!1,h,S),h=m(!1,h,x),E.exports=h},89905:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){if(!S.getElementsByTagName("TextureAtlas")){console.warn("Invalid Texture Atlas XML given");return}var x=n.source[m];n.add("__BASE",m,0,0,x.width,x.height);for(var h=S.getElementsByTagName("SubTexture"),d,t=0;t{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){var S=n.source[m];return n.add("__BASE",m,0,0,S.width,S.height),n};E.exports=y},4832:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){var S=n.source[m];return n.add("__BASE",m,0,0,S.width,S.height),n};E.exports=y},78566:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(41786),S=function(x,h,d){if(!d.frames&&!d.textures){console.warn("Invalid Texture Atlas JSON Array");return}var t=x.source[h];x.add("__BASE",h,0,0,t.width,t.height);for(var e=Array.isArray(d.textures)?d.textures[h].frames:d.frames,l,i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(41786),S=function(x,h,d){if(!d.frames){console.warn("Invalid Texture Atlas JSON Hash given, missing 'frames' Object");return}var t=x.source[h];x.add("__BASE",h,0,0,t.width,t.height);var e=d.frames,l;for(var i in e)if(e.hasOwnProperty(i)){var s=e[i];if(l=x.add(i,h,s.frame.x,s.frame.y,s.frame.w,s.frame.h),!l){console.warn("Invalid atlas json, frame already exists: "+i);continue}s.trimmed&&l.setTrim(s.sourceSize.w,s.sourceSize.h,s.spriteSourceSize.x,s.spriteSourceSize.y,s.spriteSourceSize.w,s.spriteSourceSize.h),s.rotated&&(l.rotated=!0,l.updateUVsInverted());var r=s.anchor||s.pivot;r&&(l.customPivot=!0,l.pivotX=r.x,l.pivotY=r.y),s.scale9Borders&&l.setScale9(s.scale9Borders.x,s.scale9Borders.y,s.scale9Borders.w,s.scale9Borders.h),l.customData=m(s)}for(var o in d)o!=="frames"&&(Array.isArray(d[o])?x.customData[o]=d[o].slice(0):x.customData[o]=d[o]);return x};E.exports=S},31403:E=>{/** + * @author Richard Davey + * @copyright 2021 Photon Storm Ltd. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){var m=[171,75,84,88,32,49,49,187,13,10,26,10],S,x=new Uint8Array(n,0,12);for(S=0;S>1),v=Math.max(1,v>>1),u+=c}return{mipmaps:a,width:i,height:s,internalFormat:l,compressed:!0,generateMipmap:!1}};E.exports=y},82038:E=>{/** + * @author Richard Davey + * @copyright 2021 Photon Storm Ltd. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */function y(T,C,M,A,R,P,L){return L===void 0&&(L=16),Math.floor((T+M)/R)*Math.floor((C+A)/P)*L}function n(T,C){return T=Math.max(T,16),C=Math.max(C,8),T*C/4}function m(T,C){return T=Math.max(T,8),C=Math.max(C,8),T*C/2}function S(T,C){return Math.ceil(T/4)*Math.ceil(C/4)*16}function x(T,C){return y(T,C,3,3,4,4,8)}function h(T,C){return y(T,C,3,3,4,4)}function d(T,C){return y(T,C,4,3,5,4)}function t(T,C){return y(T,C,4,4,5,5)}function e(T,C){return y(T,C,5,4,6,5)}function l(T,C){return y(T,C,5,5,6,6)}function i(T,C){return y(T,C,7,4,8,5)}function s(T,C){return y(T,C,7,5,8,6)}function r(T,C){return y(T,C,7,7,8,8)}function o(T,C){return y(T,C,9,4,10,5)}function a(T,C){return y(T,C,9,5,10,6)}function u(T,C){return y(T,C,9,7,10,8)}function f(T,C){return y(T,C,9,9,10,10)}function v(T,C){return y(T,C,11,9,12,10)}function c(T,C){return y(T,C,11,11,12,12)}var g={0:{sizeFunc:n,glFormat:[35841]},1:{sizeFunc:n,glFormat:[35843]},2:{sizeFunc:m,glFormat:[35840]},3:{sizeFunc:m,glFormat:[35842]},6:{sizeFunc:x,glFormat:[36196]},7:{sizeFunc:x,glFormat:[33776,35916]},8:{sizeFunc:h,glFormat:[33777,35917]},9:{sizeFunc:h,glFormat:[33778,35918]},11:{sizeFunc:h,glFormat:[33779,35919]},14:{sizeFunc:S,glFormat:[36494,36495]},15:{sizeFunc:S,glFormat:[36492,36493]},22:{sizeFunc:x,glFormat:[37492,37493]},23:{sizeFunc:h,glFormat:[37496,37497]},24:{sizeFunc:x,glFormat:[37494,37495]},25:{sizeFunc:x,glFormat:[37488]},26:{sizeFunc:h,glFormat:[37490]},27:{sizeFunc:h,glFormat:[37808,37840]},28:{sizeFunc:d,glFormat:[37809,37841]},29:{sizeFunc:t,glFormat:[37810,37842]},30:{sizeFunc:e,glFormat:[37811,37843]},31:{sizeFunc:l,glFormat:[37812,37844]},32:{sizeFunc:i,glFormat:[37813,37845]},33:{sizeFunc:s,glFormat:[37814,37846]},34:{sizeFunc:r,glFormat:[37815,37847]},35:{sizeFunc:o,glFormat:[37816,37848]},36:{sizeFunc:a,glFormat:[37817,37849]},37:{sizeFunc:u,glFormat:[37818,37850]},38:{sizeFunc:f,glFormat:[37819,37851]},39:{sizeFunc:v,glFormat:[37820,37852]},40:{sizeFunc:c,glFormat:[37821,37853]}},p=function(T){for(var C=new Uint32Array(T,0,13),M=C[0],A=M===55727696,R=A?C[2]:C[3],P=C[4],L=g[R].glFormat[P],F=g[R].sizeFunc,w=C[11],O=C[7],B=C[6],I=52+C[12],D=new Uint8Array(T,I),N=new Array(w),z=0,V=O,U=B,G=0;G>1),U=Math.max(1,U>>1),z+=b}return{mipmaps:N,width:O,height:B,internalFormat:L,compressed:!0,generateMipmap:!1}};E.exports=p},75549:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(95540),S=function(x,h,d,t,e,l,i){var s=m(i,"frameWidth",null),r=m(i,"frameHeight",s);if(s===null)throw new Error("TextureManager.SpriteSheet: Invalid frameWidth given.");var o=x.source[h];x.add("__BASE",h,0,0,o.width,o.height);var a=m(i,"startFrame",0),u=m(i,"endFrame",-1),f=m(i,"margin",0),v=m(i,"spacing",0),c=Math.floor((e-f+v)/(s+v)),g=Math.floor((l-f+v)/(r+v)),p=c*g;p===0&&console.warn("SpriteSheet frame dimensions will result in zero frames for texture:",x.key),(a>p||a<-p)&&(a=0),a<0&&(a=p+a),(u===-1||u>p||ue&&(M=L-e),F>l&&(A=F-l),P>=a&&P<=u&&(x.add(R,h,d+T,t+C,s-M,r-A),R++),T+=s+v,T+s>e&&(T=f,C+=r+v)}return x};E.exports=S},47534:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(95540),S=function(x,h,d){var t=m(d,"frameWidth",null),e=m(d,"frameHeight",t);if(!t)throw new Error("TextureManager.SpriteSheetFromAtlas: Invalid frameWidth given.");var l=x.source[0];x.add("__BASE",0,0,0,l.width,l.height),m(d,"startFrame",0),m(d,"endFrame",-1);for(var i=m(d,"margin",0),s=m(d,"spacing",0),r=h.cutX,o=h.cutY,a=h.cutWidth,u=h.cutHeight,f=h.realWidth,v=h.realHeight,c=Math.floor((f-i+s)/(t+s)),g=Math.floor((v-i+s)/(e+s)),p=h.x,T=t-p,C=t-(f-a-p),M=h.y,A=e-M,R=e-(v-u-M),P,L=i,F=i,w=0,O=0,B=0;B{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=0,n=function(S,x,h,d){var t=y-d.y-d.height;S.add(h,x,d.x,t,d.width,d.height)},m=function(S,x,h){var d=S.source[x];S.add("__BASE",x,0,0,d.width,d.height),y=d.height;for(var t=h.split(` +`),e=/^[ ]*(- )*(\w+)+[: ]+(.*)/,l="",i="",s={x:0,y:0,width:0,height:0},r=0;r{/** + * @author Ben Richards + * @copyright 2024 Photon Storm Ltd. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(50030),S=function(l){for(var i=l.mipmaps,s=1;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={AtlasXML:n(89905),Canvas:n(72893),Image:n(4832),JSONArray:n(78566),JSONHash:n(39711),KTXParser:n(31403),PVRParser:n(82038),SpriteSheet:n(75549),SpriteSheetFromAtlas:n(47534),UnityYAML:n(86147)}},80341:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={CSV:0,TILED_JSON:1,ARRAY_2D:2,WELTMEISTER:3}},16536:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h,d,t,e,l,i,s){(t===void 0||t<=0)&&(t=32),(e===void 0||e<=0)&&(e=32),l===void 0&&(l=0),i===void 0&&(i=0),this.name=h,this.firstgid=d|0,this.imageWidth=t|0,this.imageHeight=e|0,this.imageMargin=l|0,this.imageSpacing=i|0,this.properties=s||{},this.images=[],this.total=0},containsImageIndex:function(x){return x>=this.firstgid&&x{/** + * @author Richard Davey + * @copyright 2021 Photon Storm Ltd. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=new m({initialize:function(h){if(this.gids=[],h!==void 0)for(var d=0;d{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(80341),S=n(87010),x=n(46177),h=n(49075),d=function(t,e,l,i,s,r,o,a){l===void 0&&(l=32),i===void 0&&(i=32),s===void 0&&(s=10),r===void 0&&(r=10),a===void 0&&(a=!1);var u=null;if(Array.isArray(o)){var f=e!==void 0?e:"map";u=x(f,m.ARRAY_2D,o,l,i,a)}else if(e!==void 0){var v=t.cache.tilemap.get(e);v?u=x(e,v.format,v.data,l,i,a):console.warn("No map data found for key "+e)}return u===null&&(u=new S({tileWidth:l,tileHeight:i,width:s,height:r})),new h(t,u)};E.exports=d},23029:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(31401),x=n(91907),h=n(62644),d=n(93232),t=new m({Mixins:[S.AlphaSingle,S.Flip,S.Visible],initialize:function(l,i,s,r,o,a,u,f){this.layer=l,this.index=i,this.x=s,this.y=r,this.width=o,this.height=a,this.right,this.bottom,this.baseWidth=u!==void 0?u:o,this.baseHeight=f!==void 0?f:a,this.pixelX=0,this.pixelY=0,this.updatePixelXY(),this.properties={},this.rotation=0,this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceLeft=!1,this.faceRight=!1,this.faceTop=!1,this.faceBottom=!1,this.collisionCallback=void 0,this.collisionCallbackContext=this,this.tint=16777215,this.tintFill=!1,this.physics={}},containsPoint:function(e,l){return!(ethis.right||l>this.bottom)},copy:function(e){return this.index=e.index,this.alpha=e.alpha,this.properties=h(e.properties),this.visible=e.visible,this.setFlip(e.flipX,e.flipY),this.tint=e.tint,this.rotation=e.rotation,this.collideUp=e.collideUp,this.collideDown=e.collideDown,this.collideLeft=e.collideLeft,this.collideRight=e.collideRight,this.collisionCallback=e.collisionCallback,this.collisionCallbackContext=e.collisionCallbackContext,this},getCollisionGroup:function(){return this.tileset?this.tileset.getTileCollisionGroup(this.index):null},getTileData:function(){return this.tileset?this.tileset.getTileData(this.index):null},getLeft:function(e){var l=this.tilemapLayer;if(l){var i=l.tileToWorldXY(this.x,this.y,void 0,e);return i.x}return this.x*this.baseWidth},getRight:function(e){var l=this.tilemapLayer;return l?this.getLeft(e)+this.width*l.scaleX:this.getLeft(e)+this.width},getTop:function(e){var l=this.tilemapLayer;if(l){var i=l.tileToWorldXY(this.x,this.y,void 0,e);return i.y}return this.y*this.baseWidth-(this.height-this.baseHeight)},getBottom:function(e){var l=this.tilemapLayer;return l?this.getTop(e)+this.height*l.scaleY:this.getTop(e)+this.height},getBounds:function(e,l){return l===void 0&&(l=new d),l.x=this.getLeft(e),l.y=this.getTop(e),l.width=this.getRight(e)-l.x,l.height=this.getBottom(e)-l.y,l},getCenterX:function(e){return(this.getLeft(e)+this.getRight(e))/2},getCenterY:function(e){return(this.getTop(e)+this.getBottom(e))/2},intersects:function(e,l,i,s){return!(i<=this.pixelX||s<=this.pixelY||e>=this.right||l>=this.bottom)},isInteresting:function(e,l){return e&&l?this.canCollide||this.hasInterestingFace:e?this.collides:l?this.hasInterestingFace:!1},resetCollision:function(e){if(e===void 0&&(e=!0),this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1,e){var l=this.tilemapLayer;l&&this.tilemapLayer.calculateFacesAt(this.x,this.y)}return this},resetFaces:function(){return this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1,this},setCollision:function(e,l,i,s,r){if(l===void 0&&(l=e),i===void 0&&(i=e),s===void 0&&(s=e),r===void 0&&(r=!0),this.collideLeft=e,this.collideRight=l,this.collideUp=i,this.collideDown=s,this.faceLeft=e,this.faceRight=l,this.faceTop=i,this.faceBottom=s,r){var o=this.tilemapLayer;o&&this.tilemapLayer.calculateFacesAt(this.x,this.y)}return this},setCollisionCallback:function(e,l){return e===null?(this.collisionCallback=void 0,this.collisionCallbackContext=void 0):(this.collisionCallback=e,this.collisionCallbackContext=l),this},setSize:function(e,l,i,s){return e!==void 0&&(this.width=e),l!==void 0&&(this.height=l),i!==void 0&&(this.baseWidth=i),s!==void 0&&(this.baseHeight=s),this.updatePixelXY(),this},updatePixelXY:function(){var e=this.layer.orientation;if(e===x.ORTHOGONAL)this.pixelX=this.x*this.baseWidth,this.pixelY=this.y*this.baseHeight;else if(e===x.ISOMETRIC)this.pixelX=(this.x-this.y)*this.baseWidth*.5,this.pixelY=(this.x+this.y)*this.baseHeight*.5;else if(e===x.STAGGERED)this.pixelX=this.x*this.baseWidth+this.y%2*(this.baseWidth/2),this.pixelY=this.y*(this.baseHeight/2);else if(e===x.HEXAGONAL){var l=this.layer.staggerAxis,i=this.layer.staggerIndex,s=this.layer.hexSideLength,r,o;l==="y"?(o=(this.baseHeight-s)/2+s,i==="odd"?this.pixelX=this.x*this.baseWidth+this.y%2*(this.baseWidth/2):this.pixelX=this.x*this.baseWidth-this.y%2*(this.baseWidth/2),this.pixelY=this.y*o):l==="x"&&(r=(this.baseWidth-s)/2+s,this.pixelX=this.x*r,i==="odd"?this.pixelY=this.y*this.baseHeight+this.x%2*(this.baseHeight/2):this.pixelY=this.y*this.baseHeight-this.x%2*(this.baseHeight/2))}return this.right=this.pixelX+this.baseWidth,this.bottom=this.pixelY+this.baseHeight,this},destroy:function(){this.collisionCallback=void 0,this.collisionCallbackContext=void 0,this.properties=void 0},canCollide:{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback!==void 0}},collides:{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}},hasInterestingFace:{get:function(){return this.faceTop||this.faceBottom||this.faceLeft||this.faceRight}},tileset:{get:function(){var e=this.layer.tilemapLayer;if(e){var l=e.gidMap[this.index];if(l)return l}return null}},tilemapLayer:{get:function(){return this.layer.tilemapLayer}},tilemap:{get:function(){var e=this.tilemapLayer;return e?e.tilemap:null}}});E.exports=t},49075:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(84101),S=n(83419),x=n(39506),h=n(80341),d=n(95540),t=n(14977),e=n(27462),l=n(91907),i=n(36305),s=n(19133),r=n(68287),o=n(23029),a=n(81086),u=n(44731),f=n(53180),v=n(20442),c=n(33629),g=new S({initialize:function(T,C){this.scene=T,this.tileWidth=C.tileWidth,this.tileHeight=C.tileHeight,this.width=C.width,this.height=C.height,this.orientation=C.orientation,this.renderOrder=C.renderOrder,this.format=C.format,this.version=C.version,this.properties=C.properties,this.widthInPixels=C.widthInPixels,this.heightInPixels=C.heightInPixels,this.imageCollections=C.imageCollections,this.images=C.images,this.layers=C.layers,this.tiles=C.tiles,this.tilesets=C.tilesets,this.objects=C.objects,this.currentLayerIndex=0,this.hexSideLength=C.hexSideLength;var M=this.orientation;this._convert={WorldToTileXY:a.GetWorldToTileXYFunction(M),WorldToTileX:a.GetWorldToTileXFunction(M),WorldToTileY:a.GetWorldToTileYFunction(M),TileToWorldXY:a.GetTileToWorldXYFunction(M),TileToWorldX:a.GetTileToWorldXFunction(M),TileToWorldY:a.GetTileToWorldYFunction(M),GetTileCorners:a.GetTileCornersFunction(M)}},setRenderOrder:function(p){var T=["right-down","left-down","right-up","left-up"];return typeof p=="number"&&(p=T[p]),T.indexOf(p)>-1&&(this.renderOrder=p),this},addTilesetImage:function(p,T,C,M,A,R,P,L){if(p===void 0)return null;T==null&&(T=p);var F=this.scene.sys.textures;if(!F.exists(T))return console.warn('Texture key "%s" not found',T),null;var w=F.get(T),O=this.getTilesetIndex(p);if(O===null&&this.format===h.TILED_JSON)return console.warn('Tilemap has no tileset "%s". Its tilesets are %o',p,this.tilesets),null;var B=this.tilesets[O];return B?((C||M)&&B.setTileSize(C,M),(A||R)&&B.setSpacing(A,R),B.setImage(w),B):(C===void 0&&(C=this.tileWidth),M===void 0&&(M=this.tileHeight),A===void 0&&(A=0),R===void 0&&(R=0),P===void 0&&(P=0),L===void 0&&(L={x:0,y:0}),B=new c(p,P,C,M,A,R,void 0,void 0,L),B.setImage(w),this.tilesets.push(B),this.tiles=m(this),B)},copy:function(p,T,C,M,A,R,P,L){return L=this.getLayer(L),L!==null?(a.Copy(p,T,C,M,A,R,P,L),this):null},createBlankLayer:function(p,T,C,M,A,R,P,L){C===void 0&&(C=0),M===void 0&&(M=0),A===void 0&&(A=this.width),R===void 0&&(R=this.height),P===void 0&&(P=this.tileWidth),L===void 0&&(L=this.tileHeight);var F=this.getLayerIndex(p);if(F!==null)return console.warn("Invalid Tilemap Layer ID: "+p),null;for(var w=new t({name:p,tileWidth:P,tileHeight:L,width:A,height:R,orientation:this.orientation,hexSideLength:this.hexSideLength}),O,B=0;B1&&console.warn("TilemapGPULayer can only use one tileset. Using the first item given."),T=T[0]),L=new f(this.scene,this,R,T,C,M)):(L=new v(this.scene,this,R,T,C,M),L.setRenderOrder(this.renderOrder)),this.scene.sys.displayList.add(L),L},createFromObjects:function(p,T,C){C===void 0&&(C=!0);var M=[],A=this.getObjectLayer(p);if(!A)return console.warn("createFromObjects: Invalid objectLayerName given: "+p),M;var R=new e(C?this.tilesets:void 0);Array.isArray(T)||(T=[T]);var P=A.objects;T.sortByY&&P.sort(function(j,J){return j.y>J.y?1:-1});for(var L=0;L-1&&this.putTileAt(T,R.x,R.y,C,R.tilemapLayer)}return M},removeTileAt:function(p,T,C,M,A){return C===void 0&&(C=!0),M===void 0&&(M=!0),A=this.getLayer(A),A===null?null:a.RemoveTileAt(p,T,C,M,A)},removeTileAtWorldXY:function(p,T,C,M,A,R){return C===void 0&&(C=!0),M===void 0&&(M=!0),R=this.getLayer(R),R===null?null:a.RemoveTileAtWorldXY(p,T,C,M,A,R)},renderDebug:function(p,T,C){return C=this.getLayer(C),C===null?null:(this.orientation===l.ORTHOGONAL&&a.RenderDebug(p,T,C),this)},renderDebugFull:function(p,T){for(var C=this.layers,M=0;M{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(44603),S=n(31989);m.register("tilemap",function(x){var h=x!==void 0?x:{};return S(this.scene,h.key,h.tileWidth,h.tileHeight,h.width,h.height,h.data,h.insertNull)})},46029:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(39429),S=n(31989);m.register("tilemap",function(x,h,d,t,e,l,i){return x===null&&(x=void 0),h===null&&(h=void 0),d===null&&(d=void 0),t===null&&(t=void 0),e===null&&(e=void 0),S(this.scene,x,h,d,t,e,l,i)})},53180:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(67743),S=n(83419),x=n(44731),h=n(57912),d=new S({Extends:x,Mixins:[h],initialize:function(e,l,i,s,r,o){x.call(this,"TilemapGPULayer",e,l,i,r,o),this.tileset=null,this.layerDataTexture=null,this.setTileset(s),this.initRenderNodes(this._defaultRenderNodesMap)},_defaultRenderNodesMap:{get:function(){return m}},setTileset:function(t){typeof t=="string"&&(t=this.tilemap.getTileset(t)),this.tileset=t,this.generateLayerDataTexture()},generateLayerDataTexture:function(){for(var t=this.layer,e=this.tileset,l=e.firstgid,i=this.scene.renderer,s=e.getAnimationDataIndexMap(i),r=new Uint32Array(t.width*t.height),o=0;o{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(6736),E.exports={renderWebGL:S,renderCanvas:x}},6736:E=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){var h=m.customRenderNodes.Submitter||m.defaultRenderNodes.Submitter;h.run(S,m,x)};E.exports=y},20442:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(79317),S=n(83419),x=n(81086),h=n(19218),d=n(44731),t=new S({Extends:d,Mixins:[h],initialize:function(l,i,s,r,o,a){d.call(this,"TilemapLayer",l,i,s,o,a),this.tileset=[],this.tilesDrawn=0,this.tilesTotal=this.layer.width*this.layer.height,this.culledTiles=[],this.skipCull=!1,this.cullPaddingX=1,this.cullPaddingY=1,this.cullCallback=x.GetCullTilesFunction(this.layer.orientation),this._renderOrder=0,this.setTilesets(r),this.initRenderNodes(this._defaultRenderNodesMap)},_defaultRenderNodesMap:{get:function(){return m}},setTilesets:function(e){var l=[],i=[],s=this.tilemap;Array.isArray(e)||(e=[e]);for(var r=0;r=0&&e<4&&(this._renderOrder=e),this},cull:function(e){return this.cullCallback(this.layer,e,this.culledTiles,this._renderOrder)},setSkipCull:function(e){return e===void 0&&(e=!0),this.skipCull=e,this},setCullPadding:function(e,l){return e===void 0&&(e=1),l===void 0&&(l=1),this.cullPaddingX=e,this.cullPaddingY=l,this},setTint:function(e,l,i,s,r,o){e===void 0&&(e=16777215);var a=function(u){u.tint=e,u.tintFill=!1};return this.forEachTile(a,this,l,i,s,r,o)},setTintFill:function(e,l,i,s,r,o){e===void 0&&(e=16777215);var a=function(u){u.tint=e,u.tintFill=!0};return this.forEachTile(a,this,l,i,s,r,o)},destroy:function(e){this.culledTiles.length=0,this.cullCallback=null,d.prototype.destroy.call(this,e)}});E.exports=t},44731:(E,y,n)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(78389),x=n(31401),h=n(95643),d=n(81086),t=n(26099),e=new m({Extends:h,Mixins:[x.Alpha,x.BlendMode,x.ComputedSize,x.Depth,x.ElapseTimer,x.Flip,x.GetBounds,x.Lighting,x.Mask,x.Origin,x.RenderNodes,x.Transform,x.Visible,x.ScrollFactor,S],initialize:function(i,s,r,o,a,u){h.call(this,s,i),this.isTilemap=!0,this.tilemap=r,this.layerIndex=o,this.layer=r.layers[o],this.layer.tilemapLayer=this,this.gidMap=[],this.tempVec=new t,this.collisionCategory=1,this.collisionMask=1,this.setAlpha(this.layer.alpha),this.setPosition(a,u),this.setOrigin(0,0),this.setSize(r.tileWidth*this.layer.width,r.tileHeight*this.layer.height)},addedToScene:function(){this.scene.sys.updateList.add(this)},removedFromScene:function(){this.scene.sys.updateList.remove(this)},preUpdate:function(l,i){this.updateTimer(l,i)},calculateFacesAt:function(l,i){return d.CalculateFacesAt(l,i,this.layer),this},calculateFacesWithin:function(l,i,s,r){return d.CalculateFacesWithin(l,i,s,r,this.layer),this},createFromTiles:function(l,i,s,r,o){return d.CreateFromTiles(l,i,s,r,o,this.layer)},copy:function(l,i,s,r,o,a,u){return d.Copy(l,i,s,r,o,a,u,this.layer),this},fill:function(l,i,s,r,o,a){return d.Fill(l,i,s,r,o,a,this.layer),this},filterTiles:function(l,i,s,r,o,a,u){return d.FilterTiles(l,i,s,r,o,a,u,this.layer)},findByIndex:function(l,i,s){return d.FindByIndex(l,i,s,this.layer)},findTile:function(l,i,s,r,o,a,u){return d.FindTile(l,i,s,r,o,a,u,this.layer)},forEachTile:function(l,i,s,r,o,a,u){return d.ForEachTile(l,i,s,r,o,a,u,this.layer),this},getTileAt:function(l,i,s){return d.GetTileAt(l,i,s,this.layer)},getTileAtWorldXY:function(l,i,s,r){return d.GetTileAtWorldXY(l,i,s,r,this.layer)},getIsoTileAtWorldXY:function(l,i,s,r,o){s===void 0&&(s=!0);var a=this.tempVec;return d.IsometricWorldToTileXY(l,i,!0,a,o,this.layer,s),this.getTileAt(a.x,a.y,r)},getTilesWithin:function(l,i,s,r,o){return d.GetTilesWithin(l,i,s,r,o,this.layer)},getTilesWithinShape:function(l,i,s){return d.GetTilesWithinShape(l,i,s,this.layer)},getTilesWithinWorldXY:function(l,i,s,r,o,a){return d.GetTilesWithinWorldXY(l,i,s,r,o,a,this.layer)},hasTileAt:function(l,i){return d.HasTileAt(l,i,this.layer)},hasTileAtWorldXY:function(l,i,s){return d.HasTileAtWorldXY(l,i,s,this.layer)},putTileAt:function(l,i,s,r){return d.PutTileAt(l,i,s,r,this.layer)},putTileAtWorldXY:function(l,i,s,r,o){return d.PutTileAtWorldXY(l,i,s,r,o,this.layer)},putTilesAt:function(l,i,s,r){return d.PutTilesAt(l,i,s,r,this.layer),this},randomize:function(l,i,s,r,o){return d.Randomize(l,i,s,r,o,this.layer),this},removeTileAt:function(l,i,s,r){return d.RemoveTileAt(l,i,s,r,this.layer)},removeTileAtWorldXY:function(l,i,s,r,o){return d.RemoveTileAtWorldXY(l,i,s,r,o,this.layer)},renderDebug:function(l,i){return d.RenderDebug(l,i,this.layer),this},replaceByIndex:function(l,i,s,r,o,a){return d.ReplaceByIndex(l,i,s,r,o,a,this.layer),this},setCollision:function(l,i,s,r){return d.SetCollision(l,i,s,this.layer,r),this},setCollisionBetween:function(l,i,s,r){return d.SetCollisionBetween(l,i,s,r,this.layer),this},setCollisionByProperty:function(l,i,s){return d.SetCollisionByProperty(l,i,s,this.layer),this},setCollisionByExclusion:function(l,i,s){return d.SetCollisionByExclusion(l,i,s,this.layer),this},setCollisionFromCollisionGroup:function(l,i){return d.SetCollisionFromCollisionGroup(l,i,this.layer),this},setTileIndexCallback:function(l,i,s){return d.SetTileIndexCallback(l,i,s,this.layer),this},setTileLocationCallback:function(l,i,s,r,o,a){return d.SetTileLocationCallback(l,i,s,r,o,a,this.layer),this},shuffle:function(l,i,s,r){return d.Shuffle(l,i,s,r,this.layer),this},swapByIndex:function(l,i,s,r,o,a){return d.SwapByIndex(l,i,s,r,o,a,this.layer),this},tileToWorldX:function(l,i){return this.tilemap.tileToWorldX(l,i,this)},tileToWorldY:function(l,i){return this.tilemap.tileToWorldY(l,i,this)},tileToWorldXY:function(l,i,s,r){return this.tilemap.tileToWorldXY(l,i,s,r,this)},getTileCorners:function(l,i,s){return this.tilemap.getTileCorners(l,i,s,this)},weightedRandomize:function(l,i,s,r,o){return d.WeightedRandomize(i,s,r,o,l,this.layer),this},worldToTileX:function(l,i,s){return this.tilemap.worldToTileX(l,i,s,this)},worldToTileY:function(l,i,s){return this.tilemap.worldToTileY(l,i,s,this)},worldToTileXY:function(l,i,s,r,o){return this.tilemap.worldToTileXY(l,i,s,r,o,this)},destroy:function(l){l===void 0&&(l=!0),this.tilemap&&(this.layer.tilemapLayer===this&&(this.layer.tilemapLayer=void 0),l&&this.tilemap.removeLayer(this),this.tilemap=void 0,this.layer=void 0,this.gidMap=[],this.tileset=[],h.prototype.destroy.call(this))}});E.exports=e},16153:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(61340),S=new m,x=new m,h=new m,d=function(t,e,l,i){var s=e.cull(l),r=s.length,o=l.alpha*e.alpha;if(!(r===0||o<=0)){x.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY);var a=t.currentContext,u=e.gidMap;a.save(),S.copyWithScrollFactorFrom(l.matrixCombined,l.scrollX,l.scrollY,e.scrollFactorX,e.scrollFactorY),i&&S.multiply(i),S.multiply(x,h),h.setToContext(a),(!t.antialias||e.scaleX>1||e.scaleY>1)&&(a.imageSmoothingEnabled=!1);for(var f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(29747),S=m,x=m;S=n(99558),x=n(16153),E.exports={renderWebGL:S,renderCanvas:x}},99558:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(70554),S=m.getTintAppendFloatAlpha,x={frame:{source:{glTexture:null}},uvSource:{u0:0,v0:0,u1:1,v1:1},frameWidth:0,frameHeight:0},h={tintFill:0,tintTopLeft:0,tintTopRight:0,tintBottomLeft:0,tintBottomRight:0},d=function(t,e,l,i){var s=l.camera,r=e.cull(s),o=r.length,a=e.alpha;if(!(o===0||a<=0))for(var u=e.gidMap,f=e.customRenderNodes.Submitter||e.defaultRenderNodes.Submitter,v=e.customRenderNodes.Transformer||e.defaultRenderNodes.Transformer,c=e.timeElapsed,g=0;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(26099),x=new m({initialize:function(d,t,e,l,i,s,r,o,a){(e===void 0||e<=0)&&(e=32),(l===void 0||l<=0)&&(l=32),i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r={}),o===void 0&&(o={}),this.name=d,this.firstgid=t,this.tileWidth=e,this.tileHeight=l,this.tileMargin=i,this.tileSpacing=s,this.tileProperties=r,this.tileData=o,this.tileOffset=new S,a!==void 0&&this.tileOffset.set(a.x,a.y),this.image=null,this.glTexture=null,this.rows=0,this.columns=0,this.total=0,this.texCoordinates=[],this.animationSearchThreshold=64,this.maxAnimationLength=0,this._animationDataTexture=null,this._animationDataIndexMap=null},getTileProperties:function(h){return this.containsTileIndex(h)?this.tileProperties[h-this.firstgid]:null},getTileData:function(h){return this.containsTileIndex(h)?this.tileData[h-this.firstgid]:null},getTileCollisionGroup:function(h){var d=this.getTileData(h);return d&&d.objectgroup?d.objectgroup:null},containsTileIndex:function(h){return h>=this.firstgid&&h>>1,l=e[r],o=l.startTime,o<=d&&o+l.duration>d)return l.tileid+this.firstgid;ot.width||d.height>t.height?this.updateTileData(d.width,d.height):this.updateTileData(t.width,t.height,t.x,t.y),this},setTileSize:function(h,d){return h!==void 0&&(this.tileWidth=h),d!==void 0&&(this.tileHeight=d),this.image&&this.updateTileData(this.image.source[0].width,this.image.source[0].height),this},setSpacing:function(h,d){return h!==void 0&&(this.tileMargin=h),d!==void 0&&(this.tileSpacing=d),this.image&&this.updateTileData(this.image.source[0].width,this.image.source[0].height),this},updateTileData:function(h,d,t,e){t===void 0&&(t=0),e===void 0&&(e=0);var l=(d-this.tileMargin*2+this.tileSpacing)/(this.tileHeight+this.tileSpacing),i=(h-this.tileMargin*2+this.tileSpacing)/(this.tileWidth+this.tileSpacing);(l%1!==0||i%1!==0)&&console.warn("Image tile area not tile size multiple in: "+this.name),l=Math.floor(l),i=Math.floor(i),this.rows=l,this.columns=i,this.total=l*i,this.texCoordinates.length=0;for(var s=this.tileMargin+t,r=this.tileMargin+e,o=0;o4096*4096/2)throw new Error("Tileset.animationDataTexture: too many animations - total number of animations plus animation frames is max 8388608, got "+c);var g=c*2,p=Math.min(g,4096),T=Math.ceil(g/4096),C=new Uint32Array(p*T),M=0,A=e.length;for(r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7423),S=function(x,h,d){var t=m(x,h,!0,d),e=m(x,h-1,!0,d),l=m(x,h+1,!0,d),i=m(x-1,h,!0,d),s=m(x+1,h,!0,d),r=t&&t.collides;return r&&(t.faceTop=!0,t.faceBottom=!0,t.faceLeft=!0,t.faceRight=!0),e&&e.collides&&(r&&(t.faceTop=!1),e.faceBottom=!r),l&&l.collides&&(r&&(t.faceBottom=!1),l.faceTop=!r),i&&i.collides&&(r&&(t.faceLeft=!1),i.faceRight=!r),s&&s.collides&&(r&&(t.faceRight=!1),s.faceLeft=!r),t&&!t.collides&&t.resetFaces(),t};E.exports=S},42573:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7423),S=n(7386),x=function(h,d,t,e,l){for(var i=null,s=null,r=null,o=null,a=S(h,d,t,e,null,l),u=0;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=new m,x=function(h,d,t,e){var l=t.tilemapLayer,i=l.cullPaddingX,s=l.cullPaddingY,r=l.tilemap.tileToWorldXY(h,d,S,e,l);return r.x>e.worldView.x+l.scaleX*t.tileWidth*(-i-.5)&&r.xe.worldView.y+l.scaleY*t.tileHeight*(-s-1)&&r.y{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(42573),S=n(7386),x=n(62991),h=n(23029),d=function(t,e,l,i,s,r,o,a){o===void 0&&(o=!0);var u=S(t,e,l,i,null,a),f=[];u.forEach(function(M){var A=new h(M.layer,M.index,M.x,M.y,M.width,M.height,M.baseWidth,M.baseHeight);A.copy(M),f.push(A)});for(var v=s-t,c=r-e,g=0;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(62644),S=n(7386),x=n(27987),h=function(d,t,e,l,i,s){e||(e={}),Array.isArray(d)||(d=[d]);var r=s.tilemapLayer;l||(l=r.scene),i||(i=l.cameras.main);var o=s.width,a=s.height,u=S(0,0,o,a,null,s),f=[],v,c=function(C,M,A){for(var R=0;R{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(87841),S=n(63448),x=n(56583),h=new m,d=function(t,e){var l=t.tilemapLayer.tilemap,i=t.tilemapLayer,s=Math.floor(l.tileWidth*i.scaleX),r=Math.floor(l.tileHeight*i.scaleY),o=x(e.worldView.x-i.x,s,0,!0)-i.cullPaddingX,a=S(e.worldView.right-i.x,s,0,!0)+i.cullPaddingX,u=x(e.worldView.y-i.y,r,0,!0)-i.cullPaddingY,f=S(e.worldView.bottom-i.y,r,0,!0)+i.cullPaddingY;return h.setTo(o,u,a-o,f-u)};E.exports=d},30003:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(19545),S=n(32483),x=function(h,d,t,e){t===void 0&&(t=[]),e===void 0&&(e=0),t.length=0;var l=h.tilemapLayer,i=m(h,d);return(l.skipCull||l.scrollFactorX!==1||l.scrollFactorY!==1)&&(i.left=0,i.right=h.width,i.top=0,i.bottom=h.height),S(h,i,e,t),t};E.exports=x},35137:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7386),S=n(42573),x=n(20576),h=function(d,t,e,l,i,s,r){for(var o=r.collideIndexes.indexOf(d)!==-1,a=m(t,e,l,i,null,r),u=0;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7386),S=function(x,h,d,t,e,l,i,s){var r=m(d,t,e,l,i,s);return r.filter(x,h)};E.exports=S},52692:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){m===void 0&&(m=0),S===void 0&&(S=!1);var h=0,d,t,e;if(S){for(t=x.height-1;t>=0;t--)for(d=x.width-1;d>=0;d--)if(e=x.data[t][d],e&&e.index===n){if(h===m)return e;h+=1}}else for(t=0;t{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7386),S=function(x,h,d,t,e,l,i,s){var r=m(d,t,e,l,i,s);return r.find(x,h)||null};E.exports=S},97560:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7386),S=function(x,h,d,t,e,l,i,s){var r=m(d,t,e,l,i,s);r.forEach(x,h)};E.exports=S},43305:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91907),S=n(30003),x=n(9474),h=n(14018),d=n(29747),t=n(54503),e=function(l){return l===m.ORTHOGONAL?S:l===m.HEXAGONAL?x:l===m.STAGGERED?t:l===m.ISOMETRIC?h:d};E.exports=e},7423:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(62991),S=function(x,h,d,t){if(m(x,h,t)){var e=t.data[h][x]||null;return e?e.index===-1?d?e:null:e:null}else return null};E.exports=S},60540:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7423),S=n(26099),x=new S,h=function(d,t,e,l,i){return i.tilemapLayer.worldToTileXY(d,t,!0,x,l),m(x.x,x.y,e,i)};E.exports=h},55826:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h,d,t){var e=t.baseTileWidth,l=t.baseTileHeight,i=t.tilemapLayer,s=0,r=0;i&&(d||(d=i.scene.cameras.main),s=i.x+d.scrollX*(1-i.scrollFactorX),r=i.y+d.scrollY*(1-i.scrollFactorY),e*=i.scaleX,l*=i.scaleY);var o=s+x*e,a=r+h*l;return[new m(o,a),new m(o+e,a),new m(o+e,a+l),new m(o,a+l)]};E.exports=S},11758:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91907),S=n(27229),x=n(29747),h=n(55826),d=function(t){return t===m.ORTHOGONAL?h:t===m.ISOMETRIC?x:t===m.HEXAGONAL?S:(t===m.STAGGERED,x)};E.exports=d},39167:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91907),S=n(29747),x=n(97281),h=function(d){return d===m.ORTHOGONAL?x:S};E.exports=h},62e3:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91907),S=n(19951),x=n(14127),h=n(29747),d=n(97202),t=n(70326),e=function(l){return l===m.ORTHOGONAL?t:l===m.ISOMETRIC?x:l===m.HEXAGONAL?S:l===m.STAGGERED?d:h};E.exports=e},5984:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91907),S=n(29747),x=n(28054),h=n(29650),d=function(t){return t===m.ORTHOGONAL?h:t===m.STAGGERED?x:S};E.exports=d},7386:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(95540),S=function(x,h,d,t,e,l){x===void 0&&(x=0),h===void 0&&(h=0),d===void 0&&(d=l.width),t===void 0&&(t=l.height),e||(e={});var i=m(e,"isNotEmpty",!1),s=m(e,"isColliding",!1),r=m(e,"hasInterestingFace",!1);x<0&&(d+=x,x=0),h<0&&(t+=h,h=0),x+d>l.width&&(d=Math.max(l.width-x,0)),h+t>l.height&&(t=Math.max(l.height-h,0));for(var o=[],a=h;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(55738),S=n(7386),x=n(91865),h=n(29747),d=n(26099),t=n(91907),e=function(o,a){return x.RectangleToTriangle(a,o)},l=new d,i=new d,s=new d,r=function(o,a,u,f){if(f.orientation!==t.ORTHOGONAL)return console.warn("GetTilesWithinShape only works with orthogonal tilemaps"),[];if(o===void 0)return[];var v=h;o instanceof m.Circle?v=x.CircleToRectangle:o instanceof m.Rectangle?v=x.RectangleToRectangle:o instanceof m.Triangle?v=e:o instanceof m.Line&&(v=x.LineToRectangle),f.tilemapLayer.worldToTileXY(o.left,o.top,!0,i,u);var c=i.x,g=i.y;f.tilemapLayer.worldToTileXY(o.right,o.bottom,!1,s,u);var p=Math.ceil(s.x),T=Math.ceil(s.y),C=Math.max(p-c,1),M=Math.max(T-g,1),A=S(c,g,C,M,a,f),R=f.tileWidth,P=f.tileHeight;f.tilemapLayer&&(R*=f.tilemapLayer.scaleX,P*=f.tilemapLayer.scaleY);for(var L=[],F=new m.Rectangle(0,0,R,P),w=0;w{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7386),S=n(26099),x=new S,h=new S,d=function(t,e,l,i,s,r,o){var a=o.tilemapLayer.tilemap._convert.WorldToTileXY;a(t,e,!0,x,r,o);var u=x.x,f=x.y;a(t+l,e+i,!1,h,r,o);var v=Math.ceil(h.x),c=Math.ceil(h.y);return m(u,f,v-u,c-f,s,o)};E.exports=d},96113:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91907),S=n(20242),x=n(10095),h=function(d){return d===m.ORTHOGONAL?x:S};E.exports=h},16926:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91907),S=n(86625),x=n(96897),h=n(29747),d=n(15108),t=n(85896),e=function(l){return l===m.ORTHOGONAL?t:l===m.ISOMETRIC?x:l===m.HEXAGONAL?S:l===m.STAGGERED?d:h};E.exports=e},55762:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91907),S=n(20242),x=n(51900),h=n(63288),d=function(t){return t===m.ORTHOGONAL?h:t===m.STAGGERED?x:S};E.exports=d},45091:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(62991),S=function(x,h,d){if(m(x,h,d)){var t=d.data[h][x];return t!==null&&t.index>-1}else return!1};E.exports=S},24152:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(45091),S=n(26099),x=new S,h=function(d,t,e,l){l.tilemapLayer.worldToTileXY(d,t,!0,x,e);var i=x.x,s=x.y;return m(i,s,l)};E.exports=h},90454:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(63448),S=n(56583),x=function(h,d){var t=h.tilemapLayer.tilemap,e=h.tilemapLayer,l=Math.floor(t.tileWidth*e.scaleX),i=Math.floor(t.tileHeight*e.scaleY),s=h.hexSideLength,r,o,a,u;if(h.staggerAxis==="y"){var f=(i-s)/2+s;r=S(d.worldView.x-e.x,l,0,!0)-e.cullPaddingX,o=m(d.worldView.right-e.x,l,0,!0)+e.cullPaddingX,a=S(d.worldView.y-e.y,f,0,!0)-e.cullPaddingY,u=m(d.worldView.bottom-e.y,f,0,!0)+e.cullPaddingY}else{var v=(l-s)/2+s;r=S(d.worldView.x-e.x,v,0,!0)-e.cullPaddingX,o=m(d.worldView.right-e.x,v,0,!0)+e.cullPaddingX,a=S(d.worldView.y-e.y,i,0,!0)-e.cullPaddingY,u=m(d.worldView.bottom-e.y,i,0,!0)+e.cullPaddingY}return{left:r,right:o,top:a,bottom:u}};E.exports=x},9474:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(90454),S=n(32483),x=function(h,d,t,e){t===void 0&&(t=[]),e===void 0&&(e=0),t.length=0;var l=h.tilemapLayer,i=m(h,d);return l.skipCull&&l.scrollFactorX===1&&l.scrollFactorY===1&&(i.left=0,i.right=h.width,i.top=0,i.bottom=h.height),S(h,i,e,t),t};E.exports=x},27229:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(19951),S=n(26099),x=new S,h=function(d,t,e,l){var i=l.baseTileWidth,s=l.baseTileHeight,r=l.tilemapLayer;r&&(i*=r.scaleX,s*=r.scaleY);var o=m(d,t,x,e,l),a=[],u=.5773502691896257,f,v;l.staggerAxis==="y"?(f=u*i,v=s/2):(f=i/2,v=u*s);for(var c=0;c<6;c++){var g=2*Math.PI*(.5-c)/6;a.push(new S(o.x+f*Math.cos(g),o.y+v*Math.sin(g)))}return a};E.exports=h},19951:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h,d,t,e){d||(d=new m);var l=e.baseTileWidth,i=e.baseTileHeight,s=e.tilemapLayer,r=0,o=0;s&&(t||(t=s.scene.cameras.main),r=s.x+t.scrollX*(1-s.scrollFactorX),o=s.y+t.scrollY*(1-s.scrollFactorY),l*=s.scaleX,i*=s.scaleY);var a=l/2,u=i/2,f,v,c=e.staggerAxis,g=e.staggerIndex;return c==="y"?(f=r+l*x+l,v=o+1.5*h*u+u,h%2===0&&(g==="odd"?f-=a:f+=a)):c==="x"&&g==="odd"&&(f=r+1.5*x*a+a,v=o+i*x+i,x%2===0&&(g==="odd"?v-=u:v+=u)),d.set(f,v)};E.exports=S},86625:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h,d,t,e,l){t||(t=new m);var i=l.baseTileWidth,s=l.baseTileHeight,r=l.tilemapLayer;r&&(e||(e=r.scene.cameras.main),x=x-(r.x+e.scrollX*(1-r.scrollFactorX)),h=h-(r.y+e.scrollY*(1-r.scrollFactorY)),i*=r.scaleX,s*=r.scaleY);var o=.5773502691896257,a=-.3333333333333333,u=0,f=.6666666666666666,v=i/2,c=s/2,g,p,T,C,M;l.staggerAxis==="y"?(g=(x-v)/(o*i),p=(h-c)/c,T=o*g+a*p,C=u*g+f*p):(g=(x-v)/v,p=(h-c)/(o*s),T=a*g+o*p,C=f*g+u*p),M=-T-C;var A=Math.round(T),R=Math.round(C),P=Math.round(M),L=Math.abs(A-T),F=Math.abs(R-C),w=Math.abs(P-M);L>F&&L>w?A=-R-P:F>w&&(R=-A-P);var O,B=R;return l.staggerIndex==="odd"?O=B%2===0?R/2+A:R/2+A-.5:O=B%2===0?R/2+A:R/2+A+.5,t.set(O,B)};E.exports=S},62991:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return n>=0&&n=0&&m{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(33528),S=function(x,h,d,t){d===void 0&&(d=[]),t===void 0&&(t=0),d.length=0;var e=x.tilemapLayer,l=x.data,i=x.width,s=x.height,r=e.skipCull,o=0,a=i,u=0,f=s,v,c,g;if(t===0)for(c=u;c=o;v--)g=l[c][v],!(!g||g.index===-1||!g.visible||g.alpha===0)&&(!r&&!m(v,c,x,h)||d.push(g));else if(t===2)for(c=f;c>=u;c--)for(v=o;v=u;c--)for(v=a;v>=o;v--)g=l[c][v],!(!g||g.index===-1||!g.visible||g.alpha===0)&&(!r&&!m(v,c,x,h)||d.push(g));return e.tilesDrawn=d.length,e.tilesTotal=i*s,d};E.exports=S},14127:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h,d,t,e){d||(d=new m);var l=e.baseTileWidth,i=e.baseTileHeight,s=e.tilemapLayer,r=0,o=0;s&&(t||(t=s.scene.cameras.main),r=s.x+t.scrollX*(1-s.scrollFactorX),l*=s.scaleX,o=s.y+t.scrollY*(1-s.scrollFactorY),i*=s.scaleY);var a=r+(x-h)*(l/2),u=o+(x+h)*(i/2);return d.set(a,u)};E.exports=S},96897:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h,d,t,e,l,i){t||(t=new m);var s=l.baseTileWidth,r=l.baseTileHeight,o=l.tilemapLayer;o&&(e||(e=o.scene.cameras.main),h=h-(o.y+e.scrollY*(1-o.scrollFactorY)),r*=o.scaleY,x=x-(o.x+e.scrollX*(1-o.scrollFactorX)),s*=o.scaleX);var a=s/2,u=r/2;x=x-a,i||(h=h-r);var f=.5*(x/a+h/u),v=.5*(-x/a+h/u);return d&&(f=Math.floor(f),v=Math.floor(v)),t.set(f,v)};E.exports=S},71558:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(23029),S=n(62991),x=n(72023),h=n(20576),d=function(t,e,l,i,s){if(i===void 0&&(i=!0),!S(e,l,s))return null;var r,o=s.data[l][e],a=o&&o.collides;t instanceof m?(s.data[l][e]===null&&(s.data[l][e]=new m(s,t.index,e,l,s.tileWidth,s.tileHeight)),s.data[l][e].copy(t)):(r=t,s.data[l][e]===null?s.data[l][e]=new m(s,r,e,l,s.tileWidth,s.tileHeight):s.data[l][e].index=r);var u=s.data[l][e],f=s.collideIndexes.indexOf(u.index)!==-1;if(r=t instanceof m?t.index:t,r===-1)u.width=s.tileWidth,u.height=s.tileHeight;else{var v=s.tilemapLayer.tilemap,c=v.tiles,g=c[r][2],p=v.tilesets[g];u.width=p.tileWidth,u.height=p.tileHeight}return h(u,f),i&&a!==u.collides&&x(e,l,s),u};E.exports=d},26303:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(71558),S=n(26099),x=new S,h=function(d,t,e,l,i,s){return s.tilemapLayer.worldToTileXY(t,e,!0,x,i,s),m(d,x.x,x.y,l,s)};E.exports=h},14051:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(42573),S=n(71558),x=function(h,d,t,e,l){if(e===void 0&&(e=!0),!Array.isArray(h))return null;Array.isArray(h[0])||(h=[h]);for(var i=h.length,s=h[0].length,r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7386),S=n(26546),x=function(h,d,t,e,l,i){var s,r=m(h,d,t,e,{},i);if(!l)for(l=[],s=0;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(23029),S=n(62991),x=n(72023),h=function(d,t,e,l,i){if(e===void 0&&(e=!0),l===void 0&&(l=!0),!S(d,t,i))return null;var s=i.data[t][d];if(s)i.data[t][d]=e?null:new m(i,-1,d,t,i.tileWidth,i.tileHeight);else return null;return l&&s&&s.collides&&x(d,t,i),s};E.exports=h},94178:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(63557),S=n(26099),x=new S,h=function(d,t,e,l,i,s){return s.tilemapLayer.worldToTileXY(d,t,!0,x,i,s),m(x.x,x.y,e,l,s)};E.exports=h},15533:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7386),S=n(3956),x=new S(105,210,231,150),h=new S(243,134,48,200),d=new S(40,39,37,150),t=function(e,l,i){l===void 0&&(l={});var s=l.tileColor!==void 0?l.tileColor:x,r=l.collidingTileColor!==void 0?l.collidingTileColor:h,o=l.faceColor!==void 0?l.faceColor:d,a=m(0,0,i.width,i.height,null,i);e.translateCanvas(i.tilemapLayer.x,i.tilemapLayer.y),e.scaleCanvas(i.tilemapLayer.scaleX,i.tilemapLayer.scaleY);for(var u=0;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7386),S=function(x,h,d,t,e,l,i){for(var s=m(d,t,e,l,null,i),r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){var h=n.data,d=n.width,t=n.height,e=n.tilemapLayer,l=Math.max(0,m.left),i=Math.min(d,m.right),s=Math.max(0,m.top),r=Math.min(t,m.bottom),o,a,u;if(S===0)for(a=s;a=l;o--)u=h[a][o],!(!u||u.index===-1||!u.visible||u.alpha===0)&&x.push(u);else if(S===2)for(a=r;a>=s;a--)for(o=l;h[a]&&o=s;a--)for(o=i;h[a]&&o>=l;o--)u=h[a][o],!(!u||u.index===-1||!u.visible||u.alpha===0)&&x.push(u);return e.tilesDrawn=x.length,e.tilesTotal=d*t,x};E.exports=y},57068:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(20576),S=n(42573),x=n(9589),h=function(d,t,e,l,i){t===void 0&&(t=!0),e===void 0&&(e=!0),i===void 0&&(i=!0),Array.isArray(d)||(d=[d]);for(var s=0;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(20576),S=n(42573),x=n(9589),h=function(d,t,e,l,i,s){if(e===void 0&&(e=!0),l===void 0&&(l=!0),s===void 0&&(s=!0),!(d>t)){for(var r=d;r<=t;r++)x(r,e,i);if(s)for(var o=0;o=d&&u.index<=t&&m(u,e)}l&&S(0,0,i.width,i.height,i)}};E.exports=h},75661:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(20576),S=n(42573),x=n(9589),h=function(d,t,e,l){t===void 0&&(t=!0),e===void 0&&(e=!0),Array.isArray(d)||(d=[d]);for(var i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(20576),S=n(42573),x=n(97022),h=function(d,t,e,l){t===void 0&&(t=!0),e===void 0&&(e=!0);for(var i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(20576),S=n(42573),x=function(h,d,t){h===void 0&&(h=!0),d===void 0&&(d=!0);for(var e=0;e0&&m(i,h)}}d&&S(0,0,t.width,t.height,t)};E.exports=x},9589:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){var x=S.collideIndexes.indexOf(n);m&&x===-1?S.collideIndexes.push(n):!m&&x!==-1&&S.collideIndexes.splice(x,1)};E.exports=y},20576:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){m?n.setCollision(!0,!0,!0,!0,!1):n.resetCollision(!1)};E.exports=y},79583:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){if(typeof n=="number")x.callbacks[n]=m!==null?{callback:m,callbackContext:S}:void 0;else for(var h=0,d=n.length;h{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7386),S=function(x,h,d,t,e,l,i){for(var s=m(x,h,d,t,null,i),r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7386),S=n(33680),x=function(h,d,t,e,l){var i=m(h,d,t,e,null,l),s=i.map(function(o){return o.index});S(s);for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(63448),S=n(56583),x=function(h,d){var t=h.tilemapLayer.tilemap,e=h.tilemapLayer,l=Math.floor(t.tileWidth*e.scaleX),i=Math.floor(t.tileHeight*e.scaleY),s=S(d.worldView.x-e.x,l,0,!0)-e.cullPaddingX,r=m(d.worldView.right-e.x,l,0,!0)+e.cullPaddingX,o=S(d.worldView.y-e.y,i/2,0,!0)-e.cullPaddingY,a=m(d.worldView.bottom-e.y,i/2,0,!0)+e.cullPaddingY;return{left:s,right:r,top:o,bottom:a}};E.exports=x},54503:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(61325),S=n(32483),x=function(h,d,t,e){t===void 0&&(t=[]),e===void 0&&(e=0),t.length=0;var l=h.tilemapLayer,i=m(h,d);return l.skipCull&&l.scrollFactorX===1&&l.scrollFactorY===1&&(i.left=0,i.right=h.width,i.top=0,i.bottom=h.height),S(h,i,e,t),t};E.exports=x},97202:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h,d,t,e){d||(d=new m);var l=e.baseTileWidth,i=e.baseTileHeight,s=e.tilemapLayer,r=0,o=0;s&&(t||(t=s.scene.cameras.main),r=s.x+t.scrollX*(1-s.scrollFactorX),l*=s.scaleX,o=s.y+t.scrollY*(1-s.scrollFactorY),i*=s.scaleY);var a=r+x*l+h%2*(l/2),u=o+h*(i/2);return d.set(a,u)};E.exports=S},28054:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){var x=S.baseTileHeight,h=S.tilemapLayer,d=0;return h&&(m===void 0&&(m=h.scene.cameras.main),d=h.y+m.scrollY*(1-h.scrollFactorY),x*=h.scaleY),d+n*(x/2)+x};E.exports=y},15108:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h,d,t,e,l){t||(t=new m);var i=l.baseTileWidth,s=l.baseTileHeight,r=l.tilemapLayer;r&&(e||(e=r.scene.cameras.main),h=h-(r.y+e.scrollY*(1-r.scrollFactorY)),s*=r.scaleY,x=x-(r.x+e.scrollX*(1-r.scrollFactorX)),i*=r.scaleX);var o=d?Math.floor(h/(s/2)):h/(s/2),a=d?Math.floor((x+o%2*.5*i)/i):(x+o%2*.5*i)/i;return t.set(a,o)};E.exports=S},51900:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){var h=x.baseTileHeight,d=x.tilemapLayer;return d&&(S||(S=d.scene.cameras.main),n=n-(d.y+S.scrollY*(1-d.scrollFactorY)),h*=d.scaleY),m?Math.floor(n/(h/2)):n/(h/2)};E.exports=y},86560:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7386),S=function(x,h,d,t,e,l,i){for(var s=m(d,t,e,l,null,i),r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){var x=S.baseTileWidth,h=S.tilemapLayer,d=0;return h&&(m||(m=h.scene.cameras.main),d=h.x+m.scrollX*(1-h.scrollFactorX),x*=h.scaleX),d+n*x};E.exports=y},70326:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(97281),S=n(29650),x=n(26099),h=function(d,t,e,l,i){return e||(e=new x(0,0)),e.x=m(d,l,i),e.y=S(t,l,i),e};E.exports=h},29650:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){var x=S.baseTileHeight,h=S.tilemapLayer,d=0;return h&&(m||(m=h.scene.cameras.main),d=h.y+m.scrollY*(1-h.scrollFactorY),x*=h.scaleY),d+n*x};E.exports=y},77366:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(7386),S=n(75508),x=function(h,d,t,e,l,i){if(l){var s,r=m(h,d,t,e,null,i),o=0;for(s=0;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(85896),S=n(26099),x=new S,h=function(d,t,e,l){return m(d,0,t,x,e,l),x.x};E.exports=h},85896:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(26099),S=function(x,h,d,t,e,l){d===void 0&&(d=!0),t||(t=new m);var i=l.baseTileWidth,s=l.baseTileHeight,r=l.tilemapLayer;r&&(e||(e=r.scene.cameras.main),x=x-(r.x+e.scrollX*(1-r.scrollFactorX)),h=h-(r.y+e.scrollY*(1-r.scrollFactorY)),i*=r.scaleX,s*=r.scaleY);var o=x/i,a=h/s;return d&&(o=Math.floor(o),a=Math.floor(a)),t.set(o,a)};E.exports=S},63288:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(85896),S=n(26099),x=new S,h=function(d,t,e,l){return m(0,d,t,x,e,l),x.y};E.exports=h},81086:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={CalculateFacesAt:n(72023),CalculateFacesWithin:n(42573),CheckIsoBounds:n(33528),Copy:n(1785),CreateFromTiles:n(78419),CullBounds:n(19545),CullTiles:n(30003),Fill:n(35137),FilterTiles:n(40253),FindByIndex:n(52692),FindTile:n(66151),ForEachTile:n(97560),GetCullTilesFunction:n(43305),GetTileAt:n(7423),GetTileAtWorldXY:n(60540),GetTileCorners:n(55826),GetTileCornersFunction:n(11758),GetTilesWithin:n(7386),GetTilesWithinShape:n(91141),GetTilesWithinWorldXY:n(96523),GetTileToWorldXFunction:n(39167),GetTileToWorldXYFunction:n(62e3),GetTileToWorldYFunction:n(5984),GetWorldToTileXFunction:n(96113),GetWorldToTileXYFunction:n(16926),GetWorldToTileYFunction:n(55762),HasTileAt:n(45091),HasTileAtWorldXY:n(24152),HexagonalCullBounds:n(90454),HexagonalCullTiles:n(9474),HexagonalGetTileCorners:n(27229),HexagonalTileToWorldXY:n(19951),HexagonalWorldToTileXY:n(86625),IsInLayerBounds:n(62991),IsometricCullTiles:n(14018),IsometricTileToWorldXY:n(14127),IsometricWorldToTileXY:n(96897),PutTileAt:n(71558),PutTileAtWorldXY:n(26303),PutTilesAt:n(14051),Randomize:n(77389),RemoveTileAt:n(63557),RemoveTileAtWorldXY:n(94178),RenderDebug:n(15533),ReplaceByIndex:n(27987),RunCull:n(32483),SetCollision:n(57068),SetCollisionBetween:n(37266),SetCollisionByExclusion:n(75661),SetCollisionByProperty:n(64740),SetCollisionFromCollisionGroup:n(63307),SetLayerCollisionIndex:n(9589),SetTileCollision:n(20576),SetTileIndexCallback:n(79583),SetTileLocationCallback:n(93254),Shuffle:n(32903),StaggeredCullBounds:n(61325),StaggeredCullTiles:n(54503),StaggeredTileToWorldXY:n(97202),StaggeredTileToWorldY:n(28054),StaggeredWorldToTileXY:n(15108),StaggeredWorldToTileY:n(51900),SwapByIndex:n(86560),TileToWorldX:n(97281),TileToWorldXY:n(70326),TileToWorldY:n(29650),WeightedRandomize:n(77366),WorldToTileX:n(10095),WorldToTileXY:n(85896),WorldToTileY:n(63288)}},91907:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={ORTHOGONAL:0,ISOMETRIC:1,STAGGERED:2,HEXAGONAL:3}},21829:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m={ORIENTATION:n(91907)};E.exports=m},62501:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(79291),S=n(21829),x={Components:n(81086),Parsers:n(57442),Formats:n(80341),ImageCollection:n(16536),ParseToTilemap:n(31989),Tile:n(23029),Tilemap:n(49075),TilemapCreator:n(45939),TilemapFactory:n(46029),Tileset:n(33629),TilemapLayerBase:n(44731),TilemapLayer:n(20442),TilemapGPULayer:n(53180),Orientation:n(91907),LayerData:n(14977),MapData:n(87010),ObjectLayer:n(48700)};x=m(!1,x,S.ORIENTATION),E.exports=x},14977:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(91907),x=n(95540),h=new m({initialize:function(t){t===void 0&&(t={}),this.name=x(t,"name","layer"),this.id=x(t,"id",0),this.x=x(t,"x",0),this.y=x(t,"y",0),this.width=x(t,"width",0),this.height=x(t,"height",0),this.tileWidth=x(t,"tileWidth",0),this.tileHeight=x(t,"tileHeight",0),this.baseTileWidth=x(t,"baseTileWidth",this.tileWidth),this.baseTileHeight=x(t,"baseTileHeight",this.tileHeight),this.orientation=x(t,"orientation",S.ORTHOGONAL),this.widthInPixels=x(t,"widthInPixels",this.width*this.baseTileWidth),this.heightInPixels=x(t,"heightInPixels",this.height*this.baseTileHeight),this.alpha=x(t,"alpha",1),this.visible=x(t,"visible",!0),this.properties=x(t,"properties",[]),this.indexes=x(t,"indexes",[]),this.collideIndexes=x(t,"collideIndexes",[]),this.callbacks=x(t,"callbacks",[]),this.bodies=x(t,"bodies",[]),this.data=x(t,"data",[]),this.tilemapLayer=x(t,"tilemapLayer",null),this.hexSideLength=x(t,"hexSideLength",0),this.staggerAxis=x(t,"staggerAxis","y"),this.staggerIndex=x(t,"staggerIndex","odd")}});E.exports=h},87010:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(91907),x=n(95540),h=new m({initialize:function(t){t===void 0&&(t={}),this.name=x(t,"name","map"),this.width=x(t,"width",0),this.height=x(t,"height",0),this.infinite=x(t,"infinite",!1),this.tileWidth=x(t,"tileWidth",0),this.tileHeight=x(t,"tileHeight",0),this.widthInPixels=x(t,"widthInPixels",this.width*this.tileWidth),this.heightInPixels=x(t,"heightInPixels",this.height*this.tileHeight),this.format=x(t,"format",null),this.orientation=x(t,"orientation",S.ORTHOGONAL),this.renderOrder=x(t,"renderOrder","right-down"),this.version=x(t,"version","1"),this.properties=x(t,"properties",{}),this.layers=x(t,"layers",[]),this.images=x(t,"images",[]),this.objects=x(t,"objects",[]),Array.isArray(this.objects)||(this.objects=[]),this.collision=x(t,"collision",{}),this.tilesets=x(t,"tilesets",[]),this.imageCollections=x(t,"imageCollections",[]),this.tiles=x(t,"tiles",[]),this.hexSideLength=x(t,"hexSideLength",0),this.staggerAxis=x(t,"staggerAxis","y"),this.staggerIndex=x(t,"staggerIndex","odd")}});E.exports=h},48700:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(95540),x=new m({initialize:function(d){d===void 0&&(d={}),this.name=S(d,"name","object layer"),this.id=S(d,"id",0),this.opacity=S(d,"opacity",1),this.properties=S(d,"properties",{}),this.propertyTypes=S(d,"propertytypes",{}),this.type=S(d,"type","objectgroup"),this.visible=S(d,"visible",!0),this.objects=S(d,"objects",[]),Array.isArray(this.objects)||(this.objects=[])}});E.exports=x},6641:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(91907),S=function(x){return x=x.toLowerCase(),x==="isometric"?m.ISOMETRIC:x==="staggered"?m.STAGGERED:x==="hexagonal"?m.HEXAGONAL:m.ORTHOGONAL};E.exports=S},46177:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(80341),S=n(2342),x=n(82593),h=n(46594),d=n(87021),t=function(e,l,i,s,r,o){var a;switch(l){case m.ARRAY_2D:a=S(e,i,s,r,o);break;case m.CSV:a=x(e,i,s,r,o);break;case m.TILED_JSON:a=h(e,i,o);break;case m.WELTMEISTER:a=d(e,i,o);break;default:console.warn("Unrecognized tilemap data format: "+l),a=null}return a};E.exports=t},2342:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(80341),S=n(14977),x=n(87010),h=n(23029),d=function(t,e,l,i,s){for(var r=new S({tileWidth:l,tileHeight:i}),o=new x({name:t,tileWidth:l,tileHeight:i,format:m.ARRAY_2D,layers:[r]}),a=[],u=e.length,f=0,v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(80341),S=n(2342),x=function(h,d,t,e,l){var i=d.trim().split(` +`).map(function(r){return r.split(",")}),s=S(h,i,t,e,l);return s.format=m.CSV,s};E.exports=x},6656:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(14977),S=n(23029),x=function(h,d){for(var t=[],e=0;e-1?f=new S(i,u,a,o,l.tilesize,l.tilesize):f=d?null:new S(i,-1,a,o,l.tilesize,l.tilesize),s.push(f)}r.push(s),s=[]}i.data=r,t.push(i)}return t};E.exports=x},96483:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(33629),S=function(x){for(var h=[],d=[],t=0;t{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(80341),S=n(87010),x=n(6656),h=n(96483),d=function(t,e,l){if(e.layer.length===0)return console.warn("No layers found in the Weltmeister map: "+t),null;for(var i=0,s=0,r=0;ri&&(i=e.layer[r].width),e.layer[r].height>s&&(s=e.layer[r].height);var o=new S({width:i,height:s,name:t,tileWidth:e.layer[0].tilesize,tileHeight:e.layer[0].tilesize,format:m.WELTMEISTER});return o.layers=x(e,l),o.tilesets=h(e),o};E.exports=d},52833:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={ParseTileLayers:n(6656),ParseTilesets:n(96483),ParseWeltmeister:n(87021)}},57442:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={FromOrientationString:n(6641),Parse:n(46177),Parse2DArray:n(2342),ParseCSV:n(82593),Impact:n(52833),Tiled:n(96761)}},51233:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(79291),S=function(x){for(var h,d,t,e,l,i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){for(var m=window.atob(n),S=m.length,x=new Array(S/4),h=0;h>>0;return x};E.exports=y},84101:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(33629),S=function(x){var h,d,t=[];for(h=0;h{/** + * @author Seth Berrier + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(95540),S=function(x,h,d){if(!h)return{i:0,layers:x.layers,name:"",opacity:1,visible:!0,x:0,y:0};var t=h.x+m(h,"startx",0)*x.tilewidth+m(h,"offsetx",0),e=h.y+m(h,"starty",0)*x.tileheight+m(h,"offsety",0);return{i:0,layers:h.layers,name:d.name+h.name+"/",opacity:d.opacity*h.opacity,visible:d.visible&&h.visible,x:d.x+t,y:d.y+e}};E.exports=S},29920:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=2147483648,n=1073741824,m=536870912,S=function(x){var h=!!(x&y),d=!!(x&n),t=!!(x&m);x=x&536870911;var e=0,l=!1;return h&&d&&t?(e=Math.PI/2,l=!0):h&&d&&!t?(e=Math.PI,l=!1):h&&!d&&t?(e=Math.PI/2,l=!1):h&&!d&&!t?(e=0,l=!0):!h&&d&&t?(e=3*Math.PI/2,l=!1):!h&&d&&!t?(e=Math.PI,l=!0):!h&&!d&&t?(e=3*Math.PI/2,l=!0):!h&&!d&&!t&&(e=0,l=!1),{gid:x,flippedHorizontal:h,flippedVertical:d,flippedAntiDiagonal:t,rotation:e,flipped:l}};E.exports=S},12635:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(95540),S=n(79677),x=function(h){for(var d=[],t=[],e=S(h);e.i0;){if(e.i>=e.layers.length){if(t.length<1){console.warn("TilemapParser.parseTiledJSON - Invalid layer group hierarchy");break}e=t.pop();continue}var l=e.layers[e.i];if(e.i++,l.type!=="imagelayer"){if(l.type==="group"){var i=S(h,l,e);t.push(e),e=i}continue}var s=m(l,"offsetx",0)+m(l,"startx",0),r=m(l,"offsety",0)+m(l,"starty",0);d.push({name:e.name+l.name,image:l.image,x:e.x+s+l.x,y:e.y+r+l.y,alpha:e.opacity*l.opacity,visible:e.visible&&l.visible,properties:m(l,"properties",{})})}return d};E.exports=x},46594:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(51233),S=n(84101),x=n(91907),h=n(62644),d=n(80341),t=n(6641),e=n(87010),l=n(12635),i=n(22611),s=n(28200),r=n(24619),o=function(a,u,f){var v=h(u),c=new e({width:v.width,height:v.height,name:a,tileWidth:v.tilewidth,tileHeight:v.tileheight,orientation:t(v.orientation),format:d.TILED_JSON,version:v.version,properties:v.properties,renderOrder:v.renderorder,infinite:v.infinite});if(c.orientation===x.HEXAGONAL)if(c.hexSideLength=v.hexsidelength,c.staggerAxis=v.staggeraxis,c.staggerIndex=v.staggerindex,c.staggerAxis==="y"){var g=(c.tileHeight-c.hexSideLength)/2;c.widthInPixels=c.tileWidth*(c.width+.5),c.heightInPixels=c.height*(c.hexSideLength+g)+g}else{var p=(c.tileWidth-c.hexSideLength)/2;c.widthInPixels=c.width*(c.hexSideLength+p)+p,c.heightInPixels=c.tileHeight*(c.height+.5)}c.layers=s(v,f),c.images=l(v);var T=r(v);return c.tilesets=T.tilesets,c.imageCollections=T.imageCollections,c.objects=i(v),c.tiles=S(c),m(c),c};E.exports=o},52205:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(18254),S=n(29920),x=function(t){return{x:t.x,y:t.y}},h=["id","name","type","rotation","properties","visible","x","y","width","height"],d=function(t,e,l){e===void 0&&(e=0),l===void 0&&(l=0);var i=m(t,h);if(i.x+=e,i.y+=l,t.gid){var s=S(t.gid);i.gid=s.gid,i.flippedHorizontal=s.flippedHorizontal,i.flippedVertical=s.flippedVertical,i.flippedAntiDiagonal=s.flippedAntiDiagonal}else t.polyline?i.polyline=t.polyline.map(x):t.polygon?i.polygon=t.polygon.map(x):t.ellipse?i.ellipse=t.ellipse:t.text?i.text=t.text:t.point?i.point=!0:i.rectangle=!0;return i};E.exports=d},22611:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(95540),S=n(52205),x=n(48700),h=n(79677),d=function(t){for(var e=[],l=[],i=h(t);i.i0;){if(i.i>=i.layers.length){if(l.length<1){console.warn("TilemapParser.parseTiledJSON - Invalid layer group hierarchy");break}i=l.pop();continue}var s=i.layers[i.i];if(i.i++,s.opacity*=i.opacity,s.visible=i.visible&&s.visible,s.type!=="objectgroup"){if(s.type==="group"){var r=h(t,s,i);l.push(i),i=r}continue}s.name=i.name+s.name;for(var o=i.x+m(s,"startx",0)+m(s,"offsetx",0),a=i.y+m(s,"starty",0)+m(s,"offsety",0),u=[],f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(41868),S=n(91907),x=n(79677),h=n(6641),d=n(95540),t=n(14977),e=n(29920),l=n(23029),i=function(s,r){for(var o=d(s,"infinite",!1),a=[],u=[],f=x(s);f.i0;){if(f.i>=f.layers.length){if(u.length<1){console.warn("TilemapParser.parseTiledJSON - Invalid layer group hierarchy");break}f=u.pop();continue}var v=f.layers[f.i];if(f.i++,v.type!=="tilelayer"){if(v.type==="group"){var c=x(s,v,f);u.push(f),f=c}continue}if(v.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+v.name+"'");continue}else if(v.encoding&&v.encoding==="base64"){if(v.chunks)for(var g=0;g0?(C=new l(p,T.gid,G,b,s.tilewidth,s.tileheight),C.rotation=T.rotation,C.flipX=T.flipped,P[b][G]=C):(M=r?null:new l(p,-1,G,b,s.tilewidth,s.tileheight),P[b][G]=M),L++,L===I.width&&(z++,L=0)}}else{p=new t({name:f.name+v.name,id:v.id,x:f.x+d(v,"offsetx",0)+v.x,y:f.y+d(v,"offsety",0)+v.y,width:v.width,height:v.height,tileWidth:s.tilewidth,tileHeight:s.tileheight,alpha:f.opacity*v.opacity,visible:f.visible&&v.visible,properties:d(v,"properties",[]),orientation:h(s.orientation)}),p.orientation===S.HEXAGONAL&&(p.hexSideLength=s.hexsidelength,p.staggerAxis=s.staggeraxis,p.staggerIndex=s.staggerindex,p.staggerAxis==="y"?(A=(p.tileHeight-p.hexSideLength)/2,p.widthInPixels=p.tileWidth*(p.width+.5),p.heightInPixels=p.height*(p.hexSideLength+A)+A):(R=(p.tileWidth-p.hexSideLength)/2,p.widthInPixels=p.width*(p.hexSideLength+R)+R,p.heightInPixels=p.tileHeight*(p.height+.5)));for(var Y=[],W=0,H=v.data.length;W0?(C=new l(p,T.gid,L,P.length,s.tilewidth,s.tileheight),C.rotation=T.rotation,C.flipX=T.flipped,Y.push(C)):(M=r?null:new l(p,-1,L,P.length,s.tilewidth,s.tileheight),Y.push(M)),L++,L===v.width&&(P.push(Y),L=0,Y=[])}p.data=P,a.push(p)}return a};E.exports=i},24619:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(33629),S=n(16536),x=n(52205),h=n(57880),d=function(t){for(var e=[],l=[],i=null,s,r=0;r1){var u=void 0,f=void 0;if(Array.isArray(o.tiles)){u=u||{},f=f||{};for(var v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){for(var S=0;S0){var d={},t={},e,l,i;if(Array.isArray(x.edgecolors))for(e=0;e{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={AssignTileProperties:n(51233),Base64Decode:n(41868),BuildTilesetIndex:n(84101),CreateGroupLayer:n(79677),ParseGID:n(29920),ParseImageLayers:n(12635),ParseJSONTiled:n(46594),ParseObject:n(52205),ParseObjectLayers:n(22611),ParseTileLayers:n(28200),ParseTilesets:n(24619)}},33385:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(37277),x=n(44594),h=n(94880),d=n(72905),t=new m({initialize:function(l){this.scene=l,this.systems=l.sys,this.now=0,this.startTime=0,this.timeScale=1,this.paused=!1,this._active=[],this._pendingInsertion=[],this._pendingRemoval=[],l.sys.events.once(x.BOOT,this.boot,this),l.sys.events.on(x.START,this.start,this)},boot:function(){this.now=this.systems.game.loop.time,this.systems.events.once(x.DESTROY,this.destroy,this)},start:function(){this.startTime=this.systems.game.loop.time;var e=this.systems.events;e.on(x.PRE_UPDATE,this.preUpdate,this),e.on(x.UPDATE,this.update,this),e.once(x.SHUTDOWN,this.shutdown,this)},addEvent:function(e){var l;if(e instanceof h){if(l=e,this.removeEvent(l),l.elapsed=l.startAt,l.hasDispatched=!1,l.repeatCount=l.repeat===-1||l.loop?999999999999:l.repeat,l.delay<=0&&l.repeatCount>0)throw new Error("TimerEvent infinite loop created via zero delay")}else l=new h(e);return this._pendingInsertion.push(l),l},delayedCall:function(e,l,i,s){return this.addEvent({delay:e,callback:l,args:i,callbackScope:s})},clearPendingEvents:function(){return this._pendingInsertion=[],this},removeEvent:function(e){Array.isArray(e)||(e=[e]);for(var l=0;l-1&&this._active.splice(r,1),s.destroy()}for(i=0;i=s.delay)){var r=s.elapsed-s.delay;if(s.elapsed=s.delay,!s.hasDispatched&&s.callback&&(s.hasDispatched=!0,s.callback.apply(s.callbackScope,s.args)),s.repeatCount>0){if(s.repeatCount--,r>=s.delay)for(;r>=s.delay&&s.repeatCount>0;)s.callback&&s.callback.apply(s.callbackScope,s.args),r-=s.delay,s.repeatCount--;s.elapsed=r,s.hasDispatched=!1}else s.hasDispatched&&this._pendingRemoval.push(s)}}}},shutdown:function(){var e;for(e=0;e{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(50792),x=n(39429),h=n(95540),d=n(44594),t=n(89809),e=new m({Extends:S,initialize:function(i,s){S.call(this),this.scene=i,this.systems=i.sys,this.elapsed=0,this.timeScale=1,this.paused=!0,this.complete=!1,this.totalComplete=0,this.loop=0,this.iteration=0,this.events=[];var r=this.systems.events;r.on(d.PRE_UPDATE,this.preUpdate,this),r.on(d.UPDATE,this.update,this),r.once(d.SHUTDOWN,this.destroy,this),s&&this.add(s)},preUpdate:function(l,i){this.paused||(this.elapsed+=i*this.timeScale)},update:function(){if(!(this.paused||this.complete)){var l,i=this.events,s=!1,r=this.systems,o;for(l=0;l0||this.totalComplete>0)&&(this.loop!==0&&(this.loop===-1||this.loop>this.iteration)?(this.iteration++,this.reset(!0)):this.complete=!0),this.complete&&this.emit(t.COMPLETE,this)}},play:function(l){return l===void 0&&(l=!0),this.paused=!1,this.complete=!1,this.totalComplete=0,l&&this.reset(),this},pause:function(){this.paused=!0;for(var l=this.events,i=0;i0&&(s=i[i.length-1].time);for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(95540),x=new m({initialize:function(d){this.delay=0,this.repeat=0,this.repeatCount=0,this.loop=!1,this.callback,this.callbackScope,this.args,this.timeScale=1,this.startAt=0,this.elapsed=0,this.paused=!1,this.hasDispatched=!1,this.reset(d)},reset:function(h){if(this.delay=S(h,"delay",0),this.repeat=S(h,"repeat",0),this.loop=S(h,"loop",!1),this.callback=S(h,"callback",void 0),this.callbackScope=S(h,"callbackScope",this),this.args=S(h,"args",[]),this.timeScale=S(h,"timeScale",1),this.startAt=S(h,"startAt",0),this.paused=S(h,"paused",!1),this.elapsed=this.startAt,this.hasDispatched=!1,this.repeatCount=this.repeat===-1||this.loop?999999999999:this.repeat,this.delay<=0&&this.repeatCount>0)throw new Error("TimerEvent infinite loop created via zero delay");return this},getProgress:function(){return this.elapsed/this.delay},getOverallProgress:function(){if(this.repeat>0){var h=this.delay+this.delay*this.repeat,d=this.elapsed+this.delay*(this.repeat-this.repeatCount);return d/h}else return this.getProgress()},getRepeatCount:function(){return this.repeatCount},getElapsed:function(){return this.elapsed},getElapsedSeconds:function(){return this.elapsed*.001},getRemaining:function(){return this.delay-this.elapsed},getRemainingSeconds:function(){return this.getRemaining()*.001},getOverallRemaining:function(){return this.delay*(1+this.repeatCount)-this.elapsed},getOverallRemainingSeconds:function(){return this.getOverallRemaining()*.001},remove:function(h){h===void 0&&(h=!1),this.elapsed=this.delay,this.hasDispatched=!h,this.repeatCount=0},destroy:function(){this.callback=void 0,this.callbackScope=void 0,this.args=[]}});E.exports=x},35945:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="complete"},89809:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={COMPLETE:n(35945)}},90291:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Clock:n(33385),Events:n(89809),Timeline:n(96120),TimerEvent:n(94880)}},40382:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(72905),S=n(83419),x=n(43491),h=n(88032),d=n(37277),t=n(44594),e=n(93109),l=n(8462),i=n(8357),s=n(43960),r=n(26012),o=new S({initialize:function(u){this.scene=u,this.events=u.sys.events,this.timeScale=1,this.paused=!1,this.processing=!1,this.tweens=[],this.time=0,this.startTime=0,this.nextTime=0,this.prevTime=0,this.maxLag=500,this.lagSkip=33,this.gap=1e3/240,this.events.once(t.BOOT,this.boot,this),this.events.on(t.START,this.start,this)},boot:function(){this.events.once(t.DESTROY,this.destroy,this)},start:function(){this.timeScale=1,this.paused=!1,this.startTime=Date.now(),this.prevTime=this.startTime,this.nextTime=this.gap,this.events.on(t.UPDATE,this.update,this),this.events.once(t.SHUTDOWN,this.shutdown,this)},create:function(a){Array.isArray(a)||(a=[a]);for(var u=[],f=0;f-1},existing:function(a){return this.has(a)||this.tweens.push(a.reset()),this},addCounter:function(a){var u=h(this,a);return this.tweens.push(u.reset()),u},stagger:function(a,u){return e(a,u)},setLagSmooth:function(a,u){return a===void 0&&(a=1/1e-8),u===void 0&&(u=0),this.maxLag=a,this.lagSkip=Math.min(u,this.maxLag),this},setFps:function(a){return a===void 0&&(a=240),this.gap=1e3/a,this.nextTime=this.time*1e3+this.gap,this},getDelta:function(a){var u=Date.now()-this.prevTime;u>this.maxLag&&(this.startTime+=u-this.lagSkip),this.prevTime+=u;var f=this.prevTime-this.startTime,v=f-this.nextTime,c=f-this.time*1e3;return v>0||a?(f/=1e3,this.time=f,this.nextTime+=v+(v>=this.gap?4:this.gap-v)):c=0,c},tick:function(){return this.step(!0),this},update:function(){this.paused||this.step(!1)},step:function(a){a===void 0&&(a=!1);var u=this.getDelta(a);if(!(u<=0)){this.processing=!0;var f,v,c=[],g=this.tweens;for(f=0;f0){for(f=0;f-1&&(v.isPendingRemove()||v.isDestroyed())&&(g.splice(T,1),v.destroy())}c.length=0}this.processing=!1}},remove:function(a){return this.processing?a.setPendingRemoveState():(m(this.tweens,a),a.setRemovedState()),this},reset:function(a){return this.existing(a),a.seek(),a.setActiveState(),this},makeActive:function(a){return this.existing(a),a.setActiveState(),this},each:function(a,u){var f,v=[null];for(f=1;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){return n&&n.hasOwnProperty(m)?n[m]:S};E.exports=y},6113:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(62640),S=n(35355),x=function(h,d){var t=m.Power0;if(typeof h=="string")if(m.hasOwnProperty(h))t=m[h];else{var e="";if(h.indexOf(".")){e=h.substring(h.indexOf(".")+1);var l=e.toLowerCase();l==="in"?e="easeIn":l==="out"?e="easeOut":l==="inout"&&(e="easeInOut")}h=S(h.substring(0,h.indexOf(".")+1)+e),m.hasOwnProperty(h)&&(t=m[h])}else typeof h=="function"&&(t=h);if(!d)return t;var i=d.slice(0);return i.unshift(0),function(s){return i[0]=s,t.apply(this,i)}};E.exports=x},91389:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(89318),S=n(77259),x=n(28392),h={bezier:m,catmull:S,catmullrom:S,linear:x},d=function(t){if(t===null)return null;var e=h.linear;return typeof t=="string"?h.hasOwnProperty(t)&&(e=h[t]):typeof t=="function"&&(e=t),e};E.exports=d},55292:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){var x;if(n.hasOwnProperty(m)){var h=typeof n[m];h==="function"?x=function(d,t,e,l,i,s){return n[m](d,t,e,l,i,s)}:x=function(){return n[m]}}else typeof S=="function"?x=S:x=function(){return S};return x};E.exports=y},82985:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(81076),S=function(x){var h,d=[];if(x.hasOwnProperty("props"))for(h in x.props)h.substring(0,1)!=="_"&&d.push({key:h,value:x.props[h]});else for(h in x)m.indexOf(h)===-1&&h.substring(0,1)!=="_"&&d.push({key:h,value:x[h]});return d};E.exports=S},62329:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(35154),S=function(x){var h=m(x,"targets",null);return h===null||(typeof h=="function"&&(h=h.call()),Array.isArray(h)||(h=[h])),h};E.exports=S},17777:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(30976),S=n(99472);function x(l){return!!l.getActive&&typeof l.getActive=="function"}function h(l){return!!l.getStart&&typeof l.getStart=="function"}function d(l){return!!l.getEnd&&typeof l.getEnd=="function"}function t(l){return h(l)||d(l)||x(l)}var e=function(l,i){var s,r=function(O,B,I){return I},o=function(O,B,I){return I},a=null,u=typeof i;if(u==="number")r=function(){return i};else if(Array.isArray(i))o=function(){return i[0]},r=function(){return i[i.length-1]};else if(u==="string"){var f=i.toLowerCase(),v=f.substring(0,6)==="random",c=f.substring(0,3)==="int";if(v||c){var g=f.indexOf("("),p=f.indexOf(")"),T=f.indexOf(",");if(g&&p&&T){var C=parseFloat(f.substring(g+1,T)),M=parseFloat(f.substring(T+1,p));v?r=function(){return S(C,M)}:r=function(){return m(C,M)}}else throw new Error("invalid random() format")}else{f=f[0];var A=parseFloat(i.substr(2));switch(f){case"+":r=function(O,B,I){return I+A};break;case"-":r=function(O,B,I){return I-A};break;case"*":r=function(O,B,I){return I*A};break;case"/":r=function(O,B,I){return I/A};break;default:r=function(){return parseFloat(i)}}}}else if(u==="function")r=i;else if(u==="object")if(t(i))x(i)&&(a=i.getActive),d(i)&&(r=i.getEnd),h(i)&&(o=i.getStart);else if(i.hasOwnProperty("value"))s=e(l,i.value);else{var R=i.hasOwnProperty("to"),P=i.hasOwnProperty("from"),L=i.hasOwnProperty("start");if(R&&(P||L)){if(s=e(l,i.to),L){var F=e(l,i.start);s.getActive=F.getEnd}if(P){var w=e(l,i.from);s.getStart=w.getEnd}}}return s||(s={getActive:a,getEnd:r,getStart:o}),s};E.exports=e},88032:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(70402),S=n(69902),x=n(23568),h=n(57355),d=n(6113),t=n(95540),e=n(55292),l=n(35154),i=n(17777),s=n(269),r=n(8462),o=function(a,u,f){if(u instanceof r)return u.parent=a,u;f===void 0?f=S:f=s(S,f);var v=t(u,"from",0),c=t(u,"to",1),g=[{value:v}],p=t(u,"delay",f.delay),T=t(u,"easeParams",f.easeParams),C=t(u,"ease",f.ease),M=i("value",c),A=new r(a,g),R=A.add(0,"value",M.getEnd,M.getStart,M.getActive,d(t(u,"ease",C),t(u,"easeParams",T)),e(u,"delay",p),t(u,"duration",f.duration),h(u,"yoyo",f.yoyo),t(u,"hold",f.hold),t(u,"repeat",f.repeat),t(u,"repeatDelay",f.repeatDelay),!1,!1);R.start=v,R.current=v,A.completeDelay=x(u,"completeDelay",0),A.loop=Math.round(x(u,"loop",0)),A.loopDelay=Math.round(x(u,"loopDelay",0)),A.paused=h(u,"paused",!1),A.persist=h(u,"persist",!1),A.isNumberTween=!0,A.callbackScope=l(u,"callbackScope",A);for(var P=m.TYPES,L=0;L{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(6113),S=n(35154),x=n(36383),h=function(d,t){t===void 0&&(t={});var e,l=S(t,"start",0),i=S(t,"ease",null),s=S(t,"grid",null),r=S(t,"from",0),o=r==="first",a=r==="center",u=r==="last",f=typeof r=="number",v=Array.isArray(d),c=parseFloat(v?d[0]:d),g=v?parseFloat(d[1]):0,p=Math.max(c,g);if(v&&(l+=c),s){var T=s[0],C=s[1],M=0,A=0,R=0,P=0,L=[];u?(M=T-1,A=C-1):f?(M=r%T,A=Math.floor(r/T)):a&&(M=(T-1)/2,A=(C-1)/2);for(var F=x.MIN_SAFE_INTEGER,w=0;wF&&(F=B),L[w][O]=B}}}var I=i?m(i):null;return s?e=function(D,N,z,V){var U=0,G=V%T,b=Math.floor(V/T);G>=0&&G=0&&b{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(70402),S=n(69902),x=n(23568),h=n(57355),d=n(6113),t=n(95540),e=n(91389),l=n(55292),i=n(82985),s=n(62329),r=n(35154),o=n(17777),a=n(269),u=n(8462),f=function(v,c,g){if(c instanceof u)return c.parent=v,c;g===void 0?g=S:g=a(S,g);var p=s(c);!p&&g.targets&&(p=g.targets);for(var T=i(c),C=t(c,"delay",g.delay),M=t(c,"duration",g.duration),A=t(c,"easeParams",g.easeParams),R=t(c,"ease",g.ease),P=t(c,"hold",g.hold),L=t(c,"repeat",g.repeat),F=t(c,"repeatDelay",g.repeatDelay),w=h(c,"yoyo",g.yoyo),O=h(c,"flipX",g.flipX),B=h(c,"flipY",g.flipY),I=t(c,"interpolation",g.interpolation),D=function(Z,Q,j,J){if(j==="texture"){var tt=J,k=void 0;Array.isArray(J)?(tt=J[0],k=J[1]):J.hasOwnProperty("value")?(tt=J.value,Array.isArray(J.value)?(tt=J.value[0],k=J.value[1]):typeof J.value=="string"&&(tt=J.value)):typeof J=="string"&&(tt=J),Z.addFrame(Q,tt,k,l(J,"delay",C),t(J,"duration",M),t(J,"hold",P),t(J,"repeat",L),t(J,"repeatDelay",F),h(J,"flipX",O),h(J,"flipY",B))}else{var q=o(j,J),_=e(t(J,"interpolation",I));Z.add(Q,j,q.getEnd,q.getStart,q.getActive,d(t(J,"ease",R),t(J,"easeParams",A)),l(J,"delay",C),t(J,"duration",M),h(J,"yoyo",w),t(J,"hold",P),t(J,"repeat",L),t(J,"repeatDelay",F),h(J,"flipX",O),h(J,"flipY",B),_,_?J:null)}},N=new u(v,p),z=0;z{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(70402),S=n(23568),x=n(57355),h=n(62329),d=n(35154),t=n(8357),e=n(43960),l=function(i,s){if(s instanceof e)return s.parent=i,s;var r=new e(i);r.startDelay=d(s,"delay",0),r.completeDelay=S(s,"completeDelay",0),r.loop=Math.round(S(s,"loop",d(s,"repeat",0))),r.loopDelay=Math.round(S(s,"loopDelay",d(s,"repeatDelay",0))),r.paused=x(s,"paused",!1),r.persist=x(s,"persist",!1),r.callbackScope=d(s,"callbackScope",r);var o,a=m.TYPES;for(o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={GetBoolean:n(57355),GetEaseFunction:n(6113),GetInterpolationFunction:n(91389),GetNewValue:n(55292),GetProps:n(82985),GetTargets:n(62329),GetValueOp:n(17777),NumberTweenBuilder:n(88032),StaggerBuilder:n(93109),TweenBuilder:n(8357)}},73685:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="active"},98540:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="complete"},67233:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="loop"},2859:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="pause"},98336:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="repeat"},25764:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="resume"},32193:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="start"},84371:E=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="stop"},70766:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="update"},55659:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports="yoyo"},842:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={TWEEN_ACTIVE:n(73685),TWEEN_COMPLETE:n(98540),TWEEN_LOOP:n(67233),TWEEN_PAUSE:n(2859),TWEEN_RESUME:n(25764),TWEEN_REPEAT:n(98336),TWEEN_START:n(32193),TWEEN_STOP:n(84371),TWEEN_UPDATE:n(70766),TWEEN_YOYO:n(55659)}},43066:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m={States:n(86353),Builders:n(30231),Events:n(842),TweenManager:n(40382),Tween:n(8462),TweenData:n(48177),TweenFrameData:n(42220),BaseTween:n(70402),TweenChain:n(43960)};E.exports=m},70402:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(50792),x=n(842),h=n(86353),d=new m({Extends:S,initialize:function(e){S.call(this),this.parent=e,this.data=[],this.totalData=0,this.startDelay=0,this.hasStarted=!1,this.timeScale=1,this.loop=0,this.loopDelay=0,this.loopCounter=0,this.completeDelay=0,this.countdown=0,this.state=h.PENDING,this.paused=!1,this.callbacks={onActive:null,onComplete:null,onLoop:null,onPause:null,onRepeat:null,onResume:null,onStart:null,onStop:null,onUpdate:null,onYoyo:null},this.callbackScope,this.persist=!1},setTimeScale:function(t){return this.timeScale=t,this},getTimeScale:function(){return this.timeScale},isPlaying:function(){return!this.paused&&this.isActive()},isPaused:function(){return this.paused},pause:function(){return this.paused||(this.paused=!0,this.dispatchEvent(x.TWEEN_PAUSE,"onPause")),this},resume:function(){return this.paused&&(this.paused=!1,this.dispatchEvent(x.TWEEN_RESUME,"onResume")),this},makeActive:function(){this.parent.makeActive(this),this.dispatchEvent(x.TWEEN_ACTIVE,"onActive")},onCompleteHandler:function(){this.setPendingRemoveState(),this.dispatchEvent(x.TWEEN_COMPLETE,"onComplete")},complete:function(t){return t===void 0&&(t=0),t?(this.setCompleteDelayState(),this.countdown=t):this.onCompleteHandler(),this},completeAfterLoop:function(t){return t===void 0&&(t=0),this.loopCounter>t&&(this.loopCounter=t),this},remove:function(){return this.parent&&this.parent.remove(this),this},stop:function(){return this.parent&&!this.isRemoved()&&!this.isPendingRemove()&&!this.isDestroyed()&&(this.dispatchEvent(x.TWEEN_STOP,"onStop"),this.setPendingRemoveState()),this},updateLoopCountdown:function(t){this.countdown-=t,this.countdown<=0&&(this.setActiveState(),this.dispatchEvent(x.TWEEN_LOOP,"onLoop"))},updateStartCountdown:function(t){return this.countdown-=t,this.countdown<=0&&(this.hasStarted=!0,this.setActiveState(),this.dispatchEvent(x.TWEEN_START,"onStart"),t=0),t},updateCompleteDelay:function(t){this.countdown-=t,this.countdown<=0&&this.onCompleteHandler()},setCallback:function(t,e,l){return l===void 0&&(l=[]),this.callbacks.hasOwnProperty(t)&&(this.callbacks[t]={func:e,params:l}),this},setPendingState:function(){this.state=h.PENDING},setActiveState:function(){this.state=h.ACTIVE,this.hasStarted=!1},setLoopDelayState:function(){this.state=h.LOOP_DELAY},setCompleteDelayState:function(){this.state=h.COMPLETE_DELAY},setStartDelayState:function(){this.state=h.START_DELAY,this.countdown=this.startDelay,this.hasStarted=!1},setPendingRemoveState:function(){this.state=h.PENDING_REMOVE},setRemovedState:function(){this.state=h.REMOVED},setFinishedState:function(){this.state=h.FINISHED},setDestroyedState:function(){this.state=h.DESTROYED},isPending:function(){return this.state===h.PENDING},isActive:function(){return this.state===h.ACTIVE},isLoopDelayed:function(){return this.state===h.LOOP_DELAY},isCompleteDelayed:function(){return this.state===h.COMPLETE_DELAY},isStartDelayed:function(){return this.state===h.START_DELAY},isPendingRemove:function(){return this.state===h.PENDING_REMOVE},isRemoved:function(){return this.state===h.REMOVED},isFinished:function(){return this.state===h.FINISHED},isDestroyed:function(){return this.state===h.DESTROYED},destroy:function(){this.data&&this.data.forEach(function(t){t.destroy()}),this.removeAllListeners(),this.callbacks=null,this.data=null,this.parent=null,this.setDestroyedState()}});d.TYPES=["onActive","onComplete","onLoop","onPause","onRepeat","onResume","onStart","onStop","onUpdate","onYoyo"],E.exports=d},95042:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(83419),S=n(842),x=n(86353),h=new m({initialize:function(t,e,l,i,s,r,o,a,u,f){this.tween=t,this.targetIndex=e,this.duration=i<=0?.01:i,this.totalDuration=0,this.delay=0,this.getDelay=l,this.yoyo=s,this.hold=r,this.repeat=o,this.repeatDelay=a,this.repeatCounter=0,this.flipX=u,this.flipY=f,this.progress=0,this.elapsed=0,this.state=0,this.isCountdown=!1},getTarget:function(){return this.tween.targets[this.targetIndex]},setTargetValue:function(d){d===void 0&&(d=this.current),this.tween.targets[this.targetIndex][this.key]=d},setCreatedState:function(){this.state=x.CREATED,this.isCountdown=!1},setDelayState:function(){this.state=x.DELAY,this.isCountdown=!0},setPendingRenderState:function(){this.state=x.PENDING_RENDER,this.isCountdown=!1},setPlayingForwardState:function(){this.state=x.PLAYING_FORWARD,this.isCountdown=!1},setPlayingBackwardState:function(){this.state=x.PLAYING_BACKWARD,this.isCountdown=!1},setHoldState:function(){this.state=x.HOLD_DELAY,this.isCountdown=!0},setRepeatState:function(){this.state=x.REPEAT_DELAY,this.isCountdown=!0},setCompleteState:function(){this.state=x.COMPLETE,this.isCountdown=!1},isCreated:function(){return this.state===x.CREATED},isDelayed:function(){return this.state===x.DELAY},isPendingRender:function(){return this.state===x.PENDING_RENDER},isPlayingForward:function(){return this.state===x.PLAYING_FORWARD},isPlayingBackward:function(){return this.state===x.PLAYING_BACKWARD},isHolding:function(){return this.state===x.HOLD_DELAY},isRepeating:function(){return this.state===x.REPEAT_DELAY},isComplete:function(){return this.state===x.COMPLETE},setStateFromEnd:function(d){this.yoyo?this.onRepeat(d,!0,!0):this.repeatCounter>0?this.onRepeat(d,!0,!1):this.setCompleteState()},setStateFromStart:function(d){this.repeatCounter>0?this.onRepeat(d,!1):this.setCompleteState()},reset:function(){var d=this.tween,t=d.totalTargets,e=this.targetIndex,l=d.targets[e],i=this.key;this.progress=0,this.elapsed=0,this.delay=this.getDelay(l,i,0,e,t,d),this.repeatCounter=this.repeat===-1?x.MAX:this.repeat,this.setPendingRenderState();var s=this.duration+this.hold;this.yoyo&&(s+=this.duration);var r=s+this.repeatDelay;this.totalDuration=this.delay+s,this.repeat===-1?(this.totalDuration+=r*x.MAX,d.isInfinite=!0):this.repeat>0&&(this.totalDuration+=r*this.repeat),this.totalDuration>d.duration&&(d.duration=this.totalDuration),this.delay0&&(this.elapsed=this.delay,this.setDelayState())},onRepeat:function(d,t,e){var l=this.tween,i=l.totalTargets,s=this.targetIndex,r=l.targets[s],o=this.key,a=o!=="texture";if(this.elapsed=d,this.progress=d/this.duration,this.flipX&&r.toggleFlipX(),this.flipY&&r.toggleFlipY(),a&&(t||e)&&(this.start=this.getStartValue(r,o,this.start,s,i,l)),e){this.setPlayingBackwardState(),this.dispatchEvent(S.TWEEN_YOYO,"onYoyo");return}this.repeatCounter--,a&&(this.end=this.getEndValue(r,o,this.start,s,i,l)),this.repeatDelay>0?(this.elapsed=this.repeatDelay-d,a&&(this.current=this.start,r[o]=this.current),this.setRepeatState()):(this.setPlayingForwardState(),this.dispatchEvent(S.TWEEN_REPEAT,"onRepeat"))},destroy:function(){this.tween=null,this.getDelay=null,this.setCompleteState()}});E.exports=h},69902:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={targets:null,delay:0,duration:1e3,ease:"Power0",easeParams:null,hold:0,repeat:0,repeatDelay:0,yoyo:!1,flipX:!1,flipY:!1,persist:!1,interpolation:null};E.exports=y},81076:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports=["callbackScope","completeDelay","delay","duration","ease","easeParams","flipX","flipY","hold","interpolation","loop","loopDelay","onActive","onActiveParams","onComplete","onCompleteParams","onLoop","onLoopParams","onPause","onPauseParams","onRepeat","onRepeatParams","onResume","onResumeParams","onStart","onStartParams","onStop","onStopParams","onUpdate","onUpdateParams","onYoyo","onYoyoParams","paused","persist","props","repeat","repeatDelay","targets","yoyo"]},8462:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(70402),S=n(83419),x=n(842),h=n(44603),d=n(39429),t=n(36383),e=n(86353),l=n(48177),i=n(42220),s=new S({Extends:m,initialize:function(o,a){m.call(this,o),this.targets=a,this.totalTargets=a.length,this.isSeeking=!1,this.isInfinite=!1,this.elapsed=0,this.totalElapsed=0,this.duration=0,this.progress=0,this.totalDuration=0,this.totalProgress=0,this.isNumberTween=!1},add:function(r,o,a,u,f,v,c,g,p,T,C,M,A,R,P,L){var F=new l(this,r,o,a,u,f,v,c,g,p,T,C,M,A,R,P,L);return this.totalData=this.data.push(F),F},addFrame:function(r,o,a,u,f,v,c,g,p,T){var C=new i(this,r,o,a,u,f,v,c,g,p,T);return this.totalData=this.data.push(C),C},getValue:function(r){r===void 0&&(r=0);var o=null;return this.data&&(o=this.data[r].current),o},hasTarget:function(r){return this.targets&&this.targets.indexOf(r)!==-1},updateTo:function(r,o,a){if(a===void 0&&(a=!1),r!=="texture")for(var u=0;u0)this.elapsed=0,this.progress=0,this.loopCounter--,this.initTweenData(!0),this.loopDelay>0?(this.countdown=this.loopDelay,this.setLoopDelayState()):(this.setActiveState(),this.dispatchEvent(x.TWEEN_LOOP,"onLoop"));else if(this.completeDelay>0)this.countdown=this.completeDelay,this.setCompleteDelayState();else return this.onCompleteHandler(),!0;return!1},onCompleteHandler:function(){this.progress=1,this.totalProgress=1,m.prototype.onCompleteHandler.call(this)},play:function(){return this.isDestroyed()?(console.warn("Cannot play destroyed Tween",this),this):((this.isPendingRemove()||this.isFinished())&&this.seek(),this.paused=!1,this.setActiveState(),this)},seek:function(r,o,a){if(r===void 0&&(r=0),o===void 0&&(o=16.6),a===void 0&&(a=!1),this.isDestroyed())return console.warn("Cannot seek destroyed Tween",this),this;a||(this.isSeeking=!0),this.reset(!0),this.initTweenData(!0),this.setActiveState(),this.dispatchEvent(x.TWEEN_ACTIVE,"onActive");var u=this.paused;if(this.paused=!1,r>0){for(var f=Math.floor(r/o),v=r-f*o,c=0;c0&&this.update(v)}return this.paused=u,this.isSeeking=!1,this},initTweenData:function(r){r===void 0&&(r=!1),this.duration=0,this.startDelay=t.MAX_SAFE_INTEGER;for(var o=this.data,a=0;a0?this.totalDuration=u+f+(u+c)*v:this.totalDuration=u+f},reset:function(r){return r===void 0&&(r=!1),this.elapsed=0,this.totalElapsed=0,this.progress=0,this.totalProgress=0,this.loopCounter=this.loop,this.loop===-1&&(this.isInfinite=!0,this.loopCounter=e.MAX),r||(this.initTweenData(),this.setActiveState(),this.dispatchEvent(x.TWEEN_ACTIVE,"onActive")),this},update:function(r){if(this.isPendingRemove()||this.isDestroyed())return this.persist?(this.setFinishedState(),!1):!0;if(this.paused||this.isFinished())return!1;if(r*=this.timeScale*this.parent.timeScale,this.isLoopDelayed())return this.updateLoopCountdown(r),!1;if(this.isCompleteDelayed())return this.updateCompleteDelay(r),!1;this.hasStarted||(this.startDelay-=r,this.startDelay<=0&&(this.hasStarted=!0,this.dispatchEvent(x.TWEEN_START,"onStart"),r=0));var o=!1;if(this.isActive())for(var a=this.data,u=0;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(72905),S=n(70402),x=n(83419),h=n(842),d=n(44603),t=n(39429),e=n(86353),l=new x({Extends:S,initialize:function(s){S.call(this,s),this.currentTween=null,this.currentIndex=0},init:function(){return this.loopCounter=this.loop===-1?e.MAX:this.loop,this.setCurrentTween(0),this.startDelay>0&&!this.isStartDelayed()?this.setStartDelayState():this.setActiveState(),this},add:function(i){var s=this.parent.create(i);Array.isArray(s)||(s=[s]);for(var r=this.data,o=0;o0)this.loopCounter--,this.resetTweens(),this.loopDelay>0?(this.countdown=this.loopDelay,this.setLoopDelayState()):(this.setActiveState(),this.dispatchEvent(h.TWEEN_LOOP,"onLoop"));else if(this.completeDelay>0)this.countdown=this.completeDelay,this.setCompleteDelayState();else return this.onCompleteHandler(),!0;return!1},play:function(){return this.isDestroyed()?(console.warn("Cannot play destroyed TweenChain",this),this):((this.isPendingRemove()||this.isPending())&&this.resetTweens(),this.paused=!1,this.startDelay>0&&!this.isStartDelayed()?this.setStartDelayState():this.setActiveState(),this)},resetTweens:function(){for(var i=this.data,s=this.totalData,r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(95042),S=n(45319),x=n(83419),h=n(842),d=new x({Extends:m,initialize:function(e,l,i,s,r,o,a,u,f,v,c,g,p,T,C,M,A){m.call(this,e,l,u,f,v,c,g,p,T,C),this.key=i,this.getActiveValue=o,this.getEndValue=s,this.getStartValue=r,this.ease=a,this.start=0,this.previous=0,this.current=0,this.end=0,this.interpolation=M,this.interpolationData=A},reset:function(t){m.prototype.reset.call(this);var e=this.tween.targets[this.targetIndex],l=this.key;t&&(e[l]=this.start),this.start=0,this.previous=0,this.current=0,this.end=0,this.getActiveValue&&(e[l]=this.getActiveValue(e,l,0))},update:function(t){var e=this.tween,l=e.totalTargets,i=this.targetIndex,s=e.targets[i],r=this.key;if(!s)return this.setCompleteState(),!1;if(this.isCountdown&&(this.elapsed-=t,this.elapsed<=0&&(this.elapsed=0,t=0,this.isDelayed()?this.setPendingRenderState():this.isRepeating()?(this.setPlayingForwardState(),this.dispatchEvent(h.TWEEN_REPEAT,"onRepeat")):this.isHolding()&&this.setStateFromEnd(0))),this.isPendingRender())return this.start=this.getStartValue(s,r,s[r],i,l,e),this.end=this.getEndValue(s,r,this.start,i,l,e),this.current=this.start,s[r]=this.start,this.setPlayingForwardState(),!0;var o=this.isPlayingForward(),a=this.isPlayingBackward();if(o||a){var u=this.elapsed,f=this.duration,v=0,c=!1;u+=t,u>=f?(v=u-f,u=f,c=!0):u<0&&(u=0);var g=S(u/f,0,1);this.elapsed=u,this.progress=g,this.previous=this.current,o||(g=1-g);var p=this.ease(g);this.interpolation?this.current=this.interpolation(this.interpolationData,p):this.current=this.start+(this.end-this.start)*p,s[r]=this.current,c&&(o?(e.isNumberTween&&(this.current=this.end,s[r]=this.current),this.hold>0?(this.elapsed=this.hold,this.setHoldState()):this.setStateFromEnd(v)):(e.isNumberTween&&(this.current=this.start,s[r]=this.current),this.setStateFromStart(v))),this.dispatchEvent(h.TWEEN_UPDATE,"onUpdate")}return!this.isComplete()},dispatchEvent:function(t,e){var l=this.tween;if(!l.isSeeking){var i=l.targets[this.targetIndex],s=this.key,r=this.current,o=this.previous;l.emit(t,l,s,i,r,o);var a=l.callbacks[e];a&&a.func.apply(l.callbackScope,[l,i,s,r,o].concat(a.params))}},destroy:function(){m.prototype.destroy.call(this),this.getActiveValue=null,this.getEndValue=null,this.getStartValue=null,this.ease=null}});E.exports=d},42220:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(95042),S=n(45319),x=n(83419),h=n(842),d=new x({Extends:m,initialize:function(e,l,i,s,r,o,a,u,f,v,c){m.call(this,e,l,r,o,!1,a,u,f,v,c),this.key="texture",this.startTexture=null,this.endTexture=i,this.startFrame=null,this.endFrame=s,this.yoyo=u!==0},reset:function(t){m.prototype.reset.call(this);var e=this.tween.targets[this.targetIndex];this.startTexture||(this.startTexture=e.texture.key,this.startFrame=e.frame.name),t&&e.setTexture(this.startTexture,this.startFrame)},update:function(t){var e=this.tween,l=this.targetIndex,i=e.targets[l];if(!i)return this.setCompleteState(),!1;if(this.isCountdown&&(this.elapsed-=t,this.elapsed<=0&&(this.elapsed=0,t=0,this.isDelayed()?this.setPendingRenderState():this.isRepeating()?(this.setPlayingForwardState(),this.dispatchEvent(h.TWEEN_REPEAT,"onRepeat")):this.isHolding()&&this.setStateFromEnd(0))),this.isPendingRender())return this.startTexture&&i.setTexture(this.startTexture,this.startFrame),this.setPlayingForwardState(),!0;var s=this.isPlayingForward(),r=this.isPlayingBackward();if(s||r){var o=this.elapsed,a=this.duration,u=0,f=!1;o+=t,o>=a?(u=o-a,o=a,f=!0):o<0&&(o=0);var v=S(o/a,0,1);this.elapsed=o,this.progress=v,f&&(s?(i.setTexture(this.endTexture,this.endFrame),this.hold>0?(this.elapsed=this.hold,this.setHoldState()):this.setStateFromEnd(u)):(i.setTexture(this.startTexture,this.startFrame),this.setStateFromStart(u))),this.dispatchEvent(h.TWEEN_UPDATE,"onUpdate")}return!this.isComplete()},dispatchEvent:function(t,e){var l=this.tween;if(!l.isSeeking){var i=l.targets[this.targetIndex],s=this.key;l.emit(t,l,s,i);var r=l.callbacks[e];r&&r.func.apply(l.callbackScope,[l,i,s].concat(r.params))}},destroy:function(){m.prototype.destroy.call(this),this.startTexture=null,this.endTexture=null,this.startFrame=null,this.endFrame=null}});E.exports=d},86353:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y={CREATED:0,DELAY:2,PENDING_RENDER:4,PLAYING_FORWARD:5,PLAYING_BACKWARD:6,HOLD_DELAY:7,REPEAT_DELAY:8,COMPLETE:9,PENDING:20,ACTIVE:21,LOOP_DELAY:22,COMPLETE_DELAY:23,START_DELAY:24,PENDING_REMOVE:25,REMOVED:26,FINISHED:27,DESTROYED:28,MAX:999999999999};E.exports=y},83419:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */function y(d){return!!d.get&&typeof d.get=="function"||!!d.set&&typeof d.set=="function"}function n(d,t,e){var l=e?d[t]:Object.getOwnPropertyDescriptor(d,t);return!e&&l.value&&typeof l.value=="object"&&(l=l.value),l&&y(l)?(typeof l.enumerable>"u"&&(l.enumerable=!0),typeof l.configurable>"u"&&(l.configurable=!0),l):!1}function m(d,t){var e=Object.getOwnPropertyDescriptor(d,t);return e?(e.value&&typeof e.value=="object"&&(e=e.value),e.configurable===!1):!1}function S(d,t,e,l){for(var i in t)if(t.hasOwnProperty(i)){var s=n(t,i,e);if(s!==!1){var r=l||d;if(m(r.prototype,i)){if(h.ignoreFinals)continue;throw new Error("cannot override final property '"+i+"', set Class.ignoreFinals = true to skip")}Object.defineProperty(d.prototype,i,s)}else d.prototype[i]=t[i]}}function x(d,t){if(t){Array.isArray(t)||(t=[t]);for(var e=0;e{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(){};E.exports=y},20242:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(){return null};E.exports=y},71146:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x,h){if(h===void 0&&(h=n),S>0){var d=S-n.length;if(d<=0)return null}if(!Array.isArray(m))return n.indexOf(m)===-1?(n.push(m),x&&x.call(h,m),m):null;for(var t=m.length-1;t>=0;)n.indexOf(m[t])!==-1&&m.splice(t,1),t--;if(t=m.length,t===0)return null;S>0&&t>d&&(m.splice(d),t=d);for(var e=0;e{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x,h,d){if(S===void 0&&(S=0),d===void 0&&(d=n),x>0){var t=x-n.length;if(t<=0)return null}if(!Array.isArray(m))return n.indexOf(m)===-1?(n.splice(S,0,m),h&&h.call(d,m),m):null;for(var e=m.length-1;e>=0;)n.indexOf(m[e])!==-1&&m.pop(),e--;if(e=m.length,e===0)return null;x>0&&e>t&&(m.splice(t),e=t);for(var l=e-1;l>=0;l--){var i=m[l];n.splice(S,0,i),h&&h.call(d,i)}return m};E.exports=y},66905:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){var S=n.indexOf(m);return S!==-1&&S{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(82011),S=function(x,h,d,t,e){t===void 0&&(t=0),e===void 0&&(e=x.length);var l=0;if(m(x,t,e))for(var i=t;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){var x,h=[null];for(x=3;x{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(82011),S=function(x,h,d,t,e){if(t===void 0&&(t=0),e===void 0&&(e=x.length),m(x,t,e)){var l,i=[null];for(l=5;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){if(m.length){if(m.length===1)return m[0]}else return NaN;var x=1,h,d;if(S){if(nm.length&&(x=m.length),S?(h=m[x-1][S],d=m[x][S],d-n<=n-h?m[x]:m[x-1]):(h=m[x-1],d=m[x],d-n<=n-h?d:h)};E.exports=y},43491:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){m===void 0&&(m=[]);for(var S=0;S{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(82011),S=function(x,h,d,t,e){t===void 0&&(t=0),e===void 0&&(e=x.length);var l=[];if(m(x,t,e))for(var i=t;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(82011),S=function(x,h,d,t,e){t===void 0&&(t=0),e===void 0&&(e=x.length);var l,i;if(t!==-1){if(m(x,t,e)){for(l=t;l=0;l--)if(i=x[l],!h||h&&d===void 0&&i.hasOwnProperty(h)||h&&d!==void 0&&i[h]===d)return i}return null};E.exports=S},26546:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){m===void 0&&(m=0),S===void 0&&(S=n.length);var x=m+Math.floor(Math.random()*S);return n[x]===void 0?null:n[x]};E.exports=y},85835:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){if(m===S)return n;var x=n.indexOf(m),h=n.indexOf(S);if(x<0||h<0)throw new Error("Supplied items must be elements of the same array");return x>h||(n.splice(x,1),h=n.indexOf(S),n.splice(h+1,0,m)),n};E.exports=y},83371:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){if(m===S)return n;var x=n.indexOf(m),h=n.indexOf(S);if(x<0||h<0)throw new Error("Supplied items must be elements of the same array");return x{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){var S=n.indexOf(m);if(S>0){var x=n[S-1],h=n.indexOf(x);n[S]=x,n[h]=m}return n};E.exports=y},69693:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){var x=n.indexOf(m);if(x===-1||S<0||S>=n.length)throw new Error("Supplied index out of bounds");return x!==S&&(n.splice(x,1),n.splice(S,0,m)),m};E.exports=y},40853:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){var S=n.indexOf(m);if(S!==-1&&S{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){var h=[],d,t=!1;if((S||x)&&(t=!0,S||(S=""),x||(x="")),m=m;d--)t?h.push(S+d.toString()+x):h.push(d);else for(d=n;d<=m;d++)t?h.push(S+d.toString()+x):h.push(d);return h};E.exports=y},593:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(2284),S=function(x,h,d){x===void 0&&(x=0),h===void 0&&(h=null),d===void 0&&(d=1),h===null&&(h=x,x=0);for(var t=[],e=Math.max(m((h-x)/(d||1)),0),l=0;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */function y(S,x,h){var d=S[x];S[x]=S[h],S[h]=d}function n(S,x){return Sx?1:0}var m=function(S,x,h,d,t){for(h===void 0&&(h=0),d===void 0&&(d=S.length-1),t===void 0&&(t=n);d>h;){if(d-h>600){var e=d-h+1,l=x-h+1,i=Math.log(e),s=.5*Math.exp(2*i/3),r=.5*Math.sqrt(i*s*(e-s)/e)*(l-e/2<0?-1:1),o=Math.max(h,Math.floor(x-l*s/e+r)),a=Math.min(d,Math.floor(x+(e-l)*s/e+r));m(S,x,o,a,t)}var u=S[x],f=h,v=d;for(y(S,h,x),t(S[d],u)>0&&y(S,h,d);f0;)v--}t(S[h],u)===0?y(S,h,v):(v++,y(S,v,d)),v<=x&&(h=v+1),x<=v&&(d=v-1)}};E.exports=m},88492:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(35154),S=n(33680),x=function(d,t,e){for(var l=[],i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(19133),S=function(x,h,d,t){t===void 0&&(t=x);var e;if(!Array.isArray(h))return e=x.indexOf(h),e!==-1?(m(x,e),d&&d.call(t,h),h):null;for(var l=h.length-1,i=[];l>=0;){var s=h[l];e=x.indexOf(s),e!==-1&&(m(x,e),i.push(s),d&&d.call(t,s)),l--}return i};E.exports=S},60248:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(19133),S=function(x,h,d,t){if(t===void 0&&(t=x),h<0||h>x.length-1)throw new Error("Index out of bounds");var e=m(x,h);return d&&d.call(t,e),e};E.exports=S},81409:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(82011),S=function(x,h,d,t,e){if(h===void 0&&(h=0),d===void 0&&(d=x.length),e===void 0&&(e=x),m(x,h,d)){var l=d-h,i=x.splice(h,l);if(t)for(var s=0;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(19133),S=function(x,h,d){h===void 0&&(h=0),d===void 0&&(d=x.length);var t=h+Math.floor(Math.random()*d);return m(x,t)};E.exports=S},42169:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){var x=n.indexOf(m),h=n.indexOf(S);return x!==-1&&h===-1?(n[x]=S,!0):!1};E.exports=y},86003:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){m===void 0&&(m=1);for(var S=null,x=0;x{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){m===void 0&&(m=1);for(var S=null,x=0;x{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){var h=n.length;if(m<0||m>=h||m>=S||S>h){if(x)throw new Error("Range Error: Values outside acceptable range");return!1}else return!0};E.exports=y},89545:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){var S=n.indexOf(m);return S!==-1&&S>0&&(n.splice(S,1),n.unshift(m)),m};E.exports=y},17810:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(82011),S=function(x,h,d,t,e){if(t===void 0&&(t=0),e===void 0&&(e=x.length),m(x,t,e))for(var l=t;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){for(var m=n.length-1;m>0;m--){var S=Math.floor(Math.random()*(m+1)),x=n[m];n[m]=n[S],n[S]=x}return n};E.exports=y},90126:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){var m=/\D/g;return n.sort(function(S,x){return parseInt(S.replace(m,""),10)-parseInt(x.replace(m,""),10)}),n};E.exports=y},19133:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){if(!(m>=n.length)){for(var S=n.length-1,x=n[m],h=m;h{/** + * @author Richard Davey + * @author Angry Bytes (and contributors) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(82264);function S(t,e){return String(t).localeCompare(e)}function x(t,e){var l=t.length;if(l<=1)return t;for(var i=new Array(l),s=1;ss&&(u=s),f>s&&(f=s),v=a,c=u;;)if(v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){if(m===S)return n;var x=n.indexOf(m),h=n.indexOf(S);if(x<0||h<0)throw new Error("Supplied items must be elements of the same array");return n[x]=S,n[h]=m,n};E.exports=y},37105:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Matrix:n(54915),Add:n(71146),AddAt:n(51067),BringToTop:n(66905),CountAllMatching:n(21612),Each:n(95428),EachInRange:n(36914),FindClosestInSorted:n(81957),Flatten:n(43491),GetAll:n(46710),GetFirst:n(58731),GetRandom:n(26546),MoveDown:n(70864),MoveTo:n(69693),MoveUp:n(40853),MoveAbove:n(85835),MoveBelow:n(83371),NumberArray:n(20283),NumberArrayStep:n(593),QuickSelect:n(43886),Range:n(88492),Remove:n(72905),RemoveAt:n(60248),RemoveBetween:n(81409),RemoveRandomElement:n(31856),Replace:n(42169),RotateLeft:n(86003),RotateRight:n(49498),SafeRange:n(82011),SendToBack:n(89545),SetAll:n(17810),Shuffle:n(33680),SortByDigits:n(90126),SpliceOne:n(19133),StableSort:n(19186),Swap:n(25630)}},86922:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){if(!Array.isArray(n)||!Array.isArray(n[0]))return!1;for(var m=n[0].length,S=1;S{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(41836),S=n(86922),x=function(h){var d="";if(!S(h))return d;for(var t=0;t{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.reverse()};E.exports=y},21224:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){for(var m=0;m{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(37829),S=function(x){return m(x,180)};E.exports=S},44657:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(37829),S=function(x,h){h===void 0&&(h=1);for(var d=0;d{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(86922),S=n(2429),x=function(h,d){if(d===void 0&&(d=90),!m(h))return null;if(typeof d!="string"&&(d=(d%360+360)%360),d===90||d===-270||d==="rotateLeft")h=S(h),h.reverse();else if(d===-90||d===270||d==="rotateRight")h.reverse(),h=S(h);else if(Math.abs(d)===180||d==="rotate180"){for(var t=0;t{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(37829),S=function(x,h){h===void 0&&(h=1);for(var d=0;d{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(86003),S=n(49498),x=function(h,d,t){if(d===void 0&&(d=0),t===void 0&&(t=0),t!==0&&(t<0?m(h,Math.abs(t)):S(h,t)),d!==0)for(var e=0;e{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){for(var m=n.length,S=n[0].length,x=new Array(S),h=0;h-1;d--)x[h][d]=n[d][h]}return x};E.exports=y},54915:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={CheckMatrix:n(86922),MatrixToString:n(63362),ReverseColumns:n(92598),ReverseRows:n(21224),Rotate180:n(98717),RotateLeft:n(44657),RotateMatrix:n(37829),RotateRight:n(92632),Translate:n(69512),TransposeMatrix:n(2429)}},71334:E=>{/** + * @author Niklas von Hertzen (https://github.com/niklasvh/base64-arraybuffer) + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=function(m,S){for(var x=new Uint8Array(m),h=x.length,d=S?"data:"+S+";base64,":"",t=0;t>2],d+=y[(x[t]&3)<<4|x[t+1]>>4],d+=y[(x[t+1]&15)<<2|x[t+2]>>6],d+=y[x[t+2]&63];return h%3===2?d=d.substring(0,d.length-1)+"=":h%3===1&&(d=d.substring(0,d.length-2)+"=="),d};E.exports=n},53134:E=>{/** + * @author Niklas von Hertzen (https://github.com/niklasvh/base64-arraybuffer) + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */for(var y="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=new Uint8Array(256),m=0;m>4,o[t++]=(l&15)<<4|i>>2,o[t++]=(i&3)<<6|s&63;return r};E.exports=S},65839:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={ArrayBufferToBase64:n(71334),Base64ToArrayBuffer:n(53134)}},91799:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Array:n(37105),Base64:n(65839),Objects:n(1183),String:n(31749),NOOP:n(29747),NULL:n(20242)}},41786:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){var m={};for(var S in n)Array.isArray(n[S])?m[S]=n[S].slice(0):m[S]=n[S];return m};E.exports=y},62644:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){var m,S,x;if(typeof n!="object"||n===null)return n;m=Array.isArray(n)?[]:{};for(x in n)S=n[x],m[x]=y(S);return m};E.exports=y},79291:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(41212),S=function(){var x,h,d,t,e,l,i=arguments[0]||{},s=1,r=arguments.length,o=!1;for(typeof i=="boolean"&&(o=i,i=arguments[1]||{},s=2),r===s&&(i=this,--s);s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(75508),S=n(35154),x=function(h,d,t){var e=S(h,d,null);if(e===null)return t;if(Array.isArray(e))return m.RND.pick(e);if(typeof e=="object"){if(e.hasOwnProperty("randInt"))return m.RND.integerInRange(e.randInt[0],e.randInt[1]);if(e.hasOwnProperty("randFloat"))return m.RND.realInRange(e.randFloat[0],e.randFloat[1])}else if(typeof e=="function")return e(d);return e};E.exports=x},95540:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){var x=typeof n;return!n||x==="number"||x==="string"?S:n.hasOwnProperty(m)&&n[m]!==void 0?n[m]:S};E.exports=y},82840:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(35154),S=n(45319),x=function(h,d,t,e,l){l===void 0&&(l=t);var i=m(h,d,l);return S(i,t,e)};E.exports=x},35154:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){if(!n&&!x||typeof n=="number")return S;if(n&&n.hasOwnProperty(m))return n[m];if(x&&x.hasOwnProperty(m))return x[m];if(m.indexOf(".")!==-1){for(var h=m.split("."),d=n,t=x,e=S,l=S,i=!0,s=!0,r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){for(var S=0;S{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){for(var S=0;S{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.hasOwnProperty(m)};E.exports=y},41212:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){if(!n||typeof n!="object"||n.nodeType||n===n.window)return!1;try{if(n.constructor&&!{}.hasOwnProperty.call(n.constructor.prototype,"isPrototypeOf"))return!1}catch{return!1}return!0};E.exports=y},46975:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(41786),S=function(x,h){var d=m(x);for(var t in h)d.hasOwnProperty(t)||(d[t]=h[t]);return d};E.exports=S},269:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(41786),S=function(x,h){var d=m(x);for(var t in h)d.hasOwnProperty(t)&&(d[t]=h[t]);return d};E.exports=S},18254:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var m=n(97022),S=function(x,h){for(var d={},t=0;t{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S){if(!n||typeof n=="number")return!1;if(n.hasOwnProperty(m))return n[m]=S,!0;if(m.indexOf(".")!==-1){for(var x=m.split("."),h=n,d=n,t=0;t{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Clone:n(41786),DeepCopy:n(62644),Extend:n(79291),GetAdvancedValue:n(23568),GetFastValue:n(95540),GetMinMaxValue:n(82840),GetValue:n(35154),HasAll:n(69036),HasAny:n(1985),HasValue:n(97022),IsPlainObject:n(41212),Merge:n(46975),MergeRight:n(269),Pick:n(18254),SetValue:n(61622)}},27902:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return n.replace(/%([0-9]+)/g,function(S,x){return m[Number(x)-1]})};E.exports=y},41836:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m,S,x){m===void 0&&(m=0),S===void 0&&(S=" "),x===void 0&&(x=3),n=n.toString();var h=0;if(m+1>=n.length)switch(x){case 1:n=new Array(m+1-n.length).join(S)+n;break;case 3:var d=Math.ceil((h=m-n.length)/2),t=h-d;n=new Array(t+1).join(S)+n+new Array(d+1).join(S);break;default:n=n+new Array(m+1-n.length).join(S);break}return n};E.exports=y},33628:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n,m){return m===0?n.slice(1):n.slice(0,m)+n.slice(m+1)};E.exports=y},27671:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n.split("").reverse().join("")};E.exports=y},45650:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){var m=Math.random()*16|0,S=n==="x"?m:m&3|8;return S.toString(16)})};E.exports=y},35355:E=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var y=function(n){return n&&n[0].toUpperCase()+n.slice(1)};E.exports=y},31749:(E,y,n)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */E.exports={Format:n(27902),Pad:n(41836),RemoveAt:n(33628),Reverse:n(27671),UppercaseFirst:n(35355),UUID:n(45650)}}},bi={};function Gt(E){var y=bi[E];if(y!==void 0)return y.exports;var n=bi[E]={exports:{}};return yn[E](n,n.exports,Gt),n.exports}Gt.d=(E,y)=>{for(var n in y)Gt.o(y,n)&&!Gt.o(E,n)&&Object.defineProperty(E,n,{enumerable:!0,get:y[n]})};Gt.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}();Gt.o=(E,y)=>Object.prototype.hasOwnProperty.call(E,y);var Nt={};(()=>{Gt.d(Nt,{A4:()=>p,AB:()=>P,AQ:()=>c,Aq:()=>B,B_:()=>t,CB:()=>z,Cu:()=>s,D7:()=>L,Dh:()=>a,En:()=>y,FE:()=>T,Fu:()=>O,M3:()=>b,NS:()=>Y,O1:()=>F,PX:()=>H,Q8:()=>D,Qw:()=>n,SY:()=>U,Tm:()=>x,UP:()=>W,XT:()=>d,Z5:()=>M,Zt:()=>r,_k:()=>A,aH:()=>f,dv:()=>l,gX:()=>w,gd:()=>m,ho:()=>R,iJ:()=>h,j$:()=>N,l2:()=>S,nl:()=>e,pd:()=>u,qt:()=>V,ry:()=>g,sV:()=>i,x3:()=>G,xS:()=>o,xv:()=>I,zA:()=>C,zU:()=>v});/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */Gt(63595);var E=Gt(8054);const y=Gt(61061),n=Gt(60421),m=Gt(10312),S=Gt(83388),x=Gt(26638),h=Gt(42857),d=Gt(25410),t=Gt(44965),e=Gt(27460),l=Gt(84902),i=Gt(93055),s=Gt(11889),r=Gt(50127),o=Gt(77856),a=Gt(55738),u=Gt(14350),f=Gt(57777),v=Gt(75508),c=Gt(44563),g=Gt(18922),p=Gt(36909),T=Gt(93364),C=Gt(29795),M=Gt(97482),A=Gt(62194),R=Gt(41392),P=Gt(23717),L=Gt(27458),F=Gt(62501),w=Gt(90291),O=Gt(43066),B=Gt(91799),I=E.VERSION,D=E.AUTO,N=E.CANVAS,z=E.WEBGL,V=E.HEADLESS,U=E.FOREVER,G=E.NONE,b=E.LEFT,Y=E.RIGHT,W=E.UP,H=E.DOWN})();var Tn=Nt.Q8;Nt.En;Nt.Qw;Nt.gd;Nt.j$;Nt.l2;Nt.Tm;Nt.iJ;Nt.XT;Nt.dv;Nt.PX;Nt.B_;Nt.nl;Nt.sV;Nt.SY;Nt.Cu;var Sn=Nt.Zt;Nt.xS;Nt.Dh;Nt.qt;Nt.pd;Nt.M3;Nt.aH;var ai=Nt.zU;Nt.x3;Nt.AQ;Nt.ry;Nt.NS;Nt.A4;var Gi=Nt.FE;Nt.zA;var ce=Nt.Z5;Nt._k;Nt.AB;Nt.ho;Nt.D7;Nt.O1;Nt.gX;Nt.Fu;Nt.UP;Nt.Aq;Nt.xv;Nt.CB;class Cn extends ce{constructor(){super({key:"MenuScene"})}create(){const{width:y,height:n}=this.cameras.main,m=localStorage.getItem("bgmVolume");this.bgmVolume=m?parseFloat(m):.1,this.add.rectangle(y/2,n/2,y,n,1710638);const S=this.add.text(y/2,n*.15,"MINE BATTLE",{fontSize:"56px",fontStyle:"bold",color:"#00ff88",stroke:"#000",strokeThickness:6}).setOrigin(.5);this.add.text(y/2,n*.22,"多人竞技扫雷",{fontSize:"22px",color:"#a0aec0"}).setOrigin(.5),this.tweens.add({targets:S,scale:{from:1,to:1.08},duration:1200,yoyo:!0,repeat:-1,ease:"Sine.easeInOut"});const x=this.add.rectangle(y/2,n*.35,280,55,52479).setInteractive({useHandCursor:!0}).setStrokeStyle(3,39372);this.add.text(y/2,n*.35,"🌐 联机对战",{fontSize:"26px",fontStyle:"bold",color:"#1a1a2e"}).setOrigin(.5),x.on("pointerover",()=>{x.setFillStyle(3399167),x.setScale(1.05)}),x.on("pointerout",()=>{x.setFillStyle(52479),x.setScale(1)}),x.on("pointerdown",()=>{localStorage.setItem("bgmVolume",this.bgmVolume.toString()),this.scene.start("LobbyScene",{mode:"minesweeper"})});const h=this.add.rectangle(y/2,n*.46,280,55,65416).setInteractive({useHandCursor:!0}).setStrokeStyle(3,52330);this.add.text(y/2,n*.46,"🤖 人机对战",{fontSize:"26px",fontStyle:"bold",color:"#1a1a2e"}).setOrigin(.5),h.on("pointerover",()=>{h.setFillStyle(65433),h.setScale(1.05)}),h.on("pointerout",()=>{h.setFillStyle(65416),h.setScale(1)}),h.on("pointerdown",()=>{localStorage.setItem("bgmVolume",this.bgmVolume.toString()),this.scene.start("RoomScene")});const d=this.add.rectangle(y/2,n*.57,200,50,10181046).setInteractive({useHandCursor:!0}).setStrokeStyle(3,9323693);this.add.text(y/2,n*.57,"📖 游戏说明",{fontSize:"22px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5),d.on("pointerover",()=>{d.setFillStyle(11037641),d.setScale(1.05)}),d.on("pointerout",()=>{d.setFillStyle(10181046),d.setScale(1)}),d.on("pointerdown",()=>{this.scene.start("HelpScene")}),this.createVolumeControl(y,n),this.add.text(y/2,n*.72,"多人对战:回合制策略扫雷",{fontSize:"14px",color:"#888888"}).setOrigin(.5);const t=this.add.text(y/2,n*.88,"🦆 没有套路的真盲盒 🦆",{fontSize:"18px",fontStyle:"bold",color:"#ffcc00",stroke:"#000",strokeThickness:2}).setOrigin(.5);this.add.text(y/2,n*.94,"© 2025-2026 柯大鸭 版权所有",{fontSize:"18px",color:"#888888"}).setOrigin(.5),this.tweens.add({targets:t,alpha:{from:1,to:.6},duration:1e3,yoyo:!0,repeat:-1,ease:"Sine.easeInOut"})}createVolumeControl(y,n){const m=n*.8,S=y/2,x=200,h=10;this.add.text(S,m-25,"🎵 BGM音量",{fontSize:"18px",fontStyle:"bold",color:"#00ff88"}).setOrigin(.5);const d=this.add.rectangle(S,m,x,h,2963272).setStrokeStyle(2,4871528),t=x*this.bgmVolume;this.volumeFill=this.add.rectangle(S-x/2+t/2,m,t,h,65416).setOrigin(.5,.5),this.volumeKnob=this.add.circle(S-x/2+t,m,15,65416).setStrokeStyle(2,52330).setInteractive({useHandCursor:!0,draggable:!0}),this.volumeText=this.add.text(S,m+25,`${Math.round(this.bgmVolume*100)}%`,{fontSize:"16px",color:"#ffffff",fontStyle:"bold"}).setOrigin(.5),this.volumeKnob.on("pointerover",()=>{this.volumeKnob.setStrokeStyle(3,65433),this.volumeKnob.setScale(1.2)}),this.volumeKnob.on("pointerout",()=>{this.volumeKnob.setStrokeStyle(2,52330),this.volumeKnob.setScale(1)}),this.volumeKnob.on("pointerdown",()=>{this.volumeKnob.setData("isDragging",!0)}),this.input.on("pointermove",e=>{this.volumeKnob.getData("isDragging")&&this.updateVolume(e.x,S,x)}),this.input.on("pointerup",()=>{this.volumeKnob.getData("isDragging")&&(this.volumeKnob.setData("isDragging",!1),localStorage.setItem("bgmVolume",this.bgmVolume.toString()))}),d.setInteractive(),d.on("pointerdown",e=>{this.updateVolume(e.x,S,x),this.volumeKnob.setData("isDragging",!0)})}updateVolume(y,n,m){const S=n-m/2,x=n+m/2;let h=ai.Clamp(y,S,x);this.bgmVolume=(h-S)/m,this.bgmVolume=ai.Clamp(this.bgmVolume,0,1),this.volumeKnob.x=h;const d=m*this.bgmVolume;this.volumeFill.x=n-m/2+d/2,this.volumeFill.width=d,this.volumeText.setText(`${Math.round(this.bgmVolume*100)}%`),this.bgmVolume===0&&this.volumeText.setText("🔇 0%")}showToast(y){const{width:n,height:m}=this.cameras.main,S=this.add.container(n/2,m*.4).setDepth(99999),x=this.add.rectangle(0,0,300,50,2963272,.9).setStrokeStyle(2,65416),h=this.add.text(0,0,y,{fontSize:"16px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5);S.add([x,h]),S.alpha=0,this.tweens.add({targets:S,alpha:1,duration:200,ease:"Power2"}),this.time.delayedCall(2e3,()=>{this.tweens.add({targets:S,alpha:0,duration:200,ease:"Power2",onComplete:()=>{S.destroy()}})})}}const bt={ELEPHANT:"elephant",CAT:"cat",DOG:"dog",MONKEY:"monkey",CHICKEN:"chicken",SLOTH:"sloth",HIPPO:"hippopotamus",TIGER:"tiger"},Ge={[bt.ELEPHANT]:"elephant.jpg",[bt.CAT]:"cat.jpg",[bt.DOG]:"doggy.jpg",[bt.MONKEY]:"monkey.jpg",[bt.CHICKEN]:"chicken.jpg",[bt.SLOTH]:"sloth.jpg",[bt.HIPPO]:"hippopotamus.jpg",[bt.TIGER]:"tiger.jpg"},En={[bt.ELEPHANT]:{id:bt.ELEPHANT,name:"大象",maxHP:5,description:"血厚5点,但不能用医疗包/复活甲/好人卡",passive:"no_heal_items",avatar:Ge[bt.ELEPHANT]},[bt.CAT]:{id:bt.CAT,name:"猫",maxHP:3,description:"灵动:单次受害强制为1",passive:"damage_reduction",avatar:Ge[bt.CAT]},[bt.DOG]:{id:bt.DOG,name:"狗",maxHP:3,description:"嗅觉:回合数是4的倍数时,获得一个格子的提示信息",passive:"sniff",avatar:Ge[bt.DOG]},[bt.MONKEY]:{id:bt.MONKEY,name:"猴子",maxHP:4,description:"采摘:每回合8%有概率回1血(限2次)",passive:"gather",avatar:Ge[bt.MONKEY]},[bt.CHICKEN]:{id:bt.CHICKEN,name:"鸡",maxHP:4,description:"应激:受创时有8%概率得防御道具(限2次)",passive:"stress",avatar:Ge[bt.CHICKEN]},[bt.SLOTH]:{id:bt.SLOTH,name:"树懒",maxHP:3,description:"慵懒:免疫中毒,炸弹伤害减半",passive:"poison_immune_bomb_halved",avatar:Ge[bt.SLOTH]},[bt.HIPPO]:{id:bt.HIPPO,name:"河马",maxHP:4,description:"顽强:存活时不能捡道具,死亡时33%概率复活",passive:"revive_chance",avatar:Ge[bt.HIPPO]},[bt.TIGER]:{id:bt.TIGER,name:"老虎",maxHP:4,description:"猛击:飞刀伤害+1并变为群体",passive:"dagger_boost",avatar:Ge[bt.TIGER]}};class be{constructor(y){this.id=y.id,this.name=y.name,this.maxHP=y.maxHP,this.description=y.description,this.passive=y.passive,this.avatar=y.avatar}onDamage(y,n){return y}canUseItem(y){return!0}onTurnStart(y){}onTurnEnd(y){}onKill(y,n){}onGameStart(y){}}class An extends be{onDamage(y,n){const m=y>1?1:y,S=m>0;return{damage:m,agilityReaction:S}}}class Mn extends be{canUseItem(y){return!["medkit","resurrection","good_card"].includes(y)}}class Rn extends be{onTurnStart(y){return y.turnCount=(y.turnCount||0)+1,y.turnCount%4===0?{type:"sniff",turnCount:y.turnCount}:null}}class Pn extends be{constructor(y){super(y),this.healCount=0}onTurnStart(y){return this.healCount<2&&Math.random()<.08&&y.hp0?(y.poisoned=0,{type:"poison_cleared",slothAbility:!0}):null}}class On extends be{onGameStart(y){return y.canPickItems=!1,null}onDeath(y){return Math.random()<.33?(y.isDead=!1,y.hp=2,{type:"revive"}):null}}class wn extends be{}class Se{static create(y){const n=En[y];if(!n)throw new Error(`Unknown character type: ${y}`);switch(y){case bt.ELEPHANT:return new Mn(n);case bt.CAT:return new An(n);case bt.DOG:return new Rn(n);case bt.MONKEY:return new Pn(n);case bt.CHICKEN:return new Ln(n);case bt.SLOTH:return new Fn(n);case bt.HIPPO:return new On(n);case bt.TIGER:return new wn(n);default:return new be(n)}}}const Ht={MEDKIT:"medkit",TIME_BOMB:"time_bomb",POISON:"poison",SHIELD:"shield",GOOD_CARD:"good_card",MAGNIFIER:"magnifier",DAGGER:"dagger",RESURRECTION:"resurrection",LIGHTNING:"lightning",CHEST:"chest",CURSE:"curse"},Xe={[Ht.MEDKIT]:{id:Ht.MEDKIT,name:"医疗包",icon:"icon_medkit.png",description:"恢复1点血量,并且移除中毒状态",rarity:"common",weight:10},[Ht.TIME_BOMB]:{id:Ht.TIME_BOMB,name:"定时炸弹",icon:"icon_time_bomb.png",description:"玩家行动3次后爆炸,并且波及临近的玩家",rarity:"rare",weight:10},[Ht.POISON]:{id:Ht.POISON,name:"剧毒",icon:"icon_poison.png",description:"中毒后玩家每行动2次扣1点血量",rarity:"uncommon",weight:15},[Ht.SHIELD]:{id:Ht.SHIELD,name:"护盾",icon:"icon_shield.png",description:"抵挡一次伤害",rarity:"uncommon",weight:10},[Ht.GOOD_CARD]:{id:Ht.GOOD_CARD,name:"好人卡",icon:"icon_good_card.png",description:"跳过本轮",rarity:"rare",weight:10},[Ht.MAGNIFIER]:{id:Ht.MAGNIFIER,name:"放大镜",icon:"icon_magnifier.png",description:"透视一格的内容,优先告知有道具的格子",rarity:"common",weight:10},[Ht.DAGGER]:{id:Ht.DAGGER,name:"飞刀",icon:"icon_dagger.png",description:"对一名对手造成1点伤害,老虎在场时变成2点并群体",rarity:"uncommon",weight:10},[Ht.RESURRECTION]:{id:Ht.RESURRECTION,name:"复活甲",icon:"icon_resurrection.png",description:"死亡时原地复活1血",rarity:"legendary",weight:5},[Ht.LIGHTNING]:{id:Ht.LIGHTNING,name:"雷击",icon:"icon_lightning.png",description:"对所有玩家造成1点伤害",rarity:"rare",weight:10},[Ht.CHEST]:{id:Ht.CHEST,name:"宝箱",icon:"icon_chest.png",description:"获得指定优惠券",rarity:"epic",weight:10},[Ht.CURSE]:{id:Ht.CURSE,name:"诅咒",icon:"icon_curse.png",description:"下次受到伤害翻倍",rarity:"rare",weight:10}};class gi{static apply(y,n,m=null,S={}){const x={success:!1,message:"",effects:[]};switch(y){case Ht.MEDKIT:if(console.log(`医疗包使用前 - hp: ${n.hp}, maxHP: ${n.maxHP}, poisoned: ${n.poisoned}`),n.hp0){const p=n.hp;n.hp=Math.min(n.maxHP,n.hp+1);const T=n.poisoned>0;n.poisoned=0,n.poisonActionCount=0;const C=n.hp-p;x.success=!0;let M=[`${n.name} 使用了医疗包`];C>0&&M.push(`回复${C}点生命`),T&&M.push("移除了中毒状态"),x.message=M.join(","),x.effects.push({type:"heal",amount:C,target:n.id}),x.effects.push({type:"cure_poison",target:n.id}),console.log(`医疗包使用后 - hp: ${n.hp}, healAmount: ${C}`)}else x.message="生命值已满且未中毒,无法使用医疗包",console.log("医疗包无法使用:生命值已满且未中毒");break;case Ht.TIME_BOMB:const d=(S.players||[]).filter(p=>!p.isDead);if(d.length>0){const p=d[Math.floor(Math.random()*d.length)];p.timeBombRounds=3,x.success=!0,p.id===n.id?x.message=`${n.name} 使用定时炸弹,不幸安装到了自己身上,3次行动后爆炸`:x.message=`${n.name} 使用定时炸弹,安装到了 ${p.name} 身上,3次行动后爆炸`,x.effects.push({type:"time_bomb",rounds:3,target:p.id})}else x.message="没有有效的目标可以安装定时炸弹";break;case Ht.POISON:const e=(S.players||[]).filter(p=>!p.isDead);if(e.length>0){const p=e[Math.floor(Math.random()*e.length)];p.poisoned=4,p.poisonActionCount=0,x.success=!0,p.id===n.id?x.message=`${n.name} 给自己下毒了`:x.message=`${n.name} 给 ${p.name} 下毒了`,x.effects.push({type:"poison",rounds:4,target:p.id}),x.effects.push({type:"poison_animation",target:p.id})}else x.message="没有有效的目标可以下毒";break;case Ht.SHIELD:n.shield?x.message="已有护盾":(n.shield=!0,x.success=!0,x.message=`${n.name} 获得了护盾`,x.effects.push({type:"shield",target:n.id}));break;case Ht.GOOD_CARD:n.skipNextTurn=!0,x.success=!0,x.message=`${n.name} 使用了好人卡,下回合将被跳过`,x.effects.push({type:"skip_turn",target:n.id}),x.effects.push({type:"good_card_animation",target:n.id});break;case Ht.MAGNIFIER:const l=S.board||[],i=[];for(let p=0;pp.type==="item");s||(s=i.find(p=>p.type==="empty")),s||(s=i[Math.floor(Math.random()*i.length)]),x.success=!0,x.message=`${n.name} 使用了放大镜`,x.effects.push({type:"magnifier",userId:n.id,targetCell:{x:s.x,y:s.y,cellType:s.type}});break;case Ht.DAGGER:const r=S.players||[],o=r.filter(p=>!p.isDead&&p.id!==n.id);if(m){let p=1,T=!1,C=null;const M=r.find(R=>!R.isDead&&R.characterType==="tiger");M&&(p=2,T=!0,C=M);const A=[];T?(r.forEach(R=>{!R.isDead&&R.id!==n.id&&A.push({target:R.id,damage:p,weapon:"dagger"})}),x.success=!0,x.message=`【老虎】特性触发,飞刀变成群体伤害,对所有敌人造成${p}点伤害!`,x.effects.push({type:"tiger_ability",player:C.id})):(x.success=!0,x.message=`${n.name} 对 ${m.name} 使用飞刀,造成1点伤害`,A.push({target:m.id,damage:p,weapon:"dagger"})),x.effects.push({type:"damage",amount:p,isAOE:T,damages:A})}else if(o.length>0){let p=1,T=!1,C=null;const M=r.find(P=>!P.isDead&&P.characterType==="tiger");M&&(p=2,T=!0,C=M);const A=[],R=o[Math.floor(Math.random()*o.length)];T?(r.forEach(P=>{!P.isDead&&P.id!==n.id&&A.push({target:P.id,damage:p,weapon:"dagger"})}),x.success=!0,x.message=`【老虎】特性触发,飞刀变成群体伤害,对所有敌人造成${p}点伤害!`,x.effects.push({type:"tiger_ability",player:C.id})):(x.success=!0,x.message=`${n.name} 对 ${R.name} 使用飞刀,造成1点伤害`,A.push({target:R.id,damage:p,weapon:"dagger"})),x.effects.push({type:"damage",amount:p,isAOE:T,damages:A})}else x.message="没有有效的目标可以使用飞刀";break;case Ht.RESURRECTION:n.resurrectionCard=!0,x.success=!0,x.message=`${n.name} 获得了复活甲`,x.effects.push({type:"resurrection",target:n.id});break;case Ht.LIGHTNING:const a=S.players||[],u=[];a.forEach(p=>{!p.isDead&&p.id!==n.id&&u.push({target:p.id,damage:1})}),x.success=!0,x.message=`${n.name} 使用了雷击,对所有玩家造成1点伤害!`,x.effects.push({type:"damage",amount:1,isAOE:!0,damageType:"lightning",damages:u});break;case Ht.CHEST:const v=this.generateChestReward().items[0];if(v){const p=this.apply(v,n,m,S);x.success=p.success,x.message=`${n.name} 开启了宝箱,获得了 ${Xe[v]?.name||v},${p.message||""}`,x.effects.push(...p.effects||[]),x.effects.push({type:"chest",items:[v]})}else x.message="宝箱是空的";break;case Ht.CURSE:const g=(S.players||[]).filter(p=>!p.isDead);if(g.length>0){const p=g[Math.floor(Math.random()*g.length)];p.cursed=1,x.success=!0,p.id===n.id?x.message=`${n.name} 诅咒了自己,下次受到的伤害翻倍`:x.message=`${n.name} 诅咒了 ${p.name},下次受到的伤害翻倍`,x.effects.push({type:"curse",rounds:1,target:p.id})}else x.message="没有有效的目标可以诅咒";break}return x}static generateChestReward(){const y=[],n=[];for(const[m,S]of Object.entries(Xe)){const x=S.weight||10;for(let h=0;h0){const m=Math.floor(Math.random()*n.length);y.push(n[m])}return{items:y}}static generateRandomItems(y){const n=[],m=[];for(const[S,x]of Object.entries(Xe)){const h=x.weight||10;for(let d=0;d0){const x=Math.floor(Math.random()*m.length);n.push(m[x])}return n}static canCraft(y,n){const m=y.replace("_fragment","");return n>=4&&Xe[m]}static craft(y,n){const m=y.replace("_fragment","");if(!this.canCraft(y,4))return{success:!1,message:"碎片不足"};let S=0;return n.fragments=n.fragments.filter(x=>x===y&&S<4?(S++,!1):!0),n.inventory.push(m),{success:!0,message:`成功合成 ${Xe[m].name}`,item:m}}}const se={EASY:"easy",MEDIUM:"medium",HARD:"hard"};class Dn{constructor(y,n,m=se.MEDIUM){this.id=y,this.name=n,this.difficulty=m,this.thinkingTime=1e3}chooseCell(y,n,m,S,x=30,h=null){const d=[];for(let t=0;t0){const t=h.itemCells.filter(e=>d.some(l=>l.x===e.x&&l.y===e.y));if(t.length>0)return console.log(`[AI] 发现 ${t.length} 个道具提示格子,优先点击`),t[Math.floor(Math.random()*t.length)]}if(h&&h.safeCells&&h.safeCells.length>0){const t=h.safeCells.filter(e=>d.some(l=>l.x===e.x&&l.y===e.y)&&e.type!=="bomb");if(t.length>0)return console.log(`[AI] 发现 ${t.length} 个安全提示格子,优先点击`),t[Math.floor(Math.random()*t.length)]}switch(this.difficulty){case se.EASY:return this.randomChoice(d);case se.MEDIUM:return this.mediumStrategy(d,y,n,x);case se.HARD:return this.hardStrategy(d,y,n,m,S,x);default:return this.randomChoice(d)}}randomChoice(y){const n=Math.floor(Math.random()*y.length);return y[n]}mediumStrategy(y,n,m,S){const x=this.findDefinitelySafeCells(n);if(x.length>0&&Math.random()<.8)return x[Math.floor(Math.random()*x.length)];if(Math.random()<.5){const d=y.filter(t=>t.x===0||t.x===n[0].length-1||t.y===0||t.y===n.length-1);if(d.length>0){const t=Math.floor(Math.random()*d.length);return d[t]}}const h=Math.floor(Math.random()*y.length);return y[h]}hardStrategy(y,n,m,S,x,h=30){const d=this.findDefinitelySafeCells(n);if(d.length>0)return console.log(`[AI] 找到 ${d.length} 个确定性安全格子`),d[Math.floor(Math.random()*d.length)];const t=this.calculateBombProbability(n,h),e=this.findDefiniteBombCells(n),l=new Set(e.map(r=>`${r.x},${r.y}`));let i=y.filter(r=>!l.has(`${r.x},${r.y}`));i.length===0&&(console.log("[AI] 所有格子都是炸弹,随机选择"),i=y);const s=this.chooseLowestProbabilityCell(i,t);if(s){const r=t.get(`${s.x},${s.y}`);return console.log(`[AI] 选择概率最低的格子 (${s.x},${s.y}), 概率: ${(r*100).toFixed(1)}%`),s}return console.log("[AI] 概率计算失败,使用后备策略"),this.fallbackStrategy(y,n)}fallbackStrategy(y,n){const m=y.filter(h=>h.x===0||h.x===n[0].length-1||h.y===0||h.y===n.length-1),S=y.filter(h=>!this.getNeighbors(h.x,h.y,n).some(t=>t.revealed&&t.type==="bomb")),x=y.filter(h=>this.getNeighbors(h.x,h.y,n).some(t=>t.revealed&&t.type==="empty"));if(S.length>0&&x.length>0){const h=S.filter(d=>x.some(t=>t.x===d.x&&t.y===d.y));if(h.length>0)return h[Math.floor(Math.random()*h.length)]}return S.length>0?S[Math.floor(Math.random()*S.length)]:m.length>0?m[Math.floor(Math.random()*m.length)]:y[Math.floor(Math.random()*y.length)]}getNeighborCoords(y,n,m){const S=[];for(let x=-1;x<=1;x++)for(let h=-1;h<=1;h++){if(h===0&&x===0)continue;const d=y+h,t=n+x;t>=0&&t=0&&d=0&&t=0&&d!s.cell.revealed&&!s.cell.flagged),e=d.filter(s=>s.cell.flagged).length,l=d.filter(s=>s.cell.revealed&&s.cell.type==="bomb").length;if(e+l>=h.bombCount&&t.length>0)for(const s of t){const r=`${s.x},${s.y}`;m.has(r)||(m.add(r),n.push({x:s.x,y:s.y}))}}return n}findDefiniteBombCells(y){const n=[],m=new Set;for(let S=0;S!s.cell.revealed&&!s.cell.flagged),e=d.filter(s=>s.cell.flagged).length,l=d.filter(s=>s.cell.revealed&&s.cell.type==="bomb").length,i=e+l;if(t.length+i===h.bombCount&&t.length>0)for(const s of t){const r=`${s.x},${s.y}`;m.has(r)||(m.add(r),n.push({x:s.x,y:s.y}))}}return n}calculateBombProbability(y,n){const m=new Map,S=[];let x=0;for(let t=0;tr.cell.revealed&&r.cell.bombCount!==void 0&&r.cell.bombCount>0);if(l.length===0)continue;let i=0,s=0;for(const r of l){const o=this.getNeighborCoords(r.x,r.y,y),a=o.filter(c=>!c.cell.revealed&&!c.cell.flagged),u=o.filter(c=>c.cell.flagged).length,f=o.filter(c=>c.cell.revealed&&c.cell.type==="bomb").length,v=r.cell.bombCount-u-f;if(a.length>0&&v>=0){const c=v/a.length;i+=c,s++}}if(s>0){const r=i/s,o=d*.3+r*.7;m.set(`${t.x},${t.y}`,Math.min(1,Math.max(0,o)))}}return m}chooseLowestProbabilityCell(y,n){if(y.length===0)return null;const m=y.map(x=>({...x,prob:n.get(`${x.x},${x.y}`)||.5})).sort((x,h)=>x.prob-h.prob),S=m.slice(0,Math.min(3,m.length));return S[Math.floor(Math.random()*S.length)]}shouldUseItem(y,n,m){if(this.difficulty===se.EASY)return null;const S=y.inventory;if(S.length===0)return null;const x=this.difficulty===se.HARD?.6:.3;if(Math.random()>x)return null;for(const h of S){const d=this.evaluateItemUse(h,y,n,m);if(d.shouldUse)return{itemId:h,targetId:d.targetId}}return null}evaluateItemUse(y,n,m,S){const x=m.filter(h=>!h.isDead&&h.id!==n.id);switch(y){case"medkit":if(n.hp0)return{shouldUse:!0,targetId:x.reduce((d,t)=>t.hp0)return{shouldUse:!0,targetId:x.reduce((d,t)=>t.hp>d.hp?t:d).id};break;case"magnifier":if(this.difficulty===se.HARD)return{shouldUse:!0,targetId:null};break}return{shouldUse:!1,targetId:null}}async think(){const y=this.thinkingTime+Math.random()*500;await new Promise(n=>setTimeout(n,y))}}class Bn{constructor(){this.aiPlayers=[]}createAI(y,n,m=se.MEDIUM){const S=new Dn(y,n,m);return this.aiPlayers.push(S),S}assignRandomCharacter(y,n){const m=Object.values(bt),S=m[Math.floor(Math.random()*m.length)];n.characterType=S;const x=Se.create(S);return n.maxHP=x.maxHP,n.hp=x.maxHP,x}async executeAITurn(y,n,m,S=null){await y.think();const x=y.shouldUseItem(n,m.players,m);x&&(m.useItem(x.itemId,x.targetId),await y.think());const h=m.board,d=h.flat().filter(e=>e.revealed),t=y.chooseCell(h,d,m.players,m.currentPlayerIndex,m.totalBombs,S);t&&m.processClick(t.x,t.y)}createAIPool(y,n=se.MEDIUM){const m=["AI-阿尔法","AI-贝塔","AI-伽马","AI-德尔塔","AI-欧米伽"],S=[];for(let x=0;x{this.totalPlayers>2&&(this.totalPlayers--,this.aiCount=this.totalPlayers-1,this.playerCountText.setText(`${this.totalPlayers}人`),this.aiCountText.setText(`${this.aiCount}个AI`),this.updatePlayerPreview())}),t.on("pointerdown",()=>{this.totalPlayers<6&&(this.totalPlayers++,this.aiCount=this.totalPlayers-1,this.playerCountText.setText(`${this.totalPlayers}人`),this.aiCountText.setText(`${this.aiCount}个AI`),this.updatePlayerPreview())}),this.add.text(50+340/2,250,"单机模式:你 vs 电脑AI",{fontSize:"16px",color:"#a0aec0",align:"center"}).setOrigin(.5)}createAISettings(y,n){this.add.rectangle(410+340/2,120+180/2,340,180,2963272,.9).setStrokeStyle(2,4871528),this.add.text(410+340/2,140,"AI 设置",{fontSize:"24px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5),this.add.text(440,180,"AI 对手:",{fontSize:"18px",color:"#e2e8f0"}),this.aiCountText=this.add.text(640,180,`${this.aiCount}个AI`,{fontSize:"20px",fontStyle:"bold",color:"#00ff88"}).setOrigin(.5),this.add.text(440,220,"AI 难度:",{fontSize:"18px",color:"#e2e8f0"});const d=[{name:"简单",value:se.EASY,color:4766584},{name:"中等",value:se.MEDIUM,color:16763904},{name:"困难",value:se.HARD,color:15023678}];d.forEach((t,e)=>{const l=490+e*100,i=this.add.rectangle(l,250,80,35,t.color).setStrokeStyle(2,7438486).setInteractive({useHandCursor:!0});this.add.text(l,250,t.name,{fontSize:"16px",fontStyle:"bold",color:"#1a202c"}).setOrigin(.5),this.aiDifficulty===t.value&&i.setStrokeStyle(3,65416),i.on("pointerover",()=>{i.setScale(1.05)}),i.on("pointerout",()=>{i.setScale(1)}),i.on("pointerdown",()=>{this.aiDifficulty=t.value,d.forEach((s,r)=>{const o=this.children.getByName(`diff_btn_${r}`);o&&o.setStrokeStyle(2,7438486)}),i.setStrokeStyle(3,65416)}),i.setName(`diff_btn_${e}`)})}createPlayerPreview(y,n){this.add.rectangle(50+700/2,320+150/2,700,150,2963272,.9).setStrokeStyle(2,4871528),this.add.text(50+700/2,340,"对局预览",{fontSize:"24px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5),this.playerSlots=[],this.playerSlotElements=[];const d=100,t=100,e=80,l=370;for(let i=0;i<6;i++){const s=e+i*(d+15),r=l,o=this.add.rectangle(s+d/2,r+t/2,d,t,iu.destroy()),d.elements=[];const t=d.x,e=d.y,l=d.slotWidth,i=d.slotHeight;h{S.setFillStyle(16548225),S.setScale(1.05)}),S.on("pointerout",()=>{S.setFillStyle(15023678),S.setScale(1)}),S.on("pointerdown",()=>{this.scene.start("MenuScene")});const x=this.add.rectangle(y/2+150,m,200,50,65416).setStrokeStyle(3,52330).setInteractive({useHandCursor:!0});this.add.text(y/2+150,m,"开始游戏",{fontSize:"24px",fontStyle:"bold",color:"#1a202c"}).setOrigin(.5),x.on("pointerover",()=>{x.setFillStyle(65433),x.setScale(1.05)}),x.on("pointerout",()=>{x.setFillStyle(65416),x.setScale(1)}),x.on("pointerdown",()=>{this.startGame()})}startGame(){const y=[];y.push({id:"player",name:"你",characterType:null,isAI:!1});for(let n=1;n{this.totalPlayers>2&&(this.totalPlayers--,this.aiCount=this.totalPlayers-1,this.playerCountText.setText(`${this.totalPlayers}人`),this.aiCountText&&this.aiCountText.setText(`${this.aiCount}个AI`),this.updatePlayerPreview&&this.updatePlayerPreview())}),r.on("pointerdown",()=>{this.totalPlayers<6&&(this.totalPlayers++,this.aiCount=this.totalPlayers-1,this.playerCountText.setText(`${this.totalPlayers}人`),this.aiCountText&&this.aiCountText.setText(`${this.aiCount}个AI`),this.updatePlayerPreview&&this.updatePlayerPreview())})}createCompactAISettingsDynamic(y,n,m){const x=y-30;this.add.rectangle(15+x/2,n+m/2,x,m,2963272,.9).setStrokeStyle(2,4871528);const h=vt.getFontSize("16px","12px"),d=vt.getFontSize("14px","10px"),t=vt.getFontSize("14px","10px"),e=n+m*.3,l=n+m*.75;this.add.text(25,e,"AI对手:",{fontSize:h,color:"#e2e8f0"}).setOrigin(0,.5),this.aiCountText=this.add.text(130,e,`${this.aiCount}个`,{fontSize:h,fontStyle:"bold",color:"#00ff88"}).setOrigin(0,.5),this.add.text(25,l,"难度:",{fontSize:d,color:"#e2e8f0"}).setOrigin(0,.5);const i=[{name:"简单",value:se.EASY,color:4766584},{name:"中等",value:se.MEDIUM,color:16763904},{name:"困难",value:se.HARD,color:15023678}],s=vt.getSize(55,45),r=vt.getSize(25,20),o=5,a=65;i.forEach((u,f)=>{const v=a+f*(s+o),c=this.add.rectangle(v,l,s,r,u.color).setStrokeStyle(2,this.aiDifficulty===u.value?65416:7438486).setInteractive({useHandCursor:!0});this.add.text(v,l,u.name,{fontSize:t,fontStyle:"bold",color:"#1a202c"}).setOrigin(.5),c.on("pointerdown",()=>{this.aiDifficulty=u.value,i.forEach((g,p)=>{const T=`compact_diff_btn_${p}`,C=this.children.getByName(T);C&&C.setStrokeStyle(2,g.value===this.aiDifficulty?65416:7438486)})}),c.setName(`compact_diff_btn_${f}`)})}createCompactPlayerPreviewDynamic(y,n,m){const x=y-30;this.add.rectangle(15+x/2,n+m/2,x,m,2963272,.9).setStrokeStyle(2,4871528);const h=vt.getFontSize("18px","12px"),d=n+12;this.add.text(15+x/2,d,"对局预览",{fontSize:h,fontStyle:"bold",color:"#ffffff"}).setOrigin(.5),this.playerSlots=[],this.playerSlotElements=[];const t=n+25,e=m-30,l=6,i=4,s=(l-1)*i,r=Math.floor((x-20-s)/l),o=e,a=25;for(let u=0;u<6;u++){const f=a+u*(r+i),v=t,c=this.add.rectangle(f+r/2,v+o/2,r,o,u{i.setFillStyle(16548225),i.setScale(1.05)}),i.on("pointerout",()=>{i.setFillStyle(15023678),i.setScale(1)}),i.on("pointerdown",()=>{this.scene.start("MenuScene")});const s=y/2+d/2+h/2,r=this.add.rectangle(s,x,h,S,65416).setStrokeStyle(2,52330).setInteractive({useHandCursor:!0}).setDepth(101);this.add.text(s,x,"开始",{fontSize:t,fontStyle:"bold",color:"#1a202c"}).setOrigin(.5).setDepth(101),r.on("pointerover",()=>{r.setFillStyle(65433),r.setScale(1.05)}),r.on("pointerout",()=>{r.setFillStyle(65416),r.setScale(1)}),r.on("pointerdown",()=>{this.startGame()})}createCompactGameSettings(y,n){const x=y-50,h=70;this.add.rectangle(25+x/2,110+h/2,x,h,2963272,.9).setStrokeStyle(2,4871528),this.add.text(35,120,"玩家数量:",{fontSize:"16px",color:"#e2e8f0"});const d=this.add.circle(145,145,15,15023678).setInteractive({useHandCursor:!0});this.add.text(145,145,"-",{fontSize:"18px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5),this.playerCountText=this.add.text(185,145,`${this.totalPlayers}人`,{fontSize:"18px",fontStyle:"bold",color:"#00ff88"}).setOrigin(.5);const t=this.add.circle(235,145,15,4766584).setInteractive({useHandCursor:!0});this.add.text(235,145,"+",{fontSize:"18px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5),d.on("pointerdown",()=>{this.totalPlayers>2&&(this.totalPlayers--,this.aiCount=this.totalPlayers-1,this.playerCountText.setText(`${this.totalPlayers}人`),this.aiCountText&&this.aiCountText.setText(`${this.aiCount}个AI`),this.updatePlayerPreview&&this.updatePlayerPreview())}),t.on("pointerdown",()=>{this.totalPlayers<6&&(this.totalPlayers++,this.aiCount=this.totalPlayers-1,this.playerCountText.setText(`${this.totalPlayers}人`),this.aiCountText&&this.aiCountText.setText(`${this.aiCount}个AI`),this.updatePlayerPreview&&this.updatePlayerPreview())})}createCompactAISettings(y,n){const x=y-50,h=70;this.add.rectangle(25+x/2,190+h/2,x,h,2963272,.9).setStrokeStyle(2,4871528),this.add.text(35,200,"AI 对手:",{fontSize:"16px",color:"#e2e8f0"}),this.aiCountText=this.add.text(155,200,`${this.aiCount}个AI`,{fontSize:"16px",fontStyle:"bold",color:"#00ff88"}),this.add.text(35,230,"难度:",{fontSize:"14px",color:"#e2e8f0"});const d=[{name:"简单",value:se.EASY,color:4766584},{name:"中等",value:se.MEDIUM,color:16763904},{name:"困难",value:se.HARD,color:15023678}];d.forEach((t,e)=>{const l=95+e*70,i=this.add.rectangle(l,240,60,25,t.color).setStrokeStyle(2,this.aiDifficulty===t.value?65416:7438486).setInteractive({useHandCursor:!0});this.add.text(l,240,t.name,{fontSize:"14px",fontStyle:"bold",color:"#1a202c"}).setOrigin(.5),i.on("pointerdown",()=>{this.aiDifficulty=t.value,d.forEach((s,r)=>{const o=`compact_diff_btn_${r}`,a=this.children.getByName(o);a&&a.setStrokeStyle(2,s.value===this.aiDifficulty?65416:7438486)})}),i.setName(`compact_diff_btn_${e}`)})}createCompactPlayerPreview(y,n){const x=y-50,h=100;this.add.rectangle(25+x/2,270+h/2,x,h,2963272,.9).setStrokeStyle(2,4871528),this.add.text(25+x/2,282,"对局预览",{fontSize:"16px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5),this.playerSlots=[],this.playerSlotElements=[];const d=65,t=65,e=40,l=300;for(let i=0;i<6;i++){const s=e+i*(d+5),r=l,o=this.add.rectangle(s+d/2,r+t/2,d,t,i0&&(h*=2,this.cursed--,console.log(`[伤害计算] 诅咒翻倍后伤害: ${h}`)),this.shield&&h>0)return this.shield=!1,S==="time_bomb"&&(this.timeBombRounds=0),{damage:0,shieldBroken:!0,survived:!0,...d};if(this.hp-=h,this.hp<=0){if(n&&n.onDeath){const t=n.onDeath(this);if(t&&t.type==="revive")return{damage:h,revived:!0,survived:!0}}return this.resurrectionCard&&!this.resurrectionUsed?(this.resurrectionUsed=!0,this.resurrectionCard=!1,this.hp=1,{damage:h,resurrected:!0,survived:!0}):(this.isDead=!0,this.deathTime=Date.now(),this.hp=0,{damage:h,died:!0,survived:!1,attackerId:m})}return{damage:h,survived:!0,...d}}onTurnStart(y){const n=[];if(this.turnCount++,this.skipNextTurn)return this.skipNextTurn=!1,[{type:"skip_turn",message:`${this.name} 使用好人卡,跳过本轮`}];if(y&&y.onTurnStart){const m=y.onTurnStart(this);m&&n.push(m)}if(this.poisoned>0&&(this.poisonActionCount++,this.poisonActionCount%2===0)){const S=this.takeDamage(1,y,null,"poison",null);n.push({type:"poison_damage",damage:S.damage,shieldBroken:S.shieldBroken}),S.survived}if(this.timeBombRounds>0&&(this.timeBombRounds--,this.timeBombRounds===0)){const S=this.takeDamage(2,y,null,"time_bomb",null);n.push({type:"time_bomb_explode",damage:S.damage,shieldBroken:S.shieldBroken}),S.survived}return n}onTurnEnd(y){return y&&y.onTurnEnd?y.onTurnEnd(this):null}canUseItem(y,n){return this.inventory.includes(y)?n&&!n.canUseItem(y)?{canUse:!1,reason:"当前角色无法使用此道具"}:{canUse:!0}:{canUse:!1,reason:"道具不在背包中"}}useItem(y,n=null,m={},S=!0){if(S){const x=this.inventory.indexOf(y);x>-1&&this.inventory.splice(x,1)}return m.itemEffect.apply(y,this,n,m)}addItem(y){this.inventory.push(y),this.itemsFound++}addFragment(y){this.fragments.push(y)}craftItem(y,n){return n.craft(y,this)}resurrect(){this.isDead=!1,this.hp=2,this.shield=!1,this.poisoned=0,this.cursed=0,this.timeBombRounds=0}getStatus(){return{id:this.id,name:this.name,hp:this.hp,maxHP:this.maxHP,shield:this.shield,poisoned:this.poisoned,poisonActionCount:this.poisonActionCount,cursed:this.cursed,timeBombRounds:this.timeBombRounds,isDead:this.isDead,deathTime:this.deathTime,inventory:this.inventory,fragments:this.fragments,characterType:this.characterType,resurrectionCard:this.resurrectionCard,resurrectionUsed:this.resurrectionUsed}}}const $t={EMPTY:"empty",BOMB:"bomb",ITEM:"item"},Fe={WAITING:"waiting",PLAYING:"playing",ENDED:"ended"};class ns{constructor(y={}){this.rows=y.rows||10,this.cols=y.cols||10,this.totalBombs=y.totalBombs||30,this.totalItems=y.totalItems||7,this.phase=Fe.WAITING,this.board=[],this.players=[],this.currentPlayerIndex=0,this.turnOrder=[],this.totalTurnCount=0,this.onCellRevealed=null,this.onPlayerDamaged=null,this.onPlayerDied=null,this.onTurnChanged=null,this.onGameEnded=null,this.onItemUsed=null,this.onLogMessage=null,this.onTimeBombExplode=null,this.onShieldActivated=null,this.onMedkitUsed=null,this.onPlayerPoisoned=null,this.onTimeBombInstalled=null,this.onDogAbilityTriggered=null,this.onMonkeyAbilityTriggered=null,this.onGoodCardUsed=null,this.onTigerAbilityTriggered=null,this.onResurrectionUsed=null,this.onHippoRevived=null,this.onThunderUsed=null,this.onMagnifierUsed=null,this.initializeBoard()}initializeBoard(){this.board=[];for(let y=0;yx[1]-S[1]).forEach(([S,x])=>{const h=this.getItemName(S);console.log(` ${h}: ${x}个 (${(x/n.length*100).toFixed(1)}%)`)}),console.log("=".repeat(60))}addPlayer(y){const n=Se.create(y.characterType),m=new Nn(y.id,y.name,y.characterType,y.playerId);return m.maxHP=n.maxHP,m.hp=n.maxHP,this.players.push(m),this.turnOrder.push(m.id),n.onGameStart&&n.onGameStart(m)&&this.onLogMessage&&this.onLogMessage(`${m.name} 的【${n.name}】特性触发`),m}startGame(){if(this.players.length<2)throw new Error("至少需要2名玩家才能开始游戏");this.phase=Fe.PLAYING,this.generateContent(),this.shuffleTurnOrder(),this.currentPlayerIndex=0,this.onLogMessage&&this.onLogMessage("游戏开始!"),this.onTurnChanged&&this.onTurnChanged(this.getCurrentPlayer())}shuffleTurnOrder(){for(let n=this.turnOrder.length-1;n>0;n--){const m=Math.floor(Math.random()*(n+1));[this.turnOrder[n],this.turnOrder[m]]=[this.turnOrder[m],this.turnOrder[n]]}const y=[];for(const n of this.turnOrder){const m=this.players.find(S=>S.id===n);m&&y.push(m)}if(this.players=y,this.onLogMessage){const n=this.players.map(m=>m.name).join(" → ");this.onLogMessage(`行动顺序: ${n}`)}}getCurrentPlayer(){return this.players[this.currentPlayerIndex]}async processClick(y,n){if(this.phase!==Fe.PLAYING)return{success:!1,message:"游戏未进行中"};const m=this.getCurrentPlayer();if(m.isDead)return{success:!1,message:"你已死亡,无法操作"};const S=this.board[n][y];if(S.revealed)return{success:!1,message:"格子已被翻开"};S.revealed=!0,m.clicksMade++,S.type===$t.EMPTY&&(S.bombCount=this.countNearbyBombs(S.x,S.y)),this.onCellRevealed&&this.onCellRevealed(S);let x={success:!0,cell:S};switch(S.type){case $t.BOMB:x=await this.handleBombClick(S,m);break;case $t.ITEM:x=await this.handleItemClick(S,m);break;case $t.EMPTY:x=await this.handleEmptyClick(S,m);break}return this.checkGameOver(),this.phase===Fe.PLAYING&&this.nextTurn(),x}async handleBombClick(y,n){const m=Se.create(n.characterType),S=n.takeDamage(2,m,null,"bomb",null);return this.onLogMessage&&(S.shieldBroken?this.onLogMessage(`${n.name} 踩到炸弹,但护盾抵挡了伤害!`):S.died?this.onLogMessage(`${n.name} 踩到炸弹,受到 ${S.damage} 点伤害,淘汰!`):S.revived?(this.onLogMessage(`${n.name} 踩到炸弹受到伤害,但【河马】特性触发,成功复活!`),this.onHippoRevived&&this.onHippoRevived(n)):S.resurrected?(this.onLogMessage(`${n.name} 的【复活甲】触发,成功复活!`),this.onResurrectionUsed&&this.onResurrectionUsed(n)):this.onLogMessage(`${n.name} 踩到炸弹,受到 ${S.damage} 点伤害`)),this.onPlayerDamaged&&this.onPlayerDamaged(n,S),S.died&&this.onPlayerDied&&(this.onPlayerDied(n,S.attackerId),this.checkGameOver()),{success:!0,type:"bomb",damage:S.damage,died:S.died}}async handleItemClick(y,n){let m=y.itemType;const S=Se.create(n.characterType);if(!n.canPickItems)return this.onLogMessage&&this.onLogMessage(`${n.name} 的【河马】特性生效,无法使用道具`),{success:!0,type:"item",itemType:m,skipped:!0,reason:"hippo_cannot_pick"};if(!S.canUseItem(m)){const d=["shield","magnifier","dagger","poison","time_bomb","good_card","chest","curse","lightning","resurrection"].filter(t=>S.canUseItem(t));d.length>0?(m=d[Math.floor(Math.random()*d.length)],this.onLogMessage&&this.onLogMessage(`${n.name} 的【${S.name}】特性生效,道具已替换`)):(m="shield",this.onLogMessage&&this.onLogMessage(`${n.name} 的【${S.name}】特性生效,获得护盾`))}if(n.characterType==="elephant"){if(this.onLogMessage){const d=this.getItemName(m);this.onLogMessage(`${n.name} 的【大象】特性生效,丢弃了【${d}】`)}return this.onElephantAbilityTriggered&&this.onElephantAbilityTriggered(n),this.onItemUsed&&this.onItemUsed(n,m,{success:!0,message:`${n.name} 丢弃了道具`,discarded:!0}),{success:!0,type:"item",itemType:m,discarded:!0,reason:"elephant_discard"}}if(m==="good_card")return n.skipNextTurn=!0,this.onLogMessage&&this.onLogMessage(`${n.name} 翻开了【好人卡】!下回合将跳过`),this.onGoodCardUsed&&this.onGoodCardUsed(n),this.onItemUsed&&this.onItemUsed(n,m,{success:!0,message:`${n.name} 翻开了【好人卡】`}),{success:!0,type:"item",itemType:m,effect:{skipNextTurn:!0}};const x={board:this.board,itemEffect:gi,players:this.players},h=n.useItem(m,null,x,!1);if(this.onLogMessage){const d=this.getItemName(m);h.success?this.onLogMessage(h.message||`${n.name} 使用了【${d}】`):this.onLogMessage(`${n.name} 翻开了【${d}】:${h.message}`)}if(this.onItemUsed&&this.onItemUsed(n,m,h),h.success&&h.effects&&this.onShieldActivated&&h.effects.find(t=>t.type==="shield")&&this.onShieldActivated(n),h.success&&h.effects&&this.onMedkitUsed&&h.effects.find(t=>t.type==="heal")&&this.onMedkitUsed(n),m==="time_bomb"&&h.success&&h.effects){const d=h.effects.find(t=>t.type==="time_bomb");if(d&&d.target&&this.onTimeBombInstalled){const t=this.getPlayerById(d.target);t&&this.onTimeBombInstalled(t)}}if(m==="curse"&&h.success&&h.effects){const d=h.effects.find(t=>t.type==="curse");if(d&&d.target&&this.onCurseUsed){const t=this.getPlayerById(d.target);t&&this.onCurseUsed(t)}}if(h.effects)for(const d of h.effects){if(d.type==="poison_animation"){const t=this.getPlayerById(d.target);t&&this.onPlayerPoisoned&&this.onPlayerPoisoned(t)}if(d.type==="tiger_ability"){const t=this.getPlayerById(d.player);t&&this.onTigerAbilityTriggered&&this.onTigerAbilityTriggered(t)}if(d.type==="good_card_animation"){const t=this.getPlayerById(d.target);t&&this.onGoodCardUsed&&this.onGoodCardUsed(t)}if(d.type==="magnifier"){const t=this.getPlayerById(d.userId);t&&this.onMagnifierUsed&&this.onMagnifierUsed(t,d.targetCell)}if(d.type==="chest"&&this.onChestOpened&&this.onChestOpened(n),d.type==="damage"&&d.damages){d.damageType==="lightning"&&this.onThunderUsed&&this.onThunderUsed(n);const t=d.damageType==="lightning"?"lightning":"dagger";d.damages.forEach(e=>{const l=this.getPlayerById(e.target);if(l){if(e.shield){this.onLogMessage&&this.onLogMessage(`${l.name} 的护盾抵挡了伤害!`),this.onPlayerDamaged&&this.onPlayerDamaged(l,{shieldBroken:!0});return}const i=Se.create(l.characterType),s=l.takeDamage(e.damage,i,n.id,t,e.weapon);s.shieldBroken?(this.onLogMessage&&this.onLogMessage(`${l.name} 的护盾抵挡了伤害!`),this.onPlayerDamaged&&this.onPlayerDamaged(l,{shieldBroken:!0,damageSource:t})):s.damage>0&&(this.onLogMessage&&(s.died?this.onLogMessage(`${l.name} 受到${s.damage}点伤害,淘汰!`):this.onLogMessage(`${l.name} 受到${s.damage}点伤害`)),this.onPlayerDamaged&&this.onPlayerDamaged(l,{damage:s.damage,damageSource:t})),s.agilityReaction&&this.onCatAgility&&this.onCatAgility(l),s.died&&this.onPlayerDied&&(this.onPlayerDied(l,n.id),S.onKill&&S.onKill(n,l)&&this.onLogMessage&&this.onLogMessage(`${n.name} 的【${S.name}】特性触发!`),this.checkGameOver())}})}}return{success:!0,type:"item",itemType:m,effect:h}}getItemName(y){return{medkit:"医疗包",shield:"护盾",poison:"剧毒",dagger:"飞刀",magnifier:"放大镜",time_bomb:"定时炸弹",good_card:"好人卡",chest:"宝箱",curse:"诅咒",lightning:"雷击",resurrection:"复活甲"}[y]||y}async handleEmptyClick(y,n){const m=this.countNearbyBombs(y.x,y.y);this.onLogMessage&&this.onLogMessage(`${n.name} 翻开了格子`);const S=[y];return m===0&&this.revealAdjacentEmptyCells(y.x,y.y,S),{success:!0,type:"empty",bombCount:m,revealedCells:S}}revealAdjacentEmptyCells(y,n,m){const S=[{dx:-1,dy:-1},{dx:0,dy:-1},{dx:1,dy:-1},{dx:-1,dy:0},{dx:1,dy:0},{dx:-1,dy:1},{dx:0,dy:1},{dx:1,dy:1}];for(const x of S){const h=y+x.dx,d=n+x.dy;if(h>=0&&h=0&&d=0&&d=0&&h!e.revealed),itemEffect:gi,players:this.players},t=m.useItem(y,h,d);if(t.success){if(this.onLogMessage&&this.onLogMessage(t.message),this.onItemUsed&&this.onItemUsed(m,y,t),t.effects&&this.onShieldActivated&&t.effects.find(l=>l.type==="shield")&&this.onShieldActivated(m),t.effects&&this.onMedkitUsed&&t.effects.find(l=>l.type==="heal")&&this.onMedkitUsed(m),y==="poison"&&t.effects){const e=t.effects.find(l=>l.type==="poison_animation");if(e&&e.target&&this.onPlayerPoisoned){const l=this.getPlayerById(e.target);l&&this.onPlayerPoisoned(l)}}if(y==="time_bomb"&&t.effects){const e=t.effects.find(l=>l.type==="time_bomb");if(e&&e.target&&this.onTimeBombInstalled){const l=this.getPlayerById(e.target);l&&this.onTimeBombInstalled(l)}}if(y==="curse"&&t.effects){const e=t.effects.find(l=>l.type==="curse");if(e&&e.target&&this.onCurseUsed){const l=this.getPlayerById(e.target);l&&this.onCurseUsed(l)}}if(h&&t.effects)for(const e of t.effects)(e.type==="damage"||e.type==="poison")&&h.hp<=0&&this.onPlayerDied&&(this.onPlayerDied(h,m.id),S.onKill&&S.onKill(m,h)&&this.onLogMessage&&this.onLogMessage(`${m.name} 的【${S.name}】特性触发!`),this.checkGameOver());if(t.effects)for(const e of t.effects)e.type==="damage"&&e.isAOE&&e.damages&&e.damages.forEach(l=>{const i=this.getPlayerById(l.target);i&&(l.shield?(this.onLogMessage&&this.onLogMessage(`${i.name} 的护盾抵挡了伤害!`),this.onPlayerDamaged&&this.onPlayerDamaged(i,{shieldBroken:!0})):l.damage>0&&(this.onLogMessage&&(i.hp<=0?this.onLogMessage(`${i.name} 受到${l.damage}点伤害,淘汰!`):this.onLogMessage(`${i.name} 受到${l.damage}点伤害`)),this.onPlayerDamaged&&this.onPlayerDamaged(i,{damage:l.damage}),i.hp<=0&&!i.isDead&&this.onPlayerDied&&(i.isDead=!0,i.deathTime=Date.now(),this.onPlayerDied(i,m.id),S.onKill&&S.onKill(m,i)&&this.onLogMessage&&this.onLogMessage(`${m.name} 的【${S.name}】特性触发!`),this.checkGameOver())))})}return t}nextTurn(){const y=this.getCurrentPlayer(),n=Se.create(y.characterType);n.onTurnEnd&&n.onTurnEnd(y),this.totalTurnCount++;let m=(this.currentPlayerIndex+1)%this.players.length,S=0,x=[];for(;this.players[m].isDead&&S=this.players.length){this.phase=Fe.ENDED;let l=null,i=-1;for(const s of this.players)s.deathTime>i&&(i=s.deathTime,l=s);this.onGameEnded&&this.onGameEnded(l,null);return}this.currentPlayerIndex=m;const h=this.players[m],d=Se.create(h.characterType),t=h.onTurnStart(d);if(h.skipNextTurn){h.skipNextTurn=!1,this.onLogMessage&&this.onLogMessage(`${h.name} 受【好人卡】效果影响,跳过本回合`),this.nextTurn();return}const e=t&&t.find(l=>l.type==="skip_turn");if(e){this.onLogMessage&&this.onLogMessage(e.message),this.onPlayerDamaged&&this.onPlayerDamaged(h,{}),this.nextTurn();return}if(t&&t.length>0&&t.forEach(l=>{if(this.onLogMessage)switch(l.type){case"heal":this.onLogMessage(`${h.name} 的【${d.name}】特性:回复1点生命`),this.onMonkeyAbilityTriggered&&h.characterType==="monkey"&&this.onMonkeyAbilityTriggered(h);break;case"poison_damage":this.onLogMessage(`${h.name} 受到剧毒伤害,失去1点生命`),h.isDead&&this.onPlayerDied&&(this.onPlayerDied(h,null),this.checkGameOver());break;case"time_bomb_explode":this.onLogMessage(`${h.name} 的定时炸弹爆炸,受到${l.damage}点伤害`),this.onTimeBombExplode&&this.onTimeBombExplode(h),this.players.forEach((s,r)=>{if(s.id!==h.id&&!s.isDead){const o=this.players.findIndex(f=>f.id===h.id),a=this.players.findIndex(f=>f.id===s.id);if(Math.abs(o-a)===1){const f=Se.create(s.characterType),v=s.takeDamage(1,f,h.id,"bomb");this.onLogMessage&&(v.shieldBroken?this.onLogMessage(`${s.name} 被波及但护盾抵挡了伤害!`):v.died?this.onLogMessage(`${s.name} 被波及,受到1点伤害,淘汰!`):v.revived?(this.onLogMessage(`${s.name} 被波及受到伤害,但【河马】特性触发,成功复活!`),this.onHippoRevived&&this.onHippoRevived(s)):this.onLogMessage(`${s.name} 被波及,受到1点伤害`)),this.onPlayerDamaged&&this.onPlayerDamaged(s,v),v.died&&this.onPlayerDied&&(this.onPlayerDied(s,h.id),this.checkGameOver())}}}),h.isDead&&this.onPlayerDied&&(this.onPlayerDied(h,null),this.checkGameOver());break;case"poison_cleared":this.onLogMessage(`${h.name} 的【树懒】特性触发,清除了中毒状态`),this.onSlothAbilityTriggered&&this.onSlothAbilityTriggered(h);break;case"sniff":this.onLogMessage(`${h.name} 的【狗】特性触发,嗅觉生效!`);const i=this.findSniffTarget();this.onDogAbilityTriggered&&this.onDogAbilityTriggered(h,i);break}this.onPlayerDamaged&&this.onPlayerDamaged(h,l)}),h.isDead){this.nextTurn();return}this.onTurnChanged&&this.onTurnChanged(h)}checkGameOver(){const y=this.players.filter(n=>!n.isDead);if(y.length<=1){this.phase=Fe.ENDED;let n=null;if(y.length===1)n=y[0];else{let m=null,S=-1;for(const x of this.players)x.deathTime>S&&(S=x.deathTime,m=x);n=m}return this.onGameEnded&&this.onGameEnded(n,null),this.onLogMessage&&this.onLogMessage(`🎉 ${n.name} 获得胜利!`),!0}return!1}getPlayerById(y){return this.players.find(n=>n.id===y)}findSniffTarget(){const y=[];for(let m=0;mm.type==="item");return n||(n=y.find(m=>m.type==="empty")),n||(n=y[Math.floor(Math.random()*y.length)]),{x:n.x,y:n.y,cellType:n.type}}getGameState(){return{phase:this.phase,board:this.board,players:this.players.map(y=>y.getStatus()),currentPlayerIndex:this.currentPlayerIndex,currentPlayerId:this.getCurrentPlayer()?.id}}}class bn extends ce{constructor(){super({key:"BattleScene"})}init(y){this.players=y.players||[],this.battleLogic=new ns({rows:10,cols:10,totalBombs:30,totalItems:7}),this.tileSize=45,this.boardOffsetX=150,this.boardOffsetY=100,this.setupBattleCallbacks()}create(){const{width:y,height:n}=this.cameras.main;this.add.rectangle(y/2,n/2,y,n,1712172),this.createBattleUI(y,n),this.players.forEach(m=>{this.battleLogic.addPlayer(m)}),this.createBoard(),this.updateAllPlayerInfo(),this.battleLogic.startGame(),this.setupInput()}setupBattleCallbacks(){this.battleLogic.onCellRevealed=y=>{this.onCellRevealed(y)},this.battleLogic.onPlayerDamaged=(y,n)=>{this.onPlayerDamaged(y,n)},this.battleLogic.onPlayerDied=(y,n)=>{this.onPlayerDied(y,n)},this.battleLogic.onTurnChanged=y=>{this.onTurnChanged(y)},this.battleLogic.onGameEnded=y=>{this.onGameEnded(y)},this.battleLogic.onItemUsed=(y,n,m)=>{this.onItemUsed(y,n,m)},this.battleLogic.onLogMessage=y=>{this.addLogMessage(y)}}createBattleUI(y,n){this.turnIndicator=this.add.rectangle(y/2,30,400,50,2963272).setStrokeStyle(2,4871528),this.turnText=this.add.text(y/2,30,"等待开始...",{fontSize:"24px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5),this.createPlayerInfoPanel(30,100),this.createActionLog(y-220,100),this.createItemBar(y/2,n-50)}createPlayerInfoPanel(y,n){this.add.rectangle(y+100/2,n+450/2,100,450,2963272,.9).setStrokeStyle(2,4871528),this.playerInfoContainers=[],this.players.forEach((x,h)=>{const d=n+30+h*120,t=this.add.rectangle(y+100/2,d+50,90,110,4871528).setStrokeStyle(1,7438486),e=this.add.circle(y+100/2,d+25,20,65416),l=this.add.text(y+100/2,d+50,x.name,{fontSize:"14px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5),i="❤️".repeat(x.hp),s="🖤".repeat(x.maxHP-x.hp),r=this.add.text(y+100/2,d+68,`${i}${s}`,{fontSize:"12px",color:"#ff6b6b"}).setOrigin(.5),o=this.add.text(y+100/2,d+85,"",{fontSize:"14px"}).setOrigin(.5);this.playerInfoContainers.push({bg:t,avatar:e,name:l,hpText:r,statusIcons:o})})}createActionLog(y,n){this.add.rectangle(y+200/2,n+450/2,200,450,2963272,.9).setStrokeStyle(2,4871528),this.add.text(y+200/2,n+15,"操作日志",{fontSize:"18px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5),this.logMessages=[],this.maxLogMessages=15}addLogMessage(y){this.logMessages.push(y),this.logMessages.length>this.maxLogMessages&&this.logMessages.shift(),this.updateActionLogDisplay()}updateActionLogDisplay(){this.logTextObjects&&this.logTextObjects.forEach(S=>S.destroy()),this.logTextObjects=[];const y=630,n=140,m=25;this.logMessages.forEach((S,x)=>{const h=this.add.text(y,n+x*m,S,{fontSize:"13px",color:"#e2e8f0",wordWrap:{width:180}}).setOrigin(0,0);this.logTextObjects.push(h)})}createItemBar(y,n){this.add.rectangle(y,n,600,80,2963272,.9).setStrokeStyle(2,4871528),this.add.text(y-600/2+20,n-80/2+10,"道具栏",{fontSize:"16px",fontStyle:"bold",color:"#ffffff"}),this.itemContainer=this.add.container(y-600/2+20,n),this.itemButtons=[]}createBoard(){this.boardContainer=this.add.container(this.boardOffsetX,this.boardOffsetY);for(let y=0;y{if(this.battleLogic.phase!==Fe.PLAYING)return;const m=n.getData("gridX"),S=n.getData("gridY");m!==void 0&&S!==void 0&&this.battleLogic.processClick(m,S)})}onCellRevealed(y){const n=y.x*this.tileSize,m=y.y*this.tileSize,S=this.boardContainer.getMatching("gridX",y.x,"gridY",y.y);if(S)switch(S.setStrokeStyle(2,1712172),y.type){case $t.BOMB:S.setFillStyle(16729156),this.add.text(n+this.tileSize/2,m+this.tileSize/2,"💣",{fontSize:"20px"}).setOrigin(.5).setDepth(1);break;case $t.ITEM:S.setFillStyle(16763904),this.add.text(n+this.tileSize/2,m+this.tileSize/2,"🎁",{fontSize:"20px"}).setOrigin(.5).setDepth(1);break;case $t.EMPTY:S.setFillStyle(7438486);break}}onPlayerDamaged(y,n){this.updatePlayerInfo(y)}onPlayerDied(y,n){this.updatePlayerInfo(y);const m=this.playerInfoContainers.find(S=>S.name.text===y.name);m&&m.avatar.setFillStyle(16729156)}onTurnChanged(y){this.turnText.setText(`${y.name} 的回合`),this.playerInfoContainers.forEach((n,m)=>{this.battleLogic.players[m].id===y.id?n.bg.setStrokeStyle(3,65416):n.bg.setStrokeStyle(1,7438486)}),this.updateItemBar(y)}onGameEnded(y,n){this.turnText.setText(`🎉 ${y.name} 获胜!`),this.time.delayedCall(3e3,()=>{this.scene.start("ResultScene",{winner:y,loser:n})})}onItemUsed(y,n,m){this.updatePlayerInfo(y)}updatePlayerInfo(y){const n=this.battleLogic.players.findIndex(S=>S.id===y.id),m=this.playerInfoContainers[n];if(m){const S=y.getStatus(),x="❤️".repeat(S.hp),h="🖤".repeat(S.maxHP-S.hp);m.hpText.setText(`${x}${h}`);let d="";S.shield&&(d+="🛡️"),S.poisoned>0&&(d+="☠️"),S.cursed>0&&(d+="💀"),S.timeBombRounds>0&&(d+="💣"),m.statusIcons.setText(d)}}updateAllPlayerInfo(){this.battleLogic.players.forEach(y=>{this.updatePlayerInfo(y)})}updateItemBar(y){this.itemButtons.forEach(h=>h.destroy()),this.itemButtons=[];const n=y.getStatus(),m=-280,S=60,x=10;n.inventory.forEach((h,d)=>{const t=Xe[h],e=m+d*(S+x),l=this.add.rectangle(e+S/2,0,S,50,4871528).setStrokeStyle(2,7438486).setInteractive({useHandCursor:!0}).setData("itemId",h),i=this.add.text(e+S/2,-5,"🎮",{fontSize:"20px"}).setOrigin(.5),s=this.add.text(e+S/2,12,t.name,{fontSize:"10px",color:"#ffffff"}).setOrigin(.5);this.itemContainer.add([l,i,s]),this.itemButtons.push(l),l.on("pointerover",()=>{l.setFillStyle(5924216)}),l.on("pointerout",()=>{l.setFillStyle(4871528)}),l.on("pointerdown",()=>{this.useItem(h)})})}useItem(y){this.battleLogic.getCurrentPlayer();const n=this.battleLogic.useItem(y);n.success?this.addLogMessage(n.message):this.addLogMessage(n.message)}}class Gn extends ce{constructor(){super({key:"LogScene"})}init(y){this.logMessages=y.logMessages||[],this.fromScene=y.fromScene||"AIBattleScene"}create(){const{width:y,height:n}=this.cameras.main;this.createBackground(y,n),this.createVirtualList(y,n),this.createHeaderMask(y),this.createFooterMask(y,n)}createBackground(y,n){this.add.rectangle(y/2,n/2,y,n,986906);const m=this.add.graphics();m.lineStyle(1,1710638,.3);for(let S=0;S{l.y>130&&l.y<130+h&&(this.isDragging=!0,this.lastDragY=l.y)}),this.input.on("pointermove",l=>{if(this.isDragging){const i=l.y-this.lastDragY;this.lastDragY=l.y,this.scrollOffset=ai.Clamp(this.scrollOffset-i,0,this.maxScrollOffset),this.updateVirtualList(),this.updateScrollIndicatorPosition()}}),this.input.on("pointerup",()=>{this.isDragging=!1}),this.input.on("wheel",(l,i,s,r)=>{l.y>130&&l.y<130+h&&(this.scrollOffset=ai.Clamp(this.scrollOffset+r*.5,0,this.maxScrollOffset),this.updateVirtualList(),this.updateScrollIndicatorPosition())})}createHeaderMask(y){this.add.rectangle(y/2,65,y,130,986906),this.add.rectangle(y/2,60,y,110,1710638).setStrokeStyle(2,65416),this.add.text(y/2,30,"操作日志",{fontSize:"60px",fontStyle:"bold",color:"#00ff88",shadow:{offsetX:2,offsetY:2,color:"#000",blur:4,fill:!0}}).setOrigin(.5),this.add.text(y/2,70,`共 ${this.logMessages.length} 条记录`,{fontSize:"27px",color:"#718096"}).setOrigin(.5),this.createButton(60,60,"← 返回",4871528,5924215,()=>{this.scene.stop(),this.scene.resume(this.fromScene)})}createFooterMask(y,n){this.add.rectangle(y/2,n-100/2,y,100,986906);const S=n-55;this.createButton(y/2-90,S,"主菜单",4886754,5939186,()=>{this.scene.stop(this.fromScene),this.scene.start("MenuScene")},140,50),this.createButton(y/2+90,S,"再来一局",65416,65433,()=>{this.scene.stop(this.fromScene),this.scene.start("RoomScene")},140,50),this.add.text(y/2,n-15,"拖拽或滚轮滚动查看更多",{fontSize:"21px",color:"#4a5568"}).setOrigin(.5)}createButton(y,n,m,S,x,h,d=100,t=40){const e=this.add.rectangle(y,n,d,t,S).setStrokeStyle(2,x).setInteractive({useHandCursor:!0}),l=this.add.text(y,n,m,{fontSize:"27px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5);return e.on("pointerover",()=>{e.setFillStyle(x),e.setScale(1.05)}),e.on("pointerout",()=>{e.setFillStyle(S),e.setScale(1)}),e.on("pointerdown",h),{button:e,buttonText:l}}createListItem(y,n){const m=this.add.container(0,0),S=this.add.rectangle(y/2,n/2,y,n-4,2963272).setInteractive({useHandCursor:!0}),x=this.add.rectangle(30,n/2,50,n-8,65416,.2),h=this.add.text(30,n/2,"1",{fontSize:"27px",fontStyle:"bold",color:"#00ff88"}).setOrigin(.5),d=this.add.text(70,n/2,"",{fontSize:"24px",color:"#e2e8f0",wordWrap:{width:y-100}}).setOrigin(0,.5);return m.add([S,x,h,d]),S.on("pointerover",()=>{S.setFillStyle(4016732)}),S.on("pointerout",()=>{S.setFillStyle(2963272)}),{container:m,bg:S,numberText:h,messageText:d,index:-1}}updateVirtualList(){const y=Math.floor(this.scrollOffset/this.itemHeight),n=Math.max(0,y-1);for(let m=0;m=0){const h=this.logMessages[x],d=x*this.itemHeight-this.scrollOffset;S.container.setPosition(0,d),S.container.setVisible(!0),S.index=x,S.numberText.setText(`${x+1}`),S.messageText.setText(h.message||h),x%2===0?S.bg.setFillStyle(2963272):S.bg.setFillStyle(2436410)}else S.container.setVisible(!1)}}createScrollIndicator(y,n,m){const x=this.logMessages.length*this.itemHeight,h=Math.max(50,m/x*m),d=y-25;this.scrollIndicatorBg=this.add.rectangle(d,n+m/2,12,m,1710638),this.scrollIndicatorBg.setStrokeStyle(1,2963272),this.scrollIndicator=this.add.rectangle(d,n+h/2,8,h,65416,.6),this.scrollIndicatorHeight=h}updateScrollIndicatorPosition(){if(this.maxScrollOffset<=0){this.scrollIndicator.setVisible(!1);return}this.scrollIndicator.setVisible(!0);const y=this.scrollOffset/this.maxScrollOffset,n=this.listAreaY+this.listAreaHeight-this.scrollIndicatorHeight,m=this.listAreaY+y*(n-this.listAreaY)+this.scrollIndicatorHeight/2;this.scrollIndicator.setY(m)}}const Un="modulepreload",zn=function(E){return"/"+E},Ui={},Qt=function(y,n,m){let S=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const h=document.querySelector("meta[property=csp-nonce]"),d=h?.nonce||h?.getAttribute("nonce");S=Promise.allSettled(n.map(t=>{if(t=zn(t),t in Ui)return;Ui[t]=!0;const e=t.endsWith(".css"),l=e?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${l}`))return;const i=document.createElement("link");if(i.rel=e?"stylesheet":Un,e||(i.as="script"),i.crossOrigin="",i.href=t,d&&i.setAttribute("nonce",d),document.head.appendChild(i),e)return new Promise((s,r)=>{i.addEventListener("load",s),i.addEventListener("error",()=>r(new Error(`Unable to preload CSS for ${t}`)))})}))}function x(h){const d=new Event("vite:preloadError",{cancelable:!0});if(d.payload=h,window.dispatchEvent(d),!d.defaultPrevented)throw h}return S.then(h=>{for(const d of h||[])d.status==="rejected"&&x(d.reason);return y().catch(x)})},Yn=Object.assign({"/public/assets/bgm/vespidaze-upbeat-rpg-battle-460971.mp3":()=>Qt(()=>import("./vespidaze-upbeat-rpg-battle-460971-aTWgbIUk.js"),[]),"/public/assets/bgm/williamhector-cinematic-action-jungle-drums-loop-125bpm-345139.mp3":()=>Qt(()=>import("./williamhector-cinematic-action-jungle-drums-loop-125bpm-345139-CbmcBUE5.js"),[])}),Vn=Object.assign({"/public/assets/sfx/cat.mp3":()=>Qt(()=>import("./cat-DX-s73ik.js"),[]),"/public/assets/sfx/chestOpen.mp3":()=>Qt(()=>import("./chestOpen-But9ZQZ6.js"),[]),"/public/assets/sfx/curse.mp3":()=>Qt(()=>import("./curse-CvtomDV0.js"),[]),"/public/assets/sfx/dogbark.mp3":()=>Qt(()=>import("./dogbark-Cd9-eN5p.js"),[]),"/public/assets/sfx/doghowling.mp3":()=>Qt(()=>import("./doghowling-DiPAqmhW.js"),[]),"/public/assets/sfx/elephant.mp3":()=>Qt(()=>import("./elephant-CZlZnjTw.js"),[]),"/public/assets/sfx/goodperson.mp3":()=>Qt(()=>import("./goodperson-BTK7x34a.js"),[]),"/public/assets/sfx/heal.mp3":()=>Qt(()=>import("./heal-BaF7csk7.js"),[]),"/public/assets/sfx/hippos.mp3":()=>Qt(()=>import("./hippos-CL_x8hh_.js"),[]),"/public/assets/sfx/itemFound.mp3":()=>Qt(()=>import("./itemFound-CDhUYgtx.js"),[]),"/public/assets/sfx/knife.mp3":()=>Qt(()=>import("./knife-UlpTJXlb.js"),[]),"/public/assets/sfx/monkey.mp3":()=>Qt(()=>import("./monkey-BDYc37GU.js"),[]),"/public/assets/sfx/poison.mp3":()=>Qt(()=>import("./poison-KUpuQ1Wg.js"),[]),"/public/assets/sfx/rebirth.mp3":()=>Qt(()=>import("./rebirth-DGtvp6KC.js"),[]),"/public/assets/sfx/shield.mp3":()=>Qt(()=>import("./shield-DlPl0ATk.js"),[]),"/public/assets/sfx/sloth.mp3":()=>Qt(()=>import("./sloth-adPYVPFb.js"),[]),"/public/assets/sfx/smallBomb.mp3":()=>Qt(()=>import("./smallBomb-ZXy88HsJ.js"),[]),"/public/assets/sfx/thunder.mp3":()=>Qt(()=>import("./thunder-QOzrZ8Vv.js"),[]),"/public/assets/sfx/tick.mp3":()=>Qt(()=>import("./tick-CDYmeR_D.js"),[]),"/public/assets/sfx/tigerroar.mp3":()=>Qt(()=>import("./tigerroar-ufow2Qol.js"),[]),"/public/assets/sfx/timerBomb.mp3":()=>Qt(()=>import("./timerBomb-DKU3ITm0.js"),[]),"/public/assets/sfx/warning.mp3":()=>Qt(()=>import("./warning-gkNUKt6F.js"),[]),"/public/assets/sfx/youLose.mp3":()=>Qt(()=>import("./youLose-B5UPTJuM.js"),[])}),Xn=Object.assign({"/public/assets/game/未翻开格子.jpg":()=>Qt(()=>import("./未翻开格子-lG4zYdoo.js"),[]),"/public/assets/game/炸弹.png":()=>Qt(()=>import("./炸弹-iWGAaqsG.js"),[]),"/public/assets/game/背景.jpg":()=>Qt(()=>import("./背景-CnU7wERJ.js"),[])}),Wn=Object.assign({}),Hn=[],Kn={"vespidaze-upbeat-rpg-battle-460971":"battleBGM","williamhector-cinematic-action-jungle-drums-loop-125bpm-345139":"intenseBGM"},Zn={dogbark:"dogBarkSFX",doghowling:"dogHowlingSFX",elephant:"elephantSFX",cat:"catSFX",chestOpen:"chestOpenSFX",curse:"curseSFX",goodperson:"goodPersonSFX",heal:"healSFX",hippos:"hippoSFX",itemFound:"itemFoundSFX",knife:"knifeSFX",monkey:"monkeySFX",poison:"poisonSFX",rebirth:"rebirthSFX",shield:"shieldSFX",sloth:"slothSFX",smallBomb:"smallBombSFX",thunder:"thunderSFX",tick:"tickSFX",tigerroar:"tigerRoarSFX",timerBomb:"timerBombSFX",warning:"warningSFX",youLose:"youLoseSFX"},$n={未翻开格子:"tile",炸弹:"bomb",背景:"background",failed:"failed",prizecup:"prizecup"},Qn={cat:"avatar_cat",chicken:"avatar_chicken",doggy:"avatar_doggy",elephant:"avatar_elephant",Hippopotamus:"avatar_hippopotamus",monkey:"avatar_monkey",sloth:"avatar_sloth",tiger:"avatar_tiger"},li={timerBomb:{folder:"timerBomb",key:"timerBomb",textures:["skeleton.webp"],scale:3,displayName:"定时炸弹",soundKey:"timerBombSFX"},curse:{folder:"curse",key:"curse",textures:["skeleton.webp"],scale:3,displayName:"诅咒",soundKey:"curseSFX"},shield:{folder:"shield",key:"shield",textures:["skeleton.avif"],scale:1,displayName:"护盾",soundKey:"shieldSFX"},poison:{folder:"poison",key:"poison",textures:["skeleton.webp"],scale:3,displayName:"毒药",soundKey:"poisonSFX"},medkit:{folder:"medikit",key:"medkit",textures:["skeleton.webp"],scale:3,displayName:"医疗包",soundKey:"healSFX"},knife:{folder:"knife",key:"knife",textures:["skeleton.webp"],scale:1,displayName:"飞刀",soundKey:"knifeSFX"},goodPerson:{folder:"goodperson",key:"goodPerson",textures:["skeleton.webp"],scale:3,displayName:"好人卡",soundKey:"goodPersonSFX"},rebirth:{folder:"rebirth",key:"rebirth",textures:["skeleton.webp"],scale:1,displayName:"复活甲",soundKey:null},thunder:{folder:"thunder",key:"thunder",textures:["skeleton.webp"],scale:3,displayName:"闪电",soundKey:"thunderSFX"},magnifier:{folder:"magnifier",key:"magnifier",textures:["skeleton.webp"],scale:3,displayName:"放大镜",soundKey:"itemFoundSFX"},dog:{folder:"dog",key:"dog",textures:["skeleton.webp"],scale:3,displayName:"狗",soundKey:"dogBarkSFX"},sloth:{folder:"sloth",key:"sloth",textures:["skeleton.webp","skeleton2.webp","skeleton3.webp","skeleton4.webp"],scale:1,displayName:"树懒",soundKey:"slothSFX"},chest:{folder:"chest",key:"chest",textures:["skeleton.webp"],scale:3,displayName:"宝箱",soundKey:"chestOpenSFX"},chicken:{folder:"chicken",key:"chicken",textures:["skeleton.webp"],scale:3,displayName:"鸡",soundKey:null},monkey:{folder:"monkey",key:"monkey",textures:["skeleton.webp"],scale:3,displayName:"猴子",soundKey:"monkeySFX"},cat:{folder:"cat",key:"cat",textures:["skeleton.webp"],scale:3,displayName:"猫",soundKey:"catSFX"},elephant:{folder:"elephant",key:"elephant",textures:["skeleton.webp"],scale:3,displayName:"大象",soundKey:"elephantSFX"},tiger:{folder:"tiger",key:"tiger",textures:["skeleton.webp"],scale:3,displayName:"老虎",soundKey:"tigerRoarSFX"},hippo:{folder:"hippo",key:"hippo",textures:["skeleton.webp"],scale:3,displayName:"河马",soundKey:"hippoSFX"}};function Jn(){return Object.entries(li).map(([E,y])=>({name:E,displayName:y.displayName||E,jsonKey:`${y.key}Json`,atlasKey:`${y.key}Atlas`,scale:y.scale||1}))}function qt(E){const y=li[E];return y?{name:E,displayName:y.displayName||E,jsonKey:`${y.key}Json`,atlasKey:`${y.key}Atlas`,scale:y.scale||1,soundKey:y.soundKey||null}:null}function ui(E){return E.split("/").pop().split(".")[0]}function fi(E){return E.replace("/public","")}function jn(){const E={};for(const y of Object.keys(Yn)){const n=ui(y),m=Kn[n]||n;E[m]=fi(y)}return E}function rs(){const E={};for(const y of Object.keys(Vn)){const n=ui(y),m=Zn[n]||n;E[m]=fi(y)}return E}function kn(){const E={},y=Object.keys(Xn).sort((m,S)=>{const x=m.split(".").pop().toLowerCase(),h=S.split(".").pop().toLowerCase(),d={png:3,webp:2,jpg:1};return(d[h]||0)-(d[x]||0)}),n=`?v=${Date.now()}`;for(const m of y){const S=ui(m),x=$n[S]||S;E[x]||(E[x]=fi(m)+n,console.log(`[ImageLoader] ${x} => ${E[x]}`))}return E}function qn(){const E={};for(const y of Object.keys(Wn)){const n=ui(y),m=Qn[n]||`avatar_${n.toLowerCase()}`;E[m]=fi(y)}return E}function as(){const E=[];for(const[y,n]of Object.entries(li))Hn.includes(n.folder)||E.push({name:y,jsonKey:`${n.key}Json`,atlasKey:`${n.key}Atlas`,jsonPath:`assets/spine/${n.folder}/skeleton.json`,atlasPath:`assets/spine/${n.folder}/skeleton.atlas`,scale:n.scale||1,textures:n.textures.map(m=>({key:`${n.key}Atlas!${m}`,path:`assets/spine/${n.folder}/${m}`}))});return E}const te={CELL_CLICK:"cell_click",ITEM_USE:"item_use",TURN_CHANGE:"turn_change",PLAYER_DAMAGE:"player_damage",PLAYER_DEATH:"player_death",PLAYER_REVIVE:"player_revive",GAME_START:"game_start",GAME_END:"game_end"};class _n{constructor(){this.actions=[],this.gameState=null,this.isRecording=!1}startRecording(y){this.actions=[],this.isRecording=!0,this.gameState={board:this.deepCopyBoard(y.board),players:this.deepCopyPlayers(y.players),config:{rows:y.rows,cols:y.cols,totalBombs:y.totalBombs,totalItems:y.totalItems},timestamp:Date.now()},this.recordAction({type:te.GAME_START,data:{players:y.players.map(n=>({id:n.id,name:n.name,characterType:n.characterType,hp:n.hp,maxHP:n.maxHP}))}}),console.log("[ReplayManager] 开始记录回放")}stopRecording(){this.isRecording=!1,console.log(`[ReplayManager] 停止记录,共 ${this.actions.length} 个操作`)}recordAction(y){this.isRecording&&this.actions.push({...y,timestamp:Date.now(),index:this.actions.length})}recordCellClick(y,n,m,S){this.recordAction({type:te.CELL_CLICK,playerId:y,data:{x:n,y:m,cellType:S.type,itemType:S.itemType,bombCount:S.bombCount}})}recordItemUse(y,n,m,S){this.recordAction({type:te.ITEM_USE,playerId:y,data:{itemId:n,targetId:m,success:S?.success,effects:S?.effects}})}recordTurnChange(y,n){this.recordAction({type:te.TURN_CHANGE,playerId:y,data:{turnCount:n}})}recordPlayerDamage(y,n,m){this.recordAction({type:te.PLAYER_DAMAGE,playerId:y,data:{damage:n,damageSource:m}})}recordPlayerDeath(y,n){this.recordAction({type:te.PLAYER_DEATH,playerId:y,data:{killerId:n}})}recordPlayerRevive(y){this.recordAction({type:te.PLAYER_REVIVE,playerId:y})}recordGameEnd(y){this.recordAction({type:te.GAME_END,data:{winnerId:y}}),this.stopRecording()}getReplayData(){return{gameState:this.gameState,actions:this.actions}}loadReplayData(y){this.gameState=y.gameState,this.actions=y.actions,this.isRecording=!1}saveToLocalStorage(){const y=this.getReplayData(),n=JSON.stringify(y),m=5;let S=JSON.parse(localStorage.getItem("gameReplays")||"[]");S.unshift({id:Date.now(),data:n,winner:this.actions.find(x=>x.type===te.GAME_END)?.data?.winnerId,timestamp:this.gameState?.timestamp}),S.length>m&&(S=S.slice(0,m)),localStorage.setItem("gameReplays",JSON.stringify(S)),localStorage.setItem("lastReplay",n),console.log("[ReplayManager] 回放已保存到本地存储")}loadFromLocalStorage(){const y=localStorage.getItem("lastReplay");if(y){const n=JSON.parse(y);return this.loadReplayData(n),!0}return!1}deepCopyBoard(y){return y.map(n=>n.map(m=>({...m})))}deepCopyPlayers(y){return y.map(n=>({id:n.id,name:n.name,hp:n.hp,maxHP:n.maxHP,characterType:n.characterType,isAI:n.isAI,isDead:n.isDead,inventory:[...n.inventory||[]],shield:n.shield,poisoned:n.poisoned,timeBombRounds:n.timeBombRounds}))}clear(){this.actions=[],this.gameState=null,this.isRecording=!1}}const Ue=new _n,zi={medkit:"💊",time_bomb:"💣",poison:"☠️",shield:"🛡️",good_card:"🃏",magnifier:"🔍",dagger:"🗡️",resurrection:"👼",lightning:"⚡",chest:"🎁",curse:"👻"};class tr extends ce{constructor(){super({key:"AIBattleScene"})}preload(){}create(){const{width:y,height:n}=this.cameras.main;this.logMessages=[],this.flaggedCells=new Set,this.initializeBGM(),this.playersConfig=this.scene.settings.data?.players||[{id:"player_1",name:"玩家",isAI:!1,aiDifficulty:"medium"},{id:"ai_1",name:"AI-1",isAI:!0,aiDifficulty:"medium"},{id:"ai_2",name:"AI-2",isAI:!0,aiDifficulty:"medium"},{id:"ai_3",name:"AI-3",isAI:!0,aiDifficulty:"medium"}],this.battleLogic=new ns({rows:10,cols:10,totalBombs:30,totalItems:10}),this.aiManager=new Bn,this.tileSize=70,this.boardOffsetX=(y-this.battleLogic.cols*this.tileSize)/2,this.boardOffsetY=220,this.setupBattleCallbacks(),this.add.rectangle(y/2,n/2,y,n,1712172),this.createBattleUI(y,n),this.initializePlayers(),this.createBoard(),this.battleLogic.startGame(),Ue.startRecording({board:this.battleLogic.board,players:this.battleLogic.players,rows:this.battleLogic.rows,cols:this.battleLogic.cols,totalBombs:this.battleLogic.totalBombs,totalItems:this.battleLogic.totalItems}),this.createPlayerInfoPanel(20,110,y),this.setupInput()}setupBattleCallbacks(){this.battleLogic.onCellRevealed=y=>{this.onCellRevealed(y)},this.battleLogic.onPlayerDamaged=(y,n)=>{this.onPlayerDamaged(y,n)},this.battleLogic.onPlayerDied=(y,n)=>{this.onPlayerDied(y,n)},this.battleLogic.onTurnChanged=y=>{this.onTurnChanged(y)},this.battleLogic.onGameEnded=y=>{this.onGameEnded(y)},this.battleLogic.onItemUsed=(y,n,m)=>{this.onItemUsed(y,n,m)},this.battleLogic.onLogMessage=y=>{this.addLogMessage(y)},this.battleLogic.onTimeBombExplode=y=>{this.playTimeBombExplosionAnimation(y)},this.battleLogic.onShieldActivated=y=>{this.playShieldAnimation(y)},this.battleLogic.onMedkitUsed=y=>{this.playMedkitAnimation(y)},this.battleLogic.onPlayerPoisoned=y=>{this.playPoisonAnimation(y)},this.battleLogic.onDogAbilityTriggered=(y,n)=>{y.characterType==="dog"&&this.cache.audio.exists("dogBarkSFX")&&this.sound.play("dogBarkSFX",{volume:.5}),this.playDogAnimation(y),n&&this.showDogSniffHint(y,n)},this.battleLogic.onMonkeyAbilityTriggered=y=>{this.playMonkeyAnimation(y),this.cache.audio.exists("monkeySFX")&&this.sound.play("monkeySFX",{volume:.5})},this.battleLogic.onElephantAbilityTriggered=y=>{this.playElephantAnimation(y)},this.battleLogic.onGoodCardUsed=y=>{this.playGoodPersonAnimation(y)},this.battleLogic.onCurseUsed=y=>{this.playCurseAnimation(y)},this.battleLogic.onSlothAbilityTriggered=y=>{this.playSlothAnimation(y)},this.battleLogic.onChestOpened=y=>{this.playChestAnimation(y)},this.battleLogic.onTigerAbilityTriggered=y=>{this.playTigerAnimation(y)},this.battleLogic.onResurrectionUsed=y=>{this.playRebirthAnimation(y)},this.battleLogic.onHippoRevived=y=>{this.playHippoAnimation(y)},this.battleLogic.onThunderUsed=y=>{this.playThunderAnimation(y)},this.battleLogic.onMagnifierUsed=(y,n)=>{this.playMagnifierAnimation(y),n&&this.showMagnifierHint(y,n)}}showMagnifierHint(y,n){const{x:m,y:S,cellType:x}=n,h=!y.name.startsWith("AI-");this.magnifierHints||(this.magnifierHints={});const d=`${m}-${S}`;if(this.magnifierHints[d]&&this.magnifierHints[d].destroy(),h){const t=this.boardOffsetX+m*this.tileSize+this.tileSize/2,e=this.boardOffsetY+S*this.tileSize+this.tileSize/2,l=this.add.text(t,e,"?",{fontSize:"32px",fontStyle:"bold",color:"#FFD700",stroke:"#000000",strokeThickness:3}).setOrigin(.5).setDepth(100);this.tweens.add({targets:l,alpha:.3,duration:500,yoyo:!0,repeat:-1}),l.setData("cellType",x),l.setData("playerId",y.id),this.magnifierHints[d]=l;const s={item:"道具",empty:"安全",bomb:"炸弹"}[x]||"未知";this.addLogMessage(`放大镜提示:位置 (${m+1}, ${S+1}) 是【${s}】格子`)}else{const t=this.add.text(0,0,"",{});t.setData("cellType",x),t.setData("playerId",y.id),this.magnifierHints[d]=t}}showDogSniffHint(y,n){const{x:m,y:S,cellType:x}=n,h=!y.name.startsWith("AI-");this.dogSniffHints||(this.dogSniffHints={});const d=`${m}-${S}`;if(this.dogSniffHints[d]&&this.dogSniffHints[d].destroy(),h){const t=this.boardOffsetX+m*this.tileSize+this.tileSize/2,e=this.boardOffsetY+S*this.tileSize+this.tileSize/2,l=this.add.text(t,e,"⭐️",{fontSize:"28px"}).setOrigin(.5).setDepth(100);this.tweens.add({targets:l,alpha:.3,duration:500,yoyo:!0,repeat:-1}),l.setData("cellType",x),l.setData("playerId",y.id),this.dogSniffHints[d]=l;const s={item:"道具",empty:"安全",bomb:"炸弹"}[x]||"未知";this.addLogMessage(`狗嗅觉提示:位置 (${m+1}, ${S+1}) 是【${s}】格子`)}else{const t=this.add.text(0,0,"",{});t.setData("cellType",x),t.setData("playerId",y.id),this.dogSniffHints[d]=t}}getCharacterEmoji(y){return{cat:"🐱",chicken:"🐔",dog:"🐕",elephant:"🐘",hippopotamus:"🦛",monkey:"🐵",sloth:"🦥",tiger:"🐯"}[y]||"🐱"}updatePlayerAvatars(){this.playerInfoContainers&&this.battleLogic.players.forEach((y,n)=>{const m=this.playerInfoContainers[n];if(m){if(m.avatar){const S=this.getCharacterEmoji(y.characterType);m.avatar.setText(S)}m.name&&m.name.setText(y.name)}})}initializePlayers(){const y=Object.values(bt),n=[...y],m=this.playersConfig.length>y.length;this.playersConfig.forEach((S,x)=>{let h;if(m)h=y[Math.floor(Math.random()*y.length)];else{const e=Math.floor(Math.random()*n.length);h=n.splice(e,1)[0]}const d=this.battleLogic.addPlayer({id:S.id,name:S.name,characterType:h});if(S.isAI){const e=this.aiManager.createAI(S.id,S.name,S.aiDifficulty);d.ai=e,d.isAI=!0}else d.isAI=!1;const t=Se.create(h);this.addLogMessage(`${d.name} 获得角色:【${t.name}】`)})}createBattleUI(y,n){this.turnIndicator=this.add.rectangle(y/2,40,y-120,60,2963272).setStrokeStyle(2,4871528),this.turnText=this.add.text(y/2,40,"等待开始...",{fontSize:"24px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5),this.createLogButton(50,40),this.createBGMButton(y-50,40)}createBGMButton(y,n){const m=this.add.container(y,n),S=this.add.circle(0,0,20,2963272).setStrokeStyle(2,4871528).setInteractive({useHandCursor:!0}),x=this.add.text(0,0,"🎵",{fontSize:"20px"}).setOrigin(.5);m.add([S,x]),S.on("pointerover",()=>{S.setFillStyle(4871528),S.setScale(1.1)}),S.on("pointerout",()=>{S.setFillStyle(2963272),S.setScale(1)}),S.on("pointerdown",()=>{this.toggleBGM()})}createPlayerInfoPanel(y,n,m){const S=m,x=90;this.add.rectangle(y+S/2,n+x/2,S,x,2963272,.9).setStrokeStyle(2,4871528),this.playerInfoContainers=[];const h=Math.min(4,this.battleLogic.players.length),d=this.battleLogic.players.length-h,t=S/4;for(let e=0;e0&&this.createBottomPlayerPanel(d,h)}createBottomPlayerPanel(y,n){const{width:m,height:S}=this.cameras.main,x=this.boardOffsetY+this.battleLogic.rows*this.tileSize,h=90,d=x+10,t=m-40,e=20;this.add.rectangle(e+t/2,d+h/2,t,h,2963272,.9).setStrokeStyle(2,4871528);const l=t/4;for(let i=0;i{S.setFillStyle(4871528),S.setScale(1.1)}),S.on("pointerout",()=>{S.setFillStyle(2963272),S.setScale(1)}),S.on("pointerdown",()=>{this.toggleBGM()}),this.bgmButton={bg:S,icon:x}}createLogButton(y,n){const m=this.add.container(y,n),S=this.add.circle(0,0,28,2963272).setStrokeStyle(3,4871528).setInteractive({useHandCursor:!0}),x=this.add.text(0,0,"📚",{fontSize:"28px"}).setOrigin(.5);m.add([S,x]),S.on("pointerover",()=>{S.setFillStyle(4871528),S.setScale(1.1)}),S.on("pointerout",()=>{S.setFillStyle(2963272),S.setScale(1)}),S.on("pointerdown",()=>{this.openLogScene()}),this.logButton={bg:S,icon:x}}openLogScene(){this.scene.pause(),this.scene.launch("LogScene",{logMessages:this.logMessages,fromScene:"AIBattleScene"})}createActionLog(y,n,m){this.logPanelBg=this.add.rectangle(y+m/2,n+240/2,m,240,2963272,.9).setStrokeStyle(2,4871528).setInteractive({useHandCursor:!0}),this.logPanelBg.on("pointerdown",()=>{this.showFullLogScene()}),this.logPanelBg.on("pointerover",()=>{this.logPanelBg.setStrokeStyle(3,65416)}),this.logPanelBg.on("pointerout",()=>{this.logPanelBg.setStrokeStyle(2,4871528)}),this.add.text(y+m/2,n+15,"操作日志 (点击查看完整记录)",{fontSize:"18px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5),this.logMessages=[],this.maxLogMessages=10}addLogMessage(y){this.logMessages.push(y),y.endsWith("翻开了格子")||this.showToast(y,2e3)}updateActionLogDisplay(){this.logTextObjects&&this.logTextObjects.forEach(x=>x.destroy()),this.logTextObjects=[];const y=40,n=1090,m=22;this.logMessages.slice(-this.maxLogMessages).forEach((x,h)=>{const d=this.add.text(y,n+15+h*m,x,{fontSize:"15px",color:"#e2e8f0",wordWrap:{width:670}}).setOrigin(0,0);this.logTextObjects.push(d)})}createBoard(){this.add.image(this.boardOffsetX+this.battleLogic.cols*this.tileSize/2,this.boardOffsetY+this.battleLogic.rows*this.tileSize/2,"background").setDisplaySize(this.battleLogic.cols*this.tileSize,this.battleLogic.rows*this.tileSize),this.boardContainer=this.add.container(this.boardOffsetX,this.boardOffsetY);for(let y=0;y{if(this.battleLogic.phase!==Fe.PLAYING)return;const m=this.battleLogic.getCurrentPlayer();if(!m)return;const S=n.getData("gridX"),x=n.getData("gridY");if(S!==void 0&&x!==void 0){const h=this.battleLogic.board[x][S];if(m.isAI||m.isDead){h&&!h.revealed&&this.toggleFlag(S,x);return}this.turnTimerEvent&&(this.turnTimerEvent.remove(),this.turnTimerEvent=null),this.boardContainer.each(d=>{d.disableInteractive()}),this.battleLogic.processClick(S,x)}})}toggleFlag(y,n){const m=`${y}-${n}`;this.flaggedCells.has(m)?(this.flaggedCells.delete(m),this.addLogMessage(`移除了 (${y+1}, ${n+1}) 的旗子`)):(this.flaggedCells.add(m),this.addLogMessage(`在 (${y+1}, ${n+1}) 插了旗 🚩`)),this.updateBoardFlags()}updateBoardFlags(){this.flagContainer&&this.flagContainer.destroy(),this.flagContainer=this.add.container(this.boardOffsetX,this.boardOffsetY),this.flaggedCells.forEach(y=>{const[n,m]=y.split("-").map(Number),S=n*this.tileSize+this.tileSize/2,x=m*this.tileSize+this.tileSize/2,h=this.add.text(S,x,"🚩",{fontSize:`${Math.floor(this.tileSize*.6)}px`}).setOrigin(.5);this.flagContainer.add(h)})}checkAITurn(){if(this.battleLogic.phase!==Fe.PLAYING)return;const y=this.battleLogic.getCurrentPlayer();if(y){if(console.log(`[checkAITurn] 玩家: ${y.name}, isAI: ${y.isAI}, isDead: ${y.isDead}`),y.isAI&&y.isDead){this.battleLogic.nextTurn();return}y.isAI&&!y.isDead&&this.executeAITurn(y)}}async executeAITurn(y){const n=y.ai;if(!n){this.battleLogic.nextTurn();return}const m=this.collectHintsForAI(y);await this.aiManager.executeAITurn(n,y,this.battleLogic,m)}collectHintsForAI(y){const n={itemCells:[],safeCells:[]};if(this.magnifierHints)for(const m of Object.keys(this.magnifierHints)){const[S,x]=m.split("-").map(Number),h=this.magnifierHints[m],d=h.getData("cellType"),t=h.getData("playerId");d&&t===y.id&&(d==="item"?n.itemCells.push({x:S,y:x,type:d}):d!=="bomb"&&n.safeCells.push({x:S,y:x,type:d}))}if(this.dogSniffHints)for(const m of Object.keys(this.dogSniffHints)){const[S,x]=m.split("-").map(Number),h=this.dogSniffHints[m],d=h.getData("cellType"),t=h.getData("playerId");d&&t===y.id&&(d==="item"?n.itemCells.some(e=>e.x===S&&e.y===x)||n.itemCells.push({x:S,y:x,type:d}):d!=="bomb"&&(n.safeCells.some(e=>e.x===S&&e.y===x)||n.safeCells.push({x:S,y:x,type:d})))}return n}onCellRevealed(y){const n=this.battleLogic.getCurrentPlayer();n&&Ue.recordCellClick(n.id,y.x,y.y,y);const m=`${y.x}-${y.y}`;if(this.flaggedCells.has(m)&&(this.flaggedCells.delete(m),this.updateBoardFlags()),this.magnifierHints){const d=`${y.x}-${y.y}`;this.magnifierHints[d]&&(this.magnifierHints[d].destroy(),delete this.magnifierHints[d])}if(this.dogSniffHints){const d=`${y.x}-${y.y}`;this.dogSniffHints[d]&&(this.dogSniffHints[d].destroy(),delete this.dogSniffHints[d])}const S=this.boardOffsetX+y.x*this.tileSize,x=this.boardOffsetY+y.y*this.tileSize,h=this.boardContainer.list.find(d=>d.getData("gridX")===y.x&&d.getData("gridY")===y.y);if(h)switch(h.disableInteractive(),y.type){case $t.BOMB:h.setTexture("bomb"),h.setDisplaySize(this.tileSize-4,this.tileSize-4);break;case $t.ITEM:h.setTexture("tile");const d=zi[y.itemType]||"🎁";this.add.text(S+this.tileSize/2,x+this.tileSize/2,d,{fontSize:"32px"}).setOrigin(.5).setDepth(1);break;case $t.EMPTY:if(h.setTexture("tile"),h.setTint(7438486),y.bombCount>0){const e={1:"#3b82f6",2:"#22c55e",3:"#ef4444",4:"#8b5cf6",5:"#a16207",6:"#06b6d4",7:"#000000",8:"#6b7280"}[y.bombCount]||"#000000";this.add.text(S+this.tileSize/2,x+this.tileSize/2,y.bombCount.toString(),{fontSize:"48px",fontStyle:"bold",color:e}).setOrigin(.5).setDepth(1)}break}}onPlayerDamaged(y,n){this.updatePlayerInfo(y),this.checkAndSwitchBGM(),n.stressReaction&&this.playChickenAnimation(y),n.agilityReaction&&this.playCatAnimation(y),(n.slothBombResist||n.slothPoisonImmune)&&this.playSlothAnimation(y),n.damageSource==="lightning"&&this.addSmokeEffect(y);try{this.cache.audio.exists("smallBombSFX")&&this.sound.play("smallBombSFX",{volume:.5})}catch(S){console.error("播放炸弹音效失败:",S)}!y.isAI?(this.cameras.main.shake(200,.01),this.flashScreenRed()):this.flashAvatarRed(y)}addSmokeEffect(y){const n=this.battleLogic.players.findIndex(d=>d.id===y.id),m=this.playerInfoContainers[n];if(!m)return;const S=m.avatar.x,x=m.avatar.y,h=[];for(let d=0;d<5;d++){const t=(Math.random()-.5)*40,e=(Math.random()-.5)*40,l=this.add.text(S+t,x+e,"💨",{fontSize:`${20+Math.random()*20}px`}).setOrigin(.5).setDepth(50).setAlpha(.8);h.push(l)}h.forEach((d,t)=>{this.tweens.add({targets:d,y:d.y-60-Math.random()*30,alpha:0,scale:1.5+Math.random()*.5,duration:1500+Math.random()*500,delay:t*100,ease:"Power2",onComplete:()=>d.destroy()})})}flashAvatarRed(y){const n=this.battleLogic.players.findIndex(S=>S.id===y.id),m=this.playerInfoContainers[n];if(m&&m.avatar){const S=m.avatar;S.tintTopLeft,S.setTint(16711680),this.tweens.add({targets:S,duration:100,yoyo:!0,repeat:2,onYoyo:()=>{S.setTint(16711680)},onYoyoBack:()=>{S.clearTint()},onComplete:()=>{S.clearTint()}})}}flashScreenRed(){const{width:y,height:n}=this.cameras.main,m=20,S=this.add.graphics();S.lineStyle(m,16711680,.8),S.lineBetween(0,0,y,0),S.lineBetween(0,n,y,n),S.lineBetween(0,0,0,n),S.lineBetween(y,0,y,n),S.setDepth(9999),this.tweens.add({targets:S,alpha:0,duration:300,ease:"Power2",onComplete:()=>{S.destroy()}})}onPlayerDied(y,n){Ue.recordPlayerDeath(y.id,n),this.updatePlayerInfo(y),!y.isAI&&this.cache.audio.exists("youLoseSFX")&&this.sound.play("youLoseSFX",{volume:.5}),y.characterType==="dog"&&this.cache.audio.exists("dogHowlingSFX")&&this.sound.play("dogHowlingSFX",{volume:.5});const m=this.playerInfoContainers.find(S=>S.name.text===y.name);if(m){m.avatar&&m.avatar.setTint(16729156);const S=m.bg.width,x=m.bg.height,h=m.bg.x,d=m.bg.y,t=Math.min(S,x)*1.2,e=this.add.text(h,d,"🚫",{fontSize:`${t}px`,color:"#ffffff"}).setOrigin(.5).setDepth(10);m.forbiddenSign=e}}onTurnChanged(y){Ue.recordTurnChange(y.id,this.battleLogic.totalTurnCount),this.turnTimerEvent&&(this.turnTimerEvent.remove(),this.turnTimerEvent=null),this.aiDelayTimer&&(this.aiDelayTimer.remove(),this.aiDelayTimer=null);const n=this.battleLogic.totalTurnCount+1;this.turnText.setText(`第${n}回合 - ${y.name}`),this.playerInfoContainers&&this.playerInfoContainers.forEach((m,S)=>{this.battleLogic.players[S].id===y.id?m.bg.setStrokeStyle(3,65416):m.bg.setStrokeStyle(1,7438486)}),console.log(`[onTurnChanged] 玩家: ${y.name}, isAI: ${y.isAI}, isDead: ${y.isDead}`),y.isAI?(this.boardContainer.each(m=>{const S=m.getData("gridX"),x=m.getData("gridY");if(S!==void 0&&x!==void 0){const h=this.battleLogic.board[x][S];h&&!h.revealed?m.setInteractive():m.disableInteractive()}}),this.aiDelayTimer=this.time.delayedCall(1e3,()=>{this.aiDelayTimer=null,this.checkAITurn()})):(this.boardContainer.each(m=>{const S=m.getData("gridX"),x=m.getData("gridY");if(S!==void 0&&x!==void 0){const h=this.battleLogic.board[x][S];h&&!h.revealed?m.setInteractive():m.disableInteractive()}}),this.turnTimeLeft=10,this.updateTimerDisplay(),this.turnTimerEvent=this.time.addEvent({delay:1e3,callback:this.onTurnTimerTick,callbackScope:this,loop:!0}))}onTurnTimerTick(){this.turnTimeLeft--,this.updateTimerDisplay(),this.turnTimeLeft<=0&&(this.addLogMessage("时间到!强制结束回合"),this.turnTimerEvent.remove(),this.turnTimerEvent=null,this.autoClickRandomCell())}updateTimerDisplay(){this.turnTimeLeft<=5&&this.turnTimeLeft>0&&this.cache.audio.exists("warningSFX")&&this.sound.play("warningSFX",{volume:.3});const y=this.battleLogic.totalTurnCount+1,n=this.battleLogic.getCurrentPlayer();this.turnTimeLeft<=3?(this.turnText.setColor("#ff4444"),this.turnText.setText(`第${y}回合 - ${n?.name||""} (${this.turnTimeLeft}s)`)):(this.turnText.setColor("#ffffff"),this.turnText.setText(`第${y}回合 - ${n?.name||""} (${this.turnTimeLeft}s)`))}autoClickRandomCell(){const y=this.battleLogic.getCurrentPlayer();if(!y||y.isAI)return;const n=[];for(let m=0;m0){const m=n[Math.floor(Math.random()*n.length)];this.battleLogic.processClick(m.x,m.y)}}onGameEnded(y,n){Ue.recordGameEnd(y.id),Ue.saveToLocalStorage(),this.boardContainer.each(m=>{m.disableInteractive()}),this.revealAllCells(),this.turnText.setText(`🎉 ${y.name} 获胜!`),this.time.delayedCall(1e3,()=>{this.scene.pause("AIBattleScene"),this.scene.launch("ResultScene",{winner:y,loser:n,logMessages:this.logMessages})})}revealAllCells(){for(let y=0;yd.getData("gridX")===n&&d.getData("gridY")===y);if(h)switch(h.disableInteractive(),m.type){case $t.BOMB:h.setTexture("bomb"),h.setDisplaySize(this.tileSize-4,this.tileSize-4);break;case $t.ITEM:h.setTexture("tile"),h.setTint(7438486);const d=zi[m.itemType]||"🎁";this.add.text(S+this.tileSize/2,x+this.tileSize/2,d,{fontSize:"32px"}).setOrigin(.5).setDepth(1);break;case $t.EMPTY:if(h.setTexture("tile"),h.setTint(7438486),m.bombCount>0){const e={1:"#3b82f6",2:"#22c55e",3:"#ef4444",4:"#8b5cf6",5:"#a16207",6:"#06b6d4",7:"#000000",8:"#6b7280"}[m.bombCount]||"#000000";this.add.text(S+this.tileSize/2,x+this.tileSize/2,m.bombCount.toString(),{fontSize:"48px",fontStyle:"bold",color:e}).setOrigin(.5).setDepth(1)}break}}}}onItemUsed(y,n,m){if(Ue.recordItemUse(y.id,n,null,m),this.updatePlayerInfo(y),this.checkAndSwitchBGM(),n==="time_bomb"&&this.cache.audio.exists("tickSFX")&&this.sound.play("tickSFX",{volume:.5}),n==="dagger"&&m?.effects?.length>0){const S=m.effects.find(x=>x.type==="damage");if(S&&S.damages&&S.damages.length>0){const x=S.damages[0].target,h=this.battleLogic.players.find(d=>d.id===x);h&&this.playKnifeAnimation(y,h)}}}updatePlayerInfo(y){const n=this.battleLogic.players.findIndex(S=>S.id===y.id),m=this.playerInfoContainers[n];if(m){const S=y.getStatus(),x=Math.max(0,S.hp),h="❤️".repeat(x),d="🖤".repeat(S.maxHP-x);m.hpText.setText(`${h}${d}`);let t="";S.resurrectionCard&&!S.resurrectionUsed&&(t+="💊"),S.shield&&(t+="🛡️"),S.poisoned>0&&(t+="☠️"),S.cursed>0&&(t+="💀"),S.timeBombRounds>0&&(t+="💣"),m.statusIcons.setText(t)}}updateAllPlayerInfo(){this.battleLogic.players.forEach(y=>{this.updatePlayerInfo(y)})}useItem(y){this.battleLogic.getCurrentPlayer();const n=this.battleLogic.useItem(y);n.success?this.addLogMessage(n.message):this.addLogMessage(n.message)}showFullLogScene(){this.scene.pause("AIBattleScene"),this.scene.launch("LogScene",{logMessages:this.logMessages,fromScene:"AIBattleScene"})}playSpineAnimation(y){this.currentSpineAnimation&&(this.currentSpineAnimation.destroy(),this.currentSpineAnimation=null);let n=y;if(typeof y=="string"&&(n=qt(y),!n)){console.warn(`动画配置未找到: ${y}`);return}const{jsonKey:m,atlasKey:S,player:x,soundKey:h,scale:d=1,loop:t=!1,timeout:e=3e3,onPlay:l=null,logName:i="动画"}=n,{width:s,height:r}=this.cameras.main;h&&this.cache.audio.exists(h)&&this.sound.play(h,{volume:.5});try{if(!this.cache.json.exists(m)||!this.cache.text.exists(S)){console.warn(`${i}资源未加载,跳过动画`);return}const o=this.boardOffsetY+this.battleLogic.rows*this.tileSize,a=this.battleLogic.players.length>4,u=a?100:0;let f;a?f=o+(r-o-u)/2:f=o+(r-o)/2;const v=this.add.spine(s/2,f,m,S);v.setScale(d),v.setDepth(100),this.currentSpineAnimation=v;const c=v.animationStateData.skeletonData.animations;if(c.length>0){const g=c[0].name;v.animationState.setAnimation(0,g,t),console.log(`播放${i}: ${x?.name||"未知"} 在屏幕中央, 动画: ${g}`),l&&l()}else{console.warn(`${i}Spine文件中没有找到动画数据`),v.destroy(),this.currentSpineAnimation=null;return}v.animationState.addListener({complete:()=>{v.destroy(),this.currentSpineAnimation=null}}),this.time.delayedCall(e,()=>{v.active&&(v.destroy(),this.currentSpineAnimation=null)})}catch(o){console.error(`播放${i}失败:`,o),this.currentSpineAnimation=null}}playTimeBombExplosionAnimation(y){const n=qt("timerBomb");this.playSpineAnimation({...n,player:y,logName:"定时炸弹爆炸动画",onPlay:()=>{this.time.delayedCall(500,()=>{this.cameras.main.shake(200,.01)})}})}playShieldAnimation(y){const n=qt("shield");this.playSpineAnimation({...n,player:y,logName:"护盾激活动画"})}playMedkitAnimation(y){const n=qt("medkit");this.playSpineAnimation({...n,player:y,logName:"医疗包动画"})}playPoisonAnimation(y){const n=qt("poison");this.playSpineAnimation({...n,player:y,logName:"毒药动画"})}playDogAnimation(y){const n=qt("dog");this.playSpineAnimation({...n,player:y,logName:"狗动画",timeout:5e3})}playKnifeAnimation(y,n){const m=qt("knife");this.playSpineAnimation({...m,player:y,logName:"飞刀动画"})}playGoodPersonAnimation(y){const n=qt("goodPerson");this.playSpineAnimation({...n,player:y,logName:"好人卡动画"})}playRebirthAnimation(y){const n=qt("rebirth");this.playSpineAnimation({...n,player:y,logName:"复活甲动画",timeout:5e3})}playThunderAnimation(y){const n=qt("thunder");this.playSpineAnimation({...n,player:y,logName:"闪电动画"})}playMagnifierAnimation(y){const n=qt("magnifier");this.playSpineAnimation({...n,player:y,logName:"放大镜动画"})}playChickenAnimation(y){const n=qt("chicken");this.playSpineAnimation({...n,player:y,logName:"鸡应激动画",timeout:5e3})}playMonkeyAnimation(y){const n=qt("monkey");this.playSpineAnimation({...n,player:y,logName:"猴子采摘动画",timeout:5e3})}playCatAnimation(y){const n=qt("cat");this.playSpineAnimation({...n,player:y,logName:"猫灵动动画",timeout:5e3})}playElephantAnimation(y){const n=qt("elephant");this.playSpineAnimation({...n,player:y,logName:"大象皮厚动画",timeout:5e3})}playTigerAnimation(y){this.cameras.main.shake(500,.03);const n=qt("tiger");this.playSpineAnimation({...n,player:y,logName:"老虎猛击动画",timeout:5e3})}playCurseAnimation(y){const n=qt("curse");this.playSpineAnimation({...n,player:y,logName:"诅咒动画",timeout:5e3})}playSlothAnimation(y){const n=qt("sloth");this.playSpineAnimation({...n,player:y,logName:"树懒特性动画",timeout:5e3})}playChestAnimation(y){const n=qt("chest");this.playSpineAnimation({...n,player:y,logName:"宝箱动画",timeout:5e3})}playHippoAnimation(y){const n=qt("hippo");this.playSpineAnimation({...n,player:y,logName:"河马复活动画",timeout:5e3})}initializeBGM(){if(this.bgm&&(this.bgm.stop(),this.bgm.destroy(),this.bgm=null),localStorage.getItem("bgmEnabled")!=="false")try{if(this.cache.audio.exists("battleBGM")){const n=localStorage.getItem("bgmVolume"),m=n?parseFloat(n):.1;this.bgm=this.sound.add("battleBGM",{loop:!0,volume:m}),this.bgm.play(),this.bgmEnabled=!0,console.log("BGM已成功加载并播放,音量:",m)}else console.warn("BGM音频文件未找到,跳过BGM播放"),this.bgmEnabled=!1}catch(n){console.error("BGM初始化失败:",n),this.bgmEnabled=!1}else this.bgmEnabled=!1;this.updateBGMButton()}toggleBGM(){this.bgmEnabled=!this.bgmEnabled,localStorage.setItem("bgmEnabled",this.bgmEnabled.toString()),this.bgmEnabled?(this.bgm||(this.bgm=this.sound.add("battleBGM",{loop:!0,volume:.5})),this.bgm.resume(),this.addLogMessage("🎵 BGM已开启")):(this.bgm&&this.bgm.pause(),this.addLogMessage("🔇 BGM已关闭")),this.updateBGMButton()}updateBGMButton(){this.bgmButton&&(this.bgmEnabled?(this.bgmButton.icon.setText("🎵"),this.bgmButton.bg.setStrokeStyle(2,65416)):(this.bgmButton.icon.setText("🔇"),this.bgmButton.bg.setStrokeStyle(2,4871528)))}checkAndSwitchBGM(){if(!this.bgmEnabled||!this.battleLogic)return;const y=this.battleLogic.players.find(x=>!x.name.startsWith("AI-"));if(!y||y.isDead)return;const m=y.hp<=2,S=this.bgm.key==="intenseBGM";m&&!S?this.switchToIntenseBGM():!m&&S&&this.switchToNormalBGM()}switchToIntenseBGM(){if(!this.cache.audio.exists("intenseBGM")){console.warn("紧张BGM文件未找到");return}try{const y=this.bgm.volume;this.bgm.stop(),this.bgm=this.sound.add("intenseBGM",{loop:!0,volume:y}),this.bgm.play(),console.log("已切换到紧张氛围BGM(血量<=2)")}catch(y){console.error("切换到紧张BGM失败:",y)}}switchToNormalBGM(){if(!this.cache.audio.exists("battleBGM")){console.warn("普通BGM文件未找到");return}try{const y=this.bgm.volume;this.bgm.stop(),this.bgm=this.sound.add("battleBGM",{loop:!0,volume:y}),this.bgm.play(),console.log("已切换回普通BGM(血量>2)")}catch(y){console.error("切换回普通BGM失败:",y)}}shutdown(){this.bgm&&(this.bgm.stop(),this.bgm.destroy(),this.bgm=null)}showToast(y,n=2e3){const{width:m,height:S}=this.cameras.main,x=this.add.container(m/2,80).setDepth(99999),h=this.add.rectangle(0,0,400,50,2963272,.9).setStrokeStyle(2,65416),d=this.add.text(0,0,y,{fontSize:"18px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5);x.add([h,d]),x.alpha=0,this.tweens.add({targets:x,alpha:1,duration:200,ease:"Power2"}),this.time.delayedCall(n,()=>{this.tweens.add({targets:x,alpha:0,duration:200,ease:"Power2",onComplete:()=>{x.destroy()}})})}}class er extends ce{constructor(){super({key:"ResultScene"})}init(y){this.winner=y.winner,this.loser=y.loser,this.logMessages=y.logMessages||[],this.fromScene=y.fromScene||"AIBattleScene",this.isOnline=y.isOnline||!1}getCharacterEmoji(y){return{cat:"🐱",chicken:"🐔",dog:"🐕",elephant:"🐘",hippopotamus:"🦛",monkey:"🐵",sloth:"🦥",tiger:"🐯"}[y]||"🐱"}create(){const{width:y,height:n}=this.cameras.main;this.overlay=this.add.rectangle(y/2,n/2,y,n,0,.75),this.contentContainer=this.add.container(y/2,n/2);const m=this.winner&&!this.winner.isAI,S=m?65416:16729156;this.contentBg=this.add.rectangle(0,0,y*.85,n*.8,1712172,.95).setStrokeStyle(3,S).setInteractive(),this.contentContainer.add(this.contentBg),this.createCloseButton(y,n),m?this.playVictoryAnimation(y,n):this.playDefeatAnimation(y,n),this.createResultDisplay(y,n,m),this.createButtons(y,n)}createResultDisplay(y,n,m){const S=m?this.winner:this.loser,x=this.getCharacterEmoji(S?.characterType);if(m){const h=this.add.text(0,n*-.32,`${this.winner.name} 获得胜利!`,{fontSize:"48px",fontStyle:"bold",color:"#00ff88",stroke:"#000",strokeThickness:6}).setOrigin(.5);this.contentContainer.add(h);const d=this.add.text(0,n*-.17,`${x}🏆`,{fontSize:"60px"}).setOrigin(.5);this.contentContainer.add(d)}else{const h=this.add.text(0,n*-.32,`${this.loser?.name||"你"} 被淘汰了`,{fontSize:"48px",fontStyle:"bold",color:"#ff4444",stroke:"#000",strokeThickness:6}).setOrigin(.5);this.contentContainer.add(h);const d=this.add.text(0,n*-.17,`${x}😢`,{fontSize:"60px"}).setOrigin(.5);if(this.contentContainer.add(d),this.winner){const t=this.add.text(0,n*-.05,`胜利者: ${this.winner.name}`,{fontSize:"24px",color:"#ffcc00"}).setOrigin(.5);this.contentContainer.add(t)}}}createCloseButton(y,n){const m=this.add.rectangle(y*.42,n*.12,50,50,16729156).setStrokeStyle(2,13369344).setInteractive({useHandCursor:!0});this.add.text(y*.42,n*.12,"✕",{fontSize:"30px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5),m.on("pointerover",()=>{m.setFillStyle(16737894),m.setScale(1.1)}),m.on("pointerout",()=>{m.setFillStyle(16729156),m.setScale(1)}),m.on("pointerdown",()=>{this.closeResult()})}closeResult(){this.scene.stop(),this.scene.resume(this.fromScene)}playVictoryAnimation(y,n){for(let m=0;m<30;m++)this.time.delayedCall(m*100,()=>{const S=Math.random()*y,x=Math.random()*n*.5,h=[65416,65484,8978312,16764040][Math.floor(Math.random()*4)],d=this.add.circle(S,x,5,h);this.tweens.add({targets:d,scale:{from:0,to:3},alpha:{from:1,to:0},duration:1e3,onComplete:()=>{d.destroy()}})})}playDefeatAnimation(y,n){for(let m=0;m<20;m++)this.time.delayedCall(m*150,()=>{const S=Math.random()*y,h=this.add.circle(S,-20,8,6710886);this.tweens.add({targets:h,y:n*.5,alpha:{from:1,to:0},duration:2e3,onComplete:()=>{h.destroy()}})})}createButtons(y,n){const m=n*.22;if(this.isOnline){const S=this.add.rectangle(-110,m,190,60,1483594).setStrokeStyle(3,2278750).setInteractive({useHandCursor:!0});this.contentContainer.add(S);const x=this.add.text(-110,m,"🚀 再次匹配",{fontSize:"24px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5);this.contentContainer.add(x),S.on("pointerover",()=>{S.setFillStyle(2278750),S.setScale(1.05)}),S.on("pointerout",()=>{S.setFillStyle(1483594),S.setScale(1)}),S.on("pointerdown",()=>{this.scene.stop(this.fromScene),this.scene.stop("ResultScene"),this.scene.start("LobbyScene")});const h=this.add.rectangle(110,m,190,60,1920728).setStrokeStyle(3,3900150).setInteractive({useHandCursor:!0});this.contentContainer.add(h);const d=this.add.text(110,m,"🏠 返回大厅",{fontSize:"24px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5);this.contentContainer.add(d),h.on("pointerover",()=>{h.setFillStyle(3900150),h.setScale(1.05)}),h.on("pointerout",()=>{h.setFillStyle(1920728),h.setScale(1)}),h.on("pointerdown",()=>{this.scene.stop(this.fromScene),this.scene.stop("ResultScene"),this.scene.start("LobbyScene")})}else{const S=this.add.rectangle(-120,m,140,45,4886754).setStrokeStyle(3,3504829).setInteractive({useHandCursor:!0});this.contentContainer.add(S);const x=this.add.text(-120,m,"返回大厅",{fontSize:"18px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5);this.contentContainer.add(x),S.on("pointerover",()=>{S.setFillStyle(5939186),S.setScale(1.05)}),S.on("pointerout",()=>{S.setFillStyle(4886754),S.setScale(1)}),S.on("pointerdown",()=>{this.scene.stop(this.fromScene),this.scene.start("MenuScene")});const h=this.add.rectangle(0,m,140,45,65416).setStrokeStyle(3,52330).setInteractive({useHandCursor:!0});this.contentContainer.add(h);const d=this.add.text(0,m,"再来一局",{fontSize:"18px",fontStyle:"bold",color:"#1a202c"}).setOrigin(.5);this.contentContainer.add(d),h.on("pointerover",()=>{h.setFillStyle(65433),h.setScale(1.05)}),h.on("pointerout",()=>{h.setFillStyle(65416),h.setScale(1)}),h.on("pointerdown",()=>{this.scene.stop(this.fromScene),this.scene.stop("ResultScene"),this.scene.start("RoomScene")});const t=this.add.rectangle(120,m,140,45,9133302).setStrokeStyle(3,8141549).setInteractive({useHandCursor:!0});this.contentContainer.add(t);const e=this.add.text(120,m,"📼 回放",{fontSize:"18px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5);this.contentContainer.add(e),t.on("pointerover",()=>{t.setFillStyle(10980346),t.setScale(1.05)}),t.on("pointerout",()=>{t.setFillStyle(9133302),t.setScale(1)}),t.on("pointerdown",()=>{this.scene.stop(this.fromScene),this.scene.stop("ResultScene"),this.scene.start("ReplayScene")})}}}class ir extends ce{constructor(){super({key:"ReplayScene"}),this.isCompactLayout=!1}init(y){this.replayData=y.replayData||Ue.getReplayData(),this.currentStep=0,this.isPlaying=!1,this.playSpeed=1e3,this.previewedCells=new Map,this.flaggedCells=new Set}create(){const{width:y,height:n}=this.cameras.main;this.isCompactLayout=vt.isCompactLayout(),vt.logLayoutInfo(),this.add.rectangle(y/2,n/2,y,n,1712172),this.initReplayState(),this.calculateBoardSize(),this.createBoard();const m=vt.getFontSize("28px","20px"),S=vt.getY(20,15);this.add.text(y/2,S,"📼 对局回放",{fontSize:m,fontStyle:"bold",color:"#00ff88"}).setOrigin(.5);const x=vt.getY(55,40),h=vt.getFontSize("16px","12px");this.stepText=this.add.text(y/2,x,"",{fontSize:h,color:"#00ffff"}).setOrigin(.5),this.createPlayerPanel(),this.createControls(),this.updateDisplay()}calculateBoardSize(){const{width:y,height:n}=this.cameras.main,m=this.replayData?.gameState;if(!m?.config)return;this.rows=m.config.rows,this.cols=m.config.cols;const S=vt.getSize(80,55),x=vt.getSize(55,40),h=vt.getButtonReservedHeight(x),d=vt.getSize(24,16),t=vt.getSize(60,40),e=h+d+t+vt.getSize(15,10),l=vt.getSize(10,8),i=y-l*2,s=n-S-e,r=Math.floor(i/this.cols),o=Math.floor(s/this.rows);this.tileSize=Math.min(r,o);const a=vt.getSize(70,50),u=vt.getSize(30,25);this.tileSize=Math.max(u,Math.min(a,this.tileSize));const f=this.cols*this.tileSize,v=this.rows*this.tileSize;this.boardOffsetX=(y-f)/2,this.boardOffsetY=S+(s-v)/2,console.log(`棋盘计算: 可用空间=${i}x${s}, 格子尺寸=${this.tileSize}, 棋盘尺寸=${f}x${v}`)}initReplayState(){const y=this.replayData?.gameState;if(!y){console.error("回放数据无效"),this.scene.start("MenuScene");return}this.board=y.board.map(n=>n.map(m=>({...m}))),this.players=y.players.map(n=>({...n})),this.currentTurnIndex=0,this.totalTurnCount=0}createBoard(){const{width:y,height:n}=this.cameras.main;if(!(!this.rows||!this.cols)){this.add.rectangle(this.boardOffsetX+this.cols*this.tileSize/2,this.boardOffsetY+this.rows*this.tileSize/2,this.cols*this.tileSize+4,this.rows*this.tileSize+4,1710638).setStrokeStyle(2,4871528),this.boardContainer=this.add.container(this.boardOffsetX,this.boardOffsetY);for(let m=0;mthis.showCellInfo(S,m)),d.on("pointerover",()=>{this.isPlaying||d.setStrokeStyle(2,65416)}),d.on("pointerout",()=>{d.setStrokeStyle(1,7438486)}),this.boardContainer.add(d)}}}showCellInfo(y,n){if(this.isPlaying)return;const m=this.board[n]?.[y];if(!m)return;this.infoPopup&&(this.infoPopup.destroy(),this.infoPopup=null);const{width:S,height:x}=this.cameras.main,h=this.boardOffsetX+y*this.tileSize+this.tileSize/2,d=this.boardOffsetY+n*this.tileSize+this.tileSize/2;this.infoPopup=this.add.container(h,d);let t="",e="",l=2963272,i=4871528;if(m.revealed)switch(m.type){case $t.BOMB:t="💣 炸弹",e="这是一个炸弹格子",l=8330525,i=15680580;break;case $t.ITEM:t="🎁 道具",e={medkit:"医疗包 💊",time_bomb:"定时炸弹 💣",poison:"毒药 ☠️",shield:"护盾 🛡️",good_card:"好人卡 🃏",magnifier:"放大镜 🔍",dagger:"飞刀 🗡️",resurrection:"复活甲 👼",lightning:"雷击 ⚡",chest:"宝箱 🎁",curse:"诅咒 👻"}[m.itemType]||"未知道具",l=1332013,i=2278750;break;case $t.EMPTY:t=m.bombCount>0?`数字 ${m.bombCount}`:"安全格",e=m.bombCount>0?`周围有 ${m.bombCount} 个炸弹`:"周围没有炸弹",l=1981023,i=3900150;break}else{const c=`${y}-${n}`;if(this.previewedCells.has(c)){this.previewedCells.delete(c),this.updateBoard();return}switch(this.previewedCells.set(c,{...m}),m.type){case $t.BOMB:t="💣 炸弹",e="点击再次隐藏",l=8330525,i=15680580;break;case $t.ITEM:t="🎁 道具",e={medkit:"医疗包 💊",time_bomb:"定时炸弹 💣",poison:"毒药 ☠️",shield:"护盾 🛡️",good_card:"好人卡 🃏",magnifier:"放大镜 🔍",dagger:"飞刀 🗡️",resurrection:"复活甲 👼",lightning:"雷击 ⚡",chest:"宝箱 🎁",curse:"诅咒 👻"}[m.itemType]||"未知道具",l=1332013,i=2278750;break;case $t.EMPTY:t=m.bombCount>0?`数字 ${m.bombCount}`:"安全格",e="点击再次隐藏",l=1981023,i=3900150;break;default:t="❓ 未知",e="点击再次隐藏",l=3621201,i=7041664}this.updateBoard()}const s=160,r=80,o=this.add.rectangle(0,0,s,r,l,.95).setStrokeStyle(2,i),a=this.add.text(0,-20,t,{fontSize:"18px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5),u=this.add.text(0,10,e,{fontSize:"14px",color:"#e2e8f0",wordWrap:{width:s-20}}).setOrigin(.5),f=this.add.rectangle(s/2-15,-r/2+15,24,24,16729156).setInteractive({useHandCursor:!0}),v=this.add.text(s/2-15,-r/2+15,"✕",{fontSize:"16px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5);f.on("pointerdown",()=>{this.infoPopup.destroy(),this.infoPopup=null}),f.on("pointerover",()=>f.setFillStyle(16737894)),f.on("pointerout",()=>f.setFillStyle(16729156)),this.infoPopup.add([o,a,u,f,v]),this.infoPopup.setDepth(1e3),this.input.once("pointerdown",c=>{this.infoPopup&&(this.infoPopup.getBounds().contains(c.x,c.y)||(this.infoPopup.destroy(),this.infoPopup=null))}),this.time.delayedCall(2e3,()=>{this.infoPopup&&(this.infoPopup.destroy(),this.infoPopup=null)})}createPlayerPanel(){const{width:y,height:n}=this.cameras.main,m=vt.getSize(55,40),S=vt.getButtonReservedHeight(m),x=vt.getSize(24,16),h=vt.getSize(45,30),d=vt.getSize(8,5),t=n-S-x-d-h/2,e=this.players.length,l=vt.getSize(15,10),i=y-l*2,s=Math.min(vt.getSize(120,80),Math.floor(i/e));this.playerContainers=[];const r=vt.getFontSize("18px","14px"),o=vt.getFontSize("16px","12px"),a=s*e,u=(y-a)/2+s/2;this.players.forEach((f,v)=>{const c=u+v*s,g=this.add.rectangle(c,t,s-vt.getSize(10,6),h,4871528).setStrokeStyle(2,7438486).setDepth(10),p=t-h*.15-vt.getSize(8,5),T=this.add.text(c,p,f.name,{fontSize:r,fontStyle:"bold",color:"#ffffff"}).setOrigin(.5).setDepth(10),C=t+vt.getSize(5,3),M=this.add.text(c,C,"❤️".repeat(Math.max(0,f.hp)),{fontSize:o}).setOrigin(.5).setDepth(10);this.playerContainers.push({bg:g,name:T,hp:M,player:f})})}createControls(){const{width:y,height:n}=this.cameras.main,m=vt.getSize(55,40),S=vt.getButtonReservedHeight(m),x=n-S/2,h=4,d=vt.getSize(20,15),t=vt.getSize(10,6),e=(h-1)*t,l=y-d*2,i=Math.floor((l-e)/h),s=Math.min(vt.getSize(160,80),i),r=vt.getSize(55,40),o=s*h+e,a=(y-o)/2+s/2;console.log(`按钮布局: 可用宽度=${l}, 按钮宽度=${s}, 间隙=${t}, 总宽度=${o}`);const u=vt.getSize(24,16),f=n-S-u/2-5;this.createProgressBar(y,f),this.createButton(a,x,"⏮",()=>this.prevStep(),s,r),this.playButton=this.createButton(a+s+t,x,"▶",()=>this.togglePlay(),s,r),this.playButtonText=this.playButton.getData("textObject"),this.createButton(a+(s+t)*2,x,"⏭",()=>this.nextStep(),s,r),this.createButton(a+(s+t)*3,x,"✕",()=>this.goBack(),s,r)}createButton(y,n,m,S,x=200,h=88){const d=vt.getFontSize("24px","18px"),t=this.add.rectangle(y,n,x,h,4886754).setStrokeStyle(vt.getSize(3,2),3504829).setInteractive({useHandCursor:!0}),e=this.add.text(y,n,m,{fontSize:d,fontStyle:"bold",color:"#ffffff"}).setOrigin(.5);return t.setData("textObject",e),t.on("pointerover",()=>{t.setFillStyle(5939186),t.setScale(1.05)}),t.on("pointerout",()=>{t.setFillStyle(4886754),t.setScale(1)}),t.on("pointerdown",S),t}createProgressBar(y,n){const m=y-vt.getSize(60,30),S=vt.getSize(24,16);this.progressBg=this.add.rectangle(y/2,n,m,S,2963272).setStrokeStyle(vt.getSize(3,2),4871528).setDepth(1),this.progressBar=this.add.rectangle(vt.getSize(30,15),n,0,S-6,65416).setOrigin(0,.5).setDepth(2),this.progressBg.setInteractive({useHandCursor:!0}),this.progressBg.on("pointerdown",(x,h)=>{const d=h/m,t=Math.floor(d*this.replayData.actions.length);this.jumpToStep(t)})}togglePlay(){this.isPlaying=!this.isPlaying,this.isPlaying?(this.previewedCells.clear(),this.updateBoard(),this.playButtonText.setText("⏸️ 暂停"),this.playLoop()):(this.playButtonText.setText("▶️ 播放"),this.playTimer&&(this.playTimer.remove(),this.playTimer=null))}playLoop(){if(!this.isPlaying||this.currentStep>=this.replayData.actions.length){this.isPlaying=!1,this.playButtonText.setText("▶️ 播放");return}this.nextStep(),this.playTimer=this.time.delayedCall(this.playSpeed,()=>{this.playLoop()})}prevStep(){this.currentStep>0&&(this.currentStep--,this.rebuildStateToStep(this.currentStep),this.updateDisplay())}nextStep(){this.currentStepm.map(S=>({...S}))),this.players=n.players.map(m=>({...m}));for(let m=0;mm.id===y.playerId);n&&y.data.damage&&(n.hp=Math.max(0,n.hp-y.data.damage))}applyPlayerDeath(y){const n=this.players.find(m=>m.id===y.playerId);n&&(n.isDead=!0,n.hp=0)}applyPlayerRevive(y){const n=this.players.find(m=>m.id===y.playerId);n&&(n.isDead=!1,n.hp=2)}applyTurnChange(y){const n=this.players.findIndex(m=>m.id===y.playerId);n>=0&&(this.currentTurnIndex=n),this.totalTurnCount=y.data.turnCount}updateDisplay(){this.updateBoard(),this.updatePlayers(),this.updateProgress(),this.updateStepText()}updateBoard(){if(!this.rows||!this.cols||!this.board||!this.boardContainer)return;for(let m=0;m0){const l={1:"#3b82f6",2:"#22c55e",3:"#ef4444",4:"#8b5cf6",5:"#a16207",6:"#06b6d4",7:"#000000",8:"#6b7280"};this.cellContentContainer.add(this.add.text(t,e,x.bombCount.toString(),{fontSize:`${y}px`,fontStyle:"bold",color:l[x.bombCount]||"#000000"}).setOrigin(.5))}else if(x.type===$t.ITEM&&x.itemType){const i={medkit:"💊",time_bomb:"💣",poison:"☠️",shield:"🛡️",good_card:"🃏",magnifier:"🔍",dagger:"🗡️",resurrection:"👼",lightning:"⚡",chest:"🎁",curse:"👻"}[x.itemType]||"🎁";this.cellContentContainer.add(this.add.text(t,e,i,{fontSize:`${n}px`}).setOrigin(.5))}}}updatePlayers(){this.playerContainers.forEach((y,n)=>{const m=this.players[n];m&&(y.hp.setText("❤️".repeat(Math.max(0,m.hp))),y.name.setColor(m.isDead?"#ff4444":"#ffffff"),n===this.currentTurnIndex&&!m.isDead?y.bg.setStrokeStyle(3,65416):y.bg.setStrokeStyle(1,7438486))})}updateProgress(){const y=this.replayData.actions.length,n=y>0?this.currentStep/y:0,m=this.cameras.main.width-44;this.progressBar.width=n*m}updateStepText(){const y=this.replayData.actions[this.currentStep-1];let n=`步骤 ${this.currentStep} / ${this.replayData.actions.length}`;if(y){const m=this.players.find(x=>x.id===y.playerId),S=m?m.name:"";switch(y.type){case te.CELL_CLICK:n+=` - ${S} 点击 (${y.data.x+1}, ${y.data.y+1})`;break;case te.ITEM_USE:n+=` - ${S} 使用道具`;break;case te.PLAYER_DAMAGE:n+=` - ${S} 受到 ${y.data.damage} 点伤害`;break;case te.PLAYER_DEATH:n+=` - ${S} 被淘汰`;break;case te.PLAYER_REVIVE:n+=` - ${S} 复活`;break;case te.TURN_CHANGE:n+=` - ${S} 的回合`;break}}this.stepText.setText(n)}goBack(){this.scene.start("MenuScene")}}class sr extends ce{constructor(){super({key:"HelpScene"})}create(){const{width:y,height:n}=this.cameras.main;this.add.rectangle(y/2,n/2,y,n,1710638),this.add.rectangle(y/2,40,y,80,1710638).setDepth(10),this.add.text(y/2,40,"游戏说明",{fontSize:"48px",fontStyle:"bold",color:"#00ff88",stroke:"#000",strokeThickness:6}).setOrigin(.5).setDepth(11);const m=this.add.rectangle(70,40,100,50,4871528).setStrokeStyle(2,7438486).setInteractive({useHandCursor:!0}).setDepth(11);this.add.text(70,40,"返回",{fontSize:"24px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5).setDepth(11),m.on("pointerover",()=>{m.setFillStyle(6710886),m.setScale(1.05)}),m.on("pointerout",()=>{m.setFillStyle(4871528),m.setScale(1)}),m.on("pointerdown",()=>{this.scene.start("MenuScene")}),this.contentContainer=this.add.container(0,90);const S=this.createScrollableContent(y),x=n-130;new Phaser.Geom.Rectangle(0,90,y,x),this.minScrollY=90,this.maxScrollY=Math.min(90,n-S-40),this.isDragging=!1,this.lastPointerY=0;const h=S>n-130;if(console.log("Content height:",S,"Visible height:",n-130,"Needs scroll:",h),console.log("Min Y:",this.minScrollY,"Max Y:",this.maxScrollY),h){this.input.on("pointerdown",t=>{t.y>80&&(this.isDragging=!0,this.lastPointerY=t.y)}),this.input.on("pointermove",t=>{if(this.isDragging){const e=t.y-this.lastPointerY;let l=this.contentContainer.y+e;l=Phaser.Math.Clamp(l,this.maxScrollY,this.minScrollY),this.contentContainer.y=l,this.lastPointerY=t.y}}),this.input.on("pointerup",()=>{this.isDragging=!1}),this.input.on("pointerupoutside",()=>{this.isDragging=!1}),this.add.rectangle(y/2,n-25,y,50,1710638).setDepth(10);const d=this.add.text(y/2,n-25,"↑↓ 滑动查看更多",{fontSize:"20px",color:"#666666"}).setOrigin(.5).setDepth(11);this.tweens.add({targets:d,alpha:.3,duration:1e3,yoyo:!0,repeat:-1})}}createScrollableContent(y){let n=0;const m=(e,l,i,s)=>{const r=this.add.text(e,l,i,s);return this.contentContainer.add(r),r};return m(25,n,"基础玩法",{fontSize:"36px",fontStyle:"bold",color:"#ffcc00"}),n+=50,["• 点击格子翻开,数字表示周围8格内的炸弹数量","• 翻到炸弹会扣除生命值","• 翻到道具格可获得随机道具","• 多人回合制,每人每回合翻一个格子","• 生命值归零则淘汰,最后存活者获胜","• 非自己回合时可点击格子插旗标记"].forEach(e=>{m(35,n,e,{fontSize:"28px",color:"#e2e8f0",wordWrap:{width:y-70}}),n+=45}),n+=30,m(25,n,"角色介绍",{fontSize:"36px",fontStyle:"bold",color:"#ffcc00"}),n+=55,[{emoji:"🐱",name:"猫",desc:"可爱:伤害强制为1"},{emoji:"🐔",name:"鸡",desc:"应激:受伤概率获得防御道具"},{emoji:"🐕",name:"狗",desc:"嗅觉:每N个回合可以获得道具提示"},{emoji:"🐘",name:"大象",desc:"皮厚:HP为5,不能使用道具"},{emoji:"🦛",name:"河马",desc:"复活:淘汰时33%概率复活"},{emoji:"🐵",name:"猴子",desc:"采摘:概率获得香蕉回血1点,每局限制2次"},{emoji:"🦥",name:"树懒",desc:"迟钝:对炸弹伤害减少1点,免疫毒药效果"},{emoji:"🐯",name:"老虎",desc:"猛击:飞刀变AOE,伤害为2"}].forEach(e=>{m(35,n,`${e.emoji} ${e.name}`,{fontSize:"32px",fontStyle:"bold",color:"#00ff88"}),m(180,n+5,e.desc,{fontSize:"26px",color:"#a0aec0",wordWrap:{width:y-200}}),n+=55}),n+=30,m(25,n,"道具介绍",{fontSize:"36px",fontStyle:"bold",color:"#ffcc00"}),n+=55,[{emoji:"💊",name:"医疗包",desc:"恢复生命值"},{emoji:"💣",name:"定时炸弹",desc:"3回合后对目标造成伤害"},{emoji:"☠️",name:"毒药",desc:"下毒,每行动2次后损失1点生命值"},{emoji:"🛡️",name:"护盾",desc:"抵挡下一次伤害"},{emoji:"🃏",name:"好人卡",desc:"目标下回合跳过行动"},{emoji:"🔍",name:"放大镜",desc:"查看随机格子的信息"},{emoji:"🗡️",name:"飞刀",desc:"对所有其他玩家造成1点伤害"},{emoji:"👼",name:"复活甲",desc:"淘汰时自动复活"},{emoji:"⚡",name:"闪电",desc:"对其他所有目标造成1点伤害"},{emoji:"🎁",name:"宝箱",desc:"随机获得一个道具"},{emoji:"👻",name:"诅咒",desc:"目标受到伤害翻倍"}].forEach(e=>{m(35,n,`${e.emoji} ${e.name}`,{fontSize:"30px",fontStyle:"bold",color:"#4a90e2"}),m(200,n+3,e.desc,{fontSize:"26px",color:"#a0aec0"}),n+=50}),n+=30,m(25,n,"操作提示",{fontSize:"36px",fontStyle:"bold",color:"#ffcc00"}),n+=50,["• 自己回合:点击未翻开的格子翻开","• 非自己回合:点击格子插旗/取消旗","• 道具使用:道具会自动使用","• 查看日志:点击右上角日志按钮"].forEach(e=>{m(35,n,e,{fontSize:"28px",color:"#e2e8f0"}),n+=45}),n+=30,m(25,n,"音频资源",{fontSize:"36px",fontStyle:"bold",color:"#ffcc00"}),n+=50,["🎵 背景音乐:vespidaze-upbeat-rpg-battle","🎵 紧张音乐:williamhector-cinematic-action","💥 爆炸音效:dennish18-small-explosion","💥 大爆炸:freesound_community-explosion","⚠️ 警告音效:freesound_community-warning-sound","🖱️ 点击音效:denielcz-click","🔪 刀剑音效:freesound_community-knife-slice","🗡️ 格挡音效:voicebosch-sword-block","💊 治愈音效:freesound_crunchpixstudio-heal-sound","✨ 神圣音效:u_1cwn0vj1yq-mystical-chime","🎁 获得道具:u_czn2yg55gn-item-found","📖 翻书音效:jacqtydus-oh-dn","😿 失败音效:ribhavagrawal-you-lose-game-sound","🎉 胜利音效:bugradio-he-is-good","🐱 猫叫声:dragon-studio-cute-cat-meow","🐕 狗叫声:dragon-studio-dog-bark","🐕 狗嚎叫:dragon-studio-old-dog-howling","🐘 大象叫:freesound_community-elephant-trumpets","🐯 老虎吼:dffdv-tiger-roar-loudly","🐵 猴子叫:koiroylers-monkey-jungle","🦥 树懒声:roaming_sloth-sloth-inspired","🦛 河马叫:u_tococonino969-hungry-hippos","⚡ 雷声:u_vrs223ln83-loud-thunder","🧪 毒药声:ldc96-acid_spell_cast_bubble_poison","📜 宝箱声:benkirb-shine"].forEach(e=>{m(35,n,`• ${e}`,{fontSize:"22px",color:"#a0aec0",wordWrap:{width:y-70}}),n+=35}),n+=30,m(25,n,"制作人员",{fontSize:"36px",fontStyle:"bold",color:"#ffcc00"}),n+=55,m(35,n,"🎮 游戏设计:柯大鸭",{fontSize:"28px",color:"#e2e8f0"}),n+=45,m(35,n,"💻 程序开发:柯大鸭",{fontSize:"28px",color:"#e2e8f0"}),n+=45,m(35,n,"🎨 美术设计:阳光果粒橙",{fontSize:"28px",color:"#e2e8f0"}),n+=45,m(35,n,"🎵 音效资源:Pixabay / Freesound",{fontSize:"28px",color:"#e2e8f0"}),n+=45,m(35,n,"🔧 游戏引擎:Phaser 4",{fontSize:"28px",color:"#e2e8f0"}),n+=60,m(25,n,"特别感谢",{fontSize:"36px",fontStyle:"bold",color:"#ffcc00"}),n+=50,m(35,n,"感谢所有测试玩家的宝贵建议!",{fontSize:"28px",color:"#e2e8f0"}),n+=45,m(35,n,"感谢开源社区的贡献者们!",{fontSize:"28px",color:"#e2e8f0"}),n+=60,m(y/2,n,"© 2025-2026 柯大鸭 版权所有",{fontSize:"24px",color:"#888888"}).setOrigin(.5),n+50}}const Ae=new URLSearchParams(window.location.search),Yi=Ae.get("game_token")||"",nr=decodeURIComponent(Ae.get("nakama_server")||""),rr=Ae.get("nakama_key")||"defaultkey",ar="wss://game.1024tool.vip";function di(E){if(!E)return null;try{const y=new URL(E);return y.protocol==="wss:"||y.protocol==="ws:"?y:null}catch{return null}}function or(E){return!E||E==="localhost"||E==="127.0.0.1"||E==="0.0.0.0"||E==="yourdomain.com"||E.includes("oicp.vip")}function hr(){const{protocol:E,hostname:y,port:n}=window.location;if(!y)return"";const m=E==="https:"?"wss:":"ws:",x=n&&n!==(E==="https:"?"443":"80")?`:${n}`:"";return`${m}//${y}${x}`}const Vi=di(nr),Xi=di(hr()),os=di(ar),lr=!or(window.location.hostname)&&!!os,hs=lr?os.toString():Vi?Vi.toString():Xi?Xi.toString():"",ur=!!di(hs),_t={isWebView:!!Yi&&ur,gameToken:Yi,nakamaServer:hs,nakamaKey:rr,mode:Ae.get("mode"),gameMode:Ae.get("game_type")||"minesweeper",nickname:decodeURIComponent(Ae.get("nickname")||"")||null,uid:Ae.get("uid")||null,matchId:Ae.get("match_id")||null,isSpectator:Ae.get("is_spectator")==="1",scene:Ae.get("scene")||null};class fr extends ce{constructor(){super({key:"LoadingScene"})}preload(){const{width:y,height:n}=this.cameras.main;this.add.rectangle(y/2,n/2,y,n,1712172),this.add.text(y/2,n/3,"💣 扫雷对战",{fontSize:"48px",fontStyle:"bold",color:"#00ff88"}).setOrigin(.5),this.loadText=this.add.text(y/2,n/2,"正在加载资源...",{fontSize:"24px",color:"#e2e8f0"}).setOrigin(.5);const m=400,S=20,x=(y-m)/2,h=n/2+50;this.progressBarBg=this.add.rectangle(y/2,h,m,S,2963272).setStrokeStyle(2,4871528),this.progressBar=this.add.rectangle(x,h,0,S,65416).setOrigin(0,.5),this.progressText=this.add.text(y/2,h+40,"0%",{fontSize:"20px",color:"#a0aec0"}).setOrigin(.5),this.load.on("progress",d=>{const t=Math.floor(d*100);this.progressBar.width=m*d,this.progressText.setText(`${t}%`)}),this.load.on("complete",()=>{console.log("=== 所有资源加载完成 ==="),this.loadText.setText("加载完成!"),this.progressBar.width=m,this.progressText.setText("100%"),this.time.delayedCall(500,()=>{_t.isWebView?_t.gameMode==="minesweeper_free"?this.scene.start("RoomScene"):this.scene.start("LobbyScene",{mode:_t.gameMode}):this.scene.start("MenuScene")})}),this.load.on("loaderror",d=>{console.error("=== 资源加载失败 ==="),console.error("Key:",d.key),console.error("Type:",d.type),console.error("URL:",d.url),console.error("Error:",d?.error),this.loadText.setText(`加载失败: ${d.key}`),this.progressBar.setFillStyle(16729156)}),this.load.on("filecomplete",(d,t,e)=>{console.log(`✓ 资源加载完成: ${d} (${t})`)}),this.loadGameAssets()}loadGameAssets(){this.loadAudioAssets(jn()),this.loadAudioAssets(rs()),this.loadImageAssets(kn()),this.loadImageAssets(qn()),this.loadSpineAssets(as())}loadAudioAssets(y){for(const[n,m]of Object.entries(y))this.load.audio(n,m)}loadImageAssets(y){for(const[n,m]of Object.entries(y))this.load.image(n,m)}loadSpineAssets(y){for(const n of y){this.load.spineJson(n.jsonKey,n.jsonPath);for(const m of n.textures)this.load.image(m.key,m.path);this.load.spineAtlas(n.atlasKey,n.atlasPath)}}create(){}}class dr extends ce{constructor(){super({key:"SpineV4TestScene"})}preload(){this.add.text(this.cameras.main.width/2,this.cameras.main.height/2,"Loading Spine Assets...",{fontSize:"32px",color:"#ffffff"}).setOrigin(.5),this.load.spine("spineboy","assets/spine/spineboy-pro.json","assets/spine/spineboy-pma.atlas",!0)}create(){this.add.rectangle(0,0,this.cameras.main.width,this.cameras.main.height,2960708).setOrigin(0),this.add.text(this.cameras.main.width/2,80,"Spine Phaser V4 Demo",{fontSize:"48px",color:"#00ff00",fontStyle:"bold"}).setOrigin(.5);const n=this.add.spine(400,600,"spineboy");n.setMix("walk","run",.2),n.setMix("run","walk",.2),n.setMix("walk","jump",.1),n.setMix("jump","walk",.1),n.animationState.setAnimation(0,"walk",!0),n.setScale(.5),n.setInteractive(),n.on("pointerdown",()=>{const x=n.animationState.tracks[0].animation.name;let h="run";x==="walk"?h="run":x==="run"?h="jump":x==="jump"&&(h="walk"),n.animationState.setAnimation(0,h,h==="walk"||h==="run"),this.showFeedback(`切换到: ${h}`)}),this.add.text(this.cameras.main.width/2,this.cameras.main.height-100,`点击 Spine 角色切换动画 +(使用 spine-phaser-v4 API)`,{fontSize:"24px",color:"#ffff00",align:"center",backgroundColor:"#000000",padding:{x:20,y:10}}).setOrigin(.5),this.statusText=this.add.text(this.cameras.main.width/2,this.cameras.main.height-200,"当前动画: walk",{fontSize:"28px",color:"#00ffff",backgroundColor:"#000000",padding:{x:15,y:8}}),this.statusText.setOrigin(.5),n.animationState.addListener({start:x=>{console.log("Animation started:",x.animation.name)},end:x=>{console.log("Animation ended:",x.animation.name)},complete:x=>{console.log("Animation completed:",x.animation.name)},event:(x,h)=>{console.log("Animation event:",h.data.name)}}),this.events.on("update",()=>{if(n.animationState.tracks[0]){const x=n.animationState.tracks[0].animation.name;this.statusText.setText(`当前动画: ${x}`)}}),this.input.keyboard.on("keydown-SPACE",()=>{n.animationState.setAnimation(0,"jump",!1),n.animationState.addAnimation(0,"walk",!0,0)});const S=this.add.text(50,50,"← 返回",{fontSize:"24px",color:"#ffffff",backgroundColor:"#0066cc",padding:{x:20,y:10}});S.setInteractive({useHandCursor:!0}),S.on("pointerdown",()=>{this.scene.start("MenuScene")})}showFeedback(y){const n=this.add.text(this.cameras.main.width/2,this.cameras.main.height/2-150,y,{fontSize:"32px",color:"#ffff00",backgroundColor:"#000000",padding:{x:20,y:10}});n.setOrigin(.5),this.tweens.add({targets:n,alpha:0,duration:1500,onComplete:()=>n.destroy()})}}class vr extends ce{constructor(){super({key:"SpineTestScene"})}preload(){this.loadResources()}loadResources(){const y=rs();for(const[m,S]of Object.entries(y))this.load.audio(m,S);const n=as();for(const m of n){this.load.spineJson(m.jsonKey,m.jsonPath);for(const S of m.textures)this.load.image(S.key,S.path);this.load.spineAtlas(m.atlasKey,m.atlasPath)}}create(){const{width:y,height:n}=this.cameras.main;this.add.rectangle(y/2,n/2,y,n,1710638),this.add.text(y/2,40,"Spine动画测试",{fontSize:"36px",fontStyle:"bold",color:"#00ff88"}).setOrigin(.5),this.add.text(y/2,80,"点击下方按钮播放对应动画",{fontSize:"18px",color:"#718096"}).setOrigin(.5),this.currentSpine=null,this.currentAnimName=null,this.animationList=Jn(),this.createAnimationButtons(),this.createControlButtons(),this.createBackButton(),this.statusText=this.add.text(y/2,n-80,"请选择要播放的动画",{fontSize:"20px",color:"#00ffff",backgroundColor:"#000000",padding:{x:15,y:8}}).setOrigin(.5)}createAnimationButtons(){const{width:y}=this.cameras.main,n=60,m=130,S=100,x=40,h=4,d=15,t=10;this.animationList.forEach((e,l)=>{const i=l%h,s=Math.floor(l/h),r=n+i*(S+d)+S/2,o=m+s*(x+t)+x/2,a=this.add.rectangle(r,o,S,x,2963272).setStrokeStyle(2,4871528).setInteractive({useHandCursor:!0});this.add.text(r,o,e.displayName,{fontSize:"16px",color:"#ffffff"}).setOrigin(.5),a.on("pointerover",()=>{a.setFillStyle(4871528)}),a.on("pointerout",()=>{a.setFillStyle(2963272)}),a.on("pointerdown",()=>{this.playAnimation(e)})})}createControlButtons(){const{width:y,height:n}=this.cameras.main,m=n-140;this.createButton(y/2-150,m,"暂停/继续",()=>{this.currentSpine&&(this.currentSpine.animationState.timeScale===0?(this.currentSpine.animationState.timeScale=1,this.showFeedback("动画继续")):(this.currentSpine.animationState.timeScale=0,this.showFeedback("动画暂停")))}),this.createButton(y/2,m,"重新播放",()=>{this.currentSpine&&this.currentAnimName&&(this.currentSpine.animationState.setAnimation(0,this.currentAnimName,!1),this.showFeedback("重新播放"))}),this.createButton(y/2+150,m,"循环播放",()=>{this.currentSpine&&this.currentAnimName&&(this.currentSpine.animationState.setAnimation(0,this.currentAnimName,!0),this.showFeedback("循环播放"))})}createButton(y,n,m,S){const x=this.add.rectangle(y,n,120,36,3355494).setStrokeStyle(2,5592490).setInteractive({useHandCursor:!0});return this.add.text(y,n,m,{fontSize:"16px",color:"#ffffff"}).setOrigin(.5),x.on("pointerover",()=>x.setFillStyle(4474026)),x.on("pointerout",()=>x.setFillStyle(3355494)),x.on("pointerdown",S),x}createBackButton(){this.add.text(50,50,"← 返回",{fontSize:"24px",color:"#ffffff",backgroundColor:"#0066cc",padding:{x:20,y:10}}).setInteractive({useHandCursor:!0}).on("pointerdown",()=>{this.scene.start("MenuScene")})}playAnimation(y){const{width:n,height:m}=this.cameras.main;this.currentSpine&&(this.currentSpine.destroy(),this.currentSpine=null);try{if(!this.cache.json.exists(y.jsonKey)){this.showFeedback(`${y.displayName}: JSON未加载`);return}if(!this.cache.text.exists(y.atlasKey)){this.showFeedback(`${y.displayName}: Atlas未加载`);return}const S=this.add.spine(n/2,m/2-50,y.jsonKey,y.atlasKey),x=S.animationStateData.skeletonData.animations;if(x.length===0){this.showFeedback(`${y.displayName}: 无动画数据`),S.destroy();return}const h=x[0].name;S.animationState.setAnimation(0,h,!1);const d=y.scale||1;S.setScale(d,d),console.log(`播放动画: ${y.displayName}, scale: ${d}, 实际scale: ${S.scaleX}, ${S.scaleY}`);const e=li[y.name]?.soundKey;e&&this.cache.audio.exists(e)&&this.sound.play(e,{volume:.5}),this.currentSpine=S,this.currentAnimName=h,this.statusText.setText(`${y.displayName}: ${h}`),S.animationState.addListener({complete:()=>{this.showFeedback("动画播放完成")}}),this.showFeedback(`播放: ${y.displayName}`)}catch(S){this.showFeedback(`${y.displayName}: 加载失败`),console.error(`播放${y.displayName}失败:`,S)}}showFeedback(y){const{width:n,height:m}=this.cameras.main,S=this.add.text(n/2,m/2-200,y,{fontSize:"28px",color:"#ffff00",backgroundColor:"#000000",padding:{x:20,y:10}}).setOrigin(.5);this.tweens.add({targets:S,alpha:0,y:S.y-50,duration:1e3,onComplete:()=>S.destroy()})}}const ae={GAME_START:1,STATE_UPDATE:2,PLAYER_CLICK:3,GAME_EVENT:5,GAME_END:6,REQUEST_STATE:100},ee={DISCONNECTED:"disconnected",CONNECTING:"connecting",CONNECTED:"connected",RECONNECTING:"reconnecting"};class cr{constructor(){$(this,"_nextCid",1);$(this,"_pendingRequests",{});this.serverUrl=null,this.serverKey="defaultkey",this.useSSL=!0,this.host=null,this.port="443",this.heartbeatInterval=15e3,this.heartbeatTimer=null,this.ws=null,this.connectionState=ee.DISCONNECTED,this.session=null,this.gameToken=null,this.externalUserId=null,this.customId=null,this.matchId=null,this.matchToken=null,this.listeners={onmatchmakermatched:null,onmatchdata:null,onmatchpresence:null,ondisconnect:null,onerror:null,onconnectionstatechange:null},this.messageQueue=[],this.reconnectAttempts=0,this.maxReconnectAttempts=5,this.reconnectDelay=2e3}initClient(y,n="defaultkey"){this.serverUrl=y,this.serverKey=n;try{const m=new URL(y);this.useSSL=m.protocol==="wss:",this.host=m.hostname,this.port=m.port||(this.useSSL?"443":"80")}catch(m){console.error("[NakamaManager] Invalid server URL:",m)}console.log("[NakamaManager] Client initialized:",{serverUrl:this.serverUrl,host:this.host,port:this.port,useSSL:this.useSSL})}normalizeUsername(y){return y?String(y).normalize("NFKC").replace(/[^\w.-]/g,"_").replace(/_+/g,"_").replace(/^[_\-.]+|[_\-.]+$/g,"").slice(0,32):""}isValidCustomId(y){if(!y)return!1;const n=new TextEncoder().encode(String(y)).length;return n>=6&&n<=128}buildCustomId(y){if(!y&&y!==0)return null;const n=String(y).trim();if(!n)return null;if(this.isValidCustomId(n))return n;const m=n.startsWith("user_")?n:`user_${n}`;return this.isValidCustomId(m)?m:null}async authenticateWithGameToken(y,n=null,m=null){this.gameToken=y,this.externalUserId=n||n===0?String(n):null;let S=this.buildCustomId(n);this.externalUserId&&S&&S!==this.externalUserId&&console.log("[NakamaManager] Using derived custom ID for external user ID:",{externalUserId:this.externalUserId,customId:S}),this.externalUserId&&!S&&console.warn("[NakamaManager] externalUserId cannot be converted to a valid custom ID, falling back to token-derived ID:",this.externalUserId),S||(S=this.extractUserIdFromToken(y)),S||(S=localStorage.getItem("nakama_custom_id"),S||(S=`game_${Date.now()}_${Math.random().toString(36).substring(2,9)}`,localStorage.setItem("nakama_custom_id",S))),this.customId=S;const x=this.normalizeUsername(m),d=`${this.useSSL?"https":"http"}://${this.host}:${this.port}/v2/account/authenticate/custom?create=true`,t=btoa(`${this.serverKey}:`);console.log("[NakamaManager] Authenticating with customId:",S,"username:",x||"(omitted)");try{const e=async(i="")=>fetch(`${d}${i?`&username=${encodeURIComponent(i)}`:""}`,{method:"POST",headers:{Authorization:`Basic ${t}`,"Content-Type":"application/json"},body:JSON.stringify({id:S})});let l=await e(x);if(!l.ok){const i=await l.text(),s=l.status===409&&i.includes("Username is already in use");if(x&&s)console.warn("[NakamaManager] Username already in use, retrying without username"),l=await e("");else throw new Error(`Authentication failed: ${l.status} - ${i}`)}if(!l.ok){const i=await l.text();throw new Error(`Authentication failed: ${l.status} - ${i}`)}if(this.session=await l.json(),!this.session.user_id&&this.session.token)try{const i=JSON.parse(this.base64UrlDecode(this.session.token.split(".")[1]));this.session.user_id=i.uid||i.user_id}catch{}return console.log("[NakamaManager] Authentication successful:",{userId:this.session.user_id}),this.session}catch(e){throw console.error("[NakamaManager] Authentication error:",e),e}}base64UrlDecode(y){let n=y.replace(/-/g,"+").replace(/_/g,"/");const m=n.length%4;return m===2?n+="==":m===3&&(n+="="),atob(n)}extractUserIdFromToken(y){if(!y)return null;try{const n=y.split(".");if(n.length!==3)return null;const m=JSON.parse(this.base64UrlDecode(n[1]));console.log("[NakamaManager] game_token payload:",m);const S=m.user_id||m.uid||m.sub;return S?`user_${S}`:null}catch(n){return console.warn("[NakamaManager] Failed to extract user_id from game_token:",n),`token_${y.substring(0,32)}`}}setListeners(y){this.listeners={...this.listeners,...y},console.log("[NakamaManager] Listeners configured")}async connect(){if(this.connectionState===ee.CONNECTED){console.log("[NakamaManager] Already connected");return}if(this.connectionState===ee.CONNECTING){console.log("[NakamaManager] Connection already in progress");return}if(!this.session||!this.session.token)throw new Error("No valid session. Please authenticate first.");this.setConnectionState(ee.CONNECTING);const n=`${this.useSSL?"wss":"ws"}://${this.host}:${this.port}/ws?lang=en&status=true&token=${this.session.token}`;return console.log("[NakamaManager] Connecting to:",n),new Promise((m,S)=>{try{this.ws=new WebSocket(n),this.ws.onopen=()=>{console.log("[NakamaManager] WebSocket connected"),this.setConnectionState(ee.CONNECTED),this.reconnectAttempts=0,this.startHeartbeat(),this.flushMessageQueue(),m()},this.ws.onmessage=x=>{this.handleMessage(x.data)},this.ws.onclose=x=>{console.error("[NakamaManager] WebSocket CLOSED! code:",x.code,"reason:",x.reason,"wasClean:",x.wasClean),this.setConnectionState(ee.DISCONNECTED),this.stopHeartbeat(),this.listeners.ondisconnect&&this.listeners.ondisconnect(x)},this.ws.onerror=x=>{console.error("[NakamaManager] WebSocket error:",x),this.setConnectionState(ee.DISCONNECTED),this.listeners.onerror&&this.listeners.onerror(x),S(x)}}catch(x){this.setConnectionState(ee.DISCONNECTED),S(x)}})}disconnect(){this.stopHeartbeat(),this.ws&&(this.ws.close(),this.ws=null),this.setConnectionState(ee.DISCONNECTED),this.matchId=null,this.matchToken=null,console.log("[NakamaManager] Disconnected")}setConnectionState(y){const n=this.connectionState;this.connectionState=y,n!==y&&this.listeners.onconnectionstatechange&&this.listeners.onconnectionstatechange(y,n)}startHeartbeat(){this.stopHeartbeat(),this.heartbeatTimer=setInterval(()=>{this.sendHeartbeat()},this.heartbeatInterval)}stopHeartbeat(){this.heartbeatTimer&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=null)}sendHeartbeat(){}flushMessageQueue(){for(;this.messageQueue.length>0&&this.ws&&this.ws.readyState===WebSocket.OPEN;){const y=this.messageQueue.shift();this.ws.send(y)}}sendMessage(y){const n=JSON.stringify(y);this.ws&&this.ws.readyState===WebSocket.OPEN?this.ws.send(n):this.messageQueue.push(n)}_sendWithCid(y,n=1e4){const m=String(this._nextCid++);return y.cid=m,new Promise((S,x)=>{const h=setTimeout(()=>{delete this._pendingRequests[m],x(new Error("Request timeout"))},n);this._pendingRequests[m]={resolve:S,reject:x,timer:h},this.sendMessage(y)})}handleMessage(y){if(y)try{const n=JSON.parse(y);if(console.log("[NakamaManager] Received message:",n),n.cid&&this._pendingRequests[n.cid]){const m=this._pendingRequests[n.cid];delete this._pendingRequests[n.cid],clearTimeout(m.timer),n.error?m.reject(new Error(n.error.message||"Server error")):m.resolve(n);return}if(n.error){const m=new Error(n.error.message||"Server error");console.error("[NakamaManager] Server error:",n.error),this.listeners.onerror&&this.listeners.onerror(m);return}if(n.matchmaker_ticket&&(console.log("[NakamaManager] Matchmaker ticket:",n.matchmaker_ticket.ticket),this.currentMatchmakerTicket=n.matchmaker_ticket.ticket),n.matchmaker_matched&&(console.log("[NakamaManager] Matchmaker matched:",n.matchmaker_matched),this.currentMatchmakerTicket=null,this.listeners.onmatchmakermatched&&this.listeners.onmatchmakermatched(n.matchmaker_matched)),n.match_data){const m=n.match_data;if(m.data)try{const S=Uint8Array.from(atob(m.data),h=>h.charCodeAt(0)),x=new TextDecoder("utf-8").decode(S);m.parsedData=JSON.parse(x)}catch(S){console.warn("[NakamaManager] Failed to decode match data:",S),m.parsedData=m.data}this.listeners.onmatchdata&&this.listeners.onmatchdata(m)}n.match_presence_event&&(console.log("[NakamaManager] Match presence event:",n.match_presence_event),this.listeners.onmatchpresence&&this.listeners.onmatchpresence(n.match_presence_event)),n.match&&(console.log("[NakamaManager] Match joined:",n.match),this.matchId=n.match.match_id)}catch(n){console.error("[NakamaManager] Failed to parse message:",n,y)}}async findMatch(y=2,n=4,m="minesweeper"){const S=this._parseGameTypeFromToken(this.gameToken)||m;console.log("[NakamaManager] Finding match:",{minCount:y,maxCount:n,resolvedGameType:S}),this._matchmakerCancelled=!1;const x=()=>{const h={matchmaker_add:{min_count:y,max_count:n,query:`+properties.game_type:${S}`,string_properties:{game_token:this.gameToken||"",game_type:S}}};this.externalUserId&&(h.matchmaker_add.string_properties.uid=this.externalUserId),this.customId&&(h.matchmaker_add.string_properties.custom_id=this.customId),console.log("[NakamaManager] Sending matchmaker_add"),this.sendMessage(h)};return x(),new Promise((h,d)=>{const t=setTimeout(()=>{this._matchmakerCancelled=!0,clearInterval(e),d(new Error("Matchmaker timeout"))},6e4),e=setInterval(()=>{if(this._matchmakerCancelled){clearInterval(e);return}console.log("[NakamaManager] Re-submitting matchmaker ticket (server expires after 5s)"),x()},6e3),l=this.listeners.onmatchmakermatched;this.listeners.onmatchmakermatched=i=>{this._matchmakerCancelled=!0,clearTimeout(t),clearInterval(e),this.listeners.onmatchmakermatched=l,l&&l(i),h(i)}})}cancelMatchmaking(){if(this._matchmakerCancelled=!0,this.currentMatchmakerTicket){const y={matchmaker_remove:{ticket:this.currentMatchmakerTicket}};this.sendMessage(y),this.currentMatchmakerTicket=null}console.log("[NakamaManager] Matchmaking cancelled")}async joinMatch(y,n=null){console.log("[NakamaManager] Joining match:",y,"with token:",!!n);const m={match_join:{metadata:{game_token:this.gameToken}}};this.externalUserId&&(m.match_join.metadata.uid=this.externalUserId),this.customId&&(m.match_join.metadata.custom_id=this.customId),n?m.match_join.token=n:m.match_join.match_id=y;const S=await this._sendWithCid(m);if(S.match)return this.matchId=S.match.match_id,console.log("[NakamaManager] Joined match:",this.matchId),S.match;throw new Error("Join match failed: no match in response")}leaveMatch(){if(!this.matchId)return;const y={match_leave:{match_id:this.matchId}};this.sendMessage(y),this.matchId=null,this.matchToken=null,console.log("[NakamaManager] Left match")}sendMatchState(y,n,m){const S=typeof m=="string"?m:JSON.stringify(m),x=btoa(unescape(encodeURIComponent(S))),h={match_data_send:{match_id:y,op_code:n.toString(),data:x}};console.log("[NakamaManager] Sending match state:",{opCode:n,data:m}),this.sendMessage(h)}async rpc(y,n={}){const m=await this._sendWithCid({rpc:{id:y,payload:JSON.stringify(n)}});if(m.rpc&&m.rpc.payload)try{return JSON.parse(m.rpc.payload)}catch{return m.rpc.payload}return m}async listMatches(y="minesweeper"){if(!this.session||!this.session.token)throw new Error("No valid session");const S=`${`${this.useSSL?"https":"http"}://${this.host}:${this.port}`}/v2/match?limit=20&authoritative=true&label=${encodeURIComponent(y)}`,x=await fetch(S,{headers:{Authorization:`Bearer ${this.session.token}`}});if(!x.ok)throw new Error(`List matches failed: ${x.status}`);return(await x.json()).matches||[]}async joinChat(y,n=1,m=!1,S=!1){const x={channel_join:{target:y,type:n,persistence:m,hidden:S}};return this.sendMessage(x),console.log("[NakamaManager] Joining chat:",y),{target:y,type:n}}get isConnected(){return this.connectionState===ee.CONNECTED}get isConnecting(){return this.connectionState===ee.CONNECTING}get userId(){return this.session?.user_id||null}_parseGameTypeFromToken(y){try{if(!y)return null;const n=y.split(".");if(n.length!==3)return null;const m=n[1].replace(/-/g,"+").replace(/_/g,"/"),S=m+"==".slice(0,(4-m.length%4)%4),x=Uint8Array.from(atob(S),d=>d.charCodeAt(0));return JSON.parse(new TextDecoder().decode(x)).game_type||null}catch{return null}}}const Dt=new cr,ls="https://game.1024tool.vip";function us(){if(typeof window>"u")return!0;const{hostname:E}=window.location;return E==="localhost"||E==="127.0.0.1"||E==="0.0.0.0"||E.includes("oicp.vip")}const pr=us()?"/api/app":`${ls}/api/app`;let mr={baseUrl:pr};function gr(){const E=localStorage.getItem("user_info");if(E)try{const y=JSON.parse(E);return y.token||y.authToken||null}catch(y){console.error("[API] Failed to parse user info:",y)}return null}async function xr(E){const y=gr(),n={"Content-Type":"application/json",...E.headers};y&&(n.Authorization=`Bearer ${y}`);const m=E.url.startsWith("http")?E.url:`${mr.baseUrl}${E.url}`;try{const S=await fetch(m,{method:E.method||"GET",headers:n,body:E.data?JSON.stringify(E.data):null});if(!S.ok){let h=`HTTP Error: ${S.status}`;try{const d=await S.json();h=d.message||d.error||h}catch{}throw new Error(h)}return await S.json()}catch(S){throw console.error("[API] Request failed:",S),S}}async function yr(E="minesweeper"){return await xr({url:"/games/enter",method:"POST",data:{game_code:E}})}async function Tr(){const E=us()?"/api/internal/game/minesweeper/config":`${ls}/api/internal/game/minesweeper/config`;try{const y=await fetch(E,{headers:{"X-Internal-Key":"bindbox-internal-secret-2024"}});if(!y.ok){const m=await y.text();throw new Error(`getGameConfig failed: ${y.status} - ${m}`)}return await y.json()}catch(y){throw console.error("[API] getGameConfig failed:",y),y}}function Sr(E){localStorage.setItem("user_info",JSON.stringify(E))}function Cr(){const E=localStorage.getItem("user_info");if(E)try{return JSON.parse(E)}catch{return null}return null}function Er(){return{id:`user_${Date.now()}_${Math.random().toString(36).substring(2,8)}`,name:`玩家${Math.floor(Math.random()*1e4)}`,token:"mock_token_"+Math.random().toString(36).substring(2)}}const xi=typeof wx<"u"&&wx.miniProgram,Je={isInWx:xi,postMessage(E){if(xi)try{wx.miniProgram.postMessage({data:E})}catch(y){console.warn("[WxBridge] postMessage failed:",y)}},navigateBack(){if(xi)try{wx.miniProgram.navigateBack()}catch(E){console.warn("[WxBridge] navigateBack failed:",E)}},notifyGameOver(E){this.postMessage({action:"game_over",...E})},notifyPlayAgain(){this.postMessage({action:"playAgain"}),this.navigateBack()},notifyClose(){this.postMessage({action:"close"}),this.navigateBack()}},ie={IDLE:"idle",MATCHING:"matching",MATCHED:"matched",ERROR:"error"};class Ar extends ce{constructor(){super({key:"LobbyScene"})}init(y){this.matchPlayerCount=4,this.matchState=ie.IDLE,this.matchingTime=0,this.matchingTimer=null,this.userInfo=Cr(),_t.isWebView?(this.gameMode=_t.gameMode,this.gameToken=_t.gameToken,this.nakamaServer=_t.nakamaServer,this.nakamaKey=_t.nakamaKey,this.stableUserId=_t.uid||null,this.pendingMatchId=_t.matchId||null,this.isSpectator=_t.isSpectator||!1,this.pendingScene=_t.scene||null):(this.gameMode=y.mode||"minesweeper",this.autoMatch=y.autoMatch||!1,this.gameToken=null,this.nakamaServer=null,this.nakamaKey=null,this.stableUserId=null,this.pendingMatchId=null,this.isSpectator=!1,this.pendingScene=null)}create(){const{width:y,height:n}=this.cameras.main;this._drawBackground(y,n),this._drawTitle(y),this._drawInfoCards(y,n),this._drawMatchArea(y,n),this.configReadyPromise=this.fetchGameConfig(),this.userInfo||(this.userInfo=Er(),Sr(this.userInfo)),this.initGame()}getAuthExternalUserId(){return _t.isWebView?this.stableUserId||null:this.userInfo?this.userInfo.id:null}getAuthNickname(){return _t.isWebView?_t.nickname||null:this.userInfo?this.userInfo.name:null}_drawBackground(y,n){this.add.rectangle(y/2,n/2,y,n,527380);const m=this.add.graphics();m.fillStyle(1715786,.6);const S=40;for(let d=S;d{this._infoCardTexts[1].setText(i.replace("匹配人数: ","").replace("人"," 人"))}},this._onlineCountText=this._infoCardTexts[2]}_drawMatchArea(y,n){const S=n-140-8,x=140+S,h=this.add.graphics();h.fillStyle(726050,1),h.fillRoundedRect(12,140,y-24,S,12),h.lineStyle(1,1981020,1),h.strokeRoundedRect(12,140,y-24,S,12),h.fillStyle(991296,1),h.fillRoundedRect(12,140,y-24,44,{tl:12,tr:12,bl:0,br:0}),this.add.text(y/2,162,"匹 配 中 心",{fontSize:"24px",color:"#4a7aaa",letterSpacing:4}).setOrigin(.5);const d=this.add.text(y-20,162,"🏆",{fontSize:"34px"}).setOrigin(1,.5).setInteractive({useHandCursor:!0});d.on("pointerover",()=>d.setAlpha(.8)),d.on("pointerout",()=>d.setAlpha(1)),d.on("pointerdown",()=>{this.scene.launch("LeaderboardScene",{gameType:this.gameMode}),this.scene.pause()});const t=184,l=t+160;this.matchStatusText=this.add.text(y/2,t+36,"准备就绪,点击下方按钮开始匹配",{fontSize:"26px",fontStyle:"bold",color:"#c0d8f0"}).setOrigin(.5),this.matchingTimeText=this.add.text(y/2,t+100,"",{fontSize:"64px",fontStyle:"bold",color:"#38bdf8"}).setOrigin(.5),this.matchSpinner=this.add.text(y/2,t+100,"",{fontSize:"48px"}).setOrigin(.5).setVisible(!1);const i=this.add.graphics();i.lineStyle(1,1981020,.6),i.beginPath(),i.moveTo(24,l),i.lineTo(y-24,l),i.strokePath();const s=80,r=x-s/2-14,o=y-56,a=l+6,f=r-s/2-10-a,v=this.add.graphics();v.fillStyle(396826,1),v.fillRoundedRect(24,a,y-48,f,6),v.lineStyle(1,1385781,1),v.strokeRoundedRect(24,a,y-48,f,6),v.fillStyle(1985146,1),v.fillRoundedRect(24,a,3,f,{tl:6,tr:0,bl:6,br:0}),this.add.text(36,a+10,"› 通讯日志",{fontSize:"22px",color:"#3a6a9a",letterSpacing:1}),this.logText=this.add.text(36,a+38,"",{fontSize:"24px",color:"#4a7aaa",wordWrap:{width:y-76},lineSpacing:8}),this.logs=[],this._matchBtnGraphics=this.add.graphics(),this._drawMatchButton(y/2,r,o,s,!1),this._matchBtnHitArea=this.add.rectangle(y/2,r,o,s,0,0).setInteractive({useHandCursor:!0}),this.matchButtonText=this.add.text(y/2,r,"🚀 开始匹配",{fontSize:"36px",fontStyle:"bold",color:"#7ab8f5"}).setOrigin(.5),this._matchBtnHitArea.on("pointerover",()=>{(this.matchState===ie.IDLE||this.matchState===ie.ERROR)&&(this._matchBtnGraphics.clear(),this._drawMatchButton(y/2,r,o,s,!0))}),this._matchBtnHitArea.on("pointerout",()=>{this._matchBtnGraphics.clear(),this._drawMatchButton(y/2,r,o,s,!1)}),this._matchBtnHitArea.on("pointerdown",()=>this.toggleMatchmaking()),this._btnW=o,this._btnH=s,this._btnY=r,this._btnCX=y/2}_drawMatchButton(y,n,m,S,x){this.matchState===ie.MATCHING?(this._matchBtnGraphics.fillStyle(8330525,1),this._matchBtnGraphics.fillRoundedRect(y-m/2,n-S/2,m,S,12),this._matchBtnGraphics.lineStyle(2,15680580,1),this._matchBtnGraphics.strokeRoundedRect(y-m/2,n-S/2,m,S,12)):this.matchState===ie.ERROR?(this._matchBtnGraphics.fillStyle(7877903,1),this._matchBtnGraphics.fillRoundedRect(y-m/2,n-S/2,m,S,12),this._matchBtnGraphics.lineStyle(2,16096779,1),this._matchBtnGraphics.strokeRoundedRect(y-m/2,n-S/2,m,S,12)):this.matchState===ie.MATCHED?(this._matchBtnGraphics.fillStyle(1332013,1),this._matchBtnGraphics.fillRoundedRect(y-m/2,n-S/2,m,S,12),this._matchBtnGraphics.lineStyle(2,2278750,1),this._matchBtnGraphics.strokeRoundedRect(y-m/2,n-S/2,m,S,12)):(this._matchBtnGraphics.fillStyle(x?1985146:994640,1),this._matchBtnGraphics.fillRoundedRect(y-m/2,n-S/2,m,S,12),this._matchBtnGraphics.lineStyle(2,x?6333946:3718648,1),this._matchBtnGraphics.strokeRoundedRect(y-m/2,n-S/2,m,S,12))}_drawLogArea(y,n){}_drawBackButton(y,n){}createConnectionIndicator(y,n){}updateConnectionState(y){const n={[ee.DISCONNECTED]:6710886,[ee.CONNECTING]:16763904,[ee.CONNECTED]:65416,[ee.RECONNECTING]:16750916},m={[ee.DISCONNECTED]:"未连接",[ee.CONNECTING]:"连接中...",[ee.CONNECTED]:"已连接",[ee.RECONNECTING]:"重连中..."};this.connectionDot&&this.connectionDot.setFillStyle(n[y]||6710886),this.connectionText&&this.connectionText.setText(m[y]||"未知")}createMatchPanel(y,n){}createBackButton(y,n){}createLogPanel(y,n){}addLog(y,n="info"){const m=new Date().toLocaleTimeString("zh-CN",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),S=28,x=y.length>S?y.slice(0,S)+"…":y;this.logs.push(`${m} ${x}`),this.logs.length>12&&this.logs.shift(),this.logText&&this.logText.setText(this.logs.join(` +`))}async fetchGameConfig(){try{const y=await Tr();this.matchPlayerCount=y.match_player_count||4,this.playerCountText.setText(`匹配人数: ${this.matchPlayerCount}人`),this.addLog(`游戏配置: ${this.matchPlayerCount}人匹配`)}catch(y){this.matchPlayerCount=4,this.playerCountText.setText(`匹配人数: ${this.matchPlayerCount}人`),this.addLog(`获取配置失败,回退${this.matchPlayerCount}人: ${y.message}`,"warn")}}async initGame(){this.addLog("正在初始化游戏...");try{if(!_t.isWebView){const n=await yr(this.gameMode);this.gameToken=n.game_token,this.nakamaServer=n.nakama_server,this.nakamaKey=n.nakama_key}this.addLog(`服务器: ${this.nakamaServer}`),Dt.initClient(this.nakamaServer,this.nakamaKey),this.setupNakamaListeners(),this.addLog("正在认证...");const y=await Dt.authenticateWithGameToken(this.gameToken,this.getAuthExternalUserId(),this.getAuthNickname());if(this.addLog(`认证成功,用户ID: ${y.user_id}`),this.addLog("正在连接服务器..."),await Dt.connect(),this.addLog("连接成功!"),this.updateConnectionState(ee.CONNECTED),Dt.joinChat("minesweeper_lobby",1,!0,!1).catch(()=>{}),this.startOnlineCountPolling(),!this.isSpectator&&!this.pendingMatchId&&!this.pendingScene&&!this.autoMatch&&await this.findMyMatch())return;if(this.pendingMatchId){this.addLog(`加入指定房间: ${this.pendingMatchId}`);try{await Dt.joinMatch(this.pendingMatchId),this.addLog("已加入房间,等待游戏状态..."),setTimeout(()=>{Dt.sendMatchState(Dt.matchId,ae.REQUEST_STATE,{action:"getState"})},500)}catch(n){this.addLog(`加入房间失败: ${n.message}`)}return}if(this.pendingScene==="room-list"){this.addLog("正在获取房间列表..."),this.showRoomList();return}if(this.pendingScene==="leaderboard"){this.scene.launch("LeaderboardScene",{gameType:this.gameMode}),this.scene.pause();return}if(this.autoMatch){this.addLog("自动开始匹配..."),this.startMatchmaking();return}}catch(y){this.addLog(`初始化失败: ${y.message}`),this.matchState=ie.ERROR,this.updateMatchUI()}}async showRoomList(){const{width:y,height:n}=this.cameras.main;this.matchStatusText.setText("房间列表"),this._matchBtnGraphics&&this._matchBtnGraphics.setVisible(!1),this._matchBtnHitArea&&this._matchBtnHitArea.setVisible(!1),this.matchButtonText&&this.matchButtonText.setVisible(!1),this.matchingTimeText&&this.matchingTimeText.setVisible(!1),this.add.rectangle(y/2,n/2-50,560,320,1714746,.95).setStrokeStyle(2,65416),this.add.text(y/2,n/2-195,"当前对战房间",{fontSize:"20px",fontStyle:"bold",color:"#00ff88"}).setOrigin(.5);const m=this.add.text(y/2,n/2-50,"正在加载...",{fontSize:"18px",color:"#a0aec0"}).setOrigin(.5);try{const S=await Dt.listMatches(this.gameMode);if(m.destroy(),!S||S.length===0){this.add.text(y/2,n/2-50,"暂无进行中的对战",{fontSize:"18px",color:"#718096"}).setOrigin(.5);return}S.slice(0,5).forEach((x,h)=>{const d=n/2-150+h*52,t=`房间 ${h+1} 玩家: ${x.size}/${x.max_size||4}`,e=this.add.rectangle(y/2,d,520,44,2963272).setStrokeStyle(1,4871528).setInteractive({useHandCursor:!0});this.add.text(y/2-200,d,t,{fontSize:"16px",color:"#e2e8f0"}).setOrigin(0,.5),this.add.text(y/2+160,d,"围观",{fontSize:"16px",color:"#00ff88",backgroundColor:"#1a3a2a",padding:{x:10,y:4}}).setOrigin(.5).setInteractive({useHandCursor:!0}).on("pointerdown",()=>{this.pendingMatchId=x.match_id,this.isSpectator=!0,Dt.joinMatch(x.match_id).then(()=>{setTimeout(()=>{Dt.sendMatchState(Dt.matchId,ae.REQUEST_STATE,{action:"getState"})},500)}).catch(i=>this.addLog(`围观失败: ${i.message}`))})})}catch(S){m.setText(`获取房间列表失败: ${S.message}`)}}setupNakamaListeners(){Dt.setListeners({onconnectionstatechange:y=>{this.updateConnectionState(y)},onmatchmakermatched:async y=>{this.addLog(`匹配成功!房间ID: ${y.match_id}`),this.matchState=ie.MATCHED,this.updateMatchUI();const n=3;for(let m=0;m{Dt.sendMatchState(Dt.matchId,ae.REQUEST_STATE,{action:"getState"})},500);return}catch(S){this.addLog(`加入房间失败(${m+1}/${n}): ${S.message}`),msetTimeout(x,1e3))}this.matchState=ie.ERROR,this.updateMatchUI()},onmatchdata:y=>{this.handleMatchData(y)},onmatchpresence:y=>{y.joins&&y.joins.length>0&&y.joins.forEach(n=>{this.addLog(`${n.username||"玩家"} 加入了房间`)}),y.leaves&&y.leaves.length>0&&y.leaves.forEach(n=>{this.addLog(`${n.username||"玩家"} 离开了房间`)})},ondisconnect:async y=>{this.addLog("连接断开,尝试重连..."),this.updateConnectionState(ee.DISCONNECTED);try{await this.reconnect()}catch(n){this.addLog(`重连失败: ${n.message}`)}},onerror:y=>{this.addLog(`连接错误: ${y}`),console.error("[LobbyScene] Error details:",y)}})}handleMatchData(y){const n=parseInt(y.op_code),m=y.parsedData;switch(console.log("[LobbyScene] Match data:",{opCode:n,data:m}),n){case ae.GAME_START:this.addLog("游戏开始!正在进入战场..."),this.startOnlineBattle(m);break;case ae.STATE_UPDATE:m&&m.gameStarted&&this.startOnlineBattle(m);break;default:console.log("[LobbyScene] Unhandled opcode:",n)}}startOnlineBattle(y){this.stopMatchingTimer(),this.stopOnlineCountPolling(),this.scene.start("OnlineBattleScene",{matchId:Dt.matchId,gameToken:this.gameToken,nakamaServer:this.nakamaServer,nakamaKey:this.nakamaKey,userId:Dt.userId,initialState:y,gameMode:this.gameMode,isSpectator:this.isSpectator})}async reconnect(){try{Dt.session||await Dt.authenticateWithGameToken(this.gameToken,this.getAuthExternalUserId()),await Dt.connect(),this.currentMatchId&&(await Dt.joinMatch(this.currentMatchId),Dt.sendMatchState(Dt.matchId,ae.REQUEST_STATE,{action:"getState"})),this.addLog("重连成功!")}catch(y){throw y}}toggleMatchmaking(){switch(this.matchState){case ie.IDLE:case ie.ERROR:this.startMatchmaking();break;case ie.MATCHING:this.cancelMatchmaking();break}}async startMatchmaking(){if(!Dt.isConnected){this.addLog("未连接服务器,正在重连...");try{await Dt.connect()}catch(y){this.addLog(`连接失败: ${y.message}`);return}}this.configReadyPromise&&await this.configReadyPromise,this.matchState=ie.MATCHING,this.matchingTime=0,this.updateMatchUI(),this.startMatchingTimer(),this.addLog(`开始匹配 (${this.matchPlayerCount}人场)...`);try{await Dt.findMatch(this.matchPlayerCount,this.matchPlayerCount,this.gameMode)}catch(y){this.addLog(`匹配失败: ${y.message}`),this.matchState=ie.ERROR,this.stopMatchingTimer(),this.updateMatchUI()}}cancelMatchmaking(){Dt.cancelMatchmaking(),this.matchState=ie.IDLE,this.stopMatchingTimer(),this.updateMatchUI(),this.addLog("已取消匹配")}startMatchingTimer(){this.matchingTimer=this.time.addEvent({delay:1e3,callback:()=>{this.matchingTime++,this.updateMatchingTimeDisplay()},loop:!0})}stopMatchingTimer(){this.matchingTimer&&(this.matchingTimer.remove(),this.matchingTimer=null),this.matchingTime=0,this.matchingTimeText.setText("")}updateMatchingTimeDisplay(){const y=Math.floor(this.matchingTime/60),n=this.matchingTime%60;this.matchingTimeText.setText(`${y.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`),this.matchingTime<=30?this.matchStatusText.setText("正在寻找对手..."):this.matchingTime<=60?this.matchStatusText.setText("继续搜索中..."):this.matchStatusText.setText("等待时间较长,建议重试")}updateMatchUI(){switch(this._matchBtnGraphics&&(this._matchBtnGraphics.clear(),this._drawMatchButton(this._btnCX,this._btnY,this._btnW,this._btnH,!1)),this.matchState){case ie.IDLE:this.matchButtonText&&this.matchButtonText.setText("🚀 开始匹配").setColor("#7ab8f5"),this.matchStatusText&&this.matchStatusText.setText("准备就绪,点击下方按钮开始匹配");break;case ie.MATCHING:this.matchButtonText&&this.matchButtonText.setText("✖ 取消匹配").setColor("#fca5a5"),this.matchStatusText&&this.matchStatusText.setText("正在寻找对手...");break;case ie.MATCHED:this.matchButtonText&&this.matchButtonText.setText("✓ 匹配成功").setColor("#86efac"),this.matchStatusText&&this.matchStatusText.setText("匹配成功!正在进入游戏...");break;case ie.ERROR:this.matchButtonText&&this.matchButtonText.setText("⚠ 点击重试").setColor("#fcd34d"),this.matchStatusText&&this.matchStatusText.setText("发生错误,请重试");break}}startOnlineCountPolling(){this.stopOnlineCountPolling(),this._pollOnlineCount(),this.onlineCountTimer=setInterval(()=>{this._pollOnlineCount()},5e3)}stopOnlineCountPolling(){this.onlineCountTimer&&(clearInterval(this.onlineCountTimer),this.onlineCountTimer=null)}async _pollOnlineCount(){try{const y=await Dt.rpc("get_online_count",{}),n=y?.online_count??y?.count;n!==void 0&&this._onlineCountText&&this._onlineCountText.setText(`${n} 人`)}catch{}}async findMyMatch(){try{const y=await Dt.rpc("find_my_match",{});if(y&&y.match_id)return this.addLog("发现进行中的对局,正在重新加入..."),await Dt.joinMatch(y.match_id),setTimeout(()=>{Dt.sendMatchState(Dt.matchId,ae.REQUEST_STATE,{action:"getState"})},500),!0}catch{}return!1}exitLobby(){this.matchState===ie.MATCHING&&Dt.cancelMatchmaking(),this.stopOnlineCountPolling(),Dt.disconnect(),_t.isWebView?Je.notifyClose():this.scene.start("MenuScene")}}const Wi={medkit:"💊",time_bomb:"💣",poison:"☠️",shield:"🛡️",good_card:"🃏",magnifier:"🔍",dagger:"🗡️",resurrection:"👼",lightning:"⚡",chest:"🎁",curse:"👻"},Mr={dog:"🐶",elephant:"🐘",tiger:"🐯",monkey:"🐵",sloth:"🦥",hippo:"🦛",cat:"🐱",chicken:"🐔"};class Rr extends ce{constructor(){super({key:"OnlineBattleScene"})}init(y){this.matchId=y.matchId,this.gameToken=y.gameToken,this.nakamaServer=y.nakamaServer,this.nakamaKey=y.nakamaKey,this.myUserId=y.userId,this.initialState=y.initialState,this.gameMode=y.gameMode||"minesweeper",this.gameState=null,this.isSpectator=y.isSpectator||!1,this.tileSize=70,this.boardOffsetX=0,this.boardOffsetY=220,this.cellTiles=[],this.cellTexts=[],this.revealedCells=new Set,this.playerInfoContainers=[],this.logMessages=[],this.playerMarks={},this.flaggedCells=new Set,this.currentSpineAnimation=null,this._gameOverHandled=!1,this._gameOverTimer=null,this._resultSceneLaunched=!1,this._inactivityTimer=null,this._lastDamageApplied={}}create(){const{width:y,height:n}=this.cameras.main;this.add.rectangle(y/2,n/2,y,n,1712172),this.initializeBGM(),this.createBattleUI(y,n),this.setupNakamaListeners(),this.initialState?this.handleGameState(this.initialState):Dt.matchId&&Dt.sendMatchState(Dt.matchId,ae.REQUEST_STATE,{action:"getState"}),this.setupInput()}createBattleUI(y,n){this.turnIndicator=this.add.rectangle(y/2,40,y-120,60,2963272).setStrokeStyle(2,4871528),this.turnText=this.add.text(y/2,40,"等待游戏开始...",{fontSize:"24px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5),this.createLogButton(50,40),this.createBGMButton(y-50,40),this.createPlayerPanel(20,110,y-40),this.boardContainer=this.add.container(0,this.boardOffsetY),this.createInlineLogPanel(y,n),this.createBottomBar(y,n),this.turnTimer=15,this.turnTimerText=this.add.text(y/2,75,"15",{fontSize:"28px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5).setVisible(!1)}createLogButton(y,n){const m=this.add.container(y,n),S=this.add.circle(0,0,28,2963272).setStrokeStyle(3,4871528).setInteractive({useHandCursor:!0}),x=this.add.text(0,0,"📚",{fontSize:"28px"}).setOrigin(.5);m.add([S,x]),S.on("pointerover",()=>{S.setFillStyle(4871528),S.setScale(1.1)}),S.on("pointerout",()=>{S.setFillStyle(2963272),S.setScale(1)}),S.on("pointerdown",()=>this.openLogScene())}openLogScene(){this.scene.stop("LogScene"),this.scene.launch("LogScene",{logMessages:this.logMessages,fromScene:"OnlineBattleScene"}),this.scene.pause()}createPlayerPanel(y,n,m){this.playerPanelBg=this.add.rectangle(y+m/2,n+90/2,m,90,2963272,.9).setStrokeStyle(2,4871528),this.playerPanelX=y,this.playerPanelY=n,this.playerPanelWidth=m,this.playerPanelHeight=90,this.playerInfoContainers=[]}createInlineLogPanel(y,n){const m=this.boardOffsetY+this.tileSize*10;this._buildInlineLogPanel(y,n,m)}repositionInlineLog(){if(!this.inlineLogTexts)return;const{width:y,height:n}=this.cameras.main,m=this.boardOffsetY+(this.gridSize||10)*this.tileSize;this._inlineLogBg&&this._inlineLogBg.destroy(),this.inlineLogTexts.forEach(S=>S.destroy()),this.inlineLogTexts=[],this._buildInlineLogPanel(y,n,m),this.updateInlineLog()}_buildInlineLogPanel(y,n,m){const S=n-120,x=Math.max(40,S-m-8),h=m+x/2+4;this.inlineLogPanel={x:y/2,y:h,width:y-20,height:x,maxLines:Math.max(1,Math.floor(x/22))},this._inlineLogBg=this.add.rectangle(y/2,h,y-20,x,1712172,.85).setStrokeStyle(1,2963272).setDepth(5),this.inlineLogTexts=[];for(let d=0;d{const x=n[S]||"",h=S===n.length-1&&x;m.setText(x),m.setColor(h?"#ffffff":"#718096")})}createBottomBar(y,n){const S=n-60;this._bottomBarY=S,this._bottomBarH=120,this.add.rectangle(y/2,S,y,120,1975862).setStrokeStyle(2,3820124).setDepth(20),this.add.text(20,S-120/2+8,"道具栏",{fontSize:"20px",color:"#6b8aaa"}).setDepth(21),this.itemContainer=this.add.container(20,S+10).setDepth(22)}setupNakamaListeners(){Dt.setListeners({onmatchdata:y=>this.handleMatchData(y),onmatchpresence:y=>{y.joins&&y.joins.forEach(n=>this.addLog(`${n.username||"玩家"} 加入了房间`)),y.leaves&&y.leaves.forEach(n=>this.addLog(`${n.username||"玩家"} 离开了房间`))},ondisconnect:async()=>{this.addLog("连接断开,尝试重连...");try{await this.reconnect()}catch(y){this.addLog(`重连失败: ${y.message}`),this.showDisconnectOverlay()}}})}handleMatchData(y){const n=parseInt(y.op_code),m=y.parsedData;switch(console.log("[OnlineBattleScene] Match data:",{opCode:n,data:m}),n){case ae.GAME_START:this.handleGameState(m),this.addLog("游戏开始!");break;case ae.STATE_UPDATE:this.handleGameState(m);break;case ae.GAME_EVENT:this.handleGameEvent(m);break;case ae.GAME_END:this.handleGameEnd(m);break}this._resetInactivityTimer()}_resetInactivityTimer(){this._gameOverHandled||(this._inactivityTimer&&this._inactivityTimer.remove(),this._inactivityTimer=this.time.delayedCall(2e4,()=>{this._gameOverHandled||!Dt.isConnected||Dt.matchId&&Dt.sendMatchState(Dt.matchId,ae.REQUEST_STATE,{action:"getState"})}))}handleGameState(y){const n=this.gameState;if(this.gameState=y,!n&&y.grid&&this.createBoard(y.gridSize||8),y.grid&&this.updateBoard(y.grid),y.players){this._detectStateChanges(n?.players,y.players),this.updatePlayersDisplay(y.players,y.turnOrder),this.checkAndSwitchBGM(y.players),this.checkClientSideGameOver(y.players,y.turnOrder);const m=y.players[this.myUserId];m&&this.updateItemBar(m)}if(y.currentTurnIndex!==void 0&&y.turnOrder){const m=y.turnOrder[y.currentTurnIndex],S=y.players[m],x=m===this.myUserId,h=y.round||1;S&&(x?(this.turnText.setText(`第${h}回合 - 你的回合!`),this.turnText.setColor("#00ff88")):(this.turnText.setText(`第${h}回合 - ${this.getDisplayName(S,y.currentTurnIndex)}`),this.turnText.setColor("#ffffff")))}y.turnDuration&&(this.turnTimer=y.turnDuration,this.turnTimerText.setVisible(!0),this.startTurnTimer(y.serverTime,y.lastMoveTimestamp,y.turnDuration))}createBoard(y){this.gridSize=y,this.cellTiles=[],this.cellTexts=[],this.revealedCells=new Set,this.boardContainer.removeAll(!0);const{width:n}=this.cameras.main,m=y*this.tileSize,S=y*this.tileSize;this.boardOffsetX=(n-m)/2,this.boardContainer.setPosition(this.boardOffsetX,this.boardOffsetY);const x=this.add.rectangle(m/2,S/2,m+4,S+4,988448);if(this.boardContainer.add(x),this.textures.exists("background")){const h=this.add.image(m/2,S/2,"background").setDisplaySize(m,S);this.boardContainer.add(h)}for(let h=0;h{const S=this.cellTiles[m];if(S)if(n.revealed){const x=!this.revealedCells.has(m);switch(x&&this.revealedCells.add(m),S.disableInteractive(),n.type){case"bomb":this.textures.exists("bomb")&&S.setTexture?(S.setTexture("bomb"),S.setDisplaySize(this.tileSize-4,this.tileSize-4)):(S.setFillStyle&&S.setFillStyle(16729156),this.setCellText(m,"💣",Math.floor(this.tileSize*.5)));break;case"item":S.setTexture&&this.textures.exists("tile")&&(S.setTexture("tile"),S.setDisplaySize(this.tileSize-2,this.tileSize-2));const h=Wi[n.itemId]||"🎁";this.setCellText(m,h,32);break;case"empty":S.setTexture&&this.textures.exists("tile")&&(S.setTexture("tile"),S.setDisplaySize(this.tileSize-2,this.tileSize-2)),S.setTint?S.setTint(7438486):S.setFillStyle&&S.setFillStyle(7438486),n.neighborBombs>0&&this.setCellText(m,n.neighborBombs.toString(),48,this.getNumberColor(n.neighborBombs));break}if(x){const h=S.scaleX,d=S.scaleY;this.tweens.add({targets:S,scaleX:{from:h*.5,to:h},scaleY:{from:d*.5,to:d},duration:200,ease:"Back.easeOut"})}}else S.setTexture&&this.textures.exists("tile")?(S.setTexture("tile"),S.setDisplaySize(this.tileSize-2,this.tileSize-2),S.clearTint()):S.setFillStyle&&S.setFillStyle(4871528),this.setCellText(m,"",0)})}setCellText(y,n,m,S="#ffffff"){if(this.cellTexts[y]&&this.cellTexts[y].destroy(),!n){this.cellTexts[y]=null;return}const x=y%this.gridSize*this.tileSize+this.tileSize/2,h=Math.floor(y/this.gridSize)*this.tileSize+this.tileSize/2,d=this.add.text(x,h,n,{fontSize:`${m}px`,color:S,fontStyle:"bold"}).setOrigin(.5).setDepth(1);this.boardContainer.add(d),this.cellTexts[y]=d}getNumberColor(y){return{1:"#3b82f6",2:"#22c55e",3:"#ef4444",4:"#8b5cf6",5:"#a16207",6:"#06b6d4",7:"#000000",8:"#6b7280"}[y]||"#000000"}revealAllCells(){!this.gameState||!this.gameState.grid||(this.gameState.grid.forEach((y,n)=>{y.revealed=!0}),this.updateBoard(this.gameState.grid))}checkClientSideGameOver(y,n){if(!y||this._gameOverHandled)return;const m=Object.entries(y),S=m.filter(([x,h])=>h.hp>0);if(S.length<=1&&m.length>0){const x=S.length===1?S[0][0]:null,h=x===this.myUserId;console.log("[OnlineBattleScene] Client game over:",{winnerId:x,alive:S.length,total:m.length}),this._gameOverHandled=!0,this.logMessages.push("游戏结束!"),this.revealAllCells(),h||this.playSFX("youLoseSFX"),Je.notifyGameOver({isWinner:h,winnerId:x,matchId:this.matchId,gameMode:this.gameMode});const d=x?y[x]:null,t=y[this.myUserId],e=d?{name:this.getDisplayName(d,0),characterType:d.character,isAI:!1}:null;if(t&&!h&&(this.getDisplayName(t,0),t.character),this._resultSceneLaunched)return;this._resultSceneLaunched=!0,this._showInlineGameOver(h,e)}}_detectStateChanges(y,n){if(!(!y||!n)){for(const[m,S]of Object.entries(n)){const x=y[m];x&&(!x.curse&&S.curse&&this.addLog(`${S.username||"玩家"} 被诅咒了 👻`),!x.shield&&S.shield&&this.addLog(`${S.username||"玩家"} 获得了护盾 🛡️`),!x.poisoned&&S.poisoned&&this.addLog(`${S.username||"玩家"} 中毒了 ☠️`),x.hp>S.hp&&x.hp>0&&x.hp-S.hp>0&&!this._lastDamageApplied?.[m]&&this.playDamageEffect(m))}this._lastDamageApplied={}}}applyLocalDamage(y,n){if(!this.gameState||!this.gameState.players)return;const m=this.gameState.players[y];if(!m)return;this._lastDamageApplied||(this._lastDamageApplied={}),this._lastDamageApplied[y]=!0;let S=n;if(m.shield){m.shield=!1;return}m.character==="cat"&&(S=1),m.curse&&m.character!=="cat"?(S*=2,m.curse=!1):m.character==="cat"&&(m.curse=!1),m.hp=Math.max(0,m.hp-S),this.updatePlayersDisplay(this.gameState.players,this.gameState.turnOrder),this.checkClientSideGameOver(this.gameState.players,this.gameState.turnOrder)}getDisplayName(y,n){if(y.display_name)return y.display_name;const m=y.username||"";return m.length>8||/^[a-zA-Z0-9]{6,}$/.test(m)?`玩家${n+1}`:m||`玩家${n+1}`}updatePlayersDisplay(y,n){this.playerInfoContainers.forEach(h=>{h.bg&&h.bg.destroy(),h.avatar&&h.avatar.destroy(),h.name&&h.name.destroy(),h.hpText&&h.hpText.destroy(),h.statusIcons&&h.statusIcons.destroy(),h.deadMark&&h.deadMark.destroy()}),this.playerInfoContainers=[],n||(n=Object.keys(y));const m=this.playerPanelY,S=this.playerPanelHeight,x=this.playerPanelWidth/4;n.forEach((h,d)=>{const t=y[h];if(!t)return;const e=this.playerPanelX+d*x+x/2,l=m+S/2,i=x-2,s=S-8,r=this.gameState&&this.gameState.turnOrder&&this.gameState.turnOrder[this.gameState.currentTurnIndex]===h,o=h===this.myUserId,a=t.hp<=0,u=this.add.rectangle(e,l,i,s,o?5924216:4871528).setStrokeStyle(r?3:1,r?65416:7438486),f=Mr[t.character]||"👤",v=this.add.text(e,l+8,f,{fontSize:`${Math.floor(s*.5)}px`}).setOrigin(.5);a&&v.setTint(16729156);const c=this.getDisplayName(t,d),g=this.add.text(e,m+12,c,{fontSize:"20px",fontStyle:"bold",color:o?"#00ff88":"#ffffff",backgroundColor:"#000000",padding:{x:4,y:2}}).setOrigin(.5),p="❤️".repeat(Math.max(0,t.hp)),T="🖤".repeat(Math.max(0,(t.maxHp||3)-t.hp)),C=this.add.text(e-i/2+38,m+S-15,p+T,{fontSize:"12px",color:"#ff6b6b",fontStyle:"bold",backgroundColor:"#000000",padding:{x:4,y:2}}).setOrigin(.5);let M="";t.shield&&(M+="🛡️"),t.poisoned&&(M+="☠️"),t.curse&&(M+="💀"),t.timeBombTurns>0&&(M+="💣"),t.revive&&(M+="💊");const A=this.add.text(e+i/2-38,m+S-15,M,{fontSize:"16px",backgroundColor:"#000000",padding:{x:4,y:2}}).setOrigin(.5);let R=null;a&&(R=this.add.text(e,l,"🚫",{fontSize:`${Math.floor(Math.min(i,s)*1.2)}px`}).setOrigin(.5).setDepth(10)),this.playerInfoContainers.push({bg:u,avatar:v,name:g,hpText:C,statusIcons:A,deadMark:R,playerId:h})})}updateItemBar(y){if(!y||!y.inventory)return;this.itemContainer.removeAll(!0);const n=70,m=65;y.inventory.forEach((S,x)=>{const h=x*(n+8),d=this.add.rectangle(h+n/2,0,n,m,1715522).setStrokeStyle(2,3828378).setInteractive({useHandCursor:!0}).setData("itemId",S),t=Wi[S]||"📦",e=this.add.text(h+n/2,-4,t,{fontSize:"44px"}).setOrigin(.5);this.itemContainer.add([d,e]),d.on("pointerover",()=>d.setStrokeStyle(3,6333946)),d.on("pointerout",()=>d.setStrokeStyle(2,3828378)),d.on("pointerdown",()=>this.useItem(S))})}useItem(y){!this.isMyTurn||!Dt.matchId||Dt.sendMatchState(Dt.matchId,ae.PLAYER_CLICK,{action:"useItem",itemId:y})}handleGameEvent(y){if(y)switch(y.type){case"damage":this.addLog(`${y.playerName||"玩家"} 受到了 ${y.value} 点伤害`),this.playDamageEffect(y.playerId),y.damageSource==="lightning"&&(this.addSmokeEffect(y.playerId),this.playSpineAnimation("thunder")),this.applyLocalDamage(y.playerId,y.value);break;case"heal":this.addLog(`${y.playerName||"玩家"} 回复了 ${y.value} 点生命`),this.playHealEffect(y.playerId),this.playSpineAnimation("medkit");break;case"item":const n=Xe[y.itemId]?.name||y.itemId;this.addLog(`${y.playerName||"玩家"} 获得了 ${n}`),y.itemId==="time_bomb"&&(this.playSFX("tickSFX"),this.playSpineAnimation("timerBomb")),y.itemId==="shield"&&this.playSpineAnimation("shield"),y.itemId==="poison"&&this.playSpineAnimation("poison"),y.itemId==="dagger"&&this.playSpineAnimation("knife"),y.itemId==="good_card"&&this.playSpineAnimation("goodPerson"),y.itemId==="resurrection"&&this.playSpineAnimation("rebirth"),y.itemId==="magnifier"&&this.playSpineAnimation("magnifier"),y.itemId==="chest"&&this.playSpineAnimation("chest"),y.itemId==="curse"&&this.playSpineAnimation("curse"),y.itemId==="lightning"&&this.playSpineAnimation("thunder");break;case"ability":this.addLog(`${y.playerName||"玩家"} 触发了技能: ${y.message}`),y.character&&this.playSpineAnimation(y.character);break;case"death":this.addLog(`${y.playerName||"玩家"} 被淘汰了!`),y.playerId===this.myUserId&&this.playSFX("youLoseSFX");break;default:y.message&&this.addLog(y.message)}}handleGameEnd(y){if(this._resultSceneLaunched)return;this._gameOverHandled=!0,this._gameOverTimer&&(this._gameOverTimer.remove(),this._gameOverTimer=null),this._inactivityTimer&&(this._inactivityTimer.remove(),this._inactivityTimer=null);const n=y.winnerId,m=n===this.myUserId;this.gameState=y.gameState||this.gameState,this.revealAllCells(),m||this.playSFX("youLoseSFX"),Je.notifyGameOver({isWinner:m,winnerId:n,matchId:this.matchId,gameMode:this.gameMode});const S=this.gameState?.players||y.players||{},x=S[n],h=S[this.myUserId],d=x?{name:this.getDisplayName(x,0),characterType:x.character,isAI:!1}:null;h&&!m&&(this.getDisplayName(h,0),h.character),!this._resultSceneLaunched&&(this._resultSceneLaunched=!0,this._showInlineGameOver(m,d))}_showInlineGameOver(y,n){const{width:m,height:S}=this.cameras.main,x=200;this.add.rectangle(m/2,S/2,m,S,0,.8).setDepth(x);const h=y?"🎉 胜利!":"💀 失败",d=y?"#22c55e":"#ef4444";this.add.text(m/2,S/2-160,h,{fontSize:"80px",fontStyle:"bold",color:d,stroke:"#000000",strokeThickness:6}).setOrigin(.5).setDepth(x+1),n&&this.add.text(m/2,S/2-60,`胜者: ${n.name}`,{fontSize:"36px",color:"#fbbf24"}).setOrigin(.5).setDepth(x+1);const t=this.add.rectangle(m/2-110,S/2+60,190,70,1483594).setStrokeStyle(3,2278750).setInteractive({useHandCursor:!0}).setDepth(x+1);this.add.text(m/2-110,S/2+60,"🚀 再次匹配",{fontSize:"28px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5).setDepth(x+2),t.on("pointerover",()=>t.setFillStyle(2278750)),t.on("pointerout",()=>t.setFillStyle(1483594)),t.on("pointerdown",()=>{Dt.leaveMatch(),this.scene.start("LobbyScene",{mode:this.gameMode,autoMatch:!0})});const e=this.add.rectangle(m/2+110,S/2+60,190,70,1920728).setStrokeStyle(3,3900150).setInteractive({useHandCursor:!0}).setDepth(x+1);this.add.text(m/2+110,S/2+60,"🏠 返回大厅",{fontSize:"28px",fontStyle:"bold",color:"#ffffff"}).setOrigin(.5).setDepth(x+2),e.on("pointerover",()=>e.setFillStyle(3900150)),e.on("pointerout",()=>e.setFillStyle(1920728)),e.on("pointerdown",()=>{Dt.leaveMatch(),this.scene.start("LobbyScene",{mode:this.gameMode})})}showGameResult(y,n){const{width:m,height:S}=this.cameras.main;this.add.rectangle(m/2,S/2,m,S,0,.7).setDepth(100);const x=y?"🎉 胜利!":"💀 失败",h=y?"#00ff88":"#ff6b6b";this.add.text(m/2,S/2-50,x,{fontSize:"64px",fontStyle:"bold",color:h,stroke:"#000",strokeThickness:4}).setOrigin(.5).setDepth(101);const d=this.add.rectangle(m/2,S/2+50,200,50,4871528).setStrokeStyle(2,7438486).setInteractive({useHandCursor:!0}).setDepth(101);this.add.text(m/2,S/2+50,"返回大厅",{fontSize:"20px",color:"#ffffff"}).setOrigin(.5).setDepth(101),d.on("pointerdown",()=>{_t.isWebView?Je.notifyPlayAgain():this.scene.start("LobbyScene",{mode:this.gameMode})})}setupInput(){this.input.on("gameobjectdown",(y,n)=>{const m=n.getData("index");m!==void 0&&this.handleCellClick(m)})}handleCellClick(y){if(!this.gameState)return;if(!this.gameState.gameStarted){this.showToast("游戏尚未开始",1500);return}if(this.isSpectator){this.toggleFlag(y);return}if(this.gameState.grid[y]&&this.gameState.grid[y].revealed)return;if(this.gameState.turnOrder[this.gameState.currentTurnIndex]!==this.myUserId){this.toggleFlag(y);return}Dt.matchId&&Dt.sendMatchState(Dt.matchId,ae.PLAYER_CLICK,{index:y})}toggleFlag(y){this.flaggedCells.has(y)?this.flaggedCells.delete(y):this.flaggedCells.add(y),this.updateBoardFlags()}updateBoardFlags(){this.flagContainer?this.flagContainer.removeAll(!0):this.flagContainer=this.add.container(this.boardOffsetX,this.boardOffsetY),this.flaggedCells.forEach(y=>{if(this.gameState&&this.gameState.grid[y]&&this.gameState.grid[y].revealed){this.flaggedCells.delete(y);return}const n=y%this.gridSize*this.tileSize+this.tileSize/2,m=Math.floor(y/this.gridSize)*this.tileSize+this.tileSize/2,S=this.add.text(n,m,"🚩",{fontSize:`${Math.floor(this.tileSize*.6)}px`}).setOrigin(.5).setDepth(2);this.flagContainer.add(S)})}get isMyTurn(){return!this.gameState||!this.gameState.gameStarted?!1:this.gameState.turnOrder[this.gameState.currentTurnIndex]===this.myUserId}startTurnTimer(y,n,m){this.turnTimerEvent&&this.turnTimerEvent.remove();const S=Math.floor(Date.now()/1e3),x=y?S-y+(S-n):0;let h=Math.max(0,m-x);this.turnTimerText.setText(h.toString()),this.turnTimerText.setColor("#ffffff"),this.turnTimerEvent=this.time.addEvent({delay:1e3,callback:()=>{h--,h>=0&&(this.turnTimerText.setText(h.toString()),h<=5&&(this.turnTimerText.setColor("#ff4444"),this.playSFX("warningSFX",.3)))},loop:!0})}addLog(y){this.logMessages.push(y),this.updateInlineLog(),y.endsWith("翻开了格子")||this.showToast(y,2e3),console.log(`[OnlineBattle] ${y}`)}showToast(y,n=2e3){const{width:m}=this.cameras.main,S=this.add.container(m/2,80).setDepth(99999).setAlpha(0),x=this.add.rectangle(0,0,400,50,2963272,.9).setStrokeStyle(2,65416),h=this.add.text(0,0,y,{fontSize:"18px",fontStyle:"bold",color:"#ffffff",wordWrap:{width:380}}).setOrigin(.5);S.add([x,h]),this.tweens.add({targets:S,alpha:1,duration:200,ease:"Power2",onComplete:()=>{this.time.delayedCall(n,()=>{this.tweens.add({targets:S,alpha:0,duration:300,onComplete:()=>S.destroy()})})}})}showDisconnectOverlay(){const{width:y,height:n}=this.cameras.main;this.add.rectangle(y/2,n/2,y,n,0,.8).setDepth(100),this.add.text(y/2,n/2,"连接已断开",{fontSize:"32px",color:"#ff6b6b"}).setOrigin(.5).setDepth(101);const m=this.add.rectangle(y/2,n/2+60,150,40,4871528).setInteractive({useHandCursor:!0}).setDepth(101);this.add.text(y/2,n/2+60,"返回大厅",{fontSize:"16px",color:"#ffffff"}).setOrigin(.5).setDepth(101),m.on("pointerdown",()=>{_t.isWebView?Je.notifyClose():this.scene.start("LobbyScene",{mode:this.gameMode})})}async reconnect(){this.gameToken&&(await Dt.authenticateWithGameToken(this.gameToken,this.myUserId),await Dt.connect(),this.matchId&&(await Dt.joinMatch(this.matchId),Dt.sendMatchState(Dt.matchId,ae.REQUEST_STATE,{action:"getState"})),this.addLog("重连成功!"))}exitBattle(){this.bgm&&(this.bgm.stop(),this.bgm.destroy(),this.bgm=null),Dt.leaveMatch(),_t.isWebView?Je.notifyClose():this.scene.start("LobbyScene",{mode:this.gameMode})}shutdown(){this.bgm&&(this.bgm.stop(),this.bgm.destroy(),this.bgm=null)}initializeBGM(){if(this.bgm&&(this.bgm.stop(),this.bgm.destroy(),this.bgm=null),localStorage.getItem("bgmEnabled")!=="false")try{if(this.cache.audio.exists("battleBGM")){const n=localStorage.getItem("bgmVolume"),m=n?parseFloat(n):.1;this.bgm=this.sound.add("battleBGM",{loop:!0,volume:m}),this.bgm.play(),this.bgmEnabled=!0}else this.bgmEnabled=!1}catch{this.bgmEnabled=!1}else this.bgmEnabled=!1}createBGMButton(y,n){const m=this.add.container(y,n),S=this.add.circle(0,0,28,2963272).setStrokeStyle(3,this.bgmEnabled?65416:4871528).setInteractive({useHandCursor:!0}),x=this.add.text(0,0,this.bgmEnabled?"🎵":"🔇",{fontSize:"28px"}).setOrigin(.5);m.add([S,x]),this.bgmButton={bg:S,icon:x},S.on("pointerover",()=>{S.setFillStyle(4871528),S.setScale(1.1)}),S.on("pointerout",()=>{S.setFillStyle(2963272),S.setScale(1)}),S.on("pointerdown",()=>this.toggleBGM())}toggleBGM(){this.bgmEnabled=!this.bgmEnabled,localStorage.setItem("bgmEnabled",this.bgmEnabled.toString()),this.bgmEnabled?(this.bgm||(this.bgm=this.sound.add("battleBGM",{loop:!0,volume:.5})),this.bgm.resume(),this.addLog("🎵 BGM已开启")):(this.bgm&&this.bgm.pause(),this.addLog("🔇 BGM已关闭")),this.bgmButton&&(this.bgmButton.icon.setText(this.bgmEnabled?"🎵":"🔇"),this.bgmButton.bg.setStrokeStyle(3,this.bgmEnabled?65416:4871528))}checkAndSwitchBGM(y){if(!this.bgmEnabled||!this.bgm||!y)return;const n=y[this.myUserId];if(!n||n.hp<=0)return;const m=n.hp<=2,S=this.bgm.key==="intenseBGM";if(m&&!S&&this.cache.audio.exists("intenseBGM"))try{const x=this.bgm.volume;this.bgm.stop(),this.bgm=this.sound.add("intenseBGM",{loop:!0,volume:x}),this.bgm.play()}catch{}else if(!m&&S&&this.cache.audio.exists("battleBGM"))try{const x=this.bgm.volume;this.bgm.stop(),this.bgm=this.sound.add("battleBGM",{loop:!0,volume:x}),this.bgm.play()}catch{}}playSFX(y,n=.5){try{this.cache.audio.exists(y)&&this.sound.play(y,{volume:n})}catch{}}playDamageEffect(y){this.playSFX("smallBombSFX"),y===this.myUserId?(this.cameras.main.shake(200,.01),this.flashScreenRed()):this.flashAvatarRed(y)}playHealEffect(y){this.playSFX("healSFX")}flashScreenRed(){const{width:y,height:n}=this.cameras.main,m=this.add.graphics();m.lineStyle(20,16711680,.8),m.lineBetween(0,0,y,0),m.lineBetween(0,n,y,n),m.lineBetween(0,0,0,n),m.lineBetween(y,0,y,n),m.setDepth(9999),this.tweens.add({targets:m,alpha:0,duration:300,ease:"Power2",onComplete:()=>m.destroy()})}flashAvatarRed(y){const n=this.playerInfoContainers.find(m=>m.playerId===y);!n||!n.avatar||(n.avatar.setTint(16711680),this.tweens.add({targets:n.avatar,alpha:{from:1,to:.3},duration:150,yoyo:!0,repeat:2,onComplete:()=>{n.avatar.clearTint(),n.avatar.setAlpha(1)}}))}addSmokeEffect(y){const n=this.playerInfoContainers.find(x=>x.playerId===y);if(!n||!n.avatar)return;const m=n.avatar.x,S=n.avatar.y;for(let x=0;x<5;x++){const h=(Math.random()-.5)*40,d=(Math.random()-.5)*40,t=this.add.text(m+h,S+d,"💨",{fontSize:`${20+Math.random()*20}px`}).setOrigin(.5).setDepth(50).setAlpha(.8);this.tweens.add({targets:t,y:t.y-60-Math.random()*30,alpha:0,duration:1500,delay:x*100,onComplete:()=>t.destroy()})}}playSpineAnimation(y){this.currentSpineAnimation&&(this.currentSpineAnimation.destroy(),this.currentSpineAnimation=null);let n=y;if(typeof y=="string"&&(n=qt(y),!n))return;const{jsonKey:m,atlasKey:S,soundKey:x,scale:h=1,timeout:d=3e3}=n,{width:t,height:e}=this.cameras.main;x&&this.playSFX(x);try{if(!this.cache.json.exists(m)||!this.cache.text.exists(S))return;const l=this.boardOffsetY+(this.gridSize||8)*this.tileSize,i=l+(e-l)/2,s=this.add.spine(t/2,i,m,S);s.setScale(h),s.setDepth(100),this.currentSpineAnimation=s;const r=s.animationStateData.skeletonData.animations;if(r.length>0)s.animationState.setAnimation(0,r[0].name,!1);else{s.destroy(),this.currentSpineAnimation=null;return}s.animationState.addListener({complete:()=>{s.destroy(),this.currentSpineAnimation=null}}),this.time.delayedCall(d,()=>{s.active&&(s.destroy(),this.currentSpineAnimation=null)})}catch(l){console.error("Spine animation failed:",l),this.currentSpineAnimation=null}}}const Pr="https://game.1024tool.vip/api/app";class Lr extends ce{constructor(){super({key:"LeaderboardScene"})}init(y){this.gameType=y.gameType||"minesweeper",this.page=1,this.pageSize=10,this.totalCount=0,this.rows=[],this.rowTexts=[]}create(){const{width:y,height:n}=this.cameras.main;this.add.rectangle(y/2,n/2,y,n,0,.78).setInteractive();const m=700,S=1060,x=y/2,h=n/2,d=this.add.graphics();d.fillStyle(726050,1),d.fillRoundedRect(x-m/2,h-S/2,m,S,14),d.lineStyle(2,1981020,1),d.strokeRoundedRect(x-m/2,h-S/2,m,S,14);const t=56,e=h-S/2,l=this.add.graphics();l.fillStyle(991296,1),l.fillRoundedRect(x-m/2,e,m,t,{tl:14,tr:14,bl:0,br:0}),this.add.text(x,e+t/2,"🏆 排行榜",{fontSize:"32px",fontStyle:"bold",color:"#e2b94a"}).setOrigin(.5),this.add.text(x+m/2-36,e+t/2,"✕",{fontSize:"32px",color:"#ef4444"}).setOrigin(.5).setInteractive({useHandCursor:!0}).on("pointerdown",()=>{this.scene.stop(),this.scene.resume("LobbyScene")});const s=e+t+36;this._drawTabs(x,s,m);const r=s+44;this._drawHeader(x-m/2+16,r,m-32),this._listTop=r+36,this._listBottom=h+S/2-100,this._panelX=x,this._panelW=m,this.loadingText=this.add.text(x,this._listTop+120,"加载中...",{fontSize:"28px",color:"#4a7aaa"}).setOrigin(.5);const o=h+S/2-48;this._drawPageButtons(x,o),this._fetchLeaderboard()}_drawTabs(y,n,m){const S=[{label:"正式场",type:"minesweeper"},{label:"练习场",type:"minesweeper_free"}];this._tabBgs=[],this._tabTexts=[],S.forEach((x,h)=>{const e=y-m/2+28+h*216,l=x.type===this.gameType,i=this.add.graphics();this._drawTab(i,e,n-52/2,200,52,l),this._tabBgs.push({bg:i,x:e,y:n-52/2,w:200,h:52});const s=this.add.text(e+200/2,n,x.label,{fontSize:"26px",fontStyle:"bold",color:l?"#ffffff":"#4a7aaa"}).setOrigin(.5).setInteractive({useHandCursor:!0});this._tabTexts.push(s),s.on("pointerdown",()=>{this.gameType=x.type,this.page=1,this._refreshTabs(),this._fetchLeaderboard()})})}_drawTab(y,n,m,S,x,h){y.clear(),y.fillStyle(h?1920728:859182,1),y.fillRoundedRect(n,m,S,x,8),y.lineStyle(2,h?3900150:1981020,1),y.strokeRoundedRect(n,m,S,x,8)}_refreshTabs(){const y=["minesweeper","minesweeper_free"];this._tabBgs.forEach((n,m)=>{const S=y[m]===this.gameType;this._drawTab(n.bg,n.x,n.y,n.w,n.h,S),this._tabTexts[m].setColor(S?"#ffffff":"#4a7aaa")})}_drawHeader(y,n,m){const S=[{label:"名次",pct:.1},{label:"玩家",pct:.34},{label:"胜场",pct:.16},{label:"胜率",pct:.2},{label:"积分",pct:.2}],x=this.add.graphics();x.lineStyle(1,1981020,.5),x.beginPath(),x.moveTo(y,n+28),x.lineTo(y+m,n+28),x.strokePath();let h=y;S.forEach(d=>{this.add.text(h+m*d.pct/2,n,d.label,{fontSize:"22px",color:"#4a7aaa"}).setOrigin(.5,0),h+=m*d.pct})}_drawPageButtons(y,n){const m=this.add.rectangle(y-100,n,160,52,859182).setStrokeStyle(2,1981020).setInteractive({useHandCursor:!0});this.add.text(y-100,n,"◀ 上一页",{fontSize:"24px",color:"#4a7aaa"}).setOrigin(.5),m.on("pointerdown",()=>{this.page>1&&(this.page--,this._fetchLeaderboard())});const S=this.add.rectangle(y+100,n,160,52,859182).setStrokeStyle(2,1981020).setInteractive({useHandCursor:!0});this.add.text(y+100,n,"下一页 ▶",{fontSize:"24px",color:"#4a7aaa"}).setOrigin(.5),S.on("pointerdown",()=>{const x=Math.ceil(this.totalCount/this.pageSize);this.pagey.forEach(n=>n.destroy())),this.rowTexts=[]}_renderRows(){const y=this._panelX-this._panelW/2+16,n=this._panelW-32,m=72,S=["#f59e0b","#94a3b8","#b45309"],x=["🥇","🥈","🥉"];if(this.rows.forEach((h,d)=>{const t=this._listTop+d*m+m/2,e=h.rank||(this.page-1)*this.pageSize+d+1,l=this.add.graphics(),i=d%2===0?859182:661032;l.fillStyle(i,1),l.fillRect(y,t-m/2,n,m-2),this.rowTexts.push([l]);const s=[{val:e<=3?x[e-1]:`#${e}`,pct:.1,color:S[e-1]||"#c0d8f0"},{val:h.nickname||`玩家${h.user_id}`,pct:.34,color:"#c0d8f0"},{val:`${h.wins||0}`,pct:.16,color:"#22c55e"},{val:`${Math.round((h.win_rate||0)*100)}%`,pct:.2,color:"#38bdf8"},{val:`${h.total_rank_points||0}`,pct:.2,color:"#f59e0b"}];let r=y;const o=[l];s.forEach(a=>{const u=n*a.pct,f=this.add.text(r+u/2,t,String(a.val),{fontSize:"24px",color:a.color}).setOrigin(.5);o.push(f),r+=u}),this.rowTexts.push(o)}),this.rows.length===0){const h=this.add.text(this._panelX,this._listTop+120,"暂无数据",{fontSize:"28px",color:"#2a4a6a"}).setOrigin(.5);this.rowTexts.push([h])}}}var Fr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},fs={exports:{}};(function(E,y){(function(m,S){E.exports=S()})(Fr,()=>(()=>{var n={50792:h=>{var d=Object.prototype.hasOwnProperty,t="~";function e(){}Object.create&&(e.prototype=Object.create(null),new e().__proto__||(t=!1));function l(o,a,u){this.fn=o,this.context=a,this.once=u||!1}function i(o,a,u,f,v){if(typeof u!="function")throw new TypeError("The listener must be a function");var c=new l(u,f||o,v),g=t?t+a:a;return o._events[g]?o._events[g].fn?o._events[g]=[o._events[g],c]:o._events[g].push(c):(o._events[g]=c,o._eventsCount++),o}function s(o,a){--o._eventsCount===0?o._events=new e:delete o._events[a]}function r(){this._events=new e,this._eventsCount=0}r.prototype.eventNames=function(){var a=[],u,f;if(this._eventsCount===0)return a;for(f in u=this._events)d.call(u,f)&&a.push(t?f.slice(1):f);return Object.getOwnPropertySymbols?a.concat(Object.getOwnPropertySymbols(u)):a},r.prototype.listeners=function(a){var u=t?t+a:a,f=this._events[u];if(!f)return[];if(f.fn)return[f.fn];for(var v=0,c=f.length,g=new Array(c);v{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(38829),l=function(i,s,r,o){for(var a=i[0],u=1;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(66979),l=function(i,s,r,o,a){return e(i,"angle",s,r,o,a)};h.exports=l},60757:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){for(var i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){l===void 0&&(l=0);for(var i=l;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){l===void 0&&(l=0);for(var i=t.length-1;i>=l;i--){var s=t[i],r=!0;for(var o in e)s[o]!==e[o]&&(r=!1);if(r)return s}return null};h.exports=d},94420:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(11879),l=t(60461),i=t(95540),s=t(29747),r=t(41481),o=new r({sys:{queueDepthSort:s,events:{once:s}}},0,0,1,1).setOrigin(0,0),a=function(u,f){f===void 0&&(f={});var v=f.hasOwnProperty("width"),c=f.hasOwnProperty("height"),g=i(f,"width",-1),p=i(f,"height",-1),T=i(f,"cellWidth",1),C=i(f,"cellHeight",T),M=i(f,"position",l.TOP_LEFT),A=i(f,"x",0),R=i(f,"y",0),P=0,L=0,F=g*T,w=p*C;o.setPosition(A,R),o.setSize(T,C);for(var O=0;O{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(66979),l=function(i,s,r,o,a){return e(i,"alpha",s,r,o,a)};h.exports=l},67285:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(66979),l=function(i,s,r,o,a){return e(i,"x",s,r,o,a)};h.exports=l},9074:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(66979),l=function(i,s,r,o,a,u,f){return r==null&&(r=s),e(i,"x",s,o,u,f),e(i,"y",r,a,u,f)};h.exports=l},75222:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(66979),l=function(i,s,r,o,a){return e(i,"y",s,r,o,a)};h.exports=l},22983:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){l===void 0&&(l=0),i===void 0&&(i=6.28);for(var s=l,r=(i-l)/t.length,o=e.x,a=e.y,u=e.radius,f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){l===void 0&&(l=0),i===void 0&&(i=6.28);for(var s=l,r=(i-l)/t.length,o=e.width/2,a=e.height/2,u=0;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(15258),l=t(26708),i=function(s,r,o){var a;o?a=l(r,o,s.length):a=e(r,s.length);for(var u=0;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(14649),l=t(86003),i=t(49498),s=function(r,o,a){a===void 0&&(a=0);var u=e(o,!1,r.length);a>0?l(u,a):a<0&&i(u,Math.abs(a));for(var f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(84993),l=function(i,s,r){var o=e({x1:s.x1,y1:s.y1,x2:s.x2,y2:s.y2},r),a=e({x1:s.x2,y1:s.y2,x2:s.x3,y2:s.y3},r),u=e({x1:s.x3,y1:s.y3,x2:s.x1,y2:s.y1},r);o.pop(),a.pop(),u.pop(),o=o.concat(a,u);for(var f=o.length/i.length,v=0,c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){for(var i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i,s,r){i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r=1);var o,a=0,u=t.length;if(r===1)for(o=s;o=0;o--)t[o][e]+=l+a*i,a++;return t};h.exports=d},43967:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i,s,r){i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r=1);var o,a=0,u=t.length;if(r===1)for(o=s;o=0;o--)t[o][e]=l+a*i,a++;return t};h.exports=d},88926:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(28176),l=function(i,s){for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(24820),l=function(i,s){for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(65822),l=function(i,s){for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26597),l=function(i,s){for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(90260),l=function(i,s){for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(66979),l=function(i,s,r,o,a){return e(i,"rotation",s,r,o,a)};h.exports=l},91051:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(1163),l=t(20339),i=function(s,r,o){for(var a=r.x,u=r.y,f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(1163),l=function(i,s,r,o){var a=s.x,u=s.y;if(o===0)return i;for(var f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(66979),l=function(i,s,r,o,a){return e(i,"scaleX",s,r,o,a)};h.exports=l},94868:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(66979),l=function(i,s,r,o,a,u,f){return r==null&&(r=s),e(i,"scaleX",s,o,u,f),e(i,"scaleY",r,a,u,f)};h.exports=l},95532:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(66979),l=function(i,s,r,o,a){return e(i,"scaleY",s,r,o,a)};h.exports=l},8689:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43967),l=function(i,s,r,o,a){return e(i,"alpha",s,r,o,a)};h.exports=l},2645:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43967),l=function(i,s,r,o){return e(i,"blendMode",s,0,r,o)};h.exports=l},32372:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43967),l=function(i,s,r,o,a){return e(i,"depth",s,r,o,a)};h.exports=l},85373:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){for(var i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43967),l=function(i,s,r,o,a,u,f){return r==null&&(r=s),e(i,"originX",s,o,u,f),e(i,"originY",r,a,u,f),i.forEach(function(v){v.updateDisplayOrigin()}),i};h.exports=l},79939:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43967),l=function(i,s,r,o,a){return e(i,"rotation",s,r,o,a)};h.exports=l},2699:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43967),l=function(i,s,r,o,a,u,f){return r==null&&(r=s),e(i,"scaleX",s,o,u,f),e(i,"scaleY",r,a,u,f)};h.exports=l},98739:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43967),l=function(i,s,r,o,a){return e(i,"scaleX",s,r,o,a)};h.exports=l},98476:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43967),l=function(i,s,r,o,a){return e(i,"scaleY",s,r,o,a)};h.exports=l},6207:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43967),l=function(i,s,r,o,a,u,f){return r==null&&(r=s),e(i,"scrollFactorX",s,o,u,f),e(i,"scrollFactorY",r,a,u,f)};h.exports=l},6607:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43967),l=function(i,s,r,o,a){return e(i,"scrollFactorX",s,r,o,a)};h.exports=l},72248:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43967),l=function(i,s,r,o,a){return e(i,"scrollFactorY",s,r,o,a)};h.exports=l},14036:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i,s){for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43967),l=function(i,s,r,o){return e(i,"visible",s,0,r,o)};h.exports=l},77597:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43967),l=function(i,s,r,o,a){return e(i,"x",s,r,o,a)};h.exports=l},83194:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43967),l=function(i,s,r,o,a,u,f){return r==null&&(r=s),e(i,"x",s,o,u,f),e(i,"y",r,a,u,f)};h.exports=l},67678:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43967),l=function(i,s,r,o,a){return e(i,"y",s,r,o,a)};h.exports=l},35850:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s,r,o,a){o===void 0&&(o=0),a===void 0&&(a=new e);var u,f,v=i.length;if(v===1)u=i[0].x,f=i[0].y,i[0].x=s,i[0].y=r;else{var c=1,g=0;o===0&&(g=v-1,c=v-2),u=i[g].x,f=i[g].y,i[g].x=s,i[g].y=r;for(var p=0;p=v||c===-1)){var T=i[c],C=T.x,M=T.y;T.x=u,T.y=f,u=C,f=M,o===0?c--:c++}}return a.x=u,a.y=f,a};h.exports=l},8628:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(33680),l=function(i){return e(i)};h.exports=l},21837:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7602),l=function(i,s,r,o,a){a===void 0&&(a=!1);var u=Math.abs(o-r)/i.length,f;if(a)for(f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(54261),l=function(i,s,r,o,a){a===void 0&&(a=!1);var u=Math.abs(o-r)/i.length,f;if(a)for(f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i,s){if(s===void 0&&(s=!1),t.length===0)return t;if(t.length===1)return s?t[0][e]+=(i+l)/2:t[0][e]=(i+l)/2,t;var r=Math.abs(i-l)/(t.length-1),o;if(s)for(o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){for(var e=0;e{/** + * @author Richard Davey + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(15994),l=function(i,s,r){r===void 0&&(r=0);for(var o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={AlignTo:t(11517),Angle:t(80318),Call:t(60757),GetFirst:t(69927),GetLast:t(32265),GridAlign:t(94420),IncAlpha:t(41721),IncX:t(67285),IncXY:t(9074),IncY:t(75222),PlaceOnCircle:t(22983),PlaceOnEllipse:t(95253),PlaceOnLine:t(88505),PlaceOnRectangle:t(41346),PlaceOnTriangle:t(11575),PlayAnimation:t(29953),PropertyValueInc:t(66979),PropertyValueSet:t(43967),RandomCircle:t(88926),RandomEllipse:t(33286),RandomLine:t(96e3),RandomRectangle:t(28789),RandomTriangle:t(97154),Rotate:t(20510),RotateAround:t(91051),RotateAroundDistance:t(76332),ScaleX:t(61619),ScaleXY:t(94868),ScaleY:t(95532),SetAlpha:t(8689),SetBlendMode:t(2645),SetDepth:t(32372),SetHitArea:t(85373),SetOrigin:t(81583),SetRotation:t(79939),SetScale:t(2699),SetScaleX:t(98739),SetScaleY:t(98476),SetScrollFactor:t(6207),SetScrollFactorX:t(6607),SetScrollFactorY:t(72248),SetTint:t(14036),SetVisible:t(50159),SetX:t(77597),SetXY:t(83194),SetY:t(67678),ShiftPosition:t(35850),Shuffle:t(8628),SmootherStep:t(21910),SmoothStep:t(21837),Spread:t(62054),ToggleVisible:t(79815),WrapInRectangle:t(39665)}},42099:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(45319),l=t(83419),i=t(74943),s=t(81957),r=t(41138),o=t(35154),a=t(90126),u=new l({initialize:function(v,c,g){this.manager=v,this.key=c,this.type="frame",this.frames=this.getFrames(v.textureManager,o(g,"frames",[]),o(g,"defaultTextureKey",null),o(g,"sortFrames",!0)),this.frameRate=o(g,"frameRate",null),this.duration=o(g,"duration",null),this.msPerFrame,this.skipMissedFrames=o(g,"skipMissedFrames",!0),this.delay=o(g,"delay",0),this.repeat=o(g,"repeat",0),this.repeatDelay=o(g,"repeatDelay",0),this.yoyo=o(g,"yoyo",!1),this.showBeforeDelay=o(g,"showBeforeDelay",!1),this.showOnStart=o(g,"showOnStart",!1),this.hideOnComplete=o(g,"hideOnComplete",!1),this.randomFrame=o(g,"randomFrame",!1),this.paused=!1,this.calculateDuration(this,this.getTotalFrames(),this.duration,this.frameRate),this.manager.on&&(this.manager.on(i.PAUSE_ALL,this.pause,this),this.manager.on(i.RESUME_ALL,this.resume,this))},getTotalFrames:function(){return this.frames.length},calculateDuration:function(f,v,c,g){c===null&&g===null?(f.frameRate=24,f.duration=24/v*1e3):c&&g===null?(f.duration=c,f.frameRate=v/(c/1e3)):(f.frameRate=g,f.duration=v/g*1e3),f.msPerFrame=1e3/f.frameRate},addFrame:function(f){return this.addFrameAt(this.frames.length,f)},addFrameAt:function(f,v){var c=this.getFrames(this.manager.textureManager,v);if(c.length>0){if(f===0)this.frames=c.concat(this.frames);else if(f===this.frames.length)this.frames=this.frames.concat(c);else{var g=this.frames.slice(0,f),p=this.frames.slice(f);this.frames=g.concat(c,p)}this.updateFrameSequence()}return this},checkFrame:function(f){return f>=0&&f0){C.isLast=!0,C.nextFrame=p[0],p[0].prevFrame=C;var I=1/(p.length-1);for(A=0;A0?f.inReverse&&f.forward?f.forward=!1:this.repeatAnimation(f):f.complete():this.updateAndGetNextTick(f,v.nextFrame)},handleYoyoFrame:function(f,v){if(v||(v=!1),f.inReverse===!v&&f.repeatCounter>0){(f.repeatDelay===0||f.pendingRepeat)&&(f.forward=v),this.repeatAnimation(f);return}if(f.inReverse!==v&&f.repeatCounter===0){f.complete();return}f.forward=v;var c=v?f.currentFrame.nextFrame:f.currentFrame.prevFrame;this.updateAndGetNextTick(f,c)},getLastFrame:function(){return this.frames[this.frames.length-1]},previousFrame:function(f){var v=f.currentFrame;v.isFirst?f.yoyo?this.handleYoyoFrame(f,!0):f.repeatCounter>0?f.inReverse&&!f.forward?this.repeatAnimation(f):(f.forward=!0,this.repeatAnimation(f)):f.complete():this.updateAndGetNextTick(f,v.prevFrame)},updateAndGetNextTick:function(f,v){f.setCurrentFrame(v),this.getNextTick(f)},removeFrame:function(f){var v=this.frames.indexOf(f);return v!==-1&&this.removeFrameAt(v),this},removeFrameAt:function(f){return this.frames.splice(f,1),this.updateFrameSequence(),this},repeatAnimation:function(f){if(f._pendingStop===2){if(f._pendingStopValue===0)return f.stop();f._pendingStopValue--}f.repeatDelay>0&&!f.pendingRepeat?(f.pendingRepeat=!0,f.accumulator-=f.nextTick,f.nextTick+=f.repeatDelay):(f.repeatCounter--,f.forward?f.setCurrentFrame(f.currentFrame.nextFrame):f.setCurrentFrame(f.currentFrame.prevFrame),f.isPlaying&&(this.getNextTick(f),f.handleRepeat()))},toJSON:function(){var f={key:this.key,type:this.type,frames:[],frameRate:this.frameRate,duration:this.duration,skipMissedFrames:this.skipMissedFrames,delay:this.delay,repeat:this.repeat,repeatDelay:this.repeatDelay,yoyo:this.yoyo,showBeforeDelay:this.showBeforeDelay,showOnStart:this.showOnStart,randomFrame:this.randomFrame,hideOnComplete:this.hideOnComplete};return this.frames.forEach(function(v){f.frames.push(v.toJSON())}),f},updateFrameSequence:function(){for(var f=this.frames.length,v=1/(f-1),c,g=0;g1?(c.isLast=!0,c.prevFrame=this.frames[f-2],c.nextFrame=this.frames[0]):f>1&&(c.prevFrame=this.frames[g-1],c.nextFrame=this.frames[g+1]);return this},pause:function(){return this.paused=!0,this},resume:function(){return this.paused=!1,this},destroy:function(){this.manager.off&&(this.manager.off(i.PAUSE_ALL,this.pause,this),this.manager.off(i.RESUME_ALL,this.resume,this)),this.manager.remove(this.key);for(var f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s,r,o,a,u){u===void 0&&(u=!1),this.textureKey=s,this.textureFrame=r,this.index=o,this.frame=a,this.isFirst=!1,this.isLast=!1,this.prevFrame=null,this.nextFrame=null,this.duration=0,this.progress=0,this.isKeyFrame=u},toJSON:function(){return{key:this.textureKey,frame:this.textureFrame,duration:this.duration,keyframe:this.isKeyFrame}},destroy:function(){this.frame=void 0}});h.exports=l},60848:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(42099),l=t(83419),i=t(90330),s=t(50792),r=t(74943),o=t(8443),a=t(95540),u=t(35154),f=t(36383),v=t(20283),c=t(41836),g=new l({Extends:s,initialize:function(T){s.call(this),this.game=T,this.textureManager=null,this.globalTimeScale=1,this.anims=new i,this.mixes=new i,this.paused=!1,this.name="AnimationManager",T.events.once(o.BOOT,this.boot,this)},boot:function(){this.textureManager=this.game.textures,this.game.events.once(o.DESTROY,this.destroy,this)},addMix:function(p,T,C){var M=this.anims,A=this.mixes,R=typeof p=="string"?p:p.key,P=typeof T=="string"?T:T.key;if(M.has(R)&&M.has(P)){var L=A.get(R);L||(L={}),L[P]=C,A.set(R,L)}return this},removeMix:function(p,T){var C=this.mixes,M=typeof p=="string"?p:p.key,A=C.get(M);if(A)if(T){var R=typeof T=="string"?T:T.key;A.hasOwnProperty(R)&&delete A[R]}else T||C.delete(M);return this},getMix:function(p,T){var C=this.mixes,M=typeof p=="string"?p:p.key,A=typeof T=="string"?T:T.key,R=C.get(M);return R&&R.hasOwnProperty(A)?R[A]:0},add:function(p,T){return this.anims.has(p)?(console.warn("Animation key exists: "+p),this):(T.key=p,this.anims.set(p,T),this.emit(r.ADD_ANIMATION,p,T),this)},exists:function(p){return this.anims.has(p)},createFromAseprite:function(p,T,C){var M=[],A=this.game.cache.json.get(p);if(!A)return console.warn("No Aseprite data found for: "+p),M;var R=this,P=u(A,"meta",null),L=u(A,"frames",null);if(P&&L){var F=u(P,"frameTags",[]);F.forEach(function(w){var O=[],B=a(w,"name",null),I=a(w,"from",0),D=a(w,"to",0),N=a(w,"direction","forward");if(B&&(!T||T&&T.indexOf(B)>-1)){for(var z=0,V=I;V<=D;V++){var U=V.toString(),G=L[U];if(G){var b=a(G,"duration",f.MAX_SAFE_INTEGER);O.push({key:p,frame:U,duration:b}),z+=b}}N==="reverse"&&(O=O.reverse());var Y={key:B,frames:O,duration:z,yoyo:N==="pingpong"},W;C?C.anims&&(W=C.anims.create(Y)):W=R.create(Y),W&&M.push(W)}})}return M},create:function(p){var T=p.key,C=!1;return T&&(C=this.get(T),C?console.warn("AnimationManager key already exists: "+T):(C=new e(this,T,p),this.anims.set(T,C),this.emit(r.ADD_ANIMATION,T,C))),C},fromJSON:function(p,T){T===void 0&&(T=!1),T&&this.anims.clear(),typeof p=="string"&&(p=JSON.parse(p));var C=[];if(p.hasOwnProperty("anims")&&Array.isArray(p.anims)){for(var M=0;M{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(42099),l=t(30976),i=t(83419),s=t(90330),r=t(74943),o=t(95540),a=new i({initialize:function(f){this.parent=f,this.animationManager=f.scene.sys.anims,this.animationManager.on(r.REMOVE_ANIMATION,this.globalRemove,this),this.textureManager=this.animationManager.textureManager,this.anims=null,this.isPlaying=!1,this.hasStarted=!1,this.currentAnim=null,this.currentFrame=null,this.nextAnim=null,this.nextAnimsQueue=[],this.timeScale=1,this.frameRate=0,this.duration=0,this.msPerFrame=0,this.skipMissedFrames=!0,this.randomFrame=!1,this.delay=0,this.repeat=0,this.repeatDelay=0,this.yoyo=!1,this.showBeforeDelay=!1,this.showOnStart=!1,this.hideOnComplete=!1,this.forward=!0,this.inReverse=!1,this.accumulator=0,this.nextTick=0,this.delayCounter=0,this.repeatCounter=0,this.pendingRepeat=!1,this._paused=!1,this._wasPlaying=!1,this._pendingStop=0,this._pendingStopValue},chain:function(u){var f=this.parent;if(u===void 0)return this.nextAnimsQueue.length=0,this.nextAnim=null,f;Array.isArray(u)||(u=[u]);for(var v=0;vg&&(C=0),this.randomFrame&&(C=l(0,g-1));var M=c.frames[C];C===0&&!this.forward&&(M=c.getLastFrame()),this.currentFrame=M}return this.parent},pause:function(u){return this._paused||(this._paused=!0,this._wasPlaying=this.isPlaying,this.isPlaying=!1),u!==void 0&&this.setCurrentFrame(u),this.parent},resume:function(u){return this._paused&&(this._paused=!1,this.isPlaying=this._wasPlaying),u!==void 0&&this.setCurrentFrame(u),this.parent},playAfterDelay:function(u,f){if(!this.isPlaying)this.delayCounter=f,this.play(u,!0);else{var v=this.nextAnim,c=this.nextAnimsQueue;v&&c.unshift(v),this.nextAnim=u,this._pendingStop=1,this._pendingStopValue=f}return this.parent},playAfterRepeat:function(u,f){if(f===void 0&&(f=1),!this.isPlaying)this.play(u);else{var v=this.nextAnim,c=this.nextAnimsQueue;v&&c.unshift(v),this.repeatCounter!==-1&&f>this.repeatCounter&&(f=this.repeatCounter),this.nextAnim=u,this._pendingStop=2,this._pendingStopValue=f}return this.parent},play:function(u,f){f===void 0&&(f=!1);var v=this.currentAnim,c=this.parent,g=typeof u=="string"?u:u.key;if(f&&this.isPlaying&&v.key===g)return c;if(v&&this.isPlaying){var p=this.animationManager.getMix(v.key,u);if(p>0)return this.playAfterDelay(u,p)}return this.forward=!0,this.inReverse=!1,this._paused=!1,this._wasPlaying=!0,this.startAnimation(u)},playReverse:function(u,f){f===void 0&&(f=!1);var v=typeof u=="string"?u:u.key;return f&&this.isPlaying&&this.currentAnim.key===v?this.parent:(this.forward=!1,this.inReverse=!0,this._paused=!1,this._wasPlaying=!0,this.startAnimation(u))},startAnimation:function(u){this.load(u);var f=this.currentAnim,v=this.parent;return f&&(this.repeatCounter=this.repeat===-1?Number.MAX_VALUE:this.repeat,f.getFirstTick(this),this.isPlaying=!0,this.pendingRepeat=!1,this.hasStarted=!1,this._pendingStop=0,this._pendingStopValue=0,this._paused=!1,this.delayCounter+=this.delay,this.delayCounter===0?this.handleStart():this.showBeforeDelay&&this.setCurrentFrame(this.currentFrame)),v},handleStart:function(){this.showOnStart&&this.parent.setVisible(!0),this.setCurrentFrame(this.currentFrame),this.hasStarted=!0,this.emitEvents(r.ANIMATION_START)},handleRepeat:function(){this.pendingRepeat=!1,this.emitEvents(r.ANIMATION_REPEAT)},handleStop:function(){this._pendingStop=0,this.isPlaying=!1,this.emitEvents(r.ANIMATION_STOP)},handleComplete:function(){this._pendingStop=0,this.isPlaying=!1,this.hideOnComplete&&this.parent.setVisible(!1),this.emitEvents(r.ANIMATION_COMPLETE,r.ANIMATION_COMPLETE_KEY)},emitEvents:function(u,f){var v=this.currentAnim;if(v){var c=this.currentFrame,g=this.parent,p=c.textureFrame;g.emit(u,v,c,g,p),f&&g.emit(f+v.key,v,c,g,p)}},reverse:function(){return this.isPlaying&&(this.inReverse=!this.inReverse,this.forward=!this.forward),this.parent},getProgress:function(){var u=this.currentFrame;if(!u)return 0;var f=u.progress;return this.inReverse&&(f*=-1),f},setProgress:function(u){return this.forward||(u=1-u),this.setCurrentFrame(this.currentAnim.getFrameByProgress(u)),this.parent},setRepeat:function(u){return this.repeatCounter=u===-1?Number.MAX_VALUE:u,this.parent},globalRemove:function(u,f){f===void 0&&(f=this.currentAnim),this.isPlaying&&f.key===this.currentAnim.key&&(this.stop(),this.setCurrentFrame(this.currentAnim.frames[0]))},restart:function(u,f){u===void 0&&(u=!1),f===void 0&&(f=!1);var v=this.currentAnim,c=this.parent;return v?(f&&(this.repeatCounter=this.repeat===-1?Number.MAX_VALUE:this.repeat),v.getFirstTick(this),this.emitEvents(r.ANIMATION_RESTART),this.isPlaying=!0,this.pendingRepeat=!1,this.hasStarted=!u,this._pendingStop=0,this._pendingStopValue=0,this._paused=!1,this.setCurrentFrame(v.frames[0]),this.parent):c},complete:function(){if(this._pendingStop=0,this.isPlaying=!1,this.currentAnim&&this.handleComplete(),this.nextAnim){var u=this.nextAnim;this.nextAnim=this.nextAnimsQueue.length>0?this.nextAnimsQueue.shift():null,this.play(u)}return this.parent},stop:function(){if(this._pendingStop=0,this.isPlaying=!1,this.delayCounter=0,this.currentAnim&&this.handleStop(),this.nextAnim){var u=this.nextAnim;this.nextAnim=this.nextAnimsQueue.shift(),this.play(u)}return this.parent},stopAfterDelay:function(u){return this._pendingStop=1,this._pendingStopValue=u,this.parent},stopAfterRepeat:function(u){return u===void 0&&(u=1),this.repeatCounter!==-1&&u>this.repeatCounter&&(u=this.repeatCounter),this._pendingStop=2,this._pendingStopValue=u,this.parent},stopOnFrame:function(u){return this._pendingStop=3,this._pendingStopValue=u,this.parent},getTotalFrames:function(){return this.currentAnim?this.currentAnim.getTotalFrames():0},update:function(u,f){var v=this.currentAnim;if(!(!this.isPlaying||!v||v.paused)){if(this.accumulator+=f*this.timeScale*this.animationManager.globalTimeScale,this._pendingStop===1&&(this._pendingStopValue-=f,this._pendingStopValue<=0))return this.stop();if(!this.hasStarted)this.accumulator>=this.delayCounter&&(this.accumulator-=this.delayCounter,this.handleStart());else if(this.accumulator>=this.nextTick&&(this.forward?v.nextFrame(this):v.previousFrame(this),this.isPlaying&&this._pendingStop===0&&this.skipMissedFrames&&this.accumulator>this.nextTick)){var c=0;do this.forward?v.nextFrame(this):v.previousFrame(this),c++;while(this.isPlaying&&this.accumulator>this.nextTick&&c<60)}}},setCurrentFrame:function(u){var f=this.parent;return this.currentFrame=u,f.texture=u.frame.texture,f.frame=u.frame,f.isCropped&&f.frame.updateCropUVs(f._crop,f.flipX,f.flipY),u.setAlpha&&(f.alpha=u.alpha),f.setSizeToFrame(),f._originComponent&&(u.frame.customPivot?f.setOrigin(u.frame.pivotX,u.frame.pivotY):f.updateDisplayOrigin()),this.isPlaying&&this.hasStarted&&(this.emitEvents(r.ANIMATION_UPDATE),this._pendingStop===3&&this._pendingStopValue===u&&this.stop()),f},nextFrame:function(){return this.currentAnim&&this.currentAnim.nextFrame(this),this.parent},previousFrame:function(){return this.currentAnim&&this.currentAnim.previousFrame(this),this.parent},get:function(u){return this.anims?this.anims.get(u):null},exists:function(u){return this.anims?this.anims.has(u):!1},create:function(u){var f=u.key,v=!1;return f&&(v=this.get(f),v?console.warn("Animation key already exists: "+f):(v=new e(this,f,u),this.anims||(this.anims=new s),this.anims.set(f,v))),v},createFromAseprite:function(u,f){return this.animationManager.createFromAseprite(u,f,this.parent)},generateFrameNames:function(u,f){return this.animationManager.generateFrameNames(u,f)},generateFrameNumbers:function(u,f){return this.animationManager.generateFrameNumbers(u,f)},remove:function(u){var f=this.get(u);return f&&(this.currentAnim===f&&this.stop(),this.anims.delete(u)),f},destroy:function(){this.animationManager.off(r.REMOVE_ANIMATION,this.globalRemove,this),this.anims&&this.anims.clear(),this.animationManager=null,this.parent=null,this.nextAnim=null,this.nextAnimsQueue.length=0,this.currentAnim=null,this.currentFrame=null},isPaused:{get:function(){return this._paused}}});h.exports=a},57090:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="add"},25312:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="animationcomplete"},89580:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="animationcomplete-"},52860:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="animationrepeat"},63850:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="animationrestart"},99085:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="animationstart"},28087:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="animationstop"},1794:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="animationupdate"},52562:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pauseall"},57953:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="remove"},68339:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="resumeall"},74943:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={ADD_ANIMATION:t(57090),ANIMATION_COMPLETE:t(25312),ANIMATION_COMPLETE_KEY:t(89580),ANIMATION_REPEAT:t(52860),ANIMATION_RESTART:t(63850),ANIMATION_START:t(99085),ANIMATION_STOP:t(28087),ANIMATION_UPDATE:t(1794),PAUSE_ALL:t(52562),REMOVE_ANIMATION:t(57953),RESUME_ALL:t(68339)}},60421:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Animation:t(42099),AnimationFrame:t(41138),AnimationManager:t(60848),AnimationState:t(9674),Events:t(74943)}},2161:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(90330),i=t(50792),s=t(24736),r=new e({initialize:function(){this.entries=new l,this.events=new i},add:function(o,a){return this.entries.set(o,a),this.events.emit(s.ADD,this,o,a),this},has:function(o){return this.entries.has(o)},exists:function(o){return this.entries.has(o)},get:function(o){return this.entries.get(o)},remove:function(o){var a=this.get(o);return a&&(this.entries.delete(o),this.events.emit(s.REMOVE,this,o,a.data)),this},getKeys:function(){return this.entries.keys()},destroy:function(){this.entries.clear(),this.events.removeAllListeners(),this.entries=null,this.events=null}});h.exports=r},24047:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(2161),l=t(83419),i=t(8443),s=new l({initialize:function(o){this.game=o,this.binary=new e,this.bitmapFont=new e,this.json=new e,this.physics=new e,this.shader=new e,this.audio=new e,this.video=new e,this.text=new e,this.html=new e,this.obj=new e,this.tilemap=new e,this.xml=new e,this.custom={},this.game.events.once(i.DESTROY,this.destroy,this)},addCustom:function(r){return this.custom.hasOwnProperty(r)||(this.custom[r]=new e),this.custom[r]},destroy:function(){for(var r=["binary","bitmapFont","json","physics","shader","audio","video","text","html","obj","tilemap","xml"],o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="add"},59261:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="remove"},24736:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={ADD:t(51464),REMOVE:t(59261)}},83388:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={BaseCache:t(2161),CacheManager:t(24047),Events:t(24736)}},71911:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(31401),i=t(39506),s=t(50792),r=t(19715),o=t(87841),a=t(61340),u=t(80333),f=t(26099),v=new e({Extends:s,Mixins:[l.AlphaSingle,l.Visible],initialize:function(g,p,T,C){g===void 0&&(g=0),p===void 0&&(p=0),T===void 0&&(T=0),C===void 0&&(C=0),s.call(this),this.scene,this.sceneManager,this.scaleManager,this.cameraManager,this.id=0,this.name="",this.roundPixels=!1,this.useBounds=!1,this.worldView=new o,this.dirty=!0,this._x=g,this._y=p,this._width=T,this._height=C,this._bounds=new o,this._scrollX=0,this._scrollY=0,this._zoomX=1,this._zoomY=1,this._rotation=0,this.matrix=new a,this.matrixCombined=new a,this.matrixExternal=new a,this.transparent=!0,this.backgroundColor=u("rgba(0,0,0,0)"),this.disableCull=!1,this.culledObjects=[],this.midPoint=new f(T/2,C/2),this.originX=.5,this.originY=.5,this._customViewport=!1,this.mask=null,this._maskCamera=null,this.renderList=[],this.isSceneCamera=!0,this.forceComposite=!1,this.renderRoundPixels=!0},addToRenderList:function(c){this.renderList.push(c)},setOrigin:function(c,g){return c===void 0&&(c=.5),g===void 0&&(g=c),this.originX=c,this.originY=g,this},getScroll:function(c,g,p){p===void 0&&(p=new f);var T=this.width*.5,C=this.height*.5;return p.x=c-T,p.y=g-C,this.useBounds&&(p.x=this.clampX(p.x),p.y=this.clampY(p.y)),p},centerOnX:function(c){var g=this.width*.5;return this.midPoint.x=c,this.scrollX=c-g,this.useBounds&&(this.scrollX=this.clampX(this.scrollX)),this},centerOnY:function(c){var g=this.height*.5;return this.midPoint.y=c,this.scrollY=c-g,this.useBounds&&(this.scrollY=this.clampY(this.scrollY)),this},centerOn:function(c,g){return this.centerOnX(c),this.centerOnY(g),this},centerToBounds:function(){if(this.useBounds){var c=this._bounds,g=this.width*.5,p=this.height*.5;this.midPoint.set(c.centerX,c.centerY),this.scrollX=c.centerX-g,this.scrollY=c.centerY-p}return this},centerToSize:function(){return this.scrollX=this.width*.5,this.scrollY=this.height*.5,this},cull:function(c){if(this.disableCull)return c;var g=this.matrix.matrix,p=g[0],T=g[1],C=g[2],M=g[3],A=p*M-T*C;if(!A)return c;var R=this.scrollX,P=this.scrollY,L=this.width,F=this.height,w=this.y,O=w+F,B=this.x,I=B+L,D=this.culledObjects,N=c.length;A=1/A,D.length=0;for(var z=0;zB&&Ww&&HC&&(c=C),c},clampY:function(c){var g=this._bounds,p=this.displayHeight,T=g.y+(p-this.height)/2,C=Math.max(T,T+g.height-p);return cC&&(c=C),c},removeBounds:function(){return this.useBounds=!1,this.dirty=!0,this._bounds.setEmpty(),this},setAngle:function(c){return c===void 0&&(c=0),this.rotation=i(c),this},setBackgroundColor:function(c){return c===void 0&&(c="rgba(0,0,0,0)"),this.backgroundColor=u(c),this.transparent=this.backgroundColor.alpha===0,this},setBounds:function(c,g,p,T,C){return C===void 0&&(C=!1),this._bounds.setTo(c,g,p,T),this.dirty=!0,this.useBounds=!0,C?this.centerToBounds():(this.scrollX=this.clampX(this.scrollX),this.scrollY=this.clampY(this.scrollY)),this},setForceComposite:function(c){return this.forceComposite=c,this},getBounds:function(c){c===void 0&&(c=new o);var g=this._bounds;return c.setTo(g.x,g.y,g.width,g.height),c},setName:function(c){return c===void 0&&(c=""),this.name=c,this},setPosition:function(c,g){return g===void 0&&(g=c),this.x=c,this.y=g,this},setRotation:function(c){return c===void 0&&(c=0),this.rotation=c,this},setRoundPixels:function(c){return this.roundPixels=c,this},setScene:function(c,g){g===void 0&&(g=!0),this.scene&&this._customViewport&&this.sceneManager.customViewports--,this.scene=c,this.isSceneCamera=g;var p=c.sys;return this.sceneManager=p.game.scene,this.scaleManager=p.scale,this.cameraManager=p.cameras,this.updateSystem(),this},setScroll:function(c,g){return g===void 0&&(g=c),this.scrollX=c,this.scrollY=g,this},setSize:function(c,g){return g===void 0&&(g=c),this.width=c,this.height=g,this},setViewport:function(c,g,p,T){return this.x=c,this.y=g,this.width=p,this.height=T,this},setZoom:function(c,g){return c===void 0&&(c=1),g===void 0&&(g=c),c===0&&(c=.001),g===0&&(g=.001),this.zoomX=c,this.zoomY=g,this},setMask:function(c,g){return g===void 0&&(g=!0),this.mask=c,this._maskCamera=g?this.cameraManager.default:this,this},clearMask:function(c){return c===void 0&&(c=!1),c&&this.mask&&this.mask.destroy(),this.mask=null,this},toJSON:function(){var c={name:this.name,x:this.x,y:this.y,width:this.width,height:this.height,zoom:this.zoom,rotation:this.rotation,roundPixels:this.roundPixels,scrollX:this.scrollX,scrollY:this.scrollY,backgroundColor:this.backgroundColor.rgba};return this.useBounds&&(c.bounds={x:this._bounds.x,y:this._bounds.y,width:this._bounds.width,height:this._bounds.height}),c},update:function(){},setIsSceneCamera:function(c){return this.isSceneCamera=c,this},updateSystem:function(){if(!(!this.scaleManager||!this.isSceneCamera)){var c=this._x!==0||this._y!==0||this.scaleManager.width!==this._width||this.scaleManager.height!==this._height,g=this.sceneManager;c&&!this._customViewport?g.customViewports++:!c&&this._customViewport&&g.customViewports--,this.dirty=!0,this._customViewport=c}},destroy:function(){this.emit(r.DESTROY,this),this.removeAllListeners(),this.matrix.destroy(),this.matrixCombined.destroy(),this.matrixExternal.destroy(),this.culledObjects=[],this._customViewport&&this.sceneManager.customViewports--,this.renderList=[],this._bounds=null,this.scene=null,this.scaleManager=null,this.sceneManager=null,this.cameraManager=null},x:{get:function(){return this._x},set:function(c){this._x=c,this.updateSystem()}},y:{get:function(){return this._y},set:function(c){this._y=c,this.updateSystem()}},width:{get:function(){return this._width},set:function(c){this._width=c,this.updateSystem()}},height:{get:function(){return this._height},set:function(c){this._height=c,this.updateSystem()}},scrollX:{get:function(){return this._scrollX},set:function(c){c!==this._scrollX&&(this._scrollX=c,this.dirty=!0)}},scrollY:{get:function(){return this._scrollY},set:function(c){c!==this._scrollY&&(this._scrollY=c,this.dirty=!0)}},zoom:{get:function(){return(this._zoomX+this._zoomY)/2},set:function(c){this._zoomX=c,this._zoomY=c,this.dirty=!0}},zoomX:{get:function(){return this._zoomX},set:function(c){this._zoomX=c,this.dirty=!0}},zoomY:{get:function(){return this._zoomY},set:function(c){this._zoomY=c,this.dirty=!0}},rotation:{get:function(){return this._rotation},set:function(c){this._rotation=c,this.dirty=!0}},centerX:{get:function(){return this.x+.5*this.width}},centerY:{get:function(){return this.y+.5*this.height}},displayWidth:{get:function(){return this.width/this.zoomX}},displayHeight:{get:function(){return this.height/this.zoomY}}});h.exports=v},38058:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(71911),l=t(67502),i=t(45319),s=t(83419),r=t(31401),o=t(20052),a=t(19715),u=t(28915),f=t(87841),v=t(26099),c=new s({Extends:e,initialize:function(p,T,C,M){e.call(this,p,T,C,M),this.filters={internal:new r.FilterList(this),external:new r.FilterList(this)},this.isObjectInversion=!1,this.inputEnabled=!0,this.fadeEffect=new o.Fade(this),this.flashEffect=new o.Flash(this),this.shakeEffect=new o.Shake(this),this.panEffect=new o.Pan(this),this.rotateToEffect=new o.RotateTo(this),this.zoomEffect=new o.Zoom(this),this.lerp=new v(1,1),this.followOffset=new v,this.deadzone=null,this._follow=null},setDeadzone:function(g,p){if(g===void 0)this.deadzone=null;else{if(this.deadzone?(this.deadzone.width=g,this.deadzone.height=p):this.deadzone=new f(0,0,g,p),this._follow){var T=this.width/2,C=this.height/2,M=this._follow.x-this.followOffset.x,A=this._follow.y-this.followOffset.y;this.midPoint.set(M,A),this.scrollX=M-T,this.scrollY=A-C}l(this.deadzone,this.midPoint.x,this.midPoint.y)}return this},fadeIn:function(g,p,T,C,M,A){return this.fadeEffect.start(!1,g,p,T,C,!0,M,A)},fadeOut:function(g,p,T,C,M,A){return this.fadeEffect.start(!0,g,p,T,C,!0,M,A)},fadeFrom:function(g,p,T,C,M,A,R){return this.fadeEffect.start(!1,g,p,T,C,M,A,R)},fade:function(g,p,T,C,M,A,R){return this.fadeEffect.start(!0,g,p,T,C,M,A,R)},flash:function(g,p,T,C,M,A,R){return this.flashEffect.start(g,p,T,C,M,A,R)},shake:function(g,p,T,C,M){return this.shakeEffect.start(g,p,T,C,M)},pan:function(g,p,T,C,M,A,R){return this.panEffect.start(g,p,T,C,M,A,R)},rotateTo:function(g,p,T,C,M,A,R){return this.rotateToEffect.start(g,p,T,C,M,A,R)},zoomTo:function(g,p,T,C,M,A){return this.zoomEffect.start(g,p,T,C,M,A)},preRender:function(){this.renderList.length=0;var g=this.width,p=this.height,T=g*.5,C=p*.5,M=this.zoomX,A=this.zoomY;this.renderRoundPixels=this.roundPixels&&Number.isInteger(M)&&Number.isInteger(A);var R=g*this.originX,P=p*this.originY,L=this._follow,F=this.deadzone,w=this.scrollX,O=this.scrollY;F&&l(F,this.midPoint.x,this.midPoint.y);var B=!1;if(L&&!this.panEffect.isRunning){var I=this.lerp,D=L.x-this.followOffset.x,N=L.y-this.followOffset.y;F?(DF.right&&(w=u(w,w+(D-F.right),I.x)),NF.bottom&&(O=u(O,O+(N-F.bottom),I.y))):(w=u(w,D-R,I.x),O=u(O,N-P,I.y)),B=!0}this.useBounds&&(w=this.clampX(w),O=this.clampY(O)),this.scrollX=w,this.scrollY=O;var z=w+T,V=O+C;this.midPoint.set(z,V);var U=g/M,G=p/A,b=z-U/2,Y=V-G/2;this.worldView.setTo(b,Y,U,G);var W=this.matrix,H=this.matrixExternal;this.isObjectInversion?(W.loadIdentity(),W.translate(R,P),W.scale(M,A),W.rotate(this.rotation),W.translate(-w-R,-O-P)):(W.applyITRS(R,P,this.rotation,M,A),W.translate(-w-R,-O-P)),H.applyITRS(this.x,this.y,0,1,1),this.shakeEffect.preRender(),H.multiply(W,this.matrixCombined),B&&this.emit(a.FOLLOW_UPDATE,this,L)},getViewMatrix:function(g){return g||this.forceComposite||this.filters.external.length>0||this.filters.internal.length>0?this.matrix:this.matrixCombined},setLerp:function(g,p){return g===void 0&&(g=1),p===void 0&&(p=g),this.lerp.set(g,p),this},setFollowOffset:function(g,p){return g===void 0&&(g=0),p===void 0&&(p=0),this.followOffset.set(g,p),this},startFollow:function(g,p,T,C,M,A){p===void 0&&(p=!1),T===void 0&&(T=1),C===void 0&&(C=T),M===void 0&&(M=0),A===void 0&&(A=M),this._follow=g,this.roundPixels=p,T=i(T,0,1),C=i(C,0,1),this.lerp.set(T,C),this.followOffset.set(M,A);var R=this.width/2,P=this.height/2,L=g.x-M,F=g.y-A;return this.midPoint.set(L,F),this.scrollX=L-R,this.scrollY=F-P,this.useBounds&&(this.scrollX=this.clampX(this.scrollX),this.scrollY=this.clampY(this.scrollY)),this},stopFollow:function(){return this._follow=null,this},resetFX:function(){return this.rotateToEffect.reset(),this.panEffect.reset(),this.shakeEffect.reset(),this.flashEffect.reset(),this.fadeEffect.reset(),this},update:function(g,p){this.visible&&(this.rotateToEffect.update(g,p),this.panEffect.update(g,p),this.zoomEffect.update(g,p),this.shakeEffect.update(g,p),this.flashEffect.update(g,p),this.fadeEffect.update(g,p))},destroy:function(){this.resetFX(),this.filters.internal.destroy(),this.filters.external.destroy(),e.prototype.destroy.call(this),this._follow=null,this.deadzone=null}});h.exports=c},32743:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(38058),l=t(83419),i=t(95540),s=t(37277),r=t(37303),o=t(97480),a=t(44594),u=new l({initialize:function(v){this.scene=v,this.systems=v.sys,this.roundPixels=v.sys.game.config.roundPixels,this.cameras=[],this.main,this.default,v.sys.events.once(a.BOOT,this.boot,this),v.sys.events.on(a.START,this.start,this)},boot:function(){var f=this.systems;f.settings.cameras?this.fromJSON(f.settings.cameras):this.add(),this.main=this.cameras[0],this.default=new e(0,0,f.scale.width,f.scale.height).setScene(this.scene),f.game.scale.on(o.RESIZE,this.onResize,this),this.systems.events.once(a.DESTROY,this.destroy,this)},start:function(){if(!this.main){var f=this.systems;f.settings.cameras?this.fromJSON(f.settings.cameras):this.add(),this.main=this.cameras[0]}var v=this.systems.events;v.on(a.UPDATE,this.update,this),v.once(a.SHUTDOWN,this.shutdown,this)},add:function(f,v,c,g,p,T){f===void 0&&(f=0),v===void 0&&(v=0),c===void 0&&(c=this.scene.sys.scale.width),g===void 0&&(g=this.scene.sys.scale.height),p===void 0&&(p=!1),T===void 0&&(T="");var C=new e(f,v,c,g);return C.setName(T),C.setScene(this.scene),C.setRoundPixels(this.roundPixels),C.id=this.getNextID(),this.cameras.push(C),p&&(this.main=C),C},addExisting:function(f,v){v===void 0&&(v=!1);var c=this.cameras.indexOf(f);return c===-1?(f.id=this.getNextID(),f.setRoundPixels(this.roundPixels),this.cameras.push(f),v&&(this.main=f),f):null},getNextID:function(){for(var f=this.cameras,v=1,c=0;c<32;c++){for(var g=!1,p=0;p0){T.preRender();var C=this.getVisibleChildren(v.getChildren(),T);f.render(c,C,T)}}},getVisibleChildren:function(f,v){return f.filter(function(c){return c.willRender(v)})},resetAll:function(){for(var f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(45319),l=t(83419),i=t(19715),s=new l({initialize:function(o){this.camera=o,this.isRunning=!1,this.isComplete=!1,this.direction=!0,this.duration=0,this.red=0,this.green=0,this.blue=0,this.alpha=0,this.progress=0,this._elapsed=0,this._onUpdate,this._onUpdateScope},start:function(r,o,a,u,f,v,c,g){if(r===void 0&&(r=!0),o===void 0&&(o=1e3),a===void 0&&(a=0),u===void 0&&(u=0),f===void 0&&(f=0),v===void 0&&(v=!1),c===void 0&&(c=null),g===void 0&&(g=this.camera.scene),!v&&this.isRunning)return this.camera;this.isRunning=!0,this.isComplete=!1,this.duration=o,this.direction=r,this.progress=0,this.red=a,this.green=u,this.blue=f,this.alpha=r?Number.MIN_VALUE:1,this._elapsed=0,this._onUpdate=c,this._onUpdateScope=g;var p=r?i.FADE_OUT_START:i.FADE_IN_START;return this.camera.emit(p,this.camera,this,o,a,u,f),this.camera},update:function(r,o){this.isRunning&&(this._elapsed+=o,this.progress=e(this._elapsed/this.duration,0,1),this._onUpdate&&this._onUpdate.call(this._onUpdateScope,this.camera,this.progress),this._elapsed{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(45319),l=t(83419),i=t(19715),s=new l({initialize:function(o){this.camera=o,this.isRunning=!1,this.duration=0,this.red=0,this.green=0,this.blue=0,this.alpha=1,this.progress=0,this._elapsed=0,this._alpha,this._onUpdate,this._onUpdateScope},start:function(r,o,a,u,f,v,c){return r===void 0&&(r=250),o===void 0&&(o=255),a===void 0&&(a=255),u===void 0&&(u=255),f===void 0&&(f=!1),v===void 0&&(v=null),c===void 0&&(c=this.camera.scene),!f&&this.isRunning?this.camera:(this.isRunning=!0,this.duration=r,this.progress=0,this.red=o,this.green=a,this.blue=u,this._alpha=this.alpha,this._elapsed=0,this._onUpdate=v,this._onUpdateScope=c,this.camera.emit(i.FLASH_START,this.camera,this,r,o,a,u),this.camera)},update:function(r,o){this.isRunning&&(this._elapsed+=o,this.progress=e(this._elapsed/this.duration,0,1),this._onUpdate&&this._onUpdate.call(this._onUpdateScope,this.camera,this.progress),this._elapsed{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(45319),l=t(83419),i=t(62640),s=t(19715),r=t(26099),o=new l({initialize:function(u){this.camera=u,this.isRunning=!1,this.duration=0,this.source=new r,this.current=new r,this.destination=new r,this.ease,this.progress=0,this._elapsed=0,this._onUpdate,this._onUpdateScope},start:function(a,u,f,v,c,g,p){f===void 0&&(f=1e3),v===void 0&&(v=i.Linear),c===void 0&&(c=!1),g===void 0&&(g=null),p===void 0&&(p=this.camera.scene);var T=this.camera;return!c&&this.isRunning||(this.isRunning=!0,this.duration=f,this.progress=0,this.source.set(T.scrollX,T.scrollY),this.destination.set(a,u),T.getScroll(a,u,this.current),typeof v=="string"&&i.hasOwnProperty(v)?this.ease=i[v]:typeof v=="function"&&(this.ease=v),this._elapsed=0,this._onUpdate=g,this._onUpdateScope=p,this.camera.emit(s.PAN_START,this.camera,this,f,a,u)),T},update:function(a,u){if(this.isRunning){this._elapsed+=u;var f=e(this._elapsed/this.duration,0,1);this.progress=f;var v=this.camera;if(this._elapsed{/** + * @author Jason Nicholls + * @copyright 2018 Photon Storm Ltd. + * @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License} + */var e=t(45319),l=t(83419),i=t(19715),s=t(62640),r=t(86554),o=new l({initialize:function(u){this.camera=u,this.isRunning=!1,this.duration=0,this.source=0,this.current=0,this.destination=0,this.ease,this.progress=0,this._elapsed=0,this._onUpdate,this._onUpdateScope,this.clockwise=!0,this.shortestPath=!1},start:function(a,u,f,v,c,g,p){f===void 0&&(f=1e3),v===void 0&&(v=s.Linear),c===void 0&&(c=!1),g===void 0&&(g=null),p===void 0&&(p=this.camera.scene),u===void 0&&(u=!1);var T=this.camera;if(!c&&this.isRunning)return T;if(this.shortestPath=u,this.isRunning=!0,this.duration=f,this.progress=0,this.source=T.rotation,this.destination=a,typeof v=="string"&&s.hasOwnProperty(v)?this.ease=s[v]:typeof v=="function"&&(this.ease=v),this._elapsed=0,this._onUpdate=g,this._onUpdateScope=p,this.shortestPath){var C=r(this.destination-this.source);this.destination=this.source+C,this.clockwise=C>=0}else this.clockwise=this.destination>=this.source;return this.camera.emit(i.ROTATE_START,this.camera,this,f,this.destination),T},update:function(a,u){if(this.isRunning){this._elapsed+=u;var f=e(this._elapsed/this.duration,0,1);this.progress=f;var v=this.camera;if(this._elapsed{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(45319),l=t(83419),i=t(19715),s=t(26099),r=new l({initialize:function(a){this.camera=a,this.isRunning=!1,this.duration=0,this.intensity=new s,this.progress=0,this._elapsed=0,this._offsetX=0,this._offsetY=0,this._onUpdate,this._onUpdateScope},start:function(o,a,u,f,v){return o===void 0&&(o=100),a===void 0&&(a=.05),u===void 0&&(u=!1),f===void 0&&(f=null),v===void 0&&(v=this.camera.scene),!u&&this.isRunning?this.camera:(this.isRunning=!0,this.duration=o,this.progress=0,typeof a=="number"?this.intensity.set(a):this.intensity.set(a.x,a.y),this._elapsed=0,this._offsetX=0,this._offsetY=0,this._onUpdate=f,this._onUpdateScope=v,this.camera.emit(i.SHAKE_START,this.camera,this,o,a),this.camera)},preRender:function(){this.isRunning&&this.camera.matrix.translate(this._offsetX,this._offsetY)},update:function(o,a){if(this.isRunning)if(this._elapsed+=a,this.progress=e(this._elapsed/this.duration,0,1),this._onUpdate&&this._onUpdate.call(this._onUpdateScope,this.camera,this.progress),this._elapsed{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(45319),l=t(83419),i=t(62640),s=t(19715),r=new l({initialize:function(a){this.camera=a,this.isRunning=!1,this.duration=0,this.source=1,this.destination=1,this.ease,this.progress=0,this._elapsed=0,this._onUpdate,this._onUpdateScope},start:function(o,a,u,f,v,c){a===void 0&&(a=1e3),u===void 0&&(u=i.Linear),f===void 0&&(f=!1),v===void 0&&(v=null),c===void 0&&(c=this.camera.scene);var g=this.camera;return!f&&this.isRunning||(this.isRunning=!0,this.duration=a,this.progress=0,this.source=g.zoom,this.destination=o,typeof u=="string"&&i.hasOwnProperty(u)?this.ease=i[u]:typeof u=="function"&&(this.ease=u),this._elapsed=0,this._onUpdate=v,this._onUpdateScope=c,this.camera.emit(s.ZOOM_START,this.camera,this,a,o)),g},update:function(o,a){this.isRunning&&(this._elapsed+=a,this.progress=e(this._elapsed/this.duration,0,1),this._elapsed{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Fade:t(5020),Flash:t(10662),Pan:t(20359),Shake:t(30330),RotateTo:t(34208),Zoom:t(45641)}},16438:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="cameradestroy"},32726:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="camerafadeincomplete"},87807:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="camerafadeinstart"},45917:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="camerafadeoutcomplete"},95666:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="camerafadeoutstart"},47056:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="cameraflashcomplete"},91261:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="cameraflashstart"},45047:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="followupdate"},81927:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="camerapancomplete"},74264:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="camerapanstart"},54419:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="postrender"},79330:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="prerender"},93183:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="camerarotatecomplete"},80112:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="camerarotatestart"},62252:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="camerashakecomplete"},86017:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="camerashakestart"},539:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="camerazoomcomplete"},51892:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="camerazoomstart"},19715:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={DESTROY:t(16438),FADE_IN_COMPLETE:t(32726),FADE_IN_START:t(87807),FADE_OUT_COMPLETE:t(45917),FADE_OUT_START:t(95666),FLASH_COMPLETE:t(47056),FLASH_START:t(91261),FOLLOW_UPDATE:t(45047),PAN_COMPLETE:t(81927),PAN_START:t(74264),POST_RENDER:t(54419),PRE_RENDER:t(79330),ROTATE_COMPLETE:t(93183),ROTATE_START:t(80112),SHAKE_COMPLETE:t(62252),SHAKE_START:t(86017),ZOOM_COMPLETE:t(539),ZOOM_START:t(51892)}},87969:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Camera:t(38058),BaseCamera:t(71911),CameraManager:t(32743),Effects:t(20052),Events:t(19715)}},63091:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(35154),i=new e({initialize:function(r){this.camera=l(r,"camera",null),this.left=l(r,"left",null),this.right=l(r,"right",null),this.up=l(r,"up",null),this.down=l(r,"down",null),this.zoomIn=l(r,"zoomIn",null),this.zoomOut=l(r,"zoomOut",null),this.zoomSpeed=l(r,"zoomSpeed",.01),this.minZoom=l(r,"minZoom",.001),this.maxZoom=l(r,"maxZoom",1e3),this.speedX=0,this.speedY=0;var o=l(r,"speed",null);typeof o=="number"?(this.speedX=o,this.speedY=o):(this.speedX=l(r,"speed.x",0),this.speedY=l(r,"speed.y",0)),this._zoom=0,this.active=this.camera!==null},start:function(){return this.active=this.camera!==null,this},stop:function(){return this.active=!1,this},setCamera:function(s){return this.camera=s,this},update:function(s){if(this.active){s===void 0&&(s=1);var r=this.camera;this.up&&this.up.isDown?r.scrollY-=this.speedY*s|0:this.down&&this.down.isDown&&(r.scrollY+=this.speedY*s|0),this.left&&this.left.isDown?r.scrollX-=this.speedX*s|0:this.right&&this.right.isDown&&(r.scrollX+=this.speedX*s|0),this.zoomIn&&this.zoomIn.isDown?(r.zoom-=this.zoomSpeed,r.zoomthis.maxZoom&&(r.zoom=this.maxZoom))}},destroy:function(){this.camera=null,this.left=null,this.right=null,this.up=null,this.down=null,this.zoomIn=null,this.zoomOut=null}});h.exports=i},58818:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(35154),i=new e({initialize:function(r){this.camera=l(r,"camera",null),this.left=l(r,"left",null),this.right=l(r,"right",null),this.up=l(r,"up",null),this.down=l(r,"down",null),this.zoomIn=l(r,"zoomIn",null),this.zoomOut=l(r,"zoomOut",null),this.zoomSpeed=l(r,"zoomSpeed",.01),this.minZoom=l(r,"minZoom",.001),this.maxZoom=l(r,"maxZoom",1e3),this.accelX=0,this.accelY=0;var o=l(r,"acceleration",null);typeof o=="number"?(this.accelX=o,this.accelY=o):(this.accelX=l(r,"acceleration.x",0),this.accelY=l(r,"acceleration.y",0)),this.dragX=0,this.dragY=0;var a=l(r,"drag",null);typeof a=="number"?(this.dragX=a,this.dragY=a):(this.dragX=l(r,"drag.x",0),this.dragY=l(r,"drag.y",0)),this.maxSpeedX=0,this.maxSpeedY=0;var u=l(r,"maxSpeed",null);typeof u=="number"?(this.maxSpeedX=u,this.maxSpeedY=u):(this.maxSpeedX=l(r,"maxSpeed.x",0),this.maxSpeedY=l(r,"maxSpeed.y",0)),this._speedX=0,this._speedY=0,this._zoom=0,this.active=this.camera!==null},start:function(){return this.active=this.camera!==null,this},stop:function(){return this.active=!1,this},setCamera:function(s){return this.camera=s,this},update:function(s){if(this.active){s===void 0&&(s=1);var r=this.camera;this._speedX>0?(this._speedX-=this.dragX*s,this._speedX<0&&(this._speedX=0)):this._speedX<0&&(this._speedX+=this.dragX*s,this._speedX>0&&(this._speedX=0)),this._speedY>0?(this._speedY-=this.dragY*s,this._speedY<0&&(this._speedY=0)):this._speedY<0&&(this._speedY+=this.dragY*s,this._speedY>0&&(this._speedY=0)),this.up&&this.up.isDown?(this._speedY+=this.accelY,this._speedY>this.maxSpeedY&&(this._speedY=this.maxSpeedY)):this.down&&this.down.isDown&&(this._speedY-=this.accelY,this._speedY<-this.maxSpeedY&&(this._speedY=-this.maxSpeedY)),this.left&&this.left.isDown?(this._speedX+=this.accelX,this._speedX>this.maxSpeedX&&(this._speedX=this.maxSpeedX)):this.right&&this.right.isDown&&(this._speedX-=this.accelX,this._speedX<-this.maxSpeedX&&(this._speedX=-this.maxSpeedX)),this.zoomIn&&this.zoomIn.isDown?this._zoom=-this.zoomSpeed:this.zoomOut&&this.zoomOut.isDown?this._zoom=this.zoomSpeed:this._zoom=0,this._speedX!==0&&(r.scrollX-=this._speedX*s|0),this._speedY!==0&&(r.scrollY-=this._speedY*s|0),this._zoom!==0&&(r.zoom+=this._zoom,r.zoomthis.maxZoom&&(r.zoom=this.maxZoom))}},destroy:function(){this.camera=null,this.left=null,this.right=null,this.up=null,this.down=null,this.zoomIn=null,this.zoomOut=null}});h.exports=i},38865:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={FixedKeyControl:t(63091),SmoothedKeyControl:t(58818)}},26638:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Controls:t(38865),Scene2D:t(87969)}},8054:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e={VERSION:"4.0.0 RC6",LOG_VERSION:"v400",BlendModes:t(10312),ScaleModes:t(29795),AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,FOREVER:-1,NONE:4,UP:5,DOWN:6,LEFT:7,RIGHT:8};h.exports=e},69547:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(8054),i=t(42363),s=t(82264),r=t(95540),o=t(35154),a=t(41212),u=t(29747),f=t(75508),v=t(80333),c=new e({initialize:function(p){p===void 0&&(p={});var T=["#ff0000","#ffff00","#00ff00","#00ffff","#000000"],C="#ffffff",M=o(p,"scale",null);this.width=o(M,"width",1024,p),this.height=o(M,"height",768,p),this.zoom=o(M,"zoom",1,p),this.parent=o(M,"parent",void 0,p),this.scaleMode=o(M,M?"mode":"scaleMode",0,p),this.expandParent=o(M,"expandParent",!0,p),this.autoRound=o(M,"autoRound",!1,p),this.autoCenter=o(M,"autoCenter",0,p),this.resizeInterval=o(M,"resizeInterval",500,p),this.fullscreenTarget=o(M,"fullscreenTarget",null,p),this.minWidth=o(M,"min.width",0,p),this.maxWidth=o(M,"max.width",0,p),this.minHeight=o(M,"min.height",0,p),this.maxHeight=o(M,"max.height",0,p),this.snapWidth=o(M,"snap.width",0,p),this.snapHeight=o(M,"snap.height",0,p),this.renderType=o(p,"type",l.AUTO),this.canvas=o(p,"canvas",null),this.context=o(p,"context",null),this.canvasStyle=o(p,"canvasStyle",null),this.customEnvironment=o(p,"customEnvironment",!1),this.sceneConfig=o(p,"scene",null),this.seed=o(p,"seed",[(Date.now()*Math.random()).toString()]),f.RND=new f.RandomDataGenerator(this.seed),this.gameTitle=o(p,"title",""),this.gameURL=o(p,"url","https://phaser.io/"+l.LOG_VERSION),this.gameVersion=o(p,"version",""),this.autoFocus=o(p,"autoFocus",!0),this.stableSort=o(p,"stableSort",-1),this.stableSort===-1&&(this.stableSort=s.browser.es2019?1:0),s.features.stableSort=this.stableSort,this.domCreateContainer=o(p,"dom.createContainer",!1),this.domPointerEvents=o(p,"dom.pointerEvents","none"),this.inputKeyboard=o(p,"input.keyboard",!0),this.inputKeyboardEventTarget=o(p,"input.keyboard.target",window),this.inputKeyboardCapture=o(p,"input.keyboard.capture",[]),this.inputMouse=o(p,"input.mouse",!0),this.inputMouseEventTarget=o(p,"input.mouse.target",null),this.inputMousePreventDefaultDown=o(p,"input.mouse.preventDefaultDown",!0),this.inputMousePreventDefaultUp=o(p,"input.mouse.preventDefaultUp",!0),this.inputMousePreventDefaultMove=o(p,"input.mouse.preventDefaultMove",!0),this.inputMousePreventDefaultWheel=o(p,"input.mouse.preventDefaultWheel",!0),this.inputTouch=o(p,"input.touch",s.input.touch),this.inputTouchEventTarget=o(p,"input.touch.target",null),this.inputTouchCapture=o(p,"input.touch.capture",!0),this.inputActivePointers=o(p,"input.activePointers",1),this.inputSmoothFactor=o(p,"input.smoothFactor",0),this.inputWindowEvents=o(p,"input.windowEvents",!0),this.inputGamepad=o(p,"input.gamepad",!1),this.inputGamepadEventTarget=o(p,"input.gamepad.target",window),this.disableContextMenu=o(p,"disableContextMenu",!1),this.audio=o(p,"audio",{}),this.hideBanner=o(p,"banner",null)===!1,this.hidePhaser=o(p,"banner.hidePhaser",!1),this.bannerTextColor=o(p,"banner.text",C),this.bannerBackgroundColor=o(p,"banner.background",T),this.gameTitle===""&&this.hidePhaser&&(this.hideBanner=!0),this.fps=o(p,"fps",null);var A=o(p,"render",null);this.autoMobileTextures=o(A,"autoMobileTextures",!0,p),this.antialias=o(A,"antialias",!0,p),this.antialiasGL=o(A,"antialiasGL",!0,p),this.mipmapFilter=o(A,"mipmapFilter","",p),this.desynchronized=o(A,"desynchronized",!1,p),this.roundPixels=o(A,"roundPixels",!1,p),this.selfShadow=o(A,"selfShadow",!1,p),this.pathDetailThreshold=o(A,"pathDetailThreshold",1,p),this.pixelArt=o(A,"pixelArt",this.zoom!==1,p),this.pixelArt&&(this.antialias=!1,this.antialiasGL=!1,this.roundPixels=!0),this.smoothPixelArt=o(A,"smoothPixelArt",!1,p),this.smoothPixelArt&&(this.antialias=!0,this.antialiasGL=!0,this.pixelArt=!1),this.transparent=o(A,"transparent",!1,p),this.clearBeforeRender=o(A,"clearBeforeRender",!0,p),this.preserveDrawingBuffer=o(A,"preserveDrawingBuffer",!1,p),this.premultipliedAlpha=o(A,"premultipliedAlpha",!0,p),this.skipUnreadyShaders=o(A,"skipUnreadyShaders",!1,p),this.failIfMajorPerformanceCaveat=o(A,"failIfMajorPerformanceCaveat",!1,p),this.powerPreference=o(A,"powerPreference","default",p),this.batchSize=o(A,"batchSize",16384,p),this.maxTextures=o(A,"maxTextures",-1,p),this.maxLights=o(A,"maxLights",10,p),this.renderNodes=o(A,"renderNodes",{},p);var R=o(p,"backgroundColor",0);this.backgroundColor=v(R),this.transparent&&(this.backgroundColor=v(0),this.backgroundColor.alpha=0),this.preBoot=o(p,"callbacks.preBoot",u),this.postBoot=o(p,"callbacks.postBoot",u),this.physics=o(p,"physics",{}),this.defaultPhysicsSystem=o(this.physics,"default",!1),this.loaderBaseURL=o(p,"loader.baseURL",""),this.loaderPath=o(p,"loader.path",""),this.loaderMaxParallelDownloads=o(p,"loader.maxParallelDownloads",s.os.android?6:32),this.loaderCrossOrigin=o(p,"loader.crossOrigin",void 0),this.loaderResponseType=o(p,"loader.responseType",""),this.loaderAsync=o(p,"loader.async",!0),this.loaderUser=o(p,"loader.user",""),this.loaderPassword=o(p,"loader.password",""),this.loaderTimeout=o(p,"loader.timeout",0),this.loaderMaxRetries=o(p,"loader.maxRetries",2),this.loaderWithCredentials=o(p,"loader.withCredentials",!1),this.loaderImageLoadType=o(p,"loader.imageLoadType","XHR"),this.loaderLocalScheme=o(p,"loader.localScheme",["file://","capacitor://"]),this.glowQuality=o(p,"filters.glow.quality",10),this.glowDistance=o(p,"filters.glow.distance",10),this.installGlobalPlugins=[],this.installScenePlugins=[];var P=o(p,"plugins",null),L=i.DefaultScene;P&&(Array.isArray(P)?this.defaultPlugins=P:a(P)&&(this.installGlobalPlugins=r(P,"global",[]),this.installScenePlugins=r(P,"scene",[]),Array.isArray(P.default)?L=P.default:Array.isArray(P.defaultMerge)&&(L=L.concat(P.defaultMerge)))),this.defaultPlugins=L;var F="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAg";this.defaultImage=o(p,"images.default",F+"AQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg=="),this.missingImage=o(p,"images.missing",F+"CAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg=="),this.whiteImage=o(p,"images.white","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABdJREFUeNpi/P//PwMMMDEgAdwcgAADAJZuAwXJYZOzAAAAAElFTkSuQmCC"),window&&(window.FORCE_WEBGL?this.renderType=l.WEBGL:window.FORCE_CANVAS&&(this.renderType=l.CANVAS))}});h.exports=c},86054:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(20623),l=t(27919),i=t(8054),s=t(89357),r=function(o){var a=o.config;if((a.customEnvironment||a.canvas)&&a.renderType===i.AUTO)throw new Error("Must set explicit renderType in custom environment");if(!a.customEnvironment&&!a.canvas&&a.renderType!==i.HEADLESS)if(a.renderType===i.AUTO&&(a.renderType=s.webGL?i.WEBGL:i.CANVAS),a.renderType===i.WEBGL){if(!s.webGL)throw new Error("Cannot create WebGL context, aborting.")}else if(a.renderType===i.CANVAS){if(!s.canvas)throw new Error("Cannot create Canvas context, aborting.")}else throw new Error("Unknown value for renderer type: "+a.renderType);a.antialias||l.disableSmoothing();var u=o.scale.baseSize,f=u.width,v=u.height;if(a.canvas?(o.canvas=a.canvas,o.canvas.width=f,o.canvas.height=v):o.canvas=l.create(o,f,v,a.renderType),a.canvasStyle&&(o.canvas.style=a.canvasStyle),a.antialias||e.setCrisp(o.canvas),a.renderType!==i.HEADLESS){var c,g;c=t(68627),g=t(74797),a.renderType===i.WEBGL?o.renderer=new g(o):(o.renderer=new c(o),o.context=o.renderer.gameContext)}};h.exports=r},96391:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(8054),l=function(i){var s=i.config;if(!s.hideBanner){var r="WebGL";s.renderType===e.CANVAS?r="Canvas":s.renderType===e.HEADLESS&&(r="Headless");var o=s.audio,a=i.device.audio,u;if(a.webAudio&&!o.disableWebAudio?u="Web Audio":o.noAudio||!a.webAudio&&!a.audioData?u="No Audio":u="HTML5 Audio",i.device.browser.ie)window.console&&console.log("Phaser v"+e.VERSION+" / https://phaser.io");else{var f="",v=[f];if(Array.isArray(s.bannerBackgroundColor)){var c;s.bannerBackgroundColor.forEach(function(g){f=f.concat("%c "),v.push("background: "+g),c=g}),v[v.length-1]="color: "+s.bannerTextColor+"; background: "+c}else f=f.concat("%c "),v.push("color: "+s.bannerTextColor+"; background: "+s.bannerBackgroundColor);v.push("background: transparent"),s.gameTitle&&(f=f.concat(s.gameTitle),s.gameVersion&&(f=f.concat(" v"+s.gameVersion)),s.hidePhaser||(f=f.concat(" / "))),s.hidePhaser||(f=f.concat("Phaser v"+e.VERSION+" ("+r+" | "+u+")")),f=f.concat(" %c "+s.gameURL),v[0]=f,console.log.apply(console,v)}}};h.exports=l},50127:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(40366),l=t(60848),i=t(24047),s=t(27919),r=t(83419),o=t(69547),a=t(83719),u=t(86054),f=t(45893),v=t(96391),c=t(82264),g=t(57264),p=t(50792),T=t(8443),C=t(7003),M=t(37277),A=t(77332),R=t(76531),P=t(60903),L=t(69442),F=t(17130),w=t(65898),O=t(51085),B=t(14747),I=new r({initialize:function(N){this.config=new o(N),this.renderer=null,this.domContainer=null,this.canvas=null,this.context=null,this.isBooted=!1,this.isRunning=!1,this.events=new p,this.anims=new l(this),this.textures=new F(this),this.cache=new i(this),this.registry=new f(this,new p),this.input=new C(this,this.config),this.scene=new P(this,this.config.sceneConfig),this.device=c,this.scale=new R(this,this.config),this.sound=null,this.sound=B.create(this),this.loop=new w(this,this.config.fps),this.plugins=new A(this,this.config),this.pendingDestroy=!1,this.removeCanvas=!1,this.noReturn=!1,this.hasFocus=!1,this.isPaused=!1,g(this.boot.bind(this))},boot:function(){if(!M.hasCore("EventEmitter")){console.warn("Aborting. Core Plugins missing.");return}this.isBooted=!0,this.config.preBoot(this),this.scale.preBoot(),u(this),a(this),v(this),e(this.canvas,this.config.parent),this.textures.once(L.READY,this.texturesReady,this),this.events.emit(T.BOOT)},texturesReady:function(){this.events.emit(T.READY),this.start()},start:function(){this.isRunning=!0,this.config.postBoot(this),this.renderer?this.loop.start(this.step.bind(this)):this.loop.start(this.headlessStep.bind(this)),O(this);var D=this.events;D.on(T.HIDDEN,this.onHidden,this),D.on(T.VISIBLE,this.onVisible,this),D.on(T.BLUR,this.onBlur,this),D.on(T.FOCUS,this.onFocus,this)},step:function(D,N){if(this.pendingDestroy)return this.runDestroy();if(!this.isPaused){var z=this.events;z.emit(T.PRE_STEP,D,N),z.emit(T.STEP,D,N),this.scene.update(D,N),z.emit(T.POST_STEP,D,N);var V=this.renderer;V.preRender(),z.emit(T.PRE_RENDER,V,D,N),this.scene.render(V),V.postRender(),z.emit(T.POST_RENDER,V,D,N)}},headlessStep:function(D,N){if(this.pendingDestroy)return this.runDestroy();if(!this.isPaused){var z=this.events;z.emit(T.PRE_STEP,D,N),z.emit(T.STEP,D,N),this.scene.update(D,N),z.emit(T.POST_STEP,D,N),this.scene.isProcessing=!1,z.emit(T.PRE_RENDER,null,D,N),z.emit(T.POST_RENDER,null,D,N)}},onHidden:function(){this.loop.pause(),this.events.emit(T.PAUSE)},pause:function(){var D=this.isPaused;this.isPaused=!0,D||this.events.emit(T.PAUSE)},onVisible:function(){this.loop.resume(),this.events.emit(T.RESUME,this.loop.pauseDuration)},resume:function(){var D=this.isPaused;this.isPaused=!1,D&&this.events.emit(T.RESUME,0)},onBlur:function(){this.hasFocus=!1,this.loop.blur()},onFocus:function(){this.hasFocus=!0,this.loop.focus()},getFrame:function(){return this.loop.frame},getTime:function(){return this.loop.now},destroy:function(D,N){N===void 0&&(N=!1),this.pendingDestroy=!0,this.removeCanvas=D,this.noReturn=N},runDestroy:function(){this.scene.destroy(),this.events.emit(T.DESTROY),this.events.removeAllListeners(),this.renderer&&this.renderer.destroy(),this.removeCanvas&&this.canvas&&(s.remove(this.canvas),this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas)),this.domContainer&&this.domContainer.parentNode&&this.domContainer.parentNode.removeChild(this.domContainer),this.loop.destroy(),this.pendingDestroy=!1}});h.exports=I},65898:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(35154),i=t(29747),s=t(43092),r=new e({initialize:function(a,u){this.game=a,this.raf=new s,this.started=!1,this.running=!1,this.minFps=l(u,"min",5),this.targetFps=l(u,"target",60),this.fpsLimit=l(u,"limit",0),this.hasFpsLimit=this.fpsLimit>0,this._limitRate=this.hasFpsLimit?1e3/this.fpsLimit:0,this._min=1e3/this.minFps,this._target=1e3/this.targetFps,this.actualFps=this.targetFps,this.nextFpsUpdate=0,this.framesThisSecond=0,this.callback=i,this.forceSetTimeOut=l(u,"forceSetTimeOut",!1),this.time=0,this.startTime=0,this.lastTime=0,this.frame=0,this.inFocus=!0,this.pauseDuration=0,this._pauseTime=0,this._coolDown=0,this.delta=0,this.deltaIndex=0,this.deltaHistory=[],this.deltaSmoothingMax=l(u,"deltaHistory",10),this.panicMax=l(u,"panicMax",120),this.rawDelta=0,this.now=0,this.smoothStep=l(u,"smoothStep",!0)},blur:function(){this.inFocus=!1},focus:function(){this.inFocus=!0,this.resetDelta()},pause:function(){this._pauseTime=window.performance.now()},resume:function(){this.resetDelta(),this.pauseDuration=this.time-this._pauseTime,this.startTime+=this.pauseDuration},resetDelta:function(){var o=window.performance.now();this.time=o,this.lastTime=o,this.nextFpsUpdate=o+1e3,this.framesThisSecond=0;for(var a=0;a0||!this.inFocus)&&(this._coolDown--,o=Math.min(o,this._target)),o>this._min&&(o=u[a],o=Math.min(o,this._min)),u[a]=o,this.deltaIndex++,this.deltaIndex>=f&&(this.deltaIndex=0);for(var v=0,c=0;c=this.nextFpsUpdate&&this.updateFPS(o),this.framesThisSecond++,this.delta>=this._limitRate&&(this.callback(o,this.delta),this.delta=0),this.lastTime=o,this.frame++},step:function(o){this.now=o;var a=Math.max(0,o-this.lastTime);this.rawDelta=a,this.time+=this.rawDelta,this.smoothStep&&(a=this.smoothDelta(a)),this.delta=a,o>=this.nextFpsUpdate&&this.updateFPS(o),this.framesThisSecond++,this.callback(o,a),this.lastTime=o,this.frame++},tick:function(){var o=window.performance.now();this.hasFpsLimit?this.stepLimitFPS(o):this.step(o)},sleep:function(){this.running&&(this.raf.stop(),this.running=!1)},wake:function(o){o===void 0&&(o=!1);var a=window.performance.now();if(!this.running){o&&(this.startTime+=-this.lastTime+(this.lastTime+a));var u=this.hasFpsLimit?this.stepLimitFPS.bind(this):this.step.bind(this);this.raf.start(u,this.forceSetTimeOut,this._target),this.running=!0,this.nextFpsUpdate=a+1e3,this.framesThisSecond=0,this.fpsLimitTriggered=!1,this.tick()}},getDuration:function(){return Math.round(this.lastTime-this.startTime)/1e3},getDurationMS:function(){return Math.round(this.lastTime-this.startTime)},stop:function(){return this.running=!1,this.started=!1,this.raf.stop(),this},destroy:function(){this.stop(),this.raf.destroy(),this.raf=null,this.game=null,this.callback=null}});h.exports=r},51085:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(8443),l=function(i){var s,r=i.events;if(document.hidden!==void 0)s="visibilitychange";else{var o=["webkit","moz","ms"];o.forEach(function(u){document[u+"Hidden"]!==void 0&&(document.hidden=function(){return document[u+"Hidden"]},s=u+"visibilitychange")})}var a=function(u){document.hidden||u.type==="pause"?r.emit(e.HIDDEN):r.emit(e.VISIBLE)};s&&document.addEventListener(s,a,!1),window.onblur=function(){r.emit(e.BLUR)},window.onfocus=function(){r.emit(e.FOCUS)},window.focus&&i.config.autoFocus&&window.focus()};h.exports=l},97217:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="blur"},47548:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="boot"},19814:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="contextlost"},68446:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="destroy"},41700:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="focus"},25432:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="hidden"},65942:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pause"},59211:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="postrender"},47789:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="poststep"},39066:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="prerender"},460:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="prestep"},16175:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="ready"},42331:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="resume"},11966:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="step"},32969:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="systemready"},94830:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="visible"},8443:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={BLUR:t(97217),BOOT:t(47548),CONTEXT_LOST:t(19814),DESTROY:t(68446),FOCUS:t(41700),HIDDEN:t(25432),PAUSE:t(65942),POST_RENDER:t(59211),POST_STEP:t(47789),PRE_RENDER:t(39066),PRE_STEP:t(460),READY:t(16175),RESUME:t(42331),STEP:t(11966),SYSTEM_READY:t(32969),VISIBLE:t(94830)}},42857:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Config:t(69547),CreateRenderer:t(86054),DebugHeader:t(96391),Events:t(8443),TimeStep:t(65898),VisibilityHandler:t(51085)}},46728:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(36316),i=t(80021),s=t(26099),r=new e({Extends:i,initialize:function(a,u,f,v){i.call(this,"CubicBezierCurve"),Array.isArray(a)&&(v=new s(a[6],a[7]),f=new s(a[4],a[5]),u=new s(a[2],a[3]),a=new s(a[0],a[1])),this.p0=a,this.p1=u,this.p2=f,this.p3=v},getStartPoint:function(o){return o===void 0&&(o=new s),o.copy(this.p0)},getResolution:function(o){return o},getPoint:function(o,a){a===void 0&&(a=new s);var u=this.p0,f=this.p1,v=this.p2,c=this.p3;return a.set(l(o,u.x,f.x,v.x,c.x),l(o,u.y,f.y,v.y,c.y))},draw:function(o,a){a===void 0&&(a=32);var u=this.getPoints(a);o.beginPath(),o.moveTo(this.p0.x,this.p0.y);for(var f=1;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(19217),i=t(87841),s=t(26099),r=new e({initialize:function(a){this.type=a,this.defaultDivisions=5,this.arcLengthDivisions=100,this.cacheArcLengths=[],this.needsUpdate=!0,this.active=!0,this._tmpVec2A=new s,this._tmpVec2B=new s},draw:function(o,a){return a===void 0&&(a=32),o.strokePoints(this.getPoints(a))},getBounds:function(o,a){o||(o=new i),a===void 0&&(a=16);var u=this.getLength();a>u&&(a=u/2);var f=Math.max(1,Math.round(u/a));return l(this.getSpacedPoints(f),o)},getDistancePoints:function(o){var a=this.getLength(),u=Math.max(1,a/o);return this.getSpacedPoints(u)},getEndPoint:function(o){return o===void 0&&(o=new s),this.getPointAt(1,o)},getLength:function(){var o=this.getLengths();return o[o.length-1]},getLengths:function(o){if(o===void 0&&(o=this.arcLengthDivisions),this.cacheArcLengths.length===o+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var a=[],u,f=this.getPoint(0,this._tmpVec2A),v=0;a.push(0);for(var c=1;c<=o;c++)u=this.getPoint(c/o,this._tmpVec2B),v+=u.distance(f),a.push(v),f.copy(u);return this.cacheArcLengths=a,a},getPointAt:function(o,a){var u=this.getUtoTmapping(o);return this.getPoint(u,a)},getPoints:function(o,a,u){u===void 0&&(u=[]),o||(a?o=this.getLength()/a:o=this.defaultDivisions);for(var f=0;f<=o;f++)u.push(this.getPoint(f/o));return u},getRandomPoint:function(o){return o===void 0&&(o=new s),this.getPoint(Math.random(),o)},getSpacedPoints:function(o,a,u){u===void 0&&(u=[]),o||(a?o=this.getLength()/a:o=this.defaultDivisions);for(var f=0;f<=o;f++){var v=this.getUtoTmapping(f/o,null,o);u.push(this.getPoint(v))}return u},getStartPoint:function(o){return o===void 0&&(o=new s),this.getPointAt(0,o)},getTangent:function(o,a){a===void 0&&(a=new s);var u=1e-4,f=o-u,v=o+u;return f<0&&(f=0),v>1&&(v=1),this.getPoint(f,this._tmpVec2A),this.getPoint(v,a),a.subtract(this._tmpVec2A).normalize()},getTangentAt:function(o,a){var u=this.getUtoTmapping(o);return this.getTangent(u,a)},getTFromDistance:function(o,a){return o<=0?0:this.getUtoTmapping(0,o,a)},getUtoTmapping:function(o,a,u){var f=this.getLengths(u),v=0,c=f.length,g;a?g=Math.min(a,f[c-1]):g=o*f[c-1];for(var p=0,T=c-1,C;p<=T;)if(v=Math.floor(p+(T-p)/2),C=f[v]-g,C<0)p=v+1;else if(C>0)T=v-1;else{T=v;break}if(v=T,f[v]===g)return v/(c-1);var M=f[v],A=f[v+1],R=A-M,P=(g-M)/R;return(v+P)/(c-1)},updateArcLengths:function(){this.needsUpdate=!0,this.getLengths()}});h.exports=r},73825:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(80021),i=t(39506),s=t(35154),r=t(43396),o=t(26099),a=new e({Extends:l,initialize:function(f,v,c,g,p,T,C,M){if(typeof f=="object"){var A=f;f=s(A,"x",0),v=s(A,"y",0),c=s(A,"xRadius",0),g=s(A,"yRadius",c),p=s(A,"startAngle",0),T=s(A,"endAngle",360),C=s(A,"clockwise",!1),M=s(A,"rotation",0)}else g===void 0&&(g=c),p===void 0&&(p=0),T===void 0&&(T=360),C===void 0&&(C=!1),M===void 0&&(M=0);l.call(this,"EllipseCurve"),this.p0=new o(f,v),this._xRadius=c,this._yRadius=g,this._startAngle=i(p),this._endAngle=i(T),this._clockwise=C,this._rotation=i(M)},getStartPoint:function(u){return u===void 0&&(u=new o),this.getPoint(0,u)},getResolution:function(u){return u*2},getPoint:function(u,f){f===void 0&&(f=new o);for(var v=Math.PI*2,c=this._endAngle-this._startAngle,g=Math.abs(c)v;)c-=v;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(80021),i=t(19217),s=t(87841),r=t(26099),o=new e({Extends:l,initialize:function(u,f){l.call(this,"LineCurve"),Array.isArray(u)&&(f=new r(u[2],u[3]),u=new r(u[0],u[1])),this.p0=u,this.p1=f,this.arcLengthDivisions=1},getBounds:function(a){return a===void 0&&(a=new s),i([this.p0,this.p1],a)},getStartPoint:function(a){return a===void 0&&(a=new r),a.copy(this.p0)},getResolution:function(a){return a===void 0&&(a=1),a},getPoint:function(a,u){return u===void 0&&(u=new r),a===1?u.copy(this.p1):(u.copy(this.p1).subtract(this.p0).scale(a).add(this.p0),u)},getPointAt:function(a,u){return this.getPoint(a,u)},getTangent:function(a,u){return u===void 0&&(u=new r),u.copy(this.p1).subtract(this.p0).normalize(),u},getUtoTmapping:function(a,u,f){var v;if(u){var c=this.getLengths(f),g=c[c.length-1],p=Math.min(u,g);v=p/g}else v=a;return v},draw:function(a){return a.lineBetween(this.p0.x,this.p0.y,this.p1.x,this.p1.y),a},toJSON:function(){return{type:this.type,points:[this.p0.x,this.p0.y,this.p1.x,this.p1.y]}}});o.fromJSON=function(a){var u=a.points,f=new r(u[0],u[1]),v=new r(u[2],u[3]);return new o(f,v)},h.exports=o},14744:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(80021),i=t(32112),s=t(26099),r=new e({Extends:l,initialize:function(a,u,f){l.call(this,"QuadraticBezierCurve"),Array.isArray(a)&&(f=new s(a[4],a[5]),u=new s(a[2],a[3]),a=new s(a[0],a[1])),this.p0=a,this.p1=u,this.p2=f},getStartPoint:function(o){return o===void 0&&(o=new s),o.copy(this.p0)},getResolution:function(o){return o},getPoint:function(o,a){a===void 0&&(a=new s);var u=this.p0,f=this.p1,v=this.p2;return a.set(i(o,u.x,f.x,v.x),i(o,u.y,f.y,v.y))},draw:function(o,a){a===void 0&&(a=32);var u=this.getPoints(a);o.beginPath(),o.moveTo(this.p0.x,this.p0.y);for(var f=1;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87842),l=t(83419),i=t(80021),s=t(26099),r=new l({Extends:i,initialize:function(a){a===void 0&&(a=[]),i.call(this,"SplineCurve"),this.points=[],this.addPoints(a)},addPoints:function(o){for(var a=0;au.length-2?u.length-1:v+1],C=u[v>u.length-3?u.length-1:v+2];return a.set(e(c,g.x,p.x,T.x,C.x),e(c,g.y,p.y,T.y,C.y))},toJSON:function(){for(var o=[],a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Path:t(46669),MoveTo:t(68618),CubicBezier:t(46728),Curve:t(80021),Ellipse:t(73825),Line:t(33951),QuadraticBezier:t(14744),Spline:t(42534)}},68618:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(26099),i=new e({initialize:function(r,o){this.active=!1,this.p0=new l(r,o)},getPoint:function(s,r){return r===void 0&&(r=new l),r.copy(this.p0)},getPointAt:function(s,r){return this.getPoint(s,r)},getResolution:function(){return 1},getLength:function(){return 0},toJSON:function(){return{type:"MoveTo",points:[this.p0.x,this.p0.y]}}});h.exports=i},46669:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(46728),i=t(73825),s=t(39429),r=t(33951),o=t(68618),a=t(14744),u=t(87841),f=t(42534),v=t(26099),c=t(36383),g=new e({initialize:function(T,C){T===void 0&&(T=0),C===void 0&&(C=0),this.name="",this.defaultDivisions=12,this.curves=[],this.cacheLengths=[],this.autoClose=!1,this.startPoint=new v,this._tmpVec2A=new v,this._tmpVec2B=new v,typeof T=="object"?this.fromJSON(T):this.startPoint.set(T,C)},add:function(p){return this.curves.push(p),this},circleTo:function(p,T,C){return T===void 0&&(T=!1),this.ellipseTo(p,p,0,360,T,C)},closePath:function(){var p=this.curves[0].getPoint(0),T=this.curves[this.curves.length-1].getPoint(1);return p.equals(T)||this.curves.push(new r(T,p)),this},cubicBezierTo:function(p,T,C,M,A,R){var P=this.getEndPoint(),L,F,w;return p instanceof v?(L=p,F=T,w=C):(L=new v(C,M),F=new v(A,R),w=new v(p,T)),this.add(new l(P,L,F,w))},quadraticBezierTo:function(p,T,C,M){var A=this.getEndPoint(),R,P;return p instanceof v?(R=p,P=T):(R=new v(C,M),P=new v(p,T)),this.add(new a(A,R,P))},draw:function(p,T){for(var C=0;C=T)return this.curves[M];M++}return null},getEndPoint:function(p){return p===void 0&&(p=new v),this.curves.length>0?this.curves[this.curves.length-1].getPoint(1,p):p.copy(this.startPoint),p},getLength:function(){var p=this.getCurveLengths();return p[p.length-1]},getPoint:function(p,T){T===void 0&&(T=new v);for(var C=p*this.getLength(),M=this.getCurveLengths(),A=0;A=C){var R=M[A]-C,P=this.curves[A],L=P.getLength(),F=L===0?0:1-R/L;return P.getPointAt(F,T)}A++}return null},getPoints:function(p,T){!p&&!T&&(p=this.defaultDivisions);for(var C=[],M,A=0;A1&&!C[C.length-1].equals(C[0])&&C.push(C[0]),C},getRandomPoint:function(p){return p===void 0&&(p=new v),this.getPoint(Math.random(),p)},getSpacedPoints:function(p){p===void 0&&(p=40);for(var T=[],C=0;C<=p;C++)T.push(this.getPoint(C/p));return this.autoClose&&T.push(T[0]),T},getStartPoint:function(p){return p===void 0&&(p=new v),p.copy(this.startPoint)},getTangent:function(p,T){T===void 0&&(T=new v);for(var C=p*this.getLength(),M=this.getCurveLengths(),A=0;A=C){var R=M[A]-C,P=this.curves[A],L=P.getLength(),F=L===0?0:1-R/L;return P.getTangentAt(F,T)}A++}return null},lineTo:function(p,T){p instanceof v?this._tmpVec2B.copy(p):typeof p=="object"?this._tmpVec2B.setFromObject(p):this._tmpVec2B.set(p,T);var C=this.getEndPoint(this._tmpVec2A);return this.add(new r([C.x,C.y,this._tmpVec2B.x,this._tmpVec2B.y]))},splineTo:function(p){return p.unshift(this.getEndPoint()),this.add(new f(p))},moveTo:function(p,T){return p instanceof v?this.add(new o(p.x,p.y)):this.add(new o(p,T))},toJSON:function(){for(var p=[],T=0;T{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(24882),i=new e({initialize:function(r,o){this.parent=r,this.events=o,o||(this.events=r.events?r.events:r),this.list={},this.values={},this._frozen=!1,!r.hasOwnProperty("sys")&&this.events&&this.events.once(l.DESTROY,this.destroy,this)},get:function(s){var r=this.list;if(Array.isArray(s)){for(var o=[],a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(45893),i=t(37277),s=t(44594),r=new e({Extends:l,initialize:function(a){l.call(this,a,a.sys.events),this.scene=a,this.systems=a.sys,a.sys.events.once(s.BOOT,this.boot,this),a.sys.events.on(s.START,this.start,this)},boot:function(){this.events=this.systems.events,this.events.once(s.DESTROY,this.destroy,this)},start:function(){this.events.once(s.SHUTDOWN,this.shutdown,this)},shutdown:function(){this.systems.events.off(s.SHUTDOWN,this.shutdown,this)},destroy:function(){l.prototype.destroy.call(this),this.events.off(s.START,this.start,this),this.scene=null,this.systems=null}});i.register("DataManagerPlugin",r,"data"),h.exports=r},10700:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="changedata"},93608:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="changedata-"},60883:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="destroy"},69780:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="removedata"},22166:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="setdata"},24882:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={CHANGE_DATA:t(10700),CHANGE_DATA_KEY:t(93608),DESTROY:t(60883),REMOVE_DATA:t(69780),SET_DATA:t(22166)}},44965:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={DataManager:t(45893),DataManagerPlugin:t(63646),Events:t(24882)}},7098:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(84148),l={flac:!1,aac:!1,audioData:!1,dolby:!1,m4a:!1,mp3:!1,ogg:!1,opus:!1,wav:!1,webAudio:!1,webm:!1};function i(){if(typeof importScripts=="function")return l;l.audioData=!!window.Audio,l.webAudio=!!(window.AudioContext||window.webkitAudioContext);var s=document.createElement("audio"),r=!!s.canPlayType;try{if(r){var o=function(f,v){var c=s.canPlayType("audio/"+f).replace(/^no$/,"");return v?!!(c||s.canPlayType("audio/"+v).replace(/^no$/,"")):!!c};if(l.ogg=o('ogg; codecs="vorbis"'),l.opus=o('ogg; codecs="opus"',"opus"),l.mp3=o("mpeg"),l.wav=o("wav"),l.m4a=o("x-m4a"),l.aac=o("aac"),l.flac=o("flac","x-flac"),l.webm=o('webm; codecs="vorbis"'),s.canPlayType('audio/mp4; codecs="ec-3"')!==""){if(e.edge)l.dolby=!0;else if(e.safari&&e.safariVersion>=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var a=parseInt(RegExp.$1,10),u=parseInt(RegExp.$2,10);(a===10&&u>=11||a>10)&&(l.dolby=!0)}}}}catch{}return l}h.exports=i()},84148:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25892),l={chrome:!1,chromeVersion:0,edge:!1,firefox:!1,firefoxVersion:0,ie:!1,ieVersion:0,mobileSafari:!1,opera:!1,safari:!1,safariVersion:0,silk:!1,trident:!1,tridentVersion:0,es2019:!1};function i(){var s=navigator.userAgent;return/Edg\/\d+/.test(s)?(l.edge=!0,l.es2019=!0):/OPR/.test(s)?(l.opera=!0,l.es2019=!0):/Chrome\/(\d+)/.test(s)&&!e.windowsPhone?(l.chrome=!0,l.chromeVersion=parseInt(RegExp.$1,10),l.es2019=l.chromeVersion>69):/Firefox\D+(\d+)/.test(s)?(l.firefox=!0,l.firefoxVersion=parseInt(RegExp.$1,10),l.es2019=l.firefoxVersion>10):/AppleWebKit\/(?!.*CriOS)/.test(s)&&e.iOS?(l.mobileSafari=!0,l.es2019=!0):/MSIE (\d+\.\d+);/.test(s)?(l.ie=!0,l.ieVersion=parseInt(RegExp.$1,10)):/Version\/(\d+\.\d+(\.\d+)?) Safari/.test(s)&&!e.windowsPhone?(l.safari=!0,l.safariVersion=parseInt(RegExp.$1,10),l.es2019=l.safariVersion>10):/Trident\/(\d+\.\d+)(.*)rv:(\d+\.\d+)/.test(s)&&(l.ie=!0,l.trident=!0,l.tridentVersion=parseInt(RegExp.$1,10),l.ieVersion=parseInt(RegExp.$3,10)),/Silk/.test(s)&&(l.silk=!0),l}h.exports=i()},89289:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(27919),l={supportInverseAlpha:!1,supportNewBlendModes:!1};function i(){var o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/",a="AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==",u=new Image;return u.onload=function(){var f=new Image;f.onload=function(){var v=e.create2D(f,6),c=v.getContext("2d",{willReadFrequently:!0});if(c.globalCompositeOperation="multiply",c.drawImage(u,0,0),c.drawImage(f,2,0),!c.getImageData(2,0,1,1))return!1;var g=c.getImageData(2,0,1,1).data;e.remove(f),l.supportNewBlendModes=g[0]===255&&g[1]===0&&g[2]===0},f.src=o+"/wCKxvRF"+a},u.src=o+"AP804Oa6"+a,!1}function s(){var o=e.create2D(this,2),a=o.getContext("2d",{willReadFrequently:!0});a.fillStyle="rgba(10, 20, 30, 0.5)",a.fillRect(0,0,1,1);var u=a.getImageData(0,0,1,1);if(u===null)return!1;a.putImageData(u,1,0);var f=a.getImageData(1,0,1,1),v=f.data[0]===u.data[0]&&f.data[1]===u.data[1]&&f.data[2]===u.data[2]&&f.data[3]===u.data[3];return e.remove(this),v}function r(){return typeof importScripts!="function"&&document!==void 0&&(l.supportNewBlendModes=i(),l.supportInverseAlpha=s()),l}h.exports=r()},89357:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25892),l=t(84148),i=t(27919),s={canvas:!1,canvasBitBltShift:null,file:!1,fileSystem:!1,getUserMedia:!0,littleEndian:!1,localStorage:!1,pointerLock:!1,stableSort:!1,support32bit:!1,vibration:!1,webGL:!1,worker:!1};function r(){var a=new ArrayBuffer(4),u=new Uint8Array(a),f=new Uint32Array(a);return u[0]=161,u[1]=178,u[2]=195,u[3]=212,f[0]===3569595041?!0:f[0]===2712847316?!1:null}function o(){if(typeof importScripts=="function")return s;s.canvas=!!window.CanvasRenderingContext2D;try{s.localStorage=!!localStorage.getItem}catch{s.localStorage=!1}s.file=!!window.File&&!!window.FileReader&&!!window.FileList&&!!window.Blob,s.fileSystem=!!window.requestFileSystem;var a=!1,u=function(){if(window.WebGLRenderingContext)try{var f=i.createWebGL(this),v=f.getContext("webgl")||f.getContext("experimental-webgl"),c=i.create2D(this),g=c.getContext("2d",{willReadFrequently:!0}),p=g.createImageData(1,1);return a=p.data instanceof Uint8ClampedArray,i.remove(f),i.remove(c),!!v}catch{return!1}return!1};return s.webGL=u(),s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,l.firefox&&l.firefoxVersion<21&&(s.getUserMedia=!1),!e.iOS&&(l.ie||l.firefox||l.chrome)&&(s.canvasBitBltShift=!0),(l.safari||l.mobileSafari)&&(s.canvasBitBltShift=!1),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),typeof ArrayBuffer<"u"&&typeof Uint8Array<"u"&&typeof Uint32Array<"u"&&(s.littleEndian=r()),s.support32bit=typeof ArrayBuffer<"u"&&typeof Uint8ClampedArray<"u"&&typeof Int32Array<"u"&&s.littleEndian!==null&&a,s}h.exports=o()},91639:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={available:!1,cancel:"",keyboard:!1,request:""};function t(){if(typeof importScripts=="function")return d;var e,l="Fullscreen",i="FullScreen",s=["request"+l,"request"+i,"webkitRequest"+l,"webkitRequest"+i,"msRequest"+l,"msRequest"+i,"mozRequest"+i,"mozRequest"+l];for(e=0;e{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(84148),l={gamepads:!1,mspointer:!1,touch:!1,wheelEvent:null};function i(){return typeof importScripts=="function"||(("ontouchstart"in document.documentElement||navigator.maxTouchPoints&&navigator.maxTouchPoints>=1)&&(l.touch=!0),(navigator.msPointerEnabled||navigator.pointerEnabled)&&(l.mspointer=!0),navigator.getGamepads&&(l.gamepads=!0),"onwheel"in window||e.ie&&"WheelEvent"in window?l.wheelEvent="wheel":"onmousewheel"in window?l.wheelEvent="mousewheel":e.firefox&&"MouseScrollEvent"in window&&(l.wheelEvent="DOMMouseScroll")),l}h.exports=i()},25892:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={android:!1,chromeOS:!1,cordova:!1,crosswalk:!1,desktop:!1,ejecta:!1,electron:!1,iOS:!1,iOSVersion:0,iPad:!1,iPhone:!1,kindle:!1,linux:!1,macOS:!1,node:!1,nodeWebkit:!1,pixelRatio:1,webApp:!1,windows:!1,windowsPhone:!1};function t(){if(typeof importScripts=="function")return d;var e=navigator.userAgent;/Windows/.test(e)?d.windows=!0:/Mac OS/.test(e)&&!/like Mac OS/.test(e)?navigator.maxTouchPoints&&navigator.maxTouchPoints>2?(d.iOS=!0,d.iPad=!0,navigator.appVersion.match(/Version\/(\d+)/),d.iOSVersion=parseInt(RegExp.$1,10)):d.macOS=!0:/Android/.test(e)?d.android=!0:/Linux/.test(e)?d.linux=!0:/iP[ao]d|iPhone/i.test(e)?(d.iOS=!0,navigator.appVersion.match(/OS (\d+)/),d.iOSVersion=parseInt(RegExp.$1,10),d.iPhone=e.toLowerCase().indexOf("iphone")!==-1,d.iPad=e.toLowerCase().indexOf("ipad")!==-1):/Kindle/.test(e)||/\bKF[A-Z][A-Z]+/.test(e)||/Silk.*Mobile Safari/.test(e)?d.kindle=!0:/CrOS/.test(e)&&(d.chromeOS=!0),(/Windows Phone/i.test(e)||/IEMobile/i.test(e))&&(d.android=!1,d.iOS=!1,d.macOS=!1,d.windows=!0,d.windowsPhone=!0);var l=/Silk/.test(e);return(d.windows||d.macOS||d.linux&&!l||d.chromeOS)&&(d.desktop=!0),(d.windowsPhone||/Windows NT/i.test(e)&&/Touch/i.test(e))&&(d.desktop=!1),navigator.standalone&&(d.webApp=!0),typeof importScripts!="function"&&(window.cordova!==void 0&&(d.cordova=!0),window.ejecta!==void 0&&(d.ejecta=!0)),typeof process<"u"&&process.versions&&process.versions.node&&(d.node=!0),d.node&&typeof process.versions=="object"&&(d.nodeWebkit=!!process.versions["node-webkit"],d.electron=!!process.versions.electron),/Crosswalk/.test(e)&&(d.crosswalk=!0),d.pixelRatio=window.devicePixelRatio||1,d}h.exports=t()},43267:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(95540),l={h264:!1,hls:!1,mov:!1,mp4:!1,m4v:!1,ogg:!1,vp9:!1,webm:!1,hasRequestVideoFrame:!1};function i(){if(typeof importScripts=="function")return l;var s=document.createElement("video"),r=!!s.canPlayType,o=/^no$/;try{r&&(s.canPlayType('video/ogg; codecs="theora"').replace(o,"")&&(l.ogg=!0),s.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(o,"")&&(l.h264=!0,l.mp4=!0),s.canPlayType('video/quicktime4; codecs="avc1.42E01E"').replace(o,"")&&(l.mov=!0),s.canPlayType("video/x-m4v").replace(o,"")&&(l.m4v=!0),s.canPlayType('video/webm; codecs="vp8, vorbis"').replace(o,"")&&(l.webm=!0),s.canPlayType('video/webm; codecs="vp9"').replace(o,"")&&(l.vp9=!0),s.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(o,"")&&(l.hls=!0))}catch{}return s.parentNode&&s.parentNode.removeChild(s),l.getVideoURL=function(a){Array.isArray(a)||(a=[a]);for(var u=0;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={os:t(25892),browser:t(84148),features:t(89357),input:t(31784),audio:t(7098),video:t(43267),fullscreen:t(91639),canvasFeatures:t(89289)}},89422:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new Float32Array(20),i=new e({initialize:function(){this._matrix=new Float32Array(20),this.alpha=1,this._dirty=!0,this._data=new Float32Array(20),this.reset()},set:function(s){return this._matrix.set(s),this._dirty=!0,this},reset:function(){var s=this._matrix;return s.fill(0),s[0]=1,s[6]=1,s[12]=1,s[18]=1,this.alpha=1,this._dirty=!0,this},getData:function(){var s=this._data;return this._dirty&&(s.set(this._matrix),s[4]/=255,s[9]/=255,s[14]/=255,s[19]/=255,this._dirty=!1),s},brightness:function(s,r){s===void 0&&(s=0),r===void 0&&(r=!1);var o=s;return this.multiply([o,0,0,0,0,0,o,0,0,0,0,0,o,0,0,0,0,0,1,0],r)},saturate:function(s,r){s===void 0&&(s=0),r===void 0&&(r=!1);var o=s*2/3+1,a=(o-1)*-.5;return this.multiply([o,a,a,0,0,a,o,a,0,0,a,a,o,0,0,0,0,0,1,0],r)},desaturate:function(s){return s===void 0&&(s=!1),this.saturate(-1,s)},hue:function(s,r){s===void 0&&(s=0),r===void 0&&(r=!1),s=s/180*Math.PI;var o=Math.cos(s),a=Math.sin(s),u=.213,f=.715,v=.072;return this.multiply([u+o*(1-u)+a*-u,f+o*-f+a*-f,v+o*-v+a*(1-v),0,0,u+o*-u+a*.143,f+o*(1-f)+a*.14,v+o*-v+a*-.283,0,0,u+o*-u+a*-.787,f+o*-f+a*f,v+o*(1-v)+a*v,0,0,0,0,0,1,0],r)},grayscale:function(s,r){return s===void 0&&(s=1),r===void 0&&(r=!1),this.saturate(-s,r)},blackWhite:function(s){return s===void 0&&(s=!1),this.multiply(i.BLACK_WHITE,s)},contrast:function(s,r){s===void 0&&(s=0),r===void 0&&(r=!1);var o=s+1,a=-.5*(o-1);return this.multiply([o,0,0,0,a,0,o,0,0,a,0,0,o,0,a,0,0,0,1,0],r)},negative:function(s){return s===void 0&&(s=!1),this.multiply(i.NEGATIVE,s)},desaturateLuminance:function(s){return s===void 0&&(s=!1),this.multiply(i.DESATURATE_LUMINANCE,s)},sepia:function(s){return s===void 0&&(s=!1),this.multiply(i.SEPIA,s)},night:function(s,r){return s===void 0&&(s=.1),r===void 0&&(r=!1),this.multiply([s*-2,-s,0,0,0,-s,0,s,0,0,0,s,s*2,0,0,0,0,0,1,0],r)},lsd:function(s){return s===void 0&&(s=!1),this.multiply(i.LSD,s)},brown:function(s){return s===void 0&&(s=!1),this.multiply(i.BROWN,s)},vintagePinhole:function(s){return s===void 0&&(s=!1),this.multiply(i.VINTAGE,s)},kodachrome:function(s){return s===void 0&&(s=!1),this.multiply(i.KODACHROME,s)},technicolor:function(s){return s===void 0&&(s=!1),this.multiply(i.TECHNICOLOR,s)},polaroid:function(s){return s===void 0&&(s=!1),this.multiply(i.POLAROID,s)},shiftToBGR:function(s){return s===void 0&&(s=!1),this.multiply(i.SHIFT_BGR,s)},multiply:function(s,r){r===void 0&&(r=!1),r||this.reset();var o=this._matrix,a=l;return a.set(o),o.set([a[0]*s[0]+a[1]*s[5]+a[2]*s[10]+a[3]*s[15],a[0]*s[1]+a[1]*s[6]+a[2]*s[11]+a[3]*s[16],a[0]*s[2]+a[1]*s[7]+a[2]*s[12]+a[3]*s[17],a[0]*s[3]+a[1]*s[8]+a[2]*s[13]+a[3]*s[18],a[0]*s[4]+a[1]*s[9]+a[2]*s[14]+a[3]*s[19]+a[4],a[5]*s[0]+a[6]*s[5]+a[7]*s[10]+a[8]*s[15],a[5]*s[1]+a[6]*s[6]+a[7]*s[11]+a[8]*s[16],a[5]*s[2]+a[6]*s[7]+a[7]*s[12]+a[8]*s[17],a[5]*s[3]+a[6]*s[8]+a[7]*s[13]+a[8]*s[18],a[5]*s[4]+a[6]*s[9]+a[7]*s[14]+a[8]*s[19]+a[9],a[10]*s[0]+a[11]*s[5]+a[12]*s[10]+a[13]*s[15],a[10]*s[1]+a[11]*s[6]+a[12]*s[11]+a[13]*s[16],a[10]*s[2]+a[11]*s[7]+a[12]*s[12]+a[13]*s[17],a[10]*s[3]+a[11]*s[8]+a[12]*s[13]+a[13]*s[18],a[10]*s[4]+a[11]*s[9]+a[12]*s[14]+a[13]*s[19]+a[14],a[15]*s[0]+a[16]*s[5]+a[17]*s[10]+a[18]*s[15],a[15]*s[1]+a[16]*s[6]+a[17]*s[11]+a[18]*s[16],a[15]*s[2]+a[16]*s[7]+a[17]*s[12]+a[18]*s[17],a[15]*s[3]+a[16]*s[8]+a[17]*s[13]+a[18]*s[18],a[15]*s[4]+a[16]*s[9]+a[17]*s[14]+a[18]*s[19]+a[19]]),this._dirty=!0,this}});i.BLACK_WHITE=[.3,.6,.1,0,0,.3,.6,.1,0,0,.3,.6,.1,0,0,0,0,0,1,0],i.NEGATIVE=[-1,0,0,1,0,0,-1,0,1,0,0,0,-1,1,0,0,0,0,1,0],i.DESATURATE_LUMINANCE=[.2764723,.929708,.0938197,0,-37.1,.2764723,.929708,.0938197,0,-37.1,.2764723,.929708,.0938197,0,-37.1,0,0,0,1,0],i.SEPIA=[.393,.7689999,.18899999,0,0,.349,.6859999,.16799999,0,0,.272,.5339999,.13099999,0,0,0,0,0,1,0],i.LSD=[2,-.4,.5,0,0,-.5,2,-.4,0,0,-.4,-.5,3,0,0,0,0,0,1,0],i.BROWN=[.5997023498159715,.34553243048391263,-.2708298674538042,0,47.43192855600873,-.037703249837783157,.8609577587992641,.15059552388459913,0,-36.96841498319127,.24113635128153335,-.07441037908422492,.44972182064877153,0,-7.562075277591283,0,0,0,1,0],i.VINTAGE=[.6279345635605994,.3202183420819367,-.03965408211312453,0,9.651285835294123,.02578397704808868,.6441188644374771,.03259127616149294,0,7.462829176470591,.0466055556782719,-.0851232987247891,.5241648018700465,0,5.159190588235296,0,0,0,1,0],i.KODACHROME=[1.1285582396593525,-.3967382283601348,-.03992559172921793,0,63.72958762196502,-.16404339962244616,1.0835251566291304,-.05498805115633132,0,24.732407896706203,-.16786010706155763,-.5603416277695248,1.6014850761964943,0,35.62982807460946,0,0,0,1,0],i.TECHNICOLOR=[1.9125277891456083,-.8545344976951645,-.09155508482755585,0,11.793603434377337,-.3087833385928097,1.7658908555458428,-.10601743074722245,0,-70.35205161461398,-.231103377548616,-.7501899197440212,1.847597816108189,0,30.950940869491138,0,0,0,1,0],i.POLAROID=[1.438,-.062,-.062,0,0,-.122,1.378,-.122,0,0,-.016,-.016,1.483,0,0,0,0,0,1,0],i.SHIFT_BGR=[0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0],h.exports=i},51767:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(29747),i=new e({initialize:function(r,o,a){this._rgb=[0,0,0],this.onChangeCallback=l,this.dirty=!1,this.set(r,o,a)},set:function(s,r,o){return s===void 0&&(s=0),r===void 0&&(r=0),o===void 0&&(o=0),this._rgb=[s,r,o],this.onChange(),this},equals:function(s,r,o){var a=this._rgb;return a[0]===s&&a[1]===r&&a[2]===o},onChange:function(){this.dirty=!0;var s=this._rgb;this.onChangeCallback.call(this,s[0],s[1],s[2])},r:{get:function(){return this._rgb[0]},set:function(s){this._rgb[0]=s,this.onChange()}},g:{get:function(){return this._rgb[1]},set:function(s){this._rgb[1]=s,this.onChange()}},b:{get:function(){return this._rgb[2]},set:function(s){this._rgb[2]=s,this.onChange()}},destroy:function(){this.onChangeCallback=null}});h.exports=i},60461:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12};h.exports=d},54312:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(62235),l=t(35893),i=t(86327),s=t(88417),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),s(o,l(a)+u),i(o,e(a)+f),o};h.exports=r},46768:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(62235),l=t(26541),i=t(86327),s=t(385),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),s(o,l(a)-u),i(o,e(a)+f),o};h.exports=r},35827:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(62235),l=t(54380),i=t(86327),s=t(40136),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),s(o,l(a)+u),i(o,e(a)+f),o};h.exports=r},46871:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(66786),l=t(35893),i=t(7702),s=function(r,o,a,u){return a===void 0&&(a=0),u===void 0&&(u=0),e(r,l(o)+a,i(o)+u),r};h.exports=s},5198:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7702),l=t(26541),i=t(20786),s=t(385),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),s(o,l(a)-u),i(o,e(a)+f),o};h.exports=r},11879:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(60461),l=[];l[e.BOTTOM_CENTER]=t(54312),l[e.BOTTOM_LEFT]=t(46768),l[e.BOTTOM_RIGHT]=t(35827),l[e.CENTER]=t(46871),l[e.LEFT_CENTER]=t(5198),l[e.RIGHT_CENTER]=t(80503),l[e.TOP_CENTER]=t(89698),l[e.TOP_LEFT]=t(922),l[e.TOP_RIGHT]=t(21373),l[e.LEFT_BOTTOM]=l[e.BOTTOM_LEFT],l[e.LEFT_TOP]=l[e.TOP_LEFT],l[e.RIGHT_BOTTOM]=l[e.BOTTOM_RIGHT],l[e.RIGHT_TOP]=l[e.TOP_RIGHT];var i=function(s,r,o,a,u){return l[o](s,r,a,u)};h.exports=i},80503:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7702),l=t(54380),i=t(20786),s=t(40136),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),s(o,l(a)+u),i(o,e(a)+f),o};h.exports=r},89698:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(35893),l=t(17717),i=t(88417),s=t(66737),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),i(o,e(a)+u),s(o,l(a)-f),o};h.exports=r},922:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26541),l=t(17717),i=t(385),s=t(66737),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),i(o,e(a)-u),s(o,l(a)-f),o};h.exports=r},21373:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(54380),l=t(17717),i=t(40136),s=t(66737),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),i(o,e(a)+u),s(o,l(a)-f),o};h.exports=r},91660:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={BottomCenter:t(54312),BottomLeft:t(46768),BottomRight:t(35827),Center:t(46871),LeftCenter:t(5198),QuickSet:t(11879),RightCenter:t(80503),TopCenter:t(89698),TopLeft:t(922),TopRight:t(21373)}},71926:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(60461),l=t(79291),i={In:t(91660),To:t(16694)};i=l(!1,i,e),h.exports=i},21578:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(62235),l=t(35893),i=t(88417),s=t(66737),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),i(o,l(a)+u),s(o,e(a)+f),o};h.exports=r},10210:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(62235),l=t(26541),i=t(385),s=t(66737),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),i(o,l(a)-u),s(o,e(a)+f),o};h.exports=r},82341:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(62235),l=t(54380),i=t(40136),s=t(66737),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),i(o,l(a)+u),s(o,e(a)+f),o};h.exports=r},87958:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(62235),l=t(26541),i=t(86327),s=t(40136),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),s(o,l(a)-u),i(o,e(a)+f),o};h.exports=r},40080:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7702),l=t(26541),i=t(20786),s=t(40136),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),s(o,l(a)-u),i(o,e(a)+f),o};h.exports=r},88466:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26541),l=t(17717),i=t(40136),s=t(66737),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),i(o,e(a)-u),s(o,l(a)-f),o};h.exports=r},38829:(h,d,t)=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(60461),l=[];l[e.BOTTOM_CENTER]=t(21578),l[e.BOTTOM_LEFT]=t(10210),l[e.BOTTOM_RIGHT]=t(82341),l[e.LEFT_BOTTOM]=t(87958),l[e.LEFT_CENTER]=t(40080),l[e.LEFT_TOP]=t(88466),l[e.RIGHT_BOTTOM]=t(19211),l[e.RIGHT_CENTER]=t(34609),l[e.RIGHT_TOP]=t(48741),l[e.TOP_CENTER]=t(49440),l[e.TOP_LEFT]=t(81288),l[e.TOP_RIGHT]=t(61323);var i=function(s,r,o,a,u){return l[o](s,r,a,u)};h.exports=i},19211:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(62235),l=t(54380),i=t(86327),s=t(385),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),s(o,l(a)+u),i(o,e(a)+f),o};h.exports=r},34609:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7702),l=t(54380),i=t(20786),s=t(385),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),s(o,l(a)+u),i(o,e(a)+f),o};h.exports=r},48741:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(54380),l=t(17717),i=t(385),s=t(66737),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),i(o,e(a)+u),s(o,l(a)-f),o};h.exports=r},49440:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(35893),l=t(17717),i=t(86327),s=t(88417),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),s(o,e(a)+u),i(o,l(a)-f),o};h.exports=r},81288:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26541),l=t(17717),i=t(86327),s=t(385),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),s(o,e(a)-u),i(o,l(a)-f),o};h.exports=r},61323:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(54380),l=t(17717),i=t(86327),s=t(40136),r=function(o,a,u,f){return u===void 0&&(u=0),f===void 0&&(f=0),s(o,e(a)+u),i(o,l(a)-f),o};h.exports=r},16694:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={BottomCenter:t(21578),BottomLeft:t(10210),BottomRight:t(82341),LeftBottom:t(87958),LeftCenter:t(40080),LeftTop:t(88466),QuickSet:t(38829),RightBottom:t(19211),RightCenter:t(34609),RightTop:t(48741),TopCenter:t(49440),TopLeft:t(81288),TopRight:t(61323)}},66786:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(88417),l=t(20786),i=function(s,r,o){return e(s,r),l(s,o)};h.exports=i},62235:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.y+t.height-t.height*t.originY};h.exports=d},72873:(h,d,t)=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(62235),l=t(26541),i=t(54380),s=t(17717),r=t(87841),o=function(a,u){u===void 0&&(u=new r);var f=l(a),v=s(a);return u.x=f,u.y=v,u.width=i(a)-f,u.height=e(a)-v,u};h.exports=o},35893:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.x-t.width*t.originX+t.width*.5};h.exports=d},7702:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.y-t.height*t.originY+t.height*.5};h.exports=d},26541:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.x-t.width*t.originX};h.exports=d},87431:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.width*t.originX};h.exports=d},46928:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.height*t.originY};h.exports=d},54380:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.x+t.width-t.width*t.originX};h.exports=d},17717:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.y-t.height*t.originY};h.exports=d},86327:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.y=e-t.height+t.height*t.originY,t};h.exports=d},88417:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){var l=t.width*t.originX;return t.x=e+l-t.width*.5,t};h.exports=d},20786:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){var l=t.height*t.originY;return t.y=e+l-t.height*.5,t};h.exports=d},385:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.x=e+t.width*t.originX,t};h.exports=d},40136:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.x=e-t.width+t.width*t.originX,t};h.exports=d},66737:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.y=e+t.height*t.originY,t};h.exports=d},58724:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={CenterOn:t(66786),GetBottom:t(62235),GetBounds:t(72873),GetCenterX:t(35893),GetCenterY:t(7702),GetLeft:t(26541),GetOffsetX:t(87431),GetOffsetY:t(46928),GetRight:t(54380),GetTop:t(17717),SetBottom:t(86327),SetCenterX:t(88417),SetCenterY:t(20786),SetLeft:t(385),SetRight:t(40136),SetTop:t(66737)}},20623:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setCrisp:function(t){var e=["optimizeSpeed","-moz-crisp-edges","-o-crisp-edges","-webkit-optimize-contrast","optimize-contrast","crisp-edges","pixelated"];return e.forEach(function(l){t.style["image-rendering"]=l}),t.style.msInterpolationMode="nearest-neighbor",t},setBicubic:function(t){return t.style["image-rendering"]="auto",t.style.msInterpolationMode="bicubic",t}};h.exports=d},27919:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(8054),l=t(68703),i=[],s=!1,r=function(){var o=function(C,M,A,R,P){M===void 0&&(M=1),A===void 0&&(A=1),R===void 0&&(R=e.CANVAS),P===void 0&&(P=!1);var L,F=f(R);return F===null?(F={parent:C,canvas:document.createElement("canvas"),type:R},R===e.CANVAS&&i.push(F),L=F.canvas):(F.parent=C,L=F.canvas),P&&(F.parent=L),L.width=M,L.height=A,s&&R===e.CANVAS&&l.disable(L.getContext("2d",{willReadFrequently:!1})),L},a=function(C,M,A){return o(C,M,A,e.CANVAS)},u=function(C,M,A){return o(C,M,A,e.WEBGL)},f=function(C){if(C===void 0&&(C=e.CANVAS),C===e.WEBGL)return null;for(var M=0;M{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d="",t=function(){var e=function(r){for(var o=["i","webkitI","msI","mozI","oI"],a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e===void 0&&(e="none"),t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t};h.exports=d},91610:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){e===void 0&&(e="none");var l=["-webkit-","-khtml-","-moz-","-ms-",""];return l.forEach(function(i){t.style[i+"user-select"]=e}),t.style["-webkit-touch-callout"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t};h.exports=d},26253:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={CanvasInterpolation:t(20623),CanvasPool:t(27919),Smoothing:t(68703),TouchAction:t(65208),UserSelect:t(91610)}},40987:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(37589),i=t(1e3),s=t(7537),r=t(87837),o=new e({initialize:function(u,f,v,c){u===void 0&&(u=0),f===void 0&&(f=0),v===void 0&&(v=0),c===void 0&&(c=255),this.r=0,this.g=0,this.b=0,this.a=255,this._h=0,this._s=0,this._v=0,this._locked=!1,this.gl=[0,0,0,1],this._color=0,this._color32=0,this._rgba="",this.setTo(u,f,v,c)},transparent:function(){return this._locked=!0,this.red=0,this.green=0,this.blue=0,this.alpha=0,this._locked=!1,this.update(!0)},setTo:function(a,u,f,v,c){return v===void 0&&(v=255),c===void 0&&(c=!0),this._locked=!0,this.red=a,this.green=u,this.blue=f,this.alpha=v,this._locked=!1,this.update(c)},setGLTo:function(a,u,f,v){return v===void 0&&(v=1),this._locked=!0,this.redGL=a,this.greenGL=u,this.blueGL=f,this.alphaGL=v,this._locked=!1,this.update(!0)},setFromRGB:function(a){return this._locked=!0,this.red=a.r,this.green=a.g,this.blue=a.b,a.hasOwnProperty("a")&&(this.alpha=a.a),this._locked=!1,this.update(!0)},setFromHSV:function(a,u,f){return s(a,u,f,this)},update:function(a){if(a===void 0&&(a=!1),this._locked)return this;var u=this.r,f=this.g,v=this.b,c=this.a;return this._color=l(u,f,v),this._color32=i(u,f,v,c),this._rgba="rgba("+u+","+f+","+v+","+c/255+")",a&&r(u,f,v,this),this},updateHSV:function(){var a=this.r,u=this.g,f=this.b;return r(a,u,f,this),this},clone:function(){return new o(this.r,this.g,this.b,this.a)},gray:function(a){return this.setTo(a,a,a)},random:function(a,u){a===void 0&&(a=0),u===void 0&&(u=255);var f=Math.floor(a+Math.random()*(u-a)),v=Math.floor(a+Math.random()*(u-a)),c=Math.floor(a+Math.random()*(u-a));return this.setTo(f,v,c)},randomGray:function(a,u){a===void 0&&(a=0),u===void 0&&(u=255);var f=Math.floor(a+Math.random()*(u-a));return this.setTo(f,f,f)},saturate:function(a){return this.s+=a/100,this},desaturate:function(a){return this.s-=a/100,this},lighten:function(a){return this.v+=a/100,this},darken:function(a){return this.v-=a/100,this},brighten:function(a){var u=this.r,f=this.g,v=this.b;return u=Math.max(0,Math.min(255,u-Math.round(255*-(a/100)))),f=Math.max(0,Math.min(255,f-Math.round(255*-(a/100)))),v=Math.max(0,Math.min(255,v-Math.round(255*-(a/100)))),this.setTo(u,f,v)},color:{get:function(){return this._color}},color32:{get:function(){return this._color32}},rgba:{get:function(){return this._rgba}},redGL:{get:function(){return this.gl[0]},set:function(a){this.gl[0]=Math.min(Math.abs(a),1),this.r=Math.floor(this.gl[0]*255),this.update(!0)}},greenGL:{get:function(){return this.gl[1]},set:function(a){this.gl[1]=Math.min(Math.abs(a),1),this.g=Math.floor(this.gl[1]*255),this.update(!0)}},blueGL:{get:function(){return this.gl[2]},set:function(a){this.gl[2]=Math.min(Math.abs(a),1),this.b=Math.floor(this.gl[2]*255),this.update(!0)}},alphaGL:{get:function(){return this.gl[3]},set:function(a){this.gl[3]=Math.min(Math.abs(a),1),this.a=Math.floor(this.gl[3]*255),this.update()}},red:{get:function(){return this.r},set:function(a){a=Math.floor(Math.abs(a)),this.r=Math.min(a,255),this.gl[0]=a/255,this.update(!0)}},green:{get:function(){return this.g},set:function(a){a=Math.floor(Math.abs(a)),this.g=Math.min(a,255),this.gl[1]=a/255,this.update(!0)}},blue:{get:function(){return this.b},set:function(a){a=Math.floor(Math.abs(a)),this.b=Math.min(a,255),this.gl[2]=a/255,this.update(!0)}},alpha:{get:function(){return this.a},set:function(a){a=Math.floor(Math.abs(a)),this.a=Math.min(a,255),this.gl[3]=a/255,this.update()}},h:{get:function(){return this._h},set:function(a){this._h=a,s(a,this._s,this._v,this)}},s:{get:function(){return this._s},set:function(a){this._s=a,s(this._h,a,this._v,this)}},v:{get:function(){return this._v},set:function(a){this._v=a,s(this._h,this._s,a,this)}}});h.exports=o},92728:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(37589),l=function(i){i===void 0&&(i=1024);var s=[],r=255,o,a=255,u=0,f=0;for(o=0;o<=r;o++)s.push({r:a,g:o,b:f,color:e(a,o,f)});for(u=255,o=r;o>=0;o--)s.push({r:o,g:u,b:f,color:e(o,u,f)});for(a=0,o=0;o<=r;o++,u--)s.push({r:a,g:u,b:o,color:e(a,u,o)});for(u=0,f=255,o=0;o<=r;o++,f--,a++)s.push({r:a,g:u,b:f,color:e(a,u,f)});if(i===1024)return s;var v=[],c=0,g=1024/i;for(o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){var e={r:t>>16&255,g:t>>8&255,b:t&255,a:255};return t>16777215&&(e.a=t>>>24),e};h.exports=d},62957:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){var e=t.toString(16);return e.length===1?"0"+e:e};h.exports=d},37589:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return t<<16|e<<8|l};h.exports=d},1e3:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){return i<<24|t<<16|e<<8|l};h.exports=d},62183:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(40987),l=t(89528),i=function(s,r,o){var a=o,u=o,f=o;if(r!==0){var v=o<.5?o*(1+r):o+r-o*r,c=2*o-v;a=l(c,v,s+1/3),u=l(c,v,s),f=l(c,v,s-1/3)}var g=new e;return g.setGLTo(a,u,f,1)};h.exports=i},27939:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7537),l=function(i,s){i===void 0&&(i=1),s===void 0&&(s=1);for(var r=[],o=0;o<=359;o++)r.push(e(o/359,i,s));return r};h.exports=l},7537:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(37589);function l(s,r,o,a){var u=(s+r*6)%6,f=Math.min(u,4-u,1);return Math.round(255*(a-a*o*Math.max(0,f)))}var i=function(s,r,o,a){r===void 0&&(r=1),o===void 0&&(o=1);var u=l(5,s,r,o),f=l(3,s,r,o),v=l(1,s,r,o);return a?a.setTo?a.setTo(u,f,v,a.alpha,!0):(a.r=u,a.g=f,a.b=v,a.color=e(u,f,v),a):{r:u,g:f,b:v,color:e(u,f,v)}};h.exports=i},70238:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(40987),l=function(i){var s=new e;i=i.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(f,v,c,g){return v+v+c+c+g+g});var r=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(i);if(r){var o=parseInt(r[1],16),a=parseInt(r[2],16),u=parseInt(r[3],16);s.setTo(o,a,u)}return s};h.exports=l},89528:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return l<0&&(l+=1),l>1&&(l-=1),l<.16666666666666666?t+(e-t)*6*l:l<.5?e:l<.6666666666666666?t+(e-t)*(.6666666666666666-l)*6:t};h.exports=d},30100:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(40987),l=t(90664),i=function(s){var r=l(s);return new e(r.r,r.g,r.b,r.a)};h.exports=i},90664:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t>16777215?{a:t>>>24,r:t>>16&255,g:t>>8&255,b:t&255}:{a:255,r:t>>16&255,g:t>>8&255,b:t&255}};h.exports=d},13699:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(28915),l=t(37589),i=function(o,a,u,f,v,c,g,p){g===void 0&&(g=100),p===void 0&&(p=0);var T=p/g,C=e(o,f,T),M=e(a,v,T),A=e(u,c,T);return{r:C,g:M,b:A,a:255,color:l(C,M,A)}},s=function(o,a,u,f){return u===void 0&&(u=100),f===void 0&&(f=0),i(o.r,o.g,o.b,a.r,a.g,a.b,u,f)},r=function(o,a,u,f,v,c){return v===void 0&&(v=100),c===void 0&&(c=0),i(o.r,o.g,o.b,a,u,f,v,c)};h.exports={RGBWithRGB:i,ColorWithRGB:r,ColorWithColor:s}},68957:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(40987),l=function(i){return new e(i.r,i.g,i.b,i.a)};h.exports=l},87388:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(40987),l=function(i){var s=new e,r=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(i.toLowerCase());if(r){var o=parseInt(r[1],10),a=parseInt(r[2],10),u=parseInt(r[3],10),f=r[4]!==void 0?parseFloat(r[4]):1;s.setTo(o,a,u,f*255)}return s};h.exports=l},87837:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){i===void 0&&(i={h:0,s:0,v:0}),t/=255,e/=255,l/=255;var s=Math.min(t,e,l),r=Math.max(t,e,l),o=r-s,a=0,u=r===0?0:o/r,f=r;return r!==s&&(r===t?a=(e-l)/o+(e{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(62957),l=function(i,s,r,o,a){return o===void 0&&(o=255),a===void 0&&(a="#"),a==="#"?"#"+((1<<24)+(i<<16)+(s<<8)+r).toString(16).slice(1,7):"0x"+e(o)+e(i)+e(s)+e(r)};h.exports=l},85386:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(30976),l=t(40987),i=function(s,r){return s===void 0&&(s=0),r===void 0&&(r=255),new l(e(s,r),e(s,r),e(s,r))};h.exports=i},80333:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(70238),l=t(30100),i=t(68957),s=t(87388),r=function(o){var a=typeof o;switch(a){case"string":return o.substr(0,3).toLowerCase()==="rgb"?s(o):e(o);case"number":return l(o);case"object":return i(o)}};h.exports=r},3956:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(40987);e.ColorSpectrum=t(92728),e.ColorToRGBA=t(91588),e.ComponentToHex=t(62957),e.GetColor=t(37589),e.GetColor32=t(1e3),e.HexStringToColor=t(70238),e.HSLToColor=t(62183),e.HSVColorWheel=t(27939),e.HSVToRGB=t(7537),e.HueToComponent=t(89528),e.IntegerToColor=t(30100),e.IntegerToRGB=t(90664),e.Interpolate=t(13699),e.ObjectToColor=t(68957),e.RandomRGB=t(85386),e.RGBStringToColor=t(87388),e.RGBToHSV=t(87837),e.RGBToString=t(75723),e.ValueToColor=t(80333),h.exports=e},27460:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Align:t(71926),BaseShader:t(73894),Bounds:t(58724),Canvas:t(26253),Color:t(3956),ColorMatrix:t(89422),Masks:t(69781),RGB:t(51767)}},80661:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s,r){this.geometryMask=r},setShape:function(i){return this.geometryMask=i,this},preRenderCanvas:function(i,s,r){var o=this.geometryMask;i.currentContext.save(),o.renderCanvas(i,o,r,null,null,!0),i.currentContext.clip()},postRenderCanvas:function(i){i.currentContext.restore()},destroy:function(){this.geometryMask=null}});h.exports=l},69781:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={GeometryMask:t(80661)}},73894:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s,r,o){o===void 0&&(o={}),this.key=s,this.glsl=r,this.metadata=o}});h.exports=l},40366:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){var l;if(e)typeof e=="string"?l=document.getElementById(e):typeof e=="object"&&e.nodeType===1&&(l=e);else if(t.parentElement||e===null)return t;return l||(l=document.body),l.appendChild(t),t};h.exports=d},83719:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(40366),l=function(i){var s=i.config;if(!(!s.parent||!s.domCreateContainer)){var r=document.createElement("div");r.style.cssText=["display: block;","width: "+i.scale.width+"px;","height: "+i.scale.height+"px;","padding: 0; margin: 0;","position: absolute;","overflow: hidden;","pointer-events: "+s.domPointerEvents+";","transform: scale(1);","transform-origin: left top;"].join(" "),i.domContainer=r,e(r,s.parent)}};h.exports=l},57264:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25892),l=function(i){if(document.readyState==="complete"||document.readyState==="interactive"){i();return}var s=function(){document.removeEventListener("deviceready",s,!0),document.removeEventListener("DOMContentLoaded",s,!0),window.removeEventListener("load",s,!0),i()};document.body?e.cordova?document.addEventListener("deviceready",s,!1):(document.addEventListener("DOMContentLoaded",s,!0),window.addEventListener("load",s,!0)):window.setTimeout(s,20)};h.exports=l},57811:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){if(!t)return window.innerHeight;var e=Math.abs(window.orientation),l={w:0,h:0},i=document.createElement("div");return i.setAttribute("style","position: fixed; height: 100vh; width: 0; top: 0"),document.documentElement.appendChild(i),l.w=e===90?i.offsetHeight:window.innerWidth,l.h=e===90?window.innerWidth:i.offsetHeight,document.documentElement.removeChild(i),i=null,Math.abs(window.orientation)!==90?l.h:l.w};h.exports=d},45818:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(13560),l=function(i,s){var r=window.screen,o=r?r.orientation||r.mozOrientation||r.msOrientation:!1;if(o&&typeof o.type=="string")return o.type;if(typeof o=="string")return o;if(typeof window.orientation=="number")return window.orientation===0||window.orientation===180?e.ORIENTATION.PORTRAIT:e.ORIENTATION.LANDSCAPE;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return e.ORIENTATION.PORTRAIT;if(window.matchMedia("(orientation: landscape)").matches)return e.ORIENTATION.LANDSCAPE}else return s>i?e.ORIENTATION.PORTRAIT:e.ORIENTATION.LANDSCAPE};h.exports=l},74403:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){var e;return t!==""&&(typeof t=="string"?e=document.getElementById(t):t&&t.nodeType===1&&(e=t)),e||(e=document.body),e};h.exports=d},56836:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){var e="";try{if(window.DOMParser){var l=new DOMParser;e=l.parseFromString(t,"text/xml")}else e=new ActiveXObject("Microsoft.XMLDOM"),e.loadXML(t)}catch{e=null}return!e||!e.documentElement||e.getElementsByTagName("parsererror").length?null:e};h.exports=d},35846:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){t.parentNode&&t.parentNode.removeChild(t)};h.exports=d},43092:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(29747),i=new e({initialize:function(){this.isRunning=!1,this.callback=l,this.isSetTimeOut=!1,this.timeOutID=null,this.delay=0;var r=this;this.step=function o(a){r.callback(a),r.isRunning&&(r.timeOutID=window.requestAnimationFrame(o))},this.stepTimeout=function o(){r.isRunning&&(r.timeOutID=window.setTimeout(o,r.delay)),r.callback(window.performance.now())}},start:function(s,r,o){this.isRunning||(this.callback=s,this.isSetTimeOut=r,this.delay=o,this.isRunning=!0,this.timeOutID=r?window.setTimeout(this.stepTimeout,0):window.requestAnimationFrame(this.step))},stop:function(){this.isRunning=!1,this.isSetTimeOut?clearTimeout(this.timeOutID):window.cancelAnimationFrame(this.timeOutID)},destroy:function(){this.stop(),this.callback=l}});h.exports=i},84902:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e={AddToDOM:t(40366),DOMContentLoaded:t(57264),GetInnerHeight:t(57811),GetScreenOrientation:t(45818),GetTarget:t(74403),ParseXML:t(56836),RemoveFromDOM:t(35846),RequestAnimationFrame:t(43092)};h.exports=e},47565:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(50792),i=t(37277),s=new e({Extends:l,initialize:function(){l.call(this)},shutdown:function(){this.removeAllListeners()},destroy:function(){this.removeAllListeners()}});i.register("EventEmitter",s,"events"),h.exports=s},93055:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={EventEmitter:t(47565)}},10189:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(13045),i=new e({Extends:l,initialize:function(r,o){o===void 0&&(o=1),l.call(this,r,"FilterBarrel"),this.amount=o}});h.exports=i},16762:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(13045),i=new e({Extends:l,initialize:function(r,o,a,u,f){o===void 0&&(o="__WHITE"),a===void 0&&(a=0),u===void 0&&(u=1),f===void 0&&(f=[1,1,1,1]),l.call(this,r,"FilterBlend"),this.glTexture,this.blendMode=a,this.amount=u,this.color=f,this.setTexture(o)},setTexture:function(s){var r=this.camera.scene.sys.textures.getFrame(s);return r&&(this.glTexture=r.glTexture),this}});h.exports=i},37597:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(13045),i=new e({Extends:l,initialize:function(r,o){l.call(this,r,"FilterBlocky"),this.size={x:4,y:4},this.offset={x:0,y:0},o&&(o.size!==void 0&&(typeof o.size=="number"?(this.size.x=o.size,this.size.y=o.size):(this.size.x=o.size.x,this.size.y=o.size.y)),o.offset!==void 0&&(typeof o.offset=="number"?(this.offset.x=o.offset,this.offset.y=o.offset):(this.offset.x=o.offset.x,this.offset.y=o.offset.y)))}});h.exports=i},88344:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(13045),i=new e({Extends:l,initialize:function(r,o,a,u,f,v,c){o===void 0&&(o=0),a===void 0&&(a=2),u===void 0&&(u=2),f===void 0&&(f=1),c===void 0&&(c=4),l.call(this,r,"FilterBlur"),this.quality=o,this.x=a,this.y=u,this.strength=f,this.glcolor=[1,1,1],v!=null&&(this.color=v),this.steps=c},color:{get:function(){var s=this.glcolor;return(s[0]*255<<16)+(s[1]*255<<8)+(s[2]*255|0)},set:function(s){var r=this.glcolor;r[0]=(s>>16&255)/255,r[1]=(s>>8&255)/255,r[2]=(s&255)/255}},getPadding:function(){var s=this.paddingOverride;if(s)return this.currentPadding.setTo(s.x,s.y,s.width,s.height),s;var r=this.quality,o=r===0?1.333:r===1?3.2307692308:5.176470588235294,a=this.steps*this.strength*o,u=Math.ceil(this.x*a),f=Math.ceil(this.y*a);return this.currentPadding.setTo(-u,-f,u*2,f*2),this.currentPadding}});h.exports=i},47564:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(13045),i=new e({Extends:l,initialize:function(r,o,a,u,f,v,c,g){o===void 0&&(o=.5),a===void 0&&(a=1),u===void 0&&(u=.2),f===void 0&&(f=!1),v===void 0&&(v=1),c===void 0&&(c=1),g===void 0&&(g=1),l.call(this,r,"FilterBokeh"),this.radius=o,this.amount=a,this.contrast=u,this.isTiltShift=f,this.blurX=v,this.blurY=c,this.strength=g},getPadding:function(){var s=this.paddingOverride;if(s)return this.currentPadding.setTo(s.x,s.y,s.width,s.height),s;var r=Math.ceil(this.camera.height*this.radius*.021426096060426905);return this.currentPadding.setTo(-r,-r,r*2,r*2),this.currentPadding}});h.exports=i},77011:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(13045),i=t(89422),s=new e({Extends:l,initialize:function(o){l.call(this,o,"FilterColorMatrix"),this.colorMatrix=new i},destroy:function(){this.colorMatrix=null,l.prototype.destroy.call(this)}});h.exports=s},13045:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(87841),i=new e({initialize:function(r,o){this.active=!0,this.camera=r,this.renderNode=o,this.paddingOverride=new l,this.currentPadding=new l,this.allowBaseDraw=!0,this.ignoreDestroy=!1},getPadding:function(){return this.paddingOverride||this.currentPadding},setPaddingOverride:function(s,r,o,a){return s===null?(this.paddingOverride=null,this):(s===void 0&&(s=0),r===void 0&&(r=0),o===void 0&&(o=0),a===void 0&&(a=0),this.paddingOverride=new l(s,r,o-s,a-r),this)},setActive:function(s){return this.active=s,this},destroy:function(){this.active=!1,this.renderNode=null,this.camera=null}});h.exports=i},16898:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(13045),i=new e({Extends:l,initialize:function(r,o,a,u){o===void 0&&(o="__WHITE"),a===void 0&&(a=.005),u===void 0&&(u=.005),l.call(this,r,"FilterDisplacement"),this.x=a,this.y=u,this.glTexture,this.setTexture(o)},setTexture:function(s){var r=this.camera.scene.sys.textures.getFrame(s);return r&&(this.glTexture=r.glTexture),this},getPadding:function(){var s=this.paddingOverride;if(s)return this.currentPadding.setTo(s.x,s.y,s.width,s.height),s;var r=this.camera,o=Math.ceil(r.width*this.x*.5),a=Math.ceil(r.height*this.y*.5);return this.currentPadding.setTo(-o,-a,o*2,a*2),this.currentPadding}});h.exports=i},42652:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(13045),i=new e({Extends:l,initialize:function(r,o,a,u,f,v,c,g){a===void 0&&(a=4),u===void 0&&(u=0),f===void 0&&(f=1),v===void 0&&(v=!1),c===void 0&&(c=r.scene.sys.game.config.glowQuality),g===void 0&&(g=r.scene.sys.game.config.glowDistance),l.call(this,r,"FilterGlow"),this.outerStrength=a,this.innerStrength=u,this.scale=f,this.knockout=v,this._quality=Math.max(Math.round(c),1),this._distance=Math.max(Math.round(g),1),this.glcolor=[1,1,1,1],o!==void 0&&(this.color=o)},color:{get:function(){var s=this.glcolor;return(s[0]*255<<16)+(s[1]*255<<8)+(s[2]*255|0)},set:function(s){var r=this.glcolor;r[0]=(s>>16&255)/255,r[1]=(s>>8&255)/255,r[2]=(s&255)/255}},distance:{get:function(){return this._distance}},quality:{get:function(){return this._quality}},getPadding:function(){var s=this.paddingOverride;if(s)return this.currentPadding.setTo(s.x,s.y,s.width,s.height),s;var r=this.currentPadding,o=Math.ceil(this.distance*this.scale);return r.left=-o,r.top=-o,r.right=o,r.bottom=o,r}});h.exports=i},97797:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(45650),i=t(13045),s=new e({Extends:i,initialize:function(o,a,u,f,v,c){a===void 0&&(a="__WHITE"),u===void 0&&(u=!1),c===void 0&&(c=1),i.call(this,o,"FilterMask"),this.glTexture,this._dynamicTexture=null,this.maskGameObject=null,this.invert=u,this.autoUpdate=!0,this.needsUpdate=!1,this.viewTransform=v||"world",this.viewCamera=f,this.scaleFactor=c,typeof a=="string"?this.setTexture(a):this.setGameObject(a)},updateDynamicTexture:function(r,o){var a=this.scaleFactor,u=r*a,f=o*a,v=this.maskGameObject;if(v){if(this._dynamicTexture)this._dynamicTexture.width!==u||this._dynamicTexture.height!==f?this._dynamicTexture.setSize(u,f,!1):this._dynamicTexture.clear();else{var c=this.camera.scene.sys.textures;this._dynamicTexture=c.addDynamicTexture(l(),u,f,!1)}this.glTexture=this._dynamicTexture.get().glTexture;var g=this.viewCamera||v.scene.renderer.currentViewCamera;this._dynamicTexture.capture(v,{transform:this.viewTransform,camera:g}),this._dynamicTexture.render(),this.needsUpdate=!1}},setGameObject:function(r){return this.maskGameObject=r,this.needsUpdate=!0,this},setTexture:function(r){var o=this.camera.scene.sys.textures.getFrame(r);return o&&(this.maskGameObject=null,this.glTexture=o.glTexture),this},destroy:function(){this._dynamicTexture&&this._dynamicTexture.destroy(),this.maskGameObject=null,this._dynamicTexture=null,i.prototype.destroy.call(this)}});h.exports=s},2195:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(53427),i=t(13045),s=t(16762),r=new e({Extends:i,initialize:function(a){i.call(this,a,"FilterParallelFilters"),this.top=new l(a),this.bottom=new l(a),this.blend=new s(a)}});h.exports=r},29861:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(13045),i=new e({Extends:l,initialize:function(r,o){o===void 0&&(o=1),l.call(this,r,"FilterPixelate"),this.amount=o}});h.exports=i},63785:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(13045),i=new e({Extends:l,initialize:function(r,o,a){a===void 0&&(a=null),l.call(this,r,"FilterSampler"),this.allowBaseDraw=!1,this.callback=o,this.region=a}});h.exports=i},62229:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(13045),i=new e({Extends:l,initialize:function(r,o,a,u,f,v,c,g){o===void 0&&(o=0),a===void 0&&(a=0),u===void 0&&(u=.1),f===void 0&&(f=1),c===void 0&&(c=6),g===void 0&&(g=1),l.call(this,r,"FilterShadow"),this.x=o,this.y=a,this.decay=u,this.power=f,this.glcolor=[0,0,0,1],this.samples=c,this.intensity=g,v!==void 0&&(this.color=v)},color:{get:function(){var s=this.glcolor;return(s[0]*255<<16)+(s[1]*255<<8)+(s[2]*255|0)},set:function(s){var r=this.glcolor;r[0]=(s>>16&255)/255,r[1]=(s>>8&255)/255,r[2]=(s&255)/255}},getPadding:function(){var s=this.paddingOverride;if(s)return this.currentPadding.setTo(s.x,s.y,s.width,s.height),s;var r=this.camera,o=this.decay*this.intensity,a=Math.ceil(Math.abs(this.x)*r.width*o),u=Math.ceil(Math.abs(this.y)*r.height*o);return this.currentPadding.setTo(-a,-u,a*2,u*2),this.currentPadding}});h.exports=i},99534:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(13045),i=new e({Extends:l,initialize:function(r,o,a,u){l.call(this,r,"FilterThreshold"),this.edge1=[.5,.5,.5,.5],this.edge2=[.5,.5,.5,.5],this.invert=[!1,!1,!1,!1],this.setEdge(o,a),this.setInvert(u)},setEdge:function(s,r){s===void 0&&(s=.5),typeof s=="number"&&(s=[s,s,s,s]),this.edge1[0]=s[0],this.edge1[1]=s[1],this.edge1[2]=s[2],this.edge1[3]=s[3],r===void 0&&(r=s),typeof r=="number"&&(r=[r,r,r,r]),this.edge2[0]=r[0],this.edge2[1]=r[1],this.edge2[2]=r[2],this.edge2[3]=r[3];for(var o=0;o<4;o++)if(this.edge1[o]>this.edge2[o]){var a=this.edge1[o];this.edge1[o]=this.edge2[o],this.edge2[o]=a}return this},setInvert:function(s){return s===void 0&&(s=!1),typeof s=="boolean"&&(s=[s,s,s,s]),this.invert[0]=s[0],this.invert[1]=s[1],this.invert[2]=s[2],this.invert[3]=s[3],this}});h.exports=i},11889:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e={Controller:t(13045),Barrel:t(10189),Blend:t(16762),Blocky:t(37597),Blur:t(88344),Bokeh:t(47564),ColorMatrix:t(77011),Displacement:t(16898),Glow:t(42652),Mask:t(97797),ParallelFilters:t(2195),Pixelate:t(29861),Sampler:t(63785),Shadow:t(62229),Threshold:t(99534)};h.exports=e},25305:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(10312),l=t(23568),i=function(s,r,o){r.x=l(o,"x",0),r.y=l(o,"y",0),r.depth=l(o,"depth",0),r.flipX=l(o,"flipX",!1),r.flipY=l(o,"flipY",!1);var a=l(o,"scale",null);typeof a=="number"?r.setScale(a):a!==null&&(r.scaleX=l(a,"x",1),r.scaleY=l(a,"y",1));var u=l(o,"scrollFactor",null);typeof u=="number"?r.setScrollFactor(u):u!==null&&(r.scrollFactorX=l(u,"x",1),r.scrollFactorY=l(u,"y",1)),r.rotation=l(o,"rotation",0);var f=l(o,"angle",null);f!==null&&(r.angle=f),r.alpha=l(o,"alpha",1);var v=l(o,"origin",null);if(typeof v=="number")r.setOrigin(v);else if(v!==null){var c=l(v,"x",.5),g=l(v,"y",.5);r.setOrigin(c,g)}r.blendMode=l(o,"blendMode",e.NORMAL),r.visible=l(o,"visible",!0);var p=l(o,"add",!0);return p&&s.sys.displayList.add(r),r.preUpdate&&s.sys.updateList.add(r),r};h.exports=i},13059:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(23568),l=function(i,s){var r=e(s,"anims",null);if(r===null)return i;if(typeof r=="string")i.anims.play(r);else if(typeof r=="object"){var o=i.anims,a=e(r,"key",void 0);if(a){var u=e(r,"startFrame",void 0),f=e(r,"delay",0),v=e(r,"repeat",0),c=e(r,"repeatDelay",0),g=e(r,"yoyo",!1),p=e(r,"play",!1),T=e(r,"delayedPlay",0),C={key:a,delay:f,repeat:v,repeatDelay:c,yoyo:g,startFrame:u};p?o.play(C):T>0?o.playAfterDelay(C,T):o.load(C)}}return i};h.exports=l},8050:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(73162),i=t(37277),s=t(51708),r=t(44594),o=t(19186),a=new e({Extends:l,initialize:function(f){l.call(this,f),this.sortChildrenFlag=!1,this.scene=f,this.systems=f.sys,this.events=f.sys.events,this.addCallback=this.addChildCallback,this.removeCallback=this.removeChildCallback,this.events.once(r.BOOT,this.boot,this),this.events.on(r.START,this.start,this)},boot:function(){this.events.once(r.DESTROY,this.destroy,this)},addChildCallback:function(u){u.displayList&&u.displayList!==this&&u.removeFromDisplayList(),u.parentContainer&&u.parentContainer.remove(u),u.displayList||(this.queueDepthSort(),u.displayList=this,u.emit(s.ADDED_TO_SCENE,u,this.scene),this.events.emit(r.ADDED_TO_SCENE,u,this.scene))},removeChildCallback:function(u){this.queueDepthSort(),u.displayList=null,u.emit(s.REMOVED_FROM_SCENE,u,this.scene),this.events.emit(r.REMOVED_FROM_SCENE,u,this.scene)},start:function(){this.events.once(r.SHUTDOWN,this.shutdown,this)},queueDepthSort:function(){this.sortChildrenFlag=!0},depthSort:function(){this.sortChildrenFlag&&(o(this.list,this.sortByDepth),this.sortChildrenFlag=!1)},sortByDepth:function(u,f){return u._depth-f._depth},getChildren:function(){return this.list},shutdown:function(){for(var u=this.list,f=u.length;f--;)u[f]&&u[f].destroy(!0);u.length=0,this.events.off(r.SHUTDOWN,this.shutdown,this)},destroy:function(){this.shutdown(),this.events.off(r.START,this.start,this),this.scene=null,this.systems=null,this.events=null}});i.register("DisplayList",a,"displayList"),h.exports=a},95643:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(31401),i=t(53774),s=t(45893),r=t(50792),o=t(51708),a=t(44594),u=new e({Extends:r,Mixins:[l.Filters,l.RenderSteps],initialize:function(v,c){r.call(this),this.scene=v,this.displayList=null,this.type=c,this.state=0,this.parentContainer=null,this.name="",this.active=!0,this.tabIndex=-1,this.data=null,this.renderFlags=15,this.cameraFilter=0,this.vertexRoundMode="safeAuto",this.input=null,this.body=null,this.ignoreDestroy=!1,this.addRenderStep&&this.addRenderStep(this.renderWebGL),this.on(o.ADDED_TO_SCENE,this.addedToScene,this),this.on(o.REMOVED_FROM_SCENE,this.removedFromScene,this),v.sys.queueDepthSort()},setActive:function(f){return this.active=f,this},setName:function(f){return this.name=f,this},setState:function(f){return this.state=f,this},setDataEnabled:function(){return this.data||(this.data=new s(this)),this},setData:function(f,v){return this.data||(this.data=new s(this)),this.data.set(f,v),this},incData:function(f,v){return this.data||(this.data=new s(this)),this.data.inc(f,v),this},toggleData:function(f){return this.data||(this.data=new s(this)),this.data.toggle(f),this},getData:function(f){return this.data||(this.data=new s(this)),this.data.get(f)},setInteractive:function(f,v,c){return this.scene.sys.input.enable(this,f,v,c),this},disableInteractive:function(f){return f===void 0&&(f=!1),this.scene.sys.input.disable(this,f),this},removeInteractive:function(f){return f===void 0&&(f=!1),this.scene.sys.input.clear(this),f&&this.scene.sys.input.resetCursor(),this.input=void 0,this},addedToScene:function(){},removedFromScene:function(){},update:function(){},toJSON:function(){return i(this)},willRender:function(f){var v=this.displayList&&this.displayList.active?this.displayList.willRender(f):!0;return!(!v||u.RENDER_MASK!==this.renderFlags||this.cameraFilter!==0&&this.cameraFilter&f.id)},willRoundVertices:function(f,v){switch(this.vertexRoundMode){case"safe":return v;case"safeAuto":return v&&f.roundPixels;case"full":return!0;case"fullAuto":return f.roundPixels;case"off":default:return!1}},setVertexRoundMode:function(f){return this.vertexRoundMode=f,this},getIndexList:function(){for(var f=this,v=this.parentContainer,c=[];v&&(c.unshift(v.getIndex(f)),f=v,v.parentContainer);)v=v.parentContainer;return this.displayList?c.unshift(this.displayList.getIndex(f)):c.unshift(this.scene.sys.displayList.getIndex(f)),c},addToDisplayList:function(f){return f===void 0&&(f=this.scene.sys.displayList),this.displayList&&this.displayList!==f&&this.removeFromDisplayList(),f.exists(this)||(this.displayList=f,f.add(this,!0),f.queueDepthSort(),this.emit(o.ADDED_TO_SCENE,this,this.scene),f.events.emit(a.ADDED_TO_SCENE,this,this.scene)),this},addToUpdateList:function(){return this.scene&&this.preUpdate&&this.scene.sys.updateList.add(this),this},removeFromDisplayList:function(){var f=this.displayList||this.scene.sys.displayList;return f&&f.exists(this)&&(f.remove(this,!0),f.queueDepthSort(),this.displayList=null,this.emit(o.REMOVED_FROM_SCENE,this,this.scene),f.events.emit(a.REMOVED_FROM_SCENE,this,this.scene)),this},removeFromUpdateList:function(){return this.scene&&this.preUpdate&&this.scene.sys.updateList.remove(this),this},getDisplayList:function(){var f=null;return this.parentContainer?f=this.parentContainer.list:this.displayList&&(f=this.displayList.list),f},destroy:function(f){!this.scene||this.ignoreDestroy||(f===void 0&&(f=!1),this.preDestroy&&this.preDestroy.call(this),this.emit(o.DESTROY,this,f),this.removeAllListeners(),this.removeFromDisplayList(),this.removeFromUpdateList(),this.input&&(this.scene.sys.input.clear(this),this.input=void 0),this.data&&(this.data.destroy(),this.data=void 0),this.body&&(this.body.destroy(),this.body=void 0),this.filterCamera&&(this.filterCamera.destroy(),this.filterCamera=void 0),this.active=!1,this.visible=!1,this.scene=void 0,this.parentContainer=void 0)}});u.RENDER_MASK=15,h.exports=u},44603:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(37277),i=t(44594),s=new e({initialize:function(o){this.scene=o,this.systems=o.sys,this.events=o.sys.events,this.displayList,this.updateList,this.events.once(i.BOOT,this.boot,this),this.events.on(i.START,this.start,this)},boot:function(){this.displayList=this.systems.displayList,this.updateList=this.systems.updateList,this.events.once(i.DESTROY,this.destroy,this)},start:function(){this.events.once(i.SHUTDOWN,this.shutdown,this)},shutdown:function(){this.events.off(i.SHUTDOWN,this.shutdown,this)},destroy:function(){this.shutdown(),this.events.off(i.START,this.start,this),this.scene=null,this.systems=null,this.events=null,this.displayList=null,this.updateList=null}});s.register=function(r,o){s.prototype.hasOwnProperty(r)||(s.prototype[r]=o)},s.remove=function(r){s.prototype.hasOwnProperty(r)&&delete s.prototype[r]},l.register("GameObjectCreator",s,"make"),h.exports=s},39429:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(37277),i=t(44594),s=new e({initialize:function(o){this.scene=o,this.systems=o.sys,this.events=o.sys.events,this.displayList,this.updateList,this.events.once(i.BOOT,this.boot,this),this.events.on(i.START,this.start,this)},boot:function(){this.displayList=this.systems.displayList,this.updateList=this.systems.updateList,this.events.once(i.DESTROY,this.destroy,this)},start:function(){this.events.once(i.SHUTDOWN,this.shutdown,this)},existing:function(r){return(r.renderCanvas||r.renderWebGL)&&this.displayList.add(r),r.preUpdate&&this.updateList.add(r),r},shutdown:function(){this.events.off(i.SHUTDOWN,this.shutdown,this)},destroy:function(){this.shutdown(),this.events.off(i.START,this.start,this),this.scene=null,this.systems=null,this.events=null,this.displayList=null,this.updateList=null}});s.register=function(r,o){s.prototype.hasOwnProperty(r)||(s.prototype[r]=o)},s.remove=function(r){s.prototype.hasOwnProperty(r)&&delete s.prototype[r]},l.register("GameObjectFactory",s,"add"),h.exports=s},91296:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(61340),l=new e,i=new e,s=new e,r=new e,o={camera:l,sprite:i,calc:s,cameraExternal:r},a=function(u,f,v,c){return c?r.loadIdentity():r.copyFrom(f.matrixExternal),l.copyWithScrollFactorFrom(c?f.matrix:f.matrixCombined,f.scrollX,f.scrollY,u.scrollFactorX,u.scrollFactorY),s.copyFrom(l),v&&s.multiply(v),i.applyITRS(u.x,u.y,u.rotation,u.scaleX,u.scaleY),s.multiply(i),o};h.exports=a},45027:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(25774),i=t(37277),s=t(44594),r=new e({Extends:l,initialize:function(a){l.call(this),this.checkQueue=!0,this.scene=a,this.systems=a.sys,a.sys.events.once(s.BOOT,this.boot,this),a.sys.events.on(s.START,this.start,this)},boot:function(){this.systems.events.once(s.DESTROY,this.destroy,this)},start:function(){var o=this.systems.events;o.on(s.PRE_UPDATE,this.update,this),o.on(s.UPDATE,this.sceneUpdate,this),o.once(s.SHUTDOWN,this.shutdown,this)},sceneUpdate:function(o,a){for(var u=this._active,f=u.length,v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={frame:null,uvSource:null},t={quad:new Float32Array(8)},e=function(l,i,s,r,o,a,u,f,v){d.frame=s.frame,d.uvSource=o;var c=r.x-s.displayOriginX+a,g=r.y-s.displayOriginY+u,p=c+r.w,T=g+r.h,C=f.a,M=f.b,A=f.c,R=f.d,P=f.e,L=f.f,F=c*C+g*A+P,w=c*M+g*R+L,O=c*C+T*A+P,B=c*M+T*R+L,I=p*C+T*A+P,D=p*M+T*R+L,N=p*C+g*A+P,z=p*M+g*R+L;t.quad[0]=F,t.quad[1]=w,t.quad[2]=O,t.quad[3]=B,t.quad[4]=I,t.quad[5]=D,t.quad[6]=N,t.quad[7]=z,i.run(l,s,void 0,0,d,t,v)};h.exports=e},53048:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){if(l===void 0&&(l=!1),i===void 0)return i={local:{x:0,y:0,width:0,height:0},global:{x:0,y:0,width:0,height:0},lines:{shortest:0,longest:0,lengths:null,height:0},wrappedText:"",words:[],characters:[],scaleX:0,scaleY:0},i;var s=t.text,r=s.length,o=t.maxWidth,a=t.wordWrapCharCode,u=Number.MAX_VALUE,f=Number.MAX_VALUE,v=0,c=0,g=t.fontData.chars,p=t.fontData.lineHeight,T=t.letterSpacing,C=t.lineSpacing,M=0,A=0,R=0,P=null,L=t._align,F=0,w=0,O=t.fontSize/t.fontData.size,B=O*t.scaleX,I=O*t.scaleY,D=null,N=0,z=[],V=Number.MAX_VALUE,U=0,G=0,b=0,Y,W,H,X=[],K=[],Z=null,Q=function(Kt,fe){for(var pe=0,le=0;le0){H=s.split(` +`);var j=[];for(Y=0;YU&&(U=b),bF&&(u=F),f>w&&(f=w);var ot=F+P.xAdvance,nt=w+p;vU&&(U=b),b0)for(var lt=0;lt{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(21859),l=function(i,s,r,o,a,u,f){var v=i.sys.textures.get(r),c=v.get(o),g=i.sys.cache.xml.get(a);if(c&&g){var p=e(g,c,u,f,v);return i.sys.cache.bitmapFont.add(s,{data:p,texture:r,frame:o,fromAtlas:!0}),!0}else return!1};h.exports=l},6925:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(35154),l=function(i,s){var r=s.width,o=s.height,a=Math.floor(r/2),u=Math.floor(o/2),f=e(s,"chars","");if(f!==""){var v=e(s,"image",""),c=i.sys.textures.getFrame(v),g=c.cutX,p=c.cutY,T=c.source.width,C=c.source.height,M=e(s,"offset.x",0),A=e(s,"offset.y",0),R=e(s,"spacing.x",0),P=e(s,"spacing.y",0),L=e(s,"lineSpacing",0),F=e(s,"charsPerRow",null);F===null&&(F=T/r,F>f.length&&(F=f.length));for(var w=M,O=A,B={retroFont:!0,font:v,size:r,lineHeight:o+L,chars:{}},I=0,D=0;D{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */function d(e,l){return parseInt(e.getAttribute(l),10)}var t=function(e,l,i,s,r){i===void 0&&(i=0),s===void 0&&(s=0);var o=l.cutX,a=l.cutY,u=l.source.width,f=l.source.height,v=l.sourceIndex,c={},g=e.getElementsByTagName("info")[0],p=e.getElementsByTagName("common")[0];c.font=g.getAttribute("face"),c.size=d(g,"size"),c.lineHeight=d(p,"lineHeight")+s,c.chars={};var T=e.getElementsByTagName("char"),C=l!==void 0&&l.trimmed;if(C)var M=l.height,A=l.width;for(var R=0;R{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87662),l=t(79291),i={Parse:t(6925)};i=l(!1,i,e),h.exports=i},87662:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={TEXT_SET1:" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",TEXT_SET2:` !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ`,TEXT_SET3:"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",TEXT_SET4:"ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",TEXT_SET5:"ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",TEXT_SET6:`ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789"(),-.' `,TEXT_SET7:`AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW")28FLRX-'39`,TEXT_SET8:"0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",TEXT_SET9:`ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'"?!`,TEXT_SET10:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",TEXT_SET11:`ABCDEFGHIJKLMNOPQRSTUVWXYZ.,"-+!?()':;0123456789`};h.exports=d},2638:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(22186),l=t(83419),i=t(12310),s=new l({Extends:e,Mixins:[i],initialize:function(o,a,u,f,v,c,g){e.call(this,o,a,u,f,v,c,g),this.type="DynamicBitmapText",this.scrollX=0,this.scrollY=0,this.cropWidth=0,this.cropHeight=0,this.displayCallback,this.callbackData={parent:this,color:0,tint:{topLeft:0,topRight:0,bottomLeft:0,bottomRight:0},index:0,charCode:0,x:0,y:0,scale:0,rotation:0,data:0}},setSize:function(r,o){return this.cropWidth=r,this.cropHeight=o,this},setDisplayCallback:function(r){return this.displayCallback=r,this},setScrollX:function(r){return this.scrollX=r,this},setScrollY:function(r){return this.scrollY=r,this}});h.exports=s},86741:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(20926),l=function(i,s,r,o){var a=s._text,u=a.length,f=i.currentContext;if(!(u===0||!e(i,f,s,r,o))){r.addToRenderList(s);var v=s.fromAtlas?s.frame:s.texture.frames.__BASE,c=s.displayCallback,g=s.callbackData,p=s.fontData.chars,T=s.fontData.lineHeight,C=s._letterSpacing,M=0,A=0,R=0,P=null,L=0,F=0,w=0,O=0,B=0,I=0,D=null,N=0,z=s.frame.source.image,V=v.cutX,U=v.cutY,G=0,b=0,Y=s._fontSize/s.fontData.size,W=s._align,H=0,X=0;s.getTextBounds(!1);var K=s._bounds.lines;W===1?X=(K.longest-K.lengths[0])/2:W===2&&(X=K.longest-K.lengths[0]),f.translate(-s.displayOriginX,-s.displayOriginY);var Z=r.roundPixels;s.cropWidth>0&&s.cropHeight>0&&(f.beginPath(),f.rect(0,0,s.cropWidth,s.cropHeight),f.clip());for(var Q=0;Q{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(2638),l=t(25305),i=t(44603),s=t(23568);i.register("dynamicBitmapText",function(r,o){r===void 0&&(r={});var a=s(r,"font",""),u=s(r,"text",""),f=s(r,"size",!1),v=new e(this.scene,0,0,a,u,f);return o!==void 0&&(r.add=o),l(this.scene,v,r),v})},72566:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(2638),l=t(39429);l.register("dynamicBitmapText",function(i,s,r,o,a){return this.displayList.add(new e(this.scene,i,s,r,o,a))})},12310:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(73482),i=t(86741),h.exports={renderWebGL:l,renderCanvas:i}},73482:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91296),l=t(61340),i=t(70554),s=new l,r={frame:null,uvSource:null},o={tintEffect:0,tintTopLeft:0,tintTopRight:0,tintBottomLeft:0,tintBottomRight:0},a=function(u,f,v,c){var g=f.text,p=g.length;if(p!==0){var T=v.camera;T.addToRenderList(f);var C=v,M=f.customRenderNodes.Submitter||f.defaultRenderNodes.Submitter,A=e(f,T,c,!v.useCanvas),R=A.sprite,P=A.calc,L=s,F=f.cropWidth>0||f.cropHeight>0;F&&(C=v.getClone(),C.setScissorEnable(!0),C.setScissorBox(P.tx,P.ty,f.cropWidth*P.scaleX,f.cropHeight*P.scaleY),C.use()),r.frame=f.frame;var w=f.tintFill,O=i.getTintAppendFloatAlpha(f.tintTopLeft,f._alphaTL),B=i.getTintAppendFloatAlpha(f.tintTopRight,f._alphaTR),I=i.getTintAppendFloatAlpha(f.tintBottomLeft,f._alphaBL),D=i.getTintAppendFloatAlpha(f.tintBottomRight,f._alphaBR),N=0,z=0,V=0,U=0,G=f.letterSpacing,b,Y=0,W=0,H,X=f.scrollX,K=f.scrollY,Z=f.fontData,Q=Z.chars,j=Z.lineHeight,J=f.fontSize/Z.size,tt=0,k=f._align,q=0,_=0,rt=f.getTextBounds(!1);f.maxWidth>0&&(g=rt.wrappedText,p=g.length);var at=f._bounds.lines;k===1?_=(at.longest-at.lengths[0])/2:k===2&&(_=at.longest-at.lengths[0]);for(var ht=f.displayCallback,ot=f.callbackData,nt=0;nt{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(70972),l=t(83419),i=t(45319),s=t(31401),r=t(95643),o=t(53048),a=t(61327),u=t(21859),f=t(87841),v=t(18658),c=new l({Extends:r,Mixins:[s.Alpha,s.BlendMode,s.Depth,s.GetBounds,s.Lighting,s.Mask,s.Origin,s.RenderNodes,s.ScrollFactor,s.Texture,s.Tint,s.Transform,s.Visible,v],initialize:function(p,T,C,M,A,R,P){A===void 0&&(A=""),P===void 0&&(P=0),r.call(this,p,"BitmapText"),this.font=M;var L=this.scene.sys.cache.bitmapFont.get(M);L||console.warn("Invalid BitmapText key: "+M),this.fontData=L.data,this._text="",this._fontSize=R||this.fontData.size,this._letterSpacing=0,this._lineSpacing=0,this._align=P,this._bounds=o(),this._dirty=!0,this._maxWidth=0,this.wordWrapCharCode=32,this.charColors=[],this.dropShadowX=0,this.dropShadowY=0,this.dropShadowColor=0,this.dropShadowAlpha=.5,this.fromAtlas=L.fromAtlas,this.setTexture(L.texture,L.frame),this.setPosition(T,C),this.setOrigin(0,0),this.initRenderNodes(this._defaultRenderNodesMap),this.setText(A)},_defaultRenderNodesMap:{get:function(){return e}},setLeftAlign:function(){return this._align=c.ALIGN_LEFT,this._dirty=!0,this},setCenterAlign:function(){return this._align=c.ALIGN_CENTER,this._dirty=!0,this},setRightAlign:function(){return this._align=c.ALIGN_RIGHT,this._dirty=!0,this},setFontSize:function(g){return this._fontSize=g,this._dirty=!0,this},setLetterSpacing:function(g){return g===void 0&&(g=0),this._letterSpacing=g,this._dirty=!0,this},setLineSpacing:function(g){return g===void 0&&(g=0),this.lineSpacing=g,this},setText:function(g){return!g&&g!==0&&(g=""),Array.isArray(g)&&(g=g.join(` +`)),g!==this.text&&(this._text=g.toString(),this._dirty=!0,this.updateDisplayOrigin()),this},setDropShadow:function(g,p,T,C){return g===void 0&&(g=0),p===void 0&&(p=0),T===void 0&&(T=0),C===void 0&&(C=.5),this.dropShadowX=g,this.dropShadowY=p,this.dropShadowColor=T,this.dropShadowAlpha=C,this},setCharacterTint:function(g,p,T,C,M,A,R){g===void 0&&(g=0),p===void 0&&(p=1),T===void 0&&(T=!1),C===void 0&&(C=-1),M===void 0&&(M=C,A=C,R=C);var P=this.text.length;p===-1&&(p=P),g<0&&(g=P+g),g=i(g,0,P-1);for(var L=i(g+p,g,P),F=this.charColors,w=g;w{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(20926),l=function(i,s,r,o){var a=s._text,u=a.length,f=i.currentContext;if(!(u===0||!e(i,f,s,r,o))){r.addToRenderList(s);var v=s.fromAtlas?s.frame:s.texture.frames.__BASE,c=s.fontData.chars,g=s.fontData.lineHeight,p=s._letterSpacing,T=s._lineSpacing,C=0,M=0,A=0,R=null,P=0,L=0,F=0,w=0,O=0,B=0,I=null,D=0,N=v.source.image,z=v.cutX,V=v.cutY,U=s._fontSize/s.fontData.size,G=s._align,b=0,Y=0,W=s.getTextBounds(!1);s.maxWidth>0&&(a=W.wrappedText,u=a.length);var H=s._bounds.lines;G===1?Y=(H.longest-H.lengths[0])/2:G===2&&(Y=H.longest-H.lengths[0]),f.translate(-s.displayOriginX,-s.displayOriginY);for(var X=r.roundPixels,K=0;K{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(22186),l=t(25305),i=t(44603),s=t(23568),r=t(35154);i.register("bitmapText",function(o,a){o===void 0&&(o={});var u=r(o,"font",""),f=s(o,"text",""),v=s(o,"size",!1),c=r(o,"align",0),g=new e(this.scene,0,0,u,f,v,c);return a!==void 0&&(o.add=a),l(this.scene,g,o),g})},34914:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(22186),l=t(39429);l.register("bitmapText",function(i,s,r,o,a,u){return this.displayList.add(new e(this.scene,i,s,r,o,a,u))})},18658:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(33590),i=t(37289),h.exports={renderWebGL:l,renderCanvas:i}},33590:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(3217),l=t(91296),i=t(70554),s={tintEffect:0,tintTopLeft:0,tintTopRight:0,tintBottomLeft:0,tintBottomRight:0},r={tintEffect:0,tintTopLeft:0,tintTopRight:0,tintBottomLeft:0,tintBottomRight:0},o=function(a,u,f,v){var c=u._text,g=c.length;if(g!==0){var p=f.camera;p.addToRenderList(u);var T=u.customRenderNodes.Submitter||u.defaultRenderNodes.Submitter,C=l(u,p,v,!f.useCanvas).calc,M=u.charColors,A=i.getTintAppendFloatAlpha;s.tintFill=u.tintFill,s.tintTopLeft=A(u.tintTopLeft,u._alphaTL),s.tintTopRight=A(u.tintTopRight,u._alphaTR),s.tintBottomLeft=A(u.tintBottomLeft,u._alphaBL),s.tintBottomRight=A(u.tintBottomRight,u._alphaBR);var R=u.getTextBounds(!1),P,L,F,w=R.characters,O=u.dropShadowX,B=u.dropShadowY,I=O!==0||B!==0;if(I){var D=u.dropShadowColor,N=u.dropShadowAlpha;for(r.tintFill=1,r.tintTopLeft=A(D,N*u._alphaTL),r.tintTopRight=A(D,N*u._alphaTR),r.tintBottomLeft=A(D,N*u._alphaBL),r.tintBottomRight=A(D,N*u._alphaBR),P=0;P{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(48011),l=t(46590),i=t(98682),s=t(83419),r=t(31401),o=t(4327),a=t(95643),u=t(73162),f=new s({Extends:a,Mixins:[r.Alpha,r.BlendMode,r.Depth,r.Lighting,r.Mask,r.RenderNodes,r.ScrollFactor,r.Size,r.Texture,r.Transform,r.Visible,e],initialize:function(c,g,p,T,C){a.call(this,c,"Blitter"),this.setTexture(T,C),this.setPosition(g,p),this.initRenderNodes(this._defaultRenderNodesMap),this.children=new u,this.renderList=[],this.dirty=!1},_defaultRenderNodesMap:{get:function(){return i}},create:function(v,c,g,p,T){p===void 0&&(p=!0),T===void 0&&(T=this.children.length),g===void 0?g=this.frame:g instanceof o||(g=this.texture.get(g));var C=new l(this,v,c,g,p);return this.children.addAt(C,T,!1),this.dirty=!0,C},createFromCallback:function(v,c,g,p){for(var T=this.createMultiple(c,g,p),C=0;C0},getRenderList:function(){return this.dirty&&(this.renderList=this.children.list.filter(this.childCanRender,this),this.dirty=!1),this.renderList},clear:function(){this.children.removeAll(),this.dirty=!0},preDestroy:function(){this.children.destroy(),this.renderList=[]}});h.exports=f},72396:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){var s=e.getRenderList();if(s.length!==0){var r=t.currentContext,o=l.alpha*e.alpha;if(o!==0){l.addToRenderList(e),r.globalCompositeOperation=t.blendModes[e.blendMode],r.imageSmoothingEnabled=!e.frame.source.scaleMode;var a=e.x-l.scrollX*e.scrollFactorX,u=e.y-l.scrollY*e.scrollFactorY;r.save(),i&&i.copyToContext(r);for(var f=l.roundPixels,v=0;v0&&T.height>0&&(r.save(),r.translate(c.x+a,c.y+u),r.scale(A,R),r.drawImage(p.source.image,T.x,T.y,T.width,T.height,C,M,T.width,T.height),r.restore())):(f&&(C=Math.round(C),M=Math.round(M)),T.width>0&&T.height>0&&r.drawImage(p.source.image,T.x,T.y,T.width,T.height,C+c.x+a,M+c.y+u,T.width,T.height)))}r.restore()}}};h.exports=d},9403:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(6107),l=t(25305),i=t(44603),s=t(23568);i.register("blitter",function(r,o){r===void 0&&(r={});var a=s(r,"key",null),u=s(r,"frame",null),f=new e(this.scene,0,0,a,u);return o!==void 0&&(r.add=o),l(this.scene,f,r),f})},12709:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(6107),l=t(39429);l.register("blitter",function(i,s,r,o){return this.displayList.add(new e(this.scene,i,s,r,o))})},48011:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(99485),i=t(72396),h.exports={renderWebGL:l,renderCanvas:i}},99485:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(61340),l=t(70554),i=new e,s={quad:new Float32Array(8)},r={},o={},a=function(u,f,v,c){var g=f.getRenderList(),p=v.camera,T=f.alpha;if(!(g.length===0||T===0)){p.addToRenderList(f);var C=i.copyWithScrollFactorFrom(p.getViewMatrix(!v.useCanvas),p.scrollX,p.scrollY,f.scrollFactorX,f.scrollFactorY);c&&C.multiply(c);for(var M=f.x,A=f.y,R=f.customRenderNodes,P=f.defaultRenderNodes,L=0;L{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(4327),i=new e({initialize:function(r,o,a,u,f){this.parent=r,this.x=o,this.y=a,this.frame=u,this.data={},this.tint=16777215,this._visible=f,this._alpha=1,this.flipX=!1,this.flipY=!1,this.hasTransformComponent=!0},setFrame:function(s){return s===void 0?this.frame=this.parent.frame:s instanceof l&&s.texture===this.parent.texture?this.frame=s:this.frame=this.parent.texture.get(s),this},resetFlip:function(){return this.flipX=!1,this.flipY=!1,this},reset:function(s,r,o){return this.x=s,this.y=r,this.flipX=!1,this.flipY=!1,this._alpha=1,this._visible=!0,this.parent.dirty=!0,o&&this.setFrame(o),this},setPosition:function(s,r){return this.x=s,this.y=r,this},setFlipX:function(s){return this.flipX=s,this},setFlipY:function(s){return this.flipY=s,this},setFlip:function(s,r){return this.flipX=s,this.flipY=r,this},setVisible:function(s){return this.visible=s,this},setAlpha:function(s){return this.alpha=s,this},setTint:function(s){return this.tint=s,this},destroy:function(){this.parent.dirty=!0,this.parent.children.remove(this),this.parent=void 0,this.frame=void 0,this.data=void 0},visible:{get:function(){return this._visible},set:function(s){this.parent.dirty|=this._visible!==s,this._visible=s}},alpha:{get:function(){return this._alpha},set:function(s){this.parent.dirty|=this._alpha>0!=s>0,this._alpha=s}}});h.exports=i},43451:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87774),l=t(30529),i=t(83419),s=t(31401),r=t(95643),o=t(36683),a=new i({Extends:r,Mixins:[s.BlendMode,s.Depth,s.RenderNodes,s.Visible,o],initialize:function(f,v){r.call(this,f,"CaptureFrame");var c=f.renderer;this.drawingContext=new e(c,{width:c.width,height:c.height}),this.captureTexture=f.sys.textures.addGLTexture(v,this.drawingContext.texture),this.initRenderNodes(this._defaultRenderNodesMap)},_defaultRenderNodesMap:{get:function(){return l}},setAlpha:function(u){return this},setScrollFactor:function(u,f){return this}});h.exports=a},23675:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(44603),l=t(23568),i=t(43451);e.register("captureFrame",function(s,r){s===void 0&&(s={});var o=l(s,"depth",0),a=l(s,"key",null),u=l(s,"visible",!0),f=new i(this.scene,a);return r!==void 0&&(s.add=r),f.setDepth(o).setVisible(u),s.add&&this.scene.sys.displayList.add(f),f})},20421:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43451),l=t(39429);l.register("captureFrame",function(i){return this.displayList.add(new e(this.scene,i))})},36683:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(82237),h.exports={renderWebGL:l,renderCanvas:i}},82237:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=!1,t=function(e,l,i){if(i.useCanvas){d||(d=!0,console.warn("CaptureFrame: Cannot capture from main canvas. Activate `forceComposite` on the camera to use this feature. This warning will now mute."));return}i.camera.addToRenderList(l);var s=i.width,r=i.height,o=l.customRenderNodes,a=l.defaultRenderNodes;l.drawingContext.resize(s,r),l.drawingContext.use(),(o.BatchHandler||a.BatchHandler).batch(l.drawingContext,i.texture,0,r,0,0,s,r,s,0,0,0,1,1,!1,4294967295,4294967295,4294967295,4294967295,{}),l.drawingContext.release()};h.exports=t},16005:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(45319),l=2,i={_alpha:1,_alphaTL:1,_alphaTR:1,_alphaBL:1,_alphaBR:1,clearAlpha:function(){return this.setAlpha(1)},setAlpha:function(s,r,o,a){return s===void 0&&(s=1),r===void 0?this.alpha=s:(this._alphaTL=e(s,0,1),this._alphaTR=e(r,0,1),this._alphaBL=e(o,0,1),this._alphaBR=e(a,0,1)),this},alpha:{get:function(){return this._alpha},set:function(s){var r=e(s,0,1);this._alpha=r,this._alphaTL=r,this._alphaTR=r,this._alphaBL=r,this._alphaBR=r,r===0?this.renderFlags&=~l:this.renderFlags|=l}},alphaTopLeft:{get:function(){return this._alphaTL},set:function(s){var r=e(s,0,1);this._alphaTL=r,r!==0&&(this.renderFlags|=l)}},alphaTopRight:{get:function(){return this._alphaTR},set:function(s){var r=e(s,0,1);this._alphaTR=r,r!==0&&(this.renderFlags|=l)}},alphaBottomLeft:{get:function(){return this._alphaBL},set:function(s){var r=e(s,0,1);this._alphaBL=r,r!==0&&(this.renderFlags|=l)}},alphaBottomRight:{get:function(){return this._alphaBR},set:function(s){var r=e(s,0,1);this._alphaBR=r,r!==0&&(this.renderFlags|=l)}}};h.exports=i},88509:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(45319),l=2,i={_alpha:1,clearAlpha:function(){return this.setAlpha(1)},setAlpha:function(s){return s===void 0&&(s=1),this.alpha=s,this},alpha:{get:function(){return this._alpha},set:function(s){var r=e(s,0,1);this._alpha=r,r===0?this.renderFlags&=~l:this.renderFlags|=l}}};h.exports=i},90065:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(10312),l={_blendMode:e.NORMAL,blendMode:{get:function(){return this._blendMode},set:function(i){typeof i=="string"&&(i=e[i]),i|=0,i>=-1&&(this._blendMode=i)}},setBlendMode:function(i){return this.blendMode=i,this}};h.exports=l},94215:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={width:0,height:0,displayWidth:{get:function(){return this.scaleX*this.width},set:function(t){this.scaleX=t/this.width}},displayHeight:{get:function(){return this.scaleY*this.height},set:function(t){this.scaleY=t/this.height}},setSize:function(t,e){return this.width=t,this.height=e,this},setDisplaySize:function(t,e){return this.displayWidth=t,this.displayHeight=e,this}};h.exports=d},61683:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={texture:null,frame:null,isCropped:!1,setCrop:function(t,e,l,i){if(t===void 0)this.isCropped=!1;else if(this.frame){if(typeof t=="number")this.frame.setCropUVs(this._crop,t,e,l,i,this.flipX,this.flipY);else{var s=t;this.frame.setCropUVs(this._crop,s.x,s.y,s.width,s.height,this.flipX,this.flipY)}this.isCropped=!0}return this},resetCropObject:function(){return{u0:0,v0:0,u1:0,v1:0,width:0,height:0,x:0,y:0,flipX:!1,flipY:!1,cx:0,cy:0,cw:0,ch:0}}};h.exports=d},89272:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(37105),l={_depth:0,depth:{get:function(){return this._depth},set:function(i){this.displayList&&this.displayList.queueDepthSort(),this._depth=i}},setDepth:function(i){return i===void 0&&(i=0),this.depth=i,this},setToTop:function(){var i=this.getDisplayList();return i&&e.BringToTop(i,this),this},setToBack:function(){var i=this.getDisplayList();return i&&e.SendToBack(i,this),this},setAbove:function(i){var s=this.getDisplayList();return s&&i&&e.MoveAbove(s,this,i),this},setBelow:function(i){var s=this.getDisplayList();return s&&i&&e.MoveBelow(s,this,i),this}};h.exports=l},3248:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={timeElapsed:0,timeElapsedResetPeriod:36e5,timePaused:!1,setTimerResetPeriod:function(t){return this.timeElapsedResetPeriod=t,this},setTimerPaused:function(t){return this.timePaused=!!t,this},resetTimer:function(t){return t===void 0&&(t=0),this.timeElapsed=t,this},updateTimer:function(t,e){return this.timePaused||(this.timeElapsed+=e,this.timeElapsed>=this.timeElapsedResetPeriod&&(this.timeElapsed-=this.timeElapsedResetPeriod)),this}};h.exports=d},53427:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(10189),i=t(16762),s=t(37597),r=t(88344),o=t(47564),a=t(77011),u=t(16898),f=t(42652),v=t(97797),c=null,g=t(29861),p=t(63785),T=t(62229),C=t(99534),M=new e({initialize:function(P){this.camera=P,this.list=[]},clear:function(){for(var R=0;R{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=null,l=t(26099),i=t(61340),s={};s={filterCamera:null,filters:{get:function(){return this.filterCamera?this.filterCamera.filters:null}},renderFilters:!0,maxFilterSize:null,filtersAutoFocus:!0,filtersFocusContext:!1,filtersForceComposite:!1,_filtersMatrix:null,_filtersViewMatrix:null,willRenderFilters:function(){return this.renderFilters&&this.filters&&(this.filters.internal.getActive().length>0||this.filters.external.getActive().length>0||this.filtersForceComposite)},enableFilters:function(){if(this.filterCamera||!this.scene.renderer.gl)return this;var r=this.scene;if(e||(e=t(38058)),this.filterCamera=new e(0,0,1,1).setScene(r,!1),this.filterCamera.isObjectInversion=!0,r.game.config.roundPixels&&(this.filterCamera.roundPixels=!0),!this.maxFilterSize){var o=r.renderer.getMaxTextureSize();this.maxFilterSize=new l(o,o)}return this._filtersMatrix=new i,this._filtersViewMatrix=new i,(!this.getBounds||this.width===void 0||this.height===void 0||this.width===0||this.height===0)&&(this.filtersFocusContext=!0),this.addRenderStep(this.renderWebGLFilters,0),this},renderWebGLFilters:function(r,o,a,u,f){if(!o.willRenderFilters()){o.renderWebGLStep(r,o,a,u,f+1);return}var v=a.camera,c=o.filtersAutoFocus,g=o.filtersFocusContext;c&&(g?o.focusFiltersOnCamera(v):o.focusFilters());var p=o.filterCamera;if(p.preRender(),c&&g){var T=o.parentContainer;if(T){var C=T.getWorldTransformMatrix();p.matrix.multiply(C)}}var M=o._filtersMatrix,A=o._filtersViewMatrix.copyWithScrollFactorFrom(v.getViewMatrix(!a.useCanvas),v.scrollX,v.scrollY,o.scrollFactorX,o.scrollFactorY);if(u&&A.multiply(u),g)M.loadIdentity();else{if(o.type==="Layer")M.loadIdentity();else{var R=o.flipX?-1:1,P=o.flipY?-1:1;M.applyITRS(o.x,o.y,o.rotation,o.scaleX*R,o.scaleY*P)}var L=p.width,F=p.height;M.translate(-L*p.originX,-F*p.originY),A.multiply(M,M)}var w=o.scrollFactorX,O=o.scrollFactorY;o.scrollFactorX=1,o.scrollFactorY=1,r.cameraRenderNode.run(a,[o],p,M,!0,f+1),o.scrollFactorX=w,o.scrollFactorY=O;for(var B=p.renderList.length,I=0;I{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={flipX:!1,flipY:!1,toggleFlipX:function(){return this.flipX=!this.flipX,this},toggleFlipY:function(){return this.flipY=!this.flipY,this},setFlipX:function(t){return this.flipX=t,this},setFlipY:function(t){return this.flipY=t,this},setFlip:function(t,e){return this.flipX=t,this.flipY=e,this},resetFlip:function(){return this.flipX=!1,this.flipY=!1,this}};h.exports=d},8004:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87841),l=t(11520),i=t(26099),s={prepareBoundsOutput:function(r,o){if(o===void 0&&(o=!1),this.rotation!==0&&l(r,this.x,this.y,this.rotation),o&&this.parentContainer){var a=this.parentContainer.getBoundsTransformMatrix();a.transformPoint(r.x,r.y,r)}return r},getCenter:function(r,o){return r===void 0&&(r=new i),r.x=this.x-this.displayWidth*this.originX+this.displayWidth/2,r.y=this.y-this.displayHeight*this.originY+this.displayHeight/2,this.prepareBoundsOutput(r,o)},getTopLeft:function(r,o){return r||(r=new i),r.x=this.x-this.displayWidth*this.originX,r.y=this.y-this.displayHeight*this.originY,this.prepareBoundsOutput(r,o)},getTopCenter:function(r,o){return r||(r=new i),r.x=this.x-this.displayWidth*this.originX+this.displayWidth/2,r.y=this.y-this.displayHeight*this.originY,this.prepareBoundsOutput(r,o)},getTopRight:function(r,o){return r||(r=new i),r.x=this.x-this.displayWidth*this.originX+this.displayWidth,r.y=this.y-this.displayHeight*this.originY,this.prepareBoundsOutput(r,o)},getLeftCenter:function(r,o){return r||(r=new i),r.x=this.x-this.displayWidth*this.originX,r.y=this.y-this.displayHeight*this.originY+this.displayHeight/2,this.prepareBoundsOutput(r,o)},getRightCenter:function(r,o){return r||(r=new i),r.x=this.x-this.displayWidth*this.originX+this.displayWidth,r.y=this.y-this.displayHeight*this.originY+this.displayHeight/2,this.prepareBoundsOutput(r,o)},getBottomLeft:function(r,o){return r||(r=new i),r.x=this.x-this.displayWidth*this.originX,r.y=this.y-this.displayHeight*this.originY+this.displayHeight,this.prepareBoundsOutput(r,o)},getBottomCenter:function(r,o){return r||(r=new i),r.x=this.x-this.displayWidth*this.originX+this.displayWidth/2,r.y=this.y-this.displayHeight*this.originY+this.displayHeight,this.prepareBoundsOutput(r,o)},getBottomRight:function(r,o){return r||(r=new i),r.x=this.x-this.displayWidth*this.originX+this.displayWidth,r.y=this.y-this.displayHeight*this.originY+this.displayHeight,this.prepareBoundsOutput(r,o)},getBounds:function(r){r===void 0&&(r=new e);var o,a,u,f,v,c,g,p;if(this.parentContainer){var T=this.parentContainer.getBoundsTransformMatrix();this.getTopLeft(r),T.transformPoint(r.x,r.y,r),o=r.x,a=r.y,this.getTopRight(r),T.transformPoint(r.x,r.y,r),u=r.x,f=r.y,this.getBottomLeft(r),T.transformPoint(r.x,r.y,r),v=r.x,c=r.y,this.getBottomRight(r),T.transformPoint(r.x,r.y,r),g=r.x,p=r.y}else this.getTopLeft(r),o=r.x,a=r.y,this.getTopRight(r),u=r.x,f=r.y,this.getBottomLeft(r),v=r.x,c=r.y,this.getBottomRight(r),g=r.x,p=r.y;return r.x=Math.min(o,u,v,g),r.y=Math.min(a,f,c,p),r.width=Math.max(o,u,v,g)-r.x,r.height=Math.max(a,f,c,p)-r.y,r}};h.exports=s},73629:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={lighting:!1,selfShadow:{enabled:null,penumbra:.5,diffuseFlatThreshold:.3333333333333333},setLighting:function(t){return this.lighting=t,this},setSelfShadow:function(t,e,l){return t!==void 0&&(t===null?this.selfShadow.enabled=this.scene.sys.game.config.selfShadow:this.selfShadow.enabled=t),e!==void 0&&(this.selfShadow.penumbra=e),l!==void 0&&(this.selfShadow.diffuseFlatThreshold=l),this}};h.exports=d},8573:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(8054),l=t(80661),i={mask:null,setMask:function(s){return this.scene.renderer.type===e.WEBGL?(console.warn("Phaser.GameObjects.Components.Mask.setMask: This method is not supported in WebGL. Create a Mask filter instead."),this):(this.mask=s,this)},clearMask:function(s){return s===void 0&&(s=!1),s&&this.mask&&this.mask.destroy(),this.mask=null,this},createGeometryMask:function(s){return s===void 0&&(this.type==="Graphics"||this.geom)&&(s=this),new l(this.scene,s)}};h.exports=i},27387:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={_originComponent:!0,originX:.5,originY:.5,_displayOriginX:0,_displayOriginY:0,displayOriginX:{get:function(){return this._displayOriginX},set:function(t){this._displayOriginX=t,this.originX=t/this.width}},displayOriginY:{get:function(){return this._displayOriginY},set:function(t){this._displayOriginY=t,this.originY=t/this.height}},setOrigin:function(t,e){return t===void 0&&(t=.5),e===void 0&&(e=t),this.originX=t,this.originY=e,this.updateDisplayOrigin()},setOriginFromFrame:function(){return!this.frame||!this.frame.customPivot?this.setOrigin():(this.originX=this.frame.pivotX,this.originY=this.frame.pivotY,this.updateDisplayOrigin())},setDisplayOrigin:function(t,e){return t===void 0&&(t=0),e===void 0&&(e=t),this.displayOriginX=t,this.displayOriginY=e,this},updateDisplayOrigin:function(){return this._displayOriginX=this.originX*this.width,this._displayOriginY=this.originY*this.height,this}};h.exports=d},37640:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(39506),l=t(57355),i=t(35154),s=t(86353),r=t(26099),o={path:null,rotateToPath:!1,pathRotationOffset:0,pathOffset:null,pathVector:null,pathDelta:null,pathTween:null,pathConfig:null,_prevDirection:s.PLAYING_FORWARD,setPath:function(a,u){u===void 0&&(u=this.pathConfig);var f=this.pathTween;return f&&f.isPlaying()&&f.stop(),this.path=a,u&&this.startFollow(u),this},setRotateToPath:function(a,u){return u===void 0&&(u=0),this.rotateToPath=a,this.pathRotationOffset=u,this},isFollowing:function(){var a=this.pathTween;return a&&a.isPlaying()},startFollow:function(a,u){a===void 0&&(a={}),u===void 0&&(u=0);var f=this.pathTween;f&&f.isPlaying()&&f.stop(),typeof a=="number"&&(a={duration:a}),a.from=i(a,"from",0),a.to=i(a,"to",1);var v=l(a,"positionOnPath",!1);this.rotateToPath=l(a,"rotateToPath",!1),this.pathRotationOffset=i(a,"rotationOffset",0);var c=i(a,"startAt",u);if(c&&(a.onStart=function(p){var T=p.data[0];T.progress=c,T.elapsed=T.duration*c;var C=T.ease(T.progress);T.current=T.start+(T.end-T.start)*C,T.setTargetValue()}),this.pathOffset||(this.pathOffset=new r(this.x,this.y)),this.pathVector||(this.pathVector=new r),this.pathDelta||(this.pathDelta=new r),this.pathDelta.reset(),a.persist=!0,this.pathTween=this.scene.sys.tweens.addCounter(a),this.path.getStartPoint(this.pathOffset),v&&(this.x=this.pathOffset.x,this.y=this.pathOffset.y),this.pathOffset.x=this.x-this.pathOffset.x,this.pathOffset.y=this.y-this.pathOffset.y,this._prevDirection=s.PLAYING_FORWARD,this.rotateToPath){var g=this.path.getPoint(.1);this.rotation=Math.atan2(g.y-this.y,g.x-this.x)+e(this.pathRotationOffset)}return this.pathConfig=a,this},pauseFollow:function(){var a=this.pathTween;return a&&a.isPlaying()&&a.pause(),this},resumeFollow:function(){var a=this.pathTween;return a&&a.isPaused()&&a.resume(),this},stopFollow:function(){var a=this.pathTween;return a&&a.isPlaying()&&a.stop(),this},pathUpdate:function(){var a=this.pathTween;if(a&&a.data){var u=a.data[0],f=this.pathDelta,v=this.pathVector;if(f.copy(v).negate(),u.state===s.COMPLETE){this.path.getPoint(u.end,v),f.add(v),v.add(this.pathOffset),this.setPosition(v.x,v.y);return}else if(u.state!==s.PLAYING_FORWARD&&u.state!==s.PLAYING_BACKWARD)return;this.path.getPoint(a.getValue(),v),f.add(v),v.add(this.pathOffset);var c=this.x,g=this.y;this.setPosition(v.x,v.y);var p=this.x-c,T=this.y-g;if(p===0&&T===0)return;if(u.state!==this._prevDirection){this._prevDirection=u.state;return}this.rotateToPath&&(this.rotation=Math.atan2(T,p)+e(this.pathRotationOffset))}}};h.exports=o},68680:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(62644),l={customRenderNodes:null,defaultRenderNodes:null,renderNodeData:null,initRenderNodes:function(i){this.customRenderNodes={},this.defaultRenderNodes={},this.renderNodeData={};var s=this.scene.sys.renderer;if(s){var r=s.renderNodes;if(r&&i){var o=this.defaultRenderNodes;i.each(function(a,u){o[a]=r.getNode(u)})}}},setRenderNodeRole:function(i,s,r,o){var a=this.scene.sys.renderer;if(!a)return this;var u=a.renderNodes;if(!u)return this;if(s!==null){if(typeof s=="string"&&(s=u.getNode(s)),!s)return this;this.customRenderNodes[i]=s,r?this.renderNodeData[s.name]=o?e(r):r:this.renderNodeData[s.name]={}}else{var f=this.customRenderNodes[i];f&&(delete this.renderNodeData[f.name],delete this.customRenderNodes[i])}return this},setRenderNodeData:function(i,s,r){var o=i;typeof i!="string"&&(o=i.name);var a=this.renderNodeData[o];return r===void 0?delete a[s]:a[s]=r,this}};h.exports=l},86038:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={};d={_renderSteps:null,renderWebGLStep:function(t,e,l,i,s,r,o){s===void 0&&(s=0);var a=e._renderSteps[s];a&&(r?o===void 0&&(o=0):(r=[e],o=0),a(t,e,l,i,s,r,o))},addRenderStep:function(t,e){return this._renderSteps||(this._renderSteps=[]),e===void 0?(this._renderSteps.push(t),this):(this._renderSteps.splice(e,0,t),this)}},h.exports=d},80227:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={scrollFactorX:1,scrollFactorY:1,setScrollFactor:function(t,e){return e===void 0&&(e=t),this.scrollFactorX=t,this.scrollFactorY=e,this}};h.exports=d},16736:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={_sizeComponent:!0,width:0,height:0,displayWidth:{get:function(){return Math.abs(this.scaleX*this.frame.realWidth)},set:function(t){this.scaleX=t/this.frame.realWidth}},displayHeight:{get:function(){return Math.abs(this.scaleY*this.frame.realHeight)},set:function(t){this.scaleY=t/this.frame.realHeight}},setSizeToFrame:function(t){t||(t=this.frame),this.width=t.realWidth,this.height=t.realHeight;var e=this.input;return e&&!e.customHitArea&&(e.hitArea.width=this.width,e.hitArea.height=this.height),this},setSize:function(t,e){return this.width=t,this.height=e,this},setDisplaySize:function(t,e){return this.displayWidth=t,this.displayHeight=e,this}};h.exports=d},37726:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(4327),l=8,i={texture:null,frame:null,isCropped:!1,setTexture:function(s,r,o,a){return this.texture=this.scene.sys.textures.get(s),this.setFrame(r,o,a)},setFrame:function(s,r,o){return r===void 0&&(r=!0),o===void 0&&(o=!0),s instanceof e?(this.texture=this.scene.sys.textures.get(s.texture.key),this.frame=s):this.frame=this.texture.get(s),!this.frame.cutWidth||!this.frame.cutHeight?this.renderFlags&=~l:this.renderFlags|=l,this._sizeComponent&&r&&this.setSizeToFrame(),this._originComponent&&o&&(this.frame.customPivot?this.setOrigin(this.frame.pivotX,this.frame.pivotY):this.updateDisplayOrigin()),this}};h.exports=i},79812:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(4327),l=8,i={texture:null,frame:null,isCropped:!1,setCrop:function(s,r,o,a){if(s===void 0)this.isCropped=!1;else if(this.frame){if(typeof s=="number")this.frame.setCropUVs(this._crop,s,r,o,a,this.flipX,this.flipY);else{var u=s;this.frame.setCropUVs(this._crop,u.x,u.y,u.width,u.height,this.flipX,this.flipY)}this.isCropped=!0}return this},setTexture:function(s,r){return this.texture=this.scene.sys.textures.get(s),this.setFrame(r)},setFrame:function(s,r,o){return r===void 0&&(r=!0),o===void 0&&(o=!0),s instanceof e?(this.texture=this.scene.sys.textures.get(s.texture.key),this.frame=s):this.frame=this.texture.get(s),!this.frame.cutWidth||!this.frame.cutHeight?this.renderFlags&=~l:this.renderFlags|=l,this._sizeComponent&&r&&this.setSizeToFrame(),this._originComponent&&o&&(this.frame.customPivot?this.setOrigin(this.frame.pivotX,this.frame.pivotY):this.updateDisplayOrigin()),this.isCropped&&this.frame.updateCropUVs(this._crop,this.flipX,this.flipY),this},resetCropObject:function(){return{u0:0,v0:0,u1:0,v1:0,width:0,height:0,x:0,y:0,flipX:!1,flipY:!1,cx:0,cy:0,cw:0,ch:0}}};h.exports=i},27472:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={tintTopLeft:16777215,tintTopRight:16777215,tintBottomLeft:16777215,tintBottomRight:16777215,tintFill:!1,clearTint:function(){return this.setTint(16777215),this},setTint:function(t,e,l,i){return t===void 0&&(t=16777215),e===void 0&&(e=t,l=t,i=t),this.tintTopLeft=t,this.tintTopRight=e,this.tintBottomLeft=l,this.tintBottomRight=i,this.tintFill=!1,this},setTintFill:function(t,e,l,i){return this.setTint(t,e,l,i),this.tintFill=!0,this},tint:{get:function(){return this.tintTopLeft},set:function(t){this.setTint(t,t,t,t)}},isTinted:{get:function(){var t=16777215;return this.tintFill||this.tintTopLeft!==t||this.tintTopRight!==t||this.tintBottomLeft!==t||this.tintBottomRight!==t}}};h.exports=d},53774:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){var e={name:t.name,type:t.type,x:t.x,y:t.y,depth:t.depth,scale:{x:t.scaleX,y:t.scaleY},origin:{x:t.originX,y:t.originY},flipX:t.flipX,flipY:t.flipY,rotation:t.rotation,alpha:t.alpha,visible:t.visible,blendMode:t.blendMode,textureKey:"",frameKey:"",data:{}};return t.texture&&(e.textureKey=t.texture.key,e.frameKey=t.frame.name),e};h.exports=d},16901:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(36383),l=t(61340),i=t(85955),s=t(86554),r=t(30954),o=t(26099),a=4,u={hasTransformComponent:!0,_scaleX:1,_scaleY:1,_rotation:0,x:0,y:0,z:0,w:0,scale:{get:function(){return(this._scaleX+this._scaleY)/2},set:function(f){this._scaleX=f,this._scaleY=f,f===0?this.renderFlags&=~a:this.renderFlags|=a}},scaleX:{get:function(){return this._scaleX},set:function(f){this._scaleX=f,f===0?this.renderFlags&=~a:this._scaleY!==0&&(this.renderFlags|=a)}},scaleY:{get:function(){return this._scaleY},set:function(f){this._scaleY=f,f===0?this.renderFlags&=~a:this._scaleX!==0&&(this.renderFlags|=a)}},angle:{get:function(){return r(this._rotation*e.RAD_TO_DEG)},set:function(f){this.rotation=r(f)*e.DEG_TO_RAD}},rotation:{get:function(){return this._rotation},set:function(f){this._rotation=s(f)}},setPosition:function(f,v,c,g){return f===void 0&&(f=0),v===void 0&&(v=f),c===void 0&&(c=0),g===void 0&&(g=0),this.x=f,this.y=v,this.z=c,this.w=g,this},copyPosition:function(f){return f.x!==void 0&&(this.x=f.x),f.y!==void 0&&(this.y=f.y),f.z!==void 0&&(this.z=f.z),f.w!==void 0&&(this.w=f.w),this},setRandomPosition:function(f,v,c,g){return f===void 0&&(f=0),v===void 0&&(v=0),c===void 0&&(c=this.scene.sys.scale.width),g===void 0&&(g=this.scene.sys.scale.height),this.x=f+Math.random()*c,this.y=v+Math.random()*g,this},setRotation:function(f){return f===void 0&&(f=0),this.rotation=f,this},setAngle:function(f){return f===void 0&&(f=0),this.angle=f,this},setScale:function(f,v){return f===void 0&&(f=1),v===void 0&&(v=f),this.scaleX=f,this.scaleY=v,this},setX:function(f){return f===void 0&&(f=0),this.x=f,this},setY:function(f){return f===void 0&&(f=0),this.y=f,this},setZ:function(f){return f===void 0&&(f=0),this.z=f,this},setW:function(f){return f===void 0&&(f=0),this.w=f,this},getLocalTransformMatrix:function(f){return f===void 0&&(f=new l),f.applyITRS(this.x,this.y,this._rotation,this._scaleX,this._scaleY)},getWorldTransformMatrix:function(f,v){f===void 0&&(f=new l);var c=this.parentContainer;if(!c)return this.getLocalTransformMatrix(f);var g=!1;for(v||(v=new l,g=!0),f.applyITRS(this.x,this.y,this._rotation,this._scaleX,this._scaleY);c;)v.applyITRS(c.x,c.y,c._rotation,c._scaleX,c._scaleY),v.multiply(f,f),c=c.parentContainer;return g&&v.destroy(),f},getLocalPoint:function(f,v,c,g){c||(c=new o),g||(g=this.scene.sys.cameras.main);var p=g.scrollX,T=g.scrollY,C=f+p*this.scrollFactorX-p,M=v+T*this.scrollFactorY-T;return this.parentContainer?this.getWorldTransformMatrix().applyInverse(C,M,c):i(C,M,this.x,this.y,this.rotation,this.scaleX,this.scaleY,c),this._originComponent&&(c.x+=this._displayOriginX,c.y+=this._displayOriginY),c},getWorldPoint:function(f,v,c){f===void 0&&(f=new o);var g=this.parentContainer;if(!g)return f.x=this.x,f.y=this.y,f;var p=this.getWorldTransformMatrix(v,c);return f.x=p.tx,f.y=p.ty,f},getParentRotation:function(){for(var f=0,v=this.parentContainer;v;)f+=v.rotation,v=v.parentContainer;return f}};h.exports=u},61340:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(36383),i=t(26099),s=new e({initialize:function(o,a,u,f,v,c){o===void 0&&(o=1),a===void 0&&(a=0),u===void 0&&(u=0),f===void 0&&(f=1),v===void 0&&(v=0),c===void 0&&(c=0),this.matrix=new Float32Array([o,a,u,f,v,c,0,0,1]),this.decomposedMatrix={translateX:0,translateY:0,scaleX:1,scaleY:1,rotation:0},this.quad=new Float32Array(8)},a:{get:function(){return this.matrix[0]},set:function(r){this.matrix[0]=r}},b:{get:function(){return this.matrix[1]},set:function(r){this.matrix[1]=r}},c:{get:function(){return this.matrix[2]},set:function(r){this.matrix[2]=r}},d:{get:function(){return this.matrix[3]},set:function(r){this.matrix[3]=r}},e:{get:function(){return this.matrix[4]},set:function(r){this.matrix[4]=r}},f:{get:function(){return this.matrix[5]},set:function(r){this.matrix[5]=r}},tx:{get:function(){return this.matrix[4]},set:function(r){this.matrix[4]=r}},ty:{get:function(){return this.matrix[5]},set:function(r){this.matrix[5]=r}},rotation:{get:function(){return Math.acos(this.a/this.scaleX)*(Math.atan(-this.c/this.a)<0?-1:1)}},rotationNormalized:{get:function(){var r=this.matrix,o=r[0],a=r[1],u=r[2],f=r[3];return o||a?a>0?Math.acos(o/this.scaleX):-Math.acos(o/this.scaleX):u||f?l.PI_OVER_2-(f>0?Math.acos(-u/this.scaleY):-Math.acos(u/this.scaleY)):0}},scaleX:{get:function(){return Math.sqrt(this.a*this.a+this.b*this.b)}},scaleY:{get:function(){return Math.sqrt(this.c*this.c+this.d*this.d)}},loadIdentity:function(){var r=this.matrix;return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,this},translate:function(r,o){var a=this.matrix;return a[4]=a[0]*r+a[2]*o+a[4],a[5]=a[1]*r+a[3]*o+a[5],this},scale:function(r,o){var a=this.matrix;return a[0]*=r,a[1]*=r,a[2]*=o,a[3]*=o,this},rotate:function(r){var o=Math.sin(r),a=Math.cos(r),u=this.matrix,f=u[0],v=u[1],c=u[2],g=u[3];return u[0]=f*a+c*o,u[1]=v*a+g*o,u[2]=f*-o+c*a,u[3]=v*-o+g*a,this},multiply:function(r,o){var a=this.matrix,u=r.matrix,f=a[0],v=a[1],c=a[2],g=a[3],p=a[4],T=a[5],C=u[0],M=u[1],A=u[2],R=u[3],P=u[4],L=u[5],F=o===void 0?a:o.matrix;return F[0]=C*f+M*c,F[1]=C*v+M*g,F[2]=A*f+R*c,F[3]=A*v+R*g,F[4]=P*f+L*c+p,F[5]=P*v+L*g+T,F},multiplyWithOffset:function(r,o,a){var u=this.matrix,f=r.matrix,v=u[0],c=u[1],g=u[2],p=u[3],T=u[4],C=u[5],M=o*v+a*g+T,A=o*c+a*p+C,R=f[0],P=f[1],L=f[2],F=f[3],w=f[4],O=f[5];return u[0]=R*v+P*g,u[1]=R*c+P*p,u[2]=L*v+F*g,u[3]=L*c+F*p,u[4]=w*v+O*g+M,u[5]=w*c+O*p+A,this},transform:function(r,o,a,u,f,v){var c=this.matrix,g=c[0],p=c[1],T=c[2],C=c[3],M=c[4],A=c[5];return c[0]=r*g+o*T,c[1]=r*p+o*C,c[2]=a*g+u*T,c[3]=a*p+u*C,c[4]=f*g+v*T+M,c[5]=f*p+v*C+A,this},transformPoint:function(r,o,a){a===void 0&&(a={x:0,y:0});var u=this.matrix,f=u[0],v=u[1],c=u[2],g=u[3],p=u[4],T=u[5];return a.x=r*f+o*c+p,a.y=r*v+o*g+T,a},invert:function(){var r=this.matrix,o=r[0],a=r[1],u=r[2],f=r[3],v=r[4],c=r[5],g=o*f-a*u;return r[0]=f/g,r[1]=-a/g,r[2]=-u/g,r[3]=o/g,r[4]=(u*c-f*v)/g,r[5]=-(o*c-a*v)/g,this},copyFrom:function(r){var o=this.matrix;return o[0]=r.a,o[1]=r.b,o[2]=r.c,o[3]=r.d,o[4]=r.e,o[5]=r.f,this},copyFromArray:function(r){var o=this.matrix;return o[0]=r[0],o[1]=r[1],o[2]=r[2],o[3]=r[3],o[4]=r[4],o[5]=r[5],this},copyWithScrollFactorFrom:function(r,o,a,u,f){var v=this.matrix;v[0]=r.a,v[1]=r.b,v[2]=r.c,v[3]=r.d;var c=o*(1-u),g=a*(1-f);return v[4]=r.a*c+r.c*g+r.e,v[5]=r.b*c+r.d*g+r.f,this},copyToContext:function(r){var o=this.matrix;return r.transform(o[0],o[1],o[2],o[3],o[4],o[5]),r},setToContext:function(r){return r.setTransform(this.a,this.b,this.c,this.d,this.e,this.f),r},copyToArray:function(r){var o=this.matrix;return r===void 0?r=[o[0],o[1],o[2],o[3],o[4],o[5]]:(r[0]=o[0],r[1]=o[1],r[2]=o[2],r[3]=o[3],r[4]=o[4],r[5]=o[5]),r},setTransform:function(r,o,a,u,f,v){var c=this.matrix;return c[0]=r,c[1]=o,c[2]=a,c[3]=u,c[4]=f,c[5]=v,this},decomposeMatrix:function(){var r=this.decomposedMatrix,o=this.matrix,a=o[0],u=o[1],f=o[2],v=o[3],c=a*v-u*f;if(r.translateX=o[4],r.translateY=o[5],a||u){var g=Math.sqrt(a*a+u*u);r.rotation=u>0?Math.acos(a/g):-Math.acos(a/g),r.scaleX=g,r.scaleY=c/g}else if(f||v){var p=Math.sqrt(f*f+v*v);r.rotation=Math.PI*.5-(v>0?Math.acos(-f/p):-Math.acos(f/p)),r.scaleX=c/p,r.scaleY=p}else r.rotation=0,r.scaleX=0,r.scaleY=0;return r},applyITRS:function(r,o,a,u,f){var v=this.matrix,c=Math.sin(a),g=Math.cos(a);return v[4]=r,v[5]=o,v[0]=g*u,v[1]=c*u,v[2]=-c*f,v[3]=g*f,this},applyInverse:function(r,o,a){a===void 0&&(a=new i);var u=this.matrix,f=u[0],v=u[1],c=u[2],g=u[3],p=u[4],T=u[5],C=1/(f*g+c*-v);return a.x=g*C*r+-c*C*o+(T*c-p*g)*C,a.y=f*C*o+-v*C*r+(-T*f+p*v)*C,a},setQuad:function(r,o,a,u,f){f===void 0&&(f=this.quad);var v=this.matrix,c=v[0],g=v[1],p=v[2],T=v[3],C=v[4],M=v[5];return f[0]=r*c+o*p+C,f[1]=r*g+o*T+M,f[2]=r*c+u*p+C,f[3]=r*g+u*T+M,f[4]=a*c+u*p+C,f[5]=a*g+u*T+M,f[6]=a*c+o*p+C,f[7]=a*g+o*T+M,f},getX:function(r,o){return r*this.a+o*this.c+this.e},getY:function(r,o){return r*this.b+o*this.d+this.f},getXRound:function(r,o,a){var u=this.getX(r,o);return a&&(u=Math.floor(u+.5)),u},getYRound:function(r,o,a){var u=this.getY(r,o);return a&&(u=Math.floor(u+.5)),u},getCSSMatrix:function(){var r=this.matrix;return"matrix("+r[0]+","+r[1]+","+r[2]+","+r[3]+","+r[4]+","+r[5]+")"},destroy:function(){this.matrix=null,this.quad=null,this.decomposedMatrix=null}});h.exports=s},59715:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=1,t={_visible:!0,visible:{get:function(){return this._visible},set:function(e){e?(this._visible=!0,this.renderFlags|=d):(this._visible=!1,this.renderFlags&=~d)}},setVisible:function(e){return this.visible=e,this}};h.exports=t},31401:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Alpha:t(16005),AlphaSingle:t(88509),BlendMode:t(90065),ComputedSize:t(94215),Crop:t(61683),Depth:t(89272),ElapseTimer:t(3248),FilterList:t(53427),Filters:t(43102),Flip:t(54434),GetBounds:t(8004),Lighting:t(73629),Mask:t(8573),Origin:t(27387),PathFollower:t(37640),RenderNodes:t(68680),RenderSteps:t(86038),ScrollFactor:t(80227),Size:t(16736),Texture:t(37726),TextureCrop:t(79812),Tint:t(27472),ToJSON:t(53774),Transform:t(16901),TransformMatrix:t(61340),Visible:t(59715)}},31559:(h,d,t)=>{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(37105),l=t(10312),i=t(83419),s=t(31401),r=t(51708),o=t(95643),a=t(87841),u=t(29959),f=t(36899),v=t(26099),c=new s.TransformMatrix,g=new i({Extends:o,Mixins:[s.AlphaSingle,s.BlendMode,s.ComputedSize,s.Depth,s.Mask,s.Transform,s.Visible,u],initialize:function(T,C,M,A){o.call(this,T,"Container"),this.list=[],this.exclusive=!0,this.maxSize=-1,this.position=0,this.localTransform=new s.TransformMatrix,this._sortKey="",this._sysEvents=T.sys.events,this.scrollFactorX=1,this.scrollFactorY=1,this.setPosition(C,M),this.setBlendMode(l.SKIP_CHECK),A&&this.add(A)},originX:{get:function(){return .5}},originY:{get:function(){return .5}},displayOriginX:{get:function(){return this.width*.5}},displayOriginY:{get:function(){return this.height*.5}},setExclusive:function(p){return p===void 0&&(p=!0),this.exclusive=p,this},getBounds:function(p){if(p===void 0&&(p=new a),p.setTo(this.x,this.y,0,0),this.parentContainer){var T=this.parentContainer.getBoundsTransformMatrix(),C=T.transformPoint(this.x,this.y);p.setTo(C.x,C.y,0,0)}if(this.list.length>0){var M=this.list,A=new a,R=!1;p.setEmpty();for(var P=0;P-1},setAll:function(p,T,C,M){return e.SetAll(this.list,p,T,C,M),this},each:function(p,T){var C=[null],M,A=this.list.slice(),R=A.length;for(M=2;M0?this.list[0]:null}},last:{get:function(){return this.list.length>0?(this.position=this.list.length-1,this.list[this.position]):null}},next:{get:function(){return this.position0?(this.position--,this.list[this.position]):null}},preDestroy:function(){this.removeAll(!!this.exclusive),this.localTransform.destroy(),this.list=[]},onChildDestroyed:function(p){e.Remove(this.list,p),this.exclusive&&(p.parentContainer=null,p.removedFromScene())}});h.exports=g},53584:h=>{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){l.addToRenderList(e);var s=e.list;if(s.length!==0){var r=e.localTransform;i?(r.loadIdentity(),r.multiply(i),r.translate(e.x,e.y),r.rotate(e.rotation),r.scale(e.scaleX,e.scaleY)):r.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY);var o=e.blendMode!==-1;o||t.setBlendMode(0);var a=e._alpha,u=e.scrollFactorX,f=e.scrollFactorY;e.mask&&e.mask.preRenderCanvas(t,null,l);for(var v=0;v{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25305),l=t(31559),i=t(44603),s=t(23568),r=t(95540);i.register("container",function(o,a){o===void 0&&(o={});var u=s(o,"x",0),f=s(o,"y",0),v=r(o,"children",null),c=new l(this.scene,u,f,v);return a!==void 0&&(o.add=a),e(this.scene,c,o),c})},24961:(h,d,t)=>{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(31559),l=t(39429);l.register("container",function(i,s,r){return this.displayList.add(new e(this.scene,i,s,r))})},29959:(h,d,t)=>{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(72249),i=t(53584),h.exports={renderWebGL:l,renderCanvas:i}},72249:(h,d,t)=>{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(8054),l=function(i,s,r,o,a,u,f){var v=r.camera;v.addToRenderList(s);var c=s.list,g=c.length;if(g!==0){var p=r,T=s.localTransform;o?(T.loadIdentity(),T.multiply(o),T.translate(s.x,s.y),T.rotate(s.rotation),T.scale(s.scaleX,s.scaleY)):T.applyITRS(s.x,s.y,s.rotation,s.scaleX,s.scaleY);var C=s.blendMode!==-1;!C&&p.blendMode!==0&&(p=p.getClone(),p.setBlendMode(0),p.use());for(var M=p,A=s.alpha,R=s.scrollFactorX,P=s.scrollFactorY,L=0;L{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports=["normal","multiply","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"]},3069:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(31401),i=t(441),s=t(95643),r=t(41212),o=t(35846),a=t(44594),u=t(61369),f=new e({Extends:s,Mixins:[l.AlphaSingle,l.BlendMode,l.Depth,l.Origin,l.ScrollFactor,l.Transform,l.Visible,i],initialize:function(c,g,p,T,C,M){if(s.call(this,c,"DOMElement"),this.parent=c.sys.game.domContainer,!this.parent)throw new Error("No DOM Container set in game config");this.cache=c.sys.cache.html,this.node,this.transformOnly=!1,this.skewX=0,this.skewY=0,this.rotate3d=new u,this.rotate3dAngle="deg",this.pointerEvents="auto",this.width=0,this.height=0,this.displayWidth=0,this.displayHeight=0,this.handler=this.dispatchNativeEvent.bind(this),this.setPosition(g,p),typeof T=="string"?T[0]==="#"?this.setElement(T.substr(1),C,M):this.createElement(T,C,M):T&&this.setElement(T,C,M),c.sys.events.on(a.SLEEP,this.handleSceneEvent,this),c.sys.events.on(a.WAKE,this.handleSceneEvent,this),c.sys.events.on(a.PRE_RENDER,this.preRender,this)},handleSceneEvent:function(v){var c=this.node,g=c.style;c&&(g.display=v.settings.visible?"block":"none")},setSkew:function(v,c){return v===void 0&&(v=0),c===void 0&&(c=v),this.skewX=v,this.skewY=c,this},setPerspective:function(v){return this.parent.style.perspective=v+"px",this},perspective:{get:function(){return parseFloat(this.parent.style.perspective)},set:function(v){this.parent.style.perspective=v+"px"}},addListener:function(v){if(this.node){v=v.split(" ");for(var c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(47407),l=t(95643),i=t(61340),s=new i,r=new i,o=new i,a=function(u,f,v,c){if(f.node){v.camera&&(v=v.camera);var g=f.node.style,p=f.scene.sys.settings;if(!g||!p.visible||l.RENDER_MASK!==f.renderFlags||f.cameraFilter!==0&&f.cameraFilter&v.id||f.parentContainer&&!f.parentContainer.willRender()){g.display="none";return}var T=f.parentContainer,C=v.alpha*f.alpha;T&&(C*=T.alpha);var M=s,A=r,R=o,P=f.width*f.originX,L=f.height*f.originY,F="0%",w="0%";M.copyWithScrollFactorFrom(v.matrix,v.scrollX,v.scrollY,f.scrollFactorX,f.scrollFactorY),c?(M.multiply(c),P*=f.scaleX,L*=f.scaleY):(F=100*f.originX+"%",w=100*f.originY+"%"),M.translate(-P,-L),A.applyITRS(f.x,f.y,f.rotation,f.scaleX,f.scaleY),M.multiply(A,R),f.transformOnly||(g.display="block",g.opacity=C,g.zIndex=f._depth,g.pointerEvents=f.pointerEvents,g.mixBlendMode=e[f._blendMode]),g.transform=R.getCSSMatrix()+" skew("+f.skewX+"rad, "+f.skewY+"rad) rotate3d("+f.rotate3d.x+","+f.rotate3d.y+","+f.rotate3d.z+","+f.rotate3d.w+f.rotate3dAngle+")",g.transformOrigin=F+" "+w}};h.exports=a},2611:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(3069),l=t(39429);l.register("dom",function(i,s,r,o,a){var u=new e(this.scene,i,s,r,o,a);return this.displayList.add(u),u})},441:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(49381),i=t(49381),h.exports={renderWebGL:l,renderCanvas:i}},62980:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="addedtoscene"},41337:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="destroy"},44947:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="removedfromscene"},49358:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="complete"},35163:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="created"},97249:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="error"},19483:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="locked"},56059:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="loop"},26772:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="metadata"},64437:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="playing"},83411:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="play"},75780:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="seeked"},67799:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="seeking"},63500:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="stalled"},55541:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="stop"},53208:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="textureready"},4992:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="unlocked"},12:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="unsupported"},51708:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={ADDED_TO_SCENE:t(62980),DESTROY:t(41337),REMOVED_FROM_SCENE:t(44947),VIDEO_COMPLETE:t(49358),VIDEO_CREATED:t(35163),VIDEO_ERROR:t(97249),VIDEO_LOCKED:t(19483),VIDEO_LOOP:t(56059),VIDEO_METADATA:t(26772),VIDEO_PLAY:t(83411),VIDEO_PLAYING:t(64437),VIDEO_SEEKED:t(75780),VIDEO_SEEKING:t(67799),VIDEO_STALLED:t(63500),VIDEO_STOP:t(55541),VIDEO_TEXTURE:t(53208),VIDEO_UNLOCKED:t(4992),VIDEO_UNSUPPORTED:t(12)}},42421:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(31401),i=t(95643),s=t(64993),r=new e({Extends:i,Mixins:[l.Alpha,l.BlendMode,l.Depth,l.Flip,l.Origin,l.ScrollFactor,l.Size,l.Texture,l.Tint,l.Transform,l.Visible,s],initialize:function(a){i.call(this,a,"Extern")},addedToScene:function(){this.scene.sys.updateList.add(this)},removedFromScene:function(){this.scene.sys.updateList.remove(this)},preUpdate:function(){},render:function(){}});h.exports=r},70217:()=>{},56315:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(42421),l=t(39429);l.register("extern",function(){var i=new e(this.scene);return this.displayList.add(i),i})},64993:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(80287),i=t(70217),h.exports={renderWebGL:l,renderCanvas:i}},80287:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91296),l=function(i,s,r,o,a,u,f){i.renderNodes.getNode("YieldContext").run(r);var v=e(s,r.camera,o,!r.useCanvas).calc;s.render.call(s,i,r,v,u,f),i.renderNodes.getNode("RebindContext").run(r)};h.exports=l},85592:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={ARC:0,BEGIN_PATH:1,CLOSE_PATH:2,FILL_RECT:3,LINE_TO:4,MOVE_TO:5,LINE_STYLE:6,FILL_STYLE:7,FILL_PATH:8,STROKE_PATH:9,FILL_TRIANGLE:10,STROKE_TRIANGLE:11,SAVE:14,RESTORE:15,TRANSLATE:16,SCALE:17,ROTATE:18,GRADIENT_FILL_STYLE:21,GRADIENT_LINE_STYLE:22}},43831:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(71911),l=t(83419),i=t(85592),s=t(31401),r=t(8497),o=t(95643),a=t(87891),u=t(95540),f=t(35154),v=t(36383),c=t(84503),g=new l({Extends:o,Mixins:[s.AlphaSingle,s.BlendMode,s.Depth,s.Lighting,s.Mask,s.RenderNodes,s.Transform,s.Visible,s.ScrollFactor,c],initialize:function(T,C){var M=f(C,"x",0),A=f(C,"y",0);o.call(this,T,"Graphics"),this.setPosition(M,A),this.initRenderNodes(this._defaultRenderNodesMap),this.displayOriginX=0,this.displayOriginY=0,this.commandBuffer=[],this.defaultFillColor=-1,this.defaultFillAlpha=1,this.defaultStrokeWidth=1,this.defaultStrokeColor=-1,this.defaultStrokeAlpha=1,this._lineWidth=1,this.pathDetailThreshold=-1,this.lineStyle(1,0,0),this.fillStyle(0,0),this.setDefaultStyles(C)},_defaultRenderNodesMap:{get:function(){return a}},setDefaultStyles:function(p){return f(p,"lineStyle",null)&&(this.defaultStrokeWidth=f(p,"lineStyle.width",1),this.defaultStrokeColor=f(p,"lineStyle.color",16777215),this.defaultStrokeAlpha=f(p,"lineStyle.alpha",1),this.lineStyle(this.defaultStrokeWidth,this.defaultStrokeColor,this.defaultStrokeAlpha)),f(p,"fillStyle",null)&&(this.defaultFillColor=f(p,"fillStyle.color",16777215),this.defaultFillAlpha=f(p,"fillStyle.alpha",1),this.fillStyle(this.defaultFillColor,this.defaultFillAlpha)),this},lineStyle:function(p,T,C){return C===void 0&&(C=1),this.commandBuffer.push(i.LINE_STYLE,p,T,C),this._lineWidth=p,this},fillStyle:function(p,T){return T===void 0&&(T=1),this.commandBuffer.push(i.FILL_STYLE,p,T),this},fillGradientStyle:function(p,T,C,M,A,R,P,L){return A===void 0&&(A=1),R===void 0&&(R=A),P===void 0&&(P=A),L===void 0&&(L=A),this.commandBuffer.push(i.GRADIENT_FILL_STYLE,A,R,P,L,p,T,C,M),this},lineGradientStyle:function(p,T,C,M,A,R){return R===void 0&&(R=1),this.commandBuffer.push(i.GRADIENT_LINE_STYLE,p,R,T,C,M,A),this},beginPath:function(){return this.commandBuffer.push(i.BEGIN_PATH),this},closePath:function(){return this.commandBuffer.push(i.CLOSE_PATH),this},fillPath:function(){return this.commandBuffer.push(i.FILL_PATH),this},fill:function(){return this.commandBuffer.push(i.FILL_PATH),this},strokePath:function(){return this.commandBuffer.push(i.STROKE_PATH),this},stroke:function(){return this.commandBuffer.push(i.STROKE_PATH),this},fillCircleShape:function(p){return this.fillCircle(p.x,p.y,p.radius)},strokeCircleShape:function(p){return this.strokeCircle(p.x,p.y,p.radius)},fillCircle:function(p,T,C){return this.beginPath(),this.arc(p,T,C,0,v.TAU),this.fillPath(),this},strokeCircle:function(p,T,C){return this.beginPath(),this.arc(p,T,C,0,v.TAU),this.strokePath(),this},fillRectShape:function(p){return this.fillRect(p.x,p.y,p.width,p.height)},strokeRectShape:function(p){return this.strokeRect(p.x,p.y,p.width,p.height)},fillRect:function(p,T,C,M){return this.commandBuffer.push(i.FILL_RECT,p,T,C,M),this},strokeRect:function(p,T,C,M){var A=this._lineWidth/2,R=p-A,P=p+A;return this.beginPath(),this.moveTo(p,T),this.lineTo(p,T+M),this.strokePath(),this.beginPath(),this.moveTo(p+C,T),this.lineTo(p+C,T+M),this.strokePath(),this.beginPath(),this.moveTo(R,T),this.lineTo(P+C,T),this.strokePath(),this.beginPath(),this.moveTo(R,T+M),this.lineTo(P+C,T+M),this.strokePath(),this},fillRoundedRect:function(p,T,C,M,A){A===void 0&&(A=20);var R=A,P=A,L=A,F=A;typeof A!="number"&&(R=u(A,"tl",20),P=u(A,"tr",20),L=u(A,"bl",20),F=u(A,"br",20));var w=R>=0,O=P>=0,B=L>=0,I=F>=0;return R=Math.abs(R),P=Math.abs(P),L=Math.abs(L),F=Math.abs(F),this.beginPath(),this.moveTo(p+R,T),this.lineTo(p+C-P,T),O?this.arc(p+C-P,T+P,P,-v.PI_OVER_2,0):this.arc(p+C,T,P,Math.PI,v.PI_OVER_2,!0),this.lineTo(p+C,T+M-F),I?this.arc(p+C-F,T+M-F,F,0,v.PI_OVER_2):this.arc(p+C,T+M,F,-v.PI_OVER_2,Math.PI,!0),this.lineTo(p+L,T+M),B?this.arc(p+L,T+M-L,L,v.PI_OVER_2,Math.PI):this.arc(p,T+M,L,0,-v.PI_OVER_2,!0),this.lineTo(p,T+R),w?this.arc(p+R,T+R,R,-Math.PI,-v.PI_OVER_2):this.arc(p,T,R,v.PI_OVER_2,0,!0),this.fillPath(),this},strokeRoundedRect:function(p,T,C,M,A){A===void 0&&(A=20);var R=A,P=A,L=A,F=A,w=Math.min(C,M)/2;typeof A!="number"&&(R=u(A,"tl",20),P=u(A,"tr",20),L=u(A,"bl",20),F=u(A,"br",20));var O=R>=0,B=P>=0,I=L>=0,D=F>=0;return R=Math.min(Math.abs(R),w),P=Math.min(Math.abs(P),w),L=Math.min(Math.abs(L),w),F=Math.min(Math.abs(F),w),this.beginPath(),this.moveTo(p+R,T),this.lineTo(p+C-P,T),this.moveTo(p+C-P,T),B?this.arc(p+C-P,T+P,P,-v.PI_OVER_2,0):this.arc(p+C,T,P,Math.PI,v.PI_OVER_2,!0),this.lineTo(p+C,T+M-F),this.moveTo(p+C,T+M-F),D?this.arc(p+C-F,T+M-F,F,0,v.PI_OVER_2):this.arc(p+C,T+M,F,-v.PI_OVER_2,Math.PI,!0),this.lineTo(p+L,T+M),this.moveTo(p+L,T+M),I?this.arc(p+L,T+M-L,L,v.PI_OVER_2,Math.PI):this.arc(p,T+M,L,0,-v.PI_OVER_2,!0),this.lineTo(p,T+R),this.moveTo(p,T+R),O?this.arc(p+R,T+R,R,-Math.PI,-v.PI_OVER_2):this.arc(p,T,R,v.PI_OVER_2,0,!0),this.strokePath(),this},fillPointShape:function(p,T){return this.fillPoint(p.x,p.y,T)},fillPoint:function(p,T,C){return!C||C<1?C=1:(p-=C/2,T-=C/2),this.commandBuffer.push(i.FILL_RECT,p,T,C,C),this},fillTriangleShape:function(p){return this.fillTriangle(p.x1,p.y1,p.x2,p.y2,p.x3,p.y3)},strokeTriangleShape:function(p){return this.strokeTriangle(p.x1,p.y1,p.x2,p.y2,p.x3,p.y3)},fillTriangle:function(p,T,C,M,A,R){return this.commandBuffer.push(i.FILL_TRIANGLE,p,T,C,M,A,R),this},strokeTriangle:function(p,T,C,M,A,R){return this.commandBuffer.push(i.STROKE_TRIANGLE,p,T,C,M,A,R),this},strokeLineShape:function(p){return this.lineBetween(p.x1,p.y1,p.x2,p.y2)},lineBetween:function(p,T,C,M){return this.beginPath(),this.moveTo(p,T),this.lineTo(C,M),this.strokePath(),this},lineTo:function(p,T){return this.commandBuffer.push(i.LINE_TO,p,T),this},moveTo:function(p,T){return this.commandBuffer.push(i.MOVE_TO,p,T),this},strokePoints:function(p,T,C,M){T===void 0&&(T=!1),C===void 0&&(C=!1),M===void 0&&(M=p.length),this.beginPath(),this.moveTo(p[0].x,p[0].y);for(var A=1;A-1&&this.fillStyle(this.defaultFillColor,this.defaultFillAlpha),this.defaultStrokeColor>-1&&this.lineStyle(this.defaultStrokeWidth,this.defaultStrokeColor,this.defaultStrokeAlpha),this},generateTexture:function(p,T,C){var M=this.scene.sys,A=M.game.renderer;T===void 0&&(T=M.scale.width),C===void 0&&(C=M.scale.height),g.TargetCamera.setScene(this.scene),g.TargetCamera.setViewport(0,0,T,C),g.TargetCamera.scrollX=this.x,g.TargetCamera.scrollY=this.y;var R,P,L={willReadFrequently:!0};if(typeof p=="string")if(M.textures.exists(p)){R=M.textures.get(p);var F=R.getSourceImage();F instanceof HTMLCanvasElement&&(P=F.getContext("2d",L))}else R=M.textures.createCanvas(p,T,C),P=R.getSourceImage().getContext("2d",L);else p instanceof HTMLCanvasElement&&(P=p.getContext("2d",L));return P&&(this.renderCanvas(A,this,g.TargetCamera,null,P,!1),R&&R.refresh()),this},preDestroy:function(){this.commandBuffer=[]}});g.TargetCamera=new e,h.exports=g},32768:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(85592),l=t(20926),i=function(s,r,o,a,u,f){var v=r.commandBuffer,c=v.length,g=u||s.currentContext;if(!(c===0||!l(s,g,r,o,a))){o.addToRenderList(r);var p=1,T=1,C=0,M=0,A=1,R=0,P=0,L=0;g.beginPath();for(var F=0;F>>16,P=(C&65280)>>>8,L=C&255,g.strokeStyle="rgba("+R+","+P+","+L+","+p+")",g.lineWidth=A,F+=3;break;case e.FILL_STYLE:M=v[F+1],T=v[F+2],R=(M&16711680)>>>16,P=(M&65280)>>>8,L=M&255,g.fillStyle="rgba("+R+","+P+","+L+","+T+")",F+=2;break;case e.BEGIN_PATH:g.beginPath();break;case e.CLOSE_PATH:g.closePath();break;case e.FILL_PATH:f||g.fill();break;case e.STROKE_PATH:f||g.stroke();break;case e.FILL_RECT:f?g.rect(v[F+1],v[F+2],v[F+3],v[F+4]):g.fillRect(v[F+1],v[F+2],v[F+3],v[F+4]),F+=4;break;case e.FILL_TRIANGLE:g.beginPath(),g.moveTo(v[F+1],v[F+2]),g.lineTo(v[F+3],v[F+4]),g.lineTo(v[F+5],v[F+6]),g.closePath(),f||g.fill(),F+=6;break;case e.STROKE_TRIANGLE:g.beginPath(),g.moveTo(v[F+1],v[F+2]),g.lineTo(v[F+3],v[F+4]),g.lineTo(v[F+5],v[F+6]),g.closePath(),f||g.stroke(),F+=6;break;case e.LINE_TO:g.lineTo(v[F+1],v[F+2]),F+=2;break;case e.MOVE_TO:g.moveTo(v[F+1],v[F+2]),F+=2;break;case e.LINE_FX_TO:g.lineTo(v[F+1],v[F+2]),F+=5;break;case e.MOVE_FX_TO:g.moveTo(v[F+1],v[F+2]),F+=5;break;case e.SAVE:g.save();break;case e.RESTORE:g.restore();break;case e.TRANSLATE:g.translate(v[F+1],v[F+2]),F+=2;break;case e.SCALE:g.scale(v[F+1],v[F+2]),F+=2;break;case e.ROTATE:g.rotate(v[F+1]),F+=1;break;case e.GRADIENT_FILL_STYLE:F+=5;break;case e.GRADIENT_LINE_STYLE:F+=6;break}}g.restore()}};h.exports=i},87079:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(44603),l=t(43831);e.register("graphics",function(i,s){i===void 0&&(i={}),s!==void 0&&(i.add=s);var r=new l(this.scene,i);return i.add&&this.scene.sys.displayList.add(r),r})},1201:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43831),l=t(39429);l.register("graphics",function(i){return this.displayList.add(new e(this.scene,i))})},84503:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(77545),i=t(32768),i=t(32768),h.exports={renderWebGL:l,renderCanvas:i}},77545:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(85592),l=t(91296),i=t(70554),s=t(61340),r=function(T,C,M){this.x=T,this.y=C,this.width=M},o=function(T,C,M){this.points=[],this.points[0]=new r(T,C,M),this.addPoint=function(A,R,P){var L=this.points[this.points.length-1];L.x===A&&L.y===R||this.points.push(new r(A,R,P))}},a=[],u=new s,f=new s,v={TL:0,TR:0,BL:0,BR:0},c={TL:0,TR:0,BL:0,BR:0},g=[{x:0,y:0,width:0},{x:0,y:0,width:0},{x:0,y:0,width:0},{x:0,y:0,width:0}],p=function(T,C,M,A){if(C.commandBuffer.length!==0){var R=C.customRenderNodes,P=C.defaultRenderNodes,L=R.Submitter||P.Submitter,F=C.lighting,w=M,O=w.camera;O.addToRenderList(C);for(var B=l(C,O,A,!M.useCanvas).calc,I=u.loadIdentity(),D=C.commandBuffer,N=C.alpha,z=Math.max(C.pathDetailThreshold,T.config.pathDetailThreshold,0),V=1,U=0,G=0,b=0,Y=.01,W=Math.PI*2,H,X=[],K=0,Z=!0,Q=null,j=i.getTintAppendFloatAlpha,J=0;J0&&(Kt=-W+Kt%W):Kt>W?Kt=W:Kt<0&&(Kt=W+Kt%W),Q===null&&(Q=new o(ct+Math.cos(zt)*Lt,Bt+Math.sin(zt)*Lt,V),X.push(Q),dt+=Y);dt<1+pe;)b=Kt*dt+zt,U=ct+Math.cos(b)*Lt,G=Bt+Math.sin(b)*Lt,Q.addPoint(U,G,V),dt+=Y;b=Kt+zt,U=ct+Math.cos(b)*Lt,G=Bt+Math.sin(b)*Lt,Q.addPoint(U,G,V);break}case e.FILL_RECT:{B.multiply(I,f),(R.FillRect||P.FillRect).run(w,f,L,D[++J],D[++J],D[++J],D[++J],v.TL,v.TR,v.BL,v.BR,F);break}case e.FILL_TRIANGLE:{B.multiply(I,f),(R.FillTri||P.FillTri).run(w,f,L,D[++J],D[++J],D[++J],D[++J],D[++J],D[++J],v.TL,v.TR,v.BL,F);break}case e.STROKE_TRIANGLE:{B.multiply(I,f),g[0].x=D[++J],g[0].y=D[++J],g[0].width=V,g[1].x=D[++J],g[1].y=D[++J],g[1].width=V,g[2].x=D[++J],g[2].y=D[++J],g[2].width=V,g[3].x=g[0].x,g[3].y=g[0].y,g[3].width=V,(R.StrokePath||P.StrokePath).run(w,L,g,V,!1,f,c.TL,c.TR,c.BL,c.BR,F);break}case e.LINE_TO:{ct=D[++J],Bt=D[++J],Q!==null?Q.addPoint(ct,Bt,V):(Q=new o(ct,Bt,V),X.push(Q));break}case e.MOVE_TO:{Q=new o(D[++J],D[++J],V),X.push(Q);break}case e.SAVE:{a.push(I.copyToArray());break}case e.RESTORE:{I.copyFromArray(a.pop());break}case e.TRANSLATE:{ct=D[++J],Bt=D[++J],I.translate(ct,Bt);break}case e.SCALE:{ct=D[++J],Bt=D[++J],I.scale(ct,Bt);break}case e.ROTATE:{I.rotate(D[++J]);break}}}};h.exports=p},26479:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(61061),l=t(83419),i=t(51708),s=t(50792),r=t(46710),o=t(95540),a=t(35154),u=t(97022),f=t(41212),v=t(88492),c=t(68287),g=new l({Extends:s,initialize:function(T,C,M){s.call(this),M?C&&!Array.isArray(C)&&(C=[C]):Array.isArray(C)?f(C[0])&&(M=C,C=null):f(C)&&(M=C,C=null),this.scene=T,this.children=new Set,this.isParent=!0,this.type="Group",this.classType=o(M,"classType",c),this.name=o(M,"name",""),this.active=o(M,"active",!0),this.maxSize=o(M,"maxSize",-1),this.defaultKey=o(M,"defaultKey",null),this.defaultFrame=o(M,"defaultFrame",null),this.runChildUpdate=o(M,"runChildUpdate",!1),this.createCallback=o(M,"createCallback",null),this.removeCallback=o(M,"removeCallback",null),this.createMultipleCallback=o(M,"createMultipleCallback",null),this.internalCreateCallback=o(M,"internalCreateCallback",null),this.internalRemoveCallback=o(M,"internalRemoveCallback",null),C&&this.addMultiple(C),M&&this.createMultiple(M),this.on(i.ADDED_TO_SCENE,this.addedToScene,this),this.on(i.REMOVED_FROM_SCENE,this.removedFromScene,this)},addedToScene:function(){this.scene.sys.updateList.add(this)},removedFromScene:function(){this.scene.sys.updateList.remove(this)},create:function(p,T,C,M,A,R){if(p===void 0&&(p=0),T===void 0&&(T=0),C===void 0&&(C=this.defaultKey),M===void 0&&(M=this.defaultFrame),A===void 0&&(A=!0),R===void 0&&(R=!0),this.isFull())return null;var P=new this.classType(this.scene,p,T,C,M);return P.addToDisplayList(this.scene.sys.displayList),P.addToUpdateList(),P.visible=A,P.setActive(R),this.add(P),P},createMultiple:function(p){if(this.isFull())return[];Array.isArray(p)||(p=[p]);var T=[];if(p[0].key)for(var C=0;C=0;O--)if(w=I[O],w.active===C){if(B++,B===T)break}else w=null;return w?(typeof A=="number"&&(w.x=A),typeof R=="number"&&(w.y=R),w):M?this.create(A,R,P,L,F):null},get:function(p,T,C,M,A){return this.getFirst(!1,!0,p,T,C,M,A)},getFirstAlive:function(p,T,C,M,A,R){return this.getFirst(!0,p,T,C,M,A,R)},getFirstDead:function(p,T,C,M,A,R){return this.getFirst(!1,p,T,C,M,A,R)},playAnimation:function(p,T){return e.PlayAnimation(Array.from(this.children),p,T),this},isFull:function(){return this.maxSize===-1?!1:this.children.size>=this.maxSize},countActive:function(p){p===void 0&&(p=!0);var T=0;return this.children.forEach(function(C){C.active===p&&T++}),T},getTotalUsed:function(){return this.countActive()},getTotalFree:function(){var p=this.getTotalUsed(),T=this.maxSize===-1?999999999999:this.maxSize;return T-p},setActive:function(p){return this.active=p,this},setName:function(p){return this.name=p,this},propertyValueSet:function(p,T,C,M,A){return e.PropertyValueSet(Array.from(this.children),p,T,C,M,A),this},propertyValueInc:function(p,T,C,M,A){return e.PropertyValueInc(Array.from(this.children),p,T,C,M,A),this},setX:function(p,T){return e.SetX(Array.from(this.children),p,T),this},setY:function(p,T){return e.SetY(Array.from(this.children),p,T),this},setXY:function(p,T,C,M){return e.SetXY(Array.from(this.children),p,T,C,M),this},incX:function(p,T){return e.IncX(Array.from(this.children),p,T),this},incY:function(p,T){return e.IncY(Array.from(this.children),p,T),this},incXY:function(p,T,C,M){return e.IncXY(Array.from(this.children),p,T,C,M),this},shiftPosition:function(p,T,C){return e.ShiftPosition(Array.from(this.children),p,T,C),this},angle:function(p,T){return e.Angle(Array.from(this.children),p,T),this},rotate:function(p,T){return e.Rotate(Array.from(this.children),p,T),this},rotateAround:function(p,T){return e.RotateAround(Array.from(this.children),p,T),this},rotateAroundDistance:function(p,T,C){return e.RotateAroundDistance(Array.from(this.children),p,T,C),this},setAlpha:function(p,T){return e.SetAlpha(Array.from(this.children),p,T),this},setTint:function(p,T,C,M){return e.SetTint(Array.from(this.children),p,T,C,M),this},setOrigin:function(p,T,C,M){return e.SetOrigin(Array.from(this.children),p,T,C,M),this},scaleX:function(p,T){return e.ScaleX(Array.from(this.children),p,T),this},scaleY:function(p,T){return e.ScaleY(Array.from(this.children),p,T),this},scaleXY:function(p,T,C,M){return e.ScaleXY(Array.from(this.children),p,T,C,M),this},setDepth:function(p,T){return e.SetDepth(Array.from(this.children),p,T),this},setBlendMode:function(p){return e.SetBlendMode(Array.from(this.children),p),this},setHitArea:function(p,T){return e.SetHitArea(Array.from(this.children),p,T),this},shuffle:function(){return e.Shuffle(Array.from(this.children)),this},kill:function(p){this.children.has(p)&&p.setActive(!1)},killAndHide:function(p){this.children.has(p)&&(p.setActive(!1),p.setVisible(!1))},setVisible:function(p,T,C){return e.SetVisible(Array.from(this.children),p,T,C),this},toggleVisible:function(){return e.ToggleVisible(Array.from(this.children)),this},destroy:function(p,T){p===void 0&&(p=!1),T===void 0&&(T=!1),!(!this.scene||this.ignoreDestroy)&&(this.emit(i.DESTROY,this),this.removeAllListeners(),this.scene.sys.updateList.remove(this),this.clear(T,p),this.scene=void 0,this.children=void 0)}});h.exports=g},94975:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(44603),l=t(26479);e.register("group",function(i){return new l(this.scene,null,i)})},3385:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26479),l=t(39429);l.register("group",function(i,s){return this.updateList.add(new e(this.scene,i,s))})},88571:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(40939),l=t(83419),i=t(31401),s=t(95643),r=t(59819),o=new l({Extends:s,Mixins:[i.Alpha,i.BlendMode,i.Depth,i.Flip,i.GetBounds,i.Lighting,i.Mask,i.Origin,i.RenderNodes,i.ScrollFactor,i.Size,i.TextureCrop,i.Tint,i.Transform,i.Visible,r],initialize:function(u,f,v,c,g){s.call(this,u,"Image"),this._crop=this.resetCropObject(),this.setTexture(c,g),this.setPosition(f,v),this.setSizeToFrame(),this.setOriginFromFrame(),this.initRenderNodes(this._defaultRenderNodesMap)},_defaultRenderNodesMap:{get:function(){return e}}});h.exports=o},40652:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){l.addToRenderList(e),t.batchSprite(e,e.frame,l,i)};h.exports=d},82459:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25305),l=t(44603),i=t(23568),s=t(88571);l.register("image",function(r,o){r===void 0&&(r={});var a=i(r,"key",null),u=i(r,"frame",null),f=new s(this.scene,0,0,a,u);return o!==void 0&&(r.add=o),e(this.scene,f,r),f})},2117:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(88571),l=t(39429);l.register("image",function(i,s,r,o){return this.displayList.add(new e(this.scene,i,s,r,o))})},59819:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(99517),i=t(40652),h.exports={renderWebGL:l,renderCanvas:i}},99517:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){l.camera.addToRenderList(e);var s=e.customRenderNodes,r=e.defaultRenderNodes;(s.Submitter||r.Submitter).run(l,e,i,0,s.Texturer||r.Texturer,s.Transformer||r.Transformer)};h.exports=d},77856:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e={Events:t(51708),DisplayList:t(8050),GameObjectCreator:t(44603),GameObjectFactory:t(39429),UpdateList:t(45027),Components:t(31401),GetCalcMatrix:t(91296),BuildGameObject:t(25305),BuildGameObjectAnimation:t(13059),GameObject:t(95643),BitmapText:t(22186),Blitter:t(6107),Bob:t(46590),Container:t(31559),DOMElement:t(3069),DynamicBitmapText:t(2638),Extern:t(42421),Graphics:t(43831),Group:t(26479),Image:t(88571),Layer:t(93595),Particles:t(18404),PathFollower:t(1159),RenderTexture:t(591),RetroFont:t(196),Rope:t(77757),Sprite:t(68287),Stamp:t(14727),Text:t(50171),GetTextSize:t(14220),MeasureText:t(79557),TextStyle:t(35762),TileSprite:t(20839),Zone:t(41481),Video:t(18471),Shape:t(17803),Arc:t(23629),Curve:t(89),Ellipse:t(19921),Grid:t(30479),IsoBox:t(61475),IsoTriangle:t(16933),Line:t(57847),Polygon:t(24949),Rectangle:t(74561),Star:t(55911),Triangle:t(36931),Factories:{Blitter:t(12709),Container:t(24961),DOMElement:t(2611),DynamicBitmapText:t(72566),Extern:t(56315),Graphics:t(1201),Group:t(3385),Image:t(2117),Layer:t(20005),Particles:t(676),PathFollower:t(90145),RenderTexture:t(60505),Rope:t(96819),Sprite:t(46409),Stamp:t(85326),StaticBitmapText:t(34914),Text:t(68005),TileSprite:t(91681),Zone:t(84175),Video:t(89025),Arc:t(42563),Curve:t(40511),Ellipse:t(1543),Grid:t(34137),IsoBox:t(3933),IsoTriangle:t(49803),Line:t(2481),Polygon:t(64827),Rectangle:t(87959),Star:t(93697),Triangle:t(45245)},Creators:{Blitter:t(9403),Container:t(77143),DynamicBitmapText:t(11164),Graphics:t(87079),Group:t(94975),Image:t(82459),Layer:t(25179),Particles:t(92730),RenderTexture:t(34495),Rope:t(26209),Sprite:t(15567),Stamp:t(31479),StaticBitmapText:t(57336),Text:t(71259),TileSprite:t(14167),Zone:t(95261),Video:t(11511)}};e.CaptureFrame=t(43451),e.Shader=t(20071),e.NineSlice=t(28103),e.PointLight=t(80321),e.SpriteGPULayer=t(76573),e.Factories.CaptureFrame=t(20421),e.Factories.Shader=t(74177),e.Factories.NineSlice=t(47521),e.Factories.PointLight=t(71255),e.Factories.SpriteGPULayer=t(96019),e.Creators.CaptureFrame=t(23675),e.Creators.Shader=t(54935),e.Creators.NineSlice=t(28279),e.Creators.PointLight=t(39829),e.Creators.SpriteGPULayer=t(16193),e.Light=t(41432),e.LightsManager=t(61356),e.LightsPlugin=t(88992),h.exports=e},93595:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(10312),l=t(83419),i=t(31401),s=t(53774),r=t(45893),o=t(50792),a=t(51708),u=t(73162),f=t(33963),v=t(44594),c=t(19186),g=new l({Extends:u,Mixins:[i.AlphaSingle,i.BlendMode,i.Depth,i.Filters,i.Mask,i.RenderSteps,i.Visible,o,f],initialize:function(T,C){u.call(this,T),o.call(this),this.scene=T,this.displayList=null,this.type="Layer",this.state=0,this.parentContainer=null,this.name="",this.active=!0,this.tabIndex=-1,this.data=null,this.renderFlags=15,this.cameraFilter=0,this.input=null,this.body=null,this.ignoreDestroy=!1,this.systems=T.sys,this.events=T.sys.events,this.sortChildrenFlag=!1,this.addCallback=this.addChildCallback,this.removeCallback=this.removeChildCallback,this.clearAlpha(),this.setBlendMode(e.SKIP_CHECK),C&&this.add(C),this.addRenderStep&&this.addRenderStep(this.renderWebGL),T.sys.queueDepthSort()},setActive:function(p){return this.active=p,this},setName:function(p){return this.name=p,this},setState:function(p){return this.state=p,this},setDataEnabled:function(){return this.data||(this.data=new r(this)),this},setData:function(p,T){return this.data||(this.data=new r(this)),this.data.set(p,T),this},incData:function(p,T){return this.data||(this.data=new r(this)),this.data.inc(p,T),this},toggleData:function(p){return this.data||(this.data=new r(this)),this.data.toggle(p),this},getData:function(p){return this.data||(this.data=new r(this)),this.data.get(p)},setInteractive:function(){return this},disableInteractive:function(){return this},removeInteractive:function(){return this},addedToScene:function(){},removedFromScene:function(){},update:function(){},toJSON:function(){return s(this)},willRender:function(p){return!(this.renderFlags!==15||this.list.length===0||this.cameraFilter!==0&&this.cameraFilter&p.id)},getIndexList:function(){for(var p=this,T=this.parentContainer,C=[];T&&(C.unshift(T.getIndex(p)),p=T,T.parentContainer);)T=T.parentContainer;return C.unshift(this.displayList.getIndex(p)),C},addChildCallback:function(p){var T=p.displayList;T&&T!==this&&p.removeFromDisplayList(),p.displayList||(this.queueDepthSort(),p.displayList=this,p.emit(a.ADDED_TO_SCENE,p,this.scene),this.events.emit(v.ADDED_TO_SCENE,p,this.scene))},removeChildCallback:function(p){this.queueDepthSort(),p.displayList=null,p.emit(a.REMOVED_FROM_SCENE,p,this.scene),this.events.emit(v.REMOVED_FROM_SCENE,p,this.scene)},queueDepthSort:function(){this.sortChildrenFlag=!0},depthSort:function(){this.sortChildrenFlag&&(c(this.list,this.sortByDepth),this.sortChildrenFlag=!1)},sortByDepth:function(p,T){return p._depth-T._depth},getChildren:function(){return this.list},addToDisplayList:function(p){return p===void 0&&(p=this.scene.sys.displayList),this.displayList&&this.displayList!==p&&this.removeFromDisplayList(),p.exists(this)||(this.displayList=p,p.add(this,!0),p.queueDepthSort(),this.emit(a.ADDED_TO_SCENE,this,this.scene),p.events.emit(v.ADDED_TO_SCENE,this,this.scene)),this},removeFromDisplayList:function(){var p=this.displayList||this.scene.sys.displayList;return p.exists(this)&&(p.remove(this,!0),p.queueDepthSort(),this.displayList=null,this.emit(a.REMOVED_FROM_SCENE,this,this.scene),p.events.emit(v.REMOVED_FROM_SCENE,this,this.scene)),this},getDisplayList:function(){var p=null;return this.parentContainer?p=this.parentContainer.list:this.displayList&&(p=this.displayList.list),p},destroy:function(p){if(!(!this.scene||this.ignoreDestroy)){this.emit(a.DESTROY,this);for(var T=this.list;T.length;)T[0].destroy(p);this.removeAllListeners(),this.displayList&&(this.displayList.remove(this,!0,!1),this.displayList.queueDepthSort()),this.data&&(this.data.destroy(),this.data=void 0),this.filterCamera&&(this.filterCamera.destroy(),this.filterCamera=void 0),this.active=!1,this.visible=!1,this.list=void 0,this.scene=void 0,this.displayList=void 0,this.systems=void 0,this.events=void 0}}});h.exports=g},2956:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){var i=e.list;if(i.length!==0){e.depthSort();var s=e.blendMode!==-1;s||t.setBlendMode(0);var r=e._alpha;e.mask&&e.mask.preRenderCanvas(t,null,l);for(var o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25305),l=t(93595),i=t(44603),s=t(23568);i.register("layer",function(r,o){r===void 0&&(r={});var a=s(r,"children",null),u=new l(this.scene,a);return o!==void 0&&(r.add=o),e(this.scene,u,r),u})},20005:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(93595),l=t(39429);l.register("layer",function(i){return this.displayList.add(new e(this.scene,i))})},33963:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(15869),i=t(2956),h.exports={renderWebGL:l,renderCanvas:i}},15869:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(8054),l=function(i,s,r,o,a,u,f){var v=s.list,c=v.length;if(c!==0){var g=r,p=g.camera;s.depthSort();var T=s.blendMode!==e.BlendModes.SKIP_CHECK;!T&&g.blendMode!==0&&(g=g.getClone(),g.setBlendMode(0),g.use());for(var C=s.alpha,M=0;M{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(96503),l=t(83419),i=t(31401),s=t(51767),r=t(70554),o=new l({Extends:e,Mixins:[i.Origin,i.ScrollFactor,i.Visible],initialize:function(u,f,v,c,g,p,T,C){e.call(this,u,f,v),this.color=new s(c,g,p),this.intensity=T,this.z=C===void 0?v*.1:C,this.renderFlags=15,this.cameraFilter=0,this.setScrollFactor(1,1),this.setOrigin(),this.setDisplayOrigin(v)},displayWidth:{get:function(){return this.diameter},set:function(a){this.diameter=a}},displayHeight:{get:function(){return this.diameter},set:function(a){this.diameter=a}},width:{get:function(){return this.diameter},set:function(a){this.diameter=a}},height:{get:function(){return this.diameter},set:function(a){this.diameter=a}},zNormal:{get:function(){return this.z/this.radius},set:function(a){this.z=a*this.radius}},willRender:function(a){return!(o.RENDER_MASK!==this.renderFlags||this.cameraFilter!==0&&this.cameraFilter&a.id)},setColor:function(a){var u=r.getFloatsFromUintRGB(a);return this.color.set(u[0],u[1],u[2]),this},setIntensity:function(a){return this.intensity=a,this},setRadius:function(a){return this.radius=a,this},setZ:function(a){return this.z=a,this},setZNormal:function(a){return this.z=a*this.radius,this}});o.RENDER_MASK=15,h.exports=o},61356:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(81491),l=t(83419),i=t(20339),s=t(41432),r=t(80321),o=t(51767),a=t(19133),u=t(19186),f=t(70554),v=new l({initialize:function(){this.lights=[],this.ambientColor=new o(.1,.1,.1),this.active=!1,this.maxLights=-1,this.visibleLights=0},addPointLight:function(c,g,p,T,C,M){return this.systems.displayList.add(new r(this.scene,c,g,p,T,C,M))},enable:function(){return this.maxLights===-1&&(this.maxLights=this.systems.renderer.config.maxLights),this.active=!0,this},disable:function(){return this.active=!1,this},getLights:function(c){for(var g=this.lights,p=c.worldView,T=[],C=0;Cthis.maxLights&&(u(T,this.sortByDistance),T=T.slice(0,this.maxLights)),this.visibleLights=T.length,T},sortByDistance:function(c,g){return c.distance>=g.distance},setAmbientColor:function(c){var g=f.getFloatsFromUintRGB(c);return this.ambientColor.set(g[0],g[1],g[2]),this},getMaxVisibleLights:function(){return this.maxLights},getLightCount:function(){return this.lights.length},addLight:function(c,g,p,T,C,M){c===void 0&&(c=0),g===void 0&&(g=0),p===void 0&&(p=128),T===void 0&&(T=16777215),C===void 0&&(C=1),M===void 0&&(M=p*.1);var A=f.getFloatsFromUintRGB(T),R=new s(c,g,p,A[0],A[1],A[2],C,M);return this.lights.push(R),R},removeLight:function(c){var g=this.lights.indexOf(c);return g>=0&&a(this.lights,g),this},shutdown:function(){this.lights.length=0},destroy:function(){this.shutdown()}});h.exports=v},88992:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(61356),i=t(37277),s=t(44594),r=new e({Extends:l,initialize:function(a){this.scene=a,this.systems=a.sys,a.sys.settings.isBooted||a.sys.events.once(s.BOOT,this.boot,this),l.call(this)},boot:function(){var o=this.systems.events;o.on(s.SHUTDOWN,this.shutdown,this),o.on(s.DESTROY,this.destroy,this)},destroy:function(){this.shutdown(),this.scene=void 0,this.systems=void 0}});i.register("LightsPlugin",r,"lights"),h.exports=r},28103:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(30529),l=t(83419),i=t(31401),s=t(95643),r=t(78023),o=t(82513),a=new l({Extends:s,Mixins:[i.AlphaSingle,i.BlendMode,i.Depth,i.GetBounds,i.Mask,i.Origin,i.RenderNodes,i.ScrollFactor,i.Texture,i.Transform,i.Visible,r],initialize:function(f,v,c,g,p,T,C,M,A,R,P){s.call(this,f,"NineSlice"),this._width,this._height,this._originX=.5,this._originY=.5,this._sizeComponent=!0,this.vertices=[],this.leftWidth,this.rightWidth,this.topHeight,this.bottomHeight,this.tint=16777215,this.tintFill=!1;var L=f.textures.getFrame(g,p);this.is3Slice=!R&&!P,L&&L.scale9&&(this.is3Slice=L.is3Slice);for(var F=this.is3Slice?18:54,w=0;w{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25305),l=t(44603),i=t(23568),s=t(35154),r=t(28103);l.register("nineslice",function(o,a){o===void 0&&(o={});var u=i(o,"key",null),f=i(o,"frame",null),v=s(o,"width",256),c=s(o,"height",256),g=s(o,"leftWidth",10),p=s(o,"rightWidth",10),T=s(o,"topHeight",0),C=s(o,"bottomHeight",0),M=new r(this.scene,0,0,u,f,v,c,g,p,T,C);return a!==void 0&&(o.add=a),e(this.scene,M,o),M})},47521:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(28103),l=t(39429);l.register("nineslice",function(i,s,r,o,a,u,f,v,c,g){return this.displayList.add(new e(this.scene,i,s,r,o,a,u,f,v,c,g))})},78023:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(52230),h.exports={renderWebGL:l,renderCanvas:i}},82513:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(26099),i=new e({Extends:l,initialize:function(r,o,a,u){l.call(this,r,o),this.vx=0,this.vy=0,this.u=a,this.v=u},setUVs:function(s,r){return this.u=s,this.v=r,this},resize:function(s,r,o,a,u,f){return this.x=s,this.y=r,this.vx=this.x*o,this.vy=-this.y*a,u<.5?this.vx+=o*(.5-u):u>.5&&(this.vx-=o*(u-.5)),f<.5?this.vy+=a*(.5-f):f>.5&&(this.vy-=a*(f-.5)),this}});h.exports=i},52230:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91296),l=t(70554),i={multiTexturing:!0},s=function(r,o,a,u){var f=o.vertices,v=f.length;if(v!==0){var c=a.camera;c.addToRenderList(o);for(var g=o.alpha,p=o.customRenderNodes.BatchHandler||o.defaultRenderNodes.BatchHandler,T=e(o,c,u,!a.useCanvas).calc,C=l.getTintAppendFloatAlpha(o.tint,g),M=o.frame.source.glTexture,A=o.tintFill,R,P,L,F=0;F{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(44777),i=t(37589),s=t(6113),r=t(91389),o=t(90664),a=new e({Extends:l,initialize:function(f){l.call(this,f,null,!1),this.active=!1,this.easeName="Linear",this.r=[],this.g=[],this.b=[]},getMethod:function(){return this.propertyValue===null?0:9},setMethods:function(){var u=this.propertyValue,f=u,v=this.defaultEmit,c=this.defaultUpdate;if(this.method===9){this.start=u[0],this.ease=s("Linear"),this.interpolation=r("linear"),v=this.easedValueEmit,c=this.easeValueUpdate,f=u[0],this.active=!0,this.r.length=0,this.g.length=0,this.b.length=0;for(var g=0;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(30976),l=t(45319),i=t(83419),s=t(99472),r=t(6113),o=t(95540),a=t(91389),u=t(77720),f=t(15994),v=new i({initialize:function(g,p,T){T===void 0&&(T=!1),this.propertyKey=g,this.propertyValue=p,this.defaultValue=p,this.steps=0,this.counter=0,this.yoyo=!1,this.direction=0,this.start=0,this.current=0,this.end=0,this.ease=null,this.interpolation=null,this.emitOnly=T,this.onEmit=this.defaultEmit,this.onUpdate=this.defaultUpdate,this.active=!0,this.method=0,this._onEmit,this._onUpdate},loadConfig:function(c,g){c===void 0&&(c={}),g&&(this.propertyKey=g),this.propertyValue=o(c,this.propertyKey,this.defaultValue),this.method=this.getMethod(),this.setMethods(),this.emitOnly&&(this.onUpdate=this.defaultUpdate)},toJSON:function(){return JSON.stringify(this.propertyValue)},onChange:function(c){var g;switch(this.method){case 1:case 3:case 8:g=c;break;case 2:this.propertyValue.indexOf(c)>=0&&(g=c);break;case 4:var p=(this.end-this.start)/this.steps;g=u(c,p),this.counter=g;break;case 5:case 6:case 7:g=l(c,this.start,this.end);break;case 9:g=this.start[0];break}return this.current=g,this},getMethod:function(){var c=this.propertyValue;if(c===null)return 0;var g=typeof c;if(g==="number")return 1;if(Array.isArray(c))return 2;if(g==="function")return 3;if(g==="object"){if(this.hasBoth(c,"start","end"))return this.has(c,"steps")?4:5;if(this.hasBoth(c,"min","max"))return 6;if(this.has(c,"random"))return 7;if(this.hasEither(c,"onEmit","onUpdate"))return 8;if(this.hasEither(c,"values","interpolation"))return 9}return 0},setMethods:function(){var c=this.propertyValue,g=c,p=this.defaultEmit,T=this.defaultUpdate;switch(this.method){case 1:p=this.staticValueEmit;break;case 2:p=this.randomStaticValueEmit,g=c[0];break;case 3:this._onEmit=c,p=this.proxyEmit,g=this.defaultValue;break;case 4:this.start=c.start,this.end=c.end,this.steps=c.steps,this.counter=this.start,this.yoyo=this.has(c,"yoyo")?c.yoyo:!1,this.direction=0,p=this.steppedEmit,g=this.start;break;case 5:this.start=c.start,this.end=c.end;var C=this.has(c,"ease")?c.ease:"Linear";this.ease=r(C,c.easeParams),p=this.has(c,"random")&&c.random?this.randomRangedValueEmit:this.easedValueEmit,T=this.easeValueUpdate,g=this.start;break;case 6:this.start=c.min,this.end=c.max,p=this.has(c,"int")&&c.int?this.randomRangedIntEmit:this.randomRangedValueEmit,g=this.start;break;case 7:var M=c.random;Array.isArray(M)&&(this.start=M[0],this.end=M[1]),p=this.randomRangedIntEmit,g=this.start;break;case 8:this._onEmit=this.has(c,"onEmit")?c.onEmit:this.defaultEmit,this._onUpdate=this.has(c,"onUpdate")?c.onUpdate:this.defaultUpdate,p=this.proxyEmit,T=this.proxyUpdate,g=this.defaultValue;break;case 9:this.start=c.values;var A=this.has(c,"ease")?c.ease:"Linear";this.ease=r(A,c.easeParams),this.interpolation=a(c.interpolation),p=this.easedValueEmit,T=this.easeValueUpdate,g=this.start[0];break}return this.onEmit=p,this.onUpdate=T,this.current=g,this},has:function(c,g){return c.hasOwnProperty(g)},hasBoth:function(c,g,p){return c.hasOwnProperty(g)&&c.hasOwnProperty(p)},hasEither:function(c,g,p){return c.hasOwnProperty(g)||c.hasOwnProperty(p)},defaultEmit:function(){return this.defaultValue},defaultUpdate:function(c,g,p,T){return T},proxyEmit:function(c,g,p){var T=this._onEmit(c,g,p);return this.current=T,T},proxyUpdate:function(c,g,p,T){var C=this._onUpdate(c,g,p,T);return this.current=C,C},staticValueEmit:function(){return this.current},staticValueUpdate:function(){return this.current},randomStaticValueEmit:function(){var c=Math.floor(Math.random()*this.propertyValue.length);return this.current=this.propertyValue[c],this.current},randomRangedValueEmit:function(c,g){var p=s(this.start,this.end);return c&&c.data[g]&&(c.data[g].min=p,c.data[g].max=this.end),this.current=p,p},randomRangedIntEmit:function(c,g){var p=e(this.start,this.end);return c&&c.data[g]&&(c.data[g].min=p,c.data[g].max=this.end),this.current=p,p},steppedEmit:function(){var c=this.counter,g=c,p=(this.end-this.start)/this.steps;if(this.yoyo){var T;this.direction===0?(g+=p,g>=this.end&&(T=g-this.end,g=this.end-T,this.direction=1)):(g-=p,g<=this.start&&(T=this.start-g,g=this.start+T,this.direction=0)),this.counter=g}else this.counter=f(g+p,this.start,this.end);return this.current=c,c},easedValueEmit:function(c,g){if(c&&c.data[g]){var p=c.data[g];p.min=this.start,p.max=this.end}return this.current=this.start,this.start},easeValueUpdate:function(c,g,p){var T=c.data[g],C,M=this.ease(p);return this.interpolation?C=this.interpolation(this.start,M):C=(T.max-T.min)*M+T.min,this.current=C,C},destroy:function(){this.propertyValue=null,this.defaultValue=null,this.ease=null,this.interpolation=null,this._onEmit=null,this._onUpdate=null}});h.exports=v},24502:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(95540),i=t(20286),s=new e({Extends:i,initialize:function(o,a,u,f,v){if(typeof o=="object"){var c=o;o=l(c,"x",0),a=l(c,"y",0),u=l(c,"power",0),f=l(c,"epsilon",100),v=l(c,"gravity",50)}else o===void 0&&(o=0),a===void 0&&(a=0),u===void 0&&(u=0),f===void 0&&(f=100),v===void 0&&(v=50);i.call(this,o,a,!0),this._gravity=v,this._power=u*v,this._epsilon=f*f},update:function(r,o){var a=this.x-r.x,u=this.y-r.y,f=a*a+u*u;if(f!==0){var v=Math.sqrt(f);f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(9674),l=t(45319),i=t(83419),s=t(39506),r=t(87841),o=t(11520),a=t(26099),u=new i({initialize:function(v){this.emitter=v,this.texture=null,this.frame=null,this.x=0,this.y=0,this.worldPosition=new a,this.velocityX=0,this.velocityY=0,this.accelerationX=0,this.accelerationY=0,this.maxVelocityX=1e4,this.maxVelocityY=1e4,this.bounce=0,this.scaleX=1,this.scaleY=1,this.alpha=1,this.angle=0,this.rotation=0,this.tint=16777215,this.life=1e3,this.lifeCurrent=1e3,this.delayCurrent=0,this.holdCurrent=0,this.lifeT=0,this.data={tint:{min:16777215,max:16777215},alpha:{min:1,max:1},rotate:{min:0,max:0},scaleX:{min:1,max:1},scaleY:{min:1,max:1},x:{min:0,max:0},y:{min:0,max:0},accelerationX:{min:0,max:0},accelerationY:{min:0,max:0},maxVelocityX:{min:0,max:0},maxVelocityY:{min:0,max:0},moveToX:{min:0,max:0},moveToY:{min:0,max:0},bounce:{min:0,max:0}},this.isCropped=!1,this.scene=v.scene,this.anims=null,this.emitter.anims.length>0&&(this.anims=new e(this)),this.bounds=new r},emit:function(f,v,c,g,p,T){return this.emitter.emit(f,v,c,g,p,T)},isAlive:function(){return this.lifeCurrent>0},kill:function(){this.lifeCurrent=0},setPosition:function(f,v){f===void 0&&(f=0),v===void 0&&(v=0),this.x=f,this.y=v},fire:function(f,v){var c=this.emitter,g=c.ops,p=c.getAnim();if(p?this.anims.play(p):(this.frame=c.getFrame(),this.texture=this.frame.texture),!this.frame)throw new Error("Particle has no texture frame");if(c.getEmitZone(this),f===void 0?this.x+=g.x.onEmit(this,"x"):g.x.steps>0?this.x+=f+g.x.onEmit(this,"x"):this.x+=f,v===void 0?this.y+=g.y.onEmit(this,"y"):g.y.steps>0?this.y+=v+g.y.onEmit(this,"y"):this.y+=v,this.life=g.lifespan.onEmit(this,"lifespan"),this.lifeCurrent=this.life,this.lifeT=0,this.delayCurrent=g.delay.onEmit(this,"delay"),this.holdCurrent=g.hold.onEmit(this,"hold"),this.scaleX=g.scaleX.onEmit(this,"scaleX"),this.scaleY=g.scaleY.active?g.scaleY.onEmit(this,"scaleY"):this.scaleX,this.angle=g.rotate.onEmit(this,"rotate"),this.rotation=s(this.angle),c.worldMatrix.transformPoint(this.x,this.y,this.worldPosition),this.delayCurrent===0&&c.getDeathZone(this))return this.lifeCurrent=0,!1;var T=g.speedX.onEmit(this,"speedX"),C=g.speedY.active?g.speedY.onEmit(this,"speedY"):T;if(c.radial){var M=s(g.angle.onEmit(this,"angle"));this.velocityX=Math.cos(M)*Math.abs(T),this.velocityY=Math.sin(M)*Math.abs(C)}else if(c.moveTo){var A=g.moveToX.onEmit(this,"moveToX"),R=g.moveToY.onEmit(this,"moveToY"),P=this.life/1e3;this.velocityX=(A-this.x)/P,this.velocityY=(R-this.y)/P}else this.velocityX=T,this.velocityY=C;return c.acceleration&&(this.accelerationX=g.accelerationX.onEmit(this,"accelerationX"),this.accelerationY=g.accelerationY.onEmit(this,"accelerationY")),this.maxVelocityX=g.maxVelocityX.onEmit(this,"maxVelocityX"),this.maxVelocityY=g.maxVelocityY.onEmit(this,"maxVelocityY"),this.bounce=g.bounce.onEmit(this,"bounce"),this.alpha=g.alpha.onEmit(this,"alpha"),g.color.active?this.tint=g.color.onEmit(this,"tint"):this.tint=g.tint.onEmit(this,"tint"),!0},update:function(f,v,c){if(this.lifeCurrent<=0)return this.holdCurrent>0?(this.holdCurrent-=f,this.holdCurrent<=0):!0;if(this.delayCurrent>0)return this.delayCurrent-=f,!1;this.anims&&this.anims.update(0,f);var g=this.emitter,p=g.ops,T=1-this.lifeCurrent/this.life;if(this.lifeT=T,this.x=p.x.onUpdate(this,"x",T,this.x),this.y=p.y.onUpdate(this,"y",T,this.y),g.moveTo){var C=p.moveToX.onUpdate(this,"moveToX",T,g.moveToX),M=p.moveToY.onUpdate(this,"moveToY",T,g.moveToY),A=this.lifeCurrent/1e3;this.velocityX=(C-this.x)/A,this.velocityY=(M-this.y)/A}return this.computeVelocity(g,f,v,c,T),this.scaleX=p.scaleX.onUpdate(this,"scaleX",T,this.scaleX),p.scaleY.active?this.scaleY=p.scaleY.onUpdate(this,"scaleY",T,this.scaleY):this.scaleY=this.scaleX,this.angle=p.rotate.onUpdate(this,"rotate",T,this.angle),this.rotation=s(this.angle),g.getDeathZone(this)?(this.lifeCurrent=0,!0):(this.alpha=l(p.alpha.onUpdate(this,"alpha",T,this.alpha),0,1),p.color.active?this.tint=p.color.onUpdate(this,"color",T,this.tint):this.tint=p.tint.onUpdate(this,"tint",T,this.tint),this.lifeCurrent-=f,this.lifeCurrent<=0&&this.holdCurrent<=0)},computeVelocity:function(f,v,c,g,p){var T=f.ops,C=this.velocityX,M=this.velocityY,A=T.accelerationX.onUpdate(this,"accelerationX",p,this.accelerationX),R=T.accelerationY.onUpdate(this,"accelerationY",p,this.accelerationY),P=T.maxVelocityX.onUpdate(this,"maxVelocityX",p,this.maxVelocityX),L=T.maxVelocityY.onUpdate(this,"maxVelocityY",p,this.maxVelocityY);this.bounce=T.bounce.onUpdate(this,"bounce",p,this.bounce),C+=f.gravityX*c+A*c,M+=f.gravityY*c+R*c,C=l(C,-P,P),M=l(M,-L,L),this.velocityX=C,this.velocityY=M,this.x+=C*c,this.y+=M*c,f.worldMatrix.transformPoint(this.x,this.y,this.worldPosition);for(var F=0;F{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(20286),i=t(87841),s=new e({Extends:l,initialize:function(o,a,u,f,v,c,g,p){v===void 0&&(v=!0),c===void 0&&(c=!0),g===void 0&&(g=!0),p===void 0&&(p=!0),l.call(this,o,a,!0),this.bounds=new i(o,a,u,f),this.collideLeft=v,this.collideRight=c,this.collideTop=g,this.collideBottom=p},update:function(r){var o=this.bounds,a=-r.bounce,u=r.worldPosition;u.xo.right&&this.collideRight&&(r.x-=u.x-o.right,r.velocityX*=a),u.yo.bottom&&this.collideBottom&&(r.y-=u.y-o.bottom,r.velocityY*=a)}});h.exports=s},31600:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(68668),l=t(83419),i=t(31401),s=t(53774),r=t(43459),o=t(26388),a=t(19909),u=t(76472),f=t(44777),v=t(20696),c=t(95643),g=t(95540),p=t(26546),T=t(24502),C=t(69036),M=t(1985),A=t(97022),R=t(86091),P=t(73162),L=t(20074),F=t(269),w=t(56480),O=t(69601),B=t(68875),I=t(87841),D=t(59996),N=t(72905),z=t(90668),V=t(19186),U=t(61340),G=t(26099),b=t(15994),Y=["active","advance","blendMode","colorEase","deathCallback","deathCallbackScope","duration","emitCallback","emitCallbackScope","follow","frequency","gravityX","gravityY","maxAliveParticles","maxParticles","name","emitting","particleBringToTop","particleClass","radial","sortCallback","sortOrderAsc","sortProperty","stopAfter","tintFill","timeScale","trackVisible","visible"],W=["accelerationX","accelerationY","alpha","angle","bounce","color","delay","hold","lifespan","maxVelocityX","maxVelocityY","moveToX","moveToY","quantity","rotate","scaleX","scaleY","speedX","speedY","tint","x","y"],H=new l({Extends:c,Mixins:[i.AlphaSingle,i.BlendMode,i.Depth,i.Lighting,i.Mask,i.RenderNodes,i.ScrollFactor,i.Texture,i.Transform,i.Visible,z],initialize:function(K,Z,Q,j,J){c.call(this,K,"ParticleEmitter"),this.particleClass=w,this.config=null,this.ops={accelerationX:new f("accelerationX",0),accelerationY:new f("accelerationY",0),alpha:new f("alpha",1),angle:new f("angle",{min:0,max:360},!0),bounce:new f("bounce",0),color:new u("color"),delay:new f("delay",0,!0),hold:new f("hold",0,!0),lifespan:new f("lifespan",1e3,!0),maxVelocityX:new f("maxVelocityX",1e4),maxVelocityY:new f("maxVelocityY",1e4),moveToX:new f("moveToX",0),moveToY:new f("moveToY",0),quantity:new f("quantity",1,!0),rotate:new f("rotate",0),scaleX:new f("scaleX",1),scaleY:new f("scaleY",1),speedX:new f("speedX",0,!0),speedY:new f("speedY",0,!0),tint:new f("tint",16777215),x:new f("x",0),y:new f("y",0)},this.radial=!0,this.gravityX=0,this.gravityY=0,this.acceleration=!1,this.moveTo=!1,this.emitCallback=null,this.emitCallbackScope=null,this.deathCallback=null,this.deathCallbackScope=null,this.maxParticles=0,this.maxAliveParticles=0,this.stopAfter=0,this.duration=0,this.frequency=0,this.emitting=!0,this.particleBringToTop=!0,this.timeScale=1,this.emitZones=[],this.deathZones=[],this.viewBounds=null,this.follow=null,this.followOffset=new G,this.trackVisible=!1,this.frames=[],this.randomFrame=!0,this.frameQuantity=1,this.anims=[],this.randomAnim=!0,this.animQuantity=1,this.dead=[],this.alive=[],this.counters=new Float32Array(10),this.skipping=!1,this.worldMatrix=new U,this.sortProperty="",this.sortOrderAsc=!0,this.sortCallback=this.depthSortCallback,this.processors=new P(this),this.tintFill=!1,this.initRenderNodes(this._defaultRenderNodesMap),this.setPosition(Z,Q),this.setTexture(j),J&&this.setConfig(J)},_defaultRenderNodesMap:{get:function(){return e}},addedToScene:function(){this.scene.sys.updateList.add(this)},removedFromScene:function(){this.scene.sys.updateList.remove(this)},setConfig:function(X){if(!X)return this;this.config=X;var K=0,Z="",Q=this.ops;for(K=0;K=this.animQuantity&&(this.animCounter=0,this.currentAnim=b(this.currentAnim+1,0,K)),Z},setAnim:function(X,K,Z){K===void 0&&(K=!0),Z===void 0&&(Z=1),this.randomAnim=K,this.animQuantity=Z,this.currentAnim=0;var Q=typeof X;if(this.anims.length=0,Array.isArray(X))this.anims=this.anims.concat(X);else if(Q==="string")this.anims.push(X);else if(Q==="object"){var j=X;X=g(j,"anims",null),X&&(this.anims=this.anims.concat(X));var J=g(j,"cycle",!1);this.randomAnim=!J,this.animQuantity=g(j,"quantity",Z)}return this.anims.length===1&&(this.animQuantity=1,this.randomAnim=!1),this},setRadial:function(X){return X===void 0&&(X=!0),this.radial=X,this},addParticleBounds:function(X,K,Z,Q,j,J,tt,k){if(typeof X=="object"){var q=X;X=q.x,K=q.y,Z=A(q,"w")?q.w:q.width,Q=A(q,"h")?q.h:q.height}return this.addParticleProcessor(new O(X,K,Z,Q,j,J,tt,k))},setParticleSpeed:function(X,K){return K===void 0&&(K=X),this.ops.speedX.onChange(X),X===K?this.ops.speedY.active=!1:this.ops.speedY.onChange(K),this.radial=!0,this},setParticleScale:function(X,K){return X===void 0&&(X=1),K===void 0&&(K=X),this.ops.scaleX.onChange(X),this.ops.scaleY.onChange(K),this},setParticleGravity:function(X,K){return this.gravityX=X,this.gravityY=K,this},setParticleAlpha:function(X){return this.ops.alpha.onChange(X),this},setParticleTint:function(X){return this.ops.tint.onChange(X),this},setEmitterAngle:function(X){return this.ops.angle.onChange(X),this},setParticleLifespan:function(X){return this.ops.lifespan.onChange(X),this},setQuantity:function(X){return this.quantity=X,this},setFrequency:function(X,K){return this.frequency=X,this.flowCounter=X>0?X:0,K&&(this.quantity=K),this},addDeathZone:function(X){Array.isArray(X)||(X=[X]);for(var K,Z=[],Q=0;Q-1&&(this.zoneTotal++,this.zoneTotal===Q.total&&(this.zoneTotal=0,this.zoneIndex++,this.zoneIndex===Z&&(this.zoneIndex=0)))}},getDeathZone:function(X){for(var K=this.deathZones,Z=0;Z=0&&(this.zoneIndex=K),this},addParticleProcessor:function(X){return this.processors.exists(X)||(X.emitter&&X.emitter.removeParticleProcessor(X),this.processors.add(X),X.emitter=this),X},removeParticleProcessor:function(X){return this.processors.exists(X)&&(this.processors.remove(X,!0),X.emitter=null),X},getProcessors:function(){return this.processors.getAll("active",!0)},createGravityWell:function(X){return this.addParticleProcessor(new T(X))},reserve:function(X){var K=this.dead;if(this.maxParticles>0){var Z=this.getParticleCount();Z+X>this.maxParticles&&(X=this.maxParticles-(Z+X))}for(var Q=0;Q0&&this.getParticleCount()>=this.maxParticles?!0:this.maxAliveParticles>0&&this.getAliveParticleCount()>=this.maxAliveParticles},onParticleEmit:function(X,K){return X===void 0?(this.emitCallback=null,this.emitCallbackScope=null):typeof X=="function"&&(this.emitCallback=X,K&&(this.emitCallbackScope=K)),this},onParticleDeath:function(X,K){return X===void 0?(this.deathCallback=null,this.deathCallbackScope=null):typeof X=="function"&&(this.deathCallback=X,K&&(this.deathCallbackScope=K)),this},killAll:function(){for(var X=this.dead,K=this.alive;K.length>0;)X.push(K.pop());return this},forEachAlive:function(X,K){for(var Z=this.alive,Q=Z.length,j=0;j0&&this.fastForward(X),this.emitting=!0,this.resetCounters(this.frequency,!0),K!==void 0&&(this.duration=Math.abs(K)),this.emit(v.START,this)),this},stop:function(X){return X===void 0&&(X=!1),this.emitting&&(this.emitting=!1,X&&this.killAll(),this.emit(v.STOP,this)),this},pause:function(){return this.active=!1,this},resume:function(){return this.active=!0,this},setSortProperty:function(X,K){return X===void 0&&(X=""),K===void 0&&(K=this.true),this.sortProperty=X,this.sortOrderAsc=K,this.sortCallback=this.depthSortCallback,this},setSortCallback:function(X){return this.sortProperty!==""?X=this.depthSortCallback:X=null,this.sortCallback=X,this},depthSort:function(){return V(this.alive,this.sortCallback.bind(this)),this},depthSortCallback:function(X,K){var Z=this.sortProperty;return this.sortOrderAsc?X[Z]-K[Z]:K[Z]-X[Z]},flow:function(X,K,Z){return K===void 0&&(K=1),this.emitting=!1,this.frequency=X,this.quantity=K,Z!==void 0&&(this.stopAfter=Z),this.start()},explode:function(X,K,Z){this.frequency=-1,this.resetCounters(-1,!0);var Q=this.emitParticle(X,K,Z);return this.emit(v.EXPLODE,this,Q),Q},emitParticleAt:function(X,K,Z){return this.emitParticle(Z,X,K)},emitParticle:function(X,K,Z){if(!this.atLimit()){X===void 0&&(X=this.ops.quantity.onEmit());for(var Q=this.dead,j=this.stopAfter,J=this.follow?this.follow.x+this.followOffset.x:K,tt=this.follow?this.follow.y+this.followOffset.y:Z,k=0;k0&&(this.stopCounter++,this.stopCounter>=j)||this.atLimit())break}return q}},fastForward:function(X,K){K===void 0&&(K=1e3/60);var Z=0;for(this.skipping=!0;Z0){var rt=this.deathCallback,at=this.deathCallbackScope;for(tt=q-1;tt>=0;tt--){var ht=k[tt];j.splice(ht.index,1),J.push(ht.particle),rt&&rt.call(at,ht.particle),ht.particle.setPosition()}}if(!this.emitting&&!this.skipping){this.completeFlag===1&&j.length===0&&(this.completeFlag=0,this.emit(v.COMPLETE,this));return}if(this.frequency===0)this.emitParticle();else if(this.frequency>0)for(this.flowCounter-=K;this.flowCounter<=0;)this.emitParticle(),this.flowCounter+=this.frequency;this.skipping||(this.duration>0&&(this.elapsed+=K,this.elapsed>=this.duration&&this.stop()),this.stopAfter>0&&this.stopCounter>=this.stopAfter&&this.stop())},overlap:function(X){for(var K=this.getWorldTransformMatrix(),Z=this.alive,Q=Z.length,j=[],J=0;J0){var _=0;for(this.skipping=!0;_0&&R(Q,X,X),Q},createEmitter:function(){throw new Error("createEmitter removed. See ParticleEmitter docs for info")},particleX:{get:function(){return this.ops.x.current},set:function(X){this.ops.x.onChange(X)}},particleY:{get:function(){return this.ops.y.current},set:function(X){this.ops.y.onChange(X)}},accelerationX:{get:function(){return this.ops.accelerationX.current},set:function(X){this.ops.accelerationX.onChange(X)}},accelerationY:{get:function(){return this.ops.accelerationY.current},set:function(X){this.ops.accelerationY.onChange(X)}},maxVelocityX:{get:function(){return this.ops.maxVelocityX.current},set:function(X){this.ops.maxVelocityX.onChange(X)}},maxVelocityY:{get:function(){return this.ops.maxVelocityY.current},set:function(X){this.ops.maxVelocityY.onChange(X)}},speed:{get:function(){return this.ops.speedX.current},set:function(X){this.ops.speedX.onChange(X),this.ops.speedY.onChange(X)}},speedX:{get:function(){return this.ops.speedX.current},set:function(X){this.ops.speedX.onChange(X)}},speedY:{get:function(){return this.ops.speedY.current},set:function(X){this.ops.speedY.onChange(X)}},moveToX:{get:function(){return this.ops.moveToX.current},set:function(X){this.ops.moveToX.onChange(X)}},moveToY:{get:function(){return this.ops.moveToY.current},set:function(X){this.ops.moveToY.onChange(X)}},bounce:{get:function(){return this.ops.bounce.current},set:function(X){this.ops.bounce.onChange(X)}},particleScaleX:{get:function(){return this.ops.scaleX.current},set:function(X){this.ops.scaleX.onChange(X)}},particleScaleY:{get:function(){return this.ops.scaleY.current},set:function(X){this.ops.scaleY.onChange(X)}},particleColor:{get:function(){return this.ops.color.current},set:function(X){this.ops.color.onChange(X)}},colorEase:{get:function(){return this.ops.color.easeName},set:function(X){this.ops.color.setEase(X)}},particleTint:{get:function(){return this.ops.tint.current},set:function(X){this.ops.tint.onChange(X)}},particleAlpha:{get:function(){return this.ops.alpha.current},set:function(X){this.ops.alpha.onChange(X)}},lifespan:{get:function(){return this.ops.lifespan.current},set:function(X){this.ops.lifespan.onChange(X)}},particleAngle:{get:function(){return this.ops.angle.current},set:function(X){this.ops.angle.onChange(X)}},particleRotate:{get:function(){return this.ops.rotate.current},set:function(X){this.ops.rotate.onChange(X)}},quantity:{get:function(){return this.ops.quantity.current},set:function(X){this.ops.quantity.onChange(X)}},delay:{get:function(){return this.ops.delay.current},set:function(X){this.ops.delay.onChange(X)}},hold:{get:function(){return this.ops.hold.current},set:function(X){this.ops.hold.onChange(X)}},flowCounter:{get:function(){return this.counters[0]},set:function(X){this.counters[0]=X}},frameCounter:{get:function(){return this.counters[1]},set:function(X){this.counters[1]=X}},animCounter:{get:function(){return this.counters[2]},set:function(X){this.counters[2]=X}},elapsed:{get:function(){return this.counters[3]},set:function(X){this.counters[3]=X}},stopCounter:{get:function(){return this.counters[4]},set:function(X){this.counters[4]=X}},completeFlag:{get:function(){return this.counters[5]},set:function(X){this.counters[5]=X}},zoneIndex:{get:function(){return this.counters[6]},set:function(X){this.counters[6]=X}},zoneTotal:{get:function(){return this.counters[7]},set:function(X){this.counters[7]=X}},currentFrame:{get:function(){return this.counters[8]},set:function(X){this.counters[8]=X}},currentAnim:{get:function(){return this.counters[9]},set:function(X){this.counters[9]=X}},preDestroy:function(){this.texture=null,this.frames=null,this.anims=null,this.emitCallback=null,this.emitCallbackScope=null,this.deathCallback=null,this.deathCallbackScope=null,this.emitZones=null,this.deathZones=null,this.bounds=null,this.follow=null,this.counters=null;var X,K=this.ops;for(X=0;X{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(59996),l=t(61340),i=new l,s=new l,r=new l,o=new l,a=function(u,f,v,c){v.addToRenderList(f),i.copyWithScrollFactorFrom(v.matrix,v.scrollX,v.scrollY,f.scrollFactorX,f.scrollFactorY),c&&i.multiply(c),o.applyITRS(f.x,f.y,f.rotation,f.scaleX,f.scaleY),i.multiply(o);var g=u.currentContext,p=v.roundPixels,T=v.alpha,C=f.alpha,M=f.alive,A=M.length,R=f.viewBounds;if(!(!f.visible||A===0||R&&!e(R,v.worldView))){f.sortCallback&&f.depthSort(),g.save(),g.globalCompositeOperation=u.blendModes[f.blendMode];for(var P=0;P0&&O.height>0){var B=-w.halfWidth,I=-w.halfHeight;g.globalAlpha=F,g.save(),s.setToContext(g),p&&(B=Math.round(B),I=Math.round(I)),g.imageSmoothingEnabled=!w.source.scaleMode,g.drawImage(w.source.image,O.x,O.y,O.width,O.height,B,I,O.width,O.height),g.restore()}}}g.restore()}};h.exports=a},92730:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25305),l=t(44603),i=t(23568),s=t(95540),r=t(31600);l.register("particles",function(o,a){o===void 0&&(o={});var u=i(o,"key",null),f=s(o,"config",null),v=new r(this.scene,0,0,u);return a!==void 0&&(o.add=a),e(this.scene,v,o),f&&v.setConfig(f),v})},676:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(39429),l=t(31600);e.register("particles",function(i,s,r,o){return i!==void 0&&typeof i=="string"&&console.warn("ParticleEmitterManager was removed in Phaser 3.60. See documentation for details"),this.displayList.add(new l(this.scene,i,s,r,o))})},90668:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(21188),i=t(9871),h.exports={renderWebGL:l,renderCanvas:i}},21188:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(59996),l=t(61340),i=t(70554),s=new l,r=new l,o=new l,a=new l,u={},f={},v={quad:new Float32Array(8)},c=function(g,p,T,C){var M=T.camera;M.addToRenderList(p),s.copyWithScrollFactorFrom(M.getViewMatrix(!T.useCanvas),M.scrollX,M.scrollY,p.scrollFactorX,p.scrollFactorY),C&&s.multiply(C),a.applyITRS(p.x,p.y,p.rotation,p.scaleX,p.scaleY),s.multiply(a);var A=i.getTintAppendFloatAlpha,R=p.alpha,P=p.alive,L=P.length,F=p.viewBounds;if(!(L===0||F&&!e(F,M.worldView))){p.sortCallback&&p.depthSort();for(var w=p.tintFill,O=0;O{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s,r,o){s===void 0&&(s=0),r===void 0&&(r=0),o===void 0&&(o=!0),this.emitter,this.x=s,this.y=r,this.active=o},update:function(){},destroy:function(){this.emitter=null}});h.exports=l},9774:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="complete"},812:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="deathzone"},30522:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="explode"},96695:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="start"},18677:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="stop"},20696:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={COMPLETE:t(9774),DEATH_ZONE:t(812),EXPLODE:t(30522),START:t(96695),STOP:t(18677)}},18404:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={EmitterColorOp:t(76472),EmitterOp:t(44777),Events:t(20696),GravityWell:t(24502),Particle:t(56480),ParticleBounds:t(69601),ParticleEmitter:t(31600),ParticleProcessor:t(20286),Zones:t(21024)}},26388:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s,r){this.source=s,this.killOnEnter=r},willKill:function(i){var s=i.worldPosition,r=this.source.contains(s.x,s.y);return r&&this.killOnEnter||!r&&!this.killOnEnter}});h.exports=l},19909:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s,r,o,a,u,f){a===void 0&&(a=!1),u===void 0&&(u=!0),f===void 0&&(f=-1),this.source=s,this.points=[],this.quantity=r,this.stepRate=o,this.yoyo=a,this.counter=-1,this.seamless=u,this._length=0,this._direction=0,this.total=f,this.updateSource()},updateSource:function(){if(this.points=this.source.getPoints(this.quantity,this.stepRate),this.seamless){var i=this.points[0],s=this.points[this.points.length-1];i.x===s.x&&i.y===s.y&&this.points.pop()}var r=this._length;return this._length=this.points.length,this._lengththis._length&&(this.counter=this._length-1),this},changeSource:function(i){return this.source=i,this.updateSource()},getPoint:function(i){this._direction===0?(this.counter++,this.counter>=this._length&&(this.yoyo?(this._direction=1,this.counter=this._length-1):this.counter=0)):(this.counter--,this.counter===-1&&(this.yoyo?(this._direction=0,this.counter=0):this.counter=this._length-1));var s=this.points[this.counter];s&&(i.x=s.x,i.y=s.y)}});h.exports=l},68875:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(26099),i=new e({initialize:function(r){this.source=r,this._tempVec=new l,this.total=-1},getPoint:function(s){var r=this._tempVec;this.source.getRandomPoint(r),s.x=r.x,s.y=r.y}});h.exports=i},21024:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={DeathZone:t(26388),EdgeZone:t(19909),RandomZone:t(68875)}},1159:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(31401),i=t(68287),s=new e({Extends:i,Mixins:[l.PathFollower],initialize:function(o,a,u,f,v,c){i.call(this,o,u,f,v,c),this.path=a},preUpdate:function(r,o){this.anims.update(r,o),this.pathUpdate(r)}});h.exports=s},90145:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(39429),l=t(1159);e.register("follower",function(i,s,r,o,a){var u=new l(this.scene,i,s,r,o,a);return this.displayList.add(u),this.updateList.add(u),u})},80321:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43246),l=t(83419),i=t(31401),s=t(95643),r=t(30100),o=t(67277),a=new l({Extends:s,Mixins:[i.AlphaSingle,i.BlendMode,i.Depth,i.Mask,i.RenderNodes,i.ScrollFactor,i.Transform,i.Visible,o],initialize:function(f,v,c,g,p,T,C){g===void 0&&(g=16777215),p===void 0&&(p=128),T===void 0&&(T=1),C===void 0&&(C=.1),s.call(this,f,"PointLight"),this.initRenderNodes(this._defaultRenderNodesMap),this.setPosition(v,c),this.color=r(g),this.intensity=T,this.attenuation=C,this.width=p*2,this.height=p*2,this._radius=p},_defaultRenderNodesMap:{get:function(){return e}},radius:{get:function(){return this._radius},set:function(u){this._radius=u,this.width=u*2,this.height=u*2}},originX:{get:function(){return .5}},originY:{get:function(){return .5}},displayOriginX:{get:function(){return this._radius}},displayOriginY:{get:function(){return this._radius}}});h.exports=a},39829:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25305),l=t(44603),i=t(23568),s=t(80321);l.register("pointlight",function(r,o){r===void 0&&(r={});var a=i(r,"color",16777215),u=i(r,"radius",128),f=i(r,"intensity",1),v=i(r,"attenuation",.1),c=new s(this.scene,0,0,a,u,f,v);return o!==void 0&&(r.add=o),e(this.scene,c,r),c})},71255:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(39429),l=t(80321);e.register("pointlight",function(i,s,r,o,a,u){return this.displayList.add(new l(this.scene,i,s,r,o,a,u))})},67277:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(57787),h.exports={renderWebGL:l,renderCanvas:i}},57787:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91296),l=function(i,s,r,o){var a=r.camera;a.addToRenderList(s);var u=e(s,a,o,!r.useCanvas).calc,f=s.width,v=s.height,c=-s._radius,g=-s._radius,p=c+f,T=g+v,C=u.getX(0,0),M=u.getY(0,0),A=u.getX(c,g),R=u.getY(c,g),P=u.getX(c,T),L=u.getY(c,T),F=u.getX(p,T),w=u.getY(p,T),O=u.getX(p,g),B=u.getY(p,g);(s.customRenderNodes.BatchHandler||s.defaultRenderNodes.BatchHandler).batch(r,s,A,R,P,L,O,B,F,w,C,M)};h.exports=l},591:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(45650),i=t(88571),s=t(83999),r=t(58855),o=new e({Extends:i,Mixins:[s],initialize:function(u,f,v,c,g,p){f===void 0&&(f=0),v===void 0&&(v=0),c===void 0&&(c=32),g===void 0&&(g=32),p===void 0&&(p=!0);var T=u.sys.textures.addDynamicTexture(l(),c,g,p);i.call(this,u,f,v,T),this.type="RenderTexture",this.camera=this.texture.camera,this._saved=!1,this.renderMode=r.RENDER,this.isCurrentlyRendering=!1},setSize:function(a,u){this.width=a,this.height=u,this.updateDisplayOrigin();var f=this.input;return f&&!f.customHitArea&&(f.hitArea.width=a,f.hitArea.height=u),this},resize:function(a,u,f){return this.texture.setSize(a,u,f),this.setSize(this.texture.width,this.texture.height),this},saveTexture:function(a){var u=this.texture;return u.key=a,u.manager.addDynamicTexture(u)&&(this._saved=!0),u},setRenderMode:function(a,u){return this.renderMode=a,u&&this.texture.preserve(!0),this},render:function(){return this.texture.render(),this},fill:function(a,u,f,v,c,g){return this.texture.fill(a,u,f,v,c,g),this},clear:function(a,u,f,v){return this.texture.clear(a,u,f,v),this},stamp:function(a,u,f,v,c){return this.texture.stamp(a,u,f,v,c),this},erase:function(a,u,f){return this.texture.erase(a,u,f),this},draw:function(a,u,f,v,c){return this.texture.draw(a,u,f,v,c),this},capture:function(a,u){return this.texture.capture(a,u),this},repeat:function(a,u,f,v,c,g,p){return this.texture.repeat(a,u,f,v,c,g,p),this},preserve:function(a){return this.texture.preserve(a),this},callback:function(a){return this.texture.callback(a),this},snapshotArea:function(a,u,f,v,c,g,p){return this.texture.snapshotArea(a,u,f,v,c,g,p),this},snapshot:function(a,u,f){return this.texture.snapshot(a,u,f)},snapshotPixel:function(a,u,f){return this.texture.snapshotPixel(a,u,f)},preDestroy:function(){this.camera=null,this._saved||this.texture.destroy()}});h.exports=o},97272:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(40652),l=t(58855),i=function(s,r,o,a){var u=!0,f=!0;r.renderMode===l.REDRAW?f=!1:r.renderMode===l.RENDER&&(u=!1),u&&r.render(),f&&e(s,r,o,a)};h.exports=i},34495:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25305),l=t(44603),i=t(23568),s=t(591);l.register("renderTexture",function(r,o){r===void 0&&(r={});var a=i(r,"x",0),u=i(r,"y",0),f=i(r,"width",32),v=i(r,"height",32),c=new s(this.scene,a,u,f,v);return o!==void 0&&(r.add=o),e(this.scene,c,r),c})},60505:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(39429),l=t(591);e.register("renderTexture",function(i,s,r,o){return this.displayList.add(new l(this.scene,i,s,r,o))})},83999:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(53937),i=t(97272),h.exports={renderWebGL:l,renderCanvas:i}},58855:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={RENDER:"render",REDRAW:"redraw",ALL:"all"}},53937:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(99517),l=t(58855),i=function(s,r,o,a){if(!r.isCurrentlyRendering){r.isCurrentlyRendering=!0;var u=!0,f=!0;r.renderMode===l.REDRAW?f=!1:r.renderMode===l.RENDER&&(u=!1),u&&r.render(),f&&e(s,r,o,a),r.isCurrentlyRendering=!1}};h.exports=i},77757:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(9674),l=t(85760),i=t(83419),s=t(31401),r=t(95643),o=t(38745),a=t(26099),u=new i({Extends:r,Mixins:[s.AlphaSingle,s.BlendMode,s.Depth,s.Flip,s.Mask,s.RenderNodes,s.Size,s.Texture,s.Transform,s.Visible,s.ScrollFactor,o],initialize:function(v,c,g,p,T,C,M,A,R){p===void 0&&(p="__DEFAULT"),C===void 0&&(C=2),M===void 0&&(M=!0),r.call(this,v,"Rope"),this.anims=new e(this),this.points=C,this.vertices,this.uv,this.colors,this.alphas,this.tintFill=p==="__DEFAULT",this.dirty=!1,this.horizontal=M,this._flipX=!1,this._flipY=!1,this._perp=new a,this.debugCallback=null,this.debugGraphic=null,this.setTexture(p,T),this.setPosition(c,g),this.setSizeToFrame(),this.initRenderNodes(this._defaultRenderNodesMap),Array.isArray(C)&&this.resizeArrays(C.length),this.setPoints(C,A,R),this.updateVertices()},_defaultRenderNodesMap:{get:function(){return l}},addedToScene:function(){this.scene.sys.updateList.add(this)},removedFromScene:function(){this.scene.sys.updateList.remove(this)},preUpdate:function(f,v){var c=this.anims.currentFrame;this.anims.update(f,v),this.anims.currentFrame!==c&&(this.updateUVs(),this.updateVertices())},play:function(f,v,c){return this.anims.play(f,v,c),this},setDirty:function(){return this.dirty=!0,this},setHorizontal:function(f,v,c){return f===void 0&&(f=this.points.length),this.horizontal?this:(this.horizontal=!0,this.setPoints(f,v,c))},setVertical:function(f,v,c){return f===void 0&&(f=this.points.length),this.horizontal?(this.horizontal=!1,this.setPoints(f,v,c)):this},setTintFill:function(f){return f===void 0&&(f=!1),this.tintFill=f,this},setAlphas:function(f,v){var c=this.points.length;if(c<1)return this;var g=this.alphas;f===void 0?f=[1]:!Array.isArray(f)&&v===void 0&&(f=[f]);var p,T=0;if(v!==void 0)for(p=0;pT&&(C=f[T]),g[T]=C,f.length>T+1&&(C=f[T+1]),g[T+1]=C}return this},setColors:function(f){var v=this.points.length;if(v<1)return this;var c=this.colors;f===void 0?f=[16777215]:Array.isArray(f)||(f=[f]);var g,p=0;if(f.length===v)for(g=0;gp&&(T=f[p]),c[p]=T,f.length>p+1&&(T=f[p+1]),c[p+1]=T}return this},setPoints:function(f,v,c){if(f===void 0&&(f=2),typeof f=="number"){var g=f;g<2&&(g=2),f=[];var p,T,C;if(this.horizontal)for(C=-this.frame.halfWidth,T=this.frame.width/(g-1),p=0;p{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(){};h.exports=d},26209:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25305),l=t(44603),i=t(23568),s=t(35154),r=t(77757);l.register("rope",function(o,a){o===void 0&&(o={});var u=i(o,"key",null),f=i(o,"frame",null),v=i(o,"horizontal",!0),c=s(o,"points",void 0),g=s(o,"colors",void 0),p=s(o,"alphas",void 0),T=new r(this.scene,0,0,u,f,c,v,g,p);return a!==void 0&&(o.add=a),e(this.scene,T,o),T})},96819:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(77757),l=t(39429);l.register("rope",function(i,s,r,o,a,u,f,v){return this.displayList.add(new e(this.scene,i,s,r,o,a,u,f,v))})},38745:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(20439),i=t(95262),h.exports={renderWebGL:l,renderCanvas:i}},20439:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91296),l={multiTexturing:!1,smoothPixelArt:!1},i=function(s,r,o,a){var u=o.camera;u.addToRenderList(r);var f=e(r,u,a,!o.useCanvas).calc;r.dirty&&r.updateVertices();var v,c=r.texture;c&&c.smoothPixelArt!==null?v=c.smoothPixelArt:v=r.scene.sys.game.config.smoothPixelArt,l.smoothPixelArt=v,(r.customRenderNodes.BatchHandler||r.defaultRenderNodes.BatchHandler).batchStrip(o,r,f,r.texture.source[0].glTexture,r.vertices,r.uv,r.colors,r.alphas,r.alpha,r.tintFill,l,r.debugCallback)};h.exports=i},20071:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(71911),l=t(26099),i=t(55403),s=t(87774),r=t(83419),o=t(95540),a=t(31401),u=t(95643),f=t(25479),v=new r({Extends:u,Mixins:[a.BlendMode,a.ComputedSize,a.Depth,a.GetBounds,a.Origin,a.ScrollFactor,a.Transform,a.Visible,f],initialize:function(g,p,T,C,M,A,R){p===void 0&&(p={}),typeof p=="string"&&(p={fragmentKey:p}),T===void 0&&(T=0),C===void 0&&(C=0),M===void 0&&(M=128),A===void 0&&(A=128),u.call(this,g,"Shader");var P=g.sys.renderer;this.textures=[],this.renderNode=new i(P.renderNodes,p),this.setupUniforms=o(p,"setupUniforms",function(){}),p.updateShaderConfig&&(this.renderNode.updateShaderConfig=p.updateShaderConfig);var L=o(p,"initialUniforms",{});Object.entries(L).forEach(function(F){this.setUniform(F[0],F[1])},this),this.drawingContext=null,this.glTexture=null,this.renderToTexture=!1,this.texture=null,this.textureCoordinateTopLeft=new l(0,1),this.textureCoordinateTopRight=new l(1,1),this.textureCoordinateBottomLeft=new l(0,0),this.textureCoordinateBottomRight=new l(1,0),this.setTextures(R),this.setPosition(T,C),this.setSize(M,A),this.setOrigin(.5,.5)},getUniform:function(c){return this.renderNode.programManager.uniforms[c]},setUniform:function(c,g){return this.renderNode.programManager.setUniform(c,g),this},setTextures:function(c){c===void 0&&(c=[]),this.textures.length=0;for(var g=0;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(){};h.exports=d},54935:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25305),l=t(44603),i=t(23568),s=t(20071);l.register("shader",function(r,o){r===void 0&&(r={});var a=i(r,"config",null),u=i(r,"x",0),f=i(r,"y",0),v=i(r,"width",128),c=i(r,"height",128),g=new s(this.scene,a,u,f,v,c);return o!==void 0&&(r.add=o),e(this.scene,g,r),g})},74177:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(20071),l=t(39429);l.register("shader",function(i,s,r,o,a,u,f){return this.displayList.add(new e(this.scene,i,s,r,o,a,u,f))})},25479:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(19257),i=t(80464),h.exports={renderWebGL:l,renderCanvas:i}},19257:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){var s=l.camera;if(s.addToRenderList(e),e.renderToTexture){if(l=e.drawingContext,l.width!==e.width||l.height!==e.height){var r=e.width,o=e.height;l.resize(r,o),l.camera.setSize(r,o)}l.use()}e.renderNode.run(l,e,i),e.renderToTexture&&l.release()};h.exports=d},10441:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(70554),l=function(i,s,r,o,a,u,f){var v=e.getTintAppendFloatAlpha(o.fillColor,o.fillAlpha*a),c=o.pathData,g=o.pathIndexes,p=c.length,T,C,M,A,R,P=Array(p*2),L=Array(p),F=0,w=0;for(T=0;T{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){var s=l||e.fillColor,r=i||e.fillAlpha,o=(s&16711680)>>>16,a=(s&65280)>>>8,u=s&255;t.fillStyle="rgba("+o+","+a+","+u+","+r+")"};h.exports=d},75177:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){var s=l||e.strokeColor,r=i||e.strokeAlpha,o=(s&16711680)>>>16,a=(s&65280)>>>8,u=s&255;t.strokeStyle="rgba("+o+","+a+","+u+","+r+")",t.lineWidth=e.lineWidth};h.exports=d},17803:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87891),l=t(83419),i=t(31401),s=t(95643),r=t(23031),o=new l({Extends:s,Mixins:[i.AlphaSingle,i.BlendMode,i.Depth,i.GetBounds,i.Lighting,i.Mask,i.Origin,i.RenderNodes,i.ScrollFactor,i.Transform,i.Visible],initialize:function(u,f,v){f===void 0&&(f="Shape"),s.call(this,u,f),this.geom=v,this.pathData=[],this.pathIndexes=[],this.fillColor=16777215,this.fillAlpha=1,this.strokeColor=16777215,this.strokeAlpha=1,this.lineWidth=1,this.isFilled=!1,this.isStroked=!1,this.closePath=!0,this._tempLine=new r,this.width=0,this.height=0,this.enableFilters&&(this.filtersFocusContext=!0),this.initRenderNodes(this._defaultRenderNodesMap)},_defaultRenderNodesMap:{get:function(){return e}},setFillStyle:function(a,u){return u===void 0&&(u=1),a===void 0?this.isFilled=!1:(this.fillColor=a,this.fillAlpha=u,this.isFilled=!0),this},setStrokeStyle:function(a,u,f){return f===void 0&&(f=1),a===void 0?this.isStroked=!1:(this.lineWidth=a,this.strokeColor=u,this.strokeAlpha=f,this.isStroked=!0),this},setClosePath:function(a){return this.closePath=a,this},setSize:function(a,u){return this.width=a,this.height=u,this},setDisplaySize:function(a,u){return this.displayWidth=a,this.displayHeight=u,this},preDestroy:function(){this.geom=null,this._tempLine=null,this.pathData=[],this.pathIndexes=[]},displayWidth:{get:function(){return this.scaleX*this.width},set:function(a){this.scaleX=a/this.width}},displayHeight:{get:function(){return this.scaleY*this.height},set:function(a){this.scaleY=a/this.height}}});h.exports=o},34682:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(70554),l=function(i,s,r,o,a,u,f){var v=e.getTintAppendFloatAlpha(o.strokeColor,o.strokeAlpha*a),c=o.pathData,g=c.length-1,p=o.lineWidth,T=!o.closePath,C=o.customRenderNodes.StrokePath||o.defaultRenderNodes.StrokePath,M=[];T&&(g-=2);for(var A=0;A0&&R===c[A-2]&&P===c[A-1]||M.push({x:R,y:P,width:p})}C.run(i,s,M,p,T,r,v,v,v,v)};h.exports=l},23629:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(13609),l=t(83419),i=t(39506),s=t(94811),r=t(96503),o=t(36383),a=t(17803),u=new l({Extends:a,Mixins:[e],initialize:function(v,c,g,p,T,C,M,A,R){c===void 0&&(c=0),g===void 0&&(g=0),p===void 0&&(p=128),T===void 0&&(T=0),C===void 0&&(C=360),M===void 0&&(M=!1),a.call(this,v,"Arc",new r(0,0,p)),this._startAngle=T,this._endAngle=C,this._anticlockwise=M,this._iterations=.01,this.setPosition(c,g);var P=this.geom.radius*2;this.setSize(P,P),A!==void 0&&this.setFillStyle(A,R),this.updateDisplayOrigin(),this.updateData()},iterations:{get:function(){return this._iterations},set:function(f){this._iterations=f,this.updateData()}},radius:{get:function(){return this.geom.radius},set:function(f){this.geom.radius=f;var v=f*2;this.setSize(v,v),this.updateDisplayOrigin(),this.updateData()}},startAngle:{get:function(){return this._startAngle},set:function(f){this._startAngle=f,this.updateData()}},endAngle:{get:function(){return this._endAngle},set:function(f){this._endAngle=f,this.updateData()}},anticlockwise:{get:function(){return this._anticlockwise},set:function(f){this._anticlockwise=f,this.updateData()}},setRadius:function(f){return this.radius=f,this},setIterations:function(f){return f===void 0&&(f=.01),this.iterations=f,this},setStartAngle:function(f,v){return this._startAngle=f,v!==void 0&&(this._anticlockwise=v),this.updateData()},setEndAngle:function(f,v){return this._endAngle=f,v!==void 0&&(this._anticlockwise=v),this.updateData()},updateData:function(){var f=this._iterations,v=f,c=this.geom.radius,g=i(this._startAngle),p=i(this._endAngle),T=this._anticlockwise,C=c,M=c;p-=g,T?p<-o.TAU?p=-o.TAU:p>0&&(p=-o.TAU+p%o.TAU):p>o.TAU?p=o.TAU:p<0&&(p=o.TAU+p%o.TAU);for(var A=[C+Math.cos(g)*c,M+Math.sin(g)*c],R;v<1;)R=p*v+g,A.push(C+Math.cos(R)*c,M+Math.sin(R)*c),v+=f;return R=p+g,A.push(C+Math.cos(R)*c,M+Math.sin(R)*c),A.push(C+Math.cos(g)*c,M+Math.sin(g)*c),this.pathIndexes=s(A),this.pathData=A,this}});h.exports=u},42542:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(39506),l=t(65960),i=t(75177),s=t(20926),r=function(o,a,u,f){u.addToRenderList(a);var v=o.currentContext;if(s(o,v,a,u,f)){var c=a.radius;v.beginPath(),v.arc(c-a.originX*(c*2),c-a.originY*(c*2),c,e(a._startAngle),e(a._endAngle),a.anticlockwise),a.closePath&&v.closePath(),a.isFilled&&(l(v,a),v.fill()),a.isStroked&&(i(v,a),v.stroke()),v.restore()}};h.exports=r},42563:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(23629),l=t(39429);l.register("arc",function(i,s,r,o,a,u,f,v){return this.displayList.add(new e(this.scene,i,s,r,o,a,u,f,v))}),l.register("circle",function(i,s,r,o,a){return this.displayList.add(new e(this.scene,i,s,r,0,360,!1,o,a))})},13609:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(41447),i=t(42542),h.exports={renderWebGL:l,renderCanvas:i}},41447:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91296),l=t(10441),i=t(34682),s=function(r,o,a,u){var f=a.camera;f.addToRenderList(o);var v=e(o,f,u,!a.useCanvas).calc,c=o._displayOriginX,g=o._displayOriginY,p=o.alpha,T=o.customRenderNodes.Submitter||o.defaultRenderNodes.Submitter;o.isFilled&&l(a,T,v,o,p,c,g),o.isStroked&&i(a,T,v,o,p,c,g)};h.exports=s},89:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(33141),i=t(94811),s=t(87841),r=t(17803),o=new e({Extends:r,Mixins:[l],initialize:function(u,f,v,c,g,p){f===void 0&&(f=0),v===void 0&&(v=0),r.call(this,u,"Curve",c),this._smoothness=32,this._curveBounds=new s,this.closePath=!1,this.setPosition(f,v),g!==void 0&&this.setFillStyle(g,p),this.updateData()},smoothness:{get:function(){return this._smoothness},set:function(a){this._smoothness=a,this.updateData()}},setSmoothness:function(a){return this._smoothness=a,this.updateData()},updateData:function(){var a=this._curveBounds,u=this._smoothness;this.geom.getBounds(a,u),this.setSize(a.width,a.height),this.updateDisplayOrigin();for(var f=[],v=this.geom.getPoints(u),c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(65960),l=t(75177),i=t(20926),s=function(r,o,a,u){a.addToRenderList(o);var f=r.currentContext;if(i(r,f,o,a,u)){var v=o._displayOriginX+o._curveBounds.x,c=o._displayOriginY+o._curveBounds.y,g=o.pathData,p=g.length-1,T=g[0]-v,C=g[1]-c;f.beginPath(),f.moveTo(T,C),o.closePath||(p-=2);for(var M=2;M{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(39429),l=t(89);e.register("curve",function(i,s,r,o,a){return this.displayList.add(new l(this.scene,i,s,r,o,a))})},33141:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(53987),i=t(3170),h.exports={renderWebGL:l,renderCanvas:i}},53987:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(10441),l=t(91296),i=t(34682),s=function(r,o,a,u){var f=a.camera;f.addToRenderList(o);var v=l(o,f,u,!a.useCanvas).calc,c=o._displayOriginX+o._curveBounds.x,g=o._displayOriginY+o._curveBounds.y,p=o.alpha,T=o.customRenderNodes.Submitter||o.defaultRenderNodes.Submitter;o.isFilled&&e(a,T,v,o,p,c,g),o.isStroked&&i(a,T,v,o,p,c,g)};h.exports=s},19921:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(94811),i=t(54205),s=t(8497),r=t(17803),o=new e({Extends:r,Mixins:[i],initialize:function(u,f,v,c,g,p,T){f===void 0&&(f=0),v===void 0&&(v=0),c===void 0&&(c=128),g===void 0&&(g=128),r.call(this,u,"Ellipse",new s(c/2,g/2,c,g)),this._smoothness=64,this.setPosition(f,v),this.width=c,this.height=g,p!==void 0&&this.setFillStyle(p,T),this.updateDisplayOrigin(),this.updateData()},smoothness:{get:function(){return this._smoothness},set:function(a){this._smoothness=a,this.updateData()}},setSize:function(a,u){return this.width=a,this.height=u,this.geom.setPosition(a/2,u/2),this.geom.setSize(a,u),this.updateDisplayOrigin(),this.updateData()},setSmoothness:function(a){return this._smoothness=a,this.updateData()},updateData:function(){for(var a=[],u=this.geom.getPoints(this._smoothness),f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(65960),l=t(75177),i=t(20926),s=function(r,o,a,u){a.addToRenderList(o);var f=r.currentContext;if(i(r,f,o,a,u)){var v=o._displayOriginX,c=o._displayOriginY,g=o.pathData,p=g.length-1,T=g[0]-v,C=g[1]-c;f.beginPath(),f.moveTo(T,C),o.closePath||(p-=2);for(var M=2;M{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(19921),l=t(39429);l.register("ellipse",function(i,s,r,o,a,u){return this.displayList.add(new e(this.scene,i,s,r,o,a,u))})},54205:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(19467),i=t(7930),h.exports={renderWebGL:l,renderCanvas:i}},19467:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(10441),l=t(91296),i=t(34682),s=function(r,o,a,u){var f=a.camera;f.addToRenderList(o);var v=l(o,f,u,!a.useCanvas).calc,c=o._displayOriginX,g=o._displayOriginY,p=o.alpha,T=o.customRenderNodes.Submitter||o.defaultRenderNodes.Submitter;o.isFilled&&e(a,T,v,o,p,c,g),o.isStroked&&i(a,T,v,o,p,c,g)};h.exports=s},30479:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(17803),i=t(26015),s=new e({Extends:l,Mixins:[i],initialize:function(o,a,u,f,v,c,g,p,T,C,M){a===void 0&&(a=0),u===void 0&&(u=0),f===void 0&&(f=128),v===void 0&&(v=128),c===void 0&&(c=32),g===void 0&&(g=32),l.call(this,o,"Grid",null),this.cellWidth=c,this.cellHeight=g,this.showAltCells=!1,this.altFillColor,this.altFillAlpha,this.cellPadding=.5,this.strokeOutside=!1,this.strokeOutsideIncomplete=!0,this.setPosition(a,u),this.setSize(f,v),this.setFillStyle(p,T),C!==void 0&&this.setStrokeStyle(1,C,M),this.updateDisplayOrigin()},setAltFillStyle:function(r,o){return o===void 0&&(o=1),r===void 0?this.showAltCells=!1:(this.altFillColor=r,this.altFillAlpha=o,this.showAltCells=!0),this},setCellPadding:function(r){return this.cellPadding=r||0,this},setStrokeOutside:function(r,o){return this.strokeOutside=r,o!==void 0&&(this.strokeOutsideIncomplete=o),this}});h.exports=s},49912:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(65960),l=t(75177),i=t(20926),s=function(r,o,a,u){a.addToRenderList(o);var f=r.currentContext;if(i(r,f,o,a,u)){var v=-o._displayOriginX,c=-o._displayOriginY,g=a.alpha*o.alpha,p=o.width,T=o.height,C=o.cellWidth,M=o.cellHeight,A=Math.ceil(p/C),R=Math.ceil(T/M),P=C,L=M,F=C-(A*C-p),w=M-(R*M-T),O=o.isFilled,B=o.showAltCells,I=o.isStroked,D=o.cellPadding,N=o.lineWidth,z=N/2,V=0,U=0,G=0,b=0,Y=0;if(D&&(P-=D*2,L-=D*2,F-=D*2,w-=D*2),O&&o.fillAlpha>0)for(e(f,o),U=0;U0&&Y>0&&f.fillRect(v+V*C+D,c+U*M+D,b,Y)}if(B&&o.altFillAlpha>0)for(e(f,o,o.altFillColor,o.altFillAlpha*g),U=0;U0&&Y>0&&f.fillRect(v+V*C+D,c+U*M+D,b,Y)}if(I&&o.strokeAlpha>0){l(f,o,o.strokeColor,o.strokeAlpha*g);var W=o.strokeOutside?0:1;for(V=W;Vz&&(f.beginPath(),f.moveTo(p+v,c),f.lineTo(p+v,T+c),f.stroke()),T>z&&(f.beginPath(),f.moveTo(v,T+c),f.lineTo(p+v,T+c),f.stroke()))}f.restore()}};h.exports=s},34137:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(39429),l=t(30479);e.register("grid",function(i,s,r,o,a,u,f,v,c,g){return this.displayList.add(new l(this.scene,i,s,r,o,a,u,f,v,c,g))})},26015:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(46161),i=t(49912),h.exports={renderWebGL:l,renderCanvas:i}},46161:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91296),l=t(70554),i=function(s,r,o,a){var u=o.camera;u.addToRenderList(r);var f=r.customRenderNodes.FillRect||r.defaultRenderNodes.FillRect,v=r.customRenderNodes.Submitter||r.defaultRenderNodes.Submitter,c=e(r,u,a,!o.useCanvas).calc;c.translate(-r._displayOriginX,-r._displayOriginY);var g=r.alpha,p=r.width,T=r.height,C=r.cellWidth,M=r.cellHeight,A=Math.ceil(p/C),R=Math.ceil(T/M),P=C,L=M,F=C-(A*C-p),w=M-(R*M-T),O,B=r.isFilled,I=r.showAltCells,D=r.isStroked,N=r.cellPadding,z=r.lineWidth,V=z/2,U=0,G=0,b=0,Y=0,W=0;if(N&&(P-=N*2,L-=N*2,F-=N*2,w-=N*2),B&&r.fillAlpha>0)for(O=l.getTintAppendFloatAlpha(r.fillColor,r.fillAlpha*g),G=0;G0&&W>0&&f.run(o,c,v,U*C+N,G*M+N,Y,W,O,O,O,O)}if(I&&r.altFillAlpha>0)for(O=l.getTintAppendFloatAlpha(r.altFillColor,r.altFillAlpha*g),G=0;G0&&W>0&&f.run(o,c,v,U*C+N,G*M+N,Y,W,O,O,O,O)}if(D&&r.strokeAlpha>0){var H=l.getTintAppendFloatAlpha(r.strokeColor,r.strokeAlpha*g),X=r.strokeOutside?0:1;for(U=X;UV&&f.run(o,c,v,p-V,0,z,T,H,H,H,H),T>V&&f.run(o,c,v,0,T-V,p,z,H,H,H,H))}};h.exports=i},61475:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(99651),l=t(83419),i=t(17803),s=new l({Extends:i,Mixins:[e],initialize:function(o,a,u,f,v,c,g,p){a===void 0&&(a=0),u===void 0&&(u=0),f===void 0&&(f=48),v===void 0&&(v=32),c===void 0&&(c=15658734),g===void 0&&(g=10066329),p===void 0&&(p=13421772),i.call(this,o,"IsoBox",null),this.projection=4,this.fillTop=c,this.fillLeft=g,this.fillRight=p,this.showTop=!0,this.showLeft=!0,this.showRight=!0,this.isFilled=!0,this.setPosition(a,u),this.setSize(f,v),this.updateDisplayOrigin()},setProjection:function(r){return this.projection=r,this},setFaces:function(r,o,a){return r===void 0&&(r=!0),o===void 0&&(o=!0),a===void 0&&(a=!0),this.showTop=r,this.showLeft=o,this.showRight=a,this},setFillStyle:function(r,o,a){return this.fillTop=r,this.fillLeft=o,this.fillRight=a,this.isFilled=!0,this}});h.exports=s},11508:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(65960),l=t(20926),i=function(s,r,o,a){o.addToRenderList(r);var u=s.currentContext;if(l(s,u,r,o,a)&&r.isFilled){var f=r.width,v=r.height,c=f/2,g=f/r.projection;r.showTop&&(e(u,r,r.fillTop),u.beginPath(),u.moveTo(-c,-v),u.lineTo(0,-g-v),u.lineTo(c,-v),u.lineTo(c,-1),u.lineTo(0,g-1),u.lineTo(-c,-1),u.lineTo(-c,-v),u.fill()),r.showLeft&&(e(u,r,r.fillLeft),u.beginPath(),u.moveTo(-c,0),u.lineTo(0,g),u.lineTo(0,g-v),u.lineTo(-c,-v),u.lineTo(-c,0),u.fill()),r.showRight&&(e(u,r,r.fillRight),u.beginPath(),u.moveTo(c,0),u.lineTo(0,g),u.lineTo(0,g-v),u.lineTo(c,-v),u.lineTo(c,0),u.fill()),u.restore()}};h.exports=i},3933:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(39429),l=t(61475);e.register("isobox",function(i,s,r,o,a,u,f){return this.displayList.add(new l(this.scene,i,s,r,o,a,u,f))})},99651:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(68149),i=t(11508),h.exports={renderWebGL:l,renderCanvas:i}},68149:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91296),l=t(70554),i=function(s,r,o,a){if(r.isFilled){var u=o.camera;u.addToRenderList(r);var f=r.customRenderNodes.FillTri||r.defaultRenderNodes.FillTri,v=r.customRenderNodes.Submitter||r.defaultRenderNodes.Submitter,c=e(r,u,a,!o.useCanvas).calc,g=r.width,p=r.height,T=g/2,C=g/r.projection,M=r.alpha,A,R,P,L,F,w,O,B,I;r.showTop&&(A=l.getTintAppendFloatAlpha(r.fillTop,M),R=-T,P=-p,L=0,F=-C-p,w=T,O=-p,B=0,I=C-p,f.run(o,c,v,R,P,L,F,w,O,A,A,A),f.run(o,c,v,w,O,B,I,R,P,A,A,A)),r.showLeft&&(A=l.getTintAppendFloatAlpha(r.fillLeft,M),R=-T,P=0,L=0,F=C,w=0,O=C-p,B=-T,I=-p,f.run(o,c,v,R,P,L,F,w,O,A,A,A),f.run(o,c,v,w,O,B,I,R,P,A,A,A)),r.showRight&&(A=l.getTintAppendFloatAlpha(r.fillRight,M),R=T,P=0,L=0,F=C,w=0,O=C-p,B=T,I=-p,f.run(o,c,v,R,P,L,F,w,O,A,A,A),f.run(o,c,v,w,O,B,I,R,P,A,A,A))}};h.exports=i},16933:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(60561),i=t(17803),s=new e({Extends:i,Mixins:[l],initialize:function(o,a,u,f,v,c,g,p,T){a===void 0&&(a=0),u===void 0&&(u=0),f===void 0&&(f=48),v===void 0&&(v=32),c===void 0&&(c=!1),g===void 0&&(g=15658734),p===void 0&&(p=10066329),T===void 0&&(T=13421772),i.call(this,o,"IsoTriangle",null),this.projection=4,this.fillTop=g,this.fillLeft=p,this.fillRight=T,this.showTop=!0,this.showLeft=!0,this.showRight=!0,this.isReversed=c,this.isFilled=!0,this.setPosition(a,u),this.setSize(f,v),this.updateDisplayOrigin()},setProjection:function(r){return this.projection=r,this},setReversed:function(r){return this.isReversed=r,this},setFaces:function(r,o,a){return r===void 0&&(r=!0),o===void 0&&(o=!0),a===void 0&&(a=!0),this.showTop=r,this.showLeft=o,this.showRight=a,this},setFillStyle:function(r,o,a){return this.fillTop=r,this.fillLeft=o,this.fillRight=a,this.isFilled=!0,this}});h.exports=s},79590:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(65960),l=t(20926),i=function(s,r,o,a){o.addToRenderList(r);var u=s.currentContext;if(l(s,u,r,o,a)&&r.isFilled){var f=r.width,v=r.height,c=f/2,g=f/r.projection,p=r.isReversed;r.showTop&&p&&(e(u,r,r.fillTop),u.beginPath(),u.moveTo(-c,-v),u.lineTo(0,-g-v),u.lineTo(c,-v),u.lineTo(0,g-v),u.fill()),r.showLeft&&(e(u,r,r.fillLeft),u.beginPath(),p?(u.moveTo(-c,-v),u.lineTo(0,g),u.lineTo(0,g-v)):(u.moveTo(-c,0),u.lineTo(0,g),u.lineTo(0,g-v)),u.fill()),r.showRight&&(e(u,r,r.fillRight),u.beginPath(),p?(u.moveTo(c,-v),u.lineTo(0,g),u.lineTo(0,g-v)):(u.moveTo(c,0),u.lineTo(0,g),u.lineTo(0,g-v)),u.fill()),u.restore()}};h.exports=i},49803:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(39429),l=t(16933);e.register("isotriangle",function(i,s,r,o,a,u,f,v){return this.displayList.add(new l(this.scene,i,s,r,o,a,u,f,v))})},60561:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(51503),i=t(79590),h.exports={renderWebGL:l,renderCanvas:i}},51503:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91296),l=t(70554),i=function(s,r,o,a){if(r.isFilled){var u=o.camera;u.addToRenderList(r);var f=r.customRenderNodes.FillTri||r.defaultRenderNodes.FillTri,v=r.customRenderNodes.Submitter||r.defaultRenderNodes.Submitter,c=e(r,u,a,!o.useCanvas).calc,g=r.width,p=r.height,T=g/2,C=g/r.projection,M=r.isReversed,A=r.alpha,R,P,L,F,w,O,B;if(r.showTop&&M){R=l.getTintAppendFloatAlpha(r.fillTop,A),P=-T,L=-p,F=0,w=-C-p,O=T,B=-p;var I=0,D=C-p;f.run(o,c,v,P,L,F,w,O,B,R,R,R),f.run(o,c,v,O,B,I,D,P,L,R,R,R)}r.showLeft&&(R=l.getTintAppendFloatAlpha(r.fillLeft,A),M?(P=-T,L=-p,F=0,w=C,O=0,B=C-p):(P=-T,L=0,F=0,w=C,O=0,B=C-p),f.run(o,c,v,P,L,F,w,O,B,R,R,R)),r.showRight&&(R=l.getTintAppendFloatAlpha(r.fillRight,A),M?(P=T,L=-p,F=0,w=C,O=0,B=C-p):(P=T,L=0,F=0,w=C,O=0,B=C-p),f.run(o,c,v,P,L,F,w,O,B,R,R,R))}};h.exports=i},57847:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(17803),i=t(23031),s=t(36823),r=new e({Extends:l,Mixins:[s],initialize:function(a,u,f,v,c,g,p,T,C){u===void 0&&(u=0),f===void 0&&(f=0),v===void 0&&(v=0),c===void 0&&(c=0),g===void 0&&(g=128),p===void 0&&(p=0),l.call(this,a,"Line",new i(v,c,g,p));var M=Math.max(1,this.geom.right-this.geom.left),A=Math.max(1,this.geom.bottom-this.geom.top);this.lineWidth=1,this._startWidth=1,this._endWidth=1,this.setPosition(u,f),this.setSize(M,A),T!==void 0&&this.setStrokeStyle(1,T,C),this.updateDisplayOrigin()},setLineWidth:function(o,a){return a===void 0&&(a=o),this._startWidth=o,this._endWidth=a,this.lineWidth=o,this},setTo:function(o,a,u,f){return this.geom.setTo(o,a,u,f),this}});h.exports=r},17440:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(75177),l=t(20926),i=function(s,r,o,a){o.addToRenderList(r);var u=s.currentContext;if(l(s,u,r,o,a)){var f=r._displayOriginX,v=r._displayOriginY;r.isStroked&&(e(u,r),u.beginPath(),u.moveTo(r.geom.x1-f,r.geom.y1-v),u.lineTo(r.geom.x2-f,r.geom.y2-v),u.stroke()),u.restore()}};h.exports=i},2481:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(39429),l=t(57847);e.register("line",function(i,s,r,o,a,u,f,v){return this.displayList.add(new l(this.scene,i,s,r,o,a,u,f,v))})},36823:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(77385),i=t(17440),h.exports={renderWebGL:l,renderCanvas:i}},77385:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91296),l=t(70554),i=[{x:0,y:0,width:0},{x:0,y:0,width:0}],s=function(r,o,a,u){var f=a.camera;f.addToRenderList(o);var v=e(o,f,u,!a.useCanvas).calc,c=o._displayOriginX,g=o._displayOriginY,p=o.alpha;if(o.isStroked){var T=l.getTintAppendFloatAlpha(o.strokeColor,o.strokeAlpha*p);i[0].x=o.geom.x1-c,i[0].y=o.geom.y1-g,i[0].width=o._startWidth,i[1].x=o.geom.x2-c,i[1].y=o.geom.y2-g,i[1].width=o._endWidth,(o.customRenderNodes.StrokePath||o.defaultRenderNodes.StrokePath).run(a,o.customRenderNodes.Submitter||o.defaultRenderNodes.Submitter,i,1,!0,v,T,T,T,T)}};h.exports=s},24949:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(90273),l=t(83419),i=t(94811),s=t(13829),r=t(25717),o=t(17803),a=t(5469),u=new l({Extends:o,Mixins:[e],initialize:function(v,c,g,p,T,C){c===void 0&&(c=0),g===void 0&&(g=0),o.call(this,v,"Polygon",new r(p));var M=s(this.geom);this.setPosition(c,g),this.setSize(M.width,M.height),T!==void 0&&this.setFillStyle(T,C),this.updateDisplayOrigin(),this.updateData()},smooth:function(f){f===void 0&&(f=1);for(var v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(65960),l=t(75177),i=t(20926),s=function(r,o,a,u){a.addToRenderList(o);var f=r.currentContext;if(i(r,f,o,a,u)){var v=o._displayOriginX,c=o._displayOriginY,g=o.pathData,p=g.length-1,T=g[0]-v,C=g[1]-c;f.beginPath(),f.moveTo(T,C),o.closePath||(p-=2);for(var M=2;M{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(39429),l=t(24949);e.register("polygon",function(i,s,r,o,a){return this.displayList.add(new l(this.scene,i,s,r,o,a))})},90273:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(73695),i=t(38710),h.exports={renderWebGL:l,renderCanvas:i}},73695:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(10441),l=t(91296),i=t(34682),s=function(r,o,a,u){var f=a.camera;f.addToRenderList(o);var v=l(o,f,u,!a.useCanvas).calc,c=o._displayOriginX,g=o._displayOriginY,p=o.alpha,T=o.customRenderNodes.Submitter||o.defaultRenderNodes.Submitter;o.isFilled&&e(a,T,v,o,p,c,g),o.isStroked&&i(a,T,v,o,p,c,g)};h.exports=s},74561:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(94811),i=t(87841),s=t(17803),r=t(95597),o=new e({Extends:s,Mixins:[r],initialize:function(u,f,v,c,g,p,T){f===void 0&&(f=0),v===void 0&&(v=0),c===void 0&&(c=128),g===void 0&&(g=128),s.call(this,u,"Rectangle",new i(0,0,c,g)),this.radius=20,this.isRounded=!1,this.setPosition(f,v),this.setSize(c,g),p!==void 0&&this.setFillStyle(p,T),this.updateDisplayOrigin(),this.updateData()},setRounded:function(a){return a===void 0&&(a=16),this.radius=a,this.isRounded=a>0,this.updateRoundedData()},setSize:function(a,u){this.width=a,this.height=u,this.geom.setSize(a,u),this.updateData(),this.updateDisplayOrigin();var f=this.input;return f&&!f.customHitArea&&(f.hitArea.width=a,f.hitArea.height=u),this},updateData:function(){if(this.isRounded)return this.updateRoundedData();var a=[],u=this.geom,f=this._tempLine;return u.getLineA(f),a.push(f.x1,f.y1,f.x2,f.y2),u.getLineB(f),a.push(f.x2,f.y2),u.getLineC(f),a.push(f.x2,f.y2),u.getLineD(f),a.push(f.x2,f.y2),this.pathData=a,this},updateRoundedData:function(){var a=[],u=this.width/2,f=this.height/2,v=Math.min(u,f),c=Math.min(this.radius,v),g=u,p=f,T=Math.max(4,Math.min(16,Math.ceil(c/2)));return this.arcTo(a,g-u+c,p-f+c,c,Math.PI,Math.PI*1.5,T),a.push(g+u-c,p-f),this.arcTo(a,g+u-c,p-f+c,c,Math.PI*1.5,Math.PI*2,T),a.push(g+u,p+f-c),this.arcTo(a,g+u-c,p+f-c,c,0,Math.PI*.5,T),a.push(g-u+c,p+f),this.arcTo(a,g-u+c,p+f-c,c,Math.PI*.5,Math.PI,T),a.push(g-u,p-f+c),this.pathIndexes=l(a),this.pathData=a,this},arcTo:function(a,u,f,v,c,g,p){for(var T=(g-c)/p,C=0;C<=p;C++){var M=c+T*C;a.push(u+Math.cos(M)*v,f+Math.sin(M)*v)}}});h.exports=o},48682:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(65960),l=t(75177),i=t(20926),s=function(o,a,u,f,v,c){var g=Math.min(f/2,v/2),p=Math.min(c,g);if(p===0){o.rect(a,u,f,v);return}o.moveTo(a+p,u),o.lineTo(a+f-p,u),o.arcTo(a+f,u,a+f,u+p,p),o.lineTo(a+f,u+v-p),o.arcTo(a+f,u+v,a+f-p,u+v,p),o.lineTo(a+p,u+v),o.arcTo(a,u+v,a,u+v-p,p),o.lineTo(a,u+p),o.arcTo(a,u,a+p,u,p),o.closePath()},r=function(o,a,u,f){u.addToRenderList(a);var v=o.currentContext;if(i(o,v,a,u,f)){var c=a._displayOriginX,g=a._displayOriginY;a.isFilled&&(e(v,a),a.isRounded?(v.beginPath(),s(v,-c,-g,a.width,a.height,a.radius),v.fill()):v.fillRect(-c,-g,a.width,a.height)),a.isStroked&&(l(v,a),v.beginPath(),a.isRounded?s(v,-c,-g,a.width,a.height,a.radius):v.rect(-c,-g,a.width,a.height),v.stroke()),v.restore()}};h.exports=r},87959:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(39429),l=t(74561);e.register("rectangle",function(i,s,r,o,a,u){return this.displayList.add(new l(this.scene,i,s,r,o,a,u))})},95597:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(52059),i=t(48682),h.exports={renderWebGL:l,renderCanvas:i}},52059:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(10441),l=t(91296),i=t(34682),s=t(70554),r=function(o,a,u,f){var v=u.camera;v.addToRenderList(a);var c=l(a,v,f,!u.useCanvas).calc,g=a._displayOriginX,p=a._displayOriginY,T=a.alpha,C=a.customRenderNodes,M=a.defaultRenderNodes,A=C.Submitter||M.Submitter;if(a.isFilled)if(a.isRounded)e(u,A,c,a,T,g,p);else{var R=s.getTintAppendFloatAlpha(a.fillColor,a.fillAlpha*T);(C.FillRect||M.FillRect).run(u,c,A,-g,-p,a.width,a.height,R,R,R,R)}a.isStroked&&i(u,A,c,a,T,g,p)};h.exports=r},55911:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(81991),l=t(83419),i=t(94811),s=t(17803),r=new l({Extends:s,Mixins:[e],initialize:function(a,u,f,v,c,g,p,T){u===void 0&&(u=0),f===void 0&&(f=0),v===void 0&&(v=5),c===void 0&&(c=32),g===void 0&&(g=64),s.call(this,a,"Star",null),this._points=v,this._innerRadius=c,this._outerRadius=g,this.setPosition(u,f),this.setSize(g*2,g*2),p!==void 0&&this.setFillStyle(p,T),this.updateDisplayOrigin(),this.updateData()},setPoints:function(o){return this._points=o,this.updateData()},setInnerRadius:function(o){return this._innerRadius=o,this.updateData()},setOuterRadius:function(o){return this._outerRadius=o,this.updateData()},points:{get:function(){return this._points},set:function(o){this._points=o,this.updateData()}},innerRadius:{get:function(){return this._innerRadius},set:function(o){this._innerRadius=o,this.updateData()}},outerRadius:{get:function(){return this._outerRadius},set:function(o){this._outerRadius=o,this.updateData()}},updateData:function(){var o=[],a=this._points,u=this._innerRadius,f=this._outerRadius,v=Math.PI/2*3,c=Math.PI/a,g=f,p=f;o.push(g,p+-f);for(var T=0;T{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(65960),l=t(75177),i=t(20926),s=function(r,o,a,u){a.addToRenderList(o);var f=r.currentContext;if(i(r,f,o,a,u)){var v=o._displayOriginX,c=o._displayOriginY,g=o.pathData,p=g.length-1,T=g[0]-v,C=g[1]-c;f.beginPath(),f.moveTo(T,C),o.closePath||(p-=2);for(var M=2;M{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(55911),l=t(39429);l.register("star",function(i,s,r,o,a,u,f){return this.displayList.add(new e(this.scene,i,s,r,o,a,u,f))})},81991:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(57017),i=t(64272),h.exports={renderWebGL:l,renderCanvas:i}},57017:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(10441),l=t(91296),i=t(34682),s=function(r,o,a,u){var f=a.camera;f.addToRenderList(o);var v=l(o,f,u,!a.useCanvas).calc,c=o._displayOriginX,g=o._displayOriginY,p=o.alpha,T=o.customRenderNodes.Submitter||o.defaultRenderNodes.Submitter;o.isFilled&&e(a,T,v,o,p,c,g),o.isStroked&&i(a,T,v,o,p,c,g)};h.exports=s},36931:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(17803),i=t(16483),s=t(96195),r=new e({Extends:l,Mixins:[s],initialize:function(a,u,f,v,c,g,p,T,C,M,A){u===void 0&&(u=0),f===void 0&&(f=0),v===void 0&&(v=0),c===void 0&&(c=128),g===void 0&&(g=64),p===void 0&&(p=0),T===void 0&&(T=128),C===void 0&&(C=128),l.call(this,a,"Triangle",new i(v,c,g,p,T,C));var R=this.geom.right-this.geom.left,P=this.geom.bottom-this.geom.top;this.setPosition(u,f),this.setSize(R,P),M!==void 0&&this.setFillStyle(M,A),this.updateDisplayOrigin(),this.updateData()},setTo:function(o,a,u,f,v,c){return this.geom.setTo(o,a,u,f,v,c),this.updateData()},updateData:function(){var o=[],a=this.geom,u=this._tempLine;return a.getLineA(u),o.push(u.x1,u.y1,u.x2,u.y2),a.getLineB(u),o.push(u.x2,u.y2),a.getLineC(u),o.push(u.x2,u.y2),this.pathData=o,this}});h.exports=r},85172:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(65960),l=t(75177),i=t(20926),s=function(r,o,a,u){a.addToRenderList(o);var f=r.currentContext;if(i(r,f,o,a,u)){var v=o._displayOriginX,c=o._displayOriginY,g=o.geom.x1-v,p=o.geom.y1-c,T=o.geom.x2-v,C=o.geom.y2-c,M=o.geom.x3-v,A=o.geom.y3-c;f.beginPath(),f.moveTo(g,p),f.lineTo(T,C),f.lineTo(M,A),f.closePath(),o.isFilled&&(e(f,o),f.fill()),o.isStroked&&(l(f,o),f.stroke()),f.restore()}};h.exports=s},45245:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(39429),l=t(36931);e.register("triangle",function(i,s,r,o,a,u,f,v,c,g){return this.displayList.add(new l(this.scene,i,s,r,o,a,u,f,v,c,g))})},96195:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(83253),i=t(85172),h.exports={renderWebGL:l,renderCanvas:i}},83253:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91296),l=t(34682),i=t(70554),s=function(r,o,a,u){var f=a.camera;f.addToRenderList(o);var v=e(o,f,u,!a.useCanvas).calc,c=o._displayOriginX,g=o._displayOriginY,p=o.alpha,T=o.customRenderNodes,C=o.defaultRenderNodes,M=T.Submitter||C.Submitter;if(o.isFilled){var A=i.getTintAppendFloatAlpha(o.fillColor,o.fillAlpha*p),R=o.geom.x1-c,P=o.geom.y1-g,L=o.geom.x2-c,F=o.geom.y2-g,w=o.geom.x3-c,O=o.geom.y3-g;(T.FillTri||C.FillTri).run(a,v,M,R,P,L,F,w,O,A,A,A)}o.isStroked&&l(a,M,v,o,p,c,g)};h.exports=s},68287:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(9674),l=t(40939),i=t(83419),s=t(31401),r=t(95643),o=t(92751),a=new i({Extends:r,Mixins:[s.Alpha,s.BlendMode,s.Depth,s.Flip,s.GetBounds,s.Lighting,s.Mask,s.Origin,s.RenderNodes,s.ScrollFactor,s.Size,s.TextureCrop,s.Tint,s.Transform,s.Visible,o],initialize:function(f,v,c,g,p){r.call(this,f,"Sprite"),this._crop=this.resetCropObject(),this.anims=new e(this),this.setTexture(g,p),this.setPosition(v,c),this.setSizeToFrame(),this.setOriginFromFrame(),this.initRenderNodes(this._defaultRenderNodesMap)},_defaultRenderNodesMap:{get:function(){return l}},addedToScene:function(){this.scene.sys.updateList.add(this)},removedFromScene:function(){this.scene.sys.updateList.remove(this)},preUpdate:function(u,f){this.anims.update(u,f)},play:function(u,f){return this.anims.play(u,f)},playReverse:function(u,f){return this.anims.playReverse(u,f)},playAfterDelay:function(u,f){return this.anims.playAfterDelay(u,f)},playAfterRepeat:function(u,f){return this.anims.playAfterRepeat(u,f)},chain:function(u){return this.anims.chain(u)},stop:function(){return this.anims.stop()},stopAfterDelay:function(u){return this.anims.stopAfterDelay(u)},stopAfterRepeat:function(u){return this.anims.stopAfterRepeat(u)},stopOnFrame:function(u){return this.anims.stopOnFrame(u)},toJSON:function(){return s.ToJSON(this)},preDestroy:function(){this.anims.destroy(),this.anims=void 0}});h.exports=a},76552:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){l.addToRenderList(e),t.batchSprite(e,e.frame,l,i)};h.exports=d},15567:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25305),l=t(13059),i=t(44603),s=t(23568),r=t(68287);i.register("sprite",function(o,a){o===void 0&&(o={});var u=s(o,"key",null),f=s(o,"frame",null),v=new r(this.scene,0,0,u,f);return a!==void 0&&(o.add=a),e(this.scene,v,o),l(v,o),v})},46409:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(39429),l=t(68287);e.register("sprite",function(i,s,r,o){return this.displayList.add(new l(this.scene,i,s,r,o))})},92751:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(9409),i=t(76552),h.exports={renderWebGL:l,renderCanvas:i}},9409:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){l.camera.addToRenderList(e);var s=e.customRenderNodes,r=e.defaultRenderNodes;(s.Submitter||r.Submitter).run(l,e,i,0,s.Texturer||r.Texturer,s.Transformer||r.Transformer)};h.exports=d},18207:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={None:0,Power0:1,Power1:10,Power2:20,Power3:30,Power4:40,Linear:1,Gravity:2,Quad:10,"Quad.easeOut":10,"Quad.easeIn":11,"Quad.easeInOut":12,Cubic:20,"Cubic.easeOut":20,"Cubic.easeIn":21,"Cubic.easeInOut":22,Quart:30,"Quart.easeOut":30,"Quart.easeIn":31,"Quart.easeInOut":32,Quint:40,"Quint.easeOut":40,"Quint.easeIn":41,"Quint.easeInOut":42,Sine:50,"Sine.easeOut":50,"Sine.easeIn":51,"Sine.easeInOut":52,Expo:60,"Expo.easeOut":60,"Expo.easeIn":61,"Expo.easeInOut":62,Circ:70,"Circ.easeOut":70,"Circ.easeIn":71,"Circ.easeInOut":72,Back:90,"Back.easeOut":90,"Back.easeIn":91,"Back.easeInOut":92,Bounce:100,"Bounce.easeOut":100,"Bounce.easeIn":101,"Bounce.easeInOut":102,Stepped:110,Smoothstep:120,"Smoothstep.easeOut":120,"Smoothstep.easeIn":121,"Smoothstep.easeInOut":122};h.exports=d},68218:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */for(var e=t(18207),l={},i=Object.keys(e),s=i.length,r=0;r{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(31401),i=t(95643),s=t(53384),r=t(70554),o=t(18207),a=t(68218),u=t(71238),f=r.getTintAppendFloatAlpha,v=new e({Extends:i,Mixins:[l.Alpha,l.BlendMode,l.Depth,l.ElapseTimer,l.Lighting,l.Mask,l.RenderNodes,l.TextureCrop,l.Visible,u],initialize:function(g,p,T){i.call(this,g,"SpriteGPULayer"),this.memberCount=0,this.size=Math.max(T,0),this._segments=24,this.MAX_BUFFER_UPDATE_SEGMENTS_FULL=16777215,this.bufferUpdateSegments=0,this.bufferUpdateSegmentSize=Math.ceil(this.size/this._segments),this.gravity=1024,this._animationsEnabled={};for(var C=Object.keys(o),M=C.length,A=0;A=this.size||this.bufferUpdateSegments===this.MAX_BUFFER_UPDATE_SEGMENTS_FULL)){var g=Math.floor(c/this.bufferUpdateSegmentSize);this.bufferUpdateSegments|=1<=this.size)return this;var g=this.submitterNode.instanceBufferLayout,p=g.buffer.viewF32,T=this.memberCount*g.layout.stride;return p.set(c,T/p.BYTES_PER_ELEMENT),this.setSegmentNeedsUpdate(this.memberCount),this.memberCount++,this},addMember:function(c){if(this.memberCount>=this.size)return this;var g=this.nextMemberF32,p=this.nextMemberU32;c||(c={});var T=this.frame;if(c.frame!==void 0&&(T=c.frame.base?c.frame.base:c.frame),typeof T=="string"&&(T=this.texture.get(T),!T))return this;var C=0;this._setAnimatedValue(c.x,C),C+=4,this._setAnimatedValue(c.y,C),C+=4,this._setAnimatedValue(c.rotation,C),C+=4,this._setAnimatedValue(c.scaleX,C,1),C+=4,this._setAnimatedValue(c.scaleY,C,1),C+=4,this._setAnimatedValue(c.alpha,C,1),C+=4;var M=c.animation;if(M){var A;if(typeof M=="string"||typeof M=="number")typeof M=="string"?A=this.animationDataNames[M]:A=this.animationDataIndices[M],this._setAnimatedValue({base:A.index,amplitude:A.frameCount,duration:A.duration,ease:o.Linear,yoyo:!1},C);else{var R=M.base;typeof R=="string"?A=this.animationDataNames[R]:typeof R=="number"?A=this.animationDataIndices[R]:A=this.animationData[0],this._setAnimatedValue({base:A.index,amplitude:typeof M.amplitude=="number"?M.amplitude:A.frameCount,duration:M.duration||A.duration,delay:M.delay||0,ease:M.ease||o.Linear,yoyo:!!M.yoyo},C)}}else{var P=this.frameDataIndices[T.name],L=c.frame;L&&L.base!==void 0?this._setAnimatedValue({base:P,amplitude:L.amplitude,duration:L.duration,delay:L.delay,ease:L.ease,yoyo:L.yoyo},C):this._setAnimatedValue(P,C)}C+=4,this._setAnimatedValue(c.tintBlend,C,1),C+=4;var F=c.tintBottomLeft===void 0?16777215:c.tintBottomLeft,w=c.tintTopLeft===void 0?16777215:c.tintTopLeft,O=c.tintBottomRight===void 0?16777215:c.tintBottomRight,B=c.tintTopRight===void 0?16777215:c.tintTopRight,I=c.alphaBottomLeft===void 0?1:c.alphaBottomLeft,D=c.alphaTopLeft===void 0?1:c.alphaTopLeft,N=c.alphaBottomRight===void 0?1:c.alphaBottomRight,z=c.alphaTopRight===void 0?1:c.alphaTopRight;return p[C++]=f(F,I),p[C++]=f(w,D),p[C++]=f(O,N),p[C++]=f(B,z),g[C++]=c.originX===void 0?.5:c.originX,g[C++]=c.originY===void 0?.5:c.originY,g[C++]=c.tintFill?1:0,g[C++]=c.creationTime||this.timeElapsed,g[C++]=c.scrollFactorX===void 0?1:c.scrollFactorX,g[C++]=c.scrollFactorY===void 0?1:c.scrollFactorY,this.addData(this.nextMemberF32),this},editMember:function(c,g){if(c<0||c>=this.memberCount)return this;var p=this.memberCount;return this.memberCount=c,this.addMember(g),this.memberCount=p,this},patchMember:function(c,g,p){if(!(c<0||c>=this.memberCount)){var T=this.submitterNode.instanceBufferLayout,C=T.buffer,M=T.layout.stride,A=c*M,R=C.viewU32,P=A/4;if(p)for(var L=0;L=this.memberCount)return null;var g=this.submitterNode.instanceBufferLayout,p=g.buffer,T=g.layout.stride,C=c*T,M=p.viewF32,A=p.viewU32,R={},P=C/M.BYTES_PER_ELEMENT;R.x=this._getAnimatedValue(P),P+=4,R.y=this._getAnimatedValue(P),P+=4,R.rotation=this._getAnimatedValue(P),P+=4,R.scaleX=this._getAnimatedValue(P),P+=4,R.scaleY=this._getAnimatedValue(P),P+=4,R.alpha=this._getAnimatedValue(P),P+=4;var L=this._getAnimatedValue(P);P+=4,typeof L!="number"&&(L=L.base);var F=this.frameDataIndicesInv[L];if(F===void 0){var w=this.animationDataIndices[L];w&&(R.animation=w.name)}else R.frame=F;return R.tintBlend=this._getAnimatedValue(P),P+=4,R.tintBottomLeft=A[P++],R.tintTopLeft=A[P++],R.tintBottomRight=A[P++],R.tintTopRight=A[P++],R.alphaBottomLeft=(R.tintBottomLeft>>>24)/255,R.alphaTopLeft=(R.tintTopLeft>>>24)/255,R.alphaBottomRight=(R.tintBottomRight>>>24)/255,R.alphaTopRight=(R.tintTopRight>>>24)/255,R.tintBottomLeft&=16777215,R.tintTopLeft&=16777215,R.tintBottomRight&=16777215,R.tintTopRight&=16777215,R.originX=M[P++],R.originY=M[P++],R.tintFill=!!M[P++],R.creationTime=M[P++],R.scrollFactorX=M[P++],R.scrollFactorY=M[P++],R},getMemberData:function(c,g){if(c<0||c>=this.memberCount)return null;var p=this.submitterNode.instanceBufferLayout,T=p.buffer,C=p.layout.stride,M=c*C;g||(g=this.nextMemberU32);var A=T.viewU32,R=A.BYTES_PER_ELEMENT;return g.set(A.subarray(M/R,M/R+C/R)),g},removeMembers:function(c,g){if(c<0||c>=this.memberCount)return this;g===void 0&&(g=1),g=Math.min(g,this.memberCount-c);var p=this.submitterNode.instanceBufferLayout,T=p.layout.stride,C=c*T,M=g*T,A=p.buffer.viewU8;A.set(A.subarray(C+M),C);for(var R=c;Rthis.memberCount)return this;Array.isArray(g)||(g=[g]);var p=this.memberCount,T=this.submitterNode.instanceBufferLayout,C=T.layout.stride,M=c*C,A=g.length*C;T.buffer.viewU8.copyWithin(M+A,M,p*C),this.memberCount=c;for(var R=0;Rthis.memberCount)return this;var p=g.length*g.BYTES_PER_ELEMENT,T=this.submitterNode.instanceBufferLayout,C=T.layout.stride,M=c*C;T.buffer.viewU8.copyWithin(M+p,M,this.memberCount*C),T.buffer.viewU32.set(g,M/g.BYTES_PER_ELEMENT),this.memberCount=Math.min(this.size,this.memberCount+p/C);for(var A=c;A=1?B=0:B<-1&&(B=-.999),B=(B+1)/2,A=Math.floor(O)+B}R>0?P=P/R%2:P=0,P<0&&(P+=2),P/=2,P+=M,L&&(R=-R),F||(P=-P),T[g++]=C,T[g++]=A,T[g++]=R,T[g]=P}},_getAnimatedValue:function(c){var g=this.submitterNode.instanceBufferLayout.buffer.viewF32,p=g[c++],T=g[c++],C=g[c++],M=g[c];if(T===0||C===0||P===0)return p;var A=M>0;A||(M=-M);var R=C<0;R&&(C=-C);var P=Math.floor(M);if(M-=P,M=M*C*2%C,P===o.Gravity){var L=Math.floor(T),F=(T-L)*2-1;return F===0&&(F=1),{base:p,ease:P,duration:C,delay:M,yoyo:R,velocity:L,gravityFactor:F}}return{base:p,ease:P,amplitude:T,duration:C,delay:M,yoyo:R}},setAnimationEnabled:function(c,g){return this._animationsEnabled[c]=!!g,this},preDestroy:function(){this.frameDataTexture.destroy()}});h.exports=v},16193:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(10312),l=t(44603),i=t(23568),s=t(76573);l.register("spriteGPULayer",function(r,o){r===void 0&&(r={});var a=i(r,"key",null),u=i(r,"size",1),f=new s(this.scene,a,u);return o!==void 0&&(r.add=o),f.alpha=i(r,"alpha",1),f.blendMode=i(r,"blendMode",e.NORMAL),f.visible=i(r,"visible",!0),o&&this.scene.sys.displayList.add(f),f})},96019:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(76573),l=t(39429);l.register("spriteGPULayer",function(i,s){return this.displayList.add(new e(this.scene,i,s))})},71238:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=t(97591),i=e;h.exports={renderWebGL:l,renderCanvas:i}},97591:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){l.camera.addToRenderList(e);var s=e.customRenderNodes,r=e.defaultRenderNodes;(s.Submitter||r.Submitter).run(l)};h.exports=d},14727:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(78705),l=t(83419),i=t(88571),s=t(74759),r=new l({Extends:i,Mixins:[s],initialize:function(a,u,f,v,c){i.call(this,a,u,f,v,c),this.type="Stamp"},_defaultRenderNodesMap:{get:function(){return e}}});h.exports=r},656:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(61340),l=new e,i=function(s,r,o){o.addToRenderList(r),l.copyFrom(o.matrix),o.matrix.loadIdentity();var a=o.scrollX,u=o.scrollY;o.scrollX=0,o.scrollY=0,s.batchSprite(r,r.frame,o),o.scrollX=a,o.scrollY=u,o.matrix.copyFrom(l)};h.exports=i},31479:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25305),l=t(44603),i=t(23568),s=t(14727);l.register("stamp",function(r,o){r===void 0&&(r={});var a=i(r,"key",null),u=i(r,"frame",null),f=new s(this.scene,0,0,a,u);return o!==void 0&&(r.add=o),e(this.scene,f,r),f})},85326:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(14727),l=t(39429);l.register("stamp",function(i,s,r,o){return this.displayList.add(new e(this.scene,i,s,r,o))})},74759:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e;l=t(656),h.exports={renderCanvas:l}},14220:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){var i=t.canvas,s=t.context,r=t.style,o=[],a=0,u=l.length;r.maxLines>0&&r.maxLines1&&(c+=f*(g.length-1))}r.wordWrap&&(c-=s.measureText(" ").width),o[v]=Math.ceil(c),a=Math.max(a,o[v])}var T=e.fontSize+r.strokeThickness,C=T*u,M=t.lineSpacing;return u>1&&(C+=M*(u-1)),{width:a,height:C,lines:u,lineWidths:o,lineSpacing:M,lineHeight:T}};h.exports=d},79557:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(27919),l=function(i){var s=e.create(this),r=s.getContext("2d",{willReadFrequently:!0});i.syncFont(s,r);var o=r.measureText(i.testString);if("actualBoundingBoxAscent"in o){var a=o.actualBoundingBoxAscent,u=o.actualBoundingBoxDescent;return e.remove(s),{ascent:a,descent:u,fontSize:a+u}}var f=Math.ceil(o.width*i.baselineX),v=f,c=2*v;v=v*i.baselineY|0,s.width=f,s.height=c,r.fillStyle="#f00",r.fillRect(0,0,f,c),r.font=i._font,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(i.testString,0,v);var g={ascent:0,descent:0,fontSize:0},p=r.getImageData(0,0,f,c);if(!p)return g.ascent=v,g.descent=v+6,g.fontSize=g.ascent+g.descent,e.remove(s),g;var T=p.data,C=T.length,M=f*4,A,R,P=0,L=!1;for(A=0;Av;A--){for(R=0;R{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(40366),l=t(27919),i=t(40939),s=t(83419),r=t(31401),o=t(95643),a=t(14220),u=t(35154),f=t(35846),v=t(61771),c=t(35762),g=t(45650),p=new s({Extends:o,Mixins:[r.Alpha,r.BlendMode,r.ComputedSize,r.Crop,r.Depth,r.Flip,r.GetBounds,r.Lighting,r.Mask,r.Origin,r.RenderNodes,r.ScrollFactor,r.Tint,r.Transform,r.Visible,v],initialize:function(C,M,A,R,P){M===void 0&&(M=0),A===void 0&&(A=0),o.call(this,C,"Text"),this.renderer=C.sys.renderer,this.setPosition(M,A),this.setOrigin(0,0),this.initRenderNodes(this._defaultRenderNodesMap),this.canvas=l.create(this),this.context,this.style=new c(this,P),this.autoRound=!0,this.splitRegExp=/(?:\r\n|\r|\n)/,this._text=void 0,this.padding={left:0,right:0,top:0,bottom:0},this.width=1,this.height=1,this.lineSpacing=0,this.letterSpacing=0,this.style.resolution===0&&(this.style.resolution=1),this._crop=this.resetCropObject(),this._textureKey=g(),this.texture=C.sys.textures.addCanvas(this._textureKey,this.canvas),this.context=this.texture.context,this.frame=this.texture.get(),this.frame.source.resolution=this.style.resolution,this.renderer&&this.renderer.gl&&(this.renderer.deleteTexture(this.frame.source.glTexture),this.frame.source.glTexture=null),this.initRTL(),this.setText(R),P&&P.padding&&this.setPadding(P.padding),P&&P.lineSpacing&&this.setLineSpacing(P.lineSpacing),P&&P.letterSpacing&&this.setLetterSpacing(P.letterSpacing)},_defaultRenderNodesMap:{get:function(){return i}},initRTL:function(){if(!this.style.rtl){this.canvas.dir="ltr",this.context.direction="ltr";return}this.canvas.dir="rtl",this.context.direction="rtl",this.canvas.style.display="none",e(this.canvas,this.scene.sys.canvas),this.originX=1},runWordWrap:function(T){var C=this.style;if(C.wordWrapCallback){var M=C.wordWrapCallback.call(C.wordWrapCallbackScope,T,this);return Array.isArray(M)&&(M=M.join(` +`)),M}else return C.wordWrapWidth?C.wordWrapUseAdvanced?this.advancedWordWrap(T,this.context,this.style.wordWrapWidth):this.basicWordWrap(T,this.context,this.style.wordWrapWidth):T},advancedWordWrap:function(T,C,M){for(var A="",R=T.replace(/ +/gi," ").split(this.splitRegExp),P=R.length,L=0;LI){if(N===0){for(var b=V;b.length;){b=b.slice(0,-1);var Y=b.length*this.letterSpacing;if(G=C.measureText(b).width+Y,G<=I)break}if(!b.length)throw new Error("wordWrapWidth < a single character");var W=z.substr(b.length);D[N]=W,w+=b}var H=D[N].length?N:N+1,X=D.slice(H).join(" ").replace(/[ \n]*$/gi,"");R.splice(L+1,0,X),P=R.length;break}else w+=V,I-=G}A+=w.replace(/[ \n]*$/gi,"")+` +`}return A=A.replace(/[\s|\n]*$/gi,""),A},basicWordWrap:function(T,C,M){for(var A="",R=T.split(this.splitRegExp),P=R.length-1,L=C.measureText(" ").width,F=0;F<=P;F++){for(var w=M,O=R[F].split(" "),B=O.length-1,I=0;I<=B;I++){var D=O[I],N=D.length*this.letterSpacing,z=C.measureText(D).width+N,V=z;Iw&&I>0&&(A+=` +`,w=M),A+=D,I0&&(N+=F.lineSpacing*z),M.rtl)D=B-D-w.left-w.right;else if(M.align==="right")D+=O-F.lineWidths[z];else if(M.align==="center")D+=(O-F.lineWidths[z])/2;else if(M.align==="justify"){var V=.85;if(F.lineWidths[z]/F.width>=V){var U=F.width-F.lineWidths[z],G=C.measureText(" ").width,b=L[z].trim(),Y=b.split(" ");U+=(L[z].length-b.length)*G;for(var W=Math.floor(U/G),H=0;W>0;)Y[H]+=" ",H=(H+1)%(Y.length-1||1),--W;L[z]=Y.join(" ")}}this.autoRound&&(D=Math.round(D),N=Math.round(N));var X=this.letterSpacing;if(M.strokeThickness&&X===0&&(M.syncShadow(C,M.shadowStroke),C.strokeText(L[z],D,N)),M.color)if(M.syncShadow(C,M.shadowFill),X!==0)for(var K=0,Z=L[z].split(""),Q=0;Q{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){e.width===0||e.height===0||(l.addToRenderList(e),t.batchSprite(e,e.frame,l,i))};h.exports=d},71259:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25305),l=t(44603),i=t(23568),s=t(50171);l.register("text",function(r,o){r===void 0&&(r={});var a=i(r,"text",""),u=i(r,"style",null),f=i(r,"padding",null);f!==null&&(u.padding=f);var v=new s(this.scene,0,0,a,u);return o!==void 0&&(r.add=o),e(this.scene,v,r),v.autoRound=i(r,"autoRound",!0),v.resolution=i(r,"resolution",1),v})},68005:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(50171),l=t(39429);l.register("text",function(i,s,r,o){return this.displayList.add(new e(this.scene,i,s,r,o))})},61771:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(34397),i=t(79724),h.exports={renderWebGL:l,renderCanvas:i}},35762:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23568),i=t(35154),s=t(79557),r={fontFamily:["fontFamily","Courier"],fontSize:["fontSize","16px"],fontStyle:["fontStyle",""],backgroundColor:["backgroundColor",null],color:["color","#fff"],stroke:["stroke","#fff"],strokeThickness:["strokeThickness",0],shadowOffsetX:["shadow.offsetX",0],shadowOffsetY:["shadow.offsetY",0],shadowColor:["shadow.color","#000"],shadowBlur:["shadow.blur",0],shadowStroke:["shadow.stroke",!1],shadowFill:["shadow.fill",!1],align:["align","left"],maxLines:["maxLines",0],fixedWidth:["fixedWidth",0],fixedHeight:["fixedHeight",0],resolution:["resolution",0],rtl:["rtl",!1],testString:["testString","|MÉqgy"],baselineX:["baselineX",1.2],baselineY:["baselineY",1.4],wordWrapWidth:["wordWrap.width",null],wordWrapCallback:["wordWrap.callback",null],wordWrapCallbackScope:["wordWrap.callbackScope",null],wordWrapUseAdvanced:["wordWrap.useAdvancedWrap",!1]},o=new e({initialize:function(u,f){this.parent=u,this.fontFamily,this.fontSize,this.fontStyle,this.backgroundColor,this.color,this.stroke,this.strokeThickness,this.shadowOffsetX,this.shadowOffsetY,this.shadowColor,this.shadowBlur,this.shadowStroke,this.shadowFill,this.align,this.maxLines,this.fixedWidth,this.fixedHeight,this.resolution,this.rtl,this.testString,this.baselineX,this.baselineY,this.wordWrapWidth,this.wordWrapCallback,this.wordWrapCallbackScope,this.wordWrapUseAdvanced,this._font,this.setStyle(f,!1,!0)},setStyle:function(a,u,f){u===void 0&&(u=!0),f===void 0&&(f=!1);for(var v in r){var c=f?r[v][1]:this[v];v==="wordWrapCallback"||v==="wordWrapCallbackScope"?this[v]=i(a,r[v][0],c):a&&v==="fontSize"&&typeof a.fontSize=="number"?this[v]=a.fontSize.toString()+"px":this[v]=l(a,r[v][0],c)}var g=i(a,"font",null);g!==null&&this.setFont(g,!1),this._font=[this.fontStyle,this.fontSize,this.fontFamily].join(" ").trim();var p=i(a,"fill",null);p!==null&&(this.color=p);var T=i(a,"metrics",!1);return T?this.metrics={ascent:i(T,"ascent",0),descent:i(T,"descent",0),fontSize:i(T,"fontSize",0)}:(u||!this.metrics)&&(this.metrics=s(this)),u?this.parent.updateText():this.parent},syncFont:function(a,u){u.font=this._font},syncStyle:function(a,u){u.textBaseline="alphabetic",u.fillStyle=this.color,u.strokeStyle=this.stroke,u.lineWidth=this.strokeThickness,u.lineCap="round",u.lineJoin="round"},syncShadow:function(a,u){u?(a.shadowOffsetX=this.shadowOffsetX,a.shadowOffsetY=this.shadowOffsetY,a.shadowColor=this.shadowColor,a.shadowBlur=this.shadowBlur):(a.shadowOffsetX=0,a.shadowOffsetY=0,a.shadowColor=0,a.shadowBlur=0)},update:function(a){return a&&(this._font=[this.fontStyle,this.fontSize,this.fontFamily].join(" ").trim(),this.metrics=s(this)),this.parent.updateText()},setFont:function(a,u){u===void 0&&(u=!0);var f=a,v="",c="";if(typeof a!="string")f=i(a,"fontFamily","Courier"),v=i(a,"fontSize","16px"),c=i(a,"fontStyle","");else{var g=a.split(" "),p=0;c=g.length>2?g[p++]:"",v=g[p++]||"16px",f=g[p++]||"Courier"}return(f!==this.fontFamily||v!==this.fontSize||c!==this.fontStyle)&&(this.fontFamily=f,this.fontSize=v,this.fontStyle=c,u&&this.update(!0)),this.parent},setFontFamily:function(a){return this.fontFamily!==a&&(this.fontFamily=a,this.update(!0)),this.parent},setFontStyle:function(a){return this.fontStyle!==a&&(this.fontStyle=a,this.update(!0)),this.parent},setFontSize:function(a){return typeof a=="number"&&(a=a.toString()+"px"),this.fontSize!==a&&(this.fontSize=a,this.update(!0)),this.parent},setTestString:function(a){return this.testString=a,this.update(!0)},setFixedSize:function(a,u){return this.fixedWidth=a,this.fixedHeight=u,a&&(this.parent.width=a),u&&(this.parent.height=u),this.update(!1)},setBackgroundColor:function(a){return this.backgroundColor=a,this.update(!1)},setFill:function(a){return this.color=a,this.update(!1)},setColor:function(a){return this.color=a,this.update(!1)},setResolution:function(a){return this.resolution=a,this.update(!1)},setStroke:function(a,u){return u===void 0&&(u=this.strokeThickness),a===void 0&&this.strokeThickness!==0?(this.strokeThickness=0,this.update(!0)):(this.stroke!==a||this.strokeThickness!==u)&&(this.stroke=a,this.strokeThickness=u,this.update(!0)),this.parent},setShadow:function(a,u,f,v,c,g){return a===void 0&&(a=0),u===void 0&&(u=0),f===void 0&&(f="#000"),v===void 0&&(v=0),c===void 0&&(c=!1),g===void 0&&(g=!0),this.shadowOffsetX=a,this.shadowOffsetY=u,this.shadowColor=f,this.shadowBlur=v,this.shadowStroke=c,this.shadowFill=g,this.update(!1)},setShadowOffset:function(a,u){return a===void 0&&(a=0),u===void 0&&(u=a),this.shadowOffsetX=a,this.shadowOffsetY=u,this.update(!1)},setShadowColor:function(a){return a===void 0&&(a="#000"),this.shadowColor=a,this.update(!1)},setShadowBlur:function(a){return a===void 0&&(a=0),this.shadowBlur=a,this.update(!1)},setShadowStroke:function(a){return this.shadowStroke=a,this.update(!1)},setShadowFill:function(a){return this.shadowFill=a,this.update(!1)},setWordWrapWidth:function(a,u){return u===void 0&&(u=!1),this.wordWrapWidth=a,this.wordWrapUseAdvanced=u,this.update(!1)},setWordWrapCallback:function(a,u){return u===void 0&&(u=null),this.wordWrapCallback=a,this.wordWrapCallbackScope=u,this.update(!1)},setAlign:function(a){return a===void 0&&(a="left"),this.align=a,this.update(!1)},setMaxLines:function(a){return a===void 0&&(a=0),this.maxLines=a,this.update(!1)},getTextMetrics:function(){var a=this.metrics;return{ascent:a.ascent,descent:a.descent,fontSize:a.fontSize}},toJSON:function(){var a={};for(var u in r)a[u]=this[u];return a.metrics=this.getTextMetrics(),a},destroy:function(){this.parent=void 0}});h.exports=o},34397:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){if(!(e.width===0||e.height===0)){l.camera.addToRenderList(e);var s=e.customRenderNodes,r=e.defaultRenderNodes;(s.Submitter||r.Submitter).run(l,e,i,0,s.Texturer||r.Texturer,s.Transformer||r.Transformer)}};h.exports=d},20839:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(9674),l=t(27919),i=t(41571),s=t(83419),r=t(31401),o=t(95643),a=t(68703),u=t(56295),f=t(45650),v=t(26099),c=8,g=new s({Extends:o,Mixins:[r.Alpha,r.BlendMode,r.ComputedSize,r.Depth,r.Flip,r.GetBounds,r.Lighting,r.Mask,r.Origin,r.RenderNodes,r.ScrollFactor,r.Texture,r.Tint,r.Transform,r.Visible,u],initialize:function(T,C,M,A,R,P,L){var F=T.sys.renderer,w=F&&!F.gl;o.call(this,T,"TileSprite");var O=T.sys.textures.get(P),B=O.get(L);A=A?Math.floor(A):B.width,R=R?Math.floor(R):B.height,this._tilePosition=new v,this._tileScale=new v(1,1),this._tileRotation=0,this.dirty=!1,this.renderer=F,this.canvas=w?l.create(this,A,R):null,this.context=w?this.canvas.getContext("2d",{willReadFrequently:!1}):null,this._displayTextureKey=f(),this.displayTexture=w?T.sys.textures.addCanvas(this._displayTextureKey,this.canvas):null,this.displayFrame=this.displayTexture?this.displayTexture.get():null,this.currentFrame=null,this.fillCanvas=w?l.create2D(this,B.width,this.displayFrame.height):null,this.fillContext=this.fillCanvas?this.fillCanvas.getContext("2d",{willReadFrequently:!1}):null,this.fillPattern=null,this.anims=new e(this),this.setTexture(P,L),this.setPosition(C,M),this.setSize(A,R),this.setOrigin(.5,.5),this.initRenderNodes(this._defaultRenderNodesMap)},_defaultRenderNodesMap:{get:function(){return i}},addedToScene:function(){this.scene.sys.updateList.add(this)},removedFromScene:function(){this.scene.sys.updateList.remove(this)},preUpdate:function(p,T){this.anims.update(p,T)},setFrame:function(p){var T=this.texture.get(p);return!T.cutWidth||!T.cutHeight?this.renderFlags&=~c:this.renderFlags|=c,this.frame=T,this.dirty=!0,this},setSizeToFrame:function(){return this},setTilePosition:function(p,T){return p!==void 0&&(this.tilePositionX=p),T!==void 0&&(this.tilePositionY=T),this},setTileRotation:function(p){return p===void 0&&(p=0),this.tileRotation=p,this},setTileScale:function(p,T){return p===void 0&&(p=this.tileScaleX),T===void 0&&(T=p),this.tileScaleX=p,this.tileScaleY=T,this},updateTileTexture:function(){if(!(!this.renderer||this.renderer.gl)){var p=this.frame,T=this.fillContext,C=this.fillCanvas,M=p.cutWidth,A=p.cutHeight;T.clearRect(0,0,M,A),C.width=M,C.height=A,T.drawImage(p.source.image,p.cutX,p.cutY,p.cutWidth,p.cutHeight,0,0,M,A),this.fillPattern=T.createPattern(C,"repeat"),this.currentFrame=p}},updateCanvas:function(){var p=this.canvas,T=this.width,C=this.height,M=this.currentFrame!==this.frame;if((p.width!==T||p.height!==C||M)&&(p.width=T,p.height=C,this.displayFrame.setSize(T,C),this.updateDisplayOrigin(),M&&this.updateTileTexture(),this.dirty=!0),!this.dirty||this.renderer&&this.renderer.gl){this.dirty=!1;return}var A=this.context;this.scene.sys.game.config.antialias||a.disable(A);var R=this._tileScale.x,P=this._tileScale.y,L=this._tilePosition.x,F=this._tilePosition.y;A.clearRect(0,0,T,C),A.save(),A.rotate(this._tileRotation),A.scale(R,P),A.translate(-L,-F),A.fillStyle=this.fillPattern;var w=Math.max(T,Math.abs(T/R)),O=Math.max(C,Math.abs(C/P)),B=Math.sqrt(w*w+O*O);A.fillRect(L-B,F-B,2*B,2*B),A.restore(),this.dirty=!1},preDestroy:function(){this.canvas&&l.remove(this.canvas),this.fillCanvas&&l.remove(this.fillCanvas),this.fillPattern=null,this.fillContext=null,this.fillCanvas=null,this.displayTexture=null,this.displayFrame=null,this.renderer=null,this.anims.destroy(),this.anims=void 0},tilePositionX:{get:function(){return this._tilePosition.x},set:function(p){this._tilePosition.x=p,this.dirty=!0}},tilePositionY:{get:function(){return this._tilePosition.y},set:function(p){this._tilePosition.y=p,this.dirty=!0}},tileRotation:{get:function(){return this._tileRotation},set:function(p){this._tileRotation=p,this.dirty=!0}},tileScaleX:{get:function(){return this._tileScale.x},set:function(p){this._tileScale.x=p,this.dirty=!0}},tileScaleY:{get:function(){return this._tileScale.y},set:function(p){this._tileScale.y=p,this.dirty=!0}}});h.exports=g},46992:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){e.updateCanvas(),l.addToRenderList(e),t.batchSprite(e,e.displayFrame,l,i)};h.exports=d},14167:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25305),l=t(44603),i=t(23568),s=t(20839);l.register("tileSprite",function(r,o){r===void 0&&(r={});var a=i(r,"x",0),u=i(r,"y",0),f=i(r,"width",512),v=i(r,"height",512),c=i(r,"key",""),g=i(r,"frame",""),p=new s(this.scene,a,u,f,v,c,g);return o!==void 0&&(r.add=o),e(this.scene,p,r),p})},91681:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(20839),l=t(39429);l.register("tileSprite",function(i,s,r,o,a,u){return this.displayList.add(new e(this.scene,i,s,r,o,a,u))})},56295:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(18553),i=t(46992),h.exports={renderWebGL:l,renderCanvas:i}},18553:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){var s=e.width,r=e.height;if(!(s===0||r===0)){var o=l.camera;o.addToRenderList(e);var a=e.customRenderNodes,u=e.defaultRenderNodes;(a.Submitter||u.Submitter).run(l,e,i,0,a.Texturer||u.Texturer,a.Transformer||u.Transformer)}};h.exports=d},18471:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(45319),l=t(40939),i=t(83419),s=t(31401),r=t(51708),o=t(8443),a=t(95643),u=t(36383),f=t(14463),v=t(45650),c=t(10247),g=new i({Extends:a,Mixins:[s.Alpha,s.BlendMode,s.ComputedSize,s.Depth,s.Flip,s.GetBounds,s.Lighting,s.Mask,s.Origin,s.RenderNodes,s.ScrollFactor,s.TextureCrop,s.Tint,s.Transform,s.Visible,c],initialize:function(T,C,M,A){a.call(this,T,"Video"),this.video,this.videoTexture,this.videoTextureSource,this.snapshotTexture,this.glFlipY=!0,this._key=v(),this.touchLocked=!1,this.playWhenUnlocked=!1,this.frameReady=!1,this.isStalled=!1,this.failedPlayAttempts=0,this.metadata,this.retry=0,this.retryInterval=500,this._systemMuted=!1,this._codeMuted=!1,this._systemPaused=!1,this._codePaused=!1,this._callbacks={ended:this.completeHandler.bind(this),legacy:this.legacyPlayHandler.bind(this),playing:this.playingHandler.bind(this),seeked:this.seekedHandler.bind(this),seeking:this.seekingHandler.bind(this),stalled:this.stalledHandler.bind(this),suspend:this.stalledHandler.bind(this),waiting:this.stalledHandler.bind(this)},this._loadCallbackHandler=this.loadErrorHandler.bind(this),this._metadataCallbackHandler=this.metadataHandler.bind(this),this._crop=this.resetCropObject(),this.markers={},this._markerIn=0,this._markerOut=0,this._playingMarker=!1,this._lastUpdate=0,this.cacheKey="",this.isSeeking=!1,this._playCalled=!1,this._getFrame=!1,this._rfvCallbackId=0;var R=T.sys.game;this._device=R.device.video,this.setPosition(C,M),this.setSize(256,256),this.initRenderNodes(this._defaultRenderNodesMap),R.events.on(o.PAUSE,this.globalPause,this),R.events.on(o.RESUME,this.globalResume,this);var P=T.sys.sound;P&&P.on(f.GLOBAL_MUTE,this.globalMute,this),A&&this.load(A)},_defaultRenderNodesMap:{get:function(){return l}},addedToScene:function(){this.scene.sys.updateList.add(this)},removedFromScene:function(){this.scene.sys.updateList.remove(this)},load:function(p){var T=this.scene.sys.cache.video.get(p);return T?(this.cacheKey=p,this.loadHandler(T.url,T.noAudio,T.crossOrigin)):console.warn("No video in cache for key: "+p),this},changeSource:function(p,T,C,M,A){T===void 0&&(T=!0),C===void 0&&(C=!1),this.cacheKey!==p&&(this.load(p),T&&this.play(C,M,A))},getVideoKey:function(){return this.cacheKey},loadURL:function(p,T,C){T===void 0&&(T=!1);var M=this._device.getVideoURL(p);return M?(this.cacheKey="",this.loadHandler(M.url,T,C)):console.warn("No supported video format found for "+p),this},loadMediaStream:function(p,T,C){return this.loadHandler(null,T,C,p)},loadHandler:function(p,T,C,M){T||(T=!1);var A=this.video;if(A?(this.removeLoadEventHandlers(),this.stop()):(A=document.createElement("video"),A.controls=!1,A.setAttribute("playsinline","playsinline"),A.setAttribute("preload","auto"),A.setAttribute("disablePictureInPicture","true")),T?(A.muted=!0,A.defaultMuted=!0,A.setAttribute("autoplay","autoplay")):(A.muted=!1,A.defaultMuted=!1,A.removeAttribute("autoplay")),C?A.setAttribute("crossorigin",C):A.removeAttribute("crossorigin"),M)if("srcObject"in A)try{A.srcObject=M}catch(P){if(P.name!=="TypeError")throw P;A.src=URL.createObjectURL(M)}else A.src=URL.createObjectURL(M);else A.src=p;this.retry=0,this.video=A,this._playCalled=!1,A.load(),this.addLoadEventHandlers();var R=this.scene.sys.textures.get(this._key);return this.setTexture(R),this},requestVideoFrame:function(p,T){var C=this.video;if(C){var M=T.width,A=T.height,R=this.videoTexture,P=this.videoTextureSource,L=!R||P.source!==C;L?(this._codePaused=C.paused,this._codeMuted=C.muted,R?(P.source=C,P.width=M,P.height=A,R.get().setSize(M,A)):(R=this.scene.sys.textures.create(this._key,C,M,A),R.add("__BASE",0,0,0,M,A),this.setTexture(R),this.videoTexture=R,this.videoTextureSource=R.source[0],this.videoTextureSource.setFlipY(this.glFlipY),this.emit(r.VIDEO_TEXTURE,this,R)),this.setSizeToFrame(),this.updateDisplayOrigin()):P.update(),this.isStalled=!1,this.metadata=T;var F=T.mediaTime;L&&(this._lastUpdate=F,this.emit(r.VIDEO_CREATED,this,M,A),this.frameReady||(this.frameReady=!0,this.emit(r.VIDEO_PLAY,this))),this._playingMarker?F>=this._markerOut&&(C.loop?(C.currentTime=this._markerIn,this.emit(r.VIDEO_LOOP,this)):(this.stop(!1),this.emit(r.VIDEO_COMPLETE,this))):F-1&&C>T&&C=0&&!isNaN(C)&&C>T&&(this.markers[p]=[T,C]),this},playMarker:function(p,T){var C=this.markers[p];return C&&this.play(T,C[0],C[1]),this},removeMarker:function(p){return delete this.markers[p],this},snapshot:function(p,T){return p===void 0&&(p=this.width),T===void 0&&(T=this.height),this.snapshotArea(0,0,this.width,this.height,p,T)},snapshotArea:function(p,T,C,M,A,R){p===void 0&&(p=0),T===void 0&&(T=0),C===void 0&&(C=this.width),M===void 0&&(M=this.height),A===void 0&&(A=C),R===void 0&&(R=M);var P=this.video,L=this.snapshotTexture;return L?(L.setSize(A,R),P&&L.context.drawImage(P,p,T,C,M,0,0,A,R)):(L=this.scene.sys.textures.createCanvas(v(),A,R),this.snapshotTexture=L,P&&L.context.drawImage(P,p,T,C,M,0,0,A,R)),L.update()},saveSnapshotTexture:function(p){return this.snapshotTexture?this.scene.sys.textures.renameTexture(this.snapshotTexture.key,p):this.snapshotTexture=this.scene.sys.textures.createCanvas(p,this.width,this.height),this.snapshotTexture},playSuccess:function(){if(this._playCalled){this.addEventHandlers(),this._codePaused=!1,this.touchLocked&&(this.touchLocked=!1,this.emit(r.VIDEO_UNLOCKED,this));var p=this.scene.sys.sound;p&&p.mute&&this.setMute(!0),this._markerIn>-1&&(this.video.currentTime=this._markerIn)}},playError:function(p){var T=p.name;T==="NotAllowedError"?(this.touchLocked=!0,this.playWhenUnlocked=!0,this.failedPlayAttempts=1,this.emit(r.VIDEO_LOCKED,this)):T==="NotSupportedError"?(this.stop(!1),this.emit(r.VIDEO_UNSUPPORTED,this,p)):(this.stop(!1),this.emit(r.VIDEO_ERROR,this,p))},legacyPlayHandler:function(){var p=this.video;p&&(this.playSuccess(),p.removeEventListener("playing",this._callbacks.legacy))},playingHandler:function(){this.isStalled=!1,this.emit(r.VIDEO_PLAYING,this)},loadErrorHandler:function(p){this.stop(!1),this.emit(r.VIDEO_ERROR,this,p)},metadataHandler:function(p){this.emit(r.VIDEO_METADATA,this,p)},setSizeToFrame:function(p){p||(p=this.frame),this.width=p.realWidth,this.height=p.realHeight,this.scaleX!==1&&(this.scaleX=this.displayWidth/this.width),this.scaleY!==1&&(this.scaleY=this.displayHeight/this.height);var T=this.input;return T&&!T.customHitArea&&(T.hitArea.width=this.width,T.hitArea.height=this.height),this},stalledHandler:function(p){this.isStalled=!0,this.emit(r.VIDEO_STALLED,this,p)},completeHandler:function(){this._playCalled=!1,this.emit(r.VIDEO_COMPLETE,this)},preUpdate:function(p,T){var C=this.video;!C||!this._playCalled||this.touchLocked&&this.playWhenUnlocked&&(this.retry+=T,this.retry>=this.retryInterval&&(this.createPlayPromise(!1),this.retry=0))},seekTo:function(p){var T=this.video;if(T){var C=T.duration;if(C!==1/0&&!isNaN(C)){var M=C*p;this.setCurrentTime(M)}}return this},getCurrentTime:function(){return this.video?this.video.currentTime:0},setCurrentTime:function(p){var T=this.video;if(T){if(typeof p=="string"){var C=p[0],M=parseFloat(p.substr(1));C==="+"?p=T.currentTime+M:C==="-"&&(p=T.currentTime-M)}T.currentTime=p}return this},seekingHandler:function(){this.isSeeking=!0,this.emit(r.VIDEO_SEEKING,this)},seekedHandler:function(){this.isSeeking=!1,this.emit(r.VIDEO_SEEKED,this)},getProgress:function(){var p=this.video;if(p){var T=p.duration;if(T!==1/0&&!isNaN(T))return p.currentTime/T}return-1},getDuration:function(){return this.video?this.video.duration:0},setMute:function(p){p===void 0&&(p=!0),this._codeMuted=p;var T=this.video;return T&&(T.muted=this._systemMuted?!0:p),this},isMuted:function(){return this._codeMuted},globalMute:function(p,T){this._systemMuted=T;var C=this.video;C&&(C.muted=this._codeMuted?!0:T)},globalPause:function(){this._systemPaused=!0,this.video&&!this.video.ended&&(this.removeEventHandlers(),this.video.pause())},globalResume:function(){this._systemPaused=!1,this.video&&!this._codePaused&&!this.video.ended&&this.createPlayPromise()},setPaused:function(p){p===void 0&&(p=!0);var T=this.video;return this._codePaused=p,T&&!T.ended&&(p?T.paused||(this.removeEventHandlers(),T.pause()):p||(this._playCalled?T.paused&&!this._systemPaused&&this.createPlayPromise():this.play())),this},pause:function(){return this.setPaused(!0)},resume:function(){return this.setPaused(!1)},getVolume:function(){return this.video?this.video.volume:1},setVolume:function(p){return p===void 0&&(p=1),this.video&&(this.video.volume=e(p,0,1)),this},getPlaybackRate:function(){return this.video?this.video.playbackRate:1},setPlaybackRate:function(p){return this.video&&(this.video.playbackRate=p),this},getLoop:function(){return this.video?this.video.loop:!1},setLoop:function(p){return p===void 0&&(p=!0),this.video&&(this.video.loop=p),this},isPlaying:function(){return this.video?!(this.video.paused||this.video.ended):!1},isPaused:function(){return this.video&&this._playCalled&&this.video.paused||this._codePaused||this._systemPaused},saveTexture:function(p,T){return T===void 0&&(T=!0),this.videoTexture&&(this.scene.sys.textures.renameTexture(this._key,p),this.videoTextureSource.setFlipY(T)),this._key=p,this.glFlipY=T,!!this.videoTexture},stop:function(p){p===void 0&&(p=!0);var T=this.video;return T&&(this.removeEventHandlers(),T.cancelVideoFrameCallback(this._rfvCallbackId),T.pause()),this.retry=0,this._playCalled=!1,p&&this.emit(r.VIDEO_STOP,this),this},removeVideoElement:function(){var p=this.video;if(p){for(p.parentNode&&p.parentNode.removeChild(p);p.hasChildNodes();)p.removeChild(p.firstChild);p.removeAttribute("autoplay"),p.removeAttribute("src"),this.video=null}},preDestroy:function(){this.stop(!1),this.removeLoadEventHandlers(),this.removeVideoElement();var p=this.scene.sys.game.events;p.off(o.PAUSE,this.globalPause,this),p.off(o.RESUME,this.globalResume,this);var T=this.scene.sys.sound;T&&T.off(f.GLOBAL_MUTE,this.globalMute,this)}});h.exports=g},58352:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){e.videoTexture&&(l.addToRenderList(e),t.batchSprite(e,e.frame,l,i))};h.exports=d},11511:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25305),l=t(44603),i=t(23568),s=t(18471);l.register("video",function(r,o){r===void 0&&(r={});var a=i(r,"key",null),u=new s(this.scene,0,0,a);return o!==void 0&&(r.add=o),e(this.scene,u,r),u})},89025:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(18471),l=t(39429);l.register("video",function(i,s,r){return this.displayList.add(new e(this.scene,i,s,r))})},10247:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(29849),i=t(58352),h.exports={renderWebGL:l,renderCanvas:i}},29849:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){if(e.videoTexture){l.camera.addToRenderList(e);var s=e.customRenderNodes,r=e.defaultRenderNodes;(s.Submitter||r.Submitter).run(l,e,i,0,s.Texturer||r.Texturer,s.Transformer||r.Transformer)}};h.exports=d},41481:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(10312),l=t(96503),i=t(87902),s=t(83419),r=t(31401),o=t(95643),a=t(87841),u=t(37303),f=new s({Extends:o,Mixins:[r.Depth,r.GetBounds,r.Origin,r.Transform,r.ScrollFactor,r.Visible],initialize:function(c,g,p,T,C){T===void 0&&(T=1),C===void 0&&(C=T),o.call(this,c,"Zone"),this.setPosition(g,p),this.width=T,this.height=C,this.blendMode=e.NORMAL,this.updateDisplayOrigin()},displayWidth:{get:function(){return this.scaleX*this.width},set:function(v){this.scaleX=v/this.width}},displayHeight:{get:function(){return this.scaleY*this.height},set:function(v){this.scaleY=v/this.height}},setSize:function(v,c,g){g===void 0&&(g=!0),this.width=v,this.height=c,this.updateDisplayOrigin();var p=this.input;return g&&p&&!p.customHitArea&&(p.hitArea.width=v,p.hitArea.height=c),this},setDisplaySize:function(v,c){return this.displayWidth=v,this.displayHeight=c,this},setCircleDropZone:function(v){return this.setDropZone(new l(0,0,v),i)},setRectangleDropZone:function(v,c){return this.setDropZone(new a(0,0,v,c),u)},setDropZone:function(v,c){return this.input||this.setInteractive(v,c,!0),this},setAlpha:function(){},setBlendMode:function(){},renderCanvas:function(v,c,g){g.addToRenderList(c)},renderWebGL:function(v,c,g){g.camera.addToRenderList(c)}});h.exports=f},95261:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(44603),l=t(23568),i=t(41481);e.register("zone",function(s){var r=l(s,"x",0),o=l(s,"y",0),a=l(s,"width",1),u=l(s,"height",a);return new i(this.scene,r,o,a,u)})},84175:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(41481),l=t(39429);l.register("zone",function(i,s,r,o){return this.displayList.add(new e(this.scene,i,s,r,o))})},95166:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.radius>0?Math.PI*t.radius*t.radius:0};h.exports=d},96503:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(87902),i=t(26241),s=t(79124),r=t(23777),o=t(28176),a=new e({initialize:function(f,v,c){f===void 0&&(f=0),v===void 0&&(v=0),c===void 0&&(c=0),this.type=r.CIRCLE,this.x=f,this.y=v,this._radius=c,this._diameter=c*2},contains:function(u,f){return l(this,u,f)},getPoint:function(u,f){return i(this,u,f)},getPoints:function(u,f,v){return s(this,u,f,v)},getRandomPoint:function(u){return o(this,u)},setTo:function(u,f,v){return this.x=u,this.y=f,this._radius=v,this._diameter=v*2,this},setEmpty:function(){return this._radius=0,this._diameter=0,this},setPosition:function(u,f){return f===void 0&&(f=u),this.x=u,this.y=f,this},isEmpty:function(){return this._radius<=0},radius:{get:function(){return this._radius},set:function(u){this._radius=u,this._diameter=u*2}},diameter:{get:function(){return this._diameter},set:function(u){this._diameter=u,this._radius=u*.5}},left:{get:function(){return this.x-this._radius},set:function(u){this.x=u+this._radius}},right:{get:function(){return this.x+this._radius},set:function(u){this.x=u-this._radius}},top:{get:function(){return this.y-this._radius},set:function(u){this.y=u+this._radius}},bottom:{get:function(){return this.y+this._radius},set:function(u){this.y=u-this._radius}}});h.exports=a},71562:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return 2*(Math.PI*t.radius)};h.exports=d},92110:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s,r){return r===void 0&&(r=new e),r.x=i.x+i.radius*Math.cos(s),r.y=i.y+i.radius*Math.sin(s),r};h.exports=l},42250:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(96503),l=function(i){return new e(i.x,i.y,i.radius)};h.exports=l},87902:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){if(t.radius>0&&e>=t.left&&e<=t.right&&l>=t.top&&l<=t.bottom){var i=(t.x-e)*(t.x-e),s=(t.y-l)*(t.y-l);return i+s<=t.radius*t.radius}else return!1};h.exports=d},5698:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87902),l=function(i,s){return e(i,s.x,s.y)};h.exports=l},70588:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87902),l=function(i,s){return e(i,s.x,s.y)&&e(i,s.right,s.y)&&e(i,s.x,s.bottom)&&e(i,s.right,s.bottom)};h.exports=l},26394:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e.setTo(t.x,t.y,t.radius)};h.exports=d},76278:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.x===e.x&&t.y===e.y&&t.radius===e.radius};h.exports=d},2074:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87841),l=function(i,s){return s===void 0&&(s=new e),s.x=i.left,s.y=i.top,s.width=i.diameter,s.height=i.diameter,s};h.exports=l},26241:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(92110),l=t(62945),i=t(36383),s=t(26099),r=function(o,a,u){u===void 0&&(u=new s);var f=l(a,0,i.TAU);return e(o,f,u)};h.exports=r},79124:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(71562),l=t(92110),i=t(62945),s=t(36383),r=function(o,a,u,f){f===void 0&&(f=[]),!a&&u>0&&(a=e(o)/u);for(var v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return t.x+=e,t.y+=l,t};h.exports=d},39212:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.x+=e.x,t.y+=e.y,t};h.exports=d},28176:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s){s===void 0&&(s=new e);var r=2*Math.PI*Math.random(),o=Math.random()+Math.random(),a=o>1?2-o:o,u=a*Math.cos(r),f=a*Math.sin(r);return s.x=i.x+u*i.radius,s.y=i.y+f*i.radius,s};h.exports=l},88911:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(96503);e.Area=t(95166),e.Circumference=t(71562),e.CircumferencePoint=t(92110),e.Clone=t(42250),e.Contains=t(87902),e.ContainsPoint=t(5698),e.ContainsRect=t(70588),e.CopyFrom=t(26394),e.Equals=t(76278),e.GetBounds=t(2074),e.GetPoint=t(26241),e.GetPoints=t(79124),e.Offset=t(50884),e.OffsetPoint=t(39212),e.Random=t(28176),h.exports=e},23777:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={CIRCLE:0,ELLIPSE:1,LINE:2,POINT:3,POLYGON:4,RECTANGLE:5,TRIANGLE:6};h.exports=d},78874:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.isEmpty()?0:t.getMajorRadius()*t.getMinorRadius()*Math.PI};h.exports=d},92990:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){var e=t.width/2,l=t.height/2,i=Math.pow(e-l,2)/Math.pow(e+l,2);return Math.PI*(e+l)*(1+3*i/(10+Math.sqrt(4-3*i)))};h.exports=d},79522:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s,r){r===void 0&&(r=new e);var o=i.width/2,a=i.height/2;return r.x=i.x+o*Math.cos(s),r.y=i.y+a*Math.sin(s),r};h.exports=l},58102:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(8497),l=function(i){return new e(i.x,i.y,i.width,i.height)};h.exports=l},81154:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){if(t.width<=0||t.height<=0)return!1;var i=(e-t.x)/t.width,s=(l-t.y)/t.height;return i*=i,s*=s,i+s<.25};h.exports=d},46662:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(81154),l=function(i,s){return e(i,s.x,s.y)};h.exports=l},1632:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(81154),l=function(i,s){return e(i,s.x,s.y)&&e(i,s.right,s.y)&&e(i,s.x,s.bottom)&&e(i,s.right,s.bottom)};h.exports=l},65534:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e.setTo(t.x,t.y,t.width,t.height)};h.exports=d},8497:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(81154),i=t(90549),s=t(48320),r=t(23777),o=t(24820),a=new e({initialize:function(f,v,c,g){f===void 0&&(f=0),v===void 0&&(v=0),c===void 0&&(c=0),g===void 0&&(g=0),this.type=r.ELLIPSE,this.x=f,this.y=v,this.width=c,this.height=g},contains:function(u,f){return l(this,u,f)},getPoint:function(u,f){return i(this,u,f)},getPoints:function(u,f,v){return s(this,u,f,v)},getRandomPoint:function(u){return o(this,u)},setTo:function(u,f,v,c){return this.x=u,this.y=f,this.width=v,this.height=c,this},setEmpty:function(){return this.width=0,this.height=0,this},setPosition:function(u,f){return f===void 0&&(f=u),this.x=u,this.y=f,this},setSize:function(u,f){return f===void 0&&(f=u),this.width=u,this.height=f,this},isEmpty:function(){return this.width<=0||this.height<=0},getMinorRadius:function(){return Math.min(this.width,this.height)/2},getMajorRadius:function(){return Math.max(this.width,this.height)/2},left:{get:function(){return this.x-this.width/2},set:function(u){this.x=u+this.width/2}},right:{get:function(){return this.x+this.width/2},set:function(u){this.x=u-this.width/2}},top:{get:function(){return this.y-this.height/2},set:function(u){this.y=u+this.height/2}},bottom:{get:function(){return this.y+this.height/2},set:function(u){this.y=u-this.height/2}}});h.exports=a},36146:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height};h.exports=d},23694:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87841),l=function(i,s){return s===void 0&&(s=new e),s.x=i.left,s.y=i.top,s.width=i.width,s.height=i.height,s};h.exports=l},90549:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(79522),l=t(62945),i=t(36383),s=t(26099),r=function(o,a,u){u===void 0&&(u=new s);var f=l(a,0,i.TAU);return e(o,f,u)};h.exports=r},48320:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(92990),l=t(79522),i=t(62945),s=t(36383),r=function(o,a,u,f){f===void 0&&(f=[]),!a&&u>0&&(a=e(o)/u);for(var v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return t.x+=e,t.y+=l,t};h.exports=d},44808:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.x+=e.x,t.y+=e.y,t};h.exports=d},24820:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s){s===void 0&&(s=new e);var r=Math.random()*Math.PI*2,o=Math.sqrt(Math.random());return s.x=i.x+o*Math.cos(r)*i.width/2,s.y=i.y+o*Math.sin(r)*i.height/2,s};h.exports=l},49203:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(8497);e.Area=t(78874),e.Circumference=t(92990),e.CircumferencePoint=t(79522),e.Clone=t(58102),e.Contains=t(81154),e.ContainsPoint=t(46662),e.ContainsRect=t(1632),e.CopyFrom=t(65534),e.Equals=t(36146),e.GetBounds=t(23694),e.GetPoint=t(90549),e.GetPoints=t(48320),e.Offset=t(73424),e.OffsetPoint=t(44808),e.Random=t(24820),h.exports=e},55738:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(23777),l=t(79291),i={Circle:t(88911),Ellipse:t(49203),Intersects:t(91865),Line:t(2529),Polygon:t(58423),Rectangle:t(93232),Triangle:t(84435)};i=l(!1,i,e),h.exports=i},2044:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(20339),l=function(i,s){return e(i.x,i.y,s.x,s.y)<=i.radius+s.radius};h.exports=l},81491:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){var l=e.width/2,i=e.height/2,s=Math.abs(t.x-e.x-l),r=Math.abs(t.y-e.y-i),o=l+t.radius,a=i+t.radius;if(s>o||r>a)return!1;if(s<=l||r<=i)return!0;var u=s-l,f=r-i,v=u*u,c=f*f,g=t.radius*t.radius;return v+c<=g};h.exports=d},63376:(h,d,t)=>{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=t(2044),i=function(s,r,o){if(o===void 0&&(o=[]),l(s,r)){var a=s.x,u=s.y,f=s.radius,v=r.x,c=r.y,g=r.radius,p,T,C,M,A;if(u===c)A=(g*g-f*f-v*v+a*a)/(2*(a-v)),p=1,T=-2*c,C=v*v+A*A-2*v*A+c*c-g*g,M=T*T-4*p*C,M===0?o.push(new e(A,-T/(2*p))):M>0&&(o.push(new e(A,(-T+Math.sqrt(M))/(2*p))),o.push(new e(A,(-T-Math.sqrt(M))/(2*p))));else{var R=(a-v)/(u-c),P=(g*g-f*f-v*v+a*a-c*c+u*u)/(2*(u-c));p=R*R+1,T=2*u*R-2*P*R-2*a,C=a*a+u*u+P*P-f*f-2*u*P,M=T*T-4*p*C,M===0?(A=-T/(2*p),o.push(new e(A,P-A*R))):M>0&&(A=(-T+Math.sqrt(M))/(2*p),o.push(new e(A,P-A*R)),A=(-T-Math.sqrt(M))/(2*p),o.push(new e(A,P-A*R)))}}return o};h.exports=i},97439:(h,d,t)=>{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(4042),l=t(81491),i=function(s,r,o){if(o===void 0&&(o=[]),l(s,r)){var a=r.getLineA(),u=r.getLineB(),f=r.getLineC(),v=r.getLineD();e(a,s,o),e(u,s,o),e(f,s,o),e(v,s,o)}return o};h.exports=i},4042:(h,d,t)=>{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=t(80462),i=function(s,r,o){if(o===void 0&&(o=[]),l(s,r)){var a=s.x1,u=s.y1,f=s.x2,v=s.y2,c=r.x,g=r.y,p=r.radius,T=f-a,C=v-u,M=a-c,A=u-g,R=T*T+C*C,P=2*(T*M+C*A),L=M*M+A*A-p*p,F=P*P-4*R*L,w,O;if(F===0){var B=-P/(2*R);w=a+B*T,O=u+B*C,B>=0&&B<=1&&o.push(new e(w,O))}else if(F>0){var I=(-P-Math.sqrt(F))/(2*R);w=a+I*T,O=u+I*C,I>=0&&I<=1&&o.push(new e(w,O));var D=(-P+Math.sqrt(F))/(2*R);w=a+D*T,O=u+D*C,D>=0&&D<=1&&o.push(new e(w,O))}}return o};h.exports=i},36100:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25836),l=function(i,s,r,o){r===void 0&&(r=!1);var a=i.x1,u=i.y1,f=i.x2,v=i.y2,c=s.x1,g=s.y1,p=s.x2,T=s.y2,C=f-a,M=v-u,A=p-c,R=T-g,P=C*R-M*A;if(P===0)return null;var L,F,w;if(r){if(L=(C*(g-u)+M*(a-c))/(A*M-R*C),C!==0)F=(c+A*L-a)/C;else if(M!==0)F=(g+R*L-u)/M;else return null;if(F<0||L<0||L>1)return null;w=F}else{if(L=((c-a)*R-(g-u)*A)/P,F=((u-g)*C-(a-c)*M)/P,L<0||L>1||F<0||F>1)return null;w=L}return o===void 0&&(o=new e),o.set(a+C*w,u+M*w,w)};h.exports=l},3073:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(36100),l=t(23031),i=t(25836),s=new l,r=new i,o=function(a,u,f,v){f===void 0&&(f=!1),v===void 0&&(v=new i);var c=!1;v.set(),r.set();for(var g=u[u.length-1],p=0;p{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25836),l=t(61369),i=t(3073),s=new e,r=function(o,a,u,f){f===void 0&&(f=new l),Array.isArray(a)||(a=[a]);var v=!1;f.set(),s.set();for(var c=0;c{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=t(76112),i=t(92773),s=function(r,o,a){if(a===void 0&&(a=[]),i(r,o))for(var u=o.getLineA(),f=o.getLineB(),v=o.getLineC(),c=o.getLineD(),g=[new e,new e,new e,new e],p=[l(u,r,g[0]),l(f,r,g[1]),l(v,r,g[2]),l(c,r,g[3])],T=0;T<4;T++)p[T]&&a.push(g[T]);return a};h.exports=s},71147:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(61369),l=t(56362),i=t(23031),s=new i;function r(u,f,v,c,g){var p=Math.cos(u),T=Math.sin(u);s.setTo(f,v,f+p,v+T);var C=l(s,c,!0);C&&g.push(new e(C.x,C.y,u,C.w))}function o(u,f){return u.z-f.z}var a=function(u,f,v){Array.isArray(v)||(v=[v]);for(var c=[],g=[],p=0;p{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87841),l=t(59996),i=function(s,r,o){return o===void 0&&(o=new e),l(s,r)&&(o.x=Math.max(s.x,r.x),o.y=Math.max(s.y,r.y),o.width=Math.min(s.right,r.right)-o.x,o.height=Math.min(s.bottom,r.bottom)-o.y),o};h.exports=i},52784:(h,d,t)=>{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(60646),l=t(59996),i=function(s,r,o){if(o===void 0&&(o=[]),l(s,r)){var a=s.getLineA(),u=s.getLineB(),f=s.getLineC(),v=s.getLineD();e(a,r,o),e(u,r,o),e(f,r,o),e(v,r,o)}return o};h.exports=i},26341:(h,d,t)=>{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(89265),l=t(60646),i=function(s,r,o){if(o===void 0&&(o=[]),e(s,r)){var a=r.getLineA(),u=r.getLineB(),f=r.getLineC();l(a,s,o),l(u,s,o),l(f,s,o)}return o};h.exports=i},38720:(h,d,t)=>{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(4042),l=t(67636),i=function(s,r,o){if(o===void 0&&(o=[]),l(s,r)){var a=s.getLineA(),u=s.getLineB(),f=s.getLineC();e(a,r,o),e(u,r,o),e(f,r,o)}return o};h.exports=i},13882:(h,d,t)=>{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=t(2822),i=t(76112),s=function(r,o,a){if(a===void 0&&(a=[]),l(r,o))for(var u=r.getLineA(),f=r.getLineB(),v=r.getLineC(),c=[new e,new e,new e],g=[i(u,o,c[0]),i(f,o,c[1]),i(v,o,c[2])],p=0;p<3;p++)g[p]&&a.push(c[p]);return a};h.exports=s},75636:(h,d,t)=>{/** + * @author Florian Vazelle + * @author Geoffrey Glaive + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(82944),l=t(13882),i=function(s,r,o){if(o===void 0&&(o=[]),e(s,r)){var a=r.getLineA(),u=r.getLineB(),f=r.getLineC();l(s,a,o),l(s,u,o),l(s,f,o)}return o};h.exports=i},80462:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87902),l=t(26099),i=new l,s=function(r,o,a){if(a===void 0&&(a=i),e(o,r.x1,r.y1))return a.x=r.x1,a.y=r.y1,!0;if(e(o,r.x2,r.y2))return a.x=r.x2,a.y=r.y2,!0;var u=r.x2-r.x1,f=r.y2-r.y1,v=o.x-r.x1,c=o.y-r.y1,g=u*u+f*f,p=u,T=f;if(g>0){var C=(v*u+c*f)/g;p*=C,T*=C}a.x=r.x1+p,a.y=r.y1+T;var M=p*p+T*T;return M<=g&&p*u+T*f>=0&&e(o,a.x,a.y)};h.exports=s},76112:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){var i=t.x1,s=t.y1,r=t.x2,o=t.y2,a=e.x1,u=e.y1,f=e.x2,v=e.y2;if(i===r&&s===o||a===f&&u===v)return!1;var c=(v-u)*(r-i)-(f-a)*(o-s);if(c===0)return!1;var g=((f-a)*(s-u)-(v-u)*(i-a))/c,p=((r-i)*(s-u)-(o-s)*(i-a))/c;return g<0||g>1||p<0||p>1?!1:(l&&(l.x=i+g*(r-i),l.y=s+g*(o-s)),!0)};h.exports=d},92773:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){var l=t.x1,i=t.y1,s=t.x2,r=t.y2,o=e.x,a=e.y,u=e.right,f=e.bottom,v=0;if(l>=o&&l<=u&&i>=a&&i<=f||s>=o&&s<=u&&r>=a&&r<=f)return!0;if(l=o){if(v=i+(r-i)*(o-l)/(s-l),v>a&&v<=f)return!0}else if(l>u&&s<=u&&(v=i+(r-i)*(u-l)/(s-l),v>=a&&v<=f))return!0;if(i=a){if(v=l+(s-l)*(a-i)/(r-i),v>=o&&v<=u)return!0}else if(i>f&&r<=f&&(v=l+(s-l)*(f-i)/(r-i),v>=o&&v<=u))return!0;return!1};h.exports=d},16204:h=>{/** + * @author Richard Davey + * @author Florian Mertens + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){l===void 0&&(l=1);var i=e.x1,s=e.y1,r=e.x2,o=e.y2,a=t.x,u=t.y,f=(r-i)*(r-i)+(o-s)*(o-s);if(f===0)return!1;var v=((a-i)*(r-i)+(u-s)*(o-s))/f;if(v<0)return Math.sqrt((i-a)*(i-a)+(s-u)*(s-u))<=l;if(v>=0&&v<=1){var c=((s-u)*(r-i)-(i-a)*(o-s))/f;return Math.abs(c)*Math.sqrt(f)<=l}else return Math.sqrt((r-a)*(r-a)+(o-u)*(o-u))<=l};h.exports=d},14199:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(16204),l=function(i,s){if(!e(i,s))return!1;var r=Math.min(s.x1,s.x2),o=Math.max(s.x1,s.x2),a=Math.min(s.y1,s.y2),u=Math.max(s.y1,s.y2);return i.x>=r&&i.x<=o&&i.y>=a&&i.y<=u};h.exports=l},59996:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.width<=0||t.height<=0||e.width<=0||e.height<=0?!1:!(t.righte.right||t.y>e.bottom)};h.exports=d},89265:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(76112),l=t(37303),i=t(48653),s=t(77493),r=function(o,a){if(a.left>o.right||a.righto.bottom||a.bottom0};h.exports=r},84411:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i,s,r){return r===void 0&&(r=0),!(e>t.right+r||lt.bottom+r||s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(80462),l=t(10690),i=function(s,r){return s.left>r.right||s.rightr.bottom||s.bottom{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(76112),l=function(i,s){return!!(i.contains(s.x1,s.y1)||i.contains(s.x2,s.y2)||e(i.getLineA(),s)||e(i.getLineB(),s)||e(i.getLineC(),s))};h.exports=l},82944:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(48653),l=t(71694),i=t(76112),s=function(r,o){if(r.left>o.right||r.righto.bottom||r.bottom0||(p=l(o),T=e(r,p,!0),T.length>0)};h.exports=s},91865:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={CircleToCircle:t(2044),CircleToRectangle:t(81491),GetCircleToCircle:t(63376),GetCircleToRectangle:t(97439),GetLineToCircle:t(4042),GetLineToLine:t(36100),GetLineToPoints:t(3073),GetLineToPolygon:t(56362),GetLineToRectangle:t(60646),GetRaysFromPointToPolygon:t(71147),GetRectangleIntersection:t(68389),GetRectangleToRectangle:t(52784),GetRectangleToTriangle:t(26341),GetTriangleToCircle:t(38720),GetTriangleToLine:t(13882),GetTriangleToTriangle:t(75636),LineToCircle:t(80462),LineToLine:t(76112),LineToRectangle:t(92773),PointToLine:t(16204),PointToLineSegment:t(14199),RectangleToRectangle:t(59996),RectangleToTriangle:t(89265),RectangleToValues:t(84411),TriangleToCircle:t(67636),TriangleToLine:t(2822),TriangleToTriangle:t(82944)}},91938:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return Math.atan2(t.y2-t.y1,t.x2-t.x1)};h.exports=d},84993:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){e===void 0&&(e=1),l===void 0&&(l=[]);var i=Math.round(t.x1),s=Math.round(t.y1),r=Math.round(t.x2),o=Math.round(t.y2),a=Math.abs(r-i),u=Math.abs(o-s),f=i-u&&(c-=u,i+=f),p{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){var i=e-(t.x1+t.x2)/2,s=l-(t.y1+t.y2)/2;return t.x1+=i,t.y1+=s,t.x2+=i,t.y2+=s,t};h.exports=d},31116:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(23031),l=function(i){return new e(i.x1,i.y1,i.x2,i.y2)};h.exports=l},59944:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e.setTo(t.x1,t.y1,t.x2,t.y2)};h.exports=d},59220:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.x1===e.x1&&t.y1===e.y1&&t.x2===e.x2&&t.y2===e.y2};h.exports=d},78177:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(35001),l=function(i,s,r){r===void 0&&(r=s);var o=e(i),a=i.x2-i.x1,u=i.y2-i.y1;return s&&(i.x1=i.x1-a/o*s,i.y1=i.y1-u/o*s),r&&(i.x2=i.x2+a/o*r,i.y2=i.y2+u/o*r),i};h.exports=l},26708:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(52816),l=t(6113),i=t(26099),s=function(r,o,a,u,f){u===void 0&&(u=0),f===void 0&&(f=[]);var v=[],c=r.x1,g=r.y1,p=r.x2-c,T=r.y2-g,C=l(o,f),M,A,R=a-1;for(M=0;M0){var P=v[0],L=[P];for(M=1;M=u&&(L.push(F),P=F)}var w=v[v.length-1];return e(P,w){/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s){return s===void 0&&(s=new e),s.x=(i.x1+i.x2)/2,s.y=(i.y1+i.y2)/2,s};h.exports=l},99569:(h,d,t)=>{/** + * @author Richard Davey + * @author Florian Mertens + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s,r){r===void 0&&(r=new e);var o=i.x1,a=i.y1,u=i.x2,f=i.y2,v=(u-o)*(u-o)+(f-a)*(f-a);if(v===0)return r;var c=((s.x-o)*(u-o)+(s.y-a)*(f-a))/v;return r.x=o+c*(u-o),r.y=a+c*(f-a),r};h.exports=l},34638:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(36383),l=t(91938),i=t(26099),s=function(r,o){o===void 0&&(o=new i);var a=l(r)-e.PI_OVER_2;return o.x=Math.cos(a),o.y=Math.sin(a),o};h.exports=s},13151:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s,r){return r===void 0&&(r=new e),r.x=i.x1+(i.x2-i.x1)*s,r.y=i.y1+(i.y2-i.y1)*s,r};h.exports=l},15258:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(35001),l=t(26099),i=function(s,r,o,a){a===void 0&&(a=[]),!r&&o>0&&(r=e(s)/o);for(var u=s.x1,f=s.y1,v=s.x2,c=s.y2,g=0;g{/** + * @author Richard Davey + * @author Florian Mertens + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){var l=t.x1,i=t.y1,s=t.x2,r=t.y2,o=(s-l)*(s-l)+(r-i)*(r-i);if(o===0)return!1;var a=((i-e.y)*(s-l)-(l-e.x)*(r-i))/o;return Math.abs(a)*Math.sqrt(o)};h.exports=d},98770:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return Math.abs(t.y1-t.y2)};h.exports=d},35001:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return Math.sqrt((t.x2-t.x1)*(t.x2-t.x1)+(t.y2-t.y1)*(t.y2-t.y1))};h.exports=d},23031:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(13151),i=t(15258),s=t(23777),r=t(65822),o=t(26099),a=new e({initialize:function(f,v,c,g){f===void 0&&(f=0),v===void 0&&(v=0),c===void 0&&(c=0),g===void 0&&(g=0),this.type=s.LINE,this.x1=f,this.y1=v,this.x2=c,this.y2=g},getPoint:function(u,f){return l(this,u,f)},getPoints:function(u,f,v){return i(this,u,f,v)},getRandomPoint:function(u){return r(this,u)},setTo:function(u,f,v,c){return u===void 0&&(u=0),f===void 0&&(f=0),v===void 0&&(v=0),c===void 0&&(c=0),this.x1=u,this.y1=f,this.x2=v,this.y2=c,this},setFromObjects:function(u,f){return this.x1=u.x,this.y1=u.y,this.x2=f.x,this.y2=f.y,this},getPointA:function(u){return u===void 0&&(u=new o),u.set(this.x1,this.y1),u},getPointB:function(u){return u===void 0&&(u=new o),u.set(this.x2,this.y2),u},left:{get:function(){return Math.min(this.x1,this.x2)},set:function(u){this.x1<=this.x2?this.x1=u:this.x2=u}},right:{get:function(){return Math.max(this.x1,this.x2)},set:function(u){this.x1>this.x2?this.x1=u:this.x2=u}},top:{get:function(){return Math.min(this.y1,this.y2)},set:function(u){this.y1<=this.y2?this.y1=u:this.y2=u}},bottom:{get:function(){return Math.max(this.y1,this.y2)},set:function(u){this.y1>this.y2?this.y1=u:this.y2=u}}});h.exports=a},64795:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(36383),l=t(15994),i=t(91938),s=function(r){var o=i(r)-e.PI_OVER_2;return l(o,-Math.PI,Math.PI)};h.exports=s},52616:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(36383),l=t(91938),i=function(s){return Math.cos(l(s)-e.PI_OVER_2)};h.exports=i},87231:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(36383),l=t(91938),i=function(s){return Math.sin(l(s)-e.PI_OVER_2)};h.exports=i},89662:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return t.x1+=e,t.y1+=l,t.x2+=e,t.y2+=l,t};h.exports=d},71165:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return-((t.x2-t.x1)/(t.y2-t.y1))};h.exports=d},65822:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s){s===void 0&&(s=new e);var r=Math.random();return s.x=i.x1+r*(i.x2-i.x1),s.y=i.y1+r*(i.y2-i.y1),s};h.exports=l},69777:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91938),l=t(64795),i=function(s,r){return 2*l(r)-Math.PI-e(s)};h.exports=i},39706:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(64400),l=function(i,s){var r=(i.x1+i.x2)/2,o=(i.y1+i.y2)/2;return e(i,r,o,s)};h.exports=l},82585:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(64400),l=function(i,s,r){return e(i,s.x,s.y,r)};h.exports=l},64400:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){var s=Math.cos(i),r=Math.sin(i),o=t.x1-e,a=t.y1-l;return t.x1=o*s-a*r+e,t.y1=o*r+a*s+l,o=t.x2-e,a=t.y2-l,t.x2=o*s-a*r+e,t.y2=o*r+a*s+l,t};h.exports=d},62377:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i,s){return t.x1=e,t.y1=l,t.x2=e+Math.cos(i)*s,t.y2=l+Math.sin(i)*s,t};h.exports=d},71366:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return(t.y2-t.y1)/(t.x2-t.x1)};h.exports=d},10809:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return Math.abs(t.x1-t.x2)};h.exports=d},2529:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(23031);e.Angle=t(91938),e.BresenhamPoints=t(84993),e.CenterOn=t(36469),e.Clone=t(31116),e.CopyFrom=t(59944),e.Equals=t(59220),e.Extend=t(78177),e.GetEasedPoints=t(26708),e.GetMidPoint=t(32125),e.GetNearestPoint=t(99569),e.GetNormal=t(34638),e.GetPoint=t(13151),e.GetPoints=t(15258),e.GetShortestDistance=t(26408),e.Height=t(98770),e.Length=t(35001),e.NormalAngle=t(64795),e.NormalX=t(52616),e.NormalY=t(87231),e.Offset=t(89662),e.PerpSlope=t(71165),e.Random=t(65822),e.ReflectAngle=t(69777),e.Rotate=t(39706),e.RotateAroundPoint=t(82585),e.RotateAroundXY=t(64400),e.SetToAngle=t(62377),e.Slope=t(71366),e.Width=t(10809),h.exports=e},12306:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25717),l=function(i){return new e(i.points)};h.exports=l},63814:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){for(var i=!1,s=-1,r=t.points.length-1;++s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(63814),l=function(i,s){return e(i,s.x,s.y)};h.exports=l},94811:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */function d(G,b,Y){Y=Y||2;var W=b&&b.length,H=W?b[0]*Y:G.length,X=t(G,0,H,Y,!0),K=[];if(!X||X.next===X.prev)return K;var Z,Q,j,J,tt,k,q;if(W&&(X=a(G,b,X,Y)),G.length>80*Y){Z=j=G[0],Q=J=G[1];for(var _=Y;_j&&(j=tt),k>J&&(J=k);q=Math.max(j-Z,J-Q),q=q!==0?32767/q:0}return l(X,K,Y,Z,Q,q,0),K}function t(G,b,Y,W,H){var X,K;if(H===U(G,b,Y,W)>0)for(X=b;X=b;X-=W)K=N(X,G[X],G[X+1],K);return K&&P(K,K.next)&&(z(K),K=K.next),K}function e(G,b){if(!G)return G;b||(b=G);var Y=G,W;do if(W=!1,!Y.steiner&&(P(Y,Y.next)||R(Y.prev,Y,Y.next)===0)){if(z(Y),Y=b=Y.prev,Y===Y.next)break;W=!0}else Y=Y.next;while(W||Y!==b);return b}function l(G,b,Y,W,H,X,K){if(G){!K&&X&&g(G,W,H,X);for(var Z=G,Q,j;G.prev!==G.next;){if(Q=G.prev,j=G.next,X?s(G,W,H,X):i(G)){b.push(Q.i/Y|0),b.push(G.i/Y|0),b.push(j.i/Y|0),z(G),G=j.next,Z=j.next;continue}if(G=j,G===Z){K?K===1?(G=r(e(G),b,Y),l(G,b,Y,W,H,X,2)):K===2&&o(G,b,Y,W,H,X):l(e(G),b,Y,W,H,X,1);break}}}}function i(G){var b=G.prev,Y=G,W=G.next;if(R(b,Y,W)>=0)return!1;for(var H=b.x,X=Y.x,K=W.x,Z=b.y,Q=Y.y,j=W.y,J=HX?H>K?H:K:X>K?X:K,q=Z>Q?Z>j?Z:j:Q>j?Q:j,_=W.next;_!==b;){if(_.x>=J&&_.x<=k&&_.y>=tt&&_.y<=q&&M(H,Z,X,Q,K,j,_.x,_.y)&&R(_.prev,_,_.next)>=0)return!1;_=_.next}return!0}function s(G,b,Y,W){var H=G.prev,X=G,K=G.next;if(R(H,X,K)>=0)return!1;for(var Z=H.x,Q=X.x,j=K.x,J=H.y,tt=X.y,k=K.y,q=ZQ?Z>j?Z:j:Q>j?Q:j,at=J>tt?J>k?J:k:tt>k?tt:k,ht=T(q,_,b,Y,W),ot=T(rt,at,b,Y,W),nt=G.prevZ,it=G.nextZ;nt&&nt.z>=ht&&it&&it.z<=ot;){if(nt.x>=q&&nt.x<=rt&&nt.y>=_&&nt.y<=at&&nt!==H&&nt!==K&&M(Z,J,Q,tt,j,k,nt.x,nt.y)&&R(nt.prev,nt,nt.next)>=0||(nt=nt.prevZ,it.x>=q&&it.x<=rt&&it.y>=_&&it.y<=at&&it!==H&&it!==K&&M(Z,J,Q,tt,j,k,it.x,it.y)&&R(it.prev,it,it.next)>=0))return!1;it=it.nextZ}for(;nt&&nt.z>=ht;){if(nt.x>=q&&nt.x<=rt&&nt.y>=_&&nt.y<=at&&nt!==H&&nt!==K&&M(Z,J,Q,tt,j,k,nt.x,nt.y)&&R(nt.prev,nt,nt.next)>=0)return!1;nt=nt.prevZ}for(;it&&it.z<=ot;){if(it.x>=q&&it.x<=rt&&it.y>=_&&it.y<=at&&it!==H&&it!==K&&M(Z,J,Q,tt,j,k,it.x,it.y)&&R(it.prev,it,it.next)>=0)return!1;it=it.nextZ}return!0}function r(G,b,Y){var W=G;do{var H=W.prev,X=W.next.next;!P(H,X)&&L(H,W,W.next,X)&&B(H,X)&&B(X,H)&&(b.push(H.i/Y|0),b.push(W.i/Y|0),b.push(X.i/Y|0),z(W),z(W.next),W=G=X),W=W.next}while(W!==G);return e(W)}function o(G,b,Y,W,H,X){var K=G;do{for(var Z=K.next.next;Z!==K.prev;){if(K.i!==Z.i&&A(K,Z)){var Q=D(K,Z);K=e(K,K.next),Q=e(Q,Q.next),l(K,b,Y,W,H,X,0),l(Q,b,Y,W,H,X,0);return}Z=Z.next}K=K.next}while(K!==G)}function a(G,b,Y,W){var H=[],X,K,Z,Q,j;for(X=0,K=b.length;X=Y.next.y&&Y.next.y!==Y.y){var Z=Y.x+(H-Y.y)*(Y.next.x-Y.x)/(Y.next.y-Y.y);if(Z<=W&&Z>X&&(X=Z,K=Y.x=Y.x&&Y.x>=j&&W!==Y.x&&M(HK.x||Y.x===K.x&&c(K,Y)))&&(K=Y,tt=k)),Y=Y.next;while(Y!==Q);return K}function c(G,b){return R(G.prev,G,b.prev)<0&&R(b.next,G,G.next)<0}function g(G,b,Y,W){var H=G;do H.z===0&&(H.z=T(H.x,H.y,b,Y,W)),H.prevZ=H.prev,H.nextZ=H.next,H=H.next;while(H!==G);H.prevZ.nextZ=null,H.prevZ=null,p(H)}function p(G){var b,Y,W,H,X,K,Z,Q,j=1;do{for(Y=G,G=null,X=null,K=0;Y;){for(K++,W=Y,Z=0,b=0;b0||Q>0&&W;)Z!==0&&(Q===0||!W||Y.z<=W.z)?(H=Y,Y=Y.nextZ,Z--):(H=W,W=W.nextZ,Q--),X?X.nextZ=H:G=H,H.prevZ=X,X=H;Y=W}X.nextZ=null,j*=2}while(K>1);return G}function T(G,b,Y,W,H){return G=(G-Y)*H|0,b=(b-W)*H|0,G=(G|G<<8)&16711935,G=(G|G<<4)&252645135,G=(G|G<<2)&858993459,G=(G|G<<1)&1431655765,b=(b|b<<8)&16711935,b=(b|b<<4)&252645135,b=(b|b<<2)&858993459,b=(b|b<<1)&1431655765,G|b<<1}function C(G){var b=G,Y=G;do(b.x=(G-K)*(X-Z)&&(G-K)*(W-Z)>=(Y-K)*(b-Z)&&(Y-K)*(X-Z)>=(H-K)*(W-Z)}function A(G,b){return G.next.i!==b.i&&G.prev.i!==b.i&&!O(G,b)&&(B(G,b)&&B(b,G)&&I(G,b)&&(R(G.prev,G,b.prev)||R(G,b.prev,b))||P(G,b)&&R(G.prev,G,G.next)>0&&R(b.prev,b,b.next)>0)}function R(G,b,Y){return(b.y-G.y)*(Y.x-b.x)-(b.x-G.x)*(Y.y-b.y)}function P(G,b){return G.x===b.x&&G.y===b.y}function L(G,b,Y,W){var H=w(R(G,b,Y)),X=w(R(G,b,W)),K=w(R(Y,W,G)),Z=w(R(Y,W,b));return!!(H!==X&&K!==Z||H===0&&F(G,Y,b)||X===0&&F(G,W,b)||K===0&&F(Y,G,W)||Z===0&&F(Y,b,W))}function F(G,b,Y){return b.x<=Math.max(G.x,Y.x)&&b.x>=Math.min(G.x,Y.x)&&b.y<=Math.max(G.y,Y.y)&&b.y>=Math.min(G.y,Y.y)}function w(G){return G>0?1:G<0?-1:0}function O(G,b){var Y=G;do{if(Y.i!==G.i&&Y.next.i!==G.i&&Y.i!==b.i&&Y.next.i!==b.i&&L(Y,Y.next,G,b))return!0;Y=Y.next}while(Y!==G);return!1}function B(G,b){return R(G.prev,G,G.next)<0?R(G,b,G.next)>=0&&R(G,G.prev,b)>=0:R(G,b,G.prev)<0||R(G,G.next,b)<0}function I(G,b){var Y=G,W=!1,H=(G.x+b.x)/2,X=(G.y+b.y)/2;do Y.y>X!=Y.next.y>X&&Y.next.y!==Y.y&&H<(Y.next.x-Y.x)*(X-Y.y)/(Y.next.y-Y.y)+Y.x&&(W=!W),Y=Y.next;while(Y!==G);return W}function D(G,b){var Y=new V(G.i,G.x,G.y),W=new V(b.i,b.x,b.y),H=G.next,X=b.prev;return G.next=b,b.prev=G,Y.next=H,H.prev=Y,W.next=Y,Y.prev=W,X.next=W,W.prev=X,W}function N(G,b,Y,W){var H=new V(G,b,Y);return W?(H.next=W.next,H.prev=W,W.next.prev=H,W.next=H):(H.prev=H,H.next=H),H}function z(G){G.next.prev=G.prev,G.prev.next=G.next,G.prevZ&&(G.prevZ.nextZ=G.nextZ),G.nextZ&&(G.nextZ.prevZ=G.prevZ)}function V(G,b,Y){this.i=G,this.x=b,this.y=Y,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}d.deviation=function(G,b,Y,W){var H=b&&b.length,X=H?b[0]*Y:G.length,K=Math.abs(U(G,0,X,Y));if(H)for(var Z=0,Q=b.length;Z0&&(W+=G[H-1].length,Y.holes.push(W))}return Y},h.exports=d},13829:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87841),l=function(i,s){s===void 0&&(s=new e);for(var r=1/0,o=1/0,a=-r,u=-o,f,v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){e===void 0&&(e=[]);for(var l=0;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(35001),l=t(23031),i=t(30052),s=function(r,o,a,u){u===void 0&&(u=[]);var f=r.points,v=i(r);!o&&a>0&&(o=v/a);for(var c=0;cp+R){p+=R;continue}var P=A.getPoint((g-p)/R);u.push(P);break}return u};h.exports=s},30052:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(35001),l=t(23031),i=function(s){for(var r=s.points,o=0,a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(63814),i=t(9564),s=t(23777),r=new e({initialize:function(a){this.type=s.POLYGON,this.area=0,this.points=[],a&&this.setTo(a)},contains:function(o,a){return l(this,o,a)},setTo:function(o){if(this.area=0,this.points=[],typeof o=="string"&&(o=o.split(" ")),!Array.isArray(o))return this;for(var a,u=0;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.points.reverse(),t};h.exports=d},29524:h=>{function d(r,o){var a=r.x-o.x,u=r.y-o.y;return a*a+u*u}function t(r,o,a){var u=o.x,f=o.y,v=a.x-u,c=a.y-f;if(v!==0||c!==0){var g=((r.x-u)*v+(r.y-f)*c)/(v*v+c*c);g>1?(u=a.x,f=a.y):g>0&&(u+=v*g,f+=c*g)}return v=r.x-u,c=r.y-f,v*v+c*c}function e(r,o){for(var a=r[0],u=[a],f,v=1,c=r.length;vo&&(u.push(f),a=f);return a!==f&&u.push(f),u}function l(r,o,a,u,f){for(var v=u,c,g=o+1;gv&&(c=g,v=p)}v>u&&(c-o>1&&l(r,o,c,u,f),f.push(r[c]),a-c>1&&l(r,c,a,u,f))}function i(r,o){var a=r.length-1,u=[r[0]];return l(r,0,a,o,u),u.push(r[a]),u}var s=function(r,o,a){o===void 0&&(o=1),a===void 0&&(a=!1);var u=r.points;if(u.length>2){var f=o*o;a||(u=e(u,f)),r.setTo(i(u,f))}return r};h.exports=s},5469:h=>{/** + * @author Richard Davey + * @author Igor Ognichenko + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(e,l){return e[0]=l[0],e[1]=l[1],e},t=function(e){var l,i=[],s=e.points;for(l=0;l0&&r.push(d([0,0],i[0])),l=0;l1&&r.push(d([0,0],i[i.length-1])),e.setTo(r)};h.exports=t},24709:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){for(var i=t.points,s=0;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25717);e.Clone=t(12306),e.Contains=t(63814),e.ContainsPoint=t(99338),e.Earcut=t(94811),e.GetAABB=t(13829),e.GetNumberArray=t(26173),e.GetPoints=t(9564),e.Perimeter=t(30052),e.Reverse=t(8133),e.Simplify=t(29524),e.Smooth=t(5469),e.Translate=t(24709),h.exports=e},62224:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.width*t.height};h.exports=d},98615:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.x=Math.ceil(t.x),t.y=Math.ceil(t.y),t};h.exports=d},31688:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.x=Math.ceil(t.x),t.y=Math.ceil(t.y),t.width=Math.ceil(t.width),t.height=Math.ceil(t.height),t};h.exports=d},67502:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return t.x=e-t.width/2,t.y=l-t.height/2,t};h.exports=d},65085:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87841),l=function(i){return new e(i.x,i.y,i.width,i.height)};h.exports=l},37303:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return t.width<=0||t.height<=0?!1:t.x<=e&&t.x+t.width>=e&&t.y<=l&&t.y+t.height>=l};h.exports=d},96553:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(37303),l=function(i,s){return e(i,s.x,s.y)};h.exports=l},70273:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e.width*e.height>t.width*t.height?!1:e.x>t.x&&e.xt.x&&e.rightt.y&&e.yt.y&&e.bottom{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e.setTo(t.x,t.y,t.width,t.height)};h.exports=d},77493:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e===void 0&&(e=[]),e.push({x:t.x,y:t.y}),e.push({x:t.right,y:t.y}),e.push({x:t.right,y:t.bottom}),e.push({x:t.x,y:t.bottom}),e};h.exports=d},9219:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height};h.exports=d},53751:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(8249),l=function(i,s){var r=e(i);return r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(8249),l=function(i,s){var r=e(i);return r>e(s)?i.setSize(s.height*r,s.height):i.setSize(s.width,s.width/r),i.setPosition(s.centerX-i.width/2,s.centerY-i.height/2)};h.exports=l},80774:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.x=Math.floor(t.x),t.y=Math.floor(t.y),t};h.exports=d},83859:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.x=Math.floor(t.x),t.y=Math.floor(t.y),t.width=Math.floor(t.width),t.height=Math.floor(t.height),t};h.exports=d},19217:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87841),l=t(36383),i=function(s,r){if(r===void 0&&(r=new e),s.length===0)return r;for(var o=Number.MAX_VALUE,a=Number.MAX_VALUE,u=l.MIN_SAFE_INTEGER,f=l.MIN_SAFE_INTEGER,v,c,g,p=0;p{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87841),l=function(i,s,r,o,a){return a===void 0&&(a=new e),a.setTo(Math.min(i,r),Math.min(s,o),Math.abs(i-r),Math.abs(s-o))};h.exports=l},8249:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.height===0?NaN:t.width/t.height};h.exports=d},27165:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s){return s===void 0&&(s=new e),s.x=i.centerX,s.y=i.centerY,s};h.exports=l},20812:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(13019),l=t(26099),i=function(s,r,o){if(o===void 0&&(o=new l),r<=0||r>=1)return o.x=s.x,o.y=s.y,o;var a=e(s)*r;return r>.5?(a-=s.width+s.height,a<=s.width?(o.x=s.right-a,o.y=s.bottom):(o.x=s.x,o.y=s.bottom-(a-s.width))):a<=s.width?(o.x=s.x+a,o.y=s.y):(o.x=s.right,o.y=s.y+(a-s.width)),o};h.exports=i},34819:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(20812),l=t(13019),i=function(s,r,o,a){a===void 0&&(a=[]),!r&&o>0&&(r=l(s)/o);for(var u=0;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s){return s===void 0&&(s=new e),s.x=i.width,s.y=i.height,s};h.exports=l},86091:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(67502),l=function(i,s,r){var o=i.centerX,a=i.centerY;return i.setSize(i.width+s*2,i.height+r*2),e(i,o,a)};h.exports=l},53951:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87841),l=t(59996),i=function(s,r,o){return o===void 0&&(o=new e),l(s,r)?(o.x=Math.max(s.x,r.x),o.y=Math.max(s.y,r.y),o.width=Math.min(s.right,r.right)-o.x,o.height=Math.min(s.bottom,r.bottom)-o.y):o.setEmpty(),o};h.exports=i},14649:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(13019),l=t(26099),i=function(s,r,o,a){if(a===void 0&&(a=[]),!r&&!o)return a;r?o=Math.round(e(s)/r):r=e(s)/o;for(var u=s.x,f=s.y,v=0,c=0;c=s.right&&(v=1,f+=u-s.right,u=s.right);break;case 1:f+=r,f>=s.bottom&&(v=2,u-=f-s.bottom,f=s.bottom);break;case 2:u-=r,u<=s.left&&(v=3,f-=s.left-u,u=s.left);break;case 3:f-=r,f<=s.top&&(v=0,f=s.top);break}return a};h.exports=i},33595:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){for(var l=t.x,i=t.right,s=t.y,r=t.bottom,o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){var l=Math.min(t.x,e.x),i=Math.max(t.right,e.right);t.x=l,t.width=i-l;var s=Math.min(t.y,e.y),r=Math.max(t.bottom,e.bottom);return t.y=s,t.height=r-s,t};h.exports=d},92171:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){var i=Math.min(t.x,e),s=Math.max(t.right,e);t.x=i,t.width=s-i;var r=Math.min(t.y,l),o=Math.max(t.bottom,l);return t.y=r,t.height=o-r,t};h.exports=d},42981:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return t.x+=e,t.y+=l,t};h.exports=d},46907:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.x+=e.x,t.y+=e.y,t};h.exports=d},60170:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.xe.x&&t.ye.y};h.exports=d},13019:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return 2*(t.width+t.height)};h.exports=d},85133:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=t(39506),i=function(s,r,o){o===void 0&&(o=new e),r=l(r);var a=Math.sin(r),u=Math.cos(r),f=u>0?s.width/2:s.width/-2,v=a>0?s.height/2:s.height/-2;return Math.abs(f*a){/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s){return s===void 0&&(s=new e),s.x=i.x+Math.random()*i.width,s.y=i.y+Math.random()*i.height,s};h.exports=l},86470:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(30976),l=t(70273),i=t(26099),s=function(r,o,a){if(a===void 0&&(a=new i),l(r,o))switch(e(0,3)){case 0:a.x=r.x+Math.random()*(o.right-r.x),a.y=r.y+Math.random()*(o.top-r.y);break;case 1:a.x=o.x+Math.random()*(r.right-o.x),a.y=o.bottom+Math.random()*(r.bottom-o.bottom);break;case 2:a.x=r.x+Math.random()*(o.x-r.x),a.y=o.y+Math.random()*(r.bottom-o.y);break;case 3:a.x=o.right+Math.random()*(r.right-o.right),a.y=r.y+Math.random()*(o.bottom-r.y);break}return a};h.exports=s},87841:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(37303),i=t(20812),s=t(34819),r=t(23777),o=t(23031),a=t(26597),u=new e({initialize:function(v,c,g,p){v===void 0&&(v=0),c===void 0&&(c=0),g===void 0&&(g=0),p===void 0&&(p=0),this.type=r.RECTANGLE,this.x=v,this.y=c,this.width=g,this.height=p},contains:function(f,v){return l(this,f,v)},getPoint:function(f,v){return i(this,f,v)},getPoints:function(f,v,c){return s(this,f,v,c)},getRandomPoint:function(f){return a(this,f)},setTo:function(f,v,c,g){return this.x=f,this.y=v,this.width=c,this.height=g,this},setEmpty:function(){return this.setTo(0,0,0,0)},setPosition:function(f,v){return v===void 0&&(v=f),this.x=f,this.y=v,this},setSize:function(f,v){return v===void 0&&(v=f),this.width=f,this.height=v,this},isEmpty:function(){return this.width<=0||this.height<=0},getLineA:function(f){return f===void 0&&(f=new o),f.setTo(this.x,this.y,this.right,this.y),f},getLineB:function(f){return f===void 0&&(f=new o),f.setTo(this.right,this.y,this.right,this.bottom),f},getLineC:function(f){return f===void 0&&(f=new o),f.setTo(this.right,this.bottom,this.x,this.bottom),f},getLineD:function(f){return f===void 0&&(f=new o),f.setTo(this.x,this.bottom,this.x,this.y),f},left:{get:function(){return this.x},set:function(f){f>=this.right?this.width=0:this.width=this.right-f,this.x=f}},right:{get:function(){return this.x+this.width},set:function(f){f<=this.x?this.width=0:this.width=f-this.x}},top:{get:function(){return this.y},set:function(f){f>=this.bottom?this.height=0:this.height=this.bottom-f,this.y=f}},bottom:{get:function(){return this.y+this.height},set:function(f){f<=this.y?this.height=0:this.height=f-this.y}},centerX:{get:function(){return this.x+this.width/2},set:function(f){this.x=f-this.width/2}},centerY:{get:function(){return this.y+this.height/2},set:function(f){this.y=f-this.height/2}}});h.exports=u},94845:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.width===e.width&&t.height===e.height};h.exports=d},31730:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return l===void 0&&(l=e),t.width*=e,t.height*=l,t};h.exports=d},36899:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87841),l=function(i,s,r){r===void 0&&(r=new e);var o=Math.min(i.x,s.x),a=Math.min(i.y,s.y),u=Math.max(i.right,s.right)-o,f=Math.max(i.bottom,s.bottom)-a;return r.setTo(o,a,u,f)};h.exports=l},93232:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87841);e.Area=t(62224),e.Ceil=t(98615),e.CeilAll=t(31688),e.CenterOn=t(67502),e.Clone=t(65085),e.Contains=t(37303),e.ContainsPoint=t(96553),e.ContainsRect=t(70273),e.CopyFrom=t(43459),e.Decompose=t(77493),e.Equals=t(9219),e.FitInside=t(53751),e.FitOutside=t(16088),e.Floor=t(80774),e.FloorAll=t(83859),e.FromPoints=t(19217),e.FromXY=t(9477),e.GetAspectRatio=t(8249),e.GetCenter=t(27165),e.GetPoint=t(20812),e.GetPoints=t(34819),e.GetSize=t(51313),e.Inflate=t(86091),e.Intersection=t(53951),e.MarchingAnts=t(14649),e.MergePoints=t(33595),e.MergeRect=t(20074),e.MergeXY=t(92171),e.Offset=t(42981),e.OffsetPoint=t(46907),e.Overlaps=t(60170),e.Perimeter=t(13019),e.PerimeterPoint=t(85133),e.Random=t(26597),e.RandomOutside=t(86470),e.SameDimensions=t(94845),e.Scale=t(31730),e.Union=t(36899),h.exports=e},41658:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){var e=t.x1,l=t.y1,i=t.x2,s=t.y2,r=t.x3,o=t.y3;return Math.abs(((r-e)*(s-l)-(i-e)*(o-l))/2)};h.exports=d},39208:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(16483),l=function(i,s,r){var o=r*(Math.sqrt(3)/2),a=i,u=s,f=i+r/2,v=s+o,c=i-r/2,g=s+o;return new e(a,u,f,v,c,g)};h.exports=l},39545:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(94811),l=t(16483),i=function(s,r,o,a,u){r===void 0&&(r=null),o===void 0&&(o=1),a===void 0&&(a=1),u===void 0&&(u=[]);for(var f=e(s,r),v,c,g,p,T,C,M,A,R,P=0;P{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(16483),l=function(i,s,r,o){o===void 0&&(o=r);var a=i,u=s,f=i,v=s-o,c=i+r,g=s;return new e(a,u,f,v,c,g)};h.exports=l},23707:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(97523),l=t(13584),i=function(s,r,o,a){a===void 0&&(a=e);var u=a(s),f=r-u.x,v=o-u.y;return l(s,f,v)};h.exports=i},97523:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s){return s===void 0&&(s=new e),s.x=(i.x1+i.x2+i.x3)/3,s.y=(i.y1+i.y2+i.y3)/3,s};h.exports=l},24951:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099);function l(s,r,o,a){return s*a-r*o}var i=function(s,r){r===void 0&&(r=new e);var o=s.x3,a=s.y3,u=s.x1-o,f=s.y1-a,v=s.x2-o,c=s.y2-a,g=2*l(u,f,v,c),p=l(f,u*u+f*f,c,v*v+c*c),T=l(u,u*u+f*f,v,v*v+c*c);return r.x=o-p/g,r.y=a+T/g,r};h.exports=i},85614:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(96503),l=function(i,s){s===void 0&&(s=new e);var r=i.x1,o=i.y1,a=i.x2,u=i.y2,f=i.x3,v=i.y3,c=a-r,g=u-o,p=f-r,T=v-o,C=c*(r+a)+g*(o+u),M=p*(r+f)+T*(o+v),A=2*(c*(v-u)-g*(f-a)),R,P;if(Math.abs(A)<1e-6){var L=Math.min(r,a,f),F=Math.min(o,u,v);R=(Math.max(r,a,f)-L)*.5,P=(Math.max(o,u,v)-F)*.5,s.x=L+R,s.y=F+P,s.radius=Math.sqrt(R*R+P*P)}else s.x=(T*C-g*M)/A,s.y=(c*M-p*C)/A,R=s.x-r,P=s.y-o,s.radius=Math.sqrt(R*R+P*P);return s};h.exports=l},74422:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(16483),l=function(i){return new e(i.x1,i.y1,i.x2,i.y2,i.x3,i.y3)};h.exports=l},10690:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){var i=t.x3-t.x1,s=t.y3-t.y1,r=t.x2-t.x1,o=t.y2-t.y1,a=e-t.x1,u=l-t.y1,f=i*i+s*s,v=i*r+s*o,c=i*a+s*u,g=r*r+o*o,p=r*a+o*u,T=f*g-v*v,C=T===0?0:1/T,M=(g*c-v*p)*C,A=(f*p-v*c)*C;return M>=0&&A>=0&&M+A<1};h.exports=d},48653:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){l===void 0&&(l=!1),i===void 0&&(i=[]);for(var s=t.x3-t.x1,r=t.y3-t.y1,o=t.x2-t.x1,a=t.y2-t.y1,u=s*s+r*r,f=s*o+r*a,v=o*o+a*a,c=u*v-f*f,g=c===0?0:1/c,p,T,C,M,A,R,P=t.x1,L=t.y1,F=0;F=0&&T>=0&&p+T<1&&(i.push({x:e[F].x,y:e[F].y}),l)));F++);return i};h.exports=d},96006:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(10690),l=function(i,s){return e(i,s.x,s.y)};h.exports=l},71326:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e.setTo(t.x1,t.y1,t.x2,t.y2,t.x3,t.y3)};h.exports=d},71694:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e===void 0&&(e=[]),e.push({x:t.x1,y:t.y1}),e.push({x:t.x2,y:t.y2}),e.push({x:t.x3,y:t.y3}),e};h.exports=d},33522:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.x1===e.x1&&t.y1===e.y1&&t.x2===e.x2&&t.y2===e.y2&&t.x3===e.x3&&t.y3===e.y3};h.exports=d},20437:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=t(35001),i=function(s,r,o){o===void 0&&(o=new e);var a=s.getLineA(),u=s.getLineB(),f=s.getLineC();if(r<=0||r>=1)return o.x=a.x1,o.y=a.y1,o;var v=l(a),c=l(u),g=l(f),p=v+c+g,T=p*r,C=0;return Tv+c?(T-=v+c,C=T/g,o.x=f.x1+(f.x2-f.x1)*C,o.y=f.y1+(f.y2-f.y1)*C):(T-=v,C=T/c,o.x=u.x1+(u.x2-u.x1)*C,o.y=u.y1+(u.y2-u.y1)*C),o};h.exports=i},80672:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(35001),l=t(26099),i=function(s,r,o,a){a===void 0&&(a=[]);var u=s.getLineA(),f=s.getLineB(),v=s.getLineC(),c=e(u),g=e(f),p=e(v),T=c+g+p;!r&&o>0&&(r=T/o);for(var C=0;Cc+g?(M-=c+g,A=M/p,R.x=v.x1+(v.x2-v.x1)*A,R.y=v.y1+(v.y2-v.y1)*A):(M-=c,A=M/g,R.x=f.x1+(f.x2-f.x1)*A,R.y=f.y1+(f.y2-f.y1)*A),a.push(R)}return a};h.exports=i},39757:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099);function l(s,r,o,a){var u=s-o,f=r-a,v=u*u+f*f;return Math.sqrt(v)}var i=function(s,r){r===void 0&&(r=new e);var o=s.x1,a=s.y1,u=s.x2,f=s.y2,v=s.x3,c=s.y3,g=l(v,c,u,f),p=l(o,a,v,c),T=l(u,f,o,a),C=g+p+T;return r.x=(o*g+u*p+v*T)/C,r.y=(a*g+f*p+c*T)/C,r};h.exports=i},13584:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return t.x1+=e,t.y1+=l,t.x2+=e,t.y2+=l,t.x3+=e,t.y3+=l,t};h.exports=d},1376:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(35001),l=function(i){var s=i.getLineA(),r=i.getLineB(),o=i.getLineC();return e(s)+e(r)+e(o)};h.exports=l},90260:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s){s===void 0&&(s=new e);var r=i.x2-i.x1,o=i.y2-i.y1,a=i.x3-i.x1,u=i.y3-i.y1,f=Math.random(),v=Math.random();return f+v>=1&&(f=1-f,v=1-v),s.x=i.x1+(r*f+a*v),s.y=i.y1+(o*f+u*v),s};h.exports=l},52172:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(99614),l=t(39757),i=function(s,r){var o=l(s);return e(s,o.x,o.y,r)};h.exports=i},49907:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(99614),l=function(i,s,r){return e(i,s.x,s.y,r)};h.exports=l},99614:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){var s=Math.cos(i),r=Math.sin(i),o=t.x1-e,a=t.y1-l;return t.x1=o*s-a*r+e,t.y1=o*r+a*s+l,o=t.x2-e,a=t.y2-l,t.x2=o*s-a*r+e,t.y2=o*r+a*s+l,o=t.x3-e,a=t.y3-l,t.x3=o*s-a*r+e,t.y3=o*r+a*s+l,t};h.exports=d},16483:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(10690),i=t(20437),s=t(80672),r=t(23777),o=t(23031),a=t(90260),u=new e({initialize:function(v,c,g,p,T,C){v===void 0&&(v=0),c===void 0&&(c=0),g===void 0&&(g=0),p===void 0&&(p=0),T===void 0&&(T=0),C===void 0&&(C=0),this.type=r.TRIANGLE,this.x1=v,this.y1=c,this.x2=g,this.y2=p,this.x3=T,this.y3=C},contains:function(f,v){return l(this,f,v)},getPoint:function(f,v){return i(this,f,v)},getPoints:function(f,v,c){return s(this,f,v,c)},getRandomPoint:function(f){return a(this,f)},setTo:function(f,v,c,g,p,T){return f===void 0&&(f=0),v===void 0&&(v=0),c===void 0&&(c=0),g===void 0&&(g=0),p===void 0&&(p=0),T===void 0&&(T=0),this.x1=f,this.y1=v,this.x2=c,this.y2=g,this.x3=p,this.y3=T,this},getLineA:function(f){return f===void 0&&(f=new o),f.setTo(this.x1,this.y1,this.x2,this.y2),f},getLineB:function(f){return f===void 0&&(f=new o),f.setTo(this.x2,this.y2,this.x3,this.y3),f},getLineC:function(f){return f===void 0&&(f=new o),f.setTo(this.x3,this.y3,this.x1,this.y1),f},left:{get:function(){return Math.min(this.x1,this.x2,this.x3)},set:function(f){var v=0;this.x1<=this.x2&&this.x1<=this.x3?v=this.x1-f:this.x2<=this.x1&&this.x2<=this.x3?v=this.x2-f:v=this.x3-f,this.x1-=v,this.x2-=v,this.x3-=v}},right:{get:function(){return Math.max(this.x1,this.x2,this.x3)},set:function(f){var v=0;this.x1>=this.x2&&this.x1>=this.x3?v=this.x1-f:this.x2>=this.x1&&this.x2>=this.x3?v=this.x2-f:v=this.x3-f,this.x1-=v,this.x2-=v,this.x3-=v}},top:{get:function(){return Math.min(this.y1,this.y2,this.y3)},set:function(f){var v=0;this.y1<=this.y2&&this.y1<=this.y3?v=this.y1-f:this.y2<=this.y1&&this.y2<=this.y3?v=this.y2-f:v=this.y3-f,this.y1-=v,this.y2-=v,this.y3-=v}},bottom:{get:function(){return Math.max(this.y1,this.y2,this.y3)},set:function(f){var v=0;this.y1>=this.y2&&this.y1>=this.y3?v=this.y1-f:this.y2>=this.y1&&this.y2>=this.y3?v=this.y2-f:v=this.y3-f,this.y1-=v,this.y2-=v,this.y3-=v}}});h.exports=u},84435:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(16483);e.Area=t(41658),e.BuildEquilateral=t(39208),e.BuildFromPolygon=t(39545),e.BuildRight=t(90301),e.CenterOn=t(23707),e.Centroid=t(97523),e.CircumCenter=t(24951),e.CircumCircle=t(85614),e.Clone=t(74422),e.Contains=t(10690),e.ContainsArray=t(48653),e.ContainsPoint=t(96006),e.CopyFrom=t(71326),e.Decompose=t(71694),e.Equals=t(33522),e.GetPoint=t(20437),e.GetPoints=t(80672),e.InCenter=t(39757),e.Perimeter=t(1376),e.Offset=t(13584),e.Random=t(90260),e.Rotate=t(52172),e.RotateAroundPoint=t(49907),e.RotateAroundXY=t(99614),h.exports=e},74457:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return{gameObject:t,enabled:!0,draggable:!1,dropZone:!1,cursor:!1,target:null,camera:null,hitArea:e,hitAreaCallback:l,hitAreaDebug:null,customHitArea:!1,localX:0,localY:0,dragState:0,dragStartX:0,dragStartY:0,dragStartXGlobal:0,dragStartYGlobal:0,dragStartCamera:null,dragX:0,dragY:0}};h.exports=d},84409:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return function(l,i,s,r){var o=t.getPixelAlpha(i,s,r.texture.key,r.frame.name);return o&&o>=e}};h.exports=d},7003:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(93301),i=t(50792),s=t(8214),r=t(8443),o=t(78970),a=t(85098),u=t(42515),f=t(36210),v=t(61340),c=t(85955),g=new e({initialize:function(T,C){this.game=T,this.scaleManager,this.canvas,this.config=C,this.enabled=!0,this.events=new i,this.isOver=!0,this.defaultCursor="",this.keyboard=C.inputKeyboard?new o(this):null,this.mouse=C.inputMouse?new a(this):null,this.touch=C.inputTouch?new f(this):null,this.pointers=[],this.pointersTotal=C.inputActivePointers;for(var M=0;M<=this.pointersTotal;M++){var A=new u(this,M);A.smoothFactor=C.inputSmoothFactor,this.pointers.push(A)}this.mousePointer=C.inputMouse?this.pointers[0]:null,this.activePointer=this.pointers[0],this.globalTopOnly=!0,this.time=0,this._tempPoint={x:0,y:0},this._tempHitTest=[],this._tempMatrix=new v,this._tempMatrix2=new v,this._tempSkip=!1,this.mousePointerContainer=[this.mousePointer],T.events.once(r.BOOT,this.boot,this)},boot:function(){var p=this.game,T=p.events;this.canvas=p.canvas,this.scaleManager=p.scale,this.events.emit(s.MANAGER_BOOT),T.on(r.PRE_RENDER,this.preRender,this),T.once(r.DESTROY,this.destroy,this)},setCanvasOver:function(p){this.isOver=!0,this.events.emit(s.GAME_OVER,p)},setCanvasOut:function(p){this.isOver=!1,this.events.emit(s.GAME_OUT,p)},preRender:function(){var p=this.game.loop.now,T=this.game.loop.delta,C=this.game.scene.getScenes(!0,!0);this.time=p,this.events.emit(s.MANAGER_UPDATE);for(var M=0;M10&&(p=10-this.pointersTotal);for(var C=0;C{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(96503),l=t(87902),i=t(83419),s=t(93301),r=t(74457),o=t(84409),a=t(20339),u=t(8497),f=t(81154),v=t(8214),c=t(50792),g=t(95540),p=t(23777),T=t(89639),C=t(41212),M=t(37277),A=t(87841),R=t(37303),P=t(44594),L=t(16483),F=t(10690),w=new i({Extends:c,initialize:function(B){c.call(this),this.scene=B,this.systems=B.sys,this.settings=B.sys.settings,this.manager=B.sys.game.input,this.pluginEvents=new c,this.enabled=!0,this.displayList,this.cameras,T.install(this),this.mouse=this.manager.mouse,this.topOnly=!0,this.pollRate=-1,this._pollTimer=0;var I={cancelled:!1};this._eventContainer={stopPropagation:function(){I.cancelled=!0}},this._eventData=I,this.dragDistanceThreshold=0,this.dragTimeThreshold=0,this._temp=[],this._tempZones=[],this._list=[],this._pendingInsertion=[],this._pendingRemoval=[],this._draggable=[],this._drag={0:[],1:[],2:[],3:[],4:[],5:[],6:[],7:[],8:[],9:[],10:[]},this._dragState=[],this._over={0:[],1:[],2:[],3:[],4:[],5:[],6:[],7:[],8:[],9:[],10:[]},this._validTypes=["onDown","onUp","onOver","onOut","onMove","onDragStart","onDrag","onDragEnd","onDragEnter","onDragLeave","onDragOver","onDrop"],this._updatedThisFrame=!1,B.sys.events.once(P.BOOT,this.boot,this),B.sys.events.on(P.START,this.start,this)},boot:function(){this.cameras=this.systems.cameras,this.displayList=this.systems.displayList,this.systems.events.once(P.DESTROY,this.destroy,this),this.pluginEvents.emit(v.BOOT)},start:function(){var O=this.systems.events;O.on(P.TRANSITION_START,this.transitionIn,this),O.on(P.TRANSITION_OUT,this.transitionOut,this),O.on(P.TRANSITION_COMPLETE,this.transitionComplete,this),O.on(P.PRE_UPDATE,this.preUpdate,this),O.once(P.SHUTDOWN,this.shutdown,this),this.manager.events.on(v.GAME_OUT,this.onGameOut,this),this.manager.events.on(v.GAME_OVER,this.onGameOver,this),this.enabled=!0,this._dragState=[0,0,0,0,0,0,0,0,0,0],this.pluginEvents.emit(v.START)},onGameOver:function(O){this.isActive()&&this.emit(v.GAME_OVER,O.timeStamp,O)},onGameOut:function(O){this.isActive()&&this.emit(v.GAME_OUT,O.timeStamp,O)},preUpdate:function(){this.pluginEvents.emit(v.PRE_UPDATE);var O=this._pendingRemoval,B=this._pendingInsertion,I=O.length,D=B.length;if(!(I===0&&D===0)){for(var N=this._list,z=0;z-1&&(N.splice(U,1),this.clear(V,!0))}this._pendingRemoval.length=0,this._list=N.concat(B.splice(0))}},isActive:function(){return this.manager&&this.manager.enabled&&this.enabled&&this.scene.sys.canInput()},setCursor:function(O){this.manager&&this.manager.setCursor(O)},resetCursor:function(){this.manager&&this.manager.resetCursor(null,!0)},updatePoll:function(O,B){if(!this.isActive())return!1;if(this.pluginEvents.emit(v.UPDATE,O,B),this._updatedThisFrame)return this._updatedThisFrame=!1,!1;var I,D=this.manager,N=D.pointers;for(I=0;I0)if(this._pollTimer-=B,this._pollTimer<0)this._pollTimer=this.pollRate;else return!1;var V=!1;for(I=0;I0&&(V=!0)}return V},update:function(O,B){if(!this.isActive())return!1;for(var I=!1,D=0;D0&&(I=!0)}return this._updatedThisFrame=!0,I},clear:function(O,B){B===void 0&&(B=!1),this.disable(O);var I=O.input;I&&(this.removeDebug(O),this.manager.resetCursor(I),I.gameObject=void 0,I.target=void 0,I.hitArea=void 0,I.hitAreaCallback=void 0,I.callbackContext=void 0,O.input=null),B||this.queueForRemoval(O);var D=this._draggable.indexOf(O);return D>-1&&this._draggable.splice(D,1),O},disable:function(O,B){B===void 0&&(B=!1);var I=O.input;I&&(I.enabled=!1,I.dragState=0);for(var D=this._drag,N=this._over,z=this.manager,V=0,U;V-1&&D[V].splice(U,1),U=N[V].indexOf(O),U>-1&&N[V].splice(U,1);return B&&this.resetCursor(),this},enable:function(O,B,I,D){return D===void 0&&(D=!1),O.input?O.input.enabled=!0:this.setHitArea(O,B,I),O.input&&D&&!O.input.dropZone&&(O.input.dropZone=D),this},hitTestPointer:function(O){for(var B=this.cameras.getCamerasBelowPointer(O),I=0;I0)return O.camera=D,N}return O.camera=B[0],[]},processDownEvents:function(O){var B=0,I=this._temp,D=this._eventData,N=this._eventContainer;D.cancelled=!1;for(var z=0;z0&&a(O.x,O.y,O.downX,O.downY)>=N||D>0&&B>=O.downTime+D)&&(I=!0),I)return this.setDragState(O,3),this.processDragStartList(O)},processDragStartList:function(O){if(this.getDragState(O)!==3)return 0;var B=this._drag[O.id];B.length>1&&(B=B.slice(0));for(var I=0;I1&&(this.sortGameObjects(I,O),this.topOnly&&I.splice(1)),this._drag[O.id]=I,this.dragDistanceThreshold===0&&this.dragTimeThreshold===0?(this.setDragState(O,3),this.processDragStartList(O)):(this.setDragState(O,2),0))},processDragMoveEvent:function(O){if(this.getDragState(O)===2&&this.processDragThresholdEvent(O,this.manager.game.loop.now),this.getDragState(O)!==4)return 0;var B=this._tempZones,I=this._drag[O.id];I.length>1&&(I=I.slice(0));for(var D=0;D0?(N.emit(v.GAMEOBJECT_DRAG_LEAVE,O,V),this.emit(v.DRAG_LEAVE,O,N,V),z.target=B[0],V=z.target,N.emit(v.GAMEOBJECT_DRAG_ENTER,O,V),this.emit(v.DRAG_ENTER,O,N,V)):(N.emit(v.GAMEOBJECT_DRAG_LEAVE,O,V),this.emit(v.DRAG_LEAVE,O,N,V),B[0]?(z.target=B[0],V=z.target,N.emit(v.GAMEOBJECT_DRAG_ENTER,O,V),this.emit(v.DRAG_ENTER,O,N,V)):z.target=null)}else!V&&B[0]&&(z.target=B[0],V=z.target,N.emit(v.GAMEOBJECT_DRAG_ENTER,O,V),this.emit(v.DRAG_ENTER,O,N,V));var G,b,Y=O.positionToCamera(z.dragStartCamera);if(!N.parentContainer)G=Y.x-z.dragX,b=Y.y-z.dragY;else{var W=Y.x-z.dragStartXGlobal,H=Y.y-z.dragStartYGlobal,X=N.getParentRotation(),K=W*Math.cos(X)+H*Math.sin(X),Z=H*Math.cos(X)-W*Math.sin(X);K*=1/N.parentContainer.scaleX,Z*=1/N.parentContainer.scaleY,G=K+z.dragStartX,b=Z+z.dragStartY}N.emit(v.GAMEOBJECT_DRAG,O,G,b),this.emit(v.DRAG,O,N,G,b)}return I.length},processDragUpEvent:function(O){var B=this._drag[O.id];B.length>1&&(B=B.slice(0));for(var I=0;I0){var z=this.manager,V=this._eventData,U=this._eventContainer;V.cancelled=!1;for(var G=0;G0){var N=this.manager,z=this._eventData,V=this._eventContainer;z.cancelled=!1,this.sortGameObjects(B,O);for(var U=0;U0){for(this.sortGameObjects(N,O),I=0;I0){for(this.sortGameObjects(z,O),I=0;I-1&&this._draggable.splice(N,1)}return this},makePixelPerfect:function(O){O===void 0&&(O=1);var B=this.systems.textures;return o(B,O)},setHitArea:function(O,B,I){if(B===void 0)return this.setHitAreaFromTexture(O);Array.isArray(O)||(O=[O]);var D=!1,N=!1,z=!1,V=!1,U=!1,G=!0;if(C(B)&&Object.keys(B).length){var b=B;B=g(b,"hitArea",null),I=g(b,"hitAreaCallback",null),U=g(b,"pixelPerfect",!1);var Y=g(b,"alphaTolerance",1);U&&(B={},I=this.makePixelPerfect(Y)),D=g(b,"draggable",!1),N=g(b,"dropZone",!1),z=g(b,"cursor",!1),V=g(b,"useHandCursor",!1),(!B||!I)&&(this.setHitAreaFromTexture(O),G=!1)}else typeof B=="function"&&!I&&(I=B,B={});for(var W=0;W{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(35154),l={},i={};i.register=function(s,r,o,a,u){l[s]={plugin:r,mapping:o,settingsKey:a,configKey:u}},i.getPlugin=function(s){return l[s]},i.install=function(s){var r=s.scene.sys,o=r.settings.input,a=r.game.config;for(var u in l){var f=l[u].plugin,v=l[u].mapping,c=l[u].settingsKey,g=l[u].configKey;e(o,c,a[g])&&(s[v]=new f(s))}},i.remove=function(s){l.hasOwnProperty(s)&&delete l[s]},h.exports=i},42515:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(31040),l=t(83419),i=t(20339),s=t(43855),r=t(47235),o=t(26099),a=t(25892),u=new l({initialize:function(v,c){this.manager=v,this.id=c,this.event,this.downElement,this.upElement,this.camera=null,this.button=0,this.buttons=0,this.position=new o,this.prevPosition=new o,this.midPoint=new o(-1,-1),this.velocity=new o,this.angle=0,this.distance=0,this.smoothFactor=0,this.motionFactor=.2,this.worldX=0,this.worldY=0,this.moveTime=0,this.downX=0,this.downY=0,this.downTime=0,this.upX=0,this.upY=0,this.upTime=0,this.primaryDown=!1,this.isDown=!1,this.wasTouch=!1,this.wasCanceled=!1,this.movementX=0,this.movementY=0,this.identifier=0,this.pointerId=null,this.active=c===0,this.locked=!1,this.deltaX=0,this.deltaY=0,this.deltaZ=0},updateWorldPoint:function(f){var v=f.getWorldPoint(this.x,this.y);return this.worldX=v.x,this.worldY=v.y,this},positionToCamera:function(f,v){return f.getWorldPoint(this.x,this.y,v)},updateMotion:function(){var f=this.position.x,v=this.position.y,c=this.midPoint.x,g=this.midPoint.y;if(!(f===c&&v===g)){var p=r(this.motionFactor,c,f),T=r(this.motionFactor,g,v);s(p,f,.1)&&(p=f),s(T,v,.1)&&(T=v),this.midPoint.set(p,T);var C=f-p,M=v-T;this.velocity.set(C,M),this.angle=e(p,T,f,v),this.distance=Math.sqrt(C*C+M*M)}},up:function(f){"buttons"in f&&(this.buttons=f.buttons),this.event=f,this.button=f.button,this.upElement=f.target,this.manager.transformPointer(this,f.pageX,f.pageY,!1),f.button===0&&(this.primaryDown=!1,this.upX=this.x,this.upY=this.y),this.buttons===0&&(this.isDown=!1,this.upTime=f.timeStamp,this.wasTouch=!1)},down:function(f){"buttons"in f&&(this.buttons=f.buttons),this.event=f,this.button=f.button,this.downElement=f.target,this.manager.transformPointer(this,f.pageX,f.pageY,!1),f.button===0&&(this.primaryDown=!0,this.downX=this.x,this.downY=this.y),a.macOS&&f.ctrlKey&&(this.buttons=2,this.primaryDown=!1),this.isDown||(this.isDown=!0,this.downTime=f.timeStamp),this.wasTouch=!1},move:function(f){"buttons"in f&&(this.buttons=f.buttons),this.event=f,this.manager.transformPointer(this,f.pageX,f.pageY,!0),this.locked&&(this.movementX=f.movementX||f.mozMovementX||f.webkitMovementX||0,this.movementY=f.movementY||f.mozMovementY||f.webkitMovementY||0),this.moveTime=f.timeStamp,this.wasTouch=!1},wheel:function(f){"buttons"in f&&(this.buttons=f.buttons),this.event=f,this.manager.transformPointer(this,f.pageX,f.pageY,!1),this.deltaX=f.deltaX,this.deltaY=f.deltaY,this.deltaZ=f.deltaZ,this.wasTouch=!1},touchstart:function(f,v){f.pointerId&&(this.pointerId=f.pointerId),this.identifier=f.identifier,this.target=f.target,this.active=!0,this.buttons=1,this.event=v,this.downElement=f.target,this.manager.transformPointer(this,f.pageX,f.pageY,!1),this.primaryDown=!0,this.downX=this.x,this.downY=this.y,this.downTime=v.timeStamp,this.isDown=!0,this.wasTouch=!0,this.wasCanceled=!1,this.updateMotion()},touchmove:function(f,v){this.event=v,this.manager.transformPointer(this,f.pageX,f.pageY,!0),this.moveTime=v.timeStamp,this.wasTouch=!0,this.updateMotion()},touchend:function(f,v){this.buttons=0,this.event=v,this.upElement=f.target,this.manager.transformPointer(this,f.pageX,f.pageY,!1),this.primaryDown=!1,this.upX=this.x,this.upY=this.y,this.upTime=v.timeStamp,this.isDown=!1,this.wasTouch=!0,this.wasCanceled=!1,this.active=!1,this.updateMotion()},touchcancel:function(f,v){this.buttons=0,this.event=v,this.upElement=f.target,this.manager.transformPointer(this,f.pageX,f.pageY,!1),this.primaryDown=!1,this.upX=this.x,this.upY=this.y,this.upTime=v.timeStamp,this.isDown=!1,this.wasTouch=!0,this.wasCanceled=!0,this.active=!1},noButtonDown:function(){return this.buttons===0},leftButtonDown:function(){return!!(this.buttons&1)},rightButtonDown:function(){return!!(this.buttons&2)},middleButtonDown:function(){return!!(this.buttons&4)},backButtonDown:function(){return!!(this.buttons&8)},forwardButtonDown:function(){return!!(this.buttons&16)},leftButtonReleased:function(){return this.buttons===0?this.button===0&&!this.isDown:this.button===0},rightButtonReleased:function(){return this.buttons===0?this.button===2&&!this.isDown:this.button===2},middleButtonReleased:function(){return this.buttons===0?this.button===1&&!this.isDown:this.button===1},backButtonReleased:function(){return this.buttons===0?this.button===3&&!this.isDown:this.button===3},forwardButtonReleased:function(){return this.buttons===0?this.button===4&&!this.isDown:this.button===4},getDistance:function(){return this.isDown?i(this.downX,this.downY,this.x,this.y):i(this.downX,this.downY,this.upX,this.upY)},getDistanceX:function(){return this.isDown?Math.abs(this.downX-this.x):Math.abs(this.downX-this.upX)},getDistanceY:function(){return this.isDown?Math.abs(this.downY-this.y):Math.abs(this.downY-this.upY)},getDuration:function(){return this.isDown?this.manager.time-this.downTime:this.upTime-this.downTime},getAngle:function(){return this.isDown?e(this.downX,this.downY,this.x,this.y):e(this.downX,this.downY,this.upX,this.upY)},getInterpolatedPosition:function(f,v){f===void 0&&(f=10),v===void 0&&(v=[]);for(var c=this.prevPosition.x,g=this.prevPosition.y,p=this.position.x,T=this.position.y,C=0;C{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={MOUSE_DOWN:0,MOUSE_MOVE:1,MOUSE_UP:2,TOUCH_START:3,TOUCH_MOVE:4,TOUCH_END:5,POINTER_LOCK_CHANGE:6,TOUCH_CANCEL:7,MOUSE_WHEEL:8};h.exports=d},7179:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="boot"},85375:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="destroy"},39843:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="dragend"},23388:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="dragenter"},16133:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="drag"},27829:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="dragleave"},53904:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="dragover"},56058:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="dragstart"},2642:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="drop"},88171:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="gameobjectdown"},36147:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="dragend"},71692:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="dragenter"},96149:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="drag"},81285:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="dragleave"},74048:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="dragover"},21322:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="dragstart"},49378:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="drop"},86754:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="gameobjectmove"},86433:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="gameobjectout"},60709:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="gameobjectover"},24081:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pointerdown"},11172:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pointermove"},18907:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pointerout"},95579:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pointerover"},35368:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pointerup"},26972:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="wheel"},47078:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="gameobjectup"},73802:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="gameobjectwheel"},56718:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="gameout"},25936:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="gameover"},27503:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="boot"},50852:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="process"},96438:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="update"},59152:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pointerlockchange"},47777:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pointerdown"},27957:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pointerdownoutside"},19444:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pointermove"},54251:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pointerout"},18667:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pointerover"},27192:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pointerup"},24652:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pointerupoutside"},45132:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="wheel"},44512:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="preupdate"},15757:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="shutdown"},41637:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="start"},93802:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="update"},8214:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={BOOT:t(7179),DESTROY:t(85375),DRAG_END:t(39843),DRAG_ENTER:t(23388),DRAG:t(16133),DRAG_LEAVE:t(27829),DRAG_OVER:t(53904),DRAG_START:t(56058),DROP:t(2642),GAME_OUT:t(56718),GAME_OVER:t(25936),GAMEOBJECT_DOWN:t(88171),GAMEOBJECT_DRAG_END:t(36147),GAMEOBJECT_DRAG_ENTER:t(71692),GAMEOBJECT_DRAG:t(96149),GAMEOBJECT_DRAG_LEAVE:t(81285),GAMEOBJECT_DRAG_OVER:t(74048),GAMEOBJECT_DRAG_START:t(21322),GAMEOBJECT_DROP:t(49378),GAMEOBJECT_MOVE:t(86754),GAMEOBJECT_OUT:t(86433),GAMEOBJECT_OVER:t(60709),GAMEOBJECT_POINTER_DOWN:t(24081),GAMEOBJECT_POINTER_MOVE:t(11172),GAMEOBJECT_POINTER_OUT:t(18907),GAMEOBJECT_POINTER_OVER:t(95579),GAMEOBJECT_POINTER_UP:t(35368),GAMEOBJECT_POINTER_WHEEL:t(26972),GAMEOBJECT_UP:t(47078),GAMEOBJECT_WHEEL:t(73802),MANAGER_BOOT:t(27503),MANAGER_PROCESS:t(50852),MANAGER_UPDATE:t(96438),POINTER_DOWN:t(47777),POINTER_DOWN_OUTSIDE:t(27957),POINTER_MOVE:t(19444),POINTER_OUT:t(54251),POINTER_OVER:t(18667),POINTER_UP:t(27192),POINTER_UP_OUTSIDE:t(24652),POINTER_WHEEL:t(45132),POINTERLOCK_CHANGE:t(59152),PRE_UPDATE:t(44512),SHUTDOWN:t(15757),START:t(41637),UPDATE:t(93802)}},97421:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s,r){this.pad=s,this.events=s.events,this.index=r,this.value=0,this.threshold=.1},update:function(i){this.value=i},getValue:function(){return Math.abs(this.value){/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(92734),i=new e({initialize:function(r,o,a){a===void 0&&(a=!1),this.pad=r,this.events=r.manager,this.index=o,this.value=0,this.threshold=1,this.pressed=a},update:function(s){this.value=s;var r=this.pad,o=this.index;s>=this.threshold?this.pressed||(this.pressed=!0,this.events.emit(l.BUTTON_DOWN,r,this,s),this.pad.emit(l.GAMEPAD_BUTTON_DOWN,o,s,this)):this.pressed&&(this.pressed=!1,this.events.emit(l.BUTTON_UP,r,this,s),this.pad.emit(l.GAMEPAD_BUTTON_UP,o,s,this))},destroy:function(){this.pad=null,this.events=null}});h.exports=i},99125:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(97421),l=t(28884),i=t(83419),s=t(50792),r=t(26099),o=new i({Extends:s,initialize:function(u,f){s.call(this),this.manager=u,this.pad=f,this.id=f.id,this.index=f.index;for(var v=[],c=0;c=.5));this.buttons=v;var g=[];for(c=0;c=2&&(this.leftStick.set(g[0].getValue(),g[1].getValue()),c>=4&&this.rightStick.set(g[2].getValue(),g[3].getValue()))}},destroy:function(){this.removeAllListeners(),this.manager=null,this.pad=null;var a;for(a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(50792),i=t(92734),s=t(99125),r=t(35154),o=t(89639),a=t(8214),u=new e({Extends:l,initialize:function(v){l.call(this),this.scene=v.scene,this.settings=this.scene.sys.settings,this.sceneInputPlugin=v,this.enabled=!0,this.target,this.gamepads=[],this.queue=[],this.onGamepadHandler,this._pad1,this._pad2,this._pad3,this._pad4,v.pluginEvents.once(a.BOOT,this.boot,this),v.pluginEvents.on(a.START,this.start,this)},boot:function(){var f=this.scene.sys.game,v=this.settings.input,c=f.config;this.enabled=r(v,"gamepad",c.inputGamepad)&&f.device.input.gamepads,this.target=r(v,"gamepad.target",c.inputGamepadEventTarget),this.sceneInputPlugin.pluginEvents.once(a.DESTROY,this.destroy,this)},start:function(){this.enabled&&(this.startListeners(),this.refreshPads()),this.sceneInputPlugin.pluginEvents.once(a.SHUTDOWN,this.shutdown,this)},isActive:function(){return this.enabled&&this.scene.sys.isActive()},startListeners:function(){var f=this,v=this.target,c=function(g){g.defaultPrevented||!f.isActive()||(f.refreshPads(),f.queue.push(g))};this.onGamepadHandler=c,v.addEventListener("gamepadconnected",c,!1),v.addEventListener("gamepaddisconnected",c,!1),this.sceneInputPlugin.pluginEvents.on(a.UPDATE,this.update,this)},stopListeners:function(){this.target.removeEventListener("gamepadconnected",this.onGamepadHandler),this.target.removeEventListener("gamepaddisconnected",this.onGamepadHandler),this.sceneInputPlugin.pluginEvents.off(a.UPDATE,this.update);for(var f=this.gamepads,v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={UP:12,DOWN:13,LEFT:14,RIGHT:15,SELECT:8,START:9,B:0,A:1,Y:2,X:3,LEFT_SHOULDER:4,RIGHT_SHOULDER:5}},65294:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={UP:12,DOWN:13,LEFT:14,RIGHT:15,SHARE:8,OPTIONS:9,PS:16,TOUCHBAR:17,X:0,CIRCLE:1,SQUARE:2,TRIANGLE:3,L1:4,R1:5,L2:6,R2:7,L3:10,R3:11,LEFT_STICK_H:0,LEFT_STICK_V:1,RIGHT_STICK_H:2,RIGHT_STICK_V:3}},90089:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={UP:12,DOWN:13,LEFT:14,RIGHT:15,MENU:16,A:0,B:1,X:2,Y:3,LB:4,RB:5,LT:6,RT:7,BACK:8,START:9,LS:10,RS:11,LEFT_STICK_H:0,LEFT_STICK_V:1,RIGHT_STICK_H:2,RIGHT_STICK_V:3}},64894:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={DUALSHOCK_4:t(65294),SNES_USB:t(89651),XBOX_360:t(90089)}},46008:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="down"},7629:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="up"},42206:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="connected"},86544:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="disconnected"},94784:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="down"},14325:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="up"},92734:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={BUTTON_DOWN:t(46008),BUTTON_UP:t(7629),CONNECTED:t(42206),DISCONNECTED:t(86544),GAMEPAD_BUTTON_DOWN:t(94784),GAMEPAD_BUTTON_UP:t(14325)}},48646:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Axis:t(97421),Button:t(28884),Events:t(92734),Gamepad:t(99125),GamepadPlugin:t(56654),Configs:t(64894)}},14350:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(93301),l=t(79291),i={CreatePixelPerfectHandler:t(84409),CreateInteractiveObject:t(74457),Events:t(8214),Gamepad:t(48646),InputManager:t(7003),InputPlugin:t(48205),InputPluginCache:t(89639),Keyboard:t(51442),Mouse:t(87078),Pointer:t(42515),Touch:t(95618)};i=l(!1,i,e),h.exports=i},78970:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(72905),l=t(83419),i=t(8443),s=t(8214),r=t(46032),o=t(29747),a=new l({initialize:function(f){this.manager=f,this.queue=[],this.preventDefault=!0,this.captures=[],this.enabled=!1,this.target,this.onKeyDown=o,this.onKeyUp=o,f.events.once(s.MANAGER_BOOT,this.boot,this)},boot:function(){var u=this.manager.config;this.enabled=u.inputKeyboard,this.target=u.inputKeyboardEventTarget,this.addCapture(u.inputKeyboardCapture),!this.target&&window&&(this.target=window),this.enabled&&this.target&&this.startListeners(),this.manager.game.events.on(i.POST_STEP,this.postUpdate,this)},startListeners:function(){var u=this;this.onKeyDown=function(v){if(!(v.defaultPrevented||!u.enabled||!u.manager)){u.queue.push(v),u.manager.events.emit(s.MANAGER_PROCESS);var c=v.altKey||v.ctrlKey||v.shiftKey||v.metaKey;u.preventDefault&&!c&&u.captures.indexOf(v.keyCode)>-1&&v.preventDefault()}},this.onKeyUp=function(v){if(!(v.defaultPrevented||!u.enabled||!u.manager)){u.queue.push(v),u.manager.events.emit(s.MANAGER_PROCESS);var c=v.altKey||v.ctrlKey||v.shiftKey||v.metaKey;u.preventDefault&&!c&&u.captures.indexOf(v.keyCode)>-1&&v.preventDefault()}};var f=this.target;f&&(f.addEventListener("keydown",this.onKeyDown,!1),f.addEventListener("keyup",this.onKeyUp,!1),this.enabled=!0)},stopListeners:function(){var u=this.target;u.removeEventListener("keydown",this.onKeyDown,!1),u.removeEventListener("keyup",this.onKeyUp,!1),this.enabled=!1},postUpdate:function(){this.queue=[]},addCapture:function(u){typeof u=="string"&&(u=u.split(",")),Array.isArray(u)||(u=[u]);for(var f=this.captures,v=0;v0},removeCapture:function(u){typeof u=="string"&&(u=u.split(",")),Array.isArray(u)||(u=[u]);for(var f=this.captures,v=0;v0},clearCaptures:function(){this.captures=[],this.preventDefault=!1},destroy:function(){this.stopListeners(),this.clearCaptures(),this.queue=[],this.manager.game.events.off(i.POST_RENDER,this.postUpdate,this),this.target=null,this.enabled=!1,this.manager=null}});h.exports=a},28846:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(50792),i=t(95922),s=t(8443),r=t(35154),o=t(8214),a=t(89639),u=t(30472),f=t(46032),v=t(87960),c=t(74600),g=t(44594),p=t(56583),T=new e({Extends:l,initialize:function(M){l.call(this),this.game=M.systems.game,this.scene=M.scene,this.settings=this.scene.sys.settings,this.sceneInputPlugin=M,this.manager=M.manager.keyboard,this.enabled=!0,this.keys=[],this.combos=[],this.prevCode=null,this.prevTime=0,this.prevType=null,M.pluginEvents.once(o.BOOT,this.boot,this),M.pluginEvents.on(o.START,this.start,this)},boot:function(){var C=this.settings.input;this.enabled=r(C,"keyboard",!0);var M=r(C,"keyboard.capture",null);M&&this.addCaptures(M),this.sceneInputPlugin.pluginEvents.once(o.DESTROY,this.destroy,this)},start:function(){this.sceneInputPlugin.manager.events.on(o.MANAGER_PROCESS,this.update,this),this.sceneInputPlugin.pluginEvents.once(o.SHUTDOWN,this.shutdown,this),this.game.events.on(s.BLUR,this.resetKeys,this),this.scene.sys.events.on(g.PAUSE,this.resetKeys,this),this.scene.sys.events.on(g.SLEEP,this.resetKeys,this)},isActive:function(){return this.enabled&&this.scene.sys.canInput()},addCapture:function(C){return this.manager.addCapture(C),this},removeCapture:function(C){return this.manager.removeCapture(C),this},getCaptures:function(){return this.manager.captures},enableGlobalCapture:function(){return this.manager.preventDefault=!0,this},disableGlobalCapture:function(){return this.manager.preventDefault=!1,this},clearCaptures:function(){return this.manager.clearCaptures(),this},createCursorKeys:function(){return this.addKeys({up:f.UP,down:f.DOWN,left:f.LEFT,right:f.RIGHT,space:f.SPACE,shift:f.SHIFT})},addKeys:function(C,M,A){M===void 0&&(M=!0),A===void 0&&(A=!1);var R={};if(typeof C=="string"){C=C.split(",");for(var P=0;P-1?R[P]=C:R[C.keyCode]=C,M&&this.addCapture(C.keyCode),C.setEmitOnRepeat(A),C}return typeof C=="string"&&(C=f[C.toUpperCase()]),R[C]||(R[C]=new u(this,C),M&&this.addCapture(C),R[C].setEmitOnRepeat(A)),R[C]},removeKey:function(C,M,A){M===void 0&&(M=!1),A===void 0&&(A=!1);var R=this.keys,P;if(C instanceof u){var L=R.indexOf(C);L>-1&&(P=this.keys[L],this.keys[L]=void 0)}else typeof C=="string"&&(C=f[C.toUpperCase()]);return R[C]&&(P=R[C],R[C]=void 0),P&&(P.plugin=null,A&&this.removeCapture(P.keyCode),M&&P.destroy()),this},removeAllKeys:function(C,M){C===void 0&&(C=!1),M===void 0&&(M=!1);for(var A=this.keys,R=0;RC._tick)return C._tick=A,!0}return!1},update:function(){var C=this.manager.queue,M=C.length;if(!(!this.isActive()||M===0))for(var A=this.keys,R=0;R{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e.timeLastMatched=t.timeStamp,e.index++,e.index===e.size?!0:(e.current=e.keyCodes[e.index],!1)};h.exports=d},87960:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(95922),i=t(95540),s=t(68769),r=t(92803),o=new e({initialize:function(u,f,v){if(v===void 0&&(v={}),f.length<2)return!1;this.manager=u,this.enabled=!0,this.keyCodes=[];for(var c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(66970),l=function(i,s){if(s.matched)return!0;var r=!1,o=!1;if(i.keyCode===s.current)if(s.index>0&&s.maxKeyDelay>0){var a=s.timeLastMatched+s.maxKeyDelay;i.timeStamp<=a&&(o=!0,r=e(i,s))}else o=!0,r=e(i,s);return!o&&s.resetOnWrongKey&&(s.index=0,s.current=s.keyCodes[0]),r&&(s.timeLastMatched=i.timeStamp,s.matched=!0,s.timeMatched=i.timeStamp),r};h.exports=l},92803:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.current=t.keyCodes[0],t.index=0,t.timeLastMatched=0,t.matched=!1,t.timeMatched=0,t};h.exports=d},92612:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="keydown"},23345:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="keyup"},21957:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="keycombomatch"},44743:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="down"},3771:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="keydown-"},46358:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="keyup-"},75674:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="up"},95922:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={ANY_KEY_DOWN:t(92612),ANY_KEY_UP:t(23345),COMBO_MATCH:t(21957),DOWN:t(44743),KEY_DOWN:t(3771),KEY_UP:t(46358),UP:t(75674)}},51442:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Events:t(95922),KeyboardManager:t(78970),KeyboardPlugin:t(28846),Key:t(30472),KeyCodes:t(46032),KeyCombo:t(87960),AdvanceKeyCombo:t(66970),ProcessKeyCombo:t(68769),ResetKeyCombo:t(92803),JustDown:t(90229),JustUp:t(38796),DownDuration:t(37015),UpDuration:t(41170)}},37015:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){e===void 0&&(e=50);var l=t.plugin.game.loop.time-t.timeDown;return t.isDown&&l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t._justDown?(t._justDown=!1,!0):!1};h.exports=d},38796:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t._justUp?(t._justUp=!1,!0):!1};h.exports=d},30472:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(50792),i=t(95922),s=new e({Extends:l,initialize:function(o,a){l.call(this),this.plugin=o,this.keyCode=a,this.originalEvent=void 0,this.enabled=!0,this.isDown=!1,this.isUp=!0,this.altKey=!1,this.ctrlKey=!1,this.shiftKey=!1,this.metaKey=!1,this.location=0,this.timeDown=0,this.duration=0,this.timeUp=0,this.emitOnRepeat=!1,this.repeats=0,this._justDown=!1,this._justUp=!1,this._tick=-1},setEmitOnRepeat:function(r){return this.emitOnRepeat=r,this},onDown:function(r){this.originalEvent=r,this.enabled&&(this.altKey=r.altKey,this.ctrlKey=r.ctrlKey,this.shiftKey=r.shiftKey,this.metaKey=r.metaKey,this.location=r.location,this.repeats++,this.isDown?this.emitOnRepeat&&this.emit(i.DOWN,this,r):(this.isDown=!0,this.isUp=!1,this.timeDown=r.timeStamp,this.duration=0,this._justDown=!0,this._justUp=!1,this.emit(i.DOWN,this,r)))},onUp:function(r){this.originalEvent=r,this.enabled&&(this.isDown=!1,this.isUp=!0,this.timeUp=r.timeStamp,this.duration=this.timeUp-this.timeDown,this.repeats=0,this._justDown=!1,this._justUp=!0,this._tick=-1,this.emit(i.UP,this,r))},reset:function(){return this.isDown=!1,this.isUp=!0,this.altKey=!1,this.ctrlKey=!1,this.shiftKey=!1,this.metaKey=!1,this.timeDown=0,this.duration=0,this.timeUp=0,this.repeats=0,this._justDown=!1,this._justUp=!1,this._tick=-1,this},getDuration:function(){return this.isDown?this.plugin.game.loop.time-this.timeDown:0},destroy:function(){this.removeAllListeners(),this.originalEvent=null,this.plugin=null}});h.exports=s},46032:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:42,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,NUMPAD_ZERO:96,NUMPAD_ONE:97,NUMPAD_TWO:98,NUMPAD_THREE:99,NUMPAD_FOUR:100,NUMPAD_FIVE:101,NUMPAD_SIX:102,NUMPAD_SEVEN:103,NUMPAD_EIGHT:104,NUMPAD_NINE:105,NUMPAD_ADD:107,NUMPAD_SUBTRACT:109,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,SEMICOLON:186,PLUS:187,COMMA:188,MINUS:189,PERIOD:190,FORWARD_SLASH:191,BACK_SLASH:220,QUOTES:222,BACKTICK:192,OPEN_BRACKET:219,CLOSED_BRACKET:221,SEMICOLON_FIREFOX:59,COLON:58,COMMA_FIREFOX_WINDOWS:60,COMMA_FIREFOX:62,BRACKET_RIGHT_FIREFOX:174,BRACKET_LEFT_FIREFOX:175};h.exports=d},74600:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(46032),l={};for(var i in e)l[e[i]]=i;h.exports=l},41170:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){e===void 0&&(e=50);var l=t.plugin.game.loop.time-t.timeUp;return t.isUp&&l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(89357),i=t(8214),s=t(29747),r=new e({initialize:function(a){this.manager=a,this.preventDefaultDown=!0,this.preventDefaultUp=!0,this.preventDefaultMove=!0,this.preventDefaultWheel=!1,this.enabled=!1,this.target,this.locked=!1,this.onMouseMove=s,this.onMouseDown=s,this.onMouseUp=s,this.onMouseDownWindow=s,this.onMouseUpWindow=s,this.onMouseOver=s,this.onMouseOut=s,this.onMouseWheel=s,this.pointerLockChange=s,this.isTop=!0,a.events.once(i.MANAGER_BOOT,this.boot,this)},boot:function(){var o=this.manager.config;this.enabled=o.inputMouse,this.target=o.inputMouseEventTarget,this.passive=o.inputMousePassive,this.preventDefaultDown=o.inputMousePreventDefaultDown,this.preventDefaultUp=o.inputMousePreventDefaultUp,this.preventDefaultMove=o.inputMousePreventDefaultMove,this.preventDefaultWheel=o.inputMousePreventDefaultWheel,this.target?typeof this.target=="string"&&(this.target=document.getElementById(this.target)):this.target=this.manager.game.canvas,o.disableContextMenu&&this.disableContextMenu(),this.enabled&&this.target&&this.startListeners()},disableContextMenu:function(){return this.target.addEventListener("contextmenu",function(o){return o.preventDefault(),!1}),this},requestPointerLock:function(){if(l.pointerLock){var o=this.target;o.requestPointerLock=o.requestPointerLock||o.mozRequestPointerLock||o.webkitRequestPointerLock,o.requestPointerLock()}},releasePointerLock:function(){l.pointerLock&&(document.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock,document.exitPointerLock())},startListeners:function(){var o=this.target;if(o){var a=this,u=this.manager,f=u.canvas,v=window&&window.focus&&u.game.config.autoFocus;this.onMouseMove=function(g){!g.defaultPrevented&&a.enabled&&u&&u.enabled&&(u.onMouseMove(g),a.preventDefaultMove&&g.preventDefault())},this.onMouseDown=function(g){v&&window.focus(),!g.defaultPrevented&&a.enabled&&u&&u.enabled&&(u.onMouseDown(g),a.preventDefaultDown&&g.target===f&&g.preventDefault())},this.onMouseDownWindow=function(g){g.sourceCapabilities&&g.sourceCapabilities.firesTouchEvents||!g.defaultPrevented&&a.enabled&&u&&u.enabled&&g.target!==f&&u.onMouseDown(g)},this.onMouseUp=function(g){!g.defaultPrevented&&a.enabled&&u&&u.enabled&&(u.onMouseUp(g),a.preventDefaultUp&&g.target===f&&g.preventDefault())},this.onMouseUpWindow=function(g){g.sourceCapabilities&&g.sourceCapabilities.firesTouchEvents||!g.defaultPrevented&&a.enabled&&u&&u.enabled&&g.target!==f&&u.onMouseUp(g)},this.onMouseOver=function(g){!g.defaultPrevented&&a.enabled&&u&&u.enabled&&u.setCanvasOver(g)},this.onMouseOut=function(g){!g.defaultPrevented&&a.enabled&&u&&u.enabled&&u.setCanvasOut(g)},this.onMouseWheel=function(g){!g.defaultPrevented&&a.enabled&&u&&u.enabled&&u.onMouseWheel(g),a.preventDefaultWheel&&g.target===f&&g.preventDefault()};var c={passive:!0};if(o.addEventListener("mousemove",this.onMouseMove),o.addEventListener("mousedown",this.onMouseDown),o.addEventListener("mouseup",this.onMouseUp),o.addEventListener("mouseover",this.onMouseOver,c),o.addEventListener("mouseout",this.onMouseOut,c),this.preventDefaultWheel?o.addEventListener("wheel",this.onMouseWheel,{passive:!1}):o.addEventListener("wheel",this.onMouseWheel,c),window&&u.game.config.inputWindowEvents)try{window.top.addEventListener("mousedown",this.onMouseDownWindow,c),window.top.addEventListener("mouseup",this.onMouseUpWindow,c)}catch{window.addEventListener("mousedown",this.onMouseDownWindow,c),window.addEventListener("mouseup",this.onMouseUpWindow,c),this.isTop=!1}l.pointerLock&&(this.pointerLockChange=function(g){var p=a.target;a.locked=document.pointerLockElement===p||document.mozPointerLockElement===p||document.webkitPointerLockElement===p,u.onPointerLockChange(g)},document.addEventListener("pointerlockchange",this.pointerLockChange,!0),document.addEventListener("mozpointerlockchange",this.pointerLockChange,!0),document.addEventListener("webkitpointerlockchange",this.pointerLockChange,!0)),this.enabled=!0}},stopListeners:function(){var o=this.target;o.removeEventListener("mousemove",this.onMouseMove),o.removeEventListener("mousedown",this.onMouseDown),o.removeEventListener("mouseup",this.onMouseUp),o.removeEventListener("mouseover",this.onMouseOver),o.removeEventListener("mouseout",this.onMouseOut),window&&(o=this.isTop?window.top:window,o.removeEventListener("mousedown",this.onMouseDownWindow),o.removeEventListener("mouseup",this.onMouseUpWindow)),l.pointerLock&&(document.removeEventListener("pointerlockchange",this.pointerLockChange,!0),document.removeEventListener("mozpointerlockchange",this.pointerLockChange,!0),document.removeEventListener("webkitpointerlockchange",this.pointerLockChange,!0))},destroy:function(){this.stopListeners(),this.target=null,this.enabled=!1,this.manager=null}});h.exports=r},87078:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={MouseManager:t(85098)}},36210:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(8214),i=t(29747),s=new e({initialize:function(o){this.manager=o,this.capture=!0,this.enabled=!1,this.target,this.onTouchStart=i,this.onTouchStartWindow=i,this.onTouchMove=i,this.onTouchEnd=i,this.onTouchEndWindow=i,this.onTouchCancel=i,this.onTouchCancelWindow=i,this.isTop=!0,o.events.once(l.MANAGER_BOOT,this.boot,this)},boot:function(){var r=this.manager.config;this.enabled=r.inputTouch,this.target=r.inputTouchEventTarget,this.capture=r.inputTouchCapture,this.target?typeof this.target=="string"&&(this.target=document.getElementById(this.target)):this.target=this.manager.game.canvas,r.disableContextMenu&&this.disableContextMenu(),this.enabled&&this.target&&this.startListeners()},disableContextMenu:function(){return this.target.addEventListener("contextmenu",function(r){return r.preventDefault(),!1}),this},startListeners:function(){var r=this.target;if(r){var o=this,a=this.manager,u=a.canvas,f=window&&window.focus&&a.game.config.autoFocus;this.onTouchMove=function(p){!p.defaultPrevented&&o.enabled&&a&&a.enabled&&(a.onTouchMove(p),o.capture&&p.cancelable&&p.preventDefault())},this.onTouchStart=function(p){f&&window.focus(),!p.defaultPrevented&&o.enabled&&a&&a.enabled&&(a.onTouchStart(p),o.capture&&p.cancelable&&p.target===u&&p.preventDefault())},this.onTouchStartWindow=function(p){!p.defaultPrevented&&o.enabled&&a&&a.enabled&&p.target!==u&&a.onTouchStart(p)},this.onTouchEnd=function(p){!p.defaultPrevented&&o.enabled&&a&&a.enabled&&(a.onTouchEnd(p),o.capture&&p.cancelable&&p.target===u&&p.preventDefault())},this.onTouchEndWindow=function(p){!p.defaultPrevented&&o.enabled&&a&&a.enabled&&p.target!==u&&a.onTouchEnd(p)},this.onTouchCancel=function(p){!p.defaultPrevented&&o.enabled&&a&&a.enabled&&(a.onTouchCancel(p),o.capture&&p.preventDefault())},this.onTouchCancelWindow=function(p){!p.defaultPrevented&&o.enabled&&a&&a.enabled&&a.onTouchCancel(p)};var v=this.capture,c={passive:!0},g={passive:!1};if(r.addEventListener("touchstart",this.onTouchStart,v?g:c),r.addEventListener("touchmove",this.onTouchMove,v?g:c),r.addEventListener("touchend",this.onTouchEnd,v?g:c),r.addEventListener("touchcancel",this.onTouchCancel,v?g:c),window&&a.game.config.inputWindowEvents)try{window.top.addEventListener("touchstart",this.onTouchStartWindow,g),window.top.addEventListener("touchend",this.onTouchEndWindow,g),window.top.addEventListener("touchcancel",this.onTouchCancelWindow,g)}catch{window.addEventListener("touchstart",this.onTouchStartWindow,g),window.addEventListener("touchend",this.onTouchEndWindow,g),window.addEventListener("touchcancel",this.onTouchCancelWindow,g),this.isTop=!1}this.enabled=!0}},stopListeners:function(){var r=this.target;r.removeEventListener("touchstart",this.onTouchStart),r.removeEventListener("touchmove",this.onTouchMove),r.removeEventListener("touchend",this.onTouchEnd),r.removeEventListener("touchcancel",this.onTouchCancel),window&&(r=this.isTop?window.top:window,r.removeEventListener("touchstart",this.onTouchStartWindow),r.removeEventListener("touchend",this.onTouchEndWindow),r.removeEventListener("touchcancel",this.onTouchCancelWindow))},destroy:function(){this.stopListeners(),this.target=null,this.enabled=!1,this.manager=null}});h.exports=s},95618:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={TouchManager:t(36210)}},41299:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(54899),s=t(95540),r=t(98356),o=t(3374),a=t(84376),u=t(92638),f=new e({initialize:function(c,g){if(this.loader=c,this.cache=s(g,"cache",!1),this.type=s(g,"type",!1),!this.type)throw new Error("Invalid File type: "+this.type);this.key=s(g,"key",!1);var p=this.key;if(c.prefix&&c.prefix!==""&&(this.key=c.prefix+p),!this.key)throw new Error("Invalid File key: "+this.key);var T=s(g,"url");T===void 0?T=c.path+p+"."+s(g,"extension",""):typeof T=="string"&&!T.match(/^(?:blob:|data:|capacitor:\/\/|http:\/\/|https:\/\/|\/\/)/)&&(T=c.path+T),this.url=T,this.src="",this.xhrSettings=u(s(g,"responseType",void 0)),s(g,"xhrSettings",!1)&&(this.xhrSettings=o(this.xhrSettings,s(g,"xhrSettings",{}))),this.xhrLoader=null,this.state=typeof this.url=="function"?l.FILE_POPULATED:l.FILE_PENDING,this.bytesTotal=0,this.bytesLoaded=-1,this.percentComplete=-1,this.crossOrigin=void 0,this.data=void 0,this.config=s(g,"config",{}),this.multiFile,this.linkFile,this.base64=typeof T=="string"&&T.indexOf("data:")===0,this.retryAttempts=s(g,"maxRetries",c.maxRetries)},setLink:function(v){this.linkFile=v,v.linkFile=this},resetXHR:function(){this.xhrLoader&&(this.xhrLoader.onload=void 0,this.xhrLoader.onerror=void 0,this.xhrLoader.onprogress=void 0)},load:function(){if(this.state===l.FILE_POPULATED)this.loader.nextFile(this,!0);else{if(this.state=l.FILE_LOADING,this.src=r(this,this.loader.baseURL),!this.src)throw new Error("URL Error in File: "+this.key+" from: "+this.url);this.src.indexOf("data:")===0&&(this.base64=!0),this.xhrLoader=a(this,this.loader.xhr)}},onLoad:function(v,c){var g=v.responseURL&&this.loader.localSchemes.some(function(C){return v.responseURL.indexOf(C)===0}),p=g&&c.target.status===0,T=!(c.target&&c.target.status!==200)||p;v.readyState===4&&v.status>=400&&v.status<=599&&(T=!1),this.state=l.FILE_LOADED,this.resetXHR(),this.loader.nextFile(this,T)},onBase64Load:function(v){this.xhrLoader=v,this.state=l.FILE_LOADED,this.percentComplete=1,this.loader.emit(i.FILE_PROGRESS,this,this.percentComplete),this.loader.nextFile(this,!0)},onError:function(){this.resetXHR(),this.retryAttempts>0?(this.retryAttempts--,this.load()):this.loader.nextFile(this,!1)},onProgress:function(v){v.lengthComputable&&(this.bytesLoaded=v.loaded,this.bytesTotal=v.total,this.percentComplete=Math.min(this.bytesLoaded/this.bytesTotal,1),this.loader.emit(i.FILE_PROGRESS,this,this.percentComplete))},onProcess:function(){this.state=l.FILE_PROCESSING,this.onProcessComplete()},onProcessComplete:function(){this.state=l.FILE_COMPLETE,this.multiFile&&this.multiFile.onFileComplete(this),this.loader.fileProcessComplete(this)},onProcessError:function(){console.error('Failed to process file: %s "%s"',this.type,this.key),this.state=l.FILE_ERRORED,this.multiFile&&this.multiFile.onFileFailed(this),this.loader.fileProcessComplete(this)},hasCacheConflict:function(){return this.cache&&this.cache.exists(this.key)},addToCache:function(){this.cache&&this.data&&this.cache.add(this.key,this.data)},pendingDestroy:function(v){if(this.state!==l.FILE_PENDING_DESTROY){v===void 0&&(v=this.data);var c=this.key,g=this.type;this.loader.emit(i.FILE_COMPLETE,c,g,v),this.loader.emit(i.FILE_KEY_COMPLETE+g+"-"+c,c,g,v),this.loader.flagForRemoval(this),this.state=l.FILE_PENDING_DESTROY}},destroy:function(){this.loader=null,this.cache=null,this.xhrSettings=null,this.multiFile=null,this.linkFile=null,this.data=null}});f.createObjectURL=function(v,c,g){if(typeof URL=="function")v.src=URL.createObjectURL(c);else{var p=new FileReader;p.onload=function(){v.removeAttribute("crossOrigin"),v.src="data:"+(c.type||g)+";base64,"+p.result.split(",")[1]},p.onerror=v.onerror,p.readAsDataURL(c)}},f.revokeObjectURL=function(v){typeof URL=="function"&&URL.revokeObjectURL(v.src)},h.exports=f},74099:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={},t={install:function(e){for(var l in d)e[l]=d[l]},register:function(e,l){d[e]=l},destroy:function(){d={}}};h.exports=t},98356:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.url?t.url.match(/^(?:blob:|data:|capacitor:\/\/|file:\/\/|http:\/\/|https:\/\/|\/\/)/)?t.url:e+t.url:!1};h.exports=d},74261:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(50792),s=t(54899),r=t(74099),o=t(95540),a=t(35154),u=t(41212),f=t(37277),v=t(44594),c=t(92638),g=new e({Extends:i,initialize:function(T){i.call(this);var C=T.sys.game.config,M=T.sys.settings.loader;this.scene=T,this.systems=T.sys,this.cacheManager=T.sys.cache,this.textureManager=T.sys.textures,this.sceneManager=T.sys.game.scene,r.install(this),this.prefix="",this.path="",this.baseURL="",this.setBaseURL(o(M,"baseURL",C.loaderBaseURL)),this.setPath(o(M,"path",C.loaderPath)),this.setPrefix(o(M,"prefix",C.loaderPrefix)),this.maxParallelDownloads=o(M,"maxParallelDownloads",C.loaderMaxParallelDownloads),this.xhr=c(o(M,"responseType",C.loaderResponseType),o(M,"async",C.loaderAsync),o(M,"user",C.loaderUser),o(M,"password",C.loaderPassword),o(M,"timeout",C.loaderTimeout),o(M,"withCredentials",C.loaderWithCredentials)),this.crossOrigin=o(M,"crossOrigin",C.loaderCrossOrigin),this.imageLoadType=o(M,"imageLoadType",C.loaderImageLoadType),this.localSchemes=o(M,"localScheme",C.loaderLocalScheme),this.totalToLoad=0,this.progress=0,this.list=new Set,this.inflight=new Set,this.queue=new Set,this._deleteQueue=new Set,this.totalFailed=0,this.totalComplete=0,this.state=l.LOADER_IDLE,this.multiKeyIndex=0,this.maxRetries=o(M,"maxRetries",C.loaderMaxRetries),T.sys.events.once(v.BOOT,this.boot,this),T.sys.events.on(v.START,this.pluginStart,this)},boot:function(){this.systems.events.once(v.DESTROY,this.destroy,this)},pluginStart:function(){this.systems.events.once(v.SHUTDOWN,this.shutdown,this)},setBaseURL:function(p){return p===void 0&&(p=""),p!==""&&p.substr(-1)!=="/"&&(p=p.concat("/")),this.baseURL=p,this},setPath:function(p){return p===void 0&&(p=""),p!==""&&p.substr(-1)!=="/"&&(p=p.concat("/")),this.path=p,this},setPrefix:function(p){return p===void 0&&(p=""),this.prefix=p,this},setCORS:function(p){return this.crossOrigin=p,this},addFile:function(p){Array.isArray(p)||(p=[p]);for(var T=0;T0},removePack:function(p,T){var C=this.systems.anims,M=this.cacheManager,A=this.textureManager,R={animation:"json",aseprite:"json",audio:"audio",audioSprite:"audio",binary:"binary",bitmapFont:"bitmapFont",css:null,glsl:"shader",html:"html",json:"json",obj:"obj",plugin:null,scenePlugin:null,script:null,spine:"json",text:"text",tilemapCSV:"tilemap",tilemapImpact:"tilemap",tilemapTiledJSON:"tilemap",video:"video",xml:"xml"},P;if(u(p))P=p;else if(P=M.json.get(p),!P){console.warn("Asset Pack not found in JSON cache:",p);return}T&&(P={_:P[T]});for(var L in P){var F=P[L],w=o(F,"prefix",""),O=o(F,"files"),B=o(F,"defaultType");if(Array.isArray(O))for(var I=0;I0&&this.inflight.size{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(79291),l=t(92638),i=function(s,r){var o=s===void 0?l():e({},s);if(r)for(var a in r)r[a]!==void 0&&(o[a]=r[a]);return o};h.exports=i},26430:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(54899),s=new e({initialize:function(o,a,u,f){var v=[];f.forEach(function(p){p&&v.push(p)}),this.loader=o,this.type=a,this.key=u;var c=this.key;o.prefix&&o.prefix!==""&&(this.key=o.prefix+c),this.multiKeyIndex=o.multiKeyIndex++,this.files=v,this.state=l.FILE_PENDING,this.complete=!1,this.pending=v.length,this.failed=0,this.config={},this.baseURL=o.baseURL,this.path=o.path,this.prefix=o.prefix;for(var g=0;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(3374),l=function(i,s){var r=e(s,i.xhrSettings);if(i.base64){var o=i.url.split(";base64,").pop()||i.url.split(",").pop(),a;i.xhrSettings.responseType==="arraybuffer"?a={response:Uint8Array.from(atob(o),function(v){return v.charCodeAt(0)}).buffer}:a={responseText:atob(o)},i.onBase64Load(a);return}var u=new XMLHttpRequest;if(u.open("GET",i.src,r.async,r.user,r.password),u.responseType=i.xhrSettings.responseType,u.timeout=r.timeout,r.headers)for(var f in r.headers)u.setRequestHeader(f,r.headers[f]);return r.header&&r.headerValue&&u.setRequestHeader(r.header,r.headerValue),r.requestedWith&&u.setRequestHeader("X-Requested-With",r.requestedWith),r.overrideMimeType&&u.overrideMimeType(r.overrideMimeType),r.withCredentials&&(u.withCredentials=!0),u.onload=i.onLoad.bind(i,u),u.onerror=i.onError.bind(i,u),u.onprogress=i.onProgress.bind(i),u.ontimeout=i.onError.bind(i,u),u.send(),u};h.exports=l},92638:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i,s,r){return t===void 0&&(t=""),e===void 0&&(e=!0),l===void 0&&(l=""),i===void 0&&(i=""),s===void 0&&(s=0),r===void 0&&(r=!1),{responseType:t,async:e,user:l,password:i,timeout:s,headers:void 0,header:void 0,headerValue:void 0,requestedWith:!1,overrideMimeType:void 0,withCredentials:r}};h.exports=d},23906:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={LOADER_IDLE:0,LOADER_LOADING:1,LOADER_PROCESSING:2,LOADER_COMPLETE:3,LOADER_SHUTDOWN:4,LOADER_DESTROYED:5,FILE_PENDING:10,FILE_LOADING:11,FILE_LOADED:12,FILE_FAILED:13,FILE_PROCESSING:14,FILE_ERRORED:16,FILE_COMPLETE:17,FILE_DESTROYED:18,FILE_POPULATED:19,FILE_PENDING_DESTROY:20};h.exports=d},42155:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="addfile"},38991:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="complete"},27540:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="filecomplete"},87464:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="filecomplete-"},94486:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="loaderror"},13035:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="load"},38144:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="fileprogress"},97520:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="postprocess"},85595:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="progress"},55680:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="start"},54899:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={ADD:t(42155),COMPLETE:t(38991),FILE_COMPLETE:t(27540),FILE_KEY_COMPLETE:t(87464),FILE_LOAD_ERROR:t(94486),FILE_LOAD:t(13035),FILE_PROGRESS:t(38144),POST_PROCESS:t(97520),PROGRESS:t(85595),START:t(55680)}},14135:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(74099),i=t(518),s=t(54899),r=new e({Extends:i,initialize:function(a,u,f,v,c){i.call(this,a,u,f,v,c),this.type="animationJSON"},onProcess:function(){this.loader.once(s.POST_PROCESS,this.onLoadComplete,this),i.prototype.onProcess.call(this)},onLoadComplete:function(){this.loader.systems.anims.fromJSON(this.data)}});l.register("animation",function(o,a,u,f){if(Array.isArray(o))for(var v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(74099),i=t(95540),s=t(19550),r=t(41212),o=t(518),a=t(26430),u=new e({Extends:a,initialize:function(v,c,g,p,T,C){var M,A;if(r(c)){var R=c;c=i(R,"key"),M=new s(v,{key:c,url:i(R,"textureURL"),extension:i(R,"textureExtension","png"),normalMap:i(R,"normalMap"),xhrSettings:i(R,"textureXhrSettings")}),A=new o(v,{key:c,url:i(R,"atlasURL"),extension:i(R,"atlasExtension","json"),xhrSettings:i(R,"atlasXhrSettings")})}else M=new s(v,c,g,T),A=new o(v,c,p,C);M.linkFile?a.call(this,v,"atlasjson",c,[M,A,M.linkFile]):a.call(this,v,"atlasjson",c,[M,A])},addToCache:function(){if(this.isReadyToProcess()){var f=this.files[0],v=this.files[1],c=this.files[2]?this.files[2].data:null;this.loader.textureManager.addAtlas(f.key,f.data,v.data,c),v.addToCache(),this.complete=!0}}});l.register("aseprite",function(f,v,c,g,p){var T;if(Array.isArray(f))for(var C=0;C{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(74099),i=t(95540),s=t(19550),r=t(41212),o=t(518),a=t(26430),u=new e({Extends:a,initialize:function(v,c,g,p,T,C){var M,A;if(r(c)){var R=c;c=i(R,"key"),M=new s(v,{key:c,url:i(R,"textureURL"),extension:i(R,"textureExtension","png"),normalMap:i(R,"normalMap"),xhrSettings:i(R,"textureXhrSettings")}),A=new o(v,{key:c,url:i(R,"atlasURL"),extension:i(R,"atlasExtension","json"),xhrSettings:i(R,"atlasXhrSettings")})}else M=new s(v,c,g,T),A=new o(v,c,p,C);M.linkFile?a.call(this,v,"atlasjson",c,[M,A,M.linkFile]):a.call(this,v,"atlasjson",c,[M,A])},addToCache:function(){if(this.isReadyToProcess()){var f=this.files[0],v=this.files[1],c=this.files[2]?this.files[2].data:null;this.loader.textureManager.addAtlas(f.key,f.data,v.data,c),this.complete=!0}}});l.register("atlas",function(f,v,c,g,p){var T;if(Array.isArray(f))for(var C=0;C{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(74099),i=t(95540),s=t(19550),r=t(41212),o=t(26430),a=t(57318),u=new e({Extends:o,initialize:function(v,c,g,p,T,C){var M,A;if(r(c)){var R=c;c=i(R,"key"),M=new s(v,{key:c,url:i(R,"textureURL"),extension:i(R,"textureExtension","png"),normalMap:i(R,"normalMap"),xhrSettings:i(R,"textureXhrSettings")}),A=new a(v,{key:c,url:i(R,"atlasURL"),extension:i(R,"atlasExtension","xml"),xhrSettings:i(R,"atlasXhrSettings")})}else M=new s(v,c,g,T),A=new a(v,c,p,C);M.linkFile?o.call(this,v,"atlasxml",c,[M,A,M.linkFile]):o.call(this,v,"atlasxml",c,[M,A])},addToCache:function(){if(this.isReadyToProcess()){var f=this.files[0],v=this.files[1],c=this.files[2]?this.files[2].data:null;this.loader.textureManager.addAtlasXML(f.key,f.data,v.data,c),this.complete=!0}}});l.register("atlasXML",function(f,v,c,g,p){var T;if(Array.isArray(f))for(var C=0;C{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(95540),o=t(89749),a=t(41212),u=new e({Extends:i,initialize:function(v,c,g,p,T){if(a(c)){var C=c;c=r(C,"key"),p=r(C,"xhrSettings"),T=r(C,"context",T)}var M={type:"audio",cache:v.cacheManager.audio,extension:g.type,responseType:"arraybuffer",key:c,url:g.url,xhrSettings:p,config:{context:T}};i.call(this,v,M)},onProcess:function(){this.state=l.FILE_PROCESSING;var f=this;this.config.context.decodeAudioData(this.xhrLoader.response,function(v){f.data=v,f.onProcessComplete()},function(v){console.error("Error decoding audio: "+f.key+" - ",v?v.message:null),f.onProcessError()}),this.config.context=null}});u.create=function(f,v,c,g,p){var T=f.systems.game,C=T.config.audio,M=T.device.audio;a(v)&&(c=r(v,"url",[]),g=r(v,"config",{}));var A=u.getAudioURL(T,c);return A?M.webAudio&&!C.disableWebAudio?new u(f,v,A,p,T.sound.context):new o(f,v,A,g):(console.warn('No audio URLs for "%s" can play on this device',v),null)},u.getAudioURL=function(f,v){Array.isArray(v)||(v=[v]);for(var c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(21097),l=t(83419),i=t(74099),s=t(95540),r=t(41212),o=t(518),a=t(26430),u=new l({Extends:a,initialize:function(v,c,g,p,T,C,M){if(r(c)){var A=c;c=s(A,"key"),g=s(A,"jsonURL"),p=s(A,"audioURL"),T=s(A,"audioConfig"),C=s(A,"audioXhrSettings"),M=s(A,"jsonXhrSettings")}var R;if(!p)R=new o(v,c,g,M),a.call(this,v,"audiosprite",c,[R]),this.config.resourceLoad=!0,this.config.audioConfig=T,this.config.audioXhrSettings=C;else{var P=e.create(v,c,p,T,C);P&&(R=new o(v,c,g,M),a.call(this,v,"audiosprite",c,[P,R]),this.config.resourceLoad=!1)}},onFileComplete:function(f){var v=this.files.indexOf(f);if(v!==-1&&(this.pending--,this.config.resourceLoad&&f.type==="json"&&f.data.hasOwnProperty("resources"))){var c=f.data.resources,g=s(this.config,"audioConfig"),p=s(this.config,"audioXhrSettings"),T=e.create(this.loader,f.key,c,g,p);T&&(this.addToMultiFile(T),this.loader.addFile(T))}},addToCache:function(){if(this.isReadyToProcess()){var f=this.files[0],v=this.files[1];f.addToCache(),v.addToCache(),this.complete=!0}}});i.register("audioSprite",function(f,v,c,g,p,T){var C=this.systems.game,M=C.config.audio,A=C.device.audio;if(M&&M.noAudio||!A.webAudio&&!A.audioData)return this;var R;if(Array.isArray(f))for(var P=0;P{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(95540),o=t(41212),a=new e({Extends:i,initialize:function(f,v,c,g,p){var T="bin";if(o(v)){var C=v;v=r(C,"key"),c=r(C,"url"),g=r(C,"xhrSettings"),T=r(C,"extension",T),p=r(C,"dataType",p)}var M={type:"binary",cache:f.cacheManager.binary,extension:T,responseType:"arraybuffer",key:v,url:c,xhrSettings:g,config:{dataType:p}};i.call(this,f,M)},onProcess:function(){this.state=l.FILE_PROCESSING;var u=this.config.dataType;this.data=u?new u(this.xhrLoader.response):this.xhrLoader.response,this.onProcessComplete()}});s.register("binary",function(u,f,v,c){if(Array.isArray(u))for(var g=0;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(74099),i=t(95540),s=t(19550),r=t(41212),o=t(26430),a=t(21859),u=t(57318),f=new e({Extends:o,initialize:function(c,g,p,T,C,M){var A,R;if(r(g)){var P=g;g=i(P,"key"),A=new s(c,{key:g,url:i(P,"textureURL"),extension:i(P,"textureExtension","png"),normalMap:i(P,"normalMap"),xhrSettings:i(P,"textureXhrSettings")}),R=new u(c,{key:g,url:i(P,"fontDataURL"),extension:i(P,"fontDataExtension","xml"),xhrSettings:i(P,"fontDataXhrSettings")})}else A=new s(c,g,p,C),R=new u(c,g,T,M);A.linkFile?o.call(this,c,"bitmapfont",g,[A,R,A.linkFile]):o.call(this,c,"bitmapfont",g,[A,R])},addToCache:function(){if(this.isReadyToProcess()){var v=this.files[0],c=this.files[1];v.addToCache();var g=v.cache.get(v.key),p=a(c.data,v.cache.getFrame(v.key),0,0,g);this.loader.cacheManager.bitmapFont.add(v.key,{data:p,texture:v.key,frame:null}),this.complete=!0}}});l.register("bitmapFont",function(v,c,g,p,T){var C;if(Array.isArray(v))for(var M=0;M{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(95540),o=t(41212),a=new e({Extends:i,initialize:function(f,v,c,g){var p="css";if(o(v)){var T=v;v=r(T,"key"),c=r(T,"url"),g=r(T,"xhrSettings"),p=r(T,"extension",p)}var C={type:"script",cache:!1,extension:p,responseType:"text",key:v,url:c,xhrSettings:g};i.call(this,f,C)},onProcess:function(){this.state=l.FILE_PROCESSING,this.data=document.createElement("style"),this.data.defer=!1,this.data.innerHTML=this.xhrLoader.responseText,document.head.appendChild(this.data),this.onProcessComplete()}});s.register("css",function(u,f,v){if(Array.isArray(u))for(var c=0;c{/** + * @author Richard Davey + * @copyright 2021 Photon Storm Ltd. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(38734),l=t(85722),i=t(83419),s=t(74099),r=t(95540),o=t(19550),a=t(41212),u=t(518),f=t(31403),v=t(46975),c=t(59327),g=t(26430),p=t(82038),T=t(55222),C=new i({Extends:g,initialize:function(A,R,P,L){if(P.multiAtlasURL){var F=new u(A,{key:R,url:P.multiAtlasURL,xhrSettings:L,config:P});g.call(this,A,"texture",R,[F])}else{var w=P.textureURL.substr(P.textureURL.length-3);P.type||(P.type=w.toLowerCase()==="ktx"?"KTX":"PVR");var O=new l(A,{key:R,url:P.textureURL,extension:w,xhrSettings:L,config:P});if(P.atlasURL){var B=new u(A,{key:R,url:P.atlasURL,xhrSettings:L,config:P});g.call(this,A,"texture",R,[O,B])}else g.call(this,A,"texture",R,[O])}this.config=P},onFileComplete:function(M){var A=this.files.indexOf(M);if(A!==-1){if(this.pending--,!this.config.multiAtlasURL)return;if(M.type==="json"&&M.data.hasOwnProperty("textures")){var R=M.data.textures,P=this.config,L=this.loader,F=L.baseURL,w=L.path,O=L.prefix,B=r(P,"multiBaseURL",this.baseURL),I=r(P,"multiPath",this.path),D=r(P,"prefix",this.prefix),N=r(P,"textureXhrSettings");B&&L.setBaseURL(B),I&&L.setPath(I),D&&L.setPrefix(D);for(var z=0;z{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(95540),o=t(98356),a=t(41212),u=new e({Extends:i,initialize:function(v,c,g,p,T,C){var M="ttf";if(a(c)){var A=c;c=r(A,"key"),g=r(A,"url"),p=r(A,"format","truetype"),T=r(A,"descriptors",null),C=r(A,"xhrSettings"),M=r(A,"extension",M)}else p===void 0&&(p="truetype");var R={type:"font",cache:!1,extension:M,responseType:"text",key:c,url:g,xhrSettings:C};i.call(this,v,R),this.data={format:p,descriptors:T},this.state=l.FILE_POPULATED},onProcess:function(){this.state=l.FILE_PROCESSING,this.src=o(this,this.loader.baseURL);var f,v=this.key,c="url("+this.src+') format("'+this.data.format+'")';this.data.descriptors?f=new FontFace(v,c,this.data.descriptors):f=new FontFace(v,c);var g=this;f.load().then(function(){document.fonts.add(f),document.body.classList.add("fonts-loaded"),g.onProcessComplete()}).catch(function(){console.warn("Font failed to load",c),g.onProcessComplete()})}});s.register("font",function(f,v,c,g,p){if(Array.isArray(f))for(var T=0;T{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(95540),o=t(41212),a=t(73894),u=new e({Extends:i,initialize:function(v,c,g,p){var T="glsl";if(o(c)){var C=c;c=r(C,"key"),g=r(C,"url"),p=r(C,"xhrSettings"),T=r(C,"extension",T)}var M={type:"glsl",cache:v.cacheManager.shader,extension:T,responseType:"text",key:c,url:g,xhrSettings:p};i.call(this,v,M)},onProcess:function(){this.state=l.FILE_PROCESSING,this.data=this.xhrLoader.responseText,this.onProcessComplete()},addToCache:function(){this.cache.add(this.key,new a(this.key,this.data))}});s.register("glsl",function(f,v,c){if(Array.isArray(f))for(var g=0;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(54899),i=t(41299),s=t(95540),r=t(98356),o=t(41212),a=new e({Extends:i,initialize:function(f,v,c,g){if(o(v)){var p=v;v=s(p,"key"),g=s(p,"config",g)}var T={type:"audio",cache:f.cacheManager.audio,extension:c.type,key:v,url:c.url,config:g};i.call(this,f,T),this.locked="ontouchstart"in window,this.loaded=!1,this.filesLoaded=0,this.filesTotal=0},onLoad:function(){this.loaded||(this.loaded=!0,this.loader.nextFile(this,!0))},onError:function(){for(var u=0;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(95540),o=t(41212),a=new e({Extends:i,initialize:function(f,v,c,g){var p="html";if(o(v)){var T=v;v=r(T,"key"),c=r(T,"url"),g=r(T,"xhrSettings"),p=r(T,"extension",p)}var C={type:"text",cache:f.cacheManager.html,extension:p,responseType:"text",key:v,url:c,xhrSettings:g};i.call(this,f,C)},onProcess:function(){this.state=l.FILE_PROCESSING,this.data=this.xhrLoader.responseText,this.onProcessComplete()}});s.register("html",function(u,f,v){if(Array.isArray(u))for(var c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(95540),o=t(41212),a=new e({Extends:i,initialize:function(f,v,c,g,p,T){g===void 0&&(g=512),p===void 0&&(p=512);var C="html";if(o(v)){var M=v;v=r(M,"key"),c=r(M,"url"),T=r(M,"xhrSettings"),C=r(M,"extension",C),g=r(M,"width",g),p=r(M,"height",p)}var A={type:"html",cache:f.textureManager,extension:C,responseType:"text",key:v,url:c,xhrSettings:T,config:{width:g,height:p}};i.call(this,f,A)},onProcess:function(){this.state=l.FILE_PROCESSING;var u=this.config.width,f=this.config.height,v=[];v.push(''),v.push(''),v.push(''),v.push(this.xhrLoader.responseText),v.push(""),v.push(""),v.push("");var c=[v.join(` +`)],g=this;try{var p=new window.Blob(c,{type:"image/svg+xml;charset=utf-8"})}catch{g.state=l.FILE_ERRORED,g.onProcessComplete();return}this.data=new Image,this.data.crossOrigin=this.crossOrigin,this.data.onload=function(){i.revokeObjectURL(g.data),g.onProcessComplete()},this.data.onerror=function(){i.revokeObjectURL(g.data),g.onProcessError()},i.createObjectURL(this.data,p,"image/svg+xml")},addToCache:function(){this.cache.addImage(this.key,this.data)}});s.register("htmlTexture",function(u,f,v,c,g){if(Array.isArray(u))for(var p=0;p{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(95540),o=t(41212),a=t(98356),u=new e({Extends:i,initialize:function f(v,c,g,p,T){var C="png",M;if(o(c)){var A=c;c=r(A,"key"),g=r(A,"url"),M=r(A,"normalMap"),p=r(A,"xhrSettings"),C=r(A,"extension",C),T=r(A,"frameConfig")}Array.isArray(g)&&(M=g[1],g=g[0]);var R={type:"image",cache:v.textureManager,extension:C,responseType:"blob",key:c,url:g,xhrSettings:p,config:T};if(i.call(this,v,R),M){var P=new f(v,this.key,M,p,T);P.type="normalMap",this.setLink(P),v.addFile(P)}this.useImageElementLoad=v.imageLoadType==="HTMLImageElement"||this.base64,this.useImageElementLoad&&(this.load=this.loadImage,this.onProcess=this.onProcessImage)},onProcess:function(){this.state=l.FILE_PROCESSING,this.data=new Image,this.data.crossOrigin=this.crossOrigin;var f=this;this.data.onload=function(){i.revokeObjectURL(f.data),f.onProcessComplete()},this.data.onerror=function(){i.revokeObjectURL(f.data),f.onProcessError()},i.createObjectURL(this.data,this.xhrLoader.response,"image/png")},onProcessImage:function(){var f=this.state;this.state=l.FILE_PROCESSING,f===l.FILE_LOADED?this.onProcessComplete():this.onProcessError()},loadImage:function(){this.state=l.FILE_LOADING,this.src=a(this,this.loader.baseURL),this.data=new Image,this.data.crossOrigin=this.crossOrigin;var f=this;this.data.onload=function(){f.state=l.FILE_LOADED,f.loader.nextFile(f,!0)},this.data.onerror=function(){f.loader.nextFile(f,!1)},this.data.src=this.src},addToCache:function(){var f=this.linkFile;f?f.state>=l.FILE_COMPLETE&&(f.type==="spritesheet"?f.addToCache():this.type==="normalMap"?this.cache.addImage(this.key,f.data,this.data):this.cache.addImage(this.key,this.data,f.data)):this.cache.addImage(this.key,this.data)}});s.register("image",function(f,v,c){if(Array.isArray(f))for(var g=0;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(95540),o=t(35154),a=t(41212),u=new e({Extends:i,initialize:function(v,c,g,p,T){var C="json";if(a(c)){var M=c;c=r(M,"key"),g=r(M,"url"),p=r(M,"xhrSettings"),C=r(M,"extension",C),T=r(M,"dataKey",T)}var A={type:"json",cache:v.cacheManager.json,extension:C,responseType:"text",key:c,url:g,xhrSettings:p,config:T};i.call(this,v,A),a(g)&&(T?this.data=o(g,T):this.data=g,this.state=l.FILE_POPULATED)},onProcess:function(){if(this.state!==l.FILE_POPULATED){this.state=l.FILE_PROCESSING;try{var f=JSON.parse(this.xhrLoader.responseText)}catch(c){throw this.onProcessError(),c}var v=this.config;typeof v=="string"?this.data=o(f,v,f):this.data=f}this.onProcessComplete()}});s.register("json",function(f,v,c,g){if(Array.isArray(f))for(var p=0;p{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(74099),i=t(95540),s=t(19550),r=t(41212),o=t(518),a=t(26430),u=new e({Extends:a,initialize:function(v,c,g,p,T,C,M){if(r(c)){var A=c;c=i(A,"key"),i(A,"url",!1)?g=i(A,"url"):g=i(A,"atlasURL"),C=i(A,"xhrSettings"),p=i(A,"path"),T=i(A,"baseURL"),M=i(A,"textureXhrSettings")}var R=new o(v,c,g,C);a.call(this,v,"multiatlas",c,[R]),this.config.path=p,this.config.baseURL=T,this.config.textureXhrSettings=M},onFileComplete:function(f){var v=this.files.indexOf(f);if(v!==-1&&(this.pending--,f.type==="json"&&f.data.hasOwnProperty("textures"))){var c=f.data.textures,g=this.config,p=this.loader,T=p.baseURL,C=p.path,M=p.prefix,A=i(g,"baseURL",this.baseURL),R=i(g,"path",this.path),P=i(g,"prefix",this.prefix),L=i(g,"textureXhrSettings");p.setBaseURL(A),p.setPath(R),p.setPrefix(P);for(var F=0;F{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(74099),i=t(95540),s=t(41212),r=t(26430),o=t(34328),a=new e({Extends:r,initialize:function(f,v,c,g){var p="js",T=[];if(s(v)){var C=v;v=i(C,"key"),c=i(C,"url"),g=i(C,"xhrSettings"),p=i(C,"extension",p)}Array.isArray(c)||(c=[c]);for(var M=0;M{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(74099),s=t(518),r=new e({Extends:s,initialize:function(a,u,f,v,c){s.call(this,a,u,f,v,c),this.type="packfile"},onProcess:function(){if(this.state!==l.FILE_POPULATED&&(this.state=l.FILE_PROCESSING,this.data=JSON.parse(this.xhrLoader.responseText)),this.data.hasOwnProperty("files")&&this.config){var o={};o[this.config]=this.data,this.data=o}this.loader.addPack(this.data,this.config),this.onProcessComplete()}});i.register("pack",function(o,a,u,f){if(Array.isArray(o))for(var v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(95540),o=t(41212),a=new e({Extends:i,initialize:function(f,v,c,g,p,T){var C="js";if(o(v)){var M=v;v=r(M,"key"),c=r(M,"url"),T=r(M,"xhrSettings"),C=r(M,"extension",C),g=r(M,"start"),p=r(M,"mapping")}var A={type:"plugin",cache:!1,extension:C,responseType:"text",key:v,url:c,xhrSettings:T,config:{start:g,mapping:p}};i.call(this,f,A),typeof c=="function"&&(this.data=c,this.state=l.FILE_POPULATED)},onProcess:function(){var u=this.loader.systems.plugins,f=this.config,v=r(f,"start",!1),c=r(f,"mapping",null);if(this.state===l.FILE_POPULATED)u.install(this.key,this.data,v,c);else{this.state=l.FILE_PROCESSING,this.data=document.createElement("script"),this.data.language="javascript",this.data.type="text/javascript",this.data.defer=!1,this.data.text=this.xhrLoader.responseText,document.head.appendChild(this.data);var g=u.install(this.key,window[this.key],v,c);(v||c)&&(this.loader.systems[c]=g,this.loader.scene[c]=g)}this.onProcessComplete()}});s.register("plugin",function(u,f,v,c,g){if(Array.isArray(u))for(var p=0;p{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(95540),o=t(41212),a=new e({Extends:i,initialize:function(f,v,c,g,p){var T="svg";if(o(v)){var C=v;v=r(C,"key"),c=r(C,"url"),g=r(C,"svgConfig",{}),p=r(C,"xhrSettings"),T=r(C,"extension",T)}var M={type:"svg",cache:f.textureManager,extension:T,responseType:"text",key:v,url:c,xhrSettings:p,config:{width:r(g,"width"),height:r(g,"height"),scale:r(g,"scale")}};i.call(this,f,M)},onProcess:function(){this.state=l.FILE_PROCESSING;var u=this.xhrLoader.responseText,f=[u],v=this.config.width,c=this.config.height,g=this.config.scale;t:if(v&&c||g){var p=null,T=new DOMParser;p=T.parseFromString(u,"text/xml");var C=p.getElementsByTagName("svg")[0],M=C.hasAttribute("viewBox"),A=parseFloat(C.getAttribute("width")),R=parseFloat(C.getAttribute("height"));if(!M&&A&&R)C.setAttribute("viewBox","0 0 "+A+" "+R);else if(M&&!A&&!R){var P=C.getAttribute("viewBox").split(/\s+|,/);A=P[2],R=P[3]}if(g)if(A&&R)v=A*g,c=R*g;else break t;C.setAttribute("width",v.toString()+"px"),C.setAttribute("height",c.toString()+"px"),f=[new XMLSerializer().serializeToString(C)]}try{var L=new window.Blob(f,{type:"image/svg+xml;charset=utf-8"})}catch{this.onProcessError();return}this.data=new Image,this.data.crossOrigin=this.crossOrigin;var F=this,w=!1;this.data.onload=function(){w||i.revokeObjectURL(F.data),F.onProcessComplete()},this.data.onerror=function(){w?F.onProcessError():(w=!0,i.revokeObjectURL(F.data),F.data.src="data:image/svg+xml,"+encodeURIComponent(f.join("")))},i.createObjectURL(this.data,L,"image/svg+xml")},addToCache:function(){this.cache.addImage(this.key,this.data)}});s.register("svg",function(u,f,v,c){if(Array.isArray(u))for(var g=0;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(95540),o=t(41212),a=new e({Extends:i,initialize:function(f,v,c,g){var p="js";if(o(v)){var T=v;v=r(T,"key"),c=r(T,"url"),g=r(T,"xhrSettings"),p=r(T,"extension",p)}var C={type:"text",extension:p,responseType:"text",key:v,url:c,xhrSettings:g};i.call(this,f,C)},onProcess:function(){this.state=l.FILE_PROCESSING,this.data=this.xhrLoader.responseText,this.onProcessComplete()},addToCache:function(){var u=this.data.concat(`(function(){ +return new `+this.key+`(); +}).call(this);`),f=eval;this.loader.sceneManager.add(this.key,f(u)),this.complete=!0}});s.register("sceneFile",function(u,f,v){if(Array.isArray(u))for(var c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(95540),o=t(41212),a=new e({Extends:i,initialize:function(f,v,c,g,p,T){var C="js";if(o(v)){var M=v;v=r(M,"key"),c=r(M,"url"),T=r(M,"xhrSettings"),C=r(M,"extension",C),g=r(M,"systemKey"),p=r(M,"sceneKey")}var A={type:"scenePlugin",cache:!1,extension:C,responseType:"text",key:v,url:c,xhrSettings:T,config:{systemKey:g,sceneKey:p}};i.call(this,f,A),typeof c=="function"&&(this.data=c,this.state=l.FILE_POPULATED)},onProcess:function(){var u=this.loader.systems.plugins,f=this.config,v=this.key,c=r(f,"systemKey",v),g=r(f,"sceneKey",v);this.state===l.FILE_POPULATED?u.installScenePlugin(c,this.data,g,this.loader.scene,!0):(this.state=l.FILE_PROCESSING,this.data=document.createElement("script"),this.data.language="javascript",this.data.type="text/javascript",this.data.defer=!1,this.data.text=this.xhrLoader.responseText,document.head.appendChild(this.data),u.installScenePlugin(c,window[this.key],g,this.loader.scene,!0)),this.onProcessComplete()}});s.register("scenePlugin",function(u,f,v,c,g){if(Array.isArray(u))for(var p=0;p{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(95540),o=t(41212),a=new e({Extends:i,initialize:function(f,v,c,g,p){var T="js";if(o(v)){var C=v;v=r(C,"key"),c=r(C,"url"),g=r(C,"type","script"),p=r(C,"xhrSettings"),T=r(C,"extension",T)}else g===void 0&&(g="script");var M={type:g,cache:!1,extension:T,responseType:"text",key:v,url:c,xhrSettings:p};i.call(this,f,M)},onProcess:function(){this.state=l.FILE_PROCESSING,this.data=document.createElement("script"),this.data.language="javascript",this.data.type="text/javascript",this.data.defer=!1,this.data.text=this.xhrLoader.responseText,document.head.appendChild(this.data),this.onProcessComplete()}});s.register("script",function(u,f,v,c){if(Array.isArray(u))for(var g=0;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(74099),s=t(19550),r=new e({Extends:s,initialize:function(a,u,f,v,c){s.call(this,a,u,f,c,v),this.type="spritesheet"},addToCache:function(){var o=this.linkFile;o?o.state>=l.FILE_COMPLETE&&(this.type==="normalMap"?this.cache.addSpriteSheet(this.key,o.data,this.config,this.data):this.cache.addSpriteSheet(this.key,this.data,this.config,o.data)):this.cache.addSpriteSheet(this.key,this.data,this.config)}});i.register("spritesheet",function(o,a,u,f){if(Array.isArray(o))for(var v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(95540),o=t(41212),a=new e({Extends:i,initialize:function(f,v,c,g){var p="text",T="txt",C=f.cacheManager.text;if(o(v)){var M=v;v=r(M,"key"),c=r(M,"url"),g=r(M,"xhrSettings"),T=r(M,"extension",T),p=r(M,"type",p),C=r(M,"cache",C)}var A={type:p,cache:C,extension:T,responseType:"text",key:v,url:c,xhrSettings:g};i.call(this,f,A)},onProcess:function(){this.state=l.FILE_PROCESSING,this.data=this.xhrLoader.responseText,this.onProcessComplete()}});s.register("text",function(u,f,v){if(Array.isArray(u))for(var c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(95540),o=t(41212),a=t(80341),u=new e({Extends:i,initialize:function(v,c,g,p){var T="csv";if(o(c)){var C=c;c=r(C,"key"),g=r(C,"url"),p=r(C,"xhrSettings"),T=r(C,"extension",T)}var M={type:"tilemapCSV",cache:v.cacheManager.tilemap,extension:T,responseType:"text",key:c,url:g,xhrSettings:p};i.call(this,v,M),this.tilemapFormat=a.CSV},onProcess:function(){this.state=l.FILE_PROCESSING,this.data=this.xhrLoader.responseText,this.onProcessComplete()},addToCache:function(){var f={format:this.tilemapFormat,data:this.data};this.cache.add(this.key,f)}});s.register("tilemapCSV",function(f,v,c){if(Array.isArray(f))for(var g=0;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(74099),i=t(518),s=t(80341),r=new e({Extends:i,initialize:function(a,u,f,v){i.call(this,a,u,f,v),this.type="tilemapJSON",this.cache=a.cacheManager.tilemap},addToCache:function(){var o={format:s.WELTMEISTER,data:this.data};this.cache.add(this.key,o)}});l.register("tilemapImpact",function(o,a,u){if(Array.isArray(o))for(var f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(74099),i=t(518),s=t(80341),r=new e({Extends:i,initialize:function(a,u,f,v){i.call(this,a,u,f,v),this.type="tilemapJSON",this.cache=a.cacheManager.tilemap},addToCache:function(){var o={format:s.TILED_JSON,data:this.data};this.cache.add(this.key,o)}});l.register("tilemapTiledJSON",function(o,a,u){if(Array.isArray(o))for(var f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(74099),i=t(95540),s=t(19550),r=t(41212),o=t(26430),a=t(78776),u=new e({Extends:o,initialize:function(v,c,g,p,T,C){var M,A;if(r(c)){var R=c;c=i(R,"key"),M=new s(v,{key:c,url:i(R,"textureURL"),extension:i(R,"textureExtension","png"),normalMap:i(R,"normalMap"),xhrSettings:i(R,"textureXhrSettings")}),A=new a(v,{key:c,url:i(R,"atlasURL"),extension:i(R,"atlasExtension","txt"),xhrSettings:i(R,"atlasXhrSettings")})}else M=new s(v,c,g,T),A=new a(v,c,p,C);M.linkFile?o.call(this,v,"unityatlas",c,[M,A,M.linkFile]):o.call(this,v,"unityatlas",c,[M,A])},addToCache:function(){if(this.isReadyToProcess()){var f=this.files[0],v=this.files[1],c=this.files[2]?this.files[2].data:null;this.loader.textureManager.addUnityAtlas(f.key,f.data,v.data,c),this.complete=!0}}});l.register("unityAtlas",function(f,v,c,g,p){var T;if(Array.isArray(f))for(var C=0;C{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(98356),o=t(95540),a=t(41212),u=new e({Extends:i,initialize:function(v,c,g,p){if(p===void 0&&(p=!1),a(c)){var T=c;c=o(T,"key"),g=o(T,"url",[]),p=o(T,"noAudio",!1)}var C=v.systems.game.device.video.getVideoURL(g);C||console.warn("VideoFile: No supported format for "+c);var M={type:"video",cache:v.cacheManager.video,extension:C.type,key:c,url:C.url,config:{noAudio:p}};i.call(this,v,M)},onProcess:function(){this.data={url:this.src,noAudio:this.config.noAudio,crossOrigin:this.crossOrigin},this.onProcessComplete()},load:function(){this.src=r(this,this.loader.baseURL),this.state=l.FILE_LOADED,this.loader.nextFile(this,!0)}});s.register("video",function(f,v,c){if(Array.isArray(f))for(var g=0;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(23906),i=t(41299),s=t(74099),r=t(95540),o=t(41212),a=t(56836),u=new e({Extends:i,initialize:function(v,c,g,p){var T="xml";if(o(c)){var C=c;c=r(C,"key"),g=r(C,"url"),p=r(C,"xhrSettings"),T=r(C,"extension",T)}var M={type:"xml",cache:v.cacheManager.xml,extension:T,responseType:"text",key:c,url:g,xhrSettings:p};i.call(this,v,M)},onProcess:function(){this.state=l.FILE_PROCESSING,this.data=a(this.xhrLoader.responseText),this.data?this.onProcessComplete():this.onProcessError()}});s.register("xml",function(f,v,c){if(Array.isArray(f))for(var g=0;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={AnimationJSONFile:t(14135),AsepriteFile:t(76272),AtlasJSONFile:t(38734),AtlasXMLFile:t(74599),AudioFile:t(21097),AudioSpriteFile:t(89524),BinaryFile:t(85722),BitmapFontFile:t(97025),CompressedTextureFile:t(69559),CSSFile:t(16024),FontFile:t(87674),GLSLFile:t(47931),HTML5AudioFile:t(89749),HTMLFile:t(88470),HTMLTextureFile:t(14643),ImageFile:t(19550),JSONFile:t(518),MultiAtlasFile:t(59327),MultiScriptFile:t(99297),PackFile:t(58610),PluginFile:t(48988),SceneFile:t(88423),ScenePluginFile:t(56812),ScriptFile:t(34328),SpriteSheetFile:t(85035),SVGFile:t(67397),TextFile:t(78776),TilemapCSVFile:t(49477),TilemapImpactFile:t(40807),TilemapJSONFile:t(56775),UnityAtlasFile:t(25771),VideoFile:t(33720),XMLFile:t(57318)}},57777:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(23906),l=t(79291),i={Events:t(54899),FileTypes:t(64589),File:t(41299),FileTypesManager:t(74099),GetURL:t(98356),LoaderPlugin:t(74261),MergeXHRSettings:t(3374),MultiFile:t(26430),XHRLoader:t(84376),XHRSettings:t(92638)};i=l(!1,i,e),h.exports=i},53307:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){for(var e=0,l=0;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(6411),l=function(i,s){return e(i)/e(s)/e(i-s)};h.exports=l},30976:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return Math.floor(Math.random()*(e-t+1)+t)};h.exports=d},87842:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i,s){var r=(i-e)*.5,o=(s-l)*.5,a=t*t,u=t*a;return(2*l-2*i+r+o)*u+(-3*l+3*i-2*r-o)*a+r*t+l};h.exports=d},26302:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){e===void 0&&(e=0),l===void 0&&(l=10);var i=Math.pow(l,-e);return Math.ceil(t*i)/i};h.exports=d},45319:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return Math.max(e,Math.min(l,t))};h.exports=d},39506:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(36383),l=function(i){return i*e.DEG_TO_RAD};h.exports=l},61241:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return Math.abs(t-e)};h.exports=d},38857:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(45319),l=t(83419),i=t(37867),s=t(29747),r=new i,o=new l({initialize:function a(u,f,v,c){u===void 0&&(u=0),f===void 0&&(f=0),v===void 0&&(v=0),c===void 0&&(c=a.DefaultOrder),this._x=u,this._y=f,this._z=v,this._order=c,this.onChangeCallback=s},x:{get:function(){return this._x},set:function(a){this._x=a,this.onChangeCallback(this)}},y:{get:function(){return this._y},set:function(a){this._y=a,this.onChangeCallback(this)}},z:{get:function(){return this._z},set:function(a){this._z=a,this.onChangeCallback(this)}},order:{get:function(){return this._order},set:function(a){this._order=a,this.onChangeCallback(this)}},set:function(a,u,f,v){return v===void 0&&(v=this._order),this._x=a,this._y=u,this._z=f,this._order=v,this.onChangeCallback(this),this},copy:function(a){return this.set(a.x,a.y,a.z,a.order)},setFromQuaternion:function(a,u,f){return u===void 0&&(u=this._order),f===void 0&&(f=!1),r.fromQuat(a),this.setFromRotationMatrix(r,u,f)},setFromRotationMatrix:function(a,u,f){u===void 0&&(u=this._order),f===void 0&&(f=!1);var v=a.val,c=v[0],g=v[4],p=v[8],T=v[1],C=v[5],M=v[9],A=v[2],R=v[6],P=v[10],L=0,F=0,w=0,O=.99999;switch(u){case"XYZ":{F=Math.asin(e(p,-1,1)),Math.abs(p){/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){if(t===0)return 1;for(var e=t;--t;)e*=t;return e};h.exports=d},99472:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return Math.random()*(e-t)+t};h.exports=d},77623:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){e===void 0&&(e=0),l===void 0&&(l=10);var i=Math.pow(l,-e);return Math.floor(t*i)/i};h.exports=d},62945:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(45319),l=function(i,s,r){return i=e(i,0,1),(r-s)*i+s};h.exports=l},2672:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s){s===void 0&&(s=new e);var r=i.length;if(!Array.isArray(i)||r===0)throw new Error("GetCentroid points be a non-empty array");if(r===1)s.x=i[0].x,s.y=i[0].y;else{for(var o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t/e/1e3};h.exports=d},55133:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87841),l=function(i,s){s===void 0&&(s=new e);for(var r=Number.NEGATIVE_INFINITY,o=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,u=Number.POSITIVE_INFINITY,f=0;fr&&(r=v.x),v.xa&&(a=v.y),v.y{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t==parseFloat(t)?!(t%2):void 0};h.exports=d},94883:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t===parseFloat(t)?!(t%2):void 0};h.exports=d},28915:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return(e-t)*l+t};h.exports=d},94908:h=>{/** + * @author Greg McLean + * @copyright 2021 Photon Storm Ltd. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return l===void 0&&(l=0),t.clone().lerp(e,l)};h.exports=d},94434:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s){this.val=new Float32Array(9),s?this.copy(s):this.identity()},clone:function(){return new l(this)},set:function(i){return this.copy(i)},copy:function(i){var s=this.val,r=i.val;return s[0]=r[0],s[1]=r[1],s[2]=r[2],s[3]=r[3],s[4]=r[4],s[5]=r[5],s[6]=r[6],s[7]=r[7],s[8]=r[8],this},fromMat4:function(i){var s=i.val,r=this.val;return r[0]=s[0],r[1]=s[1],r[2]=s[2],r[3]=s[4],r[4]=s[5],r[5]=s[6],r[6]=s[8],r[7]=s[9],r[8]=s[10],this},fromArray:function(i){var s=this.val;return s[0]=i[0],s[1]=i[1],s[2]=i[2],s[3]=i[3],s[4]=i[4],s[5]=i[5],s[6]=i[6],s[7]=i[7],s[8]=i[8],this},identity:function(){var i=this.val;return i[0]=1,i[1]=0,i[2]=0,i[3]=0,i[4]=1,i[5]=0,i[6]=0,i[7]=0,i[8]=1,this},transpose:function(){var i=this.val,s=i[1],r=i[2],o=i[5];return i[1]=i[3],i[2]=i[6],i[3]=s,i[5]=i[7],i[6]=r,i[7]=o,this},invert:function(){var i=this.val,s=i[0],r=i[1],o=i[2],a=i[3],u=i[4],f=i[5],v=i[6],c=i[7],g=i[8],p=g*u-f*c,T=-g*a+f*v,C=c*a-u*v,M=s*p+r*T+o*C;return M?(M=1/M,i[0]=p*M,i[1]=(-g*r+o*c)*M,i[2]=(f*r-o*u)*M,i[3]=T*M,i[4]=(g*s-o*v)*M,i[5]=(-f*s+o*a)*M,i[6]=C*M,i[7]=(-c*s+r*v)*M,i[8]=(u*s-r*a)*M,this):null},adjoint:function(){var i=this.val,s=i[0],r=i[1],o=i[2],a=i[3],u=i[4],f=i[5],v=i[6],c=i[7],g=i[8];return i[0]=u*g-f*c,i[1]=o*c-r*g,i[2]=r*f-o*u,i[3]=f*v-a*g,i[4]=s*g-o*v,i[5]=o*a-s*f,i[6]=a*c-u*v,i[7]=r*v-s*c,i[8]=s*u-r*a,this},determinant:function(){var i=this.val,s=i[0],r=i[1],o=i[2],a=i[3],u=i[4],f=i[5],v=i[6],c=i[7],g=i[8];return s*(g*u-f*c)+r*(-g*a+f*v)+o*(c*a-u*v)},multiply:function(i){var s=this.val,r=s[0],o=s[1],a=s[2],u=s[3],f=s[4],v=s[5],c=s[6],g=s[7],p=s[8],T=i.val,C=T[0],M=T[1],A=T[2],R=T[3],P=T[4],L=T[5],F=T[6],w=T[7],O=T[8];return s[0]=C*r+M*u+A*c,s[1]=C*o+M*f+A*g,s[2]=C*a+M*v+A*p,s[3]=R*r+P*u+L*c,s[4]=R*o+P*f+L*g,s[5]=R*a+P*v+L*p,s[6]=F*r+w*u+O*c,s[7]=F*o+w*f+O*g,s[8]=F*a+w*v+O*p,this},translate:function(i){var s=this.val,r=i.x,o=i.y;return s[6]=r*s[0]+o*s[3]+s[6],s[7]=r*s[1]+o*s[4]+s[7],s[8]=r*s[2]+o*s[5]+s[8],this},rotate:function(i){var s=this.val,r=s[0],o=s[1],a=s[2],u=s[3],f=s[4],v=s[5],c=Math.sin(i),g=Math.cos(i);return s[0]=g*r+c*u,s[1]=g*o+c*f,s[2]=g*a+c*v,s[3]=g*u-c*r,s[4]=g*f-c*o,s[5]=g*v-c*a,this},scale:function(i){var s=this.val,r=i.x,o=i.y;return s[0]=r*s[0],s[1]=r*s[1],s[2]=r*s[2],s[3]=o*s[3],s[4]=o*s[4],s[5]=o*s[5],this},fromQuat:function(i){var s=i.x,r=i.y,o=i.z,a=i.w,u=s+s,f=r+r,v=o+o,c=s*u,g=s*f,p=s*v,T=r*f,C=r*v,M=o*v,A=a*u,R=a*f,P=a*v,L=this.val;return L[0]=1-(T+M),L[3]=g+P,L[6]=p-R,L[1]=g-P,L[4]=1-(c+M),L[7]=C+A,L[2]=p+R,L[5]=C-A,L[8]=1-(c+T),this},normalFromMat4:function(i){var s=i.val,r=this.val,o=s[0],a=s[1],u=s[2],f=s[3],v=s[4],c=s[5],g=s[6],p=s[7],T=s[8],C=s[9],M=s[10],A=s[11],R=s[12],P=s[13],L=s[14],F=s[15],w=o*c-a*v,O=o*g-u*v,B=o*p-f*v,I=a*g-u*c,D=a*p-f*c,N=u*p-f*g,z=T*P-C*R,V=T*L-M*R,U=T*F-A*R,G=C*L-M*P,b=C*F-A*P,Y=M*F-A*L,W=w*Y-O*b+B*G+I*U-D*V+N*z;return W?(W=1/W,r[0]=(c*Y-g*b+p*G)*W,r[1]=(g*U-v*Y-p*V)*W,r[2]=(v*b-c*U+p*z)*W,r[3]=(u*b-a*Y-f*G)*W,r[4]=(o*Y-u*U+f*V)*W,r[5]=(a*U-o*b-f*z)*W,r[6]=(P*N-L*D+F*I)*W,r[7]=(L*B-R*N-F*O)*W,r[8]=(R*D-P*B+F*w)*W,this):null}});h.exports=l},37867:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(25836),i=1e-6,s=new e({initialize:function(c){this.val=new Float32Array(16),c?this.copy(c):this.identity()},clone:function(){return new s(this)},set:function(v){return this.copy(v)},setValues:function(v,c,g,p,T,C,M,A,R,P,L,F,w,O,B,I){var D=this.val;return D[0]=v,D[1]=c,D[2]=g,D[3]=p,D[4]=T,D[5]=C,D[6]=M,D[7]=A,D[8]=R,D[9]=P,D[10]=L,D[11]=F,D[12]=w,D[13]=O,D[14]=B,D[15]=I,this},copy:function(v){var c=v.val;return this.setValues(c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],c[8],c[9],c[10],c[11],c[12],c[13],c[14],c[15])},fromArray:function(v){return this.setValues(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7],v[8],v[9],v[10],v[11],v[12],v[13],v[14],v[15])},zero:function(){return this.setValues(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)},transform:function(v,c,g){var p=r.fromQuat(g),T=p.val,C=c.x,M=c.y,A=c.z;return this.setValues(T[0]*C,T[1]*C,T[2]*C,0,T[4]*M,T[5]*M,T[6]*M,0,T[8]*A,T[9]*A,T[10]*A,0,v.x,v.y,v.z,1)},xyz:function(v,c,g){this.identity();var p=this.val;return p[12]=v,p[13]=c,p[14]=g,this},scaling:function(v,c,g){this.zero();var p=this.val;return p[0]=v,p[5]=c,p[10]=g,p[15]=1,this},identity:function(){return this.setValues(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},transpose:function(){var v=this.val,c=v[1],g=v[2],p=v[3],T=v[6],C=v[7],M=v[11];return v[1]=v[4],v[2]=v[8],v[3]=v[12],v[4]=c,v[6]=v[9],v[7]=v[13],v[8]=g,v[9]=T,v[11]=v[14],v[12]=p,v[13]=C,v[14]=M,this},getInverse:function(v){return this.copy(v),this.invert()},invert:function(){var v=this.val,c=v[0],g=v[1],p=v[2],T=v[3],C=v[4],M=v[5],A=v[6],R=v[7],P=v[8],L=v[9],F=v[10],w=v[11],O=v[12],B=v[13],I=v[14],D=v[15],N=c*M-g*C,z=c*A-p*C,V=c*R-T*C,U=g*A-p*M,G=g*R-T*M,b=p*R-T*A,Y=P*B-L*O,W=P*I-F*O,H=P*D-w*O,X=L*I-F*B,K=L*D-w*B,Z=F*D-w*I,Q=N*Z-z*K+V*X+U*H-G*W+b*Y;return Q?(Q=1/Q,this.setValues((M*Z-A*K+R*X)*Q,(p*K-g*Z-T*X)*Q,(B*b-I*G+D*U)*Q,(F*G-L*b-w*U)*Q,(A*H-C*Z-R*W)*Q,(c*Z-p*H+T*W)*Q,(I*V-O*b-D*z)*Q,(P*b-F*V+w*z)*Q,(C*K-M*H+R*Y)*Q,(g*H-c*K-T*Y)*Q,(O*G-B*V+D*N)*Q,(L*V-P*G-w*N)*Q,(M*W-C*X-A*Y)*Q,(c*X-g*W+p*Y)*Q,(B*z-O*U-I*N)*Q,(P*U-L*z+F*N)*Q)):this},adjoint:function(){var v=this.val,c=v[0],g=v[1],p=v[2],T=v[3],C=v[4],M=v[5],A=v[6],R=v[7],P=v[8],L=v[9],F=v[10],w=v[11],O=v[12],B=v[13],I=v[14],D=v[15];return this.setValues(M*(F*D-w*I)-L*(A*D-R*I)+B*(A*w-R*F),-(g*(F*D-w*I)-L*(p*D-T*I)+B*(p*w-T*F)),g*(A*D-R*I)-M*(p*D-T*I)+B*(p*R-T*A),-(g*(A*w-R*F)-M*(p*w-T*F)+L*(p*R-T*A)),-(C*(F*D-w*I)-P*(A*D-R*I)+O*(A*w-R*F)),c*(F*D-w*I)-P*(p*D-T*I)+O*(p*w-T*F),-(c*(A*D-R*I)-C*(p*D-T*I)+O*(p*R-T*A)),c*(A*w-R*F)-C*(p*w-T*F)+P*(p*R-T*A),C*(L*D-w*B)-P*(M*D-R*B)+O*(M*w-R*L),-(c*(L*D-w*B)-P*(g*D-T*B)+O*(g*w-T*L)),c*(M*D-R*B)-C*(g*D-T*B)+O*(g*R-T*M),-(c*(M*w-R*L)-C*(g*w-T*L)+P*(g*R-T*M)),-(C*(L*I-F*B)-P*(M*I-A*B)+O*(M*F-A*L)),c*(L*I-F*B)-P*(g*I-p*B)+O*(g*F-p*L),-(c*(M*I-A*B)-C*(g*I-p*B)+O*(g*A-p*M)),c*(M*F-A*L)-C*(g*F-p*L)+P*(g*A-p*M))},determinant:function(){var v=this.val,c=v[0],g=v[1],p=v[2],T=v[3],C=v[4],M=v[5],A=v[6],R=v[7],P=v[8],L=v[9],F=v[10],w=v[11],O=v[12],B=v[13],I=v[14],D=v[15],N=c*M-g*C,z=c*A-p*C,V=c*R-T*C,U=g*A-p*M,G=g*R-T*M,b=p*R-T*A,Y=P*B-L*O,W=P*I-F*O,H=P*D-w*O,X=L*I-F*B,K=L*D-w*B,Z=F*D-w*I;return N*Z-z*K+V*X+U*H-G*W+b*Y},multiply:function(v){var c=this.val,g=c[0],p=c[1],T=c[2],C=c[3],M=c[4],A=c[5],R=c[6],P=c[7],L=c[8],F=c[9],w=c[10],O=c[11],B=c[12],I=c[13],D=c[14],N=c[15],z=v.val,V=z[0],U=z[1],G=z[2],b=z[3];return c[0]=V*g+U*M+G*L+b*B,c[1]=V*p+U*A+G*F+b*I,c[2]=V*T+U*R+G*w+b*D,c[3]=V*C+U*P+G*O+b*N,V=z[4],U=z[5],G=z[6],b=z[7],c[4]=V*g+U*M+G*L+b*B,c[5]=V*p+U*A+G*F+b*I,c[6]=V*T+U*R+G*w+b*D,c[7]=V*C+U*P+G*O+b*N,V=z[8],U=z[9],G=z[10],b=z[11],c[8]=V*g+U*M+G*L+b*B,c[9]=V*p+U*A+G*F+b*I,c[10]=V*T+U*R+G*w+b*D,c[11]=V*C+U*P+G*O+b*N,V=z[12],U=z[13],G=z[14],b=z[15],c[12]=V*g+U*M+G*L+b*B,c[13]=V*p+U*A+G*F+b*I,c[14]=V*T+U*R+G*w+b*D,c[15]=V*C+U*P+G*O+b*N,this},multiplyLocal:function(v){var c=this.val,g=v.val;return this.setValues(c[0]*g[0]+c[1]*g[4]+c[2]*g[8]+c[3]*g[12],c[0]*g[1]+c[1]*g[5]+c[2]*g[9]+c[3]*g[13],c[0]*g[2]+c[1]*g[6]+c[2]*g[10]+c[3]*g[14],c[0]*g[3]+c[1]*g[7]+c[2]*g[11]+c[3]*g[15],c[4]*g[0]+c[5]*g[4]+c[6]*g[8]+c[7]*g[12],c[4]*g[1]+c[5]*g[5]+c[6]*g[9]+c[7]*g[13],c[4]*g[2]+c[5]*g[6]+c[6]*g[10]+c[7]*g[14],c[4]*g[3]+c[5]*g[7]+c[6]*g[11]+c[7]*g[15],c[8]*g[0]+c[9]*g[4]+c[10]*g[8]+c[11]*g[12],c[8]*g[1]+c[9]*g[5]+c[10]*g[9]+c[11]*g[13],c[8]*g[2]+c[9]*g[6]+c[10]*g[10]+c[11]*g[14],c[8]*g[3]+c[9]*g[7]+c[10]*g[11]+c[11]*g[15],c[12]*g[0]+c[13]*g[4]+c[14]*g[8]+c[15]*g[12],c[12]*g[1]+c[13]*g[5]+c[14]*g[9]+c[15]*g[13],c[12]*g[2]+c[13]*g[6]+c[14]*g[10]+c[15]*g[14],c[12]*g[3]+c[13]*g[7]+c[14]*g[11]+c[15]*g[15])},premultiply:function(v){return this.multiplyMatrices(v,this)},multiplyMatrices:function(v,c){var g=v.val,p=c.val,T=g[0],C=g[4],M=g[8],A=g[12],R=g[1],P=g[5],L=g[9],F=g[13],w=g[2],O=g[6],B=g[10],I=g[14],D=g[3],N=g[7],z=g[11],V=g[15],U=p[0],G=p[4],b=p[8],Y=p[12],W=p[1],H=p[5],X=p[9],K=p[13],Z=p[2],Q=p[6],j=p[10],J=p[14],tt=p[3],k=p[7],q=p[11],_=p[15];return this.setValues(T*U+C*W+M*Z+A*tt,R*U+P*W+L*Z+F*tt,w*U+O*W+B*Z+I*tt,D*U+N*W+z*Z+V*tt,T*G+C*H+M*Q+A*k,R*G+P*H+L*Q+F*k,w*G+O*H+B*Q+I*k,D*G+N*H+z*Q+V*k,T*b+C*X+M*j+A*q,R*b+P*X+L*j+F*q,w*b+O*X+B*j+I*q,D*b+N*X+z*j+V*q,T*Y+C*K+M*J+A*_,R*Y+P*K+L*J+F*_,w*Y+O*K+B*J+I*_,D*Y+N*K+z*J+V*_)},translate:function(v){return this.translateXYZ(v.x,v.y,v.z)},translateXYZ:function(v,c,g){var p=this.val;return p[12]=p[0]*v+p[4]*c+p[8]*g+p[12],p[13]=p[1]*v+p[5]*c+p[9]*g+p[13],p[14]=p[2]*v+p[6]*c+p[10]*g+p[14],p[15]=p[3]*v+p[7]*c+p[11]*g+p[15],this},scale:function(v){return this.scaleXYZ(v.x,v.y,v.z)},scaleXYZ:function(v,c,g){var p=this.val;return p[0]=p[0]*v,p[1]=p[1]*v,p[2]=p[2]*v,p[3]=p[3]*v,p[4]=p[4]*c,p[5]=p[5]*c,p[6]=p[6]*c,p[7]=p[7]*c,p[8]=p[8]*g,p[9]=p[9]*g,p[10]=p[10]*g,p[11]=p[11]*g,this},makeRotationAxis:function(v,c){var g=Math.cos(c),p=Math.sin(c),T=1-g,C=v.x,M=v.y,A=v.z,R=T*C,P=T*M;return this.setValues(R*C+g,R*M-p*A,R*A+p*M,0,R*M+p*A,P*M+g,P*A-p*C,0,R*A-p*M,P*A+p*C,T*A*A+g,0,0,0,0,1)},rotate:function(v,c){var g=this.val,p=c.x,T=c.y,C=c.z,M=Math.sqrt(p*p+T*T+C*C);if(Math.abs(M){/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return Math.min(t+e,l)};h.exports=d},50040:h=>{/** + * @author Vladislav Forsh + * @copyright 2021 RoboWhale + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){var e=t.length;if(e===0)return 0;t.sort(function(i,s){return i-s});var l=Math.floor(e/2);return e%2===0?(t[l]+t[l-1])/2:t[l]};h.exports=d},37204:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return Math.max(t-e,l)};h.exports=d},65201:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){l===void 0&&(l=e+1);var s=(t-e)/(l-e);return s>1?i!==void 0?(s=(i-t)/(i-l),s<0&&(s=0)):s=1:s<0&&(s=0),s};h.exports=d},15746:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(94434),i=t(29747),s=t(25836),r=1e-6,o=new Int8Array([1,2,0]),a=new Float32Array([0,0,0]),u=new s(1,0,0),f=new s(0,1,0),v=new s,c=new l,g=new e({initialize:function(T,C,M,A){this.onChangeCallback=i,this.set(T,C,M,A)},x:{get:function(){return this._x},set:function(p){this._x=p,this.onChangeCallback(this)}},y:{get:function(){return this._y},set:function(p){this._y=p,this.onChangeCallback(this)}},z:{get:function(){return this._z},set:function(p){this._z=p,this.onChangeCallback(this)}},w:{get:function(){return this._w},set:function(p){this._w=p,this.onChangeCallback(this)}},copy:function(p){return this.set(p)},set:function(p,T,C,M,A){return A===void 0&&(A=!0),typeof p=="object"?(this._x=p.x||0,this._y=p.y||0,this._z=p.z||0,this._w=p.w||0):(this._x=p||0,this._y=T||0,this._z=C||0,this._w=M||0),A&&this.onChangeCallback(this),this},add:function(p){return this._x+=p.x,this._y+=p.y,this._z+=p.z,this._w+=p.w,this.onChangeCallback(this),this},subtract:function(p){return this._x-=p.x,this._y-=p.y,this._z-=p.z,this._w-=p.w,this.onChangeCallback(this),this},scale:function(p){return this._x*=p,this._y*=p,this._z*=p,this._w*=p,this.onChangeCallback(this),this},length:function(){var p=this.x,T=this.y,C=this.z,M=this.w;return Math.sqrt(p*p+T*T+C*C+M*M)},lengthSq:function(){var p=this.x,T=this.y,C=this.z,M=this.w;return p*p+T*T+C*C+M*M},normalize:function(){var p=this.x,T=this.y,C=this.z,M=this.w,A=p*p+T*T+C*C+M*M;return A>0&&(A=1/Math.sqrt(A),this._x=p*A,this._y=T*A,this._z=C*A,this._w=M*A),this.onChangeCallback(this),this},dot:function(p){return this.x*p.x+this.y*p.y+this.z*p.z+this.w*p.w},lerp:function(p,T){T===void 0&&(T=0);var C=this.x,M=this.y,A=this.z,R=this.w;return this.set(C+T*(p.x-C),M+T*(p.y-M),A+T*(p.z-A),R+T*(p.w-R))},rotationTo:function(p,T){var C=p.x*T.x+p.y*T.y+p.z*T.z;return C<-.999999?(v.copy(u).cross(p).length().999999?this.set(0,0,0,1):(v.copy(p).cross(T),this._x=v.x,this._y=v.y,this._z=v.z,this._w=1+C,this.normalize())},setAxes:function(p,T,C){var M=c.val;return M[0]=T.x,M[3]=T.y,M[6]=T.z,M[1]=C.x,M[4]=C.y,M[7]=C.z,M[2]=-p.x,M[5]=-p.y,M[8]=-p.z,this.fromMat3(c).normalize()},identity:function(){return this.set(0,0,0,1)},setAxisAngle:function(p,T){T=T*.5;var C=Math.sin(T);return this.set(C*p.x,C*p.y,C*p.z,Math.cos(T))},multiply:function(p){var T=this.x,C=this.y,M=this.z,A=this.w,R=p.x,P=p.y,L=p.z,F=p.w;return this.set(T*F+A*R+C*L-M*P,C*F+A*P+M*R-T*L,M*F+A*L+T*P-C*R,A*F-T*R-C*P-M*L)},slerp:function(p,T){var C=this.x,M=this.y,A=this.z,R=this.w,P=p.x,L=p.y,F=p.z,w=p.w,O=C*P+M*L+A*F+R*w;O<0&&(O=-O,P=-P,L=-L,F=-F,w=-w);var B=1-T,I=T;if(1-O>r){var D=Math.acos(O),N=Math.sin(D);B=Math.sin((1-T)*D)/N,I=Math.sin(T*D)/N}return this.set(B*C+I*P,B*M+I*L,B*A+I*F,B*R+I*w)},invert:function(){var p=this.x,T=this.y,C=this.z,M=this.w,A=p*p+T*T+C*C+M*M,R=A?1/A:0;return this.set(-p*R,-T*R,-C*R,M*R)},conjugate:function(){return this._x=-this.x,this._y=-this.y,this._z=-this.z,this.onChangeCallback(this),this},rotateX:function(p){p*=.5;var T=this.x,C=this.y,M=this.z,A=this.w,R=Math.sin(p),P=Math.cos(p);return this.set(T*P+A*R,C*P+M*R,M*P-C*R,A*P-T*R)},rotateY:function(p){p*=.5;var T=this.x,C=this.y,M=this.z,A=this.w,R=Math.sin(p),P=Math.cos(p);return this.set(T*P-M*R,C*P+A*R,M*P+T*R,A*P-C*R)},rotateZ:function(p){p*=.5;var T=this.x,C=this.y,M=this.z,A=this.w,R=Math.sin(p),P=Math.cos(p);return this.set(T*P+C*R,C*P-T*R,M*P+A*R,A*P-M*R)},calculateW:function(){var p=this.x,T=this.y,C=this.z;return this.w=-Math.sqrt(1-p*p-T*T-C*C),this},setFromEuler:function(p,T){var C=p.x/2,M=p.y/2,A=p.z/2,R=Math.cos(C),P=Math.cos(M),L=Math.cos(A),F=Math.sin(C),w=Math.sin(M),O=Math.sin(A);switch(p.order){case"XYZ":{this.set(F*P*L+R*w*O,R*w*L-F*P*O,R*P*O+F*w*L,R*P*L-F*w*O,T);break}case"YXZ":{this.set(F*P*L+R*w*O,R*w*L-F*P*O,R*P*O-F*w*L,R*P*L+F*w*O,T);break}case"ZXY":{this.set(F*P*L-R*w*O,R*w*L+F*P*O,R*P*O+F*w*L,R*P*L-F*w*O,T);break}case"ZYX":{this.set(F*P*L-R*w*O,R*w*L+F*P*O,R*P*O-F*w*L,R*P*L+F*w*O,T);break}case"YZX":{this.set(F*P*L+R*w*O,R*w*L+F*P*O,R*P*O-F*w*L,R*P*L-F*w*O,T);break}case"XZY":{this.set(F*P*L-R*w*O,R*w*L-F*P*O,R*P*O+F*w*L,R*P*L+F*w*O,T);break}}return this},setFromRotationMatrix:function(p){var T=p.val,C=T[0],M=T[4],A=T[8],R=T[1],P=T[5],L=T[9],F=T[2],w=T[6],O=T[10],B=C+P+O,I;return B>0?(I=.5/Math.sqrt(B+1),this.set((w-L)*I,(A-F)*I,(R-M)*I,.25/I)):C>P&&C>O?(I=2*Math.sqrt(1+C-P-O),this.set(.25*I,(M+R)/I,(A+F)/I,(w-L)/I)):P>O?(I=2*Math.sqrt(1+P-C-O),this.set((M+R)/I,.25*I,(L+w)/I,(A-F)/I)):(I=2*Math.sqrt(1+O-C-P),this.set((A+F)/I,(L+w)/I,.25*I,(R-M)/I)),this},fromMat3:function(p){var T=p.val,C=T[0]+T[4]+T[8],M;if(C>0)M=Math.sqrt(C+1),this.w=.5*M,M=.5/M,this._x=(T[7]-T[5])*M,this._y=(T[2]-T[6])*M,this._z=(T[3]-T[1])*M;else{var A=0;T[4]>T[0]&&(A=1),T[8]>T[A*3+A]&&(A=2);var R=o[A],P=o[R];M=Math.sqrt(T[A*3+A]-T[R*3+R]-T[P*3+P]+1),a[A]=.5*M,M=.5/M,a[R]=(T[R*3+A]+T[A*3+R])*M,a[P]=(T[P*3+A]+T[A*3+P])*M,this._x=a[0],this._y=a[1],this._z=a[2],this._w=(T[P*3+R]-T[R*3+P])*M}return this.onChangeCallback(this),this}});h.exports=g},43396:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(36383),l=function(i){return i*e.RAD_TO_DEG};h.exports=l},74362:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){e===void 0&&(e=1);var l=Math.random()*2*Math.PI;return t.x=Math.cos(l)*e,t.y=Math.sin(l)*e,t};h.exports=d},60706:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){e===void 0&&(e=1);var l=Math.random()*2*Math.PI,i=Math.random()*2-1,s=Math.sqrt(1-i*i)*e;return t.x=Math.cos(l)*s,t.y=Math.sin(l)*s,t.z=i*e,t};h.exports=d},67421:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e===void 0&&(e=1),t.x=(Math.random()*2-1)*e,t.y=(Math.random()*2-1)*e,t.z=(Math.random()*2-1)*e,t.w=(Math.random()*2-1)*e,t};h.exports=d},36305:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){var l=t.x,i=t.y;return t.x=l*Math.cos(e)-i*Math.sin(e),t.y=l*Math.sin(e)+i*Math.cos(e),t};h.exports=d},11520:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){var s=Math.cos(i),r=Math.sin(i),o=t.x-e,a=t.y-l;return t.x=o*s-a*r+e,t.y=o*r+a*s+l,t};h.exports=d},1163:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i,s){var r=i+Math.atan2(t.y-l,t.x-e);return t.x=e+s*Math.cos(r),t.y=l+s*Math.sin(r),t};h.exports=d},70336:h=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i,s){return t.x=e+s*Math.cos(i),t.y=l+s*Math.sin(i),t};h.exports=d},72678:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(25836),l=t(37867),i=t(15746),s=new l,r=new i,o=new e,a=function(u,f,v){return r.setAxisAngle(f,v),s.fromRotationTranslation(r,o.set(0,0,0)),u.transformMat4(s)};h.exports=a},2284:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t>0?Math.ceil(t):Math.floor(t)};h.exports=d},41013:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){e===void 0&&(e=0),l===void 0&&(l=10);var i=Math.pow(l,-e);return Math.round(t*i)/i};h.exports=d},7602:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return t<=e?0:t>=l?1:(t=(t-e)/(l-e),t*t*(3-2*t))};h.exports=d},54261:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return t=Math.max(0,Math.min(1,(t-e)/(l-e))),t*t*t*(t*(t*6-15)+10)};h.exports=d},44408:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s,r,o){o===void 0&&(o=new e);var a=0,u=0,f=s*r;return i>0&&i<=f&&(i>s-1?(u=Math.floor(i/s),a=i-u*s):a=i),o.set(a,u)};h.exports=l},85955:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s,r,o,a,u,f,v){v===void 0&&(v=new e);var c=Math.sin(a),g=Math.cos(a),p=g*u,T=c*u,C=-c*f,M=g*f,A=1/(p*M+C*-T);return v.x=M*A*i+-C*A*s+(o*C-r*M)*A,v.y=p*A*s+-T*A*i+(-o*p+r*T)*A,v};h.exports=l},26099:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(43855),i=new e({initialize:function(r,o){this.x=0,this.y=0,typeof r=="object"?(this.x=r.x||0,this.y=r.y||0):(o===void 0&&(o=r),this.x=r||0,this.y=o||0)},clone:function(){return new i(this.x,this.y)},copy:function(s){return this.x=s.x||0,this.y=s.y||0,this},setFromObject:function(s){return this.x=s.x||0,this.y=s.y||0,this},set:function(s,r){return r===void 0&&(r=s),this.x=s,this.y=r,this},setTo:function(s,r){return this.set(s,r)},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},invert:function(){return this.set(this.y,this.x)},setToPolar:function(s,r){return r==null&&(r=1),this.x=Math.cos(s)*r,this.y=Math.sin(s)*r,this},equals:function(s){return this.x===s.x&&this.y===s.y},fuzzyEquals:function(s,r){return l(this.x,s.x,r)&&l(this.y,s.y,r)},angle:function(){var s=Math.atan2(this.y,this.x);return s<0&&(s+=2*Math.PI),s},setAngle:function(s){return this.setToPolar(s,this.length())},add:function(s){return this.x+=s.x,this.y+=s.y,this},subtract:function(s){return this.x-=s.x,this.y-=s.y,this},multiply:function(s){return this.x*=s.x,this.y*=s.y,this},scale:function(s){return isFinite(s)?(this.x*=s,this.y*=s):(this.x=0,this.y=0),this},divide:function(s){return this.x/=s.x,this.y/=s.y,this},negate:function(){return this.x=-this.x,this.y=-this.y,this},distance:function(s){var r=s.x-this.x,o=s.y-this.y;return Math.sqrt(r*r+o*o)},distanceSq:function(s){var r=s.x-this.x,o=s.y-this.y;return r*r+o*o},length:function(){var s=this.x,r=this.y;return Math.sqrt(s*s+r*r)},setLength:function(s){return this.normalize().scale(s)},lengthSq:function(){var s=this.x,r=this.y;return s*s+r*r},normalize:function(){var s=this.x,r=this.y,o=s*s+r*r;return o>0&&(o=1/Math.sqrt(o),this.x=s*o,this.y=r*o),this},normalizeRightHand:function(){var s=this.x;return this.x=this.y*-1,this.y=s,this},normalizeLeftHand:function(){var s=this.x;return this.x=this.y,this.y=s*-1,this},dot:function(s){return this.x*s.x+this.y*s.y},cross:function(s){return this.x*s.y-this.y*s.x},lerp:function(s,r){r===void 0&&(r=0);var o=this.x,a=this.y;return this.x=o+r*(s.x-o),this.y=a+r*(s.y-a),this},transformMat3:function(s){var r=this.x,o=this.y,a=s.val;return this.x=a[0]*r+a[3]*o+a[6],this.y=a[1]*r+a[4]*o+a[7],this},transformMat4:function(s){var r=this.x,o=this.y,a=s.val;return this.x=a[0]*r+a[4]*o+a[12],this.y=a[1]*r+a[5]*o+a[13],this},reset:function(){return this.x=0,this.y=0,this},limit:function(s){var r=this.length();return r&&r>s&&this.scale(s/r),this},reflect:function(s){return s=s.clone().normalize(),this.subtract(s.scale(2*this.dot(s)))},mirror:function(s){return this.reflect(s).negate()},rotate:function(s){var r=Math.cos(s),o=Math.sin(s);return this.set(r*this.x-o*this.y,o*this.x+r*this.y)},project:function(s){var r=this.dot(s)/s.dot(s);return this.copy(s).scale(r)},projectUnit:function(s,r){r===void 0&&(r=new i);var o=this.x*s.x+this.y*s.y;return o!==0&&(r.x=o*s.x,r.y=o*s.y),r}});i.ZERO=new i,i.RIGHT=new i(1,0),i.LEFT=new i(-1,0),i.UP=new i(0,-1),i.DOWN=new i(0,1),i.ONE=new i(1,1),h.exports=i},25836:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s,r,o){this.x=0,this.y=0,this.z=0,typeof s=="object"?(this.x=s.x||0,this.y=s.y||0,this.z=s.z||0):(this.x=s||0,this.y=r||0,this.z=o||0)},up:function(){return this.x=0,this.y=1,this.z=0,this},min:function(i){return this.x=Math.min(this.x,i.x),this.y=Math.min(this.y,i.y),this.z=Math.min(this.z,i.z),this},max:function(i){return this.x=Math.max(this.x,i.x),this.y=Math.max(this.y,i.y),this.z=Math.max(this.z,i.z),this},clone:function(){return new l(this.x,this.y,this.z)},addVectors:function(i,s){return this.x=i.x+s.x,this.y=i.y+s.y,this.z=i.z+s.z,this},subVectors:function(i,s){return this.x=i.x-s.x,this.y=i.y-s.y,this.z=i.z-s.z,this},crossVectors:function(i,s){var r=i.x,o=i.y,a=i.z,u=s.x,f=s.y,v=s.z;return this.x=o*v-a*f,this.y=a*u-r*v,this.z=r*f-o*u,this},equals:function(i){return this.x===i.x&&this.y===i.y&&this.z===i.z},copy:function(i){return this.x=i.x,this.y=i.y,this.z=i.z||0,this},set:function(i,s,r){return typeof i=="object"?(this.x=i.x||0,this.y=i.y||0,this.z=i.z||0):(this.x=i||0,this.y=s||0,this.z=r||0),this},setFromMatrixPosition:function(i){return this.fromArray(i.val,12)},setFromMatrixColumn:function(i,s){return this.fromArray(i.val,s*4)},fromArray:function(i,s){return s===void 0&&(s=0),this.x=i[s],this.y=i[s+1],this.z=i[s+2],this},add:function(i){return this.x+=i.x,this.y+=i.y,this.z+=i.z||0,this},addScalar:function(i){return this.x+=i,this.y+=i,this.z+=i,this},addScale:function(i,s){return this.x+=i.x*s,this.y+=i.y*s,this.z+=i.z*s||0,this},subtract:function(i){return this.x-=i.x,this.y-=i.y,this.z-=i.z||0,this},multiply:function(i){return this.x*=i.x,this.y*=i.y,this.z*=i.z||1,this},scale:function(i){return isFinite(i)?(this.x*=i,this.y*=i,this.z*=i):(this.x=0,this.y=0,this.z=0),this},divide:function(i){return this.x/=i.x,this.y/=i.y,this.z/=i.z||1,this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},distance:function(i){var s=i.x-this.x,r=i.y-this.y,o=i.z-this.z||0;return Math.sqrt(s*s+r*r+o*o)},distanceSq:function(i){var s=i.x-this.x,r=i.y-this.y,o=i.z-this.z||0;return s*s+r*r+o*o},length:function(){var i=this.x,s=this.y,r=this.z;return Math.sqrt(i*i+s*s+r*r)},lengthSq:function(){var i=this.x,s=this.y,r=this.z;return i*i+s*s+r*r},normalize:function(){var i=this.x,s=this.y,r=this.z,o=i*i+s*s+r*r;return o>0&&(o=1/Math.sqrt(o),this.x=i*o,this.y=s*o,this.z=r*o),this},dot:function(i){return this.x*i.x+this.y*i.y+this.z*i.z},cross:function(i){var s=this.x,r=this.y,o=this.z,a=i.x,u=i.y,f=i.z;return this.x=r*f-o*u,this.y=o*a-s*f,this.z=s*u-r*a,this},lerp:function(i,s){s===void 0&&(s=0);var r=this.x,o=this.y,a=this.z;return this.x=r+s*(i.x-r),this.y=o+s*(i.y-o),this.z=a+s*(i.z-a),this},applyMatrix3:function(i){var s=this.x,r=this.y,o=this.z,a=i.val;return this.x=a[0]*s+a[3]*r+a[6]*o,this.y=a[1]*s+a[4]*r+a[7]*o,this.z=a[2]*s+a[5]*r+a[8]*o,this},applyMatrix4:function(i){var s=this.x,r=this.y,o=this.z,a=i.val,u=1/(a[3]*s+a[7]*r+a[11]*o+a[15]);return this.x=(a[0]*s+a[4]*r+a[8]*o+a[12])*u,this.y=(a[1]*s+a[5]*r+a[9]*o+a[13])*u,this.z=(a[2]*s+a[6]*r+a[10]*o+a[14])*u,this},transformMat3:function(i){var s=this.x,r=this.y,o=this.z,a=i.val;return this.x=s*a[0]+r*a[3]+o*a[6],this.y=s*a[1]+r*a[4]+o*a[7],this.z=s*a[2]+r*a[5]+o*a[8],this},transformMat4:function(i){var s=this.x,r=this.y,o=this.z,a=i.val;return this.x=a[0]*s+a[4]*r+a[8]*o+a[12],this.y=a[1]*s+a[5]*r+a[9]*o+a[13],this.z=a[2]*s+a[6]*r+a[10]*o+a[14],this},transformCoordinates:function(i){var s=this.x,r=this.y,o=this.z,a=i.val,u=s*a[0]+r*a[4]+o*a[8]+a[12],f=s*a[1]+r*a[5]+o*a[9]+a[13],v=s*a[2]+r*a[6]+o*a[10]+a[14],c=s*a[3]+r*a[7]+o*a[11]+a[15];return this.x=u/c,this.y=f/c,this.z=v/c,this},transformQuat:function(i){var s=this.x,r=this.y,o=this.z,a=i.x,u=i.y,f=i.z,v=i.w,c=v*s+u*o-f*r,g=v*r+f*s-a*o,p=v*o+a*r-u*s,T=-a*s-u*r-f*o;return this.x=c*v+T*-a+g*-f-p*-u,this.y=g*v+T*-u+p*-a-c*-f,this.z=p*v+T*-f+c*-u-g*-a,this},project:function(i){var s=this.x,r=this.y,o=this.z,a=i.val,u=a[0],f=a[1],v=a[2],c=a[3],g=a[4],p=a[5],T=a[6],C=a[7],M=a[8],A=a[9],R=a[10],P=a[11],L=a[12],F=a[13],w=a[14],O=a[15],B=1/(s*c+r*C+o*P+O);return this.x=(s*u+r*g+o*M+L)*B,this.y=(s*f+r*p+o*A+F)*B,this.z=(s*v+r*T+o*R+w)*B,this},projectViewMatrix:function(i,s){return this.applyMatrix4(i).applyMatrix4(s)},unprojectViewMatrix:function(i,s){return this.applyMatrix4(i).applyMatrix4(s)},unproject:function(i,s){var r=i.x,o=i.y,a=i.z,u=i.w,f=this.x-r,v=u-this.y-1-o,c=this.z;return this.x=2*f/a-1,this.y=2*v/u-1,this.z=2*c-1,this.project(s)},reset:function(){return this.x=0,this.y=0,this.z=0,this}});l.ZERO=new l,l.RIGHT=new l(1,0,0),l.LEFT=new l(-1,0,0),l.UP=new l(0,-1,0),l.DOWN=new l(0,1,0),l.FORWARD=new l(0,0,1),l.BACK=new l(0,0,-1),l.ONE=new l(1,1,1),h.exports=l},61369:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s,r,o,a){this.x=0,this.y=0,this.z=0,this.w=0,typeof s=="object"?(this.x=s.x||0,this.y=s.y||0,this.z=s.z||0,this.w=s.w||0):(this.x=s||0,this.y=r||0,this.z=o||0,this.w=a||0)},clone:function(){return new l(this.x,this.y,this.z,this.w)},copy:function(i){return this.x=i.x,this.y=i.y,this.z=i.z||0,this.w=i.w||0,this},equals:function(i){return this.x===i.x&&this.y===i.y&&this.z===i.z&&this.w===i.w},set:function(i,s,r,o){return typeof i=="object"?(this.x=i.x||0,this.y=i.y||0,this.z=i.z||0,this.w=i.w||0):(this.x=i||0,this.y=s||0,this.z=r||0,this.w=o||0),this},add:function(i){return this.x+=i.x,this.y+=i.y,this.z+=i.z||0,this.w+=i.w||0,this},subtract:function(i){return this.x-=i.x,this.y-=i.y,this.z-=i.z||0,this.w-=i.w||0,this},scale:function(i){return this.x*=i,this.y*=i,this.z*=i,this.w*=i,this},length:function(){var i=this.x,s=this.y,r=this.z,o=this.w;return Math.sqrt(i*i+s*s+r*r+o*o)},lengthSq:function(){var i=this.x,s=this.y,r=this.z,o=this.w;return i*i+s*s+r*r+o*o},normalize:function(){var i=this.x,s=this.y,r=this.z,o=this.w,a=i*i+s*s+r*r+o*o;return a>0&&(a=1/Math.sqrt(a),this.x=i*a,this.y=s*a,this.z=r*a,this.w=o*a),this},dot:function(i){return this.x*i.x+this.y*i.y+this.z*i.z+this.w*i.w},lerp:function(i,s){s===void 0&&(s=0);var r=this.x,o=this.y,a=this.z,u=this.w;return this.x=r+s*(i.x-r),this.y=o+s*(i.y-o),this.z=a+s*(i.z-a),this.w=u+s*(i.w-u),this},multiply:function(i){return this.x*=i.x,this.y*=i.y,this.z*=i.z||1,this.w*=i.w||1,this},divide:function(i){return this.x/=i.x,this.y/=i.y,this.z/=i.z||1,this.w/=i.w||1,this},distance:function(i){var s=i.x-this.x,r=i.y-this.y,o=i.z-this.z||0,a=i.w-this.w||0;return Math.sqrt(s*s+r*r+o*o+a*a)},distanceSq:function(i){var s=i.x-this.x,r=i.y-this.y,o=i.z-this.z||0,a=i.w-this.w||0;return s*s+r*r+o*o+a*a},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},transformMat4:function(i){var s=this.x,r=this.y,o=this.z,a=this.w,u=i.val;return this.x=u[0]*s+u[4]*r+u[8]*o+u[12]*a,this.y=u[1]*s+u[5]*r+u[9]*o+u[13]*a,this.z=u[2]*s+u[6]*r+u[10]*o+u[14]*a,this.w=u[3]*s+u[7]*r+u[11]*o+u[15]*a,this},transformQuat:function(i){var s=this.x,r=this.y,o=this.z,a=i.x,u=i.y,f=i.z,v=i.w,c=v*s+u*o-f*r,g=v*r+f*s-a*o,p=v*o+a*r-u*s,T=-a*s-u*r-f*o;return this.x=c*v+T*-a+g*-f-p*-u,this.y=g*v+T*-u+p*-a-c*-f,this.z=p*v+T*-f+c*-u-g*-a,this},reset:function(){return this.x=0,this.y=0,this.z=0,this.w=0,this}});l.prototype.sub=l.prototype.subtract,l.prototype.mul=l.prototype.multiply,l.prototype.div=l.prototype.divide,l.prototype.dist=l.prototype.distance,l.prototype.distSq=l.prototype.distanceSq,l.prototype.len=l.prototype.length,l.prototype.lenSq=l.prototype.lengthSq,h.exports=l},60417:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return Math.abs(t-e)<=l};h.exports=d},15994:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){var i=l-e;return e+((t-e)%i+i)%i};h.exports=d},31040:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){return Math.atan2(i-e,l-t)};h.exports=d},55495:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return Math.atan2(e.y-t.y,e.x-t.x)};h.exports=d},128:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)};h.exports=d},41273:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){return Math.atan2(l-t,i-e)};h.exports=d},1432:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(36383),l=function(i){return i>Math.PI&&(i-=e.TAU),Math.abs(((i+e.PI_OVER_2)%e.TAU-e.TAU)%e.TAU)};h.exports=l},49127:(h,d,t)=>{/** + * @author samme + * @copyright 2025 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(12407),l=function(i,s){return e(s-i)};h.exports=l},52285:(h,d,t)=>{/** + * @author samme + * @copyright 2025 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(36383),l=t(12407),i=e.TAU,s=function(r,o){var a=l(o-r);return a>0&&(a-=i),a};h.exports=s},67317:(h,d,t)=>{/** + * @author samme + * @copyright 2025 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(86554),l=function(i,s){return e(s-i)};h.exports=l},12407:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t=t%(2*Math.PI),t>=0?t:t+2*Math.PI};h.exports=d},53993:(h,d,t)=>{/** + * @author Richard Davey + * @author @samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(99472),l=function(){return e(-Math.PI,Math.PI)};h.exports=l},86564:(h,d,t)=>{/** + * @author Richard Davey + * @author @samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(99472),l=function(){return e(-180,180)};h.exports=l},90154:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(12407),l=function(i){return e(i+Math.PI)};h.exports=l},48736:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(36383),l=function(i,s,r){return r===void 0&&(r=.05),i===s||(Math.abs(s-i)<=r||Math.abs(s-i)>=e.TAU-r?i=s:(Math.abs(s-i)>Math.PI&&(si?i+=r:s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){var l=e-t;if(l===0)return 0;var i=Math.floor((l- -180)/360);return l-i*360};h.exports=d},86554:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(15994),l=function(i){return e(i,-Math.PI,Math.PI)};h.exports=l},30954:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(15994),l=function(i){return e(i,-180,180)};h.exports=l},25588:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Between:t(31040),BetweenPoints:t(55495),BetweenPointsY:t(128),BetweenY:t(41273),CounterClockwise:t(1432),GetClockwiseDistance:t(49127),GetCounterClockwiseDistance:t(52285),GetShortestDistance:t(67317),Normalize:t(12407),Random:t(53993),RandomDegrees:t(86564),Reverse:t(90154),RotateTo:t(48736),ShortestBetween:t(61430),Wrap:t(86554),WrapDegrees:t(30954)}},36383:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={TAU:Math.PI*2,PI_OVER_2:Math.PI/2,EPSILON:1e-6,DEG_TO_RAD:Math.PI/180,RAD_TO_DEG:180/Math.PI,RND:null,MIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER||-9007199254740991,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991};h.exports=d},20339:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){var s=t-l,r=e-i;return Math.sqrt(s*s+r*r)};h.exports=d},52816:h=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){var l=t.x-e.x,i=t.y-e.y;return Math.sqrt(l*l+i*i)};h.exports=d},64559:h=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){var l=t.x-e.x,i=t.y-e.y;return l*l+i*i};h.exports=d},82340:h=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){return Math.max(Math.abs(t-l),Math.abs(e-i))};h.exports=d},14390:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i,s){return s===void 0&&(s=2),Math.sqrt(Math.pow(l-t,s)+Math.pow(i-e,s))};h.exports=d},2243:h=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){return Math.abs(t-l)+Math.abs(e-i)};h.exports=d},89774:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){var s=t-l,r=e-i;return s*s+r*r};h.exports=d},50994:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Between:t(20339),BetweenPoints:t(52816),BetweenPointsSquared:t(64559),Chebyshev:t(82340),Power:t(14390),Snake:t(2243),Squared:t(89774)}},62640:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(54178),l=t(41521),i=t(79980),s=t(85433),r=t(99140),o=t(48857),a=t(81596),u=t(59133),f=t(98516),v=t(35248),c=t(82500),g=t(49752);h.exports={Power0:a,Power1:u.Out,Power2:s.Out,Power3:f.Out,Power4:v.Out,Linear:a,Quad:u.Out,Cubic:s.Out,Quart:f.Out,Quint:v.Out,Sine:c.Out,Expo:o.Out,Circ:i.Out,Elastic:r.Out,Back:e.Out,Bounce:l.Out,Stepped:g,"Quad.easeIn":u.In,"Cubic.easeIn":s.In,"Quart.easeIn":f.In,"Quint.easeIn":v.In,"Sine.easeIn":c.In,"Expo.easeIn":o.In,"Circ.easeIn":i.In,"Elastic.easeIn":r.In,"Back.easeIn":e.In,"Bounce.easeIn":l.In,"Quad.easeOut":u.Out,"Cubic.easeOut":s.Out,"Quart.easeOut":f.Out,"Quint.easeOut":v.Out,"Sine.easeOut":c.Out,"Expo.easeOut":o.Out,"Circ.easeOut":i.Out,"Elastic.easeOut":r.Out,"Back.easeOut":e.Out,"Bounce.easeOut":l.Out,"Quad.easeInOut":u.InOut,"Cubic.easeInOut":s.InOut,"Quart.easeInOut":f.InOut,"Quint.easeInOut":v.InOut,"Sine.easeInOut":c.InOut,"Expo.easeInOut":o.InOut,"Circ.easeInOut":i.InOut,"Elastic.easeInOut":r.InOut,"Back.easeInOut":e.InOut,"Bounce.easeInOut":l.InOut}},1639:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e===void 0&&(e=1.70158),t*t*((e+1)*t-e)};h.exports=d},50099:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){e===void 0&&(e=1.70158);var l=e*1.525;return(t*=2)<1?.5*(t*t*((l+1)*t-l)):.5*((t-=2)*t*((l+1)*t+l)+2)};h.exports=d},41286:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e===void 0&&(e=1.70158),--t*t*((e+1)*t+e)+1};h.exports=d},54178:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={In:t(1639),Out:t(41286),InOut:t(50099)}},59590:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t=1-t,t<.36363636363636365?1-7.5625*t*t:t<.7272727272727273?1-(7.5625*(t-=.5454545454545454)*t+.75):t<.9090909090909091?1-(7.5625*(t-=.8181818181818182)*t+.9375):1-(7.5625*(t-=.9545454545454546)*t+.984375)};h.exports=d},41788:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){var e=!1;return t<.5?(t=1-t*2,e=!0):t=t*2-1,t<.36363636363636365?t=7.5625*t*t:t<.7272727272727273?t=7.5625*(t-=.5454545454545454)*t+.75:t<.9090909090909091?t=7.5625*(t-=.8181818181818182)*t+.9375:t=7.5625*(t-=.9545454545454546)*t+.984375,e?(1-t)*.5:t*.5+.5};h.exports=d},69905:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t<.36363636363636365?7.5625*t*t:t<.7272727272727273?7.5625*(t-=.5454545454545454)*t+.75:t<.9090909090909091?7.5625*(t-=.8181818181818182)*t+.9375:7.5625*(t-=.9545454545454546)*t+.984375};h.exports=d},41521:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={In:t(59590),Out:t(69905),InOut:t(41788)}},91861:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return 1-Math.sqrt(1-t*t)};h.exports=d},4177:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)};h.exports=d},57512:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return Math.sqrt(1- --t*t)};h.exports=d},79980:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={In:t(91861),Out:t(57512),InOut:t(4177)}},51150:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t*t*t};h.exports=d},82820:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)};h.exports=d},35033:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return--t*t*t+1};h.exports=d},85433:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={In:t(51150),Out:t(35033),InOut:t(82820)}},69965:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){if(e===void 0&&(e=.1),l===void 0&&(l=.1),t===0)return 0;if(t===1)return 1;var i=l/4;return e<1?e=1:i=l*Math.asin(1/e)/(2*Math.PI),-(e*Math.pow(2,10*(t-=1))*Math.sin((t-i)*(2*Math.PI)/l))};h.exports=d},50665:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){if(e===void 0&&(e=.1),l===void 0&&(l=.1),t===0)return 0;if(t===1)return 1;var i=l/4;return e<1?e=1:i=l*Math.asin(1/e)/(2*Math.PI),(t*=2)<1?-.5*(e*Math.pow(2,10*(t-=1))*Math.sin((t-i)*(2*Math.PI)/l)):e*Math.pow(2,-10*(t-=1))*Math.sin((t-i)*(2*Math.PI)/l)*.5+1};h.exports=d},7744:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){if(e===void 0&&(e=.1),l===void 0&&(l=.1),t===0)return 0;if(t===1)return 1;var i=l/4;return e<1?e=1:i=l*Math.asin(1/e)/(2*Math.PI),e*Math.pow(2,-10*t)*Math.sin((t-i)*(2*Math.PI)/l)+1};h.exports=d},99140:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={In:t(69965),Out:t(7744),InOut:t(50665)}},24590:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return Math.pow(2,10*(t-1))-.001};h.exports=d},87844:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return(t*=2)<1?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*(t-1)))};h.exports=d},89433:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return 1-Math.pow(2,-10*t)};h.exports=d},48857:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={In:t(24590),Out:t(89433),InOut:t(87844)}},48820:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Back:t(54178),Bounce:t(41521),Circular:t(79980),Cubic:t(85433),Elastic:t(99140),Expo:t(48857),Linear:t(81596),Quadratic:t(59133),Quartic:t(98516),Quintic:t(35248),Sine:t(82500),Stepped:t(49752)}},7147:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t};h.exports=d},81596:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports=t(7147)},34826:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t*t};h.exports=d},20544:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)};h.exports=d},92029:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t*(2-t)};h.exports=d},59133:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={In:t(34826),Out:t(92029),InOut:t(20544)}},64413:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t*t*t*t};h.exports=d},78137:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)};h.exports=d},45840:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return 1- --t*t*t*t};h.exports=d},98516:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={In:t(64413),Out:t(45840),InOut:t(78137)}},87745:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t*t*t*t*t};h.exports=d},16509:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)};h.exports=d},17868:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return--t*t*t*t*t+1};h.exports=d},35248:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={In:t(87745),Out:t(17868),InOut:t(16509)}},80461:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t===0?0:t===1?1:1-Math.cos(t*Math.PI/2)};h.exports=d},34025:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t===0?0:t===1?1:.5*(1-Math.cos(Math.PI*t))};h.exports=d},52768:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t===0?0:t===1?1:Math.sin(t*Math.PI/2)};h.exports=d},82500:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={In:t(80461),Out:t(52768),InOut:t(34025)}},72251:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e===void 0&&(e=1),t<=0?0:t>=1?1:((e*t|0)+1)*(1/e)};h.exports=d},49752:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports=t(72251)},75698:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e===void 0&&(e=1e-4),Math.ceil(t-e)};h.exports=d},43855:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return l===void 0&&(l=1e-4),Math.abs(t-e){/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e===void 0&&(e=1e-4),Math.floor(t+e)};h.exports=d},5470:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return l===void 0&&(l=1e-4),t>e-l};h.exports=d},94977:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return l===void 0&&(l=1e-4),t{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Ceil:t(75698),Equal:t(43855),Floor:t(25777),GreaterThan:t(5470),LessThan:t(94977)}},75508:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(36383),l=t(79291),i={Angle:t(25588),Distance:t(50994),Easing:t(48820),Fuzzy:t(48379),Interpolation:t(38289),Pow2:t(49001),Snap:t(73697),RandomDataGenerator:t(28453),Average:t(53307),Bernstein:t(85710),Between:t(30976),CatmullRom:t(87842),CeilTo:t(26302),Clamp:t(45319),DegToRad:t(39506),Difference:t(61241),Euler:t(38857),Factorial:t(6411),FloatBetween:t(99472),FloorTo:t(77623),FromPercent:t(62945),GetCentroid:t(2672),GetSpeed:t(38265),GetVec2Bounds:t(55133),IsEven:t(78702),IsEvenStrict:t(94883),Linear:t(28915),LinearXY:t(94908),MaxAdd:t(86883),Median:t(50040),MinSub:t(37204),Percent:t(65201),RadToDeg:t(43396),RandomXY:t(74362),RandomXYZ:t(60706),RandomXYZW:t(67421),Rotate:t(36305),RotateAround:t(11520),RotateAroundDistance:t(1163),RotateTo:t(70336),RoundAwayFromZero:t(2284),RoundTo:t(41013),SmootherStep:t(54261),SmoothStep:t(7602),ToXY:t(44408),TransformXY:t(85955),Within:t(60417),Wrap:t(15994),Vector2:t(26099),Vector3:t(25836),Vector4:t(61369),Matrix3:t(94434),Matrix4:t(37867),Quaternion:t(15746),RotateVec3:t(72678)};i=l(!1,i,e),h.exports=i},89318:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(85710),l=function(i,s){for(var r=0,o=i.length-1,a=0;a<=o;a++)r+=Math.pow(1-s,o-a)*Math.pow(s,a)*i[a]*e(o,a);return r};h.exports=l},77259:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87842),l=function(i,s){var r=i.length-1,o=r*s,a=Math.floor(o);return i[0]===i[r]?(s<0&&(a=Math.floor(o=r*(1+s))),e(o-a,i[(a-1+r)%r],i[a],i[(a+1)%r],i[(a+2)%r])):s<0?i[0]-(e(-o,i[0],i[0],i[1],i[1])-i[0]):s>1?i[r]-(e(o-r,i[r],i[r],i[r-1],i[r-1])-i[r]):e(o-a,i[a?a-1:0],i[a],i[r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */function d(s,r){var o=1-s;return o*o*o*r}function t(s,r){var o=1-s;return 3*o*o*s*r}function e(s,r){return 3*(1-s)*s*s*r}function l(s,r){return s*s*s*r}var i=function(s,r,o,a,u){return d(s,r)+t(s,o)+e(s,a)+l(s,u)};h.exports=i},28392:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(28915),l=function(i,s){var r=i.length-1,o=r*s,a=Math.floor(o);return s<0?e(i[0],i[1],o):s>1?e(i[r],i[r-1],r-o):e(i[a],i[a+1>r?r:a+1],o-a)};h.exports=l},32112:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */function d(i,s){var r=1-i;return r*r*s}function t(i,s){return 2*(1-i)*i*s}function e(i,s){return i*i*s}var l=function(i,s,r,o){return d(i,s)+t(i,r)+e(i,o)};h.exports=l},47235:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7602),l=function(i,s,r){return s+(r-s)*e(i,0,1)};h.exports=l},50178:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(54261),l=function(i,s,r){return s+(r-s)*e(i,0,1)};h.exports=l},38289:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Bezier:t(89318),CatmullRom:t(77259),CubicBezier:t(36316),Linear:t(28392),QuadraticBezier:t(32112),SmoothStep:t(47235),SmootherStep:t(50178)}},98439:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){var e=Math.log(t)/.6931471805599453;return 1<{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t>0&&(t&t-1)===0&&e>0&&(e&e-1)===0};h.exports=d},81230:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t>0&&(t&t-1)===0};h.exports=d},49001:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={GetNext:t(98439),IsSize:t(50030),IsValue:t(81230)}},28453:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s){s===void 0&&(s=[(Date.now()*Math.random()).toString()]),this.c=1,this.s0=0,this.s1=0,this.s2=0,this.n=0,this.signs=[-1,1],s&&this.init(s)},rnd:function(){var i=2091639*this.s0+this.c*23283064365386963e-26;return this.c=i|0,this.s0=this.s1,this.s1=this.s2,this.s2=i-this.c,this.s2},hash:function(i){var s,r=this.n;i=i.toString();for(var o=0;o>>0,s-=r,s*=r,r=s>>>0,s-=r,r+=s*4294967296;return this.n=r,(r>>>0)*23283064365386963e-26},init:function(i){typeof i=="string"?this.state(i):this.sow(i)},sow:function(i){if(this.n=4022871197,this.s0=this.hash(" "),this.s1=this.hash(" "),this.s2=this.hash(" "),this.c=1,!!i)for(var s=0;s0;r--){var o=Math.floor(this.frac()*(r+1)),a=i[o];i[o]=i[r],i[r]=a}return i}});h.exports=l},63448:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){return l===void 0&&(l=0),e===0?t:(t-=l,t=e*Math.ceil(t/e),i?(l+t)/e:l+t)};h.exports=d},56583:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){return l===void 0&&(l=0),e===0?t:(t-=l,t=e*Math.floor(t/e),i?(l+t)/e:l+t)};h.exports=d},77720:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){return l===void 0&&(l=0),e===0?t:(t-=l,t=e*Math.round(t/e),i?(l+t)/e:l+t)};h.exports=d},73697:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Ceil:t(63448),Floor:t(56583),To:t(77720)}},85454:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */t(63595);var e=t(8054),l=t(79291),i={Actions:t(61061),Animations:t(60421),BlendModes:t(10312),Cache:t(83388),Cameras:t(26638),Core:t(42857),Class:t(83419),Curves:t(25410),Data:t(44965),Display:t(27460),DOM:t(84902),Events:t(93055),Filters:t(11889),Game:t(50127),GameObjects:t(77856),Geom:t(55738),Input:t(14350),Loader:t(57777),Math:t(75508),Physics:t(44563),Plugins:t(18922),Renderer:t(36909),Scale:t(93364),ScaleModes:t(29795),Scene:t(97482),Scenes:t(62194),Structs:t(41392),Textures:t(27458),Tilemaps:t(62501),Time:t(90291),Tweens:t(43066),Utils:t(91799)};i.Sound=t(23717),i=l(!1,i,e),h.exports=i,t.g.Phaser=i},71289:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(92209),i=t(88571),s=new e({Extends:i,Mixins:[l.Acceleration,l.Angular,l.Bounce,l.Collision,l.Debug,l.Drag,l.Enable,l.Friction,l.Gravity,l.Immovable,l.Mass,l.Pushable,l.Size,l.Velocity],initialize:function(o,a,u,f,v){i.call(this,o,a,u,f,v),this.body=null}});h.exports=s},86689:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(39506),i=t(20339),s=t(89774),r=t(66022),o=t(95540),a=t(46975),u=t(72441),f=t(47956),v=t(37277),c=t(44594),g=t(26099),p=t(82248),T=new e({initialize:function(M){this.scene=M,this.systems=M.sys,this.config=this.getConfig(),this.world,this.add,this._category=1,M.sys.events.once(c.BOOT,this.boot,this),M.sys.events.on(c.START,this.start,this)},boot:function(){this.world=new p(this.scene,this.config),this.add=new r(this.world),this.systems.events.once(c.DESTROY,this.destroy,this)},start:function(){this.world||(this.world=new p(this.scene,this.config),this.add=new r(this.world));var C=this.systems.events;o(this.config,"customUpdate",!1)||C.on(c.UPDATE,this.world.update,this.world),C.on(c.POST_UPDATE,this.world.postUpdate,this.world),C.once(c.SHUTDOWN,this.shutdown,this)},enableUpdate:function(){this.systems.events.on(c.UPDATE,this.world.update,this.world)},disableUpdate:function(){this.systems.events.off(c.UPDATE,this.world.update,this.world)},getConfig:function(){var C=this.systems.game.config.physics,M=this.systems.settings.physics,A=a(o(M,"arcade",{}),o(C,"arcade",{}));return A},nextCategory:function(){return this._category=this._category<<1,this._category},overlap:function(C,M,A,R,P){return A===void 0&&(A=null),R===void 0&&(R=null),P===void 0&&(P=A),this.world.collideObjects(C,M,A,R,P,!0)},collide:function(C,M,A,R,P){return A===void 0&&(A=null),R===void 0&&(R=null),P===void 0&&(P=A),this.world.collideObjects(C,M,A,R,P,!1)},collideTiles:function(C,M,A,R,P){return this.world.collideTiles(C,M,A,R,P)},overlapTiles:function(C,M,A,R,P){return this.world.overlapTiles(C,M,A,R,P)},pause:function(){return this.world.pause()},resume:function(){return this.world.resume()},accelerateTo:function(C,M,A,R,P,L){R===void 0&&(R=60);var F=Math.atan2(A-C.y,M-C.x);return C.body.acceleration.setToPolar(F,R),P!==void 0&&L!==void 0&&C.body.maxVelocity.set(P,L),F},accelerateToObject:function(C,M,A,R,P){return this.accelerateTo(C,M.x,M.y,A,R,P)},closest:function(C,M){M||(M=Array.from(this.world.bodies));for(var A=Number.MAX_VALUE,R=null,P=C.x,L=C.y,F=M.length,w=0;wA&&(R=O,A=I)}}return R},moveTo:function(C,M,A,R,P){R===void 0&&(R=60),P===void 0&&(P=0);var L=Math.atan2(A-C.y,M-C.x);return P>0&&(R=i(C.x,C.y,M,A)/(P/1e3)),C.body.velocity.setToPolar(L,R),L},moveToObject:function(C,M,A,R){return this.moveTo(C,M.x,M.y,A,R)},velocityFromAngle:function(C,M,A){return M===void 0&&(M=60),A===void 0&&(A=new g),A.setToPolar(l(C),M)},velocityFromRotation:function(C,M,A){return M===void 0&&(M=60),A===void 0&&(A=new g),A.setToPolar(C,M)},overlapRect:function(C,M,A,R,P,L){return f(this.world,C,M,A,R,P,L)},overlapCirc:function(C,M,A,R,P){return u(this.world,C,M,A,R,P)},shutdown:function(){if(this.world){var C=this.systems.events;C.off(c.UPDATE,this.world.update,this.world),C.off(c.POST_UPDATE,this.world.postUpdate,this.world),C.off(c.SHUTDOWN,this.shutdown,this),this.add.destroy(),this.world.destroy(),this.add=null,this.world=null,this._category=1}},destroy:function(){this.shutdown(),this.scene.sys.events.off(c.START,this.start,this),this.scene=null,this.systems=null}});v.register("ArcadePhysics",T,"arcadePhysics"),h.exports=T},13759:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(92209),i=t(68287),s=new e({Extends:i,Mixins:[l.Acceleration,l.Angular,l.Bounce,l.Collision,l.Debug,l.Drag,l.Enable,l.Friction,l.Gravity,l.Immovable,l.Mass,l.Pushable,l.Size,l.Velocity],initialize:function(o,a,u,f,v){i.call(this,o,a,u,f,v),this.body=null}});h.exports=s},37742:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(78389),i=t(37747),s=t(63012),r=t(43396),o=t(87841),a=t(37303),u=t(95829),f=t(26099),v=new e({Mixins:[l],initialize:function(g,p){var T=64,C=64,M={x:0,y:0,angle:0,rotation:0,scaleX:1,scaleY:1,displayOriginX:0,displayOriginY:0},A=p!==void 0;A&&p.displayWidth&&(T=p.displayWidth,C=p.displayHeight),A||(p=M),this.world=g,this.gameObject=A?p:void 0,this.isBody=!0,this.transform={x:p.x,y:p.y,rotation:p.angle,scaleX:p.scaleX,scaleY:p.scaleY,displayOriginX:p.displayOriginX,displayOriginY:p.displayOriginY},this.debugShowBody=g.defaults.debugShowBody,this.debugShowVelocity=g.defaults.debugShowVelocity,this.debugBodyColor=g.defaults.bodyDebugColor,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new f,this.position=new f(p.x-p.scaleX*p.displayOriginX,p.y-p.scaleY*p.displayOriginY),this.prev=this.position.clone(),this.prevFrame=this.position.clone(),this.allowRotation=!0,this.rotation=p.angle,this.preRotation=p.angle,this.width=T,this.height=C,this.sourceWidth=T,this.sourceHeight=C,p.frame&&(this.sourceWidth=p.frame.realWidth,this.sourceHeight=p.frame.realHeight),this.halfWidth=Math.abs(T/2),this.halfHeight=Math.abs(C/2),this.center=new f(this.position.x+this.halfWidth,this.position.y+this.halfHeight),this.velocity=new f,this.newVelocity=new f,this.deltaMax=new f,this.acceleration=new f,this.allowDrag=!0,this.drag=new f,this.allowGravity=!0,this.gravity=new f,this.bounce=new f,this.worldBounce=null,this.customBoundsRectangle=g.bounds,this.onWorldBounds=!1,this.onCollide=!1,this.onOverlap=!1,this.maxVelocity=new f(1e4,1e4),this.maxSpeed=-1,this.friction=new f(1,0),this.useDamping=!1,this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.FACING_NONE,this.immovable=!1,this.pushable=!0,this.slideFactor=new f(1,1),this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision=u(!1),this.touching=u(!0),this.wasTouching=u(!0),this.blocked=u(!0),this.syncBounds=!1,this.physicsType=i.DYNAMIC_BODY,this.collisionCategory=1,this.collisionMask=1,this._sx=p.scaleX,this._sy=p.scaleY,this._dx=0,this._dy=0,this._tx=0,this._ty=0,this._bounds=new o,this.directControl=!1,this.autoFrame=this.position.clone()},updateBounds:function(){var c=this.gameObject,g=this.transform;if(c.parentContainer){var p=c.getWorldTransformMatrix(this.world._tempMatrix,this.world._tempMatrix2);g.x=p.tx,g.y=p.ty,g.rotation=r(p.rotation),g.scaleX=p.scaleX,g.scaleY=p.scaleY,g.displayOriginX=c.displayOriginX,g.displayOriginY=c.displayOriginY}else g.x=c.x,g.y=c.y,g.rotation=c.angle,g.scaleX=c.scaleX,g.scaleY=c.scaleY,g.displayOriginX=c.displayOriginX,g.displayOriginY=c.displayOriginY;var T=!1;if(this.syncBounds){var C=c.getBounds(this._bounds);this.width=C.width,this.height=C.height,T=!0}else{var M=Math.abs(g.scaleX),A=Math.abs(g.scaleY);(this._sx!==M||this._sy!==A)&&(this.width=this.sourceWidth*M,this.height=this.sourceHeight*A,this._sx=M,this._sy=A,T=!0)}T&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.set(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},updateFromGameObject:function(){this.updateBounds();var c=this.transform;this.position.x=c.x+c.scaleX*(this.offset.x-c.displayOriginX),this.position.y=c.y+c.scaleY*(this.offset.y-c.displayOriginY),this.updateCenter()},resetFlags:function(c){c===void 0&&(c=!1);var g=this.wasTouching,p=this.touching,T=this.blocked;c?u(!0,g):(g.none=p.none,g.up=p.up,g.down=p.down,g.left=p.left,g.right=p.right),u(!0,p),u(!0,T),this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1},preUpdate:function(c,g){if(c&&this.resetFlags(),this.gameObject&&this.updateFromGameObject(),this.rotation=this.transform.rotation,this.preRotation=this.rotation,this.moves){var p=this.position;this.prev.x=p.x,this.prev.y=p.y,this.prevFrame.x=p.x,this.prevFrame.y=p.y}c&&this.update(g)},update:function(c){var g=this.prev,p=this.position,T=this.velocity;if(g.set(p.x,p.y),!this.moves){this._dx=p.x-g.x,this._dy=p.y-g.y;return}if(this.directControl){var C=this.autoFrame;T.set((p.x-C.x)/c,(p.y-C.y)/c),this.world.updateMotion(this,c),this._dx=p.x-C.x,this._dy=p.y-C.y}else this.world.updateMotion(this,c),this.newVelocity.set(T.x*c,T.y*c),p.add(this.newVelocity),this._dx=p.x-g.x,this._dy=p.y-g.y;var M=T.x,A=T.y;if(this.updateCenter(),this.angle=Math.atan2(A,M),this.speed=Math.sqrt(M*M+A*A),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds){var R=this.blocked;this.world.emit(s.WORLD_BOUNDS,this,R.up,R.down,R.left,R.right)}},postUpdate:function(){var c=this.position,g=c.x-this.prevFrame.x,p=c.y-this.prevFrame.y,T=this.gameObject;if(this.moves){var C=this.deltaMax.x,M=this.deltaMax.y;C!==0&&g!==0&&(g<0&&g<-C?g=-C:g>0&&g>C&&(g=C)),M!==0&&p!==0&&(p<0&&p<-M?p=-M:p>0&&p>M&&(p=M)),T&&(T.x+=g,T.y+=p)}g<0?this.facing=i.FACING_LEFT:g>0&&(this.facing=i.FACING_RIGHT),p<0?this.facing=i.FACING_UP:p>0&&(this.facing=i.FACING_DOWN),this.allowRotation&&T&&(T.angle+=this.deltaZ()),this._tx=g,this._ty=p,this.autoFrame.set(c.x,c.y)},setBoundsRectangle:function(c){return this.customBoundsRectangle=c||this.world.bounds,this},checkWorldBounds:function(){var c=this.position,g=this.velocity,p=this.blocked,T=this.customBoundsRectangle,C=this.world.checkCollision,M=this.worldBounce?-this.worldBounce.x:-this.bounce.x,A=this.worldBounce?-this.worldBounce.y:-this.bounce.y,R=!1;return c.xT.right&&C.right&&(c.x=T.right-this.width,g.x*=M,p.right=!0,R=!0),c.yT.bottom&&C.down&&(c.y=T.bottom-this.height,g.y*=A,p.down=!0,R=!0),R&&(this.blocked.none=!1,this.updateCenter()),R},setOffset:function(c,g){return g===void 0&&(g=c),this.offset.set(c,g),this},setGameObject:function(c,g){if(g===void 0&&(g=!0),!c||!c.hasTransformComponent)return this;var p=this.world;return this.gameObject&&this.gameObject.body&&(p.disable(this.gameObject),this.gameObject.body=null),c.body&&p.disable(c),this.gameObject=c,c.body=this,this.setSize(),this.enable=g,this},setSize:function(c,g,p){p===void 0&&(p=!0);var T=this.gameObject;if(T&&(!c&&T.frame&&(c=T.frame.realWidth),!g&&T.frame&&(g=T.frame.realHeight)),this.sourceWidth=c,this.sourceHeight=g,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter(),p&&T&&T.getCenter){var C=(T.width-c)/2,M=(T.height-g)/2;this.offset.set(C,M)}return this.isCircle=!1,this.radius=0,this},setCircle:function(c,g,p){return g===void 0&&(g=this.offset.x),p===void 0&&(p=this.offset.y),c>0?(this.isCircle=!0,this.radius=c,this.sourceWidth=c*2,this.sourceHeight=c*2,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.set(g,p),this.updateCenter()):this.isCircle=!1,this},reset:function(c,g){this.stop();var p=this.gameObject;p&&(p.setPosition(c,g),this.rotation=p.angle,this.preRotation=p.angle);var T=this.position;p&&p.getTopLeft?p.getTopLeft(T):T.set(c,g),this.prev.copy(T),this.prevFrame.copy(T),this.autoFrame.copy(T),p&&this.updateBounds(),this.updateCenter(),this.collideWorldBounds&&this.checkWorldBounds(),this.resetFlags(!0)},stop:function(){return this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0,this},getBounds:function(c){return c.x=this.x,c.y=this.y,c.right=this.right,c.bottom=this.bottom,c},hitTest:function(c,g){if(!this.isCircle)return a(this,c,g);if(this.radius>0&&c>=this.left&&c<=this.right&&g>=this.top&&g<=this.bottom){var p=(this.center.x-c)*(this.center.x-c),T=(this.center.y-g)*(this.center.y-g);return p+T<=this.radius*this.radius}return!1},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this._dx>0?this._dx:-this._dx},deltaAbsY:function(){return this._dy>0?this._dy:-this._dy},deltaX:function(){return this._dx},deltaY:function(){return this._dy},deltaXFinal:function(){return this._tx},deltaYFinal:function(){return this._ty},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.enable=!1,this.world&&this.world.pendingDestroy.add(this)},drawDebug:function(c){var g=this.position,p=g.x+this.halfWidth,T=g.y+this.halfHeight;this.debugShowBody&&(c.lineStyle(c.defaultStrokeWidth,this.debugBodyColor),this.isCircle?c.strokeCircle(p,T,this.width/2):(this.checkCollision.up&&c.lineBetween(g.x,g.y,g.x+this.width,g.y),this.checkCollision.right&&c.lineBetween(g.x+this.width,g.y,g.x+this.width,g.y+this.height),this.checkCollision.down&&c.lineBetween(g.x,g.y+this.height,g.x+this.width,g.y+this.height),this.checkCollision.left&&c.lineBetween(g.x,g.y,g.x,g.y+this.height))),this.debugShowVelocity&&(c.lineStyle(c.defaultStrokeWidth,this.world.defaults.velocityDebugColor,1),c.lineBetween(p,T,p+this.velocity.x/2,T+this.velocity.y/2))},willDrawDebug:function(){return this.debugShowBody||this.debugShowVelocity},setDirectControl:function(c){return c===void 0&&(c=!0),this.directControl=c,this},setCollideWorldBounds:function(c,g,p,T){c===void 0&&(c=!0),this.collideWorldBounds=c;var C=g!==void 0,M=p!==void 0;return(C||M)&&(this.worldBounce||(this.worldBounce=new f),C&&(this.worldBounce.x=g),M&&(this.worldBounce.y=p)),T!==void 0&&(this.onWorldBounds=T),this},setVelocity:function(c,g){return this.velocity.set(c,g),c=this.velocity.x,g=this.velocity.y,this.speed=Math.sqrt(c*c+g*g),this},setVelocityX:function(c){return this.setVelocity(c,this.velocity.y)},setVelocityY:function(c){return this.setVelocity(this.velocity.x,c)},setMaxVelocity:function(c,g){return this.maxVelocity.set(c,g),this},setMaxVelocityX:function(c){return this.maxVelocity.x=c,this},setMaxVelocityY:function(c){return this.maxVelocity.y=c,this},setMaxSpeed:function(c){return this.maxSpeed=c,this},setSlideFactor:function(c,g){return this.slideFactor.set(c,g),this},setBounce:function(c,g){return this.bounce.set(c,g),this},setBounceX:function(c){return this.bounce.x=c,this},setBounceY:function(c){return this.bounce.y=c,this},setAcceleration:function(c,g){return this.acceleration.set(c,g),this},setAccelerationX:function(c){return this.acceleration.x=c,this},setAccelerationY:function(c){return this.acceleration.y=c,this},setAllowDrag:function(c){return c===void 0&&(c=!0),this.allowDrag=c,this},setAllowGravity:function(c){return c===void 0&&(c=!0),this.allowGravity=c,this},setAllowRotation:function(c){return c===void 0&&(c=!0),this.allowRotation=c,this},setDrag:function(c,g){return this.drag.set(c,g),this},setDamping:function(c){return this.useDamping=c,this},setDragX:function(c){return this.drag.x=c,this},setDragY:function(c){return this.drag.y=c,this},setGravity:function(c,g){return this.gravity.set(c,g),this},setGravityX:function(c){return this.gravity.x=c,this},setGravityY:function(c){return this.gravity.y=c,this},setFriction:function(c,g){return this.friction.set(c,g),this},setFrictionX:function(c){return this.friction.x=c,this},setFrictionY:function(c){return this.friction.y=c,this},setAngularVelocity:function(c){return this.angularVelocity=c,this},setAngularAcceleration:function(c){return this.angularAcceleration=c,this},setAngularDrag:function(c){return this.angularDrag=c,this},setMass:function(c){return this.mass=c,this},setImmovable:function(c){return c===void 0&&(c=!0),this.immovable=c,this},setEnable:function(c){return c===void 0&&(c=!0),this.enable=c,this},processX:function(c,g,p,T){this.x+=c,this.updateCenter(),g!==null&&(this.velocity.x=g*this.slideFactor.x);var C=this.blocked;p&&(C.left=!0,C.none=!1),T&&(C.right=!0,C.none=!1)},processY:function(c,g,p,T){this.y+=c,this.updateCenter(),g!==null&&(this.velocity.y=g*this.slideFactor.y);var C=this.blocked;p&&(C.up=!0,C.none=!1),T&&(C.down=!0,C.none=!1)},x:{get:function(){return this.position.x},set:function(c){this.position.x=c}},y:{get:function(){return this.position.y},set:function(c){this.position.y=c}},left:{get:function(){return this.position.x}},right:{get:function(){return this.position.x+this.width}},top:{get:function(){return this.position.y}},bottom:{get:function(){return this.position.y+this.height}}});h.exports=v},79342:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s,r,o,a,u,f,v){this.world=s,this.name="",this.active=!0,this.overlapOnly=r,this.object1=o,this.object2=a,this.collideCallback=u,this.processCallback=f,this.callbackContext=v},setName:function(i){return this.name=i,this},update:function(){this.world.collideObjects(this.object1,this.object2,this.collideCallback,this.processCallback,this.callbackContext,this.overlapOnly)},destroy:function(){this.world.removeCollider(this),this.active=!1,this.world=null,this.object1=null,this.object2=null,this.collideCallback=null,this.processCallback=null,this.callbackContext=null}});h.exports=l},66022:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(71289),l=t(13759),i=t(37742),s=t(83419),r=t(37747),o=t(60758),a=t(72624),u=t(71464),f=new s({initialize:function(c){this.world=c,this.scene=c.scene,this.sys=c.scene.sys},collider:function(v,c,g,p,T){return this.world.addCollider(v,c,g,p,T)},overlap:function(v,c,g,p,T){return this.world.addOverlap(v,c,g,p,T)},existing:function(v,c){var g=c?r.STATIC_BODY:r.DYNAMIC_BODY;return this.world.enableBody(v,g),v},staticImage:function(v,c,g,p){var T=new e(this.scene,v,c,g,p);return this.sys.displayList.add(T),this.world.enableBody(T,r.STATIC_BODY),T},image:function(v,c,g,p){var T=new e(this.scene,v,c,g,p);return this.sys.displayList.add(T),this.world.enableBody(T,r.DYNAMIC_BODY),T},staticSprite:function(v,c,g,p){var T=new l(this.scene,v,c,g,p);return this.sys.displayList.add(T),this.sys.updateList.add(T),this.world.enableBody(T,r.STATIC_BODY),T},sprite:function(v,c,g,p){var T=new l(this.scene,v,c,g,p);return this.sys.displayList.add(T),this.sys.updateList.add(T),this.world.enableBody(T,r.DYNAMIC_BODY),T},staticGroup:function(v,c){return this.sys.updateList.add(new u(this.world,this.world.scene,v,c))},group:function(v,c){return this.sys.updateList.add(new o(this.world,this.world.scene,v,c))},body:function(v,c,g,p){var T=new i(this.world);return T.position.set(v,c),g&&p&&T.setSize(g,p),this.world.add(T,r.DYNAMIC_BODY),T},staticBody:function(v,c,g,p){var T=new a(this.world);return T.position.set(v,c),g&&p&&T.setSize(g,p),this.world.add(T,r.STATIC_BODY),T},destroy:function(){this.world=null,this.scene=null,this.sys=null}});h.exports=f},79599:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){var e=0;if(!Array.isArray(t))e=t;else for(var l=0;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(37747),l=function(i,s,r,o){var a=0,u=i.deltaAbsX()+s.deltaAbsX()+o;return i._dx===0&&s._dx===0?(i.embedded=!0,s.embedded=!0):i._dx>s._dx?(a=i.right-s.x,a>u&&!r||i.checkCollision.right===!1||s.checkCollision.left===!1?a=0:(i.touching.none=!1,i.touching.right=!0,s.touching.none=!1,s.touching.left=!0,s.physicsType===e.STATIC_BODY&&!r&&(i.blocked.none=!1,i.blocked.right=!0),i.physicsType===e.STATIC_BODY&&!r&&(s.blocked.none=!1,s.blocked.left=!0))):i._dxu&&!r||i.checkCollision.left===!1||s.checkCollision.right===!1?a=0:(i.touching.none=!1,i.touching.left=!0,s.touching.none=!1,s.touching.right=!0,s.physicsType===e.STATIC_BODY&&!r&&(i.blocked.none=!1,i.blocked.left=!0),i.physicsType===e.STATIC_BODY&&!r&&(s.blocked.none=!1,s.blocked.right=!0))),i.overlapX=a,s.overlapX=a,a};h.exports=l},45170:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(37747),l=function(i,s,r,o){var a=0,u=i.deltaAbsY()+s.deltaAbsY()+o;return i._dy===0&&s._dy===0?(i.embedded=!0,s.embedded=!0):i._dy>s._dy?(a=i.bottom-s.y,a>u&&!r||i.checkCollision.down===!1||s.checkCollision.up===!1?a=0:(i.touching.none=!1,i.touching.down=!0,s.touching.none=!1,s.touching.up=!0,s.physicsType===e.STATIC_BODY&&!r&&(i.blocked.none=!1,i.blocked.down=!0),i.physicsType===e.STATIC_BODY&&!r&&(s.blocked.none=!1,s.blocked.up=!0))):i._dyu&&!r||i.checkCollision.up===!1||s.checkCollision.down===!1?a=0:(i.touching.none=!1,i.touching.up=!0,s.touching.none=!1,s.touching.down=!0,s.physicsType===e.STATIC_BODY&&!r&&(i.blocked.none=!1,i.blocked.up=!0),i.physicsType===e.STATIC_BODY&&!r&&(s.blocked.none=!1,s.blocked.down=!0))),i.overlapY=a,s.overlapY=a,a};h.exports=l},60758:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(13759),l=t(83419),i=t(78389),s=t(37747),r=t(95540),o=t(26479),a=t(41212),u=new l({Extends:o,Mixins:[i],initialize:function(v,c,g,p){if(!g&&!p)p={internalCreateCallback:this.createCallbackHandler,internalRemoveCallback:this.removeCallbackHandler};else if(a(g))p=g,g=null,p.internalCreateCallback=this.createCallbackHandler,p.internalRemoveCallback=this.removeCallbackHandler;else if(Array.isArray(g)&&a(g[0])){var T=this;g.forEach(function(C){C.internalCreateCallback=T.createCallbackHandler,C.internalRemoveCallback=T.removeCallbackHandler,C.classType=r(C,"classType",e)}),p=null}else p={internalCreateCallback:this.createCallbackHandler,internalRemoveCallback:this.removeCallbackHandler};this.world=v,p&&(p.classType=r(p,"classType",e)),this.physicsType=s.DYNAMIC_BODY,this.collisionCategory=1,this.collisionMask=2147483647,this.defaults={setCollideWorldBounds:r(p,"collideWorldBounds",!1),setBoundsRectangle:r(p,"customBoundsRectangle",null),setAccelerationX:r(p,"accelerationX",0),setAccelerationY:r(p,"accelerationY",0),setAllowDrag:r(p,"allowDrag",!0),setAllowGravity:r(p,"allowGravity",!0),setAllowRotation:r(p,"allowRotation",!0),setDamping:r(p,"useDamping",!1),setBounceX:r(p,"bounceX",0),setBounceY:r(p,"bounceY",0),setDragX:r(p,"dragX",0),setDragY:r(p,"dragY",0),setEnable:r(p,"enable",!0),setGravityX:r(p,"gravityX",0),setGravityY:r(p,"gravityY",0),setFrictionX:r(p,"frictionX",0),setFrictionY:r(p,"frictionY",0),setMaxSpeed:r(p,"maxSpeed",-1),setMaxVelocityX:r(p,"maxVelocityX",1e4),setMaxVelocityY:r(p,"maxVelocityY",1e4),setVelocityX:r(p,"velocityX",0),setVelocityY:r(p,"velocityY",0),setAngularVelocity:r(p,"angularVelocity",0),setAngularAcceleration:r(p,"angularAcceleration",0),setAngularDrag:r(p,"angularDrag",0),setMass:r(p,"mass",1),setImmovable:r(p,"immovable",!1)},o.call(this,c,g,p),this.type="PhysicsGroup"},createCallbackHandler:function(f){(!f.body||f.body.physicsType!==s.DYNAMIC_BODY)&&(f.body&&(f.body.destroy(),f.body=null),this.world.enableBody(f,s.DYNAMIC_BODY));var v=f.body;for(var c in this.defaults)v[c](this.defaults[c])},removeCallbackHandler:function(f){f.body&&this.world.disableBody(f)},setVelocity:function(f,v,c){c===void 0&&(c=0);for(var g=this.getChildren(),p=0;p{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d,t,e,l,i,s,r,o,a,u,f,v,c,g,p,T,C,M=function(w,O,B){d=w,t=O;var I=d.velocity.x,D=t.velocity.x;return e=d.pushable,a=d._dx<0,u=d._dx>0,f=d._dx===0,p=Math.abs(d.right-t.x)<=Math.abs(t.right-d.x),r=D-I*d.bounce.x,l=t.pushable,v=t._dx<0,c=t._dx>0,g=t._dx===0,T=!p,o=I-D*t.bounce.x,C=Math.abs(B),A()},A=function(){return u&&p&&t.blocked.right?(d.processX(-C,r,!1,!0),1):a&&T&&t.blocked.left?(d.processX(C,r,!0),1):c&&T&&d.blocked.right?(t.processX(-C,o,!1,!0),2):v&&p&&d.blocked.left?(t.processX(C,o,!0),2):0},R=function(){var w=d.velocity.x,O=t.velocity.x,B=Math.sqrt(O*O*t.mass/d.mass)*(O>0?1:-1),I=Math.sqrt(w*w*d.mass/t.mass)*(w>0?1:-1),D=(B+I)*.5;return B-=D,I-=D,i=D+B*d.bounce.x,s=D+I*t.bounce.x,a&&T?P(0):v&&p?P(1):u&&p?P(2):c&&T?P(3):!1},P=function(w){if(e&&l)C*=.5,w===0||w===3?(d.processX(C,i),t.processX(-C,s)):(d.processX(-C,i),t.processX(C,s));else if(e&&!l)w===0||w===3?d.processX(C,r,!0):d.processX(-C,r,!1,!0);else if(!e&&l)w===0||w===3?t.processX(-C,o,!1,!0):t.processX(C,o,!0);else{var O=C*.5;w===0?g?(d.processX(C,0,!0),t.processX(0,null,!1,!0)):c?(d.processX(O,0,!0),t.processX(-O,0,!1,!0)):(d.processX(O,t.velocity.x,!0),t.processX(-O,null,!1,!0)):w===1?f?(d.processX(0,null,!1,!0),t.processX(C,0,!0)):u?(d.processX(-O,0,!1,!0),t.processX(O,0,!0)):(d.processX(-O,null,!1,!0),t.processX(O,d.velocity.x,!0)):w===2?g?(d.processX(-C,0,!1,!0),t.processX(0,null,!0)):v?(d.processX(-O,0,!1,!0),t.processX(O,0,!0)):(d.processX(-O,t.velocity.x,!1,!0),t.processX(O,null,!0)):w===3&&(f?(d.processX(0,null,!0),t.processX(-C,0,!1,!0)):a?(d.processX(O,0,!0),t.processX(-O,0,!1,!0)):(d.processX(O,t.velocity.y,!0),t.processX(-O,null,!1,!0)))}return!0},L=function(w){if(w===1?t.velocity.x=0:p?t.processX(C,o,!0):t.processX(-C,o,!1,!0),d.moves){var O=d.directControl?d.y-d.autoFrame.y:d.y-d.prev.y;t.y+=O*d.friction.y,t._dy=t.y-t.prev.y}},F=function(w){if(w===2?d.velocity.x=0:T?d.processX(C,r,!0):d.processX(-C,r,!1,!0),t.moves){var O=t.directControl?t.y-t.autoFrame.y:t.y-t.prev.y;d.y+=O*t.friction.y,d._dy=d.y-d.prev.y}};h.exports={BlockCheck:A,Check:R,Set:M,Run:P,RunImmovableBody1:L,RunImmovableBody2:F}},47962:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d,t,e,l,i,s,r,o,a,u,f,v,c,g,p,T,C,M=function(w,O,B){d=w,t=O;var I=d.velocity.y,D=t.velocity.y;return e=d.pushable,a=d._dy<0,u=d._dy>0,f=d._dy===0,p=Math.abs(d.bottom-t.y)<=Math.abs(t.bottom-d.y),r=D-I*d.bounce.y,l=t.pushable,v=t._dy<0,c=t._dy>0,g=t._dy===0,T=!p,o=I-D*t.bounce.y,C=Math.abs(B),A()},A=function(){return u&&p&&t.blocked.down?(d.processY(-C,r,!1,!0),1):a&&T&&t.blocked.up?(d.processY(C,r,!0),1):c&&T&&d.blocked.down?(t.processY(-C,o,!1,!0),2):v&&p&&d.blocked.up?(t.processY(C,o,!0),2):0},R=function(){var w=d.velocity.y,O=t.velocity.y,B=Math.sqrt(O*O*t.mass/d.mass)*(O>0?1:-1),I=Math.sqrt(w*w*d.mass/t.mass)*(w>0?1:-1),D=(B+I)*.5;return B-=D,I-=D,i=D+B*d.bounce.y,s=D+I*t.bounce.y,a&&T?P(0):v&&p?P(1):u&&p?P(2):c&&T?P(3):!1},P=function(w){if(e&&l)C*=.5,w===0||w===3?(d.processY(C,i),t.processY(-C,s)):(d.processY(-C,i),t.processY(C,s));else if(e&&!l)w===0||w===3?d.processY(C,r,!0):d.processY(-C,r,!1,!0);else if(!e&&l)w===0||w===3?t.processY(-C,o,!1,!0):t.processY(C,o,!0);else{var O=C*.5;w===0?g?(d.processY(C,0,!0),t.processY(0,null,!1,!0)):c?(d.processY(O,0,!0),t.processY(-O,0,!1,!0)):(d.processY(O,t.velocity.y,!0),t.processY(-O,null,!1,!0)):w===1?f?(d.processY(0,null,!1,!0),t.processY(C,0,!0)):u?(d.processY(-O,0,!1,!0),t.processY(O,0,!0)):(d.processY(-O,null,!1,!0),t.processY(O,d.velocity.y,!0)):w===2?g?(d.processY(-C,0,!1,!0),t.processY(0,null,!0)):v?(d.processY(-O,0,!1,!0),t.processY(O,0,!0)):(d.processY(-O,t.velocity.y,!1,!0),t.processY(O,null,!0)):w===3&&(f?(d.processY(0,null,!0),t.processY(-C,0,!1,!0)):a?(d.processY(O,0,!0),t.processY(-O,0,!1,!0)):(d.processY(O,t.velocity.y,!0),t.processY(-O,null,!1,!0)))}return!0},L=function(w){if(w===1?t.velocity.y=0:p?t.processY(C,o,!0):t.processY(-C,o,!1,!0),d.moves){var O=d.directControl?d.x-d.autoFrame.x:d.x-d.prev.x;t.x+=O*d.friction.x,t._dx=t.x-t.prev.x}},F=function(w){if(w===2?d.velocity.y=0:T?d.processY(C,r,!0):d.processY(-C,r,!1,!0),t.moves){var O=t.directControl?t.x-t.autoFrame.x:t.x-t.prev.x;d.x+=O*t.friction.x,d._dx=d.x-d.prev.x}};h.exports={BlockCheck:A,Check:R,Set:M,Run:P,RunImmovableBody1:L,RunImmovableBody2:F}},14087:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(64897),l=t(3017),i=function(s,r,o,a,u){u===void 0&&(u=e(s,r,o,a));var f=s.immovable,v=r.immovable;if(o||u===0||f&&v||s.customSeparateX||r.customSeparateX)return u!==0||s.embedded&&r.embedded;var c=l.Set(s,r,u);return!f&&!v?c>0?!0:l.Check():(f?l.RunImmovableBody1(c):v&&l.RunImmovableBody2(c),!0)};h.exports=i},89936:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(45170),l=t(47962),i=function(s,r,o,a,u){u===void 0&&(u=e(s,r,o,a));var f=s.immovable,v=r.immovable;if(o||u===0||f&&v||s.customSeparateY||r.customSeparateY)return u!==0||s.embedded&&r.embedded;var c=l.Set(s,r,u);return!f&&!v?c>0?!0:l.Check():(f?l.RunImmovableBody1(c):v&&l.RunImmovableBody2(c),!0)};h.exports=i},95829:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e===void 0&&(e={}),e.none=t,e.up=!1,e.down=!1,e.left=!1,e.right=!1,t||(e.up=!0,e.down=!0,e.left=!0,e.right=!0),e};h.exports=d},72624:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87902),l=t(83419),i=t(78389),s=t(37747),r=t(37303),o=t(95829),a=t(26099),u=new l({Mixins:[i],initialize:function(v,c){var g=64,p=64,T={x:0,y:0,angle:0,rotation:0,scaleX:1,scaleY:1,displayOriginX:0,displayOriginY:0},C=c!==void 0;C&&c.displayWidth&&(g=c.displayWidth,p=c.displayHeight),C||(c=T),this.world=v,this.gameObject=C?c:void 0,this.isBody=!0,this.debugShowBody=v.defaults.debugShowStaticBody,this.debugBodyColor=v.defaults.staticBodyDebugColor,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new a,this.position=new a(c.x-g*c.originX,c.y-p*c.originY),this.width=g,this.height=p,this.halfWidth=Math.abs(this.width/2),this.halfHeight=Math.abs(this.height/2),this.center=new a(this.position.x+this.halfWidth,this.position.y+this.halfHeight),this.velocity=a.ZERO,this.allowGravity=!1,this.gravity=a.ZERO,this.bounce=a.ZERO,this.onWorldBounds=!1,this.onCollide=!1,this.onOverlap=!1,this.mass=1,this.immovable=!0,this.pushable=!1,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision=o(!1),this.touching=o(!0),this.wasTouching=o(!0),this.blocked=o(!0),this.physicsType=s.STATIC_BODY,this.collisionCategory=1,this.collisionMask=1,this._dx=0,this._dy=0},setGameObject:function(f,v,c){if(v===void 0&&(v=!0),c===void 0&&(c=!0),!f||!f.hasTransformComponent)return this;var g=this.world;return this.gameObject&&this.gameObject.body&&(g.disable(this.gameObject),this.gameObject.body=null),f.body&&g.disable(f),this.gameObject=f,f.body=this,this.setSize(),v&&this.updateFromGameObject(),this.enable=c,this},updateFromGameObject:function(){this.world.staticTree.remove(this);var f=this.gameObject;return f.getTopLeft(this.position),this.width=f.displayWidth,this.height=f.displayHeight,this.halfWidth=Math.abs(this.width/2),this.halfHeight=Math.abs(this.height/2),this.center.set(this.position.x+this.halfWidth,this.position.y+this.halfHeight),this.world.staticTree.insert(this),this},setOffset:function(f,v){return v===void 0&&(v=f),this.world.staticTree.remove(this),this.position.x-=this.offset.x,this.position.y-=this.offset.y,this.offset.set(f,v),this.position.x+=this.offset.x,this.position.y+=this.offset.y,this.updateCenter(),this.world.staticTree.insert(this),this},setSize:function(f,v,c){c===void 0&&(c=!0);var g=this.gameObject;if(g&&g.frame&&(f||(f=g.frame.realWidth),v||(v=g.frame.realHeight)),this.world.staticTree.remove(this),this.width=f,this.height=v,this.halfWidth=Math.floor(f/2),this.halfHeight=Math.floor(v/2),c&&g&&g.getCenter){var p=g.displayWidth/2,T=g.displayHeight/2;this.position.x-=this.offset.x,this.position.y-=this.offset.y,this.offset.set(p-this.halfWidth,T-this.halfHeight),this.position.x+=this.offset.x,this.position.y+=this.offset.y}return this.updateCenter(),this.isCircle=!1,this.radius=0,this.world.staticTree.insert(this),this},setCircle:function(f,v,c){return v===void 0&&(v=this.offset.x),c===void 0&&(c=this.offset.y),f>0?(this.world.staticTree.remove(this),this.isCircle=!0,this.radius=f,this.width=f*2,this.height=f*2,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.set(v,c),this.updateCenter(),this.world.staticTree.insert(this)):this.isCircle=!1,this},updateCenter:function(){this.center.set(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},reset:function(f,v){var c=this.gameObject;f===void 0&&(f=c.x),v===void 0&&(v=c.y),this.world.staticTree.remove(this),c.setPosition(f,v),c.getTopLeft(this.position),this.position.x+=this.offset.x,this.position.y+=this.offset.y,this.updateCenter(),this.world.staticTree.insert(this)},stop:function(){return this},getBounds:function(f){return f.x=this.x,f.y=this.y,f.right=this.right,f.bottom=this.bottom,f},hitTest:function(f,v){return this.isCircle?e(this,f,v):r(this,f,v)},postUpdate:function(){},deltaAbsX:function(){return 0},deltaAbsY:function(){return 0},deltaX:function(){return 0},deltaY:function(){return 0},deltaZ:function(){return 0},destroy:function(){this.enable=!1,this.world.pendingDestroy.add(this)},drawDebug:function(f){var v=this.position,c=v.x+this.halfWidth,g=v.y+this.halfHeight;this.debugShowBody&&(f.lineStyle(f.defaultStrokeWidth,this.debugBodyColor,1),this.isCircle?f.strokeCircle(c,g,this.width/2):f.strokeRect(v.x,v.y,this.width,this.height))},willDrawDebug:function(){return this.debugShowBody},setMass:function(f){return f<=0&&(f=.1),this.mass=f,this},x:{get:function(){return this.position.x},set:function(f){this.world.staticTree.remove(this),this.position.x=f,this.world.staticTree.insert(this)}},y:{get:function(){return this.position.y},set:function(f){this.world.staticTree.remove(this),this.position.y=f,this.world.staticTree.insert(this)}},left:{get:function(){return this.position.x}},right:{get:function(){return this.position.x+this.width}},top:{get:function(){return this.position.y}},bottom:{get:function(){return this.position.y+this.height}}});h.exports=u},71464:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(13759),l=t(83419),i=t(78389),s=t(37747),r=t(95540),o=t(26479),a=t(41212),u=new l({Extends:o,Mixins:[i],initialize:function(v,c,g,p){!g&&!p?p={internalCreateCallback:this.createCallbackHandler,internalRemoveCallback:this.removeCallbackHandler,createMultipleCallback:this.createMultipleCallbackHandler,classType:e}:a(g)?(p=g,g=null,p.internalCreateCallback=this.createCallbackHandler,p.internalRemoveCallback=this.removeCallbackHandler,p.createMultipleCallback=this.createMultipleCallbackHandler,p.classType=r(p,"classType",e)):Array.isArray(g)&&a(g[0])?(p=g,g=null,p.forEach(function(T){T.internalCreateCallback=this.createCallbackHandler,T.internalRemoveCallback=this.removeCallbackHandler,T.createMultipleCallback=this.createMultipleCallbackHandler,T.classType=r(T,"classType",e)},this)):p={internalCreateCallback:this.createCallbackHandler,internalRemoveCallback:this.removeCallbackHandler},this.world=v,this.physicsType=s.STATIC_BODY,this.collisionCategory=1,this.collisionMask=1,o.call(this,c,g,p),this.type="StaticPhysicsGroup"},createCallbackHandler:function(f){(!f.body||f.body.physicsType!==s.STATIC_BODY)&&(f.body&&(f.body.destroy(),f.body=null),this.world.enableBody(f,s.STATIC_BODY))},removeCallbackHandler:function(f){f.body&&this.world.disableBody(f)},createMultipleCallbackHandler:function(){this.refresh()},refresh:function(){for(var f=Array.from(this.children),v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(55495),l=t(37742),i=t(45319),s=t(83419),r=t(79342),o=t(37747),a=t(20339),u=t(52816),f=t(50792),v=t(63012),c=t(43855),g=t(5470),p=t(94977),T=t(64897),C=t(45170),M=t(96523),A=t(35154),R=t(36383),P=t(25774),L=t(96602),F=t(87841),w=t(59542),O=t(40012),B=t(14087),I=t(89936),D=t(72624),N=t(2483),z=t(61340),V=t(26099),U=t(15994),G=new s({Extends:f,initialize:function(Y,W){f.call(this),this.scene=Y,this.bodies=new Set,this.staticBodies=new Set,this.pendingDestroy=new Set,this.colliders=new P,this.gravity=new V(A(W,"gravity.x",0),A(W,"gravity.y",0)),this.bounds=new F(A(W,"x",0),A(W,"y",0),A(W,"width",Y.sys.scale.width),A(W,"height",Y.sys.scale.height)),this.checkCollision={up:A(W,"checkCollision.up",!0),down:A(W,"checkCollision.down",!0),left:A(W,"checkCollision.left",!0),right:A(W,"checkCollision.right",!0)},this.fps=A(W,"fps",60),this.fixedStep=A(W,"fixedStep",!0),this._elapsed=0,this._frameTime=1/this.fps,this._frameTimeMS=1e3*this._frameTime,this.stepsLastFrame=0,this.timeScale=A(W,"timeScale",1),this.OVERLAP_BIAS=A(W,"overlapBias",4),this.TILE_BIAS=A(W,"tileBias",16),this.forceX=A(W,"forceX",!1),this.isPaused=A(W,"isPaused",!1),this._total=0,this.drawDebug=A(W,"debug",!1),this.debugGraphic,this.defaults={debugShowBody:A(W,"debugShowBody",!0),debugShowStaticBody:A(W,"debugShowStaticBody",!0),debugShowVelocity:A(W,"debugShowVelocity",!0),bodyDebugColor:A(W,"debugBodyColor",16711935),staticBodyDebugColor:A(W,"debugStaticBodyColor",255),velocityDebugColor:A(W,"debugVelocityColor",65280)},this.maxEntries=A(W,"maxEntries",16),this.useTree=A(W,"useTree",!0),this.tree=new w(this.maxEntries),this.staticTree=new w(this.maxEntries),this.treeMinMax={minX:0,minY:0,maxX:0,maxY:0},this._tempMatrix=new z,this._tempMatrix2=new z,this.tileFilterOptions={isColliding:!0,isNotEmpty:!0,hasInterestingFace:!0},this.drawDebug&&this.createDebugGraphic()},enable:function(b,Y){Y===void 0&&(Y=o.DYNAMIC_BODY),Array.isArray(b)||(b=[b]);for(var W=0;W=H;if(this.fixedStep||(W=Y*.001,K=!0,this._elapsed=0),X.forEach(function(J){J.enable&&J.preUpdate(K,W)}),K){this._elapsed-=H,this.stepsLastFrame=1,this.useTree&&(this.tree.clear(),this.tree.load(Array.from(X)));for(var Z=this.colliders.update(),Q=0;Q=H;)this._elapsed-=H,this.step(W)}},step:function(b){var Y=this.bodies;Y.forEach(function(K){K.enable&&K.update(b)}),this.useTree&&(this.tree.clear(),this.tree.load(Array.from(Y)));for(var W=this.colliders.update(),H=0;H0){var X=this.tree,K=this.staticTree;H.forEach(function(Z){Z.physicsType===o.DYNAMIC_BODY?(X.remove(Z),b.delete(Z)):Z.physicsType===o.STATIC_BODY&&(K.remove(Z),Y.delete(Z)),Z.world=void 0,Z.gameObject=void 0}),H.clear()}},updateMotion:function(b,Y){b.allowRotation&&this.computeAngularVelocity(b,Y),this.computeVelocity(b,Y)},computeAngularVelocity:function(b,Y){var W=b.angularVelocity,H=b.angularAcceleration,X=b.angularDrag,K=b.maxAngular;H?W+=H*Y:b.allowDrag&&X&&(X*=Y,g(W-X,0,.1)?W-=X:p(W+X,0,.1)?W+=X:W=0),W=i(W,-K,K);var Z=W-b.angularVelocity;b.angularVelocity+=Z,b.rotation+=b.angularVelocity*Y},computeVelocity:function(b,Y){var W=b.velocity.x,H=b.acceleration.x,X=b.drag.x,K=b.maxVelocity.x,Z=b.velocity.y,Q=b.acceleration.y,j=b.drag.y,J=b.maxVelocity.y,tt=b.speed,k=b.maxSpeed,q=b.allowDrag,_=b.useDamping;b.allowGravity&&(W+=(this.gravity.x+b.gravity.x)*Y,Z+=(this.gravity.y+b.gravity.y)*Y),H?W+=H*Y:q&&X&&(_?(X=Math.pow(X,Y),W*=X,tt=Math.sqrt(W*W+Z*Z),c(tt,0,.001)&&(W=0)):(X*=Y,g(W-X,0,.01)?W-=X:p(W+X,0,.01)?W+=X:W=0)),Q?Z+=Q*Y:q&&j&&(_?(j=Math.pow(j,Y),Z*=j,tt=Math.sqrt(W*W+Z*Z),c(tt,0,.001)&&(Z=0)):(j*=Y,g(Z-j,0,.01)?Z-=j:p(Z+j,0,.01)?Z+=j:Z=0)),W=i(W,-K,K),Z=i(Z,-J,J),b.velocity.set(W,Z),k>-1&&b.velocity.length()>k&&(b.velocity.normalize().scale(k),tt=k),b.speed=tt},separate:function(b,Y,W,H,X){var K,Z,Q=!1,j=!0;if(!b.enable||!Y.enable||b.checkCollision.none||Y.checkCollision.none||!this.intersects(b,Y)||W&&W.call(H,b.gameObject||b,Y.gameObject||Y)===!1)return Q;if(b.isCircle||Y.isCircle){var J=this.separateCircle(b,Y,X);J.result?(Q=!0,j=!1):(K=J.x,Z=J.y,j=!0)}if(j){var tt=!1,k=!1,q=this.OVERLAP_BIAS;X?(tt=B(b,Y,X,q,K),k=I(b,Y,X,q,Z)):this.forceX||Math.abs(this.gravity.y+b.gravity.y)nt&&(k=a(_,rt,nt,ot)-at):rt>it&&(_nt&&(k=a(_,rt,nt,it)-at)),k*=-1}else k=b.halfWidth+Y.halfWidth-u(K,Z);b.overlapR=k,Y.overlapR=k;var lt=e(K,Z),dt=(k+R.EPSILON)*Math.cos(lt),ct=(k+R.EPSILON)*Math.sin(lt),Bt={overlap:k,result:!1,x:dt,y:ct};if(W&&(!q||q&&k!==0))return Bt.result=!0,Bt;if(!q&&k===0||Q&&j||b.customSeparateX||Y.customSeparateX)return Bt.x=void 0,Bt.y=void 0,Bt;var Lt=!b.pushable&&!Y.pushable;if(q){var zt=K.x-Z.x,Kt=K.y-Z.y,fe=Math.sqrt(Math.pow(zt,2)+Math.pow(Kt,2)),pe=(Z.x-K.x)/fe||0,le=(Z.y-K.y)/fe||0,de=2*(J.x*pe+J.y*le-tt.x*pe-tt.y*le)/(b.mass+Y.mass);(Q||j||!b.pushable||!Y.pushable)&&(de*=2),!Q&&b.pushable&&(J.x=J.x-de/b.mass*pe,J.y=J.y-de/b.mass*le,J.multiply(b.bounce)),!j&&Y.pushable&&(tt.x=tt.x+de/Y.mass*pe,tt.y=tt.y+de/Y.mass*le,tt.multiply(Y.bounce)),!Q&&!j&&(dt*=.5,ct*=.5),(!Q||b.pushable||Lt)&&(b.x-=dt,b.y-=ct,b.updateCenter()),(!j||Y.pushable||Lt)&&(Y.x+=dt,Y.y+=ct,Y.updateCenter()),Bt.result=!0}else(!Q||b.pushable||Lt)&&(b.x-=dt,b.y-=ct,b.updateCenter()),(!j||Y.pushable||Lt)&&(Y.x+=dt,Y.y+=ct,Y.updateCenter()),Bt.x=void 0,Bt.y=void 0;return Bt},intersects:function(b,Y){return b===Y?!1:!b.isCircle&&!Y.isCircle?!(b.right<=Y.left||b.bottom<=Y.top||b.left>=Y.right||b.top>=Y.bottom):b.isCircle?Y.isCircle?u(b.center,Y.center)<=b.halfWidth+Y.halfWidth:this.circleBodyIntersects(b,Y):this.circleBodyIntersects(Y,b)},circleBodyIntersects:function(b,Y){var W=i(b.center.x,Y.left,Y.right),H=i(b.center.y,Y.top,Y.bottom),X=(b.center.x-W)*(b.center.x-W),K=(b.center.y-H)*(b.center.y-H);return X+K<=b.halfWidth*b.halfWidth},overlap:function(b,Y,W,H,X){return W===void 0&&(W=null),H===void 0&&(H=null),X===void 0&&(X=W),this.collideObjects(b,Y,W,H,X,!0)},collide:function(b,Y,W,H,X){return W===void 0&&(W=null),H===void 0&&(H=null),X===void 0&&(X=W),this.collideObjects(b,Y,W,H,X,!1)},collideObjects:function(b,Y,W,H,X,K){var Z,Q;b.isParent&&(b.physicsType===void 0||Y===void 0||b===Y)&&(b=Array.from(b.children)),Y&&Y.isParent&&Y.physicsType===void 0&&(Y=Array.from(Y.children));var j=Array.isArray(b),J=Array.isArray(Y);if(this._total=0,!j&&!J)this.collideHandler(b,Y,W,H,X,K);else if(!j&&J)for(Z=0;Z0},collideHandler:function(b,Y,W,H,X,K){if(Y===void 0&&b.isParent)return this.collideGroupVsGroup(b,b,W,H,X,K);if(!b||!Y)return!1;if(b.body||b.isBody){if(Y.body||Y.isBody)return this.collideSpriteVsSprite(b,Y,W,H,X,K);if(Y.isParent)return this.collideSpriteVsGroup(b,Y,W,H,X,K);if(Y.isTilemap)return this.collideSpriteVsTilemapLayer(b,Y,W,H,X,K)}else if(b.isParent){if(Y.body||Y.isBody)return this.collideSpriteVsGroup(Y,b,W,H,X,K);if(Y.isParent)return this.collideGroupVsGroup(b,Y,W,H,X,K);if(Y.isTilemap)return this.collideGroupVsTilemapLayer(b,Y,W,H,X,K)}else if(b.isTilemap){if(Y.body||Y.isBody)return this.collideSpriteVsTilemapLayer(Y,b,W,H,X,K);if(Y.isParent)return this.collideGroupVsTilemapLayer(Y,b,W,H,X,K)}},canCollide:function(b,Y){return b&&Y&&(b.collisionMask&Y.collisionCategory)!==0&&(Y.collisionMask&b.collisionCategory)!==0},collideSpriteVsSprite:function(b,Y,W,H,X,K){var Z=b.isBody?b:b.body,Q=Y.isBody?Y:Y.body;return this.canCollide(Z,Q)?(this.separate(Z,Q,H,X,K)&&(W&&W.call(X,b,Y),this._total++),!0):!1},collideSpriteVsGroup:function(b,Y,W,H,X,K){var Z=b.isBody?b:b.body;if(!(Y.getLength()===0||!Z||!Z.enable||Z.checkCollision.none||!this.canCollide(Z,Y))){var Q,j,J;if(this.useTree||Y.physicsType===o.STATIC_BODY){var tt=this.treeMinMax;tt.minX=Z.left,tt.minY=Z.top,tt.maxX=Z.right,tt.maxY=Z.bottom;var k=Y.physicsType===o.DYNAMIC_BODY?this.tree.search(tt):this.staticTree.search(tt);for(j=k.length,Q=0;Q{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setAcceleration:function(t,e){return this.body.acceleration.set(t,e),this},setAccelerationX:function(t){return this.body.acceleration.x=t,this},setAccelerationY:function(t){return this.body.acceleration.y=t,this}};h.exports=d},59023:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setAngularVelocity:function(t){return this.body.angularVelocity=t,this},setAngularAcceleration:function(t){return this.body.angularAcceleration=t,this},setAngularDrag:function(t){return this.body.angularDrag=t,this}};h.exports=d},62069:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setBounce:function(t,e){return this.body.bounce.set(t,e),this},setBounceX:function(t){return this.body.bounce.x=t,this},setBounceY:function(t){return this.body.bounce.y=t,this},setCollideWorldBounds:function(t,e,l,i){return this.body.setCollideWorldBounds(t,e,l,i),this}};h.exports=d},78389:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(79599),l={setCollisionCategory:function(i){var s=this.body?this.body:this;return s.collisionCategory=i,this},willCollideWith:function(i){var s=this.body?this.body:this;return(s.collisionMask&i)!==0},addCollidesWith:function(i){var s=this.body?this.body:this;return s.collisionMask=s.collisionMask|i,this},removeCollidesWith:function(i){var s=this.body?this.body:this;return s.collisionMask=s.collisionMask&~i,this},setCollidesWith:function(i){var s=this.body?this.body:this;return s.collisionMask=e(i),this},resetCollisionCategory:function(){var i=this.body?this.body:this;return i.collisionCategory=1,i.collisionMask=2147483647,this}};h.exports=l},87118:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setDebug:function(t,e,l){return this.debugShowBody=t,this.debugShowVelocity=e,this.debugBodyColor=l,this},setDebugBodyColor:function(t){return this.body.debugBodyColor=t,this},debugShowBody:{get:function(){return this.body.debugShowBody},set:function(t){this.body.debugShowBody=t}},debugShowVelocity:{get:function(){return this.body.debugShowVelocity},set:function(t){this.body.debugShowVelocity=t}},debugBodyColor:{get:function(){return this.body.debugBodyColor},set:function(t){this.body.debugBodyColor=t}}};h.exports=d},52819:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setDrag:function(t,e){return this.body.drag.set(t,e),this},setDragX:function(t){return this.body.drag.x=t,this},setDragY:function(t){return this.body.drag.y=t,this},setDamping:function(t){return this.body.useDamping=t,this}};h.exports=d},4074:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setDirectControl:function(t){return this.body.setDirectControl(t),this},enableBody:function(t,e,l,i,s){return t&&this.body.reset(e,l),i&&(this.body.gameObject.active=!0),s&&(this.body.gameObject.visible=!0),this.body.enable=!0,this},disableBody:function(t,e){return t===void 0&&(t=!1),e===void 0&&(e=!1),this.body.stop(),this.body.enable=!1,t&&(this.body.gameObject.active=!1),e&&(this.body.gameObject.visible=!1),this},refreshBody:function(){return this.body.updateFromGameObject(),this}};h.exports=d},40831:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setFriction:function(t,e){return this.body.friction.set(t,e),this},setFrictionX:function(t){return this.body.friction.x=t,this},setFrictionY:function(t){return this.body.friction.y=t,this}};h.exports=d},26775:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setGravity:function(t,e){return this.body.gravity.set(t,e),this},setGravityX:function(t){return this.body.gravity.x=t,this},setGravityY:function(t){return this.body.gravity.y=t,this}};h.exports=d},9437:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setImmovable:function(t){return t===void 0&&(t=!0),this.body.immovable=t,this}};h.exports=d},30621:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setMass:function(t){return this.body.mass=t,this}};h.exports=d},72441:(h,d,t)=>{var e=t(47956),l=t(96503),i=t(2044),s=t(81491),r=function(o,a,u,f,v,c){var g=e(o,a-f,u-f,2*f,2*f,v,c);if(g.length===0)return g;for(var p=new l(a,u,f),T=new l,C=[],M=0;M{var d=function(t,e,l,i,s,r,o){r===void 0&&(r=!0),o===void 0&&(o=!1);var a=[],u=[],f=t.treeMinMax;if(f.minX=e,f.minY=l,f.maxX=e+i,f.maxY=l+s,o&&(u=t.staticTree.search(f)),r&&t.useTree)a=t.tree.search(f);else if(r)for(var v=Array.from(t.bodies),c={position:{x:e,y:l},left:e,top:l,right:e+i,bottom:l+s,isCircle:!1},g=t.intersects,p=0;p{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setPushable:function(t){return t===void 0&&(t=!0),this.body.pushable=t,this}};h.exports=d},29384:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setOffset:function(t,e){return this.body.setOffset(t,e),this},setSize:function(t,e,l){return this.body.setSize(t,e,l),this},setBodySize:function(t,e,l){return this.body.setSize(t,e,l),this},setCircle:function(t,e,l){return this.body.setCircle(t,e,l),this}};h.exports=d},15098:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setVelocity:function(t,e){return this.body.setVelocity(t,e),this},setVelocityX:function(t){return this.body.setVelocityX(t),this},setVelocityY:function(t){return this.body.setVelocityY(t),this},setMaxVelocity:function(t,e){return this.body.maxVelocity.set(t,e),this}};h.exports=d},92209:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Acceleration:t(1093),Angular:t(59023),Bounce:t(62069),Collision:t(78389),Debug:t(87118),Drag:t(52819),Enable:t(4074),Friction:t(40831),Gravity:t(26775),Immovable:t(9437),Mass:t(30621),OverlapCirc:t(72441),OverlapRect:t(47956),Pushable:t(62121),Size:t(29384),Velocity:t(15098)}},37747:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={DYNAMIC_BODY:0,STATIC_BODY:1,GROUP:2,TILEMAPLAYER:3,FACING_NONE:10,FACING_UP:11,FACING_DOWN:12,FACING_LEFT:13,FACING_RIGHT:14};h.exports=d},20009:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="collide"},36768:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="overlap"},60473:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pause"},89954:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="resume"},61804:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="tilecollide"},7161:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="tileoverlap"},34689:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="worldbounds"},16006:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="worldstep"},63012:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={COLLIDE:t(20009),OVERLAP:t(36768),PAUSE:t(60473),RESUME:t(89954),TILE_COLLIDE:t(61804),TILE_OVERLAP:t(7161),WORLD_BOUNDS:t(34689),WORLD_STEP:t(16006)}},27064:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(37747),l=t(79291),i={ArcadePhysics:t(86689),Body:t(37742),Collider:t(79342),Components:t(92209),Events:t(63012),Factory:t(66022),GetCollidesWith:t(79599),GetOverlapX:t(64897),GetOverlapY:t(45170),SeparateX:t(14087),SeparateY:t(89936),Group:t(60758),Image:t(71289),Sprite:t(13759),StaticBody:t(72624),StaticGroup:t(71464),Tilemap:t(55173),World:t(82248)};i=l(!1,i,e),h.exports=i},96602:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.collisionCallback?!t.collisionCallback.call(t.collisionCallbackContext,e,t):t.layer.callbacks[t.index]?!t.layer.callbacks[t.index].callback.call(t.layer.callbacks[t.index].callbackContext,e,t):!0};h.exports=d},36294:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){e<0?(t.blocked.none=!1,t.blocked.left=!0):e>0&&(t.blocked.none=!1,t.blocked.right=!0),t.position.x-=e,t.updateCenter(),t.bounce.x===0?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x};h.exports=d},67013:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){e<0?(t.blocked.none=!1,t.blocked.up=!0):e>0&&(t.blocked.none=!1,t.blocked.down=!0),t.position.y-=e,t.updateCenter(),t.bounce.y===0?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y};h.exports=d},40012:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(21329),l=t(53442),i=t(2483),s=function(r,o,a,u,f,v,c){var g=u.left,p=u.top,T=u.right,C=u.bottom,M=a.faceLeft||a.faceRight,A=a.faceTop||a.faceBottom;if(c||(M=!0,A=!0),!M&&!A)return!1;var R=0,P=0,L=0,F=1;if(o.deltaAbsX()>o.deltaAbsY()?L=-1:o.deltaAbsX(){/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(36294),l=function(i,s,r,o,a,u){var f=0,v=s.faceLeft,c=s.faceRight,g=s.collideLeft,p=s.collideRight;return u||(v=!0,c=!0,g=!0,p=!0),i.deltaX()<0&&p&&i.checkCollision.left?c&&i.x0&&g&&i.checkCollision.right&&v&&i.right>r&&(f=i.right-r,f>a&&(f=0)),f!==0&&(i.customSeparateX?i.overlapX=f:e(i,f)),f};h.exports=l},53442:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(67013),l=function(i,s,r,o,a,u){var f=0,v=s.faceTop,c=s.faceBottom,g=s.collideUp,p=s.collideDown;return u||(v=!0,c=!0,g=!0,p=!0),i.deltaY()<0&&p&&i.checkCollision.up?c&&i.y0&&g&&i.checkCollision.down&&v&&i.bottom>r&&(f=i.bottom-r,f>a&&(f=0)),f!==0&&(i.customSeparateY?i.overlapY=f:e(i,f)),f};h.exports=l},2483:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return!(e.right<=t.left||e.bottom<=t.top||e.position.x>=t.right||e.position.y>=t.bottom)};h.exports=d},55173:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e={ProcessTileCallbacks:t(96602),ProcessTileSeparationX:t(36294),ProcessTileSeparationY:t(67013),SeparateTile:t(40012),TileCheckX:t(21329),TileCheckY:t(53442),TileIntersectsBody:t(2483)};h.exports=e},44563:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Arcade:t(27064),Matter:t(3875)}},68174:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(26099),i=new e({initialize:function(){this.boundsCenter=new l,this.centerDiff=new l},parseBody:function(s){if(s=s.hasOwnProperty("body")?s.body:s,!s.hasOwnProperty("bounds")||!s.hasOwnProperty("centerOfMass"))return!1;var r=this.boundsCenter,o=this.centerDiff,a=s.bounds.max.x-s.bounds.min.x,u=s.bounds.max.y-s.bounds.min.y,f=a*s.centerOfMass.x,v=u*s.centerOfMass.y;return r.set(a/2,u/2),o.set(f-r.x,v-r.y),!0},getTopLeft:function(s,r,o){if(r===void 0&&(r=0),o===void 0&&(o=0),this.parseBody(s)){var a=this.boundsCenter,u=this.centerDiff;return new l(r+a.x+u.x,o+a.y+u.y)}return!1},getTopCenter:function(s,r,o){if(r===void 0&&(r=0),o===void 0&&(o=0),this.parseBody(s)){var a=this.boundsCenter,u=this.centerDiff;return new l(r+u.x,o+a.y+u.y)}return!1},getTopRight:function(s,r,o){if(r===void 0&&(r=0),o===void 0&&(o=0),this.parseBody(s)){var a=this.boundsCenter,u=this.centerDiff;return new l(r-(a.x-u.x),o+a.y+u.y)}return!1},getLeftCenter:function(s,r,o){if(r===void 0&&(r=0),o===void 0&&(o=0),this.parseBody(s)){var a=this.boundsCenter,u=this.centerDiff;return new l(r+a.x+u.x,o+u.y)}return!1},getCenter:function(s,r,o){if(r===void 0&&(r=0),o===void 0&&(o=0),this.parseBody(s)){var a=this.centerDiff;return new l(r+a.x,o+a.y)}return!1},getRightCenter:function(s,r,o){if(r===void 0&&(r=0),o===void 0&&(o=0),this.parseBody(s)){var a=this.boundsCenter,u=this.centerDiff;return new l(r-(a.x-u.x),o+u.y)}return!1},getBottomLeft:function(s,r,o){if(r===void 0&&(r=0),o===void 0&&(o=0),this.parseBody(s)){var a=this.boundsCenter,u=this.centerDiff;return new l(r+a.x+u.x,o-(a.y-u.y))}return!1},getBottomCenter:function(s,r,o){if(r===void 0&&(r=0),o===void 0&&(o=0),this.parseBody(s)){var a=this.boundsCenter,u=this.centerDiff;return new l(r+u.x,o-(a.y-u.y))}return!1},getBottomRight:function(s,r,o){if(r===void 0&&(r=0),o===void 0&&(o=0),this.parseBody(s)){var a=this.boundsCenter,u=this.centerDiff;return new l(r-(a.x-u.x),o-(a.y-u.y))}return!1}});h.exports=i},19933:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(6790);e.Body=t(22562),e.Composite=t(69351),e.World=t(4372),e.Collision=t(52284),e.Detector=t(81388),e.Pairs=t(99561),e.Pair=t(4506),e.Query=t(73296),e.Resolver=t(66272),e.Constraint=t(48140),e.Common=t(53402),e.Engine=t(48413),e.Events=t(35810),e.Sleeping=t(53614),e.Plugin=t(73832),e.Bodies=t(66280),e.Composites=t(74116),e.Axes=t(66615),e.Bounds=t(15647),e.Svg=t(74058),e.Vector=t(31725),e.Vertices=t(41598),e.World.add=e.Composite.add,e.World.remove=e.Composite.remove,e.World.addComposite=e.Composite.addComposite,e.World.addBody=e.Composite.addBody,e.World.addConstraint=e.Composite.addConstraint,e.World.clear=e.Composite.clear,h.exports=e},28137:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(66280),l=t(83419),i=t(74116),s=t(48140),r=t(74058),o=t(75803),a=t(23181),u=t(34803),f=t(73834),v=t(19496),c=t(85791),g=t(98713),p=t(41598),T=new l({initialize:function(M){this.world=M,this.scene=M.scene,this.sys=M.scene.sys},rectangle:function(C,M,A,R,P){var L=e.rectangle(C,M,A,R,P);return this.world.add(L),L},trapezoid:function(C,M,A,R,P,L){var F=e.trapezoid(C,M,A,R,P,L);return this.world.add(F),F},circle:function(C,M,A,R,P){var L=e.circle(C,M,A,R,P);return this.world.add(L),L},polygon:function(C,M,A,R,P){var L=e.polygon(C,M,A,R,P);return this.world.add(L),L},fromVertices:function(C,M,A,R,P,L,F){typeof A=="string"&&(A=p.fromPath(A));var w=e.fromVertices(C,M,A,R,P,L,F);return this.world.add(w),w},fromPhysicsEditor:function(C,M,A,R,P){P===void 0&&(P=!0);var L=v.parseBody(C,M,A,R);return P&&!this.world.has(L)&&this.world.add(L),L},fromSVG:function(C,M,A,R,P,L){R===void 0&&(R=1),P===void 0&&(P={}),L===void 0&&(L=!0);for(var F=A.getElementsByTagName("path"),w=[],O=0;O{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(9503),l=t(95540),i=t(26099);function s(o){return!!o.get&&typeof o.get=="function"||!!o.set&&typeof o.set=="function"}var r=function(o,a,u,f){u===void 0&&(u={}),f===void 0&&(f=!0);var v=a.x,c=a.y;a.body={temp:!0,position:{x:v,y:c}};var g=[e.Bounce,e.Collision,e.Force,e.Friction,e.Gravity,e.Mass,e.Sensor,e.SetBody,e.Sleep,e.Static,e.Transform,e.Velocity];if(g.forEach(function(T){for(var C in T)s(T[C])?Object.defineProperty(a,C,{get:T[C].get,set:T[C].set}):Object.defineProperty(a,C,{value:T[C]})}),a.world=o,a._tempVec2=new i(v,c),u.hasOwnProperty("type")&&u.type==="body")a.setExistingBody(u,f);else{var p=l(u,"shape",null);p||(p="rectangle"),u.addToWorld=f,a.setBody(p,u)}return a};h.exports=r},23181:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(9503),i=t(95643),s=t(95540),r=t(88571),o=t(26099),a=new e({Extends:r,Mixins:[l.Bounce,l.Collision,l.Force,l.Friction,l.Gravity,l.Mass,l.Sensor,l.SetBody,l.Sleep,l.Static,l.Transform,l.Velocity],initialize:function(f,v,c,g,p,T){i.call(this,f.scene,"Image"),this._crop=this.resetCropObject(),this.setTexture(g,p),this.setSizeToFrame(),this.setOrigin(),this.initRenderNodes(this._defaultRenderNodesMap),this.world=f,this._tempVec2=new o(v,c);var C=s(T,"shape",null);C?this.setBody(C,T):this.setRectangle(this.width,this.height,T),this.setPosition(v,c)}});h.exports=a},42045:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(60461),l=t(66615),i=t(66280),s=t(22562),r=t(68174),o=t(15647),a=t(83419),u=t(52284),f=t(53402),v=t(69351),c=t(74116),g=t(48140),p=t(81388),T=t(20339),C=t(28137),M=t(95540),A=t(35154),R=t(46975),P=t(4506),L=t(99561),F=t(37277),w=t(73296),O=t(66272),B=t(44594),I=t(74058),D=t(31725),N=t(41598),z=t(68243);f.setDecomp(t(55973));var V=new a({initialize:function(G){this.scene=G,this.systems=G.sys,this.config=this.getConfig(),this.world,this.add,this.bodyBounds,this.body=s,this.composite=v,this.collision=u,this.detector=p,this.pair=P,this.pairs=L,this.query=w,this.resolver=O,this.constraint=g,this.bodies=i,this.composites=c,this.axes=l,this.bounds=o,this.svg=I,this.vector=D,this.vertices=N,this.verts=N,this._tempVec2=D.create(),O._restingThresh=A(this.config,"restingThresh",4),O._restingThreshTangent=A(this.config,"restingThreshTangent",6),O._positionDampen=A(this.config,"positionDampen",.9),O._positionWarming=A(this.config,"positionWarming",.8),O._frictionNormalMultiplier=A(this.config,"frictionNormalMultiplier",5),G.sys.events.once(B.BOOT,this.boot,this),G.sys.events.on(B.START,this.start,this)},boot:function(){this.world=new z(this.scene,this.config),this.add=new C(this.world),this.bodyBounds=new r,this.systems.events.once(B.DESTROY,this.destroy,this)},start:function(){this.world||(this.world=new z(this.scene,this.config),this.add=new C(this.world));var U=this.systems.events;U.on(B.UPDATE,this.world.update,this.world),U.on(B.POST_UPDATE,this.world.postUpdate,this.world),U.once(B.SHUTDOWN,this.shutdown,this)},getConfig:function(){var U=this.systems.game.config.physics,G=this.systems.settings.physics,b=R(M(G,"matter",{}),M(U,"matter",{}));return b},pause:function(){return this.world.pause()},resume:function(){return this.world.resume()},set60Hz:function(){return this.world.getDelta=this.world.update60Hz,this.world.autoUpdate=!0,this},set30Hz:function(){return this.world.getDelta=this.world.update30Hz,this.world.autoUpdate=!0,this},step:function(U,G){this.world.step(U,G)},containsPoint:function(U,G,b){U=this.getMatterBodies(U);var Y=D.create(G,b),W=w.point(U,Y);return W.length>0},intersectPoint:function(U,G,b){b=this.getMatterBodies(b);var Y=D.create(U,G),W=[],H=w.point(b,Y);return H.forEach(function(X){W.indexOf(X)===-1&&W.push(X)}),W},intersectRect:function(U,G,b,Y,W,H){W===void 0&&(W=!1),H=this.getMatterBodies(H);var X={min:{x:U,y:G},max:{x:U+b,y:G+Y}},K=[],Z=w.region(H,X,W);return Z.forEach(function(Q){K.indexOf(Q)===-1&&K.push(Q)}),K},intersectRay:function(U,G,b,Y,W,H){W===void 0&&(W=1),H=this.getMatterBodies(H);for(var X=[],K=w.ray(H,D.create(U,G),D.create(b,Y),W),Z=0;Z{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(9674),l=t(83419),i=t(9503),s=t(95643),r=t(95540),o=t(68287),a=t(26099),u=new l({Extends:o,Mixins:[i.Bounce,i.Collision,i.Force,i.Friction,i.Gravity,i.Mass,i.Sensor,i.SetBody,i.Sleep,i.Static,i.Transform,i.Velocity],initialize:function(v,c,g,p,T,C){s.call(this,v.scene,"Sprite"),this._crop=this.resetCropObject(),this.anims=new e(this),this.setTexture(p,T),this.setSizeToFrame(),this.setOrigin(),this.initRenderNodes(this._defaultRenderNodesMap),this.world=v,this._tempVec2=new a(c,g);var M=r(C,"shape",null);M?this.setBody(M,C):this.setRectangle(this.width,this.height,C),this.setPosition(c,g)}});h.exports=u},73834:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(66280),l=t(22562),i=t(83419),s=t(9503),r=t(62644),o=t(50792),a=t(95540),u=t(97022),f=t(41598),v=new i({Extends:o,Mixins:[s.Bounce,s.Collision,s.Friction,s.Gravity,s.Mass,s.Sensor,s.Sleep,s.Static],initialize:function(g,p,T){o.call(this),this.tile=p,this.world=g,p.physics.matterBody&&p.physics.matterBody.destroy(),p.physics.matterBody=this;var C=a(T,"body",null),M=a(T,"addToWorld",!0);if(C)this.setBody(C,M);else{var A=p.getCollisionGroup(),R=a(A,"objects",[]);R.length>0?this.setFromTileCollision(T):this.setFromTileRectangle(T)}if(p.flipX||p.flipY){var P={x:p.getCenterX(),y:p.getCenterY()},L=p.flipX?-1:1,F=p.flipY?-1:1;l.scale(C,L,F,P)}},setFromTileRectangle:function(c){c===void 0&&(c={}),u(c,"isStatic")||(c.isStatic=!0),u(c,"addToWorld")||(c.addToWorld=!0);var g=this.tile.getBounds(),p=g.x+g.width/2,T=g.y+g.height/2,C=e.rectangle(p,T,g.width,g.height,c);return this.setBody(C,c.addToWorld),this},setFromTileCollision:function(c){c===void 0&&(c={}),u(c,"isStatic")||(c.isStatic=!0),u(c,"addToWorld")||(c.addToWorld=!0);for(var g=this.tile.tilemapLayer.scaleX,p=this.tile.tilemapLayer.scaleY,T=this.tile.getLeft(),C=this.tile.getTop(),M=this.tile.getCollisionGroup(),A=a(M,"objects",[]),R=[],P=0;P1){var U=r(c);U.parts=R,this.setBody(l.create(U),U.addToWorld)}return this},setBody:function(c,g){return g===void 0&&(g=!0),this.body&&this.removeBody(),this.body=c,this.body.gameObject=this,g&&this.world.add(this.body),this},removeBody:function(){return this.body&&(this.world.remove(this.body),this.body.gameObject=void 0,this.body=void 0),this},destroy:function(){this.removeBody(),this.tile.physics.matterBody=void 0,this.removeAllListeners()}});h.exports=v},19496:(h,d,t)=>{/** + * @author Joachim Grill + * @author Richard Davey + * @copyright 2018 CodeAndWeb GmbH + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(66280),l=t(22562),i=t(53402),s=t(95540),r=t(41598),o={parseBody:function(a,u,f,v){v===void 0&&(v={});for(var c=s(f,"fixtures",[]),g=[],p=0;p{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(66280),l=t(22562),i={parseBody:function(s,r,o,a){a===void 0&&(a={});var u,f=o.vertices;if(f.length===1)a.vertices=f[0],u=l.create(a),e.flagCoincidentParts(u.parts);else{for(var v=[],c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(15647),l=t(83419),i=t(69351),s=t(48140),r=t(81388),o=t(1121),a=t(8214),u=t(46975),f=t(53614),v=t(26099),c=t(41598),g=new l({initialize:function(T,C,M){M===void 0&&(M={});var A={label:"Pointer Constraint",pointA:{x:0,y:0},pointB:{x:0,y:0},length:.01,stiffness:.1,angularStiffness:1,collisionFilter:{category:1,mask:4294967295,group:0}};this.scene=T,this.world=C,this.camera=null,this.pointer=null,this.active=!0,this.position=new v,this.body=null,this.part=null,this.constraint=s.create(u(M,A)),this.world.on(o.BEFORE_UPDATE,this.update,this),T.sys.input.on(a.POINTER_DOWN,this.onDown,this),T.sys.input.on(a.POINTER_UP,this.onUp,this)},onDown:function(p){this.pointer||(this.pointer=p,this.camera=p.camera)},onUp:function(p){p===this.pointer&&(this.pointer=null)},getBody:function(p){var T=this.position,C=this.constraint;this.camera.getWorldPoint(p.x,p.y,T);for(var M=i.allBodies(this.world.localWorld),A=0;A1?1:0,R=A;R{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(66280),l=t(22562),i=t(83419),s=t(53402),r=t(69351),o=t(48413),a=t(50792),u=t(1121),f=t(95540),v=t(35154),c=t(22562),g=t(35810),p=t(73834),T=t(4372),C=t(13037),M=t(31725),A=new i({Extends:a,initialize:function(P,L){a.call(this),this.scene=P,this.engine=o.create(L),this.localWorld=this.engine.world;var F=v(L,"gravity",null);F?this.setGravity(F.x,F.y,F.scale):F===!1&&this.setGravity(0,0,0),this.walls={left:null,right:null,top:null,bottom:null},this.enabled=v(L,"enabled",!0),this.getDelta=v(L,"getDelta",this.update60Hz);var w=f(L,"runner",{}),O=f(w,"fps",!1);O&&(w.delta=1e3/f(w,"fps",60)),this.runner=C.create(w),this.autoUpdate=v(L,"autoUpdate",!0);var B=v(L,"debug",!1);if(this.drawDebug=typeof B=="object"?!0:B,this.debugGraphic,this.debugConfig={showAxes:f(B,"showAxes",!1),showAngleIndicator:f(B,"showAngleIndicator",!1),angleColor:f(B,"angleColor",15208787),showBroadphase:f(B,"showBroadphase",!1),broadphaseColor:f(B,"broadphaseColor",16757760),showBounds:f(B,"showBounds",!1),boundsColor:f(B,"boundsColor",16777215),showVelocity:f(B,"showVelocity",!1),velocityColor:f(B,"velocityColor",44783),showCollisions:f(B,"showCollisions",!1),collisionColor:f(B,"collisionColor",16094476),showSeparations:f(B,"showSeparations",!1),separationColor:f(B,"separationColor",16753920),showBody:f(B,"showBody",!0),showStaticBody:f(B,"showStaticBody",!0),showInternalEdges:f(B,"showInternalEdges",!1),renderFill:f(B,"renderFill",!1),renderLine:f(B,"renderLine",!0),fillColor:f(B,"fillColor",1075465),fillOpacity:f(B,"fillOpacity",1),lineColor:f(B,"lineColor",2678297),lineOpacity:f(B,"lineOpacity",1),lineThickness:f(B,"lineThickness",1),staticFillColor:f(B,"staticFillColor",857979),staticLineColor:f(B,"staticLineColor",1255396),showSleeping:f(B,"showSleeping",!1),staticBodySleepOpacity:f(B,"staticBodySleepOpacity",.7),sleepFillColor:f(B,"sleepFillColor",4605510),sleepLineColor:f(B,"sleepLineColor",10066585),showSensors:f(B,"showSensors",!0),sensorFillColor:f(B,"sensorFillColor",857979),sensorLineColor:f(B,"sensorLineColor",1255396),showPositions:f(B,"showPositions",!0),positionSize:f(B,"positionSize",4),positionColor:f(B,"positionColor",14697178),showJoint:f(B,"showJoint",!0),jointColor:f(B,"jointColor",14737474),jointLineOpacity:f(B,"jointLineOpacity",1),jointLineThickness:f(B,"jointLineThickness",2),pinSize:f(B,"pinSize",4),pinColor:f(B,"pinColor",4382944),springColor:f(B,"springColor",14697184),anchorColor:f(B,"anchorColor",15724527),anchorSize:f(B,"anchorSize",4),showConvexHulls:f(B,"showConvexHulls",!1),hullColor:f(B,"hullColor",14091216)},this.drawDebug&&this.createDebugGraphic(),this.setEventsProxy(),f(L,"setBounds",!1)){var I=L.setBounds;if(typeof I=="boolean")this.setBounds();else{var D=f(I,"x",0),N=f(I,"y",0),z=f(I,"width",P.sys.scale.width),V=f(I,"height",P.sys.scale.height),U=f(I,"thickness",64),G=f(I,"left",!0),b=f(I,"right",!0),Y=f(I,"top",!0),W=f(I,"bottom",!0);this.setBounds(D,N,z,V,U,G,b,Y,W)}}},setCompositeRenderStyle:function(R){var P=R.bodies,L=R.constraints,F=R.composites,w,O,B;for(w=0;w0&&w.map(function(I){O=I.bodyA,B=I.bodyB,O.gameObject&&O.gameObject.emit("collide",O,B,I),B.gameObject&&B.gameObject.emit("collide",B,O,I),g.trigger(O,"onCollide",{pair:I}),g.trigger(B,"onCollide",{pair:I}),O.onCollideCallback&&O.onCollideCallback(I),B.onCollideCallback&&B.onCollideCallback(I),O.onCollideWith[B.id]&&O.onCollideWith[B.id](B,I),B.onCollideWith[O.id]&&B.onCollideWith[O.id](O,I)}),R.emit(u.COLLISION_START,F,O,B)}),g.on(P,"collisionActive",function(F){var w=F.pairs,O,B;w.length>0&&w.map(function(I){O=I.bodyA,B=I.bodyB,O.gameObject&&O.gameObject.emit("collideActive",O,B,I),B.gameObject&&B.gameObject.emit("collideActive",B,O,I),g.trigger(O,"onCollideActive",{pair:I}),g.trigger(B,"onCollideActive",{pair:I}),O.onCollideActiveCallback&&O.onCollideActiveCallback(I),B.onCollideActiveCallback&&B.onCollideActiveCallback(I)}),R.emit(u.COLLISION_ACTIVE,F,O,B)}),g.on(P,"collisionEnd",function(F){var w=F.pairs,O,B;w.length>0&&w.map(function(I){O=I.bodyA,B=I.bodyB,O.gameObject&&O.gameObject.emit("collideEnd",O,B,I),B.gameObject&&B.gameObject.emit("collideEnd",B,O,I),g.trigger(O,"onCollideEnd",{pair:I}),g.trigger(B,"onCollideEnd",{pair:I}),O.onCollideEndCallback&&O.onCollideEndCallback(I),B.onCollideEndCallback&&B.onCollideEndCallback(I)}),R.emit(u.COLLISION_END,F,O,B)})},setBounds:function(R,P,L,F,w,O,B,I,D){return R===void 0&&(R=0),P===void 0&&(P=0),L===void 0&&(L=this.scene.sys.scale.width),F===void 0&&(F=this.scene.sys.scale.height),w===void 0&&(w=64),O===void 0&&(O=!0),B===void 0&&(B=!0),I===void 0&&(I=!0),D===void 0&&(D=!0),this.updateWall(O,"left",R-w,P-w,w,F+w*2),this.updateWall(B,"right",R+L,P-w,w,F+w*2),this.updateWall(I,"top",R,P-w,L,w),this.updateWall(D,"bottom",R,P+F,L,w),this},updateWall:function(R,P,L,F,w,O){var B=this.walls[P];R?(B&&T.remove(this.localWorld,B),L+=w/2,F+=O/2,this.walls[P]=this.create(L,F,w,O,{isStatic:!0,friction:0,frictionStatic:0})):(B&&T.remove(this.localWorld,B),this.walls[P]=null)},createDebugGraphic:function(){var R=this.scene.sys.add.graphics({x:0,y:0});return R.setDepth(Number.MAX_VALUE),this.debugGraphic=R,this.drawDebug=!0,R},disableGravity:function(){return this.localWorld.gravity.x=0,this.localWorld.gravity.y=0,this.localWorld.gravity.scale=0,this},setGravity:function(R,P,L){return R===void 0&&(R=0),P===void 0&&(P=1),L===void 0&&(L=.001),this.localWorld.gravity.x=R,this.localWorld.gravity.y=P,this.localWorld.gravity.scale=L,this},create:function(R,P,L,F,w){var O=e.rectangle(R,P,L,F,w);return T.add(this.localWorld,O),O},add:function(R){return T.add(this.localWorld,R),this},remove:function(R,P){Array.isArray(R)||(R=[R]);for(var L=0;LMath.max(C._maxFrameDelta,L.maxFrameTime))&&(B=L.frameDelta||C._frameDeltaFallback),L.frameDeltaSmoothing){L.frameDeltaHistory.push(B),L.frameDeltaHistory=L.frameDeltaHistory.slice(-L.frameDeltaHistorySize);var I=L.frameDeltaHistory.slice(0).sort(),D=L.frameDeltaHistory.slice(I.length*C._smoothingLowerBound,I.length*C._smoothingUpperBound),N=C._mean(D);B=N||B}L.frameDeltaSnapping&&(B=1e3/Math.round(1e3/B)),L.frameDelta=B,L.timeLastTick=R,L.timeBuffer+=L.frameDelta,L.timeBuffer=s.clamp(L.timeBuffer,0,L.frameDelta+w*C._timeBufferMargin),L.lastUpdatesDeferred=0;for(var z=L.maxUpdates||Math.ceil(L.maxFrameTime/w),V=s.now();w>0&&L.timeBuffer>=w*C._timeBufferMargin;){o.update(P,w),L.timeBuffer-=w,O+=1;var U=s.now()-F,G=s.now()-V,b=U+C._elapsedNextEstimate*G/O;if(O>=z||b>L.maxFrameTime){L.lastUpdatesDeferred=Math.round(Math.max(0,L.timeBuffer/w-C._timeBufferMargin));break}}}},step:function(R){o.update(this.engine,R)},update60Hz:function(){return 1e3/60},update30Hz:function(){return 1e3/30},has:function(R){var P=R.hasOwnProperty("body")?R.body:R;return r.get(this.localWorld,P.id,P.type)!==null},getAllBodies:function(){return r.allBodies(this.localWorld)},getAllConstraints:function(){return r.allConstraints(this.localWorld)},getAllComposites:function(){return r.allComposites(this.localWorld)},postUpdate:function(){if(this.drawDebug){var R=this.debugConfig,P=this.engine,L=this.debugGraphic,F=r.allBodies(this.localWorld);this.debugGraphic.clear(),R.showBroadphase&&P.broadphase.controller&&this.renderGrid(P.broadphase,L,R.broadphaseColor,.5),R.showBounds&&this.renderBodyBounds(F,L,R.boundsColor,.5),(R.showBody||R.showStaticBody)&&this.renderBodies(F),R.showJoint&&this.renderJoints(),(R.showAxes||R.showAngleIndicator)&&this.renderBodyAxes(F,L,R.showAxes,R.angleColor,.5),R.showVelocity&&this.renderBodyVelocity(F,L,R.velocityColor,1,2),R.showSeparations&&this.renderSeparations(P.pairs.list,L,R.separationColor),R.showCollisions&&this.renderCollisions(P.pairs.list,L,R.collisionColor)}},renderGrid:function(R,P,L,F){P.lineStyle(1,L,F);for(var w=s.keys(R.buckets),O=0;O0){var z=N[0].vertex.x,V=N[0].vertex.y;w.contactCount===2&&(z=(N[0].vertex.x+N[1].vertex.x)/2,V=(N[0].vertex.y+N[1].vertex.y)/2),D.bodyB===D.supports[0].body||D.bodyA.isStatic?P.lineBetween(z-D.normal.x*8,V-D.normal.y*8,z,V):P.lineBetween(z+D.normal.x*8,V+D.normal.y*8,z,V)}}return this},renderBodyBounds:function(R,P,L,F){P.lineStyle(1,L,F);for(var w=0;w1?1:0;D1?1:0;N1?1:0;N1&&this.renderConvexHull(Y,P,G,X)}}},renderBody:function(R,P,L,F,w,O,B,I){F===void 0&&(F=null),w===void 0&&(w=null),O===void 0&&(O=1),B===void 0&&(B=null),I===void 0&&(I=null);for(var D=this.debugConfig,N=D.sensorFillColor,z=D.sensorLineColor,V=R.parts,U=V.length,G=U>1?1:0;G1){var B=R.vertices;P.lineStyle(F,L),P.beginPath(),P.moveTo(B[0].x,B[0].y);for(var I=1;I0&&(P.fillStyle(B),P.fillCircle(V.x,V.y,I),P.fillCircle(U.x,U.y,I)),this},resetCollisionIDs:function(){return l._nextCollidingGroupId=1,l._nextNonCollidingGroupId=-1,l._nextCategory=1,this},shutdown:function(){g.off(this.engine),this.removeAllListeners(),T.clear(this.localWorld,!1),o.clear(this.engine),this.drawDebug&&this.debugGraphic.destroy()},destroy:function(){this.shutdown()}});h.exports=A},70410:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setBounce:function(t){return this.body.restitution=t,this}};h.exports=d},66968:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setCollisionCategory:function(t){return this.body.collisionFilter.category=t,this},setCollisionGroup:function(t){return this.body.collisionFilter.group=t,this},setCollidesWith:function(t){var e=0;if(!Array.isArray(t))e=t;else for(var l=0;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(22562),l={applyForce:function(i){return this._tempVec2.set(this.body.position.x,this.body.position.y),e.applyForce(this.body,this._tempVec2,i),this},applyForceFrom:function(i,s){return e.applyForce(this.body,i,s),this},thrust:function(i){var s=this.body.angle;return this._tempVec2.set(i*Math.cos(s),i*Math.sin(s)),e.applyForce(this.body,{x:this.body.position.x,y:this.body.position.y},this._tempVec2),this},thrustLeft:function(i){var s=this.body.angle-Math.PI/2;return this._tempVec2.set(i*Math.cos(s),i*Math.sin(s)),e.applyForce(this.body,{x:this.body.position.x,y:this.body.position.y},this._tempVec2),this},thrustRight:function(i){var s=this.body.angle+Math.PI/2;return this._tempVec2.set(i*Math.cos(s),i*Math.sin(s)),e.applyForce(this.body,{x:this.body.position.x,y:this.body.position.y},this._tempVec2),this},thrustBack:function(i){var s=this.body.angle-Math.PI;return this._tempVec2.set(i*Math.cos(s),i*Math.sin(s)),e.applyForce(this.body,{x:this.body.position.x,y:this.body.position.y},this._tempVec2),this}};h.exports=l},5436:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setFriction:function(t,e,l){return this.body.friction=t,e!==void 0&&(this.body.frictionAir=e),l!==void 0&&(this.body.frictionStatic=l),this},setFrictionAir:function(t){return this.body.frictionAir=t,this},setFrictionStatic:function(t){return this.body.frictionStatic=t,this}};h.exports=d},39858:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setIgnoreGravity:function(t){return this.body.ignoreGravity=t,this}};h.exports=d},37302:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(22562),l=t(26099),i={setMass:function(s){return e.setMass(this.body,s),this},setDensity:function(s){return e.setDensity(this.body,s),this},centerOfMass:{get:function(){return new l(this.body.centerOfMass.x,this.body.centerOfMass.y)}}};h.exports=i},39132:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={setSensor:function(t){return this.body.isSensor=t,this},isSensor:function(){return this.body.isSensor}};h.exports=d},57772:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(66280),l=t(22562),i=t(43855),s=t(95540),r=t(19496),o=t(85791),a=t(41598),u={setRectangle:function(f,v,c){return this.setBody({type:"rectangle",width:f,height:v},c)},setCircle:function(f,v){return this.setBody({type:"circle",radius:f},v)},setPolygon:function(f,v,c){return this.setBody({type:"polygon",sides:v,radius:f},c)},setTrapezoid:function(f,v,c,g){return this.setBody({type:"trapezoid",width:f,height:v,slope:c},g)},setExistingBody:function(f,v){v===void 0&&(v=!0),this.body&&this.world.remove(this.body,!0),this.body=f;for(var c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(1121),l=t(53614),i=t(35810),s={setToSleep:function(){return l.set(this.body,!0),this},setAwake:function(){return l.set(this.body,!1),this},setSleepThreshold:function(r){return r===void 0&&(r=60),this.body.sleepThreshold=r,this},setSleepEvents:function(r,o){return this.setSleepStartEvent(r),this.setSleepEndEvent(o),this},setSleepStartEvent:function(r){if(r){var o=this.world;i.on(this.body,"sleepStart",function(a){o.emit(e.SLEEP_START,a,this)})}else i.off(this.body,"sleepStart");return this},setSleepEndEvent:function(r){if(r){var o=this.world;i.on(this.body,"sleepEnd",function(a){o.emit(e.SLEEP_END,a,this)})}else i.off(this.body,"sleepEnd");return this}};h.exports=s},90556:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(22562),l={setStatic:function(i){return e.setStatic(this.body,i),this},isStatic:function(){return this.body.isStatic}};h.exports=l},85436:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(22562),l=t(36383),i=t(86554),s=t(30954),r=4,o={x:{get:function(){return this.body.position.x},set:function(a){this._tempVec2.set(a,this.y),e.setPosition(this.body,this._tempVec2)}},y:{get:function(){return this.body.position.y},set:function(a){this._tempVec2.set(this.x,a),e.setPosition(this.body,this._tempVec2)}},scale:{get:function(){return(this._scaleX+this._scaleY)/2},set:function(a){this.setScale(a,a)}},scaleX:{get:function(){return this._scaleX},set:function(a){var u=1/this._scaleX,f=1/this._scaleY;this._scaleX=a,this._scaleX===0?this.renderFlags&=~r:this.renderFlags|=r,e.scale(this.body,u,f),e.scale(this.body,a,this._scaleY)}},scaleY:{get:function(){return this._scaleY},set:function(a){var u=1/this._scaleX,f=1/this._scaleY;this._scaleY=a,this._scaleY===0?this.renderFlags&=~r:this.renderFlags|=r,e.scale(this.body,u,f),e.scale(this.body,this._scaleX,a)}},angle:{get:function(){return s(this.body.angle*l.RAD_TO_DEG)},set:function(a){this.rotation=s(a)*l.DEG_TO_RAD}},rotation:{get:function(){return this.body.angle},set:function(a){this._rotation=i(a),e.setAngle(this.body,this._rotation)}},setPosition:function(a,u){return a===void 0&&(a=0),u===void 0&&(u=a),this._tempVec2.set(a,u),e.setPosition(this.body,this._tempVec2),this},setRotation:function(a){return a===void 0&&(a=0),this._rotation=i(a),e.setAngle(this.body,a),this},setFixedRotation:function(){return e.setInertia(this.body,1/0),this},setAngle:function(a){return a===void 0&&(a=0),this.angle=a,e.setAngle(this.body,this.rotation),this},setScale:function(a,u,f){a===void 0&&(a=1),u===void 0&&(u=a);var v=1/this._scaleX,c=1/this._scaleY;return this._scaleX=a,this._scaleY=u,e.scale(this.body,v,c,f),e.scale(this.body,a,u,f),this}};h.exports=o},42081:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(22562),l={setVelocityX:function(i){return this._tempVec2.set(i,this.body.velocity.y),e.setVelocity(this.body,this._tempVec2),this},setVelocityY:function(i){return this._tempVec2.set(this.body.velocity.x,i),e.setVelocity(this.body,this._tempVec2),this},setVelocity:function(i,s){return this._tempVec2.set(i,s),e.setVelocity(this.body,this._tempVec2),this},getVelocity:function(){return e.getVelocity(this.body)},setAngularVelocity:function(i){return e.setAngularVelocity(this.body,i),this},getAngularVelocity:function(){return e.getAngularVelocity(this.body)},setAngularSpeed:function(i){return e.setAngularSpeed(this.body,i),this},getAngularSpeed:function(){return e.getAngularSpeed(this.body)}};h.exports=l},9503:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Bounce:t(70410),Collision:t(66968),Force:t(51607),Friction:t(5436),Gravity:t(39858),Mass:t(37302),Sensor:t(39132),SetBody:t(57772),Sleep:t(38083),Static:t(90556),Transform:t(85436),Velocity:t(42081)}},85608:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="afteradd"},1213:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="afterremove"},25968:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="afterupdate"},67205:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="beforeadd"},39438:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="beforeremove"},44823:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="beforeupdate"},92593:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="collisionactive"},60128:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="collisionend"},76861:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="collisionstart"},92362:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="dragend"},76408:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="drag"},93971:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="dragstart"},5656:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pause"},47861:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="resume"},79099:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="sleepend"},35906:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="sleepstart"},1121:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={AFTER_ADD:t(85608),AFTER_REMOVE:t(1213),AFTER_UPDATE:t(25968),BEFORE_ADD:t(67205),BEFORE_REMOVE:t(39438),BEFORE_UPDATE:t(44823),COLLISION_ACTIVE:t(92593),COLLISION_END:t(60128),COLLISION_START:t(76861),DRAG_END:t(92362),DRAG:t(76408),DRAG_START:t(93971),PAUSE:t(5656),RESUME:t(47861),SLEEP_END:t(79099),SLEEP_START:t(35906)}},3875:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={BodyBounds:t(68174),Components:t(9503),Events:t(1121),Factory:t(28137),MatterGameObject:t(75803),Image:t(23181),Matter:t(19933),MatterPhysics:t(42045),PolyDecomp:t(55973),Sprite:t(34803),TileBody:t(73834),PhysicsEditorParser:t(19496),PhysicsJSONParser:t(85791),PointerConstraint:t(98713),World:t(68243)}},22562:(h,d,t)=>{var e={};h.exports=e;var l=t(41598),i=t(31725),s=t(53614),r=t(53402),o=t(15647),a=t(66615);(function(){e._timeCorrection=!0,e._inertiaScale=4,e._nextCollidingGroupId=1,e._nextNonCollidingGroupId=-1,e._nextCategory=1,e._baseDelta=16.666666666666668,e.create=function(f){var v={id:r.nextId(),type:"body",label:"Body",parts:[],plugin:{},attractors:f.attractors||[],wrapBounds:null,angle:0,vertices:null,position:{x:0,y:0},force:{x:0,y:0},torque:0,positionImpulse:{x:0,y:0},constraintImpulse:{x:0,y:0,angle:0},totalContacts:0,speed:0,angularSpeed:0,velocity:{x:0,y:0},angularVelocity:0,isSensor:!1,isStatic:!1,isSleeping:!1,motion:0,sleepThreshold:60,density:.001,restitution:0,friction:.1,frictionStatic:.5,frictionAir:.01,collisionFilter:{category:1,mask:4294967295,group:0},slop:.05,timeScale:1,events:null,bounds:null,chamfer:null,circleRadius:0,positionPrev:null,anglePrev:0,parent:null,axes:null,area:0,mass:0,inverseMass:0,inertia:0,deltaTime:16.666666666666668,inverseInertia:0,_original:null,render:{visible:!0,opacity:1,sprite:{xOffset:0,yOffset:0},fillColor:null,fillOpacity:null,lineColor:null,lineOpacity:null,lineThickness:null},gameObject:null,scale:{x:1,y:1},centerOfMass:{x:0,y:0},centerOffset:{x:0,y:0},gravityScale:{x:1,y:1},ignoreGravity:!1,ignorePointer:!1,onCollideCallback:null,onCollideEndCallback:null,onCollideActiveCallback:null,onCollideWith:{}};!f.hasOwnProperty("position")&&f.hasOwnProperty("vertices")?f.position=l.centre(f.vertices):f.hasOwnProperty("vertices")||(v.vertices=l.fromPath("L 0 0 L 40 0 L 40 40 L 0 40"));var c=r.extend(v,f);return u(c,f),c.setOnCollideWith=function(g,p){return p?this.onCollideWith[g.id]=p:delete this.onCollideWith[g.id],this},c},e.nextGroup=function(f){return f?e._nextNonCollidingGroupId--:e._nextCollidingGroupId++},e.nextCategory=function(){return e._nextCategory=e._nextCategory<<1,e._nextCategory};var u=function(f,v){if(v=v||{},e.set(f,{bounds:f.bounds||o.create(f.vertices),positionPrev:f.positionPrev||i.clone(f.position),anglePrev:f.anglePrev||f.angle,vertices:f.vertices,parts:f.parts||[f],isStatic:f.isStatic,isSleeping:f.isSleeping,parent:f.parent||f}),l.rotate(f.vertices,f.angle,f.position),a.rotate(f.axes,f.angle),o.update(f.bounds,f.vertices,f.velocity),e.set(f,{axes:v.axes||f.axes,area:v.area||f.area,mass:v.mass||f.mass,inertia:v.inertia||f.inertia}),f.parts.length===1){var c=f.bounds,g=f.centerOfMass,p=f.centerOffset,T=c.max.x-c.min.x,C=c.max.y-c.min.y;g.x=-(c.min.x-f.position.x)/T,g.y=-(c.min.y-f.position.y)/C,p.x=T*g.x,p.y=C*g.y}};e.set=function(f,v,c){var g;typeof v=="string"&&(g=v,v={},v[g]=c);for(g in v)if(Object.prototype.hasOwnProperty.call(v,g))switch(c=v[g],g){case"isStatic":e.setStatic(f,c);break;case"isSleeping":s.set(f,c);break;case"mass":e.setMass(f,c);break;case"density":e.setDensity(f,c);break;case"inertia":e.setInertia(f,c);break;case"vertices":e.setVertices(f,c);break;case"position":e.setPosition(f,c);break;case"angle":e.setAngle(f,c);break;case"velocity":e.setVelocity(f,c);break;case"angularVelocity":e.setAngularVelocity(f,c);break;case"speed":e.setSpeed(f,c);break;case"angularSpeed":e.setAngularSpeed(f,c);break;case"parts":e.setParts(f,c);break;case"centre":e.setCentre(f,c);break;default:f[g]=c}},e.setStatic=function(f,v){for(var c=0;c0&&i.rotateAbout(T.position,g,f.position,T.position)}},e.setVelocity=function(f,v){var c=f.deltaTime/e._baseDelta;f.positionPrev.x=f.position.x-v.x*c,f.positionPrev.y=f.position.y-v.y*c,f.velocity.x=(f.position.x-f.positionPrev.x)/c,f.velocity.y=(f.position.y-f.positionPrev.y)/c,f.speed=i.magnitude(f.velocity)},e.getVelocity=function(f){var v=e._baseDelta/f.deltaTime;return{x:(f.position.x-f.positionPrev.x)*v,y:(f.position.y-f.positionPrev.y)*v}},e.getSpeed=function(f){return i.magnitude(e.getVelocity(f))},e.setSpeed=function(f,v){e.setVelocity(f,i.mult(i.normalise(e.getVelocity(f)),v))},e.setAngularVelocity=function(f,v){var c=f.deltaTime/e._baseDelta;f.anglePrev=f.angle-v*c,f.angularVelocity=(f.angle-f.anglePrev)/c,f.angularSpeed=Math.abs(f.angularVelocity)},e.getAngularVelocity=function(f){return(f.angle-f.anglePrev)*e._baseDelta/f.deltaTime},e.getAngularSpeed=function(f){return Math.abs(e.getAngularVelocity(f))},e.setAngularSpeed=function(f,v){e.setAngularVelocity(f,r.sign(e.getAngularVelocity(f))*v)},e.translate=function(f,v,c){e.setPosition(f,i.add(f.position,v),c)},e.rotate=function(f,v,c,g){if(!c)e.setAngle(f,f.angle+v,g);else{var p=Math.cos(v),T=Math.sin(v),C=f.position.x-c.x,M=f.position.y-c.y;e.setPosition(f,{x:c.x+(C*p-M*T),y:c.y+(C*T+M*p)},g),e.setAngle(f,f.angle+v,g)}},e.scale=function(f,v,c,g){var p=0,T=0;g=g||f.position;for(var C=f.inertia===1/0,M=0;M0&&(p+=A.area,T+=A.inertia),A.position.x=g.x+(A.position.x-g.x)*v,A.position.y=g.y+(A.position.y-g.y)*c,o.update(A.bounds,A.vertices,f.velocity)}f.parts.length>1&&(f.area=p,f.isStatic||(e.setMass(f,f.density*p),e.setInertia(f,T))),f.circleRadius&&(v===c?f.circleRadius*=v:f.circleRadius=null),C&&e.setInertia(f,1/0)},e.update=function(f,v){v=(typeof v<"u"?v:16.666666666666668)*f.timeScale;var c=v*v,g=e._timeCorrection?v/(f.deltaTime||v):1,p=1-f.frictionAir*(v/r._baseDelta),T=(f.position.x-f.positionPrev.x)*g,C=(f.position.y-f.positionPrev.y)*g;f.velocity.x=T*p+f.force.x/f.mass*c,f.velocity.y=C*p+f.force.y/f.mass*c,f.positionPrev.x=f.position.x,f.positionPrev.y=f.position.y,f.position.x+=f.velocity.x,f.position.y+=f.velocity.y,f.deltaTime=v,f.angularVelocity=(f.angle-f.anglePrev)*p*g+f.torque/f.inertia*c,f.anglePrev=f.angle,f.angle+=f.angularVelocity,f.speed=i.magnitude(f.velocity),f.angularSpeed=Math.abs(f.angularVelocity);for(var M=0;M0&&(A.position.x+=f.velocity.x,A.position.y+=f.velocity.y),f.angularVelocity!==0&&(l.rotate(A.vertices,f.angularVelocity,f.position),a.rotate(A.axes,f.angularVelocity),M>0&&i.rotateAbout(A.position,f.angularVelocity,f.position,A.position)),o.update(A.bounds,A.vertices,f.velocity)}},e.updateVelocities=function(f){var v=e._baseDelta/f.deltaTime,c=f.velocity;c.x=(f.position.x-f.positionPrev.x)*v,c.y=(f.position.y-f.positionPrev.y)*v,f.speed=Math.sqrt(c.x*c.x+c.y*c.y),f.angularVelocity=(f.angle-f.anglePrev)*v,f.angularSpeed=Math.abs(f.angularVelocity)},e.applyForce=function(f,v,c){var g={x:v.x-f.position.x,y:v.y-f.position.y};f.force.x+=c.x,f.force.y+=c.y,f.torque+=g.x*c.y-g.y*c.x},e._totalProperties=function(f){for(var v={mass:0,area:0,inertia:0,centre:{x:0,y:0}},c=f.parts.length===1?0:1;c{var e={};h.exports=e;var l=t(35810),i=t(53402),s=t(15647),r=t(22562);(function(){e.create=function(o){return i.extend({id:i.nextId(),type:"composite",parent:null,isModified:!1,bodies:[],constraints:[],composites:[],label:"Composite",plugin:{},wrapBounds:null,cache:{allBodies:null,allConstraints:null,allComposites:null}},o)},e.setModified=function(o,a,u,f){if(l.trigger(o,"compositeModified",o),o.isModified=a,a&&o.cache&&(o.cache.allBodies=null,o.cache.allConstraints=null,o.cache.allComposites=null),u&&o.parent&&e.setModified(o.parent,a,u,f),f)for(var v=0;v{var e={};h.exports=e;var l=t(69351);(function(){e.create=l.create,e.add=l.add,e.remove=l.remove,e.clear=l.clear,e.addComposite=l.addComposite,e.addBody=l.addBody,e.addConstraint=l.addConstraint})()},52284:(h,d,t)=>{var e={};h.exports=e;var l=t(41598),i=t(4506);(function(){var s=[],r={overlap:0,axis:null},o={overlap:0,axis:null};e.create=function(a,u){return{pair:null,collided:!1,bodyA:a,bodyB:u,parentA:a.parent,parentB:u.parent,depth:0,normal:{x:0,y:0},tangent:{x:0,y:0},penetration:{x:0,y:0},supports:[null,null],supportCount:0}},e.collides=function(a,u,f){if(e._overlapAxes(r,a.vertices,u.vertices,a.axes),r.overlap<=0||(e._overlapAxes(o,u.vertices,a.vertices,u.axes),o.overlap<=0))return null;var v=f&&f.table[i.id(a,u)],c;v?c=v.collision:(c=e.create(a,u),c.collided=!0,c.bodyA=a.id=0&&(P=-P,L=-L),p.x=P,p.y=L,T.x=-L,T.y=P,C.x=P*A,C.y=L*A,c.depth=A;var O=e._findSupports(a,u,p,1),B=0;if(l.contains(a.vertices,O[0])&&(M[B++]=O[0]),l.contains(a.vertices,O[1])&&(M[B++]=O[1]),B<2){var I=e._findSupports(u,a,p,-1);l.contains(u.vertices,I[0])&&(M[B++]=I[0]),B<2&&l.contains(u.vertices,I[1])&&(M[B++]=I[1])}return B===0&&(M[B++]=O[0]),c.supportCount=B,c},e._overlapAxes=function(a,u,f,v){var c=u.length,g=f.length,p=u[0].x,T=u[0].y,C=f[0].x,M=f[0].y,A=v.length,R=Number.MAX_VALUE,P=0,L,F,w,O,B,I;for(B=0;BG?G=O:Ob?b=O:O{var d={};h.exports=d,function(){d.create=function(t){return{vertex:t,normalImpulse:0,tangentImpulse:0}}}()},81388:(h,d,t)=>{var e={};h.exports=e;var l=t(53402),i=t(52284);(function(){e.create=function(s){var r={bodies:[],collisions:[],pairs:null};return l.extend(r,s)},e.setBodies=function(s,r){s.bodies=r.slice(0)},e.clear=function(s){s.bodies=[],s.collisions=[]},e.collisions=function(s){var r=s.pairs,o=s.bodies,a=o.length,u=e.canCollide,f=i.collides,v=s.collisions,c=0,g,p;for(o.sort(e._compareBoundsX),g=0;gM)break;if(!(AO.max.y)&&!(P&&(w.isStatic||w.isSleeping))&&u(T.collisionFilter,w.collisionFilter)){var B=w.parts.length;if(F&&B===1){var I=f(T,w,r);I&&(v[c++]=I)}else for(var D=L>1?1:0,N=B>1?1:0,z=D;zO.max.x||C.max.xO.max.y)){var I=f(V,G,r);I&&(v[c++]=I)}}}}}return v.length!==c&&(v.length=c),v},e.canCollide=function(s,r){return s.group===r.group&&s.group!==0?s.group>0:(s.mask&r.category)!==0&&(r.mask&s.category)!==0},e._compareBoundsX=function(s,r){return s.bounds.min.x-r.bounds.min.x}})()},4506:(h,d,t)=>{var e={};h.exports=e;var l=t(43424);(function(){e.create=function(i,s){var r=i.bodyA,o=i.bodyB,a={id:e.id(r,o),bodyA:r,bodyB:o,collision:i,contacts:[l.create(),l.create()],contactCount:0,separation:0,isActive:!0,isSensor:r.isSensor||o.isSensor,timeCreated:s,timeUpdated:s,inverseMass:0,friction:0,frictionStatic:0,restitution:0,slop:0};return e.update(a,i,s),a},e.update=function(i,s,r){var o=s.supports,a=s.supportCount,u=i.contacts,f=s.parentA,v=s.parentB;i.isActive=!0,i.timeUpdated=r,i.collision=s,i.separation=s.depth,i.inverseMass=f.inverseMass+v.inverseMass,i.friction=f.frictionv.frictionStatic?f.frictionStatic:v.frictionStatic,i.restitution=f.restitution>v.restitution?f.restitution:v.restitution,i.slop=f.slop>v.slop?f.slop:v.slop,i.contactCount=a,s.pair=i;var c=o[0],g=u[0],p=o[1],T=u[1];(T.vertex===c||g.vertex===p)&&(u[1]=g,u[0]=g=T,T=u[1]),g.vertex=c,T.vertex=p},e.setActive=function(i,s,r){s?(i.isActive=!0,i.timeUpdated=r):(i.isActive=!1,i.contactCount=0)},e.id=function(i,s){return i.id{var e={};h.exports=e;var l=t(4506),i=t(53402);(function(){e.create=function(s){return i.extend({table:{},list:[],collisionStart:[],collisionActive:[],collisionEnd:[]},s)},e.update=function(s,r,o){var a=l.update,u=l.create,f=l.setActive,v=s.table,c=s.list,g=c.length,p=g,T=s.collisionStart,C=s.collisionEnd,M=s.collisionActive,A=r.length,R=0,P=0,L=0,F,w,O;for(O=0;O=o?c[p++]=w:(f(w,!1,o),w.collision.bodyA.sleepCounter>0&&w.collision.bodyB.sleepCounter>0?c[p++]=w:(C[P++]=w,delete v[w.id]));c.length!==p&&(c.length=p),T.length!==R&&(T.length=R),C.length!==P&&(C.length=P),M.length!==L&&(M.length=L)},e.clear=function(s){return s.table={},s.list.length=0,s.collisionStart.length=0,s.collisionActive.length=0,s.collisionEnd.length=0,s}})()},73296:(h,d,t)=>{var e={};h.exports=e;var l=t(31725),i=t(52284),s=t(15647),r=t(66280),o=t(41598);(function(){e.collides=function(a,u){for(var f=[],v=u.length,c=a.bounds,g=i.collides,p=s.overlaps,T=0;T{var e={};h.exports=e;var l=t(41598),i=t(53402),s=t(15647);(function(){e._restingThresh=2,e._restingThreshTangent=Math.sqrt(6),e._positionDampen=.9,e._positionWarming=.8,e._frictionNormalMultiplier=5,e._frictionMaxStatic=Number.MAX_VALUE,e.preSolvePosition=function(r){var o,a,u,f=r.length;for(o=0;oct?(M=it>0?it:-it,C=P.friction*(it>0?1:-1)*f,C<-M?C=-M:C>M&&(C=M)):(C=it,M=p);var Bt=j*B-J*O,Lt=tt*B-k*O,zt=G/(N+F.inverseInertia*Bt*Bt+w.inverseInertia*Lt*Lt),Kt=(1+P.restitution)*nt*zt;if(C*=zt,nt0&&(Z.normalImpulse=0),Kt=Z.normalImpulse-fe}if(it<-c||it>c)Z.tangentImpulse=0;else{var pe=Z.tangentImpulse;Z.tangentImpulse+=C,Z.tangentImpulse<-M&&(Z.tangentImpulse=-M),Z.tangentImpulse>M&&(Z.tangentImpulse=M),C=Z.tangentImpulse-pe}var le=O*Kt+I*C,de=B*Kt+D*C;F.isStatic||F.isSleeping||(F.positionPrev.x+=le*F.inverseMass,F.positionPrev.y+=de*F.inverseMass,F.anglePrev+=(j*de-J*le)*F.inverseInertia),w.isStatic||w.isSleeping||(w.positionPrev.x-=le*w.inverseMass,w.positionPrev.y-=de*w.inverseMass,w.anglePrev-=(tt*de-k*le)*w.inverseInertia)}}}}})()},48140:(h,d,t)=>{var e={};h.exports=e;var l=t(41598),i=t(31725),s=t(53614),r=t(15647),o=t(66615),a=t(53402);(function(){e._warming=.4,e._torqueDampen=1,e._minLength=1e-6,e.create=function(u){var f=u;f.bodyA&&!f.pointA&&(f.pointA={x:0,y:0}),f.bodyB&&!f.pointB&&(f.pointB={x:0,y:0});var v=f.bodyA?i.add(f.bodyA.position,f.pointA):f.pointA,c=f.bodyB?i.add(f.bodyB.position,f.pointB):f.pointB,g=i.magnitude(i.sub(v,c));f.length=typeof f.length<"u"?f.length:g,f.id=f.id||a.nextId(),f.label=f.label||"Constraint",f.type="constraint",f.stiffness=f.stiffness||(f.length>0?1:.7),f.damping=f.damping||0,f.angularStiffness=f.angularStiffness||0,f.angleA=f.bodyA?f.bodyA.angle:f.angleA,f.angleB=f.bodyB?f.bodyB.angle:f.angleB,f.plugin={};var p={visible:!0,type:"line",anchors:!0,lineColor:null,lineOpacity:null,lineThickness:null,pinSize:null,anchorColor:null,anchorSize:null};return f.length===0&&f.stiffness>.1?(p.type="pin",p.anchors=!1):f.stiffness<.9&&(p.type="spring"),f.render=a.extend(p,f.render),f},e.preSolveAll=function(u){for(var f=0;f=1||u.length===0,L=P?u.stiffness*f:u.stiffness*f*f,F=u.damping*f,w=i.mult(M,R*L),O=(v?v.inverseMass:0)+(c?c.inverseMass:0),B=(v?v.inverseInertia:0)+(c?c.inverseInertia:0),I=O+B,D,N,z,V,U;if(F>0){var G=i.create();z=i.div(M,A),U=i.sub(c&&i.sub(c.position,c.positionPrev)||G,v&&i.sub(v.position,v.positionPrev)||G),V=i.dot(z,U)}v&&!v.isStatic&&(N=v.inverseMass/O,v.constraintImpulse.x-=w.x*N,v.constraintImpulse.y-=w.y*N,v.position.x-=w.x*N,v.position.y-=w.y*N,F>0&&(v.positionPrev.x-=F*z.x*V*N,v.positionPrev.y-=F*z.y*V*N),D=i.cross(g,w)/I*e._torqueDampen*v.inverseInertia*(1-u.angularStiffness),v.constraintImpulse.angle-=D,v.angle-=D),c&&!c.isStatic&&(N=c.inverseMass/O,c.constraintImpulse.x+=w.x*N,c.constraintImpulse.y+=w.y*N,c.position.x+=w.x*N,c.position.y+=w.y*N,F>0&&(c.positionPrev.x+=F*z.x*V*N,c.positionPrev.y+=F*z.y*V*N),D=i.cross(p,w)/I*e._torqueDampen*c.inverseInertia*(1-u.angularStiffness),c.constraintImpulse.angle+=D,c.angle+=D)}}},e.postSolveAll=function(u){for(var f=0;f0&&(p.position.x+=c.x,p.position.y+=c.y),c.angle!==0&&(l.rotate(p.vertices,c.angle,v.position),o.rotate(p.axes,c.angle),g>0&&i.rotateAbout(p.position,c.angle,v.position,p.position)),r.update(p.bounds,p.vertices,v.velocity)}c.angle*=e._warming,c.x*=e._warming,c.y*=e._warming}}},e.pointAWorld=function(u){return{x:(u.bodyA?u.bodyA.position.x:0)+(u.pointA?u.pointA.x:0),y:(u.bodyA?u.bodyA.position.y:0)+(u.pointA?u.pointA.y:0)}},e.pointBWorld=function(u){return{x:(u.bodyB?u.bodyB.position.x:0)+(u.pointB?u.pointB.x:0),y:(u.bodyB?u.bodyB.position.y:0)+(u.pointB?u.pointB.y:0)}},e.currentLength=function(u){var f=(u.bodyA?u.bodyA.position.x:0)+(u.pointA?u.pointA.x:0),v=(u.bodyA?u.bodyA.position.y:0)+(u.pointA?u.pointA.y:0),c=(u.bodyB?u.bodyB.position.x:0)+(u.pointB?u.pointB.x:0),g=(u.bodyB?u.bodyB.position.y:0)+(u.pointB?u.pointB.y:0),p=f-c,T=v-g;return Math.sqrt(p*p+T*T)}})()},53402:(h,d,t)=>{var e={};h.exports=e,function(){e._baseDelta=16.666666666666668,e._nextId=0,e._seed=0,e._nowStartTime=+new Date,e._warnedOnce={},e._decomp=null,e.extend=function(i,s){var r,o;typeof s=="boolean"?(r=2,o=s):(r=1,o=!0);for(var a=r;a0;s--){var r=Math.floor(e.random()*(s+1)),o=i[s];i[s]=i[r],i[r]=o}return i},e.choose=function(i){return i[Math.floor(e.random()*i.length)]},e.isElement=function(i){return typeof HTMLElement<"u"?i instanceof HTMLElement:!!(i&&i.nodeType&&i.nodeName)},e.isArray=function(i){return Object.prototype.toString.call(i)==="[object Array]"},e.isFunction=function(i){return typeof i=="function"},e.isPlainObject=function(i){return typeof i=="object"&&i.constructor===Object},e.isString=function(i){return toString.call(i)==="[object String]"},e.clamp=function(i,s,r){return ir?r:i},e.sign=function(i){return i<0?-1:1},e.now=function(){if(typeof window<"u"&&window.performance){if(window.performance.now)return window.performance.now();if(window.performance.webkitNow)return window.performance.webkitNow()}return Date.now?Date.now():new Date-e._nowStartTime},e.random=function(i,s){return i=typeof i<"u"?i:0,s=typeof s<"u"?s:1,i+l()*(s-i)};var l=function(){return e._seed=(e._seed*9301+49297)%233280,e._seed/233280};e.colorToNumber=function(i){return i=i.replace("#",""),i.length==3&&(i=i.charAt(0)+i.charAt(0)+i.charAt(1)+i.charAt(1)+i.charAt(2)+i.charAt(2)),parseInt(i,16)},e.logLevel=1,e.log=function(){console&&e.logLevel>0&&e.logLevel<=3&&console.log.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},e.info=function(){console&&e.logLevel>0&&e.logLevel<=2&&console.info.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},e.warn=function(){console&&e.logLevel>0&&e.logLevel<=3&&console.warn.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},e.warnOnce=function(){var i=Array.prototype.slice.call(arguments).join(" ");e._warnedOnce[i]||(e.warn(i),e._warnedOnce[i]=!0)},e.deprecated=function(i,s,r){i[s]=e.chain(function(){e.warnOnce("🔅 deprecated 🔅",r)},i[s])},e.nextId=function(){return e._nextId++},e.indexOf=function(i,s){if(i.indexOf)return i.indexOf(s);for(var r=0;r{var e={};h.exports=e;var l=t(53614),i=t(66272),s=t(81388),r=t(99561),o=t(35810),a=t(69351),u=t(48140),f=t(53402),v=t(22562);(function(){e._deltaMax=16.666666666666668,e.create=function(c){c=c||{};var g={positionIterations:6,velocityIterations:4,constraintIterations:2,enableSleeping:!1,events:[],plugin:{},gravity:{x:0,y:1,scale:.001},timing:{timestamp:0,timeScale:1,lastDelta:0,lastElapsed:0,lastUpdatesPerFrame:0}},p=f.extend(g,c);return p.world=c.world||a.create({label:"World"}),p.pairs=c.pairs||r.create(),p.detector=c.detector||s.create(),p.detector.pairs=p.pairs,p.grid={buckets:[]},p.world.gravity=p.gravity,p.broadphase=p.grid,p.metrics={},p},e.update=function(c,g){var p=f.now(),T=c.world,C=c.detector,M=c.pairs,A=c.timing,R=A.timestamp,P;g>e._deltaMax&&f.warnOnce("Matter.Engine.update: delta argument is recommended to be less than or equal to",e._deltaMax.toFixed(3),"ms."),g=typeof g<"u"?g:f._baseDelta,g*=A.timeScale,A.timestamp+=g,A.lastDelta=g;var L={timestamp:A.timestamp,delta:g};o.trigger(c,"beforeUpdate",L);var F=a.allBodies(T),w=a.allConstraints(T),O=a.allComposites(T);for(T.isModified&&(s.setBodies(C,F),a.setModified(T,!1,!1,!0)),c.enableSleeping&&l.update(F,g),e._bodiesApplyGravity(F,c.gravity),e.wrap(F,O),e.attractors(F),g>0&&e._bodiesUpdate(F,g),o.trigger(c,"beforeSolve",L),u.preSolveAll(F),P=0;P0&&o.trigger(c,"collisionStart",{pairs:M.collisionStart,timestamp:A.timestamp,delta:g});var I=f.clamp(20/c.positionIterations,0,1);for(i.preSolvePosition(M.list),P=0;P0&&o.trigger(c,"collisionActive",{pairs:M.collisionActive,timestamp:A.timestamp,delta:g}),M.collisionEnd.length>0&&o.trigger(c,"collisionEnd",{pairs:M.collisionEnd,timestamp:A.timestamp,delta:g}),e._bodiesClearForces(F),o.trigger(c,"afterUpdate",L),c.timing.lastElapsed=f.now()-p,c},e.merge=function(c,g){if(f.extend(c,g),g.world){c.world=g.world,e.clear(c);for(var p=a.allBodies(c.world),T=0;T0)for(var C=0;C{var e={};h.exports=e;var l=t(53402);(function(){e.on=function(i,s,r){for(var o=s.split(" "),a,u=0;u0){r||(r={}),o=s.split(" ");for(var c=0;c{var e={};h.exports=e;var l=t(73832),i=t(53402);(function(){e.name="matter-js",e.version="0.20.0",e.uses=[],e.used=[],e.use=function(){l.use(e,Array.prototype.slice.call(arguments))},e.before=function(s,r){return s=s.replace(/^Matter./,""),i.chainPathBefore(e,s,r)},e.after=function(s,r){return s=s.replace(/^Matter./,""),i.chainPathAfter(e,s,r)}})()},73832:(h,d,t)=>{var e={};h.exports=e;var l=t(53402);(function(){e._registry={},e.register=function(i){if(e.isPlugin(i)||l.warn("Plugin.register:",e.toString(i),"does not implement all required fields."),i.name in e._registry){var s=e._registry[i.name],r=e.versionParse(i.version).number,o=e.versionParse(s.version).number;r>o?(l.warn("Plugin.register:",e.toString(s),"was upgraded to",e.toString(i)),e._registry[i.name]=i):r-1},e.isFor=function(i,s){var r=i.for&&e.dependencyParse(i.for);return!i.for||s.name===r.name&&e.versionSatisfies(s.version,r.range)},e.use=function(i,s){if(i.uses=(i.uses||[]).concat(s||[]),i.uses.length===0){l.warn("Plugin.use:",e.toString(i),"does not specify any dependencies to install.");return}for(var r=e.dependencies(i),o=l.topologicalSort(r),a=[],u=0;u0&&!f.silent&&l.info(a.join(" "))},e.dependencies=function(i,s){var r=e.dependencyParse(i),o=r.name;if(s=s||{},!(o in s)){i=e.resolve(i)||i,s[o]=l.map(i.uses||[],function(u){e.isPlugin(u)&&e.register(u);var f=e.dependencyParse(u),v=e.resolve(u);return v&&!e.versionSatisfies(v.version,f.range)?(l.warn("Plugin.dependencies:",e.toString(v),"does not satisfy",e.toString(f),"used by",e.toString(r)+"."),v._warned=!0,i._warned=!0):v||(l.warn("Plugin.dependencies:",e.toString(u),"used by",e.toString(r),"could not be resolved."),i._warned=!0),f.name});for(var a=0;a=|>)?\s*((\d+)\.(\d+)\.(\d+))(-[0-9A-Za-z-+]+)?$/;s.test(i)||l.warn("Plugin.versionParse:",i,"is not a valid version or range.");var r=s.exec(i),o=Number(r[4]),a=Number(r[5]),u=Number(r[6]);return{isRange:!!(r[1]||r[2]),version:r[3],range:i,operator:r[1]||r[2]||"",major:o,minor:a,patch:u,parts:[o,a,u],prerelease:r[7],number:o*1e8+a*1e4+u}},e.versionSatisfies=function(i,s){s=s||"*";var r=e.versionParse(s),o=e.versionParse(i);if(r.isRange){if(r.operator==="*"||i==="*")return!0;if(r.operator===">")return o.number>r.number;if(r.operator===">=")return o.number>=r.number;if(r.operator==="~")return o.major===r.major&&o.minor===r.minor&&o.patch>=r.patch;if(r.operator==="^")return r.major>0?o.major===r.major&&o.number>=r.number:r.minor>0?o.minor===r.minor&&o.patch>=r.patch:o.patch===r.patch}return i===s||i==="*"}})()},13037:(h,d,t)=>{var e={};h.exports=e;var l=t(35810),i=t(48413),s=t(53402);(function(){e._maxFrameDelta=66.66666666666667,e._frameDeltaFallback=16.666666666666668,e._timeBufferMargin=1.5,e._elapsedNextEstimate=1,e._smoothingLowerBound=.1,e._smoothingUpperBound=.9,e.create=function(o){var a={delta:16.666666666666668,frameDelta:null,frameDeltaSmoothing:!0,frameDeltaSnapping:!0,frameDeltaHistory:[],frameDeltaHistorySize:100,frameRequestId:null,timeBuffer:0,timeLastTick:null,maxUpdates:null,maxFrameTime:33.333333333333336,lastUpdatesDeferred:0,enabled:!0},u=s.extend(a,o);return u.fps=0,u},e.run=function(o,a){return o.timeBuffer=e._frameDeltaFallback,function u(f){o.frameRequestId=e._onNextFrame(o,u),f&&o.enabled&&e.tick(o,a,f)}(),o},e.tick=function(o,a,u){var f=s.now(),v=o.delta,c=0,g=u-o.timeLastTick;if((!g||!o.timeLastTick||g>Math.max(e._maxFrameDelta,o.maxFrameTime))&&(g=o.frameDelta||e._frameDeltaFallback),o.frameDeltaSmoothing){o.frameDeltaHistory.push(g),o.frameDeltaHistory=o.frameDeltaHistory.slice(-o.frameDeltaHistorySize);var p=o.frameDeltaHistory.slice(0).sort(),T=o.frameDeltaHistory.slice(p.length*e._smoothingLowerBound,p.length*e._smoothingUpperBound),C=r(T);g=C||g}o.frameDeltaSnapping&&(g=1e3/Math.round(1e3/g)),o.frameDelta=g,o.timeLastTick=u,o.timeBuffer+=o.frameDelta,o.timeBuffer=s.clamp(o.timeBuffer,0,o.frameDelta+v*e._timeBufferMargin),o.lastUpdatesDeferred=0;var M=o.maxUpdates||Math.ceil(o.maxFrameTime/v),A={timestamp:a.timing.timestamp};l.trigger(o,"beforeTick",A),l.trigger(o,"tick",A);for(var R=s.now();v>0&&o.timeBuffer>=v*e._timeBufferMargin;){l.trigger(o,"beforeUpdate",A),i.update(a,v),l.trigger(o,"afterUpdate",A),o.timeBuffer-=v,c+=1;var P=s.now()-f,L=s.now()-R,F=P+e._elapsedNextEstimate*L/c;if(c>=M||F>o.maxFrameTime){o.lastUpdatesDeferred=Math.round(Math.max(0,o.timeBuffer/v-e._timeBufferMargin));break}}a.timing.lastUpdatesPerFrame=c,l.trigger(o,"afterTick",A),o.frameDeltaHistory.length>=100&&(o.lastUpdatesDeferred&&Math.round(o.frameDelta/v)>M?s.warnOnce("Matter.Runner: runner reached runner.maxUpdates, see docs."):o.lastUpdatesDeferred&&s.warnOnce("Matter.Runner: runner reached runner.maxFrameTime, see docs."),typeof o.isFixed<"u"&&s.warnOnce("Matter.Runner: runner.isFixed is now redundant, see docs."),(o.deltaMin||o.deltaMax)&&s.warnOnce("Matter.Runner: runner.deltaMin and runner.deltaMax were removed, see docs."),o.fps!==0&&s.warnOnce("Matter.Runner: runner.fps was replaced by runner.delta, see docs."))},e.stop=function(o){e._cancelNextFrame(o)},e._onNextFrame=function(o,a){if(typeof window<"u"&&window.requestAnimationFrame)o.frameRequestId=window.requestAnimationFrame(a);else throw new Error("Matter.Runner: missing required global window.requestAnimationFrame.");return o.frameRequestId},e._cancelNextFrame=function(o){if(typeof window<"u"&&window.cancelAnimationFrame)window.cancelAnimationFrame(o.frameRequestId);else throw new Error("Matter.Runner: missing required global window.cancelAnimationFrame.")};var r=function(o){for(var a=0,u=o.length,f=0;f{var e={};h.exports=e;var l=t(22562),i=t(35810),s=t(53402);(function(){e._motionWakeThreshold=.18,e._motionSleepThreshold=.08,e._minBias=.9,e.update=function(r,o){for(var a=o/s._baseDelta,u=e._motionSleepThreshold,f=0;f0&&v.motion=v.sleepThreshold/a&&e.set(v,!0)):v.sleepCounter>0&&(v.sleepCounter-=1)}},e.afterCollisions=function(r){for(var o=e._motionSleepThreshold,a=0;ao&&e.set(g,!1)}}}},e.set=function(r,o){var a=r.isSleeping;o?(r.isSleeping=!0,r.sleepCounter=r.sleepThreshold,r.positionImpulse.x=0,r.positionImpulse.y=0,r.positionPrev.x=r.position.x,r.positionPrev.y=r.position.y,r.anglePrev=r.angle,r.speed=0,r.angularSpeed=0,r.motion=0,a||i.trigger(r,"sleepStart")):(r.isSleeping=!1,r.sleepCounter=0,a&&i.trigger(r,"sleepEnd"))}})()},66280:(h,d,t)=>{var e={};h.exports=e;var l=t(41598),i=t(53402),s=t(22562),r=t(15647),o=t(31725);(function(){e.rectangle=function(a,u,f,v,c){c=c||{};var g={label:"Rectangle Body",position:{x:a,y:u},vertices:l.fromPath("L 0 0 L "+f+" 0 L "+f+" "+v+" L 0 "+v)};if(c.chamfer){var p=c.chamfer;g.vertices=l.chamfer(g.vertices,p.radius,p.quality,p.qualityMin,p.qualityMax),delete c.chamfer}return s.create(i.extend({},g,c))},e.trapezoid=function(a,u,f,v,c,g){g=g||{},c>=1&&i.warn("Bodies.trapezoid: slope parameter must be < 1."),c*=.5;var p=(1-c*2)*f,T=f*c,C=T+p,M=C+T,A;c<.5?A="L 0 0 L "+T+" "+-v+" L "+C+" "+-v+" L "+M+" 0":A="L 0 0 L "+C+" "+-v+" L "+M+" 0";var R={label:"Trapezoid Body",position:{x:a,y:u},vertices:l.fromPath(A)};if(g.chamfer){var P=g.chamfer;R.vertices=l.chamfer(R.vertices,P.radius,P.quality,P.qualityMin,P.qualityMax),delete g.chamfer}return s.create(i.extend({},R,g))},e.circle=function(a,u,f,v,c){v=v||{};var g={label:"Circle Body",circleRadius:f};c=c||25;var p=Math.ceil(Math.max(10,Math.min(c,f)));return p%2===1&&(p+=1),e.polygon(a,u,p,f,i.extend({},g,v))},e.polygon=function(a,u,f,v,c){if(c=c||{},f<3)return e.circle(a,u,v,c);for(var g=2*Math.PI/f,p="",T=g*.5,C=0;C0&&l.area(U)1?(A=s.create(i.extend({parts:R.slice(0)},v)),s.setPosition(A,{x:a,y:u}),A):R[0]},e.flagCoincidentParts=function(a,u){u===void 0&&(u=5);for(var f=0;f{var e={};h.exports=e;var l=t(69351),i=t(48140),s=t(53402),r=t(22562),o=t(66280);(function(){e.stack=function(a,u,f,v,c,g,p){for(var T=l.create({label:"Stack"}),C=a,M=u,A,R=0,P=0;PL&&(L=O),r.translate(w,{x:B*.5,y:O*.5}),C=w.bounds.max.x+c,l.addBody(T,w),A=w,R+=1}else C+=c}M+=L+g,C=a}return T},e.chain=function(a,u,f,v,c,g){for(var p=a.bodies,T=1;T0)for(T=0;T0&&(A=g[T-1+(p-1)*u],l.addConstraint(a,i.create(s.extend({bodyA:A,bodyB:M},c)))),v&&TL)){A=L-A;var w=A,O=f-1-A;if(!(MO)){P===1&&r.translate(R,{x:(M+(f%2===1?1:-1))*F,y:0});var B=R?M*F:0;return p(a+B+M*c,C,M,A,R,P)}}})},e.newtonsCradle=function(a,u,f,v,c){for(var g=l.create({label:"Newtons Cradle"}),p=0;p{var e={};h.exports=e;var l=t(31725),i=t(53402);(function(){e.fromVertices=function(s){for(var r={},o=0;o{var d={};h.exports=d,function(){d.create=function(t){var e={min:{x:0,y:0},max:{x:0,y:0}};return t&&d.update(e,t),e},d.update=function(t,e,l){t.min.x=1/0,t.max.x=-1/0,t.min.y=1/0,t.max.y=-1/0;for(var i=0;it.max.x&&(t.max.x=s.x),s.xt.max.y&&(t.max.y=s.y),s.y0?t.max.x+=l.x:t.min.x+=l.x,l.y>0?t.max.y+=l.y:t.min.y+=l.y)},d.contains=function(t,e){return e.x>=t.min.x&&e.x<=t.max.x&&e.y>=t.min.y&&e.y<=t.max.y},d.overlaps=function(t,e){return t.min.x<=e.max.x&&t.max.x>=e.min.x&&t.max.y>=e.min.y&&t.min.y<=e.max.y},d.translate=function(t,e){t.min.x+=e.x,t.max.x+=e.x,t.min.y+=e.y,t.max.y+=e.y},d.shift=function(t,e){var l=t.max.x-t.min.x,i=t.max.y-t.min.y;t.min.x=e.x,t.max.x=e.x+l,t.min.y=e.y,t.max.y=e.y+i},d.wrap=function(t,e,l){var i=null,s=null;if(typeof e.min.x<"u"&&typeof e.max.x<"u"&&(t.min.x>e.max.x?i=e.min.x-t.max.x:t.max.xe.max.y?s=e.min.y-t.max.y:t.max.y{var e={};h.exports=e,t(15647);var l=t(53402);(function(){e.pathToVertices=function(i,s){typeof window<"u"&&!("SVGPathSeg"in window)&&l.warn("Svg.pathToVertices: SVGPathSeg not defined, a polyfill is required.");var r,o,a,u,f,v,c,g,p,T,C=[],M,A,R=0,P=0,L=0;s=s||15;var F=function(O,B,I){var D=I%2===1&&I>1;if(!p||O!=p.x||B!=p.y){p&&D?(M=p.x,A=p.y):(M=0,A=0);var N={x:M+O,y:A+B};(D||!p)&&(p=N),C.push(N),P=M+O,L=A+B}},w=function(O){var B=O.pathSegTypeAsLetter.toUpperCase();if(B!=="Z"){switch(B){case"M":case"L":case"T":case"C":case"S":case"Q":P=O.x,L=O.y;break;case"H":P=O.x;break;case"V":L=O.y;break}F(P,L,O.pathSegType)}};for(e._svgPathToAbsolute(i),a=i.getTotalLength(),v=[],r=0;r{var d={};h.exports=d,function(){d.create=function(t,e){return{x:t||0,y:e||0}},d.clone=function(t){return{x:t.x,y:t.y}},d.magnitude=function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},d.magnitudeSquared=function(t){return t.x*t.x+t.y*t.y},d.rotate=function(t,e,l){var i=Math.cos(e),s=Math.sin(e);l||(l={});var r=t.x*i-t.y*s;return l.y=t.x*s+t.y*i,l.x=r,l},d.rotateAbout=function(t,e,l,i){var s=Math.cos(e),r=Math.sin(e);i||(i={});var o=l.x+((t.x-l.x)*s-(t.y-l.y)*r);return i.y=l.y+((t.x-l.x)*r+(t.y-l.y)*s),i.x=o,i},d.normalise=function(t){var e=d.magnitude(t);return e===0?{x:0,y:0}:{x:t.x/e,y:t.y/e}},d.dot=function(t,e){return t.x*e.x+t.y*e.y},d.cross=function(t,e){return t.x*e.y-t.y*e.x},d.cross3=function(t,e,l){return(e.x-t.x)*(l.y-t.y)-(e.y-t.y)*(l.x-t.x)},d.add=function(t,e,l){return l||(l={}),l.x=t.x+e.x,l.y=t.y+e.y,l},d.sub=function(t,e,l){return l||(l={}),l.x=t.x-e.x,l.y=t.y-e.y,l},d.mult=function(t,e){return{x:t.x*e,y:t.y*e}},d.div=function(t,e){return{x:t.x/e,y:t.y/e}},d.perp=function(t,e){return e=e===!0?-1:1,{x:e*-t.y,y:e*t.x}},d.neg=function(t){return{x:-t.x,y:-t.y}},d.angle=function(t,e){return Math.atan2(e.y-t.y,e.x-t.x)},d._temp=[d.create(),d.create(),d.create(),d.create(),d.create(),d.create()]}()},41598:(h,d,t)=>{var e={};h.exports=e;var l=t(31725),i=t(53402);(function(){e.create=function(s,r){for(var o=[],a=0;a0)return!1;f=v}return!0},e.scale=function(s,r,o,a){if(r===1&&o===1)return s;a=a||e.centre(s);for(var u,f,v=0;v=0?v-1:s.length-1],g=s[v],p=s[(v+1)%s.length],T=r[v0&&(r|=2),r===3)return!1;return r!==0?!0:null},e.hull=function(s){var r=[],o=[],a,u;for(s=s.slice(0),s.sort(function(f,v){var c=f.x-v.x;return c!==0?c:f.y-v.y}),u=0;u=2&&l.cross3(o[o.length-2],o[o.length-1],a)<=0;)o.pop();o.push(a)}for(u=s.length-1;u>=0;u-=1){for(a=s[u];r.length>=2&&l.cross3(r[r.length-2],r[r.length-1],a)<=0;)r.pop();r.push(a)}return r.pop(),o.pop(),r.concat(o)}})()},55973:h=>{/** + * @author Stefan Hedman (http://steffe.se) + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={decomp:w,quickDecomp:D,isSimple:B,removeCollinearPoints:N,removeDuplicatePoints:z,makeCCW:p};function d(G,b,Y){Y=Y||0;var W=[0,0],H,X,K,Z,Q,j,J;return H=G[1][1]-G[0][1],X=G[0][0]-G[1][0],K=H*G[0][0]+X*G[0][1],Z=b[1][1]-b[0][1],Q=b[0][0]-b[1][0],j=Z*b[0][0]+Q*b[0][1],J=H*Q-Z*X,V(J,0,Y)||(W[0]=(Q*K-X*j)/J,W[1]=(H*j-Z*K)/J),W}function t(G,b,Y,W){var H=b[0]-G[0],X=b[1]-G[1],K=W[0]-Y[0],Z=W[1]-Y[1];if(K*X-Z*H===0)return!1;var Q=(H*(Y[1]-G[1])+X*(G[0]-Y[0]))/(K*X-Z*H),j=(K*(G[1]-Y[1])+Z*(Y[0]-G[0]))/(Z*H-K*X);return Q>=0&&Q<=1&&j>=0&&j<=1}function e(G,b,Y){return(b[0]-G[0])*(Y[1]-G[1])-(Y[0]-G[0])*(b[1]-G[1])}function l(G,b,Y){return e(G,b,Y)>0}function i(G,b,Y){return e(G,b,Y)>=0}function s(G,b,Y){return e(G,b,Y)<0}function r(G,b,Y){return e(G,b,Y)<=0}var o=[],a=[];function u(G,b,Y,W){if(W){var H=o,X=a;H[0]=b[0]-G[0],H[1]=b[1]-G[1],X[0]=Y[0]-b[0],X[1]=Y[1]-b[1];var K=H[0]*X[0]+H[1]*X[1],Z=Math.sqrt(H[0]*H[0]+H[1]*H[1]),Q=Math.sqrt(X[0]*X[0]+X[1]*X[1]),j=Math.acos(K/(Z*Q));return jY[b][0])&&(b=W);return l(v(G,b-1),v(G,b),v(G,b+1))?!1:(T(G),!0)}function T(G){for(var b=[],Y=G.length,W=0;W!==Y;W++)b.push(G.pop());for(var W=0;W!==Y;W++)G[W]=b[W]}function C(G,b){return s(v(G,b-1),v(G,b),v(G,b+1))}var M=[],A=[];function R(G,b,Y){var W,H,X=M,K=A;if(i(v(G,b+1),v(G,b),v(G,Y))&&r(v(G,b-1),v(G,b),v(G,Y)))return!1;H=f(v(G,b),v(G,Y));for(var Z=0;Z!==G.length;++Z)if(!((Z+1)%G.length===b||Z===b)&&i(v(G,b),v(G,Y),v(G,Z+1))&&r(v(G,b),v(G,Y),v(G,Z))&&(X[0]=v(G,b),X[1]=v(G,Y),K[0]=v(G,Z),K[1]=v(G,Z+1),W=d(X,K),f(v(G,b),W)0?O(G,b):[G]}function O(G,b){if(b.length===0)return[G];if(b instanceof Array&&b.length&&b[0]instanceof Array&&b[0].length===2&&b[0][0]instanceof Array){for(var Y=[G],W=0;WX)return console.warn("quickDecomp: max level ("+X+") reached."),b;for(var lt=0;lt_&&(_+=G.length),q=Number.MAX_VALUE,_3&&W>=0;--W)u(v(G,W-1),v(G,W),v(G,W+1),b)&&(G.splice(W%G.length,1),Y++);return Y}function z(G,b){for(var Y=G.length-1;Y>=1;--Y)for(var W=G[Y],H=Y-1;H>=0;--H)if(U(W,G[H],b)){G.splice(Y,1);continue}}function V(G,b,Y){return Y=Y||0,Math.abs(G-b)<=Y}function U(G,b,Y){return V(G[0],b[0],Y)&&V(G[1],b[1],Y)}},52018:(h,d,t)=>{/** +* @author Richard Davey +* @copyright 2013-2026 Phaser Studio Inc. +* @license {@link https://github.com/photonstorm/phaser3-plugin-template/blob/master/LICENSE|MIT License} +*/var e=t(83419),l=new e({initialize:function(s){this.pluginManager=s,this.game=s.game},init:function(){},start:function(){},stop:function(){},destroy:function(){this.pluginManager=null,this.game=null,this.scene=null,this.systems=null}});h.exports=l},42363:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={Global:["game","anims","cache","plugins","registry","scale","sound","textures","renderer"],CoreScene:["EventEmitter","CameraManager","GameObjectCreator","GameObjectFactory","ScenePlugin","DisplayList","UpdateList"],DefaultScene:["Clock","DataManagerPlugin","InputPlugin","Loader","TweenManager","LightsPlugin"]};d.DefaultScene.push("CameraManager3D"),d.Global.push("facebook"),h.exports=d},37277:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={},t={},e={};e.register=function(l,i,s,r){r===void 0&&(r=!1),d[l]={plugin:i,mapping:s,custom:r}},e.registerCustom=function(l,i,s,r){t[l]={plugin:i,mapping:s,data:r}},e.hasCore=function(l){return d.hasOwnProperty(l)},e.hasCustom=function(l){return t.hasOwnProperty(l)},e.getCore=function(l){return d[l]},e.getCustom=function(l){return t[l]},e.getCustomClass=function(l){return t.hasOwnProperty(l)?t[l].plugin:null},e.remove=function(l){d.hasOwnProperty(l)&&delete d[l]},e.removeCustom=function(l){t.hasOwnProperty(l)&&delete t[l]},e.destroyCorePlugins=function(){for(var l in d)d.hasOwnProperty(l)&&delete d[l]},e.destroyCustomPlugins=function(){for(var l in t)t.hasOwnProperty(l)&&delete t[l]},h.exports=e},77332:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(8443),i=t(50792),s=t(74099),r=t(44603),o=t(39429),a=t(95540),u=t(37277),f=t(72905),v=t(8054),c=new e({Extends:i,initialize:function(p){i.call(this),this.game=p,this.plugins=[],this.scenePlugins=[],this._pendingGlobal=[],this._pendingScene=[],p.isBooted||p.config.renderType===v.HEADLESS?this.boot():p.events.once(l.BOOT,this.boot,this)},boot:function(){var g,p,T,C,M,A,R,P=this.game.config,L=P.installGlobalPlugins;for(L=L.concat(this._pendingGlobal),g=0;g{/** +* @author Richard Davey +* @copyright 2013-2026 Phaser Studio Inc. +* @license {@link https://github.com/photonstorm/phaser3-plugin-template/blob/master/LICENSE|MIT License} +*/var e=t(52018),l=t(83419),i=t(44594),s=new l({Extends:e,initialize:function(o,a,u){e.call(this,a),this.scene=o,this.systems=o.sys,this.pluginKey=u,o.sys.events.once(i.BOOT,this.boot,this)},boot:function(){},destroy:function(){this.pluginManager=null,this.game=null,this.scene=null,this.systems=null}});h.exports=s},18922:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={BasePlugin:t(52018),DefaultPlugins:t(42363),PluginCache:t(37277),PluginManager:t(77332),ScenePlugin:t(45145)}},63595:()=>{typeof HTMLVideoElement<"u"&&!("requestVideoFrameCallback"in HTMLVideoElement.prototype)&&"getVideoPlaybackQuality"in HTMLVideoElement.prototype&&(HTMLVideoElement.prototype._rvfcpolyfillmap={},HTMLVideoElement.prototype.requestVideoFrameCallback=function(h){const d=performance.now(),t=this.getVideoPlaybackQuality(),e=this.mozPresentedFrames||this.mozPaintedFrames||t.totalVideoFrames-t.droppedVideoFrames,l=(i,s)=>{const r=this.getVideoPlaybackQuality(),o=this.mozPresentedFrames||this.mozPaintedFrames||r.totalVideoFrames-r.droppedVideoFrames;if(o>e){const a=this.mozFrameDelay||r.totalFrameDelay-t.totalFrameDelay||0,u=s-i;h(s,{presentationTime:s+a*1e3,expectedDisplayTime:s+u,width:this.videoWidth,height:this.videoHeight,mediaTime:Math.max(0,this.currentTime||0)+u/1e3,presentedFrames:o,processingDuration:a}),delete this._rvfcpolyfillmap[d]}else this._rvfcpolyfillmap[d]=requestAnimationFrame(a=>l(s,a))};return this._rvfcpolyfillmap[d]=requestAnimationFrame(i=>l(d,i)),d},HTMLVideoElement.prototype.cancelVideoFrameCallback=function(h){cancelAnimationFrame(this._rvfcpolyfillmap[h]),delete this._rvfcpolyfillmap[h]})},10312:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={SKIP_CHECK:-1,NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16,ERASE:17,SOURCE_IN:18,SOURCE_OUT:19,SOURCE_ATOP:20,DESTINATION_OVER:21,DESTINATION_IN:22,DESTINATION_OUT:23,DESTINATION_ATOP:24,LIGHTER:25,COPY:26,XOR:27}},29795:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={DEFAULT:0,LINEAR:0,NEAREST:1};h.exports=d},68627:(h,d,t)=>{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(19715),l=t(32880),i=t(83419),s=t(8054),r=t(50792),o=t(92503),a=t(56373),u=t(97480),f=t(69442),v=t(8443),c=t(61340),g=new i({Extends:r,initialize:function(T){r.call(this);var C=T.config;this.config={clearBeforeRender:C.clearBeforeRender,backgroundColor:C.backgroundColor,antialias:C.antialias,roundPixels:C.roundPixels,transparent:C.transparent},this.game=T,this.type=s.CANVAS,this.drawCount=0,this.width=0,this.height=0,this.gameCanvas=T.canvas;var M={alpha:C.transparent,desynchronized:C.desynchronized,willReadFrequently:!1};this.gameContext=C.context?C.context:this.gameCanvas.getContext("2d",M),this.currentContext=this.gameContext,this.antialias=C.antialias,this.blendModes=a(),this.snapshotState={x:0,y:0,width:1,height:1,getPixel:!1,callback:null,type:"image/png",encoder:.92},this._tempMatrix1=new c,this._tempMatrix2=new c,this._tempMatrix3=new c,this.isBooted=!1,this.init()},init:function(){var p=this.game;p.events.once(v.BOOT,function(){var T=this.config;if(!T.transparent){var C=this.gameContext,M=this.gameCanvas;C.fillStyle=T.backgroundColor.rgba,C.fillRect(0,0,M.width,M.height)}},this),p.textures.once(f.READY,this.boot,this)},boot:function(){var p=this.game,T=p.scale.baseSize;this.width=T.width,this.height=T.height,this.isBooted=!0,p.scale.on(u.RESIZE,this.onResize,this),this.resize(T.width,T.height)},onResize:function(p,T){(T.width!==this.width||T.height!==this.height)&&this.resize(T.width,T.height)},resize:function(p,T){this.width=p,this.height=T,this.emit(o.RESIZE,p,T)},resetTransform:function(){this.currentContext.setTransform(1,0,0,1,0,0)},setBlendMode:function(p){return this.currentContext.globalCompositeOperation=p,this},setContext:function(p){return this.currentContext=p||this.gameContext,this},setAlpha:function(p){return this.currentContext.globalAlpha=p,this},preRender:function(){var p=this.gameContext,T=this.config,C=this.width,M=this.height;p.globalAlpha=1,p.globalCompositeOperation="source-over",p.setTransform(1,0,0,1,0,0),this.emit(o.PRE_RENDER_CLEAR),T.clearBeforeRender&&(p.clearRect(0,0,C,M),T.transparent||(p.fillStyle=T.backgroundColor.rgba,p.fillRect(0,0,C,M))),p.save(),this.drawCount=0,this.emit(o.PRE_RENDER)},render:function(p,T,C){var M=T.length;this.emit(o.RENDER,p,C);var A=C.x,R=C.y,P=C.width,L=C.height,F=C.renderToTexture?C.context:p.sys.context;F.save(),this.game.scene.customViewports&&(F.beginPath(),F.rect(A,R,P,L),F.clip()),C.emit(e.PRE_RENDER,C),this.currentContext=F;var w=C.mask;w&&w.preRenderCanvas(this,null,C._maskCamera),C.transparent||(F.fillStyle=C.backgroundColor.rgba,F.fillRect(A,R,P,L)),F.globalAlpha=C.alpha,F.globalCompositeOperation="source-over",this.drawCount+=M,C.renderToTexture&&C.emit(e.PRE_RENDER,C),C.matrix.copyToContext(F);for(var O=0;O=0?U=-(U+B):U<0&&(U=Math.abs(U)-B)),p.flipY&&(G>=0?G=-(G+I):G<0&&(G=Math.abs(G)-I))}var Y=1,W=1;p.flipX&&(D||(U+=-T.realWidth+z*2),Y=-1),p.flipY&&(D||(G+=-T.realHeight+V*2),W=-1);var H=p.x,X=p.y;if(C.roundPixels&&(H=Math.floor(H),X=Math.floor(X)),L.applyITRS(H,X,p.rotation,p.scaleX*Y,p.scaleY*W),P.copyWithScrollFactorFrom(C.matrixCombined,C.scrollX,C.scrollY,p.scrollFactorX,p.scrollFactorY),M&&P.multiply(M),P.multiply(L),C.renderRoundPixels&&(P.e=Math.floor(P.e+.5),P.f=Math.floor(P.f+.5)),R.save(),P.setToContext(R),R.globalCompositeOperation=this.blendModes[p.blendMode],R.globalAlpha=A,R.imageSmoothingEnabled=!T.source.scaleMode,p.mask&&p.mask.preRenderCanvas(this,p,C),B>0&&I>0){var K=B/N,Z=I/N;C.roundPixels&&(U=Math.floor(U+.5),G=Math.floor(G+.5),K+=.5,Z+=.5),R.drawImage(T.source.image,w,O,B,I,U,G,K,Z)}p.mask&&p.mask.postRenderCanvas(this,p,C),R.restore()}},destroy:function(){this.removeAllListeners(),this.game=null,this.gameCanvas=null,this.gameContext=null}});h.exports=g},55830:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={CanvasRenderer:t(68627),GetBlendModes:t(56373),SetTransform:t(20926)}},56373:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(10312),l=t(89289),i=function(){var s=[],r=l.supportNewBlendModes,o="source-over";return s[e.NORMAL]=o,s[e.ADD]="lighter",s[e.MULTIPLY]=r?"multiply":o,s[e.SCREEN]=r?"screen":o,s[e.OVERLAY]=r?"overlay":o,s[e.DARKEN]=r?"darken":o,s[e.LIGHTEN]=r?"lighten":o,s[e.COLOR_DODGE]=r?"color-dodge":o,s[e.COLOR_BURN]=r?"color-burn":o,s[e.HARD_LIGHT]=r?"hard-light":o,s[e.SOFT_LIGHT]=r?"soft-light":o,s[e.DIFFERENCE]=r?"difference":o,s[e.EXCLUSION]=r?"exclusion":o,s[e.HUE]=r?"hue":o,s[e.SATURATION]=r?"saturation":o,s[e.COLOR]=r?"color":o,s[e.LUMINOSITY]=r?"luminosity":o,s[e.ERASE]="destination-out",s[e.SOURCE_IN]="source-in",s[e.SOURCE_OUT]="source-out",s[e.SOURCE_ATOP]="source-atop",s[e.DESTINATION_OVER]="destination-over",s[e.DESTINATION_IN]="destination-in",s[e.DESTINATION_OUT]="destination-out",s[e.DESTINATION_ATOP]="destination-atop",s[e.LIGHTER]="lighter",s[e.COPY]="copy",s[e.XOR]="xor",s};h.exports=i},20926:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91296),l=function(i,s,r,o,a){var u=o.alpha*r.alpha;if(u<=0)return!1;var f=e(r,o,a).calc;return s.globalCompositeOperation=i.blendModes[r.blendMode],s.globalAlpha=u,s.save(),f.setToContext(s),s.imageSmoothingEnabled=r.frame?!r.frame.source.scaleMode:i.antialias,!0};h.exports=l},63899:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="losewebgl"},6119:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="postrender"},31124:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="prerenderclear"},48070:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="prerender"},15640:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="render"},8912:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="resize"},87124:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="restorewebgl"},53998:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="setparalleltextureunits"},92503:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={LOSE_WEBGL:t(63899),POST_RENDER:t(6119),PRE_RENDER:t(48070),PRE_RENDER_CLEAR:t(31124),RENDER:t(15640),RESIZE:t(8912),RESTORE_WEBGL:t(87124),SET_PARALLEL_TEXTURE_UNITS:t(53998)}},36909:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Events:t(92503),Snapshot:t(89966)},h.exports.Canvas=t(55830),h.exports.WebGL=t(4159)},32880:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(27919),l=t(40987),i=t(95540),s=function(r,o){var a=i(o,"callback"),u=i(o,"type","image/png"),f=i(o,"encoder",.92),v=Math.abs(Math.round(i(o,"x",0))),c=Math.abs(Math.round(i(o,"y",0))),g=Math.floor(i(o,"width",r.width)),p=Math.floor(i(o,"height",r.height)),T=i(o,"getPixel",!1);if(T){var C=r.getContext("2d",{willReadFrequently:!1}),M=C.getImageData(v,c,1,1),A=M.data;a.call(null,new l(A[0],A[1],A[2],A[3]))}else if(v!==0||c!==0||g!==r.width||p!==r.height){var R=e.createWebGL(this,g,p),P=R.getContext("2d",{willReadFrequently:!0});g>0&&p>0&&P.drawImage(r,v,c,g,p,0,0,g,p);var L=new Image;L.onerror=function(){a.call(null),e.remove(R)},L.onload=function(){a.call(null,L),e.remove(R)},L.src=R.toDataURL(u,f)}else{var F=new Image;F.onerror=function(){a.call(null)},F.onload=function(){a.call(null,F)},F.src=r.toDataURL(u,f)}};h.exports=s},88815:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(27919),l=t(40987),i=t(95540),s=function(r,o){var a=r,u=i(o,"callback"),f=i(o,"type","image/png"),v=i(o,"encoder",.92),c=Math.abs(Math.round(i(o,"x",0))),g=Math.abs(Math.round(i(o,"y",0))),p=i(o,"getPixel",!1),T=i(o,"isFramebuffer",!1),C=T?i(o,"bufferWidth",1):a.drawingBufferWidth,M=T?i(o,"bufferHeight",1):a.drawingBufferHeight;if(p){var A=new Uint8Array(4),R=M-g-1;a.readPixels(c,R,1,1,a.RGBA,a.UNSIGNED_BYTE,A),u.call(null,new l(A[0],A[1],A[2],A[3]))}else{var P=Math.floor(i(o,"width",C)),L=Math.floor(i(o,"height",M)),F=P*L*4,w=new Uint8Array(F);a.readPixels(c,M-g-L,P,L,a.RGBA,a.UNSIGNED_BYTE,w);for(var O=e.createWebGL(this,P,L),B=O.getContext("2d",{willReadFrequently:!0}),I=B.getImageData(0,0,P,L),D=I.data,N=0;N{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Canvas:t(32880),WebGL:t(88815)}},87774:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s,r){r===void 0&&(r={}),this.renderer=s,this.camera=null,this.setCamera(r.camera||null),this.state={bindings:{framebuffer:null},blend:{},colorClearValue:r.clearColor||[0,0,0,0],scissor:{box:[0,0,0,0],enable:!0},viewport:[0,0,0,0]},this.blendMode=-1,this.setBlendMode(r.blendMode||0),this.autoClear=0,r.autoClear===void 0||r.autoClear===!0?this.setAutoClear(!0,!0,!0):Array.isArray(r.autoClear)&&this.setAutoClear.apply(this,r.autoClear),this.useCanvas=!!r.useCanvas,this.framebuffer=null,this.texture=null,this.pool=r.pool||null,this.lastUsed=0,this.width=0,this.height=0,this._locks=[],r.copyFrom?this.copy(r.copyFrom):this.resize(r.width||s.width,r.height||s.height)},resize:function(i,s){if(i=Math.round(i),s=Math.round(s),i<=0&&(i=1),s<=0&&(s=1),this.useCanvas)this.framebuffer||(this.framebuffer=this.renderer.createFramebuffer(null));else if(this.framebuffer)this.framebuffer.resize(i,s);else{var r=this.renderer;this.texture=r.createTextureFromSource(null,i,s,0),this.framebuffer=r.createFramebuffer(this.texture,!0,!1)}this.state.bindings.framebuffer=this.framebuffer,this.width=i,this.height=s,this.state.scissor.box=[0,0,i,s],this.state.viewport=[0,0,i,s]},copy:function(i){var s=i.state,r=s.blend,o=s.scissor;this.autoClear=i.autoClear,this.useCanvas=i.useCanvas,this.framebuffer=i.framebuffer,this.texture=i.texture,this.camera=i.camera,this.blendMode=i.blendMode,this.width=i.width,this.height=i.height,this.state={bindings:{framebuffer:s.bindings.framebuffer},blend:{color:r.color&&r.color.slice(),enable:r.enable,equation:r.equation,func:r.func},colorClearValue:s.colorClearValue.slice(),scissor:{box:o.box.slice(),enable:o.enable},viewport:s.viewport.slice()}},getClone:function(i){var s=new l(this.renderer,{copyFrom:this});return i||s.setAutoClear(!1,!1,!1),s},setAutoClear:function(i,s,r){var o=0,a=this.renderer.gl;i&&(o|=a.COLOR_BUFFER_BIT),s&&(o|=a.DEPTH_BUFFER_BIT),r&&(o|=a.STENCIL_BUFFER_BIT),this.autoClear=o},setBlendMode:function(i,s){if(i!==this.blendMode){var r=this.state.blend,o=this.renderer.blendModes[i];r.enable=o.enable,r.equation=o.equation,r.func=o.func,s?r.color=s:r.color=void 0,this.blendMode=i}},setCamera:function(i){this.camera=i},setClearColor:function(i,s,r,o){var a=this.state.colorClearValue;i===a[0]&&s===a[1]&&r===a[2]&&o===a[3]||(this.state.colorClearValue=[i,s,r,o])},setScissorBox:function(i,s,r,o){s=this.height-s-o,this.state.scissor.box=[i,s,r,o]},setScissorEnable:function(i){this.state.scissor.enable=i},use:function(){this.renderer.renderNodes.finishBatch(),this.autoClear&&this.clear()},release:function(){this.pool&&this._locks.length===0&&(this.lastUsed=Date.now(),this.pool.add(this)),this.renderer.renderNodes.finishBatch()},lock:function(i){this._locks.indexOf(i)===-1&&this._locks.push(i)},unlock:function(i,s){var r=this._locks.indexOf(i);r!==-1&&this._locks.splice(r,1),s&&this.release()},isLocked:function(){return this._locks.length>0},beginDraw:function(){this.framebuffer&&this.renderer.glTextureUnits.unbindTexture(this.texture),this.renderer.glWrapper.update(this.state)},clear:function(i){this.beginDraw(),i===void 0&&(i=this.autoClear),this.renderer.renderNodes.finishBatch(),this.renderer.gl.clear(i)},destroy:function(){this.renderer.deleteTexture(this.texture),this.renderer.deleteFramebuffer(this.state.bindings.framebuffer),this.renderer=null,this.camera=null,this.state=null,this.framebuffer=null,this.texture=null}});h.exports=l},65656:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(87774),i=new e({initialize:function(r,o,a){this.renderer=r,this.maxAge=o,this.maxPoolSize=a,this.agePool=[],this.sizePool={}},add:function(s){if(this.agePool.indexOf(s)===-1){var r=s.width+"x"+s.height;this.sizePool[r]?this.sizePool[r].push(s):this.sizePool[r]=[s],this.agePool.push(s)}},get:function(s,r){var o,a,u=this.renderer;s===void 0&&(s=u.width),r===void 0&&(r=u.height);var f=u.getMaxTextureSize();s>f&&(s=f),r>f&&(r=f);var v=s+"x"+r,c=this.sizePool[v];if(c&&c.length>0)return o=c.pop(),a=this.agePool.indexOf(o),this.agePool.splice(a,1),o;if(this.agePool.length>0){var g=Date.now(),p=this.maxAge;if(o=this.agePool[0],g-o.lastUsed>p){this.agePool.shift();var T=o.width+"x"+o.height;return c=this.sizePool[T],a=c.indexOf(o),c.splice(a,1),o.resize(s,r),o}}return this.agePool.length0)for(var a=r.splice(0,o),u=0;u{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(62644),i=new e({initialize:function(r,o,a){this.renderer=r,this.indexBuffer=a,this.attributeBufferLayouts=o,this.currentProgramKey=null,this.currentConfig={base:{vertexShader:"",fragmentShader:""},additions:[],features:[]},this.programs={},this.uniforms={}},getCurrentProgramSuite:function(){var s=this.currentConfig,r=this.renderer,o=r.shaderProgramFactory,a=o.getKey(s.base,s.additions,s.features);if(!this.programs[a]){var u=o.getShaderProgram(s.base,s.additions,s.features);u.compiling&&u.checkParallelCompile(),u.compiling||(this.programs[a]={program:u,vao:r.createVAO(u,this.indexBuffer,this.attributeBufferLayouts),config:l(s)})}return this.programs[a]||null},resetCurrentConfig:function(){this.currentConfig.base.vertexShader="",this.currentConfig.base.fragmentShader="",this.currentConfig.additions.length=0,this.currentConfig.features.length=0},setUniform:function(s,r){this.uniforms[s]=r},removeUniform:function(s){delete this.uniforms[s]},clearUniforms:function(){this.uniforms.length=0},applyUniforms:function(s){var r=this.uniforms;for(var o in r)s.setUniform(o,r[o])},setBaseShader:function(s,r,o){var a=this.currentConfig.base;a.name=s,a.vertexShader=r,a.fragmentShader=o},addAddition:function(s,r){r===void 0?this.currentConfig.additions.push(s):this.currentConfig.additions.splice(r,0,s)},getAddition:function(s){for(var r=this.currentConfig.additions,o=0;o{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s){this.renderer=s,this.programs={}},has:function(i){return this.programs[i]!==void 0},getShaderProgram:function(i,s,r){var o=this.getKey(i,s,r),a=this.programs[o];return a||(a=this.createShaderProgram(o,i,s,r)),a},getKey:function(i,s,r){var o=i.name;if(s&&s.length>0){o+="_";for(var a=0;a0&&(o+="__",o+=r.sort().join("_")),o},createShaderProgram:function(i,s,r,o){var a=s.vertexShader,u=s.fragmentShader;if(a=a.replace(/\r/g,""),u=u.replace(/\r/g,""),r){for(var f,v,c={},g=0;g{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @author Matthew Groves <@doormat> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(61340);h.exports={getTintFromFloats:function(l,i,s,r){var o=(l*255|0)&255,a=(i*255|0)&255,u=(s*255|0)&255,f=(r*255|0)&255;return(f<<24|o<<16|a<<8|u)>>>0},getTintAppendFloatAlpha:function(l,i){var s=(i*255|0)&255;return(s<<24|l)>>>0},getTintAppendFloatAlphaAndSwap:function(l,i){var s=(l>>16|0)&255,r=(l>>8|0)&255,o=(l|0)&255,a=(i*255|0)&255;return(a<<24|o<<16|r<<8|s)>>>0},getFloatsFromUintRGB:function(l){var i=(l>>16|0)&255,s=(l>>8|0)&255,r=(l|0)&255;return[i/255,s/255,r/255]},checkShaderMax:function(l,i){var s=Math.min(16,l.getParameter(l.MAX_TEXTURE_IMAGE_UNITS));return!i||i===-1?s:Math.min(s,i)},updateLightingUniforms:function(l,i,s,r,o,a,u,f){var v=i.camera,c=v.scene,g=c.sys.lights;if(!(!g||!g.active)){var p=g.getLights(v),T=p.length,C=g.ambientColor,M=i.height;if(l){s.setUniform("uNormSampler",r),s.setUniform("uCamera",[v.x,v.y,v.rotation,v.zoom]),s.setUniform("uAmbientLightColor",[C.r,C.g,C.b]),s.setUniform("uLightCount",T);for(var A=new e,R=0;R{/** + * @author Richard Davey + * @author Felipe Alfonso <@bitnenfer> + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(95428),l=t(72905),i=t(83419),s=t(8054),r=t(50792),o=t(92503),a=t(50030),u=t(37867),f=t(29747),v=t(87774),c=t(97480),g=t(69442),p=t(70554),T=t(88815),C=t(26128),M=t(37959),A=t(1482),R=t(86272),P=t(82751),L=t(13760),F=t(84387),w=t(85788),O=t(47774),B=t(53314),I=t(30130),D=t(65656),N=t(18804),z=new i({Extends:r,initialize:function(U){r.call(this);var G=U.config,b={alpha:G.transparent,desynchronized:G.desynchronized,depth:!0,antialias:G.antialiasGL,premultipliedAlpha:G.premultipliedAlpha,stencil:!0,failIfMajorPerformanceCaveat:G.failIfMajorPerformanceCaveat,powerPreference:G.powerPreference,preserveDrawingBuffer:G.preserveDrawingBuffer,willReadFrequently:!1};this.config={clearBeforeRender:G.clearBeforeRender,antialias:G.antialias,backgroundColor:G.backgroundColor,contextCreation:b,roundPixels:G.roundPixels,pathDetailThreshold:G.pathDetailThreshold,maxTextures:G.maxTextures,maxTextureSize:G.maxTextureSize,batchSize:G.batchSize,maxLights:G.maxLights,mipmapFilter:G.mipmapFilter},this.game=U,this.type=s.WEBGL,this.renderNodes=null,this.cameraRenderNode=null,this.shaderProgramFactory=new N(this),this.width=0,this.height=0,this.canvas=U.canvas,this.blendModes=[],this.contextLost=!1,this.snapshotState={x:0,y:0,width:1,height:1,getPixel:!1,callback:null,type:"image/png",encoder:.92,isFramebuffer:!1,bufferWidth:0,bufferHeight:0,unpremultiplyAlpha:!0},this.maxTextures=0,this.textureUnitIndices=[],this.glBufferWrappers=[],this.glProgramWrappers=[],this.glTextureWrappers=[],this.glFramebufferWrappers=[],this.glVAOWrappers=[],this.genericQuadIndexBuffer=null,this.baseDrawingContext=null,this.currentViewCamera=null,this.drawingContextPool=new D(this,1e3,1024),this.contextLostHandler=f,this.contextRestoredHandler=f,this.previousContextLostHandler=f,this.previousContextRestoredHandler=f,this.gl=null,this.glWrapper=null,this.glTextureUnits=null,this.supportedExtensions=null,this.instancedArraysExtension=null,this.parallelShaderCompileExtension=null,this.standardDerivativesExtension=null,this.vaoExtension=null,this.extensions={},this.glFormats,this.compression,this.drawingBufferHeight=0,this.blankTexture=null,this.normalTexture=null,this.whiteTexture=null,this.shaderSetters=null,this.mipmapFilter=null,this.isBooted=!1,this.projectionMatrix,this.projectionWidth=0,this.projectionHeight=0,this.projectionFlipY=!1,this.spector=null,this._debugCapture=!1,this.init(this.config)},init:function(V){var U,G=this.game,b=this.canvas,Y=V.backgroundColor;if(G.config.context?U=G.config.context:U=b.getContext("webgl",V.contextCreation)||b.getContext("experimental-webgl",V.contextCreation),!U||U.isContextLost())throw this.contextLost=!0,new Error("WebGL unsupported");this.gl=U,this.setExtensions(),this.setContextHandlers(),G.context=U;for(var W=0;W<=27;W++)this.blendModes.push(O.createCombined(this));this.blendModes[1].func=[U.ONE,U.DST_ALPHA,U.ONE,U.DST_ALPHA],this.blendModes[2].func=[U.DST_COLOR,U.ONE_MINUS_SRC_ALPHA,U.DST_COLOR,U.ONE_MINUS_SRC_ALPHA],this.blendModes[3].func=[U.ONE,U.ONE_MINUS_SRC_COLOR,U.ONE,U.ONE_MINUS_SRC_COLOR],this.blendModes[17].equation=[U.FUNC_REVERSE_SUBTRACT,U.FUNC_REVERSE_SUBTRACT],this.blendModes[17].func=[U.ZERO,U.ONE_MINUS_SRC_ALPHA,U.ZERO,U.ONE_MINUS_SRC_ALPHA],this.glFormats=[U.BYTE,U.SHORT,U.UNSIGNED_BYTE,U.UNSIGNED_SHORT,U.FLOAT],this.shaderSetters=new R(this),(!V.maxTextures||V.maxTextures===-1)&&(V.maxTextures=U.getParameter(U.MAX_TEXTURE_IMAGE_UNITS)),V.maxTextureSize||(V.maxTextureSize=U.getParameter(U.MAX_TEXTURE_SIZE)),this.compression=this.getCompressedTextures(),this.glWrapper=new M(this),this.glWrapper.update(void 0,!0),U.clearColor(Y.redGL,Y.greenGL,Y.blueGL,Y.alphaGL);var H=["NEAREST","LINEAR","NEAREST_MIPMAP_NEAREST","LINEAR_MIPMAP_NEAREST","NEAREST_MIPMAP_LINEAR","LINEAR_MIPMAP_LINEAR"];for(H.indexOf(V.mipmapFilter)!==-1&&(this.mipmapFilter=U[V.mipmapFilter]),this.maxTextures=p.checkShaderMax(U,V.maxTextures),W=0;W-1?V.getExtension(b):null,U.config.skipUnreadyShaders){var Y="KHR_parallel_shader_compile";this.parallelShaderCompileExtension=G.indexOf(Y)>-1?V.getExtension(Y):null,this.parallelShaderCompileExtension||(U.config.skipUnreadyShaders=!1)}var W="OES_vertex_array_object";if(this.vaoExtension=G.indexOf(W)>-1?V.getExtension(W):null,U.config.smoothPixelArt){var H="OES_standard_derivatives";this.standardDerivativesExtension=G.indexOf(H)>-1?V.getExtension(H):null}if(V instanceof WebGLRenderingContext){if(this.instancedArraysExtension)V.vertexAttribDivisor=this.instancedArraysExtension.vertexAttribDivisorANGLE.bind(this.instancedArraysExtension),V.drawArraysInstanced=this.instancedArraysExtension.drawArraysInstancedANGLE.bind(this.instancedArraysExtension),V.drawElementsInstanced=this.instancedArraysExtension.drawElementsInstancedANGLE.bind(this.instancedArraysExtension);else throw new Error("ANGLE_instanced_arrays extension not supported. Required for rendering.");if(this.vaoExtension)V.createVertexArray=this.vaoExtension.createVertexArrayOES.bind(this.vaoExtension),V.bindVertexArray=this.vaoExtension.bindVertexArrayOES.bind(this.vaoExtension),V.deleteVertexArray=this.vaoExtension.deleteVertexArrayOES.bind(this.vaoExtension),V.isVertexArray=this.vaoExtension.isVertexArrayOES.bind(this.vaoExtension);else throw new Error("OES_vertex_array_object extension not supported. Required for rendering.");if(this.standardDerivativesExtension)V.FRAGMENT_SHADER_DERIVATIVE_HINT=this.standardDerivativesExtension.FRAGMENT_SHADER_DERIVATIVE_HINT_OES;else if(U.config.smoothPixelArt)throw new Error("OES_standard_derivatives extension not supported. Cannot use smoothPixelArt.")}},setContextHandlers:function(V,U){this.previousContextLostHandler&&this.canvas.removeEventListener("webglcontextlost",this.previousContextLostHandler,!1),this.previousContextRestoredHandler&&this.canvas.removeEventListener("webglcontextlost",this.previousContextRestoredHandler,!1),typeof V=="function"?this.contextLostHandler=V.bind(this):this.contextLostHandler=this.dispatchContextLost.bind(this),typeof U=="function"?this.contextRestoredHandler=U.bind(this):this.contextRestoredHandler=this.dispatchContextRestored.bind(this),this.canvas.addEventListener("webglcontextlost",this.contextLostHandler,!1),this.canvas.addEventListener("webglcontextrestored",this.contextRestoredHandler,!1),this.previousContextLostHandler=this.contextLostHandler,this.previousContextRestoredHandler=this.contextRestoredHandler},dispatchContextLost:function(V){this.contextLost=!0,console&&console.warn("WebGL Context lost. Renderer disabled"),this.emit(o.LOSE_WEBGL,this),V.preventDefault()},dispatchContextRestored:function(V){var U=this.gl;if(U.isContextLost()){console&&console.log("WebGL Context restored, but context is still lost");return}this.setExtensions(),this.glWrapper.update(B.getDefault(this),!0),this.glTextureUnits.init(),this.compression=this.getCompressedTextures();var G=function(b){b.createResource()};e(this.glTextureWrappers,G),e(this.glBufferWrappers,G),e(this.glFramebufferWrappers,G),e(this.glProgramWrappers,G),e(this.glVAOWrappers,G),this.glTextureUnits.bindUnits(this.glTextureUnits.units,!0),this.resize(this.game.scale.baseSize.width,this.game.scale.baseSize.height),this.contextLost=!1,console&&console.warn("WebGL Context restored. Renderer running again."),this.emit(o.RESTORE_WEBGL,this),V.preventDefault()},captureFrame:function(V,U){},captureNextFrame:function(){},getFps:function(){},log:function(){},startCapture:function(V,U,G){},stopCapture:function(){},onCapture:function(V){},onResize:function(V,U){(U.width!==this.width||U.height!==this.height)&&this.resize(U.width,U.height)},resize:function(V,U){var G=this.gl;return this.width=V,this.height=U,this.setProjectionMatrix(V,U),this.drawingBufferHeight=G.drawingBufferHeight,this.glWrapper.update({scissor:{box:[0,G.drawingBufferHeight-U,V,U]},viewport:[0,0,V,U]}),this.emit(o.RESIZE,V,U),this},getCompressedTextures:function(){var V="WEBGL_compressed_texture_",U="WEBKIT_"+V,G="EXT_texture_compression_",b=function(W,H){var X=W.getExtension(V+H)||W.getExtension(U+H)||W.getExtension(G+H);if(X){var K={};for(var Z in X)K[X[Z]]=Z;return K}},Y=this.gl;return{ETC:b(Y,"etc"),ETC1:b(Y,"etc1"),ATC:b(Y,"atc"),ASTC:b(Y,"astc"),BPTC:b(Y,"bptc"),RGTC:b(Y,"rgtc"),PVRTC:b(Y,"pvrtc"),S3TC:b(Y,"s3tc"),S3TCSRGB:b(Y,"s3tc_srgb"),IMG:!0}},getCompressedTextureName:function(V,U){var G=this.compression[V.toUpperCase()];if(U in G)return G[U]},supportsCompressedTexture:function(V,U){var G=this.compression[V.toUpperCase()];return G?U?U in G:!0:!1},getAspectRatio:function(){return this.width/this.height},setProjectionMatrix:function(V,U,G){return(V!==this.projectionWidth||U!==this.projectionHeight||G!==this.projectionFlipY)&&(this.projectionWidth=V,this.projectionHeight=U,this.projectionFlipY=!!G,G?this.projectionMatrix.ortho(0,V,0,U,-1e3,1e3):this.projectionMatrix.ortho(0,V,U,0,-1e3,1e3)),this},setProjectionMatrixFromDrawingContext:function(V){return this.setProjectionMatrix(V.width,V.height,!1)},resetProjectionMatrix:function(){return this.setProjectionMatrix(this.width,this.height)},hasExtension:function(V){return this.supportedExtensions?this.supportedExtensions.indexOf(V):!1},getExtension:function(V){return this.hasExtension(V)?(V in this.extensions||(this.extensions[V]=this.gl.getExtension(V)),this.extensions[V]):null},addBlendMode:function(V,U){var G=this.blendModes.push(O.createCombined(this,!0,void 0,U,V[0],V[1]))-1;return G-1},updateBlendMode:function(V,U,G){if(V>17&&this.blendModes[V]){var b=this.blendModes[V];U.length===2?b.func=[U[0],U[1],U[0],U[1]]:b.func=[U[0],U[1],U[2],U[3]],typeof G=="number"?b.equation=[G,G]:b.equation=[G[0],G[1]]}return this},removeBlendMode:function(V){return V>17&&this.blendModes[V]&&this.blendModes.splice(V,1),this},clearFramebuffer:function(V,U,G){var b=this.gl,Y=0;V&&(this.glWrapper.updateColorClearValue({colorClearValue:V}),Y=Y|b.COLOR_BUFFER_BIT),U!==void 0&&(this.glWrapper.updateStencilClear({stencil:{clear:U}}),Y=Y|b.STENCIL_BUFFER_BIT),G!==void 0&&(Y=Y|b.DEPTH_BUFFER_BIT),b.clear(Y)},createTextureFromSource:function(V,U,G,b,Y,W){Y===void 0&&(Y=!1);var H=this.gl,X=H.NEAREST,K=H.NEAREST,Z=H.CLAMP_TO_EDGE,Q=null;U=V?V.width:U,G=V?V.height:G;var j=a(U,G);if(j&&!Y&&(Z=H.REPEAT),b===s.ScaleModes.LINEAR&&this.config.antialias){var J=V&&V.compressed,tt=!J&&j||J&&V.mipmaps.length>1;X=this.mipmapFilter&&tt?this.mipmapFilter:H.LINEAR,K=H.LINEAR}return!V&&typeof U=="number"&&typeof G=="number"?Q=this.createTexture2D(0,X,K,Z,Z,H.RGBA,null,U,G,void 0,void 0,W):Q=this.createTexture2D(0,X,K,Z,Z,H.RGBA,V,void 0,void 0,void 0,void 0,W),Q},createTexture2D:function(V,U,G,b,Y,W,H,X,K,Z,Q,j){typeof X!="number"&&(X=H?H.width:1),typeof K!="number"&&(K=H?H.height:1);var J=new P(this,V,U,G,b,Y,W,H,X,K,Z,Q,j);return this.glTextureWrappers.push(J),J},createFramebuffer:function(V,U,G){!Array.isArray(V)&&V!==null&&(V=[V]);var b=new F(this,V,U,G);return this.glFramebufferWrappers.push(b),b},createProgram:function(V,U){var G=new A(this,V,U);return this.glProgramWrappers.push(G),G},createVertexBuffer:function(V,U){var G=this.gl,b=new C(this,V,G.ARRAY_BUFFER,U);return this.glBufferWrappers.push(b),b},createIndexBuffer:function(V,U){var G=this.gl,b=new C(this,V,G.ELEMENT_ARRAY_BUFFER,U);return this.glBufferWrappers.push(b),b},createVAO:function(V,U,G){var b=new w(this,V,U,G);return this.glVAOWrappers.push(b),b},deleteTexture:function(V){if(V)return l(this.glTextureWrappers,V),V.destroy(),this},deleteFramebuffer:function(V){return V?(l(this.glFramebufferWrappers,V),V.destroy(),this):this},deleteProgram:function(V){return V&&(l(this.glProgramWrappers,V),V.destroy()),this},deleteBuffer:function(V){return V?(l(this.glBufferWrappers,V),V.destroy(),this):this},preRender:function(){if(!this.contextLost){this.emit(o.PRE_RENDER_CLEAR);var V=this.baseDrawingContext;if(this.config.clearBeforeRender){var U=this.config.backgroundColor;V.setClearColor(U.redGL,U.greenGL,U.blueGL,U.alphaGL),V.setAutoClear(!0,!0,!0)}else V.setAutoClear(!1,!1,!1);V.use(),this.emit(o.PRE_RENDER)}},render:function(V,U,G){this.contextLost||(this.emit(o.RENDER,V,G),this.currentViewCamera=G,this.cameraRenderNode.run(this.baseDrawingContext,U,G),this.currentViewCamera=null)},postRender:function(){if(this.baseDrawingContext.release(),!this.contextLost){this.emit(o.POST_RENDER);var V=this.snapshotState;V.callback&&(T(this.gl,V),V.callback=null)}},drawElements:function(V,U,G,b,Y,W,H){var X=this.gl;V.beginDraw(),G.bind(),b.bind(),this.glTextureUnits.bindUnits(U),X.drawElements(H||X.TRIANGLE_STRIP,Y,X.UNSIGNED_SHORT,W)},drawInstancedArrays:function(V,U,G,b,Y,W,H,X){var K=this.gl;V.beginDraw(),G.bind(),b.bind(),this.glTextureUnits.bindUnits(U),K.drawArraysInstanced(X||K.TRIANGLE_STRIP,Y,W,H)},snapshot:function(V,U,G){return this.snapshotArea(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight,V,U,G)},snapshotArea:function(V,U,G,b,Y,W,H){var X=this.snapshotState;return X.callback=Y,X.type=W,X.encoder=H,X.getPixel=!1,X.x=V,X.y=U,X.width=G,X.height=b,X.unpremultiplyAlpha=this.game.config.premultipliedAlpha,this},snapshotPixel:function(V,U,G){return this.snapshotArea(V,U,1,1,G),this.snapshotState.getPixel=!0,this},snapshotFramebuffer:function(V,U,G,b,Y,W,H,X,K,Z,Q){Y===void 0&&(Y=!1),W===void 0&&(W=0),H===void 0&&(H=0),X===void 0&&(X=U),K===void 0&&(K=G),Z==="pixel"&&(Y=!0,Z="image/png"),this.snapshotArea(W,H,X,K,b,Z,Q);var j=this.snapshotState;return j.getPixel=Y,j.isFramebuffer=!0,j.bufferWidth=U,j.bufferHeight=G,j.width=Math.min(j.width,U),j.height=Math.min(j.height,G),this.glWrapper.updateBindingsFramebuffer({bindings:{framebuffer:V}}),T(this.gl,j),j.callback=null,j.isFramebuffer=!1,this},canvasToTexture:function(V,U,G,b){G===void 0&&(G=!1),b===void 0&&(b=!0);var Y=this.gl,W=Y.NEAREST,H=Y.NEAREST,X=V.width,K=V.height,Z=Y.CLAMP_TO_EDGE,Q=a(X,K);return!G&&Q&&(Z=Y.REPEAT),this.config.antialias&&(W=Q&&this.mipmapFilter?this.mipmapFilter:Y.LINEAR,H=Y.LINEAR),U?(U.update(V,X,K,b,Z,Z,W,H,U.format),U):this.createTexture2D(0,W,H,Z,Z,Y.RGBA,V,X,K,!0,!1,b)},createCanvasTexture:function(V,U,G){return U===void 0&&(U=!1),G===void 0&&(G=!0),this.canvasToTexture(V,null,U,G)},updateCanvasTexture:function(V,U,G,b){return G===void 0&&(G=!0),b===void 0&&(b=!1),this.canvasToTexture(V,U,b,G)},videoToTexture:function(V,U,G,b){G===void 0&&(G=!1),b===void 0&&(b=!0);var Y=this.gl,W=Y.NEAREST,H=Y.NEAREST,X=V.videoWidth,K=V.videoHeight,Z=Y.CLAMP_TO_EDGE,Q=a(X,K);return!G&&Q&&(Z=Y.REPEAT),this.config.antialias&&(W=Q&&this.mipmapFilter?this.mipmapFilter:Y.LINEAR,H=Y.LINEAR),U?(U.update(V,X,K,b,Z,Z,W,H,U.format),U):this.createTexture2D(0,W,H,Z,Z,Y.RGBA,V,X,K,!0,!0,b)},createVideoTexture:function(V,U,G){return U===void 0&&(U=!1),G===void 0&&(G=!0),this.videoToTexture(V,null,U,G)},updateVideoTexture:function(V,U,G,b){return G===void 0&&(G=!0),b===void 0&&(b=!1),this.videoToTexture(V,U,b,G)},createUint8ArrayTexture:function(V,U,G,b,Y){var W=this.gl,H=W.NEAREST,X=W.NEAREST,K=W.CLAMP_TO_EDGE,Z=a(U,G);return Z&&(K=W.REPEAT),b===void 0&&(b=!0),Y===void 0&&(Y=!0),this.createTexture2D(0,H,X,K,K,W.RGBA,V,U,G,b,!1,Y)},setTextureFilter:function(V,U){var G=this.gl,b=U===0?G.LINEAR:G.NEAREST,Y=this.glTextureUnits,W=Y.units[0];return Y.bind(V,0),V.update(V.pixels,V.width,V.height,V.flipY,V.wrapS,V.wrapT,b,b,V.format),W&&Y.bind(W,0),this},setTextureWrap:function(V,U,G){var b=this.gl;if(!a(V.width,V.height)&&(U!==b.CLAMP_TO_EDGE||G!==b.CLAMP_TO_EDGE))return this;var Y=this.glTextureUnits,W=Y.units[0];return Y.bind(V,0),V.update(V.pixels,V.width,V.height,V.flipY,U,G,V.minFilter,V.magFilter,V.format),W&&Y.bind(W,0),this},getMaxTextureSize:function(){return this.config.maxTextureSize},destroy:function(){this.off(o.RESIZE,this.baseDrawingContext.resize,this.baseDrawingContext),this.canvas.removeEventListener("webglcontextlost",this.contextLostHandler,!1),this.canvas.removeEventListener("webglcontextrestored",this.contextRestoredHandler,!1);var V=function(U){U.destroy()};e(this.glBufferWrappers,V),e(this.glFramebufferWrappers,V),e(this.glProgramWrappers,V),e(this.glTextureWrappers,V),this.removeAllListeners(),this.extensions={},this.gl=null,this.game=null,this.canvas=null,this.contextLost=!0}});h.exports=z},14500:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={BYTE:{enum:5120,size:1},UNSIGNED_BYTE:{enum:5121,size:1},SHORT:{enum:5122,size:2},UNSIGNED_SHORT:{enum:5123,size:2},INT:{enum:5124,size:4},UNSIGNED_INT:{enum:5125,size:4},FLOAT:{enum:5126,size:4}};h.exports=d},4159:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(14500),l=t(79291),i={Shaders:t(89350),ShaderAdditionMakers:t(83786),DrawingContext:t(87774),DrawingContextPool:t(65656),ProgramManager:t(56436),RenderNodes:t(54521),ShaderProgramFactory:t(18804),Utils:t(70554),WebGLRenderer:t(74797),Wrappers:t(31884)};i=l(!1,i,e),h.exports=i},47774:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={createCombined:function(t,e,l,i,s,r){var o=t.gl;e===void 0&&(e=!0),l===void 0&&(l=[0,0,0,0]),i===void 0&&(i=o.FUNC_ADD),s===void 0&&(s=o.ONE),r===void 0&&(r=o.ONE_MINUS_SRC_ALPHA);var a={enabled:e,color:l,equation:[i,i],func:[s,r,s,r]};return a},createSeparate:function(t,e,l,i,s,r,o,a,u){var f=t.gl;e===void 0&&(e=!0),l===void 0&&(l=[0,0,0,0]),i===void 0&&(i=f.FUNC_ADD),s===void 0&&(s=f.FUNC_ADD),r===void 0&&(r=f.ONE),o===void 0&&(o=f.ONE_MINUS_SRC_ALPHA),a===void 0&&(a=f.ONE),u===void 0&&(u=f.ONE_MINUS_SRC_ALPHA);var v={enabled:e,color:l,equation:[i,s],func:[r,o,a,u]};return v}};h.exports=d},53314:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(8054),l=t(62644),i=t(71623),s={getDefault:function(r){var o={bindings:{activeTexture:0,arrayBuffer:null,elementArrayBuffer:null,framebuffer:null,program:null,renderbuffer:null},blend:l(r.blendModes[e.BlendModes.NORMAL]),colorClearValue:[0,0,0,1],colorWritemask:[!0,!0,!0,!0],cullFace:!1,depthTest:!1,scissor:{enable:!0,box:[0,0,0,0]},stencil:i.create(r),texturing:{flipY:!1,premultiplyAlpha:!1},vao:null,viewport:[0,0,0,0]};return o}};h.exports=s},71623:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={create:function(t,e,l,i,s,r,o,a,u){var f=t.gl;e===void 0&&(e=!1),l===void 0&&(l=f.ALWAYS),i===void 0&&(i=0),s===void 0&&(s=255),r===void 0&&(r=f.KEEP),o===void 0&&(o=f.KEEP),a===void 0&&(a=f.KEEP),u===void 0&&(u=0);var v={enabled:e,func:{func:l,ref:i,mask:s},op:{fail:r,zfail:o,zpass:a},clear:u};return v}};h.exports=d},13961:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(56436),i=t(40952),s=t(6141),r=t(36909),o=new e({Extends:s,initialize:function(u,f,v){var c=u.renderer,g=c.gl;v=this._copyAndCompleteConfig(u,v||{},f);var p=v.name;if(!p)throw new Error("BatchHandler must have a name");s.call(this,p,u),this.instancesPerBatch=-1,this.verticesPerInstance=v.verticesPerInstance;var T=65536,C=Math.floor(T/this.verticesPerInstance),M=v.instancesPerBatch||c.config.batchSize||C;this.instancesPerBatch=Math.min(M,C),this.indicesPerInstance=v.indicesPerInstance,this.bytesPerIndexPerInstance=this.indicesPerInstance*Uint16Array.BYTES_PER_ELEMENT,this.maxTexturesPerBatch=1,this.manager.on(r.Events.SET_PARALLEL_TEXTURE_UNITS,this.updateTextureCount,this),c.glWrapper.updateVAO({vao:null}),this.indexBuffer=c.createIndexBuffer(this._generateElementIndices(this.instancesPerBatch),v.indexBufferDynamic?g.DYNAMIC_DRAW:g.STATIC_DRAW);var A=v.vertexBufferLayout;if(A.count=this.instancesPerBatch*this.verticesPerInstance,this.vertexBufferLayout=new i(c,A,null),this.programManager=new l(c,[this.vertexBufferLayout],this.indexBuffer),this.programManager.setBaseShader(v.shaderName,v.vertexSource,v.fragmentSource),v.shaderAdditions)for(var R=0;R{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(4127),i=t(89924),s=t(13961),r=new e({Extends:s,initialize:function(o,a){s.call(this,o,this.defaultConfig,a),this._emptyTextures=[]},defaultConfig:{name:"BatchHandlerPointLight",verticesPerInstance:4,indicesPerInstance:6,shaderName:"POINTLIGHT",vertexSource:i,fragmentSource:l,vertexBufferLayout:{usage:"DYNAMIC_DRAW",layout:[{name:"inPosition",size:2},{name:"inLightPosition",size:2},{name:"inLightRadius",size:1},{name:"inLightAttenuation",size:1},{name:"inLightColor",size:4}]}},_generateElementIndices:function(o){for(var a=new ArrayBuffer(o*6*2),u=new Uint16Array(a),f=0,v=0;v{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=t(83419),i=t(62644),s=t(70554),r=t(98840),o=t(44667),a=t(81084),u=t(44349),f=t(6184),v=t(11653),c=t(40829),g=t(42792),p=t(96049),T=t(33997),C=t(79532),M=t(65217),A=t(74505),R=t(13961),P=new l({Extends:R,initialize:function(F,w){this.renderOptions={multiTexturing:!1,texRes:!1,lighting:!1,selfShadow:!1,selfShadowPenumbra:0,selfShadowThreshold:0,smoothPixelArt:!1},R.call(this,F,this.defaultConfig,w),this.programManager.setUniform("uMainSampler[0]",this.manager.renderer.textureUnitIndices),this.nextRenderOptions=i(this.renderOptions),this._renderOptionsChanged=!1,this._lightVector=new e},defaultConfig:{name:"BatchHandlerQuad",verticesPerInstance:4,indicesPerInstance:6,shaderName:"STANDARD",vertexSource:o,fragmentSource:r,shaderAdditions:[g(),p(!0),A(!0),v(1),T(),u(),f(!0),M(!0),C(!0),c(!0),a(!0)],vertexBufferLayout:{usage:"DYNAMIC_DRAW",layout:[{name:"inPosition",size:2},{name:"inTexCoord",size:2},{name:"inTexDatum"},{name:"inTintEffect"},{name:"inTint",size:4,type:"UNSIGNED_BYTE",normalized:!0}]}},_generateElementIndices:function(L){for(var F=new ArrayBuffer(L*6*2),w=new Uint16Array(F),O=0,B=0;B{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(15214),i=new e({Extends:l,initialize:function(r,o){o===void 0&&(o={}),o.name||(o.name="BatchHandlerQuadSingle"),o.shaderName||(o.shaderName="STANDARD_SINGLE"),o.instancesPerBatch||(o.instancesPerBatch=1),l.call(this,r,o)}});h.exports=i},62791:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(98840),i=t(44667),s=t(44349),r=t(11653),o=t(42792),a=t(96049),u=t(74505),f=t(33997),v=t(70554),c=t(15214),g=v.getTintAppendFloatAlpha,p=new e({Extends:c,initialize:function(C,M){c.call(this,C,M),this.renderOptions.multiTexturing=!0},defaultConfig:{name:"BatchHandlerStrip",verticesPerInstance:2,indicesPerInstance:2,shaderName:"STRIP",vertexSource:i,fragmentSource:l,shaderAdditions:[o(),a(!0),u(!0),r(1),f(),s()],vertexBufferLayout:{usage:"DYNAMIC_DRAW",layout:[{name:"inPosition",size:2},{name:"inTexCoord",size:2},{name:"inTexDatum"},{name:"inTintEffect"},{name:"inTint",size:4,type:"UNSIGNED_BYTE",normalized:!0}]}},_generateElementIndices:function(T){for(var C=new ArrayBuffer(T*2*2),M=new Uint16Array(C),A=M.length,R=0;Rthis.instancesPerBatch)throw new Error("BatchHandlerStrip: Vertex count exceeds maximum per batch ("+this.maxVerticesPerBatch+")");this.instanceCount+D>this.instancesPerBatch&&this.run(T),this.updateRenderOptions(B),this._renderOptionsChanged&&(this.run(T),this.updateShaderConfig());var N=this.batchTextures(A),z=this.instanceCount*this.floatsPerInstance,V=this.vertexBufferLayout.buffer,U=V.viewF32,G=V.viewU32,b=!1;if(this.instanceCount>0){var Y=1+this.floatsPerInstance/this.verticesPerInstance;U[z++]=U[z-Y],U[z++]=U[z-Y],U[z++]=U[z-Y],U[z++]=U[z-Y],U[z++]=U[z-Y],U[z++]=U[z-Y],G[z++]=G[z-Y],b=!0}var W;I&&(W=[]);for(var H=M.a,X=M.b,K=M.c,Z=M.d,Q=M.e,j=M.f,J=R.length,tt=0;tt{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(98840),i=t(44667),s=t(81084),r=t(44349),o=t(6184),a=t(11653),u=t(40829),f=t(42792),v=t(96049),c=t(33997),g=t(10455),p=t(79532),T=t(65217),C=t(74505),M=t(44832),A=t(23295),R=t(15214),P=new e({Extends:R,initialize:function(F,w){R.call(this,F,w)},defaultConfig:{name:"BatchHandlerTileSprite",verticesPerInstance:4,indicesPerInstance:6,shaderName:"TILESPRITE",vertexSource:i,fragmentSource:l,shaderAdditions:[g(),f(),v(!0),A(!0),M(!0),C(!0),a(1),c(),r(),o(!0),T(!0),p(!0),u(!0),s(!0)],vertexBufferLayout:{usage:"DYNAMIC_DRAW",layout:[{name:"inPosition",size:2},{name:"inTexCoord",size:2},{name:"inFrame",size:4},{name:"inTexDatum"},{name:"inTintEffect"},{name:"inTint",size:4,type:"UNSIGNED_BYTE",normalized:!0}]}},updateRenderOptions:function(L){R.prototype.updateRenderOptions.call(this,L);var F=this.renderOptions,w=this.nextRenderOptions,O=this._renderOptionsChanged;w.clampFrame=!!L.clampFrame,w.clampFrame!==F.clampFrame&&(O=!0),w.wrapFrame=!!L.wrapFrame,w.wrapFrame!==F.wrapFrame&&(O=!0),w.texRes=w.clampFrame||w.texRes,w.texRes!==F.texRes&&(O=!0),O&&(this._renderOptionsChanged=!0)},updateShaderConfig:function(){R.prototype.updateShaderConfig.call(this);var L=this.programManager,F=this.renderOptions,w=this.nextRenderOptions;if(w.clampFrame!==F.clampFrame){var O=w.clampFrame;F.clampFrame=O;var B=L.getAddition("TexCoordFrameClamp");B.disable=!w.clampFrame}if(w.wrapFrame!==F.wrapFrame){var I=w.wrapFrame;F.wrapFrame=I;var D=L.getAddition("TexCoordFrameWrap");D.disable=!I}},batch:function(L,F,w,O,B,I,D,N,z,V,U,G,b,Y,W,H,X,K,Z,Q,j,J,tt,k,q,_,rt,at){this.instanceCount===0&&this.manager.setCurrentBatchNode(this,L),this.updateRenderOptions(Q),this._renderOptionsChanged&&(this.run(L),this.updateShaderConfig());var ht=this.batchTextures(F,Q),ot=this.instanceCount*this.floatsPerInstance,nt=this.vertexBufferLayout.buffer,it=nt.viewF32,lt=nt.viewU32;it[ot++]=B,it[ot++]=I,it[ot++]=tt,it[ot++]=k,it[ot++]=U,it[ot++]=G,it[ot++]=b,it[ot++]=Y,it[ot++]=ht,it[ot++]=W,lt[ot++]=X,it[ot++]=w,it[ot++]=O,it[ot++]=j,it[ot++]=J,it[ot++]=U,it[ot++]=G,it[ot++]=b,it[ot++]=Y,it[ot++]=ht,it[ot++]=W,lt[ot++]=H,it[ot++]=z,it[ot++]=V,it[ot++]=rt,it[ot++]=at,it[ot++]=U,it[ot++]=G,it[ot++]=b,it[ot++]=Y,it[ot++]=ht,it[ot++]=W,lt[ot++]=Z,it[ot++]=D,it[ot++]=N,it[ot++]=q,it[ot++]=_,it[ot++]=U,it[ot++]=G,it[ot++]=b,it[ot++]=Y,it[ot++]=ht,it[ot++]=W,lt[ot++]=K,this.instanceCount++,this.currentBatchEntry.count++,this.instanceCount===this.instancesPerBatch&&this.run(L)}});h.exports=P},62087:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=t(83419),i=t(81084),s=t(6184),r=t(13198),o=t(73416),a=t(91627),u=t(70554),f=t(13961),v=new l({Extends:f,initialize:function(g,p){f.call(this,g,this.defaultConfig,p),this._emptyTextures=[],this.vertexCount=0,this._lightVector=new e,this.renderOptions={lighting:!1},this.nextRenderOptions={lighting:!1},this._renderOptionsChanged=!1},defaultConfig:{name:"BatchHandlerTriFlat",verticesPerInstance:3,indicesPerInstance:3,shaderName:"FLAT",vertexSource:a,fragmentSource:o,shaderAdditions:[s(!0),r(!0),i(!0)],indexBufferDynamic:!0,vertexBufferLayout:{usage:"DYNAMIC_DRAW",layout:[{name:"inPosition",size:2},{name:"inTint",size:4,type:"UNSIGNED_BYTE",normalized:!0}]}},_generateElementIndices:function(c){return new ArrayBuffer(c*3*2)},setupUniforms:function(c){var g=this.programManager;c.renderer.setProjectionMatrixFromDrawingContext(c),g.setUniform("uProjectionMatrix",c.renderer.projectionMatrix.val),this.renderOptions.lighting&&(u.updateLightingUniforms(this.renderOptions.lighting,c,g,1,this._lightVector),g.setUniform("uResolution",[c.width,c.height]))},updateRenderOptions:function(c){var g=this.nextRenderOptions,p=this.renderOptions,T=!1;c!==p.lighting&&(g.lighting=c,T=!0),this._renderOptionsChanged=T},updateShaderConfig:function(){var c=this.programManager,g=this.renderOptions,p=this.nextRenderOptions;if(g.lighting!==p.lighting){var T=p.lighting;g.lighting=T;for(var C=c.getAdditionsByTag("LIGHTING"),M=0;M=w.length)&&(M++,this.run(c),O=this.instanceCount*this.indicesPerInstance,N=this.vertexCount*P/I.BYTES_PER_ELEMENT,V=0,G=0)}}});h.exports=v},61842:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(19715),l=t(1e3),i=t(61340),s=t(87841),r=t(43855),o=t(83419),a=t(70554),u=t(6141);function f(c){return a.getTintAppendFloatAlpha(16777215,c)}var v=new o({Extends:u,initialize:function(g){u.call(this,"Camera",g),this.batchHandlerQuadSingleNode=g.getNode("BatchHandlerQuadSingle"),this.fillCameraNode=g.getNode("FillCamera"),this.listCompositorNode=g.getNode("ListCompositor"),this._parentTransformMatrix=new i},run:function(c,g,p,T,C,M){this.onRunBegin(c);var A,R=c.renderer.drawingContextPool,P=this.manager,L=p.alpha,F=p.filters.internal.getActive(),w=p.filters.external.getActive(),O=C||p.forceComposite||F.length||w.length||L<1;T?p.matrixExternal.multiply(T,T):T=this._parentTransformMatrix.copyFrom(p.matrixExternal);var B=T.decomposeMatrix(),I=r(B.translateX,0)&&r(B.translateY,0)&&r(B.rotation,0)&&r(B.scaleX,1)&&r(B.scaleY,1),D=p.x,N=p.y,z=p.width,V=p.height,U=c.getClone();U.setCamera(p),O?(A=R.get(z,V),A.setCamera(p),A.setScissorBox(0,0,z,V)):(A=U,A.setScissorBox(D,N,z,V)),A.use();var G=this.fillCameraNode;if(p.backgroundColor.alphaGL>0){var b=p.backgroundColor,Y=l(b.red,b.green,b.blue,b.alpha);G.run(A,Y,O)}this.listCompositorNode.run(A,g,null,M);var W=p.flashEffect;W.postRenderWebGL()&&(Y=l(W.red,W.green,W.blue,W.alpha*255),G.run(A,Y,O));var H=p.fadeEffect;if(H.postRenderWebGL()&&(Y=l(H.red,H.green,H.blue,H.alpha*255),G.run(A,Y,O)),P.finishBatch(),O){var X,K,Z,Q,j,J={smoothPixelArt:P.renderer.game.config.smoothPixelArt},tt=new s(0,0,A.width,A.height);for(X=0;X0,_=!q,rt=new s(0,0,U.width,U.height);if(q){for(X=w.length-1;X>=0;X--)K=w[X],K.active&&(Z=K.getPadding(),rt.setTo(rt.x+Z.x,rt.y+Z.y,rt.width+Z.width,rt.height+Z.height));_=rt.width!==A.width||rt.height!==A.height||!I,_&&(A=R.get(rt.width,rt.height),A.setScissorBox(0,0,rt.width,rt.height),A.setCamera(U.camera),A.use())}else A=U;if(_){var at=rt.x,ht=rt.y,ot;T.setQuad(tt.x,tt.y,tt.x+tt.width,tt.y+tt.height),ot=T.quad,j=q?4294967295:f(L),this.batchHandlerQuadSingleNode.batch(A,k.texture,ot[0]-at,ot[1]-ht,ot[2]-at,ot[3]-ht,ot[6]-at,ot[7]-ht,ot[4]-at,ot[5]-ht,0,1,1,-1,!1,j,j,j,j,J)}if(k!==A&&k.release(),q){var nt=!1;for(k=null,Z=new s,X=0;X{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(6141),i=new e({Extends:l,initialize:function(r){l.call(this,"DrawLine",r)},run:function(s,r,o,a,u,f,v,c,g){this.onRunBegin(s);var p=u-o,T=f-a,C=Math.sqrt(p*p+T*T),M=v*(f-a)/C,A=v*(o-u)/C,R=c*(f-a)/C,P=c*(o-u)/C,L=u-R,F=f-P,w=o-M,O=a-A,B=u+R,I=f+P,D=o+M,N=a+A,z=g.length;r?(g[z+0]=r.getX(D,N),g[z+1]=r.getY(D,N),g[z+2]=r.getX(w,O),g[z+3]=r.getY(w,O),g[z+4]=r.getX(L,F),g[z+5]=r.getY(L,F),g[z+6]=r.getX(B,I),g[z+7]=r.getY(B,I)):(g[z+0]=D,g[z+1]=N,g[z+2]=w,g[z+3]=O,g[z+4]=L,g[z+5]=F,g[z+6]=B,g[z+7]=I),this.onRunEnd(s)}});h.exports=i},95449:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(19715),l=t(42538),i=t(83419),s=t(10312),r=t(6141),o=new i({Extends:r,initialize:function(u){r.call(this,"DynamicTextureHandler",u),this.fillRectNode=this.manager.getNode("FillRect")},run:function(a){var u=a.drawingContext,f=u.camera,v=u.renderer,c=a.manager;this.onRunBegin(u);var g=u.framebuffer.renderTexture;if(g)for(var p=v.glTextureUnits,T=p.units,C=0;C{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(6141),i=new e({Extends:l,initialize:function(r){l.call(this,"FillCamera",r),this.fillRectNode=this.manager.getNode("FillRect")},run:function(s,r,o){this.onRunBegin(s);var a=s.camera,u=o?0:a.x,f=o?0:a.y,v=a.width,c=a.height;this.fillRectNode.run(s,null,null,u,f,v,c,r,r,r,r),this.onRunEnd(s)}});h.exports=i},14255:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(94811),l=t(83419),i=t(6141),s=new l({Extends:i,initialize:function(o){i.call(this,"FillPath",o)},run:function(r,o,a,u,f,v,c,g,p){this.onRunBegin(r),g===void 0&&(g=0);var T=u.length,C,M,A,R,P,L,F=0,w=0,O=[],B=[],I=0;for(M=0;M0&&M{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(61340),l=t(83419),i=t(6141),s=new l({Extends:i,initialize:function(o){i.call(this,"FillRect",o),this._batchHandlerDefault=o.getNode("BatchHandlerTriFlat"),this._identityMatrix=new e,this._indexedTriangles=[0,1,2,2,3,0]},run:function(r,o,a,u,f,v,c,g,p,T,C,M){this.onRunBegin(r),o||(o=this._identityMatrix),a||(a=this._batchHandlerDefault);var A=o.setQuad(u,f,u+v,f+c);a.batch(r,this._indexedTriangles,A,[g,T,C,p],M),this.onRunEnd(r)}});h.exports=s},13119:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(6141),i=new e({Extends:l,initialize:function(r){l.call(this,"FillTri",r),this._indexedTriangles=[0,1,2]},run:function(s,r,o,a,u,f,v,c,g,p,T,C,M){this.onRunBegin(s),r?o.batch(s,this._indexedTriangles,[r.getX(a,u),r.getY(a,u),r.getX(f,v),r.getY(f,v),r.getX(c,g),r.getY(c,g)],[p,T,C],M):o.batch(s,this._indexedTriangles,[a,u,f,v,c,g],[p,T,C],M),this.onRunEnd(s)}});h.exports=i},27996:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(8054),i=t(6141),s=new e({Extends:i,initialize:function(o){i.call(this,"ListCompositor",o)},run:function(r,o,a,u){this.onRunBegin(r);for(var f=r,v=r.blendMode,c=v,g=this.manager.renderer,p=0;p{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(46975),i=t(6141),s=new e({Extends:i,initialize:function(o){i.call(this,"RebindContext",o),this._state={bindings:{activeTexture:0,arrayBuffer:null,elementArrayBuffer:null,framebuffer:null,program:null,renderbuffer:null},vao:null}},run:function(r){this.onRunBegin(r);var o=this.manager.renderer,a=o.glWrapper;o.clearFramebuffer(void 0,void 0,0),a.update(l(this._state,a.state),!0),o.glTextureUnits.unbindAllUnits(),this.onRunEnd(r)}});h.exports=s},6141:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s,r){this.name=s,this.manager=r,this._run=null},run:function(){},onRunBegin:function(i){},onRunEnd:function(i){},setDebug:function(i){i?(this._run=this.run,this.run=function(){var s=this.manager;s.pushDebug(this.name);var r=this._run.apply(this,arguments);return s.popDebug(),r}):(this.run=this._run,this._run=null)}});h.exports=l},30130:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(50792),l=t(83419),i=t(92503),s=t(47406),r=t(53663),o=t(16971),a=t(15214),u=t(72266),f=t(62791),v=t(21832),c=t(62087),g=t(61842),p=t(76409),T=t(95449),C=t(61199),M=t(14255),A=t(12682),R=t(13119),P=t(22731),L=t(57032),F=t(52903),w=t(13922),O=t(33466),B=t(75798),I=t(90830),D=t(52302),N=t(34989),z=t(15600),V=t(99786),U=t(26703),G=t(55905),b=t(58167),Y=t(13279),W=t(27459),H=t(88856),X=t(27996),K=t(56432),Z=t(17486),Q=t(31029),j=t(94494),J=t(87469),tt=t(89723),k=t(12913),q=t(22995),_=t(86081),rt=t(88383),at=t(34454),ht=t(46211),ot=t(95433),nt=new l({Extends:e,initialize:function(lt){e.call(this),this.renderer=lt;var dt=lt.game;this.maxParallelTextureUnits=dt.config.autoMobileTextures&&!dt.device.os.desktop?1:lt.maxTextures,this._nodes={},this._nodeConstructors={BaseFilter:s,BaseFilterShader:r,BatchHandlerPointLight:o,BatchHandlerQuad:a,BatchHandlerQuadSingle:u,BatchHandlerStrip:f,BatchHandlerTileSprite:v,BatchHandlerTriFlat:c,Camera:g,DrawLine:p,DynamicTextureHandler:T,FillCamera:C,FillPath:M,FillRect:A,FillTri:R,FilterBarrel:P,FilterBlend:L,FilterBlocky:F,FilterBlur:w,FilterBlurHigh:O,FilterBlurLow:B,FilterBlurMed:I,FilterBokeh:D,FilterColorMatrix:N,FilterDisplacement:z,FilterGlow:V,FilterMask:U,FilterParallelFilters:G,FilterPixelate:b,FilterSampler:Y,FilterShadow:W,FilterThreshold:H,ListCompositor:X,RebindContext:K,StrokePath:Z,SubmitterQuad:Q,SubmitterTile:j,SubmitterTilemapGPULayer:J,SubmitterTileSprite:tt,TexturerImage:k,TexturerTileSprite:q,TransformerImage:_,TransformerStamp:rt,TransformerTile:at,TransformerTileSprite:ht,YieldContext:ot},Object.entries(dt.config.renderNodes).forEach(function(ct){var Bt=ct[0],Lt=ct[1];this.addNodeConstructor(Bt,Lt)},this),this.currentBatchNode=null,this.currentBatchDrawingContext=null,this.debug=!1,this.debugGraph=null,this.currentDebugNode=null},addNode:function(it,lt){if(this._nodes[it])throw new Error("node "+it+" already exists.");this._nodes[it]=lt,this.debug&<.setDebug(!0)},addNodeConstructor:function(it,lt){if(this._nodeConstructors[it])throw new Error("node constructor "+it+" already exists.");this._nodeConstructors[it]=lt},getNode:function(it){if(this._nodes[it])return this._nodes[it];if(this._nodeConstructors[it]){var lt=new this._nodeConstructors[it](this);return this.addNode(it,lt),lt}return null},hasNode:function(it,lt){return!!this._nodes[it]||!lt&&!!this._nodeConstructors[it]},setCurrentBatchNode:function(it,lt){this.currentBatchNode!==it&&(this.currentBatchNode!==null&&this.currentBatchNode.run(this.currentBatchDrawingContext),this.currentBatchNode=it,this.currentBatchDrawingContext=it?lt:null)},setMaxParallelTextureUnits:function(it){this.maxParallelTextureUnits=Math.max(1,Math.min(it,this.renderer.maxTextures)),this.emit(i.SET_PARALLEL_TEXTURE_UNITS,this.maxParallelTextureUnits)},finishBatch:function(){this.currentBatchNode!==null&&this.setCurrentBatchNode(null)},startStandAloneRender:function(){this.finishBatch()},setDebug:function(it){this.debug=it;for(var lt in this._nodes)this._nodes[lt].setDebug(it);it&&(this.debugGraph=null,this.currentDebugNode=null,this.pushDebug("[Render Tree Root]"),this.renderer.once(i.POST_RENDER,function(){this.setDebug(!1)},this))},pushDebug:function(it){if(this.debug){var lt={name:it,children:[],parent:this.currentDebugNode};this.debugGraph?this.currentDebugNode.children.push(lt):this.debugGraph=lt,this.currentDebugNode=lt}},popDebug:function(){this.debug&&(this.currentDebugNode.parent?this.currentDebugNode=this.currentDebugNode.parent:this.currentDebugNode=null)},debugToString:function(){var it="",lt=0,dt=this.debugGraph;function ct(Lt){return" ".repeat(Lt)}function Bt(Lt,zt){for(var Kt=ct(zt)+Lt.name+` +`,fe=0;fe{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(40952),i=t(56436),s=t(6141),r=t(65884),o=t(72823),a=new e({Extends:s,initialize:function(f,v){s.call(this,"ShaderQuad",f);var c=f.renderer;this.renderer=c,v=this._completeConfig(v),v.updateShaderConfig&&(this.updateShaderConfig=v.updateShaderConfig),this.indexBuffer=c.genericQuadIndexBuffer,this.vertexBufferLayout=new l(c,v.vertexBufferLayout,null),this.programManager=new i(c,[this.vertexBufferLayout],this.indexBuffer),this.programManager.setBaseShader(v.shaderName,v.vertexSource,v.fragmentSource);for(var g=0;g{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(6141),i=new e({Extends:l,initialize:function(r){l.call(this,"StrokePath",r),this.drawLineNode=this.manager.getNode("DrawLine")},run:function(s,r,o,a,u,f,v,c,g,p,T,C){this.onRunBegin(s);var M=this.drawLineNode,A=o.length-1,R,P,L=!1,F=!1;a>2&&A>1&&(L=!0,u||(F=!0));for(var w=[],O=0,B=[],I=0,D,N=[],z=0,V,U,G,b,Y=T*T,W,H,X,K=0;K{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(6141),i=new e({Extends:l,initialize:function(r){l.call(this,"YieldContext",r),this._state={blend:this.manager.renderer.blendModes[0],vao:null}},run:function(s){this.onRunBegin(s);var r=this.manager,o=r.renderer;r.startStandAloneRender(),o.glWrapper.update(this._state),o.glTextureUnits.unbindAllUnits(),this.onRunEnd(s)}});h.exports=i},70972:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(90330),l=new e([["Submitter","SubmitterQuad"],["BatchHandler","BatchHandlerQuad"]]);h.exports=l},98682:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(90330),l=new e([["Submitter","SubmitterQuad"],["BatchHandler","BatchHandlerQuad"]]);h.exports=l},87891:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(90330),l=new e([["Submitter","BatchHandlerTriFlat"],["FillPath","FillPath"],["FillRect","FillRect"],["FillTri","FillTri"],["StrokePath","StrokePath"]]);h.exports=l},40939:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(90330),l=new e([["Submitter","SubmitterQuad"],["BatchHandler","BatchHandlerQuad"],["Transformer","TransformerImage"],["Texturer","TexturerImage"]]);h.exports=l},68668:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(90330),l=new e([["Submitter","SubmitterQuad"],["BatchHandler","BatchHandlerQuad"]]);h.exports=l},43246:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(90330),l=new e([["BatchHandler","BatchHandlerPointLight"]]);h.exports=l},30529:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(90330),l=new e([["BatchHandler","BatchHandlerQuad"]]);h.exports=l},85760:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(90330),l=new e([["BatchHandler","BatchHandlerStrip"]]);h.exports=l},78705:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(90330),l=new e([["Submitter","SubmitterQuad"],["BatchHandler","BatchHandlerQuad"],["Transformer","TransformerStamp"],["Texturer","TexturerImage"]]);h.exports=l},41571:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(90330),l=new e([["Submitter","SubmitterTileSprite"],["BatchHandler","BatchHandlerTileSprite"],["Transformer","TransformerTileSprite"],["Texturer","TexturerTileSprite"]]);h.exports=l},67743:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(90330),l=new e([["Submitter","SubmitterTilemapGPULayer"]]);h.exports=l},79317:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(90330),l=new e([["Submitter","SubmitterTile"],["BatchHandler","BatchHandlerTileSprite"],["Transformer","TransformerTile"]]);h.exports=l},59212:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e={DefaultBitmapTextNodes:t(70972),DefaultBlitterNodes:t(98682),DefaultGraphicsNodes:t(87891),DefaultImageNodes:t(40939),DefaultParticleEmitterNodes:t(68668),DefaultPointLightNodes:t(43246),DefaultQuadNodes:t(30529),DefaultRopeNodes:t(85760),DefaultStampNodes:t(78705),DefaultTilemapGPULayerNodes:t(67743),DefaultTilemapLayerNodes:t(79317),DefaultTileSpriteNodes:t(41571)};h.exports=e},47406:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(6141),i=new e({Extends:l,initialize:function(r,o){l.call(this,r,o)},run:function(s,r,o,a){}});h.exports=i},53663:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(2807),i=t(99501),s=t(56436),r=t(40952),o=t(47406),a=new e({Extends:o,initialize:function(v,c,g,p,T){if(!p){var C=c.renderer.game.cache.shader.get(g);if(!(C&&C.glsl))throw new Error("BaseFilterShader: No fragment shader source provided and no shader found with key "+g);p=C.glsl}o.call(this,v,c);var M=c.renderer,A=M.gl,R={shaderName:v,vertexSource:l,fragmentSource:p,shaderAdditions:T||[],vertexBufferLayout:{usage:"DYNAMIC_DRAW",count:4,layout:[{name:"inPosition",size:2,type:A.FLOAT,normalized:!1},{name:"inTexCoord",size:2,type:A.FLOAT,normalized:!1}]}};R.shaderAdditions.push(i()),this.indexBuffer=M.genericQuadIndexBuffer,this.vertexBufferLayout=new r(M,R.vertexBufferLayout,null),this.programManager=new s(M,[this.vertexBufferLayout],this.indexBuffer),this.programManager.setBaseShader(R.shaderName,R.vertexSource,R.fragmentSource);for(var P=0;P{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(53663),i=t(10235),s=new e({Extends:l,initialize:function(o){l.call(this,"FilterBarrel",o,null,i)},setupUniforms:function(r,o){var a=this.programManager;a.setUniform("amount",r.amount)}});h.exports=s},57032:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(90330),l=t(83419),i=t(10312),s=t(53663),r=t(65980),o=new l({Extends:s,initialize:function(u){this._blendModeMap=new e;var f=this._blendModeMap;Object.entries(i).forEach(function(g){f.set(g[1],g[0])});var v=f.get(i.NORMAL),c=[{name:v,additions:{fragmentHeader:"#define BLEND "+v},tags:["blendmode"]}];s.call(this,"FilterBlend",u,null,r,c)},updateShaderConfig:function(a,u){var f=a.blendMode;f===i.SKIP_CHECK&&(f=i.NORMAL);var v=this._blendModeMap.get(f)||this._blendModeMap.get(i.NORMAL),c=this.programManager.getAdditionsByTag("blendmode")[0];c.name=v,c.additions.fragmentHeader="#define BLEND "+v},setupTextures:function(a,u,f){u[1]=a.glTexture},setupUniforms:function(a,u){var f=this.programManager;f.setUniform("uMainSampler2",1),f.setUniform("amount",a.amount),f.setUniform("color",a.color)}});h.exports=o},52903:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(53663),i=t(5899),s=new e({Extends:l,initialize:function(o){l.call(this,"FilterBlocky",o,null,i)},setupUniforms:function(r,o){var a=this.programManager,u=Math.max(1,r.size.x),f=Math.max(1,r.size.y);a.setUniform("resolution",[o.width,o.height]),a.setUniform("uSizeAndOffset",[u,f,r.offset.x,r.offset.y])}});h.exports=s},13922:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87841),l=t(83419),i=t(47406),s=new l({Extends:i,initialize:function(o){i.call(this,"FilterBlur",o)},run:function(r,o,a,u){this.onRunBegin(a);var f=r.quality,v=r.steps,c=null;switch(f){case 2:{c=this.manager.getNode("FilterBlurHigh");break}case 1:{c=this.manager.getNode("FilterBlurMed");break}case 0:default:{c=this.manager.getNode("FilterBlurLow");break}}var g={strength:r.strength,color:r.glcolor,x:r.x,y:r.y};u||(u=r.getPadding());for(var p=o,T=0;T{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(53663),i=t(20784),s=new e({Extends:l,initialize:function(o){l.call(this,"FilterBlurHigh",o,null,i)},setupUniforms:function(r,o){var a=this.programManager;a.setUniform("resolution",[o.width,o.height]),a.setUniform("strength",r.strength),a.setUniform("color",r.color),a.setUniform("offset",[r.x,r.y])}});h.exports=s},75798:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(53663),i=t(65122),s=new e({Extends:l,initialize:function(o){l.call(this,"FilterBlurLow",o,null,i)},setupUniforms:function(r,o){var a=this.programManager;a.setUniform("resolution",[o.width,o.height]),a.setUniform("strength",r.strength),a.setUniform("color",r.color),a.setUniform("offset",[r.x,r.y])}});h.exports=s},90830:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(53663),i=t(60942),s=new e({Extends:l,initialize:function(o){l.call(this,"FilterBlurMed",o,null,i)},setupUniforms:function(r,o){var a=this.programManager;a.setUniform("resolution",[o.width,o.height]),a.setUniform("strength",r.strength),a.setUniform("color",r.color),a.setUniform("offset",[r.x,r.y])}});h.exports=s},52302:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(53663),i=t(43722),s=new e({Extends:l,initialize:function(o){l.call(this,"FilterBokeh",o,null,i)},setupUniforms:function(r,o){var a=this.programManager;a.setUniform("radius",r.radius),a.setUniform("amount",r.amount),a.setUniform("contrast",r.contrast),a.setUniform("strength",r.strength),a.setUniform("blur",[r.blurX,r.blurY]),a.setUniform("isTiltShift",r.isTiltShift),a.setUniform("resolution",[o.width,o.height])}});h.exports=s},34989:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(53663),i=t(19883),s=new e({Extends:l,initialize:function(o){l.call(this,"FilterColorMatrix",o,null,i)},setupUniforms:function(r,o){var a=this.programManager;a.setUniform("uColorMatrix[0]",r.colorMatrix.getData()),a.setUniform("uAlpha",r.colorMatrix.alpha)}});h.exports=s},15600:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(53663),i=t(12886),s=new e({Extends:l,initialize:function(o){l.call(this,"FilterDisplacement",o,null,i)},setupTextures:function(r,o){o[1]=r.glTexture},setupUniforms:function(r,o){var a=this.programManager;a.setUniform("uDisplacementSampler",1),a.setUniform("amount",[r.x,r.y])}});h.exports=s},99786:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(53663),i=t(33016),s=new e({Extends:l,initialize:function(o){var a=[{name:"distance_10.0",additions:{fragmentDefine:"#define DISTANCE 10.0"},tags:["distance"]},{name:"quality_0.1",additions:{fragmentDefine:"#define QUALITY 0.1"},tags:["quality"]}];l.call(this,"FilterGlow",o,null,i,a)},updateShaderConfig:function(r,o){var a=this.programManager,u=r.distance.toFixed(0)+".0",f=a.getAdditionsByTag("distance")[0];f.name="distance_"+u,f.additions.fragmentDefine=`#undef DISTANCE +#define DISTANCE `+u;var v=r.quality.toFixed(0)+".0",c=a.getAdditionsByTag("quality")[0];c.name="quality_"+v,c.additions.fragmentDefine=`#undef QUALITY +#define QUALITY `+v},setupUniforms:function(r,o){var a=this.programManager;a.setUniform("resolution",[o.width,o.height]),a.setUniform("glowColor",r.glcolor),a.setUniform("outerStrength",r.outerStrength),a.setUniform("innerStrength",r.innerStrength),a.setUniform("scale",r.scale),a.setUniform("knockout",r.knockout)}});h.exports=s},26703:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(53663),i=t(39603),s=new e({Extends:l,initialize:function(o){l.call(this,"FilterMask",o,null,i)},setupTextures:function(r,o,a){r.maskGameObject&&(r.needsUpdate||r.autoUpdate)&&r.updateDynamicTexture(a.width,a.height),o[1]=r.glTexture},setupUniforms:function(r,o){var a=this.programManager;a.setUniform("uMaskSampler",1),a.setUniform("invert",r.invert)}});h.exports=s},55905:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87841),l=t(83419),i=t(10312),s=t(47406),r=new l({Extends:s,initialize:function(a){s.call(this,"FilterParallelFilters",a)},run:function(o,a,u,f){this.onRunBegin(u),a.lock(this);var v=o.bottom.getActive(),c=o.top.getActive(),g=f||o.getPadding();if(v.length+c.length>0){var p=a,T=a;if(v.length>0){f=g;for(var C=0;C0)for(f=g,C=0;C{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(53663),i=t(99191),s=new e({Extends:l,initialize:function(o){l.call(this,"FilterPixelate",o,null,i)},setupUniforms:function(r,o){var a=this.programManager;a.setUniform("amount",r.amount),a.setUniform("resolution",[o.width,o.height])}});h.exports=s},13279:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(47406),i=new e({Extends:l,initialize:function(r){l.call(this,"FilterSampler",r)},run:function(s,r,o,a){this.onRunBegin(r);var u=this.manager.renderer,f=0,v=0,c=1,g=1,p=r.width,T=r.height,C=!1;return s.region?(f=s.region.x,v=s.region.y,s.region.width!==void 0?(c=s.region.width,g=s.region.height):C=!0):(c=p,g=T),u.snapshotFramebuffer(r.framebuffer,p,T,s.callback,C,f,v,c,g),this.onRunEnd(r),r}});h.exports=i},27459:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(53663),i=t(69355),s=new e({Extends:l,initialize:function(o){l.call(this,"FilterShadow",o,null,i)},setupUniforms:function(r,o){var a=this.programManager,u=r.samples;a.setUniform("lightPosition",[r.x,1-r.y]),a.setUniform("decay",r.decay),a.setUniform("power",r.power/u),a.setUniform("color",r.glcolor),a.setUniform("samples",u),a.setUniform("intensity",r.intensity)}});h.exports=s},88856:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(53663),i=t(92636),s=new e({Extends:l,initialize:function(o){l.call(this,"FilterThreshold",o,null,i)},setupUniforms:function(r,o){var a=this.programManager;a.setUniform("edge1",r.edge1),a.setUniform("edge2",r.edge2),a.setUniform("invert",r.invert)}});h.exports=s},54521:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e={BaseFilter:t(47406),BaseFilterShader:t(53663),BatchHandler:t(13961),BatchHandlerPointLight:t(16971),BatchHandlerQuad:t(15214),BatchHandlerQuadSingle:t(72266),BatchHandlerStrip:t(62791),BatchHandlerTileSprite:t(21832),BatchHandlerTriFlat:t(62087),Camera:t(61842),Defaults:t(59212),DrawLine:t(76409),DynamicTextureHandler:t(95449),FillCamera:t(61199),FillPath:t(14255),FillRect:t(12682),FillTri:t(13119),FilterBarrel:t(22731),FilterBlend:t(57032),FilterBlur:t(13922),FilterBlurHigh:t(33466),FilterBlurLow:t(75798),FilterBlurMed:t(90830),FilterBokeh:t(52302),FilterColorMatrix:t(34989),FilterDisplacement:t(15600),FilterGlow:t(99786),FilterMask:t(26703),FilterParallelFilters:t(55905),FilterPixelate:t(58167),FilterSampler:t(13279),FilterShadow:t(27459),FilterThreshold:t(88856),ListCompositor:t(27996),RebindContext:t(56432),RenderNode:t(6141),StrokePath:t(17486),SubmitterQuad:t(31029),SubmitterSpriteGPULayer:t(53384),SubmitterTile:t(94494),SubmitterTilemapGPULayer:t(87469),SubmitterTileSprite:t(89723),TexturerImage:t(12913),TexturerTileSprite:t(22995),TransformerImage:t(86081),TransformerStamp:t(88383),TransformerTile:t(34454),TransformerTileSprite:t(46211),YieldContext:t(95433)};h.exports=e},31029:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(46975),i=t(70554),s=t(6141),r=i.getTintAppendFloatAlpha,o=new e({Extends:s,initialize:function(u,f){f=l(f||{},this.defaultConfig),s.call(this,f.name,u),this.batchHandler=f.batchHandler,this._renderOptions={multiTexturing:!0,lighting:null,smoothPixelArt:null},this._lightingOptions={normalGLTexture:null,normalMapRotation:0,selfShadow:{enabled:!1,penumbra:0,diffuseFlatThreshold:0}}},defaultConfig:{name:"SubmitterQuad",role:"Submitter",batchHandler:"BatchHandler"},run:function(a,u,f,v,c,g,p,T,C){this.onRunBegin(a);var M,A,R,P,L;c.run&&c.run(a,u,v),g.run&&g.run(a,u,c,f,v),p?(p.run&&p.run(a,u,v),M=p.tintFill,A=p.tintTopLeft,R=p.tintBottomLeft,P=p.tintTopRight,L=p.tintBottomRight):(M=u.tintFill,A=r(u.tintTopLeft,u._alphaTL),R=r(u.tintBottomLeft,u._alphaBL),P=r(u.tintTopRight,u._alphaTR),L=r(u.tintBottomRight,u._alphaBR));var F=g.quad,w=c.uvSource,O=w.u0,B=w.v0,I=w.u1,D=w.v1;this.setRenderOptions(u,T,C),(u.customRenderNodes[this.batchHandler]||u.defaultRenderNodes[this.batchHandler]).batch(a,c.frame.source.glTexture,F[0],F[1],F[2],F[3],F[6],F[7],F[4],F[5],O,B,I-O,D-B,M,A,R,P,L,this._renderOptions),this.onRunEnd(a)},setRenderOptions:function(a,u,f){var v=this._renderOptions,c,g;if(a.displayTexture?(c=a.displayTexture,g=a.displayFrame.sourceIndex):a.texture?(c=a.texture,g=a.frame.sourceIndex):a.tileset&&(Array.isArray(a.tileset)?c=a.tileset[0].image:c=a.tileset.image,g=0),a.lighting){if(u||c&&(u=c.dataSource[g]),u?u=u.glTexture:u=this.manager.renderer.normalTexture,isNaN(f)&&(f=a.rotation,a.parentContainer)){var p=a.getWorldTransformMatrix(this._tempMatrix,this._tempMatrix2);f=p.rotationNormalized}var T=a.selfShadow,C=T.enabled;C===null&&(C=a.scene.sys.game.config.selfShadow),this._lightingOptions.normalGLTexture=u,this._lightingOptions.normalMapRotation=f,this._lightingOptions.selfShadow.enabled=C,this._lightingOptions.selfShadow.penumbra=T.penumbra,this._lightingOptions.selfShadow.diffuseFlatThreshold=T.diffuseFlatThreshold,v.lighting=this._lightingOptions}else v.lighting=null;var M;c&&c.smoothPixelArt!==null?M=c.smoothPixelArt:M=a.scene.sys.game.config.smoothPixelArt,v.smoothPixelArt=M}});h.exports=o},53384:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(61340),l=t(26099),i=t(83419),s=t(46975),r=t(56436),o=t(81084),a=t(44349),u=t(6184),f=t(11653),v=t(40829),c=t(42792),g=t(96049),p=t(33997),T=t(79532),C=t(74505),M=t(70554),A=t(40952),R=t(6141),P=t(49119),L=t(3524),F=new i({Extends:R,initialize:function(O,B,I){var D=O.renderer,N=s(B||{},this.defaultConfig),z=N.name;this._completeLayout(N),R.call(this,z,O),this.config=N,this.gameObject=I,this.instanceBufferLayout=new A(D,N.instanceBufferLayout,null),this.vertexBufferLayout=new A(D,N.vertexBufferLayout,null);var V=this.vertexBufferLayout.buffer,U=V.viewU8;if(U[0]=0,U[1]=1,U[2]=2,U[3]=3,V.update(),this.programManager=new r(D,[this.vertexBufferLayout,this.instanceBufferLayout],this.indexBuffer),this.programManager.setBaseShader(N.shaderName,N.vertexSource,N.fragmentSource),N.shaderAdditions)for(var G=0;G0){var D=this.instanceBufferLayout.buffer,N=B.memberCount,z=Math.floor(N/B.bufferUpdateSegmentSize),V=!0;for(O=0;O<=z;O++)if(!(1<{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(31029),i=new e({Extends:l,initialize:function(r,o){l.call(this,r,o),this._renderOptions.clampFrame=!0},defaultConfig:{name:"SubmitterTile",role:"Submitter",batchHandler:"BatchHandler"},run:function(s,r,o,a,u,f,v,c,g){this.onRunBegin(s);var p,T,C,M,A;if(u.run&&u.run(s,r,a),f.run&&f.run(s,r,u,o,a),v)v.run&&v.run(s,r,a),p=v.tintFill,T=v.tintTopLeft,C=v.tintBottomLeft,M=v.tintTopRight,A=v.tintBottomRight;else{p=r.tintFill;var R=4294967295;T=R,C=R,M=R,A=R}var P=u.frame,L=f.quad,F=u.uvSource,w=F.u0,O=F.v0,B=F.u1,I=F.v1;this.setRenderOptions(r,c,g),(r.customRenderNodes[this.batchHandler]||r.defaultRenderNodes[this.batchHandler]).batch(s,P.source.glTexture,L[0],L[1],L[2],L[3],L[6],L[7],L[4],L[5],w,O,B-w,I-O,p,T,C,M,A,this._renderOptions,w,I,w,O,B,I,B,O),this.onRunEnd(s)}});h.exports=i},89723:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(70554),i=t(31029),s=l.getTintAppendFloatAlpha,r=new e({Extends:i,initialize:function(a,u){i.call(this,a,u),this._renderOptions.wrapFrame=!0},defaultConfig:{name:"SubmitterTileSprite",role:"Submitter",batchHandler:"BatchHandler"},run:function(o,a,u,f,v,c,g,p,T){this.onRunBegin(o);var C,M,A,R,P;v.run&&v.run(o,a,f),c.run&&c.run(o,a,v,u,f),g?(g.run&&g.run(o,a,f),C=g.tintFill,M=g.tintTopLeft,A=g.tintBottomLeft,R=g.tintTopRight,P=g.tintBottomRight):(C=a.tintFill,M=s(a.tintTopLeft,a._alphaTL),A=s(a.tintBottomLeft,a._alphaBL),R=s(a.tintTopRight,a._alphaTR),P=s(a.tintBottomRight,a._alphaBR));var L=v.frame,F=c.quad,w=L,O=w.u0,B=w.v0,I=w.u1,D=w.v1,N=v.uvMatrix.quad;this.setRenderOptions(a,p,T),this._lightingOptions.normalMapRotation+=a.tileRotation,(a.customRenderNodes[this.batchHandler]||a.defaultRenderNodes[this.batchHandler]).batch(o,L.source.glTexture,F[0],F[1],F[2],F[3],F[6],F[7],F[4],F[5],O,B,I-O,D-B,C,M,A,R,P,this._renderOptions,N[0],N[1],N[2],N[3],N[6],N[7],N[4],N[5]),this.onRunEnd(o)}});h.exports=r},87469:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license None + */var e=t(61340),l=t(26099),i=t(83419),s=t(46975),r=t(56436),o=t(84639),a=t(81084),u=t(6184),f=t(747),v=t(74505),c=t(57532),g=t(23879),p=t(40952),T=t(6141),C=t(70554),M=new i({Extends:T,initialize:function(R,P){var L=R.renderer,F=s(P||{},this.defaultConfig),w=F.name;if(this._completeLayout(F),T.call(this,w,R),this.config=F,this.indexBuffer=L.genericQuadIndexBuffer,this.vertexBufferLayout=new p(L,F.vertexBufferLayout,null),this.programManager=new r(L,[this.vertexBufferLayout],this.indexBuffer),this.programManager.setBaseShader(F.shaderName,F.vertexSource,F.fragmentSource),F.shaderAdditions)for(var O=0;O0&&R.addAddition(o(A.tileset.maxAnimationLength));for(var F=A.lighting,w=R.getAdditionsByTag("LIGHTING"),O=0;O0,K=[H,R.layerDataTexture];if(X&&(K[2]=W.getAnimationDataTexture(F)),R.lighting){var Z=W.image,Q=Z.dataSource[0];Q?Q=Q.glTexture:Q=this.manager.renderer.normalTexture,K[3]=Q}this.updateRenderOptions(R);var j=this.programManager,J=j.getCurrentProgramSuite();if(J){var tt=J.program,k=J.vao;this.setupUniforms(A,R),j.applyUniforms(tt),F.drawElements(A,K,tt,k,4,0)}this.onRunEnd(A)}});h.exports=M},12913:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(6141),i=new e({Extends:l,initialize:function(r){l.call(this,"TexturerImage",r),this.frame=null,this.frameWidth=0,this.frameHeight=0,this.uvSource=null},run:function(s,r,o){this.onRunBegin(s);var a=r.frame;if(this.frame=a,this.frameWidth=a.cutWidth,this.frameHeight=a.cutHeight,this.uvSource=a,r.isCropped){var u=r._crop;this.uvSource=u,(u.flipX!==r.flipX||u.flipY!==r.flipY)&&r.frame.updateCropUVs(u,r.flipX,r.flipY),this.frameWidth=u.width,this.frameHeight=u.height}var f=a.source.resolution;this.frameWidth/=f,this.frameHeight/=f,this.onRunEnd(s)}});h.exports=i},22995:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(61340),l=t(83419),i=t(6141),s=new l({Extends:i,initialize:function(o){i.call(this,"TexturerTileSprite",o),this.frame=null,this.uvMatrix=new e},run:function(r,o,a){this.onRunBegin(r);var u=o.frame;if(this.frame=u,o.isCropped){var f=o._crop;(f.flipX!==o.flipX||f.flipY!==o.flipY)&&o.frame.updateCropUVs(f,o.flipX,o.flipY)}this.uvMatrix.loadIdentity(),this.uvMatrix.scale(1/u.width,1/u.height),this.uvMatrix.translate(o.tilePositionX,o.tilePositionY),this.uvMatrix.scale(1/o.tileScaleX,1/o.tileScaleY),this.uvMatrix.rotate(-o.tileRotation),this.uvMatrix.setQuad(0,0,o.width,o.height),this.onRunEnd(r)}});h.exports=s},86081:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(61340),l=t(83419),i=t(46975),s=t(6141),r=new l({Extends:s,initialize:function(a,u){u=i(u||{},this.defaultConfig),s.call(this,u.name,a),this.quad=new Float32Array(8),this._spriteMatrix=new e,this._calcMatrix=new e},defaultConfig:{name:"TransformerImage",role:"Transformer"},run:function(o,a,u,f,v){this.onRunBegin(o);var c=u.frame,g=u.uvSource,p=g.x,T=g.y,C=a.displayOriginX,M=a.displayOriginY,A=-C+p,R=-M+T,P=c.customPivot,L=1,F=1;a.flipX&&(P||(A+=-c.realWidth+C*2),L=-1),a.flipY&&(P||(R+=-c.realHeight+M*2),F=-1);var w=o.camera,O=this._spriteMatrix,B=this._calcMatrix.copyWithScrollFactorFrom(w.getViewMatrix(!o.useCanvas),w.scrollX,w.scrollY,a.scrollFactorX,a.scrollFactorY);f&&B.multiply(f),O.applyITRS(a.x,a.y,a.rotation,a.scaleX*L,a.scaleY*F),B.multiply(O),B.setQuad(A,R,A+u.frameWidth,R+u.frameHeight,this.quad);var I=B.matrix,D=I[0]===1&&I[1]===0&&I[2]===0&&I[3]===1;if(a.willRoundVertices(w,D)){var N=this.quad;N[0]=Math.round(N[0]),N[1]=Math.round(N[1]),N[2]=Math.round(N[2]),N[3]=Math.round(N[3]),N[4]=Math.round(N[4]),N[5]=Math.round(N[5]),N[6]=Math.round(N[6]),N[7]=Math.round(N[7])}this.onRunEnd(o)}});h.exports=r},88383:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(61340),l=t(83419),i=t(46975),s=t(6141),r=new l({Extends:s,initialize:function(a,u){u=i(u||{},this.defaultConfig),s.call(this,u.name,a),this._spriteMatrix=new e,this.quad=this._spriteMatrix.quad},defaultConfig:{name:"TransformerStamp",role:"Transformer"},run:function(o,a,u,f,v){this.onRunBegin(o);var c=u.frame,g=u.uvSource,p=g.x,T=g.y,C=a.displayOriginX,M=a.displayOriginY,A=-C+p,R=-M+T,P=c.customPivot,L=1,F=1;a.flipX&&(P||(A+=-c.realWidth+C*2),L=-1),a.flipY&&(P||(R+=-c.realHeight+M*2),F=-1);var w=a.x,O=a.y,B=this._spriteMatrix;B.applyITRS(w,O,a.rotation,a.scaleX*L,a.scaleY*F);var I=B.matrix;this.onlyTranslate=I[0]===1&&I[1]===0&&I[2]===0&&I[3]===1,B.setQuad(A,R,A+u.frameWidth,R+u.frameHeight);var D=B.matrix,N=D[0]===1&&D[1]===0&&D[2]===0&&D[3]===1;if(a.willRoundVertices(o.camera,N)){var z=this.quad;z[0]=Math.round(z[0]),z[1]=Math.round(z[1]),z[2]=Math.round(z[2]),z[3]=Math.round(z[3]),z[4]=Math.round(z[4]),z[5]=Math.round(z[5]),z[6]=Math.round(z[6]),z[7]=Math.round(z[7])}this.onRunEnd(o)}});h.exports=r},34454:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(86081),i=new e({Extends:l,initialize:function(r,o){l.call(this,r,o)},defaultConfig:{name:"TransformerTile",role:"Transformer"},run:function(s,r,o,a,u){this.onRunBegin(s);var f=s.camera,v=this._calcMatrix,c=this._spriteMatrix;v.copyWithScrollFactorFrom(f.getViewMatrix(!s.useCanvas),f.scrollX,f.scrollY,r.scrollFactorX,r.scrollFactorY),a&&v.multiply(a);var g=o.frameWidth,p=o.frameHeight,T=g,C=p,M=g/2,A=p/2,R=r.scaleX,P=r.scaleY,L=r.gidMap[u.index],F=L.tileOffset.x,w=L.tileOffset.y,O=r.x+u.pixelX*R+(M*R-F),B=r.y+u.pixelY*P+(A*P-w),I=-M,D=-A;u.flipX&&(T*=-1,I+=g),u.flipY&&(C*=-1,I+=p),c.applyITRS(O,B,u.rotation,R,P),v.multiply(c),v.setQuad(I,D,I+T,D+C,this.quad);var N=v.matrix,z=N[0]===1&&N[1]===0&&N[2]===0&&N[3]===1;if(r.willRoundVertices(f,z)){var V=this.quad;V[0]=Math.round(V[0]),V[1]=Math.round(V[1]),V[2]=Math.round(V[2]),V[3]=Math.round(V[3]),V[4]=Math.round(V[4]),V[5]=Math.round(V[5]),V[6]=Math.round(V[6]),V[7]=Math.round(V[7])}this.onRunEnd(s)}});h.exports=i},46211:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(86081),i=new e({Extends:l,initialize:function(r,o){l.call(this,r,o)},defaultConfig:{name:"TransformerTileSprite",role:"Transformer"},run:function(s,r,o,a,u){this.onRunBegin(s);var f=r.width,v=r.height,c=r.displayOriginX,g=r.displayOriginY,p=-c,T=-g,C=1,M=1;r.flipX&&(p+=-f+c*2,C=-1),r.flipY&&(T+=-v+g*2,M=-1);var A=r.x,R=r.y,P=s.camera,L=this._calcMatrix,F=this._spriteMatrix;L.copyWithScrollFactorFrom(P.getViewMatrix(!s.useCanvas),P.scrollX,P.scrollY,r.scrollFactorX,r.scrollFactorY),a&&L.multiply(a),F.applyITRS(A,R,r.rotation,r.scaleX*C,r.scaleY*M),L.multiply(F),L.setQuad(p,T,p+f,T+v,this.quad);var w=L.matrix,O=w[0]===1&&w[1]===0&&w[2]===0&&w[3]===1;if(r.willRoundVertices(P,O)){var B=this.quad;B[0]=Math.round(B[0]),B[1]=Math.round(B[1]),B[2]=Math.round(B[2]),B[3]=Math.round(B[3]),B[4]=Math.round(B[4]),B[5]=Math.round(B[5]),B[6]=Math.round(B[6]),B[7]=Math.round(B[7])}this.onRunEnd(s)}});h.exports=i},84547:h=>{h.exports=["vec4 applyLighting (vec4 fragColor, vec3 normal)","{"," vec4 lighting = getLighting(fragColor, normal);"," return fragColor * vec4(lighting.rgb * lighting.a, lighting.a);","}"].join(` +`)},11104:h=>{h.exports=["vec4 applyTint(vec4 texture)","{"," vec4 texel = vec4(outTint.bgr * outTint.a, outTint.a);"," vec4 color = texture * texel;"," if (outTintEffect == 1.0)"," {"," color.rgb = mix(texture.rgb, outTint.bgr * outTint.a, texture.a);"," }"," else if (outTintEffect == 2.0)"," {"," color = texel;"," }"," return color;","}"].join(` +`)},81556:h=>{h.exports=["vec4 boundedSampler(sampler2D sampler, vec2 uv)","{"," if (clamp(uv, 0.0, 1.0) != uv)"," {"," return vec4(0.0, 0.0, 0.0, 0.0);"," }"," return texture2D(sampler, uv);","}"].join(` +`)},96293:h=>{h.exports=["#define SHADER_NAME PHASER_COLORMATRIX_FS","precision mediump float;","uniform sampler2D uMainSampler;","uniform float uColorMatrix[20];","uniform float uAlpha;","varying vec2 outTexCoord;","void main ()","{"," vec4 c = texture2D(uMainSampler, outTexCoord);"," if (uAlpha == 0.0)"," {"," gl_FragColor = c;"," return;"," }"," if (c.a > 0.0)"," {"," c.rgb /= c.a;"," }"," vec4 result;"," result.r = (uColorMatrix[0] * c.r) + (uColorMatrix[1] * c.g) + (uColorMatrix[2] * c.b) + (uColorMatrix[3] * c.a) + uColorMatrix[4];"," result.g = (uColorMatrix[5] * c.r) + (uColorMatrix[6] * c.g) + (uColorMatrix[7] * c.b) + (uColorMatrix[8] * c.a) + uColorMatrix[9];"," result.b = (uColorMatrix[10] * c.r) + (uColorMatrix[11] * c.g) + (uColorMatrix[12] * c.b) + (uColorMatrix[13] * c.a) + uColorMatrix[14];"," result.a = (uColorMatrix[15] * c.r) + (uColorMatrix[16] * c.g) + (uColorMatrix[17] * c.b) + (uColorMatrix[18] * c.a) + uColorMatrix[19];"," c.rgb *= c.a;"," result.rgb *= result.a;"," gl_FragColor = mix(c, result, uAlpha);","}"].join(` +`)},78390:h=>{h.exports=["vec2 v2len (vec2 a, vec2 b)","{"," return sqrt(a*a+b*b);","}","vec2 getBlockyTexCoord (vec2 texCoord, vec2 texRes) {"," texCoord *= texRes;"," vec2 seam = floor(texCoord + 0.5);"," texCoord = (texCoord - seam) / v2len(dFdx(texCoord), dFdy(texCoord)) + seam;"," texCoord = clamp(texCoord, seam-.5, seam+.5);"," return texCoord / texRes;","}"].join(` +`)},11719:h=>{h.exports=["struct Light","{"," vec3 position;"," vec3 color;"," float intensity;"," float radius;","};","const int kMaxLights = LIGHT_COUNT;","uniform vec4 uCamera; /* x, y, rotation, zoom */","uniform sampler2D uNormSampler;","uniform vec3 uAmbientLightColor;","uniform Light uLights[kMaxLights];","uniform int uLightCount;","#ifdef FEATURE_SELFSHADOW","uniform float uDiffuseFlatThreshold;","uniform float uPenumbra;","#endif","vec4 getLighting (vec4 fragColor, vec3 normal)","{"," vec3 finalColor = vec3(0.0);"," vec2 res = vec2(min(uResolution.x, uResolution.y)) * uCamera.w;"," #ifdef FEATURE_SELFSHADOW"," vec3 unpremultipliedColor = fragColor.rgb / fragColor.a;"," float occlusionThreshold = 1.0 - ((unpremultipliedColor.r + unpremultipliedColor.g + unpremultipliedColor.b) / uDiffuseFlatThreshold);"," #endif"," for (int index = 0; index < kMaxLights; ++index)"," {"," if (index < uLightCount)"," {"," Light light = uLights[index];"," vec3 lightDir = vec3((light.position.xy / res) - (gl_FragCoord.xy / res), light.position.z / res.x);"," vec3 lightNormal = normalize(lightDir);"," float distToSurf = length(lightDir) * uCamera.w;"," float diffuseFactor = max(dot(normal, lightNormal), 0.0);"," float radius = (light.radius / res.x * uCamera.w) * uCamera.w;"," float attenuation = clamp(1.0 - distToSurf * distToSurf / (radius * radius), 0.0, 1.0);"," #ifdef FEATURE_SELFSHADOW"," float occluded = smoothstep(0.0, 1.0, (diffuseFactor - occlusionThreshold) / uPenumbra);"," vec3 diffuse = light.color * diffuseFactor * occluded;"," #else"," vec3 diffuse = light.color * diffuseFactor;"," #endif"," finalColor += (attenuation * diffuse) * light.intensity;"," }"," }"," vec4 colorOutput = vec4(uAmbientLightColor + finalColor, 1.0);"," return colorOutput;","}"].join(` +`)},14030:h=>{h.exports=["vec2 clampTexCoordWithinFrame (vec2 texCoord)","{"," vec2 texRes = getTexRes();"," vec4 frameTexel = outFrame * texRes.xyxy;"," vec2 frameMin = frameTexel.xy + vec2(0.5, 0.5);"," vec2 frameMax = frameTexel.xy + frameTexel.zw - vec2(0.5, 0.5);"," return clamp(texCoord, frameMin / texRes, frameMax / texRes);","}"].join(` +`)},10235:h=>{h.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform float amount;","varying vec2 outTexCoord;","#pragma phaserTemplate(fragmentHeader)","vec2 Distort(vec2 p)","{"," float theta = atan(p.y, p.x);"," float radius = length(p);"," radius = pow(radius, amount);"," p.x = radius * cos(theta);"," p.y = radius * sin(theta);"," return 0.5 * (p + 1.0);","}","void main()","{"," vec2 xy = 2.0 * outTexCoord - 1.0;"," vec2 texCoord = outTexCoord;"," if (length(xy) < 1.0)"," {"," texCoord = Distort(xy);"," }"," gl_FragColor = boundedSampler(uMainSampler, texCoord);","}"].join(` +`)},65980:h=>{h.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform sampler2D uMainSampler2;","uniform float amount;","uniform vec4 color;","varying vec2 outTexCoord;","vec4 NORMAL (vec4 base, vec4 blend)","{"," return blend + base * (1.0 - blend.a);","}","vec4 ADD (vec4 base, vec4 blend)","{"," return base + blend;","}","vec4 MULTIPLY (vec4 base, vec4 blend)","{"," return base * blend;","}","vec4 SCREEN (vec4 base, vec4 blend)","{"," return 1.0 - (1.0 - base) * (1.0 - blend);","}","float overlayChannel (float base, float blend)","{"," return base < 0.5 ? 2.0 * base * blend : 1.0 - 2.0 * (1.0 - base) * (1.0 - blend);","}","vec4 OVERLAY (vec4 base, vec4 blend)","{"," return vec4("," overlayChannel(base.r, blend.r),"," overlayChannel(base.g, blend.g),"," overlayChannel(base.b, blend.b),"," overlayChannel(base.a, blend.a)"," );","}","vec4 DARKEN (vec4 base, vec4 blend)","{"," return min(base, blend);","}","vec4 LIGHTEN (vec4 base, vec4 blend)","{"," return max(base, blend);","}","float dodgeChannel (float base, float blend)","{"," return blend == 1.0 ? blend : min(1.0, base / (1.0 - blend));","}","vec4 COLOR_DODGE (vec4 base, vec4 blend)","{"," return vec4("," dodgeChannel(base.r, blend.r),"," dodgeChannel(base.g, blend.g),"," dodgeChannel(base.b, blend.b),"," dodgeChannel(base.a, blend.a)"," );","}","float burnChannel (float base, float blend)","{"," return blend == 0.0 ? blend : 1.0 - min(1.0, (1.0 - base) / blend);","}","vec4 COLOR_BURN (vec4 base, vec4 blend)","{"," return vec4("," burnChannel(base.r, blend.r),"," burnChannel(base.g, blend.g),"," burnChannel(base.b, blend.b),"," burnChannel(base.a, blend.a)"," );","}","float hardLightChannel (float base, float blend)","{"," return blend < 0.5 ? 2.0 * base * blend : 1.0 - 2.0 * (1.0 - base) * (1.0 - blend);","}","vec4 HARD_LIGHT (vec4 base, vec4 blend)","{"," return vec4("," hardLightChannel(base.r, blend.r),"," hardLightChannel(base.g, blend.g),"," hardLightChannel(base.b, blend.b),"," hardLightChannel(base.a, blend.a)"," );","}","float softLightChannel (float base, float blend)","{"," return blend < 0.5 ? (2.0 * base * blend + base * base * (1.0 - 2.0 * blend)) : (sqrt(base) * (2.0 * blend - 1.0) + 2.0 * base * (1.0 - blend));","}","vec4 SOFT_LIGHT (vec4 base, vec4 blend)","{"," return vec4("," softLightChannel(base.r, blend.r),"," softLightChannel(base.g, blend.g),"," softLightChannel(base.b, blend.b),"," softLightChannel(base.a, blend.a)"," );","}","vec4 DIFFERENCE (vec4 base, vec4 blend)","{"," return abs(base - blend);","}","vec4 EXCLUSION (vec4 base, vec4 blend)","{"," return base + blend - 2.0 * base * blend;","}","vec3 rgbToHsl (vec3 color)","{"," vec3 hsl = vec3(0.0);"," float fmin = min(min(color.r, color.g), color.b);"," float fmax = max(max(color.r, color.g), color.b);"," float delta = fmax - fmin;"," hsl.z = (fmax + fmin) / 2.0;"," if (delta == 0.0)"," {"," hsl.x = 0.0;"," hsl.y = 0.0;"," }"," else"," {"," if (hsl.z < 0.5)"," {"," hsl.y = delta / (fmax + fmin);"," }"," else"," {"," hsl.y = delta / (2.0 - fmax - fmin);"," }"," float deltaR = (((fmax - color.r) / 6.0) + (delta / 2.0)) / delta;"," float deltaG = (((fmax - color.g) / 6.0) + (delta / 2.0)) / delta;"," float deltaB = (((fmax - color.b) / 6.0) + (delta / 2.0)) / delta;"," if (color.r == fmax)"," {"," hsl.x = deltaB - deltaG;"," }"," else if (color.g == fmax)"," {"," hsl.x = (1.0 / 3.0) + deltaR - deltaB;"," }"," else if (color.b == fmax)"," {"," hsl.x = (2.0 / 3.0) + deltaG - deltaR;"," }"," if (hsl.x < 0.0)"," {"," hsl.x += 1.0;"," }"," else if (hsl.x > 1.0)"," {"," hsl.x -= 1.0;"," }"," }"," return hsl;","}","vec3 hslToRgb (vec3 hsl)","{"," float p = hsl.z * (1.0 - hsl.y);"," float q = hsl.z * (1.0 - hsl.y * hsl.x);"," float t = hsl.z * (1.0 - hsl.y * (1.0 - hsl.x));"," if (hsl.x < 1.0 / 6.0)"," {"," return vec3(hsl.z, t, p);"," }"," else if (hsl.x < 0.5)"," {"," return vec3(q, hsl.z, p);"," }"," else if (hsl.x < 2.0 / 3.0)"," {"," return vec3(p, hsl.z, t);"," }"," return vec3(p, q, hsl.z);","}","vec4 HUE (vec4 base, vec4 blend)","{"," vec3 baseHSL = rgbToHsl(base.rgb);"," vec3 blendHSL = rgbToHsl(blend.rgb);"," return vec4(hslToRgb(vec3(blendHSL.x, baseHSL.y, baseHSL.z)), base.a);","}","vec4 SATURATION (vec4 base, vec4 blend)","{"," vec3 baseHSL = rgbToHsl(base.rgb);"," vec3 blendHSL = rgbToHsl(blend.rgb);"," return vec4(hslToRgb(vec3(baseHSL.x, blendHSL.y, baseHSL.z)), base.a);","}","vec4 COLOR (vec4 base, vec4 blend)","{"," vec3 baseHSL = rgbToHsl(base.rgb);"," vec3 blendHSL = rgbToHsl(blend.rgb);"," return vec4(hslToRgb(vec3(blendHSL.x, blendHSL.y, baseHSL.z)), base.a);","}","vec4 LUMINOSITY (vec4 base, vec4 blend)","{"," vec3 baseHSL = rgbToHsl(base.rgb);"," vec3 blendHSL = rgbToHsl(blend.rgb);"," return vec4(hslToRgb(vec3(baseHSL.x, baseHSL.y, blendHSL.z)), base.a);","}","vec4 ERASE (vec4 base, vec4 blend)","{"," return base * (1.0 - blend.a);","}","vec4 SOURCE_IN (vec4 base, vec4 blend)","{"," return blend * base.a;","}","vec4 SOURCE_OUT (vec4 base, vec4 blend)","{"," return blend * (1.0 - base.a);","}","vec4 SOURCE_ATOP (vec4 base, vec4 blend)","{"," return base * (1.0 - blend.a) + blend * base.a;","}","vec4 DESTINATION_OVER (vec4 base, vec4 blend)","{"," return base + blend * (1.0 - base.a);","}","vec4 DESTINATION_IN (vec4 base, vec4 blend)","{"," return base * blend.a;","}","vec4 DESTINATION_OUT (vec4 base, vec4 blend)","{"," return base * (1.0 - blend.a);","}","vec4 DESTINATION_ATOP (vec4 base, vec4 blend)","{"," return base * blend.a + blend * (1.0 - base.a);","}","vec4 LIGHTER (vec4 base, vec4 blend)","{"," return ADD(base, blend);","}","vec4 COPY (vec4 base, vec4 blend)","{"," return blend;","}","vec4 XOR (vec4 base, vec4 blend)","{"," return base * (1.0 - blend.a) + blend * (1.0 - base.a);","}","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec4 base = boundedSampler(uMainSampler, outTexCoord);"," vec4 blend = boundedSampler(uMainSampler2, outTexCoord) * color;"," vec4 blended = BLEND(base, blend);"," gl_FragColor = mix(base, blended, amount);","}"].join(` +`)},5899:h=>{h.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform vec2 resolution;","uniform vec4 uSizeAndOffset;","varying vec2 outTexCoord;","void main()","{"," vec2 gridCell = floor((outTexCoord * resolution + uSizeAndOffset.zw) / uSizeAndOffset.xy) * uSizeAndOffset.xy - uSizeAndOffset.zw;"," vec2 texCoord = gridCell / resolution;"," gl_FragColor = texture2D(uMainSampler, texCoord);","}"].join(` +`)},20784:h=>{h.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform vec2 resolution;","uniform vec2 offset;","uniform float strength;","uniform vec3 color;","varying vec2 outTexCoord;","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec2 uv = outTexCoord;"," vec4 col = vec4(0.0);"," vec2 off1 = vec2(1.411764705882353) * offset * strength;"," vec2 off2 = vec2(3.2941176470588234) * offset * strength;"," vec2 off3 = vec2(5.176470588235294) * offset * strength;"," col += boundedSampler(uMainSampler, uv) * 0.1964825501511404;"," col += boundedSampler(uMainSampler, uv + (off1 / resolution)) * 0.2969069646728344;"," col += boundedSampler(uMainSampler, uv - (off1 / resolution)) * 0.2969069646728344;"," col += boundedSampler(uMainSampler, uv + (off2 / resolution)) * 0.09447039785044732;"," col += boundedSampler(uMainSampler, uv - (off2 / resolution)) * 0.09447039785044732;"," col += boundedSampler(uMainSampler, uv + (off3 / resolution)) * 0.010381362401148057;"," col += boundedSampler(uMainSampler, uv - (off3 / resolution)) * 0.010381362401148057;"," gl_FragColor = col * vec4(color, 1.0);","}"].join(` +`)},65122:h=>{h.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform vec2 resolution;","uniform vec2 offset;","uniform float strength;","uniform vec3 color;","varying vec2 outTexCoord;","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec2 uv = outTexCoord;"," vec4 col = vec4(0.0);"," vec2 offset = vec2(1.333) * offset * strength;"," col += boundedSampler(uMainSampler, uv) * 0.29411764705882354;"," col += boundedSampler(uMainSampler, uv + (offset / resolution)) * 0.35294117647058826;"," col += boundedSampler(uMainSampler, uv - (offset / resolution)) * 0.35294117647058826;"," gl_FragColor = col * vec4(color, 1.0);","}"].join(` +`)},60942:h=>{h.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform vec2 resolution;","uniform vec2 offset;","uniform float strength;","uniform vec3 color;","varying vec2 outTexCoord;","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec2 uv = outTexCoord;"," vec4 col = vec4(0.0);"," vec2 off1 = vec2(1.3846153846) * offset * strength;"," vec2 off2 = vec2(3.2307692308) * offset * strength;"," col += boundedSampler(uMainSampler, uv) * 0.2270270270;"," col += boundedSampler(uMainSampler, uv + (off1 / resolution)) * 0.3162162162;"," col += boundedSampler(uMainSampler, uv - (off1 / resolution)) * 0.3162162162;"," col += boundedSampler(uMainSampler, uv + (off2 / resolution)) * 0.0702702703;"," col += boundedSampler(uMainSampler, uv - (off2 / resolution)) * 0.0702702703;"," gl_FragColor = col * vec4(color, 1.0);","}"].join(` +`)},43722:h=>{h.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","#define ITERATIONS 100.0","#define ONEOVER_ITR 1.0 / ITERATIONS","#define PI 3.141596","#define GOLDEN_ANGLE 2.39996323","uniform sampler2D uMainSampler;","uniform vec2 resolution;","uniform float radius;","uniform float amount;","uniform float contrast;","uniform bool isTiltShift;","uniform float strength;","uniform vec2 blur;","varying vec2 outTexCoord;","vec2 Sample (in float theta, inout float r)","{"," r += 1.0 / r;"," return (r - 1.0) * vec2(cos(theta), sin(theta)) * 0.06;","}","#pragma phaserTemplate(fragmentHeader)","vec3 Bokeh (sampler2D tex, vec2 uv, float radius)","{"," vec3 acc = vec3(0.0);"," vec3 div = vec3(0.0);"," vec2 pixel = vec2(resolution.y / resolution.x, 1.0) * radius * .025;"," float r = 1.0;"," for (float j = 0.0; j < GOLDEN_ANGLE * ITERATIONS; j += GOLDEN_ANGLE)"," {"," vec3 col = boundedSampler(tex, uv + pixel * Sample(j, r)).xyz;"," col = contrast > 0.0 ? col * col * (1.0 + contrast) : col;"," vec3 bokeh = vec3(0.5) + pow(col, vec3(10.0)) * amount;"," acc += col * bokeh;"," div += bokeh;"," }"," return acc / div;","}","void main ()","{"," float shift = 1.0;"," if (isTiltShift)"," {"," vec2 uv = vec2(gl_FragCoord.xy / resolution + vec2(-0.5, -0.5)) * 2.0;"," float centerStrength = 1.0;"," shift = length(uv * blur * strength) * centerStrength;"," }"," gl_FragColor = vec4(Bokeh(uMainSampler, outTexCoord * vec2(1.0, 1.0), radius * shift), 0.0);","}"].join(` +`)},19883:h=>{h.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform float uColorMatrix[20];","uniform float uAlpha;","varying vec2 outTexCoord;","void main ()","{"," vec4 c = texture2D(uMainSampler, outTexCoord);"," if (uAlpha == 0.0)"," {"," gl_FragColor = c;"," return;"," }"," if (c.a > 0.0)"," {"," c.rgb /= c.a;"," }"," vec4 result;"," result.r = (uColorMatrix[0] * c.r) + (uColorMatrix[1] * c.g) + (uColorMatrix[2] * c.b) + (uColorMatrix[3] * c.a) + uColorMatrix[4];"," result.g = (uColorMatrix[5] * c.r) + (uColorMatrix[6] * c.g) + (uColorMatrix[7] * c.b) + (uColorMatrix[8] * c.a) + uColorMatrix[9];"," result.b = (uColorMatrix[10] * c.r) + (uColorMatrix[11] * c.g) + (uColorMatrix[12] * c.b) + (uColorMatrix[13] * c.a) + uColorMatrix[14];"," result.a = (uColorMatrix[15] * c.r) + (uColorMatrix[16] * c.g) + (uColorMatrix[17] * c.b) + (uColorMatrix[18] * c.a) + uColorMatrix[19];"," vec3 rgb = mix(c.rgb, result.rgb, uAlpha);"," rgb *= result.a;"," gl_FragColor = vec4(rgb, result.a);","}"].join(` +`)},12886:h=>{h.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform sampler2D uDisplacementSampler;","uniform vec2 amount;","varying vec2 outTexCoord;","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec2 disp = (-vec2(0.5, 0.5) + texture2D(uDisplacementSampler, outTexCoord).rg) * amount;"," gl_FragColor = boundedSampler(uMainSampler, outTexCoord + disp).rgba;","}"].join(` +`)},33016:h=>{h.exports=["#pragma phaserTemplate(shaderName)","#define DISTANCE 10.0","#define QUALITY 10.0","#pragma phaserTemplate(fragmentDefine)","precision mediump float;","uniform sampler2D uMainSampler;","varying vec2 outTexCoord;","uniform float outerStrength;","uniform float innerStrength;","uniform float scale;","uniform vec2 resolution;","uniform vec4 glowColor;","uniform bool knockout;","const float PI = 3.14159265358979323846264;","const float MAX_ALPHA = DISTANCE * (DISTANCE + 1.0) * QUALITY / 2.0;","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec2 px = vec2(1.0 / resolution.x, 1.0 / resolution.y) * scale;"," float totalAlpha = 0.0;"," float curAngle = 0.0;"," vec2 direction;"," vec2 displaced;"," vec4 color;"," for (float curDistance = 0.0; curDistance < DISTANCE; curDistance++)"," {"," curAngle += fract(sin(dot(vec2(curDistance, outTexCoord.x + outTexCoord.y), vec2(12.9898, 78.233))) * 43758.5453);"," for (float i = 0.0; i < QUALITY; i++)"," {"," curAngle += PI * 2.0 / (QUALITY);"," direction = vec2(cos(curAngle), sin(curAngle)) * px;"," displaced = outTexCoord + direction * (curDistance + 1.0);"," color = boundedSampler(uMainSampler, displaced);"," totalAlpha += (DISTANCE - curDistance) * color.a;"," }"," }"," color = boundedSampler(uMainSampler, outTexCoord);"," float alphaRatio = (totalAlpha / MAX_ALPHA);"," float innerGlowAlpha = (1.0 - alphaRatio) * innerStrength * color.a;"," float innerGlowStrength = min(1.0, innerGlowAlpha);"," vec4 innerColor = mix(color, glowColor, innerGlowStrength);"," float outerGlowAlpha = alphaRatio * outerStrength * (1.0 - color.a);"," float outerGlowStrength = min(1.0 - innerColor.a, outerGlowAlpha);"," if (knockout)"," {"," float resultAlpha = outerGlowStrength + innerGlowStrength;"," gl_FragColor = vec4(glowColor.rgb * resultAlpha, resultAlpha);"," }"," else"," {"," vec4 outerGlowColor = outerGlowStrength * glowColor.rgba;"," gl_FragColor = innerColor + outerGlowColor;"," }","}"].join(` +`)},39603:h=>{h.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform sampler2D uMaskSampler;","uniform bool invert;","varying vec2 outTexCoord;","void main ()","{"," vec4 color = texture2D(uMainSampler, outTexCoord);"," vec4 mask = texture2D(uMaskSampler, outTexCoord);"," float a = mask.a;"," color *= invert ? (1.0 - a) : a;"," gl_FragColor = color;","}"].join(` +`)},99191:h=>{h.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform vec2 resolution;","uniform float amount;","varying vec2 outTexCoord;","void main ()","{"," float pixelSize = floor(2.0 + amount);"," vec2 center = pixelSize * floor(outTexCoord * resolution / pixelSize) + pixelSize * vec2(0.5, 0.5);"," vec2 corner1 = center + pixelSize * vec2(-0.5, -0.5);"," vec2 corner2 = center + pixelSize * vec2(+0.5, -0.5);"," vec2 corner3 = center + pixelSize * vec2(+0.5, +0.5);"," vec2 corner4 = center + pixelSize * vec2(-0.5, +0.5);"," vec4 pixel = 0.4 * texture2D(uMainSampler, center / resolution);"," pixel += 0.15 * texture2D(uMainSampler, corner1 / resolution);"," pixel += 0.15 * texture2D(uMainSampler, corner2 / resolution);"," pixel += 0.15 * texture2D(uMainSampler, corner3 / resolution);"," pixel += 0.15 * texture2D(uMainSampler, corner4 / resolution);"," gl_FragColor = pixel;","}"].join(` +`)},69355:h=>{h.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","varying vec2 outTexCoord;","uniform vec2 lightPosition;","uniform vec4 color;","uniform float decay;","uniform float power;","uniform float intensity;","uniform int samples;","const int MAX = 12;","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec4 texture = boundedSampler(uMainSampler, outTexCoord);"," vec2 pc = (lightPosition - outTexCoord) * intensity;"," float shadow = 0.0;"," float limit = max(float(MAX), float(samples));"," for (int i = 0; i < MAX; ++i)"," {"," if (i >= samples)"," {"," break;"," }"," shadow += boundedSampler(uMainSampler, outTexCoord + float(i) * decay / limit * pc).a * power;"," }"," float mask = 1.0 - texture.a;"," gl_FragColor = mix(texture, color, clamp(shadow * mask, 0.0, 1.0));","}"].join(` +`)},92636:h=>{h.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","uniform sampler2D uMainSampler;","uniform vec4 edge1;","uniform vec4 edge2;","uniform vec4 invert;","varying vec2 outTexCoord;","void main ()","{"," vec4 color = texture2D(uMainSampler, outTexCoord);"," color = clamp((color - edge1) / (edge2 - edge1), 0.0, 1.0);"," color = mix(color, 1.0 - color, invert);"," gl_FragColor = color;","}"].join(` +`)},73416:h=>{h.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#pragma phaserTemplate(fragmentDefine)","uniform vec2 uResolution;","varying vec4 outTint;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec4 fragColor = outTint;"," #pragma phaserTemplate(fragmentProcess)"," gl_FragColor = fragColor;","}"].join(` +`)},91627:h=>{h.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#pragma phaserTemplate(vertexDefine)","uniform mat4 uProjectionMatrix;","uniform vec2 uResolution;","attribute vec2 inPosition;","attribute vec4 inTint;","varying vec4 outTint;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(vertexHeader)","void main ()","{"," gl_Position = uProjectionMatrix * vec4(inPosition, 1.0, 1.0);"," outTint = vec4(inTint.bgr * inTint.a, inTint.a);"," #pragma phaserTemplate(vertexProcess)","}"].join(` +`)},84220:h=>{h.exports=["vec3 getNormalFromMap (vec2 texCoord)","{"," vec3 normalMap = texture2D(uNormSampler, texCoord).rgb;"," return normalize(outInverseRotationMatrix * vec3(normalMap * 2.0 - 1.0));","}"].join(` +`)},2860:h=>{h.exports=["uniform vec2 uMainResolution[TEXTURE_COUNT];","vec2 getTexRes ()","{"," #if TEXTURE_COUNT == 1"," float texId = 0.0;"," #else"," float texId = outTexDatum;"," #endif"," #pragma phaserTemplate(texIdProcess)"," vec2 texRes = vec2(0.0);"," for (int i = 0; i < TEXTURE_COUNT; i++)"," {"," if (texId == float(i))"," {"," texRes = uMainResolution[i];"," break;"," }"," }"," return texRes;","}"].join(` +`)},46432:h=>{h.exports=["uniform sampler2D uMainSampler[TEXTURE_COUNT];","vec4 getTexture (vec2 texCoord)","{"," #if TEXTURE_COUNT == 1"," return texture2D(uMainSampler[0], texCoord);"," #else"," if (outTexDatum == 0.0) return texture2D(uMainSampler[0], texCoord);"," #define ELSE_TEX_CASE(INDEX) else if (outTexDatum == float(INDEX)) return texture2D(uMainSampler[INDEX], texCoord);"," #pragma phaserTemplate(texIdProcess)"," else return vec4(0.0, 0.0, 0.0, 0.0);"," #endif","}"].join(` +`)},98840:h=>{h.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#pragma phaserTemplate(fragmentDefine)","uniform vec2 uResolution;","varying vec2 outTexCoord;","varying float outTexDatum;","varying float outTintEffect;","varying vec4 outTint;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," #pragma phaserTemplate(fragmentProcess)"," gl_FragColor = fragColor;","}"].join(` +`)},44667:h=>{h.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#pragma phaserTemplate(vertexDefine)","uniform mat4 uProjectionMatrix;","uniform vec2 uResolution;","attribute vec2 inPosition;","attribute vec2 inTexCoord;","attribute float inTexDatum;","attribute float inTintEffect;","attribute vec4 inTint;","varying vec2 outTexCoord;","varying float outTexDatum;","varying float outTintEffect;","varying vec4 outTint;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(vertexHeader)","void main ()","{"," gl_Position = uProjectionMatrix * vec4(inPosition, 1.0, 1.0);"," outTexCoord = inTexCoord;"," outTexDatum = inTexDatum;"," outTint = inTint;"," outTintEffect = inTintEffect;"," #pragma phaserTemplate(vertexProcess)","}"].join(` +`)},62807:h=>{h.exports=["float inverseRotation = -rotation - uCamera.z;","float irSine = sin(inverseRotation);","float irCosine = cos(inverseRotation);","outInverseRotationMatrix = mat3("," irCosine, irSine, 0.0,"," -irSine, irCosine, 0.0,"," 0.0, 0.0, 1.0",");"].join(` +`)},4127:h=>{h.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","precision mediump float;","#pragma phaserTemplate(fragmentDefine)","uniform vec2 uResolution;","uniform float uCameraZoom;","varying vec4 lightPosition;","varying vec4 lightColor;","varying float lightRadius;","varying float lightAttenuation;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec2 center = (lightPosition.xy + 1.0) * (uResolution.xy * 0.5);"," float distToSurf = length(center - gl_FragCoord.xy);"," float radius = 1.0 - distToSurf / (lightRadius * uCameraZoom);"," float intensity = smoothstep(0.0, 1.0, radius * lightAttenuation);"," vec4 color = vec4(intensity, intensity, intensity, 0.0) * lightColor;"," #pragma phaserTemplate(fragmentProcess)"," gl_FragColor = vec4(color.rgb * lightColor.a, color.a);","}"].join(` +`)},89924:h=>{h.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","precision mediump float;","#pragma phaserTemplate(vertexDefine)","uniform mat4 uProjectionMatrix;","attribute vec2 inPosition;","attribute vec2 inLightPosition;","attribute vec4 inLightColor;","attribute float inLightRadius;","attribute float inLightAttenuation;","varying vec4 lightPosition;","varying vec4 lightColor;","varying float lightRadius;","varying float lightAttenuation;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(vertexHeader)","void main ()","{"," lightColor = inLightColor;"," lightRadius = inLightRadius;"," lightAttenuation = inLightAttenuation;"," lightPosition = uProjectionMatrix * vec4(inLightPosition, 1.0, 1.0);"," gl_Position = uProjectionMatrix * vec4(inPosition, 1.0, 1.0);"," #pragma phaserTemplate(vertexProcess)","}"].join(` +`)},72823:h=>{h.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#pragma phaserTemplate(fragmentDefine)","varying vec2 outTexCoord;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," vec4 fragColor = vec4(outTexCoord.xyx, 1.0);"," #pragma phaserTemplate(fragmentProcess)"," gl_FragColor = fragColor;","}"].join(` +`)},65884:h=>{h.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#pragma phaserTemplate(vertexDefine)","uniform mat4 uProjectionMatrix;","attribute vec2 inPosition;","attribute vec2 inTexCoord;","varying vec2 outTexCoord;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(vertexHeader)","void main ()","{"," gl_Position = uProjectionMatrix * vec4(inPosition, 1.0, 1.0);"," outTexCoord = inTexCoord;"," #pragma phaserTemplate(vertexProcess)","}"].join(` +`)},2807:h=>{h.exports=["#pragma phaserTemplate(shaderName)","precision mediump float;","attribute vec2 inPosition;","attribute vec2 inTexCoord;","varying vec2 outFragCoord;","varying vec2 outTexCoord;","void main ()","{"," outFragCoord = inPosition.xy * 0.5 + 0.5;"," outTexCoord = inTexCoord;"," gl_Position = vec4(inPosition, 0, 1);","}"].join(` +`)},49119:h=>{h.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#pragma phaserTemplate(fragmentDefine)","uniform vec2 uResolution;","varying vec2 outTexCoord;","varying float outTintEffect;","varying vec4 outTint;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(fragmentHeader)","void main ()","{"," #pragma phaserTemplate(fragmentProcess)"," gl_FragColor = fragColor;","}"].join(` +`)},3524:h=>{h.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#define ROUND_BIAS 0.5001","#pragma phaserTemplate(vertexDefine)","uniform mat4 uProjectionMatrix;","uniform mat3 uViewMatrix;","uniform vec3 uCameraScrollAndAlpha;","uniform int uRoundPixels;","uniform vec2 uResolution;","uniform float uTime;","uniform vec2 uDiffuseResolution;","uniform vec2 uFrameDataResolution;","uniform sampler2D uFrameDataTexture;","uniform float uGravity;","attribute float inVertex;","attribute vec4 inPositionX;","attribute vec4 inPositionY;","attribute vec4 inRotation;","attribute vec4 inScaleX;","attribute vec4 inScaleY;","attribute vec4 inAlpha;","attribute vec4 inFrame;","attribute vec4 inTintBlend;","attribute vec4 inTintTL;","attribute vec4 inTintTR;","attribute vec4 inTintBL;","attribute vec4 inTintBR;","attribute vec4 inOriginAndTintFillAndCreationTime;","attribute vec2 inScrollFactor;","varying vec2 outTexCoord;","varying float outTintEffect;","varying vec4 outTint;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(vertexHeader)","const float PI = 3.14159265359;","const float HALF_PI = PI / 2.0;","const float BOUNCE_OVERSHOOT = 1.70158;","const float BOUNCE_OVERSHOOT_PLUS = BOUNCE_OVERSHOOT + 1.0;","const float BOUNCE_OVERSHOOT_IN_OUT = BOUNCE_OVERSHOOT * 1.525;","const float BOUNCE_OVERSHOOT_IN_OUT_PLUS = BOUNCE_OVERSHOOT_IN_OUT + 1.0;","float animate (vec4 anim)","{"," float value = anim.x;"," float a = anim.y;"," float b = abs(anim.z);"," float c = abs(anim.w);"," bool yoyo = anim.z < 0.0;"," bool loop = anim.w > 0.0;"," int type = int(floor(c));"," if (type == 0|| b == 0.0)"," {"," return value;"," }"," float duration = b;"," float delay = mod(c, 1.0) * 2.0;"," float rawTime = ((uTime - inOriginAndTintFillAndCreationTime.w) / duration) - delay;"," float time = mod(rawTime, 1.0);"," if (yoyo && (mod(rawTime, 2.0) >= 1.0))"," {"," time = 1.0 - time;"," }"," float repeats = loop ? 0.0 : floor(a);"," float timeContinuous = loop ? time : rawTime;"," #ifdef FEATURE_LINEAR"," if (type == 1)"," {"," return value + a * timeContinuous;"," }"," #endif"," #ifdef FEATURE_GRAVITY"," if (type == 2)"," {"," float v = floor(a);"," float gravityFactor = (a - v) * 2.0 - 1.0;"," if (gravityFactor == 0.0)"," {"," gravityFactor = 1.0;"," }"," float seconds = timeContinuous * duration / 1000.0;"," float accel = uGravity * gravityFactor;"," return value + (v * seconds) + (0.5 * accel * seconds * seconds);"," }"," #endif"," #ifdef FEATURE_QUAD_EASEOUT"," if (type == 10)"," {"," return value + a * time * (2.0 - time)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_QUAD_EASEIN"," if (type == 11)"," {"," return value + a * time * time"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_QUAD_EASEINOUT"," if (type == 12)"," {"," time *= 2.0;"," if (time < 1.0)"," {"," return value + a * time * time * 0.5"," + repeats * a;"," }"," time -= 1.0;"," return value + a * -0.5 * (time * (time - 2.0) - 1.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_CUBIC_EASEOUT"," if (type == 20)"," {"," time -= 1.0;"," return value + a * (time * time * time + 1.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_CUBIC_EASEIN"," if (type == 21)"," {"," return value + a * time * time * time"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_CUBIC_EASEINOUT"," if (type == 22)"," {"," time *= 2.0;"," if (time < 1.0)"," {"," return value + a * time * time * time * 0.5"," + repeats * a;"," }"," time -= 2.0;"," return value + a * 0.5 * (time * time * time + 2.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_QUART_EASEOUT"," if (type == 30)"," {"," time -= 1.0;"," return value + a * (1.0 - time * time * time * time)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_QUART_EASEIN"," if (type == 31)"," {"," return value + a * time * time * time * time"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_QUART_EASEINOUT"," if (type == 32)"," {"," time *= 2.0;"," if (time < 1.0)"," {"," return value + a * time * time * time * time * 0.5"," + repeats * a;"," }"," time -= 2.0;"," return value + a * -0.5 * (time * time * time * time - 2.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_QUINT_EASEOUT"," if (type == 40)"," {"," time -= 1.0;"," return value + a * (time * time * time * time * time + 1.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_QUINT_EASEIN"," if (type == 41)"," {"," return value + a * time * time * time * time * time"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_QUINT_EASEINOUT"," if (type == 42)"," {"," time *= 2.0;"," if (time < 1.0)"," {"," return value + a * time * time * time * time * time * 0.5"," + repeats * a;"," }"," time -= 2.0;"," return value + a * 0.5 * (time * time * time * time * time + 2.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_SINE_EASEOUT"," if (type == 50)"," {"," return value + a * sin(time * HALF_PI)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_SINE_EASEIN"," if (type == 51)"," {"," return value + a * (1.0 - cos(time * HALF_PI))"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_SINE_EASEINOUT"," if (type == 52)"," {"," return value + a * 0.5 * (1.0 - cos(PI * time))"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_EXPO_EASEOUT"," if (type == 60)"," {"," return value + a * (1.0 - pow(2.0, -10.0 * time))"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_EXPO_EASEIN"," if (type == 61)"," {"," return value + a * pow(2.0, 10.0 * (time - 1.0) - 0.001)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_EXPO_EASEINOUT"," if (type == 62)"," {"," time *= 2.0;"," if (time < 1.0)"," {"," return value + a * 0.5 * pow(2.0, 10.0 * (time - 1.0))"," + repeats * a;"," }"," time -= 1.0;"," return value + a * 0.5 * (2.0 - pow(2.0, -10.0 * (time - 1.0)))"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_CIRC_EASEOUT"," if (type == 70)"," {"," time -= 1.0;"," return value + a * sqrt(1.0 - time * time)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_CIRC_EASEIN"," if (type == 71)"," {"," return value + a * (1.0 - sqrt(1.0 - time * time))"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_CIRC_EASEINOUT"," if (type == 72)"," {"," time *= 2.0;"," if (time < 1.0)"," {"," return value + a * -0.5 * (sqrt(1.0 - time * time) - 1.0)"," + repeats * a;"," }"," time -= 2.0;"," return value + a * 0.5 * (sqrt(1.0 - time * time) + 1.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_BACK_EASEOUT"," if (type == 90)"," {"," time -= 1.0;"," return value + a * (time * time * (BOUNCE_OVERSHOOT_PLUS * time + BOUNCE_OVERSHOOT) + 1.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_BACK_EASEIN"," if (type == 91)"," {"," return value + a * time * time * (BOUNCE_OVERSHOOT_PLUS * time - BOUNCE_OVERSHOOT)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_BACK_EASEINOUT"," if (type == 92)"," {"," time *= 2.0;"," if (time < 1.0)"," {"," return value + a * 0.5 * (time * time * (BOUNCE_OVERSHOOT_IN_OUT_PLUS * time - BOUNCE_OVERSHOOT_IN_OUT))"," + repeats * a;"," }"," time -= 2.0;"," return value + a * 0.5 * (time * time * (BOUNCE_OVERSHOOT_IN_OUT_PLUS * time + BOUNCE_OVERSHOOT_IN_OUT) + 2.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_BOUNCE_EASEOUT"," if (type == 100)"," {"," if (time < 1.0 / 2.75)"," {"," return value + a * (7.5625 * time * time)"," + repeats * a;"," }"," else if (time < 2.0 / 2.75)"," {"," time -= 1.5 / 2.75;"," return value + a * (7.5625 * time * time + 0.75)"," + repeats * a;"," }"," else if (time < 2.5 / 2.75)"," {"," time -= 2.25 / 2.75;"," return value + a * (7.5625 * time * time + 0.9375)"," + repeats * a;"," }"," else"," {"," time -= 2.625 / 2.75;"," return value + a * (7.5625 * time * time + 0.984375)"," + repeats * a;"," }"," }"," #endif"," #ifdef FEATURE_BOUNCE_EASEIN"," if (type == 101)"," {"," time = 1.0 - time;"," if (time < 1.0 / 2.75)"," {"," return value + a * (1.0 - 7.5625 * time * time)"," + repeats * a;"," }"," else if (time < 2.0 / 2.75)"," {"," time -= 1.5 / 2.75;"," return value + a * (1.0 - (7.5625 * time * time + 0.75))"," + repeats * a;"," }"," else if (time < 2.5 / 2.75)"," {"," time -= 2.25 / 2.75;"," return value + a * (1.0 - (7.5625 * time * time + 0.9375))"," + repeats * a;"," }"," else"," {"," time -= 2.625 / 2.75;"," return value + a * (1.0 - (7.5625 * time * time + 0.984375))"," + repeats * a;"," }"," }"," #endif"," #ifdef FEATURE_BOUNCE_EASEINOUT"," if (type == 102)"," {"," bool reverse = false;"," if (time < 0.5)"," {"," time = 1.0 - time * 2.0;"," reverse = true;"," }"," if (time < 1.0 / 2.75)"," {"," time = 7.5625 * time * time;"," }"," else if (time < 2.0 / 2.75)"," {"," time -= 1.5 / 2.75;"," time = 7.5625 * time * time + 0.75;"," }"," else if (time < 2.5 / 2.75)"," {"," time -= 2.25 / 2.75;"," time = 7.5625 * time * time + 0.9375;"," }"," else"," {"," time -= 2.625 / 2.75;"," time = 7.5625 * time * time + 0.984375;"," }"," if (reverse)"," {"," return value + a * (1.0 - time) * 0.5"," + repeats * a;"," }"," return value + a * time * 0.5 + 0.5"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_STEPPED"," if (type == 110)"," {"," return value + a * floor(time + 0.5)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_SMOOTHSTEP_EASEOUT"," if (type == 120)"," {"," return value + a * (smoothstep(0.0, 1.0, time / 2.0 + 0.5) * 2.0 - 1.0)"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_SMOOTHSTEP_EASEIN"," if (type == 121)"," {"," return value + a * smoothstep(0.0, 1.0, time / 2.0) * 2.0"," + repeats * a;"," }"," #endif"," #ifdef FEATURE_SMOOTHSTEP_EASEINOUT"," if (type == 122)"," {"," return value + a * smoothstep(0.0, 1.0, time)"," + repeats * a;"," }"," #endif"," return value;","}","struct Frame {"," vec2 position;"," vec2 size;"," vec2 offset;","};","Frame getFrame (float frame)","{"," float index1 = floor(frame) * 3.0;"," float index2 = index1 + 1.0;"," float index3 = index1 + 2.0;"," float width = uFrameDataResolution.x;"," float x = mod(index1, width);"," float y = floor(index1 / width);"," vec4 texelUV = texture2D("," uFrameDataTexture,"," vec2(x + 0.5, y + 0.5) / uFrameDataResolution"," );"," x = mod(index2, width);"," y = floor(index2 / width);"," vec4 texelWH = texture2D("," uFrameDataTexture,"," vec2(x + 0.5, y + 0.5) / uFrameDataResolution"," );"," x = mod(index3, width);"," y = floor(index3 / width);"," vec4 texelOrigin = texture2D("," uFrameDataTexture,"," vec2(x + 0.5, y + 0.5) / uFrameDataResolution"," );"," return Frame("," vec2("," texelUV.r + texelUV.g * 256.0,"," texelUV.b + texelUV.a * 256.0"," ) * 255.0,"," vec2("," texelWH.r + texelWH.g * 256.0,"," texelWH.b + texelWH.a * 256.0"," ) * 255.0,"," vec2("," texelOrigin.r + texelOrigin.g * 256.0,"," texelOrigin.b + texelOrigin.a * 256.0"," ) * 255.0 - 32768.0"," );","}","void main ()","{"," float positionX = animate(inPositionX);"," float positionY = animate(inPositionY);"," float rotation = animate(inRotation);"," float scaleX = animate(inScaleX);"," float scaleY = animate(inScaleY);"," float frame = animate(inFrame);"," float tintBlend = animate(inTintBlend);"," float alpha = animate(inAlpha);"," vec2 origin = inOriginAndTintFillAndCreationTime.xy;"," float tintFill = inOriginAndTintFillAndCreationTime.z;"," float scrollFactorX = inScrollFactor.x;"," float scrollFactorY = inScrollFactor.y;"," Frame frameData = getFrame(frame);"," vec2 uv = frameData.position / uDiffuseResolution;"," vec2 wh = frameData.size / uDiffuseResolution;"," float u = uv.s;"," float v = uv.t;"," float w = wh.s;"," float h = wh.t;"," float width = frameData.size.s;"," float height = frameData.size.t;"," vec4 tint = inTintTL;"," float x = -origin.x;"," float y = -origin.y;"," if (inVertex == 0.0)"," {"," y = 1.0 - origin.y;"," v += h;"," tint = inTintBL;"," }"," else if (inVertex == 2.0)"," {"," x = 1.0 - origin.x;"," y = 1.0 - origin.y;"," u += w;"," v += h;"," tint = inTintBR;"," }"," else if (inVertex == 3.0)"," {"," x = 1.0 - origin.x;"," u += w;"," tint = inTintTR;"," }"," vec3 position = vec3("," (x * width - frameData.offset.x) * scaleX,"," (y * height - frameData.offset.y) * scaleY,"," 1.0"," );"," mat3 viewMatrix = uViewMatrix * mat3("," 1.0, 0.0, 0.0,"," 0.0, 1.0, 0.0,"," uCameraScrollAndAlpha.x * (1.0 - scrollFactorX), uCameraScrollAndAlpha.y * (1.0 - scrollFactorY), 1.0"," );"," float sine = sin(rotation);"," float cosine = cos(rotation);"," mat3 transformMatrix = mat3("," cosine, sine, 0.0,"," -sine, cosine, 0.0,"," positionX, positionY, 1.0"," );"," position = viewMatrix * transformMatrix * position;"," alpha *= uCameraScrollAndAlpha.z;"," tint.a *= alpha;"," if (uRoundPixels == 1 && rotation == 0.0 && scaleX == 1.0 && scaleY == 1.0)"," {"," position.xy = floor(position.xy + ROUND_BIAS);"," }"," gl_Position = uProjectionMatrix * vec4(position.xy, 1.0, 1.0);"," outTexCoord = vec2(u, 1.0 - v);"," outTint = mix(vec4(1.0, 1.0, 1.0, tint.a), tint, tintBlend);"," outTintEffect = tintFill;"," #pragma phaserTemplate(vertexProcess)","}"].join(` +`)},57532:h=>{h.exports=["#version 100","#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","/* Redefine MAX_ANIM_FRAMES to support animations with different frame numbers. */","#define MAX_ANIM_FRAMES 0","#pragma phaserTemplate(fragmentDefine)","uniform vec2 uResolution;","uniform sampler2D uMainSampler;","uniform sampler2D uLayerSampler;","uniform vec2 uMainResolution;","uniform vec2 uLayerResolution;","uniform float uTileColumns;","uniform vec4 uTileWidthHeightMarginSpacing;","uniform float uAlpha;","uniform float uTime;","#if MAX_ANIM_FRAMES > 0","uniform sampler2D uAnimSampler;","uniform vec2 uAnimResolution;","#endif","varying vec2 outTexCoord;","varying vec2 outTileStride;","#pragma phaserTemplate(outVariables)","vec2 getTexRes ()","{"," return uMainResolution;","}","float floatTexel (vec4 texel)","{"," return texel.r * 255.0 + (texel.g * 255.0 * 256.0) + (texel.b * 255.0 * 256.0 * 256.0) + (texel.a * 255.0 * 256.0 * 256.0 * 256.0);","}","struct Tile","{"," float index;"," vec2 uv; // In texels."," #if MAX_ANIM_FRAMES > 0"," bool animated;"," #endif"," bool empty;","};","Tile getLayerData (vec2 coord)","{"," vec2 texelCoord = coord * uLayerResolution;"," vec2 tile = floor(texelCoord);"," vec2 uv = fract(texelCoord);"," uv.y = 1.0 - uv.y;"," vec4 texel = texture2D(uLayerSampler, (tile + 0.5) / uLayerResolution) * 255.0;"," float flags = texel.a;"," /* Check for empty tile flag in bit 28. */"," if (flags == 16.0)"," {"," return Tile("," 0.0,"," vec2(0.0),"," #if MAX_ANIM_FRAMES > 0"," false,"," #endif"," true"," );"," }"," /* Bit 31 is flipX. */"," bool flipX = flags > 127.0;"," /* Bit 30 is flipY. */"," bool flipY = mod(flags, 128.0) > 63.0;"," #if MAX_ANIM_FRAMES > 0"," /* Bit 29 is animation. */"," bool animated = mod(flags, 64.0) > 31.0;"," #endif"," if (flipX)"," {"," uv.x = 1.0 - uv.x;"," }"," if (flipY)"," {"," uv.y = 1.0 - uv.y;"," }"," float index = texel.r + (texel.g * 256.0) + (texel.b * 256.0 * 256.0);"," return Tile("," index,"," uv * uTileWidthHeightMarginSpacing.xy,"," #if MAX_ANIM_FRAMES > 0"," animated,"," #endif"," false"," );","}","vec2 getFrameCorner (float index)","{"," float x = mod(index, uTileColumns);"," float y = floor(index / uTileColumns);"," vec2 xy = vec2(x, y);"," return xy * outTileStride + uTileWidthHeightMarginSpacing.zz;","}","#if MAX_ANIM_FRAMES > 0","float animationIndex (float index)","{"," float animTextureWidth = uAnimResolution.x;"," vec2 index2D = vec2(mod(index, animTextureWidth), floor(index / animTextureWidth));"," vec4 animDurationTexel = texture2D(uAnimSampler, (index2D + 0.5) / uAnimResolution);"," index2D = vec2(mod(index + 1.0, animTextureWidth), floor((index + 1.0) / animTextureWidth));"," vec4 animIndexTexel = texture2D(uAnimSampler, (index2D + 0.5) / uAnimResolution);"," float animDuration = floatTexel(animDurationTexel);"," float animIndex = floatTexel(animIndexTexel);"," float animTime = mod(uTime, animDuration);"," float animTimeAccum = 0.0;"," for (int i = 0; i < MAX_ANIM_FRAMES; i++)"," {"," index2D = vec2(mod(animIndex, animTextureWidth), floor(animIndex / animTextureWidth));"," animDurationTexel = texture2D(uAnimSampler, (index2D + 0.5) / uAnimResolution);"," float frameDuration = floatTexel(animDurationTexel);"," animTimeAccum += frameDuration;"," if (animTime <= animTimeAccum)"," {"," break;"," }"," animIndex += 2.0;"," }"," animIndex += 1.0;"," index2D = vec2(mod(animIndex, animTextureWidth), floor(animIndex / animTextureWidth));"," animIndexTexel = texture2D(uAnimSampler, (index2D + 0.5) / uAnimResolution);"," float animFrameIndex = floatTexel(animIndexTexel);"," return animFrameIndex;","}","#endif","vec2 getTileTexelCoord (Tile tile)","{"," if (tile.empty)"," {"," return vec2(0.0);"," }"," float index = tile.index;"," #if MAX_ANIM_FRAMES > 0"," if (tile.animated)"," {"," index = animationIndex(index);"," }"," #endif"," vec2 frameCorner = getFrameCorner(index);"," return frameCorner + tile.uv;","}","#pragma phaserTemplate(fragmentHeader)","struct Samples {"," vec4 color;"," #pragma phaserTemplate(defineSamples)","};","Samples getColorSamples (vec2 texCoord)","{"," Samples samples;"," samples.color = texture2D("," uMainSampler,"," vec2(texCoord.x, 1.0 - texCoord.y)"," );"," #pragma phaserTemplate(getSamples)"," return samples;","}","Samples mixSamples (Samples samples1, Samples samples2, float alpha)","{"," Samples samples;"," samples.color = mix(samples1.color, samples2.color, alpha);"," #pragma phaserTemplate(mixSamples)"," return samples;","}","Samples getFinalSamples (Tile tile, vec2 layerTexCoord)","{"," vec2 texelCoord = getTileTexelCoord(tile);"," vec2 texCoord = texelCoord / uMainResolution;"," #pragma phaserTemplate(texCoord)"," #ifndef FEATURE_BORDERFILTER"," return getColorSamples(texCoord);"," #else"," #pragma phaserTemplate(finalSamples)"," vec2 wh = uTileWidthHeightMarginSpacing.xy;"," vec2 frameCorner = getFrameCorner(tile.index);"," vec2 frameCornerOpposite = frameCorner + wh;"," vec2 texCoordClamped = clamp(texCoord, (frameCorner + 0.5) / uMainResolution, (frameCornerOpposite - 0.5) / uMainResolution);"," vec2 dTexelCoord = (texCoord - texCoordClamped) * uMainResolution;"," dTexelCoord.y = -dTexelCoord.y;"," vec2 offsets = sign(dTexelCoord);"," Samples samples0 = getColorSamples(texCoordClamped);"," if (offsets.x == 0.0)"," {"," if (offsets.y == 0.0)"," {"," return samples0;"," }"," Tile tileY = getLayerData(layerTexCoord + (offsets - dTexelCoord) / wh / uLayerResolution);"," vec2 texelCoordY = getTileTexelCoord(tileY);"," vec2 texCoordY = texelCoordY / uMainResolution;"," Samples samplesY = getColorSamples(texCoordY);"," return mixSamples(samples0, samplesY, abs(dTexelCoord.y));"," }"," else"," {"," if (offsets.y == 0.0)"," {"," Tile tileX = getLayerData(layerTexCoord + (offsets - dTexelCoord) / wh / uLayerResolution);"," vec2 texelCoordX = getTileTexelCoord(tileX);"," vec2 texCoordX = texelCoordX / uMainResolution;"," Samples samplesX = getColorSamples(texCoordX);"," return mixSamples(samples0, samplesX, abs(dTexelCoord.x));"," }"," Tile tileX = getLayerData(layerTexCoord + (offsets * vec2(1.0, 0.0) - dTexelCoord) / wh / uLayerResolution);"," vec2 texelCoordX = getTileTexelCoord(tileX);"," vec2 texCoordX = texelCoordX / uMainResolution;"," Samples samplesX = getColorSamples(texCoordX);"," Tile tileY = getLayerData(layerTexCoord + (offsets * vec2(0.0, 1.0) - dTexelCoord) / wh / uLayerResolution);"," vec2 texelCoordY = getTileTexelCoord(tileY);"," vec2 texCoordY = texelCoordY / uMainResolution;"," Samples samplesY = getColorSamples(texCoordY);"," Tile tileXY = getLayerData(layerTexCoord + (offsets - dTexelCoord) / wh / uLayerResolution);"," vec2 texelCoordXY = getTileTexelCoord(tileXY);"," vec2 texCoordXY = texelCoordXY / uMainResolution;"," Samples samplesXY = getColorSamples(texCoordXY);"," Samples samples1 = mixSamples(samples0, samplesX, abs(dTexelCoord.x));"," Samples samples2 = mixSamples(samplesY, samplesXY, abs(dTexelCoord.x));"," return mixSamples(samples1, samples2, abs(dTexelCoord.y));"," }"," #endif","}","void main ()","{"," vec2 layerTexCoord = outTexCoord;"," Tile tile = getLayerData(layerTexCoord);"," Samples samples = getFinalSamples(tile, layerTexCoord);"," vec4 fragColor = samples.color;"," #pragma phaserTemplate(declareSamples)"," #pragma phaserTemplate(fragmentProcess)"," fragColor *= uAlpha;"," gl_FragColor = fragColor;","}"].join(` +`)},23879:h=>{h.exports=["#pragma phaserTemplate(shaderName)","#pragma phaserTemplate(extensions)","#pragma phaserTemplate(features)","#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","#pragma phaserTemplate(vertexDefine)","uniform mat4 uProjectionMatrix;","uniform vec2 uResolution;","uniform vec4 uTileWidthHeightMarginSpacing;","attribute vec2 inPosition;","attribute vec2 inTexCoord;","varying vec2 outTexCoord;","varying vec2 outTileStride;","#pragma phaserTemplate(outVariables)","#pragma phaserTemplate(vertexHeader)","void main ()","{"," gl_Position = uProjectionMatrix * vec4(inPosition, 1.0, 1.0);"," outTexCoord = inTexCoord;"," outTileStride = uTileWidthHeightMarginSpacing.xy + uTileWidthHeightMarginSpacing.zz;"," #pragma phaserTemplate(vertexProcess)","}"].join(` +`)},84639:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return{name:t+"Anims",additions:{fragmentDefine:`#undef MAX_ANIM_FRAMES +#define MAX_ANIM_FRAMES `+t},tags:["MAXANIMS"],disable:!!e}};h.exports=d},67155:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(84547),l=function(i){return{name:"ApplyFlatLighting",additions:{fragmentHeader:e,fragmentProcess:"fragColor = applyLighting(fragColor, vec3(0.0, 0.0, 1.0));"},tags:["LIGHTING"],disable:!!i}};h.exports=l},81084:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(84547),l=function(i){return{name:"ApplyLighting",additions:{fragmentHeader:e,fragmentProcess:"fragColor = applyLighting(fragColor, normal);"},tags:["LIGHTING"],disable:!!i}};h.exports=l},44349:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(11104),l=function(i){return{name:"Tint",additions:{fragmentHeader:e,fragmentProcess:"fragColor = applyTint(fragColor);"},tags:["TINT"],disable:!!i}};h.exports=l},99501:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(81556),l=function(i){return{name:"BoundedSampler",additions:{fragmentHeader:e},disable:!!i}};h.exports=l},6184:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(11719),l=function(i){return{name:"DefineLights",additions:{fragmentDefine:"#define LIGHT_COUNT 1",fragmentHeader:e},tags:["LIGHTING"],disable:!!i}};h.exports=l},11653:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return{name:t+"TexCount",additions:{fragmentDefine:"#define TEXTURE_COUNT "+t},tags:["TexCount"],disable:!!e}};h.exports=d},13198:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return{name:"FlatNormal",additions:{fragmentProcess:"vec3 normal = vec3(0.0, 0.0, 1.0);"},tags:["LIGHTING"],disable:!!t}};h.exports=d},40829:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(84220),l=function(i){return{name:"NormalMap",additions:{fragmentHeader:e,fragmentProcess:"vec3 normal = getNormalFromMap(texCoord);"},tags:["LIGHTING"],disable:!!i}};h.exports=l},42792:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return{name:"TexCoordOut",additions:{fragmentProcess:`vec2 texCoord = outTexCoord; +#pragma phaserTemplate(texCoord)`},tags:["TEXCOORD"],disable:!!t}};h.exports=d},96049:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(2860),l=function(i){return{name:"GetTexRes",additions:{fragmentHeader:e},tags:["TEXRES"],disable:!!i}};h.exports=l},33997:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(46432),l=function(i,s){i===void 0&&(i=1);for(var r="",o=1;o{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return{name:"OutFrame",additions:{vertexHeader:"attribute vec4 inFrame;",vertexProcess:"outFrame = inFrame;",outVariables:"varying vec4 outFrame;"},disable:!!t}};h.exports=d},79532:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(62807),l=function(i){return{name:"OutInverseRotation",additions:{vertexHeader:"uniform vec4 uCamera;",vertexProcess:e,outVariables:"varying mat3 outInverseRotationMatrix;"},tags:["LIGHTING"],disable:!!i}};h.exports=l},65217:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return{name:"RotDatum",additions:{vertexProcess:"float rotation = inTexDatum;"},tags:["LIGHTING"],disable:!!t}};h.exports=d},747:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return{name:"SampleNormal",additions:{defineSamples:"vec4 normal;",getSamples:"samples.normal = texture2D(uNormSampler, texCoord);",mixSamples:"samples.normal = mix(samples1.normal, samples2.normal, alpha);",declareSamples:"vec3 normal = normalize(samples.normal.rgb * 2.0 - 1.0);"},tags:["LIGHTING"],disable:!!t}};h.exports=d},74505:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(78390),l=function(i){return{name:"SmoothPixelArt",additions:{extensions:"#extension GL_OES_standard_derivatives : enable",fragmentHeader:e,texCoord:"texCoord = getBlockyTexCoord(texCoord, getTexRes());"},disable:!!i}};h.exports=l},44832:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(14030),l=function(i){return{name:"TexCoordFrameClamp",additions:{fragmentHeader:e,texCoord:"texCoord = clampTexCoordWithinFrame(texCoord);"},disable:!!i}};h.exports=l},23295:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return{name:"TexCoordFrameWrap",additions:{texCoord:`// Wrap texture coordinate into the UV space of the texture frame. +texCoord = mod(texCoord, 1.0) * outFrame.zw + outFrame.xy;`},disable:!!t}};h.exports=d},83786:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={MakeAnimLength:t(84639),MakeApplyFlatLighting:t(67155),MakeApplyLighting:t(81084),MakeApplyTint:t(44349),MakeBoundedSampler:t(99501),MakeDefineLights:t(6184),MakeDefineTexCount:t(11653),MakeFlatNormal:t(13198),MakeGetNormalFromMap:t(40829),MakeGetTexCoordOut:t(42792),MakeGetTexRes:t(96049),MakeGetTexture:t(33997),MakeOutFrame:t(10455),MakeOutInverseRotation:t(79532),MakeRotationDatum:t(65217),MakeSampleNormal:t(747),MakeSmoothPixelArt:t(74505),MakeTexCoordFrameClamp:t(44832),MakeTexCoordFrameWrap:t(23295)}},89350:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2023 Photon Storm Ltd. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={ApplyLighting:t(84547),ApplyTint:t(11104),BoundedSampler:t(81556),ColorMatrixFrag:t(96293),DefineBlockyTexCoord:t(78390),DefineLights:t(11719),DefineTexCoordFrameClamp:t(14030),FilterBarrelFrag:t(10235),FilterBlendFrag:t(65980),FilterBlockyFrag:t(5899),FilterBlurHighFrag:t(20784),FilterBlurLowFrag:t(65122),FilterBlurMedFrag:t(60942),FilterBokehFrag:t(43722),FilterColorMatrixFrag:t(19883),FilterDisplacementFrag:t(12886),FilterGlowFrag:t(33016),FilterMaskFrag:t(39603),FilterPixelateFrag:t(99191),FilterShadowFrag:t(69355),FilterThresholdFrag:t(92636),FlatFrag:t(73416),FlatVert:t(91627),GetNormalFromMap:t(84220),GetTexRes:t(2860),GetTexture:t(46432),MultiFrag:t(98840),MultiVert:t(44667),OutInverseRotation:t(62807),PointLightFrag:t(4127),PointLightVert:t(89924),ShaderQuadFrag:t(72823),ShaderQuadVert:t(65884),SimpleTextureVert:t(2807),SpriteGPULayerFrag:t(49119),SpriteGPULayerVert:t(3524),TilemapGPULayerFrag:t(57532),TilemapGPULayerVert:t(23879)}},26128:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s,r,o,a){this.renderer=s,this.webGLBuffer=null,this.dataBuffer=r,this.viewF32=null,this.viewU8=new Uint8Array(r),this.viewU16=null,this.viewU32=null,this.bufferType=o,this.bufferUsage=a,this.createViews(),this.createResource()},createResource:function(){var i=this.renderer.gl,s=this.bufferType,r=i.createBuffer();this.webGLBuffer=r,this.bind(),i.bufferData(s,this.dataBuffer,this.bufferUsage),this.bind(!0)},bind:function(i){var s=this.renderer.gl,r=this.bufferType,o=i?null:this;r===s.ARRAY_BUFFER?this.renderer.glWrapper.updateBindingsArrayBuffer({bindings:{arrayBuffer:o}}):r===s.ELEMENT_ARRAY_BUFFER&&this.renderer.glWrapper.updateBindingsElementArrayBuffer({bindings:{elementArrayBuffer:o}})},update:function(i,s){var r=this.renderer.gl;this.bind(),s===void 0&&(s=0),i===void 0?r.bufferSubData(this.bufferType,s,this.dataBuffer):r.bufferSubData(this.bufferType,s,this.viewU8.subarray(s,s+i))},resize:function(i){var s=this.renderer.gl;this.dataBuffer=new ArrayBuffer(i),this.createViews(),this.bind(),s.bufferData(this.bufferType,this.dataBuffer,this.bufferUsage)},createViews:function(){var i=this.dataBuffer;this.viewF32=null,i.byteLength%Float32Array.BYTES_PER_ELEMENT===0&&(this.viewF32=new Float32Array(i)),this.viewU8=new Uint8Array(i),this.viewU16=null,i.byteLength%Uint16Array.BYTES_PER_ELEMENT===0&&(this.viewU16=new Uint16Array(i)),this.viewU32=null,i.byteLength%Uint32Array.BYTES_PER_ELEMENT===0&&(this.viewU32=new Uint32Array(i))},destroy:function(){this.renderer.gl.deleteBuffer(this.webGLBuffer),this.webGLBuffer=null,this.dataBuffer=null,this.viewF32=null,this.viewU8=null,this.viewU16=null,this.viewU32=null,this.renderer=null}});h.exports=l},84387:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l={36054:"Incomplete Attachment",36055:"Missing Attachment",36057:"Incomplete Dimensions",36061:"Framebuffer Unsupported"},i=new e({initialize:function(r,o,a,u){var f=r.gl;if(this.webGLFramebuffer=null,this.renderer=r,this.useCanvas=!o||o.length===0,this.width=0,this.height=0,this.attachments=[],!this.useCanvas){for(var v=0;v{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(53314),i=new e({initialize:function(r){this.renderer=r,this.state=l.getDefault(r)},update:function(s,r,o){if(s===void 0){if(!r)return;s=this.state}r===void 0&&(r=!1),o===void 0&&(o=!1),s.vao!==void 0&&!o&&this.updateVAO(s,r),s.bindings!==void 0&&this.updateBindings(s,r),s.blend!==void 0&&this.updateBlend(s,r),s.colorClearValue!==void 0&&this.updateColorClearValue(s,r),s.colorWritemask!==void 0&&this.updateColorWritemask(s,r),s.cullFace!==void 0&&this.updateCullFace(s,r),s.depthTest!==void 0&&this.updateDepthTest(s,r),s.scissor!==void 0&&this.updateScissor(s,r),s.stencil!==void 0&&this.updateStencil(s,r),s.texturing!==void 0&&this.updateTexturing(s,r),s.viewport!==void 0&&this.updateViewport(s,r),s.vao!==void 0&&o&&this.updateVAO(s,r)},updateBindings:function(s,r){var o=s.bindings;o.activeTexture!==void 0&&this.updateBindingsActiveTexture(s,r),o.arrayBuffer!==void 0&&this.updateBindingsArrayBuffer(s,r),o.elementArrayBuffer!==void 0&&this.updateBindingsElementArrayBuffer(s,r),o.framebuffer!==void 0&&this.updateBindingsFramebuffer(s,r),o.program!==void 0&&this.updateBindingsProgram(s,r),o.renderbuffer!==void 0&&this.updateBindingsRenderbuffer(s,r)},updateBindingsActiveTexture:function(s,r){var o=s.bindings.activeTexture,a=o!==this.state.bindings.activeTexture;if(a&&(this.state.bindings.activeTexture=o),a||r){var u=this.renderer.gl;u.activeTexture(u.TEXTURE0+o)}},updateBindingsArrayBuffer:function(s,r){var o=s.bindings.arrayBuffer,a=this.renderer.gl;if(o!==null&&o.bufferType!==a.ARRAY_BUFFER)throw new Error("Invalid buffer type for ARRAY_BUFFER");var u=o!==this.state.bindings.arrayBuffer;if(u&&(this.state.bindings.arrayBuffer=o),u||r){var f=o?o.webGLBuffer:null;a.bindBuffer(a.ARRAY_BUFFER,f)}},updateBindingsElementArrayBuffer:function(s,r){var o=s.bindings.elementArrayBuffer,a=this.renderer.gl;if(o!==null&&o.bufferType!==a.ELEMENT_ARRAY_BUFFER)throw new Error("Invalid buffer type for ELEMENT_ARRAY_BUFFER");var u=o!==this.state.bindings.elementArrayBuffer;if(u&&(this.state.bindings.elementArrayBuffer=o),u||r){var f=o?o.webGLBuffer:null;a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,f)}},updateBindingsFramebuffer:function(s,r){var o=s.bindings.framebuffer,a=o!==this.state.bindings.framebuffer;if(a&&(this.state.bindings.framebuffer=o),a||r){var u=this.renderer.gl,f=o?o.webGLFramebuffer:null;u.bindFramebuffer(u.FRAMEBUFFER,f)}},updateBindingsProgram:function(s,r){var o=s.bindings.program,a=o!==this.state.bindings.program;if(a&&(this.state.bindings.program=o),a||r){var u=o?o.webGLProgram:null;this.renderer.gl.useProgram(u)}},updateBindingsRenderbuffer:function(s,r){var o=s.bindings.renderbuffer,a=o!==this.state.bindings.renderbuffer;if(a&&(this.state.bindings.renderbuffer=o),a||r){var u=this.renderer.gl,f=o||null;u.bindRenderbuffer(u.RENDERBUFFER,f)}},updateBlend:function(s,r){var o=s.blend;o.enabled!==void 0&&this.updateBlendEnabled(s,r),o.color!==void 0&&this.updateBlendColor(s,r),o.equation!==void 0&&this.updateBlendEquation(s,r),o.func!==void 0&&this.updateBlendFunc(s,r)},updateBlendColor:function(s,r){var o=s.blend.color,a=o[0],u=o[1],f=o[2],v=o[3],c=a!==this.state.blend.color[0]||u!==this.state.blend.color[1]||f!==this.state.blend.color[2]||v!==this.state.blend.color[3];c&&(this.state.blend.color=[a,u,f,v]),(c||r)&&this.renderer.gl.blendColor(a,u,f,v)},updateBlendEnabled:function(s,r){var o=s.blend.enabled,a=o!==this.state.blend.enabled;if(a&&(this.state.blend.enabled=o),a||r){var u=this.renderer.gl;o?u.enable(u.BLEND):u.disable(u.BLEND)}},updateBlendEquation:function(s,r){var o=s.blend.equation,a=o[0]!==this.state.blend.equation[0]||o[1]!==this.state.blend.equation[1];a&&(this.state.blend.equation=[o[0],o[1]]),(a||r)&&this.renderer.gl.blendEquationSeparate(o[0],o[1])},updateBlendFunc:function(s,r){var o=s.blend.func,a=o[0]!==this.state.blend.func[0]||o[1]!==this.state.blend.func[1]||o[2]!==this.state.blend.func[2]||o[3]!==this.state.blend.func[3];a&&(this.state.blend.func=[o[0],o[1],o[2],o[3]]),(a||r)&&this.renderer.gl.blendFuncSeparate(o[0],o[1],o[2],o[3])},updateColorClearValue:function(s,r){var o=s.colorClearValue,a=o[0],u=o[1],f=o[2],v=o[3],c=a!==this.state.colorClearValue[0]||u!==this.state.colorClearValue[1]||f!==this.state.colorClearValue[2]||v!==this.state.colorClearValue[3];c&&(this.state.colorClearValue=[a,u,f,v]),(c||r)&&this.renderer.gl.clearColor(a,u,f,v)},updateColorWritemask:function(s,r){var o=s.colorWritemask,a=o[0],u=o[1],f=o[2],v=o[3],c=a!==this.state.colorWritemask[0]||u!==this.state.colorWritemask[1]||f!==this.state.colorWritemask[2]||v!==this.state.colorWritemask[3];c&&(this.state.colorWritemask=[a,u,f,v]),(c||r)&&this.renderer.gl.colorMask(a,u,f,v)},updateCullFace:function(s,r){var o=!!s.cullFace,a=o!==this.state.cullFace;if(a&&(this.state.cullFace=o),a||r){var u=this.renderer.gl;o?u.enable(u.CULL_FACE):u.disable(u.CULL_FACE)}},updateDepthTest:function(s,r){var o=!!s.depthTest,a=o!==this.state.depthTest;if(a&&(this.state.depthTest=o),a||r){var u=this.renderer.gl;o?u.enable(u.DEPTH_TEST):u.disable(u.DEPTH_TEST)}},updateScissor:function(s,r){var o=s.scissor;o.enable!==void 0&&this.updateScissorEnabled(s,r),o.box!==void 0&&this.updateScissorBox(s,r)},updateScissorEnabled:function(s,r){var o=s.scissor.enable,a=o!==this.state.scissor.enable;if(a&&(this.state.scissor.enable=o),a||r){var u=this.renderer.gl;o?u.enable(u.SCISSOR_TEST):u.disable(u.SCISSOR_TEST)}},updateScissorBox:function(s,r){var o=s.scissor.box,a=o[0],u=o[1],f=o[2],v=o[3],c=a!==this.state.scissor.box[0]||u!==this.state.scissor.box[1]||f!==this.state.scissor.box[2]||v!==this.state.scissor.box[3];c&&(this.state.scissor.box=[a,u,f,v]),(c||r)&&this.renderer.gl.scissor(a,u,f,v)},updateStencil:function(s,r){var o=s.stencil;o.clear!==void 0&&this.updateStencilClear(s,r),o.enabled!==void 0&&this.updateStencilEnabled(s,r),o.func!==void 0&&this.updateStencilFunc(s,r),o.op!==void 0&&this.updateStencilOp(s,r)},updateStencilClear:function(s,r){var o=s.stencil.clear,a=o!==this.state.stencil.clear;a&&(this.state.stencil.clear=o),(a||r)&&this.renderer.gl.clearStencil(o)},updateStencilEnabled:function(s,r){var o=s.stencil.enabled,a=o!==this.state.stencil.enabled;if(a&&(this.state.stencil.enabled=o),a||r){var u=this.renderer.gl;o?u.enable(u.STENCIL_TEST):u.disable(u.STENCIL_TEST)}},updateStencilFunc:function(s,r){var o=s.stencil.func,a=o.func!==this.state.stencil.func.func||o.ref!==this.state.stencil.func.ref||o.mask!==this.state.stencil.func.mask;if(a&&(this.state.stencil.func={func:o.func,ref:o.ref,mask:o.mask}),a||r){var u=this.renderer.gl;u.stencilFunc(o.func,o.ref,o.mask)}},updateStencilOp:function(s,r){var o=s.stencil.op,a=o.fail!==this.state.stencil.op.fail||o.zfail!==this.state.stencil.op.zfail||o.zpass!==this.state.stencil.op.zpass;if(a&&(this.state.stencil.op={fail:o.fail,zfail:o.zfail,zpass:o.zpass}),a||r){var u=this.renderer.gl;u.stencilOp(o.fail,o.zfail,o.zpass)}},updateTexturing:function(s,r){var o=s.texturing;o.flipY!==void 0&&this.updateTexturingFlipY(s,r),o.premultiplyAlpha!==void 0&&this.updateTexturingPremultiplyAlpha(s,r)},updateTexturingFlipY:function(s,r){var o=s.texturing.flipY,a=o!==this.state.texturing.flipY;if(a&&(this.state.texturing.flipY=o),a||r){var u=this.renderer.gl;u.pixelStorei(u.UNPACK_FLIP_Y_WEBGL,o)}},updateTexturingPremultiplyAlpha:function(s,r){var o=s.texturing.premultiplyAlpha,a=o!==this.state.texturing.premultiplyAlpha;if(a&&(this.state.texturing.premultiplyAlpha=o),a||r){var u=this.renderer.gl;u.pixelStorei(u.UNPACK_PREMULTIPLY_ALPHA_WEBGL,o)}},updateVAO:function(s,r){var o=s.vao,a=o!==this.state.vao;if(a&&(this.state.vao=o),a||r){var u=this.renderer.gl;o?u.bindVertexArray(o.vertexArrayObject):u.bindVertexArray(null)}},updateViewport:function(s,r){var o=s.viewport,a=o[0],u=o[1],f=o[2],v=o[3],c=a!==this.state.viewport[0]||u!==this.state.viewport[1]||f!==this.state.viewport[2]||v!==this.state.viewport[3];c&&(this.state.viewport=[a,u,f,v]),(c||r)&&this.renderer.gl.viewport(a,u,f,v)}});h.exports=i},1482:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(90330),l=t(83419);function i(r,o){return!(r===o||(Number.isNaN(r)||r===void 0)&&(Number.isNaN(o)||o===void 0))}var s=new l({initialize:function(o,a,u){this.renderer=o,this.webGLProgram=null,this.compiling=!1,this._compileStartTime=0,this.compileTimeMs=0,this.glState={bindings:{program:this}},this.vertexSource=a,this.fragmentSource=u,this._vertexShader=null,this._fragmentShader=null,this.glAttributes=[],this.glAttributeNames=new e,this.glAttributeBuffer=null,this.glUniforms=new e,this.uniformRequests=new e,this.createResource()},createResource:function(){var r=this.renderer,o=r.gl;if(this.glAttributeBuffer=null,!o.isContextLost()){this.compiling=!0,this._compileStartTime=performance.now(),r.glWrapper.state.bindings.program===this&&r.glWrapper.updateBindingsProgram({bindings:{program:null}});var a=o.createProgram();this.webGLProgram=a;var u=o.createShader(o.VERTEX_SHADER),f=o.createShader(o.FRAGMENT_SHADER);this._vertexShader=u,this._fragmentShader=f,o.shaderSource(u,this.vertexSource),o.shaderSource(f,this.fragmentSource),o.compileShader(u),o.compileShader(f),o.attachShader(a,u),o.attachShader(a,f),o.linkProgram(a),r.game.config.skipUnreadyShaders||this._completeProgram()}},checkParallelCompile:function(){var r=this.renderer,o=r.gl,a=r.parallelShaderCompileExtension;!a||!o.getProgramParameter(this.webGLProgram,a.COMPLETION_STATUS_KHR)||this._completeProgram()},_completeProgram:function(){var r=this.webGLProgram,o=this.renderer,a=o.gl,u=this._vertexShader,f=this._fragmentShader,v=`Shader failed: +`;if(!a.getProgramParameter(r,a.LINK_STATUS))throw a.getShaderParameter(u,a.COMPILE_STATUS)?a.getShaderParameter(f,a.COMPILE_STATUS)?(console.log(this.vertexSource,this.fragmentSource),new Error("Link Shader failed:"+a.getProgramInfoLog(r))):(console.log(this.fragmentSource),new Error("Fragment "+v+a.getShaderInfoLog(f))):(console.log(this.vertexSource),new Error("Vertex "+v+a.getShaderInfoLog(u)));this._setupAttributesAndUniforms(),this.compileTimeMs=performance.now()-this._compileStartTime,this.compiling=!1},_setupAttributesAndUniforms:function(){var r=this.webGLProgram,o=this.renderer,a=o.gl,u=this;this.glAttributeNames.clear(),this.glAttributes.length=0;for(var f=a.getProgramParameter(r,a.ACTIVE_ATTRIBUTES),v=0;v1&&(M=C.baseType===a.FLOAT?new Float32Array(A):new Int32Array(A)),this.glUniforms.set(T.name,{location:a.getUniformLocation(r,T.name),size:T.size,type:T.type,value:M})}},setUniform:function(r,o){this.uniformRequests.set(r,o)},bind:function(){this.renderer.glWrapper.updateBindingsProgram(this.glState),this.uniformRequests.each(this._processUniformRequest.bind(this)),this.uniformRequests.clear()},_processUniformRequest:function(r,o){var a=this.renderer,u=a.gl,f=this.glUniforms.get(r);if(f){var v=f.value;if(v.length){for(var c=!1,g=0;g1)M.setV.call(u,p,v);else switch(M.size){case 1:M.set.call(u,p,o);break;case 2:M.set.call(u,p,o[0],o[1]);break;case 3:M.set.call(u,p,o[0],o[1],o[2]);break;case 4:M.set.call(u,p,o[0],o[1],o[2],o[3]);break}}},destroy:function(){if(this.webGLProgram){var r=this.renderer.gl;if(!r.isContextLost()){this._vertexShader&&r.deleteShader(this._vertexShader),this._fragmentShader&&r.deleteShader(this._fragmentShader),r.deleteProgram(this.webGLProgram);for(var o=0;o{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s){var r=s.gl;this.constants={5124:{constant:r.INT,baseType:r.INT,size:1,bytes:4,set:r.uniform1i,setV:r.uniform1iv,isMatrix:!1},35667:{constant:r.INT_VEC2,baseType:r.INT,size:2,bytes:4,set:r.uniform2i,setV:r.uniform2iv,isMatrix:!1},35668:{constant:r.INT_VEC3,baseType:r.INT,size:3,bytes:4,set:r.uniform3i,setV:r.uniform3iv,isMatrix:!1},35669:{constant:r.INT_VEC4,baseType:r.INT,size:4,bytes:4,set:r.uniform4i,setV:r.uniform4iv,isMatrix:!1},5126:{constant:r.FLOAT,baseType:r.FLOAT,size:1,bytes:4,set:r.uniform1f,setV:r.uniform1fv,isMatrix:!1},35664:{constant:r.FLOAT_VEC2,baseType:r.FLOAT,size:2,bytes:4,set:r.uniform2f,setV:r.uniform2fv,isMatrix:!1},35665:{constant:r.FLOAT_VEC3,baseType:r.FLOAT,size:3,bytes:4,set:r.uniform3f,setV:r.uniform3fv,isMatrix:!1},35666:{constant:r.FLOAT_VEC4,baseType:r.FLOAT,size:4,bytes:4,set:r.uniform4f,setV:r.uniform4fv,isMatrix:!1},5125:{constant:r.UNSIGNED_INT,baseType:r.UNSIGNED_INT,size:1,bytes:4,set:r.uniform1i,setV:r.uniform1iv,isMatrix:!1},5120:{constant:r.BYTE,baseType:r.BYTE,size:1,bytes:1,set:r.uniform1i,setV:r.uniform1iv,isMatrix:!1},5121:{constant:r.UNSIGNED_BYTE,baseType:r.UNSIGNED_BYTE,size:1,bytes:1,set:r.uniform1i,setV:r.uniform1iv,isMatrix:!1},5122:{constant:r.SHORT,baseType:r.SHORT,size:1,bytes:2,set:r.uniform1i,setV:r.uniform1iv,isMatrix:!1},5123:{constant:r.UNSIGNED_SHORT,baseType:r.UNSIGNED_SHORT,size:1,bytes:2,set:r.uniform1i,setV:r.uniform1iv,isMatrix:!1},35670:{constant:r.BOOL,baseType:r.BOOL,size:1,bytes:4,set:r.uniform1i,setV:r.uniform1iv,isMatrix:!1},35671:{constant:r.BOOL_VEC2,baseType:r.BOOL,size:2,bytes:4,set:r.uniform2i,setV:r.uniform2iv,isMatrix:!1},35672:{constant:r.BOOL_VEC3,baseType:r.BOOL,size:3,bytes:4,set:r.uniform3i,setV:r.uniform3iv,isMatrix:!1},35673:{constant:r.BOOL_VEC4,baseType:r.BOOL,size:4,bytes:4,set:r.uniform4i,setV:r.uniform4iv,isMatrix:!1},35674:{constant:r.FLOAT_MAT2,baseType:r.FLOAT,size:4,bytes:4,set:r.uniformMatrix2fv,setV:r.uniformMatrix2fv,isMatrix:!0},35675:{constant:r.FLOAT_MAT3,baseType:r.FLOAT,size:9,bytes:4,set:r.uniformMatrix3fv,setV:r.uniformMatrix3fv,isMatrix:!0},35676:{constant:r.FLOAT_MAT4,baseType:r.FLOAT,size:16,bytes:4,set:r.uniformMatrix4fv,setV:r.uniformMatrix4fv,isMatrix:!0},35678:{constant:r.SAMPLER_2D,baseType:r.INT,size:1,bytes:4,set:r.uniform1i,setV:r.uniform1iv,isMatrix:!1},35680:{constant:r.SAMPLER_CUBE,baseType:r.INT,size:1,bytes:4,set:r.uniform1i,setV:r.uniform1iv,isMatrix:!1}}}});h.exports=l},13760:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s){this.renderer=s,this.units=[],this.unitIndices=[],this.init()},init:function(){var i=this.renderer.gl;this.units.length=0,this.unitIndices.length=0;for(var s=i.createTexture(),r=this.renderer.maxTextures-1;r>=0;r--)this.units[r]=void 0,this.renderer.glWrapper.updateBindingsActiveTexture({bindings:{activeTexture:r}}),i.bindTexture(i.TEXTURE_2D,s),this.unitIndices[r]=r;i.texImage2D(i.TEXTURE_2D,0,i.RGBA,1,1,0,i.RGBA,i.UNSIGNED_BYTE,new Uint8Array([0,0,255,255]))},bind:function(i,s,r,o){var a=this.units[s]!==i;if((r||o!==!1||a)&&this.renderer.glWrapper.updateBindingsActiveTexture({bindings:{activeTexture:s}},r),!(!a&&!r)){this.units[s]=i;var u=i?i.webGLTexture:null,f=this.renderer.gl;f.bindTexture(f.TEXTURE_2D,u)}},bindUnits:function(i,s){for(var r=Math.min(i.length,this.renderer.maxTextures),o=r-1;o>=0;o--)i[o]!==void 0&&this.bind(i[o],o,s,!1)},unbindTexture:function(i){for(var s=this.units.length-1;s>=0;s--)this.units[s]===i&&this.bind(null,s,!0,!1)},unbindAllUnits:function(){for(var i=this.units.length-1;i>=0;i--)this.bind(null,i,!0,!1)}});h.exports=l},82751:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(50030),i=new e({initialize:function(r,o,a,u,f,v,c,g,p,T,C,M,A){A===void 0&&(A=!0),this.renderer=r,this.webGLTexture=null,this.isRenderTexture=!1,this.mipLevel=o,this.minFilter=a,this.magFilter=u,this.wrapT=f,this.wrapS=v,this.format=c,this.pixels=g,this.width=p,this.height=T,this.pma=C??!0,this.forceSize=!!M,this.flipY=!!A,this.__SPECTOR_Metadata={},this.batchUnit=-1,this.createResource()},createResource:function(){var s=this.renderer.gl;if(!s.isContextLost()){if(this.pixels instanceof i){this.webGLTexture=this.pixels.webGLTexture;return}var r=s.createTexture();r.__SPECTOR_Metadata=this.__SPECTOR_Metadata,this.webGLTexture=r,this._processTexture()}},resize:function(s,r){this.width===s&&this.height===r||(this.width=s,this.height=r,this._processTexture())},update:function(s,r,o,a,u,f,v,c,g){r===0||o===0||(this.pixels=s,this.width=r,this.height=o,this.flipY=a,this.wrapS=u,this.wrapT=f,this.minFilter=v,this.magFilter=c,this.format=g,this._processTexture())},_processTexture:function(){var s=this.renderer.gl;this.renderer.glTextureUnits.bind(this,0),this.renderer.glWrapper.updateTexturing({texturing:{flipY:this.flipY,premultiplyAlpha:this.pma}}),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,this.minFilter),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,this.magFilter),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,this.wrapS),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,this.wrapT);var r=this.pixels,o=this.mipLevel,a=this.width,u=this.height,f=this.format,v=!1;if(r==null)s.texImage2D(s.TEXTURE_2D,o,f,a,u,0,f,s.UNSIGNED_BYTE,null),v=l(a,u);else if(r.compressed){a=r.width,u=r.height,v=r.generateMipmap;for(var c=0;c{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s,r,o,a){this.renderer=s,this.program=r,this.vertexArrayObject=null,this.indexBuffer=o,this.attributeBufferLayouts=a,this.glState={vao:this},this.createResource()},createResource:function(){var i=this.renderer.gl;this.vertexArrayObject=i.createVertexArray(),this.bind(),this.indexBuffer&&this.indexBuffer.bind();for(var s=this.program,r=s.glAttributes,o=s.glAttributeNames,a=0;a{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s,r,o){this.renderer=s,this.layout=r,this.completeLayout(r);var a=r.stride*r.count;if(o&&o.byteLength{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e={WebGLGlobalWrapper:t(37959),WebGLBufferWrapper:t(26128),WebGLProgramWrapper:t(1482),WebGLShaderSetterWrapper:t(86272),WebGLTextureWrapper:t(82751),WebGLTextureUnitsWrapper:t(13760),WebGLFramebufferWrapper:t(84387),WebGLVAOWrapper:t(85788),WebGLVertexBufferLayoutWrapper:t(40952)};h.exports=e},76531:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(13560),l=t(83419),i=t(45319),s=t(50792),r=t(97480),o=t(8443),a=t(57811),u=t(74403),f=t(45818),v=t(29747),c=t(87841),g=t(86555),p=t(56583),T=t(26099),C=t(38058),M=new l({Extends:s,initialize:function(R){s.call(this),this.game=R,this.canvas,this.canvasBounds=new c,this.parent=null,this.parentIsWindow=!1,this.parentSize=new g,this.gameSize=new g,this.baseSize=new g,this.displaySize=new g,this.scaleMode=e.SCALE_MODE.NONE,this.zoom=1,this._resetZoom=!1,this.displayScale=new T(1,1),this.autoRound=!1,this.autoCenter=e.CENTER.NO_CENTER,this.orientation=e.ORIENTATION.LANDSCAPE,this.fullscreen,this.fullscreenTarget=null,this._createdFullscreenTarget=!1,this.dirty=!1,this.resizeInterval=500,this._lastCheck=0,this._checkOrientation=!1,this.domlisteners={orientationChange:v,windowResize:v,fullScreenChange:v,fullScreenError:v}},preBoot:function(){this.parseConfig(this.game.config),this.game.events.once(o.BOOT,this.boot,this)},boot:function(){var A=this.game;this.canvas=A.canvas,this.fullscreen=A.device.fullscreen;var R=this.scaleMode;R!==e.SCALE_MODE.RESIZE&&R!==e.SCALE_MODE.EXPAND&&this.displaySize.setAspectMode(R),R===e.SCALE_MODE.NONE?this.resize(this.width,this.height):(this.getParentBounds(),this.parentSize.width>0&&this.parentSize.height>0&&this.displaySize.setParent(this.parentSize),this.refresh()),A.events.on(o.PRE_STEP,this.step,this),A.events.once(o.READY,this.refresh,this),A.events.once(o.DESTROY,this.destroy,this),this.startListeners()},parseConfig:function(A){this.getParent(A),this.getParentBounds();var R=A.width,P=A.height,L=A.scaleMode,F=A.zoom,w=A.autoRound;if(typeof R=="string")if(R.substr(-1)!=="%")R=parseInt(R,10);else{var O=this.parentSize.width;O===0&&(O=window.innerWidth);var B=parseInt(R,10)/100;R=Math.floor(O*B)}if(typeof P=="string")if(P.substr(-1)!=="%")P=parseInt(P,10);else{var I=this.parentSize.height;I===0&&(I=window.innerHeight);var D=parseInt(P,10)/100;P=Math.floor(I*D)}this.scaleMode=L,this.autoRound=w,this.autoCenter=A.autoCenter,this.resizeInterval=A.resizeInterval,w&&(R=Math.floor(R),P=Math.floor(P)),this.gameSize.setSize(R,P),F===e.ZOOM.MAX_ZOOM&&(F=this.getMaxZoom()),this.zoom=F,F!==1&&(this._resetZoom=!0),this.baseSize.setSize(R,P),w&&(this.baseSize.width=Math.floor(this.baseSize.width),this.baseSize.height=Math.floor(this.baseSize.height)),A.minWidth>0&&this.displaySize.setMin(A.minWidth*F,A.minHeight*F),A.maxWidth>0&&this.displaySize.setMax(A.maxWidth*F,A.maxHeight*F),this.displaySize.setSize(R,P),(A.snapWidth>0||A.snapHeight>0)&&this.displaySize.setSnap(A.snapWidth,A.snapHeight),this.orientation=f(R,P)},getParent:function(A){var R=A.parent;if(R!==null){if(this.parent=u(R),this.parentIsWindow=this.parent===document.body,A.expandParent&&A.scaleMode!==e.SCALE_MODE.NONE){var P=this.parent.getBoundingClientRect();(this.parentIsWindow||P.height===0)&&(document.documentElement.style.height="100%",document.body.style.height="100%",P=this.parent.getBoundingClientRect(),!this.parentIsWindow&&P.height===0&&(this.parent.style.overflow="hidden",this.parent.style.width="100%",this.parent.style.height="100%"))}A.fullscreenTarget&&!this.fullscreenTarget&&(this.fullscreenTarget=u(A.fullscreenTarget))}},getParentBounds:function(){if(!this.parent)return!1;var A=this.parentSize,R=this.parent.getBoundingClientRect();this.parentIsWindow&&this.game.device.os.iOS&&(R.height=a(!0));var P=R.width,L=R.height;if(A.width!==P||A.height!==L)return A.setSize(P,L),!0;if(this.canvas){var F=this.canvasBounds,w=this.canvas.getBoundingClientRect();if(w.x!==F.x||w.y!==F.y)return!0}return!1},lockOrientation:function(A){var R=screen.lockOrientation||screen.mozLockOrientation||screen.msLockOrientation;return R?R.call(screen,A):!1},setParentSize:function(A,R){return this.parentSize.setSize(A,R),this.refresh()},setGameSize:function(A,R){var P=this.autoRound;P&&(A=Math.floor(A),R=Math.floor(R));var L=this.width,F=this.height;return this.gameSize.resize(A,R),this.baseSize.resize(A,R),P&&(this.baseSize.width=Math.floor(this.baseSize.width),this.baseSize.height=Math.floor(this.baseSize.height)),this.displaySize.setAspectRatio(A/R),this.canvas.width=this.baseSize.width,this.canvas.height=this.baseSize.height,this.refresh(L,F)},resize:function(A,R){var P=this.zoom,L=this.autoRound;L&&(A=Math.floor(A),R=Math.floor(R));var F=this.width,w=this.height;this.gameSize.resize(A,R),this.baseSize.resize(A,R),L&&(this.baseSize.width=Math.floor(this.baseSize.width),this.baseSize.height=Math.floor(this.baseSize.height)),this.displaySize.setSize(A*P,R*P),this.canvas.width=this.baseSize.width,this.canvas.height=this.baseSize.height;var O=this.canvas.style,B=A*P,I=R*P;return L&&(B=Math.floor(B),I=Math.floor(I)),(B!==A||I!==R)&&(O.width=B+"px",O.height=I+"px"),this.refresh(F,w)},setZoom:function(A){return this.zoom=A,this._resetZoom=!0,this.refresh()},setMaxZoom:function(){return this.zoom=this.getMaxZoom(),this._resetZoom=!0,this.refresh()},setSnap:function(A,R){return A===void 0&&(A=0),R===void 0&&(R=A),this.displaySize.setSnap(A,R),this.refresh()},refresh:function(A,R){A===void 0&&(A=this.width),R===void 0&&(R=this.height),this.updateScale(),this.updateBounds(),this.updateOrientation(),this.displayScale.set(this.baseSize.width/this.canvasBounds.width,this.baseSize.height/this.canvasBounds.height);var P=this.game.domContainer;if(P){this.baseSize.setCSS(P);var L=this.canvas.style,F=P.style;F.transform="scale("+this.displaySize.width/this.baseSize.width+","+this.displaySize.height/this.baseSize.height+")",F.marginLeft=L.marginLeft,F.marginTop=L.marginTop}return this.emit(r.RESIZE,this.gameSize,this.baseSize,this.displaySize,A,R),this},updateOrientation:function(){if(this._checkOrientation){this._checkOrientation=!1;var A=f(this.width,this.height);A!==this.orientation&&(this.orientation=A,this.emit(r.ORIENTATION_CHANGE,A))}},updateScale:function(){var A=this.canvas.style,R=this.gameSize.width,P=this.gameSize.height,L,F,w=this.zoom,O=this.autoRound;if(this.scaleMode===e.SCALE_MODE.NONE)this.displaySize.setSize(R*w,P*w),L=this.displaySize.width,F=this.displaySize.height,O&&(L=Math.floor(L),F=Math.floor(F)),this._resetZoom&&(A.width=L+"px",A.height=F+"px",this._resetZoom=!1);else if(this.scaleMode===e.SCALE_MODE.RESIZE)this.displaySize.setSize(this.parentSize.width,this.parentSize.height),this.gameSize.setSize(this.displaySize.width,this.displaySize.height),this.baseSize.setSize(this.displaySize.width,this.displaySize.height),L=this.displaySize.width,F=this.displaySize.height,O&&(L=Math.floor(L),F=Math.floor(F)),this.canvas.width=L,this.canvas.height=F;else if(this.scaleMode===e.SCALE_MODE.EXPAND){var B=this.game.config.width,I=this.game.config.height,D=this.parentSize.width,N=this.parentSize.height,z=D/B,V=N/I,U,G;z=0?0:-(F.x*w.x),B=F.y>=0?0:-(F.y*w.y),I;L.width>=F.width?I=P.width:I=P.width-(F.width-L.width)*w.x;var D;return L.height>=F.height?D=P.height:D=P.height-(F.height-L.height)*w.y,R.setTo(O,B,I,D),A&&(R.width/=A.zoomX,R.height/=A.zoomY,R.centerX=A.centerX+A.scrollX,R.centerY=A.centerY+A.scrollY),R},step:function(A,R){this.parent&&(this._lastCheck+=R,(this.dirty||this._lastCheck>this.resizeInterval)&&(this.getParentBounds()&&this.refresh(),this.dirty=!1,this._lastCheck=0))},stopListeners:function(){var A=this.domlisteners;screen.orientation&&screen.orientation.addEventListener?screen.orientation.removeEventListener("change",A.orientationChange,!1):window.removeEventListener("orientationchange",A.orientationChange,!1),window.removeEventListener("resize",A.windowResize,!1);var R=["webkit","moz",""];R.forEach(function(P){document.removeEventListener(P+"fullscreenchange",A.fullScreenChange,!1),document.removeEventListener(P+"fullscreenerror",A.fullScreenError,!1)}),document.removeEventListener("MSFullscreenChange",A.fullScreenChange,!1),document.removeEventListener("MSFullscreenError",A.fullScreenError,!1)},destroy:function(){this.removeAllListeners(),this.stopListeners(),this.game=null,this.canvas=null,this.canvasBounds=null,this.parent=null,this.fullscreenTarget=null,this.parentSize.destroy(),this.gameSize.destroy(),this.baseSize.destroy(),this.displaySize.destroy()},isFullscreen:{get:function(){return this.fullscreen.active}},width:{get:function(){return this.gameSize.width}},height:{get:function(){return this.gameSize.height}},isPortrait:{get:function(){return this.orientation===e.ORIENTATION.PORTRAIT}},isLandscape:{get:function(){return this.orientation===e.ORIENTATION.LANDSCAPE}},isGamePortrait:{get:function(){return this.height>this.width}},isGameLandscape:{get:function(){return this.width>this.height}}});h.exports=M},64743:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={NO_CENTER:0,CENTER_BOTH:1,CENTER_HORIZONTALLY:2,CENTER_VERTICALLY:3}},39218:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={LANDSCAPE:"landscape-primary",LANDSCAPE_SECONDARY:"landscape-secondary",PORTRAIT:"portrait-primary",PORTRAIT_SECONDARY:"portrait-secondary"}},81050:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={NONE:0,WIDTH_CONTROLS_HEIGHT:1,HEIGHT_CONTROLS_WIDTH:2,FIT:3,ENVELOP:4,RESIZE:5,EXPAND:6}},80805:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={NO_ZOOM:1,ZOOM_2X:2,ZOOM_4X:4,MAX_ZOOM:-1}},13560:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e={CENTER:t(64743),ORIENTATION:t(39218),SCALE_MODE:t(81050),ZOOM:t(80805)};h.exports=e},56139:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="enterfullscreen"},2336:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="fullscreenfailed"},47412:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="fullscreenunsupported"},51452:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="leavefullscreen"},20666:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="orientationchange"},47945:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="resize"},97480:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={ENTER_FULLSCREEN:t(56139),FULLSCREEN_FAILED:t(2336),FULLSCREEN_UNSUPPORTED:t(47412),LEAVE_FULLSCREEN:t(51452),ORIENTATION_CHANGE:t(20666),RESIZE:t(47945)}},93364:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(79291),l=t(13560),i={Center:t(64743),Events:t(97480),Orientation:t(39218),ScaleManager:t(76531),ScaleModes:t(81050),Zoom:t(80805)};i=e(!1,i,l.CENTER),i=e(!1,i,l.ORIENTATION),i=e(!1,i,l.SCALE_MODE),i=e(!1,i,l.ZOOM),h.exports=i},27397:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(95540),l=t(35355),i=function(s){var r=s.game.config.defaultPhysicsSystem,o=e(s.settings,"physics",!1);if(!(!r&&!o)){var a=[];if(r&&a.push(l(r+"Physics")),o)for(var u in o)u=l(u.concat("Physics")),a.indexOf(u)===-1&&a.push(u);return a}};h.exports=i},52106:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(95540),l=function(i){var s=i.plugins.getDefaultScenePlugins(),r=e(i.settings,"plugins",!1);return Array.isArray(r)?r:s||[]};h.exports=l},87033:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={game:"game",renderer:"renderer",anims:"anims",cache:"cache",plugins:"plugins",registry:"registry",scale:"scale",sound:"sound",textures:"textures",events:"events",cameras:"cameras",add:"add",make:"make",scenePlugin:"scene",displayList:"children",lights:"lights",data:"data",input:"input",load:"load",time:"time",tweens:"tweens",arcadePhysics:"physics",matterPhysics:"matter"};h.exports=d},97482:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(2368),i=new e({initialize:function(r){this.sys=new l(this,r),this.game,this.anims,this.cache,this.registry,this.sound,this.textures,this.events,this.cameras,this.add,this.make,this.scene,this.children,this.lights,this.data,this.input,this.load,this.time,this.tweens,this.physics,this.matter,this.scale,this.plugins,this.renderer},update:function(){}});h.exports=i},60903:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(89993),i=t(44594),s=t(8443),r=t(35154),o=t(54899),a=t(29747),u=t(97482),f=t(2368),v=new e({initialize:function(g,p){if(this.game=g,this.keys={},this.scenes=[],this._pending=[],this._start=[],this._queue=[],this._data={},this.isProcessing=!1,this.isBooted=!1,this.customViewports=0,this.systemScene,p){Array.isArray(p)||(p=[p]);for(var T=0;T-1&&(delete this.keys[T],this.scenes.splice(p,1),this._start.indexOf(T)>-1&&(p=this._start.indexOf(T),this._start.splice(p,1)),g.sys.destroy()),this},bootScene:function(c){var g=c.sys,p=g.settings;g.sceneUpdate=a,c.init&&(c.init.call(c,p.data),p.status=l.INIT,p.isTransition&&g.events.emit(i.TRANSITION_INIT,p.transitionFrom,p.transitionDuration));var T;g.load&&(T=g.load,T.reset()),T&&c.preload?(c.preload.call(c),p.status=l.LOADING,T.once(o.COMPLETE,this.loadComplete,this),T.start()):this.create(c)},loadComplete:function(c){this.create(c.scene)},payloadComplete:function(c){this.bootScene(c.scene)},update:function(c,g){this.processQueue(),this.isProcessing=!0;for(var p=this.scenes.length-1;p>=0;p--){var T=this.scenes[p].sys;T.settings.status>l.START&&T.settings.status<=l.RUNNING&&T.step(c,g),T.scenePlugin&&T.scenePlugin._target&&T.scenePlugin.step(c,g)}},render:function(c){for(var g=0;g=l.LOADING&&p.settings.status=l.START&&C<=l.CREATING)return this;if(C>=l.RUNNING&&C<=l.SLEEPING)T.shutdown(),T.sceneUpdate=a,T.start(g);else{T.sceneUpdate=a,T.start(g);var M;if(T.load&&(M=T.load),M&&T.settings.hasOwnProperty("pack")&&(M.reset(),M.addPack({payload:T.settings.pack})))return T.settings.status=l.LOADING,M.once(o.COMPLETE,this.payloadComplete,this),M.start(),this}return this.bootScene(p),this},stop:function(c,g){var p=this.getScene(c);if(p&&!p.sys.isTransitioning()&&p.sys.settings.status!==l.SHUTDOWN){var T=p.sys.load;T&&(T.off(o.COMPLETE,this.loadComplete,this),T.off(o.COMPLETE,this.payloadComplete,this)),p.sys.shutdown(g)}return this},switch:function(c,g,p){var T=this.getScene(c),C=this.getScene(g);return T&&C&&T!==C&&(this.sleep(c),this.isSleeping(g)?this.wake(g,p):this.start(g,p)),this},getAt:function(c){return this.scenes[c]},getIndex:function(c){var g=this.getScene(c);return this.scenes.indexOf(g)},bringToTop:function(c){if(this.isProcessing)return this.queueOp("bringToTop",c);var g=this.getIndex(c),p=this.scenes;if(g!==-1&&g0){var p=this.getScene(c);this.scenes.splice(g,1),this.scenes.unshift(p)}return this},moveDown:function(c){if(this.isProcessing)return this.queueOp("moveDown",c);var g=this.getIndex(c);if(g>0){var p=g-1,T=this.getScene(c),C=this.getAt(p);this.scenes[g]=C,this.scenes[p]=T}return this},moveUp:function(c){if(this.isProcessing)return this.queueOp("moveUp",c);var g=this.getIndex(c);if(gp),0,C)}return this},moveBelow:function(c,g){if(c===g)return this;if(this.isProcessing)return this.queueOp("moveBelow",c,g);var p=this.getIndex(c),T=this.getIndex(g);if(p!==-1&&T!==-1&&T>p){var C=this.getAt(T);this.scenes.splice(T,1),p===0?this.scenes.unshift(C):this.scenes.splice(p-(T{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(45319),l=t(83419),i=t(44594),s=t(95540),r=t(37277),o=new l({initialize:function(u){this.scene=u,this.systems=u.sys,this.settings=u.sys.settings,this.key=u.sys.settings.key,this.manager=u.sys.game.scene,this.transitionProgress=0,this._elapsed=0,this._target=null,this._duration=0,this._onUpdate,this._onUpdateScope,this._willSleep=!1,this._willRemove=!1,u.sys.events.once(i.BOOT,this.boot,this),u.sys.events.on(i.START,this.pluginStart,this)},boot:function(){this.systems.events.once(i.DESTROY,this.destroy,this)},pluginStart:function(){this._target=null,this.systems.events.once(i.SHUTDOWN,this.shutdown,this)},start:function(a,u){return a===void 0&&(a=this.key),this.manager.queueOp("stop",this.key),this.manager.queueOp("start",a,u),this},restart:function(a){var u=this.key;return this.manager.queueOp("stop",u),this.manager.queueOp("start",u,a),this},transition:function(a){a===void 0&&(a={});var u=s(a,"target",!1),f=this.manager.getScene(u);if(!u||!this.checkValidTransition(f))return!1;var v=s(a,"duration",1e3);this._elapsed=0,this._target=f,this._duration=v,this._willSleep=s(a,"sleep",!1),this._willRemove=s(a,"remove",!1);var c=s(a,"onUpdate",null);c&&(this._onUpdate=c,this._onUpdateScope=s(a,"onUpdateScope",this.scene));var g=s(a,"allowInput",!1);this.settings.transitionAllowInput=g;var p=f.sys.settings;p.isTransition=!0,p.transitionFrom=this.scene,p.transitionDuration=v,p.transitionAllowInput=g,s(a,"moveAbove",!1)?this.manager.moveAbove(this.key,u):s(a,"moveBelow",!1)&&this.manager.moveBelow(this.key,u),f.sys.isSleeping()?f.sys.wake(s(a,"data")):this.manager.start(u,s(a,"data"));var T=s(a,"onStart",null),C=s(a,"onStartScope",this.scene);return T&&T.call(C,this.scene,f,v),this.systems.events.emit(i.TRANSITION_OUT,f,v),!0},checkValidTransition:function(a){return!(!a||a.sys.isActive()||a.sys.isTransitioning()||a===this.scene||this.systems.isTransitioning())},step:function(a,u){this._elapsed+=u,this.transitionProgress=e(this._elapsed/this._duration,0,1),this._onUpdate&&this._onUpdate.call(this._onUpdateScope,this.transitionProgress),this._elapsed>=this._duration&&this.transitionComplete()},transitionComplete:function(){var a=this._target.sys,u=this._target.sys.settings;a.events.emit(i.TRANSITION_COMPLETE,this.scene),u.isTransition=!1,u.transitionFrom=null,this._duration=0,this._target=null,this._onUpdate=null,this._onUpdateScope=null,this._willRemove?this.manager.remove(this.key):this._willSleep?this.systems.sleep():this.manager.stop(this.key)},add:function(a,u,f,v){return this.manager.add(a,u,f,v)},launch:function(a,u){return a&&a!==this.key&&this.manager.queueOp("start",a,u),this},run:function(a,u){return a&&a!==this.key&&this.manager.queueOp("run",a,u),this},pause:function(a,u){return a===void 0&&(a=this.key),this.manager.queueOp("pause",a,u),this},resume:function(a,u){return a===void 0&&(a=this.key),this.manager.queueOp("resume",a,u),this},sleep:function(a,u){return a===void 0&&(a=this.key),this.manager.queueOp("sleep",a,u),this},wake:function(a,u){return a===void 0&&(a=this.key),this.manager.queueOp("wake",a,u),this},switch:function(a,u){return a!==this.key&&this.manager.queueOp("switch",this.key,a,u),this},stop:function(a,u){return a===void 0&&(a=this.key),this.manager.queueOp("stop",a,u),this},setActive:function(a,u,f){u===void 0&&(u=this.key);var v=this.manager.getScene(u);return v&&v.sys.setActive(a,f),this},setVisible:function(a,u){u===void 0&&(u=this.key);var f=this.manager.getScene(u);return f&&f.sys.setVisible(a),this},isSleeping:function(a){return a===void 0&&(a=this.key),this.manager.isSleeping(a)},isActive:function(a){return a===void 0&&(a=this.key),this.manager.isActive(a)},isPaused:function(a){return a===void 0&&(a=this.key),this.manager.isPaused(a)},isVisible:function(a){return a===void 0&&(a=this.key),this.manager.isVisible(a)},swapPosition:function(a,u){return u===void 0&&(u=this.key),a!==u&&this.manager.swapPosition(a,u),this},moveAbove:function(a,u){return u===void 0&&(u=this.key),a!==u&&this.manager.moveAbove(a,u),this},moveBelow:function(a,u){return u===void 0&&(u=this.key),a!==u&&this.manager.moveBelow(a,u),this},remove:function(a){return a===void 0&&(a=this.key),this.manager.remove(a),this},moveUp:function(a){return a===void 0&&(a=this.key),this.manager.moveUp(a),this},moveDown:function(a){return a===void 0&&(a=this.key),this.manager.moveDown(a),this},bringToTop:function(a){return a===void 0&&(a=this.key),this.manager.bringToTop(a),this},sendToBack:function(a){return a===void 0&&(a=this.key),this.manager.sendToBack(a),this},get:function(a){return this.manager.getScene(a)},getStatus:function(a){var u=this.manager.getScene(a);if(u)return u.sys.getStatus()},getIndex:function(a){return a===void 0&&(a=this.key),this.manager.getIndex(a)},shutdown:function(){var a=this.systems.events;a.off(i.SHUTDOWN,this.shutdown,this),a.off(i.TRANSITION_OUT)},destroy:function(){this.shutdown(),this.scene.sys.events.off(i.START,this.start,this),this.scene=null,this.systems=null,this.settings=null,this.manager=null}});r.register("ScenePlugin",o,"scenePlugin"),h.exports=o},55681:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(89993),l=t(35154),i=t(46975),s=t(87033),r={create:function(o){return typeof o=="string"?o={key:o}:o===void 0&&(o={}),{status:e.PENDING,key:l(o,"key",""),active:l(o,"active",!1),visible:l(o,"visible",!0),isBooted:!1,isTransition:!1,transitionFrom:null,transitionDuration:0,transitionAllowInput:!0,data:{},pack:l(o,"pack",!1),cameras:l(o,"cameras",null),map:l(o,"map",i(s,l(o,"mapAdd",{}))),physics:l(o,"physics",{}),loader:l(o,"loader",{}),plugins:l(o,"plugins",!1),input:l(o,"input",{})}}};h.exports=r},2368:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(89993),i=t(42363),s=t(44594),r=t(27397),o=t(52106),a=t(29747),u=t(55681),f=new e({initialize:function(c,g){this.scene=c,this.game,this.renderer,this.config=g,this.settings=u.create(g),this.canvas,this.context,this.anims,this.cache,this.plugins,this.registry,this.scale,this.sound,this.textures,this.add,this.cameras,this.displayList,this.events,this.make,this.scenePlugin,this.updateList,this.sceneUpdate=a},init:function(v){this.settings.status=l.INIT,this.sceneUpdate=a,this.game=v,this.renderer=v.renderer,this.canvas=v.canvas,this.context=v.context;var c=v.plugins;this.plugins=c,c.addToScene(this,i.Global,[i.CoreScene,o(this),r(this)]),this.events.emit(s.BOOT,this),this.settings.isBooted=!0},step:function(v,c){var g=this.events;g.emit(s.PRE_UPDATE,v,c),g.emit(s.UPDATE,v,c),this.sceneUpdate.call(this.scene,v,c),g.emit(s.POST_UPDATE,v,c)},render:function(v){var c=this.displayList;c.depthSort(),this.events.emit(s.PRE_RENDER,v),this.cameras.render(v,c),this.events.emit(s.RENDER,v)},queueDepthSort:function(){this.displayList.queueDepthSort()},depthSort:function(){this.displayList.depthSort()},pause:function(v){var c=this.settings,g=this.getStatus();return g!==l.CREATING&&g!==l.RUNNING?console.warn("Cannot pause non-running Scene",c.key):this.settings.active&&(c.status=l.PAUSED,c.active=!1,this.events.emit(s.PAUSE,this,v)),this},resume:function(v){var c=this.events,g=this.settings;return this.settings.active||(g.status=l.RUNNING,g.active=!0,c.emit(s.RESUME,this,v)),this},sleep:function(v){var c=this.settings,g=this.getStatus();return g!==l.CREATING&&g!==l.RUNNING?console.warn("Cannot sleep non-running Scene",c.key):(c.status=l.SLEEPING,c.active=!1,c.visible=!1,this.events.emit(s.SLEEP,this,v)),this},wake:function(v){var c=this.events,g=this.settings;return g.status=l.RUNNING,g.active=!0,g.visible=!0,c.emit(s.WAKE,this,v),g.isTransition&&c.emit(s.TRANSITION_WAKE,g.transitionFrom,g.transitionDuration),this},getData:function(){return this.settings.data},getStatus:function(){return this.settings.status},canInput:function(){var v=this.settings.status;return v>l.PENDING&&v<=l.RUNNING},isSleeping:function(){return this.settings.status===l.SLEEPING},isActive:function(){return this.settings.status===l.RUNNING},isPaused:function(){return this.settings.status===l.PAUSED},isTransitioning:function(){return this.settings.isTransition||this.scenePlugin._target!==null},isTransitionOut:function(){return this.scenePlugin._target!==null&&this.scenePlugin._duration>0},isTransitionIn:function(){return this.settings.isTransition},isVisible:function(){return this.settings.visible},setVisible:function(v){return this.settings.visible=v,this},setActive:function(v,c){return v?this.resume(c):this.pause(c)},start:function(v){var c=this.events,g=this.settings;v&&(g.data=v),g.status=l.START,g.active=!0,g.visible=!0,c.emit(s.START,this),c.emit(s.READY,this,v)},shutdown:function(v){var c=this.events,g=this.settings;c.off(s.TRANSITION_INIT),c.off(s.TRANSITION_START),c.off(s.TRANSITION_COMPLETE),c.off(s.TRANSITION_OUT),g.status=l.SHUTDOWN,g.active=!1,g.visible=!1,c.emit(s.SHUTDOWN,this,v)},destroy:function(){var v=this.events,c=this.settings;c.status=l.DESTROYED,c.active=!1,c.visible=!1,v.emit(s.DESTROY,this),v.removeAllListeners();for(var g=["scene","game","anims","cache","plugins","registry","sound","textures","add","camera","displayList","events","make","scenePlugin","updateList"],p=0;p{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={PENDING:0,INIT:1,START:2,LOADING:3,CREATING:4,RUNNING:5,PAUSED:6,SLEEPING:7,SHUTDOWN:8,DESTROYED:9};h.exports=d},69830:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="addedtoscene"},7919:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="boot"},46763:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="create"},11763:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="destroy"},71555:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pause"},36735:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="postupdate"},3809:h=>{/** + * @author samme + * @copyright 2021 Photon Storm Ltd. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="prerender"},90716:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="preupdate"},58262:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="ready"},91633:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="removedfromscene"},10319:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="render"},87132:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="resume"},81961:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="shutdown"},90194:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="sleep"},6265:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="start"},33178:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="transitioncomplete"},43063:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="transitioninit"},11259:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="transitionout"},61611:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="transitionstart"},45209:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="transitionwake"},22966:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="update"},21747:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="wake"},44594:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={ADDED_TO_SCENE:t(69830),BOOT:t(7919),CREATE:t(46763),DESTROY:t(11763),PAUSE:t(71555),POST_UPDATE:t(36735),PRE_RENDER:t(3809),PRE_UPDATE:t(90716),READY:t(58262),REMOVED_FROM_SCENE:t(91633),RENDER:t(10319),RESUME:t(87132),SHUTDOWN:t(81961),SLEEP:t(90194),START:t(6265),TRANSITION_COMPLETE:t(33178),TRANSITION_INIT:t(43063),TRANSITION_OUT:t(11259),TRANSITION_START:t(61611),TRANSITION_WAKE:t(45209),UPDATE:t(22966),WAKE:t(21747)}},62194:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(89993),l=t(79291),i={Events:t(44594),GetPhysicsPlugins:t(27397),GetScenePlugins:t(52106),SceneManager:t(60903),ScenePlugin:t(52209),Settings:t(55681),Systems:t(2368)};i=l(!1,i,e),h.exports=i},30341:(h,d,t)=>{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(50792),i=t(14463),s=t(79291),r=t(29747),o=new e({Extends:l,initialize:function(u,f,v){l.call(this),this.manager=u,this.key=f,this.isPlaying=!1,this.isPaused=!1,this.totalRate=1,this.duration=this.duration||0,this.totalDuration=this.totalDuration||0,this.config={mute:!1,volume:1,rate:1,detune:0,seek:0,loop:!1,delay:0,pan:0},this.currentConfig=this.config,this.config=s(this.config,v),this.markers={},this.currentMarker=null,this.pendingRemove=!1},addMarker:function(a){return!a||!a.name||typeof a.name!="string"?!1:this.markers[a.name]?(console.error("addMarker "+a.name+" already exists in Sound"),!1):(a=s(!0,{name:"",start:0,duration:this.totalDuration-(a.start||0),config:{mute:!1,volume:1,rate:1,detune:0,seek:0,loop:!1,delay:0,pan:0}},a),this.markers[a.name]=a,!0)},updateMarker:function(a){return!a||!a.name||typeof a.name!="string"?!1:this.markers[a.name]?(this.markers[a.name]=s(!0,this.markers[a.name],a),!0):(console.warn("Audio Marker: "+a.name+" missing in Sound: "+this.key),!1)},removeMarker:function(a){var u=this.markers[a];return u?(this.markers[a]=null,u):null},play:function(a,u){if(a===void 0&&(a=""),typeof a=="object"&&(u=a,a=""),typeof a!="string")return!1;if(!a)this.currentMarker=null,this.currentConfig=this.config,this.duration=this.totalDuration;else{if(!this.markers[a])return console.warn("Marker: "+a+" missing in Sound: "+this.key),!1;this.currentMarker=this.markers[a],this.currentConfig=this.currentMarker.config,this.duration=this.currentMarker.duration}return this.resetConfig(),this.currentConfig=s(this.currentConfig,u),this.isPlaying=!0,this.isPaused=!1,!0},pause:function(){return this.isPaused||!this.isPlaying?!1:(this.isPlaying=!1,this.isPaused=!0,!0)},resume:function(){return!this.isPaused||this.isPlaying?!1:(this.isPlaying=!0,this.isPaused=!1,!0)},stop:function(){return!this.isPaused&&!this.isPlaying?!1:(this.isPlaying=!1,this.isPaused=!1,this.resetConfig(),!0)},applyConfig:function(){this.mute=this.currentConfig.mute,this.volume=this.currentConfig.volume,this.rate=this.currentConfig.rate,this.detune=this.currentConfig.detune,this.loop=this.currentConfig.loop,this.pan=this.currentConfig.pan},resetConfig:function(){this.currentConfig.seek=0,this.currentConfig.delay=0},update:r,calculateRate:function(){var a=1.0005777895065548,u=this.currentConfig.detune+this.manager.detune,f=Math.pow(a,u);this.totalRate=this.currentConfig.rate*this.manager.rate*f},destroy:function(){this.pendingRemove||(this.stop(),this.emit(i.DESTROY,this),this.removeAllListeners(),this.pendingRemove=!0,this.manager=null,this.config=null,this.currentConfig=null,this.markers=null,this.currentMarker=null)}});h.exports=o},85034:(h,d,t)=>{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(41786),i=t(50792),s=t(14463),r=t(8443),o=t(46710),a=t(58731),u=t(29747),f=t(26099),v=new e({Extends:i,initialize:function(g){i.call(this),this.game=g,this.jsonCache=g.cache.json,this.sounds=[],this.mute=!1,this.volume=1,this.pauseOnBlur=!0,this._rate=1,this._detune=0,this.locked=this.locked||!1,this.unlocked=!1,this.gameLostFocus=!1,this.listenerPosition=new f;var p=g.events;p.on(r.BLUR,this.onGameBlur,this),p.on(r.FOCUS,this.onGameFocus,this),p.on(r.PRE_STEP,this.update,this),p.once(r.DESTROY,this.destroy,this)},add:u,addAudioSprite:function(c,g){g===void 0&&(g={});var p=this.add(c,g);p.spritemap=this.jsonCache.get(c).spritemap;for(var T in p.spritemap)if(p.spritemap.hasOwnProperty(T)){var C=l(g),M=p.spritemap[T];C.loop=M.hasOwnProperty("loop")?M.loop:!1,p.addMarker({name:T,start:M.start,duration:M.end-M.start,config:C})}return p},get:function(c){return a(this.sounds,"key",c)},getAll:function(c){return c?o(this.sounds,"key",c):o(this.sounds)},getAllPlaying:function(){return o(this.sounds,"isPlaying",!0)},play:function(c,g){var p=this.add(c);return p.once(s.COMPLETE,p.destroy,p),g?g.name?(p.addMarker(g),p.play(g.name)):p.play(g):p.play()},playAudioSprite:function(c,g,p){var T=this.addAudioSprite(c);return T.once(s.COMPLETE,T.destroy,T),T.play(g,p)},remove:function(c){var g=this.sounds.indexOf(c);return g!==-1?(c.destroy(),this.sounds.splice(g,1),!0):!1},removeAll:function(){this.sounds.forEach(function(c){c.destroy()}),this.sounds.length=0},removeByKey:function(c){for(var g=0,p=this.sounds.length-1;p>=0;p--){var T=this.sounds[p];T.key===c&&(T.destroy(),this.sounds.splice(p,1),g++)}return g},pauseAll:function(){this.forEachActiveSound(function(c){c.pause()}),this.emit(s.PAUSE_ALL,this)},resumeAll:function(){this.forEachActiveSound(function(c){c.resume()}),this.emit(s.RESUME_ALL,this)},setListenerPosition:u,stopAll:function(){this.forEachActiveSound(function(c){c.stop()}),this.emit(s.STOP_ALL,this)},stopByKey:function(c){var g=0;return this.getAll(c).forEach(function(p){p.stop()&&g++}),g},isPlaying:function(c){var g=this.sounds,p=g.length-1,T;if(c===void 0){for(;p>=0;p--)if(T=this.sounds[p],T.isPlaying)return!0}else for(;p>=0;p--)if(T=this.sounds[p],T.key===c&&T.isPlaying)return!0;return!1},unlock:u,onBlur:u,onFocus:u,onGameBlur:function(){this.gameLostFocus=!0,this.pauseOnBlur&&this.onBlur()},onGameFocus:function(){this.gameLostFocus=!1,this.pauseOnBlur&&this.onFocus()},update:function(c,g){this.unlocked&&(this.unlocked=!1,this.locked=!1,this.emit(s.UNLOCKED,this));for(var p=this.sounds.length-1;p>=0;p--)this.sounds[p].pendingRemove&&this.sounds.splice(p,1);this.sounds.forEach(function(T){T.update(c,g)})},destroy:function(){this.game.events.off(r.BLUR,this.onGameBlur,this),this.game.events.off(r.FOCUS,this.onGameFocus,this),this.game.events.off(r.PRE_STEP,this.update,this),this.removeAllListeners(),this.removeAll(),this.sounds.length=0,this.sounds=null,this.listenerPosition=null,this.game=null},forEachActiveSound:function(c,g){var p=this;this.sounds.forEach(function(T,C){T&&!T.pendingRemove&&c.call(g||p,T,C,p.sounds)})},setRate:function(c){return this.rate=c,this},rate:{get:function(){return this._rate},set:function(c){this._rate=c,this.forEachActiveSound(function(g){g.calculateRate()}),this.emit(s.GLOBAL_RATE,this,c)}},setDetune:function(c){return this.detune=c,this},detune:{get:function(){return this._detune},set:function(c){this._detune=c,this.forEachActiveSound(function(g){g.calculateRate()}),this.emit(s.GLOBAL_DETUNE,this,c)}}});h.exports=v},14747:(h,d,t)=>{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(33684),l=t(25960),i=t(57490),s={create:function(r){var o=r.config.audio,a=r.device.audio;return o.noAudio||!a.webAudio&&!a.audioData?new l(r):a.webAudio&&!o.disableWebAudio?new i(r):new e(r)}};h.exports=s},19723:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="complete"},98882:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="decodedall"},57506:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="decoded"},73146:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="destroy"},11305:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="detune"},40577:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="detune"},30333:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="mute"},20394:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="rate"},21802:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="volume"},1299:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="looped"},99190:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="loop"},97125:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="mute"},89259:h=>{/** + * @author pi-kei + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pan"},79986:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pauseall"},17586:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pause"},19618:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="play"},42306:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="rate"},10387:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="resumeall"},48959:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="resume"},9960:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="seek"},19180:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="stopall"},98328:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="stop"},50401:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="unlocked"},52498:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="volume"},14463:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={COMPLETE:t(19723),DECODED:t(57506),DECODED_ALL:t(98882),DESTROY:t(73146),DETUNE:t(11305),GLOBAL_DETUNE:t(40577),GLOBAL_MUTE:t(30333),GLOBAL_RATE:t(20394),GLOBAL_VOLUME:t(21802),LOOP:t(99190),LOOPED:t(1299),MUTE:t(97125),PAN:t(89259),PAUSE_ALL:t(79986),PAUSE:t(17586),PLAY:t(19618),RATE:t(42306),RESUME_ALL:t(10387),RESUME:t(48959),SEEK:t(9960),STOP_ALL:t(19180),STOP:t(98328),UNLOCKED:t(50401),VOLUME:t(52498)}},64895:(h,d,t)=>{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(30341),l=t(83419),i=t(14463),s=t(45319),r=new l({Extends:e,initialize:function(a,u,f){if(f===void 0&&(f={}),this.tags=a.game.cache.audio.get(u),!this.tags)throw new Error('No cached audio asset with key "'+u);this.audio=null,this.startTime=0,this.previousTime=0,this.duration=this.tags[0].duration,this.totalDuration=this.tags[0].duration,e.call(this,a,u,f)},play:function(o,a){return this.manager.isLocked(this,"play",[o,a])||!e.prototype.play.call(this,o,a)||!this.pickAndPlayAudioTag()?!1:(this.emit(i.PLAY,this),!0)},pause:function(){return this.manager.isLocked(this,"pause")||this.startTime>0||!e.prototype.pause.call(this)?!1:(this.currentConfig.seek=this.audio.currentTime-(this.currentMarker?this.currentMarker.start:0),this.stopAndReleaseAudioTag(),this.emit(i.PAUSE,this),!0)},resume:function(){return this.manager.isLocked(this,"resume")||this.startTime>0||!e.prototype.resume.call(this)||!this.pickAndPlayAudioTag()?!1:(this.emit(i.RESUME,this),!0)},stop:function(){return this.manager.isLocked(this,"stop")||!e.prototype.stop.call(this)?!1:(this.stopAndReleaseAudioTag(),this.emit(i.STOP,this),!0)},pickAndPlayAudioTag:function(){if(!this.pickAudioTag())return this.reset(),!1;var o=this.currentConfig.seek,a=this.currentConfig.delay,u=(this.currentMarker?this.currentMarker.start:0)+o;return this.previousTime=u,this.audio.currentTime=u,this.applyConfig(),a===0?(this.startTime=0,this.audio.paused&&this.playCatchPromise()):(this.startTime=window.performance.now()+a*1e3,this.audio.paused||this.audio.pause()),this.resetConfig(),!0},pickAudioTag:function(){if(this.audio)return!0;for(var o=0;o0){this.startTime=u-this.manager.loopEndOffset?(this.audio.currentTime=a+Math.max(0,f-u),f=this.audio.currentTime):f=u){this.reset(),this.stopAndReleaseAudioTag(),this.emit(i.COMPLETE,this);return}this.previousTime=f}},destroy:function(){e.prototype.destroy.call(this),this.tags=null,this.audio&&this.stopAndReleaseAudioTag()},updateMute:function(){this.audio&&(this.audio.muted=this.currentConfig.mute||this.manager.mute)},updateVolume:function(){this.audio&&(this.audio.volume=s(this.currentConfig.volume*this.manager.volume,0,1))},calculateRate:function(){e.prototype.calculateRate.call(this),this.audio&&(this.audio.playbackRate=this.totalRate)},mute:{get:function(){return this.currentConfig.mute},set:function(o){this.currentConfig.mute=o,!this.manager.isLocked(this,"mute",o)&&(this.updateMute(),this.emit(i.MUTE,this,o))}},setMute:function(o){return this.mute=o,this},volume:{get:function(){return this.currentConfig.volume},set:function(o){this.currentConfig.volume=o,!this.manager.isLocked(this,"volume",o)&&(this.updateVolume(),this.emit(i.VOLUME,this,o))}},setVolume:function(o){return this.volume=o,this},rate:{get:function(){return this.currentConfig.rate},set:function(o){this.currentConfig.rate=o,!this.manager.isLocked(this,i.RATE,o)&&(this.calculateRate(),this.emit(i.RATE,this,o))}},setRate:function(o){return this.rate=o,this},detune:{get:function(){return this.currentConfig.detune},set:function(o){this.currentConfig.detune=o,!this.manager.isLocked(this,i.DETUNE,o)&&(this.calculateRate(),this.emit(i.DETUNE,this,o))}},setDetune:function(o){return this.detune=o,this},seek:{get:function(){return this.isPlaying?this.audio.currentTime-(this.currentMarker?this.currentMarker.start:0):this.isPaused?this.currentConfig.seek:0},set:function(o){this.manager.isLocked(this,"seek",o)||this.startTime>0||(this.isPlaying||this.isPaused)&&(o=Math.min(Math.max(0,o),this.duration),this.isPlaying?(this.previousTime=o,this.audio.currentTime=o):this.isPaused&&(this.currentConfig.seek=o),this.emit(i.SEEK,this,o))}},setSeek:function(o){return this.seek=o,this},loop:{get:function(){return this.currentConfig.loop},set:function(o){this.currentConfig.loop=o,!this.manager.isLocked(this,"loop",o)&&(this.audio&&(this.audio.loop=o),this.emit(i.LOOP,this,o))}},setLoop:function(o){return this.loop=o,this},pan:{get:function(){return this.currentConfig.pan},set:function(o){this.currentConfig.pan=o,this.emit(i.PAN,this,o)}},setPan:function(o){return this.pan=o,this}});h.exports=r},33684:(h,d,t)=>{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(85034),l=t(83419),i=t(14463),s=t(64895),r=new l({Extends:e,initialize:function(a){this.override=!0,this.audioPlayDelay=.1,this.loopEndOffset=.05,this.onBlurPausedSounds=[],this.locked="ontouchstart"in window,this.lockedActionsQueue=this.locked?[]:null,this._mute=!1,this._volume=1,e.call(this,a)},add:function(o,a){var u=new s(this,o,a);return this.sounds.push(u),u},unlock:function(){this.locked=!1;var o=this;if(this.game.cache.audio.entries.each(function(v,c){for(var g=0;g{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={SoundManagerCreator:t(14747),Events:t(14463),BaseSound:t(30341),BaseSoundManager:t(85034),WebAudioSound:t(71741),WebAudioSoundManager:t(57490),HTML5AudioSound:t(64895),HTML5AudioSoundManager:t(33684),NoAudioSound:t(4603),NoAudioSoundManager:t(25960)}},4603:(h,d,t)=>{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(30341),l=t(83419),i=t(50792),s=t(79291),r=t(29747),o=function(){return!1},a=function(){return null},u=function(){return this},f=new l({Extends:i,initialize:function(c,g,p){p===void 0&&(p={}),i.call(this),this.manager=c,this.key=g,this.isPlaying=!1,this.isPaused=!1,this.totalRate=1,this.duration=0,this.totalDuration=0,this.config=s({mute:!1,volume:1,rate:1,detune:0,seek:0,loop:!1,delay:0,pan:0},p),this.currentConfig=this.config,this.mute=!1,this.volume=1,this.rate=1,this.detune=0,this.seek=0,this.loop=!1,this.pan=0,this.markers={},this.currentMarker=null,this.pendingRemove=!1},addMarker:o,updateMarker:o,removeMarker:a,play:o,pause:o,resume:o,stop:o,setMute:u,setVolume:u,setRate:u,setDetune:u,setSeek:u,setLoop:u,setPan:u,applyConfig:a,resetConfig:a,update:r,calculateRate:a,destroy:function(){e.prototype.destroy.call(this)}});h.exports=f},25960:(h,d,t)=>{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(85034),l=t(83419),i=t(50792),s=t(4603),r=t(29747),o=new l({Extends:i,initialize:function(u){i.call(this),this.game=u,this.sounds=[],this.mute=!1,this.volume=1,this.rate=1,this.detune=0,this.pauseOnBlur=!0,this.locked=!1},add:function(a,u){var f=new s(this,a,u);return this.sounds.push(f),f},addAudioSprite:function(a,u){var f=this.add(a,u);return f.spritemap={},f},get:function(a){return e.prototype.get.call(this,a)},getAll:function(a){return e.prototype.getAll.call(this,a)},play:function(a,u){return!1},playAudioSprite:function(a,u,f){return!1},remove:function(a){return e.prototype.remove.call(this,a)},removeAll:function(){return e.prototype.removeAll.call(this)},removeByKey:function(a){return e.prototype.removeByKey.call(this,a)},stopByKey:function(a){return e.prototype.stopByKey.call(this,a)},onBlur:r,onFocus:r,onGameBlur:r,onGameFocus:r,pauseAll:r,resumeAll:r,stopAll:r,update:r,setRate:r,setDetune:r,setMute:r,setVolume:r,unlock:r,forEachActiveSound:function(a,u){e.prototype.forEachActiveSound.call(this,a,u)},destroy:function(){e.prototype.destroy.call(this)}});h.exports=o},71741:(h,d,t)=>{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(30341),l=t(83419),i=t(14463),s=t(95540),r=new l({Extends:e,initialize:function(a,u,f){if(f===void 0&&(f={}),this.audioBuffer=a.game.cache.audio.get(u),!this.audioBuffer)throw new Error('Audio key "'+u+'" not found in cache');this.source=null,this.loopSource=null,this.muteNode=a.context.createGain(),this.volumeNode=a.context.createGain(),this.pannerNode=null,this.spatialNode=null,this.spatialSource=null,this.playTime=0,this.startTime=0,this.loopTime=0,this.rateUpdates=[],this.hasEnded=!1,this.hasLooped=!1,this.muteNode.connect(this.volumeNode),a.context.createPanner&&(this.spatialNode=a.context.createPanner(),this.volumeNode.connect(this.spatialNode)),a.context.createStereoPanner?(this.pannerNode=a.context.createStereoPanner(),a.context.createPanner?this.spatialNode.connect(this.pannerNode):this.volumeNode.connect(this.pannerNode),this.pannerNode.connect(a.destination)):a.context.createPanner?this.spatialNode.connect(a.destination):this.volumeNode.connect(a.destination),this.duration=this.audioBuffer.duration,this.totalDuration=this.audioBuffer.duration,e.call(this,a,u,f)},play:function(o,a){return e.prototype.play.call(this,o,a)?(this.stopAndRemoveBufferSource(),this.createAndStartBufferSource(),this.emit(i.PLAY,this),!0):!1},pause:function(){return this.manager.context.currentTime{/** + * @author Richard Davey + * @author Pavle Goloskokovic (http://prunegames.com) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(53134),l=t(85034),i=t(83419),s=t(14463),r=t(8443),o=t(71741),a=t(95540),u=new i({Extends:l,initialize:function(v){this.context=this.createAudioContext(v),this.masterMuteNode=this.context.createGain(),this.masterVolumeNode=this.context.createGain(),this.masterMuteNode.connect(this.masterVolumeNode),this.masterVolumeNode.connect(this.context.destination),this.destination=this.masterMuteNode,this.locked=this.context.state==="suspended",l.call(this,v),this.locked&&(v.isBooted?this.unlock():v.events.once(r.BOOT,this.unlock,this)),v.events.on(r.VISIBLE,this.onGameVisible,this)},onGameVisible:function(){var f=this.context;window.setTimeout(function(){f&&(f.suspend(),f.resume())},100)},createAudioContext:function(f){var v=f.config.audio;if(v.context)return v.context.resume(),v.context;if(window.hasOwnProperty("AudioContext"))return new AudioContext;if(window.hasOwnProperty("webkitAudioContext"))return new window.webkitAudioContext},setAudioContext:function(f){return this.context&&this.context.close(),this.masterMuteNode&&this.masterMuteNode.disconnect(),this.masterVolumeNode&&this.masterVolumeNode.disconnect(),this.context=f,this.masterMuteNode=f.createGain(),this.masterVolumeNode=f.createGain(),this.masterMuteNode.connect(this.masterVolumeNode),this.masterVolumeNode.connect(f.destination),this.destination=this.masterMuteNode,this},add:function(f,v){var c=new o(this,f,v);return this.sounds.push(c),c},decodeAudio:function(f,v){var c;Array.isArray(f)?c=f:c=[{key:f,data:v}];for(var g=this.game.cache.audio,p=c.length,T=0;T{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(37105),l=t(83419),i=t(29747),s=t(19186),r=new l({initialize:function(a){this.parent=a,this.list=[],this.position=0,this.addCallback=i,this.removeCallback=i,this._sortKey=""},add:function(o,a){return a?e.Add(this.list,o):e.Add(this.list,o,0,this.addCallback,this)},addAt:function(o,a,u){return u?e.AddAt(this.list,o,a):e.AddAt(this.list,o,a,0,this.addCallback,this)},getAt:function(o){return this.list[o]},getIndex:function(o){return this.list.indexOf(o)},sort:function(o,a){return o?(a===void 0&&(a=function(u,f){return u[o]-f[o]}),s(this.list,a),this):this},getByName:function(o){return e.GetFirst(this.list,"name",o)},getRandom:function(o,a){return e.GetRandom(this.list,o,a)},getFirst:function(o,a,u,f){return e.GetFirst(this.list,o,a,u,f)},getAll:function(o,a,u,f){return e.GetAll(this.list,o,a,u,f)},count:function(o,a){return e.CountAllMatching(this.list,o,a)},swap:function(o,a){e.Swap(this.list,o,a)},moveTo:function(o,a){return e.MoveTo(this.list,o,a)},moveAbove:function(o,a){return e.MoveAbove(this.list,o,a)},moveBelow:function(o,a){return e.MoveBelow(this.list,o,a)},remove:function(o,a){return a?e.Remove(this.list,o):e.Remove(this.list,o,this.removeCallback,this)},removeAt:function(o,a){return a?e.RemoveAt(this.list,o):e.RemoveAt(this.list,o,this.removeCallback,this)},removeBetween:function(o,a,u){return u?e.RemoveBetween(this.list,o,a):e.RemoveBetween(this.list,o,a,this.removeCallback,this)},removeAll:function(o){for(var a=this.list.length;a--;)this.remove(this.list[a],o);return this},bringToTop:function(o){return e.BringToTop(this.list,o)},sendToBack:function(o){return e.SendToBack(this.list,o)},moveUp:function(o){return e.MoveUp(this.list,o),o},moveDown:function(o){return e.MoveDown(this.list,o),o},reverse:function(){return this.list.reverse(),this},shuffle:function(){return e.Shuffle(this.list),this},replace:function(o,a){return e.Replace(this.list,o,a)},exists:function(o){return this.list.indexOf(o)>-1},setAll:function(o,a,u,f){return e.SetAll(this.list,o,a,u,f),this},each:function(o,a){for(var u=[null],f=2;f0?this.list[0]:null}},last:{get:function(){return this.list.length>0?(this.position=this.list.length-1,this.list[this.position]):null}},next:{get:function(){return this.position0?(this.position--,this.list[this.position]):null}}});h.exports=r},90330:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s){this.entries={},this.size=0,this.setAll(s)},setAll:function(i){if(Array.isArray(i))for(var s=0;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(50792),i=t(82348),s=new e({Extends:l,initialize:function(){l.call(this),this._pending=[],this._active=[],this._destroy=[],this._toProcess=0,this.checkQueue=!1},isActive:function(r){return this._active.indexOf(r)>-1},isPending:function(r){return this._toProcess>0&&this._pending.indexOf(r)>-1},isDestroying:function(r){return this._destroy.indexOf(r)>-1},add:function(r){return this.checkQueue&&this.isActive(r)&&!this.isDestroying(r)||this.isPending(r)||(this._pending.push(r),this._toProcess++),r},remove:function(r){if(this.isPending(r)){var o=this._pending,a=o.indexOf(r);a!==-1&&o.splice(a,1)}else this.isActive(r)&&(this._destroy.push(r),this._toProcess++);return r},removeAll:function(){for(var r=this._active,o=this._destroy,a=r.length;a--;)o.push(r[a]),this._toProcess++;return this},update:function(){if(this._toProcess===0)return this._active;var r=this._destroy,o=this._active,a,u;for(a=0;a{/** + * @author Vladimir Agafonkin + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(43886);function l(A){if(!(this instanceof l))return new l(A);this._maxEntries=Math.max(4,A||9),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()}l.prototype={all:function(){return this._all(this.data,[])},search:function(A){var R=this.data,P=[],L=this.toBBox;if(!T(A,R))return P;for(var F=[],w,O,B,I;R;){for(w=0,O=R.children.length;w=0&&w[R].children.length>this._maxEntries;)this._split(w,R),R--;this._adjustParentBBoxes(F,w,R)},_split:function(A,R){var P=A[R],L=P.children.length,F=this._minEntries;this._chooseSplitAxis(P,F,L);var w=this._chooseSplitIndex(P,F,L),O=C(P.children.splice(w,P.children.length-w));O.height=P.height,O.leaf=P.leaf,s(P,this.toBBox),s(O,this.toBBox),R?A[R-1].children.push(O):this._splitRoot(P,O)},_splitRoot:function(A,R){this.data=C([A,R]),this.data.height=A.height+1,this.data.leaf=!1,s(this.data,this.toBBox)},_chooseSplitIndex:function(A,R,P){var L,F,w,O,B,I,D,N;for(I=D=1/0,L=R;L<=P-R;L++)F=r(A,0,L,this.toBBox),w=r(A,L,P,this.toBBox),O=g(F,w),B=f(F)+f(w),O=R;I--)D=A.children[I],o(O,A.leaf?F(D):D),B+=v(O);return B},_adjustParentBBoxes:function(A,R,P){for(var L=P;L>=0;L--)o(R[L],A)},_condense:function(A){for(var R=A.length-1,P;R>=0;R--)A[R].children.length===0?R>0?(P=A[R-1].children,P.splice(P.indexOf(A[R]),1)):this.clear():s(A[R],this.toBBox)},compareMinX:function(A,R){return A.left-R.left},compareMinY:function(A,R){return A.top-R.top},toBBox:function(A){return{minX:A.left,minY:A.top,maxX:A.right,maxY:A.bottom}}};function i(A,R,P){if(!P)return R.indexOf(A);for(var L=0;L=A.minX&&R.maxY>=A.minY}function C(A){return{children:A,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function M(A,R,P,L,F){for(var w=[R,P],O;w.length;)P=w.pop(),R=w.pop(),!(P-R<=L)&&(O=R+Math.ceil((P-R)/L/2)*L,e(A,O,R,P,F),w.push(R,O,O,P))}h.exports=l},86555:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(45319),l=t(83419),i=t(56583),s=t(26099),r=new l({initialize:function(a,u,f,v){a===void 0&&(a=0),u===void 0&&(u=a),f===void 0&&(f=0),v===void 0&&(v=null),this._width=a,this._height=u,this._parent=v,this.aspectMode=f,this.aspectRatio=u===0?1:a/u,this.minWidth=0,this.minHeight=0,this.maxWidth=Number.MAX_VALUE,this.maxHeight=Number.MAX_VALUE,this.snapTo=new s},setAspectMode:function(o){return o===void 0&&(o=0),this.aspectMode=o,this.setSize(this._width,this._height)},setSnap:function(o,a){return o===void 0&&(o=0),a===void 0&&(a=o),this.snapTo.set(o,a),this.setSize(this._width,this._height)},setParent:function(o){return this._parent=o,this.setSize(this._width,this._height)},setMin:function(o,a){return o===void 0&&(o=0),a===void 0&&(a=o),this.minWidth=e(o,0,this.maxWidth),this.minHeight=e(a,0,this.maxHeight),this.setSize(this._width,this._height)},setMax:function(o,a){return o===void 0&&(o=Number.MAX_VALUE),a===void 0&&(a=o),this.maxWidth=e(o,this.minWidth,Number.MAX_VALUE),this.maxHeight=e(a,this.minHeight,Number.MAX_VALUE),this.setSize(this._width,this._height)},setSize:function(o,a){switch(o===void 0&&(o=0),a===void 0&&(a=o),this.aspectMode){case r.NONE:this._width=this.getNewWidth(i(o,this.snapTo.x)),this._height=this.getNewHeight(i(a,this.snapTo.y)),this.aspectRatio=this._height===0?1:this._width/this._height;break;case r.WIDTH_CONTROLS_HEIGHT:this._width=this.getNewWidth(i(o,this.snapTo.x)),this._height=this.getNewHeight(this._width*(1/this.aspectRatio),!1);break;case r.HEIGHT_CONTROLS_WIDTH:this._height=this.getNewHeight(i(a,this.snapTo.y)),this._width=this.getNewWidth(this._height*this.aspectRatio,!1);break;case r.FIT:this.constrain(o,a,!0);break;case r.ENVELOP:this.constrain(o,a,!1);break}return this},setAspectRatio:function(o){return this.aspectRatio=o,this.setSize(this._width,this._height)},resize:function(o,a){return this._width=this.getNewWidth(i(o,this.snapTo.x)),this._height=this.getNewHeight(i(a,this.snapTo.y)),this.aspectRatio=this._height===0?1:this._width/this._height,this},getNewWidth:function(o,a){return a===void 0&&(a=!0),o=e(o,this.minWidth,this.maxWidth),a&&this._parent&&o>this._parent.width&&(o=Math.max(this.minWidth,this._parent.width)),o},getNewHeight:function(o,a){return a===void 0&&(a=!0),o=e(o,this.minHeight,this.maxHeight),a&&this._parent&&o>this._parent.height&&(o=Math.max(this.minHeight,this._parent.height)),o},constrain:function(o,a,u){o===void 0&&(o=0),a===void 0&&(a=o),u===void 0&&(u=!0),o=this.getNewWidth(o),a=this.getNewHeight(a);var f=this.snapTo,v=a===0?1:o/a;return u&&this.aspectRatio>v||!u&&this.aspectRatio0&&(a=i(a,f.y),o=a*this.aspectRatio)):(u&&this.aspectRatiov)&&(a=i(a,f.y),o=a*this.aspectRatio,f.x>0&&(o=i(o,f.x),a=o*(1/this.aspectRatio))),this._width=o,this._height=a,this},fitTo:function(o,a){return this.constrain(o,a,!0)},envelop:function(o,a){return this.constrain(o,a,!1)},setWidth:function(o){return this.setSize(o,this._height)},setHeight:function(o){return this.setSize(this._width,o)},toString:function(){return"[{ Size (width="+this._width+" height="+this._height+" aspectRatio="+this.aspectRatio+" aspectMode="+this.aspectMode+") }]"},setCSS:function(o){o&&o.style&&(o.style.width=this._width+"px",o.style.height=this._height+"px")},copy:function(o){return o.setAspectMode(this.aspectMode),o.aspectRatio=this.aspectRatio,o.setSize(this.width,this.height)},destroy:function(){this._parent=null,this.snapTo=null},width:{get:function(){return this._width},set:function(o){this.setSize(o,this._height)}},height:{get:function(){return this._height},set:function(o){this.setSize(this._width,o)}}});r.NONE=0,r.WIDTH_CONTROLS_HEIGHT=1,r.HEIGHT_CONTROLS_WIDTH=2,r.FIT=3,r.ENVELOP=4,h.exports=r},15238:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="add"},56187:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="remove"},82348:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={PROCESS_QUEUE_ADD:t(15238),PROCESS_QUEUE_REMOVE:t(56187)}},41392:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Events:t(82348),List:t(73162),Map:t(90330),ProcessQueue:t(25774),RTree:t(59542),Size:t(86555)}},57382:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(45319),i=t(40987),s=t(8054),r=t(50030),o=t(79237),a=new e({Extends:o,initialize:function(f,v,c,g,p){o.call(this,f,v,c,g,p),this.add("__BASE",0,0,0,g,p),this._source=this.frames.__BASE.source,this.canvas=this._source.image,this.context=this.canvas.getContext("2d",{willReadFrequently:!0}),this.width=g,this.height=p,this.imageData=this.context.getImageData(0,0,g,p),this.data=null,this.imageData&&(this.data=this.imageData.data),this.pixels=null,this.buffer,this.data&&(this.imageData.data.buffer?(this.buffer=this.imageData.data.buffer,this.pixels=new Uint32Array(this.buffer)):window.ArrayBuffer?(this.buffer=new ArrayBuffer(this.imageData.data.length),this.pixels=new Uint32Array(this.buffer)):this.pixels=this.imageData.data)},update:function(){return this.imageData=this.context.getImageData(0,0,this.width,this.height),this.data=this.imageData.data,this.imageData.data.buffer?(this.buffer=this.imageData.data.buffer,this.pixels=new Uint32Array(this.buffer)):window.ArrayBuffer?(this.buffer=new ArrayBuffer(this.imageData.data.length),this.pixels=new Uint32Array(this.buffer)):this.pixels=this.imageData.data,this.manager.game.config.renderType===s.WEBGL&&this.refresh(),this},draw:function(u,f,v,c){return c===void 0&&(c=!0),this.context.drawImage(v,u,f),c&&this.update(),this},drawFrame:function(u,f,v,c,g){v===void 0&&(v=0),c===void 0&&(c=0),g===void 0&&(g=!0);var p=this.manager.getFrame(u,f);if(p){var T=p.canvasData,C=p.cutWidth,M=p.cutHeight,A=p.source.resolution;this.context.drawImage(p.source.image,T.x,T.y,C,M,v,c,C/A,M/A),g&&this.update()}return this},setPixel:function(u,f,v,c,g,p){p===void 0&&(p=255),u=Math.abs(Math.floor(u)),f=Math.abs(Math.floor(f));var T=this.getIndex(u,f);if(T>-1){var C=this.context.getImageData(u,f,1,1);C.data[0]=v,C.data[1]=c,C.data[2]=g,C.data[3]=p,this.context.putImageData(C,u,f)}return this},putData:function(u,f,v,c,g,p,T){return c===void 0&&(c=0),g===void 0&&(g=0),p===void 0&&(p=u.width),T===void 0&&(T=u.height),this.context.putImageData(u,f,v,c,g,p,T),this},getData:function(u,f,v,c){u=l(Math.floor(u),0,this.width-1),f=l(Math.floor(f),0,this.height-1),v=l(v,1,this.width-u),c=l(c,1,this.height-f);var g=this.context.getImageData(u,f,v,c);return g},getPixel:function(u,f,v){v||(v=new i);var c=this.getIndex(u,f);if(c>-1){var g=this.data,p=g[c+0],T=g[c+1],C=g[c+2],M=g[c+3];v.setTo(p,T,C,M)}return v},getPixels:function(u,f,v,c){u===void 0&&(u=0),f===void 0&&(f=0),v===void 0&&(v=this.width),c===void 0&&(c=v),u=Math.abs(Math.round(u)),f=Math.abs(Math.round(f));for(var g=l(u,0,this.width),p=l(u+v,0,this.width),T=l(f,0,this.height),C=l(f+c,0,this.height),M=new i,A=[],R=T;R{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(10312),l=t(38058),i=t(27919),s=t(83419),r=t(8054),o=t(87774),a=t(4327),u=t(95540),f=t(79237),v=t(70554),c=t(42538),g=t(61340),p=new s({Extends:f,initialize:function(C,M,A,R,P){A===void 0&&(A=256),R===void 0&&(R=256),P===void 0&&(P=!0),this.type="DynamicTexture";var L=C.game.renderer,F=L&&L.type===r.CANVAS,w=F?i.create2D(this,A,R):[this];if(f.call(this,C,M,w,A,R),this.add("__BASE",0,0,0,A,R),this.renderer=L,this.width=-1,this.height=-1,this.commandBuffer=[],this.canvas=F?w:null,this.context=F?w.getContext("2d",{willReadFrequently:!0}):null,this.camera=new l(0,0,A,R).setScene(C.game.scene.systemScene,!1),this.drawingContext=F?null:new o(L,{width:A,height:R,camera:this.camera,autoClear:!1}),!F){var O=this.get();O.source.glTexture=this.drawingContext.texture}this.setSize(A,R,P)},setSize:function(T,C,M){C===void 0&&(C=T),M===void 0&&(M=!0),M&&(T=Math.floor(T),C=Math.floor(C),T%2!==0&&T++,C%2!==0&&C++);var A=this.get(),R=A.source;if(T!==this.width||C!==this.height){this.canvas&&(this.canvas.width=T,this.canvas.height=C);var P=this.drawingContext;P&&(P.width!==T||P.height!==C)&&P.resize(T,C),this.camera.setSize(T,C),R.width=T,R.height=C,A.setSize(T,C),this.width=T,this.height=C}else{var L=this.getSourceImage();A.cutX+T>L.width&&(T=L.width-A.cutX),A.cutY+C>L.height&&(C=L.height-A.cutY),A.setSize(T,C,A.cutX,A.cutY)}return this},render:function(){if(this.commandBuffer.length!==0)return this.camera.preRender(),this.renderer.type===r.WEBGL&&this._renderWebGL(),this.renderer.type===r.CANVAS&&this._renderCanvas(),this},_renderWebGL:function(){this.renderer.renderNodes.getNode("DynamicTextureHandler").run(this)},_renderCanvas:function(){var T=this.camera,C=this.context,M=this.renderer,A=this.manager;M.setContext(C);for(var R,P,L,F,w,O,B,I,D,N,z,V,U,G,b,Y=this.commandBuffer,W=Y.length,H=!1,X=!1,K=0;K>24&255)/255;var j=Q>>16&255,J=Q>>8&255,tt=Q&255;C.save(),C.globalCompositeOperation="source-over",C.fillStyle="rgba("+j+","+J+","+tt+","+R+")",C.fillRect(G,b,U,w),C.restore();break}case c.STAMP:{O=Y[++K],F=Y[++K],G=Y[++K],b=Y[++K],R=Y[++K],V=Y[++K],D=Y[++K],N=Y[++K],z=Y[++K],B=Y[++K],I=Y[++K],P=Y[++K],X&&(P=e.ERASE);var k=A.resetStamp(R,V);k.setPosition(G,b).setRotation(D).setScale(N,z).setTexture(O,F).setOrigin(B,I).setBlendMode(P),k.renderCanvas(M,k,T,null);break}case c.REPEAT:{O=Y[++K],F=Y[++K],G=Y[++K],b=Y[++K],R=Y[++K],V=Y[++K],D=Y[++K],N=Y[++K],z=Y[++K],B=Y[++K],I=Y[++K],P=Y[++K],U=Y[++K],w=Y[++K];var q=Y[++K],_=Y[++K],rt=Y[++K],at=Y[++K],ht=Y[++K];X&&(P=e.ERASE);var ot=A.resetTileSprite(R,V);ot.setPosition(G,b).setRotation(D).setScale(N,z).setTexture(O,F).setSize(U,w).setOrigin(B,I).setBlendMode(P).setTilePosition(q,_).setTileRotation(rt).setTileScale(at,ht),ot.renderCanvas(M,ot,T,null);break}case c.DRAW:{var nt=Y[++K];if(G=Y[++K],b=Y[++K],G!==void 0){var it=nt.x;nt.x=G}if(b!==void 0){var lt=nt.y;nt.y=b}X&&(L=nt.blendMode,nt.blendMode=e.ERASE),nt.renderCanvas(M,nt,T,null),G!==void 0&&(nt.x=it),b!==void 0&&(nt.y=lt),X&&(nt.blendMode=L);break}case c.SET_ERASE:{X=!!Y[++K];break}case c.PRESERVE:{H=Y[++K];break}case c.CALLBACK:{var dt=Y[++K];dt();break}case c.CAPTURE:{nt=Y[++K];var ct=Y[++K],Bt=this.startCapture(nt,ct);nt.renderCanvas(M,nt,ct.camera||T,Bt.transform),this.finishCapture(nt,Bt);break}}}H||(Y.length=0),M.setContext()},fill:function(T,C,M,A,R,P){C===void 0&&(C=1),M===void 0&&(M=0),A===void 0&&(A=0),R===void 0&&(R=this.width),P===void 0&&(P=this.height);var L=T>>16&255,F=T>>8&255,w=T&255,O=v.getTintFromFloats(L/255,F/255,w/255,C);return this.commandBuffer.push(c.FILL,O,M,A,R,P),this},clear:function(T,C,M,A){return T===void 0&&(T=0),C===void 0&&(C=0),M===void 0&&(M=this.width),A===void 0&&(A=this.height),this.commandBuffer.push(c.CLEAR,T,C,M,A),this},stamp:function(T,C,M,A,R){M===void 0&&(M=0),A===void 0&&(A=0);var P=u(R,"alpha",1),L=u(R,"tint",16777215),F=u(R,"angle",0),w=u(R,"rotation",0),O=u(R,"scale",1),B=u(R,"scaleX",O),I=u(R,"scaleY",O),D=u(R,"originX",.5),N=u(R,"originY",.5),z=u(R,"blendMode",0);return F!==0&&(w=F*Math.PI/180),this.commandBuffer.push(c.STAMP,T,C,M,A,P,L,w,B,I,D,N,z),this},erase:function(T,C,M,A,R){var P=this.commandBuffer,L=P.length;return P[L-2]===c.SET_ERASE&&!P[L-1]?P.length-=2:P.push(c.SET_ERASE,!0),this.draw(T,C,M,A,R),P.push(c.SET_ERASE,!1),this},draw:function(T,C,M,A,R){Array.isArray(T)||(T=[T]);for(var P=T.length,L=0;L{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={CLEAR:0,FILL:1,STAMP:2,REPEAT:3,DRAW:4,SET_ERASE:5,PRESERVE:6,CALLBACK:7,CAPTURE:8}},4327:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(45319),i=t(79291),s=new e({initialize:function(o,a,u,f,v,c,g){this.texture=o,this.name=a,this.source=o.source[u],this.sourceIndex=u,this.cutX,this.cutY,this.cutWidth,this.cutHeight,this.x=0,this.y=0,this.width,this.height,this.halfWidth,this.halfHeight,this.centerX,this.centerY,this.pivotX=0,this.pivotY=0,this.customPivot=!1,this.rotated=!1,this.autoRound=-1,this.customData={},this.u0=0,this.v0=0,this.u1=0,this.v1=0,this.data={cut:{x:0,y:0,w:0,h:0,r:0,b:0},trim:!1,sourceSize:{w:0,h:0},spriteSourceSize:{x:0,y:0,w:0,h:0,r:0,b:0},radius:0,drawImage:{x:0,y:0,width:0,height:0},is3Slice:!1,scale9:!1,scale9Borders:{x:0,y:0,w:0,h:0}},this.setSize(c,g,f,v)},setCutPosition:function(r,o){return r===void 0&&(r=0),o===void 0&&(o=0),this.cutX=r,this.cutY=o,this.updateUVs()},setCutSize:function(r,o){return this.cutWidth=r,this.cutHeight=o,this.updateUVs()},setSize:function(r,o,a,u){a===void 0&&(a=0),u===void 0&&(u=0),this.setCutPosition(a,u),this.setCutSize(r,o),this.width=r,this.height=o,this.halfWidth=Math.floor(r*.5),this.halfHeight=Math.floor(o*.5),this.centerX=Math.floor(r/2),this.centerY=Math.floor(o/2);var f=this.data,v=f.cut;v.x=a,v.y=u,v.w=r,v.h=o,v.r=a+r,v.b=u+o,f.sourceSize.w=r,f.sourceSize.h=o,f.spriteSourceSize.w=r,f.spriteSourceSize.h=o,f.radius=.5*Math.sqrt(r*r+o*o);var c=f.drawImage;return c.x=a,c.y=u,c.width=r,c.height=o,this.updateUVs()},setTrim:function(r,o,a,u,f,v){var c=this.data,g=c.spriteSourceSize;return c.trim=!0,c.sourceSize.w=r,c.sourceSize.h=o,g.x=a,g.y=u,g.w=f,g.h=v,g.r=a+f,g.b=u+v,this.x=a,this.y=u,this.width=f,this.height=v,this.halfWidth=f*.5,this.halfHeight=v*.5,this.centerX=Math.floor(f/2),this.centerY=Math.floor(v/2),this.updateUVs()},setScale9:function(r,o,a,u){var f=this.data;return f.scale9=!0,f.is3Slice=o===0&&u===this.height,f.scale9Borders.x=r,f.scale9Borders.y=o,f.scale9Borders.w=a,f.scale9Borders.h=u,this},setCropUVs:function(r,o,a,u,f,v,c){var g=this.cutX,p=this.cutY,T=this.cutWidth,C=this.cutHeight,M=this.realWidth,A=this.realHeight;o=l(o,0,M),a=l(a,0,A),u=l(u,0,M-o),f=l(f,0,A-a);var R=g+o,P=p+a,L=u,F=f,w=this.data;if(w.trim){var O=w.spriteSourceSize;u=l(u,0,O.x+T-o),f=l(f,0,O.y+C-a);var B=o+u,I=a+f,D=!(O.rB||O.y>I);if(D){var N=Math.max(O.x,o),z=Math.max(O.y,a),V=Math.min(O.r,B)-N,U=Math.min(O.b,I)-z;L=V,F=U,v?R=g+(T-(N-O.x)-V):R=g+(N-O.x),c?P=p+(C-(z-O.y)-U):P=p+(z-O.y),o=N,a=z,u=V,f=U}else R=0,P=0,L=0,F=0}else v&&(R=g+(T-o-u)),c&&(P=p+(C-a-f));var G=this.source.width,b=this.source.height;return r.u0=Math.max(0,R/G),r.v0=1-Math.max(0,P/b),r.u1=Math.min(1,(R+L)/G),r.v1=1-Math.min(1,(P+F)/b),r.x=o,r.y=a,r.cx=R,r.cy=P,r.cw=L,r.ch=F,r.width=u,r.height=f,r.flipX=v,r.flipY=c,r},updateCropUVs:function(r,o,a){return this.setCropUVs(r,r.x,r.y,r.width,r.height,o,a)},setUVs:function(r,o,a,u,f,v){var c=this.data.drawImage;return c.width=r,c.height=o,this.u0=a,this.v0=u,this.u1=f,this.v1=v,this},updateUVs:function(){var r=this.cutX,o=this.cutY,a=this.cutWidth,u=this.cutHeight,f=this.data.drawImage;f.width=a,f.height=u;var v=this.source.width,c=this.source.height;return this.u0=r/v,this.v0=1-o/c,this.u1=(r+a)/v,this.v1=1-(o+u)/c,this},updateUVsInverted:function(){var r=this.source.width,o=this.source.height;return this.u0=(this.cutX+this.cutHeight)/r,this.v0=1-this.cutY/o,this.u1=this.cutX/r,this.v1=1-(this.cutY+this.cutWidth)/o,this},clone:function(){var r=new s(this.texture,this.name,this.sourceIndex);return r.cutX=this.cutX,r.cutY=this.cutY,r.cutWidth=this.cutWidth,r.cutHeight=this.cutHeight,r.x=this.x,r.y=this.y,r.width=this.width,r.height=this.height,r.halfWidth=this.halfWidth,r.halfHeight=this.halfHeight,r.centerX=this.centerX,r.centerY=this.centerY,r.rotated=this.rotated,r.data=i(!0,r.data,this.data),r.updateUVs(),r},destroy:function(){this.texture=null,this.source=null,this.customData=null,this.data=null},glTexture:{get:function(){return this.source.glTexture}},realWidth:{get:function(){return this.data.sourceSize.w}},realHeight:{get:function(){return this.data.sourceSize.h}},radius:{get:function(){return this.data.radius}},trimmed:{get:function(){return this.data.trim}},scale9:{get:function(){return this.data.scale9}},is3Slice:{get:function(){return this.data.is3Slice}},canvasData:{get:function(){return this.data.drawImage}}});h.exports=s},79237:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(4327),i=t(11876),s='Texture "%s" has no frame "%s"',r=new e({initialize:function(a,u,f,v,c){Array.isArray(f)||(f=[f]),this.manager=a,this.key=u,this.source=[],this.dataSource=[],this.frames={},this.customData={},this.firstFrame="__BASE",this.frameTotal=0,this.smoothPixelArt=null;for(var g=0;gc&&(c=T.cutX+T.cutWidth),T.cutY+T.cutHeight>g&&(g=T.cutY+T.cutHeight)}return{x:f,y:v,width:c-f,height:g-v}},getFrameNames:function(o){o===void 0&&(o=!1);var a=Object.keys(this.frames);if(!o){var u=a.indexOf("__BASE");u!==-1&&a.splice(u,1)}return a},getSourceImage:function(o){(o==null||this.frameTotal===1)&&(o="__BASE");var a=this.frames[o];return a?a.source.image:(console.warn(s,this.key,o),this.frames.__BASE.source.image)},getDataSourceImage:function(o){(o==null||this.frameTotal===1)&&(o="__BASE");var a=this.frames[o],u;return a?u=a.sourceIndex:(console.warn(s,this.key,o),u=this.frames.__BASE.sourceIndex),this.dataSource[u].image},setDataSource:function(o){Array.isArray(o)||(o=[o]);for(var a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(27919),l=t(57382),i=t(83419),s=t(40987),r=t(8054),o=t(81320),a=t(50792),u=t(69442),f=t(4327),v=t(8443),c=t(35154),g=t(88571),p=t(41212),T=t(61309),C=t(87841),M=t(79237),A=t(20839),R=new i({Extends:a,initialize:function(L){a.call(this),this.game=L,this.name="TextureManager",this.list={},this._tempCanvas=e.create2D(this),this._tempContext=this._tempCanvas.getContext("2d",{willReadFrequently:!0}),this._pending=0,this.stamp,this.stampCrop=new C,this.tileSprite,this.silentWarnings=!1,L.events.once(v.BOOT,this.boot,this)},boot:function(){this._pending=3,this.on(u.LOAD,this.updatePending,this),this.on(u.ERROR,this.updatePending,this);var P=this.game.config;P.defaultImage!==null&&this.addBase64("__DEFAULT",P.defaultImage),P.missingImage!==null&&this.addBase64("__MISSING",P.missingImage),P.whiteImage!==null&&this.addBase64("__WHITE",P.whiteImage),this.game.renderer&&this.game.renderer.gl&&this.addUint8Array("__NORMAL",new Uint8Array([127,127,255,255]),1,1),this.game.events.once(v.DESTROY,this.destroy,this),this.game.events.once(v.SYSTEM_READY,function(L){this.stamp=new g(L).setOrigin(0),this.tileSprite=new A(L,0,0,256,256,"__WHITE").setOrigin(0)},this)},updatePending:function(){this._pending--,this._pending===0&&(this.off(u.LOAD),this.off(u.ERROR),this.emit(u.READY))},checkKey:function(P){return!P||typeof P!="string"||this.exists(P)?(this.silentWarnings||console.error("Texture key already in use: "+P),!1):!0},remove:function(P){if(typeof P=="string")if(this.exists(P))P=this.get(P);else return this.silentWarnings||console.warn("No texture found matching key: "+P),this;var L=P.key;return this.list.hasOwnProperty(L)&&(P.destroy(),this.emit(u.REMOVE,L),this.emit(u.REMOVE_KEY+L)),this},removeKey:function(P){return this.list.hasOwnProperty(P)&&delete this.list[P],this},addBase64:function(P,L){if(this.checkKey(P)){var F=this,w=new Image;w.onerror=function(){F.emit(u.ERROR,P)},w.onload=function(){var O=F.create(P,w);O&&(T.Image(O,0),F.emit(u.ADD,P,O),F.emit(u.ADD_KEY+P,O),F.emit(u.LOAD,P,O))},w.src=L}return this},getBase64:function(P,L,F,w){F===void 0&&(F="image/png"),w===void 0&&(w=.92);var O="",B=this.getFrame(P,L);if(B&&(B.source.isRenderTexture||B.source.isGLTexture))this.silentWarnings||console.warn("Cannot getBase64 from WebGL Texture");else if(B){var I=B.canvasData,D=e.create2D(this,I.width,I.height),N=D.getContext("2d",{willReadFrequently:!0});I.width>0&&I.height>0&&N.drawImage(B.source.image,I.x,I.y,I.width,I.height,0,0,I.width,I.height),O=D.toDataURL(F,w),e.remove(D)}return O},addImage:function(P,L,F){var w=null;return this.checkKey(P)&&(w=this.create(P,L),T.Image(w,0),F&&w.setDataSource(F),this.emit(u.ADD,P,w),this.emit(u.ADD_KEY+P,w)),w},addGLTexture:function(P,L){var F=null;if(this.checkKey(P)){var w=L.width,O=L.height;F=this.create(P,L,w,O),F.add("__BASE",0,0,0,w,O),this.emit(u.ADD,P,F),this.emit(u.ADD_KEY+P,F)}return F},addCompressedTexture:function(P,L,F){var w=null;if(this.checkKey(P)){if(w=this.create(P,L),w.add("__BASE",0,0,0,L.width,L.height),F){var O=function(I,D,N){Array.isArray(N.textures)||Array.isArray(N.frames)?T.JSONArray(I,D,N):T.JSONHash(I,D,N)};if(Array.isArray(F))for(var B=0;B=D.x&&P=D.y&&L=D.x&&P=D.y&&L{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(27919),l=t(83419),i=t(50030),s=t(29795),r=t(82751),o=new l({initialize:function(u,f,v,c,g){g===void 0&&(g=!0);var p=u.manager.game;this.renderer=p.renderer,this.texture=u,this.source=f,this.image=f.compressed?null:f,this.compressionAlgorithm=f.compressed?f.format:null,this.resolution=1,this.width=v||f.naturalWidth||f.videoWidth||f.width||0,this.height=c||f.naturalHeight||f.videoHeight||f.height||0,this.scaleMode=s.DEFAULT,this.isCanvas=f instanceof HTMLCanvasElement,this.isVideo=window.hasOwnProperty("HTMLVideoElement")&&f instanceof HTMLVideoElement,this.isRenderTexture=f.type==="RenderTexture"||f.type==="DynamicTexture",this.isGLTexture=f instanceof r,this.isPowerOf2=i(this.width,this.height),this.glTexture=null,this.flipY=g,this.init(p)},init:function(a){var u=this.renderer;if(u){var f=this.source;if(u.gl){var v=this.image,c=this.flipY,g=this.width,p=this.height,T=this.scaleMode;this.isCanvas?this.glTexture=u.createCanvasTexture(v,!1,c):this.isVideo?this.glTexture=u.createVideoTexture(v,!1,c):this.isRenderTexture?this.glTexture=u.createTextureFromSource(null,g,p,T,void 0,c):this.isGLTexture?this.glTexture=f:this.compressionAlgorithm?this.glTexture=u.createTextureFromSource(f,void 0,void 0,T,void 0,c):f instanceof Uint8Array?this.glTexture=u.createUint8ArrayTexture(f,g,p,T,void 0,c):this.glTexture=u.createTextureFromSource(v,g,p,T,void 0,c)}else this.isRenderTexture&&(this.image=f.canvas)}a.config.antialias||this.setFilter(1)},setFilter:function(a){this.renderer&&this.renderer.gl&&this.renderer.setTextureFilter(this.glTexture,a),this.scaleMode=a},setFlipY:function(a){return a===void 0&&(a=!0),a===this.flipY?this:(this.flipY=a,this.update(),this)},setWrap:function(a,u){return this.renderer&&this.renderer.gl&&this.renderer.setTextureWrap(this.glTexture,a,u),this},update:function(){var a=this.renderer,u=this.image,f=this.flipY,v=a.gl;if(v){var c=this.glTexture;this.isCanvas?a.updateCanvasTexture(u,c,f):this.isVideo?a.updateVideoTexture(u,c,f):c.update(u,this.width,this.height,f,c.wrapS,c.wrapT,c.magFilter,c.minFilter,c.format)}},updateSize:function(a,u){this.width===a&&this.height===u||(this.width=a,this.height=u,this.isPowerOf2=i(a,u))},destroy:function(){this.glTexture&&this.renderer.deleteTexture(this.glTexture),this.isCanvas&&e.remove(this.image),this.renderer=null,this.texture=null,this.source=null,this.image=null,this.glTexture=null}});h.exports=o},43378:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={CLAMP_TO_EDGE:33071,REPEAT:10497,MIRRORED_REPEAT:33648};h.exports=d},19673:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={LINEAR:0,NEAREST:1};h.exports=d},44538:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="addtexture"},63486:h=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="addtexture-"},94851:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="onerror"},29099:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="onload"},8678:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="ready"},86415:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="removetexture"},30879:h=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="removetexture-"},69442:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={ADD:t(44538),ADD_KEY:t(63486),ERROR:t(94851),LOAD:t(29099),READY:t(8678),REMOVE:t(86415),REMOVE_KEY:t(30879)}},27458:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(79291),l=t(19673),i=t(43378),s={CanvasTexture:t(57382),DynamicTexture:t(81320),Events:t(69442),FilterMode:l,Frame:t(4327),Parsers:t(61309),Texture:t(79237),TextureManager:t(17130),TextureSource:t(11876),WrapMode:i};s=e(!1,s,l),s=e(!1,s,i),h.exports=s},89905:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){if(!l.getElementsByTagName("TextureAtlas")){console.warn("Invalid Texture Atlas XML given");return}var i=t.source[e];t.add("__BASE",e,0,0,i.width,i.height);for(var s=l.getElementsByTagName("SubTexture"),r,o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){var l=t.source[e];return t.add("__BASE",e,0,0,l.width,l.height),t};h.exports=d},4832:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){var l=t.source[e];return t.add("__BASE",e,0,0,l.width,l.height),t};h.exports=d},78566:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(41786),l=function(i,s,r){if(!r.frames&&!r.textures){console.warn("Invalid Texture Atlas JSON Array");return}var o=i.source[s];i.add("__BASE",s,0,0,o.width,o.height);for(var a=Array.isArray(r.textures)?r.textures[s].frames:r.frames,u,f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(41786),l=function(i,s,r){if(!r.frames){console.warn("Invalid Texture Atlas JSON Hash given, missing 'frames' Object");return}var o=i.source[s];i.add("__BASE",s,0,0,o.width,o.height);var a=r.frames,u;for(var f in a)if(a.hasOwnProperty(f)){var v=a[f];if(u=i.add(f,s,v.frame.x,v.frame.y,v.frame.w,v.frame.h),!u){console.warn("Invalid atlas json, frame already exists: "+f);continue}v.trimmed&&u.setTrim(v.sourceSize.w,v.sourceSize.h,v.spriteSourceSize.x,v.spriteSourceSize.y,v.spriteSourceSize.w,v.spriteSourceSize.h),v.rotated&&(u.rotated=!0,u.updateUVsInverted());var c=v.anchor||v.pivot;c&&(u.customPivot=!0,u.pivotX=c.x,u.pivotY=c.y),v.scale9Borders&&u.setScale9(v.scale9Borders.x,v.scale9Borders.y,v.scale9Borders.w,v.scale9Borders.h),u.customData=e(v)}for(var g in r)g!=="frames"&&(Array.isArray(r[g])?i.customData[g]=r[g].slice(0):i.customData[g]=r[g]);return i};h.exports=l},31403:h=>{/** + * @author Richard Davey + * @copyright 2021 Photon Storm Ltd. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){var e=[171,75,84,88,32,49,49,187,13,10,26,10],l,i=new Uint8Array(t,0,12);for(l=0;l>1),M=Math.max(1,M>>1),T+=A}return{mipmaps:p,width:f,height:v,internalFormat:u,compressed:!0,generateMipmap:!1}};h.exports=d},82038:h=>{/** + * @author Richard Davey + * @copyright 2021 Photon Storm Ltd. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */function d(L,F,w,O,B,I,D){return D===void 0&&(D=16),Math.floor((L+w)/B)*Math.floor((F+O)/I)*D}function t(L,F){return L=Math.max(L,16),F=Math.max(F,8),L*F/4}function e(L,F){return L=Math.max(L,8),F=Math.max(F,8),L*F/2}function l(L,F){return Math.ceil(L/4)*Math.ceil(F/4)*16}function i(L,F){return d(L,F,3,3,4,4,8)}function s(L,F){return d(L,F,3,3,4,4)}function r(L,F){return d(L,F,4,3,5,4)}function o(L,F){return d(L,F,4,4,5,5)}function a(L,F){return d(L,F,5,4,6,5)}function u(L,F){return d(L,F,5,5,6,6)}function f(L,F){return d(L,F,7,4,8,5)}function v(L,F){return d(L,F,7,5,8,6)}function c(L,F){return d(L,F,7,7,8,8)}function g(L,F){return d(L,F,9,4,10,5)}function p(L,F){return d(L,F,9,5,10,6)}function T(L,F){return d(L,F,9,7,10,8)}function C(L,F){return d(L,F,9,9,10,10)}function M(L,F){return d(L,F,11,9,12,10)}function A(L,F){return d(L,F,11,11,12,12)}var R={0:{sizeFunc:t,glFormat:[35841]},1:{sizeFunc:t,glFormat:[35843]},2:{sizeFunc:e,glFormat:[35840]},3:{sizeFunc:e,glFormat:[35842]},6:{sizeFunc:i,glFormat:[36196]},7:{sizeFunc:i,glFormat:[33776,35916]},8:{sizeFunc:s,glFormat:[33777,35917]},9:{sizeFunc:s,glFormat:[33778,35918]},11:{sizeFunc:s,glFormat:[33779,35919]},14:{sizeFunc:l,glFormat:[36494,36495]},15:{sizeFunc:l,glFormat:[36492,36493]},22:{sizeFunc:i,glFormat:[37492,37493]},23:{sizeFunc:s,glFormat:[37496,37497]},24:{sizeFunc:i,glFormat:[37494,37495]},25:{sizeFunc:i,glFormat:[37488]},26:{sizeFunc:s,glFormat:[37490]},27:{sizeFunc:s,glFormat:[37808,37840]},28:{sizeFunc:r,glFormat:[37809,37841]},29:{sizeFunc:o,glFormat:[37810,37842]},30:{sizeFunc:a,glFormat:[37811,37843]},31:{sizeFunc:u,glFormat:[37812,37844]},32:{sizeFunc:f,glFormat:[37813,37845]},33:{sizeFunc:v,glFormat:[37814,37846]},34:{sizeFunc:c,glFormat:[37815,37847]},35:{sizeFunc:g,glFormat:[37816,37848]},36:{sizeFunc:p,glFormat:[37817,37849]},37:{sizeFunc:T,glFormat:[37818,37850]},38:{sizeFunc:C,glFormat:[37819,37851]},39:{sizeFunc:M,glFormat:[37820,37852]},40:{sizeFunc:A,glFormat:[37821,37853]}},P=function(L){for(var F=new Uint32Array(L,0,13),w=F[0],O=w===55727696,B=O?F[2]:F[3],I=F[4],D=R[B].glFormat[I],N=R[B].sizeFunc,z=F[11],V=F[7],U=F[6],G=52+F[12],b=new Uint8Array(L,G),Y=new Array(z),W=0,H=V,X=U,K=0;K>1),X=Math.max(1,X>>1),W+=Z}return{mipmaps:Y,width:V,height:U,internalFormat:D,compressed:!0,generateMipmap:!1}};h.exports=P},75549:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(95540),l=function(i,s,r,o,a,u,f){var v=e(f,"frameWidth",null),c=e(f,"frameHeight",v);if(v===null)throw new Error("TextureManager.SpriteSheet: Invalid frameWidth given.");var g=i.source[s];i.add("__BASE",s,0,0,g.width,g.height);var p=e(f,"startFrame",0),T=e(f,"endFrame",-1),C=e(f,"margin",0),M=e(f,"spacing",0),A=Math.floor((a-C+M)/(v+M)),R=Math.floor((u-C+M)/(c+M)),P=A*R;P===0&&console.warn("SpriteSheet frame dimensions will result in zero frames for texture:",i.key),(p>P||p<-P)&&(p=0),p<0&&(p=P+p),(T===-1||T>P||Ta&&(w=D-a),N>u&&(O=N-u),I>=p&&I<=T&&(i.add(B,s,r+L,o+F,v-w,c-O),B++),L+=v+M,L+v>a&&(L=C,F+=c+M)}return i};h.exports=l},47534:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(95540),l=function(i,s,r){var o=e(r,"frameWidth",null),a=e(r,"frameHeight",o);if(!o)throw new Error("TextureManager.SpriteSheetFromAtlas: Invalid frameWidth given.");var u=i.source[0];i.add("__BASE",0,0,0,u.width,u.height),e(r,"startFrame",0),e(r,"endFrame",-1);for(var f=e(r,"margin",0),v=e(r,"spacing",0),c=s.cutX,g=s.cutY,p=s.cutWidth,T=s.cutHeight,C=s.realWidth,M=s.realHeight,A=Math.floor((C-f+v)/(o+v)),R=Math.floor((M-f+v)/(a+v)),P=s.x,L=o-P,F=o-(C-p-P),w=s.y,O=a-w,B=a-(M-T-w),I,D=f,N=f,z=0,V=0,U=0;U{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=0,t=function(l,i,s,r){var o=d-r.y-r.height;l.add(s,i,r.x,o,r.width,r.height)},e=function(l,i,s){var r=l.source[i];l.add("__BASE",i,0,0,r.width,r.height),d=r.height;for(var o=s.split(` +`),a=/^[ ]*(- )*(\w+)+[: ]+(.*)/,u="",f="",v={x:0,y:0,width:0,height:0},c=0;c{/** + * @author Ben Richards + * @copyright 2024 Photon Storm Ltd. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(50030),l=function(u){for(var f=u.mipmaps,v=1;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={AtlasXML:t(89905),Canvas:t(72893),Image:t(4832),JSONArray:t(78566),JSONHash:t(39711),KTXParser:t(31403),PVRParser:t(82038),SpriteSheet:t(75549),SpriteSheetFromAtlas:t(47534),UnityYAML:t(86147)}},80341:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={CSV:0,TILED_JSON:1,ARRAY_2D:2,WELTMEISTER:3}},16536:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s,r,o,a,u,f,v){(o===void 0||o<=0)&&(o=32),(a===void 0||a<=0)&&(a=32),u===void 0&&(u=0),f===void 0&&(f=0),this.name=s,this.firstgid=r|0,this.imageWidth=o|0,this.imageHeight=a|0,this.imageMargin=u|0,this.imageSpacing=f|0,this.properties=v||{},this.images=[],this.total=0},containsImageIndex:function(i){return i>=this.firstgid&&i{/** + * @author Richard Davey + * @copyright 2021 Photon Storm Ltd. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=new e({initialize:function(s){if(this.gids=[],s!==void 0)for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(80341),l=t(87010),i=t(46177),s=t(49075),r=function(o,a,u,f,v,c,g,p){u===void 0&&(u=32),f===void 0&&(f=32),v===void 0&&(v=10),c===void 0&&(c=10),p===void 0&&(p=!1);var T=null;if(Array.isArray(g)){var C=a!==void 0?a:"map";T=i(C,e.ARRAY_2D,g,u,f,p)}else if(a!==void 0){var M=o.cache.tilemap.get(a);M?T=i(a,M.format,M.data,u,f,p):console.warn("No map data found for key "+a)}return T===null&&(T=new l({tileWidth:u,tileHeight:f,width:v,height:c})),new s(o,T)};h.exports=r},23029:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(31401),i=t(91907),s=t(62644),r=t(93232),o=new e({Mixins:[l.AlphaSingle,l.Flip,l.Visible],initialize:function(u,f,v,c,g,p,T,C){this.layer=u,this.index=f,this.x=v,this.y=c,this.width=g,this.height=p,this.right,this.bottom,this.baseWidth=T!==void 0?T:g,this.baseHeight=C!==void 0?C:p,this.pixelX=0,this.pixelY=0,this.updatePixelXY(),this.properties={},this.rotation=0,this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceLeft=!1,this.faceRight=!1,this.faceTop=!1,this.faceBottom=!1,this.collisionCallback=void 0,this.collisionCallbackContext=this,this.tint=16777215,this.tintFill=!1,this.physics={}},containsPoint:function(a,u){return!(athis.right||u>this.bottom)},copy:function(a){return this.index=a.index,this.alpha=a.alpha,this.properties=s(a.properties),this.visible=a.visible,this.setFlip(a.flipX,a.flipY),this.tint=a.tint,this.rotation=a.rotation,this.collideUp=a.collideUp,this.collideDown=a.collideDown,this.collideLeft=a.collideLeft,this.collideRight=a.collideRight,this.collisionCallback=a.collisionCallback,this.collisionCallbackContext=a.collisionCallbackContext,this},getCollisionGroup:function(){return this.tileset?this.tileset.getTileCollisionGroup(this.index):null},getTileData:function(){return this.tileset?this.tileset.getTileData(this.index):null},getLeft:function(a){var u=this.tilemapLayer;if(u){var f=u.tileToWorldXY(this.x,this.y,void 0,a);return f.x}return this.x*this.baseWidth},getRight:function(a){var u=this.tilemapLayer;return u?this.getLeft(a)+this.width*u.scaleX:this.getLeft(a)+this.width},getTop:function(a){var u=this.tilemapLayer;if(u){var f=u.tileToWorldXY(this.x,this.y,void 0,a);return f.y}return this.y*this.baseWidth-(this.height-this.baseHeight)},getBottom:function(a){var u=this.tilemapLayer;return u?this.getTop(a)+this.height*u.scaleY:this.getTop(a)+this.height},getBounds:function(a,u){return u===void 0&&(u=new r),u.x=this.getLeft(a),u.y=this.getTop(a),u.width=this.getRight(a)-u.x,u.height=this.getBottom(a)-u.y,u},getCenterX:function(a){return(this.getLeft(a)+this.getRight(a))/2},getCenterY:function(a){return(this.getTop(a)+this.getBottom(a))/2},intersects:function(a,u,f,v){return!(f<=this.pixelX||v<=this.pixelY||a>=this.right||u>=this.bottom)},isInteresting:function(a,u){return a&&u?this.canCollide||this.hasInterestingFace:a?this.collides:u?this.hasInterestingFace:!1},resetCollision:function(a){if(a===void 0&&(a=!0),this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1,a){var u=this.tilemapLayer;u&&this.tilemapLayer.calculateFacesAt(this.x,this.y)}return this},resetFaces:function(){return this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1,this},setCollision:function(a,u,f,v,c){if(u===void 0&&(u=a),f===void 0&&(f=a),v===void 0&&(v=a),c===void 0&&(c=!0),this.collideLeft=a,this.collideRight=u,this.collideUp=f,this.collideDown=v,this.faceLeft=a,this.faceRight=u,this.faceTop=f,this.faceBottom=v,c){var g=this.tilemapLayer;g&&this.tilemapLayer.calculateFacesAt(this.x,this.y)}return this},setCollisionCallback:function(a,u){return a===null?(this.collisionCallback=void 0,this.collisionCallbackContext=void 0):(this.collisionCallback=a,this.collisionCallbackContext=u),this},setSize:function(a,u,f,v){return a!==void 0&&(this.width=a),u!==void 0&&(this.height=u),f!==void 0&&(this.baseWidth=f),v!==void 0&&(this.baseHeight=v),this.updatePixelXY(),this},updatePixelXY:function(){var a=this.layer.orientation;if(a===i.ORTHOGONAL)this.pixelX=this.x*this.baseWidth,this.pixelY=this.y*this.baseHeight;else if(a===i.ISOMETRIC)this.pixelX=(this.x-this.y)*this.baseWidth*.5,this.pixelY=(this.x+this.y)*this.baseHeight*.5;else if(a===i.STAGGERED)this.pixelX=this.x*this.baseWidth+this.y%2*(this.baseWidth/2),this.pixelY=this.y*(this.baseHeight/2);else if(a===i.HEXAGONAL){var u=this.layer.staggerAxis,f=this.layer.staggerIndex,v=this.layer.hexSideLength,c,g;u==="y"?(g=(this.baseHeight-v)/2+v,f==="odd"?this.pixelX=this.x*this.baseWidth+this.y%2*(this.baseWidth/2):this.pixelX=this.x*this.baseWidth-this.y%2*(this.baseWidth/2),this.pixelY=this.y*g):u==="x"&&(c=(this.baseWidth-v)/2+v,this.pixelX=this.x*c,f==="odd"?this.pixelY=this.y*this.baseHeight+this.x%2*(this.baseHeight/2):this.pixelY=this.y*this.baseHeight-this.x%2*(this.baseHeight/2))}return this.right=this.pixelX+this.baseWidth,this.bottom=this.pixelY+this.baseHeight,this},destroy:function(){this.collisionCallback=void 0,this.collisionCallbackContext=void 0,this.properties=void 0},canCollide:{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback!==void 0}},collides:{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}},hasInterestingFace:{get:function(){return this.faceTop||this.faceBottom||this.faceLeft||this.faceRight}},tileset:{get:function(){var a=this.layer.tilemapLayer;if(a){var u=a.gidMap[this.index];if(u)return u}return null}},tilemapLayer:{get:function(){return this.layer.tilemapLayer}},tilemap:{get:function(){var a=this.tilemapLayer;return a?a.tilemap:null}}});h.exports=o},49075:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(84101),l=t(83419),i=t(39506),s=t(80341),r=t(95540),o=t(14977),a=t(27462),u=t(91907),f=t(36305),v=t(19133),c=t(68287),g=t(23029),p=t(81086),T=t(44731),C=t(53180),M=t(20442),A=t(33629),R=new l({initialize:function(L,F){this.scene=L,this.tileWidth=F.tileWidth,this.tileHeight=F.tileHeight,this.width=F.width,this.height=F.height,this.orientation=F.orientation,this.renderOrder=F.renderOrder,this.format=F.format,this.version=F.version,this.properties=F.properties,this.widthInPixels=F.widthInPixels,this.heightInPixels=F.heightInPixels,this.imageCollections=F.imageCollections,this.images=F.images,this.layers=F.layers,this.tiles=F.tiles,this.tilesets=F.tilesets,this.objects=F.objects,this.currentLayerIndex=0,this.hexSideLength=F.hexSideLength;var w=this.orientation;this._convert={WorldToTileXY:p.GetWorldToTileXYFunction(w),WorldToTileX:p.GetWorldToTileXFunction(w),WorldToTileY:p.GetWorldToTileYFunction(w),TileToWorldXY:p.GetTileToWorldXYFunction(w),TileToWorldX:p.GetTileToWorldXFunction(w),TileToWorldY:p.GetTileToWorldYFunction(w),GetTileCorners:p.GetTileCornersFunction(w)}},setRenderOrder:function(P){var L=["right-down","left-down","right-up","left-up"];return typeof P=="number"&&(P=L[P]),L.indexOf(P)>-1&&(this.renderOrder=P),this},addTilesetImage:function(P,L,F,w,O,B,I,D){if(P===void 0)return null;L==null&&(L=P);var N=this.scene.sys.textures;if(!N.exists(L))return console.warn('Texture key "%s" not found',L),null;var z=N.get(L),V=this.getTilesetIndex(P);if(V===null&&this.format===s.TILED_JSON)return console.warn('Tilemap has no tileset "%s". Its tilesets are %o',P,this.tilesets),null;var U=this.tilesets[V];return U?((F||w)&&U.setTileSize(F,w),(O||B)&&U.setSpacing(O,B),U.setImage(z),U):(F===void 0&&(F=this.tileWidth),w===void 0&&(w=this.tileHeight),O===void 0&&(O=0),B===void 0&&(B=0),I===void 0&&(I=0),D===void 0&&(D={x:0,y:0}),U=new A(P,I,F,w,O,B,void 0,void 0,D),U.setImage(z),this.tilesets.push(U),this.tiles=e(this),U)},copy:function(P,L,F,w,O,B,I,D){return D=this.getLayer(D),D!==null?(p.Copy(P,L,F,w,O,B,I,D),this):null},createBlankLayer:function(P,L,F,w,O,B,I,D){F===void 0&&(F=0),w===void 0&&(w=0),O===void 0&&(O=this.width),B===void 0&&(B=this.height),I===void 0&&(I=this.tileWidth),D===void 0&&(D=this.tileHeight);var N=this.getLayerIndex(P);if(N!==null)return console.warn("Invalid Tilemap Layer ID: "+P),null;for(var z=new o({name:P,tileWidth:I,tileHeight:D,width:O,height:B,orientation:this.orientation,hexSideLength:this.hexSideLength}),V,U=0;U1&&console.warn("TilemapGPULayer can only use one tileset. Using the first item given."),L=L[0]),D=new C(this.scene,this,B,L,F,w)):(D=new M(this.scene,this,B,L,F,w),D.setRenderOrder(this.renderOrder)),this.scene.sys.displayList.add(D),D},createFromObjects:function(P,L,F){F===void 0&&(F=!0);var w=[],O=this.getObjectLayer(P);if(!O)return console.warn("createFromObjects: Invalid objectLayerName given: "+P),w;var B=new a(F?this.tilesets:void 0);Array.isArray(L)||(L=[L]);var I=O.objects;L.sortByY&&I.sort(function(rt,at){return rt.y>at.y?1:-1});for(var D=0;D-1&&this.putTileAt(L,B.x,B.y,F,B.tilemapLayer)}return w},removeTileAt:function(P,L,F,w,O){return F===void 0&&(F=!0),w===void 0&&(w=!0),O=this.getLayer(O),O===null?null:p.RemoveTileAt(P,L,F,w,O)},removeTileAtWorldXY:function(P,L,F,w,O,B){return F===void 0&&(F=!0),w===void 0&&(w=!0),B=this.getLayer(B),B===null?null:p.RemoveTileAtWorldXY(P,L,F,w,O,B)},renderDebug:function(P,L,F){return F=this.getLayer(F),F===null?null:(this.orientation===u.ORTHOGONAL&&p.RenderDebug(P,L,F),this)},renderDebugFull:function(P,L){for(var F=this.layers,w=0;w{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(44603),l=t(31989);e.register("tilemap",function(i){var s=i!==void 0?i:{};return l(this.scene,s.key,s.tileWidth,s.tileHeight,s.width,s.height,s.data,s.insertNull)})},46029:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(39429),l=t(31989);e.register("tilemap",function(i,s,r,o,a,u,f){return i===null&&(i=void 0),s===null&&(s=void 0),r===null&&(r=void 0),o===null&&(o=void 0),a===null&&(a=void 0),l(this.scene,i,s,r,o,a,u,f)})},53180:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(67743),l=t(83419),i=t(44731),s=t(57912),r=new l({Extends:i,Mixins:[s],initialize:function(a,u,f,v,c,g){i.call(this,"TilemapGPULayer",a,u,f,c,g),this.tileset=null,this.layerDataTexture=null,this.setTileset(v),this.initRenderNodes(this._defaultRenderNodesMap)},_defaultRenderNodesMap:{get:function(){return e}},setTileset:function(o){typeof o=="string"&&(o=this.tilemap.getTileset(o)),this.tileset=o,this.generateLayerDataTexture()},generateLayerDataTexture:function(){for(var o=this.layer,a=this.tileset,u=a.firstgid,f=this.scene.renderer,v=a.getAnimationDataIndexMap(f),c=new Uint32Array(o.width*o.height),g=0;g{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(6736),h.exports={renderWebGL:l,renderCanvas:i}},6736:h=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){var s=e.customRenderNodes.Submitter||e.defaultRenderNodes.Submitter;s.run(l,e,i)};h.exports=d},20442:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(79317),l=t(83419),i=t(81086),s=t(19218),r=t(44731),o=new l({Extends:r,Mixins:[s],initialize:function(u,f,v,c,g,p){r.call(this,"TilemapLayer",u,f,v,g,p),this.tileset=[],this.tilesDrawn=0,this.tilesTotal=this.layer.width*this.layer.height,this.culledTiles=[],this.skipCull=!1,this.cullPaddingX=1,this.cullPaddingY=1,this.cullCallback=i.GetCullTilesFunction(this.layer.orientation),this._renderOrder=0,this.setTilesets(c),this.initRenderNodes(this._defaultRenderNodesMap)},_defaultRenderNodesMap:{get:function(){return e}},setTilesets:function(a){var u=[],f=[],v=this.tilemap;Array.isArray(a)||(a=[a]);for(var c=0;c=0&&a<4&&(this._renderOrder=a),this},cull:function(a){return this.cullCallback(this.layer,a,this.culledTiles,this._renderOrder)},setSkipCull:function(a){return a===void 0&&(a=!0),this.skipCull=a,this},setCullPadding:function(a,u){return a===void 0&&(a=1),u===void 0&&(u=1),this.cullPaddingX=a,this.cullPaddingY=u,this},setTint:function(a,u,f,v,c,g){a===void 0&&(a=16777215);var p=function(T){T.tint=a,T.tintFill=!1};return this.forEachTile(p,this,u,f,v,c,g)},setTintFill:function(a,u,f,v,c,g){a===void 0&&(a=16777215);var p=function(T){T.tint=a,T.tintFill=!0};return this.forEachTile(p,this,u,f,v,c,g)},destroy:function(a){this.culledTiles.length=0,this.cullCallback=null,r.prototype.destroy.call(this,a)}});h.exports=o},44731:(h,d,t)=>{/** + * @author Benjamin D. Richards + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(78389),i=t(31401),s=t(95643),r=t(81086),o=t(26099),a=new e({Extends:s,Mixins:[i.Alpha,i.BlendMode,i.ComputedSize,i.Depth,i.ElapseTimer,i.Flip,i.GetBounds,i.Lighting,i.Mask,i.Origin,i.RenderNodes,i.Transform,i.Visible,i.ScrollFactor,l],initialize:function(f,v,c,g,p,T){s.call(this,v,f),this.isTilemap=!0,this.tilemap=c,this.layerIndex=g,this.layer=c.layers[g],this.layer.tilemapLayer=this,this.gidMap=[],this.tempVec=new o,this.collisionCategory=1,this.collisionMask=1,this.setAlpha(this.layer.alpha),this.setPosition(p,T),this.setOrigin(0,0),this.setSize(c.tileWidth*this.layer.width,c.tileHeight*this.layer.height)},addedToScene:function(){this.scene.sys.updateList.add(this)},removedFromScene:function(){this.scene.sys.updateList.remove(this)},preUpdate:function(u,f){this.updateTimer(u,f)},calculateFacesAt:function(u,f){return r.CalculateFacesAt(u,f,this.layer),this},calculateFacesWithin:function(u,f,v,c){return r.CalculateFacesWithin(u,f,v,c,this.layer),this},createFromTiles:function(u,f,v,c,g){return r.CreateFromTiles(u,f,v,c,g,this.layer)},copy:function(u,f,v,c,g,p,T){return r.Copy(u,f,v,c,g,p,T,this.layer),this},fill:function(u,f,v,c,g,p){return r.Fill(u,f,v,c,g,p,this.layer),this},filterTiles:function(u,f,v,c,g,p,T){return r.FilterTiles(u,f,v,c,g,p,T,this.layer)},findByIndex:function(u,f,v){return r.FindByIndex(u,f,v,this.layer)},findTile:function(u,f,v,c,g,p,T){return r.FindTile(u,f,v,c,g,p,T,this.layer)},forEachTile:function(u,f,v,c,g,p,T){return r.ForEachTile(u,f,v,c,g,p,T,this.layer),this},getTileAt:function(u,f,v){return r.GetTileAt(u,f,v,this.layer)},getTileAtWorldXY:function(u,f,v,c){return r.GetTileAtWorldXY(u,f,v,c,this.layer)},getIsoTileAtWorldXY:function(u,f,v,c,g){v===void 0&&(v=!0);var p=this.tempVec;return r.IsometricWorldToTileXY(u,f,!0,p,g,this.layer,v),this.getTileAt(p.x,p.y,c)},getTilesWithin:function(u,f,v,c,g){return r.GetTilesWithin(u,f,v,c,g,this.layer)},getTilesWithinShape:function(u,f,v){return r.GetTilesWithinShape(u,f,v,this.layer)},getTilesWithinWorldXY:function(u,f,v,c,g,p){return r.GetTilesWithinWorldXY(u,f,v,c,g,p,this.layer)},hasTileAt:function(u,f){return r.HasTileAt(u,f,this.layer)},hasTileAtWorldXY:function(u,f,v){return r.HasTileAtWorldXY(u,f,v,this.layer)},putTileAt:function(u,f,v,c){return r.PutTileAt(u,f,v,c,this.layer)},putTileAtWorldXY:function(u,f,v,c,g){return r.PutTileAtWorldXY(u,f,v,c,g,this.layer)},putTilesAt:function(u,f,v,c){return r.PutTilesAt(u,f,v,c,this.layer),this},randomize:function(u,f,v,c,g){return r.Randomize(u,f,v,c,g,this.layer),this},removeTileAt:function(u,f,v,c){return r.RemoveTileAt(u,f,v,c,this.layer)},removeTileAtWorldXY:function(u,f,v,c,g){return r.RemoveTileAtWorldXY(u,f,v,c,g,this.layer)},renderDebug:function(u,f){return r.RenderDebug(u,f,this.layer),this},replaceByIndex:function(u,f,v,c,g,p){return r.ReplaceByIndex(u,f,v,c,g,p,this.layer),this},setCollision:function(u,f,v,c){return r.SetCollision(u,f,v,this.layer,c),this},setCollisionBetween:function(u,f,v,c){return r.SetCollisionBetween(u,f,v,c,this.layer),this},setCollisionByProperty:function(u,f,v){return r.SetCollisionByProperty(u,f,v,this.layer),this},setCollisionByExclusion:function(u,f,v){return r.SetCollisionByExclusion(u,f,v,this.layer),this},setCollisionFromCollisionGroup:function(u,f){return r.SetCollisionFromCollisionGroup(u,f,this.layer),this},setTileIndexCallback:function(u,f,v){return r.SetTileIndexCallback(u,f,v,this.layer),this},setTileLocationCallback:function(u,f,v,c,g,p){return r.SetTileLocationCallback(u,f,v,c,g,p,this.layer),this},shuffle:function(u,f,v,c){return r.Shuffle(u,f,v,c,this.layer),this},swapByIndex:function(u,f,v,c,g,p){return r.SwapByIndex(u,f,v,c,g,p,this.layer),this},tileToWorldX:function(u,f){return this.tilemap.tileToWorldX(u,f,this)},tileToWorldY:function(u,f){return this.tilemap.tileToWorldY(u,f,this)},tileToWorldXY:function(u,f,v,c){return this.tilemap.tileToWorldXY(u,f,v,c,this)},getTileCorners:function(u,f,v){return this.tilemap.getTileCorners(u,f,v,this)},weightedRandomize:function(u,f,v,c,g){return r.WeightedRandomize(f,v,c,g,u,this.layer),this},worldToTileX:function(u,f,v){return this.tilemap.worldToTileX(u,f,v,this)},worldToTileY:function(u,f,v){return this.tilemap.worldToTileY(u,f,v,this)},worldToTileXY:function(u,f,v,c,g){return this.tilemap.worldToTileXY(u,f,v,c,g,this)},destroy:function(u){u===void 0&&(u=!0),this.tilemap&&(this.layer.tilemapLayer===this&&(this.layer.tilemapLayer=void 0),u&&this.tilemap.removeLayer(this),this.tilemap=void 0,this.layer=void 0,this.gidMap=[],this.tileset=[],s.prototype.destroy.call(this))}});h.exports=a},16153:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(61340),l=new e,i=new e,s=new e,r=function(o,a,u,f){var v=a.cull(u),c=v.length,g=u.alpha*a.alpha;if(!(c===0||g<=0)){i.applyITRS(a.x,a.y,a.rotation,a.scaleX,a.scaleY);var p=o.currentContext,T=a.gidMap;p.save(),l.copyWithScrollFactorFrom(u.matrixCombined,u.scrollX,u.scrollY,a.scrollFactorX,a.scrollFactorY),f&&l.multiply(f),l.multiply(i,s),s.setToContext(p),(!o.antialias||a.scaleX>1||a.scaleY>1)&&(p.imageSmoothingEnabled=!1);for(var C=0;C{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(29747),l=e,i=e;l=t(99558),i=t(16153),h.exports={renderWebGL:l,renderCanvas:i}},99558:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(70554),l=e.getTintAppendFloatAlpha,i={frame:{source:{glTexture:null}},uvSource:{u0:0,v0:0,u1:1,v1:1},frameWidth:0,frameHeight:0},s={tintFill:0,tintTopLeft:0,tintTopRight:0,tintBottomLeft:0,tintBottomRight:0},r=function(o,a,u,f){var v=u.camera,c=a.cull(v),g=c.length,p=a.alpha;if(!(g===0||p<=0))for(var T=a.gidMap,C=a.customRenderNodes.Submitter||a.defaultRenderNodes.Submitter,M=a.customRenderNodes.Transformer||a.defaultRenderNodes.Transformer,A=a.timeElapsed,R=0;R{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(26099),i=new e({initialize:function(r,o,a,u,f,v,c,g,p){(a===void 0||a<=0)&&(a=32),(u===void 0||u<=0)&&(u=32),f===void 0&&(f=0),v===void 0&&(v=0),c===void 0&&(c={}),g===void 0&&(g={}),this.name=r,this.firstgid=o,this.tileWidth=a,this.tileHeight=u,this.tileMargin=f,this.tileSpacing=v,this.tileProperties=c,this.tileData=g,this.tileOffset=new l,p!==void 0&&this.tileOffset.set(p.x,p.y),this.image=null,this.glTexture=null,this.rows=0,this.columns=0,this.total=0,this.texCoordinates=[],this.animationSearchThreshold=64,this.maxAnimationLength=0,this._animationDataTexture=null,this._animationDataIndexMap=null},getTileProperties:function(s){return this.containsTileIndex(s)?this.tileProperties[s-this.firstgid]:null},getTileData:function(s){return this.containsTileIndex(s)?this.tileData[s-this.firstgid]:null},getTileCollisionGroup:function(s){var r=this.getTileData(s);return r&&r.objectgroup?r.objectgroup:null},containsTileIndex:function(s){return s>=this.firstgid&&s>>1,u=a[c],g=u.startTime,g<=r&&g+u.duration>r)return u.tileid+this.firstgid;go.width||r.height>o.height?this.updateTileData(r.width,r.height):this.updateTileData(o.width,o.height,o.x,o.y),this},setTileSize:function(s,r){return s!==void 0&&(this.tileWidth=s),r!==void 0&&(this.tileHeight=r),this.image&&this.updateTileData(this.image.source[0].width,this.image.source[0].height),this},setSpacing:function(s,r){return s!==void 0&&(this.tileMargin=s),r!==void 0&&(this.tileSpacing=r),this.image&&this.updateTileData(this.image.source[0].width,this.image.source[0].height),this},updateTileData:function(s,r,o,a){o===void 0&&(o=0),a===void 0&&(a=0);var u=(r-this.tileMargin*2+this.tileSpacing)/(this.tileHeight+this.tileSpacing),f=(s-this.tileMargin*2+this.tileSpacing)/(this.tileWidth+this.tileSpacing);(u%1!==0||f%1!==0)&&console.warn("Image tile area not tile size multiple in: "+this.name),u=Math.floor(u),f=Math.floor(f),this.rows=u,this.columns=f,this.total=u*f,this.texCoordinates.length=0;for(var v=this.tileMargin+o,c=this.tileMargin+a,g=0;g4096*4096/2)throw new Error("Tileset.animationDataTexture: too many animations - total number of animations plus animation frames is max 8388608, got "+A);var R=A*2,P=Math.min(R,4096),L=Math.ceil(R/4096),F=new Uint32Array(P*L),w=0,O=a.length;for(c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7423),l=function(i,s,r){var o=e(i,s,!0,r),a=e(i,s-1,!0,r),u=e(i,s+1,!0,r),f=e(i-1,s,!0,r),v=e(i+1,s,!0,r),c=o&&o.collides;return c&&(o.faceTop=!0,o.faceBottom=!0,o.faceLeft=!0,o.faceRight=!0),a&&a.collides&&(c&&(o.faceTop=!1),a.faceBottom=!c),u&&u.collides&&(c&&(o.faceBottom=!1),u.faceTop=!c),f&&f.collides&&(c&&(o.faceLeft=!1),f.faceRight=!c),v&&v.collides&&(c&&(o.faceRight=!1),v.faceLeft=!c),o&&!o.collides&&o.resetFaces(),o};h.exports=l},42573:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7423),l=t(7386),i=function(s,r,o,a,u){for(var f=null,v=null,c=null,g=null,p=l(s,r,o,a,null,u),T=0;T{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=new e,i=function(s,r,o,a){var u=o.tilemapLayer,f=u.cullPaddingX,v=u.cullPaddingY,c=u.tilemap.tileToWorldXY(s,r,l,a,u);return c.x>a.worldView.x+u.scaleX*o.tileWidth*(-f-.5)&&c.xa.worldView.y+u.scaleY*o.tileHeight*(-v-1)&&c.y{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(42573),l=t(7386),i=t(62991),s=t(23029),r=function(o,a,u,f,v,c,g,p){g===void 0&&(g=!0);var T=l(o,a,u,f,null,p),C=[];T.forEach(function(w){var O=new s(w.layer,w.index,w.x,w.y,w.width,w.height,w.baseWidth,w.baseHeight);O.copy(w),C.push(O)});for(var M=v-o,A=c-a,R=0;R{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(62644),l=t(7386),i=t(27987),s=function(r,o,a,u,f,v){a||(a={}),Array.isArray(r)||(r=[r]);var c=v.tilemapLayer;u||(u=c.scene),f||(f=u.cameras.main);var g=v.width,p=v.height,T=l(0,0,g,p,null,v),C=[],M,A=function(F,w,O){for(var B=0;B{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(87841),l=t(63448),i=t(56583),s=new e,r=function(o,a){var u=o.tilemapLayer.tilemap,f=o.tilemapLayer,v=Math.floor(u.tileWidth*f.scaleX),c=Math.floor(u.tileHeight*f.scaleY),g=i(a.worldView.x-f.x,v,0,!0)-f.cullPaddingX,p=l(a.worldView.right-f.x,v,0,!0)+f.cullPaddingX,T=i(a.worldView.y-f.y,c,0,!0)-f.cullPaddingY,C=l(a.worldView.bottom-f.y,c,0,!0)+f.cullPaddingY;return s.setTo(g,T,p-g,C-T)};h.exports=r},30003:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(19545),l=t(32483),i=function(s,r,o,a){o===void 0&&(o=[]),a===void 0&&(a=0),o.length=0;var u=s.tilemapLayer,f=e(s,r);return(u.skipCull||u.scrollFactorX!==1||u.scrollFactorY!==1)&&(f.left=0,f.right=s.width,f.top=0,f.bottom=s.height),l(s,f,a,o),o};h.exports=i},35137:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7386),l=t(42573),i=t(20576),s=function(r,o,a,u,f,v,c){for(var g=c.collideIndexes.indexOf(r)!==-1,p=e(o,a,u,f,null,c),T=0;T{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7386),l=function(i,s,r,o,a,u,f,v){var c=e(r,o,a,u,f,v);return c.filter(i,s)};h.exports=l},52692:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){e===void 0&&(e=0),l===void 0&&(l=!1);var s=0,r,o,a;if(l){for(o=i.height-1;o>=0;o--)for(r=i.width-1;r>=0;r--)if(a=i.data[o][r],a&&a.index===t){if(s===e)return a;s+=1}}else for(o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7386),l=function(i,s,r,o,a,u,f,v){var c=e(r,o,a,u,f,v);return c.find(i,s)||null};h.exports=l},97560:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7386),l=function(i,s,r,o,a,u,f,v){var c=e(r,o,a,u,f,v);c.forEach(i,s)};h.exports=l},43305:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91907),l=t(30003),i=t(9474),s=t(14018),r=t(29747),o=t(54503),a=function(u){return u===e.ORTHOGONAL?l:u===e.HEXAGONAL?i:u===e.STAGGERED?o:u===e.ISOMETRIC?s:r};h.exports=a},7423:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(62991),l=function(i,s,r,o){if(e(i,s,o)){var a=o.data[s][i]||null;return a?a.index===-1?r?a:null:a:null}else return null};h.exports=l},60540:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7423),l=t(26099),i=new l,s=function(r,o,a,u,f){return f.tilemapLayer.worldToTileXY(r,o,!0,i,u),e(i.x,i.y,a,f)};h.exports=s},55826:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s,r,o){var a=o.baseTileWidth,u=o.baseTileHeight,f=o.tilemapLayer,v=0,c=0;f&&(r||(r=f.scene.cameras.main),v=f.x+r.scrollX*(1-f.scrollFactorX),c=f.y+r.scrollY*(1-f.scrollFactorY),a*=f.scaleX,u*=f.scaleY);var g=v+i*a,p=c+s*u;return[new e(g,p),new e(g+a,p),new e(g+a,p+u),new e(g,p+u)]};h.exports=l},11758:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91907),l=t(27229),i=t(29747),s=t(55826),r=function(o){return o===e.ORTHOGONAL?s:o===e.ISOMETRIC?i:o===e.HEXAGONAL?l:(o===e.STAGGERED,i)};h.exports=r},39167:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91907),l=t(29747),i=t(97281),s=function(r){return r===e.ORTHOGONAL?i:l};h.exports=s},62e3:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91907),l=t(19951),i=t(14127),s=t(29747),r=t(97202),o=t(70326),a=function(u){return u===e.ORTHOGONAL?o:u===e.ISOMETRIC?i:u===e.HEXAGONAL?l:u===e.STAGGERED?r:s};h.exports=a},5984:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91907),l=t(29747),i=t(28054),s=t(29650),r=function(o){return o===e.ORTHOGONAL?s:o===e.STAGGERED?i:l};h.exports=r},7386:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(95540),l=function(i,s,r,o,a,u){i===void 0&&(i=0),s===void 0&&(s=0),r===void 0&&(r=u.width),o===void 0&&(o=u.height),a||(a={});var f=e(a,"isNotEmpty",!1),v=e(a,"isColliding",!1),c=e(a,"hasInterestingFace",!1);i<0&&(r+=i,i=0),s<0&&(o+=s,s=0),i+r>u.width&&(r=Math.max(u.width-i,0)),s+o>u.height&&(o=Math.max(u.height-s,0));for(var g=[],p=s;p{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(55738),l=t(7386),i=t(91865),s=t(29747),r=t(26099),o=t(91907),a=function(g,p){return i.RectangleToTriangle(p,g)},u=new r,f=new r,v=new r,c=function(g,p,T,C){if(C.orientation!==o.ORTHOGONAL)return console.warn("GetTilesWithinShape only works with orthogonal tilemaps"),[];if(g===void 0)return[];var M=s;g instanceof e.Circle?M=i.CircleToRectangle:g instanceof e.Rectangle?M=i.RectangleToRectangle:g instanceof e.Triangle?M=a:g instanceof e.Line&&(M=i.LineToRectangle),C.tilemapLayer.worldToTileXY(g.left,g.top,!0,f,T);var A=f.x,R=f.y;C.tilemapLayer.worldToTileXY(g.right,g.bottom,!1,v,T);var P=Math.ceil(v.x),L=Math.ceil(v.y),F=Math.max(P-A,1),w=Math.max(L-R,1),O=l(A,R,F,w,p,C),B=C.tileWidth,I=C.tileHeight;C.tilemapLayer&&(B*=C.tilemapLayer.scaleX,I*=C.tilemapLayer.scaleY);for(var D=[],N=new e.Rectangle(0,0,B,I),z=0;z{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7386),l=t(26099),i=new l,s=new l,r=function(o,a,u,f,v,c,g){var p=g.tilemapLayer.tilemap._convert.WorldToTileXY;p(o,a,!0,i,c,g);var T=i.x,C=i.y;p(o+u,a+f,!1,s,c,g);var M=Math.ceil(s.x),A=Math.ceil(s.y);return e(T,C,M-T,A-C,v,g)};h.exports=r},96113:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91907),l=t(20242),i=t(10095),s=function(r){return r===e.ORTHOGONAL?i:l};h.exports=s},16926:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91907),l=t(86625),i=t(96897),s=t(29747),r=t(15108),o=t(85896),a=function(u){return u===e.ORTHOGONAL?o:u===e.ISOMETRIC?i:u===e.HEXAGONAL?l:u===e.STAGGERED?r:s};h.exports=a},55762:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91907),l=t(20242),i=t(51900),s=t(63288),r=function(o){return o===e.ORTHOGONAL?s:o===e.STAGGERED?i:l};h.exports=r},45091:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(62991),l=function(i,s,r){if(e(i,s,r)){var o=r.data[s][i];return o!==null&&o.index>-1}else return!1};h.exports=l},24152:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(45091),l=t(26099),i=new l,s=function(r,o,a,u){u.tilemapLayer.worldToTileXY(r,o,!0,i,a);var f=i.x,v=i.y;return e(f,v,u)};h.exports=s},90454:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(63448),l=t(56583),i=function(s,r){var o=s.tilemapLayer.tilemap,a=s.tilemapLayer,u=Math.floor(o.tileWidth*a.scaleX),f=Math.floor(o.tileHeight*a.scaleY),v=s.hexSideLength,c,g,p,T;if(s.staggerAxis==="y"){var C=(f-v)/2+v;c=l(r.worldView.x-a.x,u,0,!0)-a.cullPaddingX,g=e(r.worldView.right-a.x,u,0,!0)+a.cullPaddingX,p=l(r.worldView.y-a.y,C,0,!0)-a.cullPaddingY,T=e(r.worldView.bottom-a.y,C,0,!0)+a.cullPaddingY}else{var M=(u-v)/2+v;c=l(r.worldView.x-a.x,M,0,!0)-a.cullPaddingX,g=e(r.worldView.right-a.x,M,0,!0)+a.cullPaddingX,p=l(r.worldView.y-a.y,f,0,!0)-a.cullPaddingY,T=e(r.worldView.bottom-a.y,f,0,!0)+a.cullPaddingY}return{left:c,right:g,top:p,bottom:T}};h.exports=i},9474:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(90454),l=t(32483),i=function(s,r,o,a){o===void 0&&(o=[]),a===void 0&&(a=0),o.length=0;var u=s.tilemapLayer,f=e(s,r);return u.skipCull&&u.scrollFactorX===1&&u.scrollFactorY===1&&(f.left=0,f.right=s.width,f.top=0,f.bottom=s.height),l(s,f,a,o),o};h.exports=i},27229:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(19951),l=t(26099),i=new l,s=function(r,o,a,u){var f=u.baseTileWidth,v=u.baseTileHeight,c=u.tilemapLayer;c&&(f*=c.scaleX,v*=c.scaleY);var g=e(r,o,i,a,u),p=[],T=.5773502691896257,C,M;u.staggerAxis==="y"?(C=T*f,M=v/2):(C=f/2,M=T*v);for(var A=0;A<6;A++){var R=2*Math.PI*(.5-A)/6;p.push(new l(g.x+C*Math.cos(R),g.y+M*Math.sin(R)))}return p};h.exports=s},19951:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s,r,o,a){r||(r=new e);var u=a.baseTileWidth,f=a.baseTileHeight,v=a.tilemapLayer,c=0,g=0;v&&(o||(o=v.scene.cameras.main),c=v.x+o.scrollX*(1-v.scrollFactorX),g=v.y+o.scrollY*(1-v.scrollFactorY),u*=v.scaleX,f*=v.scaleY);var p=u/2,T=f/2,C,M,A=a.staggerAxis,R=a.staggerIndex;return A==="y"?(C=c+u*i+u,M=g+1.5*s*T+T,s%2===0&&(R==="odd"?C-=p:C+=p)):A==="x"&&R==="odd"&&(C=c+1.5*i*p+p,M=g+f*i+f,i%2===0&&(R==="odd"?M-=T:M+=T)),r.set(C,M)};h.exports=l},86625:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s,r,o,a,u){o||(o=new e);var f=u.baseTileWidth,v=u.baseTileHeight,c=u.tilemapLayer;c&&(a||(a=c.scene.cameras.main),i=i-(c.x+a.scrollX*(1-c.scrollFactorX)),s=s-(c.y+a.scrollY*(1-c.scrollFactorY)),f*=c.scaleX,v*=c.scaleY);var g=.5773502691896257,p=-.3333333333333333,T=0,C=.6666666666666666,M=f/2,A=v/2,R,P,L,F,w;u.staggerAxis==="y"?(R=(i-M)/(g*f),P=(s-A)/A,L=g*R+p*P,F=T*R+C*P):(R=(i-M)/M,P=(s-A)/(g*v),L=p*R+g*P,F=C*R+T*P),w=-L-F;var O=Math.round(L),B=Math.round(F),I=Math.round(w),D=Math.abs(O-L),N=Math.abs(B-F),z=Math.abs(I-w);D>N&&D>z?O=-B-I:N>z&&(B=-O-I);var V,U=B;return u.staggerIndex==="odd"?V=U%2===0?B/2+O:B/2+O-.5:V=U%2===0?B/2+O:B/2+O+.5,o.set(V,U)};h.exports=l},62991:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return t>=0&&t=0&&e{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(33528),l=function(i,s,r,o){r===void 0&&(r=[]),o===void 0&&(o=0),r.length=0;var a=i.tilemapLayer,u=i.data,f=i.width,v=i.height,c=a.skipCull,g=0,p=f,T=0,C=v,M,A,R;if(o===0)for(A=T;A=g;M--)R=u[A][M],!(!R||R.index===-1||!R.visible||R.alpha===0)&&(!c&&!e(M,A,i,s)||r.push(R));else if(o===2)for(A=C;A>=T;A--)for(M=g;M=T;A--)for(M=p;M>=g;M--)R=u[A][M],!(!R||R.index===-1||!R.visible||R.alpha===0)&&(!c&&!e(M,A,i,s)||r.push(R));return a.tilesDrawn=r.length,a.tilesTotal=f*v,r};h.exports=l},14127:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s,r,o,a){r||(r=new e);var u=a.baseTileWidth,f=a.baseTileHeight,v=a.tilemapLayer,c=0,g=0;v&&(o||(o=v.scene.cameras.main),c=v.x+o.scrollX*(1-v.scrollFactorX),u*=v.scaleX,g=v.y+o.scrollY*(1-v.scrollFactorY),f*=v.scaleY);var p=c+(i-s)*(u/2),T=g+(i+s)*(f/2);return r.set(p,T)};h.exports=l},96897:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s,r,o,a,u,f){o||(o=new e);var v=u.baseTileWidth,c=u.baseTileHeight,g=u.tilemapLayer;g&&(a||(a=g.scene.cameras.main),s=s-(g.y+a.scrollY*(1-g.scrollFactorY)),c*=g.scaleY,i=i-(g.x+a.scrollX*(1-g.scrollFactorX)),v*=g.scaleX);var p=v/2,T=c/2;i=i-p,f||(s=s-c);var C=.5*(i/p+s/T),M=.5*(-i/p+s/T);return r&&(C=Math.floor(C),M=Math.floor(M)),o.set(C,M)};h.exports=l},71558:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(23029),l=t(62991),i=t(72023),s=t(20576),r=function(o,a,u,f,v){if(f===void 0&&(f=!0),!l(a,u,v))return null;var c,g=v.data[u][a],p=g&&g.collides;o instanceof e?(v.data[u][a]===null&&(v.data[u][a]=new e(v,o.index,a,u,v.tileWidth,v.tileHeight)),v.data[u][a].copy(o)):(c=o,v.data[u][a]===null?v.data[u][a]=new e(v,c,a,u,v.tileWidth,v.tileHeight):v.data[u][a].index=c);var T=v.data[u][a],C=v.collideIndexes.indexOf(T.index)!==-1;if(c=o instanceof e?o.index:o,c===-1)T.width=v.tileWidth,T.height=v.tileHeight;else{var M=v.tilemapLayer.tilemap,A=M.tiles,R=A[c][2],P=M.tilesets[R];T.width=P.tileWidth,T.height=P.tileHeight}return s(T,C),f&&p!==T.collides&&i(a,u,v),T};h.exports=r},26303:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(71558),l=t(26099),i=new l,s=function(r,o,a,u,f,v){return v.tilemapLayer.worldToTileXY(o,a,!0,i,f,v),e(r,i.x,i.y,u,v)};h.exports=s},14051:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(42573),l=t(71558),i=function(s,r,o,a,u){if(a===void 0&&(a=!0),!Array.isArray(s))return null;Array.isArray(s[0])||(s=[s]);for(var f=s.length,v=s[0].length,c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7386),l=t(26546),i=function(s,r,o,a,u,f){var v,c=e(s,r,o,a,{},f);if(!u)for(u=[],v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(23029),l=t(62991),i=t(72023),s=function(r,o,a,u,f){if(a===void 0&&(a=!0),u===void 0&&(u=!0),!l(r,o,f))return null;var v=f.data[o][r];if(v)f.data[o][r]=a?null:new e(f,-1,r,o,f.tileWidth,f.tileHeight);else return null;return u&&v&&v.collides&&i(r,o,f),v};h.exports=s},94178:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(63557),l=t(26099),i=new l,s=function(r,o,a,u,f,v){return v.tilemapLayer.worldToTileXY(r,o,!0,i,f,v),e(i.x,i.y,a,u,v)};h.exports=s},15533:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7386),l=t(3956),i=new l(105,210,231,150),s=new l(243,134,48,200),r=new l(40,39,37,150),o=function(a,u,f){u===void 0&&(u={});var v=u.tileColor!==void 0?u.tileColor:i,c=u.collidingTileColor!==void 0?u.collidingTileColor:s,g=u.faceColor!==void 0?u.faceColor:r,p=e(0,0,f.width,f.height,null,f);a.translateCanvas(f.tilemapLayer.x,f.tilemapLayer.y),a.scaleCanvas(f.tilemapLayer.scaleX,f.tilemapLayer.scaleY);for(var T=0;T{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7386),l=function(i,s,r,o,a,u,f){for(var v=e(r,o,a,u,null,f),c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){var s=t.data,r=t.width,o=t.height,a=t.tilemapLayer,u=Math.max(0,e.left),f=Math.min(r,e.right),v=Math.max(0,e.top),c=Math.min(o,e.bottom),g,p,T;if(l===0)for(p=v;p=u;g--)T=s[p][g],!(!T||T.index===-1||!T.visible||T.alpha===0)&&i.push(T);else if(l===2)for(p=c;p>=v;p--)for(g=u;s[p]&&g=v;p--)for(g=f;s[p]&&g>=u;g--)T=s[p][g],!(!T||T.index===-1||!T.visible||T.alpha===0)&&i.push(T);return a.tilesDrawn=i.length,a.tilesTotal=r*o,i};h.exports=d},57068:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(20576),l=t(42573),i=t(9589),s=function(r,o,a,u,f){o===void 0&&(o=!0),a===void 0&&(a=!0),f===void 0&&(f=!0),Array.isArray(r)||(r=[r]);for(var v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(20576),l=t(42573),i=t(9589),s=function(r,o,a,u,f,v){if(a===void 0&&(a=!0),u===void 0&&(u=!0),v===void 0&&(v=!0),!(r>o)){for(var c=r;c<=o;c++)i(c,a,f);if(v)for(var g=0;g=r&&T.index<=o&&e(T,a)}u&&l(0,0,f.width,f.height,f)}};h.exports=s},75661:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(20576),l=t(42573),i=t(9589),s=function(r,o,a,u){o===void 0&&(o=!0),a===void 0&&(a=!0),Array.isArray(r)||(r=[r]);for(var f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(20576),l=t(42573),i=t(97022),s=function(r,o,a,u){o===void 0&&(o=!0),a===void 0&&(a=!0);for(var f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(20576),l=t(42573),i=function(s,r,o){s===void 0&&(s=!0),r===void 0&&(r=!0);for(var a=0;a0&&e(f,s)}}r&&l(0,0,o.width,o.height,o)};h.exports=i},9589:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){var i=l.collideIndexes.indexOf(t);e&&i===-1?l.collideIndexes.push(t):!e&&i!==-1&&l.collideIndexes.splice(i,1)};h.exports=d},20576:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){e?t.setCollision(!0,!0,!0,!0,!1):t.resetCollision(!1)};h.exports=d},79583:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){if(typeof t=="number")i.callbacks[t]=e!==null?{callback:e,callbackContext:l}:void 0;else for(var s=0,r=t.length;s{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7386),l=function(i,s,r,o,a,u,f){for(var v=e(i,s,r,o,null,f),c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7386),l=t(33680),i=function(s,r,o,a,u){var f=e(s,r,o,a,null,u),v=f.map(function(g){return g.index});l(v);for(var c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(63448),l=t(56583),i=function(s,r){var o=s.tilemapLayer.tilemap,a=s.tilemapLayer,u=Math.floor(o.tileWidth*a.scaleX),f=Math.floor(o.tileHeight*a.scaleY),v=l(r.worldView.x-a.x,u,0,!0)-a.cullPaddingX,c=e(r.worldView.right-a.x,u,0,!0)+a.cullPaddingX,g=l(r.worldView.y-a.y,f/2,0,!0)-a.cullPaddingY,p=e(r.worldView.bottom-a.y,f/2,0,!0)+a.cullPaddingY;return{left:v,right:c,top:g,bottom:p}};h.exports=i},54503:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(61325),l=t(32483),i=function(s,r,o,a){o===void 0&&(o=[]),a===void 0&&(a=0),o.length=0;var u=s.tilemapLayer,f=e(s,r);return u.skipCull&&u.scrollFactorX===1&&u.scrollFactorY===1&&(f.left=0,f.right=s.width,f.top=0,f.bottom=s.height),l(s,f,a,o),o};h.exports=i},97202:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s,r,o,a){r||(r=new e);var u=a.baseTileWidth,f=a.baseTileHeight,v=a.tilemapLayer,c=0,g=0;v&&(o||(o=v.scene.cameras.main),c=v.x+o.scrollX*(1-v.scrollFactorX),u*=v.scaleX,g=v.y+o.scrollY*(1-v.scrollFactorY),f*=v.scaleY);var p=c+i*u+s%2*(u/2),T=g+s*(f/2);return r.set(p,T)};h.exports=l},28054:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){var i=l.baseTileHeight,s=l.tilemapLayer,r=0;return s&&(e===void 0&&(e=s.scene.cameras.main),r=s.y+e.scrollY*(1-s.scrollFactorY),i*=s.scaleY),r+t*(i/2)+i};h.exports=d},15108:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s,r,o,a,u){o||(o=new e);var f=u.baseTileWidth,v=u.baseTileHeight,c=u.tilemapLayer;c&&(a||(a=c.scene.cameras.main),s=s-(c.y+a.scrollY*(1-c.scrollFactorY)),v*=c.scaleY,i=i-(c.x+a.scrollX*(1-c.scrollFactorX)),f*=c.scaleX);var g=r?Math.floor(s/(v/2)):s/(v/2),p=r?Math.floor((i+g%2*.5*f)/f):(i+g%2*.5*f)/f;return o.set(p,g)};h.exports=l},51900:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){var s=i.baseTileHeight,r=i.tilemapLayer;return r&&(l||(l=r.scene.cameras.main),t=t-(r.y+l.scrollY*(1-r.scrollFactorY)),s*=r.scaleY),e?Math.floor(t/(s/2)):t/(s/2)};h.exports=d},86560:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7386),l=function(i,s,r,o,a,u,f){for(var v=e(r,o,a,u,null,f),c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){var i=l.baseTileWidth,s=l.tilemapLayer,r=0;return s&&(e||(e=s.scene.cameras.main),r=s.x+e.scrollX*(1-s.scrollFactorX),i*=s.scaleX),r+t*i};h.exports=d},70326:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(97281),l=t(29650),i=t(26099),s=function(r,o,a,u,f){return a||(a=new i(0,0)),a.x=e(r,u,f),a.y=l(o,u,f),a};h.exports=s},29650:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){var i=l.baseTileHeight,s=l.tilemapLayer,r=0;return s&&(e||(e=s.scene.cameras.main),r=s.y+e.scrollY*(1-s.scrollFactorY),i*=s.scaleY),r+t*i};h.exports=d},77366:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(7386),l=t(75508),i=function(s,r,o,a,u,f){if(u){var v,c=e(s,r,o,a,null,f),g=0;for(v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(85896),l=t(26099),i=new l,s=function(r,o,a,u){return e(r,0,o,i,a,u),i.x};h.exports=s},85896:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(26099),l=function(i,s,r,o,a,u){r===void 0&&(r=!0),o||(o=new e);var f=u.baseTileWidth,v=u.baseTileHeight,c=u.tilemapLayer;c&&(a||(a=c.scene.cameras.main),i=i-(c.x+a.scrollX*(1-c.scrollFactorX)),s=s-(c.y+a.scrollY*(1-c.scrollFactorY)),f*=c.scaleX,v*=c.scaleY);var g=i/f,p=s/v;return r&&(g=Math.floor(g),p=Math.floor(p)),o.set(g,p)};h.exports=l},63288:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(85896),l=t(26099),i=new l,s=function(r,o,a,u){return e(0,r,o,i,a,u),i.y};h.exports=s},81086:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={CalculateFacesAt:t(72023),CalculateFacesWithin:t(42573),CheckIsoBounds:t(33528),Copy:t(1785),CreateFromTiles:t(78419),CullBounds:t(19545),CullTiles:t(30003),Fill:t(35137),FilterTiles:t(40253),FindByIndex:t(52692),FindTile:t(66151),ForEachTile:t(97560),GetCullTilesFunction:t(43305),GetTileAt:t(7423),GetTileAtWorldXY:t(60540),GetTileCorners:t(55826),GetTileCornersFunction:t(11758),GetTilesWithin:t(7386),GetTilesWithinShape:t(91141),GetTilesWithinWorldXY:t(96523),GetTileToWorldXFunction:t(39167),GetTileToWorldXYFunction:t(62e3),GetTileToWorldYFunction:t(5984),GetWorldToTileXFunction:t(96113),GetWorldToTileXYFunction:t(16926),GetWorldToTileYFunction:t(55762),HasTileAt:t(45091),HasTileAtWorldXY:t(24152),HexagonalCullBounds:t(90454),HexagonalCullTiles:t(9474),HexagonalGetTileCorners:t(27229),HexagonalTileToWorldXY:t(19951),HexagonalWorldToTileXY:t(86625),IsInLayerBounds:t(62991),IsometricCullTiles:t(14018),IsometricTileToWorldXY:t(14127),IsometricWorldToTileXY:t(96897),PutTileAt:t(71558),PutTileAtWorldXY:t(26303),PutTilesAt:t(14051),Randomize:t(77389),RemoveTileAt:t(63557),RemoveTileAtWorldXY:t(94178),RenderDebug:t(15533),ReplaceByIndex:t(27987),RunCull:t(32483),SetCollision:t(57068),SetCollisionBetween:t(37266),SetCollisionByExclusion:t(75661),SetCollisionByProperty:t(64740),SetCollisionFromCollisionGroup:t(63307),SetLayerCollisionIndex:t(9589),SetTileCollision:t(20576),SetTileIndexCallback:t(79583),SetTileLocationCallback:t(93254),Shuffle:t(32903),StaggeredCullBounds:t(61325),StaggeredCullTiles:t(54503),StaggeredTileToWorldXY:t(97202),StaggeredTileToWorldY:t(28054),StaggeredWorldToTileXY:t(15108),StaggeredWorldToTileY:t(51900),SwapByIndex:t(86560),TileToWorldX:t(97281),TileToWorldXY:t(70326),TileToWorldY:t(29650),WeightedRandomize:t(77366),WorldToTileX:t(10095),WorldToTileXY:t(85896),WorldToTileY:t(63288)}},91907:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={ORTHOGONAL:0,ISOMETRIC:1,STAGGERED:2,HEXAGONAL:3}},21829:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e={ORIENTATION:t(91907)};h.exports=e},62501:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(79291),l=t(21829),i={Components:t(81086),Parsers:t(57442),Formats:t(80341),ImageCollection:t(16536),ParseToTilemap:t(31989),Tile:t(23029),Tilemap:t(49075),TilemapCreator:t(45939),TilemapFactory:t(46029),Tileset:t(33629),TilemapLayerBase:t(44731),TilemapLayer:t(20442),TilemapGPULayer:t(53180),Orientation:t(91907),LayerData:t(14977),MapData:t(87010),ObjectLayer:t(48700)};i=e(!1,i,l.ORIENTATION),h.exports=i},14977:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(91907),i=t(95540),s=new e({initialize:function(o){o===void 0&&(o={}),this.name=i(o,"name","layer"),this.id=i(o,"id",0),this.x=i(o,"x",0),this.y=i(o,"y",0),this.width=i(o,"width",0),this.height=i(o,"height",0),this.tileWidth=i(o,"tileWidth",0),this.tileHeight=i(o,"tileHeight",0),this.baseTileWidth=i(o,"baseTileWidth",this.tileWidth),this.baseTileHeight=i(o,"baseTileHeight",this.tileHeight),this.orientation=i(o,"orientation",l.ORTHOGONAL),this.widthInPixels=i(o,"widthInPixels",this.width*this.baseTileWidth),this.heightInPixels=i(o,"heightInPixels",this.height*this.baseTileHeight),this.alpha=i(o,"alpha",1),this.visible=i(o,"visible",!0),this.properties=i(o,"properties",[]),this.indexes=i(o,"indexes",[]),this.collideIndexes=i(o,"collideIndexes",[]),this.callbacks=i(o,"callbacks",[]),this.bodies=i(o,"bodies",[]),this.data=i(o,"data",[]),this.tilemapLayer=i(o,"tilemapLayer",null),this.hexSideLength=i(o,"hexSideLength",0),this.staggerAxis=i(o,"staggerAxis","y"),this.staggerIndex=i(o,"staggerIndex","odd")}});h.exports=s},87010:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(91907),i=t(95540),s=new e({initialize:function(o){o===void 0&&(o={}),this.name=i(o,"name","map"),this.width=i(o,"width",0),this.height=i(o,"height",0),this.infinite=i(o,"infinite",!1),this.tileWidth=i(o,"tileWidth",0),this.tileHeight=i(o,"tileHeight",0),this.widthInPixels=i(o,"widthInPixels",this.width*this.tileWidth),this.heightInPixels=i(o,"heightInPixels",this.height*this.tileHeight),this.format=i(o,"format",null),this.orientation=i(o,"orientation",l.ORTHOGONAL),this.renderOrder=i(o,"renderOrder","right-down"),this.version=i(o,"version","1"),this.properties=i(o,"properties",{}),this.layers=i(o,"layers",[]),this.images=i(o,"images",[]),this.objects=i(o,"objects",[]),Array.isArray(this.objects)||(this.objects=[]),this.collision=i(o,"collision",{}),this.tilesets=i(o,"tilesets",[]),this.imageCollections=i(o,"imageCollections",[]),this.tiles=i(o,"tiles",[]),this.hexSideLength=i(o,"hexSideLength",0),this.staggerAxis=i(o,"staggerAxis","y"),this.staggerIndex=i(o,"staggerIndex","odd")}});h.exports=s},48700:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(95540),i=new e({initialize:function(r){r===void 0&&(r={}),this.name=l(r,"name","object layer"),this.id=l(r,"id",0),this.opacity=l(r,"opacity",1),this.properties=l(r,"properties",{}),this.propertyTypes=l(r,"propertytypes",{}),this.type=l(r,"type","objectgroup"),this.visible=l(r,"visible",!0),this.objects=l(r,"objects",[]),Array.isArray(this.objects)||(this.objects=[])}});h.exports=i},6641:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(91907),l=function(i){return i=i.toLowerCase(),i==="isometric"?e.ISOMETRIC:i==="staggered"?e.STAGGERED:i==="hexagonal"?e.HEXAGONAL:e.ORTHOGONAL};h.exports=l},46177:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(80341),l=t(2342),i=t(82593),s=t(46594),r=t(87021),o=function(a,u,f,v,c,g){var p;switch(u){case e.ARRAY_2D:p=l(a,f,v,c,g);break;case e.CSV:p=i(a,f,v,c,g);break;case e.TILED_JSON:p=s(a,f,g);break;case e.WELTMEISTER:p=r(a,f,g);break;default:console.warn("Unrecognized tilemap data format: "+u),p=null}return p};h.exports=o},2342:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(80341),l=t(14977),i=t(87010),s=t(23029),r=function(o,a,u,f,v){for(var c=new l({tileWidth:u,tileHeight:f}),g=new i({name:o,tileWidth:u,tileHeight:f,format:e.ARRAY_2D,layers:[c]}),p=[],T=a.length,C=0,M=0;M{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(80341),l=t(2342),i=function(s,r,o,a,u){var f=r.trim().split(` +`).map(function(c){return c.split(",")}),v=l(s,f,o,a,u);return v.format=e.CSV,v};h.exports=i},6656:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(14977),l=t(23029),i=function(s,r){for(var o=[],a=0;a-1?C=new l(f,T,p,g,u.tilesize,u.tilesize):C=r?null:new l(f,-1,p,g,u.tilesize,u.tilesize),v.push(C)}c.push(v),v=[]}f.data=c,o.push(f)}return o};h.exports=i},96483:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(33629),l=function(i){for(var s=[],r=[],o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(80341),l=t(87010),i=t(6656),s=t(96483),r=function(o,a,u){if(a.layer.length===0)return console.warn("No layers found in the Weltmeister map: "+o),null;for(var f=0,v=0,c=0;cf&&(f=a.layer[c].width),a.layer[c].height>v&&(v=a.layer[c].height);var g=new l({width:f,height:v,name:o,tileWidth:a.layer[0].tilesize,tileHeight:a.layer[0].tilesize,format:e.WELTMEISTER});return g.layers=i(a,u),g.tilesets=s(a),g};h.exports=r},52833:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={ParseTileLayers:t(6656),ParseTilesets:t(96483),ParseWeltmeister:t(87021)}},57442:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={FromOrientationString:t(6641),Parse:t(46177),Parse2DArray:t(2342),ParseCSV:t(82593),Impact:t(52833),Tiled:t(96761)}},51233:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(79291),l=function(i){for(var s,r,o,a,u,f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){for(var e=window.atob(t),l=e.length,i=new Array(l/4),s=0;s>>0;return i};h.exports=d},84101:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(33629),l=function(i){var s,r,o=[];for(s=0;s{/** + * @author Seth Berrier + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(95540),l=function(i,s,r){if(!s)return{i:0,layers:i.layers,name:"",opacity:1,visible:!0,x:0,y:0};var o=s.x+e(s,"startx",0)*i.tilewidth+e(s,"offsetx",0),a=s.y+e(s,"starty",0)*i.tileheight+e(s,"offsety",0);return{i:0,layers:s.layers,name:r.name+s.name+"/",opacity:r.opacity*s.opacity,visible:r.visible&&s.visible,x:r.x+o,y:r.y+a}};h.exports=l},29920:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=2147483648,t=1073741824,e=536870912,l=function(i){var s=!!(i&d),r=!!(i&t),o=!!(i&e);i=i&536870911;var a=0,u=!1;return s&&r&&o?(a=Math.PI/2,u=!0):s&&r&&!o?(a=Math.PI,u=!1):s&&!r&&o?(a=Math.PI/2,u=!1):s&&!r&&!o?(a=0,u=!0):!s&&r&&o?(a=3*Math.PI/2,u=!1):!s&&r&&!o?(a=Math.PI,u=!0):!s&&!r&&o?(a=3*Math.PI/2,u=!0):!s&&!r&&!o&&(a=0,u=!1),{gid:i,flippedHorizontal:s,flippedVertical:r,flippedAntiDiagonal:o,rotation:a,flipped:u}};h.exports=l},12635:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(95540),l=t(79677),i=function(s){for(var r=[],o=[],a=l(s);a.i0;){if(a.i>=a.layers.length){if(o.length<1){console.warn("TilemapParser.parseTiledJSON - Invalid layer group hierarchy");break}a=o.pop();continue}var u=a.layers[a.i];if(a.i++,u.type!=="imagelayer"){if(u.type==="group"){var f=l(s,u,a);o.push(a),a=f}continue}var v=e(u,"offsetx",0)+e(u,"startx",0),c=e(u,"offsety",0)+e(u,"starty",0);r.push({name:a.name+u.name,image:u.image,x:a.x+v+u.x,y:a.y+c+u.y,alpha:a.opacity*u.opacity,visible:a.visible&&u.visible,properties:e(u,"properties",{})})}return r};h.exports=i},46594:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(51233),l=t(84101),i=t(91907),s=t(62644),r=t(80341),o=t(6641),a=t(87010),u=t(12635),f=t(22611),v=t(28200),c=t(24619),g=function(p,T,C){var M=s(T),A=new a({width:M.width,height:M.height,name:p,tileWidth:M.tilewidth,tileHeight:M.tileheight,orientation:o(M.orientation),format:r.TILED_JSON,version:M.version,properties:M.properties,renderOrder:M.renderorder,infinite:M.infinite});if(A.orientation===i.HEXAGONAL)if(A.hexSideLength=M.hexsidelength,A.staggerAxis=M.staggeraxis,A.staggerIndex=M.staggerindex,A.staggerAxis==="y"){var R=(A.tileHeight-A.hexSideLength)/2;A.widthInPixels=A.tileWidth*(A.width+.5),A.heightInPixels=A.height*(A.hexSideLength+R)+R}else{var P=(A.tileWidth-A.hexSideLength)/2;A.widthInPixels=A.width*(A.hexSideLength+P)+P,A.heightInPixels=A.tileHeight*(A.height+.5)}A.layers=v(M,C),A.images=u(M);var L=c(M);return A.tilesets=L.tilesets,A.imageCollections=L.imageCollections,A.objects=f(M),A.tiles=l(A),e(A),A};h.exports=g},52205:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(18254),l=t(29920),i=function(o){return{x:o.x,y:o.y}},s=["id","name","type","rotation","properties","visible","x","y","width","height"],r=function(o,a,u){a===void 0&&(a=0),u===void 0&&(u=0);var f=e(o,s);if(f.x+=a,f.y+=u,o.gid){var v=l(o.gid);f.gid=v.gid,f.flippedHorizontal=v.flippedHorizontal,f.flippedVertical=v.flippedVertical,f.flippedAntiDiagonal=v.flippedAntiDiagonal}else o.polyline?f.polyline=o.polyline.map(i):o.polygon?f.polygon=o.polygon.map(i):o.ellipse?f.ellipse=o.ellipse:o.text?f.text=o.text:o.point?f.point=!0:f.rectangle=!0;return f};h.exports=r},22611:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(95540),l=t(52205),i=t(48700),s=t(79677),r=function(o){for(var a=[],u=[],f=s(o);f.i0;){if(f.i>=f.layers.length){if(u.length<1){console.warn("TilemapParser.parseTiledJSON - Invalid layer group hierarchy");break}f=u.pop();continue}var v=f.layers[f.i];if(f.i++,v.opacity*=f.opacity,v.visible=f.visible&&v.visible,v.type!=="objectgroup"){if(v.type==="group"){var c=s(o,v,f);u.push(f),f=c}continue}v.name=f.name+v.name;for(var g=f.x+e(v,"startx",0)+e(v,"offsetx",0),p=f.y+e(v,"starty",0)+e(v,"offsety",0),T=[],C=0;C{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(41868),l=t(91907),i=t(79677),s=t(6641),r=t(95540),o=t(14977),a=t(29920),u=t(23029),f=function(v,c){for(var g=r(v,"infinite",!1),p=[],T=[],C=i(v);C.i0;){if(C.i>=C.layers.length){if(T.length<1){console.warn("TilemapParser.parseTiledJSON - Invalid layer group hierarchy");break}C=T.pop();continue}var M=C.layers[C.i];if(C.i++,M.type!=="tilelayer"){if(M.type==="group"){var A=i(v,M,C);T.push(C),C=A}continue}if(M.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+M.name+"'");continue}else if(M.encoding&&M.encoding==="base64"){if(M.chunks)for(var R=0;R0?(F=new u(P,L.gid,K,Z,v.tilewidth,v.tileheight),F.rotation=L.rotation,F.flipX=L.flipped,I[Z][K]=F):(w=c?null:new u(P,-1,K,Z,v.tilewidth,v.tileheight),I[Z][K]=w),D++,D===G.width&&(W++,D=0)}}else{P=new o({name:C.name+M.name,id:M.id,x:C.x+r(M,"offsetx",0)+M.x,y:C.y+r(M,"offsety",0)+M.y,width:M.width,height:M.height,tileWidth:v.tilewidth,tileHeight:v.tileheight,alpha:C.opacity*M.opacity,visible:C.visible&&M.visible,properties:r(M,"properties",[]),orientation:s(v.orientation)}),P.orientation===l.HEXAGONAL&&(P.hexSideLength=v.hexsidelength,P.staggerAxis=v.staggeraxis,P.staggerIndex=v.staggerindex,P.staggerAxis==="y"?(O=(P.tileHeight-P.hexSideLength)/2,P.widthInPixels=P.tileWidth*(P.width+.5),P.heightInPixels=P.height*(P.hexSideLength+O)+O):(B=(P.tileWidth-P.hexSideLength)/2,P.widthInPixels=P.width*(P.hexSideLength+B)+B,P.heightInPixels=P.tileHeight*(P.height+.5)));for(var Q=[],j=0,J=M.data.length;j0?(F=new u(P,L.gid,D,I.length,v.tilewidth,v.tileheight),F.rotation=L.rotation,F.flipX=L.flipped,Q.push(F)):(w=c?null:new u(P,-1,D,I.length,v.tilewidth,v.tileheight),Q.push(w)),D++,D===M.width&&(I.push(Q),D=0,Q=[])}P.data=I,p.push(P)}return p};h.exports=f},24619:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(33629),l=t(16536),i=t(52205),s=t(57880),r=function(o){for(var a=[],u=[],f=null,v,c=0;c1){var T=void 0,C=void 0;if(Array.isArray(g.tiles)){T=T||{},C=C||{};for(var M=0;M{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){for(var l=0;l0){var r={},o={},a,u,f;if(Array.isArray(i.edgecolors))for(a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={AssignTileProperties:t(51233),Base64Decode:t(41868),BuildTilesetIndex:t(84101),CreateGroupLayer:t(79677),ParseGID:t(29920),ParseImageLayers:t(12635),ParseJSONTiled:t(46594),ParseObject:t(52205),ParseObjectLayers:t(22611),ParseTileLayers:t(28200),ParseTilesets:t(24619)}},33385:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(37277),i=t(44594),s=t(94880),r=t(72905),o=new e({initialize:function(u){this.scene=u,this.systems=u.sys,this.now=0,this.startTime=0,this.timeScale=1,this.paused=!1,this._active=[],this._pendingInsertion=[],this._pendingRemoval=[],u.sys.events.once(i.BOOT,this.boot,this),u.sys.events.on(i.START,this.start,this)},boot:function(){this.now=this.systems.game.loop.time,this.systems.events.once(i.DESTROY,this.destroy,this)},start:function(){this.startTime=this.systems.game.loop.time;var a=this.systems.events;a.on(i.PRE_UPDATE,this.preUpdate,this),a.on(i.UPDATE,this.update,this),a.once(i.SHUTDOWN,this.shutdown,this)},addEvent:function(a){var u;if(a instanceof s){if(u=a,this.removeEvent(u),u.elapsed=u.startAt,u.hasDispatched=!1,u.repeatCount=u.repeat===-1||u.loop?999999999999:u.repeat,u.delay<=0&&u.repeatCount>0)throw new Error("TimerEvent infinite loop created via zero delay")}else u=new s(a);return this._pendingInsertion.push(u),u},delayedCall:function(a,u,f,v){return this.addEvent({delay:a,callback:u,args:f,callbackScope:v})},clearPendingEvents:function(){return this._pendingInsertion=[],this},removeEvent:function(a){Array.isArray(a)||(a=[a]);for(var u=0;u-1&&this._active.splice(c,1),v.destroy()}for(f=0;f=v.delay)){var c=v.elapsed-v.delay;if(v.elapsed=v.delay,!v.hasDispatched&&v.callback&&(v.hasDispatched=!0,v.callback.apply(v.callbackScope,v.args)),v.repeatCount>0){if(v.repeatCount--,c>=v.delay)for(;c>=v.delay&&v.repeatCount>0;)v.callback&&v.callback.apply(v.callbackScope,v.args),c-=v.delay,v.repeatCount--;v.elapsed=c,v.hasDispatched=!1}else v.hasDispatched&&this._pendingRemoval.push(v)}}}},shutdown:function(){var a;for(a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(50792),i=t(39429),s=t(95540),r=t(44594),o=t(89809),a=new e({Extends:l,initialize:function(f,v){l.call(this),this.scene=f,this.systems=f.sys,this.elapsed=0,this.timeScale=1,this.paused=!0,this.complete=!1,this.totalComplete=0,this.loop=0,this.iteration=0,this.events=[];var c=this.systems.events;c.on(r.PRE_UPDATE,this.preUpdate,this),c.on(r.UPDATE,this.update,this),c.once(r.SHUTDOWN,this.destroy,this),v&&this.add(v)},preUpdate:function(u,f){this.paused||(this.elapsed+=f*this.timeScale)},update:function(){if(!(this.paused||this.complete)){var u,f=this.events,v=!1,c=this.systems,g;for(u=0;u0||this.totalComplete>0)&&(this.loop!==0&&(this.loop===-1||this.loop>this.iteration)?(this.iteration++,this.reset(!0)):this.complete=!0),this.complete&&this.emit(o.COMPLETE,this)}},play:function(u){return u===void 0&&(u=!0),this.paused=!1,this.complete=!1,this.totalComplete=0,u&&this.reset(),this},pause:function(){this.paused=!0;for(var u=this.events,f=0;f0&&(v=f[f.length-1].time);for(var c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(95540),i=new e({initialize:function(r){this.delay=0,this.repeat=0,this.repeatCount=0,this.loop=!1,this.callback,this.callbackScope,this.args,this.timeScale=1,this.startAt=0,this.elapsed=0,this.paused=!1,this.hasDispatched=!1,this.reset(r)},reset:function(s){if(this.delay=l(s,"delay",0),this.repeat=l(s,"repeat",0),this.loop=l(s,"loop",!1),this.callback=l(s,"callback",void 0),this.callbackScope=l(s,"callbackScope",this),this.args=l(s,"args",[]),this.timeScale=l(s,"timeScale",1),this.startAt=l(s,"startAt",0),this.paused=l(s,"paused",!1),this.elapsed=this.startAt,this.hasDispatched=!1,this.repeatCount=this.repeat===-1||this.loop?999999999999:this.repeat,this.delay<=0&&this.repeatCount>0)throw new Error("TimerEvent infinite loop created via zero delay");return this},getProgress:function(){return this.elapsed/this.delay},getOverallProgress:function(){if(this.repeat>0){var s=this.delay+this.delay*this.repeat,r=this.elapsed+this.delay*(this.repeat-this.repeatCount);return r/s}else return this.getProgress()},getRepeatCount:function(){return this.repeatCount},getElapsed:function(){return this.elapsed},getElapsedSeconds:function(){return this.elapsed*.001},getRemaining:function(){return this.delay-this.elapsed},getRemainingSeconds:function(){return this.getRemaining()*.001},getOverallRemaining:function(){return this.delay*(1+this.repeatCount)-this.elapsed},getOverallRemainingSeconds:function(){return this.getOverallRemaining()*.001},remove:function(s){s===void 0&&(s=!1),this.elapsed=this.delay,this.hasDispatched=!s,this.repeatCount=0},destroy:function(){this.callback=void 0,this.callbackScope=void 0,this.args=[]}});h.exports=i},35945:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="complete"},89809:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={COMPLETE:t(35945)}},90291:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Clock:t(33385),Events:t(89809),Timeline:t(96120),TimerEvent:t(94880)}},40382:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(72905),l=t(83419),i=t(43491),s=t(88032),r=t(37277),o=t(44594),a=t(93109),u=t(8462),f=t(8357),v=t(43960),c=t(26012),g=new l({initialize:function(T){this.scene=T,this.events=T.sys.events,this.timeScale=1,this.paused=!1,this.processing=!1,this.tweens=[],this.time=0,this.startTime=0,this.nextTime=0,this.prevTime=0,this.maxLag=500,this.lagSkip=33,this.gap=1e3/240,this.events.once(o.BOOT,this.boot,this),this.events.on(o.START,this.start,this)},boot:function(){this.events.once(o.DESTROY,this.destroy,this)},start:function(){this.timeScale=1,this.paused=!1,this.startTime=Date.now(),this.prevTime=this.startTime,this.nextTime=this.gap,this.events.on(o.UPDATE,this.update,this),this.events.once(o.SHUTDOWN,this.shutdown,this)},create:function(p){Array.isArray(p)||(p=[p]);for(var T=[],C=0;C-1},existing:function(p){return this.has(p)||this.tweens.push(p.reset()),this},addCounter:function(p){var T=s(this,p);return this.tweens.push(T.reset()),T},stagger:function(p,T){return a(p,T)},setLagSmooth:function(p,T){return p===void 0&&(p=1/1e-8),T===void 0&&(T=0),this.maxLag=p,this.lagSkip=Math.min(T,this.maxLag),this},setFps:function(p){return p===void 0&&(p=240),this.gap=1e3/p,this.nextTime=this.time*1e3+this.gap,this},getDelta:function(p){var T=Date.now()-this.prevTime;T>this.maxLag&&(this.startTime+=T-this.lagSkip),this.prevTime+=T;var C=this.prevTime-this.startTime,M=C-this.nextTime,A=C-this.time*1e3;return M>0||p?(C/=1e3,this.time=C,this.nextTime+=M+(M>=this.gap?4:this.gap-M)):A=0,A},tick:function(){return this.step(!0),this},update:function(){this.paused||this.step(!1)},step:function(p){p===void 0&&(p=!1);var T=this.getDelta(p);if(!(T<=0)){this.processing=!0;var C,M,A=[],R=this.tweens;for(C=0;C0){for(C=0;C-1&&(M.isPendingRemove()||M.isDestroyed())&&(R.splice(L,1),M.destroy())}A.length=0}this.processing=!1}},remove:function(p){return this.processing?p.setPendingRemoveState():(e(this.tweens,p),p.setRemovedState()),this},reset:function(p){return this.existing(p),p.seek(),p.setActiveState(),this},makeActive:function(p){return this.existing(p),p.setActiveState(),this},each:function(p,T){var C,M=[null];for(C=1;C{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){return t&&t.hasOwnProperty(e)?t[e]:l};h.exports=d},6113:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(62640),l=t(35355),i=function(s,r){var o=e.Power0;if(typeof s=="string")if(e.hasOwnProperty(s))o=e[s];else{var a="";if(s.indexOf(".")){a=s.substring(s.indexOf(".")+1);var u=a.toLowerCase();u==="in"?a="easeIn":u==="out"?a="easeOut":u==="inout"&&(a="easeInOut")}s=l(s.substring(0,s.indexOf(".")+1)+a),e.hasOwnProperty(s)&&(o=e[s])}else typeof s=="function"&&(o=s);if(!r)return o;var f=r.slice(0);return f.unshift(0),function(v){return f[0]=v,o.apply(this,f)}};h.exports=i},91389:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(89318),l=t(77259),i=t(28392),s={bezier:e,catmull:l,catmullrom:l,linear:i},r=function(o){if(o===null)return null;var a=s.linear;return typeof o=="string"?s.hasOwnProperty(o)&&(a=s[o]):typeof o=="function"&&(a=o),a};h.exports=r},55292:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){var i;if(t.hasOwnProperty(e)){var s=typeof t[e];s==="function"?i=function(r,o,a,u,f,v){return t[e](r,o,a,u,f,v)}:i=function(){return t[e]}}else typeof l=="function"?i=l:i=function(){return l};return i};h.exports=d},82985:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(81076),l=function(i){var s,r=[];if(i.hasOwnProperty("props"))for(s in i.props)s.substring(0,1)!=="_"&&r.push({key:s,value:i.props[s]});else for(s in i)e.indexOf(s)===-1&&s.substring(0,1)!=="_"&&r.push({key:s,value:i[s]});return r};h.exports=l},62329:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(35154),l=function(i){var s=e(i,"targets",null);return s===null||(typeof s=="function"&&(s=s.call()),Array.isArray(s)||(s=[s])),s};h.exports=l},17777:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(30976),l=t(99472);function i(u){return!!u.getActive&&typeof u.getActive=="function"}function s(u){return!!u.getStart&&typeof u.getStart=="function"}function r(u){return!!u.getEnd&&typeof u.getEnd=="function"}function o(u){return s(u)||r(u)||i(u)}var a=function(u,f){var v,c=function(V,U,G){return G},g=function(V,U,G){return G},p=null,T=typeof f;if(T==="number")c=function(){return f};else if(Array.isArray(f))g=function(){return f[0]},c=function(){return f[f.length-1]};else if(T==="string"){var C=f.toLowerCase(),M=C.substring(0,6)==="random",A=C.substring(0,3)==="int";if(M||A){var R=C.indexOf("("),P=C.indexOf(")"),L=C.indexOf(",");if(R&&P&&L){var F=parseFloat(C.substring(R+1,L)),w=parseFloat(C.substring(L+1,P));M?c=function(){return l(F,w)}:c=function(){return e(F,w)}}else throw new Error("invalid random() format")}else{C=C[0];var O=parseFloat(f.substr(2));switch(C){case"+":c=function(V,U,G){return G+O};break;case"-":c=function(V,U,G){return G-O};break;case"*":c=function(V,U,G){return G*O};break;case"/":c=function(V,U,G){return G/O};break;default:c=function(){return parseFloat(f)}}}}else if(T==="function")c=f;else if(T==="object")if(o(f))i(f)&&(p=f.getActive),r(f)&&(c=f.getEnd),s(f)&&(g=f.getStart);else if(f.hasOwnProperty("value"))v=a(u,f.value);else{var B=f.hasOwnProperty("to"),I=f.hasOwnProperty("from"),D=f.hasOwnProperty("start");if(B&&(I||D)){if(v=a(u,f.to),D){var N=a(u,f.start);v.getActive=N.getEnd}if(I){var z=a(u,f.from);v.getStart=z.getEnd}}}return v||(v={getActive:p,getEnd:c,getStart:g}),v};h.exports=a},88032:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(70402),l=t(69902),i=t(23568),s=t(57355),r=t(6113),o=t(95540),a=t(55292),u=t(35154),f=t(17777),v=t(269),c=t(8462),g=function(p,T,C){if(T instanceof c)return T.parent=p,T;C===void 0?C=l:C=v(l,C);var M=o(T,"from",0),A=o(T,"to",1),R=[{value:M}],P=o(T,"delay",C.delay),L=o(T,"easeParams",C.easeParams),F=o(T,"ease",C.ease),w=f("value",A),O=new c(p,R),B=O.add(0,"value",w.getEnd,w.getStart,w.getActive,r(o(T,"ease",F),o(T,"easeParams",L)),a(T,"delay",P),o(T,"duration",C.duration),s(T,"yoyo",C.yoyo),o(T,"hold",C.hold),o(T,"repeat",C.repeat),o(T,"repeatDelay",C.repeatDelay),!1,!1);B.start=M,B.current=M,O.completeDelay=i(T,"completeDelay",0),O.loop=Math.round(i(T,"loop",0)),O.loopDelay=Math.round(i(T,"loopDelay",0)),O.paused=s(T,"paused",!1),O.persist=s(T,"persist",!1),O.isNumberTween=!0,O.callbackScope=u(T,"callbackScope",O);for(var I=e.TYPES,D=0;D{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(6113),l=t(35154),i=t(36383),s=function(r,o){o===void 0&&(o={});var a,u=l(o,"start",0),f=l(o,"ease",null),v=l(o,"grid",null),c=l(o,"from",0),g=c==="first",p=c==="center",T=c==="last",C=typeof c=="number",M=Array.isArray(r),A=parseFloat(M?r[0]:r),R=M?parseFloat(r[1]):0,P=Math.max(A,R);if(M&&(u+=A),v){var L=v[0],F=v[1],w=0,O=0,B=0,I=0,D=[];T?(w=L-1,O=F-1):C?(w=c%L,O=Math.floor(c/L)):p&&(w=(L-1)/2,O=(F-1)/2);for(var N=i.MIN_SAFE_INTEGER,z=0;zN&&(N=U),D[z][V]=U}}}var G=f?e(f):null;return v?a=function(b,Y,W,H){var X=0,K=H%L,Z=Math.floor(H/L);K>=0&&K=0&&Z{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(70402),l=t(69902),i=t(23568),s=t(57355),r=t(6113),o=t(95540),a=t(91389),u=t(55292),f=t(82985),v=t(62329),c=t(35154),g=t(17777),p=t(269),T=t(8462),C=function(M,A,R){if(A instanceof T)return A.parent=M,A;R===void 0?R=l:R=p(l,R);var P=v(A);!P&&R.targets&&(P=R.targets);for(var L=f(A),F=o(A,"delay",R.delay),w=o(A,"duration",R.duration),O=o(A,"easeParams",R.easeParams),B=o(A,"ease",R.ease),I=o(A,"hold",R.hold),D=o(A,"repeat",R.repeat),N=o(A,"repeatDelay",R.repeatDelay),z=s(A,"yoyo",R.yoyo),V=s(A,"flipX",R.flipX),U=s(A,"flipY",R.flipY),G=o(A,"interpolation",R.interpolation),b=function(q,_,rt,at){if(rt==="texture"){var ht=at,ot=void 0;Array.isArray(at)?(ht=at[0],ot=at[1]):at.hasOwnProperty("value")?(ht=at.value,Array.isArray(at.value)?(ht=at.value[0],ot=at.value[1]):typeof at.value=="string"&&(ht=at.value)):typeof at=="string"&&(ht=at),q.addFrame(_,ht,ot,u(at,"delay",F),o(at,"duration",w),o(at,"hold",I),o(at,"repeat",D),o(at,"repeatDelay",N),s(at,"flipX",V),s(at,"flipY",U))}else{var nt=g(rt,at),it=a(o(at,"interpolation",G));q.add(_,rt,nt.getEnd,nt.getStart,nt.getActive,r(o(at,"ease",B),o(at,"easeParams",O)),u(at,"delay",F),o(at,"duration",w),s(at,"yoyo",z),o(at,"hold",I),o(at,"repeat",D),o(at,"repeatDelay",N),s(at,"flipX",V),s(at,"flipY",U),it,it?at:null)}},Y=new T(M,P),W=0;W{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(70402),l=t(23568),i=t(57355),s=t(62329),r=t(35154),o=t(8357),a=t(43960),u=function(f,v){if(v instanceof a)return v.parent=f,v;var c=new a(f);c.startDelay=r(v,"delay",0),c.completeDelay=l(v,"completeDelay",0),c.loop=Math.round(l(v,"loop",r(v,"repeat",0))),c.loopDelay=Math.round(l(v,"loopDelay",r(v,"repeatDelay",0))),c.paused=i(v,"paused",!1),c.persist=i(v,"persist",!1),c.callbackScope=r(v,"callbackScope",c);var g,p=e.TYPES;for(g=0;g{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={GetBoolean:t(57355),GetEaseFunction:t(6113),GetInterpolationFunction:t(91389),GetNewValue:t(55292),GetProps:t(82985),GetTargets:t(62329),GetValueOp:t(17777),NumberTweenBuilder:t(88032),StaggerBuilder:t(93109),TweenBuilder:t(8357)}},73685:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="active"},98540:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="complete"},67233:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="loop"},2859:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="pause"},98336:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="repeat"},25764:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="resume"},32193:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="start"},84371:h=>{/** + * @author samme + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="stop"},70766:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="update"},55659:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports="yoyo"},842:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={TWEEN_ACTIVE:t(73685),TWEEN_COMPLETE:t(98540),TWEEN_LOOP:t(67233),TWEEN_PAUSE:t(2859),TWEEN_RESUME:t(25764),TWEEN_REPEAT:t(98336),TWEEN_START:t(32193),TWEEN_STOP:t(84371),TWEEN_UPDATE:t(70766),TWEEN_YOYO:t(55659)}},43066:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e={States:t(86353),Builders:t(30231),Events:t(842),TweenManager:t(40382),Tween:t(8462),TweenData:t(48177),TweenFrameData:t(42220),BaseTween:t(70402),TweenChain:t(43960)};h.exports=e},70402:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(50792),i=t(842),s=t(86353),r=new e({Extends:l,initialize:function(a){l.call(this),this.parent=a,this.data=[],this.totalData=0,this.startDelay=0,this.hasStarted=!1,this.timeScale=1,this.loop=0,this.loopDelay=0,this.loopCounter=0,this.completeDelay=0,this.countdown=0,this.state=s.PENDING,this.paused=!1,this.callbacks={onActive:null,onComplete:null,onLoop:null,onPause:null,onRepeat:null,onResume:null,onStart:null,onStop:null,onUpdate:null,onYoyo:null},this.callbackScope,this.persist=!1},setTimeScale:function(o){return this.timeScale=o,this},getTimeScale:function(){return this.timeScale},isPlaying:function(){return!this.paused&&this.isActive()},isPaused:function(){return this.paused},pause:function(){return this.paused||(this.paused=!0,this.dispatchEvent(i.TWEEN_PAUSE,"onPause")),this},resume:function(){return this.paused&&(this.paused=!1,this.dispatchEvent(i.TWEEN_RESUME,"onResume")),this},makeActive:function(){this.parent.makeActive(this),this.dispatchEvent(i.TWEEN_ACTIVE,"onActive")},onCompleteHandler:function(){this.setPendingRemoveState(),this.dispatchEvent(i.TWEEN_COMPLETE,"onComplete")},complete:function(o){return o===void 0&&(o=0),o?(this.setCompleteDelayState(),this.countdown=o):this.onCompleteHandler(),this},completeAfterLoop:function(o){return o===void 0&&(o=0),this.loopCounter>o&&(this.loopCounter=o),this},remove:function(){return this.parent&&this.parent.remove(this),this},stop:function(){return this.parent&&!this.isRemoved()&&!this.isPendingRemove()&&!this.isDestroyed()&&(this.dispatchEvent(i.TWEEN_STOP,"onStop"),this.setPendingRemoveState()),this},updateLoopCountdown:function(o){this.countdown-=o,this.countdown<=0&&(this.setActiveState(),this.dispatchEvent(i.TWEEN_LOOP,"onLoop"))},updateStartCountdown:function(o){return this.countdown-=o,this.countdown<=0&&(this.hasStarted=!0,this.setActiveState(),this.dispatchEvent(i.TWEEN_START,"onStart"),o=0),o},updateCompleteDelay:function(o){this.countdown-=o,this.countdown<=0&&this.onCompleteHandler()},setCallback:function(o,a,u){return u===void 0&&(u=[]),this.callbacks.hasOwnProperty(o)&&(this.callbacks[o]={func:a,params:u}),this},setPendingState:function(){this.state=s.PENDING},setActiveState:function(){this.state=s.ACTIVE,this.hasStarted=!1},setLoopDelayState:function(){this.state=s.LOOP_DELAY},setCompleteDelayState:function(){this.state=s.COMPLETE_DELAY},setStartDelayState:function(){this.state=s.START_DELAY,this.countdown=this.startDelay,this.hasStarted=!1},setPendingRemoveState:function(){this.state=s.PENDING_REMOVE},setRemovedState:function(){this.state=s.REMOVED},setFinishedState:function(){this.state=s.FINISHED},setDestroyedState:function(){this.state=s.DESTROYED},isPending:function(){return this.state===s.PENDING},isActive:function(){return this.state===s.ACTIVE},isLoopDelayed:function(){return this.state===s.LOOP_DELAY},isCompleteDelayed:function(){return this.state===s.COMPLETE_DELAY},isStartDelayed:function(){return this.state===s.START_DELAY},isPendingRemove:function(){return this.state===s.PENDING_REMOVE},isRemoved:function(){return this.state===s.REMOVED},isFinished:function(){return this.state===s.FINISHED},isDestroyed:function(){return this.state===s.DESTROYED},destroy:function(){this.data&&this.data.forEach(function(o){o.destroy()}),this.removeAllListeners(),this.callbacks=null,this.data=null,this.parent=null,this.setDestroyedState()}});r.TYPES=["onActive","onComplete","onLoop","onPause","onRepeat","onResume","onStart","onStop","onUpdate","onYoyo"],h.exports=r},95042:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(83419),l=t(842),i=t(86353),s=new e({initialize:function(o,a,u,f,v,c,g,p,T,C){this.tween=o,this.targetIndex=a,this.duration=f<=0?.01:f,this.totalDuration=0,this.delay=0,this.getDelay=u,this.yoyo=v,this.hold=c,this.repeat=g,this.repeatDelay=p,this.repeatCounter=0,this.flipX=T,this.flipY=C,this.progress=0,this.elapsed=0,this.state=0,this.isCountdown=!1},getTarget:function(){return this.tween.targets[this.targetIndex]},setTargetValue:function(r){r===void 0&&(r=this.current),this.tween.targets[this.targetIndex][this.key]=r},setCreatedState:function(){this.state=i.CREATED,this.isCountdown=!1},setDelayState:function(){this.state=i.DELAY,this.isCountdown=!0},setPendingRenderState:function(){this.state=i.PENDING_RENDER,this.isCountdown=!1},setPlayingForwardState:function(){this.state=i.PLAYING_FORWARD,this.isCountdown=!1},setPlayingBackwardState:function(){this.state=i.PLAYING_BACKWARD,this.isCountdown=!1},setHoldState:function(){this.state=i.HOLD_DELAY,this.isCountdown=!0},setRepeatState:function(){this.state=i.REPEAT_DELAY,this.isCountdown=!0},setCompleteState:function(){this.state=i.COMPLETE,this.isCountdown=!1},isCreated:function(){return this.state===i.CREATED},isDelayed:function(){return this.state===i.DELAY},isPendingRender:function(){return this.state===i.PENDING_RENDER},isPlayingForward:function(){return this.state===i.PLAYING_FORWARD},isPlayingBackward:function(){return this.state===i.PLAYING_BACKWARD},isHolding:function(){return this.state===i.HOLD_DELAY},isRepeating:function(){return this.state===i.REPEAT_DELAY},isComplete:function(){return this.state===i.COMPLETE},setStateFromEnd:function(r){this.yoyo?this.onRepeat(r,!0,!0):this.repeatCounter>0?this.onRepeat(r,!0,!1):this.setCompleteState()},setStateFromStart:function(r){this.repeatCounter>0?this.onRepeat(r,!1):this.setCompleteState()},reset:function(){var r=this.tween,o=r.totalTargets,a=this.targetIndex,u=r.targets[a],f=this.key;this.progress=0,this.elapsed=0,this.delay=this.getDelay(u,f,0,a,o,r),this.repeatCounter=this.repeat===-1?i.MAX:this.repeat,this.setPendingRenderState();var v=this.duration+this.hold;this.yoyo&&(v+=this.duration);var c=v+this.repeatDelay;this.totalDuration=this.delay+v,this.repeat===-1?(this.totalDuration+=c*i.MAX,r.isInfinite=!0):this.repeat>0&&(this.totalDuration+=c*this.repeat),this.totalDuration>r.duration&&(r.duration=this.totalDuration),this.delay0&&(this.elapsed=this.delay,this.setDelayState())},onRepeat:function(r,o,a){var u=this.tween,f=u.totalTargets,v=this.targetIndex,c=u.targets[v],g=this.key,p=g!=="texture";if(this.elapsed=r,this.progress=r/this.duration,this.flipX&&c.toggleFlipX(),this.flipY&&c.toggleFlipY(),p&&(o||a)&&(this.start=this.getStartValue(c,g,this.start,v,f,u)),a){this.setPlayingBackwardState(),this.dispatchEvent(l.TWEEN_YOYO,"onYoyo");return}this.repeatCounter--,p&&(this.end=this.getEndValue(c,g,this.start,v,f,u)),this.repeatDelay>0?(this.elapsed=this.repeatDelay-r,p&&(this.current=this.start,c[g]=this.current),this.setRepeatState()):(this.setPlayingForwardState(),this.dispatchEvent(l.TWEEN_REPEAT,"onRepeat"))},destroy:function(){this.tween=null,this.getDelay=null,this.setCompleteState()}});h.exports=s},69902:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={targets:null,delay:0,duration:1e3,ease:"Power0",easeParams:null,hold:0,repeat:0,repeatDelay:0,yoyo:!1,flipX:!1,flipY:!1,persist:!1,interpolation:null};h.exports=d},81076:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports=["callbackScope","completeDelay","delay","duration","ease","easeParams","flipX","flipY","hold","interpolation","loop","loopDelay","onActive","onActiveParams","onComplete","onCompleteParams","onLoop","onLoopParams","onPause","onPauseParams","onRepeat","onRepeatParams","onResume","onResumeParams","onStart","onStartParams","onStop","onStopParams","onUpdate","onUpdateParams","onYoyo","onYoyoParams","paused","persist","props","repeat","repeatDelay","targets","yoyo"]},8462:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(70402),l=t(83419),i=t(842),s=t(44603),r=t(39429),o=t(36383),a=t(86353),u=t(48177),f=t(42220),v=new l({Extends:e,initialize:function(g,p){e.call(this,g),this.targets=p,this.totalTargets=p.length,this.isSeeking=!1,this.isInfinite=!1,this.elapsed=0,this.totalElapsed=0,this.duration=0,this.progress=0,this.totalDuration=0,this.totalProgress=0,this.isNumberTween=!1},add:function(c,g,p,T,C,M,A,R,P,L,F,w,O,B,I,D){var N=new u(this,c,g,p,T,C,M,A,R,P,L,F,w,O,B,I,D);return this.totalData=this.data.push(N),N},addFrame:function(c,g,p,T,C,M,A,R,P,L){var F=new f(this,c,g,p,T,C,M,A,R,P,L);return this.totalData=this.data.push(F),F},getValue:function(c){c===void 0&&(c=0);var g=null;return this.data&&(g=this.data[c].current),g},hasTarget:function(c){return this.targets&&this.targets.indexOf(c)!==-1},updateTo:function(c,g,p){if(p===void 0&&(p=!1),c!=="texture")for(var T=0;T0)this.elapsed=0,this.progress=0,this.loopCounter--,this.initTweenData(!0),this.loopDelay>0?(this.countdown=this.loopDelay,this.setLoopDelayState()):(this.setActiveState(),this.dispatchEvent(i.TWEEN_LOOP,"onLoop"));else if(this.completeDelay>0)this.countdown=this.completeDelay,this.setCompleteDelayState();else return this.onCompleteHandler(),!0;return!1},onCompleteHandler:function(){this.progress=1,this.totalProgress=1,e.prototype.onCompleteHandler.call(this)},play:function(){return this.isDestroyed()?(console.warn("Cannot play destroyed Tween",this),this):((this.isPendingRemove()||this.isFinished())&&this.seek(),this.paused=!1,this.setActiveState(),this)},seek:function(c,g,p){if(c===void 0&&(c=0),g===void 0&&(g=16.6),p===void 0&&(p=!1),this.isDestroyed())return console.warn("Cannot seek destroyed Tween",this),this;p||(this.isSeeking=!0),this.reset(!0),this.initTweenData(!0),this.setActiveState(),this.dispatchEvent(i.TWEEN_ACTIVE,"onActive");var T=this.paused;if(this.paused=!1,c>0){for(var C=Math.floor(c/g),M=c-C*g,A=0;A0&&this.update(M)}return this.paused=T,this.isSeeking=!1,this},initTweenData:function(c){c===void 0&&(c=!1),this.duration=0,this.startDelay=o.MAX_SAFE_INTEGER;for(var g=this.data,p=0;p0?this.totalDuration=T+C+(T+A)*M:this.totalDuration=T+C},reset:function(c){return c===void 0&&(c=!1),this.elapsed=0,this.totalElapsed=0,this.progress=0,this.totalProgress=0,this.loopCounter=this.loop,this.loop===-1&&(this.isInfinite=!0,this.loopCounter=a.MAX),c||(this.initTweenData(),this.setActiveState(),this.dispatchEvent(i.TWEEN_ACTIVE,"onActive")),this},update:function(c){if(this.isPendingRemove()||this.isDestroyed())return this.persist?(this.setFinishedState(),!1):!0;if(this.paused||this.isFinished())return!1;if(c*=this.timeScale*this.parent.timeScale,this.isLoopDelayed())return this.updateLoopCountdown(c),!1;if(this.isCompleteDelayed())return this.updateCompleteDelay(c),!1;this.hasStarted||(this.startDelay-=c,this.startDelay<=0&&(this.hasStarted=!0,this.dispatchEvent(i.TWEEN_START,"onStart"),c=0));var g=!1;if(this.isActive())for(var p=this.data,T=0;T{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(72905),l=t(70402),i=t(83419),s=t(842),r=t(44603),o=t(39429),a=t(86353),u=new i({Extends:l,initialize:function(v){l.call(this,v),this.currentTween=null,this.currentIndex=0},init:function(){return this.loopCounter=this.loop===-1?a.MAX:this.loop,this.setCurrentTween(0),this.startDelay>0&&!this.isStartDelayed()?this.setStartDelayState():this.setActiveState(),this},add:function(f){var v=this.parent.create(f);Array.isArray(v)||(v=[v]);for(var c=this.data,g=0;g0)this.loopCounter--,this.resetTweens(),this.loopDelay>0?(this.countdown=this.loopDelay,this.setLoopDelayState()):(this.setActiveState(),this.dispatchEvent(s.TWEEN_LOOP,"onLoop"));else if(this.completeDelay>0)this.countdown=this.completeDelay,this.setCompleteDelayState();else return this.onCompleteHandler(),!0;return!1},play:function(){return this.isDestroyed()?(console.warn("Cannot play destroyed TweenChain",this),this):((this.isPendingRemove()||this.isPending())&&this.resetTweens(),this.paused=!1,this.startDelay>0&&!this.isStartDelayed()?this.setStartDelayState():this.setActiveState(),this)},resetTweens:function(){for(var f=this.data,v=this.totalData,c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(95042),l=t(45319),i=t(83419),s=t(842),r=new i({Extends:e,initialize:function(a,u,f,v,c,g,p,T,C,M,A,R,P,L,F,w,O){e.call(this,a,u,T,C,M,A,R,P,L,F),this.key=f,this.getActiveValue=g,this.getEndValue=v,this.getStartValue=c,this.ease=p,this.start=0,this.previous=0,this.current=0,this.end=0,this.interpolation=w,this.interpolationData=O},reset:function(o){e.prototype.reset.call(this);var a=this.tween.targets[this.targetIndex],u=this.key;o&&(a[u]=this.start),this.start=0,this.previous=0,this.current=0,this.end=0,this.getActiveValue&&(a[u]=this.getActiveValue(a,u,0))},update:function(o){var a=this.tween,u=a.totalTargets,f=this.targetIndex,v=a.targets[f],c=this.key;if(!v)return this.setCompleteState(),!1;if(this.isCountdown&&(this.elapsed-=o,this.elapsed<=0&&(this.elapsed=0,o=0,this.isDelayed()?this.setPendingRenderState():this.isRepeating()?(this.setPlayingForwardState(),this.dispatchEvent(s.TWEEN_REPEAT,"onRepeat")):this.isHolding()&&this.setStateFromEnd(0))),this.isPendingRender())return this.start=this.getStartValue(v,c,v[c],f,u,a),this.end=this.getEndValue(v,c,this.start,f,u,a),this.current=this.start,v[c]=this.start,this.setPlayingForwardState(),!0;var g=this.isPlayingForward(),p=this.isPlayingBackward();if(g||p){var T=this.elapsed,C=this.duration,M=0,A=!1;T+=o,T>=C?(M=T-C,T=C,A=!0):T<0&&(T=0);var R=l(T/C,0,1);this.elapsed=T,this.progress=R,this.previous=this.current,g||(R=1-R);var P=this.ease(R);this.interpolation?this.current=this.interpolation(this.interpolationData,P):this.current=this.start+(this.end-this.start)*P,v[c]=this.current,A&&(g?(a.isNumberTween&&(this.current=this.end,v[c]=this.current),this.hold>0?(this.elapsed=this.hold,this.setHoldState()):this.setStateFromEnd(M)):(a.isNumberTween&&(this.current=this.start,v[c]=this.current),this.setStateFromStart(M))),this.dispatchEvent(s.TWEEN_UPDATE,"onUpdate")}return!this.isComplete()},dispatchEvent:function(o,a){var u=this.tween;if(!u.isSeeking){var f=u.targets[this.targetIndex],v=this.key,c=this.current,g=this.previous;u.emit(o,u,v,f,c,g);var p=u.callbacks[a];p&&p.func.apply(u.callbackScope,[u,f,v,c,g].concat(p.params))}},destroy:function(){e.prototype.destroy.call(this),this.getActiveValue=null,this.getEndValue=null,this.getStartValue=null,this.ease=null}});h.exports=r},42220:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(95042),l=t(45319),i=t(83419),s=t(842),r=new i({Extends:e,initialize:function(a,u,f,v,c,g,p,T,C,M,A){e.call(this,a,u,c,g,!1,p,T,C,M,A),this.key="texture",this.startTexture=null,this.endTexture=f,this.startFrame=null,this.endFrame=v,this.yoyo=T!==0},reset:function(o){e.prototype.reset.call(this);var a=this.tween.targets[this.targetIndex];this.startTexture||(this.startTexture=a.texture.key,this.startFrame=a.frame.name),o&&a.setTexture(this.startTexture,this.startFrame)},update:function(o){var a=this.tween,u=this.targetIndex,f=a.targets[u];if(!f)return this.setCompleteState(),!1;if(this.isCountdown&&(this.elapsed-=o,this.elapsed<=0&&(this.elapsed=0,o=0,this.isDelayed()?this.setPendingRenderState():this.isRepeating()?(this.setPlayingForwardState(),this.dispatchEvent(s.TWEEN_REPEAT,"onRepeat")):this.isHolding()&&this.setStateFromEnd(0))),this.isPendingRender())return this.startTexture&&f.setTexture(this.startTexture,this.startFrame),this.setPlayingForwardState(),!0;var v=this.isPlayingForward(),c=this.isPlayingBackward();if(v||c){var g=this.elapsed,p=this.duration,T=0,C=!1;g+=o,g>=p?(T=g-p,g=p,C=!0):g<0&&(g=0);var M=l(g/p,0,1);this.elapsed=g,this.progress=M,C&&(v?(f.setTexture(this.endTexture,this.endFrame),this.hold>0?(this.elapsed=this.hold,this.setHoldState()):this.setStateFromEnd(T)):(f.setTexture(this.startTexture,this.startFrame),this.setStateFromStart(T))),this.dispatchEvent(s.TWEEN_UPDATE,"onUpdate")}return!this.isComplete()},dispatchEvent:function(o,a){var u=this.tween;if(!u.isSeeking){var f=u.targets[this.targetIndex],v=this.key;u.emit(o,u,v,f);var c=u.callbacks[a];c&&c.func.apply(u.callbackScope,[u,f,v].concat(c.params))}},destroy:function(){e.prototype.destroy.call(this),this.startTexture=null,this.endTexture=null,this.startFrame=null,this.endFrame=null}});h.exports=r},86353:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d={CREATED:0,DELAY:2,PENDING_RENDER:4,PLAYING_FORWARD:5,PLAYING_BACKWARD:6,HOLD_DELAY:7,REPEAT_DELAY:8,COMPLETE:9,PENDING:20,ACTIVE:21,LOOP_DELAY:22,COMPLETE_DELAY:23,START_DELAY:24,PENDING_REMOVE:25,REMOVED:26,FINISHED:27,DESTROYED:28,MAX:999999999999};h.exports=d},83419:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */function d(r){return!!r.get&&typeof r.get=="function"||!!r.set&&typeof r.set=="function"}function t(r,o,a){var u=a?r[o]:Object.getOwnPropertyDescriptor(r,o);return!a&&u.value&&typeof u.value=="object"&&(u=u.value),u&&d(u)?(typeof u.enumerable>"u"&&(u.enumerable=!0),typeof u.configurable>"u"&&(u.configurable=!0),u):!1}function e(r,o){var a=Object.getOwnPropertyDescriptor(r,o);return a?(a.value&&typeof a.value=="object"&&(a=a.value),a.configurable===!1):!1}function l(r,o,a,u){for(var f in o)if(o.hasOwnProperty(f)){var v=t(o,f,a);if(v!==!1){var c=u||r;if(e(c.prototype,f)){if(s.ignoreFinals)continue;throw new Error("cannot override final property '"+f+"', set Class.ignoreFinals = true to skip")}Object.defineProperty(r.prototype,f,v)}else r.prototype[f]=o[f]}}function i(r,o){if(o){Array.isArray(o)||(o=[o]);for(var a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(){};h.exports=d},20242:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(){return null};h.exports=d},71146:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i,s){if(s===void 0&&(s=t),l>0){var r=l-t.length;if(r<=0)return null}if(!Array.isArray(e))return t.indexOf(e)===-1?(t.push(e),i&&i.call(s,e),e):null;for(var o=e.length-1;o>=0;)t.indexOf(e[o])!==-1&&e.splice(o,1),o--;if(o=e.length,o===0)return null;l>0&&o>r&&(e.splice(r),o=r);for(var a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i,s,r){if(l===void 0&&(l=0),r===void 0&&(r=t),i>0){var o=i-t.length;if(o<=0)return null}if(!Array.isArray(e))return t.indexOf(e)===-1?(t.splice(l,0,e),s&&s.call(r,e),e):null;for(var a=e.length-1;a>=0;)t.indexOf(e[a])!==-1&&e.pop(),a--;if(a=e.length,a===0)return null;i>0&&a>o&&(e.splice(o),a=o);for(var u=a-1;u>=0;u--){var f=e[u];t.splice(l,0,f),s&&s.call(r,f)}return e};h.exports=d},66905:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){var l=t.indexOf(e);return l!==-1&&l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(82011),l=function(i,s,r,o,a){o===void 0&&(o=0),a===void 0&&(a=i.length);var u=0;if(e(i,o,a))for(var f=o;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){var i,s=[null];for(i=3;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(82011),l=function(i,s,r,o,a){if(o===void 0&&(o=0),a===void 0&&(a=i.length),e(i,o,a)){var u,f=[null];for(u=5;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){if(e.length){if(e.length===1)return e[0]}else return NaN;var i=1,s,r;if(l){if(te.length&&(i=e.length),l?(s=e[i-1][l],r=e[i][l],r-t<=t-s?e[i]:e[i-1]):(s=e[i-1],r=e[i],r-t<=t-s?r:s)};h.exports=d},43491:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){e===void 0&&(e=[]);for(var l=0;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(82011),l=function(i,s,r,o,a){o===void 0&&(o=0),a===void 0&&(a=i.length);var u=[];if(e(i,o,a))for(var f=o;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(82011),l=function(i,s,r,o,a){o===void 0&&(o=0),a===void 0&&(a=i.length);var u,f;if(o!==-1){if(e(i,o,a)){for(u=o;u=0;u--)if(f=i[u],!s||s&&r===void 0&&f.hasOwnProperty(s)||s&&r!==void 0&&f[s]===r)return f}return null};h.exports=l},26546:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){e===void 0&&(e=0),l===void 0&&(l=t.length);var i=e+Math.floor(Math.random()*l);return t[i]===void 0?null:t[i]};h.exports=d},85835:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){if(e===l)return t;var i=t.indexOf(e),s=t.indexOf(l);if(i<0||s<0)throw new Error("Supplied items must be elements of the same array");return i>s||(t.splice(i,1),s=t.indexOf(l),t.splice(s+1,0,e)),t};h.exports=d},83371:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){if(e===l)return t;var i=t.indexOf(e),s=t.indexOf(l);if(i<0||s<0)throw new Error("Supplied items must be elements of the same array");return i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){var l=t.indexOf(e);if(l>0){var i=t[l-1],s=t.indexOf(i);t[l]=i,t[s]=e}return t};h.exports=d},69693:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){var i=t.indexOf(e);if(i===-1||l<0||l>=t.length)throw new Error("Supplied index out of bounds");return i!==l&&(t.splice(i,1),t.splice(l,0,e)),e};h.exports=d},40853:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){var l=t.indexOf(e);if(l!==-1&&l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){var s=[],r,o=!1;if((l||i)&&(o=!0,l||(l=""),i||(i="")),e=e;r--)o?s.push(l+r.toString()+i):s.push(r);else for(r=t;r<=e;r++)o?s.push(l+r.toString()+i):s.push(r);return s};h.exports=d},593:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(2284),l=function(i,s,r){i===void 0&&(i=0),s===void 0&&(s=null),r===void 0&&(r=1),s===null&&(s=i,i=0);for(var o=[],a=Math.max(e((s-i)/(r||1)),0),u=0;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */function d(l,i,s){var r=l[i];l[i]=l[s],l[s]=r}function t(l,i){return li?1:0}var e=function(l,i,s,r,o){for(s===void 0&&(s=0),r===void 0&&(r=l.length-1),o===void 0&&(o=t);r>s;){if(r-s>600){var a=r-s+1,u=i-s+1,f=Math.log(a),v=.5*Math.exp(2*f/3),c=.5*Math.sqrt(f*v*(a-v)/a)*(u-a/2<0?-1:1),g=Math.max(s,Math.floor(i-u*v/a+c)),p=Math.min(r,Math.floor(i+(a-u)*v/a+c));e(l,i,g,p,o)}var T=l[i],C=s,M=r;for(d(l,s,i),o(l[r],T)>0&&d(l,s,r);C0;)M--}o(l[s],T)===0?d(l,s,M):(M++,d(l,M,r)),M<=i&&(s=M+1),i<=M&&(r=M-1)}};h.exports=e},88492:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(35154),l=t(33680),i=function(r,o,a){for(var u=[],f=0;f{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(19133),l=function(i,s,r,o){o===void 0&&(o=i);var a;if(!Array.isArray(s))return a=i.indexOf(s),a!==-1?(e(i,a),r&&r.call(o,s),s):null;for(var u=s.length-1,f=[];u>=0;){var v=s[u];a=i.indexOf(v),a!==-1&&(e(i,a),f.push(v),r&&r.call(o,v)),u--}return f};h.exports=l},60248:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(19133),l=function(i,s,r,o){if(o===void 0&&(o=i),s<0||s>i.length-1)throw new Error("Index out of bounds");var a=e(i,s);return r&&r.call(o,a),a};h.exports=l},81409:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(82011),l=function(i,s,r,o,a){if(s===void 0&&(s=0),r===void 0&&(r=i.length),a===void 0&&(a=i),e(i,s,r)){var u=r-s,f=i.splice(s,u);if(o)for(var v=0;v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(19133),l=function(i,s,r){s===void 0&&(s=0),r===void 0&&(r=i.length);var o=s+Math.floor(Math.random()*r);return e(i,o)};h.exports=l},42169:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){var i=t.indexOf(e),s=t.indexOf(l);return i!==-1&&s===-1?(t[i]=l,!0):!1};h.exports=d},86003:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){e===void 0&&(e=1);for(var l=null,i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){e===void 0&&(e=1);for(var l=null,i=0;i{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){var s=t.length;if(e<0||e>=s||e>=l||l>s){if(i)throw new Error("Range Error: Values outside acceptable range");return!1}else return!0};h.exports=d},89545:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){var l=t.indexOf(e);return l!==-1&&l>0&&(t.splice(l,1),t.unshift(e)),e};h.exports=d},17810:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(82011),l=function(i,s,r,o,a){if(o===void 0&&(o=0),a===void 0&&(a=i.length),e(i,o,a))for(var u=o;u{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){for(var e=t.length-1;e>0;e--){var l=Math.floor(Math.random()*(e+1)),i=t[e];t[e]=t[l],t[l]=i}return t};h.exports=d},90126:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){var e=/\D/g;return t.sort(function(l,i){return parseInt(l.replace(e,""),10)-parseInt(i.replace(e,""),10)}),t};h.exports=d},19133:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){if(!(e>=t.length)){for(var l=t.length-1,i=t[e],s=e;s{/** + * @author Richard Davey + * @author Angry Bytes (and contributors) + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(82264);function l(o,a){return String(o).localeCompare(a)}function i(o,a){var u=o.length;if(u<=1)return o;for(var f=new Array(u),v=1;vv&&(T=v),C>v&&(C=v),M=p,A=T;;)if(M{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){if(e===l)return t;var i=t.indexOf(e),s=t.indexOf(l);if(i<0||s<0)throw new Error("Supplied items must be elements of the same array");return t[i]=l,t[s]=e,t};h.exports=d},37105:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Matrix:t(54915),Add:t(71146),AddAt:t(51067),BringToTop:t(66905),CountAllMatching:t(21612),Each:t(95428),EachInRange:t(36914),FindClosestInSorted:t(81957),Flatten:t(43491),GetAll:t(46710),GetFirst:t(58731),GetRandom:t(26546),MoveDown:t(70864),MoveTo:t(69693),MoveUp:t(40853),MoveAbove:t(85835),MoveBelow:t(83371),NumberArray:t(20283),NumberArrayStep:t(593),QuickSelect:t(43886),Range:t(88492),Remove:t(72905),RemoveAt:t(60248),RemoveBetween:t(81409),RemoveRandomElement:t(31856),Replace:t(42169),RotateLeft:t(86003),RotateRight:t(49498),SafeRange:t(82011),SendToBack:t(89545),SetAll:t(17810),Shuffle:t(33680),SortByDigits:t(90126),SpliceOne:t(19133),StableSort:t(19186),Swap:t(25630)}},86922:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){if(!Array.isArray(t)||!Array.isArray(t[0]))return!1;for(var e=t[0].length,l=1;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(41836),l=t(86922),i=function(s){var r="";if(!l(s))return r;for(var o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.reverse()};h.exports=d},21224:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){for(var e=0;e{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(37829),l=function(i){return e(i,180)};h.exports=l},44657:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(37829),l=function(i,s){s===void 0&&(s=1);for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(86922),l=t(2429),i=function(s,r){if(r===void 0&&(r=90),!e(s))return null;if(typeof r!="string"&&(r=(r%360+360)%360),r===90||r===-270||r==="rotateLeft")s=l(s),s.reverse();else if(r===-90||r===270||r==="rotateRight")s.reverse(),s=l(s);else if(Math.abs(r)===180||r==="rotate180"){for(var o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(37829),l=function(i,s){s===void 0&&(s=1);for(var r=0;r{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(86003),l=t(49498),i=function(s,r,o){if(r===void 0&&(r=0),o===void 0&&(o=0),o!==0&&(o<0?e(s,Math.abs(o)):l(s,o)),r!==0)for(var a=0;a{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){for(var e=t.length,l=t[0].length,i=new Array(l),s=0;s-1;r--)i[s][r]=t[r][s]}return i};h.exports=d},54915:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={CheckMatrix:t(86922),MatrixToString:t(63362),ReverseColumns:t(92598),ReverseRows:t(21224),Rotate180:t(98717),RotateLeft:t(44657),RotateMatrix:t(37829),RotateRight:t(92632),Translate:t(69512),TransposeMatrix:t(2429)}},71334:h=>{/** + * @author Niklas von Hertzen (https://github.com/niklasvh/base64-arraybuffer) + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=function(e,l){for(var i=new Uint8Array(e),s=i.length,r=l?"data:"+l+";base64,":"",o=0;o>2],r+=d[(i[o]&3)<<4|i[o+1]>>4],r+=d[(i[o+1]&15)<<2|i[o+2]>>6],r+=d[i[o+2]&63];return s%3===2?r=r.substring(0,r.length-1)+"=":s%3===1&&(r=r.substring(0,r.length-2)+"=="),r};h.exports=t},53134:h=>{/** + * @author Niklas von Hertzen (https://github.com/niklasvh/base64-arraybuffer) + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */for(var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=new Uint8Array(256),e=0;e>4,g[o++]=(u&15)<<4|f>>2,g[o++]=(f&3)<<6|v&63;return c};h.exports=l},65839:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={ArrayBufferToBase64:t(71334),Base64ToArrayBuffer:t(53134)}},91799:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Array:t(37105),Base64:t(65839),Objects:t(1183),String:t(31749),NOOP:t(29747),NULL:t(20242)}},41786:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){var e={};for(var l in t)Array.isArray(t[l])?e[l]=t[l].slice(0):e[l]=t[l];return e};h.exports=d},62644:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){var e,l,i;if(typeof t!="object"||t===null)return t;e=Array.isArray(t)?[]:{};for(i in t)l=t[i],e[i]=d(l);return e};h.exports=d},79291:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(41212),l=function(){var i,s,r,o,a,u,f=arguments[0]||{},v=1,c=arguments.length,g=!1;for(typeof f=="boolean"&&(g=f,f=arguments[1]||{},v=2),c===v&&(f=this,--v);v{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(75508),l=t(35154),i=function(s,r,o){var a=l(s,r,null);if(a===null)return o;if(Array.isArray(a))return e.RND.pick(a);if(typeof a=="object"){if(a.hasOwnProperty("randInt"))return e.RND.integerInRange(a.randInt[0],a.randInt[1]);if(a.hasOwnProperty("randFloat"))return e.RND.realInRange(a.randFloat[0],a.randFloat[1])}else if(typeof a=="function")return a(r);return a};h.exports=i},95540:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){var i=typeof t;return!t||i==="number"||i==="string"?l:t.hasOwnProperty(e)&&t[e]!==void 0?t[e]:l};h.exports=d},82840:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(35154),l=t(45319),i=function(s,r,o,a,u){u===void 0&&(u=o);var f=e(s,r,u);return l(f,o,a)};h.exports=i},35154:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){if(!t&&!i||typeof t=="number")return l;if(t&&t.hasOwnProperty(e))return t[e];if(i&&i.hasOwnProperty(e))return i[e];if(e.indexOf(".")!==-1){for(var s=e.split("."),r=t,o=i,a=l,u=l,f=!0,v=!0,c=0;c{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){for(var l=0;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){for(var l=0;l{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.hasOwnProperty(e)};h.exports=d},41212:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){if(!t||typeof t!="object"||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch{return!1}return!0};h.exports=d},46975:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(41786),l=function(i,s){var r=e(i);for(var o in s)r.hasOwnProperty(o)||(r[o]=s[o]);return r};h.exports=l},269:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(41786),l=function(i,s){var r=e(i);for(var o in s)r.hasOwnProperty(o)&&(r[o]=s[o]);return r};h.exports=l},18254:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var e=t(97022),l=function(i,s){for(var r={},o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l){if(!t||typeof t=="number")return!1;if(t.hasOwnProperty(e))return t[e]=l,!0;if(e.indexOf(".")!==-1){for(var i=e.split("."),s=t,r=t,o=0;o{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Clone:t(41786),DeepCopy:t(62644),Extend:t(79291),GetAdvancedValue:t(23568),GetFastValue:t(95540),GetMinMaxValue:t(82840),GetValue:t(35154),HasAll:t(69036),HasAny:t(1985),HasValue:t(97022),IsPlainObject:t(41212),Merge:t(46975),MergeRight:t(269),Pick:t(18254),SetValue:t(61622)}},27902:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return t.replace(/%([0-9]+)/g,function(l,i){return e[Number(i)-1]})};h.exports=d},41836:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e,l,i){e===void 0&&(e=0),l===void 0&&(l=" "),i===void 0&&(i=3),t=t.toString();var s=0;if(e+1>=t.length)switch(i){case 1:t=new Array(e+1-t.length).join(l)+t;break;case 3:var r=Math.ceil((s=e-t.length)/2),o=s-r;t=new Array(o+1).join(l)+t+new Array(r+1).join(l);break;default:t=t+new Array(e+1-t.length).join(l);break}return t};h.exports=d},33628:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t,e){return e===0?t.slice(1):t.slice(0,e)+t.slice(e+1)};h.exports=d},27671:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t.split("").reverse().join("")};h.exports=d},45650:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var e=Math.random()*16|0,l=t==="x"?e:e&3|8;return l.toString(16)})};h.exports=d},35355:h=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */var d=function(t){return t&&t[0].toUpperCase()+t.slice(1)};h.exports=d},31749:(h,d,t)=>{/** + * @author Richard Davey + * @copyright 2013-2026 Phaser Studio Inc. + * @license {@link https://opensource.org/licenses/MIT|MIT License} + */h.exports={Format:t(27902),Pad:t(41836),RemoveAt:t(33628),Reverse:t(27671),UppercaseFirst:t(35355),UUID:t(45650)}}},m={};function S(h){var d=m[h];if(d!==void 0)return d.exports;var t=m[h]={exports:{}};return n[h](t,t.exports,S),t.exports}S.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}();var x=S(85454);return x})())})(fs);var Re=fs.exports;if(typeof window<"u"&&window.Phaser){let E=window.require;window.require=y=>{if(E)return E(y);if(y==="Phaser")return window.Phaser}}var ds=class{constructor(){$(this,"entries",{});$(this,"size",0)}add(E){let y=this.entries[E];return this.entries[E]=!0,y?!1:(this.size++,!0)}addAll(E){let y=this.size;for(var n=0,m=E.length;n1&&(this.r=1),this.g<0?this.g=0:this.g>1&&(this.g=1),this.b<0?this.b=0:this.b>1&&(this.b=1),this.a<0?this.a=0:this.a>1&&(this.a=1),this}static rgba8888ToColor(y,n){y.r=((n&4278190080)>>>24)/255,y.g=((n&16711680)>>>16)/255,y.b=((n&65280)>>>8)/255,y.a=(n&255)/255}static rgb888ToColor(y,n){y.r=((n&16711680)>>>16)/255,y.g=((n&65280)>>>8)/255,y.b=(n&255)/255}toRgb888(){const y=n=>("0"+(n*255).toString(16)).slice(-2);return+("0x"+y(this.r)+y(this.g)+y(this.b))}static fromString(y,n=new oe){return n.setFromString(y)}},$(oe,"WHITE",new oe(1,1,1,1)),$(oe,"RED",new oe(1,0,0,1)),$(oe,"GREEN",new oe(0,1,0,1)),$(oe,"BLUE",new oe(0,0,1,1)),$(oe,"MAGENTA",new oe(1,0,1,1)),oe),kt,ft=(kt=class{static clamp(y,n,m){return ym?m:y}static cosDeg(y){return Math.cos(y*kt.degRad)}static sinDeg(y){return Math.sin(y*kt.degRad)}static atan2Deg(y,n){return Math.atan2(y,n)*kt.degRad}static signum(y){return y>0?1:y<0?-1:0}static toInt(y){return y>0?Math.floor(y):Math.ceil(y)}static cbrt(y){let n=Math.pow(Math.abs(y),.3333333333333333);return y<0?-n:n}static randomTriangular(y,n){return kt.randomTriangularWith(y,n,(y+n)*.5)}static randomTriangularWith(y,n,m){let S=Math.random(),x=n-y;return S<=(m-y)/x?y+Math.sqrt(S*x*(m-y)):n-Math.sqrt((1-S)*x*(n-m))}static isPowerOfTwo(y){return y&&(y&y-1)===0}},$(kt,"PI",3.1415927),$(kt,"PI2",kt.PI*2),$(kt,"invPI2",1/kt.PI2),$(kt,"radiansToDegrees",180/kt.PI),$(kt,"radDeg",kt.radiansToDegrees),$(kt,"degreesToRadians",kt.PI/180),$(kt,"degRad",kt.degreesToRadians),kt),ye,ut=(ye=class{static arrayCopy(y,n,m,S,x){for(let h=n,d=S;h=n?y:ye.setArraySize(y,n,m)}static newArray(y,n){let m=new Array(y);for(let S=0;S0?this.items.pop():this.instantiator()}free(E){E.reset&&E.reset(),this.items.push(E)}freeAll(E){for(let y=0;y>1)*d;let t=n.bone.skeleton,e=n.deform,l=this.vertices,i=this.bones;if(!i){e.length>0&&(l=e);let a=n.bone,u=a.worldX,f=a.worldY,v=a.a,c=a.b,g=a.c,p=a.d;for(let T=m,C=h;C=this.regions.length&&(m=this.regions.length-1);let S=this.regions[m];n.region!=S&&(n.region=S,n.updateRegion())}getPath(y,n){let m=y,S=(this.start+n).toString();for(let x=this.digits-S.length;x>0;x--)m+="0";return m+=S,m}static nextID(){return Be._nextID++}},$(Be,"_nextID",0),Be),ps=(E=>(E[E.hold=0]="hold",E[E.once=1]="once",E[E.loop=2]="loop",E[E.pingpong=3]="pingpong",E[E.onceReverse=4]="onceReverse",E[E.loopReverse=5]="loopReverse",E[E.pingpongReverse=6]="pingpongReverse",E))(ps||{}),ms=[0,1,2,3,4,5,6],Di=class{constructor(E,y,n){$(this,"name");$(this,"timelines",[]);$(this,"timelineIds",new ds);$(this,"duration");if(!E)throw new Error("name cannot be null.");this.name=E,this.setTimelines(y),this.duration=n}setTimelines(E){if(!E)throw new Error("timelines cannot be null.");this.timelines=E,this.timelineIds.clear();for(var y=0;y0&&(y%=this.duration));let t=this.timelines;for(let e=0,l=t.length;ey)return m-1;return n-1}static search(E,y,n){let m=E.length;for(let S=n;Sy)return S-n;return m-n}},Pe=class extends Jt{constructor(y,n,m){super(y,m);$(this,"curves");this.curves=ut.newFloatArray(y+n*18),this.curves[y-1]=1}setLinear(y){this.curves[y]=0}setStepped(y){this.curves[y]=1}shrink(y){let n=this.getFrameCount()+y*18;if(this.curves.length>n){let m=ut.newFloatArray(n);ut.arrayCopy(this.curves,0,m,0,n),this.curves=m}}setBezier(y,n,m,S,x,h,d,t,e,l,i){let s=this.curves,r=this.getFrameCount()+y*18;m==0&&(s[n]=2+r);let o=(S-h*2+t)*.03,a=(x-d*2+e)*.03,u=((h-t)*3-S+l)*.006,f=((d-e)*3-x+i)*.006,v=o*2+u,c=a*2+f,g=(h-S)*.3+o+u*.16666667,p=(d-x)*.3+a+f*.16666667,T=S+g,C=x+p;for(let M=r+18;ry){let e=this.frames[n],l=this.frames[n+m];return l+(y-e)/(x[S]-e)*(x[S+1]-l)}let h=S+18;for(S+=2;S=y){let e=x[S-2],l=x[S-1];return l+(y-e)/(x[S]-e)*(x[S+1]-l)}n+=this.getFrameEntries();let d=x[h-2],t=x[h-1];return t+(y-d)/(this.frames[n]-d)*(this.frames[n+m]-t)}},Te=class extends Pe{constructor(E,y,n){super(E,y,[n])}getFrameEntries(){return 2}setFrame(E,y,n){E<<=1,this.frames[E]=y,this.frames[E+1]=n}getCurveValue(E){let y=this.frames,n=y.length-2;for(let S=2;S<=n;S+=2)if(y[S]>E){n=S-2;break}let m=this.curves[n>>1];switch(m){case 0:let S=y[n],x=y[n+1];return x+(E-S)/(y[n+2]-S)*(y[n+2+1]-x);case 1:return y[n+1]}return this.getBezierValue(E,n,1,m-2)}getRelativeValue(E,y,n,m,S){if(E>2];switch(a){case 0:let u=e[o];i=e[o+1],s=e[o+2],r=e[o+3];let f=(m-u)/(e[o+4]-u);i+=(e[o+4+1]-i)*f,s+=(e[o+4+2]-s)*f,r+=(e[o+4+3]-r)*f;break;case 1:i=e[o+1],s=e[o+2],r=e[o+3];break;default:i=this.getBezierValue(m,o,1,a-2),s=this.getBezierValue(m,o,2,a+18-2),r=this.getBezierValue(m,o,3,a+18*2-2)}if(x==1)l.r=i,l.g=s,l.b=r;else{if(h==0){let u=t.data.color;l.r=u.r,l.g=u.g,l.b=u.b}l.r+=(i-l.r)*x,l.g+=(s-l.g)*x,l.b+=(r-l.b)*x}}},Fs=class extends Te{constructor(y,n,m){super(y,n,Ut.alpha+"|"+m);$(this,"slotIndex",0);this.slotIndex=m}apply(y,n,m,S,x,h,d){let t=y.slots[this.slotIndex];if(!t.bone.active)return;let e=t.color;if(m>3];switch(g){case 0:let p=e[c];s=e[c+1],r=e[c+2],o=e[c+3],a=e[c+4],u=e[c+5],f=e[c+6],v=e[c+7];let T=(m-p)/(e[c+8]-p);s+=(e[c+8+1]-s)*T,r+=(e[c+8+2]-r)*T,o+=(e[c+8+3]-o)*T,a+=(e[c+8+4]-a)*T,u+=(e[c+8+5]-u)*T,f+=(e[c+8+6]-f)*T,v+=(e[c+8+7]-v)*T;break;case 1:s=e[c+1],r=e[c+2],o=e[c+3],a=e[c+4],u=e[c+5],f=e[c+6],v=e[c+7];break;default:s=this.getBezierValue(m,c,1,g-2),r=this.getBezierValue(m,c,2,g+18-2),o=this.getBezierValue(m,c,3,g+18*2-2),a=this.getBezierValue(m,c,4,g+18*3-2),u=this.getBezierValue(m,c,5,g+18*4-2),f=this.getBezierValue(m,c,6,g+18*5-2),v=this.getBezierValue(m,c,7,g+18*6-2)}if(x==1)l.set(s,r,o,a),i.r=u,i.g=f,i.b=v;else{if(h==0){l.setFromColor(t.data.color);let p=t.data.darkColor;i.r=p.r,i.g=p.g,i.b=p.b}l.add((s-l.r)*x,(r-l.g)*x,(o-l.b)*x,(a-l.a)*x),i.r+=(u-i.r)*x,i.g+=(f-i.g)*x,i.b+=(v-i.b)*x}}},ws=class extends Pe{constructor(y,n,m){super(y,n,[Ut.rgb+"|"+m,Ut.rgb2+"|"+m]);$(this,"slotIndex",0);this.slotIndex=m}getFrameEntries(){return 7}setFrame(y,n,m,S,x,h,d,t){y*=7,this.frames[y]=n,this.frames[y+1]=m,this.frames[y+2]=S,this.frames[y+3]=x,this.frames[y+4]=h,this.frames[y+5]=d,this.frames[y+6]=t}apply(y,n,m,S,x,h,d){let t=y.slots[this.slotIndex];if(!t.bone.active)return;let e=this.frames,l=t.color,i=t.darkColor;if(my){let t=this.frames[n];return m[S+1]*(y-t)/(m[S]-t)}let x=S+18;for(S+=2;S=y){let t=m[S-2],e=m[S-1];return e+(y-t)/(m[S]-t)*(m[S+1]-e)}let h=m[x-2],d=m[x-1];return d+(1-d)*(y-h)/(this.frames[n+this.getFrameEntries()]-h)}apply(y,n,m,S,x,h,d){let t=y.slots[this.slotIndex];if(!t.bone.active)return;let e=t.getAttachment();if(!e||!(e instanceof Ne)||e.timelineAttachment!=this.attachment)return;let l=t.deform;l.length==0&&(h=0);let i=this.vertices,s=i[0].length,r=this.frames;if(m=r[r.length-1]){let c=i[r.length-1];if(x==1)if(h==3){let g=e;if(g.bones)for(let p=0;pS)this.apply(n,m,Number.MAX_VALUE,x,h,d,t),m=-1;else if(m>=e[l-1])return;if(S0&&e[i-1]==s;)i--}for(;i=e[i];i++)x.push(this.events[i])}},$(He,"propertyIds",[""+Ut.event]),He),Ke,ti=(Ke=class extends Jt{constructor(n){super(n,Ke.propertyIds);$(this,"drawOrders");this.drawOrders=new Array(n)}getFrameCount(){return this.frames.length}setFrame(n,m,S){this.frames[n]=m,this.drawOrders[n]=S}apply(n,m,S,x,h,d,t){if(t==1){d==0&&ut.arrayCopy(n.slots,0,n.drawOrder,0,n.slots.length);return}if(S>2];switch(o){case 0:let a=e[r];l=e[r+1],i=e[r+2],s=e[r+3];let u=(m-a)/(e[r+4]-a);l+=(e[r+4+1]-l)*u,i+=(e[r+4+2]-i)*u,s+=(e[r+4+3]-s)*u;break;case 1:l=e[r+1],i=e[r+2],s=e[r+3];break;default:l=this.getBezierValue(m,r,1,o-2),i=this.getBezierValue(m,r,2,o+18-2),s=this.getBezierValue(m,r,3,o+18*2-2)}if(h==0){let a=t.data;t.mixRotate=a.mixRotate+(l-a.mixRotate)*x,t.mixX=a.mixX+(i-a.mixX)*x,t.mixY=a.mixY+(s-a.mixY)*x}else t.mixRotate+=(l-t.mixRotate)*x,t.mixX+=(i-t.mixX)*x,t.mixY+=(s-t.mixY)*x}},Qe=class extends Te{constructor(y,n,m,S){super(y,n,S+"|"+m);$(this,"constraintIndex",0);this.constraintIndex=m}apply(y,n,m,S,x,h,d){let t;if(this.constraintIndex==-1){const e=m>=this.frames[0]?this.getCurveValue(m):0;for(const l of y.physicsConstraints)l.active&&this.global(l.data)&&this.set(l,this.getAbsoluteValue2(m,x,h,this.get(l),this.setup(l),e))}else t=y.physicsConstraints[this.constraintIndex],t.active&&this.set(t,this.getAbsoluteValue(m,x,h,this.get(t),this.setup(t)))}},Us=class extends Qe{constructor(E,y,n){super(E,y,n,Ut.physicsConstraintInertia)}setup(E){return E.data.inertia}get(E){return E.inertia}set(E,y){E.inertia=y}global(E){return E.inertiaGlobal}},zs=class extends Qe{constructor(E,y,n){super(E,y,n,Ut.physicsConstraintStrength)}setup(E){return E.data.strength}get(E){return E.strength}set(E,y){E.strength=y}global(E){return E.strengthGlobal}},Ys=class extends Qe{constructor(E,y,n){super(E,y,n,Ut.physicsConstraintDamping)}setup(E){return E.data.damping}get(E){return E.damping}set(E,y){E.damping=y}global(E){return E.dampingGlobal}},Vs=class extends Qe{constructor(E,y,n){super(E,y,n,Ut.physicsConstraintMass)}setup(E){return 1/E.data.massInverse}get(E){return 1/E.massInverse}set(E,y){E.massInverse=1/y}global(E){return E.massGlobal}},Xs=class extends Qe{constructor(E,y,n){super(E,y,n,Ut.physicsConstraintWind)}setup(E){return E.data.wind}get(E){return E.wind}set(E,y){E.wind=y}global(E){return E.windGlobal}},Ws=class extends Qe{constructor(E,y,n){super(E,y,n,Ut.physicsConstraintGravity)}setup(E){return E.data.gravity}get(E){return E.gravity}set(E,y){E.gravity=y}global(E){return E.gravityGlobal}},Hs=class extends Qe{constructor(E,y,n){super(E,y,n,Ut.physicsConstraintMix)}setup(E){return E.data.mix}get(E){return E.mix}set(E,y){E.mix=y}global(E){return E.mixGlobal}},Ze,Ks=(Ze=class extends Jt{constructor(n,m){super(n,Ze.propertyIds);$(this,"constraintIndex");this.constraintIndex=m}getFrameCount(){return this.frames.length}setFrame(n,m){this.frames[n]=m}apply(n,m,S,x,h,d,t){let e;if(this.constraintIndex!=-1&&(e=n.physicsConstraints[this.constraintIndex],!e.active))return;const l=this.frames;if(m>S)this.apply(n,m,Number.MAX_VALUE,[],h,d,t),m=-1;else if(m>=l[l.length-1])return;if(!(S=l[Jt.search1(l,m)+1]))if(e!=null)e.reset();else for(const i of n.physicsConstraints)i.active&&i.reset()}},$(Ze,"propertyIds",[Ut.physicsConstraintReset.toString()]),Ze),ue,Zs=(ue=class extends Jt{constructor(n,m,S){super(n,[Ut.sequence+"|"+m+"|"+S.sequence.id]);$(this,"slotIndex");$(this,"attachment");this.slotIndex=m,this.attachment=S}getFrameEntries(){return ue.ENTRIES}getSlotIndex(){return this.slotIndex}getAttachment(){return this.attachment}setFrame(n,m,S,x,h){let d=this.frames;n*=ue.ENTRIES,d[n]=m,d[n+ue.MODE]=S|x<<4,d[n+ue.DELAY]=h}apply(n,m,S,x,h,d,t){let e=n.slots[this.slotIndex];if(!e.bone.active)return;let l=e.attachment,i=this.attachment;if(l!=i&&(!(l instanceof Ne)||l.timelineAttachment!=i))return;if(t==1){d==0&&(e.sequenceIndex=-1);return}let s=this.frames;if(S>4,v=this.attachment.sequence.regions.length,c=ms[a&15];if(c!=0)switch(f+=(S-o)/u+1e-5|0,c){case 1:f=Math.min(v-1,f);break;case 2:f%=v;break;case 3:{let g=(v<<1)-2;f=g==0?0:f%g,f>=v&&(f=g-f);break}case 4:f=Math.max(v-1-f,0);break;case 5:f=v-1-f%v;break;case 6:{let g=(v<<1)-2;f=g==0?0:(f+v-1)%g,f>=v&&(f=g-f)}}e.sequenceIndex=f}},$(ue,"ENTRIES",3),$(ue,"MODE",1),$(ue,"DELAY",2),ue),Ie,Or=(Ie=class{constructor(y){$(this,"data");$(this,"tracks",new Array);$(this,"timeScale",1);$(this,"unkeyedState",0);$(this,"events",new Array);$(this,"listeners",new Array);$(this,"queue",new Dr(this));$(this,"propertyIDs",new ds);$(this,"animationsChanged",!1);$(this,"trackEntryPool",new oi(()=>new wr));this.data=y}static emptyAnimation(){return Ie._emptyAnimation}update(y){y*=this.timeScale;let n=this.tracks;for(let m=0,S=n.length;m0){if(x.delay-=h,x.delay>0)continue;h=-x.delay,x.delay=0}let d=x.next;if(d){let t=x.trackLast-d.delay;if(t>=0){for(d.delay=0,d.trackTime+=x.timeScale==0?0:(t/x.timeScale+y)*d.timeScale,x.trackTime+=h,this.setCurrent(m,d,!0);d.mixingFrom;)d.mixTime+=y,d=d.mixingFrom;continue}}else if(x.trackLast>=x.trackEnd&&!x.mixingFrom){n[m]=null,this.queue.end(x),this.clearNext(x);continue}if(x.mixingFrom&&this.updateMixingFrom(x,y)){let t=x.mixingFrom;for(x.mixingFrom=null,t&&(t.mixingTo=null);t;)this.queue.end(t),t=t.mixingFrom}x.trackTime+=h}this.queue.drain()}updateMixingFrom(y,n){let m=y.mixingFrom;if(!m)return!0;let S=this.updateMixingFrom(m,n);return m.animationLast=m.nextAnimationLast,m.trackLast=m.nextTrackLast,y.nextTrackLast!=-1&&y.mixTime>=y.mixDuration?((m.totalAlpha==0||y.mixDuration==0)&&(y.mixingFrom=m.mixingFrom,m.mixingFrom!=null&&(m.mixingFrom.mixingTo=y),y.interruptAlpha=m.interruptAlpha,this.queue.end(m)),S):(m.trackTime+=n*m.timeScale,y.mixTime+=n,!1)}apply(y){if(!y)throw new Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();let n=this.events,m=this.tracks,S=!1;for(let s=0,r=m.length;s0)continue;S=!0;let a=s==0?1:o.mixBlend,u=o.alpha;o.mixingFrom?u*=this.applyMixingFrom(o,y,a):o.trackTime>=o.trackEnd&&!o.next&&(u=0);let f=u>=o.alphaAttachmentThreshold,v=o.animationLast,c=o.getAnimationTime(),g=c,p=n;o.reverse&&(g=o.animation.duration-g,p=null);let T=o.animation.timelines,C=T.length;if(s==0&&u==1||a==3){s==0&&(f=!0);for(let M=0;M1&&(x=1),m!=1&&(m=S.mixBlend));let h=x=S.alphaAttachmentThreshold):(d&&p instanceof ti&&C==0&&(T=0),p.apply(n,s,o,a,M,C,T))}}return y.mixDuration>0&&this.queueEvents(S,r),this.events.length=0,S.nextAnimationLast=r,S.nextTrackLast=S.trackTime,x}applyAttachmentTimeline(y,n,m,S,x){var h=n.slots[y.slotIndex];h.bone.active&&(m=0,c=a>=0;Math.abs(u)<=90&&ft.signum(u)!=ft.signum(o)&&(Math.abs(a-f)>180?(r+=360*ft.signum(a),c=v):f!=0?r-=360*ft.signum(a):c=v),c!=v&&(r+=360*ft.signum(a)),h[d]=r}h[d+1]=o,e.rotation=i+r*S}queueEvents(y,n){let m=y.animationStart,S=y.animationEnd,x=S-m,h=y.trackLast%x,d=this.events,t=0,e=d.length;for(;tS||this.queue.event(y,i)}let l=!1;if(y.loop)if(x==0)l=!0;else{const i=Math.floor(y.trackTime/x);l=i>0&&i>Math.floor(y.trackLast/x)}else l=n>=S&&y.animationLast=this.tracks.length)return;let n=this.tracks[y];if(!n)return;this.queue.end(n),this.clearNext(n);let m=n;for(;;){let S=m.mixingFrom;if(!S)break;this.queue.end(S),m.mixingFrom=null,m.mixingTo=null,m=S}this.tracks[n.trackIndex]=null,this.queue.drain()}setCurrent(y,n,m){let S=this.expandToIndex(y);this.tracks[y]=n,n.previous=null,S&&(m&&this.queue.interrupt(S),n.mixingFrom=S,S.mixingTo=n,n.mixTime=0,S.mixingFrom&&S.mixDuration>0&&(n.interruptAlpha*=Math.min(1,S.mixTime/S.mixDuration)),S.timelinesRotation.length=0),this.queue.start(n)}setAnimation(y,n,m=!1){let S=this.data.skeletonData.findAnimation(n);if(!S)throw new Error("Animation not found: "+n);return this.setAnimationWith(y,S,m)}setAnimationWith(y,n,m=!1){if(!n)throw new Error("animation cannot be null.");let S=!0,x=this.expandToIndex(y);x&&(x.nextTrackLast==-1?(this.tracks[y]=x.mixingFrom,this.queue.interrupt(x),this.queue.end(x),this.clearNext(x),x=x.mixingFrom,S=!1):this.clearNext(x));let h=this.trackEntry(y,n,m,x);return this.setCurrent(y,h,S),this.queue.drain(),h}addAnimation(y,n,m=!1,S=0){let x=this.data.skeletonData.findAnimation(n);if(!x)throw new Error("Animation not found: "+n);return this.addAnimationWith(y,x,m,S)}addAnimationWith(y,n,m=!1,S=0){if(!n)throw new Error("animation cannot be null.");let x=this.expandToIndex(y);if(x)for(;x.next;)x=x.next;let h=this.trackEntry(y,n,m,x);return x?(x.next=h,h.previous=x,S<=0&&(S=Math.max(S+x.getTrackComplete()-h.mixDuration,0))):(this.setCurrent(y,h,!0),this.queue.drain(),S<0&&(S=0)),h.delay=S,h}setEmptyAnimation(y,n=0){let m=this.setAnimationWith(y,Ie.emptyAnimation(),!1);return m.mixDuration=n,m.trackEnd=n,m}addEmptyAnimation(y,n=0,m=0){let S=this.addAnimationWith(y,Ie.emptyAnimation(),!1,m);return m<=0&&(S.delay=Math.max(S.delay+S.mixDuration-n,0)),S.mixDuration=n,S.trackEnd=n,S}setEmptyAnimations(y=0){let n=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(let m=0,S=this.tracks.length;m0){x[t]=Br,h[t]=i;continue t}break}x[t]=Ti}}}getCurrent(y){return y>=this.tracks.length?null:this.tracks[y]}addListener(y){if(!y)throw new Error("listener cannot be null.");this.listeners.push(y)}removeListener(y){let n=this.listeners.indexOf(y);n>=0&&this.listeners.splice(n,1)}clearListeners(){this.listeners.length=0}clearListenerNotifications(){this.queue.clear()}},$(Ie,"_emptyAnimation",new Di("",[],0)),Ie),wr=class{constructor(){$(this,"animation",null);$(this,"previous",null);$(this,"next",null);$(this,"mixingFrom",null);$(this,"mixingTo",null);$(this,"listener",null);$(this,"trackIndex",0);$(this,"loop",!1);$(this,"holdPrevious",!1);$(this,"reverse",!1);$(this,"shortestRotation",!1);$(this,"eventThreshold",0);$(this,"mixAttachmentThreshold",0);$(this,"alphaAttachmentThreshold",0);$(this,"mixDrawOrderThreshold",0);$(this,"animationStart",0);$(this,"animationEnd",0);$(this,"animationLast",0);$(this,"nextAnimationLast",0);$(this,"delay",0);$(this,"trackTime",0);$(this,"trackLast",0);$(this,"nextTrackLast",0);$(this,"trackEnd",0);$(this,"timeScale",0);$(this,"alpha",0);$(this,"mixTime",0);$(this,"_mixDuration",0);$(this,"interruptAlpha",0);$(this,"totalAlpha",0);$(this,"mixBlend",2);$(this,"timelineMode",new Array);$(this,"timelineHoldMix",new Array);$(this,"timelinesRotation",new Array)}get mixDuration(){return this._mixDuration}set mixDuration(E){this._mixDuration=E}setMixDurationWithDelay(E,y){this._mixDuration=E,y<=0&&(this.previous!=null?y=Math.max(y+this.previous.getTrackComplete()-E,0):y=0),this.delay=y}reset(){this.next=null,this.previous=null,this.mixingFrom=null,this.mixingTo=null,this.animation=null,this.listener=null,this.timelineMode.length=0,this.timelineHoldMix.length=0,this.timelinesRotation.length=0}getAnimationTime(){if(this.loop){let E=this.animationEnd-this.animationStart;return E==0?this.animationStart:this.trackTime%E+this.animationStart}return Math.min(this.trackTime+this.animationStart,this.animationEnd)}setAnimationLast(E){this.animationLast=E,this.nextAnimationLast=E}isComplete(){return this.trackTime>=this.animationEnd-this.animationStart}resetRotationDirections(){this.timelinesRotation.length=0}getTrackComplete(){let E=this.animationEnd-this.animationStart;if(E!=0){if(this.loop)return E*(1+(this.trackTime/E|0));if(this.trackTime=0}},Dr=class{constructor(E){$(this,"objects",[]);$(this,"drainDisabled",!1);$(this,"animState");this.animState=E}start(E){this.objects.push(0),this.objects.push(E),this.animState.animationsChanged=!0}interrupt(E){this.objects.push(1),this.objects.push(E)}end(E){this.objects.push(2),this.objects.push(E),this.animState.animationsChanged=!0}dispose(E){this.objects.push(3),this.objects.push(E)}complete(E){this.objects.push(4),this.objects.push(E)}event(E,y){this.objects.push(5),this.objects.push(E),this.objects.push(y)}drain(){if(this.drainDisabled)return;this.drainDisabled=!0;let E=this.objects,y=this.animState.listeners;for(let n=0;n(E[E.Nearest=9728]="Nearest",E[E.Linear=9729]="Linear",E[E.MipMap=9987]="MipMap",E[E.MipMapNearestNearest=9984]="MipMapNearestNearest",E[E.MipMapLinearNearest=9985]="MipMapLinearNearest",E[E.MipMapNearestLinear=9986]="MipMapNearestLinear",E[E.MipMapLinearLinear=9987]="MipMapLinearLinear",E))(Ai||{}),br=class{constructor(){$(this,"texture");$(this,"u",0);$(this,"v",0);$(this,"u2",0);$(this,"v2",0);$(this,"width",0);$(this,"height",0);$(this,"degrees",0);$(this,"offsetX",0);$(this,"offsetY",0);$(this,"originalWidth",0);$(this,"originalHeight",0)}},Gr=class{constructor(E){$(this,"pages",new Array);$(this,"regions",new Array);let y=new Ur(E),n=new Array(4),m={};m.size=e=>{e.width=parseInt(n[1]),e.height=parseInt(n[2])},m.format=()=>{},m.filter=e=>{e.minFilter=ut.enumValue(Ai,n[1]),e.magFilter=ut.enumValue(Ai,n[2])},m.repeat=e=>{n[1].indexOf("x")!=-1&&(e.uWrap=10497),n[1].indexOf("y")!=-1&&(e.vWrap=10497)},m.pma=e=>{e.pma=n[1]=="true"};var S={};S.xy=e=>{e.x=parseInt(n[1]),e.y=parseInt(n[2])},S.size=e=>{e.width=parseInt(n[1]),e.height=parseInt(n[2])},S.bounds=e=>{e.x=parseInt(n[1]),e.y=parseInt(n[2]),e.width=parseInt(n[3]),e.height=parseInt(n[4])},S.offset=e=>{e.offsetX=parseInt(n[1]),e.offsetY=parseInt(n[2])},S.orig=e=>{e.originalWidth=parseInt(n[1]),e.originalHeight=parseInt(n[2])},S.offsets=e=>{e.offsetX=parseInt(n[1]),e.offsetY=parseInt(n[2]),e.originalWidth=parseInt(n[3]),e.originalHeight=parseInt(n[4])},S.rotate=e=>{let l=n[1];l=="true"?e.degrees=90:l!="false"&&(e.degrees=parseInt(l))},S.index=e=>{e.index=parseInt(n[1])};let x=y.readLine();for(;x&&x.trim().length==0;)x=y.readLine();for(;!(!x||x.trim().length==0||y.readEntry(n,x)==0);)x=y.readLine();let h=null,d=null,t=null;for(;x!==null;)if(x.trim().length==0)h=null,x=y.readLine();else if(h){let e=new ks(h,x);for(;;){let l=y.readEntry(n,x=y.readLine());if(l==0)break;let i=S[n[0]];if(i)i(e);else{d||(d=[]),t||(t=[]),d.push(n[0]);let s=[];for(let r=0;r0&&t&&t.length>0&&(e.names=d,e.values=t,d=null,t=null),e.u=e.x/h.width,e.v=e.y/h.height,e.degrees==90?(e.u2=(e.x+e.height)/h.width,e.v2=(e.y+e.width)/h.height):(e.u2=(e.x+e.width)/h.width,e.v2=(e.y+e.height)/h.height),this.regions.push(e)}else{for(h=new zr(x.trim());y.readEntry(n,x=y.readLine())!=0;){let e=m[n[0]];e&&e(h)}this.pages.push(h)}}findRegion(E){for(let y=0;y=this.lines.length?null:this.lines[this.index++]}readEntry(E,y){if(!y||(y=y.trim(),y.length==0))return 0;let n=y.indexOf(":");if(n==-1)return 0;E[0]=y.substr(0,n).trim();for(let m=1,S=n+1;;m++){let x=y.indexOf(",",S);if(x==-1)return E[m]=y.substr(S).trim(),m;if(E[m]=y.substr(S,x-S).trim(),S=x+1,m==4)return 4}}},zr=class{constructor(E){$(this,"name");$(this,"minFilter",9728);$(this,"magFilter",9728);$(this,"uWrap",33071);$(this,"vWrap",33071);$(this,"texture",null);$(this,"width",0);$(this,"height",0);$(this,"pma",!1);$(this,"regions",new Array);this.name=E}setTexture(E){this.texture=E,E.setFilters(this.minFilter,this.magFilter),E.setWraps(this.uWrap,this.vWrap);for(let y of this.regions)y.texture=E}},ks=class extends br{constructor(y,n){super();$(this,"page");$(this,"name");$(this,"x",0);$(this,"y",0);$(this,"offsetX",0);$(this,"offsetY",0);$(this,"originalWidth",0);$(this,"originalHeight",0);$(this,"index",0);$(this,"degrees",0);$(this,"names",null);$(this,"values",null);this.page=y,this.name=n,y.regions.push(this)}},_e=class Mi extends Ne{constructor(n,m){super(n);$(this,"region",null);$(this,"path");$(this,"regionUVs",[]);$(this,"uvs",[]);$(this,"triangles",[]);$(this,"color",new It(1,1,1,1));$(this,"width",0);$(this,"height",0);$(this,"hullLength",0);$(this,"edges",[]);$(this,"parentMesh",null);$(this,"sequence",null);$(this,"tempColor",new It(0,0,0,0));this.path=m}updateRegion(){if(!this.region)throw new Error("Region not set.");let n=this.regionUVs;(!this.uvs||this.uvs.length!=n.length)&&(this.uvs=ut.newFloatArray(n.length));let m=this.uvs,S=this.uvs.length,x=this.region.u,h=this.region.v,d=0,t=0;if(this.region instanceof ks){let e=this.region,l=e.page,i=l.width,s=l.height;switch(e.degrees){case 90:x-=(e.originalHeight-e.offsetY-e.height)/i,h-=(e.originalWidth-e.offsetX-e.width)/s,d=e.originalHeight/i,t=e.originalWidth/s;for(let r=0;r= 0.");if(!y)throw new Error("name cannot be null.");this.index=E,this.name=y,this.parent=n}},Ri=(E=>(E[E.Normal=0]="Normal",E[E.OnlyTranslation=1]="OnlyTranslation",E[E.NoRotationOrReflection=2]="NoRotationOrReflection",E[E.NoScale=3]="NoScale",E[E.NoScaleOrReflection=4]="NoScaleOrReflection",E))(Ri||{}),Qi=class{constructor(E,y,n){$(this,"data");$(this,"skeleton");$(this,"parent",null);$(this,"children",new Array);$(this,"x",0);$(this,"y",0);$(this,"rotation",0);$(this,"scaleX",0);$(this,"scaleY",0);$(this,"shearX",0);$(this,"shearY",0);$(this,"ax",0);$(this,"ay",0);$(this,"arotation",0);$(this,"ascaleX",0);$(this,"ascaleY",0);$(this,"ashearX",0);$(this,"ashearY",0);$(this,"a",0);$(this,"b",0);$(this,"c",0);$(this,"d",0);$(this,"worldY",0);$(this,"worldX",0);$(this,"inherit",0);$(this,"sorted",!1);$(this,"active",!1);if(!E)throw new Error("data cannot be null.");if(!y)throw new Error("skeleton cannot be null.");this.data=E,this.skeleton=y,this.parent=n,this.setToSetupPose()}isActive(){return this.active}update(E){this.updateWorldTransformWith(this.ax,this.ay,this.arotation,this.ascaleX,this.ascaleY,this.ashearX,this.ashearY)}updateWorldTransform(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)}updateWorldTransformWith(E,y,n,m,S,x,h){this.ax=E,this.ay=y,this.arotation=n,this.ascaleX=m,this.ascaleY=S,this.ashearX=x,this.ashearY=h;let d=this.parent;if(!d){let s=this.skeleton;const r=s.scaleX,o=s.scaleY,a=(n+x)*ft.degRad,u=(n+90+h)*ft.degRad;this.a=Math.cos(a)*m*r,this.b=Math.cos(u)*S*r,this.c=Math.sin(a)*m*o,this.d=Math.sin(u)*S*o,this.worldX=E*r+s.x,this.worldY=y*o+s.y;return}let t=d.a,e=d.b,l=d.c,i=d.d;switch(this.worldX=t*E+e*y+d.worldX,this.worldY=l*E+i*y+d.worldY,this.inherit){case 0:{const s=(n+x)*ft.degRad,r=(n+90+h)*ft.degRad,o=Math.cos(s)*m,a=Math.cos(r)*S,u=Math.sin(s)*m,f=Math.sin(r)*S;this.a=t*o+e*u,this.b=t*a+e*f,this.c=l*o+i*u,this.d=l*a+i*f;return}case 1:{const s=(n+x)*ft.degRad,r=(n+90+h)*ft.degRad;this.a=Math.cos(s)*m,this.b=Math.cos(r)*S,this.c=Math.sin(s)*m,this.d=Math.sin(r)*S;break}case 2:{let s=1/this.skeleton.scaleX,r=1/this.skeleton.scaleY;t*=s,l*=r;let o=t*t+l*l,a=0;o>1e-4?(o=Math.abs(t*i*r-e*s*l)/o,e=l*o,i=t*o,a=Math.atan2(l,t)*ft.radDeg):(t=0,l=0,a=90-Math.atan2(i,e)*ft.radDeg);const u=(n+x-a)*ft.degRad,f=(n+h-a+90)*ft.degRad,v=Math.cos(u)*m,c=Math.cos(f)*S,g=Math.sin(u)*m,p=Math.sin(f)*S;this.a=t*v-e*g,this.b=t*c-e*p,this.c=l*v+i*g,this.d=l*c+i*p;break}case 3:case 4:{n*=ft.degRad;const s=Math.cos(n),r=Math.sin(n);let o=(t*s+e*r)/this.skeleton.scaleX,a=(l*s+i*r)/this.skeleton.scaleY,u=Math.sqrt(o*o+a*a);u>1e-5&&(u=1/u),o*=u,a*=u,u=Math.sqrt(o*o+a*a),this.inherit==3&&t*i-e*l<0!=(this.skeleton.scaleX<0!=this.skeleton.scaleY<0)&&(u=-u),n=Math.PI/2+Math.atan2(a,o);const f=Math.cos(n)*u,v=Math.sin(n)*u;x*=ft.degRad,h=(90+h)*ft.degRad;const c=Math.cos(x)*m,g=Math.cos(h)*S,p=Math.sin(x)*m,T=Math.sin(h)*S;this.a=o*c+f*p,this.b=o*g+f*T,this.c=a*c+v*p,this.d=a*g+v*T;break}}this.a*=this.skeleton.scaleX,this.b*=this.skeleton.scaleX,this.c*=this.skeleton.scaleY,this.d*=this.skeleton.scaleY}setToSetupPose(){let E=this.data;this.x=E.x,this.y=E.y,this.rotation=E.rotation,this.scaleX=E.scaleX,this.scaleY=E.scaleY,this.shearX=E.shearX,this.shearY=E.shearY,this.inherit=E.inherit}updateAppliedTransform(){let E=this.parent;if(!E){this.ax=this.worldX-this.skeleton.x,this.ay=this.worldY-this.skeleton.y,this.arotation=Math.atan2(this.c,this.a)*ft.radDeg,this.ascaleX=Math.sqrt(this.a*this.a+this.c*this.c),this.ascaleY=Math.sqrt(this.b*this.b+this.d*this.d),this.ashearX=0,this.ashearY=Math.atan2(this.a*this.b+this.c*this.d,this.a*this.d-this.b*this.c)*ft.radDeg;return}let y=E.a,n=E.b,m=E.c,S=E.d,x=1/(y*S-n*m),h=S*x,d=n*x,t=m*x,e=y*x,l=this.worldX-E.worldX,i=this.worldY-E.worldY;this.ax=l*h-i*d,this.ay=i*e-l*t;let s,r,o,a;if(this.inherit==1)s=this.a,r=this.b,o=this.c,a=this.d;else{switch(this.inherit){case 2:{let g=Math.abs(y*S-n*m)/(y*y+m*m);n=-m*this.skeleton.scaleX*g/this.skeleton.scaleY,S=y*this.skeleton.scaleY*g/this.skeleton.scaleX,x=1/(y*S-n*m),h=S*x,d=n*x;break}case 3:case 4:let u=ft.cosDeg(this.rotation),f=ft.sinDeg(this.rotation);y=(y*u+n*f)/this.skeleton.scaleX,m=(m*u+S*f)/this.skeleton.scaleY;let v=Math.sqrt(y*y+m*m);v>1e-5&&(v=1/v),y*=v,m*=v,v=Math.sqrt(y*y+m*m),this.inherit==3&&x<0!=(this.skeleton.scaleX<0!=this.skeleton.scaleY<0)&&(v=-v);let c=ft.PI/2+Math.atan2(m,y);n=Math.cos(c)*v,S=Math.sin(c)*v,x=1/(y*S-n*m),h=S*x,d=n*x,t=m*x,e=y*x}s=h*this.a-d*this.c,r=h*this.b-d*this.d,o=e*this.c-t*this.a,a=e*this.d-t*this.b}if(this.ashearX=0,this.ascaleX=Math.sqrt(s*s+o*o),this.ascaleX>1e-4){let u=s*a-r*o;this.ascaleY=u/this.ascaleX,this.ashearY=-Math.atan2(s*r+o*a,u)*ft.radDeg,this.arotation=Math.atan2(o,s)*ft.radDeg}else this.ascaleX=0,this.ascaleY=Math.sqrt(r*r+a*a),this.ashearY=0,this.arotation=90-Math.atan2(a,r)*ft.radDeg}getWorldRotationX(){return Math.atan2(this.c,this.a)*ft.radDeg}getWorldRotationY(){return Math.atan2(this.d,this.b)*ft.radDeg}getWorldScaleX(){return Math.sqrt(this.a*this.a+this.c*this.c)}getWorldScaleY(){return Math.sqrt(this.b*this.b+this.d*this.d)}worldToLocal(E){let y=1/(this.a*this.d-this.b*this.c),n=E.x-this.worldX,m=E.y-this.worldY;return E.x=n*this.d*y-m*this.b*y,E.y=m*this.a*y-n*this.c*y,E}localToWorld(E){let y=E.x,n=E.y;return E.x=y*this.a+n*this.b+this.worldX,E.y=y*this.c+n*this.d+this.worldY,E}worldToParent(E){if(E==null)throw new Error("world cannot be null.");return this.parent==null?E:this.parent.worldToLocal(E)}parentToWorld(E){if(E==null)throw new Error("world cannot be null.");return this.parent==null?E:this.parent.localToWorld(E)}worldToLocalRotation(E){let y=ft.sinDeg(E),n=ft.cosDeg(E);return Math.atan2(this.a*y-this.c*n,this.d*n-this.b*y)*ft.radDeg+this.rotation-this.shearX}localToWorldRotation(E){E-=this.rotation-this.shearX;let y=ft.sinDeg(E),n=ft.cosDeg(E);return Math.atan2(n*this.c+y*this.d,n*this.a+y*this.b)*ft.radDeg}rotateWorld(E){E*=ft.degRad;const y=Math.sin(E),n=Math.cos(E),m=this.a,S=this.b;this.a=n*m-y*this.c,this.b=n*S-y*this.d,this.c=y*m+n*this.c,this.d=y*S+n*this.d}},ci=class{constructor(E,y,n){this.name=E,this.order=y,this.skinRequired=n}},en=class{constructor(y,n){$(this,"data");$(this,"intValue",0);$(this,"floatValue",0);$(this,"stringValue",null);$(this,"time",0);$(this,"volume",0);$(this,"balance",0);if(!n)throw new Error("data cannot be null.");this.time=y,this.data=n}},sn=class{constructor(E){$(this,"name");$(this,"intValue",0);$(this,"floatValue",0);$(this,"stringValue",null);$(this,"audioPath",null);$(this,"volume",0);$(this,"balance",0);this.name=E}},Vr=class{constructor(E,y){$(this,"data");$(this,"bones");$(this,"target");$(this,"bendDirection",0);$(this,"compress",!1);$(this,"stretch",!1);$(this,"mix",1);$(this,"softness",0);$(this,"active",!1);if(!E)throw new Error("data cannot be null.");if(!y)throw new Error("skeleton cannot be null.");this.data=E,this.bones=new Array;for(let m=0;m180?s-=360:s<-180&&(s+=360);let a=E.ascaleX,u=E.ascaleY;if(m||S){switch(E.inherit){case 3:case 4:r=y-E.worldX,o=n-E.worldY}const f=E.data.length*a;if(f>1e-4){const v=r*r+o*o;if(m&&vf*f){const c=(Math.sqrt(v)/f-1)*h+1;a*=c,x&&(u*=c)}}}E.updateWorldTransformWith(E.ax,E.ay,E.arotation+s*h,a,u,E.ashearX,E.ashearY)}apply2(E,y,n,m,S,x,h,d,t){if(E.inherit!=0||y.inherit!=0)return;let e=E.ax,l=E.ay,i=E.ascaleX,s=E.ascaleY,r=i,o=s,a=y.ascaleX,u=0,f=0,v=0;i<0?(i=-i,u=180,v=-1):(u=0,v=1),s<0&&(s=-s,v=-v),a<0?(a=-a,f=180):f=0;let c=y.ax,g=0,p=0,T=0,C=E.a,M=E.b,A=E.c,R=E.d,P=Math.abs(i-s)<=1e-4;!P||x?(g=0,p=C*c+E.worldX,T=A*c+E.worldY):(g=y.ay,p=C*c+M*g+E.worldX,T=A*c+R*g+E.worldY);let L=E.parent;if(!L)throw new Error("IK parent must itself have a parent.");C=L.a,M=L.b,A=L.c,R=L.d;let F=C*R-M*A,w=p-L.worldX,O=T-L.worldY;F=Math.abs(F)<=1e-4?0:1/F;let B=(w*R-O*M)*F-e,I=(O*C-w*A)*F-l,D=Math.sqrt(B*B+I*I),N=y.data.length*a,z,V;if(D<1e-4){this.apply1(E,n,m,!1,x,!1,t),y.updateWorldTransformWith(c,g,0,y.ascaleX,y.ascaleY,y.ashearX,y.ashearY);return}w=n-L.worldX,O=m-L.worldY;let U=(w*R-O*M)*F-e,G=(O*C-w*A)*F-l,b=U*U+G*G;if(d!=0){d*=i*(a+1)*.5;let H=Math.sqrt(b),X=H-D-N*i+d;if(X>0){let K=Math.min(1,X/(d*2))-1;K=(X-d*(1-K*K))/H,U-=K*U,G-=K*G,b=U*U+G*G}}t:if(P){N*=i;let H=(b-D*D-N*N)/(2*D*N);H<-1?(H=-1,V=Math.PI*S):H>1?(H=1,V=0,x&&(C=(Math.sqrt(b)/(D+N)-1)*t+1,r*=C,h&&(o*=C))):V=Math.acos(H)*S,C=D+N*H,M=N*Math.sin(V),z=Math.atan2(G*C-U*M,U*C+G*M)}else{C=i*N,M=s*N;let H=C*C,X=M*M,K=Math.atan2(G,U);A=X*D*D+H*b-H*X;let Z=-2*X*D,Q=X-H;if(R=Z*Z-4*Q*A,R>=0){let ht=Math.sqrt(R);Z<0&&(ht=-ht),ht=-(Z+ht)*.5;let ot=ht/Q,nt=A/ht,it=Math.abs(ot)=0){O=Math.sqrt(ot)*S,z=K-Math.atan2(O,it),V=Math.atan2(O/s,(it-D)/i);break t}}let j=ft.PI,J=D-C,tt=J*J,k=0,q=0,_=D+C,rt=_*_,at=0;A=-C*D/(H-X),A>=-1&&A<=1&&(A=Math.acos(A),w=C*Math.cos(A)+D,O=M*Math.sin(A),R=w*w+O*O,Rrt&&(q=A,rt=R,_=w,at=O)),b<=(tt+rt)*.5?(z=K-Math.atan2(k*S,J),V=j*S):(z=K-Math.atan2(at*S,_),V=q*S)}let Y=Math.atan2(g,c)*v,W=E.arotation;z=(z-Y)*ft.radDeg+u-W,z>180?z-=360:z<-180&&(z+=360),E.updateWorldTransformWith(e,l,W+z*t,r,o,0,0),W=y.arotation,V=((V+Y)*ft.radDeg-y.ashearX)*v+f-W,V>180?V-=360:V<-180&&(V+=360),y.updateWorldTransformWith(c,g,W+V*t,y.ascaleX,y.ascaleY,y.ashearX,y.ashearY)}},nn=class extends ci{constructor(y){super(y,0,!1);$(this,"bones",new Array);$(this,"_target",null);$(this,"bendDirection",0);$(this,"compress",!1);$(this,"stretch",!1);$(this,"uniform",!1);$(this,"mix",0);$(this,"softness",0)}set target(y){this._target=y}get target(){if(this._target)return this._target;throw new Error("BoneData not set.")}},rn=class extends ci{constructor(y){super(y,0,!1);$(this,"bones",new Array);$(this,"_target",null);$(this,"positionMode",0);$(this,"spacingMode",1);$(this,"rotateMode",1);$(this,"offsetRotation",0);$(this,"position",0);$(this,"spacing",0);$(this,"mixRotate",0);$(this,"mixX",0);$(this,"mixY",0)}set target(y){this._target=y}get target(){if(this._target)return this._target;throw new Error("SlotData not set.")}},an=(E=>(E[E.Fixed=0]="Fixed",E[E.Percent=1]="Percent",E))(an||{}),on=(E=>(E[E.Length=0]="Length",E[E.Fixed=1]="Fixed",E[E.Percent=2]="Percent",E[E.Proportional=3]="Proportional",E))(on||{}),hn=(E=>(E[E.Tangent=0]="Tangent",E[E.Chain=1]="Chain",E[E.ChainScale=2]="ChainScale",E))(hn||{}),he,Xr=(he=class{constructor(y,n){$(this,"data");$(this,"bones");$(this,"target");$(this,"position",0);$(this,"spacing",0);$(this,"mixRotate",0);$(this,"mixX",0);$(this,"mixY",0);$(this,"spaces",new Array);$(this,"positions",new Array);$(this,"world",new Array);$(this,"curves",new Array);$(this,"lengths",new Array);$(this,"segments",new Array);$(this,"active",!1);if(!y)throw new Error("data cannot be null.");if(!n)throw new Error("skeleton cannot be null.");this.data=y,this.bones=new Array;for(let S=0,x=y.bones.length;S0){g=i/g*o;for(let T=1;T0?ft.degRad:-.01745329277777778}for(let g=0,p=3;g0){let P=T.a,L=T.b,F=T.c,w=T.d,O=0,B=0,I=0;if(d?O=a[p-1]:s[g+1]==0?O=a[p+2]:O=Math.atan2(R,A),O-=Math.atan2(F,P),c){B=Math.cos(O),I=Math.sin(O);let D=T.data.length;u+=(D*(B*P-I*F)-A)*m,f+=(D*(I*P+B*F)-R)*m}else O+=v;O>ft.PI?O-=ft.PI2:O<-3.1415927&&(O+=ft.PI2),O*=m,B=Math.cos(O),I=Math.sin(O),T.a=B*P-I*F,T.b=B*L-I*w,T.c=I*P+B*F,T.d=I*L+B*w}T.updateAppliedTransform()}}computeWorldPositions(y,n,m){let S=this.target,x=this.position,h=this.spaces,d=ut.setArraySize(this.positions,n*3+2),t=this.world,e=y.closed,l=y.worldVerticesLength,i=l/6,s=he.NONE;if(!y.constantSpeed){let D=y.lengths;i-=e?1:2;let N=D[i];this.data.positionMode==1&&(x*=N);let z;switch(this.data.spacingMode){case 2:z=N;break;case 3:z=N/n;break;default:z=1}t=ut.setArraySize(this.world,8);for(let V=0,U=0,G=0;VN){s!=he.AFTER&&(s=he.AFTER,y.computeWorldVertices(S,l-6,4,t,0,2)),this.addAfterPosition(Y-N,t,0,d,U);continue}for(;;G++){let W=D[G];if(!(Y>W)){if(G==0)Y/=W;else{let H=D[G-1];Y=(Y-H)/(W-H)}break}}G!=s&&(s=G,e&&G==i?(y.computeWorldVertices(S,l-4,4,t,0,2),y.computeWorldVertices(S,0,4,t,4,2)):y.computeWorldVertices(S,G*6+2,8,t,0,2)),this.addCurvePosition(Y,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],d,U,m||V>0&&b==0)}return d}e?(l+=2,t=ut.setArraySize(this.world,l),y.computeWorldVertices(S,2,l-4,t,0,2),y.computeWorldVertices(S,0,2,t,l-4,2),t[l-2]=t[0],t[l-1]=t[1]):(i--,l-=4,t=ut.setArraySize(this.world,l),y.computeWorldVertices(S,2,l,t,0,2));let r=ut.setArraySize(this.curves,i),o=0,a=t[0],u=t[1],f=0,v=0,c=0,g=0,p=0,T=0,C=0,M=0,A=0,R=0,P=0,L=0,F=0,w=0;for(let D=0,N=2;Do){this.addAfterPosition(G-o,t,l-4,d,N);continue}for(;;z++){let b=r[z];if(!(G>b)){if(z==0)G/=b;else{let Y=r[z-1];G=(G-Y)/(b-Y)}break}}if(z!=s){s=z;let b=z*6;for(a=t[b],u=t[b+1],f=t[b+2],v=t[b+3],c=t[b+4],g=t[b+5],p=t[b+6],T=t[b+7],C=(a-f*2+c)*.03,M=(u-v*2+g)*.03,A=((f-c)*3-a+p)*.006,R=((v-g)*3-u+T)*.006,P=C*2+A,L=M*2+R,F=(f-a)*.3+C+A*.16666667,w=(v-u)*.3+M+R*.16666667,I=Math.sqrt(F*F+w*w),B[0]=I,b=1;b<8;b++)F+=P,w+=L,P+=A,L+=R,I+=Math.sqrt(F*F+w*w),B[b]=I;F+=P,w+=L,I+=Math.sqrt(F*F+w*w),B[8]=I,F+=P+A,w+=L+R,I+=Math.sqrt(F*F+w*w),B[9]=I,V=0}for(G*=I;;V++){let b=B[V];if(!(G>b)){if(V==0)G/=b;else{let Y=B[V-1];G=V+(G-Y)/(b-Y)}break}}this.addCurvePosition(G*.1,a,u,f,v,c,g,p,T,d,N,m||D>0&&U==0)}return d}addBeforePosition(y,n,m,S,x){let h=n[m],d=n[m+1],t=n[m+2]-h,e=n[m+3]-d,l=Math.atan2(e,t);S[x]=h+y*Math.cos(l),S[x+1]=d+y*Math.sin(l),S[x+2]=l}addAfterPosition(y,n,m,S,x){let h=n[m+2],d=n[m+3],t=h-n[m],e=d-n[m+1],l=Math.atan2(e,t);S[x]=h+y*Math.cos(l),S[x+1]=d+y*Math.sin(l),S[x+2]=l}addCurvePosition(y,n,m,S,x,h,d,t,e,l,i,s){if(y==0||isNaN(y)){l[i]=n,l[i+1]=m,l[i+2]=Math.atan2(x-m,S-n);return}let r=y*y,o=r*y,a=1-y,u=a*a,f=u*a,v=a*y,c=v*3,g=a*c,p=c*y,T=n*f+S*g+h*p+t*o,C=m*f+x*g+d*p+e*o;l[i]=T,l[i+1]=C,s&&(y<.001?l[i+2]=Math.atan2(x-m,S-n):l[i+2]=Math.atan2(C-(m*u+x*v*2+d*r),T-(n*u+S*v*2+h*r)))}},$(he,"NONE",-1),$(he,"BEFORE",-2),$(he,"AFTER",-3),$(he,"epsilon",1e-5),he),Wr=class{constructor(E,y){$(this,"data");$(this,"_bone",null);$(this,"inertia",0);$(this,"strength",0);$(this,"damping",0);$(this,"massInverse",0);$(this,"wind",0);$(this,"gravity",0);$(this,"mix",0);$(this,"_reset",!0);$(this,"ux",0);$(this,"uy",0);$(this,"cx",0);$(this,"cy",0);$(this,"tx",0);$(this,"ty",0);$(this,"xOffset",0);$(this,"xVelocity",0);$(this,"yOffset",0);$(this,"yVelocity",0);$(this,"rotateOffset",0);$(this,"rotateVelocity",0);$(this,"scaleOffset",0);$(this,"scaleVelocity",0);$(this,"active",!1);$(this,"skeleton");$(this,"remaining",0);$(this,"lastTime",0);this.data=E,this.skeleton=y,this.bone=y.bones[E.bone.index],this.inertia=E.inertia,this.strength=E.strength,this.damping=E.damping,this.massInverse=E.massInverse,this.wind=E.wind,this.gravity=E.gravity,this.mix=E.mix}set bone(E){this._bone=E}get bone(){if(this._bone)return this._bone;throw new Error("Bone not set.")}reset(){this.remaining=0,this.lastTime=this.skeleton.time,this._reset=!0,this.xOffset=0,this.xVelocity=0,this.yOffset=0,this.yVelocity=0,this.rotateOffset=0,this.rotateVelocity=0,this.scaleOffset=0,this.scaleVelocity=0}setToSetupPose(){const E=this.data;this.inertia=E.inertia,this.strength=E.strength,this.damping=E.damping,this.massInverse=E.massInverse,this.wind=E.wind,this.gravity=E.gravity,this.mix=E.mix}isActive(){return this.active}update(E){const y=this.mix;if(y==0)return;const n=this.data.x>0,m=this.data.y>0,S=this.data.rotate>0||this.data.shearX>0,x=this.data.scaleX>0,h=this.bone,d=h.data.length;switch(E){case 0:return;case 1:this.reset();case 2:const t=this.skeleton,e=Math.max(this.skeleton.time-this.lastTime,0);this.remaining+=e,this.lastTime=t.time;const l=h.worldX,i=h.worldY;if(this._reset)this._reset=!1,this.ux=l,this.uy=i;else{let s=this.remaining,r=this.inertia,o=this.data.step,a=this.skeleton.data.referenceScale,u=-1,f=this.data.limit*e,v=f*Math.abs(t.scaleY);if(f*=Math.abs(t.scaleX),n||m){if(n){const c=(this.ux-l)*r;this.xOffset+=c>f?f:c<-f?-f:c,this.ux=l}if(m){const c=(this.uy-i)*r;this.yOffset+=c>v?v:c<-v?-v:c,this.uy=i}if(s>=o){u=Math.pow(this.damping,60*o);const c=this.massInverse*o,g=this.strength,p=this.wind*a*t.scaleX,T=this.gravity*a*t.scaleY;do n&&(this.xVelocity+=(p-this.xOffset*g)*c,this.xOffset+=this.xVelocity*o,this.xVelocity*=u),m&&(this.yVelocity-=(T+this.yOffset*g)*c,this.yOffset+=this.yVelocity*o,this.yVelocity*=u),s-=o;while(s>=o)}n&&(h.worldX+=this.xOffset*y*this.data.x),m&&(h.worldY+=this.yOffset*y*this.data.y)}if(S||x){let c=Math.atan2(h.c,h.a),g=0,p=0,T=0,C=this.cx-h.worldX,M=this.cy-h.worldY;if(C>f?C=f:C<-f&&(C=-f),M>v?M=v:M<-v&&(M=-v),S){T=(this.data.rotate+this.data.shearX)*y;let A=Math.atan2(M+this.ty,C+this.tx)-c-this.rotateOffset*T;this.rotateOffset+=(A-Math.ceil(A*ft.invPI2-.5)*ft.PI2)*r,A=this.rotateOffset*T+c,g=Math.cos(A),p=Math.sin(A),x&&(A=d*h.getWorldScaleX(),A>0&&(this.scaleOffset+=(C*g+M*p)*r/A))}else{g=Math.cos(c),p=Math.sin(c);const A=d*h.getWorldScaleX();A>0&&(this.scaleOffset+=(C*g+M*p)*r/A)}if(s=this.remaining,s>=o){u==-1&&(u=Math.pow(this.damping,60*o));const A=this.massInverse*o,R=this.strength,P=this.wind,L=pi.yDown?-this.gravity:this.gravity,F=d/a;for(;;)if(s-=o,x&&(this.scaleVelocity+=(P*g-L*p-this.scaleOffset*R)*A,this.scaleOffset+=this.scaleVelocity*o,this.scaleVelocity*=u),S){if(this.rotateVelocity-=((P*p+L*g)*F+this.rotateOffset*R)*A,this.rotateOffset+=this.rotateVelocity*o,this.rotateVelocity*=u,s0){let s=0;this.data.rotate>0&&(s=t*this.data.rotate,e=Math.sin(s),l=Math.cos(s),i=h.b,h.b=l*i-e*h.d,h.d=e*i+l*h.d),s+=t*this.data.shearX,e=Math.sin(s),l=Math.cos(s),i=h.a,h.a=l*i-e*h.c,h.c=e*i+l*h.c}else t*=this.data.rotate,e=Math.sin(t),l=Math.cos(t),i=h.a,h.a=l*i-e*h.c,h.c=e*i+l*h.c,i=h.b,h.b=l*i-e*h.d,h.d=e*i+l*h.d}if(x){const t=1+this.scaleOffset*y*this.data.scaleX;h.a*=t,h.c*=t}E!=3&&(this.tx=d*h.a,this.ty=d*h.c),h.updateAppliedTransform()}translate(E,y){this.ux-=E,this.uy-=y,this.cx-=E,this.cy-=y}rotate(E,y,n){const m=n*ft.degRad,S=Math.cos(m),x=Math.sin(m),h=this.cx-E,d=this.cy-y;this.translate(h*S-d*x-h,h*x+d*S-d)}},Hr=class{constructor(E,y){$(this,"data");$(this,"bone");$(this,"color");$(this,"darkColor",null);$(this,"attachment",null);$(this,"attachmentState",0);$(this,"sequenceIndex",-1);$(this,"deform",new Array);if(!E)throw new Error("data cannot be null.");if(!y)throw new Error("bone cannot be null.");this.data=E,this.bone=y,this.color=new It,this.darkColor=E.darkColor?new It:null,this.setToSetupPose()}getSkeleton(){return this.bone.skeleton}getAttachment(){return this.attachment}setAttachment(E){this.attachment!=E&&((!(E instanceof Ne)||!(this.attachment instanceof Ne)||E.timelineAttachment!=this.attachment.timelineAttachment)&&(this.deform.length=0),this.attachment=E,this.sequenceIndex=-1)}setToSetupPose(){this.color.setFromColor(this.data.color),this.darkColor&&this.darkColor.setFromColor(this.data.darkColor),this.data.attachmentName?(this.attachment=null,this.setAttachment(this.bone.skeleton.getAttachment(this.data.index,this.data.attachmentName))):this.attachment=null}},Kr=class{constructor(E,y){$(this,"data");$(this,"bones");$(this,"target");$(this,"mixRotate",0);$(this,"mixX",0);$(this,"mixY",0);$(this,"mixScaleX",0);$(this,"mixScaleY",0);$(this,"mixShearY",0);$(this,"temp",new qe);$(this,"active",!1);if(!E)throw new Error("data cannot be null.");if(!y)throw new Error("skeleton cannot be null.");this.data=E,this.bones=new Array;for(let m=0;m0?ft.degRad:-.01745329277777778,r=this.data.offsetRotation*s,o=this.data.offsetShearY*s,a=this.bones;for(let u=0,f=a.length;uft.PI?C-=ft.PI2:C<-3.1415927&&(C+=ft.PI2),C*=E;let M=Math.cos(C),A=Math.sin(C);v.a=M*c-A*p,v.b=M*g-A*T,v.c=A*c+M*p,v.d=A*g+M*T}if(h){let c=this.temp;d.localToWorld(c.set(this.data.offsetX,this.data.offsetY)),v.worldX+=(c.x-v.worldX)*y,v.worldY+=(c.y-v.worldY)*n}if(m!=0){let c=Math.sqrt(v.a*v.a+v.c*v.c);c!=0&&(c=(c+(Math.sqrt(t*t+l*l)-c+this.data.offsetScaleX)*m)/c),v.a*=c,v.c*=c}if(S!=0){let c=Math.sqrt(v.b*v.b+v.d*v.d);c!=0&&(c=(c+(Math.sqrt(e*e+i*i)-c+this.data.offsetScaleY)*S)/c),v.b*=c,v.d*=c}if(x>0){let c=v.b,g=v.d,p=Math.atan2(g,c),T=Math.atan2(i,e)-Math.atan2(l,t)-(p-Math.atan2(v.c,v.a));T>ft.PI?T-=ft.PI2:T<-3.1415927&&(T+=ft.PI2),T=p+(T+o)*x;let C=Math.sqrt(c*c+g*g);v.b=Math.cos(T)*C,v.d=Math.sin(T)*C}v.updateAppliedTransform()}}applyRelativeWorld(){let E=this.mixRotate,y=this.mixX,n=this.mixY,m=this.mixScaleX,S=this.mixScaleY,x=this.mixShearY,h=y!=0||n!=0,d=this.target,t=d.a,e=d.b,l=d.c,i=d.d,s=t*i-e*l>0?ft.degRad:-.01745329277777778,r=this.data.offsetRotation*s,o=this.data.offsetShearY*s,a=this.bones;for(let u=0,f=a.length;uft.PI?C-=ft.PI2:C<-3.1415927&&(C+=ft.PI2),C*=E;let M=Math.cos(C),A=Math.sin(C);v.a=M*c-A*p,v.b=M*g-A*T,v.c=A*c+M*p,v.d=A*g+M*T}if(h){let c=this.temp;d.localToWorld(c.set(this.data.offsetX,this.data.offsetY)),v.worldX+=c.x*y,v.worldY+=c.y*n}if(m!=0){let c=(Math.sqrt(t*t+l*l)-1+this.data.offsetScaleX)*m+1;v.a*=c,v.c*=c}if(S!=0){let c=(Math.sqrt(e*e+i*i)-1+this.data.offsetScaleY)*S+1;v.b*=c,v.d*=c}if(x>0){let c=Math.atan2(i,e)-Math.atan2(l,t);c>ft.PI?c-=ft.PI2:c<-3.1415927&&(c+=ft.PI2);let g=v.b,p=v.d;c=Math.atan2(p,g)+(c-ft.PI/2+o)*x;let T=Math.sqrt(g*g+p*p);v.b=Math.cos(c)*T,v.d=Math.sin(c)*T}v.updateAppliedTransform()}}applyAbsoluteLocal(){let E=this.mixRotate,y=this.mixX,n=this.mixY,m=this.mixScaleX,S=this.mixScaleY,x=this.mixShearY,h=this.target,d=this.bones;for(let t=0,e=d.length;tn.data.name==y)??null}findTransformConstraint(y){if(!y)throw new Error("constraintName cannot be null.");return this.transformConstraints.find(n=>n.data.name==y)??null}findPathConstraint(y){if(!y)throw new Error("constraintName cannot be null.");return this.pathConstraints.find(n=>n.data.name==y)??null}findPhysicsConstraint(y){if(y==null)throw new Error("constraintName cannot be null.");return this.physicsConstraints.find(n=>n.data.name==y)??null}getBoundsRect(y){let n=new qe,m=new qe;return this.getBounds(n,m,void 0,y),{x:n.x,y:n.y,width:m.x,height:m.y}}getBounds(y,n,m=new Array(2),S=null){if(!y)throw new Error("offset cannot be null.");if(!n)throw new Error("size cannot be null.");let x=this.drawOrder,h=Number.POSITIVE_INFINITY,d=Number.POSITIVE_INFINITY,t=Number.NEGATIVE_INFINITY,e=Number.NEGATIVE_INFINITY;for(let l=0,i=x.length;l=m.length&&(m.length=E+1),m[E]||(m[E]={}),m[E][y]=n}addSkin(E){for(let m=0;m= 0.");if(!y)throw new Error("name cannot be null.");if(!n)throw new Error("boneData cannot be null.");this.index=E,this.name=y,this.boneData=n}},dn=(E=>(E[E.Normal=0]="Normal",E[E.Additive=1]="Additive",E[E.Multiply=2]="Multiply",E[E.Screen=3]="Screen",E))(dn||{}),vn=class extends ci{constructor(y){super(y,0,!1);$(this,"bones",new Array);$(this,"_target",null);$(this,"mixRotate",0);$(this,"mixX",0);$(this,"mixY",0);$(this,"mixScaleX",0);$(this,"mixScaleY",0);$(this,"mixShearY",0);$(this,"offsetRotation",0);$(this,"offsetX",0);$(this,"offsetY",0);$(this,"offsetScaleX",0);$(this,"offsetScaleY",0);$(this,"offsetShearY",0);$(this,"relative",!1);$(this,"local",!1)}set target(y){this._target=y}get target(){if(this._target)return this._target;throw new Error("BoneData not set.")}},Zr=class{constructor(E){$(this,"scale",1);$(this,"attachmentLoader");$(this,"linkedMeshes",new Array);this.attachmentLoader=E}readSkeletonData(E){let y=this.scale,n=new un;n.name="";let m=new $r(E),S=m.readInt32(),x=m.readInt32();n.hash=x==0&&S==0?null:x.toString(16)+S.toString(16),n.version=m.readString(),n.x=m.readFloat(),n.y=m.readFloat(),n.width=m.readFloat(),n.height=m.readFloat(),n.referenceScale=m.readFloat()*y;let h=m.readBoolean();h&&(n.fps=m.readFloat(),n.imagesPath=m.readString(),n.audioPath=m.readString());let d=0;d=m.readInt(!0);for(let e=0;e>1&3,s.rotateMode=r>>3&3,r&128&&(s.offsetRotation=m.readFloat()),s.position=m.readFloat(),s.positionMode==0&&(s.position*=y),s.spacing=m.readFloat(),(s.spacingMode==0||s.spacingMode==1)&&(s.spacing*=y),s.mixRotate=m.readFloat(),s.mixX=m.readFloat(),s.mixY=m.readFloat(),n.pathConstraints.push(s)}d=m.readInt(!0);for(let e=0,l;e>4,E.readFloat())}m.push(p);break}}}}}let x=E.readInt(!0);if(x>0){let t=new ti(x),e=n.slots.length;for(let l=0;l=0;f--)r[f]=-1;let o=ut.newArray(e-s,0),a=0,u=0;for(let f=0;f=0;f--)r[f]==-1&&(r[f]=o[--u]);t.setFrame(l,i,r)}m.push(t)}let h=E.readInt(!0);if(h>0){let t=new Ii(h);for(let e=0;e>>1^-(n&1)}readStringRef(){let E=this.readInt(!0);return E==0?null:this.strings[E-1]}readString(){let E=this.readInt(!0);switch(E){case 0:return null;case 1:return""}E--;let y="";for(let n=0;n>4){case 12:case 13:y+=String.fromCharCode((m&31)<<6|this.readByte()&63),n+=2;break;case 14:y+=String.fromCharCode((m&15)<<12|(this.readByte()&63)<<6|this.readByte()&63),n+=3;break;default:y+=String.fromCharCode(m),n++}}return y}readFloat(){let E=this.buffer.getFloat32(this.index);return this.index+=4,E}readBoolean(){return this.readByte()!=0}},Qr=class{constructor(E,y,n,m,S){$(this,"parent");$(this,"skinIndex");$(this,"slotIndex");$(this,"mesh");$(this,"inheritTimeline");this.mesh=E,this.skinIndex=y,this.slotIndex=n,this.parent=m,this.inheritTimeline=S}},Jr=class{constructor(E=null,y=null,n=0){this.bones=E,this.vertices=y,this.length=n}};function re(E,y,n){let m=E.readFloat(),S=E.readFloat()*n;for(let x=0,h=0,d=y.getFrameCount()-1;y.setFrame(x,m,S),x!=d;x++){let t=E.readFloat(),e=E.readFloat()*n;switch(E.readByte()){case Ce:y.setStepped(x);break;case Ee:Xt(E,y,h++,x,0,m,t,S,e,n)}m=t,S=e}return y}function Si(E,y,n){let m=E.readFloat(),S=E.readFloat()*n,x=E.readFloat()*n;for(let h=0,d=0,t=y.getFrameCount()-1;y.setFrame(h,m,S,x),h!=t;h++){let e=E.readFloat(),l=E.readFloat()*n,i=E.readFloat()*n;switch(E.readByte()){case Ce:y.setStepped(h);break;case Ee:Xt(E,y,d++,h,0,m,e,S,l,n),Xt(E,y,d++,h,1,m,e,x,i,n)}m=e,S=l,x=i}return y}function Xt(E,y,n,m,S,x,h,d,t,e){y.setBezier(n,m,S,x,d,E.readFloat(),E.readFloat()*e,E.readFloat(),E.readFloat()*e,h,t)}var jr=0,kr=1,qr=2,_r=3,ta=4,ea=5,ia=6,sa=7,na=8,ra=9,aa=10,oa=0,ha=1,la=2,ua=3,fa=4,da=5,va=0,ca=1,pa=0,ma=1,ga=2,xa=0,ya=1,Ta=2,Sa=4,Ca=5,Ea=6,Aa=7,Ma=8,Ce=1,Ee=2,Ra=class{constructor(){$(this,"minX",0);$(this,"minY",0);$(this,"maxX",0);$(this,"maxY",0);$(this,"boundingBoxes",new Array);$(this,"polygons",new Array);$(this,"polygonPool",new oi(()=>ut.newFloatArray(16)))}update(E,y){if(!E)throw new Error("skeleton cannot be null.");let n=this.boundingBoxes,m=this.polygons,S=this.polygonPool,x=E.slots,h=x.length;n.length=0,S.freeAll(m),m.length=0;for(let d=0;d=this.minX&&E<=this.maxX&&y>=this.minY&&y<=this.maxY}aabbIntersectsSegment(E,y,n,m){let S=this.minX,x=this.minY,h=this.maxX,d=this.maxY;if(E<=S&&n<=S||y<=x&&m<=x||E>=h&&n>=h||y>=d&&m>=d)return!1;let t=(m-y)/(n-E),e=t*(S-E)+y;if(e>x&&ex&&eS&&lS&&lE.minX&&this.minYE.minY}containsPoint(E,y){let n=this.polygons;for(let m=0,S=n.length;m=n||e=n){let l=m[d];l+(n-t)/(e-t)*(m[x]-l)=l&&c<=r||c>=r&&c<=l)&&(c>=y&&c<=m||c>=m&&c<=y)){let g=(e*f-t*a)/v;if((g>=i&&g<=o||g>=o&&g<=i)&&(g>=n&&g<=S||g>=S&&g<=n))return!0}l=r,i=o}return!1}getPolygon(E){if(!E)throw new Error("boundingBox cannot be null.");let y=this.boundingBoxes.indexOf(E);return y==-1?null:this.polygons[y]}getWidth(){return this.maxX-this.minX}getHeight(){return this.maxY-this.minY}},Pa=class me{constructor(){$(this,"convexPolygons",new Array);$(this,"convexPolygonsIndices",new Array);$(this,"indicesArray",new Array);$(this,"isConcaveArray",new Array);$(this,"triangles",new Array);$(this,"polygonPool",new oi(()=>new Array));$(this,"polygonIndicesPool",new oi(()=>new Array))}triangulate(y){let n=y,m=y.length>>1,S=this.indicesArray;S.length=0;for(let d=0;d3;){let d=m-1,t=0,e=1;for(;;){t:if(!x[t]){let s=S[d]<<1,r=S[t]<<1,o=S[e]<<1,a=n[s],u=n[s+1],f=n[r],v=n[r+1],c=n[o],g=n[o+1];for(let p=(e+1)%m;p!=d;p=(p+1)%m){if(!x[p])continue;let T=S[p]<<1,C=n[T],M=n[T+1];if(me.positiveArea(c,g,a,u,C,M)&&me.positiveArea(a,u,f,v,C,M)&&me.positiveArea(f,v,c,g,C,M))break t}break}if(e==0){do{if(!x[t])break;t--}while(t>0);break}d=t,t=e,e=(e+1)%m}h.push(S[(m+t-1)%m]),h.push(S[t]),h.push(S[(t+1)%m]),S.splice(t,1),x.splice(t,1),m--;let l=(m+t-1)%m,i=t==m?0:t;x[l]=me.isConcave(l,m,n,S),x[i]=me.isConcave(i,m,n,S)}return m==3&&(h.push(S[2]),h.push(S[0]),h.push(S[1])),h}decompose(y,n){let m=y,S=this.convexPolygons;this.polygonPool.freeAll(S),S.length=0;let x=this.convexPolygonsIndices;this.polygonIndicesPool.freeAll(x),x.length=0;let h=this.polygonIndicesPool.obtain();h.length=0;let d=this.polygonPool.obtain();d.length=0;let t=-1,e=0;for(let l=0,i=n.length;l0?(S.push(d),x.push(h)):(this.polygonPool.free(d),this.polygonIndicesPool.free(h)),d=this.polygonPool.obtain(),d.length=0,d.push(a),d.push(u),d.push(f),d.push(v),d.push(c),d.push(g),h=this.polygonIndicesPool.obtain(),h.length=0,h.push(s),h.push(r),h.push(o),e=me.winding(a,u,f,v,c,g),t=s)}d.length>0&&(S.push(d),x.push(h));for(let l=0,i=S.length;l=0;l--)d=S[l],d.length==0&&(S.splice(l,1),this.polygonPool.free(d),h=x[l],x.splice(l,1),this.polygonIndicesPool.free(h));return S}static isConcave(y,n,m,S){let x=S[(n+y-1)%n]<<1,h=S[y]<<1,d=S[(y+1)%n]<<1;return!this.positiveArea(m[x],m[x+1],m[h],m[h+1],m[d],m[d+1])}static positiveArea(y,n,m,S,x,h){return y*(h-S)+m*(n-h)+x*(S-n)>=0}static winding(y,n,m,S,x,h){let d=m-y,t=S-n;return x*t-h*d+d*n-y*t>=0?1:-1}},cn=class Li{constructor(){$(this,"triangulator",new Pa);$(this,"clippingPolygon",new Array);$(this,"clipOutput",new Array);$(this,"clippedVertices",new Array);$(this,"clippedUVs",new Array);$(this,"clippedTriangles",new Array);$(this,"scratch",new Array);$(this,"clipAttachment",null);$(this,"clippingPolygons",null)}clipStart(y,n){if(this.clipAttachment)return 0;this.clipAttachment=n;let m=n.worldVerticesLength,S=ut.setArraySize(this.clippingPolygon,m);n.computeWorldVertices(y,0,m,S,0,2);let x=this.clippingPolygon;Li.makeClockwise(x);let h=this.clippingPolygons=this.triangulator.decompose(x,this.triangulator.triangulate(x));for(let d=0,t=h.length;d>1,T=this.clipOutput,C=ut.setArraySize(x,c+p*2);for(let A=0;A>1,U=this.clipOutput,G=ut.setArraySize(e,w+V*r);for(let Y=0;Y>1,N=this.clipOutput,z=ut.setArraySize(h,P+D*2),V=ut.setArraySize(d,P+D*2);for(let G=0;G=2?(i=t,t=this.scratch):i=this.scratch,i.length=0,i.push(y),i.push(n),i.push(m),i.push(S),i.push(x),i.push(h),i.push(y),i.push(n),t.length=0;let s=d.length-4,r=d;for(let o=0;;o+=2){let a=r[o],u=r[o+1],f=a-r[o+2],v=u-r[o+3],c=t.length,g=i;for(let T=0,C=i.length-2;Tf*(u-P),F=v*(a-M)-f*(u-A);if(F>0){if(L){t.push(R),t.push(P);continue}let w=R-M,O=P-A,B=F/(w*v-O*f);if(B>=0&&B<=1)t.push(M+w*B),t.push(A+O*B);else{t.push(R),t.push(P);continue}}else if(L){let w=R-M,O=P-A,B=F/(w*v-O*f);if(B>=0&&B<=1)t.push(M+w*B),t.push(A+O*B),t.push(R),t.push(P);else{t.push(R),t.push(P);continue}}l=!0}if(c==t.length)return e.length=0,!0;if(t.push(t[0]),t.push(t[1]),o==s)break;let p=t;t=i,t.length=0,i=p}if(e!=t){e.length=0;for(let o=0,a=t.length-2;o>1;e0){let e=n.findPhysicsConstraint(h);if(!e)throw new Error("Physics constraint not found: "+h);t=n.physicsConstraints.indexOf(e)}for(let e in d){let l=d[e],i=l[0];if(!i)continue;let s=l.length;if(e=="reset"){const o=new Ks(s,t);for(let a=0;i!=null;i=l[a+1],a++)o.setFrame(a,st(i,"time",0));S.push(o);continue}let r;if(e=="inertia")r=new Us(s,s,t);else if(e=="strength")r=new zs(s,s,t);else if(e=="damping")r=new Ys(s,s,t);else if(e=="mass")r=new Vs(s,s,t);else if(e=="wind")r=new Xs(s,s,t);else if(e=="gravity")r=new Ws(s,s,t);else if(e=="mix")r=new Hs(s,s,t);else continue;S.push(xe(l,r,0,1))}}if(E.attachments)for(let h in E.attachments){let d=E.attachments[h],t=n.findSkin(h);if(!t)throw new Error("Skin not found: "+h);for(let e in d){let l=d[e],i=n.findSlot(e);if(!i)throw new Error("Slot not found: "+e);let s=i.index;for(let r in l){let o=l[r],a=t.getAttachment(s,r);for(let u in o){let f=o[u],v=f[0];if(v){if(u=="deform"){let c=a.bones,g=a.vertices,p=c?g.length/3*2:g.length,T=new Ds(f.length,f.length,s,a),C=st(v,"time",0);for(let M=0,A=0;;M++){let R,P=st(v,"vertices",null);if(!P)R=c?ut.newFloatArray(p):g;else{R=ut.newFloatArray(p);let O=st(v,"offset",0);if(ut.arrayCopy(P,0,R,O,P.length),m!=1)for(let B=O,I=B+P.length;B=0;u--)i[u]==-1&&(i[u]=r[--a])}h.setFrame(t,st(l,"time",0),i)}S.push(h)}if(E.events){let h=new Ii(E.events.length),d=0;for(let t=0;t"u"&&(Math.fround=function(E){return function(y){return E[0]=y,E[0]}}(new Float32Array(1)));var Oa=class extends js{constructor(E){super(E)}setFilters(E,y){}setWraps(E,y){}dispose(){}},wa=ut.newFloatArray(8),Me,Da=(Me=class{constructor(y){$(this,"ctx");$(this,"triangleRendering",!1);$(this,"debugRendering",!1);$(this,"vertices",ut.newFloatArray(8*1024));$(this,"tempColor",new It);this.ctx=y}draw(y){this.triangleRendering?this.drawTriangles(y):this.drawImages(y)}drawImages(y){let n=this.ctx,m=this.tempColor,S=y.color,x=y.drawOrder;this.debugRendering&&(n.strokeStyle="green");for(let h=0,d=x.length;h{E&&E.preventDefault()});$(this,"contextRestoredHandler",()=>{for(let E=0,y=this.restorables.length;E-1&&this.restorables.splice(y,1)}},ze,Ba=(ze=class extends js{constructor(n,m,S=!1){super(m);$(this,"context");$(this,"texture",null);$(this,"boundUnit",0);$(this,"useMipMaps",!1);this.context=n instanceof ve?n:new ve(n),this.useMipMaps=S,this.restore(),this.context.addRestorable(this)}setFilters(n,m){let S=this.context.gl;this.bind(),S.texParameteri(S.TEXTURE_2D,S.TEXTURE_MIN_FILTER,n),S.texParameteri(S.TEXTURE_2D,S.TEXTURE_MAG_FILTER,ze.validateMagFilter(m)),this.useMipMaps=ze.usesMipMaps(n),this.useMipMaps&&S.generateMipmap(S.TEXTURE_2D)}static validateMagFilter(n){switch(n){case 9987:case 9985:case 9986:case 9984:return 9729;default:return n}}static usesMipMaps(n){switch(n){case 9987:case 9985:case 9986:case 9984:return!0;default:return!1}}setWraps(n,m){let S=this.context.gl;this.bind(),S.texParameteri(S.TEXTURE_2D,S.TEXTURE_WRAP_S,n),S.texParameteri(S.TEXTURE_2D,S.TEXTURE_WRAP_T,m)}update(n){let m=this.context.gl;this.texture||(this.texture=this.context.gl.createTexture()),this.bind(),m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,this._image),m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MAG_FILTER,m.LINEAR),m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MIN_FILTER,n?m.LINEAR_MIPMAP_LINEAR:m.LINEAR),m.texParameteri(m.TEXTURE_2D,m.TEXTURE_WRAP_S,m.CLAMP_TO_EDGE),m.texParameteri(m.TEXTURE_2D,m.TEXTURE_WRAP_T,m.CLAMP_TO_EDGE),n&&m.generateMipmap(m.TEXTURE_2D)}restore(){this.texture=null,this.update(this.useMipMaps)}bind(n=0){let m=this.context.gl;this.boundUnit=n,m.activeTexture(m.TEXTURE0+n),m.bindTexture(m.TEXTURE_2D,this.texture)}unbind(){let n=this.context.gl;n.activeTexture(n.TEXTURE0+this.boundUnit),n.bindTexture(n.TEXTURE_2D,null)}dispose(){this.context.removeRestorable(this),this.context.gl.deleteTexture(this.texture)}},$(ze,"DISABLE_UNPACK_PREMULTIPLIED_ALPHA_WEBGL",!1),ze),ke=class{constructor(E=0,y=0,n=0){$(this,"x",0);$(this,"y",0);$(this,"z",0);this.x=E,this.y=y,this.z=n}setFrom(E){return this.x=E.x,this.y=E.y,this.z=E.z,this}set(E,y,n){return this.x=E,this.y=y,this.z=n,this}add(E){return this.x+=E.x,this.y+=E.y,this.z+=E.z,this}sub(E){return this.x-=E.x,this.y-=E.y,this.z-=E.z,this}scale(E){return this.x*=E,this.y*=E,this.z*=E,this}normalize(){let E=this.length();return E==0?this:(E=1/E,this.x*=E,this.y*=E,this.z*=E,this)}cross(E){return this.set(this.y*E.z-this.z*E.y,this.z*E.x-this.x*E.z,this.x*E.y-this.y*E.x)}multiply(E){let y=E.values;return this.set(this.x*y[pt]+this.y*y[St]+this.z*y[Ct]+y[mt],this.x*y[Et]+this.y*y[gt]+this.z*y[At]+y[xt],this.x*y[Mt]+this.y*y[Rt]+this.z*y[yt]+y[Tt])}project(E){let y=E.values,n=1/(this.x*y[Ft]+this.y*y[Ot]+this.z*y[wt]+y[Pt]);return this.set((this.x*y[pt]+this.y*y[St]+this.z*y[Ct]+y[mt])*n,(this.x*y[Et]+this.y*y[gt]+this.z*y[At]+y[xt])*n,(this.x*y[Mt]+this.y*y[Rt]+this.z*y[yt]+y[Tt])*n)}dot(E){return this.x*E.x+this.y*E.y+this.z*E.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}distance(E){let y=E.x-this.x,n=E.y-this.y,m=E.z-this.z;return Math.sqrt(y*y+n*n+m*m)}},pt=0,St=4,Ct=8,mt=12,Et=1,gt=5,At=9,xt=13,Mt=2,Rt=6,yt=10,Tt=14,Ft=3,Ot=7,wt=11,Pt=15,ne,si=(ne=class{constructor(){$(this,"temp",new Float32Array(16));$(this,"values",new Float32Array(16));let y=this.values;y[pt]=1,y[gt]=1,y[yt]=1,y[Pt]=1}set(y){return this.values.set(y),this}transpose(){let y=this.temp,n=this.values;return y[pt]=n[pt],y[St]=n[Et],y[Ct]=n[Mt],y[mt]=n[Ft],y[Et]=n[St],y[gt]=n[gt],y[At]=n[Rt],y[xt]=n[Ot],y[Mt]=n[Ct],y[Rt]=n[At],y[yt]=n[yt],y[Tt]=n[wt],y[Ft]=n[mt],y[Ot]=n[xt],y[wt]=n[Tt],y[Pt]=n[Pt],this.set(y)}identity(){let y=this.values;return y[pt]=1,y[St]=0,y[Ct]=0,y[mt]=0,y[Et]=0,y[gt]=1,y[At]=0,y[xt]=0,y[Mt]=0,y[Rt]=0,y[yt]=1,y[Tt]=0,y[Ft]=0,y[Ot]=0,y[wt]=0,y[Pt]=1,this}invert(){let y=this.values,n=this.temp,m=y[Ft]*y[Rt]*y[At]*y[mt]-y[Mt]*y[Ot]*y[At]*y[mt]-y[Ft]*y[gt]*y[yt]*y[mt]+y[Et]*y[Ot]*y[yt]*y[mt]+y[Mt]*y[gt]*y[wt]*y[mt]-y[Et]*y[Rt]*y[wt]*y[mt]-y[Ft]*y[Rt]*y[Ct]*y[xt]+y[Mt]*y[Ot]*y[Ct]*y[xt]+y[Ft]*y[St]*y[yt]*y[xt]-y[pt]*y[Ot]*y[yt]*y[xt]-y[Mt]*y[St]*y[wt]*y[xt]+y[pt]*y[Rt]*y[wt]*y[xt]+y[Ft]*y[gt]*y[Ct]*y[Tt]-y[Et]*y[Ot]*y[Ct]*y[Tt]-y[Ft]*y[St]*y[At]*y[Tt]+y[pt]*y[Ot]*y[At]*y[Tt]+y[Et]*y[St]*y[wt]*y[Tt]-y[pt]*y[gt]*y[wt]*y[Tt]-y[Mt]*y[gt]*y[Ct]*y[Pt]+y[Et]*y[Rt]*y[Ct]*y[Pt]+y[Mt]*y[St]*y[At]*y[Pt]-y[pt]*y[Rt]*y[At]*y[Pt]-y[Et]*y[St]*y[yt]*y[Pt]+y[pt]*y[gt]*y[yt]*y[Pt];if(m==0)throw new Error("non-invertible matrix");let S=1/m;return n[pt]=y[At]*y[Tt]*y[Ot]-y[xt]*y[yt]*y[Ot]+y[xt]*y[Rt]*y[wt]-y[gt]*y[Tt]*y[wt]-y[At]*y[Rt]*y[Pt]+y[gt]*y[yt]*y[Pt],n[St]=y[mt]*y[yt]*y[Ot]-y[Ct]*y[Tt]*y[Ot]-y[mt]*y[Rt]*y[wt]+y[St]*y[Tt]*y[wt]+y[Ct]*y[Rt]*y[Pt]-y[St]*y[yt]*y[Pt],n[Ct]=y[Ct]*y[xt]*y[Ot]-y[mt]*y[At]*y[Ot]+y[mt]*y[gt]*y[wt]-y[St]*y[xt]*y[wt]-y[Ct]*y[gt]*y[Pt]+y[St]*y[At]*y[Pt],n[mt]=y[mt]*y[At]*y[Rt]-y[Ct]*y[xt]*y[Rt]-y[mt]*y[gt]*y[yt]+y[St]*y[xt]*y[yt]+y[Ct]*y[gt]*y[Tt]-y[St]*y[At]*y[Tt],n[Et]=y[xt]*y[yt]*y[Ft]-y[At]*y[Tt]*y[Ft]-y[xt]*y[Mt]*y[wt]+y[Et]*y[Tt]*y[wt]+y[At]*y[Mt]*y[Pt]-y[Et]*y[yt]*y[Pt],n[gt]=y[Ct]*y[Tt]*y[Ft]-y[mt]*y[yt]*y[Ft]+y[mt]*y[Mt]*y[wt]-y[pt]*y[Tt]*y[wt]-y[Ct]*y[Mt]*y[Pt]+y[pt]*y[yt]*y[Pt],n[At]=y[mt]*y[At]*y[Ft]-y[Ct]*y[xt]*y[Ft]-y[mt]*y[Et]*y[wt]+y[pt]*y[xt]*y[wt]+y[Ct]*y[Et]*y[Pt]-y[pt]*y[At]*y[Pt],n[xt]=y[Ct]*y[xt]*y[Mt]-y[mt]*y[At]*y[Mt]+y[mt]*y[Et]*y[yt]-y[pt]*y[xt]*y[yt]-y[Ct]*y[Et]*y[Tt]+y[pt]*y[At]*y[Tt],n[Mt]=y[gt]*y[Tt]*y[Ft]-y[xt]*y[Rt]*y[Ft]+y[xt]*y[Mt]*y[Ot]-y[Et]*y[Tt]*y[Ot]-y[gt]*y[Mt]*y[Pt]+y[Et]*y[Rt]*y[Pt],n[Rt]=y[mt]*y[Rt]*y[Ft]-y[St]*y[Tt]*y[Ft]-y[mt]*y[Mt]*y[Ot]+y[pt]*y[Tt]*y[Ot]+y[St]*y[Mt]*y[Pt]-y[pt]*y[Rt]*y[Pt],n[yt]=y[St]*y[xt]*y[Ft]-y[mt]*y[gt]*y[Ft]+y[mt]*y[Et]*y[Ot]-y[pt]*y[xt]*y[Ot]-y[St]*y[Et]*y[Pt]+y[pt]*y[gt]*y[Pt],n[Tt]=y[mt]*y[gt]*y[Mt]-y[St]*y[xt]*y[Mt]-y[mt]*y[Et]*y[Rt]+y[pt]*y[xt]*y[Rt]+y[St]*y[Et]*y[Tt]-y[pt]*y[gt]*y[Tt],n[Ft]=y[At]*y[Rt]*y[Ft]-y[gt]*y[yt]*y[Ft]-y[At]*y[Mt]*y[Ot]+y[Et]*y[yt]*y[Ot]+y[gt]*y[Mt]*y[wt]-y[Et]*y[Rt]*y[wt],n[Ot]=y[St]*y[yt]*y[Ft]-y[Ct]*y[Rt]*y[Ft]+y[Ct]*y[Mt]*y[Ot]-y[pt]*y[yt]*y[Ot]-y[St]*y[Mt]*y[wt]+y[pt]*y[Rt]*y[wt],n[wt]=y[Ct]*y[gt]*y[Ft]-y[St]*y[At]*y[Ft]-y[Ct]*y[Et]*y[Ot]+y[pt]*y[At]*y[Ot]+y[St]*y[Et]*y[wt]-y[pt]*y[gt]*y[wt],n[Pt]=y[St]*y[At]*y[Mt]-y[Ct]*y[gt]*y[Mt]+y[Ct]*y[Et]*y[Rt]-y[pt]*y[At]*y[Rt]-y[St]*y[Et]*y[yt]+y[pt]*y[gt]*y[yt],y[pt]=n[pt]*S,y[St]=n[St]*S,y[Ct]=n[Ct]*S,y[mt]=n[mt]*S,y[Et]=n[Et]*S,y[gt]=n[gt]*S,y[At]=n[At]*S,y[xt]=n[xt]*S,y[Mt]=n[Mt]*S,y[Rt]=n[Rt]*S,y[yt]=n[yt]*S,y[Tt]=n[Tt]*S,y[Ft]=n[Ft]*S,y[Ot]=n[Ot]*S,y[wt]=n[wt]*S,y[Pt]=n[Pt]*S,this}determinant(){let y=this.values;return y[Ft]*y[Rt]*y[At]*y[mt]-y[Mt]*y[Ot]*y[At]*y[mt]-y[Ft]*y[gt]*y[yt]*y[mt]+y[Et]*y[Ot]*y[yt]*y[mt]+y[Mt]*y[gt]*y[wt]*y[mt]-y[Et]*y[Rt]*y[wt]*y[mt]-y[Ft]*y[Rt]*y[Ct]*y[xt]+y[Mt]*y[Ot]*y[Ct]*y[xt]+y[Ft]*y[St]*y[yt]*y[xt]-y[pt]*y[Ot]*y[yt]*y[xt]-y[Mt]*y[St]*y[wt]*y[xt]+y[pt]*y[Rt]*y[wt]*y[xt]+y[Ft]*y[gt]*y[Ct]*y[Tt]-y[Et]*y[Ot]*y[Ct]*y[Tt]-y[Ft]*y[St]*y[At]*y[Tt]+y[pt]*y[Ot]*y[At]*y[Tt]+y[Et]*y[St]*y[wt]*y[Tt]-y[pt]*y[gt]*y[wt]*y[Tt]-y[Mt]*y[gt]*y[Ct]*y[Pt]+y[Et]*y[Rt]*y[Ct]*y[Pt]+y[Mt]*y[St]*y[At]*y[Pt]-y[pt]*y[Rt]*y[At]*y[Pt]-y[Et]*y[St]*y[yt]*y[Pt]+y[pt]*y[gt]*y[yt]*y[Pt]}translate(y,n,m){let S=this.values;return S[mt]+=y,S[xt]+=n,S[Tt]+=m,this}copy(){return new ne().set(this.values)}projection(y,n,m,S){this.identity();let x=1/Math.tan(m*(Math.PI/180)/2),h=(n+y)/(y-n),d=2*n*y/(y-n),t=this.values;return t[pt]=x/S,t[Et]=0,t[Mt]=0,t[Ft]=0,t[St]=0,t[gt]=x,t[Rt]=0,t[Ot]=0,t[Ct]=0,t[At]=0,t[yt]=h,t[wt]=-1,t[mt]=0,t[xt]=0,t[Tt]=d,t[Pt]=0,this}ortho2d(y,n,m,S){return this.ortho(y,y+m,n,n+S,0,1)}ortho(y,n,m,S,x,h){this.identity();let d=2/(n-y),t=2/(S-m),e=-2/(h-x),l=-(n+y)/(n-y),i=-(S+m)/(S-m),s=-(h+x)/(h-x),r=this.values;return r[pt]=d,r[Et]=0,r[Mt]=0,r[Ft]=0,r[St]=0,r[gt]=t,r[Rt]=0,r[Ot]=0,r[Ct]=0,r[At]=0,r[yt]=e,r[wt]=0,r[mt]=l,r[xt]=i,r[Tt]=s,r[Pt]=1,this}multiply(y){let n=this.temp,m=this.values,S=y.values;return n[pt]=m[pt]*S[pt]+m[St]*S[Et]+m[Ct]*S[Mt]+m[mt]*S[Ft],n[St]=m[pt]*S[St]+m[St]*S[gt]+m[Ct]*S[Rt]+m[mt]*S[Ot],n[Ct]=m[pt]*S[Ct]+m[St]*S[At]+m[Ct]*S[yt]+m[mt]*S[wt],n[mt]=m[pt]*S[mt]+m[St]*S[xt]+m[Ct]*S[Tt]+m[mt]*S[Pt],n[Et]=m[Et]*S[pt]+m[gt]*S[Et]+m[At]*S[Mt]+m[xt]*S[Ft],n[gt]=m[Et]*S[St]+m[gt]*S[gt]+m[At]*S[Rt]+m[xt]*S[Ot],n[At]=m[Et]*S[Ct]+m[gt]*S[At]+m[At]*S[yt]+m[xt]*S[wt],n[xt]=m[Et]*S[mt]+m[gt]*S[xt]+m[At]*S[Tt]+m[xt]*S[Pt],n[Mt]=m[Mt]*S[pt]+m[Rt]*S[Et]+m[yt]*S[Mt]+m[Tt]*S[Ft],n[Rt]=m[Mt]*S[St]+m[Rt]*S[gt]+m[yt]*S[Rt]+m[Tt]*S[Ot],n[yt]=m[Mt]*S[Ct]+m[Rt]*S[At]+m[yt]*S[yt]+m[Tt]*S[wt],n[Tt]=m[Mt]*S[mt]+m[Rt]*S[xt]+m[yt]*S[Tt]+m[Tt]*S[Pt],n[Ft]=m[Ft]*S[pt]+m[Ot]*S[Et]+m[wt]*S[Mt]+m[Pt]*S[Ft],n[Ot]=m[Ft]*S[St]+m[Ot]*S[gt]+m[wt]*S[Rt]+m[Pt]*S[Ot],n[wt]=m[Ft]*S[Ct]+m[Ot]*S[At]+m[wt]*S[yt]+m[Pt]*S[wt],n[Pt]=m[Ft]*S[mt]+m[Ot]*S[xt]+m[wt]*S[Tt]+m[Pt]*S[Pt],this.set(this.temp)}multiplyLeft(y){let n=this.temp,m=this.values,S=y.values;return n[pt]=S[pt]*m[pt]+S[St]*m[Et]+S[Ct]*m[Mt]+S[mt]*m[Ft],n[St]=S[pt]*m[St]+S[St]*m[gt]+S[Ct]*m[Rt]+S[mt]*m[Ot],n[Ct]=S[pt]*m[Ct]+S[St]*m[At]+S[Ct]*m[yt]+S[mt]*m[wt],n[mt]=S[pt]*m[mt]+S[St]*m[xt]+S[Ct]*m[Tt]+S[mt]*m[Pt],n[Et]=S[Et]*m[pt]+S[gt]*m[Et]+S[At]*m[Mt]+S[xt]*m[Ft],n[gt]=S[Et]*m[St]+S[gt]*m[gt]+S[At]*m[Rt]+S[xt]*m[Ot],n[At]=S[Et]*m[Ct]+S[gt]*m[At]+S[At]*m[yt]+S[xt]*m[wt],n[xt]=S[Et]*m[mt]+S[gt]*m[xt]+S[At]*m[Tt]+S[xt]*m[Pt],n[Mt]=S[Mt]*m[pt]+S[Rt]*m[Et]+S[yt]*m[Mt]+S[Tt]*m[Ft],n[Rt]=S[Mt]*m[St]+S[Rt]*m[gt]+S[yt]*m[Rt]+S[Tt]*m[Ot],n[yt]=S[Mt]*m[Ct]+S[Rt]*m[At]+S[yt]*m[yt]+S[Tt]*m[wt],n[Tt]=S[Mt]*m[mt]+S[Rt]*m[xt]+S[yt]*m[Tt]+S[Tt]*m[Pt],n[Ft]=S[Ft]*m[pt]+S[Ot]*m[Et]+S[wt]*m[Mt]+S[Pt]*m[Ft],n[Ot]=S[Ft]*m[St]+S[Ot]*m[gt]+S[wt]*m[Rt]+S[Pt]*m[Ot],n[wt]=S[Ft]*m[Ct]+S[Ot]*m[At]+S[wt]*m[yt]+S[Pt]*m[wt],n[Pt]=S[Ft]*m[mt]+S[Ot]*m[xt]+S[wt]*m[Tt]+S[Pt]*m[Pt],this.set(this.temp)}lookAt(y,n,m){let S=ne.xAxis,x=ne.yAxis,h=ne.zAxis;h.setFrom(n).normalize(),S.setFrom(n).normalize(),S.cross(m).normalize(),x.setFrom(S).cross(h).normalize(),this.identity();let d=this.values;return d[pt]=S.x,d[St]=S.y,d[Ct]=S.z,d[Et]=x.x,d[gt]=x.y,d[At]=x.z,d[Mt]=-h.x,d[Rt]=-h.y,d[yt]=-h.z,ne.tmpMatrix.identity(),ne.tmpMatrix.values[mt]=-y.x,ne.tmpMatrix.values[xt]=-y.y,ne.tmpMatrix.values[Tt]=-y.z,this.multiply(ne.tmpMatrix),this}},$(ne,"xAxis",new ke),$(ne,"yAxis",new ke),$(ne,"zAxis",new ke),$(ne,"tmpMatrix",new ne),ne),Ia=class{constructor(E,y){$(this,"position",new ke(0,0,0));$(this,"direction",new ke(0,0,-1));$(this,"up",new ke(0,1,0));$(this,"near",0);$(this,"far",100);$(this,"zoom",1);$(this,"viewportWidth",0);$(this,"viewportHeight",0);$(this,"projectionView",new si);$(this,"inverseProjectionView",new si);$(this,"projection",new si);$(this,"view",new si);this.viewportWidth=E,this.viewportHeight=y,this.update()}update(){let E=this.projection,y=this.view,n=this.projectionView,m=this.inverseProjectionView,S=this.zoom,x=this.viewportWidth,h=this.viewportHeight;E.ortho(S*(-x/2),S*(x/2),S*(-h/2),S*(h/2),this.near,this.far),y.lookAt(this.position,this.direction,this.up),n.set(E.values),n.multiply(y),m.set(n.values).invert()}screenToWorld(E,y,n){let m=E.x,S=n-E.y-1;return E.x=2*m/y-1,E.y=2*S/n-1,E.z=2*E.z-1,E.project(this.inverseProjectionView),E}worldToScreen(E,y,n){return E.project(this.projectionView),E.x=y*(E.x+1)/2,E.y=n*(E.y+1)/2,E.z=(E.z+1)/2,E}setViewport(E,y){this.viewportWidth=E,this.viewportHeight=y}},Vt,Oe=(Vt=class{constructor(y,n,m){$(this,"context");$(this,"vs",null);$(this,"vsSource");$(this,"fs",null);$(this,"fsSource");$(this,"program",null);$(this,"tmp2x2",new Float32Array(2*2));$(this,"tmp3x3",new Float32Array(3*3));$(this,"tmp4x4",new Float32Array(4*4));this.vertexShader=n,this.fragmentShader=m,this.vsSource=n,this.fsSource=m,this.context=y instanceof ve?y:new ve(y),this.context.addRestorable(this),this.compile()}getProgram(){return this.program}getVertexShader(){return this.vertexShader}getFragmentShader(){return this.fragmentShader}getVertexShaderSource(){return this.vsSource}getFragmentSource(){return this.fsSource}compile(){let y=this.context.gl;try{if(this.vs=this.compileShader(y.VERTEX_SHADER,this.vertexShader),!this.vs)throw new Error("Couldn't compile vertex shader.");if(this.fs=this.compileShader(y.FRAGMENT_SHADER,this.fragmentShader),!this.fs)throw new Error("Couldn#t compile fragment shader.");this.program=this.compileProgram(this.vs,this.fs)}catch(n){throw this.dispose(),n}}compileShader(y,n){let m=this.context.gl,S=m.createShader(y);if(!S)throw new Error("Couldn't create shader.");if(m.shaderSource(S,n),m.compileShader(S),!m.getShaderParameter(S,m.COMPILE_STATUS)){let x="Couldn't compile shader: "+m.getShaderInfoLog(S);if(m.deleteShader(S),!m.isContextLost())throw new Error(x)}return S}compileProgram(y,n){let m=this.context.gl,S=m.createProgram();if(!S)throw new Error("Couldn't compile program.");if(m.attachShader(S,y),m.attachShader(S,n),m.linkProgram(S),!m.getProgramParameter(S,m.LINK_STATUS)){let x="Couldn't compile shader program: "+m.getProgramInfoLog(S);if(m.deleteProgram(S),!m.isContextLost())throw new Error(x)}return S}restore(){this.compile()}bind(){this.context.gl.useProgram(this.program)}unbind(){this.context.gl.useProgram(null)}setUniformi(y,n){this.context.gl.uniform1i(this.getUniformLocation(y),n)}setUniformf(y,n){this.context.gl.uniform1f(this.getUniformLocation(y),n)}setUniform2f(y,n,m){this.context.gl.uniform2f(this.getUniformLocation(y),n,m)}setUniform3f(y,n,m,S){this.context.gl.uniform3f(this.getUniformLocation(y),n,m,S)}setUniform4f(y,n,m,S,x){this.context.gl.uniform4f(this.getUniformLocation(y),n,m,S,x)}setUniform2x2f(y,n){let m=this.context.gl;this.tmp2x2.set(n),m.uniformMatrix2fv(this.getUniformLocation(y),!1,this.tmp2x2)}setUniform3x3f(y,n){let m=this.context.gl;this.tmp3x3.set(n),m.uniformMatrix3fv(this.getUniformLocation(y),!1,this.tmp3x3)}setUniform4x4f(y,n){let m=this.context.gl;this.tmp4x4.set(n),m.uniformMatrix4fv(this.getUniformLocation(y),!1,this.tmp4x4)}getUniformLocation(y){let n=this.context.gl;if(!this.program)throw new Error("Shader not compiled.");let m=n.getUniformLocation(this.program,y);if(!m&&!n.isContextLost())throw new Error(`Couldn't find location for uniform ${y}`);return m}getAttributeLocation(y){let n=this.context.gl;if(!this.program)throw new Error("Shader not compiled.");let m=n.getAttribLocation(this.program,y);if(m==-1&&!n.isContextLost())throw new Error(`Couldn't find location for attribute ${y}`);return m}dispose(){this.context.removeRestorable(this);let y=this.context.gl;this.vs&&(y.deleteShader(this.vs),this.vs=null),this.fs&&(y.deleteShader(this.fs),this.fs=null),this.program&&(y.deleteProgram(this.program),this.program=null)}static newColoredTextured(y){let n=` +attribute vec4 ${Vt.POSITION}; +attribute vec4 ${Vt.COLOR}; +attribute vec2 ${Vt.TEXCOORDS}; +uniform mat4 ${Vt.MVP_MATRIX}; +varying vec4 v_color; +varying vec2 v_texCoords; + +void main () { + v_color = ${Vt.COLOR}; + v_texCoords = ${Vt.TEXCOORDS}; + gl_Position = ${Vt.MVP_MATRIX} * ${Vt.POSITION}; +} +`,m=` +#ifdef GL_ES + #define LOWP lowp + precision mediump float; +#else + #define LOWP +#endif +varying LOWP vec4 v_color; +varying vec2 v_texCoords; +uniform sampler2D u_texture; + +void main () { + gl_FragColor = v_color * texture2D(u_texture, v_texCoords); +} +`;return new Vt(y,n,m)}static newTwoColoredTextured(y){let n=` +attribute vec4 ${Vt.POSITION}; +attribute vec4 ${Vt.COLOR}; +attribute vec4 ${Vt.COLOR2}; +attribute vec2 ${Vt.TEXCOORDS}; +uniform mat4 ${Vt.MVP_MATRIX}; +varying vec4 v_light; +varying vec4 v_dark; +varying vec2 v_texCoords; + +void main () { + v_light = ${Vt.COLOR}; + v_dark = ${Vt.COLOR2}; + v_texCoords = ${Vt.TEXCOORDS}; + gl_Position = ${Vt.MVP_MATRIX} * ${Vt.POSITION}; +} +`,m=` +#ifdef GL_ES + #define LOWP lowp + precision mediump float; +#else + #define LOWP +#endif +varying LOWP vec4 v_light; +varying LOWP vec4 v_dark; +varying vec2 v_texCoords; +uniform sampler2D u_texture; + +void main () { + vec4 texColor = texture2D(u_texture, v_texCoords); + gl_FragColor.a = texColor.a * v_light.a; + gl_FragColor.rgb = ((texColor.a - 1.0) * v_dark.a + 1.0 - texColor.rgb) * v_dark.rgb + texColor.rgb * v_light.rgb; +} +`;return new Vt(y,n,m)}static newColored(y){let n=` +attribute vec4 ${Vt.POSITION}; +attribute vec4 ${Vt.COLOR}; +uniform mat4 ${Vt.MVP_MATRIX}; +varying vec4 v_color; + +void main () { + v_color = ${Vt.COLOR}; + gl_Position = ${Vt.MVP_MATRIX} * ${Vt.POSITION}; +} +`,m=` +#ifdef GL_ES + #define LOWP lowp + precision mediump float; +#else + #define LOWP +#endif +varying LOWP vec4 v_color; + +void main () { + gl_FragColor = v_color; +} +`;return new Vt(y,n,m)}},$(Vt,"MVP_MATRIX","u_projTrans"),$(Vt,"POSITION","a_position"),$(Vt,"COLOR","a_color"),$(Vt,"COLOR2","a_color2"),$(Vt,"TEXCOORDS","a_texCoords"),$(Vt,"SAMPLER","u_texture"),Vt),pn=class{constructor(E,y,n,m){$(this,"context");$(this,"vertices");$(this,"verticesBuffer",null);$(this,"verticesLength",0);$(this,"dirtyVertices",!1);$(this,"indices");$(this,"indicesBuffer",null);$(this,"indicesLength",0);$(this,"dirtyIndices",!1);$(this,"elementsPerVertex",0);this.attributes=y,this.context=E instanceof ve?E:new ve(E),this.elementsPerVertex=0;for(let S=0;Sthis.vertices.length)throw Error("Mesh can't store more than "+this.maxVertices()+" vertices");this.vertices.set(E,0),this.verticesLength=E.length}setIndices(E){if(this.dirtyIndices=!0,E.length>this.indices.length)throw Error("Mesh can't store more than "+this.maxIndices()+" indices");this.indices.set(E,0),this.indicesLength=E.length}draw(E,y){this.drawWithOffset(E,y,0,this.indicesLength>0?this.indicesLength:this.verticesLength/this.elementsPerVertex)}drawWithOffset(E,y,n,m){let S=this.context.gl;(this.dirtyVertices||this.dirtyIndices)&&this.update(),this.bind(E),this.indicesLength>0?S.drawElements(y,m,S.UNSIGNED_SHORT,n*2):S.drawArrays(y,n,m),this.unbind(E)}bind(E){let y=this.context.gl;y.bindBuffer(y.ARRAY_BUFFER,this.verticesBuffer);let n=0;for(let m=0;m0&&y.bindBuffer(y.ELEMENT_ARRAY_BUFFER,this.indicesBuffer)}unbind(E){let y=this.context.gl;for(let n=0;n0&&y.bindBuffer(y.ELEMENT_ARRAY_BUFFER,null)}update(){let E=this.context.gl;this.dirtyVertices&&(this.verticesBuffer||(this.verticesBuffer=E.createBuffer()),E.bindBuffer(E.ARRAY_BUFFER,this.verticesBuffer),E.bufferData(E.ARRAY_BUFFER,this.vertices.subarray(0,this.verticesLength),E.DYNAMIC_DRAW),this.dirtyVertices=!1),this.dirtyIndices&&(this.indicesBuffer||(this.indicesBuffer=E.createBuffer()),E.bindBuffer(E.ELEMENT_ARRAY_BUFFER,this.indicesBuffer),E.bufferData(E.ELEMENT_ARRAY_BUFFER,this.indices.subarray(0,this.indicesLength),E.DYNAMIC_DRAW),this.dirtyIndices=!1)}restore(){this.verticesBuffer=null,this.indicesBuffer=null,this.update()}dispose(){this.context.removeRestorable(this);let E=this.context.gl;E.deleteBuffer(this.verticesBuffer),E.deleteBuffer(this.indicesBuffer)}},mi=class{constructor(E,y,n){this.name=E,this.type=y,this.numElements=n}},Fi=class extends mi{constructor(){super(Oe.POSITION,0,2)}},ji=class extends mi{constructor(E=0){super(Oe.TEXCOORDS+(E==0?"":E),0,2)}},Oi=class extends mi{constructor(){super(Oe.COLOR,0,4)}},Na=class extends mi{constructor(){super(Oe.COLOR2,0,4)}},Le=1,ba=769,ki=770,qi=771,_i=774,ge,ts=(ge=class{constructor(y,n=!0,m=10920){$(this,"context");$(this,"drawCalls",0);$(this,"isDrawing",!1);$(this,"mesh");$(this,"shader",null);$(this,"lastTexture",null);$(this,"verticesLength",0);$(this,"indicesLength",0);$(this,"srcColorBlend");$(this,"srcAlphaBlend");$(this,"dstBlend");$(this,"cullWasEnabled",!1);if(m>10920)throw new Error("Can't have more than 10920 triangles per batch: "+m);this.context=y instanceof ve?y:new ve(y);let S=n?[new Fi,new Oi,new ji,new Na]:[new Fi,new Oi,new ji];this.mesh=new pn(y,S,m,m*3);let x=this.context.gl;this.srcColorBlend=x.SRC_ALPHA,this.srcAlphaBlend=x.ONE,this.dstBlend=x.ONE_MINUS_SRC_ALPHA}begin(y){if(this.isDrawing)throw new Error("PolygonBatch is already drawing. Call PolygonBatch.end() before calling PolygonBatch.begin()");this.drawCalls=0,this.shader=y,this.lastTexture=null,this.isDrawing=!0;let n=this.context.gl;n.enable(n.BLEND),n.blendFuncSeparate(this.srcColorBlend,this.dstBlend,this.srcAlphaBlend,this.dstBlend)}setBlendMode(y,n){const m=ge.blendModesGL[y],S=n?m.srcRgbPma:m.srcRgb,x=m.srcAlpha,h=m.dstRgb;if(this.srcColorBlend==S&&this.srcAlphaBlend==x&&this.dstBlend==h)return;this.srcColorBlend=S,this.srcAlphaBlend=x,this.dstBlend=h,this.isDrawing&&this.flush(),this.context.gl.blendFuncSeparate(S,h,x,h)}draw(y,n,m){y!=this.lastTexture?(this.flush(),this.lastTexture=y):(this.verticesLength+n.length>this.mesh.getVertices().length||this.indicesLength+m.length>this.mesh.getIndices().length)&&this.flush();let S=this.mesh.numVertices();this.mesh.getVertices().set(n,this.verticesLength),this.verticesLength+=n.length,this.mesh.setVerticesLength(this.verticesLength);let x=this.mesh.getIndices();for(let h=this.indicesLength,d=0;d0||this.indicesLength>0)&&this.flush(),this.shader=null,this.lastTexture=null,this.isDrawing=!1;let y=this.context.gl;y.disable(y.BLEND)}getDrawCalls(){return this.drawCalls}static getAndResetGlobalDrawCalls(){let y=ge.globalDrawCalls;return ge.globalDrawCalls=0,y}dispose(){this.mesh.dispose()}},$(ge,"disableCulling",!1),$(ge,"globalDrawCalls",0),$(ge,"blendModesGL",[{srcRgb:ki,srcRgbPma:Le,dstRgb:qi,srcAlpha:Le},{srcRgb:ki,srcRgbPma:Le,dstRgb:Le,srcAlpha:Le},{srcRgb:_i,srcRgbPma:_i,dstRgb:qi,srcAlpha:Le},{srcRgb:Le,srcRgbPma:Le,dstRgb:ba,srcAlpha:Le}]),ge),es=class{constructor(E,y=10920){$(this,"context");$(this,"isDrawing",!1);$(this,"mesh");$(this,"shapeType",4);$(this,"color",new It(1,1,1,1));$(this,"shader",null);$(this,"vertexIndex",0);$(this,"tmp",new qe);$(this,"srcColorBlend");$(this,"srcAlphaBlend");$(this,"dstBlend");if(y>10920)throw new Error("Can't have more than 10920 triangles per batch: "+y);this.context=E instanceof ve?E:new ve(E),this.mesh=new pn(E,[new Fi,new Oi],y,0);let n=this.context.gl;this.srcColorBlend=n.SRC_ALPHA,this.srcAlphaBlend=n.ONE,this.dstBlend=n.ONE_MINUS_SRC_ALPHA}begin(E){if(this.isDrawing)throw new Error("ShapeRenderer.begin() has already been called");this.shader=E,this.vertexIndex=0,this.isDrawing=!0;let y=this.context.gl;y.enable(y.BLEND),y.blendFuncSeparate(this.srcColorBlend,this.dstBlend,this.srcAlphaBlend,this.dstBlend)}setBlendMode(E,y,n){this.srcColorBlend=E,this.srcAlphaBlend=y,this.dstBlend=n,this.isDrawing&&(this.flush(),this.context.gl.blendFuncSeparate(E,n,y,n))}setColor(E){this.color.setFromColor(E)}setColorWith(E,y,n,m){this.color.set(E,y,n,m)}point(E,y,n){this.check(0,1),n||(n=this.color),this.vertex(E,y,n)}line(E,y,n,m,S){this.check(1,2),this.mesh.getVertices(),this.vertexIndex,S||(S=this.color),this.vertex(E,y,S),this.vertex(n,m,S)}triangle(E,y,n,m,S,x,h,d,t,e){this.check(E?4:1,3),this.mesh.getVertices(),this.vertexIndex,d||(d=this.color),t||(t=this.color),e||(e=this.color),E?(this.vertex(y,n,d),this.vertex(m,S,t),this.vertex(x,h,e)):(this.vertex(y,n,d),this.vertex(m,S,t),this.vertex(m,S,d),this.vertex(x,h,t),this.vertex(x,h,d),this.vertex(y,n,t))}quad(E,y,n,m,S,x,h,d,t,e,l,i,s){this.check(E?4:1,3),this.mesh.getVertices(),this.vertexIndex,e||(e=this.color),l||(l=this.color),i||(i=this.color),s||(s=this.color),E?(this.vertex(y,n,e),this.vertex(m,S,l),this.vertex(x,h,i),this.vertex(x,h,i),this.vertex(d,t,s),this.vertex(y,n,e)):(this.vertex(y,n,e),this.vertex(m,S,l),this.vertex(m,S,l),this.vertex(x,h,i),this.vertex(x,h,i),this.vertex(d,t,s),this.vertex(d,t,s),this.vertex(y,n,e))}rect(E,y,n,m,S,x){this.quad(E,y,n,y+m,n,y+m,n+S,y,n+S,x,x,x,x)}rectLine(E,y,n,m,S,x,h){this.check(E?4:1,8),h||(h=this.color);let d=this.tmp.set(S-n,y-m);d.normalize(),x*=.5;let t=d.x*x,e=d.y*x;E?(this.vertex(y+t,n+e,h),this.vertex(y-t,n-e,h),this.vertex(m+t,S+e,h),this.vertex(m-t,S-e,h),this.vertex(m+t,S+e,h),this.vertex(y-t,n-e,h)):(this.vertex(y+t,n+e,h),this.vertex(y-t,n-e,h),this.vertex(m+t,S+e,h),this.vertex(m-t,S-e,h),this.vertex(m+t,S+e,h),this.vertex(y+t,n+e,h),this.vertex(m-t,S-e,h),this.vertex(y-t,n-e,h))}x(E,y,n){this.line(E-n,y-n,E+n,y+n),this.line(E-n,y+n,E+n,y-n)}polygon(E,y,n,m){if(n<3)throw new Error("Polygon must contain at least 3 vertices");this.check(1,n*2),m||(m=this.color),this.mesh.getVertices(),this.vertexIndex,y<<=1,n<<=1;let S=E[y],x=E[y+1],h=y+n;for(let d=y,t=y+n-2;d=h?(i=S,s=x):(i=E[d+2],s=E[d+3]),this.vertex(e,l,m),this.vertex(i,s,m)}}circle(E,y,n,m,S,x=0){if(x==0&&(x=Math.max(1,6*ft.cbrt(m)|0)),x<=0)throw new Error("segments must be > 0.");S||(S=this.color);let h=2*ft.PI/x,d=Math.cos(h),t=Math.sin(h),e=m,l=0;if(E){this.check(4,x*3+3),x--;for(let i=0;i0;)this.vertex(p,T,e),p+=C,T+=M,C+=A,M+=R,A+=P,R+=L,this.vertex(p,T,e);this.vertex(p,T,e),this.vertex(h,d,e)}vertex(E,y,n){let m=this.vertexIndex,S=this.mesh.getVertices();S[m++]=E,S[m++]=y,S[m++]=n.r,S[m++]=n.g,S[m++]=n.b,S[m++]=n.a,this.vertexIndex=m}end(){if(!this.isDrawing)throw new Error("ShapeRenderer.begin() has not been called");this.flush();let E=this.context.gl;E.disable(E.BLEND),this.isDrawing=!1}flush(){if(this.vertexIndex!=0){if(!this.shader)throw new Error("No shader set.");this.mesh.setVerticesLength(this.vertexIndex),this.mesh.draw(this.shader,this.shapeType),this.vertexIndex=0}}check(E,y){if(!this.isDrawing)throw new Error("ShapeRenderer.begin() has not been called");if(this.shapeType==E)if(this.mesh.maxVertices()-this.mesh.numVertices()-1||!i.parent)continue;let s=i.data.length*i.a+i.worldX,r=i.data.length*i.c+i.worldY;y.rectLine(!0,i.worldX,i.worldY,s,r,this.boneWidth*this.scale)}this.drawSkeletonXY&&y.x(S,x,4*this.scale)}if(this.drawRegionAttachments){y.setColor(this.attachmentLineColor);let e=n.slots;for(let l=0,i=e.length;l0){y.setColor(this.attachmentLineColor),f=(f>>1)*2;let v=a[f-2],c=a[f-1];for(let g=0,p=f;g-1||y.circle(!0,i.worldX,i.worldY,3*this.scale,this.boneOriginColor,8)}}if(this.drawClipping){let e=n.slots;y.setColor(this.clipColor);for(let l=0,i=e.length;l=0&&m==p.data.index&&(f=!0),!f){h.clipEndWithSlot(p);continue}S>=0&&S==p.data.index&&(f=!1);let T=p.getAttachment(),C;if(T instanceof Zt){let M=T;l.vertices=this.vertices,l.numVertices=4,l.numFloats=g<<2,M.computeWorldVertices(p,l.vertices,0,g),s=$e.QUAD_TRIANGLES,i=M.uvs,C=M.region.texture,o=M.color}else if(T instanceof _e){let M=T;l.vertices=this.vertices,l.numVertices=M.worldVerticesLength>>1,l.numFloats=l.numVertices*g,l.numFloats>l.vertices.length&&(l.vertices=this.vertices=ut.newFloatArray(l.numFloats)),M.computeWorldVertices(p,0,M.worldVerticesLength,l.vertices,0,g),s=M.triangles,C=M.region.texture,i=M.uvs,o=M.color}else if(T instanceof vi){let M=T;h.clipStart(p,M);continue}else{h.clipEndWithSlot(p);continue}if(C){let M=p.color,A=this.tempColor;A.r=a.r*M.r*o.r,A.g=a.g*M.g*o.g,A.b=a.b*M.b*o.b,A.a=a.a*M.a*o.a,d&&(A.r*=A.a,A.g*=A.a,A.b*=A.a);let R=this.tempColor2;p.darkColor?(d?(R.r=p.darkColor.r*A.a,R.g=p.darkColor.g*A.a,R.b=p.darkColor.b*A.a):R.setFromColor(p.darkColor),R.a=d?1:0):R.set(0,0,0,1);let P=p.data.blendMode;if(P!=e&&(e=P,y.setBlendMode(e,d)),h.isClipping()){h.clipTriangles(l.vertices,s,s.length,i,A,R,t);let L=new Float32Array(h.clippedVertices),F=h.clippedTriangles;x&&x(L,L.length,u),y.draw(C,L,F)}else{let L=l.vertices;if(t)for(let w=2,O=0,B=l.numFloats;w(Phaser.Class.mixin(y,E),y)}var _a=Ve(Ka),to=Ve(Za),eo=Ve($a),io=Ve(Qa),so=Ve(Ja),no=Ve(ja),ro=Ve(ka),ao=Ve(qa),oo=class extends Phaser.GameObjects.GameObject{constructor(E,y){super(E,y)}},ho=class{constructor(E=!1){this.clipping=E}calculateBounds(E){if(!E.skeleton)return{x:0,y:0,width:0,height:0};const y=new pi(E.skeleton.data);y.setToSetupPose(),y.updateWorldTransform(2);const n=y.getBoundsRect(this.clipping?new cn:void 0);return n.width==Number.NEGATIVE_INFINITY?{x:0,y:0,width:0,height:0}:n}},is=class extends to(ro(_a(eo(io(so(no(ao(oo)))))))){constructor(y,n,m,S,x,h,d=new ho){super(y,window.SPINE_GAME_OBJECT_TYPE?window.SPINE_GAME_OBJECT_TYPE:wi);$(this,"blendMode",-1);$(this,"skeleton");$(this,"animationStateData");$(this,"animationState");$(this,"beforeUpdateWorldTransforms",()=>{});$(this,"afterUpdateWorldTransforms",()=>{});$(this,"premultipliedAlpha",!1);$(this,"offsetX",0);$(this,"offsetY",0);this.plugin=n,this.boundsProvider=d,this.setPosition(m,S),this.premultipliedAlpha=this.plugin.isAtlasPremultiplied(h),this.skeleton=this.plugin.createSkeleton(x,h),this.animationStateData=new Nr(this.skeleton.data),this.animationState=new Or(this.animationStateData),this.skeleton.updateWorldTransform(2),this.updateSize()}updateSize(){if(!this.skeleton)return;let y=this.boundsProvider.calculateBounds(this);this.width=y.width,this.height=y.height,this.setDisplayOrigin(-y.x,-y.y),this.offsetX=-y.x,this.offsetY=-y.y}skeletonToPhaserWorldCoordinates(y){let n=this.getWorldTransformMatrix(),m=n.a,S=n.b,x=n.c,h=n.d,d=n.tx,t=n.ty,e=y.x,l=y.y;y.x=e*m+l*x+d,y.y=e*S+l*h+t}phaserWorldCoordinatesToSkeleton(y){let n=this.getWorldTransformMatrix();n=n.invert();let m=n.a,S=n.b,x=n.c,h=n.d,d=n.tx,t=n.ty,e=y.x,l=y.y;y.x=e*m+l*x+d,y.y=e*S+l*h+t}phaserWorldCoordinatesToBone(y,n){this.phaserWorldCoordinatesToSkeleton(y),n.parent?n.parent.worldToLocal(y):n.worldToLocal(y)}updatePose(y){this.animationState.update(y/1e3),this.animationState.apply(this.skeleton),this.beforeUpdateWorldTransforms(this),this.skeleton.update(y/1e3),this.skeleton.updateWorldTransform(2),this.afterUpdateWorldTransforms(this)}preUpdate(y,n){!this.skeleton||!this.animationState||this.updatePose(n)}preDestroy(){}willRender(y){var n=15,m=!this.skeleton||!(n!==this.renderFlags||this.cameraFilter!==0&&this.cameraFilter&y.id);if(this.visible||(m=!1),!m&&this.parentContainer&&this.plugin.webGLRenderer){var S=this.plugin.webGLRenderer;this.plugin.gl&&this.plugin.phaserRenderer instanceof Phaser.Renderer.WebGL.WebGLRenderer&&S.batcher.isDrawing&&(S.end(),this.plugin.phaserRenderer.renderNodes.getNode("RebindContext")?.run())}return m}renderWebGL(y,n,m,S,x,h,d){const t=m.camera;if(!t||!n.skeleton||!n.animationState||!n.plugin.webGLRenderer)return;let e=n.plugin.webGLRenderer;const l=h[d-1],i=h[d+1],s=!l||l.type!==n.type,r=i&&i.type===n.type;s&&(m.renderer.renderNodes.currentBatchDrawingContext!==m&&(m.renderer.renderNodes.finishBatch(),m.beginDraw()),y.renderNodes.getNode("YieldContext")?.run(m),e.begin()),t.addToRenderList(n);let o=Phaser.GameObjects.GetCalcMatrix(n,t,S,!m.useCanvas).calc,a=o.a,u=o.b,f=o.c,v=o.d,c=o.tx,g=o.ty,p=n.offsetX-n.displayOriginX,T=n.offsetY-n.displayOriginY;e.drawSkeleton(n.skeleton,n.premultipliedAlpha,-1,-1,(C,M,A)=>{for(let R=0;R0&&l.startsWith(this.loader.path)&&(l=l.slice(this.loader.path.length));for(var S=0;S=0||y.data.indexOf("pma:true")>=0),y.data={data:y.data,premultipliedAlpha:this.premultipliedAlpha},y.addToCache())}}};window.spine={SpinePlugin:Ni};window["spine.SpinePlugin"]=Ni;const uo={type:Tn,width:750,height:1334,parent:"game-container",backgroundColor:"#2d2d44",scale:{mode:Gi.FIT,autoCenter:Gi.CENTER_BOTH},plugins:{scene:[{key:"spinePlugin",plugin:Ni,mapping:"spine"}]},scene:[fr,Cn,In,bn,tr,er,Gn,ir,sr,dr,vr,Ar,Rr,Lr]};new Sn(uo); diff --git a/nginx/minesweeper/assets/itemFound-CDhUYgtx.js b/nginx/minesweeper/assets/itemFound-CDhUYgtx.js new file mode 100644 index 0000000..4400387 --- /dev/null +++ b/nginx/minesweeper/assets/itemFound-CDhUYgtx.js @@ -0,0 +1 @@ +const t="/assets/itemFound-DAvoqg--.mp3";export{t as default}; diff --git a/nginx/minesweeper/assets/itemFound-DAvoqg--.mp3 b/nginx/minesweeper/assets/itemFound-DAvoqg--.mp3 new file mode 100644 index 0000000..ba21ef8 Binary files /dev/null and b/nginx/minesweeper/assets/itemFound-DAvoqg--.mp3 differ diff --git a/nginx/minesweeper/assets/knife-BbFHQ50d.mp3 b/nginx/minesweeper/assets/knife-BbFHQ50d.mp3 new file mode 100644 index 0000000..1a5f272 Binary files /dev/null and b/nginx/minesweeper/assets/knife-BbFHQ50d.mp3 differ diff --git a/nginx/minesweeper/assets/knife-UlpTJXlb.js b/nginx/minesweeper/assets/knife-UlpTJXlb.js new file mode 100644 index 0000000..dcd4a14 --- /dev/null +++ b/nginx/minesweeper/assets/knife-UlpTJXlb.js @@ -0,0 +1 @@ +const e="/assets/knife-BbFHQ50d.mp3";export{e as default}; diff --git a/nginx/minesweeper/assets/monkey-BDYc37GU.js b/nginx/minesweeper/assets/monkey-BDYc37GU.js new file mode 100644 index 0000000..2e38e5b --- /dev/null +++ b/nginx/minesweeper/assets/monkey-BDYc37GU.js @@ -0,0 +1 @@ +const e="/assets/monkey-Bn_4DDB-.mp3";export{e as default}; diff --git a/nginx/minesweeper/assets/monkey-Bn_4DDB-.mp3 b/nginx/minesweeper/assets/monkey-Bn_4DDB-.mp3 new file mode 100644 index 0000000..fe5c5f7 Binary files /dev/null and b/nginx/minesweeper/assets/monkey-Bn_4DDB-.mp3 differ diff --git a/nginx/minesweeper/assets/poison-Dw7f8XkU.mp3 b/nginx/minesweeper/assets/poison-Dw7f8XkU.mp3 new file mode 100644 index 0000000..7d65a25 Binary files /dev/null and b/nginx/minesweeper/assets/poison-Dw7f8XkU.mp3 differ diff --git a/nginx/minesweeper/assets/poison-KUpuQ1Wg.js b/nginx/minesweeper/assets/poison-KUpuQ1Wg.js new file mode 100644 index 0000000..2e9ccd5 --- /dev/null +++ b/nginx/minesweeper/assets/poison-KUpuQ1Wg.js @@ -0,0 +1 @@ +const s="/assets/poison-Dw7f8XkU.mp3";export{s as default}; diff --git a/nginx/minesweeper/assets/rebirth-BMl1uHUz.mp3 b/nginx/minesweeper/assets/rebirth-BMl1uHUz.mp3 new file mode 100644 index 0000000..69bb533 Binary files /dev/null and b/nginx/minesweeper/assets/rebirth-BMl1uHUz.mp3 differ diff --git a/nginx/minesweeper/assets/rebirth-DGtvp6KC.js b/nginx/minesweeper/assets/rebirth-DGtvp6KC.js new file mode 100644 index 0000000..76f1158 --- /dev/null +++ b/nginx/minesweeper/assets/rebirth-DGtvp6KC.js @@ -0,0 +1 @@ +const t="/assets/rebirth-BMl1uHUz.mp3";export{t as default}; diff --git a/nginx/minesweeper/assets/sfx/cat.mp3 b/nginx/minesweeper/assets/sfx/cat.mp3 new file mode 100644 index 0000000..f488fdb Binary files /dev/null and b/nginx/minesweeper/assets/sfx/cat.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/chestOpen.mp3 b/nginx/minesweeper/assets/sfx/chestOpen.mp3 new file mode 100644 index 0000000..50e6641 Binary files /dev/null and b/nginx/minesweeper/assets/sfx/chestOpen.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/curse.mp3 b/nginx/minesweeper/assets/sfx/curse.mp3 new file mode 100644 index 0000000..31f8407 Binary files /dev/null and b/nginx/minesweeper/assets/sfx/curse.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/dogbark.mp3 b/nginx/minesweeper/assets/sfx/dogbark.mp3 new file mode 100644 index 0000000..a9bac98 Binary files /dev/null and b/nginx/minesweeper/assets/sfx/dogbark.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/doghowling.mp3 b/nginx/minesweeper/assets/sfx/doghowling.mp3 new file mode 100644 index 0000000..05cf7c9 Binary files /dev/null and b/nginx/minesweeper/assets/sfx/doghowling.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/elephant.mp3 b/nginx/minesweeper/assets/sfx/elephant.mp3 new file mode 100644 index 0000000..c9ad4aa Binary files /dev/null and b/nginx/minesweeper/assets/sfx/elephant.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/goodperson.mp3 b/nginx/minesweeper/assets/sfx/goodperson.mp3 new file mode 100644 index 0000000..679a9a0 Binary files /dev/null and b/nginx/minesweeper/assets/sfx/goodperson.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/heal.mp3 b/nginx/minesweeper/assets/sfx/heal.mp3 new file mode 100644 index 0000000..ecb5409 Binary files /dev/null and b/nginx/minesweeper/assets/sfx/heal.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/hippos.mp3 b/nginx/minesweeper/assets/sfx/hippos.mp3 new file mode 100644 index 0000000..34bb466 Binary files /dev/null and b/nginx/minesweeper/assets/sfx/hippos.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/itemFound.mp3 b/nginx/minesweeper/assets/sfx/itemFound.mp3 new file mode 100644 index 0000000..ba21ef8 Binary files /dev/null and b/nginx/minesweeper/assets/sfx/itemFound.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/knife.mp3 b/nginx/minesweeper/assets/sfx/knife.mp3 new file mode 100644 index 0000000..1a5f272 Binary files /dev/null and b/nginx/minesweeper/assets/sfx/knife.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/monkey.mp3 b/nginx/minesweeper/assets/sfx/monkey.mp3 new file mode 100644 index 0000000..fe5c5f7 Binary files /dev/null and b/nginx/minesweeper/assets/sfx/monkey.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/poison.mp3 b/nginx/minesweeper/assets/sfx/poison.mp3 new file mode 100644 index 0000000..7d65a25 Binary files /dev/null and b/nginx/minesweeper/assets/sfx/poison.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/rebirth.mp3 b/nginx/minesweeper/assets/sfx/rebirth.mp3 new file mode 100644 index 0000000..69bb533 Binary files /dev/null and b/nginx/minesweeper/assets/sfx/rebirth.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/shield.mp3 b/nginx/minesweeper/assets/sfx/shield.mp3 new file mode 100644 index 0000000..4e6cae9 Binary files /dev/null and b/nginx/minesweeper/assets/sfx/shield.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/sloth.mp3 b/nginx/minesweeper/assets/sfx/sloth.mp3 new file mode 100644 index 0000000..be9b5b2 Binary files /dev/null and b/nginx/minesweeper/assets/sfx/sloth.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/smallBomb.mp3 b/nginx/minesweeper/assets/sfx/smallBomb.mp3 new file mode 100644 index 0000000..d562f1a Binary files /dev/null and b/nginx/minesweeper/assets/sfx/smallBomb.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/thunder.mp3 b/nginx/minesweeper/assets/sfx/thunder.mp3 new file mode 100644 index 0000000..025365a Binary files /dev/null and b/nginx/minesweeper/assets/sfx/thunder.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/tick.mp3 b/nginx/minesweeper/assets/sfx/tick.mp3 new file mode 100644 index 0000000..a1d57a8 Binary files /dev/null and b/nginx/minesweeper/assets/sfx/tick.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/tigerroar.mp3 b/nginx/minesweeper/assets/sfx/tigerroar.mp3 new file mode 100644 index 0000000..ba494b5 Binary files /dev/null and b/nginx/minesweeper/assets/sfx/tigerroar.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/timerBomb.mp3 b/nginx/minesweeper/assets/sfx/timerBomb.mp3 new file mode 100644 index 0000000..a023de2 Binary files /dev/null and b/nginx/minesweeper/assets/sfx/timerBomb.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/warning.mp3 b/nginx/minesweeper/assets/sfx/warning.mp3 new file mode 100644 index 0000000..771610a Binary files /dev/null and b/nginx/minesweeper/assets/sfx/warning.mp3 differ diff --git a/nginx/minesweeper/assets/sfx/youLose.mp3 b/nginx/minesweeper/assets/sfx/youLose.mp3 new file mode 100644 index 0000000..469ce9f Binary files /dev/null and b/nginx/minesweeper/assets/sfx/youLose.mp3 differ diff --git a/nginx/minesweeper/assets/shield-BcVK2HnY.mp3 b/nginx/minesweeper/assets/shield-BcVK2HnY.mp3 new file mode 100644 index 0000000..4e6cae9 Binary files /dev/null and b/nginx/minesweeper/assets/shield-BcVK2HnY.mp3 differ diff --git a/nginx/minesweeper/assets/shield-DlPl0ATk.js b/nginx/minesweeper/assets/shield-DlPl0ATk.js new file mode 100644 index 0000000..31cda1a --- /dev/null +++ b/nginx/minesweeper/assets/shield-DlPl0ATk.js @@ -0,0 +1 @@ +const s="/assets/shield-BcVK2HnY.mp3";export{s as default}; diff --git a/nginx/minesweeper/assets/sloth-BheN90PR.mp3 b/nginx/minesweeper/assets/sloth-BheN90PR.mp3 new file mode 100644 index 0000000..be9b5b2 Binary files /dev/null and b/nginx/minesweeper/assets/sloth-BheN90PR.mp3 differ diff --git a/nginx/minesweeper/assets/sloth-adPYVPFb.js b/nginx/minesweeper/assets/sloth-adPYVPFb.js new file mode 100644 index 0000000..9126990 --- /dev/null +++ b/nginx/minesweeper/assets/sloth-adPYVPFb.js @@ -0,0 +1 @@ +const s="/assets/sloth-BheN90PR.mp3";export{s as default}; diff --git a/nginx/minesweeper/assets/smallBomb-Bn2Y5Sds.mp3 b/nginx/minesweeper/assets/smallBomb-Bn2Y5Sds.mp3 new file mode 100644 index 0000000..d562f1a Binary files /dev/null and b/nginx/minesweeper/assets/smallBomb-Bn2Y5Sds.mp3 differ diff --git a/nginx/minesweeper/assets/smallBomb-ZXy88HsJ.js b/nginx/minesweeper/assets/smallBomb-ZXy88HsJ.js new file mode 100644 index 0000000..da0561c --- /dev/null +++ b/nginx/minesweeper/assets/smallBomb-ZXy88HsJ.js @@ -0,0 +1 @@ +const s="/assets/smallBomb-Bn2Y5Sds.mp3";export{s as default}; diff --git a/nginx/minesweeper/assets/spine/cat/skeleton.atlas b/nginx/minesweeper/assets/spine/cat/skeleton.atlas new file mode 100644 index 0000000..e697895 --- /dev/null +++ b/nginx/minesweeper/assets/spine/cat/skeleton.atlas @@ -0,0 +1,831 @@ +skeleton.webp +size: 1870,427 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00000 + rotate: false + xy: 1447, 2 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00115 + rotate: false + xy: 1447, 2 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00116 + rotate: false + xy: 1447, 2 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00117 + rotate: false + xy: 1447, 2 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00001 + rotate: false + xy: 1809, 140 + size: 57, 68 + orig: 83, 83 + offset: 13, 7 + index: -1 +1_00002 + rotate: false + xy: 1676, 49 + size: 57, 68 + orig: 83, 83 + offset: 13, 7 + index: -1 +1_00003 + rotate: false + xy: 1811, 282 + size: 57, 70 + orig: 83, 83 + offset: 13, 6 + index: -1 +1_00004 + rotate: false + xy: 1809, 210 + size: 57, 70 + orig: 83, 83 + offset: 13, 6 + index: -1 +1_00005 + rotate: false + xy: 2, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00006 + rotate: false + xy: 1667, 282 + size: 69, 70 + orig: 83, 83 + offset: 12, 6 + index: -1 +1_00007 + rotate: false + xy: 1605, 35 + size: 69, 70 + orig: 83, 83 + offset: 12, 6 + index: -1 +1_00008 + rotate: false + xy: 1602, 107 + size: 65, 76 + orig: 83, 83 + offset: 9, 0 + index: -1 +1_00009 + rotate: false + xy: 1604, 194 + size: 70, 70 + orig: 83, 83 + offset: 9, 5 + index: -1 +1_00010 + rotate: false + xy: 1532, 262 + size: 64, 82 + orig: 83, 83 + offset: 12, 0 + index: -1 +1_00011 + rotate: false + xy: 1532, 110 + size: 68, 73 + orig: 83, 83 + offset: 12, 5 + index: -1 +1_00012 + rotate: false + xy: 1447, 5 + size: 80, 80 + orig: 83, 83 + offset: 0, 1 + index: -1 +1_00013 + rotate: false + xy: 1529, 5 + size: 74, 80 + orig: 83, 83 + offset: 0, 2 + index: -1 +1_00014 + rotate: false + xy: 2, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00015 + rotate: false + xy: 2, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00016 + rotate: false + xy: 2, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00017 + rotate: false + xy: 2, 2 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00018 + rotate: false + xy: 87, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00019 + rotate: false + xy: 87, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00020 + rotate: false + xy: 87, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00021 + rotate: false + xy: 87, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00022 + rotate: false + xy: 87, 2 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00023 + rotate: false + xy: 172, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00024 + rotate: false + xy: 172, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00025 + rotate: false + xy: 172, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00026 + rotate: false + xy: 172, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00027 + rotate: false + xy: 172, 2 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00028 + rotate: false + xy: 257, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00029 + rotate: false + xy: 257, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00030 + rotate: false + xy: 257, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00031 + rotate: false + xy: 257, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00032 + rotate: false + xy: 257, 2 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00033 + rotate: false + xy: 342, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00034 + rotate: false + xy: 342, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00035 + rotate: false + xy: 342, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00036 + rotate: false + xy: 342, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00037 + rotate: false + xy: 342, 2 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00038 + rotate: false + xy: 427, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00039 + rotate: false + xy: 427, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00040 + rotate: false + xy: 427, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00041 + rotate: false + xy: 427, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00042 + rotate: false + xy: 427, 2 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00043 + rotate: false + xy: 512, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00044 + rotate: false + xy: 512, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00045 + rotate: false + xy: 512, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00046 + rotate: false + xy: 512, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00047 + rotate: false + xy: 512, 2 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00048 + rotate: false + xy: 597, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00049 + rotate: false + xy: 597, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00050 + rotate: false + xy: 597, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00051 + rotate: false + xy: 597, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00052 + rotate: false + xy: 597, 2 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00053 + rotate: false + xy: 682, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00054 + rotate: false + xy: 682, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00055 + rotate: false + xy: 682, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00056 + rotate: false + xy: 682, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00057 + rotate: false + xy: 682, 2 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00058 + rotate: false + xy: 767, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00059 + rotate: false + xy: 767, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00060 + rotate: false + xy: 767, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00061 + rotate: false + xy: 767, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00062 + rotate: false + xy: 767, 2 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00063 + rotate: false + xy: 852, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00064 + rotate: false + xy: 852, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00065 + rotate: false + xy: 852, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00066 + rotate: false + xy: 852, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00067 + rotate: false + xy: 852, 2 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00068 + rotate: false + xy: 937, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00069 + rotate: false + xy: 937, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00070 + rotate: false + xy: 937, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00071 + rotate: false + xy: 937, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00072 + rotate: false + xy: 937, 2 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00073 + rotate: false + xy: 1022, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00074 + rotate: false + xy: 1022, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00075 + rotate: false + xy: 1022, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00076 + rotate: false + xy: 1022, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00077 + rotate: false + xy: 1022, 2 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00078 + rotate: false + xy: 1107, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00079 + rotate: false + xy: 1107, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00080 + rotate: false + xy: 1107, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00081 + rotate: false + xy: 1107, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00082 + rotate: false + xy: 1107, 2 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00083 + rotate: false + xy: 1192, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00084 + rotate: false + xy: 1192, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00085 + rotate: false + xy: 1192, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00086 + rotate: false + xy: 1192, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00087 + rotate: false + xy: 1192, 2 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00088 + rotate: false + xy: 1277, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00089 + rotate: false + xy: 1277, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00090 + rotate: false + xy: 1277, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00091 + rotate: false + xy: 1277, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00092 + rotate: false + xy: 1277, 2 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00093 + rotate: false + xy: 1362, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00094 + rotate: false + xy: 1362, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00095 + rotate: false + xy: 1362, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00096 + rotate: false + xy: 1362, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00097 + rotate: false + xy: 1362, 2 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00098 + rotate: false + xy: 1447, 342 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00099 + rotate: false + xy: 1447, 257 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00100 + rotate: false + xy: 1447, 172 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00101 + rotate: false + xy: 1447, 87 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00102 + rotate: false + xy: 1532, 185 + size: 70, 75 + orig: 83, 83 + offset: 12, 1 + index: -1 +1_00103 + rotate: true + xy: 1767, 354 + size: 71, 78 + orig: 83, 83 + offset: 11, 0 + index: -1 +1_00104 + rotate: true + xy: 1605, 354 + size: 71, 79 + orig: 83, 83 + offset: 11, 0 + index: -1 +1_00105 + rotate: false + xy: 1598, 266 + size: 67, 78 + orig: 83, 83 + offset: 11, 1 + index: -1 +1_00106 + rotate: false + xy: 1532, 346 + size: 71, 79 + orig: 83, 83 + offset: 11, 0 + index: -1 +1_00107 + rotate: true + xy: 1686, 354 + size: 71, 79 + orig: 83, 83 + offset: 11, 0 + index: -1 +1_00108 + rotate: false + xy: 1669, 119 + size: 66, 73 + orig: 83, 83 + offset: 11, 6 + index: -1 +1_00109 + rotate: false + xy: 1676, 208 + size: 65, 72 + orig: 83, 83 + offset: 11, 6 + index: -1 +1_00110 + rotate: true + xy: 1738, 288 + size: 64, 71 + orig: 83, 83 + offset: 11, 7 + index: -1 +1_00111 + rotate: false + xy: 1743, 215 + size: 64, 71 + orig: 83, 83 + offset: 11, 7 + index: -1 +1_00112 + rotate: false + xy: 1743, 142 + size: 64, 71 + orig: 83, 83 + offset: 11, 7 + index: -1 +1_00113 + rotate: false + xy: 1737, 69 + size: 63, 71 + orig: 83, 83 + offset: 12, 7 + index: -1 +1_00114 + rotate: true + xy: 1735, 4 + size: 63, 70 + orig: 83, 83 + offset: 12, 7 + index: -1 diff --git a/nginx/minesweeper/assets/spine/cat/skeleton.json b/nginx/minesweeper/assets/spine/cat/skeleton.json new file mode 100644 index 0000000..d66d8e1 --- /dev/null +++ b/nginx/minesweeper/assets/spine/cat/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"nkQufNAxEF14q1j/Nx2/x9rtKnE=","spine":"3.8","x":-41,"y":-41,"width":83,"height":83,"images":"../猫咪/111111/","audio":""},"bones":[{"name":"root"}],"slots":[{"name":"1","bone":"root","attachment":"1_00117"}],"skins":[{"name":"default","attachments":{"1":{"1_00000":{"width":83,"height":83},"1_00001":{"width":83,"height":83},"1_00002":{"width":83,"height":83},"1_00003":{"width":83,"height":83},"1_00004":{"width":83,"height":83},"1_00005":{"width":83,"height":83},"1_00006":{"width":83,"height":83},"1_00007":{"width":83,"height":83},"1_00008":{"width":83,"height":83},"1_00009":{"width":83,"height":83},"1_00010":{"width":83,"height":83},"1_00011":{"width":83,"height":83},"1_00012":{"width":83,"height":83},"1_00013":{"width":83,"height":83},"1_00014":{"width":83,"height":83},"1_00015":{"width":83,"height":83},"1_00016":{"width":83,"height":83},"1_00017":{"width":83,"height":83},"1_00018":{"width":83,"height":83},"1_00019":{"width":83,"height":83},"1_00020":{"width":83,"height":83},"1_00021":{"width":83,"height":83},"1_00022":{"width":83,"height":83},"1_00023":{"width":83,"height":83},"1_00024":{"width":83,"height":83},"1_00025":{"width":83,"height":83},"1_00026":{"width":83,"height":83},"1_00027":{"width":83,"height":83},"1_00028":{"width":83,"height":83},"1_00029":{"width":83,"height":83},"1_00030":{"width":83,"height":83},"1_00031":{"width":83,"height":83},"1_00032":{"width":83,"height":83},"1_00033":{"width":83,"height":83},"1_00034":{"width":83,"height":83},"1_00035":{"width":83,"height":83},"1_00036":{"width":83,"height":83},"1_00037":{"width":83,"height":83},"1_00038":{"width":83,"height":83},"1_00039":{"width":83,"height":83},"1_00040":{"width":83,"height":83},"1_00041":{"width":83,"height":83},"1_00042":{"width":83,"height":83},"1_00043":{"width":83,"height":83},"1_00044":{"width":83,"height":83},"1_00045":{"width":83,"height":83},"1_00046":{"width":83,"height":83},"1_00047":{"width":83,"height":83},"1_00048":{"width":83,"height":83},"1_00049":{"width":83,"height":83},"1_00050":{"width":83,"height":83},"1_00051":{"width":83,"height":83},"1_00052":{"width":83,"height":83},"1_00053":{"width":83,"height":83},"1_00054":{"width":83,"height":83},"1_00055":{"width":83,"height":83},"1_00056":{"width":83,"height":83},"1_00057":{"width":83,"height":83},"1_00058":{"width":83,"height":83},"1_00059":{"width":83,"height":83},"1_00060":{"width":83,"height":83},"1_00061":{"width":83,"height":83},"1_00062":{"width":83,"height":83},"1_00063":{"width":83,"height":83},"1_00064":{"width":83,"height":83},"1_00065":{"width":83,"height":83},"1_00066":{"width":83,"height":83},"1_00067":{"width":83,"height":83},"1_00068":{"width":83,"height":83},"1_00069":{"width":83,"height":83},"1_00070":{"width":83,"height":83},"1_00071":{"width":83,"height":83},"1_00072":{"width":83,"height":83},"1_00073":{"width":83,"height":83},"1_00074":{"width":83,"height":83},"1_00075":{"width":83,"height":83},"1_00076":{"width":83,"height":83},"1_00077":{"width":83,"height":83},"1_00078":{"width":83,"height":83},"1_00079":{"width":83,"height":83},"1_00080":{"width":83,"height":83},"1_00081":{"width":83,"height":83},"1_00082":{"width":83,"height":83},"1_00083":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00084":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00085":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00086":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00087":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00088":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00089":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00090":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00091":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00092":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00093":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00094":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00095":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00096":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00097":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00098":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00099":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00100":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00101":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00102":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00103":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00104":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00105":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00106":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00107":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00108":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00109":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00110":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00111":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00112":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00113":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00114":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00115":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00116":{"x":0.5,"y":0.5,"width":83,"height":83},"1_00117":{"x":0.5,"y":0.5,"width":83,"height":83}}}}],"animations":{"animation":{"slots":{"1":{"attachment":[{"name":"1_00000"},{"time":0.0333,"name":"1_00001"},{"time":0.0667,"name":"1_00002"},{"time":0.1,"name":"1_00003"},{"time":0.1333,"name":"1_00004"},{"time":0.1667,"name":"1_00005"},{"time":0.2,"name":"1_00006"},{"time":0.2333,"name":"1_00007"},{"time":0.2667,"name":"1_00008"},{"time":0.3,"name":"1_00009"},{"time":0.3333,"name":"1_00010"},{"time":0.3667,"name":"1_00011"},{"time":0.4,"name":"1_00012"},{"time":0.4333,"name":"1_00013"},{"time":0.4667,"name":"1_00014"},{"time":0.5,"name":"1_00015"},{"time":0.5333,"name":"1_00016"},{"time":0.5667,"name":"1_00017"},{"time":0.6,"name":"1_00018"},{"time":0.6333,"name":"1_00019"},{"time":0.6667,"name":"1_00020"},{"time":0.7,"name":"1_00021"},{"time":0.7333,"name":"1_00022"},{"time":0.7667,"name":"1_00023"},{"time":0.8,"name":"1_00024"},{"time":0.8333,"name":"1_00025"},{"time":0.8667,"name":"1_00026"},{"time":0.9,"name":"1_00027"},{"time":0.9333,"name":"1_00028"},{"time":0.9667,"name":"1_00029"},{"time":1,"name":"1_00030"},{"time":1.0333,"name":"1_00031"},{"time":1.0667,"name":"1_00032"},{"time":1.1,"name":"1_00033"},{"time":1.1333,"name":"1_00034"},{"time":1.1667,"name":"1_00035"},{"time":1.2,"name":"1_00036"},{"time":1.2333,"name":"1_00037"},{"time":1.2667,"name":"1_00038"},{"time":1.3,"name":"1_00039"},{"time":1.3333,"name":"1_00040"},{"time":1.3667,"name":"1_00041"},{"time":1.4,"name":"1_00042"},{"time":1.4333,"name":"1_00043"},{"time":1.4667,"name":"1_00044"},{"time":1.5,"name":"1_00045"},{"time":1.5333,"name":"1_00046"},{"time":1.5667,"name":"1_00047"},{"time":1.6,"name":"1_00048"},{"time":1.6333,"name":"1_00049"},{"time":1.6667,"name":"1_00050"},{"time":1.7,"name":"1_00051"},{"time":1.7333,"name":"1_00052"},{"time":1.7667,"name":"1_00053"},{"time":1.8,"name":"1_00054"},{"time":1.8333,"name":"1_00055"},{"time":1.8667,"name":"1_00056"},{"time":1.9,"name":"1_00057"},{"time":1.9333,"name":"1_00058"},{"time":1.9667,"name":"1_00059"},{"time":2,"name":"1_00060"},{"time":2.0333,"name":"1_00061"},{"time":2.0667,"name":"1_00062"},{"time":2.1,"name":"1_00063"},{"time":2.1333,"name":"1_00064"},{"time":2.1667,"name":"1_00065"},{"time":2.2,"name":"1_00066"},{"time":2.2333,"name":"1_00067"},{"time":2.2667,"name":"1_00068"},{"time":2.3,"name":"1_00069"},{"time":2.3333,"name":"1_00070"},{"time":2.3667,"name":"1_00071"},{"time":2.4,"name":"1_00072"},{"time":2.4333,"name":"1_00073"},{"time":2.4667,"name":"1_00074"},{"time":2.5,"name":"1_00075"},{"time":2.5333,"name":"1_00076"},{"time":2.5667,"name":"1_00077"},{"time":2.6,"name":"1_00078"},{"time":2.6333,"name":"1_00079"},{"time":2.6667,"name":"1_00080"},{"time":2.7,"name":"1_00081"},{"time":2.7333,"name":"1_00082"},{"time":2.7667,"name":"1_00083"},{"time":2.8,"name":"1_00084"},{"time":2.8333,"name":"1_00085"},{"time":2.8667,"name":"1_00086"},{"time":2.9,"name":"1_00087"},{"time":2.9333,"name":"1_00088"},{"time":2.9667,"name":"1_00089"},{"time":3,"name":"1_00090"},{"time":3.0333,"name":"1_00091"},{"time":3.0667,"name":"1_00092"},{"time":3.1,"name":"1_00093"},{"time":3.1333,"name":"1_00094"},{"time":3.1667,"name":"1_00095"},{"time":3.2,"name":"1_00096"},{"time":3.2333,"name":"1_00097"},{"time":3.2667,"name":"1_00098"},{"time":3.3,"name":"1_00099"},{"time":3.3333,"name":"1_00100"},{"time":3.3667,"name":"1_00101"},{"time":3.4,"name":"1_00102"},{"time":3.4333,"name":"1_00103"},{"time":3.4667,"name":"1_00104"},{"time":3.5,"name":"1_00105"},{"time":3.5333,"name":"1_00106"},{"time":3.5667,"name":"1_00107"},{"time":3.6,"name":"1_00108"},{"time":3.6333,"name":"1_00109"},{"time":3.6667,"name":"1_00110"},{"time":3.7,"name":"1_00111"},{"time":3.7333,"name":"1_00112"},{"time":3.7667,"name":"1_00113"},{"time":3.8,"name":"1_00114"},{"time":3.8333,"name":"1_00115"},{"time":3.8667,"name":"1_00116"},{"time":3.9,"name":"1_00117"}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/cat/skeleton.webp b/nginx/minesweeper/assets/spine/cat/skeleton.webp new file mode 100644 index 0000000..d6baa98 Binary files /dev/null and b/nginx/minesweeper/assets/spine/cat/skeleton.webp differ diff --git a/nginx/minesweeper/assets/spine/chest/skeleton.atlas b/nginx/minesweeper/assets/spine/chest/skeleton.atlas new file mode 100644 index 0000000..72677db --- /dev/null +++ b/nginx/minesweeper/assets/spine/chest/skeleton.atlas @@ -0,0 +1,733 @@ +skeleton.webp +size: 1921,316 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00010 + rotate: true + xy: 318, 2 + size: 73, 76 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00011 + rotate: true + xy: 164, 16 + size: 83, 76 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00012 + rotate: true + xy: 2, 16 + size: 83, 79 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00013 + rotate: true + xy: 83, 16 + size: 83, 79 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00014 + rotate: true + xy: 87, 101 + size: 83, 79 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00015 + rotate: true + xy: 168, 155 + size: 78, 73 + orig: 83, 83 + offset: 5, 9 + index: -1 +1_00016 + rotate: true + xy: 1457, 4 + size: 73, 72 + orig: 83, 83 + offset: 5, 9 + index: -1 +1_00017 + rotate: false + xy: 1232, 4 + size: 73, 73 + orig: 83, 83 + offset: 5, 9 + index: -1 +1_00018 + rotate: false + xy: 1307, 4 + size: 73, 73 + orig: 83, 83 + offset: 5, 9 + index: -1 +1_00019 + rotate: false + xy: 396, 2 + size: 76, 74 + orig: 83, 83 + offset: 2, 9 + index: -1 +1_00020 + rotate: true + xy: 212, 236 + size: 78, 73 + orig: 83, 83 + offset: 0, 10 + index: -1 +1_00021 + rotate: false + xy: 1382, 4 + size: 73, 73 + orig: 83, 83 + offset: 5, 9 + index: -1 +1_00022 + rotate: false + xy: 553, 2 + size: 67, 75 + orig: 83, 83 + offset: 11, 8 + index: -1 +1_00023 + rotate: false + xy: 1531, 4 + size: 71, 73 + orig: 83, 83 + offset: 7, 9 + index: -1 +1_00024 + rotate: true + xy: 242, 75 + size: 78, 73 + orig: 83, 83 + offset: 0, 10 + index: -1 +1_00025 + rotate: false + xy: 1665, 241 + size: 71, 73 + orig: 83, 83 + offset: 7, 9 + index: -1 +1_00026 + rotate: false + xy: 622, 2 + size: 67, 75 + orig: 83, 83 + offset: 11, 8 + index: -1 +1_00027 + rotate: false + xy: 1644, 85 + size: 71, 73 + orig: 83, 83 + offset: 7, 9 + index: -1 +1_00028 + rotate: true + xy: 243, 156 + size: 78, 73 + orig: 83, 83 + offset: 0, 10 + index: -1 +1_00029 + rotate: false + xy: 1707, 166 + size: 71, 73 + orig: 83, 83 + offset: 7, 9 + index: -1 +1_00030 + rotate: false + xy: 892, 3 + size: 67, 74 + orig: 83, 83 + offset: 11, 8 + index: -1 +1_00031 + rotate: false + xy: 1671, 10 + size: 69, 73 + orig: 83, 83 + offset: 9, 9 + index: -1 +1_00032 + rotate: false + xy: 1738, 241 + size: 71, 73 + orig: 83, 83 + offset: 7, 10 + index: -1 +1_00033 + rotate: false + xy: 1717, 91 + size: 69, 73 + orig: 83, 83 + offset: 9, 9 + index: -1 +1_00034 + rotate: false + xy: 961, 3 + size: 67, 74 + orig: 83, 83 + offset: 11, 8 + index: -1 +1_00035 + rotate: false + xy: 1780, 166 + size: 69, 73 + orig: 83, 83 + offset: 9, 9 + index: -1 +1_00036 + rotate: false + xy: 1742, 16 + size: 64, 73 + orig: 83, 83 + offset: 7, 10 + index: -1 +1_00037 + rotate: false + xy: 1811, 241 + size: 68, 73 + orig: 83, 83 + offset: 5, 9 + index: -1 +1_00038 + rotate: true + xy: 242, 2 + size: 71, 74 + orig: 83, 83 + offset: 5, 8 + index: -1 +1_00039 + rotate: false + xy: 1851, 166 + size: 68, 73 + orig: 83, 83 + offset: 5, 9 + index: -1 +1_00040 + rotate: false + xy: 1175, 79 + size: 65, 77 + orig: 83, 83 + offset: 7, 5 + index: -1 +1_00041 + rotate: false + xy: 1788, 91 + size: 64, 73 + orig: 83, 83 + offset: 9, 9 + index: -1 +1_00042 + rotate: false + xy: 1099, 3 + size: 66, 74 + orig: 83, 83 + offset: 9, 8 + index: -1 +1_00043 + rotate: false + xy: 1133, 237 + size: 66, 77 + orig: 83, 83 + offset: 7, 5 + index: -1 +1_00044 + rotate: false + xy: 1176, 158 + size: 65, 77 + orig: 83, 83 + offset: 7, 5 + index: -1 +1_00045 + rotate: false + xy: 287, 236 + size: 64, 78 + orig: 83, 83 + offset: 8, 4 + index: -1 +1_00046 + rotate: false + xy: 1309, 79 + size: 64, 77 + orig: 83, 83 + offset: 9, 5 + index: -1 +1_00047 + rotate: false + xy: 1599, 238 + size: 64, 76 + orig: 83, 83 + offset: 9, 6 + index: -1 +1_00048 + rotate: false + xy: 1310, 158 + size: 64, 77 + orig: 83, 83 + offset: 9, 5 + index: -1 +1_00049 + rotate: false + xy: 1375, 79 + size: 64, 77 + orig: 83, 83 + offset: 9, 5 + index: -1 +1_00050 + rotate: false + xy: 1335, 237 + size: 64, 77 + orig: 83, 83 + offset: 9, 5 + index: -1 +1_00051 + rotate: false + xy: 1641, 160 + size: 64, 76 + orig: 83, 83 + offset: 9, 6 + index: -1 +1_00052 + rotate: false + xy: 1376, 158 + size: 64, 77 + orig: 83, 83 + offset: 9, 5 + index: -1 +1_00053 + rotate: false + xy: 1401, 237 + size: 64, 77 + orig: 83, 83 + offset: 9, 5 + index: -1 +1_00054 + rotate: false + xy: 1441, 79 + size: 64, 77 + orig: 83, 83 + offset: 9, 5 + index: -1 +1_00055 + rotate: false + xy: 1442, 158 + size: 64, 77 + orig: 83, 83 + offset: 9, 5 + index: -1 +1_00056 + rotate: false + xy: 1467, 237 + size: 64, 77 + orig: 83, 83 + offset: 9, 5 + index: -1 +1_00057 + rotate: false + xy: 1507, 79 + size: 64, 77 + orig: 83, 83 + offset: 9, 5 + index: -1 +1_00058 + rotate: false + xy: 1508, 158 + size: 64, 77 + orig: 83, 83 + offset: 9, 5 + index: -1 +1_00059 + rotate: false + xy: 1854, 91 + size: 64, 73 + orig: 83, 83 + offset: 9, 9 + index: -1 +1_00060 + rotate: false + xy: 1201, 237 + size: 65, 77 + orig: 83, 83 + offset: 8, 5 + index: -1 +1_00061 + rotate: false + xy: 1242, 79 + size: 65, 77 + orig: 83, 83 + offset: 8, 5 + index: -1 +1_00062 + rotate: false + xy: 1243, 158 + size: 65, 77 + orig: 83, 83 + offset: 8, 5 + index: -1 +1_00063 + rotate: false + xy: 1533, 237 + size: 64, 77 + orig: 83, 83 + offset: 9, 5 + index: -1 +1_00064 + rotate: false + xy: 1268, 237 + size: 65, 77 + orig: 83, 83 + offset: 8, 5 + index: -1 +1_00065 + rotate: false + xy: 1030, 3 + size: 67, 74 + orig: 83, 83 + offset: 6, 8 + index: -1 +1_00066 + rotate: false + xy: 1573, 80 + size: 69, 76 + orig: 83, 83 + offset: 4, 6 + index: -1 +1_00067 + rotate: true + xy: 474, 2 + size: 75, 77 + orig: 83, 83 + offset: 2, 5 + index: -1 +1_00068 + rotate: false + xy: 317, 77 + size: 76, 77 + orig: 83, 83 + offset: 1, 5 + index: -1 +1_00069 + rotate: false + xy: 318, 157 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00070 + rotate: false + xy: 395, 78 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00071 + rotate: false + xy: 353, 237 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00072 + rotate: false + xy: 396, 158 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00073 + rotate: true + xy: 132, 235 + size: 79, 78 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00074 + rotate: false + xy: 431, 237 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00076 + rotate: false + xy: 431, 237 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00078 + rotate: false + xy: 431, 237 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00080 + rotate: false + xy: 431, 237 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00075 + rotate: false + xy: 473, 79 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00077 + rotate: false + xy: 474, 158 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00079 + rotate: false + xy: 551, 79 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00081 + rotate: false + xy: 509, 237 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00082 + rotate: false + xy: 552, 158 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00083 + rotate: false + xy: 629, 79 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00084 + rotate: false + xy: 587, 237 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00085 + rotate: false + xy: 630, 158 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00086 + rotate: false + xy: 707, 79 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00087 + rotate: false + xy: 665, 237 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00088 + rotate: false + xy: 708, 158 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00089 + rotate: false + xy: 785, 79 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00090 + rotate: false + xy: 743, 237 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00091 + rotate: false + xy: 786, 158 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00092 + rotate: false + xy: 863, 79 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00093 + rotate: false + xy: 821, 237 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00094 + rotate: false + xy: 864, 158 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00095 + rotate: false + xy: 899, 237 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00096 + rotate: false + xy: 941, 79 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00097 + rotate: false + xy: 942, 158 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00098 + rotate: false + xy: 977, 237 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00099 + rotate: false + xy: 1019, 79 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00100 + rotate: false + xy: 1020, 158 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00101 + rotate: false + xy: 1055, 237 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00102 + rotate: false + xy: 1097, 79 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00103 + rotate: false + xy: 1098, 158 + size: 76, 77 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00104 + rotate: true + xy: 1604, 2 + size: 76, 65 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00105 + rotate: true + xy: 1574, 159 + size: 76, 65 + orig: 83, 83 + offset: 0, 5 + index: -1 +1_00106 + rotate: true + xy: 691, 2 + size: 75, 65 + orig: 83, 83 + offset: 1, 5 + index: -1 +1_00107 + rotate: true + xy: 758, 2 + size: 75, 65 + orig: 83, 83 + offset: 1, 5 + index: -1 +1_00108 + rotate: true + xy: 825, 2 + size: 75, 65 + orig: 83, 83 + offset: 1, 5 + index: -1 +1_00109 + rotate: false + xy: 2, 101 + size: 83, 83 + orig: 83, 83 + offset: 0, 0 + index: -1 +1_00110 + rotate: true + xy: 1167, 3 + size: 74, 63 + orig: 83, 83 + offset: 1, 6 + index: -1 +1_00111 + rotate: true + xy: 1808, 16 + size: 73, 63 + orig: 83, 83 + offset: 2, 6 + index: -1 +1_00112 + rotate: false + xy: 2, 13 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +GX_P016 + rotate: false + xy: 2, 186 + size: 128, 128 + orig: 128, 128 + offset: 0, 0 + index: -1 diff --git a/nginx/minesweeper/assets/spine/chest/skeleton.json b/nginx/minesweeper/assets/spine/chest/skeleton.json new file mode 100644 index 0000000..105695a --- /dev/null +++ b/nginx/minesweeper/assets/spine/chest/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"FwpOIbIy+IASpF8siLpnPoxfTCY=","spine":"3.8","x":-76.52,"y":-219.02,"width":153.04,"height":438.03,"images":"./xvlietu/","audio":""},"bones":[{"name":"root"},{"name":"骨骼5","parent":"root","x":-18.94,"y":-177.69},{"name":"111","parent":"骨骼5","x":18.94,"y":177.69},{"name":"GX_P016","parent":"111","x":24.72,"y":-193.6},{"name":"骨骼","parent":"111","x":24.72,"y":-193.6},{"name":"GX_P16","parent":"骨骼"},{"name":"骨骼2","parent":"111","x":24.72,"y":-193.6},{"name":"GX_P17","parent":"骨骼2"},{"name":"112","parent":"骨骼5","x":18.94,"y":177.69,"scaleX":-1},{"name":"GX_P18","parent":"112","x":24.72,"y":-193.6},{"name":"骨骼3","parent":"112","x":24.72,"y":-193.6},{"name":"GX_P19","parent":"骨骼3"},{"name":"骨骼4","parent":"112","x":24.72,"y":-193.6},{"name":"GX_P20","parent":"骨骼4"}],"slots":[{"name":"1","bone":"root","attachment":"1_00108"},{"name":"GX_P016","bone":"GX_P016","color":"ffce18ff","attachment":"GX_P016","blend":"additive"},{"name":"GX_P18","bone":"GX_P18","color":"ffce18ff","attachment":"GX_P016","blend":"additive"},{"name":"GX_P16","bone":"GX_P16","color":"ffce18ff","attachment":"GX_P016","blend":"additive"},{"name":"GX_P19","bone":"GX_P19","color":"ffce18ff","attachment":"GX_P016","blend":"additive"},{"name":"GX_P17","bone":"GX_P17","color":"ffce18ff","attachment":"GX_P016","blend":"additive"},{"name":"GX_P20","bone":"GX_P20","color":"ffce18ff","attachment":"GX_P016","blend":"additive"},{"name":"root","bone":"骨骼5","attachment":"root"},{"name":"root1","bone":"骨骼5","attachment":"root1"},{"name":"root2","bone":"骨骼5","attachment":"root2"},{"name":"root3","bone":"骨骼5","attachment":"root3"},{"name":"root4","bone":"骨骼5","attachment":"root4"},{"name":"root5","bone":"骨骼5","attachment":"root5"}],"skins":[{"name":"default","attachments":{"GX_P20":{"GX_P016":{"x":-24.72,"y":193.6,"scaleX":3.3511,"scaleY":0.7608,"rotation":97.57,"width":128,"height":128}},"root1":{"root1":{"type":"path","lengths":[434.14,960.08],"vertexCount":6,"vertices":[-81.37,-44.2,-27.38,65.66,21.74,165.63,225.9,381.91,302.46,286.4,379.02,190.9]}},"root2":{"root2":{"type":"path","lengths":[326.8,752.63],"vertexCount":6,"vertices":[-40.68,-32.05,-41.98,62.58,-43.17,149.79,-38.69,332.56,-80.77,384.11,-140.58,457.38]}},"root3":{"root3":{"type":"path","lengths":[438.84,998.86],"vertexCount":6,"vertices":[-74.48,-46.61,-33.9,61.28,-3.1,143.18,127.57,433.63,199.02,422.83,312.95,405.6]}},"root4":{"root4":{"type":"path","lengths":[353.79,783.56],"vertexCount":6,"vertices":[-110.14,-13.22,-44.62,60.58,16.93,129.9,244.94,218.21,274.33,140.97,309.43,48.75]}},"GX_P016":{"GX_P016":{"x":-24.72,"y":193.6,"scaleX":3.3511,"scaleY":0.7608,"rotation":97.57,"width":128,"height":128}},"root":{"root":{"type":"path","lengths":[453.64,918.86],"vertexCount":6,"vertices":[-16.81,-66.41,-43.22,72.45,-101.63,379.57,-225.5,336.74,-328,238.67,-430.14,140.96]}},"GX_P16":{"GX_P016":{"x":-24.72,"y":193.6,"scaleX":3.3511,"scaleY":0.7608,"rotation":97.57,"width":128,"height":128}},"GX_P17":{"GX_P016":{"x":-24.72,"y":193.6,"scaleX":3.3511,"scaleY":0.7608,"rotation":97.57,"width":128,"height":128}},"GX_P18":{"GX_P016":{"x":-24.72,"y":193.6,"scaleX":3.3511,"scaleY":0.7608,"rotation":97.57,"width":128,"height":128}},"GX_P19":{"GX_P016":{"x":-24.72,"y":193.6,"scaleX":3.3511,"scaleY":0.7608,"rotation":97.57,"width":128,"height":128}},"1":{"1_00010":{"width":83,"height":83},"1_00011":{"width":83,"height":83},"1_00012":{"width":83,"height":83},"1_00013":{"width":83,"height":83},"1_00014":{"width":83,"height":83},"1_00015":{"width":83,"height":83},"1_00016":{"width":83,"height":83},"1_00017":{"width":83,"height":83},"1_00018":{"width":83,"height":83},"1_00019":{"width":83,"height":83},"1_00020":{"width":83,"height":83},"1_00021":{"width":83,"height":83},"1_00022":{"width":83,"height":83},"1_00023":{"width":83,"height":83},"1_00024":{"width":83,"height":83},"1_00025":{"width":83,"height":83},"1_00026":{"width":83,"height":83},"1_00027":{"width":83,"height":83},"1_00028":{"width":83,"height":83},"1_00029":{"width":83,"height":83},"1_00030":{"width":83,"height":83},"1_00031":{"width":83,"height":83},"1_00032":{"width":83,"height":83},"1_00033":{"width":83,"height":83},"1_00034":{"width":83,"height":83},"1_00035":{"width":83,"height":83},"1_00036":{"width":83,"height":83},"1_00037":{"width":83,"height":83},"1_00038":{"width":83,"height":83},"1_00039":{"width":83,"height":83},"1_00040":{"width":83,"height":83},"1_00041":{"width":83,"height":83},"1_00042":{"width":83,"height":83},"1_00043":{"width":83,"height":83},"1_00044":{"width":83,"height":83},"1_00045":{"width":83,"height":83},"1_00046":{"width":83,"height":83},"1_00047":{"width":83,"height":83},"1_00048":{"width":83,"height":83},"1_00049":{"width":83,"height":83},"1_00050":{"width":83,"height":83},"1_00051":{"width":83,"height":83},"1_00052":{"width":83,"height":83},"1_00053":{"width":83,"height":83},"1_00054":{"width":83,"height":83},"1_00055":{"width":83,"height":83},"1_00056":{"width":83,"height":83},"1_00057":{"width":83,"height":83},"1_00058":{"width":83,"height":83},"1_00059":{"width":83,"height":83},"1_00060":{"width":83,"height":83},"1_00061":{"width":83,"height":83},"1_00062":{"width":83,"height":83},"1_00063":{"width":83,"height":83},"1_00064":{"width":83,"height":83},"1_00065":{"width":83,"height":83},"1_00066":{"width":83,"height":83},"1_00067":{"width":83,"height":83},"1_00068":{"width":83,"height":83},"1_00069":{"width":83,"height":83},"1_00070":{"width":83,"height":83},"1_00071":{"width":83,"height":83},"1_00072":{"width":83,"height":83},"1_00073":{"width":83,"height":83},"1_00074":{"width":83,"height":83},"1_00075":{"width":83,"height":83},"1_00076":{"width":83,"height":83},"1_00077":{"width":83,"height":83},"1_00078":{"width":83,"height":83},"1_00079":{"width":83,"height":83},"1_00080":{"width":83,"height":83},"1_00081":{"width":83,"height":83},"1_00082":{"width":83,"height":83},"1_00083":{"width":83,"height":83},"1_00084":{"width":83,"height":83},"1_00085":{"width":83,"height":83},"1_00086":{"width":83,"height":83},"1_00087":{"width":83,"height":83},"1_00088":{"width":83,"height":83},"1_00089":{"width":83,"height":83},"1_00090":{"width":83,"height":83},"1_00091":{"width":83,"height":83},"1_00092":{"width":83,"height":83},"1_00093":{"width":83,"height":83},"1_00094":{"width":83,"height":83},"1_00095":{"width":83,"height":83},"1_00096":{"width":83,"height":83},"1_00097":{"width":83,"height":83},"1_00098":{"width":83,"height":83},"1_00099":{"width":83,"height":83},"1_00100":{"width":83,"height":83},"1_00101":{"width":83,"height":83},"1_00102":{"width":83,"height":83},"1_00103":{"width":83,"height":83},"1_00104":{"width":83,"height":83},"1_00105":{"width":83,"height":83},"1_00106":{"width":83,"height":83},"1_00107":{"width":83,"height":83},"1_00108":{"width":83,"height":83},"1_00109":{"width":83,"height":83},"1_00110":{"width":83,"height":83},"1_00111":{"width":83,"height":83},"1_00112":{"width":83,"height":83}},"root5":{"root5":{"type":"path","lengths":[415.96,951.67],"vertexCount":6,"vertices":[2.76,-70.77,-0.33,50.82,-2.82,149.08,38.78,348.83,78.81,457.7,120.66,571.53]}}}}],"animations":{"animation":{"slots":{"GX_P20":{"color":[{"time":2.1667,"color":"ffce18ff"},{"time":2.4,"color":"ffcd1700"}]},"GX_P16":{"color":[{"time":2.1667,"color":"ffce18ff"},{"time":2.4,"color":"ffcd1700"}]},"GX_P19":{"color":[{"time":2.1667,"color":"ffce18ff"},{"time":2.4,"color":"ffcd1700"}]},"GX_P18":{"color":[{"time":2.1667,"color":"ffce18ff"},{"time":2.5333,"color":"ffcd1700"}]},"1":{"color":[{"color":"ffffff00"},{"time":0.6,"color":"ffffffff","curve":"stepped"},{"time":3.1333,"color":"ffffffff"},{"time":3.4,"color":"ffffff00"}],"attachment":[{"name":"1_00010"},{"time":0.0333,"name":"1_00011"},{"time":0.0667,"name":"1_00012"},{"time":0.1,"name":"1_00013"},{"time":0.1333,"name":"1_00014"},{"time":0.1667,"name":"1_00015"},{"time":0.2,"name":"1_00016"},{"time":0.2333,"name":"1_00017"},{"time":0.2667,"name":"1_00018"},{"time":0.3,"name":"1_00019"},{"time":0.3333,"name":"1_00020"},{"time":0.3667,"name":"1_00021"},{"time":0.4,"name":"1_00022"},{"time":0.4333,"name":"1_00023"},{"time":0.4667,"name":"1_00024"},{"time":0.5,"name":"1_00025"},{"time":0.5333,"name":"1_00026"},{"time":0.5667,"name":"1_00027"},{"time":0.6,"name":"1_00028"},{"time":0.6333,"name":"1_00029"},{"time":0.6667,"name":"1_00030"},{"time":0.7,"name":"1_00031"},{"time":0.7333,"name":"1_00032"},{"time":0.7667,"name":"1_00033"},{"time":0.8,"name":"1_00034"},{"time":0.8333,"name":"1_00035"},{"time":0.8667,"name":"1_00036"},{"time":0.9,"name":"1_00037"},{"time":0.9333,"name":"1_00038"},{"time":0.9667,"name":"1_00039"},{"time":1,"name":"1_00040"},{"time":1.0333,"name":"1_00041"},{"time":1.0667,"name":"1_00042"},{"time":1.1,"name":"1_00043"},{"time":1.1333,"name":"1_00044"},{"time":1.1667,"name":"1_00045"},{"time":1.2,"name":"1_00046"},{"time":1.2333,"name":"1_00047"},{"time":1.2667,"name":"1_00048"},{"time":1.3,"name":"1_00049"},{"time":1.3333,"name":"1_00050"},{"time":1.3667,"name":"1_00051"},{"time":1.4,"name":"1_00052"},{"time":1.4333,"name":"1_00053"},{"time":1.4667,"name":"1_00054"},{"time":1.5,"name":"1_00055"},{"time":1.5333,"name":"1_00056"},{"time":1.5667,"name":"1_00057"},{"time":1.6,"name":"1_00058"},{"time":1.6333,"name":"1_00059"},{"time":1.6667,"name":"1_00060"},{"time":1.7,"name":"1_00061"},{"time":1.7333,"name":"1_00062"},{"time":1.7667,"name":"1_00063"},{"time":1.8,"name":"1_00064"},{"time":1.8333,"name":"1_00065"},{"time":1.8667,"name":"1_00066"},{"time":1.9,"name":"1_00067"},{"time":1.9333,"name":"1_00068"},{"time":1.9667,"name":"1_00069"},{"time":2,"name":"1_00070"},{"time":2.0333,"name":"1_00071"},{"time":2.0667,"name":"1_00072"},{"time":2.1,"name":"1_00073"},{"time":2.1333,"name":"1_00074"},{"time":2.1667,"name":"1_00075"},{"time":2.2,"name":"1_00076"},{"time":2.2333,"name":"1_00077"},{"time":2.2667,"name":"1_00078"},{"time":2.3,"name":"1_00079"},{"time":2.3333,"name":"1_00080"},{"time":2.3667,"name":"1_00081"},{"time":2.4,"name":"1_00082"},{"time":2.4333,"name":"1_00083"},{"time":2.4667,"name":"1_00084"},{"time":2.5,"name":"1_00085"},{"time":2.5333,"name":"1_00086"},{"time":2.5667,"name":"1_00087"},{"time":2.6,"name":"1_00088"},{"time":2.6333,"name":"1_00089"},{"time":2.6667,"name":"1_00090"},{"time":2.7,"name":"1_00091"},{"time":2.7333,"name":"1_00092"},{"time":2.7667,"name":"1_00093"},{"time":2.8,"name":"1_00094"},{"time":2.8333,"name":"1_00095"},{"time":2.8667,"name":"1_00096"},{"time":2.9,"name":"1_00097"},{"time":2.9333,"name":"1_00098"},{"time":2.9667,"name":"1_00099"},{"time":3,"name":"1_00100"},{"time":3.0333,"name":"1_00101"},{"time":3.0667,"name":"1_00102"},{"time":3.1,"name":"1_00103"},{"time":3.1333,"name":"1_00104"},{"time":3.1667,"name":"1_00105"},{"time":3.2,"name":"1_00106"},{"time":3.2333,"name":"1_00107"},{"time":3.2667,"name":"1_00108"},{"time":3.3,"name":"1_00109"},{"time":3.3333,"name":"1_00110"},{"time":3.3667,"name":"1_00111"},{"time":3.4,"name":"1_00112"}]},"GX_P016":{"color":[{"time":2.1667,"color":"ffce18ff"},{"time":2.5333,"color":"ffcd1700"}]},"GX_P17":{"color":[{"time":2.1667,"color":"ffce18ff"},{"time":2.4,"color":"ffcd1700"}]}},"bones":{"GX_P19":{"rotate":[{"time":1.8333,"angle":-12.01,"curve":0,"c2":1,"c3":0.75},{"time":2.0667}],"translate":[{"x":-136.59,"y":77.11}],"scale":[{"x":0,"y":0,"curve":"stepped"},{"time":1.8333,"x":0,"y":0,"curve":0,"c2":1,"c3":0.75},{"time":2.0667,"x":1.947,"y":1.473,"curve":"stepped"},{"time":2.1667,"x":1.947,"y":1.473},{"time":2.4,"x":1.283,"y":0.971}]},"GX_P18":{"rotate":[{"time":1.8333,"angle":-12.01,"curve":0,"c2":1,"c3":0.75},{"time":2.0667}],"translate":[{"x":-136.59,"y":77.11}],"scale":[{"x":0,"y":0,"curve":"stepped"},{"time":1.8333,"x":0,"y":0,"curve":0,"c2":1,"c3":0.75},{"time":2.0667,"x":1.947,"y":1.473,"curve":"stepped"},{"time":2.1667,"x":1.947,"y":1.473},{"time":2.5333,"x":0.718,"y":0.543}]},"GX_P016":{"rotate":[{"time":1.8333,"angle":-12.01,"curve":0,"c2":1,"c3":0.75},{"time":2.0667}],"translate":[{"x":-136.59,"y":77.11}],"scale":[{"x":0,"y":0,"curve":"stepped"},{"time":1.8333,"x":0,"y":0,"curve":0,"c2":1,"c3":0.75},{"time":2.0667,"x":1.947,"y":1.473,"curve":"stepped"},{"time":2.1667,"x":1.947,"y":1.473},{"time":2.5333,"x":0.718,"y":0.543}]},"GX_P16":{"rotate":[{"time":1.8333,"angle":-12.01,"curve":0,"c2":1,"c3":0.75},{"time":2.0667}],"translate":[{"x":-136.59,"y":77.11}],"scale":[{"x":0,"y":0,"curve":"stepped"},{"time":1.8333,"x":0,"y":0,"curve":0,"c2":1,"c3":0.75},{"time":2.0667,"x":1.947,"y":1.473,"curve":"stepped"},{"time":2.1667,"x":1.947,"y":1.473},{"time":2.4,"x":1.283,"y":0.971}]},"GX_P17":{"rotate":[{"time":1.8333,"angle":-12.01,"curve":0,"c2":1,"c3":0.75},{"time":2.0667}],"translate":[{"x":-136.59,"y":77.11}],"scale":[{"x":0,"y":0,"curve":"stepped"},{"time":1.8333,"x":0,"y":0,"curve":0,"c2":1,"c3":0.75},{"time":2.0667,"x":1.947,"y":1.473,"curve":"stepped"},{"time":2.1667,"x":1.947,"y":1.473},{"time":2.4,"x":1.168,"y":0.884}]},"GX_P20":{"rotate":[{"time":1.8333,"angle":-12.01,"curve":0,"c2":1,"c3":0.75},{"time":2.0667}],"translate":[{"x":-136.59,"y":77.11}],"scale":[{"x":0,"y":0,"curve":"stepped"},{"time":1.8333,"x":0,"y":0,"curve":0,"c2":1,"c3":0.75},{"time":2.0667,"x":1.947,"y":1.473,"curve":"stepped"},{"time":2.1667,"x":1.947,"y":1.473},{"time":2.4,"x":1.168,"y":0.884}]},"骨骼":{"rotate":[{"angle":-7.84,"curve":"stepped"},{"time":1.8,"angle":-7.84,"curve":0.25,"c3":0.75},{"time":1.9667,"angle":12.95}],"translate":[{"x":39.65,"y":-22.66}],"scale":[{"x":1.261,"y":1.261}]},"骨骼2":{"rotate":[{"angle":-11.53,"curve":"stepped"},{"time":1.8,"angle":-11.53},{"time":1.9667,"angle":-11.86}],"translate":[{"x":45.31,"y":-82.13}],"scale":[{"x":1.261,"y":1.261}]},"骨骼3":{"rotate":[{"angle":-7.84,"curve":"stepped"},{"time":1.8,"angle":-7.84,"curve":0.25,"c3":0.75},{"time":1.9667,"angle":12.95}],"translate":[{"x":39.65,"y":-22.66}],"scale":[{"x":1.261,"y":1.261}]},"骨骼4":{"rotate":[{"angle":-11.53,"curve":"stepped"},{"time":1.8,"angle":-11.53},{"time":1.9667,"angle":-11.86}],"translate":[{"x":45.31,"y":-82.13}],"scale":[{"x":1.261,"y":1.261}]},"112":{"rotate":[{"angle":-21.48}],"translate":[{"x":-96.29,"y":8.5},{"time":2.3,"x":-30.12,"y":-17.97}]},"骨骼5":{"rotate":[{"angle":9.19}],"translate":[{"x":12.19,"y":163.23}],"scale":[{"x":0.143,"y":0.143}]},"111":{"translate":[{"time":2.3,"x":66.17,"y":-26.47}]}},"deform":{"default":{"root2":{"root2":[{"vertices":[66.16995,-26.468,66.16995,-26.468,66.16995,-26.468,66.16995,-26.468,66.16995,-26.468,66.16995,-26.46802]}]},"root":{"root":[{"vertices":[66.16995,-26.468,66.16996,-26.468,66.16995,-26.468,66.16995,-26.468,66.16995,-26.468,66.16995,-26.468]}]},"root4":{"root4":[{"vertices":[66.16995,-26.468,66.16995,-26.468,66.16995,-26.468,66.16995,-26.468,66.16995,-26.468,66.16995,-26.468]}]},"root3":{"root3":[{"vertices":[66.16995,-26.468,66.16995,-26.468,66.16995,-26.468,66.16995,-26.46803,66.16995,-26.468,66.16995,-26.468]}]},"root5":{"root5":[{"vertices":[66.16995,-26.468,66.16995,-26.468,66.16995,-26.468,66.16995,-26.468,66.16995,-26.46802,66.16995,-26.46802]}]},"root1":{"root1":[{"vertices":[66.16995,-26.468,66.16995,-26.468,66.16995,-26.468,66.16995,-26.468,66.16995,-26.468,66.16995,-26.468]}]}}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/chest/skeleton.webp b/nginx/minesweeper/assets/spine/chest/skeleton.webp new file mode 100644 index 0000000..dedb12f Binary files /dev/null and b/nginx/minesweeper/assets/spine/chest/skeleton.webp differ diff --git a/nginx/minesweeper/assets/spine/chicken/skeleton.atlas b/nginx/minesweeper/assets/spine/chicken/skeleton.atlas new file mode 100644 index 0000000..0a93f85 --- /dev/null +++ b/nginx/minesweeper/assets/spine/chicken/skeleton.atlas @@ -0,0 +1,649 @@ +skeleton.webp +size: 1704,1348 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00000 + rotate: false + xy: 2, 530 + size: 165, 202 + orig: 180, 207 + offset: 15, 0 + index: -1 +1_00001 + rotate: false + xy: 2, 127 + size: 167, 198 + orig: 180, 207 + offset: 13, 0 + index: -1 +1_00002 + rotate: false + xy: 2, 127 + size: 167, 198 + orig: 180, 207 + offset: 13, 0 + index: -1 +1_00003 + rotate: false + xy: 2, 1143 + size: 168, 203 + orig: 180, 207 + offset: 12, 0 + index: -1 +1_00004 + rotate: false + xy: 2, 938 + size: 167, 203 + orig: 180, 207 + offset: 13, 0 + index: -1 +1_00005 + rotate: false + xy: 2, 734 + size: 167, 202 + orig: 180, 207 + offset: 13, 0 + index: -1 +1_00006 + rotate: false + xy: 2, 327 + size: 164, 201 + orig: 180, 207 + offset: 16, 0 + index: -1 +1_00007 + rotate: false + xy: 2, 327 + size: 164, 201 + orig: 180, 207 + offset: 16, 0 + index: -1 +1_00008 + rotate: false + xy: 168, 334 + size: 150, 194 + orig: 180, 207 + offset: 30, 0 + index: -1 +1_00009 + rotate: false + xy: 169, 539 + size: 144, 193 + orig: 180, 207 + offset: 36, 0 + index: -1 +1_00010 + rotate: false + xy: 171, 950 + size: 140, 191 + orig: 180, 207 + offset: 40, 0 + index: -1 +1_00011 + rotate: false + xy: 172, 1156 + size: 138, 190 + orig: 180, 207 + offset: 42, 0 + index: -1 +1_00012 + rotate: false + xy: 172, 1156 + size: 138, 190 + orig: 180, 207 + offset: 42, 0 + index: -1 +1_00013 + rotate: false + xy: 476, 1157 + size: 135, 189 + orig: 180, 207 + offset: 45, 0 + index: -1 +1_00014 + rotate: false + xy: 613, 1157 + size: 135, 189 + orig: 180, 207 + offset: 45, 0 + index: -1 +1_00015 + rotate: false + xy: 791, 398 + size: 135, 187 + orig: 180, 207 + offset: 45, 0 + index: -1 +1_00016 + rotate: false + xy: 794, 589 + size: 135, 187 + orig: 180, 207 + offset: 45, 0 + index: -1 +1_00017 + rotate: false + xy: 794, 589 + size: 135, 187 + orig: 180, 207 + offset: 45, 0 + index: -1 +1_00018 + rotate: true + xy: 365, 4 + size: 135, 190 + orig: 180, 207 + offset: 45, 0 + index: -1 +1_00019 + rotate: true + xy: 171, 3 + size: 135, 192 + orig: 180, 207 + offset: 45, 0 + index: -1 +1_00020 + rotate: false + xy: 171, 140 + size: 137, 192 + orig: 180, 207 + offset: 43, 0 + index: -1 +1_00021 + rotate: false + xy: 310, 141 + size: 141, 191 + orig: 180, 207 + offset: 39, 0 + index: -1 +1_00022 + rotate: false + xy: 310, 141 + size: 141, 191 + orig: 180, 207 + offset: 39, 0 + index: -1 +1_00023 + rotate: false + xy: 474, 966 + size: 143, 189 + orig: 180, 207 + offset: 37, 0 + index: -1 +1_00024 + rotate: false + xy: 619, 967 + size: 145, 188 + orig: 180, 207 + offset: 35, 0 + index: -1 +1_00025 + rotate: false + xy: 612, 207 + size: 149, 187 + orig: 180, 207 + offset: 31, 0 + index: -1 +1_00026 + rotate: false + xy: 766, 970 + size: 154, 187 + orig: 180, 207 + offset: 26, 0 + index: -1 +1_00027 + rotate: false + xy: 766, 970 + size: 154, 187 + orig: 180, 207 + offset: 26, 0 + index: -1 +1_00028 + rotate: false + xy: 966, 783 + size: 153, 186 + orig: 180, 207 + offset: 25, 0 + index: -1 +1_00029 + rotate: false + xy: 931, 594 + size: 154, 186 + orig: 180, 207 + offset: 24, 0 + index: -1 +1_00030 + rotate: false + xy: 637, 587 + size: 155, 187 + orig: 180, 207 + offset: 23, 0 + index: -1 +1_00031 + rotate: false + xy: 320, 378 + size: 159, 188 + orig: 180, 207 + offset: 19, 0 + index: -1 +1_00032 + rotate: false + xy: 320, 378 + size: 159, 188 + orig: 180, 207 + offset: 19, 0 + index: -1 +1_00033 + rotate: false + xy: 171, 759 + size: 160, 189 + orig: 180, 207 + offset: 18, 0 + index: -1 +1_00034 + rotate: false + xy: 312, 1157 + size: 162, 189 + orig: 180, 207 + offset: 18, 0 + index: -1 +1_00035 + rotate: false + xy: 928, 401 + size: 155, 186 + orig: 180, 207 + offset: 25, 0 + index: -1 +1_00036 + rotate: false + xy: 1253, 598 + size: 153, 185 + orig: 180, 207 + offset: 27, 0 + index: -1 +1_00037 + rotate: false + xy: 1253, 598 + size: 153, 185 + orig: 180, 207 + offset: 27, 0 + index: -1 +1_00038 + rotate: false + xy: 1384, 412 + size: 149, 184 + orig: 180, 207 + offset: 31, 0 + index: -1 +1_00039 + rotate: false + xy: 1554, 604 + size: 145, 183 + orig: 180, 207 + offset: 35, 0 + index: -1 +1_00040 + rotate: false + xy: 1536, 235 + size: 143, 182 + orig: 180, 207 + offset: 37, 0 + index: -1 +1_00041 + rotate: true + xy: 1498, 79 + size: 142, 183 + orig: 180, 207 + offset: 38, 0 + index: -1 +1_00042 + rotate: true + xy: 1498, 79 + size: 142, 183 + orig: 180, 207 + offset: 38, 0 + index: -1 +1_00043 + rotate: false + xy: 1355, 32 + size: 141, 185 + orig: 180, 207 + offset: 39, 0 + index: -1 +1_00044 + rotate: false + xy: 1085, 406 + size: 140, 186 + orig: 180, 207 + offset: 40, 0 + index: -1 +1_00045 + rotate: false + xy: 763, 209 + size: 141, 187 + orig: 180, 207 + offset: 39, 0 + index: -1 +1_00046 + rotate: false + xy: 493, 776 + size: 146, 188 + orig: 180, 207 + offset: 34, 0 + index: -1 +1_00047 + rotate: false + xy: 493, 776 + size: 146, 188 + orig: 180, 207 + offset: 34, 0 + index: -1 +1_00048 + rotate: false + xy: 640, 398 + size: 149, 187 + orig: 180, 207 + offset: 31, 0 + index: -1 +1_00049 + rotate: false + xy: 641, 778 + size: 155, 187 + orig: 180, 207 + offset: 25, 0 + index: -1 +1_00050 + rotate: false + xy: 1192, 26 + size: 161, 185 + orig: 180, 207 + offset: 19, 0 + index: -1 +1_00051 + rotate: false + xy: 1211, 219 + size: 161, 185 + orig: 180, 207 + offset: 19, 0 + index: -1 +1_00052 + rotate: false + xy: 1211, 219 + size: 161, 185 + orig: 180, 207 + offset: 19, 0 + index: -1 +1_00053 + rotate: false + xy: 1244, 973 + size: 162, 185 + orig: 180, 207 + offset: 18, 0 + index: -1 +1_00054 + rotate: false + xy: 1391, 1161 + size: 162, 185 + orig: 180, 207 + offset: 18, 0 + index: -1 +1_00055 + rotate: false + xy: 1087, 596 + size: 164, 185 + orig: 180, 207 + offset: 16, 0 + index: -1 +1_00056 + rotate: false + xy: 1072, 1160 + size: 164, 186 + orig: 180, 207 + offset: 16, 0 + index: -1 +1_00057 + rotate: false + xy: 1072, 1160 + size: 164, 186 + orig: 180, 207 + offset: 16, 0 + index: -1 +1_00058 + rotate: false + xy: 750, 1159 + size: 165, 187 + orig: 180, 207 + offset: 15, 0 + index: -1 +1_00059 + rotate: false + xy: 453, 189 + size: 157, 187 + orig: 180, 207 + offset: 23, 0 + index: -1 +1_00060 + rotate: false + xy: 1238, 1160 + size: 151, 186 + orig: 180, 207 + offset: 29, 0 + index: -1 +1_00061 + rotate: false + xy: 1041, 22 + size: 149, 186 + orig: 180, 207 + offset: 31, 0 + index: -1 +1_00062 + rotate: false + xy: 1041, 22 + size: 149, 186 + orig: 180, 207 + offset: 31, 0 + index: -1 +1_00063 + rotate: false + xy: 1555, 1161 + size: 147, 185 + orig: 180, 207 + offset: 33, 0 + index: -1 +1_00064 + rotate: false + xy: 1554, 419 + size: 145, 183 + orig: 180, 207 + offset: 35, 0 + index: -1 +1_00065 + rotate: false + xy: 1554, 975 + size: 145, 184 + orig: 180, 207 + offset: 35, 0 + index: -1 +1_00066 + rotate: false + xy: 1554, 789 + size: 145, 184 + orig: 180, 207 + offset: 35, 0 + index: -1 +1_00067 + rotate: false + xy: 1554, 789 + size: 145, 184 + orig: 180, 207 + offset: 35, 0 + index: -1 +1_00068 + rotate: false + xy: 1408, 600 + size: 144, 184 + orig: 180, 207 + offset: 36, 0 + index: -1 +1_00069 + rotate: false + xy: 1408, 974 + size: 144, 185 + orig: 180, 207 + offset: 36, 0 + index: -1 +1_00070 + rotate: false + xy: 1064, 213 + size: 145, 186 + orig: 180, 207 + offset: 35, 0 + index: -1 +1_00071 + rotate: false + xy: 726, 18 + size: 149, 187 + orig: 180, 207 + offset: 31, 0 + index: -1 +1_00072 + rotate: false + xy: 726, 18 + size: 149, 187 + orig: 180, 207 + offset: 31, 0 + index: -1 +1_00073 + rotate: false + xy: 917, 1159 + size: 153, 187 + orig: 180, 207 + offset: 27, 0 + index: -1 +1_00074 + rotate: false + xy: 877, 21 + size: 162, 186 + orig: 180, 207 + offset: 18, 0 + index: -1 +1_00075 + rotate: false + xy: 922, 971 + size: 165, 186 + orig: 180, 207 + offset: 15, 0 + index: -1 +1_00076 + rotate: false + xy: 798, 782 + size: 166, 186 + orig: 180, 207 + offset: 14, 0 + index: -1 +1_00077 + rotate: false + xy: 798, 782 + size: 166, 186 + orig: 180, 207 + offset: 14, 0 + index: -1 +1_00078 + rotate: false + xy: 557, 2 + size: 167, 185 + orig: 180, 207 + offset: 13, 0 + index: -1 +1_00079 + rotate: false + xy: 1227, 409 + size: 155, 185 + orig: 180, 207 + offset: 13, 0 + index: -1 +1_00080 + rotate: false + xy: 906, 210 + size: 156, 186 + orig: 180, 207 + offset: 12, 0 + index: -1 +1_00081 + rotate: false + xy: 481, 396 + size: 157, 187 + orig: 180, 207 + offset: 10, 0 + index: -1 +1_00082 + rotate: false + xy: 481, 396 + size: 157, 187 + orig: 180, 207 + offset: 10, 0 + index: -1 +1_00083 + rotate: false + xy: 313, 966 + size: 159, 189 + orig: 180, 207 + offset: 7, 0 + index: -1 +1_00084 + rotate: false + xy: 333, 775 + size: 158, 189 + orig: 180, 207 + offset: 6, 0 + index: -1 +1_00085 + rotate: false + xy: 315, 568 + size: 159, 189 + orig: 180, 207 + offset: 4, 0 + index: -1 +1_00086 + rotate: false + xy: 476, 585 + size: 159, 188 + orig: 180, 207 + offset: 4, 0 + index: -1 +1_00087 + rotate: false + xy: 476, 585 + size: 159, 188 + orig: 180, 207 + offset: 4, 0 + index: -1 +1_00088 + rotate: false + xy: 1089, 972 + size: 153, 186 + orig: 180, 207 + offset: 8, 0 + index: -1 +1_00089 + rotate: false + xy: 1287, 786 + size: 148, 185 + orig: 180, 207 + offset: 12, 0 + index: -1 +1_00090 + rotate: false + xy: 1121, 785 + size: 164, 185 + orig: 180, 207 + offset: 16, 0 + index: -1 +1_00091 + rotate: false + xy: 1374, 223 + size: 160, 184 + orig: 180, 207 + offset: 20, 0 + index: -1 diff --git a/nginx/minesweeper/assets/spine/chicken/skeleton.json b/nginx/minesweeper/assets/spine/chicken/skeleton.json new file mode 100644 index 0000000..fa055e8 --- /dev/null +++ b/nginx/minesweeper/assets/spine/chicken/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"vcm/xZcG4i5Iyv8vSe3KTxrmdjo=","spine":"3.8","images":"./1111111/","audio":"E:/CJ_Animation_Learn/Spine_yuanfiles/DS/YiLiaoBao"},"bones":[{"name":"root"}],"slots":[{"name":"1","bone":"root"}],"skins":[{"name":"default","attachments":{"1":{"1_00000":{"width":180,"height":207},"1_00001":{"width":180,"height":207},"1_00002":{"width":180,"height":207},"1_00003":{"width":180,"height":207},"1_00004":{"width":180,"height":207},"1_00005":{"width":180,"height":207},"1_00006":{"width":180,"height":207},"1_00007":{"width":180,"height":207},"1_00008":{"width":180,"height":207},"1_00009":{"width":180,"height":207},"1_00010":{"width":180,"height":207},"1_00011":{"width":180,"height":207},"1_00012":{"width":180,"height":207},"1_00013":{"width":180,"height":207},"1_00014":{"width":180,"height":207},"1_00015":{"width":180,"height":207},"1_00016":{"width":180,"height":207},"1_00017":{"width":180,"height":207},"1_00018":{"width":180,"height":207},"1_00019":{"width":180,"height":207},"1_00020":{"width":180,"height":207},"1_00021":{"width":180,"height":207},"1_00022":{"width":180,"height":207},"1_00023":{"width":180,"height":207},"1_00024":{"width":180,"height":207},"1_00025":{"width":180,"height":207},"1_00026":{"width":180,"height":207},"1_00027":{"width":180,"height":207},"1_00028":{"width":180,"height":207},"1_00029":{"width":180,"height":207},"1_00030":{"width":180,"height":207},"1_00031":{"width":180,"height":207},"1_00032":{"width":180,"height":207},"1_00033":{"width":180,"height":207},"1_00034":{"width":180,"height":207},"1_00035":{"width":180,"height":207},"1_00036":{"width":180,"height":207},"1_00037":{"width":180,"height":207},"1_00038":{"width":180,"height":207},"1_00039":{"width":180,"height":207},"1_00040":{"width":180,"height":207},"1_00041":{"width":180,"height":207},"1_00042":{"width":180,"height":207},"1_00043":{"width":180,"height":207},"1_00044":{"width":180,"height":207},"1_00045":{"width":180,"height":207},"1_00046":{"width":180,"height":207},"1_00047":{"width":180,"height":207},"1_00048":{"width":180,"height":207},"1_00049":{"width":180,"height":207},"1_00050":{"width":180,"height":207},"1_00051":{"width":180,"height":207},"1_00052":{"width":180,"height":207},"1_00053":{"width":180,"height":207},"1_00054":{"width":180,"height":207},"1_00055":{"width":180,"height":207},"1_00056":{"width":180,"height":207},"1_00057":{"width":180,"height":207},"1_00058":{"width":180,"height":207},"1_00059":{"width":180,"height":207},"1_00060":{"width":180,"height":207},"1_00061":{"width":180,"height":207},"1_00062":{"width":180,"height":207},"1_00063":{"width":180,"height":207},"1_00064":{"width":180,"height":207},"1_00065":{"width":180,"height":207},"1_00066":{"width":180,"height":207},"1_00067":{"width":180,"height":207},"1_00068":{"width":180,"height":207},"1_00069":{"width":180,"height":207},"1_00070":{"width":180,"height":207},"1_00071":{"width":180,"height":207},"1_00072":{"width":180,"height":207},"1_00073":{"width":180,"height":207},"1_00074":{"width":180,"height":207},"1_00075":{"width":180,"height":207},"1_00076":{"width":180,"height":207},"1_00077":{"width":180,"height":207},"1_00078":{"width":180,"height":207},"1_00079":{"width":180,"height":207},"1_00080":{"width":180,"height":207},"1_00081":{"width":180,"height":207},"1_00082":{"width":180,"height":207},"1_00083":{"x":0.5,"y":0.5,"width":180,"height":207},"1_00084":{"x":0.5,"y":0.5,"width":180,"height":207},"1_00085":{"x":0.5,"y":0.5,"width":180,"height":207},"1_00086":{"x":0.5,"y":0.5,"width":180,"height":207},"1_00087":{"x":0.5,"y":0.5,"width":180,"height":207},"1_00088":{"x":0.5,"y":0.5,"width":180,"height":207},"1_00089":{"x":0.5,"y":0.5,"width":180,"height":207},"1_00090":{"x":0.5,"y":0.5,"width":180,"height":207},"1_00091":{"x":0.5,"y":0.5,"width":180,"height":207}}}}],"animations":{"animation":{"slots":{"1":{"color":[{"color":"ffffff00"},{"time":0.3,"color":"ffffffff","curve":"stepped"},{"time":2.5,"color":"ffffffff"},{"time":2.8,"color":"ffffff00"}],"attachment":[{"name":"1_00000"},{"time":0.0333,"name":"1_00001"},{"time":0.0667,"name":"1_00002"},{"time":0.1,"name":"1_00003"},{"time":0.1333,"name":"1_00004"},{"time":0.1667,"name":"1_00005"},{"time":0.2,"name":"1_00006"},{"time":0.2333,"name":"1_00007"},{"time":0.2667,"name":"1_00008"},{"time":0.3,"name":"1_00009"},{"time":0.3333,"name":"1_00010"},{"time":0.3667,"name":"1_00011"},{"time":0.4,"name":"1_00012"},{"time":0.4333,"name":"1_00013"},{"time":0.4667,"name":"1_00014"},{"time":0.5,"name":"1_00015"},{"time":0.5333,"name":"1_00016"},{"time":0.5667,"name":"1_00017"},{"time":0.6,"name":"1_00018"},{"time":0.6333,"name":"1_00019"},{"time":0.6667,"name":"1_00020"},{"time":0.7,"name":"1_00021"},{"time":0.7333,"name":"1_00022"},{"time":0.7667,"name":"1_00023"},{"time":0.8,"name":"1_00024"},{"time":0.8333,"name":"1_00025"},{"time":0.8667,"name":"1_00026"},{"time":0.9,"name":"1_00027"},{"time":0.9333,"name":"1_00028"},{"time":0.9667,"name":"1_00029"},{"time":1,"name":"1_00030"},{"time":1.0333,"name":"1_00031"},{"time":1.0667,"name":"1_00032"},{"time":1.1,"name":"1_00033"},{"time":1.1333,"name":"1_00034"},{"time":1.1667,"name":"1_00035"},{"time":1.2,"name":"1_00036"},{"time":1.2333,"name":"1_00037"},{"time":1.2667,"name":"1_00038"},{"time":1.3,"name":"1_00039"},{"time":1.3333,"name":"1_00040"},{"time":1.3667,"name":"1_00041"},{"time":1.4,"name":"1_00042"},{"time":1.4333,"name":"1_00043"},{"time":1.4667,"name":"1_00044"},{"time":1.5,"name":"1_00045"},{"time":1.5333,"name":"1_00046"},{"time":1.5667,"name":"1_00047"},{"time":1.6,"name":"1_00048"},{"time":1.6333,"name":"1_00049"},{"time":1.6667,"name":"1_00050"},{"time":1.7,"name":"1_00051"},{"time":1.7333,"name":"1_00052"},{"time":1.7667,"name":"1_00053"},{"time":1.8,"name":"1_00054"},{"time":1.8333,"name":"1_00055"},{"time":1.8667,"name":"1_00056"},{"time":1.9,"name":"1_00057"},{"time":1.9333,"name":"1_00058"},{"time":1.9667,"name":"1_00059"},{"time":2,"name":"1_00060"},{"time":2.0333,"name":"1_00061"},{"time":2.0667,"name":"1_00062"},{"time":2.1,"name":"1_00063"},{"time":2.1333,"name":"1_00064"},{"time":2.1667,"name":"1_00065"},{"time":2.2,"name":"1_00066"},{"time":2.2333,"name":"1_00067"},{"time":2.2667,"name":"1_00068"},{"time":2.3,"name":"1_00069"},{"time":2.3333,"name":"1_00070"},{"time":2.3667,"name":"1_00071"},{"time":2.4,"name":"1_00072"},{"time":2.4333,"name":"1_00073"},{"time":2.4667,"name":"1_00074"},{"time":2.5,"name":"1_00075"},{"time":2.5333,"name":"1_00076"},{"time":2.5667,"name":"1_00077"},{"time":2.6,"name":"1_00078"},{"time":2.6333,"name":"1_00079"},{"time":2.6667,"name":"1_00080"},{"time":2.7,"name":"1_00081"},{"time":2.7333,"name":"1_00082"},{"time":2.7667,"name":"1_00083"},{"time":2.8,"name":"1_00084"}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/chicken/skeleton.webp b/nginx/minesweeper/assets/spine/chicken/skeleton.webp new file mode 100644 index 0000000..07bedb7 Binary files /dev/null and b/nginx/minesweeper/assets/spine/chicken/skeleton.webp differ diff --git a/nginx/minesweeper/assets/spine/curse/skeleton.atlas b/nginx/minesweeper/assets/spine/curse/skeleton.atlas new file mode 100644 index 0000000..8f312cd --- /dev/null +++ b/nginx/minesweeper/assets/spine/curse/skeleton.atlas @@ -0,0 +1,649 @@ +skeleton.webp +size: 2001,396 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00000 + rotate: false + xy: 1644, 259 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00001 + rotate: true + xy: 1639, 16 + size: 58, 111 + orig: 130, 180 + offset: 36, 32 + index: -1 +1_00002 + rotate: true + xy: 1867, 22 + size: 58, 111 + orig: 130, 180 + offset: 36, 32 + index: -1 +1_00003 + rotate: true + xy: 1887, 142 + size: 58, 112 + orig: 130, 180 + offset: 36, 32 + index: -1 +1_00004 + rotate: true + xy: 1887, 82 + size: 58, 112 + orig: 130, 180 + offset: 36, 32 + index: -1 +1_00005 + rotate: false + xy: 2, 2 + size: 59, 113 + orig: 130, 180 + offset: 35, 32 + index: -1 +1_00006 + rotate: false + xy: 63, 2 + size: 59, 113 + orig: 130, 180 + offset: 35, 32 + index: -1 +1_00007 + rotate: false + xy: 1578, 16 + size: 59, 113 + orig: 130, 180 + offset: 35, 33 + index: -1 +1_00008 + rotate: true + xy: 1752, 24 + size: 59, 113 + orig: 130, 180 + offset: 35, 33 + index: -1 +1_00009 + rotate: true + xy: 1886, 202 + size: 59, 113 + orig: 130, 180 + offset: 35, 33 + index: -1 +1_00010 + rotate: false + xy: 1701, 85 + size: 60, 114 + orig: 130, 180 + offset: 35, 33 + index: -1 +1_00011 + rotate: false + xy: 1763, 85 + size: 60, 114 + orig: 130, 180 + offset: 35, 33 + index: -1 +1_00012 + rotate: false + xy: 1825, 85 + size: 60, 114 + orig: 130, 180 + offset: 35, 33 + index: -1 +1_00013 + rotate: false + xy: 124, 2 + size: 60, 115 + orig: 130, 180 + offset: 35, 33 + index: -1 +1_00014 + rotate: false + xy: 186, 3 + size: 60, 115 + orig: 130, 180 + offset: 35, 33 + index: -1 +1_00015 + rotate: false + xy: 248, 2 + size: 60, 117 + orig: 130, 180 + offset: 35, 32 + index: -1 +1_00016 + rotate: true + xy: 1767, 201 + size: 60, 117 + orig: 130, 180 + offset: 35, 32 + index: -1 +1_00017 + rotate: false + xy: 1639, 76 + size: 60, 118 + orig: 130, 180 + offset: 35, 32 + index: -1 +1_00018 + rotate: true + xy: 1647, 201 + size: 60, 118 + orig: 130, 180 + offset: 35, 32 + index: -1 +1_00019 + rotate: false + xy: 310, 2 + size: 61, 119 + orig: 130, 180 + offset: 34, 32 + index: -1 +1_00020 + rotate: true + xy: 1334, 5 + size: 61, 119 + orig: 130, 180 + offset: 34, 32 + index: -1 +1_00021 + rotate: true + xy: 1455, 5 + size: 61, 119 + orig: 130, 180 + offset: 34, 32 + index: -1 +1_00022 + rotate: false + xy: 1149, 12 + size: 61, 120 + orig: 130, 180 + offset: 34, 32 + index: -1 +1_00023 + rotate: true + xy: 1334, 68 + size: 61, 120 + orig: 130, 180 + offset: 34, 32 + index: -1 +1_00024 + rotate: true + xy: 1456, 68 + size: 61, 120 + orig: 130, 180 + offset: 34, 33 + index: -1 +1_00025 + rotate: true + xy: 1212, 4 + size: 61, 120 + orig: 130, 180 + offset: 34, 33 + index: -1 +1_00026 + rotate: true + xy: 1212, 67 + size: 62, 120 + orig: 130, 180 + offset: 34, 33 + index: -1 +1_00027 + rotate: false + xy: 373, 2 + size: 62, 121 + orig: 130, 180 + offset: 34, 33 + index: -1 +1_00028 + rotate: false + xy: 829, 10 + size: 62, 122 + orig: 130, 180 + offset: 34, 33 + index: -1 +1_00029 + rotate: false + xy: 893, 10 + size: 62, 122 + orig: 130, 180 + offset: 34, 33 + index: -1 +1_00030 + rotate: false + xy: 957, 10 + size: 62, 122 + orig: 130, 180 + offset: 34, 33 + index: -1 +1_00031 + rotate: false + xy: 1021, 10 + size: 62, 122 + orig: 130, 180 + offset: 34, 34 + index: -1 +1_00032 + rotate: false + xy: 1085, 10 + size: 62, 122 + orig: 130, 180 + offset: 34, 34 + index: -1 +1_00033 + rotate: false + xy: 699, 7 + size: 63, 123 + orig: 130, 180 + offset: 33, 34 + index: -1 +1_00034 + rotate: false + xy: 764, 8 + size: 63, 123 + orig: 130, 180 + offset: 33, 34 + index: -1 +1_00035 + rotate: true + xy: 1261, 131 + size: 63, 124 + orig: 130, 180 + offset: 33, 34 + index: -1 +1_00036 + rotate: true + xy: 1387, 131 + size: 63, 124 + orig: 130, 180 + offset: 33, 34 + index: -1 +1_00037 + rotate: true + xy: 1513, 131 + size: 63, 124 + orig: 130, 180 + offset: 33, 34 + index: -1 +1_00038 + rotate: false + xy: 437, 4 + size: 63, 124 + orig: 130, 180 + offset: 33, 34 + index: -1 +1_00039 + rotate: false + xy: 568, 5 + size: 63, 124 + orig: 130, 180 + offset: 33, 34 + index: -1 +1_00040 + rotate: true + xy: 1518, 196 + size: 64, 124 + orig: 130, 180 + offset: 33, 34 + index: -1 +1_00041 + rotate: false + xy: 502, 5 + size: 64, 124 + orig: 130, 180 + offset: 33, 34 + index: -1 +1_00042 + rotate: true + xy: 1647, 263 + size: 64, 125 + orig: 130, 180 + offset: 33, 33 + index: -1 +1_00043 + rotate: false + xy: 1912, 270 + size: 64, 124 + orig: 130, 180 + offset: 33, 33 + index: -1 +1_00044 + rotate: false + xy: 633, 6 + size: 64, 124 + orig: 130, 180 + offset: 33, 33 + index: -1 +1_00045 + rotate: true + xy: 1774, 263 + size: 64, 125 + orig: 130, 180 + offset: 33, 32 + index: -1 +1_00046 + rotate: true + xy: 1391, 263 + size: 64, 126 + orig: 130, 180 + offset: 33, 31 + index: -1 +1_00047 + rotate: true + xy: 1262, 263 + size: 64, 127 + orig: 130, 180 + offset: 33, 30 + index: -1 +1_00048 + rotate: true + xy: 1390, 196 + size: 65, 126 + orig: 130, 180 + offset: 32, 30 + index: -1 +1_00049 + rotate: true + xy: 1519, 262 + size: 65, 126 + orig: 130, 180 + offset: 32, 30 + index: -1 +1_00050 + rotate: true + xy: 1783, 329 + size: 65, 127 + orig: 130, 180 + offset: 32, 29 + index: -1 +1_00051 + rotate: true + xy: 1261, 196 + size: 65, 127 + orig: 130, 180 + offset: 32, 29 + index: -1 +1_00052 + rotate: true + xy: 1393, 329 + size: 65, 128 + orig: 130, 180 + offset: 32, 28 + index: -1 +1_00053 + rotate: true + xy: 1262, 329 + size: 65, 129 + orig: 130, 180 + offset: 32, 27 + index: -1 +1_00054 + rotate: true + xy: 1523, 329 + size: 65, 128 + orig: 130, 180 + offset: 32, 27 + index: -1 +1_00055 + rotate: true + xy: 1653, 329 + size: 65, 128 + orig: 130, 180 + offset: 32, 27 + index: -1 +1_00056 + rotate: false + xy: 1057, 265 + size: 66, 129 + orig: 130, 180 + offset: 32, 26 + index: -1 +1_00057 + rotate: false + xy: 1057, 134 + size: 66, 129 + orig: 130, 180 + offset: 32, 26 + index: -1 +1_00058 + rotate: false + xy: 1125, 265 + size: 66, 129 + orig: 130, 180 + offset: 32, 26 + index: -1 +1_00059 + rotate: false + xy: 1193, 266 + size: 67, 128 + orig: 130, 180 + offset: 31, 26 + index: -1 +1_00060 + rotate: false + xy: 1125, 134 + size: 66, 129 + orig: 130, 180 + offset: 32, 25 + index: -1 +1_00061 + rotate: false + xy: 1193, 135 + size: 66, 129 + orig: 130, 180 + offset: 32, 25 + index: -1 +1_00062 + rotate: false + xy: 850, 265 + size: 67, 129 + orig: 130, 180 + offset: 31, 25 + index: -1 +1_00063 + rotate: false + xy: 641, 132 + size: 67, 130 + orig: 130, 180 + offset: 31, 24 + index: -1 +1_00064 + rotate: false + xy: 711, 264 + size: 67, 130 + orig: 130, 180 + offset: 31, 24 + index: -1 +1_00065 + rotate: false + xy: 850, 134 + size: 67, 129 + orig: 130, 180 + offset: 31, 24 + index: -1 +1_00066 + rotate: false + xy: 919, 265 + size: 67, 129 + orig: 130, 180 + offset: 31, 24 + index: -1 +1_00067 + rotate: false + xy: 919, 134 + size: 67, 129 + orig: 130, 180 + offset: 31, 24 + index: -1 +1_00068 + rotate: false + xy: 988, 265 + size: 67, 129 + orig: 130, 180 + offset: 31, 24 + index: -1 +1_00069 + rotate: false + xy: 988, 134 + size: 67, 129 + orig: 130, 180 + offset: 31, 24 + index: -1 +1_00070 + rotate: false + xy: 710, 133 + size: 68, 129 + orig: 130, 180 + offset: 31, 25 + index: -1 +1_00071 + rotate: false + xy: 780, 265 + size: 68, 129 + orig: 130, 180 + offset: 31, 25 + index: -1 +1_00072 + rotate: false + xy: 571, 264 + size: 68, 130 + orig: 130, 180 + offset: 31, 25 + index: -1 +1_00073 + rotate: false + xy: 571, 132 + size: 68, 130 + orig: 130, 180 + offset: 31, 25 + index: -1 +1_00074 + rotate: false + xy: 780, 134 + size: 68, 129 + orig: 130, 180 + offset: 31, 26 + index: -1 +1_00075 + rotate: false + xy: 641, 264 + size: 68, 130 + orig: 130, 180 + offset: 31, 26 + index: -1 +1_00076 + rotate: false + xy: 500, 131 + size: 69, 130 + orig: 130, 180 + offset: 30, 26 + index: -1 +1_00077 + rotate: false + xy: 429, 263 + size: 69, 131 + orig: 130, 180 + offset: 30, 26 + index: -1 +1_00078 + rotate: false + xy: 429, 130 + size: 69, 131 + orig: 130, 180 + offset: 30, 26 + index: -1 +1_00079 + rotate: false + xy: 500, 263 + size: 69, 131 + orig: 130, 180 + offset: 30, 26 + index: -1 +1_00080 + rotate: false + xy: 358, 125 + size: 69, 133 + orig: 130, 180 + offset: 30, 25 + index: -1 +1_00081 + rotate: false + xy: 287, 123 + size: 69, 134 + orig: 130, 180 + offset: 30, 25 + index: -1 +1_00082 + rotate: false + xy: 358, 260 + size: 69, 134 + orig: 130, 180 + offset: 30, 25 + index: -1 +1_00083 + rotate: false + xy: 216, 121 + size: 69, 135 + orig: 130, 180 + offset: 30, 25 + index: -1 +1_00084 + rotate: false + xy: 287, 259 + size: 69, 135 + orig: 130, 180 + offset: 30, 25 + index: -1 +1_00085 + rotate: false + xy: 74, 119 + size: 69, 136 + orig: 130, 180 + offset: 30, 24 + index: -1 +1_00086 + rotate: false + xy: 145, 258 + size: 69, 136 + orig: 130, 180 + offset: 30, 25 + index: -1 +1_00087 + rotate: false + xy: 145, 120 + size: 69, 136 + orig: 130, 180 + offset: 30, 25 + index: -1 +1_00088 + rotate: false + xy: 216, 258 + size: 69, 136 + orig: 130, 180 + offset: 30, 25 + index: -1 +1_00089 + rotate: false + xy: 74, 257 + size: 69, 137 + orig: 130, 180 + offset: 30, 25 + index: -1 +1_00090 + rotate: false + xy: 2, 117 + size: 70, 137 + orig: 130, 180 + offset: 30, 25 + index: -1 +1_00091 + rotate: false + xy: 2, 256 + size: 70, 138 + orig: 130, 180 + offset: 30, 25 + index: -1 diff --git a/nginx/minesweeper/assets/spine/curse/skeleton.json b/nginx/minesweeper/assets/spine/curse/skeleton.json new file mode 100644 index 0000000..b0e7137 --- /dev/null +++ b/nginx/minesweeper/assets/spine/curse/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"h7RwO/2jUJCUE6La9i5hmTSaGI4=","spine":"3.8","images":"../诅咒/11111/","audio":"E:/CJ_Animation_Learn/Spine_yuanfiles/DS/YiLiaoBao"},"bones":[{"name":"root"}],"slots":[{"name":"1","bone":"root"}],"skins":[{"name":"default","attachments":{"1":{"1_00000":{"width":130,"height":180},"1_00001":{"width":130,"height":180},"1_00002":{"width":130,"height":180},"1_00003":{"width":130,"height":180},"1_00004":{"width":130,"height":180},"1_00005":{"width":130,"height":180},"1_00006":{"width":130,"height":180},"1_00007":{"width":130,"height":180},"1_00008":{"width":130,"height":180},"1_00009":{"width":130,"height":180},"1_00010":{"width":130,"height":180},"1_00011":{"width":130,"height":180},"1_00012":{"width":130,"height":180},"1_00013":{"width":130,"height":180},"1_00014":{"width":130,"height":180},"1_00015":{"width":130,"height":180},"1_00016":{"width":130,"height":180},"1_00017":{"width":130,"height":180},"1_00018":{"width":130,"height":180},"1_00019":{"width":130,"height":180},"1_00020":{"width":130,"height":180},"1_00021":{"width":130,"height":180},"1_00022":{"width":130,"height":180},"1_00023":{"width":130,"height":180},"1_00024":{"width":130,"height":180},"1_00025":{"width":130,"height":180},"1_00026":{"width":130,"height":180},"1_00027":{"width":130,"height":180},"1_00028":{"width":130,"height":180},"1_00029":{"width":130,"height":180},"1_00030":{"width":130,"height":180},"1_00031":{"width":130,"height":180},"1_00032":{"width":130,"height":180},"1_00033":{"width":130,"height":180},"1_00034":{"width":130,"height":180},"1_00035":{"width":130,"height":180},"1_00036":{"width":130,"height":180},"1_00037":{"width":130,"height":180},"1_00038":{"width":130,"height":180},"1_00039":{"width":130,"height":180},"1_00040":{"width":130,"height":180},"1_00041":{"width":130,"height":180},"1_00042":{"width":130,"height":180},"1_00043":{"width":130,"height":180},"1_00044":{"width":130,"height":180},"1_00045":{"width":130,"height":180},"1_00046":{"width":130,"height":180},"1_00047":{"width":130,"height":180},"1_00048":{"width":130,"height":180},"1_00049":{"width":130,"height":180},"1_00050":{"width":130,"height":180},"1_00051":{"width":130,"height":180},"1_00052":{"width":130,"height":180},"1_00053":{"width":130,"height":180},"1_00054":{"width":130,"height":180},"1_00055":{"width":130,"height":180},"1_00056":{"width":130,"height":180},"1_00057":{"width":130,"height":180},"1_00058":{"width":130,"height":180},"1_00059":{"width":130,"height":180},"1_00060":{"width":130,"height":180},"1_00061":{"width":130,"height":180},"1_00062":{"width":130,"height":180},"1_00063":{"width":130,"height":180},"1_00064":{"width":130,"height":180},"1_00065":{"width":130,"height":180},"1_00066":{"width":130,"height":180},"1_00067":{"width":130,"height":180},"1_00068":{"width":130,"height":180},"1_00069":{"width":130,"height":180},"1_00070":{"width":130,"height":180},"1_00071":{"width":130,"height":180},"1_00072":{"width":130,"height":180},"1_00073":{"width":130,"height":180},"1_00074":{"width":130,"height":180},"1_00075":{"width":130,"height":180},"1_00076":{"width":130,"height":180},"1_00077":{"width":130,"height":180},"1_00078":{"width":130,"height":180},"1_00079":{"width":130,"height":180},"1_00080":{"width":130,"height":180},"1_00081":{"width":130,"height":180},"1_00082":{"width":130,"height":180},"1_00083":{"x":0.5,"y":0.5,"width":130,"height":180},"1_00084":{"x":0.5,"y":0.5,"width":130,"height":180},"1_00085":{"x":0.5,"y":0.5,"width":130,"height":180},"1_00086":{"x":0.5,"y":0.5,"width":130,"height":180},"1_00087":{"x":0.5,"y":0.5,"width":130,"height":180},"1_00088":{"x":0.5,"y":0.5,"width":130,"height":180},"1_00089":{"x":0.5,"y":0.5,"width":130,"height":180},"1_00090":{"x":0.5,"y":0.5,"width":130,"height":180},"1_00091":{"x":0.5,"y":0.5,"width":130,"height":180}}}}],"animations":{"animation":{"slots":{"1":{"color":[{"color":"ffffff00"},{"time":0.3,"color":"ffffffff","curve":"stepped"},{"time":2.5,"color":"ffffffff"},{"time":2.8,"color":"ffffff00"}],"attachment":[{"name":"1_00000"},{"time":0.0333,"name":"1_00001"},{"time":0.0667,"name":"1_00002"},{"time":0.1,"name":"1_00003"},{"time":0.1333,"name":"1_00004"},{"time":0.1667,"name":"1_00005"},{"time":0.2,"name":"1_00006"},{"time":0.2333,"name":"1_00007"},{"time":0.2667,"name":"1_00008"},{"time":0.3,"name":"1_00009"},{"time":0.3333,"name":"1_00010"},{"time":0.3667,"name":"1_00011"},{"time":0.4,"name":"1_00012"},{"time":0.4333,"name":"1_00013"},{"time":0.4667,"name":"1_00014"},{"time":0.5,"name":"1_00015"},{"time":0.5333,"name":"1_00016"},{"time":0.5667,"name":"1_00017"},{"time":0.6,"name":"1_00018"},{"time":0.6333,"name":"1_00019"},{"time":0.6667,"name":"1_00020"},{"time":0.7,"name":"1_00021"},{"time":0.7333,"name":"1_00022"},{"time":0.7667,"name":"1_00023"},{"time":0.8,"name":"1_00024"},{"time":0.8333,"name":"1_00025"},{"time":0.8667,"name":"1_00026"},{"time":0.9,"name":"1_00027"},{"time":0.9333,"name":"1_00028"},{"time":0.9667,"name":"1_00029"},{"time":1,"name":"1_00030"},{"time":1.0333,"name":"1_00031"},{"time":1.0667,"name":"1_00032"},{"time":1.1,"name":"1_00033"},{"time":1.1333,"name":"1_00034"},{"time":1.1667,"name":"1_00035"},{"time":1.2,"name":"1_00036"},{"time":1.2333,"name":"1_00037"},{"time":1.2667,"name":"1_00038"},{"time":1.3,"name":"1_00039"},{"time":1.3333,"name":"1_00040"},{"time":1.3667,"name":"1_00041"},{"time":1.4,"name":"1_00042"},{"time":1.4333,"name":"1_00043"},{"time":1.4667,"name":"1_00044"},{"time":1.5,"name":"1_00045"},{"time":1.5333,"name":"1_00046"},{"time":1.5667,"name":"1_00047"},{"time":1.6,"name":"1_00048"},{"time":1.6333,"name":"1_00049"},{"time":1.6667,"name":"1_00050"},{"time":1.7,"name":"1_00051"},{"time":1.7333,"name":"1_00052"},{"time":1.7667,"name":"1_00053"},{"time":1.8,"name":"1_00054"},{"time":1.8333,"name":"1_00055"},{"time":1.8667,"name":"1_00056"},{"time":1.9,"name":"1_00057"},{"time":1.9333,"name":"1_00058"},{"time":1.9667,"name":"1_00059"},{"time":2,"name":"1_00060"},{"time":2.0333,"name":"1_00061"},{"time":2.0667,"name":"1_00062"},{"time":2.1,"name":"1_00063"},{"time":2.1333,"name":"1_00064"},{"time":2.1667,"name":"1_00065"},{"time":2.2,"name":"1_00066"},{"time":2.2333,"name":"1_00067"},{"time":2.2667,"name":"1_00068"},{"time":2.3,"name":"1_00069"},{"time":2.3333,"name":"1_00070"},{"time":2.3667,"name":"1_00071"},{"time":2.4,"name":"1_00072"},{"time":2.4333,"name":"1_00073"},{"time":2.4667,"name":"1_00074"},{"time":2.5,"name":"1_00075"},{"time":2.5333,"name":"1_00076"},{"time":2.5667,"name":"1_00077"},{"time":2.6,"name":"1_00078"},{"time":2.6333,"name":"1_00079"},{"time":2.6667,"name":"1_00080"},{"time":2.7,"name":"1_00081"},{"time":2.7333,"name":"1_00082"},{"time":2.7667,"name":"1_00083"},{"time":2.8,"name":"1_00084"}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/curse/skeleton.webp b/nginx/minesweeper/assets/spine/curse/skeleton.webp new file mode 100644 index 0000000..f2f316e Binary files /dev/null and b/nginx/minesweeper/assets/spine/curse/skeleton.webp differ diff --git a/nginx/minesweeper/assets/spine/dog/skeleton.atlas b/nginx/minesweeper/assets/spine/dog/skeleton.atlas new file mode 100644 index 0000000..baa0137 --- /dev/null +++ b/nginx/minesweeper/assets/spine/dog/skeleton.atlas @@ -0,0 +1,817 @@ +skeleton.webp +size: 1981,570 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00000 + rotate: false + xy: 701, 3 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00115 + rotate: false + xy: 701, 3 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00001 + rotate: true + xy: 1850, 7 + size: 80, 77 + orig: 115, 100 + offset: 17, 12 + index: -1 +1_00002 + rotate: false + xy: 1870, 169 + size: 82, 78 + orig: 115, 100 + offset: 17, 11 + index: -1 +1_00003 + rotate: false + xy: 1891, 249 + size: 84, 78 + orig: 115, 100 + offset: 16, 11 + index: -1 +1_00004 + rotate: true + xy: 1811, 256 + size: 85, 78 + orig: 115, 100 + offset: 16, 11 + index: -1 +1_00005 + rotate: false + xy: 2, 2 + size: 115, 98 + orig: 115, 100 + offset: 0, 1 + index: -1 +1_00006 + rotate: false + xy: 1893, 490 + size: 86, 78 + orig: 115, 100 + offset: 16, 11 + index: -1 +1_00007 + rotate: false + xy: 1893, 410 + size: 86, 78 + orig: 115, 100 + offset: 16, 11 + index: -1 +1_00008 + rotate: true + xy: 1412, 14 + size: 86, 79 + orig: 115, 100 + offset: 16, 10 + index: -1 +1_00009 + rotate: true + xy: 1812, 469 + size: 99, 79 + orig: 115, 100 + offset: 13, 10 + index: -1 +1_00010 + rotate: false + xy: 1870, 89 + size: 82, 78 + orig: 115, 100 + offset: 15, 11 + index: -1 +1_00011 + rotate: true + xy: 922, 8 + size: 92, 78 + orig: 115, 100 + offset: 15, 11 + index: -1 +1_00012 + rotate: true + xy: 701, 6 + size: 94, 79 + orig: 115, 100 + offset: 15, 11 + index: -1 +1_00013 + rotate: true + xy: 782, 6 + size: 94, 79 + orig: 115, 100 + offset: 15, 11 + index: -1 +1_00014 + rotate: false + xy: 1891, 329 + size: 84, 79 + orig: 115, 100 + offset: 14, 11 + index: -1 +1_00015 + rotate: true + xy: 1789, 142 + size: 85, 79 + orig: 115, 100 + offset: 14, 11 + index: -1 +1_00016 + rotate: false + xy: 1062, 10 + size: 107, 90 + orig: 115, 100 + offset: 8, 0 + index: -1 +1_00017 + rotate: true + xy: 818, 102 + size: 115, 99 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00018 + rotate: true + xy: 919, 102 + size: 115, 99 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00019 + rotate: true + xy: 2, 453 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00020 + rotate: false + xy: 527, 4 + size: 115, 96 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00021 + rotate: true + xy: 2, 336 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00022 + rotate: true + xy: 920, 453 + size: 115, 99 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00023 + rotate: true + xy: 2, 219 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00024 + rotate: true + xy: 920, 336 + size: 115, 99 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00025 + rotate: true + xy: 2, 102 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00026 + rotate: true + xy: 104, 453 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00027 + rotate: true + xy: 104, 336 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00028 + rotate: true + xy: 104, 219 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00029 + rotate: true + xy: 104, 102 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00030 + rotate: true + xy: 206, 453 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00031 + rotate: true + xy: 1605, 4 + size: 103, 99 + orig: 115, 100 + offset: 9, 0 + index: -1 +1_00032 + rotate: true + xy: 206, 336 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00033 + rotate: false + xy: 1493, 2 + size: 110, 99 + orig: 115, 100 + offset: 3, 1 + index: -1 +1_00034 + rotate: true + xy: 206, 219 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00035 + rotate: true + xy: 1565, 455 + size: 113, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00036 + rotate: true + xy: 1563, 223 + size: 113, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00037 + rotate: false + xy: 119, 2 + size: 115, 98 + orig: 115, 100 + offset: 0, 1 + index: -1 +1_00038 + rotate: false + xy: 236, 2 + size: 115, 98 + orig: 115, 100 + offset: 0, 1 + index: -1 +1_00039 + rotate: true + xy: 206, 102 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00040 + rotate: true + xy: 308, 453 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00041 + rotate: true + xy: 308, 336 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00042 + rotate: true + xy: 308, 219 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00043 + rotate: true + xy: 308, 102 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00044 + rotate: true + xy: 410, 453 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00045 + rotate: true + xy: 410, 336 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00046 + rotate: true + xy: 410, 219 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00047 + rotate: true + xy: 410, 102 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00048 + rotate: true + xy: 512, 453 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00049 + rotate: true + xy: 512, 336 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00050 + rotate: true + xy: 512, 219 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00051 + rotate: true + xy: 512, 102 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00052 + rotate: true + xy: 1626, 340 + size: 113, 100 + orig: 115, 100 + offset: 2, 0 + index: -1 +1_00053 + rotate: true + xy: 614, 453 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00054 + rotate: true + xy: 614, 336 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00055 + rotate: true + xy: 614, 219 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00056 + rotate: true + xy: 614, 102 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00057 + rotate: true + xy: 716, 453 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00058 + rotate: true + xy: 716, 336 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00059 + rotate: true + xy: 920, 219 + size: 115, 99 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00060 + rotate: true + xy: 716, 219 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00061 + rotate: true + xy: 1020, 102 + size: 115, 99 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00062 + rotate: true + xy: 716, 102 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00063 + rotate: true + xy: 1021, 453 + size: 115, 88 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00064 + rotate: true + xy: 818, 453 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00065 + rotate: true + xy: 818, 336 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00066 + rotate: true + xy: 1021, 336 + size: 115, 88 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00067 + rotate: true + xy: 818, 219 + size: 115, 100 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00068 + rotate: true + xy: 1021, 219 + size: 115, 82 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00069 + rotate: true + xy: 1105, 219 + size: 115, 82 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00070 + rotate: true + xy: 1190, 336 + size: 115, 72 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00071 + rotate: true + xy: 1121, 102 + size: 115, 77 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00072 + rotate: true + xy: 1264, 336 + size: 115, 72 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00073 + rotate: true + xy: 1269, 453 + size: 115, 72 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00074 + rotate: true + xy: 1268, 219 + size: 115, 72 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00075 + rotate: true + xy: 1649, 109 + size: 112, 71 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00076 + rotate: true + xy: 1111, 453 + size: 115, 77 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00077 + rotate: true + xy: 1706, 6 + size: 101, 69 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00078 + rotate: true + xy: 1111, 336 + size: 115, 77 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00079 + rotate: true + xy: 1777, 4 + size: 106, 71 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00080 + rotate: true + xy: 1189, 219 + size: 115, 77 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00081 + rotate: true + xy: 1728, 342 + size: 112, 69 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00082 + rotate: true + xy: 1741, 456 + size: 112, 69 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00083 + rotate: true + xy: 1338, 336 + size: 115, 72 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00084 + rotate: true + xy: 1665, 226 + size: 112, 71 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00085 + rotate: true + xy: 1343, 453 + size: 115, 72 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00086 + rotate: true + xy: 1722, 112 + size: 112, 65 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00087 + rotate: true + xy: 1279, 102 + size: 115, 72 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00088 + rotate: true + xy: 1799, 343 + size: 111, 65 + orig: 115, 100 + offset: 1, 0 + index: -1 +1_00089 + rotate: true + xy: 1491, 454 + size: 114, 72 + orig: 115, 100 + offset: 1, 0 + index: -1 +1_00090 + rotate: true + xy: 1427, 103 + size: 114, 72 + orig: 115, 100 + offset: 1, 0 + index: -1 +1_00091 + rotate: true + xy: 1738, 229 + size: 111, 71 + orig: 115, 100 + offset: 1, 0 + index: -1 +1_00092 + rotate: true + xy: 1489, 220 + size: 114, 72 + orig: 115, 100 + offset: 1, 0 + index: -1 +1_00093 + rotate: true + xy: 1667, 456 + size: 112, 72 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00094 + rotate: true + xy: 1342, 219 + size: 115, 72 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00095 + rotate: true + xy: 1412, 336 + size: 115, 72 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00096 + rotate: true + xy: 1417, 453 + size: 115, 72 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00097 + rotate: true + xy: 1575, 109 + size: 112, 72 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00098 + rotate: true + xy: 1200, 102 + size: 115, 77 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00099 + rotate: true + xy: 1190, 453 + size: 115, 77 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00100 + rotate: true + xy: 1416, 219 + size: 115, 71 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00101 + rotate: true + xy: 1501, 104 + size: 114, 72 + orig: 115, 100 + offset: 1, 0 + index: -1 +1_00102 + rotate: true + xy: 1486, 336 + size: 115, 65 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00103 + rotate: true + xy: 1353, 102 + size: 115, 72 + orig: 115, 100 + offset: 0, 0 + index: -1 +1_00104 + rotate: true + xy: 1553, 338 + size: 114, 71 + orig: 115, 100 + offset: 1, 1 + index: -1 +1_00105 + rotate: true + xy: 1351, 13 + size: 87, 59 + orig: 115, 100 + offset: 1, 6 + index: -1 +1_00106 + rotate: true + xy: 1171, 11 + size: 89, 58 + orig: 115, 100 + offset: 0, 7 + index: -1 +1_00107 + rotate: true + xy: 1231, 11 + size: 89, 58 + orig: 115, 100 + offset: 0, 7 + index: -1 +1_00108 + rotate: true + xy: 1291, 11 + size: 89, 58 + orig: 115, 100 + offset: 0, 7 + index: -1 +1_00109 + rotate: true + xy: 1002, 9 + size: 91, 58 + orig: 115, 100 + offset: 0, 7 + index: -1 +1_00110 + rotate: true + xy: 863, 7 + size: 93, 57 + orig: 115, 100 + offset: 0, 8 + index: -1 +1_00111 + rotate: true + xy: 411, 3 + size: 97, 56 + orig: 115, 100 + offset: 0, 8 + index: -1 +1_00112 + rotate: true + xy: 469, 3 + size: 97, 56 + orig: 115, 100 + offset: 1, 8 + index: -1 +1_00113 + rotate: true + xy: 353, 2 + size: 98, 56 + orig: 115, 100 + offset: 1, 8 + index: -1 +1_00114 + rotate: true + xy: 644, 4 + size: 96, 55 + orig: 115, 100 + offset: 1, 9 + index: -1 diff --git a/nginx/minesweeper/assets/spine/dog/skeleton.json b/nginx/minesweeper/assets/spine/dog/skeleton.json new file mode 100644 index 0000000..67a76cf --- /dev/null +++ b/nginx/minesweeper/assets/spine/dog/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"vZK/a+B19sSNYgbZJfmy/A6jOGU=","spine":"3.8","images":"../汪汪/111111/","audio":""},"bones":[{"name":"root"}],"slots":[{"name":"1","bone":"root"}],"skins":[{"name":"default","attachments":{"1":{"1_00000":{"width":115,"height":100},"1_00001":{"width":115,"height":100},"1_00002":{"width":115,"height":100},"1_00003":{"width":115,"height":100},"1_00004":{"width":115,"height":100},"1_00005":{"width":115,"height":100},"1_00006":{"width":115,"height":100},"1_00007":{"width":115,"height":100},"1_00008":{"width":115,"height":100},"1_00009":{"width":115,"height":100},"1_00010":{"width":115,"height":100},"1_00011":{"width":115,"height":100},"1_00012":{"width":115,"height":100},"1_00013":{"width":115,"height":100},"1_00014":{"width":115,"height":100},"1_00015":{"width":115,"height":100},"1_00016":{"width":115,"height":100},"1_00017":{"width":115,"height":100},"1_00018":{"width":115,"height":100},"1_00019":{"width":115,"height":100},"1_00020":{"width":115,"height":100},"1_00021":{"width":115,"height":100},"1_00022":{"width":115,"height":100},"1_00023":{"width":115,"height":100},"1_00024":{"width":115,"height":100},"1_00025":{"width":115,"height":100},"1_00026":{"width":115,"height":100},"1_00027":{"width":115,"height":100},"1_00028":{"width":115,"height":100},"1_00029":{"width":115,"height":100},"1_00030":{"width":115,"height":100},"1_00031":{"width":115,"height":100},"1_00032":{"width":115,"height":100},"1_00033":{"width":115,"height":100},"1_00034":{"width":115,"height":100},"1_00035":{"width":115,"height":100},"1_00036":{"width":115,"height":100},"1_00037":{"width":115,"height":100},"1_00038":{"width":115,"height":100},"1_00039":{"width":115,"height":100},"1_00040":{"width":115,"height":100},"1_00041":{"width":115,"height":100},"1_00042":{"width":115,"height":100},"1_00043":{"width":115,"height":100},"1_00044":{"width":115,"height":100},"1_00045":{"width":115,"height":100},"1_00046":{"width":115,"height":100},"1_00047":{"width":115,"height":100},"1_00048":{"width":115,"height":100},"1_00049":{"width":115,"height":100},"1_00050":{"width":115,"height":100},"1_00051":{"width":115,"height":100},"1_00052":{"width":115,"height":100},"1_00053":{"width":115,"height":100},"1_00054":{"width":115,"height":100},"1_00055":{"width":115,"height":100},"1_00056":{"width":115,"height":100},"1_00057":{"width":115,"height":100},"1_00058":{"width":115,"height":100},"1_00059":{"width":115,"height":100},"1_00060":{"width":115,"height":100},"1_00061":{"width":115,"height":100},"1_00062":{"width":115,"height":100},"1_00063":{"width":115,"height":100},"1_00064":{"width":115,"height":100},"1_00065":{"width":115,"height":100},"1_00066":{"width":115,"height":100},"1_00067":{"width":115,"height":100},"1_00068":{"width":115,"height":100},"1_00069":{"width":115,"height":100},"1_00070":{"width":115,"height":100},"1_00071":{"width":115,"height":100},"1_00072":{"width":115,"height":100},"1_00073":{"width":115,"height":100},"1_00074":{"width":115,"height":100},"1_00075":{"width":115,"height":100},"1_00076":{"width":115,"height":100},"1_00077":{"width":115,"height":100},"1_00078":{"width":115,"height":100},"1_00079":{"width":115,"height":100},"1_00080":{"width":115,"height":100},"1_00081":{"width":115,"height":100},"1_00082":{"width":115,"height":100},"1_00083":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00084":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00085":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00086":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00087":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00088":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00089":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00090":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00091":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00092":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00093":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00094":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00095":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00096":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00097":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00098":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00099":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00100":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00101":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00102":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00103":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00104":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00105":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00106":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00107":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00108":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00109":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00110":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00111":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00112":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00113":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00114":{"x":0.5,"y":0.5,"width":115,"height":100},"1_00115":{"x":0.5,"y":0.5,"width":115,"height":100}}}}],"animations":{"animation":{"slots":{"1":{"attachment":[{"name":"1_00000"},{"time":0.0333,"name":"1_00001"},{"time":0.0667,"name":"1_00002"},{"time":0.1,"name":"1_00003"},{"time":0.1333,"name":"1_00004"},{"time":0.1667,"name":"1_00005"},{"time":0.2,"name":"1_00006"},{"time":0.2333,"name":"1_00007"},{"time":0.2667,"name":"1_00008"},{"time":0.3,"name":"1_00009"},{"time":0.3333,"name":"1_00010"},{"time":0.3667,"name":"1_00011"},{"time":0.4,"name":"1_00012"},{"time":0.4333,"name":"1_00013"},{"time":0.4667,"name":"1_00014"},{"time":0.5,"name":"1_00015"},{"time":0.5333,"name":"1_00016"},{"time":0.5667,"name":"1_00017"},{"time":0.6,"name":"1_00018"},{"time":0.6333,"name":"1_00019"},{"time":0.6667,"name":"1_00020"},{"time":0.7,"name":"1_00021"},{"time":0.7333,"name":"1_00022"},{"time":0.7667,"name":"1_00023"},{"time":0.8,"name":"1_00024"},{"time":0.8333,"name":"1_00025"},{"time":0.8667,"name":"1_00026"},{"time":0.9,"name":"1_00027"},{"time":0.9333,"name":"1_00028"},{"time":0.9667,"name":"1_00029"},{"time":1,"name":"1_00030"},{"time":1.0333,"name":"1_00031"},{"time":1.0667,"name":"1_00032"},{"time":1.1,"name":"1_00033"},{"time":1.1333,"name":"1_00034"},{"time":1.1667,"name":"1_00035"},{"time":1.2,"name":"1_00036"},{"time":1.2333,"name":"1_00037"},{"time":1.2667,"name":"1_00038"},{"time":1.3,"name":"1_00039"},{"time":1.3333,"name":"1_00040"},{"time":1.3667,"name":"1_00041"},{"time":1.4,"name":"1_00042"},{"time":1.4333,"name":"1_00043"},{"time":1.4667,"name":"1_00044"},{"time":1.5,"name":"1_00045"},{"time":1.5333,"name":"1_00046"},{"time":1.5667,"name":"1_00047"},{"time":1.6,"name":"1_00048"},{"time":1.6333,"name":"1_00049"},{"time":1.6667,"name":"1_00050"},{"time":1.7,"name":"1_00051"},{"time":1.7333,"name":"1_00052"},{"time":1.7667,"name":"1_00053"},{"time":1.8,"name":"1_00054"},{"time":1.8333,"name":"1_00055"},{"time":1.8667,"name":"1_00056"},{"time":1.9,"name":"1_00057"},{"time":1.9333,"name":"1_00058"},{"time":1.9667,"name":"1_00059"},{"time":2,"name":"1_00060"},{"time":2.0333,"name":"1_00061"},{"time":2.0667,"name":"1_00062"},{"time":2.1,"name":"1_00063"},{"time":2.1333,"name":"1_00064"},{"time":2.1667,"name":"1_00065"},{"time":2.2,"name":"1_00066"},{"time":2.2333,"name":"1_00067"},{"time":2.2667,"name":"1_00068"},{"time":2.3,"name":"1_00069"},{"time":2.3333,"name":"1_00070"},{"time":2.3667,"name":"1_00071"},{"time":2.4,"name":"1_00072"},{"time":2.4333,"name":"1_00073"},{"time":2.4667,"name":"1_00074"},{"time":2.5,"name":"1_00075"},{"time":2.5333,"name":"1_00076"},{"time":2.5667,"name":"1_00077"},{"time":2.6,"name":"1_00078"},{"time":2.6333,"name":"1_00079"},{"time":2.6667,"name":"1_00080"},{"time":2.7,"name":"1_00081"},{"time":2.7333,"name":"1_00082"},{"time":2.7667,"name":"1_00083"},{"time":2.8,"name":"1_00084"},{"time":2.8333,"name":"1_00085"},{"time":2.8667,"name":"1_00086"},{"time":2.9,"name":"1_00087"},{"time":2.9333,"name":"1_00088"},{"time":2.9667,"name":"1_00089"},{"time":3,"name":"1_00090"},{"time":3.0333,"name":"1_00091"},{"time":3.0667,"name":"1_00092"},{"time":3.1,"name":"1_00093"},{"time":3.1333,"name":"1_00094"},{"time":3.1667,"name":"1_00095"},{"time":3.2,"name":"1_00096"},{"time":3.2333,"name":"1_00097"},{"time":3.2667,"name":"1_00098"},{"time":3.3,"name":"1_00099"},{"time":3.3333,"name":"1_00100"},{"time":3.3667,"name":"1_00101"},{"time":3.4,"name":"1_00102"},{"time":3.4333,"name":"1_00103"},{"time":3.4667,"name":"1_00104"},{"time":3.5,"name":"1_00105"},{"time":3.5333,"name":"1_00106"},{"time":3.5667,"name":"1_00107"},{"time":3.6,"name":"1_00108"},{"time":3.6333,"name":"1_00109"},{"time":3.6667,"name":"1_00110"},{"time":3.7,"name":"1_00111"},{"time":3.7333,"name":"1_00112"},{"time":3.7667,"name":"1_00113"},{"time":3.8,"name":"1_00114"},{"time":3.8333,"name":"1_00115"}]}},"bones":{"root":{"translate":[{"time":2.7333},{"time":2.7667,"x":-0.51,"y":-0.51}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/dog/skeleton.webp b/nginx/minesweeper/assets/spine/dog/skeleton.webp new file mode 100644 index 0000000..0261c6b Binary files /dev/null and b/nginx/minesweeper/assets/spine/dog/skeleton.webp differ diff --git a/nginx/minesweeper/assets/spine/elephant/skeleton.atlas b/nginx/minesweeper/assets/spine/elephant/skeleton.atlas new file mode 100644 index 0000000..e5bdfb3 --- /dev/null +++ b/nginx/minesweeper/assets/spine/elephant/skeleton.atlas @@ -0,0 +1,649 @@ +skeleton.webp +size: 1857,459 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00000 + rotate: false + xy: 575, 100 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00090 + rotate: false + xy: 575, 100 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00091 + rotate: false + xy: 575, 100 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00001 + rotate: true + xy: 662, 275 + size: 91, 81 + orig: 120, 120 + offset: 15, 23 + index: -1 +1_00002 + rotate: true + xy: 397, 183 + size: 92, 83 + orig: 120, 120 + offset: 14, 22 + index: -1 +1_00003 + rotate: true + xy: 1732, 272 + size: 93, 83 + orig: 120, 120 + offset: 14, 22 + index: -1 +1_00004 + rotate: false + xy: 1732, 187 + size: 93, 83 + orig: 120, 120 + offset: 14, 22 + index: -1 +1_00005 + rotate: false + xy: 2, 237 + size: 102, 110 + orig: 120, 120 + offset: 7, 9 + index: -1 +1_00006 + rotate: false + xy: 482, 103 + size: 94, 84 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00007 + rotate: false + xy: 383, 9 + size: 94, 83 + orig: 120, 120 + offset: 13, 22 + index: -1 +1_00008 + rotate: false + xy: 578, 100 + size: 94, 84 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00009 + rotate: true + xy: 866, 98 + size: 94, 84 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00010 + rotate: false + xy: 106, 191 + size: 95, 84 + orig: 120, 120 + offset: 12, 21 + index: -1 +1_00011 + rotate: false + xy: 203, 191 + size: 95, 84 + orig: 120, 120 + offset: 12, 21 + index: -1 +1_00012 + rotate: false + xy: 1478, 105 + size: 94, 84 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00013 + rotate: false + xy: 1478, 19 + size: 94, 84 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00014 + rotate: false + xy: 300, 191 + size: 95, 84 + orig: 120, 120 + offset: 12, 21 + index: -1 +1_00015 + rotate: false + xy: 1635, 281 + size: 95, 84 + orig: 120, 120 + offset: 12, 21 + index: -1 +1_00016 + rotate: false + xy: 745, 194 + size: 95, 84 + orig: 120, 120 + offset: 12, 21 + index: -1 +1_00017 + rotate: false + xy: 842, 194 + size: 95, 84 + orig: 120, 120 + offset: 12, 21 + index: -1 +1_00018 + rotate: false + xy: 1635, 195 + size: 95, 84 + orig: 120, 120 + offset: 12, 21 + index: -1 +1_00019 + rotate: false + xy: 575, 14 + size: 95, 84 + orig: 120, 120 + offset: 12, 21 + index: -1 +1_00020 + rotate: true + xy: 952, 98 + size: 95, 84 + orig: 120, 120 + offset: 12, 21 + index: -1 +1_00021 + rotate: true + xy: 1038, 98 + size: 95, 84 + orig: 120, 120 + offset: 12, 21 + index: -1 +1_00022 + rotate: false + xy: 1150, 282 + size: 95, 85 + orig: 120, 120 + offset: 12, 21 + index: -1 +1_00023 + rotate: true + xy: 1124, 98 + size: 95, 84 + orig: 120, 120 + offset: 12, 21 + index: -1 +1_00024 + rotate: false + xy: 1247, 282 + size: 95, 85 + orig: 120, 120 + offset: 12, 21 + index: -1 +1_00025 + rotate: false + xy: 1344, 281 + size: 95, 86 + orig: 120, 120 + offset: 12, 21 + index: -1 +1_00026 + rotate: false + xy: 1441, 280 + size: 95, 86 + orig: 120, 120 + offset: 12, 21 + index: -1 +1_00027 + rotate: false + xy: 1538, 280 + size: 95, 86 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00028 + rotate: false + xy: 851, 280 + size: 97, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00029 + rotate: false + xy: 745, 280 + size: 104, 87 + orig: 120, 120 + offset: 7, 21 + index: -1 +1_00030 + rotate: false + xy: 448, 279 + size: 105, 87 + orig: 120, 120 + offset: 7, 21 + index: -1 +1_00031 + rotate: false + xy: 555, 279 + size: 105, 87 + orig: 120, 120 + offset: 7, 21 + index: -1 +1_00032 + rotate: false + xy: 1747, 369 + size: 108, 88 + orig: 120, 120 + offset: 3, 21 + index: -1 +1_00033 + rotate: false + xy: 942, 369 + size: 114, 88 + orig: 120, 120 + offset: 2, 21 + index: -1 +1_00034 + rotate: false + xy: 1406, 369 + size: 113, 88 + orig: 120, 120 + offset: 2, 21 + index: -1 +1_00035 + rotate: false + xy: 118, 369 + size: 117, 88 + orig: 120, 120 + offset: 1, 21 + index: -1 +1_00036 + rotate: true + xy: 2, 118 + size: 117, 88 + orig: 120, 120 + offset: 1, 21 + index: -1 +1_00037 + rotate: false + xy: 237, 369 + size: 116, 88 + orig: 120, 120 + offset: 2, 21 + index: -1 +1_00038 + rotate: false + xy: 708, 369 + size: 115, 88 + orig: 120, 120 + offset: 2, 21 + index: -1 +1_00039 + rotate: false + xy: 825, 369 + size: 115, 88 + orig: 120, 120 + offset: 2, 21 + index: -1 +1_00040 + rotate: false + xy: 1058, 369 + size: 114, 88 + orig: 120, 120 + offset: 2, 21 + index: -1 +1_00041 + rotate: false + xy: 1174, 369 + size: 114, 88 + orig: 120, 120 + offset: 2, 21 + index: -1 +1_00042 + rotate: false + xy: 1290, 369 + size: 114, 88 + orig: 120, 120 + offset: 2, 21 + index: -1 +1_00043 + rotate: false + xy: 2, 349 + size: 114, 108 + orig: 120, 120 + offset: 2, 1 + index: -1 +1_00044 + rotate: false + xy: 591, 368 + size: 115, 89 + orig: 120, 120 + offset: 2, 21 + index: -1 +1_00045 + rotate: false + xy: 355, 368 + size: 116, 89 + orig: 120, 120 + offset: 2, 21 + index: -1 +1_00046 + rotate: false + xy: 473, 368 + size: 116, 89 + orig: 120, 120 + offset: 2, 21 + index: -1 +1_00047 + rotate: true + xy: 2, 2 + size: 114, 91 + orig: 120, 120 + offset: 2, 21 + index: -1 +1_00048 + rotate: false + xy: 1521, 368 + size: 113, 89 + orig: 120, 120 + offset: 2, 21 + index: -1 +1_00049 + rotate: false + xy: 1636, 367 + size: 109, 90 + orig: 120, 120 + offset: 3, 21 + index: -1 +1_00050 + rotate: false + xy: 118, 277 + size: 109, 90 + orig: 120, 120 + offset: 3, 21 + index: -1 +1_00051 + rotate: false + xy: 229, 277 + size: 109, 90 + orig: 120, 120 + offset: 3, 21 + index: -1 +1_00052 + rotate: false + xy: 340, 277 + size: 106, 89 + orig: 120, 120 + offset: 1, 21 + index: -1 +1_00053 + rotate: false + xy: 950, 282 + size: 98, 85 + orig: 120, 120 + offset: 8, 21 + index: -1 +1_00054 + rotate: false + xy: 1050, 282 + size: 98, 85 + orig: 120, 120 + offset: 8, 21 + index: -1 +1_00055 + rotate: true + xy: 1574, 97 + size: 92, 86 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00056 + rotate: false + xy: 1574, 9 + size: 92, 86 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00057 + rotate: false + xy: 1384, 12 + size: 92, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00058 + rotate: false + xy: 1384, 101 + size: 92, 88 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00059 + rotate: false + xy: 482, 189 + size: 94, 88 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00060 + rotate: false + xy: 95, 102 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00061 + rotate: false + xy: 191, 102 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00062 + rotate: false + xy: 95, 13 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00063 + rotate: false + xy: 287, 102 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00064 + rotate: false + xy: 191, 13 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00065 + rotate: false + xy: 287, 13 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00066 + rotate: false + xy: 383, 94 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00067 + rotate: false + xy: 479, 14 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00068 + rotate: false + xy: 578, 186 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00069 + rotate: false + xy: 674, 105 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00070 + rotate: false + xy: 770, 105 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00071 + rotate: true + xy: 672, 2 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00072 + rotate: true + xy: 761, 2 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00073 + rotate: true + xy: 850, 2 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00074 + rotate: true + xy: 939, 2 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00075 + rotate: true + xy: 1028, 2 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00076 + rotate: true + xy: 1117, 2 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00077 + rotate: true + xy: 1206, 2 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00078 + rotate: false + xy: 1238, 193 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00079 + rotate: true + xy: 1295, 2 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00080 + rotate: false + xy: 1430, 191 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00081 + rotate: false + xy: 1526, 191 + size: 94, 87 + orig: 120, 120 + offset: 13, 21 + index: -1 +1_00082 + rotate: false + xy: 1334, 193 + size: 94, 86 + orig: 120, 120 + offset: 13, 22 + index: -1 +1_00083 + rotate: false + xy: 950, 195 + size: 94, 85 + orig: 120, 120 + offset: 13, 22 + index: -1 +1_00084 + rotate: false + xy: 1046, 195 + size: 94, 85 + orig: 120, 120 + offset: 13, 22 + index: -1 +1_00085 + rotate: false + xy: 1142, 195 + size: 94, 85 + orig: 120, 120 + offset: 13, 22 + index: -1 +1_00086 + rotate: true + xy: 1210, 98 + size: 93, 85 + orig: 120, 120 + offset: 14, 22 + index: -1 +1_00087 + rotate: true + xy: 1297, 98 + size: 93, 85 + orig: 120, 120 + offset: 14, 22 + index: -1 +1_00088 + rotate: false + xy: 1662, 100 + size: 92, 85 + orig: 120, 120 + offset: 14, 22 + index: -1 +1_00089 + rotate: true + xy: 1668, 6 + size: 92, 83 + orig: 120, 120 + offset: 14, 23 + index: -1 diff --git a/nginx/minesweeper/assets/spine/elephant/skeleton.json b/nginx/minesweeper/assets/spine/elephant/skeleton.json new file mode 100644 index 0000000..41bf077 --- /dev/null +++ b/nginx/minesweeper/assets/spine/elephant/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"FcuHcmi/2YNBEi/6u8aHEW17MRE=","spine":"3.8","images":"../大象/111111/","audio":""},"bones":[{"name":"root"}],"slots":[{"name":"1","bone":"root"}],"skins":[{"name":"default","attachments":{"1":{"1_00000":{"width":120,"height":120},"1_00001":{"width":120,"height":120},"1_00002":{"width":120,"height":120},"1_00003":{"width":120,"height":120},"1_00004":{"width":120,"height":120},"1_00005":{"width":120,"height":120},"1_00006":{"width":120,"height":120},"1_00007":{"width":120,"height":120},"1_00008":{"width":120,"height":120},"1_00009":{"width":120,"height":120},"1_00010":{"width":120,"height":120},"1_00011":{"width":120,"height":120},"1_00012":{"width":120,"height":120},"1_00013":{"width":120,"height":120},"1_00014":{"width":120,"height":120},"1_00015":{"width":120,"height":120},"1_00016":{"width":120,"height":120},"1_00017":{"width":120,"height":120},"1_00018":{"width":120,"height":120},"1_00019":{"width":120,"height":120},"1_00020":{"width":120,"height":120},"1_00021":{"width":120,"height":120},"1_00022":{"width":120,"height":120},"1_00023":{"width":120,"height":120},"1_00024":{"width":120,"height":120},"1_00025":{"width":120,"height":120},"1_00026":{"width":120,"height":120},"1_00027":{"width":120,"height":120},"1_00028":{"width":120,"height":120},"1_00029":{"width":120,"height":120},"1_00030":{"width":120,"height":120},"1_00031":{"width":120,"height":120},"1_00032":{"width":120,"height":120},"1_00033":{"width":120,"height":120},"1_00034":{"width":120,"height":120},"1_00035":{"width":120,"height":120},"1_00036":{"width":120,"height":120},"1_00037":{"width":120,"height":120},"1_00038":{"width":120,"height":120},"1_00039":{"width":120,"height":120},"1_00040":{"width":120,"height":120},"1_00041":{"width":120,"height":120},"1_00042":{"width":120,"height":120},"1_00043":{"width":120,"height":120},"1_00044":{"width":120,"height":120},"1_00045":{"width":120,"height":120},"1_00046":{"width":120,"height":120},"1_00047":{"width":120,"height":120},"1_00048":{"width":120,"height":120},"1_00049":{"width":120,"height":120},"1_00050":{"width":120,"height":120},"1_00051":{"width":120,"height":120},"1_00052":{"width":120,"height":120},"1_00053":{"width":120,"height":120},"1_00054":{"width":120,"height":120},"1_00055":{"width":120,"height":120},"1_00056":{"width":120,"height":120},"1_00057":{"width":120,"height":120},"1_00058":{"width":120,"height":120},"1_00059":{"width":120,"height":120},"1_00060":{"width":120,"height":120},"1_00061":{"width":120,"height":120},"1_00062":{"width":120,"height":120},"1_00063":{"width":120,"height":120},"1_00064":{"width":120,"height":120},"1_00065":{"width":120,"height":120},"1_00066":{"width":120,"height":120},"1_00067":{"width":120,"height":120},"1_00068":{"width":120,"height":120},"1_00069":{"width":120,"height":120},"1_00070":{"width":120,"height":120},"1_00071":{"width":120,"height":120},"1_00072":{"width":120,"height":120},"1_00073":{"width":120,"height":120},"1_00074":{"width":120,"height":120},"1_00075":{"width":120,"height":120},"1_00076":{"width":120,"height":120},"1_00077":{"width":120,"height":120},"1_00078":{"width":120,"height":120},"1_00079":{"width":120,"height":120},"1_00080":{"width":120,"height":120},"1_00081":{"width":120,"height":120},"1_00082":{"width":120,"height":120},"1_00083":{"x":0.5,"y":0.5,"width":120,"height":120},"1_00084":{"x":0.5,"y":0.5,"width":120,"height":120},"1_00085":{"x":0.5,"y":0.5,"width":120,"height":120},"1_00086":{"x":0.5,"y":0.5,"width":120,"height":120},"1_00087":{"x":0.5,"y":0.5,"width":120,"height":120},"1_00088":{"x":0.5,"y":0.5,"width":120,"height":120},"1_00089":{"x":0.5,"y":0.5,"width":120,"height":120},"1_00090":{"x":0.5,"y":0.5,"width":120,"height":120},"1_00091":{"x":0.5,"y":0.5,"width":120,"height":120}}}}],"animations":{"animation":{"slots":{"1":{"color":[{"time":2.5,"color":"ffffffff"},{"time":2.8,"color":"ffffff00"}],"attachment":[{"name":"1_00000"},{"time":0.0333,"name":"1_00001"},{"time":0.0667,"name":"1_00002"},{"time":0.1,"name":"1_00003"},{"time":0.1333,"name":"1_00004"},{"time":0.1667,"name":"1_00005"},{"time":0.2,"name":"1_00006"},{"time":0.2333,"name":"1_00007"},{"time":0.2667,"name":"1_00008"},{"time":0.3,"name":"1_00009"},{"time":0.3333,"name":"1_00010"},{"time":0.3667,"name":"1_00011"},{"time":0.4,"name":"1_00012"},{"time":0.4333,"name":"1_00013"},{"time":0.4667,"name":"1_00014"},{"time":0.5,"name":"1_00015"},{"time":0.5333,"name":"1_00016"},{"time":0.5667,"name":"1_00017"},{"time":0.6,"name":"1_00018"},{"time":0.6333,"name":"1_00019"},{"time":0.6667,"name":"1_00020"},{"time":0.7,"name":"1_00021"},{"time":0.7333,"name":"1_00022"},{"time":0.7667,"name":"1_00023"},{"time":0.8,"name":"1_00024"},{"time":0.8333,"name":"1_00025"},{"time":0.8667,"name":"1_00026"},{"time":0.9,"name":"1_00027"},{"time":0.9333,"name":"1_00028"},{"time":0.9667,"name":"1_00029"},{"time":1,"name":"1_00030"},{"time":1.0333,"name":"1_00031"},{"time":1.0667,"name":"1_00032"},{"time":1.1,"name":"1_00033"},{"time":1.1333,"name":"1_00034"},{"time":1.1667,"name":"1_00035"},{"time":1.2,"name":"1_00036"},{"time":1.2333,"name":"1_00037"},{"time":1.2667,"name":"1_00038"},{"time":1.3,"name":"1_00039"},{"time":1.3333,"name":"1_00040"},{"time":1.3667,"name":"1_00041"},{"time":1.4,"name":"1_00042"},{"time":1.4333,"name":"1_00043"},{"time":1.4667,"name":"1_00044"},{"time":1.5,"name":"1_00045"},{"time":1.5333,"name":"1_00046"},{"time":1.5667,"name":"1_00047"},{"time":1.6,"name":"1_00048"},{"time":1.6333,"name":"1_00049"},{"time":1.6667,"name":"1_00050"},{"time":1.7,"name":"1_00051"},{"time":1.7333,"name":"1_00052"},{"time":1.7667,"name":"1_00053"},{"time":1.8,"name":"1_00054"},{"time":1.8333,"name":"1_00055"},{"time":1.8667,"name":"1_00056"},{"time":1.9,"name":"1_00057"},{"time":1.9333,"name":"1_00058"},{"time":1.9667,"name":"1_00059"},{"time":2,"name":"1_00060"},{"time":2.0333,"name":"1_00061"},{"time":2.0667,"name":"1_00062"},{"time":2.1,"name":"1_00063"},{"time":2.1333,"name":"1_00064"},{"time":2.1667,"name":"1_00065"},{"time":2.2,"name":"1_00066"},{"time":2.2333,"name":"1_00067"},{"time":2.2667,"name":"1_00068"},{"time":2.3,"name":"1_00069"},{"time":2.3333,"name":"1_00070"},{"time":2.3667,"name":"1_00071"},{"time":2.4,"name":"1_00072"},{"time":2.4333,"name":"1_00073"},{"time":2.4667,"name":"1_00074"},{"time":2.5,"name":"1_00075"},{"time":2.5333,"name":"1_00076"},{"time":2.5667,"name":"1_00077"},{"time":2.6,"name":"1_00078"},{"time":2.6333,"name":"1_00079"},{"time":2.6667,"name":"1_00080"},{"time":2.7,"name":"1_00081"},{"time":2.7333,"name":"1_00082"},{"time":2.7667,"name":"1_00083"},{"time":2.8,"name":"1_00084"}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/elephant/skeleton.webp b/nginx/minesweeper/assets/spine/elephant/skeleton.webp new file mode 100644 index 0000000..41727d4 Binary files /dev/null and b/nginx/minesweeper/assets/spine/elephant/skeleton.webp differ diff --git a/nginx/minesweeper/assets/spine/goodperson/skeleton.atlas b/nginx/minesweeper/assets/spine/goodperson/skeleton.atlas new file mode 100644 index 0000000..b77b9d4 --- /dev/null +++ b/nginx/minesweeper/assets/spine/goodperson/skeleton.atlas @@ -0,0 +1,831 @@ +skeleton.webp +size: 2015,2040 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00000 + rotate: false + xy: 2, 2 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00001 + rotate: true + xy: 1851, 1560 + size: 108, 110 + orig: 183, 183 + offset: 40, 37 + index: -1 +1_00002 + rotate: false + xy: 1850, 1342 + size: 141, 141 + orig: 183, 183 + offset: 23, 20 + index: -1 +1_00003 + rotate: true + xy: 1848, 421 + size: 160, 161 + orig: 183, 183 + offset: 12, 9 + index: -1 +1_00004 + rotate: false + xy: 1844, 40 + size: 167, 170 + orig: 183, 183 + offset: 8, 4 + index: -1 +1_00005 + rotate: false + xy: 1667, 207 + size: 174, 175 + orig: 183, 183 + offset: 3, 2 + index: -1 +1_00006 + rotate: false + xy: 1667, 932 + size: 180, 181 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00007 + rotate: false + xy: 1667, 749 + size: 180, 181 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00008 + rotate: false + xy: 1667, 1485 + size: 182, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00009 + rotate: false + xy: 2, 1855 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00010 + rotate: false + xy: 2, 1670 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00011 + rotate: false + xy: 2, 1485 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00012 + rotate: false + xy: 2, 1300 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00013 + rotate: false + xy: 2, 1115 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00014 + rotate: false + xy: 2, 930 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00015 + rotate: false + xy: 2, 745 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00016 + rotate: false + xy: 2, 560 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00017 + rotate: false + xy: 2, 375 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00018 + rotate: false + xy: 2, 190 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00019 + rotate: false + xy: 2, 5 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00020 + rotate: false + xy: 187, 1855 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00021 + rotate: false + xy: 187, 1670 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00022 + rotate: false + xy: 187, 1485 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00023 + rotate: false + xy: 187, 1300 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00024 + rotate: false + xy: 187, 1115 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00025 + rotate: false + xy: 187, 930 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00026 + rotate: false + xy: 187, 745 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00027 + rotate: false + xy: 187, 560 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00028 + rotate: false + xy: 187, 375 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00029 + rotate: false + xy: 187, 190 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00030 + rotate: false + xy: 187, 5 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00031 + rotate: false + xy: 372, 1855 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00032 + rotate: false + xy: 372, 1670 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00033 + rotate: false + xy: 372, 1485 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00034 + rotate: false + xy: 372, 1300 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00035 + rotate: false + xy: 372, 1115 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00036 + rotate: false + xy: 372, 930 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00037 + rotate: false + xy: 372, 745 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00038 + rotate: false + xy: 372, 560 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00039 + rotate: false + xy: 372, 375 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00040 + rotate: false + xy: 372, 190 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00041 + rotate: false + xy: 372, 5 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00042 + rotate: false + xy: 557, 1855 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00043 + rotate: false + xy: 557, 1670 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00044 + rotate: false + xy: 557, 1485 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00045 + rotate: false + xy: 557, 1300 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00046 + rotate: false + xy: 557, 1115 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00047 + rotate: false + xy: 557, 930 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00048 + rotate: false + xy: 557, 745 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00049 + rotate: false + xy: 557, 560 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00050 + rotate: false + xy: 557, 375 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00051 + rotate: false + xy: 557, 190 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00052 + rotate: false + xy: 557, 5 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00053 + rotate: false + xy: 742, 1855 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00054 + rotate: false + xy: 742, 1670 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00055 + rotate: false + xy: 742, 1485 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00056 + rotate: false + xy: 742, 1300 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00057 + rotate: false + xy: 742, 1115 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00058 + rotate: false + xy: 742, 930 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00059 + rotate: false + xy: 742, 745 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00060 + rotate: false + xy: 742, 560 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00061 + rotate: false + xy: 742, 375 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00062 + rotate: false + xy: 742, 190 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00063 + rotate: false + xy: 742, 5 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00064 + rotate: false + xy: 927, 1855 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00065 + rotate: false + xy: 927, 1670 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00066 + rotate: false + xy: 927, 1485 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00067 + rotate: false + xy: 927, 1300 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00068 + rotate: false + xy: 927, 1115 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00069 + rotate: false + xy: 927, 930 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00070 + rotate: false + xy: 927, 745 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00071 + rotate: false + xy: 927, 560 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00072 + rotate: false + xy: 927, 375 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00073 + rotate: false + xy: 927, 190 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00074 + rotate: false + xy: 927, 5 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00075 + rotate: false + xy: 1112, 1855 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00076 + rotate: false + xy: 1112, 1670 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00077 + rotate: false + xy: 1112, 1485 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00078 + rotate: false + xy: 1112, 1300 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00079 + rotate: false + xy: 1112, 1115 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00080 + rotate: false + xy: 1112, 930 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00081 + rotate: false + xy: 1112, 745 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00082 + rotate: false + xy: 1112, 560 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00083 + rotate: false + xy: 1112, 375 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00084 + rotate: false + xy: 1112, 190 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00085 + rotate: false + xy: 1112, 5 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00086 + rotate: false + xy: 1297, 1855 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00087 + rotate: false + xy: 1297, 1670 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00088 + rotate: false + xy: 1297, 1485 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00089 + rotate: false + xy: 1297, 1300 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00090 + rotate: false + xy: 1297, 1115 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00091 + rotate: false + xy: 1297, 930 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00092 + rotate: false + xy: 1297, 745 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00093 + rotate: false + xy: 1297, 560 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00094 + rotate: false + xy: 1297, 375 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00095 + rotate: false + xy: 1297, 190 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00096 + rotate: false + xy: 1297, 5 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00097 + rotate: false + xy: 1482, 1855 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00098 + rotate: false + xy: 1482, 1670 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00099 + rotate: false + xy: 1482, 1485 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00100 + rotate: false + xy: 1482, 1300 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00101 + rotate: false + xy: 1482, 1115 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00102 + rotate: false + xy: 1482, 930 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00103 + rotate: false + xy: 1482, 745 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00104 + rotate: false + xy: 1482, 560 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00105 + rotate: false + xy: 1482, 375 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00106 + rotate: false + xy: 1482, 190 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00107 + rotate: false + xy: 1482, 5 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00108 + rotate: false + xy: 1667, 1855 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00109 + rotate: false + xy: 1667, 1670 + size: 183, 183 + orig: 183, 183 + offset: 0, 0 + index: -1 +1_00110 + rotate: true + xy: 1667, 1300 + size: 183, 181 + orig: 183, 183 + offset: 0, 2 + index: -1 +1_00111 + rotate: true + xy: 1667, 1115 + size: 183, 180 + orig: 183, 183 + offset: 0, 3 + index: -1 +1_00112 + rotate: true + xy: 1667, 566 + size: 181, 179 + orig: 183, 183 + offset: 2, 4 + index: -1 +1_00113 + rotate: false + xy: 1667, 384 + size: 179, 180 + orig: 183, 183 + offset: 4, 3 + index: -1 +1_00114 + rotate: true + xy: 1667, 31 + size: 174, 175 + orig: 183, 183 + offset: 7, 6 + index: -1 +1_00115 + rotate: false + xy: 1843, 212 + size: 170, 170 + orig: 183, 183 + offset: 9, 8 + index: -1 +1_00116 + rotate: false + xy: 1848, 583 + size: 164, 164 + orig: 183, 183 + offset: 13, 10 + index: -1 +1_00117 + rotate: false + xy: 1849, 1147 + size: 151, 151 + orig: 183, 183 + offset: 18, 16 + index: -1 diff --git a/nginx/minesweeper/assets/spine/goodperson/skeleton.json b/nginx/minesweeper/assets/spine/goodperson/skeleton.json new file mode 100644 index 0000000..23735be --- /dev/null +++ b/nginx/minesweeper/assets/spine/goodperson/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"J5c2Ad46tRgoL41f/BpqQ9uQ7e4=","spine":"3.8","x":-91,"y":-91,"width":183,"height":183,"images":"../好人卡/111111/","audio":""},"bones":[{"name":"root"}],"slots":[{"name":"1","bone":"root","attachment":"1_00117"}],"skins":[{"name":"default","attachments":{"1":{"1_00000":{"width":183,"height":183},"1_00001":{"width":183,"height":183},"1_00002":{"width":183,"height":183},"1_00003":{"width":183,"height":183},"1_00004":{"width":183,"height":183},"1_00005":{"width":183,"height":183},"1_00006":{"width":183,"height":183},"1_00007":{"width":183,"height":183},"1_00008":{"width":183,"height":183},"1_00009":{"width":183,"height":183},"1_00010":{"width":183,"height":183},"1_00011":{"width":183,"height":183},"1_00012":{"width":183,"height":183},"1_00013":{"width":183,"height":183},"1_00014":{"width":183,"height":183},"1_00015":{"width":183,"height":183},"1_00016":{"width":183,"height":183},"1_00017":{"width":183,"height":183},"1_00018":{"width":183,"height":183},"1_00019":{"width":183,"height":183},"1_00020":{"width":183,"height":183},"1_00021":{"width":183,"height":183},"1_00022":{"width":183,"height":183},"1_00023":{"width":183,"height":183},"1_00024":{"width":183,"height":183},"1_00025":{"width":183,"height":183},"1_00026":{"width":183,"height":183},"1_00027":{"width":183,"height":183},"1_00028":{"width":183,"height":183},"1_00029":{"width":183,"height":183},"1_00030":{"width":183,"height":183},"1_00031":{"width":183,"height":183},"1_00032":{"width":183,"height":183},"1_00033":{"width":183,"height":183},"1_00034":{"width":183,"height":183},"1_00035":{"width":183,"height":183},"1_00036":{"width":183,"height":183},"1_00037":{"width":183,"height":183},"1_00038":{"width":183,"height":183},"1_00039":{"width":183,"height":183},"1_00040":{"width":183,"height":183},"1_00041":{"width":183,"height":183},"1_00042":{"width":183,"height":183},"1_00043":{"width":183,"height":183},"1_00044":{"width":183,"height":183},"1_00045":{"width":183,"height":183},"1_00046":{"width":183,"height":183},"1_00047":{"width":183,"height":183},"1_00048":{"width":183,"height":183},"1_00049":{"width":183,"height":183},"1_00050":{"width":183,"height":183},"1_00051":{"width":183,"height":183},"1_00052":{"width":183,"height":183},"1_00053":{"width":183,"height":183},"1_00054":{"width":183,"height":183},"1_00055":{"width":183,"height":183},"1_00056":{"width":183,"height":183},"1_00057":{"width":183,"height":183},"1_00058":{"width":183,"height":183},"1_00059":{"width":183,"height":183},"1_00060":{"width":183,"height":183},"1_00061":{"width":183,"height":183},"1_00062":{"width":183,"height":183},"1_00063":{"width":183,"height":183},"1_00064":{"width":183,"height":183},"1_00065":{"width":183,"height":183},"1_00066":{"width":183,"height":183},"1_00067":{"width":183,"height":183},"1_00068":{"width":183,"height":183},"1_00069":{"width":183,"height":183},"1_00070":{"width":183,"height":183},"1_00071":{"width":183,"height":183},"1_00072":{"width":183,"height":183},"1_00073":{"width":183,"height":183},"1_00074":{"width":183,"height":183},"1_00075":{"width":183,"height":183},"1_00076":{"width":183,"height":183},"1_00077":{"width":183,"height":183},"1_00078":{"width":183,"height":183},"1_00079":{"width":183,"height":183},"1_00080":{"width":183,"height":183},"1_00081":{"width":183,"height":183},"1_00082":{"width":183,"height":183},"1_00083":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00084":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00085":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00086":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00087":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00088":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00089":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00090":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00091":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00092":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00093":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00094":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00095":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00096":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00097":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00098":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00099":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00100":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00101":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00102":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00103":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00104":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00105":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00106":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00107":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00108":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00109":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00110":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00111":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00112":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00113":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00114":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00115":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00116":{"x":0.5,"y":0.5,"width":183,"height":183},"1_00117":{"x":0.5,"y":0.5,"width":183,"height":183}}}}],"animations":{"animation":{"slots":{"1":{"attachment":[{"name":"1_00000"},{"time":0.0333,"name":"1_00001"},{"time":0.0667,"name":"1_00002"},{"time":0.1,"name":"1_00003"},{"time":0.1333,"name":"1_00004"},{"time":0.1667,"name":"1_00005"},{"time":0.2,"name":"1_00006"},{"time":0.2333,"name":"1_00007"},{"time":0.2667,"name":"1_00008"},{"time":0.3,"name":"1_00009"},{"time":0.3333,"name":"1_00010"},{"time":0.3667,"name":"1_00011"},{"time":0.4,"name":"1_00012"},{"time":0.4333,"name":"1_00013"},{"time":0.4667,"name":"1_00014"},{"time":0.5,"name":"1_00015"},{"time":0.5333,"name":"1_00016"},{"time":0.5667,"name":"1_00017"},{"time":0.6,"name":"1_00018"},{"time":0.6333,"name":"1_00019"},{"time":0.6667,"name":"1_00020"},{"time":0.7,"name":"1_00021"},{"time":0.7333,"name":"1_00022"},{"time":0.7667,"name":"1_00023"},{"time":0.8,"name":"1_00024"},{"time":0.8333,"name":"1_00025"},{"time":0.8667,"name":"1_00026"},{"time":0.9,"name":"1_00027"},{"time":0.9333,"name":"1_00028"},{"time":0.9667,"name":"1_00029"},{"time":1,"name":"1_00030"},{"time":1.0333,"name":"1_00031"},{"time":1.0667,"name":"1_00032"},{"time":1.1,"name":"1_00033"},{"time":1.1333,"name":"1_00034"},{"time":1.1667,"name":"1_00035"},{"time":1.2,"name":"1_00036"},{"time":1.2333,"name":"1_00037"},{"time":1.2667,"name":"1_00038"},{"time":1.3,"name":"1_00039"},{"time":1.3333,"name":"1_00040"},{"time":1.3667,"name":"1_00041"},{"time":1.4,"name":"1_00042"},{"time":1.4333,"name":"1_00043"},{"time":1.4667,"name":"1_00044"},{"time":1.5,"name":"1_00045"},{"time":1.5333,"name":"1_00046"},{"time":1.5667,"name":"1_00047"},{"time":1.6,"name":"1_00048"},{"time":1.6333,"name":"1_00049"},{"time":1.6667,"name":"1_00050"},{"time":1.7,"name":"1_00051"},{"time":1.7333,"name":"1_00052"},{"time":1.7667,"name":"1_00053"},{"time":1.8,"name":"1_00054"},{"time":1.8333,"name":"1_00055"},{"time":1.8667,"name":"1_00056"},{"time":1.9,"name":"1_00057"},{"time":1.9333,"name":"1_00058"},{"time":1.9667,"name":"1_00059"},{"time":2,"name":"1_00060"},{"time":2.0333,"name":"1_00061"},{"time":2.0667,"name":"1_00062"},{"time":2.1,"name":"1_00063"},{"time":2.1333,"name":"1_00064"},{"time":2.1667,"name":"1_00065"},{"time":2.2,"name":"1_00066"},{"time":2.2333,"name":"1_00067"},{"time":2.2667,"name":"1_00068"},{"time":2.3,"name":"1_00069"},{"time":2.3333,"name":"1_00070"},{"time":2.3667,"name":"1_00071"},{"time":2.4,"name":"1_00072"},{"time":2.4333,"name":"1_00073"},{"time":2.4667,"name":"1_00074"},{"time":2.5,"name":"1_00075"},{"time":2.5333,"name":"1_00076"},{"time":2.5667,"name":"1_00077"},{"time":2.6,"name":"1_00078"},{"time":2.6333,"name":"1_00079"},{"time":2.6667,"name":"1_00080"},{"time":2.7,"name":"1_00081"},{"time":2.7333,"name":"1_00082"},{"time":2.7667,"name":"1_00083"},{"time":2.8,"name":"1_00084"},{"time":2.8333,"name":"1_00085"},{"time":2.8667,"name":"1_00086"},{"time":2.9,"name":"1_00087"},{"time":2.9333,"name":"1_00088"},{"time":2.9667,"name":"1_00089"},{"time":3,"name":"1_00090"},{"time":3.0333,"name":"1_00091"},{"time":3.0667,"name":"1_00092"},{"time":3.1,"name":"1_00093"},{"time":3.1333,"name":"1_00094"},{"time":3.1667,"name":"1_00095"},{"time":3.2,"name":"1_00096"},{"time":3.2333,"name":"1_00097"},{"time":3.2667,"name":"1_00098"},{"time":3.3,"name":"1_00099"},{"time":3.3333,"name":"1_00100"},{"time":3.3667,"name":"1_00101"},{"time":3.4,"name":"1_00102"},{"time":3.4333,"name":"1_00103"},{"time":3.4667,"name":"1_00104"},{"time":3.5,"name":"1_00105"},{"time":3.5333,"name":"1_00106"},{"time":3.5667,"name":"1_00107"},{"time":3.6,"name":"1_00108"},{"time":3.6333,"name":"1_00109"},{"time":3.6667,"name":"1_00110"},{"time":3.7,"name":"1_00111"},{"time":3.7333,"name":"1_00112"},{"time":3.7667,"name":"1_00113"},{"time":3.8,"name":"1_00114"},{"time":3.8333,"name":"1_00115"},{"time":3.8667,"name":"1_00116"},{"time":3.9,"name":"1_00117"}]}},"bones":{"root":{"translate":[{"time":2.7333},{"time":2.7667,"x":-0.51,"y":-0.51}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/goodperson/skeleton.webp b/nginx/minesweeper/assets/spine/goodperson/skeleton.webp new file mode 100644 index 0000000..56eca92 Binary files /dev/null and b/nginx/minesweeper/assets/spine/goodperson/skeleton.webp differ diff --git a/nginx/minesweeper/assets/spine/hippo/skeleton.atlas b/nginx/minesweeper/assets/spine/hippo/skeleton.atlas new file mode 100644 index 0000000..3c88147 --- /dev/null +++ b/nginx/minesweeper/assets/spine/hippo/skeleton.atlas @@ -0,0 +1,663 @@ +skeleton.webp +size: 2033,1660 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00000 + rotate: false + xy: 743, 1484 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00093 + rotate: false + xy: 743, 1484 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00001 + rotate: false + xy: 1123, 630 + size: 202, 120 + orig: 270, 210 + offset: 19, 43 + index: -1 +1_00002 + rotate: false + xy: 1304, 281 + size: 202, 121 + orig: 270, 210 + offset: 19, 43 + index: -1 +1_00003 + rotate: false + xy: 1584, 781 + size: 201, 120 + orig: 270, 210 + offset: 20, 43 + index: -1 +1_00004 + rotate: false + xy: 1522, 657 + size: 199, 122 + orig: 270, 210 + offset: 22, 43 + index: -1 +1_00005 + rotate: true + xy: 1452, 784 + size: 199, 130 + orig: 270, 210 + offset: 22, 35 + index: -1 +1_00006 + rotate: false + xy: 1584, 903 + size: 197, 130 + orig: 270, 210 + offset: 24, 35 + index: -1 +1_00007 + rotate: false + xy: 1584, 1035 + size: 197, 131 + orig: 270, 210 + offset: 24, 34 + index: -1 +1_00008 + rotate: true + xy: 1783, 970 + size: 196, 130 + orig: 270, 210 + offset: 25, 34 + index: -1 +1_00009 + rotate: false + xy: 1327, 630 + size: 193, 128 + orig: 270, 210 + offset: 28, 34 + index: -1 +1_00010 + rotate: true + xy: 1787, 775 + size: 193, 128 + orig: 270, 210 + offset: 28, 34 + index: -1 +1_00011 + rotate: true + xy: 1622, 464 + size: 191, 127 + orig: 270, 210 + offset: 30, 34 + index: -1 +1_00012 + rotate: true + xy: 1751, 466 + size: 191, 127 + orig: 270, 210 + offset: 30, 34 + index: -1 +1_00013 + rotate: true + xy: 1880, 417 + size: 189, 127 + orig: 270, 210 + offset: 32, 34 + index: -1 +1_00014 + rotate: false + xy: 502, 7 + size: 186, 127 + orig: 270, 210 + offset: 35, 34 + index: -1 +1_00015 + rotate: false + xy: 690, 8 + size: 186, 127 + orig: 270, 210 + offset: 35, 34 + index: -1 +1_00016 + rotate: false + xy: 1508, 281 + size: 183, 126 + orig: 270, 210 + offset: 38, 34 + index: -1 +1_00017 + rotate: false + xy: 1069, 10 + size: 183, 126 + orig: 270, 210 + offset: 38, 34 + index: -1 +1_00018 + rotate: false + xy: 1216, 985 + size: 182, 125 + orig: 270, 210 + offset: 39, 34 + index: -1 +1_00019 + rotate: false + xy: 1400, 985 + size: 182, 125 + orig: 270, 210 + offset: 39, 34 + index: -1 +1_00020 + rotate: false + xy: 1254, 2 + size: 182, 125 + orig: 270, 210 + offset: 39, 34 + index: -1 +1_00021 + rotate: false + xy: 1438, 3 + size: 182, 124 + orig: 270, 210 + offset: 39, 34 + index: -1 +1_00022 + rotate: false + xy: 1622, 3 + size: 182, 124 + orig: 270, 210 + offset: 39, 34 + index: -1 +1_00023 + rotate: false + xy: 1693, 338 + size: 182, 124 + orig: 270, 210 + offset: 39, 34 + index: -1 +1_00024 + rotate: true + xy: 1719, 154 + size: 182, 120 + orig: 270, 210 + offset: 39, 34 + index: -1 +1_00025 + rotate: true + xy: 1841, 154 + size: 182, 120 + orig: 270, 210 + offset: 39, 34 + index: -1 +1_00026 + rotate: true + xy: 1915, 982 + size: 184, 116 + orig: 270, 210 + offset: 38, 34 + index: -1 +1_00027 + rotate: true + xy: 1917, 794 + size: 186, 114 + orig: 270, 210 + offset: 37, 34 + index: -1 +1_00028 + rotate: true + xy: 1917, 608 + size: 184, 114 + orig: 270, 210 + offset: 38, 33 + index: -1 +1_00029 + rotate: false + xy: 1723, 659 + size: 184, 114 + orig: 270, 210 + offset: 38, 33 + index: -1 +1_00030 + rotate: false + xy: 1806, 40 + size: 183, 112 + orig: 270, 210 + offset: 38, 34 + index: -1 +1_00031 + rotate: false + xy: 878, 12 + size: 189, 126 + orig: 270, 210 + offset: 33, 26 + index: -1 +1_00032 + rotate: true + xy: 338, 594 + size: 197, 144 + orig: 270, 210 + offset: 29, 18 + index: -1 +1_00033 + rotate: false + xy: 1299, 129 + size: 208, 150 + orig: 270, 210 + offset: 21, 18 + index: -1 +1_00034 + rotate: false + xy: 1509, 129 + size: 208, 150 + orig: 270, 210 + offset: 21, 18 + index: -1 +1_00035 + rotate: true + xy: 1327, 1271 + size: 214, 152 + orig: 270, 210 + offset: 18, 18 + index: -1 +1_00036 + rotate: true + xy: 1465, 409 + size: 219, 155 + orig: 270, 210 + offset: 14, 18 + index: -1 +1_00037 + rotate: false + xy: 1218, 1112 + size: 223, 157 + orig: 270, 210 + offset: 13, 18 + index: -1 +1_00038 + rotate: false + xy: 1708, 1168 + size: 224, 159 + orig: 270, 210 + offset: 13, 18 + index: -1 +1_00039 + rotate: true + xy: 1304, 404 + size: 224, 159 + orig: 270, 210 + offset: 13, 18 + index: -1 +1_00040 + rotate: true + xy: 1291, 760 + size: 223, 159 + orig: 270, 210 + offset: 12, 18 + index: -1 +1_00041 + rotate: false + xy: 1072, 138 + size: 225, 162 + orig: 270, 210 + offset: 11, 18 + index: -1 +1_00042 + rotate: false + xy: 1481, 1168 + size: 225, 161 + orig: 270, 210 + offset: 10, 18 + index: -1 +1_00043 + rotate: false + xy: 1075, 466 + size: 227, 162 + orig: 270, 210 + offset: 10, 18 + index: -1 +1_00044 + rotate: false + xy: 1075, 302 + size: 227, 162 + orig: 270, 210 + offset: 10, 18 + index: -1 +1_00045 + rotate: false + xy: 844, 140 + size: 226, 165 + orig: 270, 210 + offset: 10, 18 + index: -1 +1_00046 + rotate: false + xy: 844, 307 + size: 229, 164 + orig: 270, 210 + offset: 7, 18 + index: -1 +1_00047 + rotate: true + xy: 1123, 752 + size: 231, 166 + orig: 270, 210 + offset: 5, 18 + index: -1 +1_00048 + rotate: false + xy: 889, 643 + size: 232, 168 + orig: 270, 210 + offset: 6, 18 + index: -1 +1_00049 + rotate: false + xy: 841, 473 + size: 232, 168 + orig: 270, 210 + offset: 6, 18 + index: -1 +1_00050 + rotate: false + xy: 889, 813 + size: 232, 170 + orig: 270, 210 + offset: 9, 18 + index: -1 +1_00051 + rotate: false + xy: 247, 793 + size: 236, 172 + orig: 270, 210 + offset: 8, 18 + index: -1 +1_00052 + rotate: false + xy: 993, 1486 + size: 242, 172 + orig: 270, 210 + offset: 6, 18 + index: -1 +1_00053 + rotate: false + xy: 499, 1487 + size: 245, 171 + orig: 270, 210 + offset: 4, 18 + index: -1 +1_00054 + rotate: false + xy: 2, 967 + size: 245, 171 + orig: 270, 210 + offset: 4, 18 + index: -1 +1_00055 + rotate: false + xy: 497, 1141 + size: 243, 170 + orig: 270, 210 + offset: 8, 18 + index: -1 +1_00056 + rotate: false + xy: 1237, 1487 + size: 242, 171 + orig: 270, 210 + offset: 8, 18 + index: -1 +1_00057 + rotate: false + xy: 497, 1313 + size: 244, 172 + orig: 270, 210 + offset: 8, 18 + index: -1 +1_00058 + rotate: false + xy: 251, 1487 + size: 246, 171 + orig: 270, 210 + offset: 7, 18 + index: -1 +1_00059 + rotate: false + xy: 2, 1140 + size: 246, 171 + orig: 270, 210 + offset: 7, 18 + index: -1 +1_00060 + rotate: false + xy: 2, 793 + size: 243, 172 + orig: 270, 210 + offset: 5, 18 + index: -1 +1_00061 + rotate: true + xy: 502, 136 + size: 239, 168 + orig: 270, 210 + offset: 8, 18 + index: -1 +1_00062 + rotate: true + xy: 2, 300 + size: 243, 169 + orig: 270, 210 + offset: 6, 18 + index: -1 +1_00063 + rotate: false + xy: 250, 1141 + size: 245, 170 + orig: 270, 210 + offset: 5, 18 + index: -1 +1_00064 + rotate: false + xy: 746, 1488 + size: 245, 170 + orig: 270, 210 + offset: 5, 18 + index: -1 +1_00065 + rotate: false + xy: 2, 1487 + size: 247, 171 + orig: 270, 210 + offset: 4, 18 + index: -1 +1_00066 + rotate: false + xy: 2, 1313 + size: 246, 172 + orig: 270, 210 + offset: 7, 18 + index: -1 +1_00067 + rotate: false + xy: 250, 1313 + size: 245, 172 + orig: 270, 210 + offset: 9, 18 + index: -1 +1_00068 + rotate: false + xy: 492, 966 + size: 238, 173 + orig: 270, 210 + offset: 9, 18 + index: -1 +1_00069 + rotate: false + xy: 485, 791 + size: 238, 173 + orig: 270, 210 + offset: 9, 18 + index: -1 +1_00070 + rotate: false + xy: 484, 619 + size: 239, 170 + orig: 270, 210 + offset: 9, 18 + index: -1 +1_00071 + rotate: false + xy: 1726, 1488 + size: 241, 170 + orig: 270, 210 + offset: 9, 18 + index: -1 +1_00072 + rotate: true + xy: 502, 377 + size: 240, 169 + orig: 270, 210 + offset: 11, 18 + index: -1 +1_00073 + rotate: false + xy: 1481, 1489 + size: 243, 169 + orig: 270, 210 + offset: 10, 18 + index: -1 +1_00074 + rotate: true + xy: 2, 55 + size: 243, 169 + orig: 270, 210 + offset: 10, 18 + index: -1 +1_00075 + rotate: true + xy: 2, 545 + size: 246, 169 + orig: 270, 210 + offset: 8, 18 + index: -1 +1_00076 + rotate: false + xy: 981, 1150 + size: 235, 165 + orig: 270, 210 + offset: 9, 18 + index: -1 +1_00077 + rotate: true + xy: 673, 377 + size: 240, 166 + orig: 270, 210 + offset: 6, 18 + index: -1 +1_00078 + rotate: false + xy: 985, 1317 + size: 236, 167 + orig: 270, 210 + offset: 8, 18 + index: -1 +1_00079 + rotate: false + xy: 743, 1163 + size: 236, 167 + orig: 270, 210 + offset: 8, 18 + index: -1 +1_00080 + rotate: false + xy: 742, 992 + size: 235, 169 + orig: 270, 210 + offset: 10, 18 + index: -1 +1_00081 + rotate: true + xy: 672, 137 + size: 238, 170 + orig: 270, 210 + offset: 9, 18 + index: -1 +1_00082 + rotate: false + xy: 249, 967 + size: 241, 171 + orig: 270, 210 + offset: 7, 18 + index: -1 +1_00083 + rotate: true + xy: 338, 350 + size: 242, 162 + orig: 270, 210 + offset: 7, 27 + index: -1 +1_00084 + rotate: true + xy: 338, 106 + size: 242, 162 + orig: 270, 210 + offset: 7, 27 + index: -1 +1_00085 + rotate: true + xy: 173, 53 + size: 244, 163 + orig: 270, 210 + offset: 6, 27 + index: -1 +1_00086 + rotate: true + xy: 725, 722 + size: 242, 162 + orig: 270, 210 + offset: 5, 26 + index: -1 +1_00087 + rotate: true + xy: 173, 546 + size: 245, 163 + orig: 270, 210 + offset: 4, 26 + index: -1 +1_00088 + rotate: true + xy: 173, 299 + size: 245, 163 + orig: 270, 210 + offset: 4, 26 + index: -1 +1_00089 + rotate: false + xy: 979, 985 + size: 235, 163 + orig: 270, 210 + offset: 14, 26 + index: -1 +1_00090 + rotate: false + xy: 746, 1332 + size: 237, 154 + orig: 270, 210 + offset: 13, 26 + index: -1 +1_00091 + rotate: false + xy: 1481, 1331 + size: 238, 156 + orig: 270, 210 + offset: 13, 25 + index: -1 +1_00092 + rotate: false + xy: 1721, 1329 + size: 237, 157 + orig: 270, 210 + offset: 14, 25 + index: -1 diff --git a/nginx/minesweeper/assets/spine/hippo/skeleton.json b/nginx/minesweeper/assets/spine/hippo/skeleton.json new file mode 100644 index 0000000..8f6febe --- /dev/null +++ b/nginx/minesweeper/assets/spine/hippo/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"cBy3muI4mY45LRG4vPB/IWMzZDY=","spine":"3.8","x":-200,"y":-200,"width":400,"height":400,"images":"../河马/111111/","audio":""},"bones":[{"name":"root"}],"slots":[{"name":"1","bone":"root","attachment":"1_00093"}],"skins":[{"name":"default","attachments":{"1":{"1_00000":{"width":270,"height":210},"1_00001":{"width":270,"height":210},"1_00002":{"width":270,"height":210},"1_00003":{"width":270,"height":210},"1_00004":{"width":270,"height":210},"1_00005":{"width":270,"height":210},"1_00006":{"width":270,"height":210},"1_00007":{"width":270,"height":210},"1_00008":{"width":270,"height":210},"1_00009":{"width":270,"height":210},"1_00010":{"width":270,"height":210},"1_00011":{"width":270,"height":210},"1_00012":{"width":270,"height":210},"1_00013":{"width":270,"height":210},"1_00014":{"width":270,"height":210},"1_00015":{"width":270,"height":210},"1_00016":{"width":270,"height":210},"1_00017":{"width":270,"height":210},"1_00018":{"width":270,"height":210},"1_00019":{"width":270,"height":210},"1_00020":{"width":270,"height":210},"1_00021":{"width":270,"height":210},"1_00022":{"width":270,"height":210},"1_00023":{"width":270,"height":210},"1_00024":{"width":270,"height":210},"1_00025":{"width":270,"height":210},"1_00026":{"width":270,"height":210},"1_00027":{"width":270,"height":210},"1_00028":{"width":270,"height":210},"1_00029":{"width":270,"height":210},"1_00030":{"width":270,"height":210},"1_00031":{"width":270,"height":210},"1_00032":{"width":270,"height":210},"1_00033":{"width":270,"height":210},"1_00034":{"width":270,"height":210},"1_00035":{"width":270,"height":210},"1_00036":{"width":270,"height":210},"1_00037":{"width":270,"height":210},"1_00038":{"width":270,"height":210},"1_00039":{"width":270,"height":210},"1_00040":{"width":270,"height":210},"1_00041":{"width":270,"height":210},"1_00042":{"width":270,"height":210},"1_00043":{"width":270,"height":210},"1_00044":{"width":270,"height":210},"1_00045":{"width":270,"height":210},"1_00046":{"width":270,"height":210},"1_00047":{"width":270,"height":210},"1_00048":{"width":270,"height":210},"1_00049":{"width":270,"height":210},"1_00050":{"width":270,"height":210},"1_00051":{"width":270,"height":210},"1_00052":{"width":270,"height":210},"1_00053":{"width":270,"height":210},"1_00054":{"width":270,"height":210},"1_00055":{"width":270,"height":210},"1_00056":{"width":270,"height":210},"1_00057":{"width":270,"height":210},"1_00058":{"width":270,"height":210},"1_00059":{"width":270,"height":210},"1_00060":{"width":270,"height":210},"1_00061":{"width":270,"height":210},"1_00062":{"width":270,"height":210},"1_00063":{"width":270,"height":210},"1_00064":{"width":270,"height":210},"1_00065":{"width":270,"height":210},"1_00066":{"width":270,"height":210},"1_00067":{"width":270,"height":210},"1_00068":{"width":270,"height":210},"1_00069":{"width":270,"height":210},"1_00070":{"width":270,"height":210},"1_00071":{"width":270,"height":210},"1_00072":{"width":270,"height":210},"1_00073":{"width":270,"height":210},"1_00074":{"width":270,"height":210},"1_00075":{"width":270,"height":210},"1_00076":{"width":270,"height":210},"1_00077":{"width":270,"height":210},"1_00078":{"width":270,"height":210},"1_00079":{"width":270,"height":210},"1_00080":{"width":270,"height":210},"1_00081":{"width":270,"height":210},"1_00082":{"width":270,"height":210},"1_00083":{"width":270,"height":210},"1_00084":{"width":270,"height":210},"1_00085":{"width":270,"height":210},"1_00086":{"width":270,"height":210},"1_00087":{"width":270,"height":210},"1_00088":{"width":270,"height":210},"1_00089":{"width":270,"height":210},"1_00090":{"width":270,"height":210},"1_00091":{"width":270,"height":210},"1_00092":{"width":270,"height":210},"1_00093":{"width":270,"height":210}}}}],"animations":{"animation":{"slots":{"1":{"attachment":[{"name":"1_00000"},{"time":0.0333,"name":"1_00001"},{"time":0.0667,"name":"1_00002"},{"time":0.1,"name":"1_00003"},{"time":0.1333,"name":"1_00004"},{"time":0.1667,"name":"1_00005"},{"time":0.2,"name":"1_00006"},{"time":0.2333,"name":"1_00007"},{"time":0.2667,"name":"1_00008"},{"time":0.3,"name":"1_00009"},{"time":0.3333,"name":"1_00010"},{"time":0.3667,"name":"1_00011"},{"time":0.4,"name":"1_00012"},{"time":0.4333,"name":"1_00013"},{"time":0.4667,"name":"1_00014"},{"time":0.5,"name":"1_00015"},{"time":0.5333,"name":"1_00016"},{"time":0.5667,"name":"1_00017"},{"time":0.6,"name":"1_00018"},{"time":0.6333,"name":"1_00019"},{"time":0.6667,"name":"1_00020"},{"time":0.7,"name":"1_00021"},{"time":0.7333,"name":"1_00022"},{"time":0.7667,"name":"1_00023"},{"time":0.8,"name":"1_00024"},{"time":0.8333,"name":"1_00025"},{"time":0.8667,"name":"1_00026"},{"time":0.9,"name":"1_00027"},{"time":0.9333,"name":"1_00028"},{"time":0.9667,"name":"1_00029"},{"time":1,"name":"1_00030"},{"time":1.0333,"name":"1_00031"},{"time":1.0667,"name":"1_00032"},{"time":1.1,"name":"1_00033"},{"time":1.1333,"name":"1_00034"},{"time":1.1667,"name":"1_00035"},{"time":1.2,"name":"1_00036"},{"time":1.2333,"name":"1_00037"},{"time":1.2667,"name":"1_00038"},{"time":1.3,"name":"1_00039"},{"time":1.3333,"name":"1_00040"},{"time":1.3667,"name":"1_00041"},{"time":1.4,"name":"1_00042"},{"time":1.4333,"name":"1_00043"},{"time":1.4667,"name":"1_00044"},{"time":1.5,"name":"1_00045"},{"time":1.5333,"name":"1_00046"},{"time":1.5667,"name":"1_00047"},{"time":1.6,"name":"1_00048"},{"time":1.6333,"name":"1_00049"},{"time":1.6667,"name":"1_00050"},{"time":1.7,"name":"1_00051"},{"time":1.7333,"name":"1_00052"},{"time":1.7667,"name":"1_00053"},{"time":1.8,"name":"1_00054"},{"time":1.8333,"name":"1_00055"},{"time":1.8667,"name":"1_00056"},{"time":1.9,"name":"1_00057"},{"time":1.9333,"name":"1_00058"},{"time":1.9667,"name":"1_00059"},{"time":2,"name":"1_00060"},{"time":2.0333,"name":"1_00061"},{"time":2.0667,"name":"1_00062"},{"time":2.1,"name":"1_00063"},{"time":2.1333,"name":"1_00064"},{"time":2.1667,"name":"1_00065"},{"time":2.2,"name":"1_00066"},{"time":2.2333,"name":"1_00067"},{"time":2.2667,"name":"1_00068"},{"time":2.3,"name":"1_00069"},{"time":2.3333,"name":"1_00070"},{"time":2.3667,"name":"1_00071"},{"time":2.4,"name":"1_00072"},{"time":2.4333,"name":"1_00073"},{"time":2.4667,"name":"1_00074"},{"time":2.5,"name":"1_00075"},{"time":2.5333,"name":"1_00076"},{"time":2.5667,"name":"1_00077"},{"time":2.6,"name":"1_00078"},{"time":2.6333,"name":"1_00079"},{"time":2.6667,"name":"1_00080"},{"time":2.7,"name":"1_00081"},{"time":2.7333,"name":"1_00082"},{"time":2.7667,"name":"1_00083"},{"time":2.8,"name":"1_00084"},{"time":2.8333,"name":"1_00085"},{"time":2.8667,"name":"1_00086"},{"time":2.9,"name":"1_00087"},{"time":2.9333,"name":"1_00088"},{"time":2.9667,"name":"1_00089"},{"time":3,"name":"1_00090"},{"time":3.0333,"name":"1_00091"},{"time":3.0667,"name":"1_00092"},{"time":3.1,"name":"1_00093"}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/hippo/skeleton.webp b/nginx/minesweeper/assets/spine/hippo/skeleton.webp new file mode 100644 index 0000000..ce2e163 Binary files /dev/null and b/nginx/minesweeper/assets/spine/hippo/skeleton.webp differ diff --git a/nginx/minesweeper/assets/spine/knife/skeleton.atlas b/nginx/minesweeper/assets/spine/knife/skeleton.atlas new file mode 100644 index 0000000..f15a376 --- /dev/null +++ b/nginx/minesweeper/assets/spine/knife/skeleton.atlas @@ -0,0 +1,145 @@ +skeleton.webp +size: 2030,476 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00000 + rotate: false + xy: 1220, 326 + size: 262, 148 + orig: 270, 210 + offset: 4, 31 + index: -1 +1_00001 + rotate: false + xy: 1484, 326 + size: 262, 148 + orig: 270, 210 + offset: 4, 31 + index: -1 +1_00002 + rotate: false + xy: 1484, 326 + size: 262, 148 + orig: 270, 210 + offset: 4, 31 + index: -1 +1_00003 + rotate: false + xy: 981, 98 + size: 262, 146 + orig: 270, 210 + offset: 4, 31 + index: -1 +1_00004 + rotate: false + xy: 1245, 178 + size: 261, 146 + orig: 270, 210 + offset: 5, 31 + index: -1 +1_00005 + rotate: false + xy: 1245, 178 + size: 261, 146 + orig: 270, 210 + offset: 5, 31 + index: -1 +1_00006 + rotate: false + xy: 1245, 34 + size: 262, 142 + orig: 270, 210 + offset: 4, 31 + index: -1 +1_00007 + rotate: false + xy: 1748, 326 + size: 262, 148 + orig: 270, 210 + offset: 4, 31 + index: -1 +1_00008 + rotate: false + xy: 1748, 326 + size: 262, 148 + orig: 270, 210 + offset: 4, 31 + index: -1 +1_00009 + rotate: false + xy: 718, 69 + size: 261, 147 + orig: 270, 210 + offset: 5, 32 + index: -1 +1_00010 + rotate: true + xy: 1905, 62 + size: 262, 123 + orig: 270, 210 + offset: 4, 35 + index: -1 +1_00011 + rotate: true + xy: 1905, 62 + size: 262, 123 + orig: 270, 210 + offset: 4, 35 + index: -1 +1_00012 + rotate: false + xy: 1509, 36 + size: 262, 141 + orig: 270, 210 + offset: 4, 38 + index: -1 +1_00013 + rotate: true + xy: 1773, 62 + size: 262, 130 + orig: 270, 210 + offset: 4, 49 + index: -1 +1_00014 + rotate: true + xy: 1773, 62 + size: 262, 130 + orig: 270, 210 + offset: 4, 49 + index: -1 +1_00015 + rotate: false + xy: 1508, 179 + size: 262, 145 + orig: 270, 210 + offset: 4, 31 + index: -1 +4 + rotate: false + xy: 2, 2 + size: 714, 472 + orig: 715, 474 + offset: 1, 0 + index: -1 +G_P002 + rotate: false + xy: 718, 218 + size: 256, 256 + orig: 256, 256 + offset: 0, 0 + index: -1 +blood-003 + rotate: false + xy: 976, 246 + size: 242, 228 + orig: 256, 256 + offset: 9, 16 + index: -1 +line-008 + rotate: false + xy: 718, 4 + size: 25, 63 + orig: 25, 64 + offset: 0, 1 + index: -1 diff --git a/nginx/minesweeper/assets/spine/knife/skeleton.json b/nginx/minesweeper/assets/spine/knife/skeleton.json new file mode 100644 index 0000000..4f6834a --- /dev/null +++ b/nginx/minesweeper/assets/spine/knife/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"S9ivBZKblP9amXw+uGbdv0/WV9E=","spine":"3.8","x":-135,"y":-105,"width":270,"height":210,"images":"./images/","audio":"E:/CJ_Animation_Learn/Spine_yuanfiles/DS/YiLiaoBao"},"bones":[{"name":"root"},{"name":"骨骼3","parent":"root","scaleX":1.2908,"scaleY":1.2908},{"name":"line-008","parent":"骨骼3","rotation":-63.09},{"name":"骨骼","parent":"骨骼3","rotation":-99.69,"x":9.67,"y":50.78,"scaleX":1.6828,"scaleY":1.5528},{"name":"line-8","parent":"骨骼"},{"name":"骨骼2","parent":"骨骼3","rotation":-156.47,"x":-47.93,"y":39.63,"scaleX":2.1206,"scaleY":1.9567},{"name":"line-9","parent":"骨骼2"},{"name":"G_P002","parent":"骨骼3"},{"name":"G_P2","parent":"骨骼3"},{"name":"G_P3","parent":"骨骼3"},{"name":"骨骼6","parent":"root","rotation":148.17,"x":68.03,"y":-102.4,"scaleX":-1,"scaleY":-1},{"name":"4","parent":"骨骼6","scaleX":1.4267,"scaleY":1.4267},{"name":"blood-003","parent":"root","x":-29.39,"y":50.96},{"name":"骨骼4","parent":"root","rotation":-33.74,"x":-102.03,"y":116.3,"scaleX":1.2456,"scaleY":1.2456},{"name":"blood-3","parent":"骨骼4"},{"name":"骨骼5","parent":"root","rotation":-69.78,"x":78.73,"y":19.92,"scaleX":1.2456,"scaleY":1.2456},{"name":"blood-4","parent":"骨骼5"},{"name":"5","parent":"骨骼6","rotation":65.16,"x":-298.7,"y":-78.57,"scaleX":1.4267,"scaleY":1.4267},{"name":"6","parent":"5","length":318.83,"rotation":-32.21,"x":0.79,"y":1.88,"scaleY":0.3699},{"name":"xian","parent":"root"}],"slots":[{"name":"4","bone":"4"},{"name":"5","bone":"6"},{"name":"G_P002","bone":"G_P002","blend":"additive"},{"name":"G_P2","bone":"G_P2","blend":"additive"},{"name":"G_P3","bone":"G_P3","blend":"additive"},{"name":"line-008","bone":"line-008"},{"name":"line-8","bone":"line-8"},{"name":"line-9","bone":"line-9"},{"name":"blood-003","bone":"blood-003"},{"name":"blood-3","bone":"blood-3"},{"name":"blood-4","bone":"blood-4"},{"name":"xian","bone":"xian","attachment":"1_00015"}],"skins":[{"name":"default","attachments":{"blood-003":{"blood-003":{"scaleX":2.8146,"scaleY":2.8146,"width":256,"height":256}},"G_P002":{"G_P002":{"width":256,"height":256}},"G_P3":{"G_P002":{"width":256,"height":256}},"xian":{"1_00000":{"width":270,"height":210},"1_00001":{"width":270,"height":210},"1_00002":{"width":270,"height":210},"1_00003":{"width":270,"height":210},"1_00004":{"width":270,"height":210},"1_00005":{"width":270,"height":210},"1_00006":{"width":270,"height":210},"1_00007":{"width":270,"height":210},"1_00008":{"width":270,"height":210},"1_00009":{"width":270,"height":210},"1_00010":{"width":270,"height":210},"1_00011":{"width":270,"height":210},"1_00012":{"width":270,"height":210},"1_00013":{"width":270,"height":210},"1_00014":{"width":270,"height":210},"1_00015":{"width":270,"height":210}},"line-008":{"line-008":{"x":0.5,"scaleX":1.572,"scaleY":6.1052,"width":25,"height":64}},"line-9":{"line-008":{"x":0.5,"scaleX":1.572,"scaleY":6.1052,"width":25,"height":64}},"blood-4":{"blood-003":{"scaleX":2.8146,"scaleY":2.8146,"width":256,"height":256}},"line-8":{"line-008":{"x":0.5,"scaleX":1.572,"scaleY":6.1052,"width":25,"height":64}},"G_P2":{"G_P002":{"width":256,"height":256}},"blood-3":{"blood-003":{"scaleX":2.8146,"scaleY":2.8146,"width":256,"height":256}},"4":{"4":{"type":"mesh","uvs":[0.12524,0.00619,0.17827,0.06371,0.18388,0.1059,0.2571,0.18982,0.2796,0.20212,0.43233,0.35417,0.45862,0.36282,0.62344,0.34914,0.60791,0.36009,0.69499,0.51091,0.69786,0.51125,0.91742,0.81973,0.93659,0.85325,0.99629,0.98125,1,0.99727,1,1,0.97472,1,0.90385,0.94651,0.88454,0.94097,0.79172,0.8976,0.78173,0.87869,0.64945,0.82037,0.44027,0.72487,0.42339,0.60446,0.40979,0.59299,0.39577,0.5323,0.37448,0.50975,0.27498,0.40487,0.27047,0.40277,0.16112,0.30093,0.13992,0.28346,0.05995,0.28054,0.00258,0.19382,0.00278,0.10174,0.02116,0.05362,0.06273,0.00625],"triangles":[2,31,34,33,34,31,32,33,31,35,0,34,2,0,1,29,30,2,34,0,2,30,31,2,3,29,2,8,6,7,28,3,4,27,28,4,29,3,28,5,27,4,26,27,5,25,26,5,6,25,5,23,24,25,6,23,25,9,22,23,8,23,6,23,8,9,21,22,9,20,10,11,21,9,10,20,21,10,19,20,11,18,19,11,18,11,12,17,18,12,16,17,12,13,16,12,16,13,14,16,14,15],"vertices":[-240.37,182.26,-224.22,170.65,-222.52,162.14,-200.22,145.2,-193.37,142.72,-146.88,112.03,-138.88,110.29,-88.7,113.05,-93.43,110.84,-66.92,80.4,-66.05,80.33,0.79,18.08,6.63,11.31,24.8,-14.52,25.93,-17.75,25.93,-18.3,18.23,-18.3,-3.34,-7.51,-9.22,-6.39,-37.48,2.36,-40.52,6.18,-80.79,17.95,-144.46,37.22,-149.6,61.52,-153.74,63.84,-158.01,76.08,-164.49,80.63,-194.78,101.8,-196.16,102.22,-229.44,122.78,-235.9,126.3,-260.24,126.89,-277.71,144.39,-277.65,162.98,-272.05,172.69,-259.4,182.25],"hull":36,"edges":[0,70,0,2,2,4,4,6,6,8,8,10,10,12,12,14,14,16,16,18,18,20,20,22,22,24,24,26,26,28,28,30,30,32,32,34,34,36,36,38,38,40,40,42,42,44,44,46,46,48,48,50,50,52,52,54,54,56,56,58,58,60,60,62,62,64,64,66,66,68,68,70],"width":715,"height":474}},"5":{"4":{"type":"mesh","uvs":[0.12524,0.00619,0.17827,0.06371,0.18388,0.1059,0.2571,0.18982,0.2796,0.20212,0.43233,0.35417,0.45862,0.36282,0.62344,0.34914,0.60791,0.36009,0.69499,0.51091,0.69786,0.51125,0.91742,0.81973,0.93659,0.85325,0.99629,0.98125,1,0.99727,1,1,0.97472,1,0.90385,0.94651,0.88454,0.94097,0.79172,0.8976,0.78173,0.87869,0.64945,0.82037,0.44027,0.72487,0.42339,0.60446,0.40979,0.59299,0.39577,0.5323,0.37448,0.50975,0.27498,0.40487,0.27047,0.40277,0.16112,0.30093,0.13992,0.28346,0.09992,0.282,0.05995,0.28054,0.00258,0.19382,0.00278,0.10174,0.02116,0.05362,0.06273,0.00625,0.43123,0.43669,0.15631,0.21036,0.1716,0.16783],"triangles":[8,37,6,37,23,25,25,26,37,37,26,5,37,5,6,5,26,27,5,27,4,29,3,28,27,28,4,28,3,4,30,38,29,3,38,39,3,29,38,30,31,38,39,38,35,39,2,3,1,2,39,16,14,15,16,13,14,16,17,13,13,11,12,11,13,10,17,20,13,20,17,18,19,20,18,13,37,9,20,37,13,10,13,9,21,37,20,9,37,8,23,21,22,37,21,23,23,24,25,8,6,7,31,32,38,39,35,36,32,33,38,38,33,34,35,38,34,39,36,0,1,39,0],"vertices":[1,18,-1.71,36.79,1,2,18,18.14,35.57,0.99163,17,31.72,16.92,0.00837,1,17,33.42,8.41,1,1,17,55.72,-8.53,1,1,17,62.57,-11.01,1,1,17,109.06,-41.7,1,1,17,114.84,-46.96,1,1,18,141.27,46.74,1,1,18,160.68,44.6,1,1,18,199.34,32.98,1,1,18,200.11,33.38,1,1,18,289.85,16.35,1,1,18,298.4,13.73,1,1,18,327.54,1.57,1,1,18,330.22,-0.56,1,1,18,330.51,-1.03,1,1,18,324,-5.13,1,1,18,299.99,-7.5,1,1,18,294.42,-9.69,1,1,18,265.85,-17.35,1,1,18,261.24,-15.74,1,1,18,220.89,-27.25,1,1,18,156.75,-44.89,1,1,18,139.45,-27.07,1,1,18,134.71,-27.31,1,1,17,97.93,-77.65,1,1,17,91.45,-73.1,1,1,17,61.16,-51.93,1,1,17,59.78,-51.51,1,1,17,26.5,-30.95,1,1,17,20.04,-27.43,1,2,18,21.44,-16.1,0.50022,17,11.45,-21.43,0.49978,1,18,11,-17.26,1,1,18,-13.11,-11.77,1,1,18,-22.97,3.99,1,1,18,-23.41,11.8,1,1,18,-17.81,26.63,1,1,17,106.73,-61.51,1,2,18,28.26,11.14,0.02113,17,26.24,-10.74,0.97887,2,18,27.62,8.81,0.0118,17,27.42,-7.67,0.9882],"hull":37,"edges":[0,72,0,2,2,4,4,6,6,8,8,10,10,12,12,14,14,16,16,18,18,20,20,22,22,24,24,26,26,28,28,30,30,32,32,34,34,36,36,38,38,40,40,42,42,44,44,46,46,48,48,50,50,52,52,54,54,56,56,58,58,60,64,66,66,68,68,70,70,72,12,74,74,50,74,26,60,62,62,64,62,76,76,78,78,2],"width":715,"height":474}}}}],"animations":{"animation":{"slots":{"G_P002":{"color":[{"time":1.2667,"color":"ffffffff"},{"time":1.3333,"color":"ffffff00"}],"attachment":[{"name":"G_P002"}]},"blood-3":{"color":[{"time":1.7333,"color":"ffffffff"},{"time":1.9,"color":"ffffff00"}],"attachment":[{"name":"blood-003"}]},"blood-003":{"color":[{"time":1.6333,"color":"ffffffff"},{"time":1.8,"color":"ffffff00"}],"attachment":[{"name":"blood-003"}]},"xian":{"color":[{"color":"ffffff00"},{"time":0.1667,"color":"ffffffff","curve":"stepped"},{"time":1,"color":"ffffffff"},{"time":1.1667,"color":"ffffff00"}],"attachment":[{"name":"1_00000"},{"time":0.0333,"name":"1_00001"},{"time":0.0667,"name":"1_00002"},{"time":0.1,"name":"1_00003"},{"time":0.1333,"name":"1_00004"},{"time":0.1667,"name":"1_00005"},{"time":0.2,"name":"1_00006"},{"time":0.2333,"name":"1_00007"},{"time":0.2667,"name":"1_00008"},{"time":0.3,"name":"1_00009"},{"time":0.3333,"name":"1_00010"},{"time":0.3667,"name":"1_00011"},{"time":0.4,"name":"1_00012"},{"time":0.4333,"name":"1_00013"},{"time":0.4667,"name":"1_00014"},{"time":0.5,"name":"1_00015"},{"time":0.5333,"name":"1_00000"},{"time":0.5667,"name":"1_00001"},{"time":0.6,"name":"1_00002"},{"time":0.6333,"name":"1_00003"},{"time":0.6667,"name":"1_00004"},{"time":0.7,"name":"1_00005"},{"time":0.7333,"name":"1_00006"},{"time":0.7667,"name":"1_00007"},{"time":0.8,"name":"1_00008"},{"time":0.8333,"name":"1_00009"},{"time":0.8667,"name":"1_00010"},{"time":0.9,"name":"1_00011"},{"time":0.9333,"name":"1_00012"},{"time":0.9667,"name":"1_00013"},{"time":1,"name":"1_00014"},{"time":1.0333,"name":"1_00015"},{"time":1.0667,"name":"1_00000"},{"time":1.1,"name":"1_00001"},{"time":1.1333,"name":"1_00002"},{"time":1.1667,"name":"1_00003"}]},"line-8":{"color":[{"time":1.4333,"color":"ffffffff"},{"time":1.5,"color":"ffffff00"}],"attachment":[{"name":"line-008"}]},"blood-4":{"color":[{"time":1.8333,"color":"ffffffff"},{"time":1.9667,"color":"ffffff00"}],"attachment":[{"name":"blood-003"}]},"G_P2":{"color":[{"time":1.3667,"color":"ffffffff"},{"time":1.4333,"color":"ffffff00"}],"attachment":[{"name":"G_P002"}]},"5":{"color":[{"color":"ffffff00"},{"time":0.1667,"color":"ffffffff","curve":"stepped"},{"time":1,"color":"ffffffff"},{"time":1.1667,"color":"ffffff00"}],"attachment":[{"name":"4"}]},"line-9":{"color":[{"time":1.5333,"color":"ffffffff"},{"time":1.6,"color":"ffffff00"}],"attachment":[{"name":"line-008"}]},"4":{"color":[{"color":"ffffff00"}]},"G_P3":{"color":[{"time":1.4667,"color":"ffffffff"},{"time":1.5333,"color":"ffffff00"}],"attachment":[{"name":"G_P002"}]},"line-008":{"color":[{"time":1.3333,"color":"ffffffff"},{"time":1.4,"color":"ffffff00"}],"attachment":[{"name":"line-008"}]}},"bones":{"G_P2":{"scale":[{"x":0,"y":0,"curve":"stepped"},{"time":1.3333,"x":0,"y":0,"curve":0,"c2":0.72,"c3":0.75},{"time":1.4333,"x":2.648,"y":2.648}]},"line-9":{"scale":[{"y":0,"curve":"stepped"},{"time":1.4333,"y":0,"curve":0,"c2":1,"c3":0.75},{"time":1.5,"curve":"stepped"},{"time":1.5333,"curve":0.834,"c2":0.01,"c4":0.53},{"time":1.6,"y":0.948}]},"G_P3":{"scale":[{"x":0,"y":0,"curve":"stepped"},{"time":1.4333,"x":0,"y":0,"curve":0,"c2":0.72,"c3":0.75},{"time":1.5333,"x":2.648,"y":2.648}]},"G_P002":{"scale":[{"x":0,"y":0,"curve":"stepped"},{"time":1.2333,"x":0,"y":0,"curve":0,"c2":0.72,"c3":0.75},{"time":1.3333,"x":2.648,"y":2.648}]},"line-8":{"scale":[{"y":0,"curve":"stepped"},{"time":1.3333,"y":0,"curve":0,"c2":1,"c3":0.75},{"time":1.4,"curve":"stepped"},{"time":1.4333,"curve":0.834,"c2":0.01,"c4":0.53},{"time":1.5,"y":0.948}]},"4":{"translate":[{"x":148.18,"y":211.68}]},"line-008":{"scale":[{"y":0,"curve":"stepped"},{"time":1.2333,"y":0,"curve":0,"c2":1,"c3":0.75},{"time":1.3,"y":1.481},{"time":1.3333,"curve":0.834,"c2":0.01,"c4":0.53},{"time":1.4,"y":0.948}]},"blood-3":{"scale":[{"x":0,"y":0,"curve":"stepped"},{"time":1.5667,"x":0,"y":0,"curve":0,"c2":0.6,"c3":0.75},{"time":1.6667}]},"blood-003":{"scale":[{"x":0,"y":0,"curve":"stepped"},{"time":1.5,"x":0,"y":0,"curve":0,"c2":0.6,"c3":0.75},{"time":1.6}]},"blood-4":{"scale":[{"x":0,"y":0,"curve":"stepped"},{"time":1.6667,"x":0,"y":0,"curve":0,"c2":0.6,"c3":0.75},{"time":1.7667}]},"xian":{"scale":[{"x":4.085,"y":4.085}]},"5":{"translate":[{"x":-2.24,"y":3.61},{"time":0.0667,"x":1.12,"y":-1.81},{"time":0.1333,"x":-2.24,"y":3.61},{"time":0.2,"x":1.12,"y":-1.81},{"time":0.2667,"x":-2.24,"y":3.61},{"time":0.3333,"x":1.12,"y":-1.81},{"time":0.4,"x":-2.24,"y":3.61},{"time":0.4667,"x":1.12,"y":-1.81},{"time":0.5333,"x":-2.24,"y":3.61},{"time":0.6,"x":1.12,"y":-1.81},{"time":0.6667,"x":-2.24,"y":3.61},{"time":0.7333,"x":1.12,"y":-1.81},{"time":0.8,"x":-2.24,"y":3.61},{"time":0.8667,"x":1.12,"y":-1.81},{"time":0.9333,"x":-2.24,"y":3.61},{"time":1,"x":1.12,"y":-1.81},{"time":1.0667,"x":-2.24,"y":3.61},{"time":1.1333,"x":1.12,"y":-1.81},{"time":1.2,"x":-2.24,"y":3.61}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/knife/skeleton.webp b/nginx/minesweeper/assets/spine/knife/skeleton.webp new file mode 100644 index 0000000..6e79a66 Binary files /dev/null and b/nginx/minesweeper/assets/spine/knife/skeleton.webp differ diff --git a/nginx/minesweeper/assets/spine/magnifier/skeleton.atlas b/nginx/minesweeper/assets/spine/magnifier/skeleton.atlas new file mode 100644 index 0000000..c2c14ed --- /dev/null +++ b/nginx/minesweeper/assets/spine/magnifier/skeleton.atlas @@ -0,0 +1,635 @@ +skeleton.webp +size: 364,522 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00000 + rotate: false + xy: 2, 519 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00001 + rotate: true + xy: 5, 475 + size: 45, 48 + orig: 110, 120 + offset: 52, 26 + index: -1 +1_00002 + rotate: true + xy: 55, 475 + size: 45, 48 + orig: 110, 120 + offset: 54, 28 + index: -1 +1_00003 + rotate: true + xy: 105, 475 + size: 45, 48 + orig: 110, 120 + offset: 56, 30 + index: -1 +1_00004 + rotate: true + xy: 252, 98 + size: 46, 49 + orig: 110, 120 + offset: 57, 32 + index: -1 +1_00005 + rotate: true + xy: 155, 475 + size: 45, 48 + orig: 110, 120 + offset: 59, 35 + index: -1 +1_00006 + rotate: true + xy: 205, 475 + size: 45, 48 + orig: 110, 120 + offset: 59, 38 + index: -1 +1_00007 + rotate: true + xy: 303, 98 + size: 46, 48 + orig: 110, 120 + offset: 59, 41 + index: -1 +1_00008 + rotate: true + xy: 255, 475 + size: 45, 48 + orig: 110, 120 + offset: 59, 44 + index: -1 +1_00009 + rotate: true + xy: 2, 51 + size: 46, 49 + orig: 110, 120 + offset: 58, 46 + index: -1 +1_00010 + rotate: true + xy: 53, 51 + size: 46, 49 + orig: 110, 120 + offset: 57, 49 + index: -1 +1_00011 + rotate: true + xy: 305, 475 + size: 45, 48 + orig: 110, 120 + offset: 56, 52 + index: -1 +1_00012 + rotate: true + xy: 2, 428 + size: 45, 48 + orig: 110, 120 + offset: 54, 54 + index: -1 +1_00013 + rotate: true + xy: 104, 51 + size: 46, 49 + orig: 110, 120 + offset: 52, 56 + index: -1 +1_00014 + rotate: true + xy: 52, 428 + size: 45, 49 + orig: 110, 120 + offset: 50, 58 + index: -1 +1_00015 + rotate: true + xy: 103, 428 + size: 45, 48 + orig: 110, 120 + offset: 48, 60 + index: -1 +1_00016 + rotate: true + xy: 153, 428 + size: 45, 48 + orig: 110, 120 + offset: 46, 62 + index: -1 +1_00017 + rotate: true + xy: 155, 51 + size: 46, 48 + orig: 110, 120 + offset: 42, 63 + index: -1 +1_00018 + rotate: true + xy: 203, 428 + size: 45, 49 + orig: 110, 120 + offset: 39, 63 + index: -1 +1_00019 + rotate: true + xy: 205, 50 + size: 46, 48 + orig: 110, 120 + offset: 35, 64 + index: -1 +1_00020 + rotate: true + xy: 254, 428 + size: 45, 49 + orig: 110, 120 + offset: 32, 64 + index: -1 +1_00021 + rotate: true + xy: 255, 50 + size: 46, 49 + orig: 110, 120 + offset: 28, 64 + index: -1 +1_00022 + rotate: true + xy: 305, 428 + size: 45, 48 + orig: 110, 120 + offset: 25, 64 + index: -1 +1_00023 + rotate: true + xy: 306, 50 + size: 46, 49 + orig: 110, 120 + offset: 21, 63 + index: -1 +1_00024 + rotate: true + xy: 2, 381 + size: 45, 48 + orig: 110, 120 + offset: 18, 63 + index: -1 +1_00025 + rotate: true + xy: 52, 381 + size: 45, 49 + orig: 110, 120 + offset: 15, 61 + index: -1 +1_00026 + rotate: true + xy: 103, 381 + size: 45, 48 + orig: 110, 120 + offset: 12, 59 + index: -1 +1_00027 + rotate: true + xy: 153, 381 + size: 45, 49 + orig: 110, 120 + offset: 10, 56 + index: -1 +1_00028 + rotate: true + xy: 2, 3 + size: 46, 48 + orig: 110, 120 + offset: 8, 53 + index: -1 +1_00029 + rotate: true + xy: 204, 381 + size: 45, 48 + orig: 110, 120 + offset: 8, 51 + index: -1 +1_00030 + rotate: true + xy: 254, 381 + size: 45, 49 + orig: 110, 120 + offset: 8, 48 + index: -1 +1_00031 + rotate: true + xy: 305, 381 + size: 45, 48 + orig: 110, 120 + offset: 8, 46 + index: -1 +1_00032 + rotate: true + xy: 2, 334 + size: 45, 49 + orig: 110, 120 + offset: 8, 43 + index: -1 +1_00033 + rotate: true + xy: 53, 334 + size: 45, 49 + orig: 110, 120 + offset: 9, 41 + index: -1 +1_00034 + rotate: true + xy: 52, 3 + size: 46, 49 + orig: 110, 120 + offset: 10, 39 + index: -1 +1_00035 + rotate: true + xy: 103, 3 + size: 46, 48 + orig: 110, 120 + offset: 12, 38 + index: -1 +1_00036 + rotate: true + xy: 153, 3 + size: 46, 48 + orig: 110, 120 + offset: 14, 37 + index: -1 +1_00037 + rotate: true + xy: 104, 334 + size: 45, 49 + orig: 110, 120 + offset: 17, 36 + index: -1 +1_00038 + rotate: true + xy: 155, 334 + size: 45, 48 + orig: 110, 120 + offset: 19, 36 + index: -1 +1_00039 + rotate: true + xy: 203, 2 + size: 46, 48 + orig: 110, 120 + offset: 21, 36 + index: -1 +1_00040 + rotate: true + xy: 205, 334 + size: 45, 49 + orig: 110, 120 + offset: 24, 36 + index: -1 +1_00041 + rotate: true + xy: 256, 334 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00042 + rotate: true + xy: 256, 334 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00043 + rotate: true + xy: 256, 334 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00044 + rotate: true + xy: 256, 334 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00045 + rotate: true + xy: 256, 334 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00046 + rotate: true + xy: 256, 334 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00047 + rotate: true + xy: 256, 334 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00048 + rotate: true + xy: 256, 334 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00074 + rotate: true + xy: 256, 334 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00075 + rotate: true + xy: 256, 334 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00076 + rotate: true + xy: 256, 334 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00077 + rotate: true + xy: 256, 334 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00078 + rotate: true + xy: 256, 334 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00079 + rotate: true + xy: 256, 334 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00080 + rotate: true + xy: 256, 334 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00081 + rotate: true + xy: 256, 334 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00049 + rotate: true + xy: 306, 334 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00050 + rotate: true + xy: 2, 287 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00051 + rotate: true + xy: 52, 287 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00052 + rotate: true + xy: 102, 287 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00053 + rotate: true + xy: 152, 287 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00054 + rotate: true + xy: 202, 287 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00055 + rotate: true + xy: 252, 287 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00056 + rotate: true + xy: 302, 287 + size: 45, 49 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00057 + rotate: true + xy: 2, 240 + size: 45, 51 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00058 + rotate: true + xy: 55, 240 + size: 45, 53 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00059 + rotate: true + xy: 110, 240 + size: 45, 55 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00060 + rotate: true + xy: 167, 240 + size: 45, 58 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00061 + rotate: true + xy: 227, 240 + size: 45, 60 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00062 + rotate: true + xy: 289, 240 + size: 45, 61 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00063 + rotate: true + xy: 2, 193 + size: 45, 62 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00064 + rotate: true + xy: 253, 2 + size: 46, 63 + orig: 110, 120 + offset: 25, 37 + index: -1 +1_00065 + rotate: true + xy: 66, 193 + size: 45, 62 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00066 + rotate: true + xy: 130, 193 + size: 45, 61 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00067 + rotate: true + xy: 193, 193 + size: 45, 59 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00068 + rotate: true + xy: 254, 193 + size: 45, 57 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00069 + rotate: true + xy: 2, 146 + size: 45, 54 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00070 + rotate: true + xy: 58, 146 + size: 45, 52 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00071 + rotate: true + xy: 112, 146 + size: 45, 50 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00072 + rotate: true + xy: 313, 193 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00073 + rotate: true + xy: 164, 146 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00082 + rotate: true + xy: 214, 146 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00083 + rotate: true + xy: 264, 146 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00084 + rotate: true + xy: 314, 146 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00085 + rotate: true + xy: 2, 99 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00086 + rotate: true + xy: 52, 99 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00087 + rotate: true + xy: 102, 99 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00088 + rotate: true + xy: 152, 99 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 +1_00089 + rotate: true + xy: 202, 99 + size: 45, 48 + orig: 110, 120 + offset: 26, 37 + index: -1 diff --git a/nginx/minesweeper/assets/spine/magnifier/skeleton.json b/nginx/minesweeper/assets/spine/magnifier/skeleton.json new file mode 100644 index 0000000..f433545 --- /dev/null +++ b/nginx/minesweeper/assets/spine/magnifier/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"3AVIFffMBtlXuk1HPnat01VU5l4=","spine":"3.8","x":-55,"y":-60,"width":110,"height":120,"images":"../放大镜/111111/","audio":""},"bones":[{"name":"root"}],"slots":[{"name":"1","bone":"root","attachment":"1_00089"}],"skins":[{"name":"default","attachments":{"1":{"1_00000":{"width":110,"height":120},"1_00001":{"width":110,"height":120},"1_00002":{"width":110,"height":120},"1_00003":{"width":110,"height":120},"1_00004":{"width":110,"height":120},"1_00005":{"width":110,"height":120},"1_00006":{"width":110,"height":120},"1_00007":{"width":110,"height":120},"1_00008":{"width":110,"height":120},"1_00009":{"width":110,"height":120},"1_00010":{"width":110,"height":120},"1_00011":{"width":110,"height":120},"1_00012":{"width":110,"height":120},"1_00013":{"width":110,"height":120},"1_00014":{"width":110,"height":120},"1_00015":{"width":110,"height":120},"1_00016":{"width":110,"height":120},"1_00017":{"width":110,"height":120},"1_00018":{"width":110,"height":120},"1_00019":{"width":110,"height":120},"1_00020":{"width":110,"height":120},"1_00021":{"width":110,"height":120},"1_00022":{"width":110,"height":120},"1_00023":{"width":110,"height":120},"1_00024":{"width":110,"height":120},"1_00025":{"width":110,"height":120},"1_00026":{"width":110,"height":120},"1_00027":{"width":110,"height":120},"1_00028":{"width":110,"height":120},"1_00029":{"width":110,"height":120},"1_00030":{"width":110,"height":120},"1_00031":{"width":110,"height":120},"1_00032":{"width":110,"height":120},"1_00033":{"width":110,"height":120},"1_00034":{"width":110,"height":120},"1_00035":{"width":110,"height":120},"1_00036":{"width":110,"height":120},"1_00037":{"width":110,"height":120},"1_00038":{"width":110,"height":120},"1_00039":{"width":110,"height":120},"1_00040":{"width":110,"height":120},"1_00041":{"width":110,"height":120},"1_00042":{"width":110,"height":120},"1_00043":{"width":110,"height":120},"1_00044":{"width":110,"height":120},"1_00045":{"width":110,"height":120},"1_00046":{"width":110,"height":120},"1_00047":{"width":110,"height":120},"1_00048":{"width":110,"height":120},"1_00049":{"width":110,"height":120},"1_00050":{"width":110,"height":120},"1_00051":{"width":110,"height":120},"1_00052":{"width":110,"height":120},"1_00053":{"width":110,"height":120},"1_00054":{"width":110,"height":120},"1_00055":{"width":110,"height":120},"1_00056":{"width":110,"height":120},"1_00057":{"width":110,"height":120},"1_00058":{"width":110,"height":120},"1_00059":{"width":110,"height":120},"1_00060":{"width":110,"height":120},"1_00061":{"width":110,"height":120},"1_00062":{"width":110,"height":120},"1_00063":{"width":110,"height":120},"1_00064":{"width":110,"height":120},"1_00065":{"width":110,"height":120},"1_00066":{"width":110,"height":120},"1_00067":{"width":110,"height":120},"1_00068":{"width":110,"height":120},"1_00069":{"width":110,"height":120},"1_00070":{"width":110,"height":120},"1_00071":{"width":110,"height":120},"1_00072":{"width":110,"height":120},"1_00073":{"width":110,"height":120},"1_00074":{"width":110,"height":120},"1_00075":{"width":110,"height":120},"1_00076":{"width":110,"height":120},"1_00077":{"width":110,"height":120},"1_00078":{"width":110,"height":120},"1_00079":{"width":110,"height":120},"1_00080":{"width":110,"height":120},"1_00081":{"width":110,"height":120},"1_00082":{"width":110,"height":120},"1_00083":{"width":110,"height":120},"1_00084":{"width":110,"height":120},"1_00085":{"width":110,"height":120},"1_00086":{"width":110,"height":120},"1_00087":{"width":110,"height":120},"1_00088":{"width":110,"height":120},"1_00089":{"width":110,"height":120}}}}],"animations":{"animation":{"slots":{"1":{"attachment":[{"name":"1_00000"},{"time":0.0333,"name":"1_00001"},{"time":0.0667,"name":"1_00002"},{"time":0.1,"name":"1_00003"},{"time":0.1333,"name":"1_00004"},{"time":0.1667,"name":"1_00005"},{"time":0.2,"name":"1_00006"},{"time":0.2333,"name":"1_00007"},{"time":0.2667,"name":"1_00008"},{"time":0.3,"name":"1_00009"},{"time":0.3333,"name":"1_00010"},{"time":0.3667,"name":"1_00011"},{"time":0.4,"name":"1_00012"},{"time":0.4333,"name":"1_00013"},{"time":0.4667,"name":"1_00014"},{"time":0.5,"name":"1_00015"},{"time":0.5333,"name":"1_00016"},{"time":0.5667,"name":"1_00017"},{"time":0.6,"name":"1_00018"},{"time":0.6333,"name":"1_00019"},{"time":0.6667,"name":"1_00020"},{"time":0.7,"name":"1_00021"},{"time":0.7333,"name":"1_00022"},{"time":0.7667,"name":"1_00023"},{"time":0.8,"name":"1_00024"},{"time":0.8333,"name":"1_00025"},{"time":0.8667,"name":"1_00026"},{"time":0.9,"name":"1_00027"},{"time":0.9333,"name":"1_00028"},{"time":0.9667,"name":"1_00029"},{"time":1,"name":"1_00030"},{"time":1.0333,"name":"1_00031"},{"time":1.0667,"name":"1_00032"},{"time":1.1,"name":"1_00033"},{"time":1.1333,"name":"1_00034"},{"time":1.1667,"name":"1_00035"},{"time":1.2,"name":"1_00036"},{"time":1.2333,"name":"1_00037"},{"time":1.2667,"name":"1_00038"},{"time":1.3,"name":"1_00039"},{"time":1.3333,"name":"1_00040"},{"time":1.3667,"name":"1_00041"},{"time":1.4,"name":"1_00042"},{"time":1.4333,"name":"1_00043"},{"time":1.4667,"name":"1_00044"},{"time":1.5,"name":"1_00045"},{"time":1.5333,"name":"1_00046"},{"time":1.5667,"name":"1_00047"},{"time":1.6,"name":"1_00048"},{"time":1.6333,"name":"1_00049"},{"time":1.6667,"name":"1_00050"},{"time":1.7,"name":"1_00051"},{"time":1.7333,"name":"1_00052"},{"time":1.7667,"name":"1_00053"},{"time":1.8,"name":"1_00054"},{"time":1.8333,"name":"1_00055"},{"time":1.8667,"name":"1_00056"},{"time":1.9,"name":"1_00057"},{"time":1.9333,"name":"1_00058"},{"time":1.9667,"name":"1_00059"},{"time":2,"name":"1_00060"},{"time":2.0333,"name":"1_00061"},{"time":2.0667,"name":"1_00062"},{"time":2.1,"name":"1_00063"},{"time":2.1333,"name":"1_00064"},{"time":2.1667,"name":"1_00065"},{"time":2.2,"name":"1_00066"},{"time":2.2333,"name":"1_00067"},{"time":2.2667,"name":"1_00068"},{"time":2.3,"name":"1_00069"},{"time":2.3333,"name":"1_00070"},{"time":2.3667,"name":"1_00071"},{"time":2.4,"name":"1_00072"},{"time":2.4333,"name":"1_00073"},{"time":2.4667,"name":"1_00074"},{"time":2.5,"name":"1_00075"},{"time":2.5333,"name":"1_00076"},{"time":2.5667,"name":"1_00077"},{"time":2.6,"name":"1_00078"},{"time":2.6333,"name":"1_00079"},{"time":2.6667,"name":"1_00080"},{"time":2.7,"name":"1_00081"},{"time":2.7333,"name":"1_00082"},{"time":2.7667,"name":"1_00083"},{"time":2.8,"name":"1_00084"},{"time":2.8333,"name":"1_00085"},{"time":2.8667,"name":"1_00086"},{"time":2.9,"name":"1_00087"},{"time":2.9333,"name":"1_00088"},{"time":2.9667,"name":"1_00089"},{"time":3,"name":null}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/magnifier/skeleton.webp b/nginx/minesweeper/assets/spine/magnifier/skeleton.webp new file mode 100644 index 0000000..5fcf56d Binary files /dev/null and b/nginx/minesweeper/assets/spine/magnifier/skeleton.webp differ diff --git a/nginx/minesweeper/assets/spine/medikit/skeleton.atlas b/nginx/minesweeper/assets/spine/medikit/skeleton.atlas new file mode 100644 index 0000000..b2ff989 --- /dev/null +++ b/nginx/minesweeper/assets/spine/medikit/skeleton.atlas @@ -0,0 +1,432 @@ +skeleton.webp +size: 1998,1206 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00000 + rotate: false + xy: 353, 412 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00060 + rotate: false + xy: 353, 412 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00001 + rotate: true + xy: 351, 2 + size: 165, 190 + orig: 240, 330 + offset: 26, 17 + index: -1 +1_00002 + rotate: true + xy: 772, 11 + size: 167, 218 + orig: 240, 330 + offset: 25, 9 + index: -1 +1_00003 + rotate: true + xy: 543, 5 + size: 168, 227 + orig: 240, 330 + offset: 24, 9 + index: -1 +1_00004 + rotate: false + xy: 854, 183 + size: 168, 233 + orig: 240, 330 + offset: 24, 8 + index: -1 +1_00005 + rotate: false + xy: 683, 180 + size: 169, 236 + orig: 240, 330 + offset: 23, 8 + index: -1 +1_00006 + rotate: false + xy: 351, 169 + size: 169, 241 + orig: 240, 330 + offset: 23, 8 + index: -1 +1_00007 + rotate: false + xy: 1567, 454 + size: 169, 242 + orig: 240, 330 + offset: 23, 8 + index: -1 +1_00008 + rotate: false + xy: 1395, 438 + size: 170, 248 + orig: 240, 330 + offset: 23, 8 + index: -1 +1_00009 + rotate: false + xy: 1223, 437 + size: 170, 249 + orig: 240, 330 + offset: 23, 8 + index: -1 +1_00010 + rotate: false + xy: 1051, 435 + size: 170, 251 + orig: 240, 330 + offset: 23, 8 + index: -1 +1_00011 + rotate: true + xy: 1307, 688 + size: 170, 253 + orig: 240, 330 + offset: 23, 8 + index: -1 +1_00012 + rotate: true + xy: 1050, 688 + size: 170, 255 + orig: 240, 330 + offset: 23, 8 + index: -1 +1_00013 + rotate: false + xy: 703, 418 + size: 170, 259 + orig: 240, 330 + offset: 23, 9 + index: -1 +1_00014 + rotate: false + xy: 353, 678 + size: 170, 261 + orig: 240, 330 + offset: 23, 9 + index: -1 +1_00015 + rotate: true + xy: 1324, 1034 + size: 170, 262 + orig: 240, 330 + offset: 23, 9 + index: -1 +1_00016 + rotate: true + xy: 1058, 1034 + size: 170, 264 + orig: 240, 330 + offset: 23, 9 + index: -1 +1_00017 + rotate: false + xy: 353, 415 + size: 171, 261 + orig: 240, 330 + offset: 23, 9 + index: -1 +1_00018 + rotate: false + xy: 525, 679 + size: 172, 261 + orig: 240, 330 + offset: 22, 11 + index: -1 +1_00019 + rotate: false + xy: 699, 679 + size: 172, 261 + orig: 240, 330 + offset: 22, 12 + index: -1 +1_00020 + rotate: true + xy: 1588, 1032 + size: 172, 262 + orig: 240, 330 + offset: 22, 13 + index: -1 +1_00021 + rotate: true + xy: 1058, 860 + size: 172, 262 + orig: 240, 330 + offset: 22, 15 + index: -1 +1_00022 + rotate: true + xy: 1322, 860 + size: 172, 262 + orig: 240, 330 + offset: 22, 16 + index: -1 +1_00023 + rotate: true + xy: 1586, 858 + size: 172, 262 + orig: 240, 330 + offset: 22, 18 + index: -1 +1_00024 + rotate: false + xy: 177, 147 + size: 172, 262 + orig: 240, 330 + offset: 22, 19 + index: -1 +1_00025 + rotate: false + xy: 2, 147 + size: 173, 262 + orig: 240, 330 + offset: 22, 21 + index: -1 +1_00026 + rotate: false + xy: 178, 412 + size: 173, 262 + orig: 240, 330 + offset: 22, 22 + index: -1 +1_00027 + rotate: false + xy: 531, 942 + size: 173, 262 + orig: 240, 330 + offset: 22, 23 + index: -1 +1_00028 + rotate: false + xy: 178, 676 + size: 173, 263 + orig: 240, 330 + offset: 22, 24 + index: -1 +1_00029 + rotate: false + xy: 706, 942 + size: 173, 262 + orig: 240, 330 + offset: 22, 26 + index: -1 +1_00030 + rotate: false + xy: 2, 676 + size: 174, 263 + orig: 240, 330 + offset: 22, 27 + index: -1 +1_00031 + rotate: false + xy: 355, 942 + size: 174, 262 + orig: 240, 330 + offset: 22, 29 + index: -1 +1_00032 + rotate: false + xy: 179, 941 + size: 174, 263 + orig: 240, 330 + offset: 22, 30 + index: -1 +1_00033 + rotate: false + xy: 2, 411 + size: 174, 263 + orig: 240, 330 + offset: 22, 31 + index: -1 +1_00034 + rotate: false + xy: 2, 941 + size: 175, 263 + orig: 240, 330 + offset: 22, 33 + index: -1 +1_00035 + rotate: false + xy: 881, 944 + size: 175, 260 + orig: 240, 330 + offset: 22, 38 + index: -1 +1_00036 + rotate: false + xy: 526, 419 + size: 175, 258 + orig: 240, 330 + offset: 22, 41 + index: -1 +1_00037 + rotate: false + xy: 873, 684 + size: 175, 256 + orig: 240, 330 + offset: 22, 45 + index: -1 +1_00038 + rotate: false + xy: 875, 429 + size: 174, 253 + orig: 240, 330 + offset: 23, 49 + index: -1 +1_00039 + rotate: true + xy: 1562, 698 + size: 158, 251 + orig: 240, 330 + offset: 40, 53 + index: -1 +1_00040 + rotate: false + xy: 1738, 450 + size: 159, 246 + orig: 240, 330 + offset: 39, 59 + index: -1 +1_00041 + rotate: false + xy: 522, 175 + size: 159, 238 + orig: 240, 330 + offset: 39, 69 + index: -1 +1_00042 + rotate: false + xy: 1024, 205 + size: 159, 222 + orig: 240, 330 + offset: 39, 87 + index: -1 +1_00043 + rotate: false + xy: 1185, 2 + size: 160, 213 + orig: 240, 330 + offset: 39, 97 + index: -1 +1_00044 + rotate: false + xy: 1671, 235 + size: 160, 213 + orig: 240, 330 + offset: 39, 99 + index: -1 +1_00045 + rotate: false + xy: 1509, 222 + size: 160, 214 + orig: 240, 330 + offset: 39, 99 + index: -1 +1_00046 + rotate: false + xy: 1347, 220 + size: 160, 215 + orig: 240, 330 + offset: 39, 99 + index: -1 +1_00047 + rotate: false + xy: 1185, 217 + size: 160, 216 + orig: 240, 330 + offset: 39, 99 + index: -1 +1_00048 + rotate: false + xy: 1510, 6 + size: 160, 214 + orig: 240, 330 + offset: 39, 99 + index: -1 +1_00049 + rotate: false + xy: 1347, 3 + size: 161, 215 + orig: 240, 330 + offset: 39, 99 + index: -1 +1_00050 + rotate: false + xy: 1672, 28 + size: 161, 205 + orig: 240, 330 + offset: 39, 108 + index: -1 +1_00051 + rotate: false + xy: 1833, 244 + size: 161, 204 + orig: 240, 330 + offset: 39, 109 + index: -1 +1_00052 + rotate: false + xy: 1835, 40 + size: 161, 202 + orig: 240, 330 + offset: 39, 110 + index: -1 +1_00053 + rotate: false + xy: 1024, 5 + size: 159, 198 + orig: 240, 330 + offset: 40, 110 + index: -1 +1_00054 + rotate: true + xy: 2, 12 + size: 133, 190 + orig: 240, 330 + offset: 40, 115 + index: -1 +1_00055 + rotate: false + xy: 1852, 1037 + size: 130, 167 + orig: 240, 330 + offset: 41, 115 + index: -1 +1_00056 + rotate: false + xy: 194, 33 + size: 117, 112 + orig: 240, 330 + offset: 52, 116 + index: -1 +1_00057 + rotate: false + xy: 1815, 746 + size: 103, 110 + orig: 240, 330 + offset: 66, 116 + index: -1 +1_00058 + rotate: true + xy: 1852, 933 + size: 102, 107 + orig: 240, 330 + offset: 67, 116 + index: -1 +1_00059 + rotate: true + xy: 1899, 643 + size: 101, 88 + orig: 240, 330 + offset: 68, 116 + index: -1 diff --git a/nginx/minesweeper/assets/spine/medikit/skeleton.json b/nginx/minesweeper/assets/spine/medikit/skeleton.json new file mode 100644 index 0000000..fe9d6fb --- /dev/null +++ b/nginx/minesweeper/assets/spine/medikit/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"IHaT/bWWW3xakdlLpC0t83o6HdQ=","spine":"3.8","images":"./111111/","audio":"E:/CJ_Animation_Learn/Spine_yuanfiles/DS/YiLiaoBao"},"bones":[{"name":"root"}],"slots":[{"name":"1","bone":"root"}],"skins":[{"name":"default","attachments":{"1":{"1_00000":{"width":240,"height":330},"1_00001":{"width":240,"height":330},"1_00002":{"width":240,"height":330},"1_00003":{"width":240,"height":330},"1_00004":{"width":240,"height":330},"1_00005":{"width":240,"height":330},"1_00006":{"width":240,"height":330},"1_00007":{"width":240,"height":330},"1_00008":{"width":240,"height":330},"1_00009":{"width":240,"height":330},"1_00010":{"width":240,"height":330},"1_00011":{"width":240,"height":330},"1_00012":{"width":240,"height":330},"1_00013":{"width":240,"height":330},"1_00014":{"width":240,"height":330},"1_00015":{"width":240,"height":330},"1_00016":{"width":240,"height":330},"1_00017":{"width":240,"height":330},"1_00018":{"width":240,"height":330},"1_00019":{"width":240,"height":330},"1_00020":{"width":240,"height":330},"1_00021":{"width":240,"height":330},"1_00022":{"width":240,"height":330},"1_00023":{"width":240,"height":330},"1_00024":{"width":240,"height":330},"1_00025":{"width":240,"height":330},"1_00026":{"width":240,"height":330},"1_00027":{"width":240,"height":330},"1_00028":{"width":240,"height":330},"1_00029":{"width":240,"height":330},"1_00030":{"width":240,"height":330},"1_00031":{"width":240,"height":330},"1_00032":{"width":240,"height":330},"1_00033":{"width":240,"height":330},"1_00034":{"width":240,"height":330},"1_00035":{"width":240,"height":330},"1_00036":{"width":240,"height":330},"1_00037":{"width":240,"height":330},"1_00038":{"width":240,"height":330},"1_00039":{"width":240,"height":330},"1_00040":{"width":240,"height":330},"1_00041":{"width":240,"height":330},"1_00042":{"width":240,"height":330},"1_00043":{"width":240,"height":330},"1_00044":{"width":240,"height":330},"1_00045":{"width":240,"height":330},"1_00046":{"width":240,"height":330},"1_00047":{"width":240,"height":330},"1_00048":{"width":240,"height":330},"1_00049":{"width":240,"height":330},"1_00050":{"width":240,"height":330},"1_00051":{"width":240,"height":330},"1_00052":{"width":240,"height":330},"1_00053":{"width":240,"height":330},"1_00054":{"width":240,"height":330},"1_00055":{"width":240,"height":330},"1_00056":{"width":240,"height":330},"1_00057":{"width":240,"height":330},"1_00058":{"width":240,"height":330},"1_00059":{"width":240,"height":330},"1_00060":{"width":240,"height":330}}}}],"animations":{"animation":{"slots":{"1":{"attachment":[{"name":"1_00000"},{"time":0.0333,"name":"1_00001"},{"time":0.0667,"name":"1_00002"},{"time":0.1,"name":"1_00003"},{"time":0.1333,"name":"1_00004"},{"time":0.1667,"name":"1_00005"},{"time":0.2,"name":"1_00006"},{"time":0.2333,"name":"1_00007"},{"time":0.2667,"name":"1_00008"},{"time":0.3,"name":"1_00009"},{"time":0.3333,"name":"1_00010"},{"time":0.3667,"name":"1_00011"},{"time":0.4,"name":"1_00012"},{"time":0.4333,"name":"1_00013"},{"time":0.4667,"name":"1_00014"},{"time":0.5,"name":"1_00015"},{"time":0.5333,"name":"1_00016"},{"time":0.5667,"name":"1_00017"},{"time":0.6,"name":"1_00018"},{"time":0.6333,"name":"1_00019"},{"time":0.6667,"name":"1_00020"},{"time":0.7,"name":"1_00021"},{"time":0.7333,"name":"1_00022"},{"time":0.7667,"name":"1_00023"},{"time":0.8,"name":"1_00024"},{"time":0.8333,"name":"1_00025"},{"time":0.8667,"name":"1_00026"},{"time":0.9,"name":"1_00027"},{"time":0.9333,"name":"1_00028"},{"time":0.9667,"name":"1_00029"},{"time":1,"name":"1_00030"},{"time":1.0333,"name":"1_00031"},{"time":1.0667,"name":"1_00032"},{"time":1.1,"name":"1_00033"},{"time":1.1333,"name":"1_00034"},{"time":1.1667,"name":"1_00035"},{"time":1.2,"name":"1_00036"},{"time":1.2333,"name":"1_00037"},{"time":1.2667,"name":"1_00038"},{"time":1.3,"name":"1_00039"},{"time":1.3333,"name":"1_00040"},{"time":1.3667,"name":"1_00041"},{"time":1.4,"name":"1_00042"},{"time":1.4333,"name":"1_00043"},{"time":1.4667,"name":"1_00044"},{"time":1.5,"name":"1_00045"},{"time":1.5333,"name":"1_00046"},{"time":1.5667,"name":"1_00047"},{"time":1.6,"name":"1_00048"},{"time":1.6333,"name":"1_00049"},{"time":1.6667,"name":"1_00050"},{"time":1.7,"name":"1_00051"},{"time":1.7333,"name":"1_00052"},{"time":1.7667,"name":"1_00053"},{"time":1.8,"name":"1_00054"},{"time":1.8333,"name":"1_00055"},{"time":1.8667,"name":"1_00056"},{"time":1.9,"name":"1_00057"},{"time":1.9333,"name":"1_00058"},{"time":1.9667,"name":"1_00059"},{"time":2,"name":"1_00060"}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/medikit/skeleton.webp b/nginx/minesweeper/assets/spine/medikit/skeleton.webp new file mode 100644 index 0000000..11ecbae Binary files /dev/null and b/nginx/minesweeper/assets/spine/medikit/skeleton.webp differ diff --git a/nginx/minesweeper/assets/spine/monkey/skeleton.atlas b/nginx/minesweeper/assets/spine/monkey/skeleton.atlas new file mode 100644 index 0000000..19f8bc8 --- /dev/null +++ b/nginx/minesweeper/assets/spine/monkey/skeleton.atlas @@ -0,0 +1,432 @@ +skeleton.webp +size: 2014,443 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00000 + rotate: false + xy: 2, 440 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00060 + rotate: false + xy: 2, 440 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00001 + rotate: true + xy: 1219, 352 + size: 89, 117 + orig: 110, 150 + offset: 7, 16 + index: -1 +1_00002 + rotate: true + xy: 1100, 353 + size: 88, 117 + orig: 110, 150 + offset: 9, 16 + index: -1 +1_00003 + rotate: true + xy: 615, 355 + size: 86, 118 + orig: 110, 150 + offset: 11, 15 + index: -1 +1_00004 + rotate: true + xy: 254, 359 + size: 82, 119 + orig: 110, 150 + offset: 14, 15 + index: -1 +1_00005 + rotate: true + xy: 930, 242 + size: 110, 150 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00006 + rotate: true + xy: 5, 361 + size: 80, 124 + orig: 110, 150 + offset: 16, 10 + index: -1 +1_00007 + rotate: true + xy: 131, 361 + size: 80, 121 + orig: 110, 150 + offset: 16, 14 + index: -1 +1_00008 + rotate: true + xy: 1338, 349 + size: 92, 120 + orig: 110, 150 + offset: 16, 14 + index: -1 +1_00009 + rotate: true + xy: 1588, 345 + size: 96, 130 + orig: 110, 150 + offset: 0, 14 + index: -1 +1_00010 + rotate: true + xy: 130, 250 + size: 107, 128 + orig: 110, 150 + offset: 0, 13 + index: -1 +1_00011 + rotate: true + xy: 1082, 241 + size: 110, 128 + orig: 110, 150 + offset: 0, 14 + index: -1 +1_00012 + rotate: true + xy: 855, 354 + size: 87, 122 + orig: 110, 150 + offset: 15, 14 + index: -1 +1_00013 + rotate: true + xy: 1460, 348 + size: 93, 126 + orig: 110, 150 + offset: 9, 9 + index: -1 +1_00014 + rotate: true + xy: 398, 245 + size: 109, 126 + orig: 110, 150 + offset: 0, 10 + index: -1 +1_00015 + rotate: true + xy: 2, 254 + size: 105, 126 + orig: 110, 150 + offset: 0, 10 + index: -1 +1_00016 + rotate: true + xy: 1720, 338 + size: 103, 125 + orig: 110, 150 + offset: 1, 10 + index: -1 +1_00017 + rotate: true + xy: 1847, 338 + size: 103, 123 + orig: 110, 150 + offset: 6, 13 + index: -1 +1_00018 + rotate: true + xy: 1719, 226 + size: 110, 136 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00019 + rotate: true + xy: 1857, 226 + size: 110, 136 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00020 + rotate: true + xy: 526, 132 + size: 110, 140 + orig: 110, 150 + offset: 0, 4 + index: -1 +1_00021 + rotate: true + xy: 930, 130 + size: 110, 140 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00022 + rotate: true + xy: 259, 135 + size: 110, 136 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00023 + rotate: true + xy: 1333, 124 + size: 110, 149 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00024 + rotate: true + xy: 1484, 121 + size: 110, 148 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00025 + rotate: true + xy: 1634, 114 + size: 110, 150 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00026 + rotate: true + xy: 1786, 114 + size: 110, 150 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00027 + rotate: true + xy: 2, 26 + size: 110, 150 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00028 + rotate: true + xy: 154, 23 + size: 110, 149 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00029 + rotate: true + xy: 305, 21 + size: 110, 148 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00030 + rotate: true + xy: 455, 20 + size: 110, 147 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00031 + rotate: true + xy: 604, 20 + size: 110, 145 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00032 + rotate: true + xy: 1072, 129 + size: 110, 137 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00033 + rotate: true + xy: 751, 19 + size: 110, 144 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00034 + rotate: true + xy: 897, 18 + size: 110, 143 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00035 + rotate: true + xy: 1042, 17 + size: 110, 136 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00036 + rotate: true + xy: 526, 244 + size: 109, 134 + orig: 110, 150 + offset: 0, 2 + index: -1 +1_00037 + rotate: true + xy: 1456, 236 + size: 110, 129 + orig: 110, 150 + offset: 0, 7 + index: -1 +1_00038 + rotate: true + xy: 1180, 16 + size: 110, 139 + orig: 110, 150 + offset: 0, 5 + index: -1 +1_00039 + rotate: true + xy: 1587, 233 + size: 110, 130 + orig: 110, 150 + offset: 0, 6 + index: -1 +1_00040 + rotate: true + xy: 1321, 12 + size: 110, 138 + orig: 110, 150 + offset: 0, 4 + index: -1 +1_00041 + rotate: true + xy: 796, 131 + size: 110, 132 + orig: 110, 150 + offset: 0, 4 + index: -1 +1_00042 + rotate: true + xy: 1461, 9 + size: 110, 136 + orig: 110, 150 + offset: 0, 0 + index: -1 +1_00043 + rotate: true + xy: 1599, 2 + size: 110, 138 + orig: 110, 150 + offset: 0, 1 + index: -1 +1_00044 + rotate: true + xy: 1739, 2 + size: 110, 139 + orig: 110, 150 + offset: 0, 2 + index: -1 +1_00045 + rotate: true + xy: 260, 247 + size: 108, 136 + orig: 110, 150 + offset: 2, 4 + index: -1 +1_00046 + rotate: true + xy: 1880, 2 + size: 110, 132 + orig: 110, 150 + offset: 0, 4 + index: -1 +1_00047 + rotate: true + xy: 130, 138 + size: 110, 127 + orig: 110, 150 + offset: 0, 8 + index: -1 +1_00048 + rotate: true + xy: 662, 244 + size: 109, 132 + orig: 110, 150 + offset: 1, 6 + index: -1 +1_00049 + rotate: true + xy: 796, 243 + size: 109, 132 + orig: 110, 150 + offset: 1, 7 + index: -1 +1_00050 + rotate: true + xy: 397, 133 + size: 110, 127 + orig: 110, 150 + offset: 0, 8 + index: -1 +1_00051 + rotate: true + xy: 2, 142 + size: 110, 126 + orig: 110, 150 + offset: 0, 9 + index: -1 +1_00052 + rotate: true + xy: 668, 132 + size: 110, 126 + orig: 110, 150 + offset: 0, 9 + index: -1 +1_00053 + rotate: true + xy: 1212, 240 + size: 110, 121 + orig: 110, 150 + offset: 0, 13 + index: -1 +1_00054 + rotate: true + xy: 1335, 237 + size: 110, 119 + orig: 110, 150 + offset: 0, 15 + index: -1 +1_00055 + rotate: true + xy: 1211, 128 + size: 110, 120 + orig: 110, 150 + offset: 0, 15 + index: -1 +1_00056 + rotate: true + xy: 735, 355 + size: 86, 118 + orig: 110, 150 + offset: 12, 16 + index: -1 +1_00057 + rotate: true + xy: 979, 354 + size: 87, 119 + orig: 110, 150 + offset: 12, 16 + index: -1 +1_00058 + rotate: true + xy: 494, 356 + size: 85, 119 + orig: 110, 150 + offset: 13, 16 + index: -1 +1_00059 + rotate: true + xy: 375, 357 + size: 84, 117 + orig: 110, 150 + offset: 14, 17 + index: -1 diff --git a/nginx/minesweeper/assets/spine/monkey/skeleton.json b/nginx/minesweeper/assets/spine/monkey/skeleton.json new file mode 100644 index 0000000..d68a69a --- /dev/null +++ b/nginx/minesweeper/assets/spine/monkey/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"ITXACEjyviB84j6gXk8kDiELmnc=","spine":"3.8","images":"../吉吉国王/111111/","audio":"E:/CJ_Animation_Learn/Spine_yuanfiles/DS/YiLiaoBao"},"bones":[{"name":"root"}],"slots":[{"name":"1","bone":"root"}],"skins":[{"name":"default","attachments":{"1":{"1_00000":{"width":110,"height":150},"1_00001":{"width":110,"height":150},"1_00002":{"width":110,"height":150},"1_00003":{"width":110,"height":150},"1_00004":{"width":110,"height":150},"1_00005":{"width":110,"height":150},"1_00006":{"width":110,"height":150},"1_00007":{"width":110,"height":150},"1_00008":{"width":110,"height":150},"1_00009":{"width":110,"height":150},"1_00010":{"width":110,"height":150},"1_00011":{"width":110,"height":150},"1_00012":{"width":110,"height":150},"1_00013":{"width":110,"height":150},"1_00014":{"width":110,"height":150},"1_00015":{"width":110,"height":150},"1_00016":{"width":110,"height":150},"1_00017":{"width":110,"height":150},"1_00018":{"width":110,"height":150},"1_00019":{"width":110,"height":150},"1_00020":{"width":110,"height":150},"1_00021":{"width":110,"height":150},"1_00022":{"width":110,"height":150},"1_00023":{"width":110,"height":150},"1_00024":{"width":110,"height":150},"1_00025":{"width":110,"height":150},"1_00026":{"width":110,"height":150},"1_00027":{"width":110,"height":150},"1_00028":{"width":110,"height":150},"1_00029":{"width":110,"height":150},"1_00030":{"width":110,"height":150},"1_00031":{"width":110,"height":150},"1_00032":{"width":110,"height":150},"1_00033":{"width":110,"height":150},"1_00034":{"width":110,"height":150},"1_00035":{"width":110,"height":150},"1_00036":{"width":110,"height":150},"1_00037":{"width":110,"height":150},"1_00038":{"width":110,"height":150},"1_00039":{"width":110,"height":150},"1_00040":{"width":110,"height":150},"1_00041":{"width":110,"height":150},"1_00042":{"width":110,"height":150},"1_00043":{"width":110,"height":150},"1_00044":{"width":110,"height":150},"1_00045":{"width":110,"height":150},"1_00046":{"width":110,"height":150},"1_00047":{"width":110,"height":150},"1_00048":{"width":110,"height":150},"1_00049":{"width":110,"height":150},"1_00050":{"width":110,"height":150},"1_00051":{"width":110,"height":150},"1_00052":{"width":110,"height":150},"1_00053":{"width":110,"height":150},"1_00054":{"width":110,"height":150},"1_00055":{"width":110,"height":150},"1_00056":{"width":110,"height":150},"1_00057":{"width":110,"height":150},"1_00058":{"width":110,"height":150},"1_00059":{"width":110,"height":150},"1_00060":{"width":110,"height":150}}}}],"animations":{"animation":{"slots":{"1":{"attachment":[{"name":"1_00000"},{"time":0.0333,"name":"1_00001"},{"time":0.0667,"name":"1_00002"},{"time":0.1,"name":"1_00003"},{"time":0.1333,"name":"1_00004"},{"time":0.1667,"name":"1_00005"},{"time":0.2,"name":"1_00006"},{"time":0.2333,"name":"1_00007"},{"time":0.2667,"name":"1_00008"},{"time":0.3,"name":"1_00009"},{"time":0.3333,"name":"1_00010"},{"time":0.3667,"name":"1_00011"},{"time":0.4,"name":"1_00012"},{"time":0.4333,"name":"1_00013"},{"time":0.4667,"name":"1_00014"},{"time":0.5,"name":"1_00015"},{"time":0.5333,"name":"1_00016"},{"time":0.5667,"name":"1_00017"},{"time":0.6,"name":"1_00018"},{"time":0.6333,"name":"1_00019"},{"time":0.6667,"name":"1_00020"},{"time":0.7,"name":"1_00021"},{"time":0.7333,"name":"1_00022"},{"time":0.7667,"name":"1_00023"},{"time":0.8,"name":"1_00024"},{"time":0.8333,"name":"1_00025"},{"time":0.8667,"name":"1_00026"},{"time":0.9,"name":"1_00027"},{"time":0.9333,"name":"1_00028"},{"time":0.9667,"name":"1_00029"},{"time":1,"name":"1_00030"},{"time":1.0333,"name":"1_00031"},{"time":1.0667,"name":"1_00032"},{"time":1.1,"name":"1_00033"},{"time":1.1333,"name":"1_00034"},{"time":1.1667,"name":"1_00035"},{"time":1.2,"name":"1_00036"},{"time":1.2333,"name":"1_00037"},{"time":1.2667,"name":"1_00038"},{"time":1.3,"name":"1_00039"},{"time":1.3333,"name":"1_00040"},{"time":1.3667,"name":"1_00041"},{"time":1.4,"name":"1_00042"},{"time":1.4333,"name":"1_00043"},{"time":1.4667,"name":"1_00044"},{"time":1.5,"name":"1_00045"},{"time":1.5333,"name":"1_00046"},{"time":1.5667,"name":"1_00047"},{"time":1.6,"name":"1_00048"},{"time":1.6333,"name":"1_00049"},{"time":1.6667,"name":"1_00050"},{"time":1.7,"name":"1_00051"},{"time":1.7333,"name":"1_00052"},{"time":1.7667,"name":"1_00053"},{"time":1.8,"name":"1_00054"},{"time":1.8333,"name":"1_00055"},{"time":1.8667,"name":"1_00056"},{"time":1.9,"name":"1_00057"},{"time":1.9333,"name":"1_00058"},{"time":1.9667,"name":"1_00059"},{"time":2,"name":"1_00060"}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/monkey/skeleton.webp b/nginx/minesweeper/assets/spine/monkey/skeleton.webp new file mode 100644 index 0000000..2c44aa0 Binary files /dev/null and b/nginx/minesweeper/assets/spine/monkey/skeleton.webp differ diff --git a/nginx/minesweeper/assets/spine/poison/skeleton.atlas b/nginx/minesweeper/assets/spine/poison/skeleton.atlas new file mode 100644 index 0000000..59d07fa --- /dev/null +++ b/nginx/minesweeper/assets/spine/poison/skeleton.atlas @@ -0,0 +1,684 @@ +skeleton.webp +size: 2008,443 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00000 + rotate: false + xy: 81, 184 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00001 + rotate: false + xy: 1663, 332 + size: 73, 109 + orig: 105, 160 + offset: 13, 44 + index: -1 +1_00002 + rotate: false + xy: 1656, 220 + size: 74, 109 + orig: 105, 160 + offset: 12, 45 + index: -1 +1_00003 + rotate: false + xy: 1580, 217 + size: 74, 111 + orig: 105, 160 + offset: 12, 45 + index: -1 +1_00004 + rotate: false + xy: 1037, 213 + size: 75, 113 + orig: 105, 160 + offset: 12, 45 + index: -1 +1_00005 + rotate: false + xy: 1038, 328 + size: 75, 113 + orig: 105, 160 + offset: 13, 46 + index: -1 +1_00006 + rotate: false + xy: 1037, 98 + size: 75, 113 + orig: 105, 160 + offset: 13, 47 + index: -1 +1_00007 + rotate: false + xy: 485, 89 + size: 75, 116 + orig: 105, 160 + offset: 13, 44 + index: -1 +1_00008 + rotate: false + xy: 816, 4 + size: 75, 89 + orig: 105, 160 + offset: 14, 45 + index: -1 +1_00009 + rotate: false + xy: 893, 6 + size: 75, 89 + orig: 105, 160 + offset: 14, 46 + index: -1 +1_00010 + rotate: false + xy: 1830, 23 + size: 75, 99 + orig: 105, 160 + offset: 14, 37 + index: -1 +1_00011 + rotate: true + xy: 1907, 366 + size: 75, 99 + orig: 105, 160 + offset: 14, 38 + index: -1 +1_00012 + rotate: false + xy: 1600, 3 + size: 76, 99 + orig: 105, 160 + offset: 13, 39 + index: -1 +1_00013 + rotate: false + xy: 723, 211 + size: 77, 114 + orig: 105, 160 + offset: 14, 25 + index: -1 +1_00014 + rotate: false + xy: 723, 327 + size: 78, 114 + orig: 105, 160 + offset: 14, 26 + index: -1 +1_00015 + rotate: false + xy: 877, 328 + size: 80, 113 + orig: 105, 160 + offset: 14, 28 + index: -1 +1_00016 + rotate: false + xy: 877, 97 + size: 80, 113 + orig: 105, 160 + offset: 14, 29 + index: -1 +1_00017 + rotate: false + xy: 716, 93 + size: 81, 114 + orig: 105, 160 + offset: 14, 29 + index: -1 +1_00018 + rotate: false + xy: 876, 212 + size: 81, 113 + orig: 105, 160 + offset: 14, 31 + index: -1 +1_00019 + rotate: true + xy: 598, 7 + size: 82, 113 + orig: 105, 160 + offset: 14, 32 + index: -1 +1_00020 + rotate: true + xy: 713, 8 + size: 82, 101 + orig: 105, 160 + offset: 14, 33 + index: -1 +1_00021 + rotate: true + xy: 970, 14 + size: 82, 100 + orig: 105, 160 + offset: 15, 35 + index: -1 +1_00022 + rotate: false + xy: 560, 326 + size: 81, 115 + orig: 105, 160 + offset: 15, 21 + index: -1 +1_00023 + rotate: false + xy: 559, 208 + size: 82, 115 + orig: 105, 160 + offset: 14, 22 + index: -1 +1_00024 + rotate: false + xy: 562, 91 + size: 79, 115 + orig: 105, 160 + offset: 15, 23 + index: -1 +1_00025 + rotate: true + xy: 399, 2 + size: 79, 116 + orig: 105, 160 + offset: 15, 24 + index: -1 +1_00026 + rotate: false + xy: 405, 86 + size: 78, 116 + orig: 105, 160 + offset: 15, 25 + index: -1 +1_00027 + rotate: false + xy: 325, 83 + size: 78, 117 + orig: 105, 160 + offset: 15, 26 + index: -1 +1_00028 + rotate: false + xy: 162, 321 + size: 77, 120 + orig: 105, 160 + offset: 15, 22 + index: -1 +1_00029 + rotate: false + xy: 81, 187 + size: 78, 121 + orig: 105, 160 + offset: 15, 23 + index: -1 +1_00030 + rotate: false + xy: 82, 320 + size: 78, 121 + orig: 105, 160 + offset: 15, 24 + index: -1 +1_00031 + rotate: false + xy: 2, 310 + size: 78, 131 + orig: 105, 160 + offset: 15, 16 + index: -1 +1_00032 + rotate: false + xy: 2, 177 + size: 77, 131 + orig: 105, 160 + offset: 16, 17 + index: -1 +1_00033 + rotate: false + xy: 1584, 331 + size: 77, 110 + orig: 105, 160 + offset: 16, 18 + index: -1 +1_00034 + rotate: false + xy: 1345, 217 + size: 77, 111 + orig: 105, 160 + offset: 16, 18 + index: -1 +1_00035 + rotate: false + xy: 1350, 330 + size: 77, 111 + orig: 105, 160 + offset: 16, 19 + index: -1 +1_00036 + rotate: false + xy: 1114, 99 + size: 76, 112 + orig: 105, 160 + offset: 16, 20 + index: -1 +1_00037 + rotate: false + xy: 1187, 215 + size: 76, 112 + orig: 105, 160 + offset: 16, 21 + index: -1 +1_00038 + rotate: false + xy: 1507, 330 + size: 75, 111 + orig: 105, 160 + offset: 16, 22 + index: -1 +1_00039 + rotate: false + xy: 1502, 104 + size: 75, 111 + orig: 105, 160 + offset: 16, 24 + index: -1 +1_00040 + rotate: false + xy: 1424, 217 + size: 76, 111 + orig: 105, 160 + offset: 16, 25 + index: -1 +1_00041 + rotate: false + xy: 1579, 104 + size: 75, 111 + orig: 105, 160 + offset: 16, 26 + index: -1 +1_00042 + rotate: false + xy: 1429, 330 + size: 76, 111 + orig: 105, 160 + offset: 16, 27 + index: -1 +1_00043 + rotate: false + xy: 1424, 104 + size: 76, 111 + orig: 105, 160 + offset: 16, 29 + index: -1 +1_00044 + rotate: false + xy: 1752, 10 + size: 76, 102 + orig: 105, 160 + offset: 16, 30 + index: -1 +1_00045 + rotate: false + xy: 1810, 236 + size: 76, 101 + orig: 105, 160 + offset: 16, 32 + index: -1 +1_00046 + rotate: false + xy: 481, 207 + size: 76, 116 + orig: 105, 160 + offset: 16, 18 + index: -1 +1_00047 + rotate: true + xy: 280, 2 + size: 76, 117 + orig: 105, 160 + offset: 16, 19 + index: -1 +1_00048 + rotate: false + xy: 403, 204 + size: 76, 117 + orig: 105, 160 + offset: 16, 20 + index: -1 +1_00049 + rotate: false + xy: 481, 325 + size: 77, 116 + orig: 105, 160 + offset: 16, 22 + index: -1 +1_00050 + rotate: false + xy: 799, 95 + size: 76, 114 + orig: 105, 160 + offset: 17, 23 + index: -1 +1_00051 + rotate: false + xy: 643, 326 + size: 78, 115 + orig: 105, 160 + offset: 17, 24 + index: -1 +1_00052 + rotate: false + xy: 643, 209 + size: 78, 115 + orig: 105, 160 + offset: 17, 24 + index: -1 +1_00053 + rotate: false + xy: 1816, 342 + size: 76, 99 + orig: 105, 160 + offset: 17, 25 + index: -1 +1_00054 + rotate: false + xy: 1732, 228 + size: 76, 102 + orig: 105, 160 + offset: 17, 24 + index: -1 +1_00055 + rotate: false + xy: 1738, 339 + size: 76, 102 + orig: 105, 160 + offset: 17, 26 + index: -1 +1_00056 + rotate: false + xy: 1803, 124 + size: 75, 102 + orig: 105, 160 + offset: 17, 27 + index: -1 +1_00057 + rotate: false + xy: 1730, 114 + size: 71, 104 + orig: 105, 160 + offset: 17, 27 + index: -1 +1_00058 + rotate: false + xy: 1192, 101 + size: 71, 112 + orig: 105, 160 + offset: 17, 20 + index: -1 +1_00059 + rotate: false + xy: 1114, 213 + size: 71, 113 + orig: 105, 160 + offset: 17, 21 + index: -1 +1_00060 + rotate: false + xy: 643, 92 + size: 71, 115 + orig: 105, 160 + offset: 17, 21 + index: -1 +1_00061 + rotate: false + xy: 802, 211 + size: 72, 114 + orig: 105, 160 + offset: 17, 23 + index: -1 +1_00062 + rotate: false + xy: 1656, 111 + size: 72, 107 + orig: 105, 160 + offset: 17, 24 + index: -1 +1_00063 + rotate: false + xy: 1678, 2 + size: 72, 107 + orig: 105, 160 + offset: 17, 25 + index: -1 +1_00064 + rotate: false + xy: 803, 327 + size: 72, 114 + orig: 105, 160 + offset: 17, 20 + index: -1 +1_00065 + rotate: true + xy: 164, 2 + size: 73, 114 + orig: 105, 160 + offset: 17, 21 + index: -1 +1_00066 + rotate: false + xy: 1195, 329 + size: 73, 112 + orig: 105, 160 + offset: 17, 23 + index: -1 +1_00067 + rotate: false + xy: 959, 213 + size: 76, 113 + orig: 105, 160 + offset: 15, 23 + index: -1 +1_00068 + rotate: false + xy: 959, 98 + size: 76, 113 + orig: 105, 160 + offset: 15, 25 + index: -1 +1_00069 + rotate: false + xy: 959, 328 + size: 77, 113 + orig: 105, 160 + offset: 14, 26 + index: -1 +1_00070 + rotate: false + xy: 322, 322 + size: 77, 119 + orig: 105, 160 + offset: 14, 22 + index: -1 +1_00071 + rotate: false + xy: 242, 201 + size: 78, 119 + orig: 105, 160 + offset: 13, 23 + index: -1 +1_00072 + rotate: false + xy: 245, 80 + size: 78, 119 + orig: 105, 160 + offset: 13, 25 + index: -1 +1_00073 + rotate: false + xy: 401, 323 + size: 78, 118 + orig: 105, 160 + offset: 13, 27 + index: -1 +1_00074 + rotate: false + xy: 241, 322 + size: 79, 119 + orig: 105, 160 + offset: 13, 28 + index: -1 +1_00075 + rotate: false + xy: 322, 202 + size: 79, 118 + orig: 105, 160 + offset: 13, 30 + index: -1 +1_00076 + rotate: false + xy: 83, 62 + size: 79, 120 + orig: 105, 160 + offset: 13, 30 + index: -1 +1_00077 + rotate: false + xy: 161, 198 + size: 79, 120 + orig: 105, 160 + offset: 13, 31 + index: -1 +1_00078 + rotate: false + xy: 164, 77 + size: 79, 119 + orig: 105, 160 + offset: 14, 33 + index: -1 +1_00079 + rotate: false + xy: 2, 53 + size: 79, 122 + orig: 105, 160 + offset: 14, 32 + index: -1 +1_00080 + rotate: false + xy: 517, 4 + size: 79, 83 + orig: 105, 160 + offset: 15, 34 + index: -1 +1_00081 + rotate: false + xy: 1072, 14 + size: 78, 82 + orig: 105, 160 + offset: 16, 35 + index: -1 +1_00082 + rotate: true + xy: 1907, 284 + size: 80, 98 + orig: 105, 160 + offset: 15, 21 + index: -1 +1_00083 + rotate: true + xy: 1907, 202 + size: 80, 98 + orig: 105, 160 + offset: 15, 22 + index: -1 +1_00084 + rotate: true + xy: 1253, 19 + size: 80, 99 + orig: 105, 160 + offset: 15, 23 + index: -1 +1_00085 + rotate: false + xy: 1354, 3 + size: 80, 99 + orig: 105, 160 + offset: 15, 24 + index: -1 +1_00086 + rotate: true + xy: 1152, 16 + size: 81, 99 + orig: 105, 160 + offset: 15, 25 + index: -1 +1_00087 + rotate: false + xy: 1436, 3 + size: 80, 99 + orig: 105, 160 + offset: 15, 27 + index: -1 +1_00088 + rotate: false + xy: 1518, 3 + size: 80, 99 + orig: 105, 160 + offset: 15, 28 + index: -1 +1_00089 + rotate: true + xy: 1907, 122 + size: 78, 98 + orig: 105, 160 + offset: 15, 30 + index: -1 +1_00090 + rotate: true + xy: 1907, 42 + size: 78, 98 + orig: 105, 160 + offset: 15, 31 + index: -1 +1_00091 + rotate: false + xy: 1265, 216 + size: 78, 111 + orig: 105, 160 + offset: 15, 19 + index: -1 +1_00092 + rotate: false + xy: 1270, 330 + size: 78, 111 + orig: 105, 160 + offset: 15, 20 + index: -1 +1_00093 + rotate: false + xy: 1265, 103 + size: 78, 111 + orig: 105, 160 + offset: 15, 21 + index: -1 +1_00094 + rotate: false + xy: 1115, 329 + size: 78, 112 + orig: 105, 160 + offset: 15, 22 + index: -1 +1_00095 + rotate: false + xy: 1345, 104 + size: 77, 111 + orig: 105, 160 + offset: 16, 24 + index: -1 +1_00096 + rotate: false + xy: 1502, 217 + size: 76, 111 + orig: 105, 160 + offset: 16, 25 + index: -1 diff --git a/nginx/minesweeper/assets/spine/poison/skeleton.json b/nginx/minesweeper/assets/spine/poison/skeleton.json new file mode 100644 index 0000000..79a7337 --- /dev/null +++ b/nginx/minesweeper/assets/spine/poison/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"p2l8g/QFj3A2tgux5JBMCxsycI4=","spine":"3.8","images":"../毒药瓶/1111111/","audio":""},"bones":[{"name":"root"}],"slots":[{"name":"1","bone":"root"}],"skins":[{"name":"default","attachments":{"1":{"1_00000":{"width":105,"height":160},"1_00001":{"width":105,"height":160},"1_00002":{"width":105,"height":160},"1_00003":{"width":105,"height":160},"1_00004":{"width":105,"height":160},"1_00005":{"width":105,"height":160},"1_00006":{"width":105,"height":160},"1_00007":{"width":105,"height":160},"1_00008":{"width":105,"height":160},"1_00009":{"width":105,"height":160},"1_00010":{"width":105,"height":160},"1_00011":{"width":105,"height":160},"1_00012":{"width":105,"height":160},"1_00013":{"width":105,"height":160},"1_00014":{"width":105,"height":160},"1_00015":{"width":105,"height":160},"1_00016":{"width":105,"height":160},"1_00017":{"width":105,"height":160},"1_00018":{"width":105,"height":160},"1_00019":{"width":105,"height":160},"1_00020":{"width":105,"height":160},"1_00021":{"width":105,"height":160},"1_00022":{"width":105,"height":160},"1_00023":{"width":105,"height":160},"1_00024":{"width":105,"height":160},"1_00025":{"width":105,"height":160},"1_00026":{"width":105,"height":160},"1_00027":{"width":105,"height":160},"1_00028":{"width":105,"height":160},"1_00029":{"width":105,"height":160},"1_00030":{"width":105,"height":160},"1_00031":{"width":105,"height":160},"1_00032":{"width":105,"height":160},"1_00033":{"width":105,"height":160},"1_00034":{"width":105,"height":160},"1_00035":{"width":105,"height":160},"1_00036":{"width":105,"height":160},"1_00037":{"width":105,"height":160},"1_00038":{"width":105,"height":160},"1_00039":{"width":105,"height":160},"1_00040":{"width":105,"height":160},"1_00041":{"width":105,"height":160},"1_00042":{"width":105,"height":160},"1_00043":{"width":105,"height":160},"1_00044":{"width":105,"height":160},"1_00045":{"width":105,"height":160},"1_00046":{"width":105,"height":160},"1_00047":{"width":105,"height":160},"1_00048":{"width":105,"height":160},"1_00049":{"width":105,"height":160},"1_00050":{"width":105,"height":160},"1_00051":{"width":105,"height":160},"1_00052":{"width":105,"height":160},"1_00053":{"width":105,"height":160},"1_00054":{"width":105,"height":160},"1_00055":{"width":105,"height":160},"1_00056":{"width":105,"height":160},"1_00057":{"width":105,"height":160},"1_00058":{"width":105,"height":160},"1_00059":{"width":105,"height":160},"1_00060":{"width":105,"height":160},"1_00061":{"width":105,"height":160},"1_00062":{"width":105,"height":160},"1_00063":{"width":105,"height":160},"1_00064":{"width":105,"height":160},"1_00065":{"width":105,"height":160},"1_00066":{"width":105,"height":160},"1_00067":{"width":105,"height":160},"1_00068":{"width":105,"height":160},"1_00069":{"width":105,"height":160},"1_00070":{"width":105,"height":160},"1_00071":{"width":105,"height":160},"1_00072":{"width":105,"height":160},"1_00073":{"width":105,"height":160},"1_00074":{"width":105,"height":160},"1_00075":{"width":105,"height":160},"1_00076":{"width":105,"height":160},"1_00077":{"width":105,"height":160},"1_00078":{"width":105,"height":160},"1_00079":{"width":105,"height":160},"1_00080":{"width":105,"height":160},"1_00081":{"width":105,"height":160},"1_00082":{"width":105,"height":160},"1_00083":{"x":0.5,"y":0.5,"width":105,"height":160},"1_00084":{"x":0.5,"y":0.5,"width":105,"height":160},"1_00085":{"x":0.5,"y":0.5,"width":105,"height":160},"1_00086":{"x":0.5,"y":0.5,"width":105,"height":160},"1_00087":{"x":0.5,"y":0.5,"width":105,"height":160},"1_00088":{"x":0.5,"y":0.5,"width":105,"height":160},"1_00089":{"x":0.5,"y":0.5,"width":105,"height":160},"1_00090":{"x":0.5,"y":0.5,"width":105,"height":160},"1_00091":{"x":0.5,"y":0.5,"width":105,"height":160},"1_00092":{"x":0.5,"y":0.5,"width":105,"height":160},"1_00093":{"x":0.5,"y":0.5,"width":105,"height":160},"1_00094":{"x":0.5,"y":0.5,"width":105,"height":160},"1_00095":{"x":0.5,"y":0.5,"width":105,"height":160},"1_00096":{"x":0.5,"y":0.5,"width":105,"height":160}}}}],"animations":{"animation":{"slots":{"1":{"attachment":[{"name":"1_00000"},{"time":0.0333,"name":"1_00001"},{"time":0.0667,"name":"1_00002"},{"time":0.1,"name":"1_00003"},{"time":0.1333,"name":"1_00004"},{"time":0.1667,"name":"1_00005"},{"time":0.2,"name":"1_00006"},{"time":0.2333,"name":"1_00007"},{"time":0.2667,"name":"1_00008"},{"time":0.3,"name":"1_00009"},{"time":0.3333,"name":"1_00010"},{"time":0.3667,"name":"1_00011"},{"time":0.4,"name":"1_00012"},{"time":0.4333,"name":"1_00013"},{"time":0.4667,"name":"1_00014"},{"time":0.5,"name":"1_00015"},{"time":0.5333,"name":"1_00016"},{"time":0.5667,"name":"1_00017"},{"time":0.6,"name":"1_00018"},{"time":0.6333,"name":"1_00019"},{"time":0.6667,"name":"1_00020"},{"time":0.7,"name":"1_00021"},{"time":0.7333,"name":"1_00022"},{"time":0.7667,"name":"1_00023"},{"time":0.8,"name":"1_00024"},{"time":0.8333,"name":"1_00025"},{"time":0.8667,"name":"1_00026"},{"time":0.9,"name":"1_00027"},{"time":0.9333,"name":"1_00028"},{"time":0.9667,"name":"1_00029"},{"time":1,"name":"1_00030"},{"time":1.0333,"name":"1_00031"},{"time":1.0667,"name":"1_00032"},{"time":1.1,"name":"1_00033"},{"time":1.1333,"name":"1_00034"},{"time":1.1667,"name":"1_00035"},{"time":1.2,"name":"1_00036"},{"time":1.2333,"name":"1_00037"},{"time":1.2667,"name":"1_00038"},{"time":1.3,"name":"1_00039"},{"time":1.3333,"name":"1_00040"},{"time":1.3667,"name":"1_00041"},{"time":1.4,"name":"1_00042"},{"time":1.4333,"name":"1_00043"},{"time":1.4667,"name":"1_00044"},{"time":1.5,"name":"1_00045"},{"time":1.5333,"name":"1_00046"},{"time":1.5667,"name":"1_00047"},{"time":1.6,"name":"1_00048"},{"time":1.6333,"name":"1_00049"},{"time":1.6667,"name":"1_00050"},{"time":1.7,"name":"1_00051"},{"time":1.7333,"name":"1_00052"},{"time":1.7667,"name":"1_00053"},{"time":1.8,"name":"1_00054"},{"time":1.8333,"name":"1_00055"},{"time":1.8667,"name":"1_00056"},{"time":1.9,"name":"1_00057"},{"time":1.9333,"name":"1_00058"},{"time":1.9667,"name":"1_00059"},{"time":2,"name":"1_00060"},{"time":2.0333,"name":"1_00061"},{"time":2.0667,"name":"1_00062"},{"time":2.1,"name":"1_00063"},{"time":2.1333,"name":"1_00064"},{"time":2.1667,"name":"1_00065"},{"time":2.2,"name":"1_00066"},{"time":2.2333,"name":"1_00067"},{"time":2.2667,"name":"1_00068"},{"time":2.3,"name":"1_00069"},{"time":2.3333,"name":"1_00070"},{"time":2.3667,"name":"1_00071"},{"time":2.4,"name":"1_00072"},{"time":2.4333,"name":"1_00073"},{"time":2.4667,"name":"1_00074"},{"time":2.5,"name":"1_00075"},{"time":2.5333,"name":"1_00076"},{"time":2.5667,"name":"1_00077"},{"time":2.6,"name":"1_00078"},{"time":2.6333,"name":"1_00079"},{"time":2.6667,"name":"1_00080"},{"time":2.7,"name":"1_00081"},{"time":2.7333,"name":"1_00082"},{"time":2.7667,"name":"1_00083"},{"time":2.8,"name":"1_00084"},{"time":2.8333,"name":"1_00085"},{"time":2.8667,"name":"1_00086"},{"time":2.9,"name":"1_00087"},{"time":2.9333,"name":"1_00088"},{"time":2.9667,"name":"1_00089"},{"time":3,"name":"1_00090"},{"time":3.0333,"name":"1_00091"},{"time":3.0667,"name":"1_00092"},{"time":3.1,"name":"1_00093"},{"time":3.1333,"name":"1_00094"},{"time":3.1667,"name":"1_00095"},{"time":3.2,"name":"1_00096"}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/poison/skeleton.webp b/nginx/minesweeper/assets/spine/poison/skeleton.webp new file mode 100644 index 0000000..a4042bd Binary files /dev/null and b/nginx/minesweeper/assets/spine/poison/skeleton.webp differ diff --git a/nginx/minesweeper/assets/spine/rebirth/skeleton.atlas b/nginx/minesweeper/assets/spine/rebirth/skeleton.atlas new file mode 100644 index 0000000..0ca85e7 --- /dev/null +++ b/nginx/minesweeper/assets/spine/rebirth/skeleton.atlas @@ -0,0 +1,14 @@ +skeleton.webp +size:696,518 +filter:Linear,Linear +pma:true +scale:0.5 +1_00000 +bounds:2,29,479,487 +offsets:36,230,540,960 +8 +bounds:483,130,386,211 +rotate:90 +KS_F003 +bounds:483,2,127,126 +offsets:0,0,128,128 diff --git a/nginx/minesweeper/assets/spine/rebirth/skeleton.json b/nginx/minesweeper/assets/spine/rebirth/skeleton.json new file mode 100644 index 0000000..23526b5 --- /dev/null +++ b/nginx/minesweeper/assets/spine/rebirth/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"6dtmVDbewh0","spine":"4.2","x":-540,"y":-960,"width":1080,"height":1920,"images":"./images/","audio":"E:/CJ_Animation_Learn/Spine_yuanfiles/DS/YiLiaoBao"},"bones":[{"name":"root"},{"name":"8","parent":"root","scaleX":0.7324,"scaleY":0.7324},{"name":"9","parent":"8","length":83.63,"rotation":135,"x":-165.46,"y":18.31},{"name":"10","parent":"9","length":74.15,"rotation":-1.47,"x":83.63},{"name":"11","parent":"10","length":103.08,"rotation":-3.82,"x":74.15},{"name":"12","parent":"8","length":100.81,"rotation":42.84,"x":188.01,"y":14.27},{"name":"13","parent":"12","length":81.73,"rotation":2.16,"x":100.81},{"name":"14","parent":"13","length":106.71,"rotation":4.09,"x":81.73},{"name":"骨骼7","parent":"root"},{"name":"KS_F6","parent":"骨骼7","scaleX":0.3775,"scaleY":0.3775},{"name":"1_00000","parent":"root"}],"slots":[{"name":"1_00000","bone":"1_00000","attachment":"1_00000"},{"name":"KS_F6","bone":"KS_F6","attachment":"KS_F003","blend":"additive"},{"name":"8","bone":"14","attachment":"8"}],"skins":[{"name":"default","attachments":{"1_00000":{"1_00000":{"width":1080,"height":1920}},"8":{"8":{"type":"mesh","uvs":[0.06253,0,0.09656,0.02981,0.1353,0.06374,0.168,0.09237,0.19943,0.1199,0.23665,0.1525,0.28213,0.19234,0.31403,0.22027,0.31011,0.3649,0.32138,0.17868,0.33824,0.14273,0.46816,0.24647,0.47671,0.22274,0.6761,0.19431,0.68153,0.23749,0.68016,0.29491,0.66271,0.34929,0.67795,0.36919,0.68348,0.30753,0.69964,0.25648,0.72097,0.22573,0.75408,0.19272,0.79302,0.15389,0.82979,0.11723,0.87847,0.06868,0.91023,0.03701,0.93932,0.00801,0.972,0.00895,1,0.00975,1,0.07306,1,0.13317,1,0.19549,0.9898,0.2405,0.9795,0.28598,0.96538,0.34831,0.95477,0.39515,0.94071,0.45723,0.92953,0.5066,0.91248,0.53608,0.8836,0.58601,0.86576,0.61686,0.84543,0.65203,0.82256,0.69156,0.79568,0.73805,0.75171,0.81409,0.72551,0.79405,0.68628,0.76405,0.68041,0.75955,0.59098,0.69114,0.59832,0.74554,0.59489,0.82845,0.4904,0.91442,0.43668,1,0.39879,1,0.33537,0.86143,0.33706,0.74865,0.30793,0.74685,0.27501,0.74482,0.23289,0.74223,0.19991,0.68919,0.1664,0.63531,0.13417,0.58347,0.10325,0.53376,0.0787,0.49427,0.05711,0.41924,0.03755,0.35128,0.02008,0.29055,0.00463,0.23688,0.00217,0.1721,0,0.11497,0,0.06193,0,0.00208,0.03094,0,0.67106,0.50964,0.33528,0.61602],"triangles":[33,34,23,33,23,24,33,24,25,32,33,26,26,33,25,30,32,26,31,32,30,29,30,26,26,27,29,27,28,29,36,38,21,37,38,36,22,36,21,35,36,22,35,22,23,35,23,34,44,45,43,45,46,43,43,73,42,42,73,41,41,73,40,40,17,39,20,39,18,39,20,21,39,21,38,3,4,65,2,3,66,65,4,64,66,3,65,2,66,1,70,72,0,1,68,0,68,1,66,66,67,68,0,68,69,0,69,70,70,71,72,5,64,4,64,5,62,64,62,63,74,57,59,57,58,59,59,60,74,60,61,8,8,61,62,52,53,51,53,54,51,51,49,50,51,54,55,51,55,48,49,51,48,43,46,73,73,46,47,56,74,55,55,74,48,56,57,74,48,73,47,74,11,48,48,11,73,16,11,12,11,16,73,74,60,8,73,17,40,39,17,18,20,18,19,74,8,11,11,9,10,9,11,8,8,5,6,62,5,8,73,16,17,8,6,7,14,15,16,16,12,13,14,16,13],"vertices":[4,1,-322.53,237.43,0.00016,2,266.01,-43.88,0.00139,3,183.44,-39.19,0.03216,4,111.66,-31.82,0.96629,4,1,-296.26,224.85,0.00094,2,238.53,-53.56,0.00736,3,156.23,-49.57,0.0872,4,85.2,-43.99,0.9045,5,1,-266.35,210.53,0.00406,2,207.26,-64.58,0.02699,3,125.25,-61.39,0.17797,4,55.07,-57.85,0.79098,5,-199.73,452.85,0,5,1,-241.11,198.44,0.01365,2,180.87,-73.89,0.07313,3,99.1,-71.37,0.28582,4,29.65,-69.55,0.62739,5,-189.44,426.82,2e-05,5,1,-216.84,186.83,0.03557,2,155.49,-82.83,0.15503,3,73.96,-80.96,0.37051,4,5.21,-80.79,0.4388,5,-179.54,401.8,9e-05,5,1,-188.11,173.07,0.07448,2,125.45,-93.42,0.26651,3,44.2,-92.32,0.39549,4,-23.73,-94.11,0.26321,5,-167.82,372.18,0.00032,5,1,-153,156.26,0.13211,2,88.74,-106.36,0.3803,3,7.83,-106.2,0.35362,4,-59.1,-110.38,0.1315,5,-153.51,335.98,0.00247,1,1,-128.37,144.47,1,1,1,-131.4,83.44,1,1,1,-122.7,162.03,1,1,1,-109.68,177.19,1,1,1,-9.38,133.42,1,1,1,-2.78,143.43,1,1,1,151.14,155.43,1,1,1,155.34,137.2,1,1,1,154.28,112.97,1,1,1,140.81,90.03,1,2,1,152.57,81.63,0.73,5,19.81,73.49,0.27,2,1,156.84,107.65,0.81,5,40.63,89.66,0.19,6,1,169.32,129.19,0.66737,2,-158.31,-315.13,0.00454,3,-233.79,-321.23,0.00017,5,64.43,96.98,0.18045,6,-32.7,98.28,0.12814,7,-107.14,106.18,0.01934,6,1,185.79,142.17,0.13399,2,-160.78,-335.95,0.01181,3,-235.72,-342.1,0.00043,5,85.33,95.29,0.46981,6,-11.88,95.81,0.33362,7,-86.54,102.24,0.05035,6,1,211.35,156.1,0.06775,2,-169.01,-363.88,0.00229,3,-243.23,-370.23,8e-05,5,113.54,88.13,0.36163,6,16.05,87.59,0.43233,7,-59.27,92.04,0.13593,5,1,241.4,172.48,0.02954,2,-178.68,-396.72,2e-05,5,146.72,79.71,0.22877,6,48.89,77.92,0.45645,7,-27.21,80.06,0.28522,5,1,269.79,187.96,0.01109,2,-187.81,-427.73,0,5,178.06,71.75,0.11638,6,79.9,68.79,0.38944,7,3.08,68.74,0.48308,4,1,307.38,208.44,0.00324,5,219.55,61.22,0.04619,6,120.96,56.7,0.2636,7,43.17,53.76,0.68697,4,1,331.9,221.81,0.0007,5,246.61,54.35,0.01341,6,147.75,48.81,0.13797,7,69.33,43.98,0.84792,4,1,354.35,234.05,9e-05,5,271.4,48.05,0.0025,6,172.28,41.59,0.05276,7,93.29,35.03,0.94465,4,1,379.58,233.65,0,5,289.63,30.61,0.00023,6,189.84,23.47,0.01386,7,109.51,15.71,0.98591,2,6,204.89,7.94,0.00423,7,123.41,-0.85,0.99577,3,5,287.09,-3.93,1e-05,6,186,-10.95,0.0116,7,103.22,-18.35,0.98839,3,5,269.84,-22.53,0.00035,6,168.06,-28.89,0.03852,7,84.05,-34.96,0.96113,3,5,251.96,-41.81,0.00235,6,149.47,-47.48,0.09834,7,64.18,-52.19,0.89932,3,5,233.27,-50.39,0.01006,6,130.47,-55.35,0.20083,7,44.67,-58.68,0.78912,3,5,214.39,-59.05,0.03081,6,111.27,-63.3,0.33649,7,24.96,-65.24,0.6327,3,5,188.51,-70.93,0.07382,6,84.96,-74.19,0.4742,7,-2.06,-74.23,0.45198,3,5,169.07,-79.86,0.14593,6,65.2,-82.37,0.57187,7,-22.36,-80.98,0.2822,3,5,143.29,-91.68,0.24797,6,39,-93.22,0.601,7,-49.26,-89.94,0.15102,3,5,122.8,-101.09,0.37431,6,18.16,-101.85,0.55717,7,-70.67,-97.06,0.06852,3,5,104.69,-101.26,0.51316,6,0.06,-101.34,0.46097,7,-88.69,-95.26,0.02586,4,1,311.34,-9.87,2e-05,5,74.01,-101.56,0.65029,6,-30.6,-100.47,0.34157,7,-119.21,-92.22,0.00812,4,1,297.56,-22.89,0.00029,5,55.06,-101.74,0.7703,6,-49.55,-99.94,0.22736,7,-138.07,-90.33,0.00205,4,1,281.86,-37.73,0.00147,5,33.46,-101.95,0.86305,6,-71.15,-99.33,0.13507,7,-159.56,-88.19,0.00041,4,1,264.22,-54.41,0.00544,5,9.18,-102.18,0.92336,6,-95.42,-98.65,0.07115,7,-183.73,-85.78,5e-05,3,1,243.46,-74.03,0.02167,5,-19.39,-102.45,0.94595,6,-123.97,-97.85,0.03239,3,1,209.51,-106.12,0.06834,5,-66.09,-102.9,0.91933,6,-170.66,-96.53,0.01233,4,1,189.29,-97.66,0.16967,2,-332.85,-168.84,0,5,-75.17,-82.95,0.8267,6,-178.99,-76.25,0.00363,1,1,159.01,-85,1,1,1,154.47,-83.1,1,1,1,85.43,-54.24,1,1,1,91.1,-77.19,1,1,1,88.45,-112.18,1,1,1,7.79,-148.46,1,1,1,-33.69,-184.57,1,1,1,-62.94,-184.57,1,1,1,-111.89,-126.1,1,1,1,-110.6,-78.5,1,3,1,-133.08,-77.75,0.38158,2,-90.81,45.02,0.6173,3,-175.54,40.54,0.00112,4,1,-158.49,-76.89,0.23718,2,-72.24,62.39,0.75615,3,-157.42,58.37,0.00666,4,-234.94,42.81,1e-05,4,1,-191.02,-75.79,0.12911,2,-48.47,84.61,0.84502,3,-134.22,81.2,0.02561,4,-213.32,67.13,0.00026,4,1,-216.48,-53.41,0.06068,2,-14.64,86.79,0.86632,3,-100.46,84.24,0.07117,4,-179.84,72.42,0.00182,4,1,-242.34,-30.67,0.02398,2,19.73,89,0.81368,3,-66.16,87.33,0.1536,4,-145.82,77.79,0.00873,4,1,-267.23,-8.8,0.00759,2,52.8,91.13,0.69518,3,-33.16,90.31,0.26619,4,-113.09,82.95,0.03103,4,1,-291.09,12.18,0.00174,2,84.51,93.17,0.53329,3,-1.51,93.16,0.37916,4,-81.71,87.91,0.0858,4,1,-310.05,28.84,0.00024,2,109.69,94.79,0.3618,3,23.62,95.42,0.44814,4,-56.78,91.84,0.18982,4,1,-326.71,60.51,1e-05,2,143.87,84.18,0.21235,3,58.06,85.7,0.4418,4,-21.77,84.44,0.34585,3,2,174.82,74.58,0.10509,3,89.25,76.89,0.36219,4,9.94,77.73,0.53272,3,2,202.48,66,0.04199,3,117.12,69.02,0.24528,4,38.28,71.73,0.71273,3,2,226.93,58.41,0.01283,3,141.75,62.07,0.13523,4,63.31,66.44,0.85194,3,2,247.6,40.43,0.00266,3,162.88,44.62,0.05942,4,85.56,50.43,0.93791,3,2,265.84,24.57,0.00032,3,181.51,29.23,0.02012,4,105.18,36.32,0.97956,3,2,281.66,8.74,1e-05,3,197.74,13.81,0.005,4,122.4,22.02,0.99499,4,1,-370.8,236.55,0,2,299.52,-9.12,0,3,216.05,-3.58,0.00203,4,141.83,5.88,0.99797,4,1,-346.92,237.43,2e-05,2,283.25,-26.63,0.00015,3,200.24,-21.5,0.00831,4,127.24,-13.05,0.99153,1,1,147.25,22.36,1,1,1,-111.97,-22.53,1],"hull":73,"edges":[0,144,20,22,22,24,24,26,96,98,98,100,100,102,102,104,104,106,106,108,108,110,142,144,40,42,42,44,44,46,46,48,48,50,50,52,52,54,54,56,56,58,58,60,60,62,62,64,64,66,66,68,68,70,70,72,72,74,74,76,76,78,78,80,80,82,82,84,84,86,86,88,88,90,90,92,0,2,2,4,4,6,6,8,8,10,10,12,12,14,138,140,140,142,134,136,136,138,132,134,130,132,126,128,128,130,124,126,122,124,120,122,116,118,118,120,114,116,110,112,112,114,34,32,38,40,36,34,38,36,26,28,30,32,28,30,14,16,18,20,16,18,34,146,92,94,94,96,146,94,16,148,148,110],"width":772,"height":422}},"KS_F6":{"KS_F003":{"width":256,"height":256}}}}],"animations":{"animation":{"slots":{"1_00000":{"rgba":[{"color":"ffffff00","curve":"stepped"},{"time":0.2,"color":"ffffff00"},{"time":0.4333,"color":"ffffffff","curve":"stepped"},{"time":2.5667,"color":"ffffffff"},{"time":2.9,"color":"ffffff00"}]},"8":{"rgba":[{"color":"ffffff00"},{"time":0.5,"color":"ffffffff","curve":"stepped"},{"time":2.5667,"color":"ffffffff"},{"time":2.9,"color":"ffffff00"}]},"KS_F6":{"rgba":[{"time":0.3,"color":"ffffffff"},{"time":0.5667,"color":"ffffff01"}]}},"bones":{"8":{"translate":[{"y":-84.5,"curve":[0.125,0,0.375,0,0.125,-84.5,0.375,0]},{"time":0.5,"curve":[0.567,0,0.7,0,0.567,0,0.7,-5.35]},{"time":0.7667,"y":-5.35,"curve":[0.858,0,1.042,0,0.858,-5.35,1.042,5.28]},{"time":1.1333,"y":5.28,"curve":[1.225,0,1.408,0,1.225,5.28,1.408,-5.35]},{"time":1.5,"y":-5.35,"curve":[1.583,0,1.75,0,1.583,-5.35,1.75,5.28]},{"time":1.8333,"y":5.28,"curve":[1.925,0,2.108,0,1.925,5.28,2.108,-5.35]},{"time":2.2,"y":-5.35,"curve":[2.283,0,2.45,0,2.283,-5.35,2.45,5.28]},{"time":2.5333,"y":5.28,"curve":[2.625,0,2.808,0,2.625,5.28,2.808,-5.35]},{"time":2.9,"y":-5.35}]},"9":{"rotate":[{"value":19.11,"curve":"stepped"},{"time":0.0667,"value":19.11,"curve":[0.067,-2.17,0.367,-6.92]},{"time":0.4667,"value":-6.92,"curve":[0.517,-6.92,0.617,0]},{"time":0.6667}]},"11":{"rotate":[{"value":19.11,"curve":"stepped"},{"time":0.2,"value":19.11,"curve":[0.2,-2.17,0.5,-6.92]},{"time":0.6,"value":-6.92,"curve":[0.65,-6.92,0.75,0]},{"time":0.8}]},"10":{"rotate":[{"value":19.11,"curve":"stepped"},{"time":0.1333,"value":19.11,"curve":[0.133,-2.17,0.433,-6.92]},{"time":0.5333,"value":-6.92,"curve":[0.583,-6.92,0.683,0]},{"time":0.7333}]},"12":{"rotate":[{"value":-20.19,"curve":"stepped"},{"time":0.0667,"value":-20.19,"curve":[0.067,-0.63,0.367,6.21]},{"time":0.4667,"value":6.21,"curve":[0.517,6.21,0.617,0]},{"time":0.6667}]},"14":{"rotate":[{"value":-20.19,"curve":"stepped"},{"time":0.2,"value":-20.19,"curve":[0.2,-0.63,0.5,6.21]},{"time":0.6,"value":6.21,"curve":[0.65,6.21,0.75,0]},{"time":0.8}]},"13":{"rotate":[{"value":-20.19,"curve":"stepped"},{"time":0.1333,"value":-20.19,"curve":[0.133,-0.63,0.433,6.21]},{"time":0.5333,"value":6.21,"curve":[0.583,6.21,0.683,0]},{"time":0.7333}]},"KS_F6":{"scale":[{"x":0,"y":0,"curve":"stepped"},{"time":0.0667,"x":0,"y":0,"curve":[0.067,4.797,0.442,5.775,0.067,4.797,0.442,5.775]},{"time":0.5667,"x":5.775,"y":5.775}]},"骨骼7":{"scale":[{"x":2.137,"y":2.137}]},"1_00000":{"rotate":[{},{"time":2.9,"value":-200}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/rebirth/skeleton.webp b/nginx/minesweeper/assets/spine/rebirth/skeleton.webp new file mode 100644 index 0000000..a466b17 Binary files /dev/null and b/nginx/minesweeper/assets/spine/rebirth/skeleton.webp differ diff --git a/nginx/minesweeper/assets/spine/shield/skeleton.atlas b/nginx/minesweeper/assets/spine/shield/skeleton.atlas new file mode 100644 index 0000000..a77f43e --- /dev/null +++ b/nginx/minesweeper/assets/spine/shield/skeleton.atlas @@ -0,0 +1,26 @@ +skeleton.avif +size: 1787,1525 +format: RGBA8888 +filter: Linear,Linear +repeat: none +3 + rotate: false + xy: 2, 2 + size: 1525, 1521 + orig: 1525, 1521 + offset: 0, 0 + index: -1 +KS_F003 + rotate: false + xy: 1529, 1267 + size: 256, 256 + orig: 256, 256 + offset: 0, 0 + index: -1 +KS_F006 + rotate: false + xy: 1529, 1141 + size: 122, 124 + orig: 128, 128 + offset: 4, 4 + index: -1 diff --git a/nginx/minesweeper/assets/spine/shield/skeleton.avif b/nginx/minesweeper/assets/spine/shield/skeleton.avif new file mode 100644 index 0000000..401e3fc Binary files /dev/null and b/nginx/minesweeper/assets/spine/shield/skeleton.avif differ diff --git a/nginx/minesweeper/assets/spine/shield/skeleton.json b/nginx/minesweeper/assets/spine/shield/skeleton.json new file mode 100644 index 0000000..781cdfa --- /dev/null +++ b/nginx/minesweeper/assets/spine/shield/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"grug3urJ2OWKX5Jwbae6g54Xaoo=","spine":"3.8","x":-468.9,"y":-468.9,"width":937.81,"height":937.81,"images":"../护盾/images/","audio":""},"bones":[{"name":"root"},{"name":"3","parent":"root"},{"name":"KS_F003","parent":"root"}],"slots":[{"name":"3","bone":"3","attachment":"3"},{"name":"KS_F003","bone":"KS_F003","attachment":"KS_F003","blend":"additive"},{"name":"KS_F006","bone":"root","blend":"additive"}],"skins":[{"name":"default","attachments":{"KS_F003":{"KS_F003":{"scaleX":3.6633,"scaleY":3.6633,"width":256,"height":256}},"KS_F006":{"KS_F006":{"width":128,"height":128}},"3":{"3":{"x":0.5,"y":0.5,"scaleX":0.2394,"scaleY":0.2394,"width":1525,"height":1521}}}}],"animations":{"animation":{"slots":{"3":{"color":[{"color":"ffffff00"},{"time":0.1667,"color":"ffffffff","curve":"stepped"},{"time":0.6667,"color":"ffffffff"},{"time":0.9,"color":"ffffff00"}]},"KS_F003":{"color":[{"time":0.2333,"color":"ffffffff"},{"time":0.4,"color":"ffffff00"}]}},"bones":{"3":{"scale":[{"x":1.45,"y":1.45,"curve":0,"c2":0.79,"c3":0.75},{"time":0.1667}]},"KS_F003":{"scale":[{"x":0,"y":0,"curve":"stepped"},{"time":0.0667,"x":0,"y":0,"curve":0,"c2":0.59,"c3":0.75},{"time":0.4,"x":1.282,"y":1.282}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/sloth/skeleton.atlas b/nginx/minesweeper/assets/spine/sloth/skeleton.atlas new file mode 100644 index 0000000..1cc6f58 --- /dev/null +++ b/nginx/minesweeper/assets/spine/sloth/skeleton.atlas @@ -0,0 +1,667 @@ +skeleton.webp +size: 1882,1718 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00000 + rotate: false + xy: 2, 1715 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00091 + rotate: false + xy: 2, 1715 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00001 + rotate: true + xy: 348, 1381 + size: 335, 338 + orig: 430, 450 + offset: 31, 44 + index: -1 +1_00002 + rotate: false + xy: 2, 1043 + size: 339, 345 + orig: 430, 450 + offset: 29, 42 + index: -1 +1_00003 + rotate: true + xy: 2, 699 + size: 341, 346 + orig: 430, 450 + offset: 28, 41 + index: -1 +1_00004 + rotate: true + xy: 1176, 349 + size: 343, 345 + orig: 430, 450 + offset: 27, 41 + index: -1 +1_00006 + rotate: true + xy: 410, 7 + size: 345, 346 + orig: 430, 450 + offset: 26, 40 + index: -1 +1_00012 + rotate: false + xy: 758, 4 + size: 350, 345 + orig: 430, 450 + offset: 25, 36 + index: -1 +1_00014 + rotate: false + xy: 350, 698 + size: 349, 341 + orig: 430, 450 + offset: 25, 36 + index: -1 +1_00017 + rotate: false + xy: 701, 698 + size: 356, 341 + orig: 430, 450 + offset: 24, 36 + index: -1 +1_00018 + rotate: false + xy: 1464, 1037 + size: 357, 340 + orig: 430, 450 + offset: 24, 36 + index: -1 +1_00019 + rotate: false + xy: 410, 354 + size: 357, 342 + orig: 430, 450 + offset: 24, 35 + index: -1 +1_00020 + rotate: false + xy: 1523, 349 + size: 357, 343 + orig: 430, 450 + offset: 24, 34 + index: -1 +1_00021 + rotate: false + xy: 1059, 695 + size: 355, 341 + orig: 430, 450 + offset: 25, 35 + index: -1 +1_00022 + rotate: false + xy: 1416, 694 + size: 354, 341 + orig: 430, 450 + offset: 23, 34 + index: -1 +1_00023 + rotate: false + xy: 1110, 2 + size: 356, 345 + orig: 430, 450 + offset: 23, 30 + index: -1 +1_00026 + rotate: false + xy: 1468, 2 + size: 351, 345 + orig: 430, 450 + offset: 25, 29 + index: -1 +1_00080 + rotate: false + xy: 2, 10 + size: 406, 343 + orig: 430, 450 + offset: 24, 11 + index: -1 +1_00081 + rotate: false + xy: 769, 351 + size: 405, 342 + orig: 430, 450 + offset: 25, 12 + index: -1 +1_00082 + rotate: false + xy: 2, 355 + size: 406, 341 + orig: 430, 450 + offset: 24, 12 + index: -1 +1_00084 + rotate: false + xy: 1080, 1038 + size: 382, 339 + orig: 430, 450 + offset: 25, 12 + index: -1 +1_00085 + rotate: false + xy: 697, 1041 + size: 381, 338 + orig: 430, 450 + offset: 25, 12 + index: -1 +1_00086 + rotate: false + xy: 1392, 1379 + size: 353, 337 + orig: 430, 450 + offset: 26, 13 + index: -1 +1_00087 + rotate: false + xy: 343, 1042 + size: 352, 337 + orig: 430, 450 + offset: 26, 12 + index: -1 +1_00088 + rotate: false + xy: 688, 1381 + size: 351, 335 + orig: 430, 450 + offset: 27, 13 + index: -1 +1_00089 + rotate: false + xy: 1041, 1381 + size: 349, 335 + orig: 430, 450 + offset: 28, 13 + index: -1 +1_00090 + rotate: false + xy: 5, 1390 + size: 341, 326 + orig: 430, 450 + offset: 31, 17 + index: -1 + +skeleton2.webp +size: 1825,1750 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00005 + rotate: false + xy: 1124, 1402 + size: 346, 346 + orig: 430, 450 + offset: 26, 40 + index: -1 +1_00007 + rotate: true + xy: 1472, 1402 + size: 346, 348 + orig: 430, 450 + offset: 26, 38 + index: -1 +1_00008 + rotate: true + xy: 2, 1055 + size: 346, 348 + orig: 430, 450 + offset: 26, 37 + index: -1 +1_00009 + rotate: false + xy: 352, 1055 + size: 347, 346 + orig: 430, 450 + offset: 26, 38 + index: -1 +1_00013 + rotate: true + xy: 732, 353 + size: 349, 369 + orig: 430, 450 + offset: 25, 10 + index: -1 +1_00024 + rotate: false + xy: 701, 1055 + size: 353, 346 + orig: 430, 450 + offset: 24, 29 + index: -1 +1_00025 + rotate: false + xy: 410, 706 + size: 352, 347 + orig: 430, 450 + offset: 24, 28 + index: -1 +1_00027 + rotate: false + xy: 2, 1403 + size: 353, 345 + orig: 430, 450 + offset: 22, 30 + index: -1 +1_00028 + rotate: false + xy: 1056, 1054 + size: 352, 346 + orig: 430, 450 + offset: 23, 29 + index: -1 +1_00029 + rotate: false + xy: 764, 704 + size: 354, 348 + orig: 430, 450 + offset: 23, 28 + index: -1 +1_00030 + rotate: false + xy: 1120, 704 + size: 351, 348 + orig: 430, 450 + offset: 24, 28 + index: -1 +1_00031 + rotate: false + xy: 1473, 704 + size: 350, 348 + orig: 430, 450 + offset: 24, 28 + index: -1 +1_00032 + rotate: false + xy: 1103, 353 + size: 351, 349 + orig: 430, 450 + offset: 24, 28 + index: -1 +1_00033 + rotate: false + xy: 2, 5 + size: 352, 350 + orig: 430, 450 + offset: 23, 27 + index: -1 +1_00037 + rotate: true + xy: 1456, 353 + size: 349, 356 + orig: 430, 450 + offset: 24, 23 + index: -1 +1_00038 + rotate: true + xy: 2, 357 + size: 348, 359 + orig: 430, 450 + offset: 25, 22 + index: -1 +1_00039 + rotate: true + xy: 356, 5 + size: 349, 360 + orig: 430, 450 + offset: 23, 21 + index: -1 +1_00043 + rotate: true + xy: 718, 2 + size: 349, 364 + orig: 430, 450 + offset: 22, 18 + index: -1 +1_00049 + rotate: true + xy: 1084, 2 + size: 349, 367 + orig: 430, 450 + offset: 22, 15 + index: -1 +1_00052 + rotate: true + xy: 357, 1403 + size: 345, 368 + orig: 430, 450 + offset: 24, 14 + index: -1 +1_00053 + rotate: true + xy: 1453, 2 + size: 349, 369 + orig: 430, 450 + offset: 22, 13 + index: -1 +1_00056 + rotate: true + xy: 363, 356 + size: 348, 367 + orig: 430, 450 + offset: 22, 14 + index: -1 +1_00078 + rotate: false + xy: 1410, 1054 + size: 407, 346 + orig: 430, 450 + offset: 23, 11 + index: -1 +1_00079 + rotate: false + xy: 2, 707 + size: 406, 346 + orig: 430, 450 + offset: 24, 11 + index: -1 +1_00083 + rotate: false + xy: 727, 1403 + size: 395, 345 + orig: 430, 450 + offset: 25, 12 + index: -1 + +skeleton3.webp +size: 1914,1791 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00015 + rotate: true + xy: 1533, 370 + size: 356, 379 + orig: 430, 450 + offset: 25, 0 + index: -1 +1_00016 + rotate: true + xy: 2, 16 + size: 356, 378 + orig: 430, 450 + offset: 25, 0 + index: -1 +1_00034 + rotate: true + xy: 2, 1439 + size: 350, 354 + orig: 430, 450 + offset: 23, 24 + index: -1 +1_00035 + rotate: true + xy: 2, 1086 + size: 351, 355 + orig: 430, 450 + offset: 23, 24 + index: -1 +1_00036 + rotate: true + xy: 358, 1439 + size: 350, 353 + orig: 430, 450 + offset: 24, 25 + index: -1 +1_00040 + rotate: true + xy: 1471, 1084 + size: 353, 380 + orig: 430, 450 + offset: 18, 0 + index: -1 +1_00041 + rotate: true + xy: 2, 730 + size: 353, 380 + orig: 430, 450 + offset: 18, 0 + index: -1 +1_00042 + rotate: true + xy: 359, 1085 + size: 352, 380 + orig: 430, 450 + offset: 19, 1 + index: -1 +1_00044 + rotate: false + xy: 1129, 3 + size: 408, 365 + orig: 430, 450 + offset: 22, 18 + index: -1 +1_00048 + rotate: true + xy: 741, 1085 + size: 352, 373 + orig: 430, 450 + offset: 21, 15 + index: -1 +1_00051 + rotate: false + xy: 1539, 2 + size: 368, 366 + orig: 430, 450 + offset: 23, 15 + index: -1 +1_00055 + rotate: true + xy: 713, 1439 + size: 350, 367 + orig: 430, 450 + offset: 21, 13 + index: -1 +1_00062 + rotate: true + xy: 1082, 1439 + size: 350, 366 + orig: 430, 450 + offset: 20, 11 + index: -1 +1_00064 + rotate: true + xy: 746, 729 + size: 354, 364 + orig: 430, 450 + offset: 18, 11 + index: -1 +1_00067 + rotate: true + xy: 406, 372 + size: 355, 363 + orig: 430, 450 + offset: 18, 9 + index: -1 +1_00068 + rotate: true + xy: 1112, 728 + size: 354, 363 + orig: 430, 450 + offset: 19, 8 + index: -1 +1_00069 + rotate: true + xy: 384, 730 + size: 353, 360 + orig: 430, 450 + offset: 20, 9 + index: -1 +1_00070 + rotate: false + xy: 755, 7 + size: 372, 362 + orig: 430, 450 + offset: 20, 6 + index: -1 +1_00071 + rotate: false + xy: 382, 10 + size: 371, 360 + orig: 430, 450 + offset: 21, 7 + index: -1 +1_00072 + rotate: false + xy: 771, 371 + size: 355, 355 + orig: 430, 450 + offset: 22, 10 + index: -1 +1_00073 + rotate: false + xy: 1477, 728 + size: 394, 354 + orig: 430, 450 + offset: 22, 10 + index: -1 +1_00074 + rotate: false + xy: 1116, 1085 + size: 353, 352 + orig: 430, 450 + offset: 23, 10 + index: -1 +1_00075 + rotate: false + xy: 1128, 371 + size: 403, 355 + orig: 430, 450 + offset: 23, 6 + index: -1 +1_00076 + rotate: false + xy: 2, 374 + size: 402, 354 + orig: 430, 450 + offset: 24, 7 + index: -1 +1_00077 + rotate: false + xy: 1450, 1439 + size: 408, 350 + orig: 430, 450 + offset: 22, 10 + index: -1 + +skeleton4.webp +size: 2032,1132 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00010 + rotate: false + xy: 1217, 14 + size: 409, 375 + orig: 430, 450 + offset: 21, 8 + index: -1 +1_00011 + rotate: false + xy: 807, 16 + size: 408, 373 + orig: 430, 450 + offset: 22, 9 + index: -1 +1_00045 + rotate: false + xy: 1205, 391 + size: 407, 369 + orig: 430, 450 + offset: 23, 18 + index: -1 +1_00046 + rotate: false + xy: 2, 763 + size: 407, 367 + orig: 430, 450 + offset: 23, 18 + index: -1 +1_00047 + rotate: false + xy: 1628, 2 + size: 402, 387 + orig: 430, 450 + offset: 23, 17 + index: -1 +1_00050 + rotate: false + xy: 1217, 762 + size: 369, 368 + orig: 430, 450 + offset: 23, 14 + index: -1 +1_00054 + rotate: false + xy: 1588, 762 + size: 408, 368 + orig: 430, 450 + offset: 22, 13 + index: -1 +1_00057 + rotate: false + xy: 810, 392 + size: 393, 369 + orig: 430, 450 + offset: 21, 12 + index: -1 +1_00058 + rotate: false + xy: 1614, 391 + size: 408, 369 + orig: 430, 450 + offset: 22, 11 + index: -1 +1_00059 + rotate: false + xy: 2, 22 + size: 408, 369 + orig: 430, 450 + offset: 22, 11 + index: -1 +1_00060 + rotate: false + xy: 2, 393 + size: 414, 368 + orig: 430, 450 + offset: 16, 11 + index: -1 +1_00061 + rotate: false + xy: 411, 763 + size: 413, 367 + orig: 430, 450 + offset: 17, 12 + index: -1 +1_00063 + rotate: false + xy: 412, 22 + size: 393, 369 + orig: 430, 450 + offset: 17, 7 + index: -1 +1_00065 + rotate: false + xy: 418, 393 + size: 390, 368 + orig: 430, 450 + offset: 19, 6 + index: -1 +1_00066 + rotate: false + xy: 826, 763 + size: 389, 367 + orig: 430, 450 + offset: 19, 7 + index: -1 diff --git a/nginx/minesweeper/assets/spine/sloth/skeleton.json b/nginx/minesweeper/assets/spine/sloth/skeleton.json new file mode 100644 index 0000000..e69618a --- /dev/null +++ b/nginx/minesweeper/assets/spine/sloth/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"LyVQCa5zXNuSf2VdU5Rn04FwlLc=","spine":"3.8","images":"../树懒/xlt/","audio":""},"bones":[{"name":"root"}],"slots":[{"name":"1","bone":"root"}],"skins":[{"name":"default","attachments":{"1":{"1_00000":{"width":430,"height":450},"1_00001":{"width":430,"height":450},"1_00002":{"width":430,"height":450},"1_00003":{"width":430,"height":450},"1_00004":{"width":430,"height":450},"1_00005":{"width":430,"height":450},"1_00006":{"width":430,"height":450},"1_00007":{"width":430,"height":450},"1_00008":{"width":430,"height":450},"1_00009":{"width":430,"height":450},"1_00010":{"width":430,"height":450},"1_00011":{"width":430,"height":450},"1_00012":{"width":430,"height":450},"1_00013":{"width":430,"height":450},"1_00014":{"width":430,"height":450},"1_00015":{"width":430,"height":450},"1_00016":{"width":430,"height":450},"1_00017":{"width":430,"height":450},"1_00018":{"width":430,"height":450},"1_00019":{"width":430,"height":450},"1_00020":{"width":430,"height":450},"1_00021":{"width":430,"height":450},"1_00022":{"width":430,"height":450},"1_00023":{"width":430,"height":450},"1_00024":{"width":430,"height":450},"1_00025":{"width":430,"height":450},"1_00026":{"width":430,"height":450},"1_00027":{"width":430,"height":450},"1_00028":{"width":430,"height":450},"1_00029":{"width":430,"height":450},"1_00030":{"width":430,"height":450},"1_00031":{"width":430,"height":450},"1_00032":{"width":430,"height":450},"1_00033":{"width":430,"height":450},"1_00034":{"width":430,"height":450},"1_00035":{"width":430,"height":450},"1_00036":{"width":430,"height":450},"1_00037":{"width":430,"height":450},"1_00038":{"width":430,"height":450},"1_00039":{"width":430,"height":450},"1_00040":{"width":430,"height":450},"1_00041":{"width":430,"height":450},"1_00042":{"width":430,"height":450},"1_00043":{"width":430,"height":450},"1_00044":{"width":430,"height":450},"1_00045":{"width":430,"height":450},"1_00046":{"width":430,"height":450},"1_00047":{"width":430,"height":450},"1_00048":{"width":430,"height":450},"1_00049":{"width":430,"height":450},"1_00050":{"width":430,"height":450},"1_00051":{"width":430,"height":450},"1_00052":{"width":430,"height":450},"1_00053":{"width":430,"height":450},"1_00054":{"width":430,"height":450},"1_00055":{"width":430,"height":450},"1_00056":{"width":430,"height":450},"1_00057":{"width":430,"height":450},"1_00058":{"width":430,"height":450},"1_00059":{"width":430,"height":450},"1_00060":{"width":430,"height":450},"1_00061":{"width":430,"height":450},"1_00062":{"width":430,"height":450},"1_00063":{"width":430,"height":450},"1_00064":{"width":430,"height":450},"1_00065":{"width":430,"height":450},"1_00066":{"width":430,"height":450},"1_00067":{"width":430,"height":450},"1_00068":{"width":430,"height":450},"1_00069":{"width":430,"height":450},"1_00070":{"width":430,"height":450},"1_00071":{"width":430,"height":450},"1_00072":{"width":430,"height":450},"1_00073":{"width":430,"height":450},"1_00074":{"width":430,"height":450},"1_00075":{"width":430,"height":450},"1_00076":{"width":430,"height":450},"1_00077":{"width":430,"height":450},"1_00078":{"width":430,"height":450},"1_00079":{"width":430,"height":450},"1_00080":{"width":430,"height":450},"1_00081":{"width":430,"height":450},"1_00082":{"width":430,"height":450},"1_00083":{"width":430,"height":450},"1_00084":{"width":430,"height":450},"1_00085":{"width":430,"height":450},"1_00086":{"width":430,"height":450},"1_00087":{"width":430,"height":450},"1_00088":{"width":430,"height":450},"1_00089":{"width":430,"height":450},"1_00090":{"width":430,"height":450},"1_00091":{"width":430,"height":450}}}}],"animations":{"animation":{"slots":{"1":{"color":[{"color":"ffffff00"},{"time":0.3333,"color":"ffffffff","curve":"stepped"},{"time":2.7,"color":"ffffffff"},{"time":3.0333,"color":"ffffff00"}],"attachment":[{"name":"1_00000"},{"time":0.0333,"name":"1_00001"},{"time":0.0667,"name":"1_00002"},{"time":0.1,"name":"1_00003"},{"time":0.1333,"name":"1_00004"},{"time":0.1667,"name":"1_00005"},{"time":0.2,"name":"1_00006"},{"time":0.2333,"name":"1_00007"},{"time":0.2667,"name":"1_00008"},{"time":0.3,"name":"1_00009"},{"time":0.3333,"name":"1_00010"},{"time":0.3667,"name":"1_00011"},{"time":0.4,"name":"1_00012"},{"time":0.4333,"name":"1_00013"},{"time":0.4667,"name":"1_00014"},{"time":0.5,"name":"1_00015"},{"time":0.5333,"name":"1_00016"},{"time":0.5667,"name":"1_00017"},{"time":0.6,"name":"1_00018"},{"time":0.6333,"name":"1_00019"},{"time":0.6667,"name":"1_00020"},{"time":0.7,"name":"1_00021"},{"time":0.7333,"name":"1_00022"},{"time":0.7667,"name":"1_00023"},{"time":0.8,"name":"1_00024"},{"time":0.8333,"name":"1_00025"},{"time":0.8667,"name":"1_00026"},{"time":0.9,"name":"1_00027"},{"time":0.9333,"name":"1_00028"},{"time":0.9667,"name":"1_00029"},{"time":1,"name":"1_00030"},{"time":1.0333,"name":"1_00031"},{"time":1.0667,"name":"1_00032"},{"time":1.1,"name":"1_00033"},{"time":1.1333,"name":"1_00034"},{"time":1.1667,"name":"1_00035"},{"time":1.2,"name":"1_00036"},{"time":1.2333,"name":"1_00037"},{"time":1.2667,"name":"1_00038"},{"time":1.3,"name":"1_00039"},{"time":1.3333,"name":"1_00040"},{"time":1.3667,"name":"1_00041"},{"time":1.4,"name":"1_00042"},{"time":1.4333,"name":"1_00043"},{"time":1.4667,"name":"1_00044"},{"time":1.5,"name":"1_00045"},{"time":1.5333,"name":"1_00046"},{"time":1.5667,"name":"1_00047"},{"time":1.6,"name":"1_00048"},{"time":1.6333,"name":"1_00049"},{"time":1.6667,"name":"1_00050"},{"time":1.7,"name":"1_00051"},{"time":1.7333,"name":"1_00052"},{"time":1.7667,"name":"1_00053"},{"time":1.8,"name":"1_00054"},{"time":1.8333,"name":"1_00055"},{"time":1.8667,"name":"1_00056"},{"time":1.9,"name":"1_00057"},{"time":1.9333,"name":"1_00058"},{"time":1.9667,"name":"1_00059"},{"time":2,"name":"1_00060"},{"time":2.0333,"name":"1_00061"},{"time":2.0667,"name":"1_00062"},{"time":2.1,"name":"1_00063"},{"time":2.1333,"name":"1_00064"},{"time":2.1667,"name":"1_00065"},{"time":2.2,"name":"1_00066"},{"time":2.2333,"name":"1_00067"},{"time":2.2667,"name":"1_00068"},{"time":2.3,"name":"1_00069"},{"time":2.3333,"name":"1_00070"},{"time":2.3667,"name":"1_00071"},{"time":2.4,"name":"1_00072"},{"time":2.4333,"name":"1_00073"},{"time":2.4667,"name":"1_00074"},{"time":2.5,"name":"1_00075"},{"time":2.5333,"name":"1_00076"},{"time":2.5667,"name":"1_00077"},{"time":2.6,"name":"1_00078"},{"time":2.6333,"name":"1_00079"},{"time":2.6667,"name":"1_00080"},{"time":2.7,"name":"1_00081"},{"time":2.7333,"name":"1_00082"},{"time":2.7667,"name":"1_00083"},{"time":2.8,"name":"1_00084"},{"time":2.8333,"name":"1_00085"},{"time":2.8667,"name":"1_00086"},{"time":2.9,"name":"1_00087"},{"time":2.9333,"name":"1_00088"},{"time":2.9667,"name":"1_00089"},{"time":3,"name":"1_00090"},{"time":3.0333,"name":"1_00091"}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/sloth/skeleton.webp b/nginx/minesweeper/assets/spine/sloth/skeleton.webp new file mode 100644 index 0000000..87e98ca Binary files /dev/null and b/nginx/minesweeper/assets/spine/sloth/skeleton.webp differ diff --git a/nginx/minesweeper/assets/spine/sloth/skeleton2.webp b/nginx/minesweeper/assets/spine/sloth/skeleton2.webp new file mode 100644 index 0000000..5ce5f33 Binary files /dev/null and b/nginx/minesweeper/assets/spine/sloth/skeleton2.webp differ diff --git a/nginx/minesweeper/assets/spine/sloth/skeleton3.webp b/nginx/minesweeper/assets/spine/sloth/skeleton3.webp new file mode 100644 index 0000000..aaceaa4 Binary files /dev/null and b/nginx/minesweeper/assets/spine/sloth/skeleton3.webp differ diff --git a/nginx/minesweeper/assets/spine/sloth/skeleton4.webp b/nginx/minesweeper/assets/spine/sloth/skeleton4.webp new file mode 100644 index 0000000..fbc2136 Binary files /dev/null and b/nginx/minesweeper/assets/spine/sloth/skeleton4.webp differ diff --git a/nginx/minesweeper/assets/spine/thunder/skeleton.atlas b/nginx/minesweeper/assets/spine/thunder/skeleton.atlas new file mode 100644 index 0000000..7086252 --- /dev/null +++ b/nginx/minesweeper/assets/spine/thunder/skeleton.atlas @@ -0,0 +1,82 @@ +skeleton.webp +size: 1924,1033 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00000 + rotate: false + xy: 1637, 159 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00002 + rotate: false + xy: 1637, 159 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00006 + rotate: false + xy: 1637, 159 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00008 + rotate: false + xy: 1637, 159 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00010 + rotate: false + xy: 1637, 159 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00001 + rotate: true + xy: 1093, 9 + size: 151, 542 + orig: 1080, 1920 + offset: 446, 1378 + index: -1 +1_00003 + rotate: true + xy: 2, 308 + size: 217, 1920 + orig: 1080, 1920 + offset: 380, 0 + index: -1 +1_00004 + rotate: true + xy: 2, 527 + size: 232, 1920 + orig: 1080, 1920 + offset: 365, 0 + index: -1 +1_00005 + rotate: true + xy: 2, 761 + size: 270, 1920 + orig: 1080, 1920 + offset: 327, 0 + index: -1 +1_00007 + rotate: true + xy: 2, 162 + size: 144, 1920 + orig: 1080, 1920 + offset: 453, 0 + index: -1 +1_00009 + rotate: true + xy: 2, 2 + size: 158, 1089 + orig: 1080, 1920 + offset: 439, 0 + index: -1 diff --git a/nginx/minesweeper/assets/spine/thunder/skeleton.json b/nginx/minesweeper/assets/spine/thunder/skeleton.json new file mode 100644 index 0000000..a7e8660 --- /dev/null +++ b/nginx/minesweeper/assets/spine/thunder/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"M0/u6Pnh6ngDzT0Sl27WMoKKAZ0=","spine":"3.8","x":-540,"y":-960,"width":1080,"height":1920,"images":"./xvlietu/","audio":""},"bones":[{"name":"root"}],"slots":[{"name":"1","bone":"root","attachment":"1_00003"}],"skins":[{"name":"default","attachments":{"1":{"1_00000":{"width":1080,"height":1920},"1_00001":{"width":1080,"height":1920},"1_00002":{"width":1080,"height":1920},"1_00003":{"width":1080,"height":1920},"1_00004":{"width":1080,"height":1920},"1_00005":{"width":1080,"height":1920},"1_00006":{"width":1080,"height":1920},"1_00007":{"width":1080,"height":1920},"1_00008":{"width":1080,"height":1920},"1_00009":{"width":1080,"height":1920},"1_00010":{"width":1080,"height":1920}}}}],"animations":{"animation":{"slots":{"1":{"attachment":[{"name":"1_00000"},{"time":0.0333,"name":"1_00001"},{"time":0.0667,"name":"1_00002"},{"time":0.1,"name":"1_00003"},{"time":0.1333,"name":"1_00004"},{"time":0.1667,"name":"1_00005"},{"time":0.2,"name":"1_00006"},{"time":0.2333,"name":"1_00007"},{"time":0.2667,"name":"1_00008"},{"time":0.3,"name":"1_00009"},{"time":0.3333,"name":"1_00010"}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/thunder/skeleton.webp b/nginx/minesweeper/assets/spine/thunder/skeleton.webp new file mode 100644 index 0000000..3568d6a Binary files /dev/null and b/nginx/minesweeper/assets/spine/thunder/skeleton.webp differ diff --git a/nginx/minesweeper/assets/spine/tiger/skeleton.atlas b/nginx/minesweeper/assets/spine/tiger/skeleton.atlas new file mode 100644 index 0000000..61e3ba8 --- /dev/null +++ b/nginx/minesweeper/assets/spine/tiger/skeleton.atlas @@ -0,0 +1,586 @@ +skeleton.webp +size: 2012,995 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00000 + rotate: false + xy: 2, 992 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00082 + rotate: false + xy: 2, 992 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00001 + rotate: true + xy: 5, 856 + size: 137, 142 + orig: 150, 190 + offset: 12, 10 + index: -1 +1_00002 + rotate: true + xy: 149, 856 + size: 137, 143 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00003 + rotate: true + xy: 294, 856 + size: 137, 144 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00004 + rotate: true + xy: 440, 856 + size: 137, 144 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00005 + rotate: true + xy: 586, 856 + size: 137, 144 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00006 + rotate: true + xy: 732, 856 + size: 137, 145 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00007 + rotate: true + xy: 879, 856 + size: 137, 145 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00008 + rotate: true + xy: 1026, 856 + size: 137, 144 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00009 + rotate: true + xy: 1172, 856 + size: 137, 145 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00010 + rotate: true + xy: 1319, 856 + size: 137, 145 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00011 + rotate: true + xy: 1466, 856 + size: 137, 146 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00012 + rotate: true + xy: 1614, 856 + size: 137, 169 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00013 + rotate: true + xy: 2, 438 + size: 138, 170 + orig: 150, 190 + offset: 11, 9 + index: -1 +1_00014 + rotate: true + xy: 1030, 436 + size: 140, 170 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00015 + rotate: true + xy: 1202, 436 + size: 140, 171 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00016 + rotate: true + xy: 347, 11 + size: 141, 171 + orig: 150, 190 + offset: 8, 9 + index: -1 +1_00017 + rotate: true + xy: 1785, 856 + size: 137, 171 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00018 + rotate: true + xy: 1375, 436 + size: 140, 170 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00019 + rotate: true + xy: 1547, 436 + size: 140, 170 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00020 + rotate: true + xy: 1719, 429 + size: 140, 171 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00021 + rotate: true + xy: 520, 10 + size: 141, 171 + orig: 150, 190 + offset: 8, 9 + index: -1 +1_00022 + rotate: true + xy: 2, 296 + size: 140, 171 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00023 + rotate: true + xy: 175, 296 + size: 140, 171 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00024 + rotate: true + xy: 348, 296 + size: 140, 170 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00025 + rotate: true + xy: 520, 295 + size: 140, 170 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00026 + rotate: true + xy: 692, 295 + size: 140, 171 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00027 + rotate: true + xy: 693, 9 + size: 141, 171 + orig: 150, 190 + offset: 8, 9 + index: -1 +1_00028 + rotate: true + xy: 865, 294 + size: 140, 171 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00029 + rotate: true + xy: 1038, 294 + size: 140, 170 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00030 + rotate: true + xy: 1210, 294 + size: 140, 171 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00031 + rotate: true + xy: 866, 9 + size: 141, 171 + orig: 150, 190 + offset: 8, 9 + index: -1 +1_00032 + rotate: true + xy: 2, 717 + size: 137, 170 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00033 + rotate: true + xy: 174, 438 + size: 138, 169 + orig: 150, 190 + offset: 11, 9 + index: -1 +1_00034 + rotate: true + xy: 174, 717 + size: 137, 169 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00035 + rotate: true + xy: 345, 717 + size: 137, 168 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00036 + rotate: true + xy: 515, 717 + size: 137, 168 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00037 + rotate: true + xy: 685, 717 + size: 137, 168 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00038 + rotate: true + xy: 855, 717 + size: 137, 168 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00039 + rotate: true + xy: 1025, 717 + size: 137, 167 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00040 + rotate: true + xy: 1194, 717 + size: 137, 167 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00041 + rotate: true + xy: 1363, 717 + size: 137, 167 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00042 + rotate: true + xy: 1532, 717 + size: 137, 168 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00043 + rotate: true + xy: 1702, 717 + size: 137, 169 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00044 + rotate: true + xy: 2, 578 + size: 137, 168 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00045 + rotate: true + xy: 172, 578 + size: 137, 168 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00046 + rotate: true + xy: 345, 438 + size: 138, 169 + orig: 150, 190 + offset: 11, 9 + index: -1 +1_00047 + rotate: true + xy: 342, 578 + size: 137, 170 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00048 + rotate: true + xy: 516, 438 + size: 138, 169 + orig: 150, 190 + offset: 11, 9 + index: -1 +1_00049 + rotate: true + xy: 687, 437 + size: 139, 169 + orig: 150, 190 + offset: 10, 9 + index: -1 +1_00050 + rotate: true + xy: 858, 437 + size: 139, 170 + orig: 150, 190 + offset: 10, 9 + index: -1 +1_00051 + rotate: true + xy: 1039, 9 + size: 141, 171 + orig: 150, 190 + offset: 8, 9 + index: -1 +1_00052 + rotate: true + xy: 1383, 294 + size: 140, 171 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00053 + rotate: true + xy: 1556, 287 + size: 140, 171 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00054 + rotate: true + xy: 1729, 287 + size: 140, 170 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00055 + rotate: true + xy: 2, 154 + size: 140, 170 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00056 + rotate: true + xy: 174, 154 + size: 140, 171 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00057 + rotate: true + xy: 1212, 9 + size: 141, 171 + orig: 150, 190 + offset: 8, 9 + index: -1 +1_00058 + rotate: true + xy: 347, 154 + size: 140, 171 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00059 + rotate: true + xy: 520, 153 + size: 140, 170 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00060 + rotate: true + xy: 692, 153 + size: 140, 171 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00061 + rotate: true + xy: 1385, 2 + size: 141, 171 + orig: 150, 190 + offset: 8, 9 + index: -1 +1_00062 + rotate: true + xy: 514, 578 + size: 137, 171 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00063 + rotate: true + xy: 865, 152 + size: 140, 170 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00064 + rotate: true + xy: 1037, 152 + size: 140, 170 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00065 + rotate: true + xy: 1209, 152 + size: 140, 171 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00066 + rotate: true + xy: 1558, 2 + size: 141, 171 + orig: 150, 190 + offset: 8, 9 + index: -1 +1_00067 + rotate: true + xy: 1382, 152 + size: 140, 171 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00068 + rotate: true + xy: 1555, 145 + size: 140, 171 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00069 + rotate: true + xy: 1728, 145 + size: 140, 170 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00070 + rotate: true + xy: 2, 12 + size: 140, 170 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00071 + rotate: true + xy: 174, 12 + size: 140, 171 + orig: 150, 190 + offset: 9, 9 + index: -1 +1_00072 + rotate: true + xy: 687, 578 + size: 137, 146 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00073 + rotate: true + xy: 835, 578 + size: 137, 146 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00074 + rotate: true + xy: 983, 578 + size: 137, 146 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00075 + rotate: true + xy: 1131, 578 + size: 137, 146 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00076 + rotate: true + xy: 1279, 578 + size: 137, 145 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00077 + rotate: true + xy: 1426, 578 + size: 137, 145 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00078 + rotate: true + xy: 1573, 578 + size: 137, 145 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00079 + rotate: false + xy: 1873, 710 + size: 137, 144 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00080 + rotate: true + xy: 1720, 578 + size: 137, 144 + orig: 150, 190 + offset: 12, 9 + index: -1 +1_00081 + rotate: true + xy: 1866, 571 + size: 137, 144 + orig: 150, 190 + offset: 12, 9 + index: -1 diff --git a/nginx/minesweeper/assets/spine/tiger/skeleton.json b/nginx/minesweeper/assets/spine/tiger/skeleton.json new file mode 100644 index 0000000..0a56eb0 --- /dev/null +++ b/nginx/minesweeper/assets/spine/tiger/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"xw+o2DRmEICkp9Z8jhlfDfqp+pU=","spine":"3.8","images":"../老虎/11111/","audio":""},"bones":[{"name":"root"}],"slots":[{"name":"1","bone":"root"}],"skins":[{"name":"default","attachments":{"1":{"1_00000":{"width":150,"height":190},"1_00001":{"width":150,"height":190},"1_00002":{"width":150,"height":190},"1_00003":{"width":150,"height":190},"1_00004":{"width":150,"height":190},"1_00005":{"width":150,"height":190},"1_00006":{"width":150,"height":190},"1_00007":{"width":150,"height":190},"1_00008":{"width":150,"height":190},"1_00009":{"width":150,"height":190},"1_00010":{"width":150,"height":190},"1_00011":{"width":150,"height":190},"1_00012":{"width":150,"height":190},"1_00013":{"width":150,"height":190},"1_00014":{"width":150,"height":190},"1_00015":{"width":150,"height":190},"1_00016":{"width":150,"height":190},"1_00017":{"width":150,"height":190},"1_00018":{"width":150,"height":190},"1_00019":{"width":150,"height":190},"1_00020":{"width":150,"height":190},"1_00021":{"width":150,"height":190},"1_00022":{"width":150,"height":190},"1_00023":{"width":150,"height":190},"1_00024":{"width":150,"height":190},"1_00025":{"width":150,"height":190},"1_00026":{"width":150,"height":190},"1_00027":{"width":150,"height":190},"1_00028":{"width":150,"height":190},"1_00029":{"width":150,"height":190},"1_00030":{"width":150,"height":190},"1_00031":{"width":150,"height":190},"1_00032":{"width":150,"height":190},"1_00033":{"width":150,"height":190},"1_00034":{"width":150,"height":190},"1_00035":{"width":150,"height":190},"1_00036":{"width":150,"height":190},"1_00037":{"width":150,"height":190},"1_00038":{"width":150,"height":190},"1_00039":{"width":150,"height":190},"1_00040":{"width":150,"height":190},"1_00041":{"width":150,"height":190},"1_00042":{"width":150,"height":190},"1_00043":{"width":150,"height":190},"1_00044":{"width":150,"height":190},"1_00045":{"width":150,"height":190},"1_00046":{"width":150,"height":190},"1_00047":{"width":150,"height":190},"1_00048":{"width":150,"height":190},"1_00049":{"width":150,"height":190},"1_00050":{"width":150,"height":190},"1_00051":{"width":150,"height":190},"1_00052":{"width":150,"height":190},"1_00053":{"width":150,"height":190},"1_00054":{"width":150,"height":190},"1_00055":{"width":150,"height":190},"1_00056":{"width":150,"height":190},"1_00057":{"width":150,"height":190},"1_00058":{"width":150,"height":190},"1_00059":{"width":150,"height":190},"1_00060":{"width":150,"height":190},"1_00061":{"width":150,"height":190},"1_00062":{"width":150,"height":190},"1_00063":{"width":150,"height":190},"1_00064":{"width":150,"height":190},"1_00065":{"width":150,"height":190},"1_00066":{"width":150,"height":190},"1_00067":{"width":150,"height":190},"1_00068":{"width":150,"height":190},"1_00069":{"width":150,"height":190},"1_00070":{"width":150,"height":190},"1_00071":{"width":150,"height":190},"1_00072":{"width":150,"height":190},"1_00073":{"width":150,"height":190},"1_00074":{"width":150,"height":190},"1_00075":{"width":150,"height":190},"1_00076":{"width":150,"height":190},"1_00077":{"width":150,"height":190},"1_00078":{"width":150,"height":190},"1_00079":{"width":150,"height":190},"1_00080":{"width":150,"height":190},"1_00081":{"width":150,"height":190},"1_00082":{"width":150,"height":190}}}}],"animations":{"animation":{"slots":{"1":{"attachment":[{"name":"1_00000"},{"time":0.0333,"name":"1_00001"},{"time":0.0667,"name":"1_00002"},{"time":0.1,"name":"1_00003"},{"time":0.1333,"name":"1_00004"},{"time":0.1667,"name":"1_00005"},{"time":0.2,"name":"1_00006"},{"time":0.2333,"name":"1_00007"},{"time":0.2667,"name":"1_00008"},{"time":0.3,"name":"1_00009"},{"time":0.3333,"name":"1_00010"},{"time":0.3667,"name":"1_00011"},{"time":0.4,"name":"1_00012"},{"time":0.4333,"name":"1_00013"},{"time":0.4667,"name":"1_00014"},{"time":0.5,"name":"1_00015"},{"time":0.5333,"name":"1_00016"},{"time":0.5667,"name":"1_00017"},{"time":0.6,"name":"1_00018"},{"time":0.6333,"name":"1_00019"},{"time":0.6667,"name":"1_00020"},{"time":0.7,"name":"1_00021"},{"time":0.7333,"name":"1_00022"},{"time":0.7667,"name":"1_00023"},{"time":0.8,"name":"1_00024"},{"time":0.8333,"name":"1_00025"},{"time":0.8667,"name":"1_00026"},{"time":0.9,"name":"1_00027"},{"time":0.9333,"name":"1_00028"},{"time":0.9667,"name":"1_00029"},{"time":1,"name":"1_00030"},{"time":1.0333,"name":"1_00031"},{"time":1.0667,"name":"1_00032"},{"time":1.1,"name":"1_00033"},{"time":1.1333,"name":"1_00034"},{"time":1.1667,"name":"1_00035"},{"time":1.2,"name":"1_00036"},{"time":1.2333,"name":"1_00037"},{"time":1.2667,"name":"1_00038"},{"time":1.3,"name":"1_00039"},{"time":1.3333,"name":"1_00040"},{"time":1.3667,"name":"1_00041"},{"time":1.4,"name":"1_00042"},{"time":1.4333,"name":"1_00043"},{"time":1.4667,"name":"1_00044"},{"time":1.5,"name":"1_00045"},{"time":1.5333,"name":"1_00046"},{"time":1.5667,"name":"1_00047"},{"time":1.6,"name":"1_00048"},{"time":1.6333,"name":"1_00049"},{"time":1.6667,"name":"1_00050"},{"time":1.7,"name":"1_00051"},{"time":1.7333,"name":"1_00052"},{"time":1.7667,"name":"1_00053"},{"time":1.8,"name":"1_00054"},{"time":1.8333,"name":"1_00055"},{"time":1.8667,"name":"1_00056"},{"time":1.9,"name":"1_00057"},{"time":1.9333,"name":"1_00058"},{"time":1.9667,"name":"1_00059"},{"time":2,"name":"1_00060"},{"time":2.0333,"name":"1_00061"},{"time":2.0667,"name":"1_00062"},{"time":2.1,"name":"1_00063"},{"time":2.1333,"name":"1_00064"},{"time":2.1667,"name":"1_00065"},{"time":2.2,"name":"1_00066"},{"time":2.2333,"name":"1_00067"},{"time":2.2667,"name":"1_00068"},{"time":2.3,"name":"1_00069"},{"time":2.3333,"name":"1_00070"},{"time":2.3667,"name":"1_00071"},{"time":2.4,"name":"1_00072"},{"time":2.4333,"name":"1_00073"},{"time":2.4667,"name":"1_00074"},{"time":2.5,"name":"1_00075"},{"time":2.5333,"name":"1_00076"},{"time":2.5667,"name":"1_00077"},{"time":2.6,"name":"1_00078"},{"time":2.6333,"name":"1_00079"},{"time":2.6667,"name":"1_00080"},{"time":2.7,"name":"1_00081"},{"time":2.7333,"name":"1_00082"}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/tiger/skeleton.webp b/nginx/minesweeper/assets/spine/tiger/skeleton.webp new file mode 100644 index 0000000..a884f87 Binary files /dev/null and b/nginx/minesweeper/assets/spine/tiger/skeleton.webp differ diff --git a/nginx/minesweeper/assets/spine/timerBomb/skeleton.atlas b/nginx/minesweeper/assets/spine/timerBomb/skeleton.atlas new file mode 100644 index 0000000..445b37f --- /dev/null +++ b/nginx/minesweeper/assets/spine/timerBomb/skeleton.atlas @@ -0,0 +1,313 @@ +skeleton.webp +size: 1949,1730 +format: RGBA8888 +filter: Linear,Linear +repeat: none +1_00000 + rotate: false + xy: 1046, 1383 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00043 + rotate: false + xy: 1046, 1383 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +1_00001 + rotate: false + xy: 1838, 608 + size: 78, 85 + orig: 360, 360 + offset: 150, 139 + index: -1 +1_00002 + rotate: false + xy: 1857, 1161 + size: 78, 86 + orig: 360, 360 + offset: 150, 139 + index: -1 +1_00003 + rotate: false + xy: 1857, 1073 + size: 79, 86 + orig: 360, 360 + offset: 149, 139 + index: -1 +1_00004 + rotate: false + xy: 1838, 521 + size: 81, 85 + orig: 360, 360 + offset: 149, 138 + index: -1 +1_00005 + rotate: false + xy: 1742, 1476 + size: 195, 252 + orig: 360, 360 + offset: 104, 54 + index: -1 +1_00006 + rotate: false + xy: 1838, 434 + size: 82, 85 + orig: 360, 360 + offset: 148, 138 + index: -1 +1_00007 + rotate: false + xy: 1822, 143 + size: 85, 85 + orig: 360, 360 + offset: 147, 137 + index: -1 +1_00008 + rotate: false + xy: 1821, 55 + size: 85, 85 + orig: 360, 360 + offset: 147, 137 + index: -1 +1_00009 + rotate: false + xy: 1735, 142 + size: 85, 86 + orig: 360, 360 + offset: 147, 137 + index: -1 +1_00010 + rotate: true + xy: 1735, 53 + size: 87, 84 + orig: 360, 360 + offset: 146, 136 + index: -1 +1_00011 + rotate: false + xy: 1740, 1059 + size: 115, 188 + orig: 360, 360 + offset: 118, 84 + index: -1 +1_00012 + rotate: true + xy: 1722, 695 + size: 115, 188 + orig: 360, 360 + offset: 118, 84 + index: -1 +1_00013 + rotate: false + xy: 1735, 230 + size: 134, 153 + orig: 360, 360 + offset: 101, 135 + index: -1 +1_00014 + rotate: false + xy: 1700, 540 + size: 136, 153 + orig: 360, 360 + offset: 101, 135 + index: -1 +1_00015 + rotate: false + xy: 1700, 385 + size: 136, 153 + orig: 360, 360 + offset: 101, 135 + index: -1 +1_00016 + rotate: true + xy: 1742, 1249 + size: 225, 189 + orig: 360, 360 + offset: 35, 105 + index: -1 +1_00017 + rotate: false + xy: 1722, 812 + size: 225, 238 + orig: 360, 360 + offset: 35, 66 + index: -1 +1_00018 + rotate: false + xy: 350, 8 + size: 346, 329 + orig: 360, 360 + offset: 7, 21 + index: -1 +1_00019 + rotate: false + xy: 698, 8 + size: 346, 329 + orig: 360, 360 + offset: 7, 21 + index: -1 +1_00020 + rotate: false + xy: 2, 1382 + size: 346, 346 + orig: 360, 360 + offset: 7, 7 + index: -1 +1_00021 + rotate: false + xy: 2, 1034 + size: 346, 346 + orig: 360, 360 + offset: 7, 7 + index: -1 +1_00022 + rotate: false + xy: 698, 1383 + size: 346, 345 + orig: 360, 360 + offset: 7, 7 + index: -1 +1_00023 + rotate: false + xy: 1032, 339 + size: 336, 346 + orig: 360, 360 + offset: 17, 7 + index: -1 +1_00024 + rotate: false + xy: 1041, 687 + size: 336, 346 + orig: 360, 360 + offset: 17, 7 + index: -1 +1_00025 + rotate: false + xy: 350, 1382 + size: 346, 346 + orig: 360, 360 + offset: 7, 7 + index: -1 +1_00026 + rotate: false + xy: 2, 686 + size: 346, 346 + orig: 360, 360 + offset: 7, 7 + index: -1 +1_00027 + rotate: false + xy: 2, 2 + size: 346, 335 + orig: 360, 360 + offset: 7, 7 + index: -1 +1_00028 + rotate: false + xy: 698, 1035 + size: 342, 346 + orig: 360, 360 + offset: 8, 7 + index: -1 +1_00029 + rotate: true + xy: 1046, 1386 + size: 342, 346 + orig: 360, 360 + offset: 8, 7 + index: -1 +1_00030 + rotate: false + xy: 2, 339 + size: 346, 345 + orig: 360, 360 + offset: 7, 8 + index: -1 +1_00031 + rotate: false + xy: 350, 687 + size: 346, 345 + orig: 360, 360 + offset: 7, 8 + index: -1 +1_00032 + rotate: true + xy: 1370, 340 + size: 345, 328 + orig: 360, 360 + offset: 8, 12 + index: -1 +1_00033 + rotate: true + xy: 1394, 1391 + size: 337, 346 + orig: 360, 360 + offset: 7, 7 + index: -1 +1_00034 + rotate: false + xy: 693, 339 + size: 337, 346 + orig: 360, 360 + offset: 7, 7 + index: -1 +1_00035 + rotate: false + xy: 350, 339 + size: 341, 346 + orig: 360, 360 + offset: 10, 7 + index: -1 +1_00036 + rotate: false + xy: 698, 687 + size: 341, 346 + orig: 360, 360 + offset: 10, 7 + index: -1 +1_00037 + rotate: false + xy: 350, 1034 + size: 346, 346 + orig: 360, 360 + offset: 7, 7 + index: -1 +1_00038 + rotate: true + xy: 1394, 1052 + size: 337, 344 + orig: 360, 360 + offset: 9, 7 + index: -1 +1_00039 + rotate: true + xy: 1389, 2 + size: 336, 344 + orig: 360, 360 + offset: 9, 7 + index: -1 +1_00040 + rotate: false + xy: 1379, 711 + size: 341, 339 + orig: 360, 360 + offset: 11, 7 + index: -1 +1_00041 + rotate: false + xy: 1046, 8 + size: 341, 329 + orig: 360, 360 + offset: 11, 7 + index: -1 +1_00042 + rotate: false + xy: 1042, 1049 + size: 313, 332 + orig: 360, 360 + offset: 40, 7 + index: -1 diff --git a/nginx/minesweeper/assets/spine/timerBomb/skeleton.json b/nginx/minesweeper/assets/spine/timerBomb/skeleton.json new file mode 100644 index 0000000..d80eedd --- /dev/null +++ b/nginx/minesweeper/assets/spine/timerBomb/skeleton.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"/fHWYxXZnXGarFVjMPYlGNfrjCs=","spine":"3.8","images":"./111111/","audio":"E:/CJ_Animation_Learn/Spine_yuanfiles/DS/YiLiaoBao"},"bones":[{"name":"root"}],"slots":[{"name":"1","bone":"root"}],"skins":[{"name":"default","attachments":{"1":{"1_00000":{"width":360,"height":360},"1_00001":{"width":360,"height":360},"1_00002":{"width":360,"height":360},"1_00003":{"width":360,"height":360},"1_00004":{"width":360,"height":360},"1_00005":{"width":360,"height":360},"1_00006":{"width":360,"height":360},"1_00007":{"width":360,"height":360},"1_00008":{"width":360,"height":360},"1_00009":{"width":360,"height":360},"1_00010":{"width":360,"height":360},"1_00011":{"width":360,"height":360},"1_00012":{"width":360,"height":360},"1_00013":{"width":360,"height":360},"1_00014":{"width":360,"height":360},"1_00015":{"width":360,"height":360},"1_00016":{"width":360,"height":360},"1_00017":{"width":360,"height":360},"1_00018":{"width":360,"height":360},"1_00019":{"width":360,"height":360},"1_00020":{"width":360,"height":360},"1_00021":{"width":360,"height":360},"1_00022":{"width":360,"height":360},"1_00023":{"width":360,"height":360},"1_00024":{"width":360,"height":360},"1_00025":{"width":360,"height":360},"1_00026":{"width":360,"height":360},"1_00027":{"width":360,"height":360},"1_00028":{"width":360,"height":360},"1_00029":{"width":360,"height":360},"1_00030":{"width":360,"height":360},"1_00031":{"width":360,"height":360},"1_00032":{"width":360,"height":360},"1_00033":{"width":360,"height":360},"1_00034":{"width":360,"height":360},"1_00035":{"width":360,"height":360},"1_00036":{"width":360,"height":360},"1_00037":{"width":360,"height":360},"1_00038":{"width":360,"height":360},"1_00039":{"width":360,"height":360},"1_00040":{"width":360,"height":360},"1_00041":{"width":360,"height":360},"1_00042":{"width":360,"height":360},"1_00043":{"width":360,"height":360}}}}],"animations":{"animation":{"slots":{"1":{"attachment":[{"name":"1_00000"},{"time":0.0333,"name":"1_00001"},{"time":0.0667,"name":"1_00002"},{"time":0.1,"name":"1_00003"},{"time":0.1333,"name":"1_00004"},{"time":0.1667,"name":"1_00005"},{"time":0.2,"name":"1_00006"},{"time":0.2333,"name":"1_00007"},{"time":0.2667,"name":"1_00008"},{"time":0.3,"name":"1_00009"},{"time":0.3333,"name":"1_00010"},{"time":0.3667,"name":"1_00011"},{"time":0.4,"name":"1_00012"},{"time":0.4333,"name":"1_00013"},{"time":0.4667,"name":"1_00014"},{"time":0.5,"name":"1_00015"},{"time":0.5333,"name":"1_00016"},{"time":0.5667,"name":"1_00017"},{"time":0.6,"name":"1_00018"},{"time":0.6333,"name":"1_00019"},{"time":0.6667,"name":"1_00020"},{"time":0.7,"name":"1_00021"},{"time":0.7333,"name":"1_00022"},{"time":0.7667,"name":"1_00023"},{"time":0.8,"name":"1_00024"},{"time":0.8333,"name":"1_00025"},{"time":0.8667,"name":"1_00026"},{"time":0.9,"name":"1_00027"},{"time":0.9333,"name":"1_00028"},{"time":0.9667,"name":"1_00029"},{"time":1,"name":"1_00030"},{"time":1.0333,"name":"1_00031"},{"time":1.0667,"name":"1_00032"},{"time":1.1,"name":"1_00033"},{"time":1.1333,"name":"1_00034"},{"time":1.1667,"name":"1_00035"},{"time":1.2,"name":"1_00036"},{"time":1.2333,"name":"1_00037"},{"time":1.2667,"name":"1_00038"},{"time":1.3,"name":"1_00039"},{"time":1.3333,"name":"1_00040"},{"time":1.3667,"name":"1_00041"},{"time":1.4,"name":"1_00042"},{"time":1.4333,"name":"1_00043"}]}}}}} \ No newline at end of file diff --git a/nginx/minesweeper/assets/spine/timerBomb/skeleton.webp b/nginx/minesweeper/assets/spine/timerBomb/skeleton.webp new file mode 100644 index 0000000..d227223 Binary files /dev/null and b/nginx/minesweeper/assets/spine/timerBomb/skeleton.webp differ diff --git a/nginx/minesweeper/assets/thunder-QOzrZ8Vv.js b/nginx/minesweeper/assets/thunder-QOzrZ8Vv.js new file mode 100644 index 0000000..4391889 --- /dev/null +++ b/nginx/minesweeper/assets/thunder-QOzrZ8Vv.js @@ -0,0 +1 @@ +const t="/assets/thunder-ibWpv2z_.mp3";export{t as default}; diff --git a/nginx/minesweeper/assets/thunder-ibWpv2z_.mp3 b/nginx/minesweeper/assets/thunder-ibWpv2z_.mp3 new file mode 100644 index 0000000..025365a Binary files /dev/null and b/nginx/minesweeper/assets/thunder-ibWpv2z_.mp3 differ diff --git a/nginx/minesweeper/assets/tick-CDYmeR_D.js b/nginx/minesweeper/assets/tick-CDYmeR_D.js new file mode 100644 index 0000000..95453d1 --- /dev/null +++ b/nginx/minesweeper/assets/tick-CDYmeR_D.js @@ -0,0 +1 @@ +const t="/assets/tick-D9ddXm_D.mp3";export{t as default}; diff --git a/nginx/minesweeper/assets/tick-D9ddXm_D.mp3 b/nginx/minesweeper/assets/tick-D9ddXm_D.mp3 new file mode 100644 index 0000000..a1d57a8 Binary files /dev/null and b/nginx/minesweeper/assets/tick-D9ddXm_D.mp3 differ diff --git a/nginx/minesweeper/assets/tigerroar-FR0zOXKU.mp3 b/nginx/minesweeper/assets/tigerroar-FR0zOXKU.mp3 new file mode 100644 index 0000000..ba494b5 Binary files /dev/null and b/nginx/minesweeper/assets/tigerroar-FR0zOXKU.mp3 differ diff --git a/nginx/minesweeper/assets/tigerroar-ufow2Qol.js b/nginx/minesweeper/assets/tigerroar-ufow2Qol.js new file mode 100644 index 0000000..f8d1076 --- /dev/null +++ b/nginx/minesweeper/assets/tigerroar-ufow2Qol.js @@ -0,0 +1 @@ +const r="/assets/tigerroar-FR0zOXKU.mp3";export{r as default}; diff --git a/nginx/minesweeper/assets/timerBomb-DDGDac0L.mp3 b/nginx/minesweeper/assets/timerBomb-DDGDac0L.mp3 new file mode 100644 index 0000000..a023de2 Binary files /dev/null and b/nginx/minesweeper/assets/timerBomb-DDGDac0L.mp3 differ diff --git a/nginx/minesweeper/assets/timerBomb-DKU3ITm0.js b/nginx/minesweeper/assets/timerBomb-DKU3ITm0.js new file mode 100644 index 0000000..cfa0e15 --- /dev/null +++ b/nginx/minesweeper/assets/timerBomb-DKU3ITm0.js @@ -0,0 +1 @@ +const t="/assets/timerBomb-DDGDac0L.mp3";export{t as default}; diff --git a/nginx/minesweeper/assets/vespidaze-upbeat-rpg-battle-460971-FnzMEBH_.mp3 b/nginx/minesweeper/assets/vespidaze-upbeat-rpg-battle-460971-FnzMEBH_.mp3 new file mode 100644 index 0000000..6b67996 Binary files /dev/null and b/nginx/minesweeper/assets/vespidaze-upbeat-rpg-battle-460971-FnzMEBH_.mp3 differ diff --git a/nginx/minesweeper/assets/vespidaze-upbeat-rpg-battle-460971-aTWgbIUk.js b/nginx/minesweeper/assets/vespidaze-upbeat-rpg-battle-460971-aTWgbIUk.js new file mode 100644 index 0000000..21ccf9d --- /dev/null +++ b/nginx/minesweeper/assets/vespidaze-upbeat-rpg-battle-460971-aTWgbIUk.js @@ -0,0 +1 @@ +const e="/assets/vespidaze-upbeat-rpg-battle-460971-FnzMEBH_.mp3";export{e as default}; diff --git a/nginx/minesweeper/assets/warning-DyJx1BS6.mp3 b/nginx/minesweeper/assets/warning-DyJx1BS6.mp3 new file mode 100644 index 0000000..771610a Binary files /dev/null and b/nginx/minesweeper/assets/warning-DyJx1BS6.mp3 differ diff --git a/nginx/minesweeper/assets/warning-gkNUKt6F.js b/nginx/minesweeper/assets/warning-gkNUKt6F.js new file mode 100644 index 0000000..6bb3882 --- /dev/null +++ b/nginx/minesweeper/assets/warning-gkNUKt6F.js @@ -0,0 +1 @@ +const a="/assets/warning-DyJx1BS6.mp3";export{a as default}; diff --git a/nginx/minesweeper/assets/williamhector-cinematic-action-jungle-drums-loop-125bpm-345139-BgQHwwGv.mp3 b/nginx/minesweeper/assets/williamhector-cinematic-action-jungle-drums-loop-125bpm-345139-BgQHwwGv.mp3 new file mode 100644 index 0000000..4de492f Binary files /dev/null and b/nginx/minesweeper/assets/williamhector-cinematic-action-jungle-drums-loop-125bpm-345139-BgQHwwGv.mp3 differ diff --git a/nginx/minesweeper/assets/williamhector-cinematic-action-jungle-drums-loop-125bpm-345139-CbmcBUE5.js b/nginx/minesweeper/assets/williamhector-cinematic-action-jungle-drums-loop-125bpm-345139-CbmcBUE5.js new file mode 100644 index 0000000..0324444 --- /dev/null +++ b/nginx/minesweeper/assets/williamhector-cinematic-action-jungle-drums-loop-125bpm-345139-CbmcBUE5.js @@ -0,0 +1 @@ +const i="/assets/williamhector-cinematic-action-jungle-drums-loop-125bpm-345139-BgQHwwGv.mp3";export{i as default}; diff --git a/nginx/minesweeper/assets/youLose-B5UPTJuM.js b/nginx/minesweeper/assets/youLose-B5UPTJuM.js new file mode 100644 index 0000000..098c2b6 --- /dev/null +++ b/nginx/minesweeper/assets/youLose-B5UPTJuM.js @@ -0,0 +1 @@ +const s="/assets/youLose-D9F5ck_w.mp3";export{s as default}; diff --git a/nginx/minesweeper/assets/youLose-D9F5ck_w.mp3 b/nginx/minesweeper/assets/youLose-D9F5ck_w.mp3 new file mode 100644 index 0000000..469ce9f Binary files /dev/null and b/nginx/minesweeper/assets/youLose-D9F5ck_w.mp3 differ diff --git a/nginx/minesweeper/assets/未翻开格子-XrWF72Xv.jpg b/nginx/minesweeper/assets/未翻开格子-XrWF72Xv.jpg new file mode 100644 index 0000000..d127445 Binary files /dev/null and b/nginx/minesweeper/assets/未翻开格子-XrWF72Xv.jpg differ diff --git a/nginx/minesweeper/assets/未翻开格子-lG4zYdoo.js b/nginx/minesweeper/assets/未翻开格子-lG4zYdoo.js new file mode 100644 index 0000000..4a515be --- /dev/null +++ b/nginx/minesweeper/assets/未翻开格子-lG4zYdoo.js @@ -0,0 +1 @@ +const s="/assets/%E6%9C%AA%E7%BF%BB%E5%BC%80%E6%A0%BC%E5%AD%90-XrWF72Xv.jpg";export{s as default}; diff --git a/nginx/minesweeper/assets/炸弹-Cy4GcA86.png b/nginx/minesweeper/assets/炸弹-Cy4GcA86.png new file mode 100644 index 0000000..6b5a6e7 Binary files /dev/null and b/nginx/minesweeper/assets/炸弹-Cy4GcA86.png differ diff --git a/nginx/minesweeper/assets/炸弹-iWGAaqsG.js b/nginx/minesweeper/assets/炸弹-iWGAaqsG.js new file mode 100644 index 0000000..b082ccd --- /dev/null +++ b/nginx/minesweeper/assets/炸弹-iWGAaqsG.js @@ -0,0 +1 @@ +const s="/assets/%E7%82%B8%E5%BC%B9-Cy4GcA86.png";export{s as default}; diff --git a/nginx/minesweeper/assets/背景-BrVuaJQ-.jpg b/nginx/minesweeper/assets/背景-BrVuaJQ-.jpg new file mode 100644 index 0000000..91f3a6f Binary files /dev/null and b/nginx/minesweeper/assets/背景-BrVuaJQ-.jpg differ diff --git a/nginx/minesweeper/assets/背景-CnU7wERJ.js b/nginx/minesweeper/assets/背景-CnU7wERJ.js new file mode 100644 index 0000000..d492b9d --- /dev/null +++ b/nginx/minesweeper/assets/背景-CnU7wERJ.js @@ -0,0 +1 @@ +const s="/assets/%E8%83%8C%E6%99%AF-BrVuaJQ-.jpg";export{s as default}; diff --git a/nginx/minesweeper/index.html b/nginx/minesweeper/index.html new file mode 100644 index 0000000..b4b6b8e --- /dev/null +++ b/nginx/minesweeper/index.html @@ -0,0 +1,33 @@ + + + + + + 扫雷大作战 - 柯大鸭 + + + + + +
+ + diff --git a/prometheus/prometheus.yml b/prometheus/prometheus.yml old mode 100644 new mode 100755 diff --git a/server/Dockerfile b/server/Dockerfile old mode 100644 new mode 100755 diff --git a/server/backend.so b/server/backend.so old mode 100644 new mode 100755 index f08d612..d4a73de Binary files a/server/backend.so and b/server/backend.so differ diff --git a/server/build/main.js b/server/build/main.js old mode 100644 new mode 100755 diff --git a/server/build/match_handler.js b/server/build/match_handler.js old mode 100644 new mode 100755 diff --git a/server/build/types.js b/server/build/types.js old mode 100644 new mode 100755 diff --git a/server/characters/characters_test.go b/server/characters/characters_test.go old mode 100644 new mode 100755 diff --git a/server/characters/manager.go b/server/characters/manager.go old mode 100644 new mode 100755 diff --git a/server/config/config.go b/server/config/config.go old mode 100644 new mode 100755 index b9c15ce..d16b11b --- a/server/config/config.go +++ b/server/config/config.go @@ -3,7 +3,6 @@ package config import ( "bytes" "encoding/json" - "fmt" "io/ioutil" "net/http" "time" @@ -86,7 +85,46 @@ type SettleGameResponse struct { Reward string `json:"reward"` } -// GameTokenInfo 包含从后端验证通过的Token信息 +// SettlePlayerRecord 单个玩家的结算数据 +type SettlePlayerRecord struct { + UserID int64 `json:"user_id"` + Ticket string `json:"ticket"` + Win bool `json:"win"` + Rank int `json:"rank"` + Score int `json:"score"` + DamageDealt int `json:"damage_dealt"` + DamageTaken int `json:"damage_taken"` + Kills int `json:"kills"` + ChestsCollected int `json:"chests_collected"` + RoundsSurvived int `json:"rounds_survived"` +} + +// SettleGameWithBackend 批量结算整局所有玩家(替换旧版单人结算) +func SettleGameWithBackend(logger runtime.Logger, matchID, gameType string, totalRounds int, players []SettlePlayerRecord) { + logger.Info("Settling game with backend: match=%s, type=%s, players=%d", matchID, gameType, len(players)) + + reqBody, _ := json.Marshal(map[string]interface{}{ + "match_id": matchID, + "game_type": gameType, + "total_rounds": totalRounds, + "players": players, + }) + + go func() { + resp, err := MakeInternalRequest("POST", BackendBaseURL+"/game/settle", reqBody) + if err != nil { + logger.Error("Failed to call backend settle API: %v", err) + return + } + defer resp.Body.Close() + + if resp.StatusCode != 200 { + logger.Error("Backend settle returned non-200: %d", resp.StatusCode) + } else { + logger.Info("Game settled successfully with backend") + } + }() +} type GameTokenInfo struct { Valid bool `json:"valid"` UserID int64 `json:"user_id"` @@ -140,32 +178,3 @@ func SetBackendBaseURL(url string) { func GetBackendBaseURL() string { return BackendBaseURL } - -// SettleGameWithBackend 使用真实用户ID向后端结算游戏 -func SettleGameWithBackend(logger runtime.Logger, realUserID int64, ticket, matchID string, win bool, score int) { - logger.Info("Settling game with backend for realUserID %d (Win: %v)", realUserID, win) - - reqBody, _ := json.Marshal(map[string]interface{}{ - "user_id": fmt.Sprintf("%d", realUserID), // 后端需要字符串类型 - "ticket": ticket, - "match_id": matchID, - "win": win, - "score": score, - }) - - // Async call to not block game loop too much, or use goroutine - go func() { - resp, err := MakeInternalRequest("POST", BackendBaseURL+"/game/settle", reqBody) - if err != nil { - logger.Error("Failed to call backend settle API: %v", err) - return - } - defer resp.Body.Close() - - if resp.StatusCode != 200 { - logger.Error("Backend settle returned non-200: %d", resp.StatusCode) - } else { - logger.Info("Game settled successfully with backend") - } - }() -} diff --git a/server/core/types.go b/server/core/types.go old mode 100644 new mode 100755 index d6c66df..8a0963f --- a/server/core/types.go +++ b/server/core/types.go @@ -40,7 +40,8 @@ type Player struct { MaxHP int `json:"maxHp"` Status []string `json:"status"` // 视觉状态标签 Character string `json:"character"` - Ticket string `json:"ticket"` // 存储用于加入游戏的入场券 + Ticket string `json:"ticket"` // 存储用于加入游戏的入场券 + GameType string `json:"gameType"` // 游戏类型(minesweeper / minesweeper_free) // Status Flags Shield bool `json:"shield"` @@ -63,6 +64,11 @@ type Player struct { // Disconnect tracking (for timeout logic) DisconnectTime int64 `json:"disconnectTime,omitempty"` // 玩家断线时的Unix时间戳(0 = 已连接) + + // Battle statistics (for leaderboard) + DamageDealt int `json:"damageDealt"` + DamageTaken int `json:"damageTaken"` + Kills int `json:"kills"` } type GameState struct { diff --git a/server/game_test_runner.go b/server/game_test_runner.go old mode 100644 new mode 100755 diff --git a/server/go.mod b/server/go.mod old mode 100644 new mode 100755 diff --git a/server/go.sum b/server/go.sum old mode 100644 new mode 100755 diff --git a/server/handlers/match.go b/server/handlers/match.go old mode 100644 new mode 100755 index 149509b..c5d4ea7 --- a/server/handlers/match.go +++ b/server/handlers/match.go @@ -23,6 +23,7 @@ type MatchLabel struct { PlayerCount int `json:"player_count"` MaxPlayers int `json:"max_players"` Label string `json:"label"` + GameType string `json:"game_type"` // 游戏类型标识(minesweeper/minesweeper_free) } type MatchHandler struct{} @@ -30,6 +31,17 @@ type MatchHandler struct{} func (m *MatchHandler) MatchInit(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, params map[string]interface{}) (interface{}, int, string) { logger.Info("MatchInit (Refactored) called") + // 从 params 中提取 game_type + gameType := "minesweeper" // 默认值 + if params != nil { + if gt, ok := params["game_type"]; ok { + if gtStr, ok := gt.(string); ok && gtStr != "" { + gameType = gtStr + } + } + } + logger.Info("MatchInit: GameType = %s", gameType) + // 1. 加载配置 apiConfig := config.GetMinesweeperConfig(logger) @@ -134,6 +146,8 @@ func (m *MatchHandler) MatchInit(ctx context.Context, logger runtime.Logger, db Presences: make(map[string]runtime.Presence), CharManager: charMgr, ItemManager: itemMgr, + GameType: gameType, // 存储房间的游戏类型 + CreatedAt: time.Now().Unix(), // 记录房间创建时间,用于兜底销毁 } tickRate := 10 @@ -146,6 +160,7 @@ func (m *MatchHandler) MatchInit(ctx context.Context, logger runtime.Logger, db PlayerCount: 0, MaxPlayers: matchPlayerCount, Label: label, + GameType: gameType, // 添加游戏类型到标签 } labelBytes, _ := json.Marshal(initialLabel) @@ -162,6 +177,8 @@ type MatchState struct { CharacterIndex int Spectators map[string]bool Presences map[string]runtime.Presence + GameType string // 房间的游戏类型(minesweeper/minesweeper_free) + CreatedAt int64 // 房间创建时间(Unix 秒),用于兜底销毁 // 用于构建引擎的管理器 CharManager *characters.CharacterManager @@ -187,6 +204,13 @@ func (m *MatchHandler) MatchJoinAttempt(ctx context.Context, logger runtime.Logg return ms, false, "Invalid game token" } + // 校验玩家的游戏类型是否与房间匹配 + if tokenInfo.GameType != ms.GameType { + logger.Error("MatchJoinAttempt: GameType MISMATCH for user %s. Player: %s, Room: %s. This indicates matchmaker query filtering may not be working correctly.", + presence.GetUserId(), tokenInfo.GameType, ms.GameType) + return ms, false, fmt.Sprintf("Game type mismatch (player: %s, room: %s)", tokenInfo.GameType, ms.GameType) + } + ms.ValidatedPlayers[presence.GetUserId()] = tokenInfo if ms.State.GameStarted { @@ -285,6 +309,7 @@ func (m *MatchHandler) MatchJoin(ctx context.Context, logger runtime.Logger, db MaxHP: maxHP, Character: char, Ticket: tokenInfo.Ticket, + GameType: tokenInfo.GameType, // 从 token 中获取游戏类型(免费/付费) Status: []string{}, RevealedCells: make(map[int]string), } @@ -310,7 +335,7 @@ func (m *MatchHandler) MatchJoin(ctx context.Context, logger runtime.Logger, db // 记录并消耗入场券 // ... 入场券消耗逻辑(由于是处理器保持简单)... for _, p := range ms.State.Players { - go consumeTicket(p.RealUserID, p.Ticket, logger) + go consumeTicket(p.RealUserID, p.Ticket, p.GameType, logger) } // 广播开始 @@ -327,8 +352,16 @@ func (m *MatchHandler) MatchJoin(ctx context.Context, logger runtime.Logger, db func (m *MatchHandler) MatchLoop(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, dispatcher runtime.MatchDispatcher, tick int64, state interface{}, messages []runtime.MatchData) interface{} { ms := state.(*MatchState) + // 兜底销毁:房间存活超过 10 分钟强制销毁,防止异常房间泄漏 + const maxRoomLifetimeSecs = 10 * 60 + if time.Now().Unix()-ms.CreatedAt > maxRoomLifetimeSecs { + logger.Warn("MatchLoop: Room exceeded max lifetime (%ds), force destroying. CreatedAt=%d", maxRoomLifetimeSecs, ms.CreatedAt) + return nil + } + // 为此循环 tick 创建引擎实例 - engine := logic.NewGameEngine(logger, dispatcher, ms.CharManager, ms.ItemManager, ms.Presences, ms.DisconnectedPlayers) + loopMatchID, _ := ctx.Value(runtime.RUNTIME_CTX_MATCH_ID).(string) + engine := logic.NewGameEngine(logger, dispatcher, ms.CharManager, ms.ItemManager, ms.Presences, ms.DisconnectedPlayers, loopMatchID) for _, message := range messages { userID := message.GetUserId() @@ -481,6 +514,7 @@ func (ms *MatchState) updateLabel(dispatcher runtime.MatchDispatcher) { PlayerCount: len(ms.State.Players), MaxPlayers: ms.MatchPlayerCount, Label: "Animal Minesweeper", + GameType: ms.GameType, // 包含游戏类型 } labelBytes, _ := json.Marshal(label) _ = dispatcher.MatchLabelUpdate(string(labelBytes)) @@ -542,14 +576,14 @@ func broadcastUpdate(dispatcher runtime.MatchDispatcher, state *core.GameState, dispatcher.BroadcastMessage(opCode, data, nil, nil, true) } -func consumeTicket(realUserID int64, ticket string, logger runtime.Logger) { +func consumeTicket(realUserID int64, ticket string, gameType string, logger runtime.Logger) { if realUserID <= 0 { return } reqBody, _ := json.Marshal(map[string]string{ "user_id": fmt.Sprintf("%d", realUserID), - "game_code": "minesweeper", + "game_code": gameType, // 使用实际的游戏类型,免费模式后端会跳过扣减 "ticket": ticket, }) diff --git a/server/handlers/rpc.go b/server/handlers/rpc.go old mode 100644 new mode 100755 index 8bca828..86937fe --- a/server/handlers/rpc.go +++ b/server/handlers/rpc.go @@ -4,6 +4,10 @@ import ( "context" "database/sql" "encoding/json" + "fmt" + "io/ioutil" + + "wuziqi-server/config" "github.com/heroiclabs/nakama-common/runtime" ) @@ -36,6 +40,7 @@ func RpcListMatches(ctx context.Context, logger runtime.Logger, db *sql.DB, nk r "max_players": labelObj.MaxPlayers, "started": labelObj.Started, "open": labelObj.Open, + "game_type": labelObj.GameType, }) } @@ -73,7 +78,44 @@ func RpcFindMyMatch(ctx context.Context, logger runtime.Logger, db *sql.DB, nk r return readObjects[0].Value, nil } -// RpcGetOnlineCount 返回当前在线玩家数量 +// RpcGetLeaderboard 代理到后端排行榜接口 +func RpcGetLeaderboard(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, payload string) (string, error) { + userID, ok := ctx.Value(runtime.RUNTIME_CTX_USER_ID).(string) + if !ok || userID == "" { + return "", runtime.NewError("user not authenticated", 16) + } + + var req struct { + GameType string `json:"game_type"` + Page int `json:"page"` + PageSize int `json:"page_size"` + } + if payload != "" { + _ = json.Unmarshal([]byte(payload), &req) + } + if req.GameType == "" { + req.GameType = "minesweeper" + } + if req.Page <= 0 { + req.Page = 1 + } + if req.PageSize <= 0 { + req.PageSize = 10 + } + + url := fmt.Sprintf("%s/game/leaderboard?game_type=%s&page=%d&page_size=%d", + config.BackendBaseURL, req.GameType, req.Page, req.PageSize) + + resp, err := config.MakeInternalRequest("GET", url, nil) + if err != nil { + logger.Error("Failed to get leaderboard: %v", err) + return "{}", nil + } + defer resp.Body.Close() + + body, _ := ioutil.ReadAll(resp.Body) + return string(body), nil +} func RpcGetOnlineCount(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, payload string) (string, error) { userID, ok := ctx.Value(runtime.RUNTIME_CTX_USER_ID).(string) if !ok || userID == "" { @@ -91,16 +133,43 @@ func RpcGetOnlineCount(ctx context.Context, logger runtime.Logger, db *sql.DB, n inGameCount += int(m.GetSize()) } - // 使用 Nakama 的 StreamCount 获取当前所有 WebSocket 连接数 - // Mode 0 = Notifications stream, 所有已认证的 WebSocket 连接都会加入这个流 - onlineCount, err := nk.StreamCount(0, "", "", "") + // 统计在线人数:优先使用大厅频道,备选使用全局 WebSocket 连接数 + onlineCount := int64(0) + + // 方法1: 通过大厅频道统计(最精准,只统计扫雷游戏的在线玩家) + // Nakama 频道的内部 Stream 标识: + // - 对于 Room (Type 1),内部 Stream Mode 是 2 + // - 频道 ID 格式:{stream_mode}...{label} + // - 例如:2...minesweeper_lobby + lobbyLabel := "minesweeper_lobby" + + // StreamUserList 参数:(mode int, subject, subcontext, label string, includeHidden, includeNotHidden bool) + // Mode 2 = Chat Room Channel + // subject 和 subcontext 留空,label 是频道标识符 + presences, err := nk.StreamUserList(2, "", "", lobbyLabel, true, true) if err != nil { - logger.Warn("Failed to get stream count: %v", err) - onlineCount = inGameCount // 降级为比赛中玩家数 + logger.Warn("Failed to get lobby channel presences: %v", err) + } else if len(presences) > 0 { + onlineCount = int64(len(presences)) + logger.Info("Lobby channel '%s' has %d users (via StreamUserList)", lobbyLabel, onlineCount) } + // 方法2: 如果频道统计失败或为0,使用全局 WebSocket 连接统计作为备选 + if onlineCount == 0 { + // StreamCount 参数:(mode int, subject, subcontext, label string) + // Mode 0 = Status (全局 WebSocket 连接) + streamCount, err := nk.StreamCount(0, "", "", "") + if err != nil { + logger.Warn("Failed to get stream count: %v", err) + } else if streamCount > 0 { + onlineCount = int64(streamCount) + logger.Info("Using global WebSocket connection count: %d", onlineCount) + } + } + + // 兜底:如果所有方式都统计为0,至少算上当前请求的用户 if onlineCount < 1 { - onlineCount = 1 // 至少自己在线 + onlineCount = 1 } result := map[string]interface{}{ diff --git a/server/items/effects.go b/server/items/effects.go old mode 100644 new mode 100755 diff --git a/server/items/interface.go b/server/items/interface.go old mode 100644 new mode 100755 diff --git a/server/items/items_test.go b/server/items/items_test.go old mode 100644 new mode 100755 diff --git a/server/items/manager.go b/server/items/manager.go old mode 100644 new mode 100755 diff --git a/server/logic/combat.go b/server/logic/combat.go old mode 100644 new mode 100755 diff --git a/server/logic/comprehensive_test.go b/server/logic/comprehensive_test.go old mode 100644 new mode 100755 diff --git a/server/logic/engine.go b/server/logic/engine.go old mode 100644 new mode 100755 index bd1b6bf..f197b77 --- a/server/logic/engine.go +++ b/server/logic/engine.go @@ -19,9 +19,10 @@ type GameEngine struct { Logger runtime.Logger Presences map[string]runtime.Presence DisconnectedPlayers map[string]*core.Player + MatchID string } -func NewGameEngine(logger runtime.Logger, dispatcher runtime.MatchDispatcher, charMgr *characters.CharacterManager, itemMgr *items.ItemManager, presences map[string]runtime.Presence, disconnected map[string]*core.Player) *GameEngine { +func NewGameEngine(logger runtime.Logger, dispatcher runtime.MatchDispatcher, charMgr *characters.CharacterManager, itemMgr *items.ItemManager, presences map[string]runtime.Presence, disconnected map[string]*core.Player, matchID string) *GameEngine { return &GameEngine{ CharManager: charMgr, ItemManager: itemMgr, @@ -29,6 +30,7 @@ func NewGameEngine(logger runtime.Logger, dispatcher runtime.MatchDispatcher, ch Logger: logger, Presences: presences, DisconnectedPlayers: disconnected, + MatchID: matchID, } } @@ -93,20 +95,55 @@ func (e *GameEngine) CheckGameOver(state *core.GameState) bool { state.WinnerID = winnerID state.GameStarted = false - // 使用真实用户ID向后端结算游戏 - if winnerID != "" && winnerID != "draw" { - winnerPlayer, ok := state.Players[winnerID] - if !ok { - // 如果在 Players 里没找到,尝试在断线列表中找(可能获胜者刚好断线) - winnerPlayer = e.DisconnectedPlayers[winnerID] + // 使用真实用户ID向后端批量结算游戏(全员) + allPlayers := make(map[string]*core.Player) + for uid, p := range state.Players { + allPlayers[uid] = p + } + for uid, p := range e.DisconnectedPlayers { + if _, exists := allPlayers[uid]; !exists { + allPlayers[uid] = p + } + } + + if len(allPlayers) > 0 { + // 判定排名:赢家第1,其余按存活轮数倒序 + players := make([]config.SettlePlayerRecord, 0, len(allPlayers)) + for uid, p := range allPlayers { + if p.RealUserID <= 0 { + continue + } + win := uid == winnerID + rank := 2 + if win { + rank = 1 + } + players = append(players, config.SettlePlayerRecord{ + UserID: p.RealUserID, + Ticket: p.Ticket, + Win: win, + Rank: rank, + Score: p.ChestCount * 10, + DamageDealt: p.DamageDealt, + DamageTaken: p.DamageTaken, + Kills: p.Kills, + ChestsCollected: p.ChestCount, + RoundsSurvived: state.Round, + }) } - if winnerPlayer != nil && winnerPlayer.RealUserID > 0 { - // 分数参数暂时传宝箱数,后端奖励由配置决定 - config.SettleGameWithBackend(e.Logger, winnerPlayer.RealUserID, winnerPlayer.Ticket, "", true, winnerPlayer.ChestCount) - } else { - e.Logger.Error("Winner player %s has no RealUserID, cannot settle", winnerID) + // 取游戏类型(从任意玩家) + gameType := "" + for _, p := range allPlayers { + if p.GameType != "" { + gameType = p.GameType + break + } } + + config.SettleGameWithBackend(e.Logger, e.MatchID, gameType, state.Round, players) + } else { + e.Logger.Error("No players with RealUserID found, cannot settle") } endDataBytes, _ := json.Marshal(map[string]interface{}{ diff --git a/server/logic/grid.go b/server/logic/grid.go old mode 100644 new mode 100755 diff --git a/server/logic/logic_test.go b/server/logic/logic_test.go old mode 100644 new mode 100755 diff --git a/server/logic/scenario_test.go b/server/logic/scenario_test.go old mode 100644 new mode 100755 index ebda134..ee3288b --- a/server/logic/scenario_test.go +++ b/server/logic/scenario_test.go @@ -81,7 +81,7 @@ func createScenarioState(scenario GameScenario) (*GameEngine, *core.GameState) { dispatcher := &MockDispatcher{} charMgr := characters.NewCharacterManager(nil) itemMgr := items.NewItemManager() - engine := NewGameEngine(logger, dispatcher, charMgr, itemMgr, nil, nil) + engine := NewGameEngine(logger, dispatcher, charMgr, itemMgr, nil, nil, "test-match") // 创建玩家 players := make(map[string]*core.Player) @@ -406,7 +406,7 @@ func TestScenario_SafeAreaExpansion(t *testing.T) { dispatcher := &MockDispatcher{} charMgr := characters.NewCharacterManager(nil) itemMgr := items.NewItemManager() - engine := NewGameEngine(logger, dispatcher, charMgr, itemMgr, nil, nil) + engine := NewGameEngine(logger, dispatcher, charMgr, itemMgr, nil, nil, "test-match") // 创建简单网格测试扩散 // 布局 (3x3): diff --git a/server/main.go b/server/main.go old mode 100644 new mode 100755 index 0f7f2b5..242cf0a --- a/server/main.go +++ b/server/main.go @@ -3,6 +3,7 @@ package main import ( "context" "database/sql" + "fmt" "math/rand" "os" "strings" @@ -41,13 +42,81 @@ func InitModule(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runti if err := initializer.RegisterMatchmakerMatched(func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, entries []runtime.MatchmakerEntry) (string, error) { logger.Info("Matchmaker matched! Creating authoritative match for %d players", len(entries)) - matchId, err := nk.MatchCreate(ctx, "animal_minesweeper", nil) + // 1. 遍历所有玩家,提取有效的 game_type + // 我们不能只看第一个玩家,因为有时某些玩家的属性可能为空或丢失 + var gameType string + + // 调试日志:打印所有玩家的 properties + for i, entry := range entries { + props := entry.GetProperties() + var pType string + if props != nil { + if gt, ok := props["game_type"]; ok { + if gtStr, ok := gt.(string); ok { + pType = gtStr + } + } + } + logger.Debug("Matchmaker Entry [%d] UserID: %s, Properties: %v, GameType: %s", i, entry.GetPresence().GetUserId(), props, pType) + + // 如果还没找到主 gameType 且当前玩家有,则采用 + if gameType == "" && pType != "" { + gameType = pType + } + } + + // 如果遍历完还是空的,说明没人带 game_type,直接拒绝匹配! + // 严禁使用默认值,防止未携带属性的玩家被错误分配 + // 如果遍历完还是空的,说明没人带 game_type,直接拒绝匹配! + if gameType == "" { + errMsg := "CRITICAL: No game_type found in any matchmaker entry. Creating REJECT match." + logger.Error(errMsg) + // Don't return error, create a reject match + gameType = "REJECT_mismatch_no_type" + } + + // 2. 安全校验:再次遍历,确保所有玩家都明确携带了 game_type 且一致 + for i, entry := range entries { + var entryGameType string + props := entry.GetProperties() + if props != nil { + if gt, ok := props["game_type"]; ok { + if gtStr, ok := gt.(string); ok { + entryGameType = gtStr + } + } + } + + // 强制要求每位玩家必须携带 game_type + if entryGameType == "" { + errMsg := fmt.Sprintf("CRITICAL: Player %s matched without game_type property! Creating REJECT match.", entry.GetPresence().GetUserId()) + logger.Error(errMsg) + gameType = "REJECT_mismatch_missing_type" + break + } + + // 一致性检查 + // Note: If gameType is already REJECT, we don't need to check. + if !strings.HasPrefix(gameType, "REJECT_") && entryGameType != gameType { + errMsg := fmt.Sprintf("CRITICAL: Matchmaker matched players with DIFFERENT game_types! Target=%s, Entry[%d]=%s. Creating REJECT match.", gameType, i, entryGameType) + logger.Error(errMsg) + gameType = "REJECT_mismatch_mixed_types" + break + } + } + + // 将 game_type 作为参数传递给 MatchCreate + params := map[string]interface{}{ + "game_type": gameType, + } + + matchId, err := nk.MatchCreate(ctx, "animal_minesweeper", params) if err != nil { logger.Error("Failed to create match: %v", err) return "", err } - logger.Info("Created authoritative match: %s", matchId) + logger.Info("Created authoritative match: %s (GameType: %s)", matchId, gameType) return matchId, nil }); err != nil { logger.Error("Unable to register matchmaker matched hook: %v", err) @@ -72,5 +141,10 @@ func InitModule(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runti return err } + if err := initializer.RegisterRpc("get_leaderboard", handlers.RpcGetLeaderboard); err != nil { + logger.Error("Unable to register rpc: %v", err) + return err + } + return nil } diff --git a/server/runtime.go b/server/runtime.go old mode 100644 new mode 100755 diff --git a/server/vendor/github.com/heroiclabs/nakama-common/LICENSE b/server/vendor/github.com/heroiclabs/nakama-common/LICENSE new file mode 100755 index 0000000..d645695 --- /dev/null +++ b/server/vendor/github.com/heroiclabs/nakama-common/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/server/vendor/github.com/heroiclabs/nakama-common/api/api.pb.go b/server/vendor/github.com/heroiclabs/nakama-common/api/api.pb.go new file mode 100755 index 0000000..e1924a0 --- /dev/null +++ b/server/vendor/github.com/heroiclabs/nakama-common/api/api.pb.go @@ -0,0 +1,11638 @@ +// Copyright 2019 The Nakama Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//* +// The Nakama server RPC protocol for games and apps. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.4 +// source: api.proto + +package api + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Validation Provider, +type StoreProvider int32 + +const ( + // Apple App Store + StoreProvider_APPLE_APP_STORE StoreProvider = 0 + // Google Play Store + StoreProvider_GOOGLE_PLAY_STORE StoreProvider = 1 + // Huawei App Gallery + StoreProvider_HUAWEI_APP_GALLERY StoreProvider = 2 + // Facebook Instant Store + StoreProvider_FACEBOOK_INSTANT_STORE StoreProvider = 3 +) + +// Enum value maps for StoreProvider. +var ( + StoreProvider_name = map[int32]string{ + 0: "APPLE_APP_STORE", + 1: "GOOGLE_PLAY_STORE", + 2: "HUAWEI_APP_GALLERY", + 3: "FACEBOOK_INSTANT_STORE", + } + StoreProvider_value = map[string]int32{ + "APPLE_APP_STORE": 0, + "GOOGLE_PLAY_STORE": 1, + "HUAWEI_APP_GALLERY": 2, + "FACEBOOK_INSTANT_STORE": 3, + } +) + +func (x StoreProvider) Enum() *StoreProvider { + p := new(StoreProvider) + *p = x + return p +} + +func (x StoreProvider) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StoreProvider) Descriptor() protoreflect.EnumDescriptor { + return file_api_proto_enumTypes[0].Descriptor() +} + +func (StoreProvider) Type() protoreflect.EnumType { + return &file_api_proto_enumTypes[0] +} + +func (x StoreProvider) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StoreProvider.Descriptor instead. +func (StoreProvider) EnumDescriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{0} +} + +// Environment where a purchase/subscription took place, +type StoreEnvironment int32 + +const ( + // Unknown environment. + StoreEnvironment_UNKNOWN StoreEnvironment = 0 + // Sandbox/test environment. + StoreEnvironment_SANDBOX StoreEnvironment = 1 + // Production environment. + StoreEnvironment_PRODUCTION StoreEnvironment = 2 +) + +// Enum value maps for StoreEnvironment. +var ( + StoreEnvironment_name = map[int32]string{ + 0: "UNKNOWN", + 1: "SANDBOX", + 2: "PRODUCTION", + } + StoreEnvironment_value = map[string]int32{ + "UNKNOWN": 0, + "SANDBOX": 1, + "PRODUCTION": 2, + } +) + +func (x StoreEnvironment) Enum() *StoreEnvironment { + p := new(StoreEnvironment) + *p = x + return p +} + +func (x StoreEnvironment) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StoreEnvironment) Descriptor() protoreflect.EnumDescriptor { + return file_api_proto_enumTypes[1].Descriptor() +} + +func (StoreEnvironment) Type() protoreflect.EnumType { + return &file_api_proto_enumTypes[1] +} + +func (x StoreEnvironment) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StoreEnvironment.Descriptor instead. +func (StoreEnvironment) EnumDescriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{1} +} + +// Operator that can be used to override the one set in the leaderboard. +type Operator int32 + +const ( + // Do not override the leaderboard operator. + Operator_NO_OVERRIDE Operator = 0 + // Override the leaderboard operator with BEST. + Operator_BEST Operator = 1 + // Override the leaderboard operator with SET. + Operator_SET Operator = 2 + // Override the leaderboard operator with INCREMENT. + Operator_INCREMENT Operator = 3 + // Override the leaderboard operator with DECREMENT. + Operator_DECREMENT Operator = 4 +) + +// Enum value maps for Operator. +var ( + Operator_name = map[int32]string{ + 0: "NO_OVERRIDE", + 1: "BEST", + 2: "SET", + 3: "INCREMENT", + 4: "DECREMENT", + } + Operator_value = map[string]int32{ + "NO_OVERRIDE": 0, + "BEST": 1, + "SET": 2, + "INCREMENT": 3, + "DECREMENT": 4, + } +) + +func (x Operator) Enum() *Operator { + p := new(Operator) + *p = x + return p +} + +func (x Operator) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Operator) Descriptor() protoreflect.EnumDescriptor { + return file_api_proto_enumTypes[2].Descriptor() +} + +func (Operator) Type() protoreflect.EnumType { + return &file_api_proto_enumTypes[2] +} + +func (x Operator) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Operator.Descriptor instead. +func (Operator) EnumDescriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{2} +} + +// The friendship status. +type Friend_State int32 + +const ( + // The user is a friend of the current user. + Friend_FRIEND Friend_State = 0 + // The current user has sent an invite to the user. + Friend_INVITE_SENT Friend_State = 1 + // The current user has received an invite from this user. + Friend_INVITE_RECEIVED Friend_State = 2 + // The current user has blocked this user. + Friend_BLOCKED Friend_State = 3 +) + +// Enum value maps for Friend_State. +var ( + Friend_State_name = map[int32]string{ + 0: "FRIEND", + 1: "INVITE_SENT", + 2: "INVITE_RECEIVED", + 3: "BLOCKED", + } + Friend_State_value = map[string]int32{ + "FRIEND": 0, + "INVITE_SENT": 1, + "INVITE_RECEIVED": 2, + "BLOCKED": 3, + } +) + +func (x Friend_State) Enum() *Friend_State { + p := new(Friend_State) + *p = x + return p +} + +func (x Friend_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Friend_State) Descriptor() protoreflect.EnumDescriptor { + return file_api_proto_enumTypes[3].Descriptor() +} + +func (Friend_State) Type() protoreflect.EnumType { + return &file_api_proto_enumTypes[3] +} + +func (x Friend_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Friend_State.Descriptor instead. +func (Friend_State) EnumDescriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{37, 0} +} + +// The group role status. +type GroupUserList_GroupUser_State int32 + +const ( + // The user is a superadmin with full control of the group. + GroupUserList_GroupUser_SUPERADMIN GroupUserList_GroupUser_State = 0 + // The user is an admin with additional privileges. + GroupUserList_GroupUser_ADMIN GroupUserList_GroupUser_State = 1 + // The user is a regular member. + GroupUserList_GroupUser_MEMBER GroupUserList_GroupUser_State = 2 + // The user has requested to join the group + GroupUserList_GroupUser_JOIN_REQUEST GroupUserList_GroupUser_State = 3 +) + +// Enum value maps for GroupUserList_GroupUser_State. +var ( + GroupUserList_GroupUser_State_name = map[int32]string{ + 0: "SUPERADMIN", + 1: "ADMIN", + 2: "MEMBER", + 3: "JOIN_REQUEST", + } + GroupUserList_GroupUser_State_value = map[string]int32{ + "SUPERADMIN": 0, + "ADMIN": 1, + "MEMBER": 2, + "JOIN_REQUEST": 3, + } +) + +func (x GroupUserList_GroupUser_State) Enum() *GroupUserList_GroupUser_State { + p := new(GroupUserList_GroupUser_State) + *p = x + return p +} + +func (x GroupUserList_GroupUser_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GroupUserList_GroupUser_State) Descriptor() protoreflect.EnumDescriptor { + return file_api_proto_enumTypes[4].Descriptor() +} + +func (GroupUserList_GroupUser_State) Type() protoreflect.EnumType { + return &file_api_proto_enumTypes[4] +} + +func (x GroupUserList_GroupUser_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GroupUserList_GroupUser_State.Descriptor instead. +func (GroupUserList_GroupUser_State) EnumDescriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{43, 0, 0} +} + +// The group role status. +type UserGroupList_UserGroup_State int32 + +const ( + // The user is a superadmin with full control of the group. + UserGroupList_UserGroup_SUPERADMIN UserGroupList_UserGroup_State = 0 + // The user is an admin with additional privileges. + UserGroupList_UserGroup_ADMIN UserGroupList_UserGroup_State = 1 + // The user is a regular member. + UserGroupList_UserGroup_MEMBER UserGroupList_UserGroup_State = 2 + // The user has requested to join the group + UserGroupList_UserGroup_JOIN_REQUEST UserGroupList_UserGroup_State = 3 +) + +// Enum value maps for UserGroupList_UserGroup_State. +var ( + UserGroupList_UserGroup_State_name = map[int32]string{ + 0: "SUPERADMIN", + 1: "ADMIN", + 2: "MEMBER", + 3: "JOIN_REQUEST", + } + UserGroupList_UserGroup_State_value = map[string]int32{ + "SUPERADMIN": 0, + "ADMIN": 1, + "MEMBER": 2, + "JOIN_REQUEST": 3, + } +) + +func (x UserGroupList_UserGroup_State) Enum() *UserGroupList_UserGroup_State { + p := new(UserGroupList_UserGroup_State) + *p = x + return p +} + +func (x UserGroupList_UserGroup_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (UserGroupList_UserGroup_State) Descriptor() protoreflect.EnumDescriptor { + return file_api_proto_enumTypes[5].Descriptor() +} + +func (UserGroupList_UserGroup_State) Type() protoreflect.EnumType { + return &file_api_proto_enumTypes[5] +} + +func (x UserGroupList_UserGroup_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use UserGroupList_UserGroup_State.Descriptor instead. +func (UserGroupList_UserGroup_State) EnumDescriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{91, 0, 0} +} + +// A user with additional account details. Always the current user. +type Account struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The user object. + User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + // The user's wallet data. + Wallet string `protobuf:"bytes,2,opt,name=wallet,proto3" json:"wallet,omitempty"` + // The email address of the user. + Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` + // The devices which belong to the user's account. + Devices []*AccountDevice `protobuf:"bytes,4,rep,name=devices,proto3" json:"devices,omitempty"` + // The custom id in the user's account. + CustomId string `protobuf:"bytes,5,opt,name=custom_id,json=customId,proto3" json:"custom_id,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the user's email was verified. + VerifyTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=verify_time,json=verifyTime,proto3" json:"verify_time,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the user's account was disabled/banned. + DisableTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=disable_time,json=disableTime,proto3" json:"disable_time,omitempty"` +} + +func (x *Account) Reset() { + *x = Account{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Account) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Account) ProtoMessage() {} + +func (x *Account) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Account.ProtoReflect.Descriptor instead. +func (*Account) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{0} +} + +func (x *Account) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +func (x *Account) GetWallet() string { + if x != nil { + return x.Wallet + } + return "" +} + +func (x *Account) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *Account) GetDevices() []*AccountDevice { + if x != nil { + return x.Devices + } + return nil +} + +func (x *Account) GetCustomId() string { + if x != nil { + return x.CustomId + } + return "" +} + +func (x *Account) GetVerifyTime() *timestamppb.Timestamp { + if x != nil { + return x.VerifyTime + } + return nil +} + +func (x *Account) GetDisableTime() *timestamppb.Timestamp { + if x != nil { + return x.DisableTime + } + return nil +} + +// Obtain a new authentication token using a refresh token. +type AccountRefresh struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Refresh token. + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + // Extra information that will be bundled in the session token. + Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *AccountRefresh) Reset() { + *x = AccountRefresh{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountRefresh) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountRefresh) ProtoMessage() {} + +func (x *AccountRefresh) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountRefresh.ProtoReflect.Descriptor instead. +func (*AccountRefresh) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{1} +} + +func (x *AccountRefresh) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *AccountRefresh) GetVars() map[string]string { + if x != nil { + return x.Vars + } + return nil +} + +// Send a Apple Sign In token to the server. Used with authenticate/link/unlink. +type AccountApple struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID token received from Apple to validate. + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + // Extra information that will be bundled in the session token. + Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *AccountApple) Reset() { + *x = AccountApple{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountApple) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountApple) ProtoMessage() {} + +func (x *AccountApple) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountApple.ProtoReflect.Descriptor instead. +func (*AccountApple) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{2} +} + +func (x *AccountApple) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *AccountApple) GetVars() map[string]string { + if x != nil { + return x.Vars + } + return nil +} + +// Send a custom ID to the server. Used with authenticate/link/unlink. +type AccountCustom struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A custom identifier. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Extra information that will be bundled in the session token. + Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *AccountCustom) Reset() { + *x = AccountCustom{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountCustom) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountCustom) ProtoMessage() {} + +func (x *AccountCustom) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountCustom.ProtoReflect.Descriptor instead. +func (*AccountCustom) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{3} +} + +func (x *AccountCustom) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AccountCustom) GetVars() map[string]string { + if x != nil { + return x.Vars + } + return nil +} + +// Send a device to the server. Used with authenticate/link/unlink and user. +type AccountDevice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A device identifier. Should be obtained by a platform-specific device API. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Extra information that will be bundled in the session token. + Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *AccountDevice) Reset() { + *x = AccountDevice{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountDevice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountDevice) ProtoMessage() {} + +func (x *AccountDevice) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountDevice.ProtoReflect.Descriptor instead. +func (*AccountDevice) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{4} +} + +func (x *AccountDevice) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AccountDevice) GetVars() map[string]string { + if x != nil { + return x.Vars + } + return nil +} + +// Send an email with password to the server. Used with authenticate/link/unlink. +type AccountEmail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A valid RFC-5322 email address. + Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` + // A password for the user account. + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` // Ignored with unlink operations. + // Extra information that will be bundled in the session token. + Vars map[string]string `protobuf:"bytes,3,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *AccountEmail) Reset() { + *x = AccountEmail{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountEmail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountEmail) ProtoMessage() {} + +func (x *AccountEmail) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountEmail.ProtoReflect.Descriptor instead. +func (*AccountEmail) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{5} +} + +func (x *AccountEmail) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *AccountEmail) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *AccountEmail) GetVars() map[string]string { + if x != nil { + return x.Vars + } + return nil +} + +// Send a Facebook token to the server. Used with authenticate/link/unlink. +type AccountFacebook struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The OAuth token received from Facebook to access their profile API. + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + // Extra information that will be bundled in the session token. + Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *AccountFacebook) Reset() { + *x = AccountFacebook{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountFacebook) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountFacebook) ProtoMessage() {} + +func (x *AccountFacebook) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountFacebook.ProtoReflect.Descriptor instead. +func (*AccountFacebook) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{6} +} + +func (x *AccountFacebook) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *AccountFacebook) GetVars() map[string]string { + if x != nil { + return x.Vars + } + return nil +} + +// Send a Facebook Instant Game token to the server. Used with authenticate/link/unlink. +type AccountFacebookInstantGame struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The OAuth token received from a Facebook Instant Game that may be decoded with the Application Secret (must be available with the nakama configuration) + SignedPlayerInfo string `protobuf:"bytes,1,opt,name=signed_player_info,json=signedPlayerInfo,proto3" json:"signed_player_info,omitempty"` + // Extra information that will be bundled in the session token. + Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *AccountFacebookInstantGame) Reset() { + *x = AccountFacebookInstantGame{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountFacebookInstantGame) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountFacebookInstantGame) ProtoMessage() {} + +func (x *AccountFacebookInstantGame) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountFacebookInstantGame.ProtoReflect.Descriptor instead. +func (*AccountFacebookInstantGame) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{7} +} + +func (x *AccountFacebookInstantGame) GetSignedPlayerInfo() string { + if x != nil { + return x.SignedPlayerInfo + } + return "" +} + +func (x *AccountFacebookInstantGame) GetVars() map[string]string { + if x != nil { + return x.Vars + } + return nil +} + +// Send Apple's Game Center account credentials to the server. Used with authenticate/link/unlink. +type AccountGameCenter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Player ID (generated by GameCenter). + PlayerId string `protobuf:"bytes,1,opt,name=player_id,json=playerId,proto3" json:"player_id,omitempty"` + // Bundle ID (generated by GameCenter). + BundleId string `protobuf:"bytes,2,opt,name=bundle_id,json=bundleId,proto3" json:"bundle_id,omitempty"` + // Time since UNIX epoch when the signature was created. + TimestampSeconds int64 `protobuf:"varint,3,opt,name=timestamp_seconds,json=timestampSeconds,proto3" json:"timestamp_seconds,omitempty"` + // A random "NSString" used to compute the hash and keep it randomized. + Salt string `protobuf:"bytes,4,opt,name=salt,proto3" json:"salt,omitempty"` + // The verification signature data generated. + Signature string `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"` + // The URL for the public encryption key. + PublicKeyUrl string `protobuf:"bytes,6,opt,name=public_key_url,json=publicKeyUrl,proto3" json:"public_key_url,omitempty"` + // Extra information that will be bundled in the session token. + Vars map[string]string `protobuf:"bytes,7,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *AccountGameCenter) Reset() { + *x = AccountGameCenter{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountGameCenter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountGameCenter) ProtoMessage() {} + +func (x *AccountGameCenter) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountGameCenter.ProtoReflect.Descriptor instead. +func (*AccountGameCenter) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{8} +} + +func (x *AccountGameCenter) GetPlayerId() string { + if x != nil { + return x.PlayerId + } + return "" +} + +func (x *AccountGameCenter) GetBundleId() string { + if x != nil { + return x.BundleId + } + return "" +} + +func (x *AccountGameCenter) GetTimestampSeconds() int64 { + if x != nil { + return x.TimestampSeconds + } + return 0 +} + +func (x *AccountGameCenter) GetSalt() string { + if x != nil { + return x.Salt + } + return "" +} + +func (x *AccountGameCenter) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +func (x *AccountGameCenter) GetPublicKeyUrl() string { + if x != nil { + return x.PublicKeyUrl + } + return "" +} + +func (x *AccountGameCenter) GetVars() map[string]string { + if x != nil { + return x.Vars + } + return nil +} + +// Send a Google token to the server. Used with authenticate/link/unlink. +type AccountGoogle struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The OAuth token received from Google to access their profile API. + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + // Extra information that will be bundled in the session token. + Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *AccountGoogle) Reset() { + *x = AccountGoogle{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountGoogle) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountGoogle) ProtoMessage() {} + +func (x *AccountGoogle) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountGoogle.ProtoReflect.Descriptor instead. +func (*AccountGoogle) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{9} +} + +func (x *AccountGoogle) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *AccountGoogle) GetVars() map[string]string { + if x != nil { + return x.Vars + } + return nil +} + +// Send a Steam token to the server. Used with authenticate/link/unlink. +type AccountSteam struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The account token received from Steam to access their profile API. + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + // Extra information that will be bundled in the session token. + Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *AccountSteam) Reset() { + *x = AccountSteam{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountSteam) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountSteam) ProtoMessage() {} + +func (x *AccountSteam) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountSteam.ProtoReflect.Descriptor instead. +func (*AccountSteam) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{10} +} + +func (x *AccountSteam) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *AccountSteam) GetVars() map[string]string { + if x != nil { + return x.Vars + } + return nil +} + +// Add one or more friends to the current user. +type AddFriendsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The account id of a user. + Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` + // The account username of a user. + Usernames []string `protobuf:"bytes,2,rep,name=usernames,proto3" json:"usernames,omitempty"` +} + +func (x *AddFriendsRequest) Reset() { + *x = AddFriendsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddFriendsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddFriendsRequest) ProtoMessage() {} + +func (x *AddFriendsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddFriendsRequest.ProtoReflect.Descriptor instead. +func (*AddFriendsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{11} +} + +func (x *AddFriendsRequest) GetIds() []string { + if x != nil { + return x.Ids + } + return nil +} + +func (x *AddFriendsRequest) GetUsernames() []string { + if x != nil { + return x.Usernames + } + return nil +} + +// Add users to a group. +type AddGroupUsersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The group to add users to. + GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + // The users to add. + UserIds []string `protobuf:"bytes,2,rep,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"` +} + +func (x *AddGroupUsersRequest) Reset() { + *x = AddGroupUsersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddGroupUsersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddGroupUsersRequest) ProtoMessage() {} + +func (x *AddGroupUsersRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddGroupUsersRequest.ProtoReflect.Descriptor instead. +func (*AddGroupUsersRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{12} +} + +func (x *AddGroupUsersRequest) GetGroupId() string { + if x != nil { + return x.GroupId + } + return "" +} + +func (x *AddGroupUsersRequest) GetUserIds() []string { + if x != nil { + return x.UserIds + } + return nil +} + +// Authenticate against the server with a refresh token. +type SessionRefreshRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Refresh token. + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + // Extra information that will be bundled in the session token. + Vars map[string]string `protobuf:"bytes,2,rep,name=vars,proto3" json:"vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *SessionRefreshRequest) Reset() { + *x = SessionRefreshRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SessionRefreshRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SessionRefreshRequest) ProtoMessage() {} + +func (x *SessionRefreshRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SessionRefreshRequest.ProtoReflect.Descriptor instead. +func (*SessionRefreshRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{13} +} + +func (x *SessionRefreshRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *SessionRefreshRequest) GetVars() map[string]string { + if x != nil { + return x.Vars + } + return nil +} + +// Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user. +type SessionLogoutRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Session token to log out. + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + // Refresh token to invalidate. + RefreshToken string `protobuf:"bytes,2,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"` +} + +func (x *SessionLogoutRequest) Reset() { + *x = SessionLogoutRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SessionLogoutRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SessionLogoutRequest) ProtoMessage() {} + +func (x *SessionLogoutRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SessionLogoutRequest.ProtoReflect.Descriptor instead. +func (*SessionLogoutRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{14} +} + +func (x *SessionLogoutRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *SessionLogoutRequest) GetRefreshToken() string { + if x != nil { + return x.RefreshToken + } + return "" +} + +// Authenticate against the server with Apple Sign In. +type AuthenticateAppleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Apple account details. + Account *AccountApple `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + // Register the account if the user does not already exist. + Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"` + // Set the username on the account at register. Must be unique. + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` +} + +func (x *AuthenticateAppleRequest) Reset() { + *x = AuthenticateAppleRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthenticateAppleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthenticateAppleRequest) ProtoMessage() {} + +func (x *AuthenticateAppleRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthenticateAppleRequest.ProtoReflect.Descriptor instead. +func (*AuthenticateAppleRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{15} +} + +func (x *AuthenticateAppleRequest) GetAccount() *AccountApple { + if x != nil { + return x.Account + } + return nil +} + +func (x *AuthenticateAppleRequest) GetCreate() *wrapperspb.BoolValue { + if x != nil { + return x.Create + } + return nil +} + +func (x *AuthenticateAppleRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +// Authenticate against the server with a custom ID. +type AuthenticateCustomRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The custom account details. + Account *AccountCustom `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + // Register the account if the user does not already exist. + Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"` + // Set the username on the account at register. Must be unique. + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` +} + +func (x *AuthenticateCustomRequest) Reset() { + *x = AuthenticateCustomRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthenticateCustomRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthenticateCustomRequest) ProtoMessage() {} + +func (x *AuthenticateCustomRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthenticateCustomRequest.ProtoReflect.Descriptor instead. +func (*AuthenticateCustomRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{16} +} + +func (x *AuthenticateCustomRequest) GetAccount() *AccountCustom { + if x != nil { + return x.Account + } + return nil +} + +func (x *AuthenticateCustomRequest) GetCreate() *wrapperspb.BoolValue { + if x != nil { + return x.Create + } + return nil +} + +func (x *AuthenticateCustomRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +// Authenticate against the server with a device ID. +type AuthenticateDeviceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The device account details. + Account *AccountDevice `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + // Register the account if the user does not already exist. + Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"` + // Set the username on the account at register. Must be unique. + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` +} + +func (x *AuthenticateDeviceRequest) Reset() { + *x = AuthenticateDeviceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthenticateDeviceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthenticateDeviceRequest) ProtoMessage() {} + +func (x *AuthenticateDeviceRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthenticateDeviceRequest.ProtoReflect.Descriptor instead. +func (*AuthenticateDeviceRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{17} +} + +func (x *AuthenticateDeviceRequest) GetAccount() *AccountDevice { + if x != nil { + return x.Account + } + return nil +} + +func (x *AuthenticateDeviceRequest) GetCreate() *wrapperspb.BoolValue { + if x != nil { + return x.Create + } + return nil +} + +func (x *AuthenticateDeviceRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +// Authenticate against the server with email+password. +type AuthenticateEmailRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The email account details. + Account *AccountEmail `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + // Register the account if the user does not already exist. + Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"` + // Set the username on the account at register. Must be unique. + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` +} + +func (x *AuthenticateEmailRequest) Reset() { + *x = AuthenticateEmailRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthenticateEmailRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthenticateEmailRequest) ProtoMessage() {} + +func (x *AuthenticateEmailRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthenticateEmailRequest.ProtoReflect.Descriptor instead. +func (*AuthenticateEmailRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{18} +} + +func (x *AuthenticateEmailRequest) GetAccount() *AccountEmail { + if x != nil { + return x.Account + } + return nil +} + +func (x *AuthenticateEmailRequest) GetCreate() *wrapperspb.BoolValue { + if x != nil { + return x.Create + } + return nil +} + +func (x *AuthenticateEmailRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +// Authenticate against the server with Facebook. +type AuthenticateFacebookRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Facebook account details. + Account *AccountFacebook `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + // Register the account if the user does not already exist. + Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"` + // Set the username on the account at register. Must be unique. + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` + // Import Facebook friends for the user. + Sync *wrapperspb.BoolValue `protobuf:"bytes,4,opt,name=sync,proto3" json:"sync,omitempty"` +} + +func (x *AuthenticateFacebookRequest) Reset() { + *x = AuthenticateFacebookRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthenticateFacebookRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthenticateFacebookRequest) ProtoMessage() {} + +func (x *AuthenticateFacebookRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthenticateFacebookRequest.ProtoReflect.Descriptor instead. +func (*AuthenticateFacebookRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{19} +} + +func (x *AuthenticateFacebookRequest) GetAccount() *AccountFacebook { + if x != nil { + return x.Account + } + return nil +} + +func (x *AuthenticateFacebookRequest) GetCreate() *wrapperspb.BoolValue { + if x != nil { + return x.Create + } + return nil +} + +func (x *AuthenticateFacebookRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *AuthenticateFacebookRequest) GetSync() *wrapperspb.BoolValue { + if x != nil { + return x.Sync + } + return nil +} + +// Authenticate against the server with Facebook Instant Game token. +type AuthenticateFacebookInstantGameRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Facebook Instant Game account details. + Account *AccountFacebookInstantGame `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + // Register the account if the user does not already exist. + Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"` + // Set the username on the account at register. Must be unique. + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` +} + +func (x *AuthenticateFacebookInstantGameRequest) Reset() { + *x = AuthenticateFacebookInstantGameRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthenticateFacebookInstantGameRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthenticateFacebookInstantGameRequest) ProtoMessage() {} + +func (x *AuthenticateFacebookInstantGameRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthenticateFacebookInstantGameRequest.ProtoReflect.Descriptor instead. +func (*AuthenticateFacebookInstantGameRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{20} +} + +func (x *AuthenticateFacebookInstantGameRequest) GetAccount() *AccountFacebookInstantGame { + if x != nil { + return x.Account + } + return nil +} + +func (x *AuthenticateFacebookInstantGameRequest) GetCreate() *wrapperspb.BoolValue { + if x != nil { + return x.Create + } + return nil +} + +func (x *AuthenticateFacebookInstantGameRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +// Authenticate against the server with Apple's Game Center. +type AuthenticateGameCenterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Game Center account details. + Account *AccountGameCenter `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + // Register the account if the user does not already exist. + Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"` + // Set the username on the account at register. Must be unique. + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` +} + +func (x *AuthenticateGameCenterRequest) Reset() { + *x = AuthenticateGameCenterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthenticateGameCenterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthenticateGameCenterRequest) ProtoMessage() {} + +func (x *AuthenticateGameCenterRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthenticateGameCenterRequest.ProtoReflect.Descriptor instead. +func (*AuthenticateGameCenterRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{21} +} + +func (x *AuthenticateGameCenterRequest) GetAccount() *AccountGameCenter { + if x != nil { + return x.Account + } + return nil +} + +func (x *AuthenticateGameCenterRequest) GetCreate() *wrapperspb.BoolValue { + if x != nil { + return x.Create + } + return nil +} + +func (x *AuthenticateGameCenterRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +// Authenticate against the server with Google. +type AuthenticateGoogleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Google account details. + Account *AccountGoogle `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + // Register the account if the user does not already exist. + Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"` + // Set the username on the account at register. Must be unique. + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` +} + +func (x *AuthenticateGoogleRequest) Reset() { + *x = AuthenticateGoogleRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthenticateGoogleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthenticateGoogleRequest) ProtoMessage() {} + +func (x *AuthenticateGoogleRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthenticateGoogleRequest.ProtoReflect.Descriptor instead. +func (*AuthenticateGoogleRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{22} +} + +func (x *AuthenticateGoogleRequest) GetAccount() *AccountGoogle { + if x != nil { + return x.Account + } + return nil +} + +func (x *AuthenticateGoogleRequest) GetCreate() *wrapperspb.BoolValue { + if x != nil { + return x.Create + } + return nil +} + +func (x *AuthenticateGoogleRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +// Authenticate against the server with Steam. +type AuthenticateSteamRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Steam account details. + Account *AccountSteam `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + // Register the account if the user does not already exist. + Create *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=create,proto3" json:"create,omitempty"` + // Set the username on the account at register. Must be unique. + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` + // Import Steam friends for the user. + Sync *wrapperspb.BoolValue `protobuf:"bytes,4,opt,name=sync,proto3" json:"sync,omitempty"` +} + +func (x *AuthenticateSteamRequest) Reset() { + *x = AuthenticateSteamRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthenticateSteamRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthenticateSteamRequest) ProtoMessage() {} + +func (x *AuthenticateSteamRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthenticateSteamRequest.ProtoReflect.Descriptor instead. +func (*AuthenticateSteamRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{23} +} + +func (x *AuthenticateSteamRequest) GetAccount() *AccountSteam { + if x != nil { + return x.Account + } + return nil +} + +func (x *AuthenticateSteamRequest) GetCreate() *wrapperspb.BoolValue { + if x != nil { + return x.Create + } + return nil +} + +func (x *AuthenticateSteamRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *AuthenticateSteamRequest) GetSync() *wrapperspb.BoolValue { + if x != nil { + return x.Sync + } + return nil +} + +// Ban users from a group. +type BanGroupUsersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The group to ban users from. + GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + // The users to ban. + UserIds []string `protobuf:"bytes,2,rep,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"` +} + +func (x *BanGroupUsersRequest) Reset() { + *x = BanGroupUsersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BanGroupUsersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BanGroupUsersRequest) ProtoMessage() {} + +func (x *BanGroupUsersRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BanGroupUsersRequest.ProtoReflect.Descriptor instead. +func (*BanGroupUsersRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{24} +} + +func (x *BanGroupUsersRequest) GetGroupId() string { + if x != nil { + return x.GroupId + } + return "" +} + +func (x *BanGroupUsersRequest) GetUserIds() []string { + if x != nil { + return x.UserIds + } + return nil +} + +// Block one or more friends for the current user. +type BlockFriendsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The account id of a user. + Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` + // The account username of a user. + Usernames []string `protobuf:"bytes,2,rep,name=usernames,proto3" json:"usernames,omitempty"` +} + +func (x *BlockFriendsRequest) Reset() { + *x = BlockFriendsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlockFriendsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlockFriendsRequest) ProtoMessage() {} + +func (x *BlockFriendsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlockFriendsRequest.ProtoReflect.Descriptor instead. +func (*BlockFriendsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{25} +} + +func (x *BlockFriendsRequest) GetIds() []string { + if x != nil { + return x.Ids + } + return nil +} + +func (x *BlockFriendsRequest) GetUsernames() []string { + if x != nil { + return x.Usernames + } + return nil +} + +// A message sent on a channel. +type ChannelMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The channel this message belongs to. + ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + // The unique ID of this message. + MessageId string `protobuf:"bytes,2,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` + // The code representing a message type or category. + Code *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` + // Message sender, usually a user ID. + SenderId string `protobuf:"bytes,4,opt,name=sender_id,json=senderId,proto3" json:"sender_id,omitempty"` + // The username of the message sender, if any. + Username string `protobuf:"bytes,5,opt,name=username,proto3" json:"username,omitempty"` + // The content payload. + Content string `protobuf:"bytes,6,opt,name=content,proto3" json:"content,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the message was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the message was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // True if the message was persisted to the channel's history, false otherwise. + Persistent *wrapperspb.BoolValue `protobuf:"bytes,9,opt,name=persistent,proto3" json:"persistent,omitempty"` + // The name of the chat room, or an empty string if this message was not sent through a chat room. + RoomName string `protobuf:"bytes,10,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"` + // The ID of the group, or an empty string if this message was not sent through a group channel. + GroupId string `protobuf:"bytes,11,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + // The ID of the first DM user, or an empty string if this message was not sent through a DM chat. + UserIdOne string `protobuf:"bytes,12,opt,name=user_id_one,json=userIdOne,proto3" json:"user_id_one,omitempty"` + // The ID of the second DM user, or an empty string if this message was not sent through a DM chat. + UserIdTwo string `protobuf:"bytes,13,opt,name=user_id_two,json=userIdTwo,proto3" json:"user_id_two,omitempty"` +} + +func (x *ChannelMessage) Reset() { + *x = ChannelMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChannelMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelMessage) ProtoMessage() {} + +func (x *ChannelMessage) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChannelMessage.ProtoReflect.Descriptor instead. +func (*ChannelMessage) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{26} +} + +func (x *ChannelMessage) GetChannelId() string { + if x != nil { + return x.ChannelId + } + return "" +} + +func (x *ChannelMessage) GetMessageId() string { + if x != nil { + return x.MessageId + } + return "" +} + +func (x *ChannelMessage) GetCode() *wrapperspb.Int32Value { + if x != nil { + return x.Code + } + return nil +} + +func (x *ChannelMessage) GetSenderId() string { + if x != nil { + return x.SenderId + } + return "" +} + +func (x *ChannelMessage) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *ChannelMessage) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +func (x *ChannelMessage) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ChannelMessage) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *ChannelMessage) GetPersistent() *wrapperspb.BoolValue { + if x != nil { + return x.Persistent + } + return nil +} + +func (x *ChannelMessage) GetRoomName() string { + if x != nil { + return x.RoomName + } + return "" +} + +func (x *ChannelMessage) GetGroupId() string { + if x != nil { + return x.GroupId + } + return "" +} + +func (x *ChannelMessage) GetUserIdOne() string { + if x != nil { + return x.UserIdOne + } + return "" +} + +func (x *ChannelMessage) GetUserIdTwo() string { + if x != nil { + return x.UserIdTwo + } + return "" +} + +// A list of channel messages, usually a result of a list operation. +type ChannelMessageList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of messages. + Messages []*ChannelMessage `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` + // The cursor to send when retrieving the next page, if any. + NextCursor string `protobuf:"bytes,2,opt,name=next_cursor,json=nextCursor,proto3" json:"next_cursor,omitempty"` + // The cursor to send when retrieving the previous page, if any. + PrevCursor string `protobuf:"bytes,3,opt,name=prev_cursor,json=prevCursor,proto3" json:"prev_cursor,omitempty"` + // Cacheable cursor to list newer messages. Durable and designed to be stored, unlike next/prev cursors. + CacheableCursor string `protobuf:"bytes,4,opt,name=cacheable_cursor,json=cacheableCursor,proto3" json:"cacheable_cursor,omitempty"` +} + +func (x *ChannelMessageList) Reset() { + *x = ChannelMessageList{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChannelMessageList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelMessageList) ProtoMessage() {} + +func (x *ChannelMessageList) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChannelMessageList.ProtoReflect.Descriptor instead. +func (*ChannelMessageList) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{27} +} + +func (x *ChannelMessageList) GetMessages() []*ChannelMessage { + if x != nil { + return x.Messages + } + return nil +} + +func (x *ChannelMessageList) GetNextCursor() string { + if x != nil { + return x.NextCursor + } + return "" +} + +func (x *ChannelMessageList) GetPrevCursor() string { + if x != nil { + return x.PrevCursor + } + return "" +} + +func (x *ChannelMessageList) GetCacheableCursor() string { + if x != nil { + return x.CacheableCursor + } + return "" +} + +// Create a group with the current user as owner. +type CreateGroupRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A unique name for the group. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // A description for the group. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // The language expected to be a tag which follows the BCP-47 spec. + LangTag string `protobuf:"bytes,3,opt,name=lang_tag,json=langTag,proto3" json:"lang_tag,omitempty"` + // A URL for an avatar image. + AvatarUrl string `protobuf:"bytes,4,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url,omitempty"` + // Mark a group as open or not where only admins can accept members. + Open bool `protobuf:"varint,5,opt,name=open,proto3" json:"open,omitempty"` + // Maximum number of group members. + MaxCount int32 `protobuf:"varint,6,opt,name=max_count,json=maxCount,proto3" json:"max_count,omitempty"` +} + +func (x *CreateGroupRequest) Reset() { + *x = CreateGroupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateGroupRequest) ProtoMessage() {} + +func (x *CreateGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateGroupRequest.ProtoReflect.Descriptor instead. +func (*CreateGroupRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{28} +} + +func (x *CreateGroupRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateGroupRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateGroupRequest) GetLangTag() string { + if x != nil { + return x.LangTag + } + return "" +} + +func (x *CreateGroupRequest) GetAvatarUrl() string { + if x != nil { + return x.AvatarUrl + } + return "" +} + +func (x *CreateGroupRequest) GetOpen() bool { + if x != nil { + return x.Open + } + return false +} + +func (x *CreateGroupRequest) GetMaxCount() int32 { + if x != nil { + return x.MaxCount + } + return 0 +} + +// Delete one or more friends for the current user. +type DeleteFriendsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The account id of a user. + Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` + // The account username of a user. + Usernames []string `protobuf:"bytes,2,rep,name=usernames,proto3" json:"usernames,omitempty"` +} + +func (x *DeleteFriendsRequest) Reset() { + *x = DeleteFriendsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFriendsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFriendsRequest) ProtoMessage() {} + +func (x *DeleteFriendsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteFriendsRequest.ProtoReflect.Descriptor instead. +func (*DeleteFriendsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{29} +} + +func (x *DeleteFriendsRequest) GetIds() []string { + if x != nil { + return x.Ids + } + return nil +} + +func (x *DeleteFriendsRequest) GetUsernames() []string { + if x != nil { + return x.Usernames + } + return nil +} + +// Delete a group the user has access to. +type DeleteGroupRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The id of a group. + GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` +} + +func (x *DeleteGroupRequest) Reset() { + *x = DeleteGroupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteGroupRequest) ProtoMessage() {} + +func (x *DeleteGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteGroupRequest.ProtoReflect.Descriptor instead. +func (*DeleteGroupRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{30} +} + +func (x *DeleteGroupRequest) GetGroupId() string { + if x != nil { + return x.GroupId + } + return "" +} + +// Delete a leaderboard record. +type DeleteLeaderboardRecordRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The leaderboard ID to delete from. + LeaderboardId string `protobuf:"bytes,1,opt,name=leaderboard_id,json=leaderboardId,proto3" json:"leaderboard_id,omitempty"` +} + +func (x *DeleteLeaderboardRecordRequest) Reset() { + *x = DeleteLeaderboardRecordRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteLeaderboardRecordRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteLeaderboardRecordRequest) ProtoMessage() {} + +func (x *DeleteLeaderboardRecordRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteLeaderboardRecordRequest.ProtoReflect.Descriptor instead. +func (*DeleteLeaderboardRecordRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{31} +} + +func (x *DeleteLeaderboardRecordRequest) GetLeaderboardId() string { + if x != nil { + return x.LeaderboardId + } + return "" +} + +// Delete one or more notifications for the current user. +type DeleteNotificationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The id of notifications. + Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` +} + +func (x *DeleteNotificationsRequest) Reset() { + *x = DeleteNotificationsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteNotificationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNotificationsRequest) ProtoMessage() {} + +func (x *DeleteNotificationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNotificationsRequest.ProtoReflect.Descriptor instead. +func (*DeleteNotificationsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{32} +} + +func (x *DeleteNotificationsRequest) GetIds() []string { + if x != nil { + return x.Ids + } + return nil +} + +// Delete a leaderboard record. +type DeleteTournamentRecordRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The tournament ID to delete from. + TournamentId string `protobuf:"bytes,1,opt,name=tournament_id,json=tournamentId,proto3" json:"tournament_id,omitempty"` +} + +func (x *DeleteTournamentRecordRequest) Reset() { + *x = DeleteTournamentRecordRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteTournamentRecordRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteTournamentRecordRequest) ProtoMessage() {} + +func (x *DeleteTournamentRecordRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteTournamentRecordRequest.ProtoReflect.Descriptor instead. +func (*DeleteTournamentRecordRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{33} +} + +func (x *DeleteTournamentRecordRequest) GetTournamentId() string { + if x != nil { + return x.TournamentId + } + return "" +} + +// Storage objects to delete. +type DeleteStorageObjectId struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The collection which stores the object. + Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"` + // The key of the object within the collection. + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + // The version hash of the object. + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *DeleteStorageObjectId) Reset() { + *x = DeleteStorageObjectId{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteStorageObjectId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteStorageObjectId) ProtoMessage() {} + +func (x *DeleteStorageObjectId) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteStorageObjectId.ProtoReflect.Descriptor instead. +func (*DeleteStorageObjectId) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{34} +} + +func (x *DeleteStorageObjectId) GetCollection() string { + if x != nil { + return x.Collection + } + return "" +} + +func (x *DeleteStorageObjectId) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *DeleteStorageObjectId) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +// Batch delete storage objects. +type DeleteStorageObjectsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Batch of storage objects. + ObjectIds []*DeleteStorageObjectId `protobuf:"bytes,1,rep,name=object_ids,json=objectIds,proto3" json:"object_ids,omitempty"` +} + +func (x *DeleteStorageObjectsRequest) Reset() { + *x = DeleteStorageObjectsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteStorageObjectsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteStorageObjectsRequest) ProtoMessage() {} + +func (x *DeleteStorageObjectsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteStorageObjectsRequest.ProtoReflect.Descriptor instead. +func (*DeleteStorageObjectsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{35} +} + +func (x *DeleteStorageObjectsRequest) GetObjectIds() []*DeleteStorageObjectId { + if x != nil { + return x.ObjectIds + } + return nil +} + +// Represents an event to be passed through the server to registered event handlers. +type Event struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // An event name, type, category, or identifier. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Arbitrary event property values. + Properties map[string]string `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The time when the event was triggered. + Timestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // True if the event came directly from a client call, false otherwise. + External bool `protobuf:"varint,4,opt,name=external,proto3" json:"external,omitempty"` +} + +func (x *Event) Reset() { + *x = Event{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Event) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Event) ProtoMessage() {} + +func (x *Event) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Event.ProtoReflect.Descriptor instead. +func (*Event) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{36} +} + +func (x *Event) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Event) GetProperties() map[string]string { + if x != nil { + return x.Properties + } + return nil +} + +func (x *Event) GetTimestamp() *timestamppb.Timestamp { + if x != nil { + return x.Timestamp + } + return nil +} + +func (x *Event) GetExternal() bool { + if x != nil { + return x.External + } + return false +} + +// A friend of a user. +type Friend struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The user object. + User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + // The friend status. + State *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` // one of "Friend.State". + // Time of the latest relationship update. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` +} + +func (x *Friend) Reset() { + *x = Friend{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Friend) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Friend) ProtoMessage() {} + +func (x *Friend) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Friend.ProtoReflect.Descriptor instead. +func (*Friend) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{37} +} + +func (x *Friend) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +func (x *Friend) GetState() *wrapperspb.Int32Value { + if x != nil { + return x.State + } + return nil +} + +func (x *Friend) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +// A collection of zero or more friends of the user. +type FriendList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Friend objects. + Friends []*Friend `protobuf:"bytes,1,rep,name=friends,proto3" json:"friends,omitempty"` + // Cursor for the next page of results, if any. + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` +} + +func (x *FriendList) Reset() { + *x = FriendList{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FriendList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FriendList) ProtoMessage() {} + +func (x *FriendList) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FriendList.ProtoReflect.Descriptor instead. +func (*FriendList) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{38} +} + +func (x *FriendList) GetFriends() []*Friend { + if x != nil { + return x.Friends + } + return nil +} + +func (x *FriendList) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +// Fetch a batch of zero or more users from the server. +type GetUsersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The account id of a user. + Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` + // The account username of a user. + Usernames []string `protobuf:"bytes,2,rep,name=usernames,proto3" json:"usernames,omitempty"` + // The Facebook ID of a user. + FacebookIds []string `protobuf:"bytes,3,rep,name=facebook_ids,json=facebookIds,proto3" json:"facebook_ids,omitempty"` +} + +func (x *GetUsersRequest) Reset() { + *x = GetUsersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUsersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUsersRequest) ProtoMessage() {} + +func (x *GetUsersRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUsersRequest.ProtoReflect.Descriptor instead. +func (*GetUsersRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{39} +} + +func (x *GetUsersRequest) GetIds() []string { + if x != nil { + return x.Ids + } + return nil +} + +func (x *GetUsersRequest) GetUsernames() []string { + if x != nil { + return x.Usernames + } + return nil +} + +func (x *GetUsersRequest) GetFacebookIds() []string { + if x != nil { + return x.FacebookIds + } + return nil +} + +// Fetch a subscription by product id. +type GetSubscriptionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Product id of the subscription + ProductId string `protobuf:"bytes,1,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"` +} + +func (x *GetSubscriptionRequest) Reset() { + *x = GetSubscriptionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSubscriptionRequest) ProtoMessage() {} + +func (x *GetSubscriptionRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSubscriptionRequest.ProtoReflect.Descriptor instead. +func (*GetSubscriptionRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{40} +} + +func (x *GetSubscriptionRequest) GetProductId() string { + if x != nil { + return x.ProductId + } + return "" +} + +// A group in the server. +type Group struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The id of a group. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The id of the user who created the group. + CreatorId string `protobuf:"bytes,2,opt,name=creator_id,json=creatorId,proto3" json:"creator_id,omitempty"` + // The unique name of the group. + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // A description for the group. + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + // The language expected to be a tag which follows the BCP-47 spec. + LangTag string `protobuf:"bytes,5,opt,name=lang_tag,json=langTag,proto3" json:"lang_tag,omitempty"` + // Additional information stored as a JSON object. + Metadata string `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` + // A URL for an avatar image. + AvatarUrl string `protobuf:"bytes,7,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url,omitempty"` + // Anyone can join open groups, otherwise only admins can accept members. + Open *wrapperspb.BoolValue `protobuf:"bytes,8,opt,name=open,proto3" json:"open,omitempty"` + // The current count of all members in the group. + EdgeCount int32 `protobuf:"varint,9,opt,name=edge_count,json=edgeCount,proto3" json:"edge_count,omitempty"` + // The maximum number of members allowed. + MaxCount int32 `protobuf:"varint,10,opt,name=max_count,json=maxCount,proto3" json:"max_count,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the group was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the group was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` +} + +func (x *Group) Reset() { + *x = Group{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Group) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Group) ProtoMessage() {} + +func (x *Group) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Group.ProtoReflect.Descriptor instead. +func (*Group) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{41} +} + +func (x *Group) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Group) GetCreatorId() string { + if x != nil { + return x.CreatorId + } + return "" +} + +func (x *Group) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Group) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Group) GetLangTag() string { + if x != nil { + return x.LangTag + } + return "" +} + +func (x *Group) GetMetadata() string { + if x != nil { + return x.Metadata + } + return "" +} + +func (x *Group) GetAvatarUrl() string { + if x != nil { + return x.AvatarUrl + } + return "" +} + +func (x *Group) GetOpen() *wrapperspb.BoolValue { + if x != nil { + return x.Open + } + return nil +} + +func (x *Group) GetEdgeCount() int32 { + if x != nil { + return x.EdgeCount + } + return 0 +} + +func (x *Group) GetMaxCount() int32 { + if x != nil { + return x.MaxCount + } + return 0 +} + +func (x *Group) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Group) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +// One or more groups returned from a listing operation. +type GroupList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // One or more groups. + Groups []*Group `protobuf:"bytes,1,rep,name=groups,proto3" json:"groups,omitempty"` + // A cursor used to get the next page. + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` +} + +func (x *GroupList) Reset() { + *x = GroupList{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GroupList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupList) ProtoMessage() {} + +func (x *GroupList) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupList.ProtoReflect.Descriptor instead. +func (*GroupList) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{42} +} + +func (x *GroupList) GetGroups() []*Group { + if x != nil { + return x.Groups + } + return nil +} + +func (x *GroupList) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +// A list of users belonging to a group, along with their role. +type GroupUserList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // User-role pairs for a group. + GroupUsers []*GroupUserList_GroupUser `protobuf:"bytes,1,rep,name=group_users,json=groupUsers,proto3" json:"group_users,omitempty"` + // Cursor for the next page of results, if any. + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` +} + +func (x *GroupUserList) Reset() { + *x = GroupUserList{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GroupUserList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupUserList) ProtoMessage() {} + +func (x *GroupUserList) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupUserList.ProtoReflect.Descriptor instead. +func (*GroupUserList) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{43} +} + +func (x *GroupUserList) GetGroupUsers() []*GroupUserList_GroupUser { + if x != nil { + return x.GroupUsers + } + return nil +} + +func (x *GroupUserList) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +// Import Facebook friends into the current user's account. +type ImportFacebookFriendsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Facebook account details. + Account *AccountFacebook `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + // Reset the current user's friends list. + Reset_ *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=reset,proto3" json:"reset,omitempty"` +} + +func (x *ImportFacebookFriendsRequest) Reset() { + *x = ImportFacebookFriendsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportFacebookFriendsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportFacebookFriendsRequest) ProtoMessage() {} + +func (x *ImportFacebookFriendsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportFacebookFriendsRequest.ProtoReflect.Descriptor instead. +func (*ImportFacebookFriendsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{44} +} + +func (x *ImportFacebookFriendsRequest) GetAccount() *AccountFacebook { + if x != nil { + return x.Account + } + return nil +} + +func (x *ImportFacebookFriendsRequest) GetReset_() *wrapperspb.BoolValue { + if x != nil { + return x.Reset_ + } + return nil +} + +// Import Facebook friends into the current user's account. +type ImportSteamFriendsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Facebook account details. + Account *AccountSteam `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + // Reset the current user's friends list. + Reset_ *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=reset,proto3" json:"reset,omitempty"` +} + +func (x *ImportSteamFriendsRequest) Reset() { + *x = ImportSteamFriendsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportSteamFriendsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportSteamFriendsRequest) ProtoMessage() {} + +func (x *ImportSteamFriendsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportSteamFriendsRequest.ProtoReflect.Descriptor instead. +func (*ImportSteamFriendsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{45} +} + +func (x *ImportSteamFriendsRequest) GetAccount() *AccountSteam { + if x != nil { + return x.Account + } + return nil +} + +func (x *ImportSteamFriendsRequest) GetReset_() *wrapperspb.BoolValue { + if x != nil { + return x.Reset_ + } + return nil +} + +// Immediately join an open group, or request to join a closed one. +type JoinGroupRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The group ID to join. The group must already exist. + GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` +} + +func (x *JoinGroupRequest) Reset() { + *x = JoinGroupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JoinGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JoinGroupRequest) ProtoMessage() {} + +func (x *JoinGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JoinGroupRequest.ProtoReflect.Descriptor instead. +func (*JoinGroupRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{46} +} + +func (x *JoinGroupRequest) GetGroupId() string { + if x != nil { + return x.GroupId + } + return "" +} + +// The request to join a tournament. +type JoinTournamentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the tournament to join. The tournament must already exist. + TournamentId string `protobuf:"bytes,1,opt,name=tournament_id,json=tournamentId,proto3" json:"tournament_id,omitempty"` +} + +func (x *JoinTournamentRequest) Reset() { + *x = JoinTournamentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JoinTournamentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JoinTournamentRequest) ProtoMessage() {} + +func (x *JoinTournamentRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JoinTournamentRequest.ProtoReflect.Descriptor instead. +func (*JoinTournamentRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{47} +} + +func (x *JoinTournamentRequest) GetTournamentId() string { + if x != nil { + return x.TournamentId + } + return "" +} + +// Kick a set of users from a group. +type KickGroupUsersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The group ID to kick from. + GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + // The users to kick. + UserIds []string `protobuf:"bytes,2,rep,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"` +} + +func (x *KickGroupUsersRequest) Reset() { + *x = KickGroupUsersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KickGroupUsersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KickGroupUsersRequest) ProtoMessage() {} + +func (x *KickGroupUsersRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[48] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KickGroupUsersRequest.ProtoReflect.Descriptor instead. +func (*KickGroupUsersRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{48} +} + +func (x *KickGroupUsersRequest) GetGroupId() string { + if x != nil { + return x.GroupId + } + return "" +} + +func (x *KickGroupUsersRequest) GetUserIds() []string { + if x != nil { + return x.UserIds + } + return nil +} + +// A leaderboard on the server. +type Leaderboard struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the leaderboard. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // ASC(0) or DESC(1) sort mode of scores in the leaderboard. + SortOrder uint32 `protobuf:"varint,2,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"` + // BEST, SET, INCREMENT or DECREMENT operator mode of the leaderboard. + Operator Operator `protobuf:"varint,3,opt,name=operator,proto3,enum=nakama.api.Operator" json:"operator,omitempty"` + // The UNIX time when the leaderboard was previously reset. A computed value. + PrevReset uint32 `protobuf:"varint,4,opt,name=prev_reset,json=prevReset,proto3" json:"prev_reset,omitempty"` + // The UNIX time when the leaderboard is next playable. A computed value. + NextReset uint32 `protobuf:"varint,5,opt,name=next_reset,json=nextReset,proto3" json:"next_reset,omitempty"` + // Additional information stored as a JSON object. + Metadata string `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the leaderboard was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Whether the leaderboard was created authoritatively or not. + Authoritative bool `protobuf:"varint,8,opt,name=authoritative,proto3" json:"authoritative,omitempty"` +} + +func (x *Leaderboard) Reset() { + *x = Leaderboard{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Leaderboard) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Leaderboard) ProtoMessage() {} + +func (x *Leaderboard) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Leaderboard.ProtoReflect.Descriptor instead. +func (*Leaderboard) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{49} +} + +func (x *Leaderboard) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Leaderboard) GetSortOrder() uint32 { + if x != nil { + return x.SortOrder + } + return 0 +} + +func (x *Leaderboard) GetOperator() Operator { + if x != nil { + return x.Operator + } + return Operator_NO_OVERRIDE +} + +func (x *Leaderboard) GetPrevReset() uint32 { + if x != nil { + return x.PrevReset + } + return 0 +} + +func (x *Leaderboard) GetNextReset() uint32 { + if x != nil { + return x.NextReset + } + return 0 +} + +func (x *Leaderboard) GetMetadata() string { + if x != nil { + return x.Metadata + } + return "" +} + +func (x *Leaderboard) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Leaderboard) GetAuthoritative() bool { + if x != nil { + return x.Authoritative + } + return false +} + +// A list of leaderboards +type LeaderboardList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of leaderboards returned. + Leaderboards []*Leaderboard `protobuf:"bytes,1,rep,name=leaderboards,proto3" json:"leaderboards,omitempty"` + // A pagination cursor (optional). + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` +} + +func (x *LeaderboardList) Reset() { + *x = LeaderboardList{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LeaderboardList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LeaderboardList) ProtoMessage() {} + +func (x *LeaderboardList) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LeaderboardList.ProtoReflect.Descriptor instead. +func (*LeaderboardList) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{50} +} + +func (x *LeaderboardList) GetLeaderboards() []*Leaderboard { + if x != nil { + return x.Leaderboards + } + return nil +} + +func (x *LeaderboardList) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +// Represents a complete leaderboard record with all scores and associated metadata. +type LeaderboardRecord struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the leaderboard this score belongs to. + LeaderboardId string `protobuf:"bytes,1,opt,name=leaderboard_id,json=leaderboardId,proto3" json:"leaderboard_id,omitempty"` + // The ID of the score owner, usually a user or group. + OwnerId string `protobuf:"bytes,2,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"` + // The username of the score owner, if the owner is a user. + Username *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` + // The score value. + Score int64 `protobuf:"varint,4,opt,name=score,proto3" json:"score,omitempty"` + // An optional subscore value. + Subscore int64 `protobuf:"varint,5,opt,name=subscore,proto3" json:"subscore,omitempty"` + // The number of submissions to this score record. + NumScore int32 `protobuf:"varint,6,opt,name=num_score,json=numScore,proto3" json:"num_score,omitempty"` + // Metadata. + Metadata string `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the leaderboard record was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the leaderboard record was updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the leaderboard record expires. + ExpiryTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=expiry_time,json=expiryTime,proto3" json:"expiry_time,omitempty"` + // The rank of this record. + Rank int64 `protobuf:"varint,11,opt,name=rank,proto3" json:"rank,omitempty"` + // The maximum number of score updates allowed by the owner. + MaxNumScore uint32 `protobuf:"varint,12,opt,name=max_num_score,json=maxNumScore,proto3" json:"max_num_score,omitempty"` +} + +func (x *LeaderboardRecord) Reset() { + *x = LeaderboardRecord{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LeaderboardRecord) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LeaderboardRecord) ProtoMessage() {} + +func (x *LeaderboardRecord) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LeaderboardRecord.ProtoReflect.Descriptor instead. +func (*LeaderboardRecord) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{51} +} + +func (x *LeaderboardRecord) GetLeaderboardId() string { + if x != nil { + return x.LeaderboardId + } + return "" +} + +func (x *LeaderboardRecord) GetOwnerId() string { + if x != nil { + return x.OwnerId + } + return "" +} + +func (x *LeaderboardRecord) GetUsername() *wrapperspb.StringValue { + if x != nil { + return x.Username + } + return nil +} + +func (x *LeaderboardRecord) GetScore() int64 { + if x != nil { + return x.Score + } + return 0 +} + +func (x *LeaderboardRecord) GetSubscore() int64 { + if x != nil { + return x.Subscore + } + return 0 +} + +func (x *LeaderboardRecord) GetNumScore() int32 { + if x != nil { + return x.NumScore + } + return 0 +} + +func (x *LeaderboardRecord) GetMetadata() string { + if x != nil { + return x.Metadata + } + return "" +} + +func (x *LeaderboardRecord) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *LeaderboardRecord) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *LeaderboardRecord) GetExpiryTime() *timestamppb.Timestamp { + if x != nil { + return x.ExpiryTime + } + return nil +} + +func (x *LeaderboardRecord) GetRank() int64 { + if x != nil { + return x.Rank + } + return 0 +} + +func (x *LeaderboardRecord) GetMaxNumScore() uint32 { + if x != nil { + return x.MaxNumScore + } + return 0 +} + +// A set of leaderboard records, may be part of a leaderboard records page or a batch of individual records. +type LeaderboardRecordList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of leaderboard records. + Records []*LeaderboardRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"` + // A batched set of leaderboard records belonging to specified owners. + OwnerRecords []*LeaderboardRecord `protobuf:"bytes,2,rep,name=owner_records,json=ownerRecords,proto3" json:"owner_records,omitempty"` + // The cursor to send when retrieving the next page, if any. + NextCursor string `protobuf:"bytes,3,opt,name=next_cursor,json=nextCursor,proto3" json:"next_cursor,omitempty"` + // The cursor to send when retrieving the previous page, if any. + PrevCursor string `protobuf:"bytes,4,opt,name=prev_cursor,json=prevCursor,proto3" json:"prev_cursor,omitempty"` + // The total number of ranks available. + RankCount int64 `protobuf:"varint,5,opt,name=rank_count,json=rankCount,proto3" json:"rank_count,omitempty"` +} + +func (x *LeaderboardRecordList) Reset() { + *x = LeaderboardRecordList{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LeaderboardRecordList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LeaderboardRecordList) ProtoMessage() {} + +func (x *LeaderboardRecordList) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[52] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LeaderboardRecordList.ProtoReflect.Descriptor instead. +func (*LeaderboardRecordList) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{52} +} + +func (x *LeaderboardRecordList) GetRecords() []*LeaderboardRecord { + if x != nil { + return x.Records + } + return nil +} + +func (x *LeaderboardRecordList) GetOwnerRecords() []*LeaderboardRecord { + if x != nil { + return x.OwnerRecords + } + return nil +} + +func (x *LeaderboardRecordList) GetNextCursor() string { + if x != nil { + return x.NextCursor + } + return "" +} + +func (x *LeaderboardRecordList) GetPrevCursor() string { + if x != nil { + return x.PrevCursor + } + return "" +} + +func (x *LeaderboardRecordList) GetRankCount() int64 { + if x != nil { + return x.RankCount + } + return 0 +} + +// Leave a group. +type LeaveGroupRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The group ID to leave. + GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` +} + +func (x *LeaveGroupRequest) Reset() { + *x = LeaveGroupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LeaveGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LeaveGroupRequest) ProtoMessage() {} + +func (x *LeaveGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LeaveGroupRequest.ProtoReflect.Descriptor instead. +func (*LeaveGroupRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{53} +} + +func (x *LeaveGroupRequest) GetGroupId() string { + if x != nil { + return x.GroupId + } + return "" +} + +// Link Facebook to the current user's account. +type LinkFacebookRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Facebook account details. + Account *AccountFacebook `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + // Import Facebook friends for the user. + Sync *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=sync,proto3" json:"sync,omitempty"` +} + +func (x *LinkFacebookRequest) Reset() { + *x = LinkFacebookRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LinkFacebookRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LinkFacebookRequest) ProtoMessage() {} + +func (x *LinkFacebookRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LinkFacebookRequest.ProtoReflect.Descriptor instead. +func (*LinkFacebookRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{54} +} + +func (x *LinkFacebookRequest) GetAccount() *AccountFacebook { + if x != nil { + return x.Account + } + return nil +} + +func (x *LinkFacebookRequest) GetSync() *wrapperspb.BoolValue { + if x != nil { + return x.Sync + } + return nil +} + +// Link Steam to the current user's account. +type LinkSteamRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Facebook account details. + Account *AccountSteam `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + // Import Steam friends for the user. + Sync *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=sync,proto3" json:"sync,omitempty"` +} + +func (x *LinkSteamRequest) Reset() { + *x = LinkSteamRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LinkSteamRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LinkSteamRequest) ProtoMessage() {} + +func (x *LinkSteamRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LinkSteamRequest.ProtoReflect.Descriptor instead. +func (*LinkSteamRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{55} +} + +func (x *LinkSteamRequest) GetAccount() *AccountSteam { + if x != nil { + return x.Account + } + return nil +} + +func (x *LinkSteamRequest) GetSync() *wrapperspb.BoolValue { + if x != nil { + return x.Sync + } + return nil +} + +// List a channel's message history. +type ListChannelMessagesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The channel ID to list from. + ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + // Max number of records to return. Between 1 and 100. + Limit *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=limit,proto3" json:"limit,omitempty"` + // True if listing should be older messages to newer, false if reverse. + Forward *wrapperspb.BoolValue `protobuf:"bytes,3,opt,name=forward,proto3" json:"forward,omitempty"` + // A pagination cursor, if any. + Cursor string `protobuf:"bytes,4,opt,name=cursor,proto3" json:"cursor,omitempty"` +} + +func (x *ListChannelMessagesRequest) Reset() { + *x = ListChannelMessagesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListChannelMessagesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListChannelMessagesRequest) ProtoMessage() {} + +func (x *ListChannelMessagesRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListChannelMessagesRequest.ProtoReflect.Descriptor instead. +func (*ListChannelMessagesRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{56} +} + +func (x *ListChannelMessagesRequest) GetChannelId() string { + if x != nil { + return x.ChannelId + } + return "" +} + +func (x *ListChannelMessagesRequest) GetLimit() *wrapperspb.Int32Value { + if x != nil { + return x.Limit + } + return nil +} + +func (x *ListChannelMessagesRequest) GetForward() *wrapperspb.BoolValue { + if x != nil { + return x.Forward + } + return nil +} + +func (x *ListChannelMessagesRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +// List friends for a user. +type ListFriendsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Max number of records to return. Between 1 and 100. + Limit *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=limit,proto3" json:"limit,omitempty"` + // The friend state to list. + State *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` + // An optional next page cursor. + Cursor string `protobuf:"bytes,3,opt,name=cursor,proto3" json:"cursor,omitempty"` +} + +func (x *ListFriendsRequest) Reset() { + *x = ListFriendsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFriendsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFriendsRequest) ProtoMessage() {} + +func (x *ListFriendsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListFriendsRequest.ProtoReflect.Descriptor instead. +func (*ListFriendsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{57} +} + +func (x *ListFriendsRequest) GetLimit() *wrapperspb.Int32Value { + if x != nil { + return x.Limit + } + return nil +} + +func (x *ListFriendsRequest) GetState() *wrapperspb.Int32Value { + if x != nil { + return x.State + } + return nil +} + +func (x *ListFriendsRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +// List groups based on given filters. +type ListGroupsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List groups that contain this value in their names. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional pagination cursor. + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` + // Max number of groups to return. Between 1 and 100. + Limit *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=limit,proto3" json:"limit,omitempty"` + // Language tag filter + LangTag string `protobuf:"bytes,4,opt,name=lang_tag,json=langTag,proto3" json:"lang_tag,omitempty"` + // Number of group members + Members *wrapperspb.Int32Value `protobuf:"bytes,5,opt,name=members,proto3" json:"members,omitempty"` + // Optional Open/Closed filter. + Open *wrapperspb.BoolValue `protobuf:"bytes,6,opt,name=open,proto3" json:"open,omitempty"` +} + +func (x *ListGroupsRequest) Reset() { + *x = ListGroupsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListGroupsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListGroupsRequest) ProtoMessage() {} + +func (x *ListGroupsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListGroupsRequest.ProtoReflect.Descriptor instead. +func (*ListGroupsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{58} +} + +func (x *ListGroupsRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListGroupsRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +func (x *ListGroupsRequest) GetLimit() *wrapperspb.Int32Value { + if x != nil { + return x.Limit + } + return nil +} + +func (x *ListGroupsRequest) GetLangTag() string { + if x != nil { + return x.LangTag + } + return "" +} + +func (x *ListGroupsRequest) GetMembers() *wrapperspb.Int32Value { + if x != nil { + return x.Members + } + return nil +} + +func (x *ListGroupsRequest) GetOpen() *wrapperspb.BoolValue { + if x != nil { + return x.Open + } + return nil +} + +// List all users that are part of a group. +type ListGroupUsersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The group ID to list from. + GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + // Max number of records to return. Between 1 and 100. + Limit *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=limit,proto3" json:"limit,omitempty"` + // The group user state to list. + State *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"` + // An optional next page cursor. + Cursor string `protobuf:"bytes,4,opt,name=cursor,proto3" json:"cursor,omitempty"` +} + +func (x *ListGroupUsersRequest) Reset() { + *x = ListGroupUsersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListGroupUsersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListGroupUsersRequest) ProtoMessage() {} + +func (x *ListGroupUsersRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListGroupUsersRequest.ProtoReflect.Descriptor instead. +func (*ListGroupUsersRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{59} +} + +func (x *ListGroupUsersRequest) GetGroupId() string { + if x != nil { + return x.GroupId + } + return "" +} + +func (x *ListGroupUsersRequest) GetLimit() *wrapperspb.Int32Value { + if x != nil { + return x.Limit + } + return nil +} + +func (x *ListGroupUsersRequest) GetState() *wrapperspb.Int32Value { + if x != nil { + return x.State + } + return nil +} + +func (x *ListGroupUsersRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +// List leaerboard records from a given leaderboard around the owner. +type ListLeaderboardRecordsAroundOwnerRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the tournament to list for. + LeaderboardId string `protobuf:"bytes,1,opt,name=leaderboard_id,json=leaderboardId,proto3" json:"leaderboard_id,omitempty"` + // Max number of records to return. Between 1 and 100. + Limit *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=limit,proto3" json:"limit,omitempty"` + // The owner to retrieve records around. + OwnerId string `protobuf:"bytes,3,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"` + // Expiry in seconds (since epoch) to begin fetching records from. + Expiry *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=expiry,proto3" json:"expiry,omitempty"` + // A next or previous page cursor. + Cursor string `protobuf:"bytes,5,opt,name=cursor,proto3" json:"cursor,omitempty"` +} + +func (x *ListLeaderboardRecordsAroundOwnerRequest) Reset() { + *x = ListLeaderboardRecordsAroundOwnerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListLeaderboardRecordsAroundOwnerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListLeaderboardRecordsAroundOwnerRequest) ProtoMessage() {} + +func (x *ListLeaderboardRecordsAroundOwnerRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListLeaderboardRecordsAroundOwnerRequest.ProtoReflect.Descriptor instead. +func (*ListLeaderboardRecordsAroundOwnerRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{60} +} + +func (x *ListLeaderboardRecordsAroundOwnerRequest) GetLeaderboardId() string { + if x != nil { + return x.LeaderboardId + } + return "" +} + +func (x *ListLeaderboardRecordsAroundOwnerRequest) GetLimit() *wrapperspb.UInt32Value { + if x != nil { + return x.Limit + } + return nil +} + +func (x *ListLeaderboardRecordsAroundOwnerRequest) GetOwnerId() string { + if x != nil { + return x.OwnerId + } + return "" +} + +func (x *ListLeaderboardRecordsAroundOwnerRequest) GetExpiry() *wrapperspb.Int64Value { + if x != nil { + return x.Expiry + } + return nil +} + +func (x *ListLeaderboardRecordsAroundOwnerRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +// List leaderboard records from a given leaderboard. +type ListLeaderboardRecordsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the leaderboard to list for. + LeaderboardId string `protobuf:"bytes,1,opt,name=leaderboard_id,json=leaderboardId,proto3" json:"leaderboard_id,omitempty"` + // One or more owners to retrieve records for. + OwnerIds []string `protobuf:"bytes,2,rep,name=owner_ids,json=ownerIds,proto3" json:"owner_ids,omitempty"` + // Max number of records to return. Between 1 and 100. + Limit *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=limit,proto3" json:"limit,omitempty"` + // A next or previous page cursor. + Cursor string `protobuf:"bytes,4,opt,name=cursor,proto3" json:"cursor,omitempty"` + // Expiry in seconds (since epoch) to begin fetching records from. Optional. 0 means from current time. + Expiry *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=expiry,proto3" json:"expiry,omitempty"` +} + +func (x *ListLeaderboardRecordsRequest) Reset() { + *x = ListLeaderboardRecordsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListLeaderboardRecordsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListLeaderboardRecordsRequest) ProtoMessage() {} + +func (x *ListLeaderboardRecordsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListLeaderboardRecordsRequest.ProtoReflect.Descriptor instead. +func (*ListLeaderboardRecordsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{61} +} + +func (x *ListLeaderboardRecordsRequest) GetLeaderboardId() string { + if x != nil { + return x.LeaderboardId + } + return "" +} + +func (x *ListLeaderboardRecordsRequest) GetOwnerIds() []string { + if x != nil { + return x.OwnerIds + } + return nil +} + +func (x *ListLeaderboardRecordsRequest) GetLimit() *wrapperspb.Int32Value { + if x != nil { + return x.Limit + } + return nil +} + +func (x *ListLeaderboardRecordsRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +func (x *ListLeaderboardRecordsRequest) GetExpiry() *wrapperspb.Int64Value { + if x != nil { + return x.Expiry + } + return nil +} + +// List realtime matches. +type ListMatchesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Limit the number of returned matches. + Limit *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=limit,proto3" json:"limit,omitempty"` + // Authoritative or relayed matches. + Authoritative *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=authoritative,proto3" json:"authoritative,omitempty"` + // Label filter. + Label *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"` + // Minimum user count. + MinSize *wrapperspb.Int32Value `protobuf:"bytes,4,opt,name=min_size,json=minSize,proto3" json:"min_size,omitempty"` + // Maximum user count. + MaxSize *wrapperspb.Int32Value `protobuf:"bytes,5,opt,name=max_size,json=maxSize,proto3" json:"max_size,omitempty"` + // Arbitrary label query. + Query *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=query,proto3" json:"query,omitempty"` +} + +func (x *ListMatchesRequest) Reset() { + *x = ListMatchesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListMatchesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMatchesRequest) ProtoMessage() {} + +func (x *ListMatchesRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[62] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMatchesRequest.ProtoReflect.Descriptor instead. +func (*ListMatchesRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{62} +} + +func (x *ListMatchesRequest) GetLimit() *wrapperspb.Int32Value { + if x != nil { + return x.Limit + } + return nil +} + +func (x *ListMatchesRequest) GetAuthoritative() *wrapperspb.BoolValue { + if x != nil { + return x.Authoritative + } + return nil +} + +func (x *ListMatchesRequest) GetLabel() *wrapperspb.StringValue { + if x != nil { + return x.Label + } + return nil +} + +func (x *ListMatchesRequest) GetMinSize() *wrapperspb.Int32Value { + if x != nil { + return x.MinSize + } + return nil +} + +func (x *ListMatchesRequest) GetMaxSize() *wrapperspb.Int32Value { + if x != nil { + return x.MaxSize + } + return nil +} + +func (x *ListMatchesRequest) GetQuery() *wrapperspb.StringValue { + if x != nil { + return x.Query + } + return nil +} + +// Get a list of unexpired notifications. +type ListNotificationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The number of notifications to get. Between 1 and 100. + Limit *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=limit,proto3" json:"limit,omitempty"` + // A cursor to page through notifications. May be cached by clients to get from point in time forwards. + CacheableCursor string `protobuf:"bytes,2,opt,name=cacheable_cursor,json=cacheableCursor,proto3" json:"cacheable_cursor,omitempty"` // value from NotificationList.cacheable_cursor. +} + +func (x *ListNotificationsRequest) Reset() { + *x = ListNotificationsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNotificationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNotificationsRequest) ProtoMessage() {} + +func (x *ListNotificationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[63] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNotificationsRequest.ProtoReflect.Descriptor instead. +func (*ListNotificationsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{63} +} + +func (x *ListNotificationsRequest) GetLimit() *wrapperspb.Int32Value { + if x != nil { + return x.Limit + } + return nil +} + +func (x *ListNotificationsRequest) GetCacheableCursor() string { + if x != nil { + return x.CacheableCursor + } + return "" +} + +// List publicly readable storage objects in a given collection. +type ListStorageObjectsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ID of the user. + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + // The collection which stores the object. + Collection string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"` + // The number of storage objects to list. Between 1 and 100. + Limit *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=limit,proto3" json:"limit,omitempty"` + // The cursor to page through results from. + Cursor string `protobuf:"bytes,4,opt,name=cursor,proto3" json:"cursor,omitempty"` // value from StorageObjectList.cursor. +} + +func (x *ListStorageObjectsRequest) Reset() { + *x = ListStorageObjectsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListStorageObjectsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListStorageObjectsRequest) ProtoMessage() {} + +func (x *ListStorageObjectsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[64] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListStorageObjectsRequest.ProtoReflect.Descriptor instead. +func (*ListStorageObjectsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{64} +} + +func (x *ListStorageObjectsRequest) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *ListStorageObjectsRequest) GetCollection() string { + if x != nil { + return x.Collection + } + return "" +} + +func (x *ListStorageObjectsRequest) GetLimit() *wrapperspb.Int32Value { + if x != nil { + return x.Limit + } + return nil +} + +func (x *ListStorageObjectsRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +// List user subscriptions. +type ListSubscriptionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Max number of results per page + Limit *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=limit,proto3" json:"limit,omitempty"` + // Cursor to retrieve a page of records from + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` +} + +func (x *ListSubscriptionsRequest) Reset() { + *x = ListSubscriptionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSubscriptionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSubscriptionsRequest) ProtoMessage() {} + +func (x *ListSubscriptionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListSubscriptionsRequest.ProtoReflect.Descriptor instead. +func (*ListSubscriptionsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{65} +} + +func (x *ListSubscriptionsRequest) GetLimit() *wrapperspb.Int32Value { + if x != nil { + return x.Limit + } + return nil +} + +func (x *ListSubscriptionsRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +// List tournament records from a given tournament around the owner. +type ListTournamentRecordsAroundOwnerRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the tournament to list for. + TournamentId string `protobuf:"bytes,1,opt,name=tournament_id,json=tournamentId,proto3" json:"tournament_id,omitempty"` + // Max number of records to return. Between 1 and 100. + Limit *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=limit,proto3" json:"limit,omitempty"` + // The owner to retrieve records around. + OwnerId string `protobuf:"bytes,3,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"` + // Expiry in seconds (since epoch) to begin fetching records from. + Expiry *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=expiry,proto3" json:"expiry,omitempty"` + // A next or previous page cursor. + Cursor string `protobuf:"bytes,5,opt,name=cursor,proto3" json:"cursor,omitempty"` +} + +func (x *ListTournamentRecordsAroundOwnerRequest) Reset() { + *x = ListTournamentRecordsAroundOwnerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTournamentRecordsAroundOwnerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTournamentRecordsAroundOwnerRequest) ProtoMessage() {} + +func (x *ListTournamentRecordsAroundOwnerRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[66] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTournamentRecordsAroundOwnerRequest.ProtoReflect.Descriptor instead. +func (*ListTournamentRecordsAroundOwnerRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{66} +} + +func (x *ListTournamentRecordsAroundOwnerRequest) GetTournamentId() string { + if x != nil { + return x.TournamentId + } + return "" +} + +func (x *ListTournamentRecordsAroundOwnerRequest) GetLimit() *wrapperspb.UInt32Value { + if x != nil { + return x.Limit + } + return nil +} + +func (x *ListTournamentRecordsAroundOwnerRequest) GetOwnerId() string { + if x != nil { + return x.OwnerId + } + return "" +} + +func (x *ListTournamentRecordsAroundOwnerRequest) GetExpiry() *wrapperspb.Int64Value { + if x != nil { + return x.Expiry + } + return nil +} + +func (x *ListTournamentRecordsAroundOwnerRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +// List tournament records from a given tournament. +type ListTournamentRecordsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the tournament to list for. + TournamentId string `protobuf:"bytes,1,opt,name=tournament_id,json=tournamentId,proto3" json:"tournament_id,omitempty"` + // One or more owners to retrieve records for. + OwnerIds []string `protobuf:"bytes,2,rep,name=owner_ids,json=ownerIds,proto3" json:"owner_ids,omitempty"` + // Max number of records to return. Between 1 and 100. + Limit *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=limit,proto3" json:"limit,omitempty"` + // A next or previous page cursor. + Cursor string `protobuf:"bytes,4,opt,name=cursor,proto3" json:"cursor,omitempty"` + // Expiry in seconds (since epoch) to begin fetching records from. + Expiry *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=expiry,proto3" json:"expiry,omitempty"` +} + +func (x *ListTournamentRecordsRequest) Reset() { + *x = ListTournamentRecordsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTournamentRecordsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTournamentRecordsRequest) ProtoMessage() {} + +func (x *ListTournamentRecordsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[67] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTournamentRecordsRequest.ProtoReflect.Descriptor instead. +func (*ListTournamentRecordsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{67} +} + +func (x *ListTournamentRecordsRequest) GetTournamentId() string { + if x != nil { + return x.TournamentId + } + return "" +} + +func (x *ListTournamentRecordsRequest) GetOwnerIds() []string { + if x != nil { + return x.OwnerIds + } + return nil +} + +func (x *ListTournamentRecordsRequest) GetLimit() *wrapperspb.Int32Value { + if x != nil { + return x.Limit + } + return nil +} + +func (x *ListTournamentRecordsRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +func (x *ListTournamentRecordsRequest) GetExpiry() *wrapperspb.Int64Value { + if x != nil { + return x.Expiry + } + return nil +} + +// List active/upcoming tournaments based on given filters. +type ListTournamentsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The start of the categories to include. Defaults to 0. + CategoryStart *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=category_start,json=categoryStart,proto3" json:"category_start,omitempty"` + // The end of the categories to include. Defaults to 128. + CategoryEnd *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=category_end,json=categoryEnd,proto3" json:"category_end,omitempty"` + // The start time for tournaments. Defaults to epoch. + StartTime *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // The end time for tournaments. Defaults to +1 year from current Unix time. + EndTime *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Max number of records to return. Between 1 and 100. + Limit *wrapperspb.Int32Value `protobuf:"bytes,6,opt,name=limit,proto3" json:"limit,omitempty"` + // A next page cursor for listings (optional). + Cursor string `protobuf:"bytes,8,opt,name=cursor,proto3" json:"cursor,omitempty"` +} + +func (x *ListTournamentsRequest) Reset() { + *x = ListTournamentsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTournamentsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTournamentsRequest) ProtoMessage() {} + +func (x *ListTournamentsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[68] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTournamentsRequest.ProtoReflect.Descriptor instead. +func (*ListTournamentsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{68} +} + +func (x *ListTournamentsRequest) GetCategoryStart() *wrapperspb.UInt32Value { + if x != nil { + return x.CategoryStart + } + return nil +} + +func (x *ListTournamentsRequest) GetCategoryEnd() *wrapperspb.UInt32Value { + if x != nil { + return x.CategoryEnd + } + return nil +} + +func (x *ListTournamentsRequest) GetStartTime() *wrapperspb.UInt32Value { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *ListTournamentsRequest) GetEndTime() *wrapperspb.UInt32Value { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *ListTournamentsRequest) GetLimit() *wrapperspb.Int32Value { + if x != nil { + return x.Limit + } + return nil +} + +func (x *ListTournamentsRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +// List the groups a user is part of, and their relationship to each. +type ListUserGroupsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ID of the user. + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + // Max number of records to return. Between 1 and 100. + Limit *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=limit,proto3" json:"limit,omitempty"` + // The user group state to list. + State *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"` + // An optional next page cursor. + Cursor string `protobuf:"bytes,4,opt,name=cursor,proto3" json:"cursor,omitempty"` +} + +func (x *ListUserGroupsRequest) Reset() { + *x = ListUserGroupsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListUserGroupsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListUserGroupsRequest) ProtoMessage() {} + +func (x *ListUserGroupsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[69] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListUserGroupsRequest.ProtoReflect.Descriptor instead. +func (*ListUserGroupsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{69} +} + +func (x *ListUserGroupsRequest) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *ListUserGroupsRequest) GetLimit() *wrapperspb.Int32Value { + if x != nil { + return x.Limit + } + return nil +} + +func (x *ListUserGroupsRequest) GetState() *wrapperspb.Int32Value { + if x != nil { + return x.State + } + return nil +} + +func (x *ListUserGroupsRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +// Represents a realtime match. +type Match struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the match, can be used to join. + MatchId string `protobuf:"bytes,1,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"` + // True if it's an server-managed authoritative match, false otherwise. + Authoritative bool `protobuf:"varint,2,opt,name=authoritative,proto3" json:"authoritative,omitempty"` + // Match label, if any. + Label *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"` + // Current number of users in the match. + Size int32 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"` + // Tick Rate + TickRate int32 `protobuf:"varint,5,opt,name=tick_rate,json=tickRate,proto3" json:"tick_rate,omitempty"` + // Handler name + HandlerName string `protobuf:"bytes,6,opt,name=handler_name,json=handlerName,proto3" json:"handler_name,omitempty"` +} + +func (x *Match) Reset() { + *x = Match{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Match) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Match) ProtoMessage() {} + +func (x *Match) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[70] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Match.ProtoReflect.Descriptor instead. +func (*Match) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{70} +} + +func (x *Match) GetMatchId() string { + if x != nil { + return x.MatchId + } + return "" +} + +func (x *Match) GetAuthoritative() bool { + if x != nil { + return x.Authoritative + } + return false +} + +func (x *Match) GetLabel() *wrapperspb.StringValue { + if x != nil { + return x.Label + } + return nil +} + +func (x *Match) GetSize() int32 { + if x != nil { + return x.Size + } + return 0 +} + +func (x *Match) GetTickRate() int32 { + if x != nil { + return x.TickRate + } + return 0 +} + +func (x *Match) GetHandlerName() string { + if x != nil { + return x.HandlerName + } + return "" +} + +// A list of realtime matches. +type MatchList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A number of matches corresponding to a list operation. + Matches []*Match `protobuf:"bytes,1,rep,name=matches,proto3" json:"matches,omitempty"` +} + +func (x *MatchList) Reset() { + *x = MatchList{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MatchList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MatchList) ProtoMessage() {} + +func (x *MatchList) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[71] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MatchList.ProtoReflect.Descriptor instead. +func (*MatchList) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{71} +} + +func (x *MatchList) GetMatches() []*Match { + if x != nil { + return x.Matches + } + return nil +} + +// A notification in the server. +type Notification struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ID of the Notification. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Subject of the notification. + Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"` + // Content of the notification in JSON. + Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` + // Category code for this notification. + Code int32 `protobuf:"varint,4,opt,name=code,proto3" json:"code,omitempty"` + // ID of the sender, if a user. Otherwise 'null'. + SenderId string `protobuf:"bytes,5,opt,name=sender_id,json=senderId,proto3" json:"sender_id,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the notification was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // True if this notification was persisted to the database. + Persistent bool `protobuf:"varint,7,opt,name=persistent,proto3" json:"persistent,omitempty"` +} + +func (x *Notification) Reset() { + *x = Notification{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Notification) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Notification) ProtoMessage() {} + +func (x *Notification) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[72] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Notification.ProtoReflect.Descriptor instead. +func (*Notification) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{72} +} + +func (x *Notification) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Notification) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *Notification) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +func (x *Notification) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *Notification) GetSenderId() string { + if x != nil { + return x.SenderId + } + return "" +} + +func (x *Notification) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Notification) GetPersistent() bool { + if x != nil { + return x.Persistent + } + return false +} + +// A collection of zero or more notifications. +type NotificationList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Collection of notifications. + Notifications []*Notification `protobuf:"bytes,1,rep,name=notifications,proto3" json:"notifications,omitempty"` + // Use this cursor to paginate notifications. Cache this to catch up to new notifications. + CacheableCursor string `protobuf:"bytes,2,opt,name=cacheable_cursor,json=cacheableCursor,proto3" json:"cacheable_cursor,omitempty"` +} + +func (x *NotificationList) Reset() { + *x = NotificationList{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotificationList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotificationList) ProtoMessage() {} + +func (x *NotificationList) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[73] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NotificationList.ProtoReflect.Descriptor instead. +func (*NotificationList) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{73} +} + +func (x *NotificationList) GetNotifications() []*Notification { + if x != nil { + return x.Notifications + } + return nil +} + +func (x *NotificationList) GetCacheableCursor() string { + if x != nil { + return x.CacheableCursor + } + return "" +} + +// Promote a set of users in a group to the next role up. +type PromoteGroupUsersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The group ID to promote in. + GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + // The users to promote. + UserIds []string `protobuf:"bytes,2,rep,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"` +} + +func (x *PromoteGroupUsersRequest) Reset() { + *x = PromoteGroupUsersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PromoteGroupUsersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PromoteGroupUsersRequest) ProtoMessage() {} + +func (x *PromoteGroupUsersRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[74] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PromoteGroupUsersRequest.ProtoReflect.Descriptor instead. +func (*PromoteGroupUsersRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{74} +} + +func (x *PromoteGroupUsersRequest) GetGroupId() string { + if x != nil { + return x.GroupId + } + return "" +} + +func (x *PromoteGroupUsersRequest) GetUserIds() []string { + if x != nil { + return x.UserIds + } + return nil +} + +// Demote a set of users in a group to the next role down. +type DemoteGroupUsersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The group ID to demote in. + GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + // The users to demote. + UserIds []string `protobuf:"bytes,2,rep,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"` +} + +func (x *DemoteGroupUsersRequest) Reset() { + *x = DemoteGroupUsersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DemoteGroupUsersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DemoteGroupUsersRequest) ProtoMessage() {} + +func (x *DemoteGroupUsersRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[75] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DemoteGroupUsersRequest.ProtoReflect.Descriptor instead. +func (*DemoteGroupUsersRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{75} +} + +func (x *DemoteGroupUsersRequest) GetGroupId() string { + if x != nil { + return x.GroupId + } + return "" +} + +func (x *DemoteGroupUsersRequest) GetUserIds() []string { + if x != nil { + return x.UserIds + } + return nil +} + +// Storage objects to get. +type ReadStorageObjectId struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The collection which stores the object. + Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"` + // The key of the object within the collection. + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + // The user owner of the object. + UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` +} + +func (x *ReadStorageObjectId) Reset() { + *x = ReadStorageObjectId{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadStorageObjectId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadStorageObjectId) ProtoMessage() {} + +func (x *ReadStorageObjectId) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[76] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReadStorageObjectId.ProtoReflect.Descriptor instead. +func (*ReadStorageObjectId) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{76} +} + +func (x *ReadStorageObjectId) GetCollection() string { + if x != nil { + return x.Collection + } + return "" +} + +func (x *ReadStorageObjectId) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *ReadStorageObjectId) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +// Batch get storage objects. +type ReadStorageObjectsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Batch of storage objects. + ObjectIds []*ReadStorageObjectId `protobuf:"bytes,1,rep,name=object_ids,json=objectIds,proto3" json:"object_ids,omitempty"` +} + +func (x *ReadStorageObjectsRequest) Reset() { + *x = ReadStorageObjectsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadStorageObjectsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadStorageObjectsRequest) ProtoMessage() {} + +func (x *ReadStorageObjectsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[77] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReadStorageObjectsRequest.ProtoReflect.Descriptor instead. +func (*ReadStorageObjectsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{77} +} + +func (x *ReadStorageObjectsRequest) GetObjectIds() []*ReadStorageObjectId { + if x != nil { + return x.ObjectIds + } + return nil +} + +// Execute an Lua function on the server. +type Rpc struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The identifier of the function. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The payload of the function which must be a JSON object. + Payload string `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + // The authentication key used when executed as a non-client HTTP request. + HttpKey string `protobuf:"bytes,3,opt,name=http_key,json=httpKey,proto3" json:"http_key,omitempty"` +} + +func (x *Rpc) Reset() { + *x = Rpc{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Rpc) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Rpc) ProtoMessage() {} + +func (x *Rpc) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[78] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Rpc.ProtoReflect.Descriptor instead. +func (*Rpc) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{78} +} + +func (x *Rpc) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Rpc) GetPayload() string { + if x != nil { + return x.Payload + } + return "" +} + +func (x *Rpc) GetHttpKey() string { + if x != nil { + return x.HttpKey + } + return "" +} + +// A user's session used to authenticate messages. +type Session struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // True if the corresponding account was just created, false otherwise. + Created bool `protobuf:"varint,1,opt,name=created,proto3" json:"created,omitempty"` + // Authentication credentials. + Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` + // Refresh token that can be used for session token renewal. + RefreshToken string `protobuf:"bytes,3,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"` +} + +func (x *Session) Reset() { + *x = Session{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Session) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Session) ProtoMessage() {} + +func (x *Session) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[79] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Session.ProtoReflect.Descriptor instead. +func (*Session) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{79} +} + +func (x *Session) GetCreated() bool { + if x != nil { + return x.Created + } + return false +} + +func (x *Session) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *Session) GetRefreshToken() string { + if x != nil { + return x.RefreshToken + } + return "" +} + +// An object within the storage engine. +type StorageObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The collection which stores the object. + Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"` + // The key of the object within the collection. + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + // The user owner of the object. + UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + // The value of the object. + Value string `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"` + // The version hash of the object. + Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"` + // The read access permissions for the object. + PermissionRead int32 `protobuf:"varint,6,opt,name=permission_read,json=permissionRead,proto3" json:"permission_read,omitempty"` + // The write access permissions for the object. + PermissionWrite int32 `protobuf:"varint,7,opt,name=permission_write,json=permissionWrite,proto3" json:"permission_write,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the object was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the object was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` +} + +func (x *StorageObject) Reset() { + *x = StorageObject{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageObject) ProtoMessage() {} + +func (x *StorageObject) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[80] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StorageObject.ProtoReflect.Descriptor instead. +func (*StorageObject) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{80} +} + +func (x *StorageObject) GetCollection() string { + if x != nil { + return x.Collection + } + return "" +} + +func (x *StorageObject) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *StorageObject) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *StorageObject) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *StorageObject) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *StorageObject) GetPermissionRead() int32 { + if x != nil { + return x.PermissionRead + } + return 0 +} + +func (x *StorageObject) GetPermissionWrite() int32 { + if x != nil { + return x.PermissionWrite + } + return 0 +} + +func (x *StorageObject) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *StorageObject) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +// A storage acknowledgement. +type StorageObjectAck struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The collection which stores the object. + Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"` + // The key of the object within the collection. + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + // The version hash of the object. + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + // The owner of the object. + UserId string `protobuf:"bytes,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the object was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the object was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` +} + +func (x *StorageObjectAck) Reset() { + *x = StorageObjectAck{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageObjectAck) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageObjectAck) ProtoMessage() {} + +func (x *StorageObjectAck) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[81] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StorageObjectAck.ProtoReflect.Descriptor instead. +func (*StorageObjectAck) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{81} +} + +func (x *StorageObjectAck) GetCollection() string { + if x != nil { + return x.Collection + } + return "" +} + +func (x *StorageObjectAck) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *StorageObjectAck) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *StorageObjectAck) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *StorageObjectAck) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *StorageObjectAck) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +// Batch of acknowledgements for the storage object write. +type StorageObjectAcks struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Batch of storage write acknowledgements. + Acks []*StorageObjectAck `protobuf:"bytes,1,rep,name=acks,proto3" json:"acks,omitempty"` +} + +func (x *StorageObjectAcks) Reset() { + *x = StorageObjectAcks{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageObjectAcks) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageObjectAcks) ProtoMessage() {} + +func (x *StorageObjectAcks) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[82] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StorageObjectAcks.ProtoReflect.Descriptor instead. +func (*StorageObjectAcks) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{82} +} + +func (x *StorageObjectAcks) GetAcks() []*StorageObjectAck { + if x != nil { + return x.Acks + } + return nil +} + +// Batch of storage objects. +type StorageObjects struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The batch of storage objects. + Objects []*StorageObject `protobuf:"bytes,1,rep,name=objects,proto3" json:"objects,omitempty"` +} + +func (x *StorageObjects) Reset() { + *x = StorageObjects{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageObjects) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageObjects) ProtoMessage() {} + +func (x *StorageObjects) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[83] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StorageObjects.ProtoReflect.Descriptor instead. +func (*StorageObjects) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{83} +} + +func (x *StorageObjects) GetObjects() []*StorageObject { + if x != nil { + return x.Objects + } + return nil +} + +// List of storage objects. +type StorageObjectList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of storage objects. + Objects []*StorageObject `protobuf:"bytes,1,rep,name=objects,proto3" json:"objects,omitempty"` + // The cursor for the next page of results, if any. + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` +} + +func (x *StorageObjectList) Reset() { + *x = StorageObjectList{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageObjectList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageObjectList) ProtoMessage() {} + +func (x *StorageObjectList) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[84] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StorageObjectList.ProtoReflect.Descriptor instead. +func (*StorageObjectList) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{84} +} + +func (x *StorageObjectList) GetObjects() []*StorageObject { + if x != nil { + return x.Objects + } + return nil +} + +func (x *StorageObjectList) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +// A tournament on the server. +type Tournament struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the tournament. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The title for the tournament. + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` + // The description of the tournament. May be blank. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // The category of the tournament. e.g. "vip" could be category 1. + Category uint32 `protobuf:"varint,4,opt,name=category,proto3" json:"category,omitempty"` + // ASC (0) or DESC (1) sort mode of scores in the tournament. + SortOrder uint32 `protobuf:"varint,5,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"` + // The current number of players in the tournament. + Size uint32 `protobuf:"varint,6,opt,name=size,proto3" json:"size,omitempty"` + // The maximum number of players for the tournament. + MaxSize uint32 `protobuf:"varint,7,opt,name=max_size,json=maxSize,proto3" json:"max_size,omitempty"` + // The maximum score updates allowed per player for the current tournament. + MaxNumScore uint32 `protobuf:"varint,8,opt,name=max_num_score,json=maxNumScore,proto3" json:"max_num_score,omitempty"` + // True if the tournament is active and can enter. A computed value. + CanEnter bool `protobuf:"varint,9,opt,name=can_enter,json=canEnter,proto3" json:"can_enter,omitempty"` + // The UNIX time when the tournament stops being active until next reset. A computed value. + EndActive uint32 `protobuf:"varint,10,opt,name=end_active,json=endActive,proto3" json:"end_active,omitempty"` + // The UNIX time when the tournament is next playable. A computed value. + NextReset uint32 `protobuf:"varint,11,opt,name=next_reset,json=nextReset,proto3" json:"next_reset,omitempty"` + // Additional information stored as a JSON object. + Metadata string `protobuf:"bytes,12,opt,name=metadata,proto3" json:"metadata,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the tournament was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the tournament will start. + StartTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the tournament will be stopped. + EndTime *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Duration of the tournament in seconds. + Duration uint32 `protobuf:"varint,16,opt,name=duration,proto3" json:"duration,omitempty"` + // The UNIX time when the tournament start being active. A computed value. + StartActive uint32 `protobuf:"varint,17,opt,name=start_active,json=startActive,proto3" json:"start_active,omitempty"` + // The UNIX time when the tournament was last reset. A computed value. + PrevReset uint32 `protobuf:"varint,18,opt,name=prev_reset,json=prevReset,proto3" json:"prev_reset,omitempty"` + // Operator. + Operator Operator `protobuf:"varint,19,opt,name=operator,proto3,enum=nakama.api.Operator" json:"operator,omitempty"` + // Whether the leaderboard was created authoritatively or not. + Authoritative bool `protobuf:"varint,20,opt,name=authoritative,proto3" json:"authoritative,omitempty"` +} + +func (x *Tournament) Reset() { + *x = Tournament{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Tournament) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Tournament) ProtoMessage() {} + +func (x *Tournament) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[85] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Tournament.ProtoReflect.Descriptor instead. +func (*Tournament) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{85} +} + +func (x *Tournament) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Tournament) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *Tournament) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Tournament) GetCategory() uint32 { + if x != nil { + return x.Category + } + return 0 +} + +func (x *Tournament) GetSortOrder() uint32 { + if x != nil { + return x.SortOrder + } + return 0 +} + +func (x *Tournament) GetSize() uint32 { + if x != nil { + return x.Size + } + return 0 +} + +func (x *Tournament) GetMaxSize() uint32 { + if x != nil { + return x.MaxSize + } + return 0 +} + +func (x *Tournament) GetMaxNumScore() uint32 { + if x != nil { + return x.MaxNumScore + } + return 0 +} + +func (x *Tournament) GetCanEnter() bool { + if x != nil { + return x.CanEnter + } + return false +} + +func (x *Tournament) GetEndActive() uint32 { + if x != nil { + return x.EndActive + } + return 0 +} + +func (x *Tournament) GetNextReset() uint32 { + if x != nil { + return x.NextReset + } + return 0 +} + +func (x *Tournament) GetMetadata() string { + if x != nil { + return x.Metadata + } + return "" +} + +func (x *Tournament) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Tournament) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *Tournament) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *Tournament) GetDuration() uint32 { + if x != nil { + return x.Duration + } + return 0 +} + +func (x *Tournament) GetStartActive() uint32 { + if x != nil { + return x.StartActive + } + return 0 +} + +func (x *Tournament) GetPrevReset() uint32 { + if x != nil { + return x.PrevReset + } + return 0 +} + +func (x *Tournament) GetOperator() Operator { + if x != nil { + return x.Operator + } + return Operator_NO_OVERRIDE +} + +func (x *Tournament) GetAuthoritative() bool { + if x != nil { + return x.Authoritative + } + return false +} + +// A list of tournaments. +type TournamentList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of tournaments returned. + Tournaments []*Tournament `protobuf:"bytes,1,rep,name=tournaments,proto3" json:"tournaments,omitempty"` + // A pagination cursor (optional). + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` +} + +func (x *TournamentList) Reset() { + *x = TournamentList{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TournamentList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TournamentList) ProtoMessage() {} + +func (x *TournamentList) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[86] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TournamentList.ProtoReflect.Descriptor instead. +func (*TournamentList) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{86} +} + +func (x *TournamentList) GetTournaments() []*Tournament { + if x != nil { + return x.Tournaments + } + return nil +} + +func (x *TournamentList) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +// A set of tournament records which may be part of a tournament records page or a batch of individual records. +type TournamentRecordList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of tournament records. + Records []*LeaderboardRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"` + // A batched set of tournament records belonging to specified owners. + OwnerRecords []*LeaderboardRecord `protobuf:"bytes,2,rep,name=owner_records,json=ownerRecords,proto3" json:"owner_records,omitempty"` + // The cursor to send when retireving the next page (optional). + NextCursor string `protobuf:"bytes,3,opt,name=next_cursor,json=nextCursor,proto3" json:"next_cursor,omitempty"` + // The cursor to send when retrieving the previous page (optional). + PrevCursor string `protobuf:"bytes,4,opt,name=prev_cursor,json=prevCursor,proto3" json:"prev_cursor,omitempty"` + // The total number of ranks available. + RankCount int64 `protobuf:"varint,5,opt,name=rank_count,json=rankCount,proto3" json:"rank_count,omitempty"` +} + +func (x *TournamentRecordList) Reset() { + *x = TournamentRecordList{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TournamentRecordList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TournamentRecordList) ProtoMessage() {} + +func (x *TournamentRecordList) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[87] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TournamentRecordList.ProtoReflect.Descriptor instead. +func (*TournamentRecordList) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{87} +} + +func (x *TournamentRecordList) GetRecords() []*LeaderboardRecord { + if x != nil { + return x.Records + } + return nil +} + +func (x *TournamentRecordList) GetOwnerRecords() []*LeaderboardRecord { + if x != nil { + return x.OwnerRecords + } + return nil +} + +func (x *TournamentRecordList) GetNextCursor() string { + if x != nil { + return x.NextCursor + } + return "" +} + +func (x *TournamentRecordList) GetPrevCursor() string { + if x != nil { + return x.PrevCursor + } + return "" +} + +func (x *TournamentRecordList) GetRankCount() int64 { + if x != nil { + return x.RankCount + } + return 0 +} + +// Update a user's account details. +type UpdateAccountRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The username of the user's account. + Username *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + // The display name of the user. + DisplayName *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // A URL for an avatar image. + AvatarUrl *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url,omitempty"` + // The language expected to be a tag which follows the BCP-47 spec. + LangTag *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=lang_tag,json=langTag,proto3" json:"lang_tag,omitempty"` + // The location set by the user. + Location *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=location,proto3" json:"location,omitempty"` + // The timezone set by the user. + Timezone *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=timezone,proto3" json:"timezone,omitempty"` +} + +func (x *UpdateAccountRequest) Reset() { + *x = UpdateAccountRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateAccountRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateAccountRequest) ProtoMessage() {} + +func (x *UpdateAccountRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[88] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateAccountRequest.ProtoReflect.Descriptor instead. +func (*UpdateAccountRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{88} +} + +func (x *UpdateAccountRequest) GetUsername() *wrapperspb.StringValue { + if x != nil { + return x.Username + } + return nil +} + +func (x *UpdateAccountRequest) GetDisplayName() *wrapperspb.StringValue { + if x != nil { + return x.DisplayName + } + return nil +} + +func (x *UpdateAccountRequest) GetAvatarUrl() *wrapperspb.StringValue { + if x != nil { + return x.AvatarUrl + } + return nil +} + +func (x *UpdateAccountRequest) GetLangTag() *wrapperspb.StringValue { + if x != nil { + return x.LangTag + } + return nil +} + +func (x *UpdateAccountRequest) GetLocation() *wrapperspb.StringValue { + if x != nil { + return x.Location + } + return nil +} + +func (x *UpdateAccountRequest) GetTimezone() *wrapperspb.StringValue { + if x != nil { + return x.Timezone + } + return nil +} + +// Update fields in a given group. +type UpdateGroupRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the group to update. + GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + // Name. + Name *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // Description string. + Description *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Lang tag. + LangTag *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=lang_tag,json=langTag,proto3" json:"lang_tag,omitempty"` + // Avatar URL. + AvatarUrl *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url,omitempty"` + // Open is true if anyone should be allowed to join, or false if joins must be approved by a group admin. + Open *wrapperspb.BoolValue `protobuf:"bytes,6,opt,name=open,proto3" json:"open,omitempty"` +} + +func (x *UpdateGroupRequest) Reset() { + *x = UpdateGroupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateGroupRequest) ProtoMessage() {} + +func (x *UpdateGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[89] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateGroupRequest.ProtoReflect.Descriptor instead. +func (*UpdateGroupRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{89} +} + +func (x *UpdateGroupRequest) GetGroupId() string { + if x != nil { + return x.GroupId + } + return "" +} + +func (x *UpdateGroupRequest) GetName() *wrapperspb.StringValue { + if x != nil { + return x.Name + } + return nil +} + +func (x *UpdateGroupRequest) GetDescription() *wrapperspb.StringValue { + if x != nil { + return x.Description + } + return nil +} + +func (x *UpdateGroupRequest) GetLangTag() *wrapperspb.StringValue { + if x != nil { + return x.LangTag + } + return nil +} + +func (x *UpdateGroupRequest) GetAvatarUrl() *wrapperspb.StringValue { + if x != nil { + return x.AvatarUrl + } + return nil +} + +func (x *UpdateGroupRequest) GetOpen() *wrapperspb.BoolValue { + if x != nil { + return x.Open + } + return nil +} + +// A user in the server. +type User struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The id of the user's account. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The username of the user's account. + Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` + // The display name of the user. + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // A URL for an avatar image. + AvatarUrl string `protobuf:"bytes,4,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url,omitempty"` + // The language expected to be a tag which follows the BCP-47 spec. + LangTag string `protobuf:"bytes,5,opt,name=lang_tag,json=langTag,proto3" json:"lang_tag,omitempty"` + // The location set by the user. + Location string `protobuf:"bytes,6,opt,name=location,proto3" json:"location,omitempty"` + // The timezone set by the user. + Timezone string `protobuf:"bytes,7,opt,name=timezone,proto3" json:"timezone,omitempty"` + // Additional information stored as a JSON object. + Metadata string `protobuf:"bytes,8,opt,name=metadata,proto3" json:"metadata,omitempty"` + // The Facebook id in the user's account. + FacebookId string `protobuf:"bytes,9,opt,name=facebook_id,json=facebookId,proto3" json:"facebook_id,omitempty"` + // The Google id in the user's account. + GoogleId string `protobuf:"bytes,10,opt,name=google_id,json=googleId,proto3" json:"google_id,omitempty"` + // The Apple Game Center in of the user's account. + GamecenterId string `protobuf:"bytes,11,opt,name=gamecenter_id,json=gamecenterId,proto3" json:"gamecenter_id,omitempty"` + // The Steam id in the user's account. + SteamId string `protobuf:"bytes,12,opt,name=steam_id,json=steamId,proto3" json:"steam_id,omitempty"` + // Indicates whether the user is currently online. + Online bool `protobuf:"varint,13,opt,name=online,proto3" json:"online,omitempty"` + // Number of related edges to this user. + EdgeCount int32 `protobuf:"varint,14,opt,name=edge_count,json=edgeCount,proto3" json:"edge_count,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the user was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the user was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // The Facebook Instant Game ID in the user's account. + FacebookInstantGameId string `protobuf:"bytes,17,opt,name=facebook_instant_game_id,json=facebookInstantGameId,proto3" json:"facebook_instant_game_id,omitempty"` + // The Apple Sign In ID in the user's account. + AppleId string `protobuf:"bytes,18,opt,name=apple_id,json=appleId,proto3" json:"apple_id,omitempty"` +} + +func (x *User) Reset() { + *x = User{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *User) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*User) ProtoMessage() {} + +func (x *User) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[90] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use User.ProtoReflect.Descriptor instead. +func (*User) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{90} +} + +func (x *User) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *User) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *User) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *User) GetAvatarUrl() string { + if x != nil { + return x.AvatarUrl + } + return "" +} + +func (x *User) GetLangTag() string { + if x != nil { + return x.LangTag + } + return "" +} + +func (x *User) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + +func (x *User) GetTimezone() string { + if x != nil { + return x.Timezone + } + return "" +} + +func (x *User) GetMetadata() string { + if x != nil { + return x.Metadata + } + return "" +} + +func (x *User) GetFacebookId() string { + if x != nil { + return x.FacebookId + } + return "" +} + +func (x *User) GetGoogleId() string { + if x != nil { + return x.GoogleId + } + return "" +} + +func (x *User) GetGamecenterId() string { + if x != nil { + return x.GamecenterId + } + return "" +} + +func (x *User) GetSteamId() string { + if x != nil { + return x.SteamId + } + return "" +} + +func (x *User) GetOnline() bool { + if x != nil { + return x.Online + } + return false +} + +func (x *User) GetEdgeCount() int32 { + if x != nil { + return x.EdgeCount + } + return 0 +} + +func (x *User) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *User) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *User) GetFacebookInstantGameId() string { + if x != nil { + return x.FacebookInstantGameId + } + return "" +} + +func (x *User) GetAppleId() string { + if x != nil { + return x.AppleId + } + return "" +} + +// A list of groups belonging to a user, along with the user's role in each group. +type UserGroupList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Group-role pairs for a user. + UserGroups []*UserGroupList_UserGroup `protobuf:"bytes,1,rep,name=user_groups,json=userGroups,proto3" json:"user_groups,omitempty"` + // Cursor for the next page of results, if any. + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` +} + +func (x *UserGroupList) Reset() { + *x = UserGroupList{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserGroupList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserGroupList) ProtoMessage() {} + +func (x *UserGroupList) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[91] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserGroupList.ProtoReflect.Descriptor instead. +func (*UserGroupList) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{91} +} + +func (x *UserGroupList) GetUserGroups() []*UserGroupList_UserGroup { + if x != nil { + return x.UserGroups + } + return nil +} + +func (x *UserGroupList) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +// A collection of zero or more users. +type Users struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The User objects. + Users []*User `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"` +} + +func (x *Users) Reset() { + *x = Users{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Users) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Users) ProtoMessage() {} + +func (x *Users) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[92] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Users.ProtoReflect.Descriptor instead. +func (*Users) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{92} +} + +func (x *Users) GetUsers() []*User { + if x != nil { + return x.Users + } + return nil +} + +// Apple IAP Purchases validation request +type ValidatePurchaseAppleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Base64 encoded Apple receipt data payload. + Receipt string `protobuf:"bytes,1,opt,name=receipt,proto3" json:"receipt,omitempty"` + // Persist the purchase + Persist *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=persist,proto3" json:"persist,omitempty"` +} + +func (x *ValidatePurchaseAppleRequest) Reset() { + *x = ValidatePurchaseAppleRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValidatePurchaseAppleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidatePurchaseAppleRequest) ProtoMessage() {} + +func (x *ValidatePurchaseAppleRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[93] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidatePurchaseAppleRequest.ProtoReflect.Descriptor instead. +func (*ValidatePurchaseAppleRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{93} +} + +func (x *ValidatePurchaseAppleRequest) GetReceipt() string { + if x != nil { + return x.Receipt + } + return "" +} + +func (x *ValidatePurchaseAppleRequest) GetPersist() *wrapperspb.BoolValue { + if x != nil { + return x.Persist + } + return nil +} + +// Apple Subscription validation request +type ValidateSubscriptionAppleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Base64 encoded Apple receipt data payload. + Receipt string `protobuf:"bytes,1,opt,name=receipt,proto3" json:"receipt,omitempty"` + // Persist the subscription. + Persist *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=persist,proto3" json:"persist,omitempty"` +} + +func (x *ValidateSubscriptionAppleRequest) Reset() { + *x = ValidateSubscriptionAppleRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValidateSubscriptionAppleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidateSubscriptionAppleRequest) ProtoMessage() {} + +func (x *ValidateSubscriptionAppleRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[94] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidateSubscriptionAppleRequest.ProtoReflect.Descriptor instead. +func (*ValidateSubscriptionAppleRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{94} +} + +func (x *ValidateSubscriptionAppleRequest) GetReceipt() string { + if x != nil { + return x.Receipt + } + return "" +} + +func (x *ValidateSubscriptionAppleRequest) GetPersist() *wrapperspb.BoolValue { + if x != nil { + return x.Persist + } + return nil +} + +// Google IAP Purchase validation request +type ValidatePurchaseGoogleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // JSON encoded Google purchase payload. + Purchase string `protobuf:"bytes,1,opt,name=purchase,proto3" json:"purchase,omitempty"` + // Persist the purchase + Persist *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=persist,proto3" json:"persist,omitempty"` +} + +func (x *ValidatePurchaseGoogleRequest) Reset() { + *x = ValidatePurchaseGoogleRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValidatePurchaseGoogleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidatePurchaseGoogleRequest) ProtoMessage() {} + +func (x *ValidatePurchaseGoogleRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[95] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidatePurchaseGoogleRequest.ProtoReflect.Descriptor instead. +func (*ValidatePurchaseGoogleRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{95} +} + +func (x *ValidatePurchaseGoogleRequest) GetPurchase() string { + if x != nil { + return x.Purchase + } + return "" +} + +func (x *ValidatePurchaseGoogleRequest) GetPersist() *wrapperspb.BoolValue { + if x != nil { + return x.Persist + } + return nil +} + +// Google Subscription validation request +type ValidateSubscriptionGoogleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // JSON encoded Google purchase payload. + Receipt string `protobuf:"bytes,1,opt,name=receipt,proto3" json:"receipt,omitempty"` + // Persist the subscription. + Persist *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=persist,proto3" json:"persist,omitempty"` +} + +func (x *ValidateSubscriptionGoogleRequest) Reset() { + *x = ValidateSubscriptionGoogleRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValidateSubscriptionGoogleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidateSubscriptionGoogleRequest) ProtoMessage() {} + +func (x *ValidateSubscriptionGoogleRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[96] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidateSubscriptionGoogleRequest.ProtoReflect.Descriptor instead. +func (*ValidateSubscriptionGoogleRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{96} +} + +func (x *ValidateSubscriptionGoogleRequest) GetReceipt() string { + if x != nil { + return x.Receipt + } + return "" +} + +func (x *ValidateSubscriptionGoogleRequest) GetPersist() *wrapperspb.BoolValue { + if x != nil { + return x.Persist + } + return nil +} + +// Huawei IAP Purchase validation request +type ValidatePurchaseHuaweiRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // JSON encoded Huawei InAppPurchaseData. + Purchase string `protobuf:"bytes,1,opt,name=purchase,proto3" json:"purchase,omitempty"` + // InAppPurchaseData signature. + Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + // Persist the purchase + Persist *wrapperspb.BoolValue `protobuf:"bytes,3,opt,name=persist,proto3" json:"persist,omitempty"` +} + +func (x *ValidatePurchaseHuaweiRequest) Reset() { + *x = ValidatePurchaseHuaweiRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValidatePurchaseHuaweiRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidatePurchaseHuaweiRequest) ProtoMessage() {} + +func (x *ValidatePurchaseHuaweiRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[97] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidatePurchaseHuaweiRequest.ProtoReflect.Descriptor instead. +func (*ValidatePurchaseHuaweiRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{97} +} + +func (x *ValidatePurchaseHuaweiRequest) GetPurchase() string { + if x != nil { + return x.Purchase + } + return "" +} + +func (x *ValidatePurchaseHuaweiRequest) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +func (x *ValidatePurchaseHuaweiRequest) GetPersist() *wrapperspb.BoolValue { + if x != nil { + return x.Persist + } + return nil +} + +// Facebook Instant IAP Purchase validation request +type ValidatePurchaseFacebookInstantRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Base64 encoded Facebook Instant signedRequest receipt data payload. + SignedRequest string `protobuf:"bytes,1,opt,name=signed_request,json=signedRequest,proto3" json:"signed_request,omitempty"` + // Persist the purchase + Persist *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=persist,proto3" json:"persist,omitempty"` +} + +func (x *ValidatePurchaseFacebookInstantRequest) Reset() { + *x = ValidatePurchaseFacebookInstantRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValidatePurchaseFacebookInstantRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidatePurchaseFacebookInstantRequest) ProtoMessage() {} + +func (x *ValidatePurchaseFacebookInstantRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[98] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidatePurchaseFacebookInstantRequest.ProtoReflect.Descriptor instead. +func (*ValidatePurchaseFacebookInstantRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{98} +} + +func (x *ValidatePurchaseFacebookInstantRequest) GetSignedRequest() string { + if x != nil { + return x.SignedRequest + } + return "" +} + +func (x *ValidatePurchaseFacebookInstantRequest) GetPersist() *wrapperspb.BoolValue { + if x != nil { + return x.Persist + } + return nil +} + +// Validated Purchase stored by Nakama. +type ValidatedPurchase struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Purchase User ID. + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + // Purchase Product ID. + ProductId string `protobuf:"bytes,2,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"` + // Purchase Transaction ID. + TransactionId string `protobuf:"bytes,3,opt,name=transaction_id,json=transactionId,proto3" json:"transaction_id,omitempty"` + // Store identifier + Store StoreProvider `protobuf:"varint,4,opt,name=store,proto3,enum=nakama.api.StoreProvider" json:"store,omitempty"` + // Timestamp when the purchase was done. + PurchaseTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=purchase_time,json=purchaseTime,proto3" json:"purchase_time,omitempty"` + // Timestamp when the receipt validation was stored in DB. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Timestamp when the receipt validation was updated in DB. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Timestamp when the purchase was refunded. Set to UNIX + RefundTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=refund_time,json=refundTime,proto3" json:"refund_time,omitempty"` + // Raw provider validation response. + ProviderResponse string `protobuf:"bytes,9,opt,name=provider_response,json=providerResponse,proto3" json:"provider_response,omitempty"` + // Whether the purchase was done in production or sandbox environment. + Environment StoreEnvironment `protobuf:"varint,10,opt,name=environment,proto3,enum=nakama.api.StoreEnvironment" json:"environment,omitempty"` + // Whether the purchase had already been validated by Nakama before. + SeenBefore bool `protobuf:"varint,11,opt,name=seen_before,json=seenBefore,proto3" json:"seen_before,omitempty"` +} + +func (x *ValidatedPurchase) Reset() { + *x = ValidatedPurchase{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValidatedPurchase) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidatedPurchase) ProtoMessage() {} + +func (x *ValidatedPurchase) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[99] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidatedPurchase.ProtoReflect.Descriptor instead. +func (*ValidatedPurchase) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{99} +} + +func (x *ValidatedPurchase) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *ValidatedPurchase) GetProductId() string { + if x != nil { + return x.ProductId + } + return "" +} + +func (x *ValidatedPurchase) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *ValidatedPurchase) GetStore() StoreProvider { + if x != nil { + return x.Store + } + return StoreProvider_APPLE_APP_STORE +} + +func (x *ValidatedPurchase) GetPurchaseTime() *timestamppb.Timestamp { + if x != nil { + return x.PurchaseTime + } + return nil +} + +func (x *ValidatedPurchase) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ValidatedPurchase) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *ValidatedPurchase) GetRefundTime() *timestamppb.Timestamp { + if x != nil { + return x.RefundTime + } + return nil +} + +func (x *ValidatedPurchase) GetProviderResponse() string { + if x != nil { + return x.ProviderResponse + } + return "" +} + +func (x *ValidatedPurchase) GetEnvironment() StoreEnvironment { + if x != nil { + return x.Environment + } + return StoreEnvironment_UNKNOWN +} + +func (x *ValidatedPurchase) GetSeenBefore() bool { + if x != nil { + return x.SeenBefore + } + return false +} + +// Validate IAP response. +type ValidatePurchaseResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Newly seen validated purchases. + ValidatedPurchases []*ValidatedPurchase `protobuf:"bytes,1,rep,name=validated_purchases,json=validatedPurchases,proto3" json:"validated_purchases,omitempty"` +} + +func (x *ValidatePurchaseResponse) Reset() { + *x = ValidatePurchaseResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValidatePurchaseResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidatePurchaseResponse) ProtoMessage() {} + +func (x *ValidatePurchaseResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[100] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidatePurchaseResponse.ProtoReflect.Descriptor instead. +func (*ValidatePurchaseResponse) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{100} +} + +func (x *ValidatePurchaseResponse) GetValidatedPurchases() []*ValidatedPurchase { + if x != nil { + return x.ValidatedPurchases + } + return nil +} + +// Validate Subscription response. +type ValidateSubscriptionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValidatedSubscription *ValidatedSubscription `protobuf:"bytes,1,opt,name=validated_subscription,json=validatedSubscription,proto3" json:"validated_subscription,omitempty"` +} + +func (x *ValidateSubscriptionResponse) Reset() { + *x = ValidateSubscriptionResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValidateSubscriptionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidateSubscriptionResponse) ProtoMessage() {} + +func (x *ValidateSubscriptionResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[101] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidateSubscriptionResponse.ProtoReflect.Descriptor instead. +func (*ValidateSubscriptionResponse) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{101} +} + +func (x *ValidateSubscriptionResponse) GetValidatedSubscription() *ValidatedSubscription { + if x != nil { + return x.ValidatedSubscription + } + return nil +} + +type ValidatedSubscription struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Subscription User ID. + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + // Purchase Product ID. + ProductId string `protobuf:"bytes,2,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"` + // Purchase Original transaction ID (we only keep track of the original subscription, not subsequent renewals). + OriginalTransactionId string `protobuf:"bytes,3,opt,name=original_transaction_id,json=originalTransactionId,proto3" json:"original_transaction_id,omitempty"` + // Store identifier + Store StoreProvider `protobuf:"varint,4,opt,name=store,proto3,enum=nakama.api.StoreProvider" json:"store,omitempty"` + // UNIX Timestamp when the purchase was done. + PurchaseTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=purchase_time,json=purchaseTime,proto3" json:"purchase_time,omitempty"` + // UNIX Timestamp when the receipt validation was stored in DB. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // UNIX Timestamp when the receipt validation was updated in DB. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Whether the purchase was done in production or sandbox environment. + Environment StoreEnvironment `protobuf:"varint,8,opt,name=environment,proto3,enum=nakama.api.StoreEnvironment" json:"environment,omitempty"` + // Subscription expiration time. The subscription can still be auto-renewed to extend the expiration time further. + ExpiryTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=expiry_time,json=expiryTime,proto3" json:"expiry_time,omitempty"` + // Subscription refund time. If this time is set, the subscription was refunded. + RefundTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=refund_time,json=refundTime,proto3" json:"refund_time,omitempty"` + // Raw provider validation response body. + ProviderResponse string `protobuf:"bytes,11,opt,name=provider_response,json=providerResponse,proto3" json:"provider_response,omitempty"` + // Raw provider notification body. + ProviderNotification string `protobuf:"bytes,12,opt,name=provider_notification,json=providerNotification,proto3" json:"provider_notification,omitempty"` + // Whether the subscription is currently active or not. + Active bool `protobuf:"varint,13,opt,name=active,proto3" json:"active,omitempty"` +} + +func (x *ValidatedSubscription) Reset() { + *x = ValidatedSubscription{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValidatedSubscription) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidatedSubscription) ProtoMessage() {} + +func (x *ValidatedSubscription) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[102] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidatedSubscription.ProtoReflect.Descriptor instead. +func (*ValidatedSubscription) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{102} +} + +func (x *ValidatedSubscription) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *ValidatedSubscription) GetProductId() string { + if x != nil { + return x.ProductId + } + return "" +} + +func (x *ValidatedSubscription) GetOriginalTransactionId() string { + if x != nil { + return x.OriginalTransactionId + } + return "" +} + +func (x *ValidatedSubscription) GetStore() StoreProvider { + if x != nil { + return x.Store + } + return StoreProvider_APPLE_APP_STORE +} + +func (x *ValidatedSubscription) GetPurchaseTime() *timestamppb.Timestamp { + if x != nil { + return x.PurchaseTime + } + return nil +} + +func (x *ValidatedSubscription) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ValidatedSubscription) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *ValidatedSubscription) GetEnvironment() StoreEnvironment { + if x != nil { + return x.Environment + } + return StoreEnvironment_UNKNOWN +} + +func (x *ValidatedSubscription) GetExpiryTime() *timestamppb.Timestamp { + if x != nil { + return x.ExpiryTime + } + return nil +} + +func (x *ValidatedSubscription) GetRefundTime() *timestamppb.Timestamp { + if x != nil { + return x.RefundTime + } + return nil +} + +func (x *ValidatedSubscription) GetProviderResponse() string { + if x != nil { + return x.ProviderResponse + } + return "" +} + +func (x *ValidatedSubscription) GetProviderNotification() string { + if x != nil { + return x.ProviderNotification + } + return "" +} + +func (x *ValidatedSubscription) GetActive() bool { + if x != nil { + return x.Active + } + return false +} + +// A list of validated purchases stored by Nakama. +type PurchaseList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Stored validated purchases. + ValidatedPurchases []*ValidatedPurchase `protobuf:"bytes,1,rep,name=validated_purchases,json=validatedPurchases,proto3" json:"validated_purchases,omitempty"` + // The cursor to send when retrieving the next page, if any. + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` + // The cursor to send when retrieving the previous page, if any. + PrevCursor string `protobuf:"bytes,3,opt,name=prev_cursor,json=prevCursor,proto3" json:"prev_cursor,omitempty"` +} + +func (x *PurchaseList) Reset() { + *x = PurchaseList{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurchaseList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurchaseList) ProtoMessage() {} + +func (x *PurchaseList) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[103] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurchaseList.ProtoReflect.Descriptor instead. +func (*PurchaseList) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{103} +} + +func (x *PurchaseList) GetValidatedPurchases() []*ValidatedPurchase { + if x != nil { + return x.ValidatedPurchases + } + return nil +} + +func (x *PurchaseList) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +func (x *PurchaseList) GetPrevCursor() string { + if x != nil { + return x.PrevCursor + } + return "" +} + +// A list of validated subscriptions stored by Nakama. +type SubscriptionList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Stored validated subscriptions. + ValidatedSubscriptions []*ValidatedSubscription `protobuf:"bytes,1,rep,name=validated_subscriptions,json=validatedSubscriptions,proto3" json:"validated_subscriptions,omitempty"` + // The cursor to send when retrieving the next page, if any. + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` + // The cursor to send when retrieving the previous page, if any. + PrevCursor string `protobuf:"bytes,3,opt,name=prev_cursor,json=prevCursor,proto3" json:"prev_cursor,omitempty"` +} + +func (x *SubscriptionList) Reset() { + *x = SubscriptionList{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscriptionList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscriptionList) ProtoMessage() {} + +func (x *SubscriptionList) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[104] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubscriptionList.ProtoReflect.Descriptor instead. +func (*SubscriptionList) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{104} +} + +func (x *SubscriptionList) GetValidatedSubscriptions() []*ValidatedSubscription { + if x != nil { + return x.ValidatedSubscriptions + } + return nil +} + +func (x *SubscriptionList) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +func (x *SubscriptionList) GetPrevCursor() string { + if x != nil { + return x.PrevCursor + } + return "" +} + +// A request to submit a score to a leaderboard. +type WriteLeaderboardRecordRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the leaderboard to write to. + LeaderboardId string `protobuf:"bytes,1,opt,name=leaderboard_id,json=leaderboardId,proto3" json:"leaderboard_id,omitempty"` + // Record input. + Record *WriteLeaderboardRecordRequest_LeaderboardRecordWrite `protobuf:"bytes,2,opt,name=record,proto3" json:"record,omitempty"` +} + +func (x *WriteLeaderboardRecordRequest) Reset() { + *x = WriteLeaderboardRecordRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteLeaderboardRecordRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteLeaderboardRecordRequest) ProtoMessage() {} + +func (x *WriteLeaderboardRecordRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[105] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteLeaderboardRecordRequest.ProtoReflect.Descriptor instead. +func (*WriteLeaderboardRecordRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{105} +} + +func (x *WriteLeaderboardRecordRequest) GetLeaderboardId() string { + if x != nil { + return x.LeaderboardId + } + return "" +} + +func (x *WriteLeaderboardRecordRequest) GetRecord() *WriteLeaderboardRecordRequest_LeaderboardRecordWrite { + if x != nil { + return x.Record + } + return nil +} + +// The object to store. +type WriteStorageObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The collection to store the object. + Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"` + // The key for the object within the collection. + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + // The value of the object. + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + // The version hash of the object to check. Possible values are: ["", "*", "#hash#"]. + Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` // if-match and if-none-match + // The read access permissions for the object. + PermissionRead *wrapperspb.Int32Value `protobuf:"bytes,5,opt,name=permission_read,json=permissionRead,proto3" json:"permission_read,omitempty"` + // The write access permissions for the object. + PermissionWrite *wrapperspb.Int32Value `protobuf:"bytes,6,opt,name=permission_write,json=permissionWrite,proto3" json:"permission_write,omitempty"` +} + +func (x *WriteStorageObject) Reset() { + *x = WriteStorageObject{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteStorageObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteStorageObject) ProtoMessage() {} + +func (x *WriteStorageObject) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[106] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteStorageObject.ProtoReflect.Descriptor instead. +func (*WriteStorageObject) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{106} +} + +func (x *WriteStorageObject) GetCollection() string { + if x != nil { + return x.Collection + } + return "" +} + +func (x *WriteStorageObject) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *WriteStorageObject) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *WriteStorageObject) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *WriteStorageObject) GetPermissionRead() *wrapperspb.Int32Value { + if x != nil { + return x.PermissionRead + } + return nil +} + +func (x *WriteStorageObject) GetPermissionWrite() *wrapperspb.Int32Value { + if x != nil { + return x.PermissionWrite + } + return nil +} + +// Write objects to the storage engine. +type WriteStorageObjectsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The objects to store on the server. + Objects []*WriteStorageObject `protobuf:"bytes,1,rep,name=objects,proto3" json:"objects,omitempty"` +} + +func (x *WriteStorageObjectsRequest) Reset() { + *x = WriteStorageObjectsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteStorageObjectsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteStorageObjectsRequest) ProtoMessage() {} + +func (x *WriteStorageObjectsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[107] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteStorageObjectsRequest.ProtoReflect.Descriptor instead. +func (*WriteStorageObjectsRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{107} +} + +func (x *WriteStorageObjectsRequest) GetObjects() []*WriteStorageObject { + if x != nil { + return x.Objects + } + return nil +} + +// A request to submit a score to a tournament. +type WriteTournamentRecordRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The tournament ID to write the record for. + TournamentId string `protobuf:"bytes,1,opt,name=tournament_id,json=tournamentId,proto3" json:"tournament_id,omitempty"` + // Record input. + Record *WriteTournamentRecordRequest_TournamentRecordWrite `protobuf:"bytes,2,opt,name=record,proto3" json:"record,omitempty"` +} + +func (x *WriteTournamentRecordRequest) Reset() { + *x = WriteTournamentRecordRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteTournamentRecordRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteTournamentRecordRequest) ProtoMessage() {} + +func (x *WriteTournamentRecordRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[108] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteTournamentRecordRequest.ProtoReflect.Descriptor instead. +func (*WriteTournamentRecordRequest) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{108} +} + +func (x *WriteTournamentRecordRequest) GetTournamentId() string { + if x != nil { + return x.TournamentId + } + return "" +} + +func (x *WriteTournamentRecordRequest) GetRecord() *WriteTournamentRecordRequest_TournamentRecordWrite { + if x != nil { + return x.Record + } + return nil +} + +// A single user-role pair. +type GroupUserList_GroupUser struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // User. + User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + // Their relationship to the group. + State *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` +} + +func (x *GroupUserList_GroupUser) Reset() { + *x = GroupUserList_GroupUser{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[121] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GroupUserList_GroupUser) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupUserList_GroupUser) ProtoMessage() {} + +func (x *GroupUserList_GroupUser) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[121] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupUserList_GroupUser.ProtoReflect.Descriptor instead. +func (*GroupUserList_GroupUser) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{43, 0} +} + +func (x *GroupUserList_GroupUser) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +func (x *GroupUserList_GroupUser) GetState() *wrapperspb.Int32Value { + if x != nil { + return x.State + } + return nil +} + +// A single group-role pair. +type UserGroupList_UserGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Group. + Group *Group `protobuf:"bytes,1,opt,name=group,proto3" json:"group,omitempty"` + // The user's relationship to the group. + State *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` +} + +func (x *UserGroupList_UserGroup) Reset() { + *x = UserGroupList_UserGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[122] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserGroupList_UserGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserGroupList_UserGroup) ProtoMessage() {} + +func (x *UserGroupList_UserGroup) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[122] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserGroupList_UserGroup.ProtoReflect.Descriptor instead. +func (*UserGroupList_UserGroup) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{91, 0} +} + +func (x *UserGroupList_UserGroup) GetGroup() *Group { + if x != nil { + return x.Group + } + return nil +} + +func (x *UserGroupList_UserGroup) GetState() *wrapperspb.Int32Value { + if x != nil { + return x.State + } + return nil +} + +// Record values to write. +type WriteLeaderboardRecordRequest_LeaderboardRecordWrite struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The score value to submit. + Score int64 `protobuf:"varint,1,opt,name=score,proto3" json:"score,omitempty"` + // An optional secondary value. + Subscore int64 `protobuf:"varint,2,opt,name=subscore,proto3" json:"subscore,omitempty"` + // Optional record metadata. + Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Operator override. + Operator Operator `protobuf:"varint,4,opt,name=operator,proto3,enum=nakama.api.Operator" json:"operator,omitempty"` +} + +func (x *WriteLeaderboardRecordRequest_LeaderboardRecordWrite) Reset() { + *x = WriteLeaderboardRecordRequest_LeaderboardRecordWrite{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[123] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteLeaderboardRecordRequest_LeaderboardRecordWrite) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteLeaderboardRecordRequest_LeaderboardRecordWrite) ProtoMessage() {} + +func (x *WriteLeaderboardRecordRequest_LeaderboardRecordWrite) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[123] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteLeaderboardRecordRequest_LeaderboardRecordWrite.ProtoReflect.Descriptor instead. +func (*WriteLeaderboardRecordRequest_LeaderboardRecordWrite) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{105, 0} +} + +func (x *WriteLeaderboardRecordRequest_LeaderboardRecordWrite) GetScore() int64 { + if x != nil { + return x.Score + } + return 0 +} + +func (x *WriteLeaderboardRecordRequest_LeaderboardRecordWrite) GetSubscore() int64 { + if x != nil { + return x.Subscore + } + return 0 +} + +func (x *WriteLeaderboardRecordRequest_LeaderboardRecordWrite) GetMetadata() string { + if x != nil { + return x.Metadata + } + return "" +} + +func (x *WriteLeaderboardRecordRequest_LeaderboardRecordWrite) GetOperator() Operator { + if x != nil { + return x.Operator + } + return Operator_NO_OVERRIDE +} + +// Record values to write. +type WriteTournamentRecordRequest_TournamentRecordWrite struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The score value to submit. + Score int64 `protobuf:"varint,1,opt,name=score,proto3" json:"score,omitempty"` + // An optional secondary value. + Subscore int64 `protobuf:"varint,2,opt,name=subscore,proto3" json:"subscore,omitempty"` + // A JSON object of additional properties (optional). + Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Operator override. + Operator Operator `protobuf:"varint,4,opt,name=operator,proto3,enum=nakama.api.Operator" json:"operator,omitempty"` +} + +func (x *WriteTournamentRecordRequest_TournamentRecordWrite) Reset() { + *x = WriteTournamentRecordRequest_TournamentRecordWrite{} + if protoimpl.UnsafeEnabled { + mi := &file_api_proto_msgTypes[124] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteTournamentRecordRequest_TournamentRecordWrite) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteTournamentRecordRequest_TournamentRecordWrite) ProtoMessage() {} + +func (x *WriteTournamentRecordRequest_TournamentRecordWrite) ProtoReflect() protoreflect.Message { + mi := &file_api_proto_msgTypes[124] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteTournamentRecordRequest_TournamentRecordWrite.ProtoReflect.Descriptor instead. +func (*WriteTournamentRecordRequest_TournamentRecordWrite) Descriptor() ([]byte, []int) { + return file_api_proto_rawDescGZIP(), []int{108, 0} +} + +func (x *WriteTournamentRecordRequest_TournamentRecordWrite) GetScore() int64 { + if x != nil { + return x.Score + } + return 0 +} + +func (x *WriteTournamentRecordRequest_TournamentRecordWrite) GetSubscore() int64 { + if x != nil { + return x.Subscore + } + return 0 +} + +func (x *WriteTournamentRecordRequest_TournamentRecordWrite) GetMetadata() string { + if x != nil { + return x.Metadata + } + return "" +} + +func (x *WriteTournamentRecordRequest_TournamentRecordWrite) GetOperator() Operator { + if x != nil { + return x.Operator + } + return Operator_NO_OVERRIDE +} + +var File_api_proto protoreflect.FileDescriptor + +var file_api_proto_rawDesc = []byte{ + 0x0a, 0x09, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6e, 0x61, 0x6b, + 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, + 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x02, 0x0a, 0x07, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x61, + 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, + 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x33, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x61, 0x6b, 0x61, + 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x76, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x76, 0x65, 0x72, + 0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0x38, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x2e, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, 0x72, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x72, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x95, 0x01, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, + 0x70, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x36, 0x0a, 0x04, 0x76, 0x61, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x6c, + 0x65, 0x2e, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, 0x72, + 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x91, 0x01, 0x0a, 0x0d, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x37, 0x0a, 0x04, + 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x61, 0x6b, + 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x2e, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x04, 0x76, 0x61, 0x72, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x91, + 0x01, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x37, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, 0x72, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x72, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0xb1, 0x01, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, + 0x61, 0x69, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x61, + 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, 0x72, 0x73, 0x1a, 0x37, 0x0a, + 0x09, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9b, 0x01, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x39, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x2e, 0x56, 0x61, 0x72, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, 0x72, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56, + 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc9, 0x01, 0x0a, 0x1a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x47, + 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x44, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x04, 0x76, 0x61, 0x72, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x72, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0xc8, 0x02, 0x0a, 0x11, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, + 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x64, + 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x61, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x61, 0x6c, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, + 0x24, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, + 0x65, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x3b, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x2e, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, + 0x72, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x97, 0x01, 0x0a, 0x0d, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x72, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, 0x72, 0x73, 0x1a, 0x37, 0x0a, 0x09, + 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x95, 0x01, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x36, 0x0a, 0x04, + 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x61, 0x6b, + 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x2e, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, + 0x76, 0x61, 0x72, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x43, 0x0a, + 0x11, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x03, 0x69, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x22, 0x4c, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x73, + 0x22, 0xa7, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x72, + 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x3f, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, 0x72, + 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x51, 0x0a, 0x14, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72, + 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9e, 0x01, + 0x0a, 0x18, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x70, + 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x61, + 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x70, 0x70, 0x6c, 0x65, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, + 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa0, + 0x01, 0x0a, 0x19, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x07, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x32, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x19, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x33, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x18, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x07, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x1b, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, + 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x61, 0x63, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, + 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x04, + 0x73, 0x79, 0x6e, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, + 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x22, 0xba, 0x01, 0x0a, + 0x26, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x46, 0x61, 0x63, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, + 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x61, 0x63, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, + 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x1d, 0x41, 0x75, + 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, + 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x07, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x19, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x33, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x07, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, + 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, + 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xce, 0x01, 0x0a, 0x18, 0x41, 0x75, 0x74, 0x68, + 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x52, + 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x22, 0x4c, 0x0a, 0x14, 0x42, 0x61, 0x6e, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x75, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x45, 0x0a, 0x13, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, + 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x80, 0x04, + 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, + 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x2f, + 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0a, + 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x70, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, + 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, + 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, + 0x12, 0x1e, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x6e, 0x65, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4f, 0x6e, 0x65, + 0x12, 0x1e, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x77, 0x6f, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x54, 0x77, 0x6f, + 0x22, 0xb9, 0x01, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x61, 0x6b, 0x61, + 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, + 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, + 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x76, 0x43, 0x75, 0x72, 0x73, 0x6f, + 0x72, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x61, 0x63, 0x68, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, + 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x61, 0x63, + 0x68, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xb5, 0x01, 0x0a, + 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x6e, + 0x67, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x6e, + 0x67, 0x54, 0x61, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x75, + 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, + 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x46, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, + 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x12, 0x1c, + 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x2f, 0x0a, 0x12, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x47, 0x0a, + 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x25, 0x0a, 0x0e, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x2e, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x44, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x75, 0x72, 0x6e, + 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x63, 0x0a, 0x15, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x22, 0x5f, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x40, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x52, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, + 0x64, 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x41, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, + 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe6, 0x01, 0x0a, 0x06, 0x46, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x05, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x10, 0x00, 0x12, 0x0f, + 0x0a, 0x0b, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, + 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, + 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, + 0x03, 0x22, 0x52, 0x0a, 0x0a, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x2c, 0x0a, 0x07, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x52, 0x07, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, + 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0x64, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, + 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x75, + 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x63, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, + 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x64, 0x73, 0x22, 0x37, 0x0a, 0x16, 0x47, + 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x49, 0x64, 0x22, 0xa8, 0x03, 0x0a, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x67, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x12, 0x1a, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x76, + 0x61, 0x74, 0x61, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x2e, 0x0a, 0x04, 0x6f, 0x70, 0x65, + 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x64, 0x67, + 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, + 0x64, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, + 0x4e, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x06, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6e, + 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, + 0x96, 0x02, 0x0a, 0x0d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x44, 0x0a, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, + 0x74, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x52, 0x0a, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x1a, + 0xa6, 0x01, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x12, 0x24, 0x0a, + 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6e, 0x61, + 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, + 0x73, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x40, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x0e, 0x0a, 0x0a, 0x53, 0x55, 0x50, 0x45, 0x52, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x00, 0x12, + 0x09, 0x0a, 0x05, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, + 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, + 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x03, 0x22, 0x87, 0x01, 0x0a, 0x1c, 0x49, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x61, 0x6b, + 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, + 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x30, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, + 0x65, 0x74, 0x22, 0x81, 0x01, 0x0a, 0x19, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x32, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x07, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x22, 0x2d, 0x0a, 0x10, 0x4a, 0x6f, 0x69, 0x6e, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x15, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x75, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, + 0x0a, 0x0d, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x15, 0x4b, 0x69, 0x63, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x73, 0x22, 0xab, 0x02, 0x0a, 0x0b, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x12, 0x30, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x65, 0x73, 0x65, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65, 0x76, 0x52, 0x65, 0x73, + 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x65, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x22, 0x66, 0x0a, 0x0f, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x61, 0x6b, 0x61, + 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x52, 0x0c, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xe9, 0x03, 0x0a, 0x11, 0x4c, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x25, + 0x0a, 0x0e, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x38, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x08, 0x73, 0x75, 0x62, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x6e, 0x75, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x3b, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, + 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x22, 0xf5, 0x01, 0x0a, 0x15, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, + 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, + 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0c, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, + 0x70, 0x72, 0x65, 0x76, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x76, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x0a, + 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x2e, 0x0a, 0x11, + 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x7c, 0x0a, 0x13, + 0x4c, 0x69, 0x6e, 0x6b, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x73, 0x79, + 0x6e, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x22, 0x76, 0x0a, 0x10, 0x4c, 0x69, + 0x6e, 0x6b, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, + 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x79, + 0x6e, 0x63, 0x22, 0xbc, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, + 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, + 0x73, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, + 0x72, 0x22, 0x92, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xf4, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6c, + 0x61, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, + 0x61, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x12, 0x35, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, + 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, + 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x22, 0xb0, 0x01, + 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x49, 0x64, 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, + 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, + 0x22, 0xed, 0x01, 0x0a, 0x28, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, + 0x0e, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, + 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, + 0x22, 0xe3, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, + 0x73, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, + 0x72, 0x12, 0x33, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x22, 0xe1, 0x02, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x12, 0x40, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x36, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x36, + 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6d, + 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x78, 0x0a, 0x18, 0x4c, 0x69, + 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x61, 0x63, + 0x68, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, + 0x72, 0x73, 0x6f, 0x72, 0x22, 0x9f, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0x65, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xea, 0x01, + 0x0a, 0x27, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x77, 0x6e, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x75, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x32, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x33, 0x0a, + 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xe0, 0x01, 0x0a, 0x1c, 0x4c, + 0x69, 0x73, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, + 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x31, 0x0a, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x22, 0xdf, 0x02, + 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0e, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, + 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x3f, 0x0a, + 0x0c, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x64, 0x12, 0x3b, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, + 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, + 0xae, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, + 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, + 0x22, 0xd0, 0x01, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, + 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, + 0x69, 0x7a, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x72, 0x61, 0x74, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x69, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, + 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x22, 0x38, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x2b, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x11, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x22, 0xe0, 0x01, + 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, + 0x22, 0x7d, 0x0a, 0x10, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x61, + 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x61, 0x63, 0x68, 0x65, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x63, 0x61, 0x63, 0x68, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, + 0x50, 0x0a, 0x18, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, + 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x73, 0x22, 0x4f, 0x0a, 0x17, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x73, 0x22, 0x60, 0x0a, 0x13, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x22, 0x5b, 0x0a, 0x19, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x3e, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x52, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, + 0x73, 0x22, 0x4a, 0x0a, 0x03, 0x52, 0x70, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x74, 0x74, 0x70, 0x4b, 0x65, 0x79, 0x22, 0x5e, 0x0a, + 0x07, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72, + 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd8, 0x02, + 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x61, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x3b, + 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6b, 0x12, 0x1e, 0x0a, + 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x45, 0x0a, 0x11, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6b, + 0x73, 0x12, 0x30, 0x0a, 0x04, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6b, 0x52, 0x04, 0x61, + 0x63, 0x6b, 0x73, 0x22, 0x45, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x60, 0x0a, 0x11, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x33, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xbe, 0x05, 0x0a, + 0x0a, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, + 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, + 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x61, 0x6e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x1d, + 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, + 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, + 0x65, 0x73, 0x65, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65, 0x76, + 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x30, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x22, 0x62, 0x0a, + 0x0e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x38, 0x0a, 0x0b, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x74, 0x6f, + 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, + 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, + 0x72, 0x22, 0xf4, 0x01, 0x0a, 0x14, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x72, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, + 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, + 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0c, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, + 0x78, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, + 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, + 0x72, 0x65, 0x76, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, + 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, + 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xfb, 0x02, 0x0a, 0x14, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x38, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0a, + 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, + 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x37, 0x0a, 0x08, 0x6c, 0x61, 0x6e, + 0x67, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6c, 0x61, 0x6e, 0x67, 0x54, + 0x61, 0x67, 0x12, 0x38, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x08, + 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x74, 0x69, + 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xc7, 0x02, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, + 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x08, 0x6c, 0x61, + 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6c, 0x61, 0x6e, 0x67, + 0x54, 0x61, 0x67, 0x12, 0x3b, 0x0a, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, + 0x12, 0x2e, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, + 0x22, 0xe6, 0x04, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x76, 0x61, 0x74, + 0x61, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, + 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x5f, + 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x6e, 0x67, 0x54, + 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x63, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x61, 0x6d, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67, 0x61, 0x6d, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, + 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x65, + 0x61, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x65, 0x64, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x19, + 0x0a, 0x08, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x99, 0x02, 0x0a, 0x0d, 0x55, 0x73, + 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x0b, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x1a, 0xa9, 0x01, 0x0a, 0x09, 0x55, 0x73, + 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x27, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x22, 0x40, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x0a, + 0x53, 0x55, 0x50, 0x45, 0x52, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, + 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x4d, 0x42, 0x45, + 0x52, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, + 0x45, 0x53, 0x54, 0x10, 0x03, 0x22, 0x2f, 0x0a, 0x05, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x26, + 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x6e, 0x0a, 0x1c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, + 0x12, 0x34, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x70, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x22, 0x72, 0x0a, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x70, + 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, + 0x63, 0x65, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x70, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x22, 0x71, 0x0a, 0x1d, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, + 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x22, 0x73, 0x0a, + 0x21, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x12, 0x34, 0x0a, 0x07, + 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, + 0x73, 0x74, 0x22, 0x8f, 0x01, 0x0a, 0x1d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x75, 0x61, 0x77, 0x65, 0x69, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x34, + 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x70, 0x65, 0x72, + 0x73, 0x69, 0x73, 0x74, 0x22, 0x85, 0x01, 0x0a, 0x26, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x22, 0xa9, 0x04, 0x0a, + 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, + 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x19, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x05, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, + 0x0b, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, + 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, + 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6e, + 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x45, + 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, + 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x65, 0x6e, 0x5f, + 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x65, + 0x65, 0x6e, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x22, 0x6a, 0x0a, 0x18, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, + 0x52, 0x12, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x50, 0x75, 0x72, 0x63, 0x68, + 0x61, 0x73, 0x65, 0x73, 0x22, 0x78, 0x0a, 0x1c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x16, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa7, + 0x05, 0x0a, 0x15, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, + 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x15, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x70, 0x75, 0x72, + 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x70, 0x75, + 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6e, 0x61, 0x6b, 0x61, + 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x76, 0x69, + 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, + 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x15, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x97, 0x01, 0x0a, 0x0c, 0x50, 0x75, 0x72, + 0x63, 0x68, 0x61, 0x73, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x13, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x50, 0x75, 0x72, + 0x63, 0x68, 0x61, 0x73, 0x65, 0x52, 0x12, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, + 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, + 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x76, 0x43, 0x75, 0x72, 0x73, + 0x6f, 0x72, 0x22, 0xa7, 0x01, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5a, 0x0a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, + 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, + 0x72, 0x65, 0x76, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x70, 0x72, 0x65, 0x76, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xbb, 0x02, 0x0a, + 0x1d, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, + 0x0a, 0x0e, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x58, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, + 0x98, 0x01, 0x0a, 0x16, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x08, 0x73, 0x75, 0x62, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x30, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6e, 0x61, 0x6b, + 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x84, 0x02, 0x0a, 0x12, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x64, 0x12, 0x46, 0x0a, 0x10, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x22, 0x56, 0x0a, 0x1a, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x38, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0xb5, 0x02, 0x0a, 0x1c, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, + 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x56, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3e, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x72, 0x69, + 0x74, 0x65, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, + 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x97, 0x01, 0x0a, 0x15, 0x54, 0x6f, 0x75, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x30, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x14, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x2a, 0x6f, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x5f, + 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x47, 0x4f, 0x4f, 0x47, 0x4c, + 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x12, 0x16, + 0x0a, 0x12, 0x48, 0x55, 0x41, 0x57, 0x45, 0x49, 0x5f, 0x41, 0x50, 0x50, 0x5f, 0x47, 0x41, 0x4c, + 0x4c, 0x45, 0x52, 0x59, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x41, 0x43, 0x45, 0x42, 0x4f, + 0x4f, 0x4b, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, + 0x10, 0x03, 0x2a, 0x3c, 0x0a, 0x10, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, + 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, + 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x10, 0x01, + 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, + 0x2a, 0x4c, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0f, 0x0a, 0x0b, + 0x4e, 0x4f, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a, + 0x04, 0x42, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x45, 0x54, 0x10, 0x02, + 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, + 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x42, 0x63, + 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, + 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x09, 0x4e, 0x61, 0x6b, + 0x61, 0x6d, 0x61, 0x41, 0x70, 0x69, 0x50, 0x01, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, + 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x70, + 0x69, 0xaa, 0x02, 0x0f, 0x4e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_api_proto_rawDescOnce sync.Once + file_api_proto_rawDescData = file_api_proto_rawDesc +) + +func file_api_proto_rawDescGZIP() []byte { + file_api_proto_rawDescOnce.Do(func() { + file_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_proto_rawDescData) + }) + return file_api_proto_rawDescData +} + +var file_api_proto_enumTypes = make([]protoimpl.EnumInfo, 6) +var file_api_proto_msgTypes = make([]protoimpl.MessageInfo, 125) +var file_api_proto_goTypes = []interface{}{ + (StoreProvider)(0), // 0: nakama.api.StoreProvider + (StoreEnvironment)(0), // 1: nakama.api.StoreEnvironment + (Operator)(0), // 2: nakama.api.Operator + (Friend_State)(0), // 3: nakama.api.Friend.State + (GroupUserList_GroupUser_State)(0), // 4: nakama.api.GroupUserList.GroupUser.State + (UserGroupList_UserGroup_State)(0), // 5: nakama.api.UserGroupList.UserGroup.State + (*Account)(nil), // 6: nakama.api.Account + (*AccountRefresh)(nil), // 7: nakama.api.AccountRefresh + (*AccountApple)(nil), // 8: nakama.api.AccountApple + (*AccountCustom)(nil), // 9: nakama.api.AccountCustom + (*AccountDevice)(nil), // 10: nakama.api.AccountDevice + (*AccountEmail)(nil), // 11: nakama.api.AccountEmail + (*AccountFacebook)(nil), // 12: nakama.api.AccountFacebook + (*AccountFacebookInstantGame)(nil), // 13: nakama.api.AccountFacebookInstantGame + (*AccountGameCenter)(nil), // 14: nakama.api.AccountGameCenter + (*AccountGoogle)(nil), // 15: nakama.api.AccountGoogle + (*AccountSteam)(nil), // 16: nakama.api.AccountSteam + (*AddFriendsRequest)(nil), // 17: nakama.api.AddFriendsRequest + (*AddGroupUsersRequest)(nil), // 18: nakama.api.AddGroupUsersRequest + (*SessionRefreshRequest)(nil), // 19: nakama.api.SessionRefreshRequest + (*SessionLogoutRequest)(nil), // 20: nakama.api.SessionLogoutRequest + (*AuthenticateAppleRequest)(nil), // 21: nakama.api.AuthenticateAppleRequest + (*AuthenticateCustomRequest)(nil), // 22: nakama.api.AuthenticateCustomRequest + (*AuthenticateDeviceRequest)(nil), // 23: nakama.api.AuthenticateDeviceRequest + (*AuthenticateEmailRequest)(nil), // 24: nakama.api.AuthenticateEmailRequest + (*AuthenticateFacebookRequest)(nil), // 25: nakama.api.AuthenticateFacebookRequest + (*AuthenticateFacebookInstantGameRequest)(nil), // 26: nakama.api.AuthenticateFacebookInstantGameRequest + (*AuthenticateGameCenterRequest)(nil), // 27: nakama.api.AuthenticateGameCenterRequest + (*AuthenticateGoogleRequest)(nil), // 28: nakama.api.AuthenticateGoogleRequest + (*AuthenticateSteamRequest)(nil), // 29: nakama.api.AuthenticateSteamRequest + (*BanGroupUsersRequest)(nil), // 30: nakama.api.BanGroupUsersRequest + (*BlockFriendsRequest)(nil), // 31: nakama.api.BlockFriendsRequest + (*ChannelMessage)(nil), // 32: nakama.api.ChannelMessage + (*ChannelMessageList)(nil), // 33: nakama.api.ChannelMessageList + (*CreateGroupRequest)(nil), // 34: nakama.api.CreateGroupRequest + (*DeleteFriendsRequest)(nil), // 35: nakama.api.DeleteFriendsRequest + (*DeleteGroupRequest)(nil), // 36: nakama.api.DeleteGroupRequest + (*DeleteLeaderboardRecordRequest)(nil), // 37: nakama.api.DeleteLeaderboardRecordRequest + (*DeleteNotificationsRequest)(nil), // 38: nakama.api.DeleteNotificationsRequest + (*DeleteTournamentRecordRequest)(nil), // 39: nakama.api.DeleteTournamentRecordRequest + (*DeleteStorageObjectId)(nil), // 40: nakama.api.DeleteStorageObjectId + (*DeleteStorageObjectsRequest)(nil), // 41: nakama.api.DeleteStorageObjectsRequest + (*Event)(nil), // 42: nakama.api.Event + (*Friend)(nil), // 43: nakama.api.Friend + (*FriendList)(nil), // 44: nakama.api.FriendList + (*GetUsersRequest)(nil), // 45: nakama.api.GetUsersRequest + (*GetSubscriptionRequest)(nil), // 46: nakama.api.GetSubscriptionRequest + (*Group)(nil), // 47: nakama.api.Group + (*GroupList)(nil), // 48: nakama.api.GroupList + (*GroupUserList)(nil), // 49: nakama.api.GroupUserList + (*ImportFacebookFriendsRequest)(nil), // 50: nakama.api.ImportFacebookFriendsRequest + (*ImportSteamFriendsRequest)(nil), // 51: nakama.api.ImportSteamFriendsRequest + (*JoinGroupRequest)(nil), // 52: nakama.api.JoinGroupRequest + (*JoinTournamentRequest)(nil), // 53: nakama.api.JoinTournamentRequest + (*KickGroupUsersRequest)(nil), // 54: nakama.api.KickGroupUsersRequest + (*Leaderboard)(nil), // 55: nakama.api.Leaderboard + (*LeaderboardList)(nil), // 56: nakama.api.LeaderboardList + (*LeaderboardRecord)(nil), // 57: nakama.api.LeaderboardRecord + (*LeaderboardRecordList)(nil), // 58: nakama.api.LeaderboardRecordList + (*LeaveGroupRequest)(nil), // 59: nakama.api.LeaveGroupRequest + (*LinkFacebookRequest)(nil), // 60: nakama.api.LinkFacebookRequest + (*LinkSteamRequest)(nil), // 61: nakama.api.LinkSteamRequest + (*ListChannelMessagesRequest)(nil), // 62: nakama.api.ListChannelMessagesRequest + (*ListFriendsRequest)(nil), // 63: nakama.api.ListFriendsRequest + (*ListGroupsRequest)(nil), // 64: nakama.api.ListGroupsRequest + (*ListGroupUsersRequest)(nil), // 65: nakama.api.ListGroupUsersRequest + (*ListLeaderboardRecordsAroundOwnerRequest)(nil), // 66: nakama.api.ListLeaderboardRecordsAroundOwnerRequest + (*ListLeaderboardRecordsRequest)(nil), // 67: nakama.api.ListLeaderboardRecordsRequest + (*ListMatchesRequest)(nil), // 68: nakama.api.ListMatchesRequest + (*ListNotificationsRequest)(nil), // 69: nakama.api.ListNotificationsRequest + (*ListStorageObjectsRequest)(nil), // 70: nakama.api.ListStorageObjectsRequest + (*ListSubscriptionsRequest)(nil), // 71: nakama.api.ListSubscriptionsRequest + (*ListTournamentRecordsAroundOwnerRequest)(nil), // 72: nakama.api.ListTournamentRecordsAroundOwnerRequest + (*ListTournamentRecordsRequest)(nil), // 73: nakama.api.ListTournamentRecordsRequest + (*ListTournamentsRequest)(nil), // 74: nakama.api.ListTournamentsRequest + (*ListUserGroupsRequest)(nil), // 75: nakama.api.ListUserGroupsRequest + (*Match)(nil), // 76: nakama.api.Match + (*MatchList)(nil), // 77: nakama.api.MatchList + (*Notification)(nil), // 78: nakama.api.Notification + (*NotificationList)(nil), // 79: nakama.api.NotificationList + (*PromoteGroupUsersRequest)(nil), // 80: nakama.api.PromoteGroupUsersRequest + (*DemoteGroupUsersRequest)(nil), // 81: nakama.api.DemoteGroupUsersRequest + (*ReadStorageObjectId)(nil), // 82: nakama.api.ReadStorageObjectId + (*ReadStorageObjectsRequest)(nil), // 83: nakama.api.ReadStorageObjectsRequest + (*Rpc)(nil), // 84: nakama.api.Rpc + (*Session)(nil), // 85: nakama.api.Session + (*StorageObject)(nil), // 86: nakama.api.StorageObject + (*StorageObjectAck)(nil), // 87: nakama.api.StorageObjectAck + (*StorageObjectAcks)(nil), // 88: nakama.api.StorageObjectAcks + (*StorageObjects)(nil), // 89: nakama.api.StorageObjects + (*StorageObjectList)(nil), // 90: nakama.api.StorageObjectList + (*Tournament)(nil), // 91: nakama.api.Tournament + (*TournamentList)(nil), // 92: nakama.api.TournamentList + (*TournamentRecordList)(nil), // 93: nakama.api.TournamentRecordList + (*UpdateAccountRequest)(nil), // 94: nakama.api.UpdateAccountRequest + (*UpdateGroupRequest)(nil), // 95: nakama.api.UpdateGroupRequest + (*User)(nil), // 96: nakama.api.User + (*UserGroupList)(nil), // 97: nakama.api.UserGroupList + (*Users)(nil), // 98: nakama.api.Users + (*ValidatePurchaseAppleRequest)(nil), // 99: nakama.api.ValidatePurchaseAppleRequest + (*ValidateSubscriptionAppleRequest)(nil), // 100: nakama.api.ValidateSubscriptionAppleRequest + (*ValidatePurchaseGoogleRequest)(nil), // 101: nakama.api.ValidatePurchaseGoogleRequest + (*ValidateSubscriptionGoogleRequest)(nil), // 102: nakama.api.ValidateSubscriptionGoogleRequest + (*ValidatePurchaseHuaweiRequest)(nil), // 103: nakama.api.ValidatePurchaseHuaweiRequest + (*ValidatePurchaseFacebookInstantRequest)(nil), // 104: nakama.api.ValidatePurchaseFacebookInstantRequest + (*ValidatedPurchase)(nil), // 105: nakama.api.ValidatedPurchase + (*ValidatePurchaseResponse)(nil), // 106: nakama.api.ValidatePurchaseResponse + (*ValidateSubscriptionResponse)(nil), // 107: nakama.api.ValidateSubscriptionResponse + (*ValidatedSubscription)(nil), // 108: nakama.api.ValidatedSubscription + (*PurchaseList)(nil), // 109: nakama.api.PurchaseList + (*SubscriptionList)(nil), // 110: nakama.api.SubscriptionList + (*WriteLeaderboardRecordRequest)(nil), // 111: nakama.api.WriteLeaderboardRecordRequest + (*WriteStorageObject)(nil), // 112: nakama.api.WriteStorageObject + (*WriteStorageObjectsRequest)(nil), // 113: nakama.api.WriteStorageObjectsRequest + (*WriteTournamentRecordRequest)(nil), // 114: nakama.api.WriteTournamentRecordRequest + nil, // 115: nakama.api.AccountRefresh.VarsEntry + nil, // 116: nakama.api.AccountApple.VarsEntry + nil, // 117: nakama.api.AccountCustom.VarsEntry + nil, // 118: nakama.api.AccountDevice.VarsEntry + nil, // 119: nakama.api.AccountEmail.VarsEntry + nil, // 120: nakama.api.AccountFacebook.VarsEntry + nil, // 121: nakama.api.AccountFacebookInstantGame.VarsEntry + nil, // 122: nakama.api.AccountGameCenter.VarsEntry + nil, // 123: nakama.api.AccountGoogle.VarsEntry + nil, // 124: nakama.api.AccountSteam.VarsEntry + nil, // 125: nakama.api.SessionRefreshRequest.VarsEntry + nil, // 126: nakama.api.Event.PropertiesEntry + (*GroupUserList_GroupUser)(nil), // 127: nakama.api.GroupUserList.GroupUser + (*UserGroupList_UserGroup)(nil), // 128: nakama.api.UserGroupList.UserGroup + (*WriteLeaderboardRecordRequest_LeaderboardRecordWrite)(nil), // 129: nakama.api.WriteLeaderboardRecordRequest.LeaderboardRecordWrite + (*WriteTournamentRecordRequest_TournamentRecordWrite)(nil), // 130: nakama.api.WriteTournamentRecordRequest.TournamentRecordWrite + (*timestamppb.Timestamp)(nil), // 131: google.protobuf.Timestamp + (*wrapperspb.BoolValue)(nil), // 132: google.protobuf.BoolValue + (*wrapperspb.Int32Value)(nil), // 133: google.protobuf.Int32Value + (*wrapperspb.StringValue)(nil), // 134: google.protobuf.StringValue + (*wrapperspb.UInt32Value)(nil), // 135: google.protobuf.UInt32Value + (*wrapperspb.Int64Value)(nil), // 136: google.protobuf.Int64Value +} +var file_api_proto_depIdxs = []int32{ + 96, // 0: nakama.api.Account.user:type_name -> nakama.api.User + 10, // 1: nakama.api.Account.devices:type_name -> nakama.api.AccountDevice + 131, // 2: nakama.api.Account.verify_time:type_name -> google.protobuf.Timestamp + 131, // 3: nakama.api.Account.disable_time:type_name -> google.protobuf.Timestamp + 115, // 4: nakama.api.AccountRefresh.vars:type_name -> nakama.api.AccountRefresh.VarsEntry + 116, // 5: nakama.api.AccountApple.vars:type_name -> nakama.api.AccountApple.VarsEntry + 117, // 6: nakama.api.AccountCustom.vars:type_name -> nakama.api.AccountCustom.VarsEntry + 118, // 7: nakama.api.AccountDevice.vars:type_name -> nakama.api.AccountDevice.VarsEntry + 119, // 8: nakama.api.AccountEmail.vars:type_name -> nakama.api.AccountEmail.VarsEntry + 120, // 9: nakama.api.AccountFacebook.vars:type_name -> nakama.api.AccountFacebook.VarsEntry + 121, // 10: nakama.api.AccountFacebookInstantGame.vars:type_name -> nakama.api.AccountFacebookInstantGame.VarsEntry + 122, // 11: nakama.api.AccountGameCenter.vars:type_name -> nakama.api.AccountGameCenter.VarsEntry + 123, // 12: nakama.api.AccountGoogle.vars:type_name -> nakama.api.AccountGoogle.VarsEntry + 124, // 13: nakama.api.AccountSteam.vars:type_name -> nakama.api.AccountSteam.VarsEntry + 125, // 14: nakama.api.SessionRefreshRequest.vars:type_name -> nakama.api.SessionRefreshRequest.VarsEntry + 8, // 15: nakama.api.AuthenticateAppleRequest.account:type_name -> nakama.api.AccountApple + 132, // 16: nakama.api.AuthenticateAppleRequest.create:type_name -> google.protobuf.BoolValue + 9, // 17: nakama.api.AuthenticateCustomRequest.account:type_name -> nakama.api.AccountCustom + 132, // 18: nakama.api.AuthenticateCustomRequest.create:type_name -> google.protobuf.BoolValue + 10, // 19: nakama.api.AuthenticateDeviceRequest.account:type_name -> nakama.api.AccountDevice + 132, // 20: nakama.api.AuthenticateDeviceRequest.create:type_name -> google.protobuf.BoolValue + 11, // 21: nakama.api.AuthenticateEmailRequest.account:type_name -> nakama.api.AccountEmail + 132, // 22: nakama.api.AuthenticateEmailRequest.create:type_name -> google.protobuf.BoolValue + 12, // 23: nakama.api.AuthenticateFacebookRequest.account:type_name -> nakama.api.AccountFacebook + 132, // 24: nakama.api.AuthenticateFacebookRequest.create:type_name -> google.protobuf.BoolValue + 132, // 25: nakama.api.AuthenticateFacebookRequest.sync:type_name -> google.protobuf.BoolValue + 13, // 26: nakama.api.AuthenticateFacebookInstantGameRequest.account:type_name -> nakama.api.AccountFacebookInstantGame + 132, // 27: nakama.api.AuthenticateFacebookInstantGameRequest.create:type_name -> google.protobuf.BoolValue + 14, // 28: nakama.api.AuthenticateGameCenterRequest.account:type_name -> nakama.api.AccountGameCenter + 132, // 29: nakama.api.AuthenticateGameCenterRequest.create:type_name -> google.protobuf.BoolValue + 15, // 30: nakama.api.AuthenticateGoogleRequest.account:type_name -> nakama.api.AccountGoogle + 132, // 31: nakama.api.AuthenticateGoogleRequest.create:type_name -> google.protobuf.BoolValue + 16, // 32: nakama.api.AuthenticateSteamRequest.account:type_name -> nakama.api.AccountSteam + 132, // 33: nakama.api.AuthenticateSteamRequest.create:type_name -> google.protobuf.BoolValue + 132, // 34: nakama.api.AuthenticateSteamRequest.sync:type_name -> google.protobuf.BoolValue + 133, // 35: nakama.api.ChannelMessage.code:type_name -> google.protobuf.Int32Value + 131, // 36: nakama.api.ChannelMessage.create_time:type_name -> google.protobuf.Timestamp + 131, // 37: nakama.api.ChannelMessage.update_time:type_name -> google.protobuf.Timestamp + 132, // 38: nakama.api.ChannelMessage.persistent:type_name -> google.protobuf.BoolValue + 32, // 39: nakama.api.ChannelMessageList.messages:type_name -> nakama.api.ChannelMessage + 40, // 40: nakama.api.DeleteStorageObjectsRequest.object_ids:type_name -> nakama.api.DeleteStorageObjectId + 126, // 41: nakama.api.Event.properties:type_name -> nakama.api.Event.PropertiesEntry + 131, // 42: nakama.api.Event.timestamp:type_name -> google.protobuf.Timestamp + 96, // 43: nakama.api.Friend.user:type_name -> nakama.api.User + 133, // 44: nakama.api.Friend.state:type_name -> google.protobuf.Int32Value + 131, // 45: nakama.api.Friend.update_time:type_name -> google.protobuf.Timestamp + 43, // 46: nakama.api.FriendList.friends:type_name -> nakama.api.Friend + 132, // 47: nakama.api.Group.open:type_name -> google.protobuf.BoolValue + 131, // 48: nakama.api.Group.create_time:type_name -> google.protobuf.Timestamp + 131, // 49: nakama.api.Group.update_time:type_name -> google.protobuf.Timestamp + 47, // 50: nakama.api.GroupList.groups:type_name -> nakama.api.Group + 127, // 51: nakama.api.GroupUserList.group_users:type_name -> nakama.api.GroupUserList.GroupUser + 12, // 52: nakama.api.ImportFacebookFriendsRequest.account:type_name -> nakama.api.AccountFacebook + 132, // 53: nakama.api.ImportFacebookFriendsRequest.reset:type_name -> google.protobuf.BoolValue + 16, // 54: nakama.api.ImportSteamFriendsRequest.account:type_name -> nakama.api.AccountSteam + 132, // 55: nakama.api.ImportSteamFriendsRequest.reset:type_name -> google.protobuf.BoolValue + 2, // 56: nakama.api.Leaderboard.operator:type_name -> nakama.api.Operator + 131, // 57: nakama.api.Leaderboard.create_time:type_name -> google.protobuf.Timestamp + 55, // 58: nakama.api.LeaderboardList.leaderboards:type_name -> nakama.api.Leaderboard + 134, // 59: nakama.api.LeaderboardRecord.username:type_name -> google.protobuf.StringValue + 131, // 60: nakama.api.LeaderboardRecord.create_time:type_name -> google.protobuf.Timestamp + 131, // 61: nakama.api.LeaderboardRecord.update_time:type_name -> google.protobuf.Timestamp + 131, // 62: nakama.api.LeaderboardRecord.expiry_time:type_name -> google.protobuf.Timestamp + 57, // 63: nakama.api.LeaderboardRecordList.records:type_name -> nakama.api.LeaderboardRecord + 57, // 64: nakama.api.LeaderboardRecordList.owner_records:type_name -> nakama.api.LeaderboardRecord + 12, // 65: nakama.api.LinkFacebookRequest.account:type_name -> nakama.api.AccountFacebook + 132, // 66: nakama.api.LinkFacebookRequest.sync:type_name -> google.protobuf.BoolValue + 16, // 67: nakama.api.LinkSteamRequest.account:type_name -> nakama.api.AccountSteam + 132, // 68: nakama.api.LinkSteamRequest.sync:type_name -> google.protobuf.BoolValue + 133, // 69: nakama.api.ListChannelMessagesRequest.limit:type_name -> google.protobuf.Int32Value + 132, // 70: nakama.api.ListChannelMessagesRequest.forward:type_name -> google.protobuf.BoolValue + 133, // 71: nakama.api.ListFriendsRequest.limit:type_name -> google.protobuf.Int32Value + 133, // 72: nakama.api.ListFriendsRequest.state:type_name -> google.protobuf.Int32Value + 133, // 73: nakama.api.ListGroupsRequest.limit:type_name -> google.protobuf.Int32Value + 133, // 74: nakama.api.ListGroupsRequest.members:type_name -> google.protobuf.Int32Value + 132, // 75: nakama.api.ListGroupsRequest.open:type_name -> google.protobuf.BoolValue + 133, // 76: nakama.api.ListGroupUsersRequest.limit:type_name -> google.protobuf.Int32Value + 133, // 77: nakama.api.ListGroupUsersRequest.state:type_name -> google.protobuf.Int32Value + 135, // 78: nakama.api.ListLeaderboardRecordsAroundOwnerRequest.limit:type_name -> google.protobuf.UInt32Value + 136, // 79: nakama.api.ListLeaderboardRecordsAroundOwnerRequest.expiry:type_name -> google.protobuf.Int64Value + 133, // 80: nakama.api.ListLeaderboardRecordsRequest.limit:type_name -> google.protobuf.Int32Value + 136, // 81: nakama.api.ListLeaderboardRecordsRequest.expiry:type_name -> google.protobuf.Int64Value + 133, // 82: nakama.api.ListMatchesRequest.limit:type_name -> google.protobuf.Int32Value + 132, // 83: nakama.api.ListMatchesRequest.authoritative:type_name -> google.protobuf.BoolValue + 134, // 84: nakama.api.ListMatchesRequest.label:type_name -> google.protobuf.StringValue + 133, // 85: nakama.api.ListMatchesRequest.min_size:type_name -> google.protobuf.Int32Value + 133, // 86: nakama.api.ListMatchesRequest.max_size:type_name -> google.protobuf.Int32Value + 134, // 87: nakama.api.ListMatchesRequest.query:type_name -> google.protobuf.StringValue + 133, // 88: nakama.api.ListNotificationsRequest.limit:type_name -> google.protobuf.Int32Value + 133, // 89: nakama.api.ListStorageObjectsRequest.limit:type_name -> google.protobuf.Int32Value + 133, // 90: nakama.api.ListSubscriptionsRequest.limit:type_name -> google.protobuf.Int32Value + 135, // 91: nakama.api.ListTournamentRecordsAroundOwnerRequest.limit:type_name -> google.protobuf.UInt32Value + 136, // 92: nakama.api.ListTournamentRecordsAroundOwnerRequest.expiry:type_name -> google.protobuf.Int64Value + 133, // 93: nakama.api.ListTournamentRecordsRequest.limit:type_name -> google.protobuf.Int32Value + 136, // 94: nakama.api.ListTournamentRecordsRequest.expiry:type_name -> google.protobuf.Int64Value + 135, // 95: nakama.api.ListTournamentsRequest.category_start:type_name -> google.protobuf.UInt32Value + 135, // 96: nakama.api.ListTournamentsRequest.category_end:type_name -> google.protobuf.UInt32Value + 135, // 97: nakama.api.ListTournamentsRequest.start_time:type_name -> google.protobuf.UInt32Value + 135, // 98: nakama.api.ListTournamentsRequest.end_time:type_name -> google.protobuf.UInt32Value + 133, // 99: nakama.api.ListTournamentsRequest.limit:type_name -> google.protobuf.Int32Value + 133, // 100: nakama.api.ListUserGroupsRequest.limit:type_name -> google.protobuf.Int32Value + 133, // 101: nakama.api.ListUserGroupsRequest.state:type_name -> google.protobuf.Int32Value + 134, // 102: nakama.api.Match.label:type_name -> google.protobuf.StringValue + 76, // 103: nakama.api.MatchList.matches:type_name -> nakama.api.Match + 131, // 104: nakama.api.Notification.create_time:type_name -> google.protobuf.Timestamp + 78, // 105: nakama.api.NotificationList.notifications:type_name -> nakama.api.Notification + 82, // 106: nakama.api.ReadStorageObjectsRequest.object_ids:type_name -> nakama.api.ReadStorageObjectId + 131, // 107: nakama.api.StorageObject.create_time:type_name -> google.protobuf.Timestamp + 131, // 108: nakama.api.StorageObject.update_time:type_name -> google.protobuf.Timestamp + 131, // 109: nakama.api.StorageObjectAck.create_time:type_name -> google.protobuf.Timestamp + 131, // 110: nakama.api.StorageObjectAck.update_time:type_name -> google.protobuf.Timestamp + 87, // 111: nakama.api.StorageObjectAcks.acks:type_name -> nakama.api.StorageObjectAck + 86, // 112: nakama.api.StorageObjects.objects:type_name -> nakama.api.StorageObject + 86, // 113: nakama.api.StorageObjectList.objects:type_name -> nakama.api.StorageObject + 131, // 114: nakama.api.Tournament.create_time:type_name -> google.protobuf.Timestamp + 131, // 115: nakama.api.Tournament.start_time:type_name -> google.protobuf.Timestamp + 131, // 116: nakama.api.Tournament.end_time:type_name -> google.protobuf.Timestamp + 2, // 117: nakama.api.Tournament.operator:type_name -> nakama.api.Operator + 91, // 118: nakama.api.TournamentList.tournaments:type_name -> nakama.api.Tournament + 57, // 119: nakama.api.TournamentRecordList.records:type_name -> nakama.api.LeaderboardRecord + 57, // 120: nakama.api.TournamentRecordList.owner_records:type_name -> nakama.api.LeaderboardRecord + 134, // 121: nakama.api.UpdateAccountRequest.username:type_name -> google.protobuf.StringValue + 134, // 122: nakama.api.UpdateAccountRequest.display_name:type_name -> google.protobuf.StringValue + 134, // 123: nakama.api.UpdateAccountRequest.avatar_url:type_name -> google.protobuf.StringValue + 134, // 124: nakama.api.UpdateAccountRequest.lang_tag:type_name -> google.protobuf.StringValue + 134, // 125: nakama.api.UpdateAccountRequest.location:type_name -> google.protobuf.StringValue + 134, // 126: nakama.api.UpdateAccountRequest.timezone:type_name -> google.protobuf.StringValue + 134, // 127: nakama.api.UpdateGroupRequest.name:type_name -> google.protobuf.StringValue + 134, // 128: nakama.api.UpdateGroupRequest.description:type_name -> google.protobuf.StringValue + 134, // 129: nakama.api.UpdateGroupRequest.lang_tag:type_name -> google.protobuf.StringValue + 134, // 130: nakama.api.UpdateGroupRequest.avatar_url:type_name -> google.protobuf.StringValue + 132, // 131: nakama.api.UpdateGroupRequest.open:type_name -> google.protobuf.BoolValue + 131, // 132: nakama.api.User.create_time:type_name -> google.protobuf.Timestamp + 131, // 133: nakama.api.User.update_time:type_name -> google.protobuf.Timestamp + 128, // 134: nakama.api.UserGroupList.user_groups:type_name -> nakama.api.UserGroupList.UserGroup + 96, // 135: nakama.api.Users.users:type_name -> nakama.api.User + 132, // 136: nakama.api.ValidatePurchaseAppleRequest.persist:type_name -> google.protobuf.BoolValue + 132, // 137: nakama.api.ValidateSubscriptionAppleRequest.persist:type_name -> google.protobuf.BoolValue + 132, // 138: nakama.api.ValidatePurchaseGoogleRequest.persist:type_name -> google.protobuf.BoolValue + 132, // 139: nakama.api.ValidateSubscriptionGoogleRequest.persist:type_name -> google.protobuf.BoolValue + 132, // 140: nakama.api.ValidatePurchaseHuaweiRequest.persist:type_name -> google.protobuf.BoolValue + 132, // 141: nakama.api.ValidatePurchaseFacebookInstantRequest.persist:type_name -> google.protobuf.BoolValue + 0, // 142: nakama.api.ValidatedPurchase.store:type_name -> nakama.api.StoreProvider + 131, // 143: nakama.api.ValidatedPurchase.purchase_time:type_name -> google.protobuf.Timestamp + 131, // 144: nakama.api.ValidatedPurchase.create_time:type_name -> google.protobuf.Timestamp + 131, // 145: nakama.api.ValidatedPurchase.update_time:type_name -> google.protobuf.Timestamp + 131, // 146: nakama.api.ValidatedPurchase.refund_time:type_name -> google.protobuf.Timestamp + 1, // 147: nakama.api.ValidatedPurchase.environment:type_name -> nakama.api.StoreEnvironment + 105, // 148: nakama.api.ValidatePurchaseResponse.validated_purchases:type_name -> nakama.api.ValidatedPurchase + 108, // 149: nakama.api.ValidateSubscriptionResponse.validated_subscription:type_name -> nakama.api.ValidatedSubscription + 0, // 150: nakama.api.ValidatedSubscription.store:type_name -> nakama.api.StoreProvider + 131, // 151: nakama.api.ValidatedSubscription.purchase_time:type_name -> google.protobuf.Timestamp + 131, // 152: nakama.api.ValidatedSubscription.create_time:type_name -> google.protobuf.Timestamp + 131, // 153: nakama.api.ValidatedSubscription.update_time:type_name -> google.protobuf.Timestamp + 1, // 154: nakama.api.ValidatedSubscription.environment:type_name -> nakama.api.StoreEnvironment + 131, // 155: nakama.api.ValidatedSubscription.expiry_time:type_name -> google.protobuf.Timestamp + 131, // 156: nakama.api.ValidatedSubscription.refund_time:type_name -> google.protobuf.Timestamp + 105, // 157: nakama.api.PurchaseList.validated_purchases:type_name -> nakama.api.ValidatedPurchase + 108, // 158: nakama.api.SubscriptionList.validated_subscriptions:type_name -> nakama.api.ValidatedSubscription + 129, // 159: nakama.api.WriteLeaderboardRecordRequest.record:type_name -> nakama.api.WriteLeaderboardRecordRequest.LeaderboardRecordWrite + 133, // 160: nakama.api.WriteStorageObject.permission_read:type_name -> google.protobuf.Int32Value + 133, // 161: nakama.api.WriteStorageObject.permission_write:type_name -> google.protobuf.Int32Value + 112, // 162: nakama.api.WriteStorageObjectsRequest.objects:type_name -> nakama.api.WriteStorageObject + 130, // 163: nakama.api.WriteTournamentRecordRequest.record:type_name -> nakama.api.WriteTournamentRecordRequest.TournamentRecordWrite + 96, // 164: nakama.api.GroupUserList.GroupUser.user:type_name -> nakama.api.User + 133, // 165: nakama.api.GroupUserList.GroupUser.state:type_name -> google.protobuf.Int32Value + 47, // 166: nakama.api.UserGroupList.UserGroup.group:type_name -> nakama.api.Group + 133, // 167: nakama.api.UserGroupList.UserGroup.state:type_name -> google.protobuf.Int32Value + 2, // 168: nakama.api.WriteLeaderboardRecordRequest.LeaderboardRecordWrite.operator:type_name -> nakama.api.Operator + 2, // 169: nakama.api.WriteTournamentRecordRequest.TournamentRecordWrite.operator:type_name -> nakama.api.Operator + 170, // [170:170] is the sub-list for method output_type + 170, // [170:170] is the sub-list for method input_type + 170, // [170:170] is the sub-list for extension type_name + 170, // [170:170] is the sub-list for extension extendee + 0, // [0:170] is the sub-list for field type_name +} + +func init() { file_api_proto_init() } +func file_api_proto_init() { + if File_api_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Account); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountRefresh); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountApple); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountCustom); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountDevice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountEmail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountFacebook); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountFacebookInstantGame); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountGameCenter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountGoogle); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountSteam); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddFriendsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddGroupUsersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SessionRefreshRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SessionLogoutRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthenticateAppleRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthenticateCustomRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthenticateDeviceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthenticateEmailRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthenticateFacebookRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthenticateFacebookInstantGameRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthenticateGameCenterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthenticateGoogleRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthenticateSteamRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BanGroupUsersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BlockFriendsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChannelMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChannelMessageList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateGroupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteFriendsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteGroupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteLeaderboardRecordRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteNotificationsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteTournamentRecordRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteStorageObjectId); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteStorageObjectsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Event); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Friend); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FriendList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUsersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSubscriptionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Group); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GroupList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GroupUserList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportFacebookFriendsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportSteamFriendsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JoinGroupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JoinTournamentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KickGroupUsersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Leaderboard); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LeaderboardList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LeaderboardRecord); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LeaderboardRecordList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LeaveGroupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LinkFacebookRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LinkSteamRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListChannelMessagesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFriendsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListGroupsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListGroupUsersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListLeaderboardRecordsAroundOwnerRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListLeaderboardRecordsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListMatchesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNotificationsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListStorageObjectsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListSubscriptionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTournamentRecordsAroundOwnerRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTournamentRecordsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTournamentsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListUserGroupsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Match); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Notification); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotificationList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PromoteGroupUsersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DemoteGroupUsersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadStorageObjectId); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadStorageObjectsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Rpc); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Session); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageObjectAck); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageObjectAcks); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageObjects); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageObjectList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Tournament); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TournamentList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TournamentRecordList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateAccountRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateGroupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*User); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserGroupList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Users); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValidatePurchaseAppleRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValidateSubscriptionAppleRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValidatePurchaseGoogleRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValidateSubscriptionGoogleRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValidatePurchaseHuaweiRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValidatePurchaseFacebookInstantRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValidatedPurchase); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValidatePurchaseResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValidateSubscriptionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValidatedSubscription); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurchaseList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscriptionList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteLeaderboardRecordRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteStorageObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteStorageObjectsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteTournamentRecordRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GroupUserList_GroupUser); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserGroupList_UserGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteLeaderboardRecordRequest_LeaderboardRecordWrite); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteTournamentRecordRequest_TournamentRecordWrite); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_api_proto_rawDesc, + NumEnums: 6, + NumMessages: 125, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_api_proto_goTypes, + DependencyIndexes: file_api_proto_depIdxs, + EnumInfos: file_api_proto_enumTypes, + MessageInfos: file_api_proto_msgTypes, + }.Build() + File_api_proto = out.File + file_api_proto_rawDesc = nil + file_api_proto_goTypes = nil + file_api_proto_depIdxs = nil +} diff --git a/server/vendor/github.com/heroiclabs/nakama-common/api/api.proto b/server/vendor/github.com/heroiclabs/nakama-common/api/api.proto new file mode 100755 index 0000000..776bb50 --- /dev/null +++ b/server/vendor/github.com/heroiclabs/nakama-common/api/api.proto @@ -0,0 +1,1383 @@ +// Copyright 2019 The Nakama Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * The Nakama server RPC protocol for games and apps. + */ +syntax = "proto3"; + +package nakama.api; + +import "google/protobuf/timestamp.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "github.com/heroiclabs/nakama-common/api"; + +option java_multiple_files = true; +option java_outer_classname = "NakamaApi"; +option java_package = "com.heroiclabs.nakama.api"; + +option csharp_namespace = "Nakama.Protobuf"; + +// A user with additional account details. Always the current user. +message Account { + // The user object. + User user = 1; + // The user's wallet data. + string wallet = 2; + // The email address of the user. + string email = 3; + // The devices which belong to the user's account. + repeated AccountDevice devices = 4; + // The custom id in the user's account. + string custom_id = 5; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the user's email was verified. + google.protobuf.Timestamp verify_time = 6; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the user's account was disabled/banned. + google.protobuf.Timestamp disable_time = 7; +} + +// Obtain a new authentication token using a refresh token. +message AccountRefresh { + // Refresh token. + string token = 1; + // Extra information that will be bundled in the session token. + map vars = 2; +} + +// Send a Apple Sign In token to the server. Used with authenticate/link/unlink. +message AccountApple { + // The ID token received from Apple to validate. + string token = 1; + // Extra information that will be bundled in the session token. + map vars = 2; +} + +// Send a custom ID to the server. Used with authenticate/link/unlink. +message AccountCustom { + // A custom identifier. + string id = 1; + // Extra information that will be bundled in the session token. + map vars = 2; +} + +// Send a device to the server. Used with authenticate/link/unlink and user. +message AccountDevice { + // A device identifier. Should be obtained by a platform-specific device API. + string id = 1; + // Extra information that will be bundled in the session token. + map vars = 2; +} + +// Send an email with password to the server. Used with authenticate/link/unlink. +message AccountEmail { + // A valid RFC-5322 email address. + string email = 1; + // A password for the user account. + string password = 2; // Ignored with unlink operations. + // Extra information that will be bundled in the session token. + map vars = 3; +} + +// Send a Facebook token to the server. Used with authenticate/link/unlink. +message AccountFacebook { + // The OAuth token received from Facebook to access their profile API. + string token = 1; + // Extra information that will be bundled in the session token. + map vars = 2; +} + +// Send a Facebook Instant Game token to the server. Used with authenticate/link/unlink. +message AccountFacebookInstantGame { + // The OAuth token received from a Facebook Instant Game that may be decoded with the Application Secret (must be available with the nakama configuration) + string signed_player_info = 1; + // Extra information that will be bundled in the session token. + map vars = 2; +} + +// Send Apple's Game Center account credentials to the server. Used with authenticate/link/unlink. +message AccountGameCenter { + // https://developer.apple.com/documentation/gamekit/gklocalplayer/1515407-generateidentityverificationsign + + // Player ID (generated by GameCenter). + string player_id = 1; + // Bundle ID (generated by GameCenter). + string bundle_id = 2; + // Time since UNIX epoch when the signature was created. + int64 timestamp_seconds = 3; + // A random "NSString" used to compute the hash and keep it randomized. + string salt = 4; + // The verification signature data generated. + string signature = 5; + // The URL for the public encryption key. + string public_key_url = 6; + // Extra information that will be bundled in the session token. + map vars = 7; +} + +// Send a Google token to the server. Used with authenticate/link/unlink. +message AccountGoogle { + // The OAuth token received from Google to access their profile API. + string token = 1; + // Extra information that will be bundled in the session token. + map vars = 2; +} + +// Send a Steam token to the server. Used with authenticate/link/unlink. +message AccountSteam { + // The account token received from Steam to access their profile API. + string token = 1; + // Extra information that will be bundled in the session token. + map vars = 2; +} + +// Add one or more friends to the current user. +message AddFriendsRequest { + // The account id of a user. + repeated string ids = 1; + // The account username of a user. + repeated string usernames = 2; +} + +// Add users to a group. +message AddGroupUsersRequest { + // The group to add users to. + string group_id = 1; + // The users to add. + repeated string user_ids = 2; +} + +// Authenticate against the server with a refresh token. +message SessionRefreshRequest { + // Refresh token. + string token = 1; + // Extra information that will be bundled in the session token. + map vars = 2; +} + +// Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user. +message SessionLogoutRequest { + // Session token to log out. + string token = 1; + // Refresh token to invalidate. + string refresh_token = 2; +} + +// Authenticate against the server with Apple Sign In. +message AuthenticateAppleRequest { + // The Apple account details. + AccountApple account = 1; + // Register the account if the user does not already exist. + google.protobuf.BoolValue create = 2; + // Set the username on the account at register. Must be unique. + string username = 3; +} + +// Authenticate against the server with a custom ID. +message AuthenticateCustomRequest { + // The custom account details. + AccountCustom account = 1; + // Register the account if the user does not already exist. + google.protobuf.BoolValue create = 2; + // Set the username on the account at register. Must be unique. + string username = 3; +} + +// Authenticate against the server with a device ID. +message AuthenticateDeviceRequest { + // The device account details. + AccountDevice account = 1; + // Register the account if the user does not already exist. + google.protobuf.BoolValue create = 2; + // Set the username on the account at register. Must be unique. + string username = 3; +} + +// Authenticate against the server with email+password. +message AuthenticateEmailRequest { + // The email account details. + AccountEmail account = 1; + // Register the account if the user does not already exist. + google.protobuf.BoolValue create = 2; + // Set the username on the account at register. Must be unique. + string username = 3; +} + +// Authenticate against the server with Facebook. +message AuthenticateFacebookRequest { + // The Facebook account details. + AccountFacebook account = 1; + // Register the account if the user does not already exist. + google.protobuf.BoolValue create = 2; + // Set the username on the account at register. Must be unique. + string username = 3; + // Import Facebook friends for the user. + google.protobuf.BoolValue sync = 4; +} + +// Authenticate against the server with Facebook Instant Game token. +message AuthenticateFacebookInstantGameRequest { + // The Facebook Instant Game account details. + AccountFacebookInstantGame account = 1; + // Register the account if the user does not already exist. + google.protobuf.BoolValue create = 2; + // Set the username on the account at register. Must be unique. + string username = 3; +} + +// Authenticate against the server with Apple's Game Center. +message AuthenticateGameCenterRequest { + // The Game Center account details. + AccountGameCenter account = 1; + // Register the account if the user does not already exist. + google.protobuf.BoolValue create = 2; + // Set the username on the account at register. Must be unique. + string username = 3; +} + +// Authenticate against the server with Google. +message AuthenticateGoogleRequest { + // The Google account details. + AccountGoogle account = 1; + // Register the account if the user does not already exist. + google.protobuf.BoolValue create = 2; + // Set the username on the account at register. Must be unique. + string username = 3; +} + +// Authenticate against the server with Steam. +message AuthenticateSteamRequest { + // The Steam account details. + AccountSteam account = 1; + // Register the account if the user does not already exist. + google.protobuf.BoolValue create = 2; + // Set the username on the account at register. Must be unique. + string username = 3; + // Import Steam friends for the user. + google.protobuf.BoolValue sync = 4; +} + +// Ban users from a group. +message BanGroupUsersRequest { + // The group to ban users from. + string group_id = 1; + // The users to ban. + repeated string user_ids = 2; +} + +// Block one or more friends for the current user. +message BlockFriendsRequest { + // The account id of a user. + repeated string ids = 1; + // The account username of a user. + repeated string usernames = 2; +} + +// A message sent on a channel. +message ChannelMessage { + // The channel this message belongs to. + string channel_id = 1; + // The unique ID of this message. + string message_id = 2; + // The code representing a message type or category. + google.protobuf.Int32Value code = 3; + // Message sender, usually a user ID. + string sender_id = 4; + // The username of the message sender, if any. + string username = 5; + // The content payload. + string content = 6; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the message was created. + google.protobuf.Timestamp create_time = 7; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the message was last updated. + google.protobuf.Timestamp update_time = 8; + // True if the message was persisted to the channel's history, false otherwise. + google.protobuf.BoolValue persistent = 9; + // The name of the chat room, or an empty string if this message was not sent through a chat room. + string room_name = 10; + // The ID of the group, or an empty string if this message was not sent through a group channel. + string group_id = 11; + // The ID of the first DM user, or an empty string if this message was not sent through a DM chat. + string user_id_one = 12; + // The ID of the second DM user, or an empty string if this message was not sent through a DM chat. + string user_id_two = 13; +} + +// A list of channel messages, usually a result of a list operation. +message ChannelMessageList { + // A list of messages. + repeated ChannelMessage messages = 1; + // The cursor to send when retrieving the next page, if any. + string next_cursor = 2; + // The cursor to send when retrieving the previous page, if any. + string prev_cursor = 3; + // Cacheable cursor to list newer messages. Durable and designed to be stored, unlike next/prev cursors. + string cacheable_cursor = 4; +} + +// Create a group with the current user as owner. +message CreateGroupRequest { + // A unique name for the group. + string name = 1; + // A description for the group. + string description = 2; + // The language expected to be a tag which follows the BCP-47 spec. + string lang_tag = 3; + // A URL for an avatar image. + string avatar_url = 4; + // Mark a group as open or not where only admins can accept members. + bool open = 5; + // Maximum number of group members. + int32 max_count = 6; +} + +// Delete one or more friends for the current user. +message DeleteFriendsRequest { + // The account id of a user. + repeated string ids = 1; + // The account username of a user. + repeated string usernames = 2; +} + +// Delete a group the user has access to. +message DeleteGroupRequest { + // The id of a group. + string group_id = 1; +} + +// Delete a leaderboard record. +message DeleteLeaderboardRecordRequest { + // The leaderboard ID to delete from. + string leaderboard_id = 1; +} + +// Delete one or more notifications for the current user. +message DeleteNotificationsRequest { + // The id of notifications. + repeated string ids = 1; +} + +// Delete a leaderboard record. +message DeleteTournamentRecordRequest { + // The tournament ID to delete from. + string tournament_id = 1; +} + +// Storage objects to delete. +message DeleteStorageObjectId { + // The collection which stores the object. + string collection = 1; + // The key of the object within the collection. + string key = 2; + // The version hash of the object. + string version = 3; +} + +// Batch delete storage objects. +message DeleteStorageObjectsRequest { + // Batch of storage objects. + repeated DeleteStorageObjectId object_ids = 1; +} + +// Represents an event to be passed through the server to registered event handlers. +message Event { + // An event name, type, category, or identifier. + string name = 1; + // Arbitrary event property values. + map properties = 2; + // The time when the event was triggered. + google.protobuf.Timestamp timestamp = 3; + // True if the event came directly from a client call, false otherwise. + bool external = 4; +} + +// A friend of a user. +message Friend { + // The friendship status. + enum State { + // The user is a friend of the current user. + FRIEND = 0; + // The current user has sent an invite to the user. + INVITE_SENT = 1; + // The current user has received an invite from this user. + INVITE_RECEIVED = 2; + // The current user has blocked this user. + BLOCKED = 3; + } + + // The user object. + User user = 1; + // The friend status. + google.protobuf.Int32Value state = 2; // one of "Friend.State". + // Time of the latest relationship update. + google.protobuf.Timestamp update_time = 3; +} + +// A collection of zero or more friends of the user. +message FriendList { + // The Friend objects. + repeated Friend friends = 1; + // Cursor for the next page of results, if any. + string cursor = 2; +} + +// Fetch a batch of zero or more users from the server. +message GetUsersRequest { + // The account id of a user. + repeated string ids = 1; + // The account username of a user. + repeated string usernames = 2; + // The Facebook ID of a user. + repeated string facebook_ids = 3; +} + +// Fetch a subscription by product id. +message GetSubscriptionRequest { + // Product id of the subscription + string product_id = 1; +} + +// A group in the server. +message Group { + // The id of a group. + string id = 1; + // The id of the user who created the group. + string creator_id = 2; + // The unique name of the group. + string name = 3; + // A description for the group. + string description = 4; + // The language expected to be a tag which follows the BCP-47 spec. + string lang_tag = 5; + // Additional information stored as a JSON object. + string metadata = 6; + // A URL for an avatar image. + string avatar_url = 7; + // Anyone can join open groups, otherwise only admins can accept members. + google.protobuf.BoolValue open = 8; + // The current count of all members in the group. + int32 edge_count = 9; + // The maximum number of members allowed. + int32 max_count = 10; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the group was created. + google.protobuf.Timestamp create_time = 11; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the group was last updated. + google.protobuf.Timestamp update_time = 12; +} + +// One or more groups returned from a listing operation. +message GroupList { + // One or more groups. + repeated Group groups = 1; + // A cursor used to get the next page. + string cursor = 2; +} + +// A list of users belonging to a group, along with their role. +message GroupUserList { + // A single user-role pair. + message GroupUser { + // The group role status. + enum State { + // The user is a superadmin with full control of the group. + SUPERADMIN = 0; + // The user is an admin with additional privileges. + ADMIN = 1; + // The user is a regular member. + MEMBER = 2; + // The user has requested to join the group + JOIN_REQUEST = 3; + } + + // User. + User user = 1; + // Their relationship to the group. + google.protobuf.Int32Value state = 2; + } + + // User-role pairs for a group. + repeated GroupUser group_users = 1; + // Cursor for the next page of results, if any. + string cursor = 2; +} + +// Import Facebook friends into the current user's account. +message ImportFacebookFriendsRequest { + // The Facebook account details. + AccountFacebook account = 1; + // Reset the current user's friends list. + google.protobuf.BoolValue reset = 2; +} + +// Import Facebook friends into the current user's account. +message ImportSteamFriendsRequest { + // The Facebook account details. + AccountSteam account = 1; + // Reset the current user's friends list. + google.protobuf.BoolValue reset = 2; +} + +// Immediately join an open group, or request to join a closed one. +message JoinGroupRequest { + // The group ID to join. The group must already exist. + string group_id = 1; +} + +// The request to join a tournament. +message JoinTournamentRequest { + // The ID of the tournament to join. The tournament must already exist. + string tournament_id = 1; +} + +// Kick a set of users from a group. +message KickGroupUsersRequest { + // The group ID to kick from. + string group_id = 1; + // The users to kick. + repeated string user_ids = 2; +} + +// A leaderboard on the server. +message Leaderboard { + // The ID of the leaderboard. + string id = 1; + // ASC(0) or DESC(1) sort mode of scores in the leaderboard. + uint32 sort_order = 2; + // BEST, SET, INCREMENT or DECREMENT operator mode of the leaderboard. + Operator operator = 3; + // The UNIX time when the leaderboard was previously reset. A computed value. + uint32 prev_reset = 4; + // The UNIX time when the leaderboard is next playable. A computed value. + uint32 next_reset = 5; + // Additional information stored as a JSON object. + string metadata = 6; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the leaderboard was created. + google.protobuf.Timestamp create_time = 7; + // Whether the leaderboard was created authoritatively or not. + bool authoritative = 8; +} + +// A list of leaderboards +message LeaderboardList { + // The list of leaderboards returned. + repeated Leaderboard leaderboards = 1; + // A pagination cursor (optional). + string cursor = 2; +} + +// Represents a complete leaderboard record with all scores and associated metadata. +message LeaderboardRecord { + // The ID of the leaderboard this score belongs to. + string leaderboard_id = 1; + // The ID of the score owner, usually a user or group. + string owner_id = 2; + // The username of the score owner, if the owner is a user. + google.protobuf.StringValue username = 3; + // The score value. + int64 score = 4; + // An optional subscore value. + int64 subscore = 5; + // The number of submissions to this score record. + int32 num_score = 6; + // Metadata. + string metadata = 7; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the leaderboard record was created. + google.protobuf.Timestamp create_time = 8; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the leaderboard record was updated. + google.protobuf.Timestamp update_time = 9; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the leaderboard record expires. + google.protobuf.Timestamp expiry_time = 10; + // The rank of this record. + int64 rank = 11; + // The maximum number of score updates allowed by the owner. + uint32 max_num_score = 12; +} + +// A set of leaderboard records, may be part of a leaderboard records page or a batch of individual records. +message LeaderboardRecordList { + // A list of leaderboard records. + repeated LeaderboardRecord records = 1; + // A batched set of leaderboard records belonging to specified owners. + repeated LeaderboardRecord owner_records = 2; + // The cursor to send when retrieving the next page, if any. + string next_cursor = 3; + // The cursor to send when retrieving the previous page, if any. + string prev_cursor = 4; + // The total number of ranks available. + int64 rank_count = 5; +} + +// Leave a group. +message LeaveGroupRequest { + // The group ID to leave. + string group_id = 1; +} + +// Link Facebook to the current user's account. +message LinkFacebookRequest { + // The Facebook account details. + AccountFacebook account = 1; + // Import Facebook friends for the user. + google.protobuf.BoolValue sync = 2; +} + +// Link Steam to the current user's account. +message LinkSteamRequest { + // The Facebook account details. + AccountSteam account = 1; + // Import Steam friends for the user. + google.protobuf.BoolValue sync = 2; +} + +// List a channel's message history. +message ListChannelMessagesRequest { + // The channel ID to list from. + string channel_id = 1; + // Max number of records to return. Between 1 and 100. + google.protobuf.Int32Value limit = 2; + // True if listing should be older messages to newer, false if reverse. + google.protobuf.BoolValue forward = 3; + // A pagination cursor, if any. + string cursor = 4; +} + +// List friends for a user. +message ListFriendsRequest { + // Max number of records to return. Between 1 and 100. + google.protobuf.Int32Value limit = 1; + // The friend state to list. + google.protobuf.Int32Value state = 2; + // An optional next page cursor. + string cursor = 3; +} + +// List groups based on given filters. +message ListGroupsRequest { + // List groups that contain this value in their names. + string name = 1; + // Optional pagination cursor. + string cursor = 2; + // Max number of groups to return. Between 1 and 100. + google.protobuf.Int32Value limit = 3; + // Language tag filter + string lang_tag = 4; + // Number of group members + google.protobuf.Int32Value members = 5; + // Optional Open/Closed filter. + google.protobuf.BoolValue open = 6; +} + +// List all users that are part of a group. +message ListGroupUsersRequest { + // The group ID to list from. + string group_id = 1; + // Max number of records to return. Between 1 and 100. + google.protobuf.Int32Value limit = 2; + // The group user state to list. + google.protobuf.Int32Value state = 3; + // An optional next page cursor. + string cursor = 4; +} + +// List leaerboard records from a given leaderboard around the owner. +message ListLeaderboardRecordsAroundOwnerRequest { + // The ID of the tournament to list for. + string leaderboard_id = 1; + // Max number of records to return. Between 1 and 100. + google.protobuf.UInt32Value limit = 2; + // The owner to retrieve records around. + string owner_id = 3; + // Expiry in seconds (since epoch) to begin fetching records from. + google.protobuf.Int64Value expiry = 4; + // A next or previous page cursor. + string cursor = 5; +} + +// List leaderboard records from a given leaderboard. +message ListLeaderboardRecordsRequest { + // The ID of the leaderboard to list for. + string leaderboard_id = 1; + // One or more owners to retrieve records for. + repeated string owner_ids = 2; + // Max number of records to return. Between 1 and 100. + google.protobuf.Int32Value limit = 3; + // A next or previous page cursor. + string cursor = 4; + // Expiry in seconds (since epoch) to begin fetching records from. Optional. 0 means from current time. + google.protobuf.Int64Value expiry = 5; +} + +// List realtime matches. +message ListMatchesRequest { + // Limit the number of returned matches. + google.protobuf.Int32Value limit = 1; + // Authoritative or relayed matches. + google.protobuf.BoolValue authoritative = 2; + // Label filter. + google.protobuf.StringValue label = 3; + // Minimum user count. + google.protobuf.Int32Value min_size = 4; + // Maximum user count. + google.protobuf.Int32Value max_size = 5; + // Arbitrary label query. + google.protobuf.StringValue query = 6; +} + +// Get a list of unexpired notifications. +message ListNotificationsRequest { + // The number of notifications to get. Between 1 and 100. + google.protobuf.Int32Value limit = 1; + // A cursor to page through notifications. May be cached by clients to get from point in time forwards. + string cacheable_cursor = 2; // value from NotificationList.cacheable_cursor. +} + +// List publicly readable storage objects in a given collection. +message ListStorageObjectsRequest { + // ID of the user. + string user_id = 1; + // The collection which stores the object. + string collection = 2; + // The number of storage objects to list. Between 1 and 100. + google.protobuf.Int32Value limit = 3; + // The cursor to page through results from. + string cursor = 4; // value from StorageObjectList.cursor. +} + +// List user subscriptions. +message ListSubscriptionsRequest { + // Max number of results per page + google.protobuf.Int32Value limit = 1; + // Cursor to retrieve a page of records from + string cursor = 2; +} + +// List tournament records from a given tournament around the owner. +message ListTournamentRecordsAroundOwnerRequest { + // The ID of the tournament to list for. + string tournament_id = 1; + // Max number of records to return. Between 1 and 100. + google.protobuf.UInt32Value limit = 2; + // The owner to retrieve records around. + string owner_id = 3; + // Expiry in seconds (since epoch) to begin fetching records from. + google.protobuf.Int64Value expiry = 4; + // A next or previous page cursor. + string cursor = 5; +} + +// List tournament records from a given tournament. +message ListTournamentRecordsRequest { + // The ID of the tournament to list for. + string tournament_id = 1; + // One or more owners to retrieve records for. + repeated string owner_ids = 2; + // Max number of records to return. Between 1 and 100. + google.protobuf.Int32Value limit = 3; + // A next or previous page cursor. + string cursor = 4; + // Expiry in seconds (since epoch) to begin fetching records from. + google.protobuf.Int64Value expiry = 5; +} + +// List active/upcoming tournaments based on given filters. +message ListTournamentsRequest { + // The start of the categories to include. Defaults to 0. + google.protobuf.UInt32Value category_start = 1; + // The end of the categories to include. Defaults to 128. + google.protobuf.UInt32Value category_end = 2; + // The start time for tournaments. Defaults to epoch. + google.protobuf.UInt32Value start_time = 3; + // The end time for tournaments. Defaults to +1 year from current Unix time. + google.protobuf.UInt32Value end_time = 4; + // Max number of records to return. Between 1 and 100. + google.protobuf.Int32Value limit = 6; + // A next page cursor for listings (optional). + string cursor = 8; +} + +// List the groups a user is part of, and their relationship to each. +message ListUserGroupsRequest { + // ID of the user. + string user_id = 1; + // Max number of records to return. Between 1 and 100. + google.protobuf.Int32Value limit = 2; + // The user group state to list. + google.protobuf.Int32Value state = 3; + // An optional next page cursor. + string cursor = 4; +} + +// Represents a realtime match. +message Match { + // The ID of the match, can be used to join. + string match_id = 1; + // True if it's an server-managed authoritative match, false otherwise. + bool authoritative = 2; + // Match label, if any. + google.protobuf.StringValue label = 3; + // Current number of users in the match. + int32 size = 4; + // Tick Rate + int32 tick_rate = 5; + // Handler name + string handler_name = 6; +} + +// A list of realtime matches. +message MatchList { + // A number of matches corresponding to a list operation. + repeated Match matches = 1; +} + +// A notification in the server. +message Notification { + // ID of the Notification. + string id = 1; + // Subject of the notification. + string subject = 2; + // Content of the notification in JSON. + string content = 3; + // Category code for this notification. + int32 code = 4; + // ID of the sender, if a user. Otherwise 'null'. + string sender_id = 5; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the notification was created. + google.protobuf.Timestamp create_time = 6; + // True if this notification was persisted to the database. + bool persistent = 7; +} + +// A collection of zero or more notifications. +message NotificationList { + // Collection of notifications. + repeated Notification notifications = 1; + // Use this cursor to paginate notifications. Cache this to catch up to new notifications. + string cacheable_cursor = 2; +} + +// Promote a set of users in a group to the next role up. +message PromoteGroupUsersRequest { + // The group ID to promote in. + string group_id = 1; + // The users to promote. + repeated string user_ids = 2; +} + +// Demote a set of users in a group to the next role down. +message DemoteGroupUsersRequest { + // The group ID to demote in. + string group_id = 1; + // The users to demote. + repeated string user_ids = 2; +} + +// Storage objects to get. +message ReadStorageObjectId { + // The collection which stores the object. + string collection = 1; + // The key of the object within the collection. + string key = 2; + // The user owner of the object. + string user_id = 3; +} + +// Batch get storage objects. +message ReadStorageObjectsRequest { + // Batch of storage objects. + repeated ReadStorageObjectId object_ids = 1; +} + +// Execute an Lua function on the server. +message Rpc { + // The identifier of the function. + string id = 1; + // The payload of the function which must be a JSON object. + string payload = 2; + // The authentication key used when executed as a non-client HTTP request. + string http_key = 3; +} + +// A user's session used to authenticate messages. +message Session { + // True if the corresponding account was just created, false otherwise. + bool created = 1; + // Authentication credentials. + string token = 2; + // Refresh token that can be used for session token renewal. + string refresh_token = 3; +} + +// An object within the storage engine. +message StorageObject { + // The collection which stores the object. + string collection = 1; + // The key of the object within the collection. + string key = 2; + // The user owner of the object. + string user_id = 3; + // The value of the object. + string value = 4; + // The version hash of the object. + string version = 5; + // The read access permissions for the object. + int32 permission_read = 6; + // The write access permissions for the object. + int32 permission_write = 7; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the object was created. + google.protobuf.Timestamp create_time = 8; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the object was last updated. + google.protobuf.Timestamp update_time = 9; +} + +// A storage acknowledgement. +message StorageObjectAck { + // The collection which stores the object. + string collection = 1; + // The key of the object within the collection. + string key = 2; + // The version hash of the object. + string version = 3; + // The owner of the object. + string user_id = 4; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the object was created. + google.protobuf.Timestamp create_time = 5; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the object was last updated. + google.protobuf.Timestamp update_time = 6; +} + +// Batch of acknowledgements for the storage object write. +message StorageObjectAcks { + // Batch of storage write acknowledgements. + repeated StorageObjectAck acks = 1; +} + +// Batch of storage objects. +message StorageObjects { + // The batch of storage objects. + repeated StorageObject objects = 1; +} + +// List of storage objects. +message StorageObjectList { + // The list of storage objects. + repeated StorageObject objects = 1; + // The cursor for the next page of results, if any. + string cursor = 2; +} + +// A tournament on the server. +message Tournament { + // The ID of the tournament. + string id = 1; + // The title for the tournament. + string title = 2; + // The description of the tournament. May be blank. + string description = 3; + // The category of the tournament. e.g. "vip" could be category 1. + uint32 category = 4; + // ASC (0) or DESC (1) sort mode of scores in the tournament. + uint32 sort_order = 5; + // The current number of players in the tournament. + uint32 size = 6; + // The maximum number of players for the tournament. + uint32 max_size = 7; + // The maximum score updates allowed per player for the current tournament. + uint32 max_num_score = 8; + // True if the tournament is active and can enter. A computed value. + bool can_enter = 9; + // The UNIX time when the tournament stops being active until next reset. A computed value. + uint32 end_active = 10; + // The UNIX time when the tournament is next playable. A computed value. + uint32 next_reset = 11; + // Additional information stored as a JSON object. + string metadata = 12; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the tournament was created. + google.protobuf.Timestamp create_time = 13; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the tournament will start. + google.protobuf.Timestamp start_time = 14; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the tournament will be stopped. + google.protobuf.Timestamp end_time = 15; + // Duration of the tournament in seconds. + uint32 duration = 16; + // The UNIX time when the tournament start being active. A computed value. + uint32 start_active = 17; + // The UNIX time when the tournament was last reset. A computed value. + uint32 prev_reset = 18; + // Operator. + Operator operator = 19; + // Whether the leaderboard was created authoritatively or not. + bool authoritative = 20; +} + +// A list of tournaments. +message TournamentList { + // The list of tournaments returned. + repeated Tournament tournaments = 1; + // A pagination cursor (optional). + string cursor = 2; +} + +// A set of tournament records which may be part of a tournament records page or a batch of individual records. +message TournamentRecordList { + // A list of tournament records. + repeated LeaderboardRecord records = 1; + // A batched set of tournament records belonging to specified owners. + repeated LeaderboardRecord owner_records = 2; + // The cursor to send when retireving the next page (optional). + string next_cursor = 3; + // The cursor to send when retrieving the previous page (optional). + string prev_cursor = 4; + // The total number of ranks available. + int64 rank_count = 5; +} + +// Update a user's account details. +message UpdateAccountRequest { + // The username of the user's account. + google.protobuf.StringValue username = 1; + // The display name of the user. + google.protobuf.StringValue display_name = 2; + // A URL for an avatar image. + google.protobuf.StringValue avatar_url = 3; + // The language expected to be a tag which follows the BCP-47 spec. + google.protobuf.StringValue lang_tag = 4; + // The location set by the user. + google.protobuf.StringValue location = 5; + // The timezone set by the user. + google.protobuf.StringValue timezone = 6; +} + +// Update fields in a given group. +message UpdateGroupRequest { + // The ID of the group to update. + string group_id = 1; + // Name. + google.protobuf.StringValue name = 2; + // Description string. + google.protobuf.StringValue description = 3; + // Lang tag. + google.protobuf.StringValue lang_tag = 4; + // Avatar URL. + google.protobuf.StringValue avatar_url = 5; + // Open is true if anyone should be allowed to join, or false if joins must be approved by a group admin. + google.protobuf.BoolValue open = 6; +} + +// A user in the server. +message User { + // The id of the user's account. + string id = 1; + // The username of the user's account. + string username = 2; + // The display name of the user. + string display_name = 3; + // A URL for an avatar image. + string avatar_url = 4; + // The language expected to be a tag which follows the BCP-47 spec. + string lang_tag = 5; + // The location set by the user. + string location = 6; + // The timezone set by the user. + string timezone = 7; + // Additional information stored as a JSON object. + string metadata = 8; + // The Facebook id in the user's account. + string facebook_id = 9; + // The Google id in the user's account. + string google_id = 10; + // The Apple Game Center in of the user's account. + string gamecenter_id = 11; + // The Steam id in the user's account. + string steam_id = 12; + // Indicates whether the user is currently online. + bool online = 13; + // Number of related edges to this user. + int32 edge_count = 14; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the user was created. + google.protobuf.Timestamp create_time = 15; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the user was last updated. + google.protobuf.Timestamp update_time = 16; + // The Facebook Instant Game ID in the user's account. + string facebook_instant_game_id = 17; + // The Apple Sign In ID in the user's account. + string apple_id = 18; +} + +// A list of groups belonging to a user, along with the user's role in each group. +message UserGroupList { + // A single group-role pair. + message UserGroup { + // The group role status. + enum State { + // The user is a superadmin with full control of the group. + SUPERADMIN = 0; + // The user is an admin with additional privileges. + ADMIN = 1; + // The user is a regular member. + MEMBER = 2; + // The user has requested to join the group + JOIN_REQUEST = 3; + } + + // Group. + Group group = 1; + // The user's relationship to the group. + google.protobuf.Int32Value state = 2; + } + + // Group-role pairs for a user. + repeated UserGroup user_groups = 1; + // Cursor for the next page of results, if any. + string cursor = 2; +} + +// A collection of zero or more users. +message Users { + // The User objects. + repeated User users = 1; +} + +// Apple IAP Purchases validation request +message ValidatePurchaseAppleRequest { + // Base64 encoded Apple receipt data payload. + string receipt = 1; + // Persist the purchase + google.protobuf.BoolValue persist = 2; +} + +// Apple Subscription validation request +message ValidateSubscriptionAppleRequest { + // Base64 encoded Apple receipt data payload. + string receipt = 1; + // Persist the subscription. + google.protobuf.BoolValue persist = 2; +} + +// Google IAP Purchase validation request +message ValidatePurchaseGoogleRequest { + // JSON encoded Google purchase payload. + string purchase = 1; + // Persist the purchase + google.protobuf.BoolValue persist = 2; +} + +// Google Subscription validation request +message ValidateSubscriptionGoogleRequest { + // JSON encoded Google purchase payload. + string receipt = 1; + // Persist the subscription. + google.protobuf.BoolValue persist = 2; +} + +// Huawei IAP Purchase validation request +message ValidatePurchaseHuaweiRequest { + // JSON encoded Huawei InAppPurchaseData. + string purchase = 1; + // InAppPurchaseData signature. + string signature = 2; + // Persist the purchase + google.protobuf.BoolValue persist = 3; +} + +// Facebook Instant IAP Purchase validation request +message ValidatePurchaseFacebookInstantRequest { + // Base64 encoded Facebook Instant signedRequest receipt data payload. + string signed_request = 1; + // Persist the purchase + google.protobuf.BoolValue persist = 2; +} + +// Validated Purchase stored by Nakama. +message ValidatedPurchase { + // Purchase User ID. + string user_id = 1; + // Purchase Product ID. + string product_id = 2; + // Purchase Transaction ID. + string transaction_id = 3; + // Store identifier + StoreProvider store = 4; + // Timestamp when the purchase was done. + google.protobuf.Timestamp purchase_time = 5; + // Timestamp when the receipt validation was stored in DB. + google.protobuf.Timestamp create_time = 6; + // Timestamp when the receipt validation was updated in DB. + google.protobuf.Timestamp update_time = 7; + // Timestamp when the purchase was refunded. Set to UNIX + google.protobuf.Timestamp refund_time = 8; + // Raw provider validation response. + string provider_response = 9; + // Whether the purchase was done in production or sandbox environment. + StoreEnvironment environment = 10; + // Whether the purchase had already been validated by Nakama before. + bool seen_before = 11; +} + +// Validate IAP response. +message ValidatePurchaseResponse { + // Newly seen validated purchases. + repeated ValidatedPurchase validated_purchases = 1; +} + +// Validate Subscription response. +message ValidateSubscriptionResponse { + ValidatedSubscription validated_subscription = 1; +} + +// Validation Provider, +enum StoreProvider { + // Apple App Store + APPLE_APP_STORE = 0; + // Google Play Store + GOOGLE_PLAY_STORE = 1; + // Huawei App Gallery + HUAWEI_APP_GALLERY = 2; + // Facebook Instant Store + FACEBOOK_INSTANT_STORE = 3; +} + +// Environment where a purchase/subscription took place, +enum StoreEnvironment { + // Unknown environment. + UNKNOWN = 0; + // Sandbox/test environment. + SANDBOX = 1; + // Production environment. + PRODUCTION = 2; +} + +message ValidatedSubscription { + // Subscription User ID. + string user_id = 1; + // Purchase Product ID. + string product_id = 2; + // Purchase Original transaction ID (we only keep track of the original subscription, not subsequent renewals). + string original_transaction_id = 3; + // Store identifier + StoreProvider store = 4; + // UNIX Timestamp when the purchase was done. + google.protobuf.Timestamp purchase_time = 5; + // UNIX Timestamp when the receipt validation was stored in DB. + google.protobuf.Timestamp create_time = 6; + // UNIX Timestamp when the receipt validation was updated in DB. + google.protobuf.Timestamp update_time = 7; + // Whether the purchase was done in production or sandbox environment. + StoreEnvironment environment = 8; + // Subscription expiration time. The subscription can still be auto-renewed to extend the expiration time further. + google.protobuf.Timestamp expiry_time = 9; + // Subscription refund time. If this time is set, the subscription was refunded. + google.protobuf.Timestamp refund_time = 10; + // Raw provider validation response body. + string provider_response = 11; + // Raw provider notification body. + string provider_notification = 12; + // Whether the subscription is currently active or not. + bool active = 13; +} + +// A list of validated purchases stored by Nakama. +message PurchaseList { + // Stored validated purchases. + repeated ValidatedPurchase validated_purchases = 1; + // The cursor to send when retrieving the next page, if any. + string cursor = 2; + // The cursor to send when retrieving the previous page, if any. + string prev_cursor = 3; +} + +// A list of validated subscriptions stored by Nakama. +message SubscriptionList { + // Stored validated subscriptions. + repeated ValidatedSubscription validated_subscriptions = 1; + // The cursor to send when retrieving the next page, if any. + string cursor = 2; + // The cursor to send when retrieving the previous page, if any. + string prev_cursor = 3; +} + +// A request to submit a score to a leaderboard. +message WriteLeaderboardRecordRequest { + // Record values to write. + message LeaderboardRecordWrite { + // The score value to submit. + int64 score = 1; + // An optional secondary value. + int64 subscore = 2; + // Optional record metadata. + string metadata = 3; + // Operator override. + Operator operator = 4; + } + + // The ID of the leaderboard to write to. + string leaderboard_id = 1; + // Record input. + LeaderboardRecordWrite record = 2; +} + +// The object to store. +message WriteStorageObject { + // The collection to store the object. + string collection = 1; + // The key for the object within the collection. + string key = 2; + // The value of the object. + string value = 3; + // The version hash of the object to check. Possible values are: ["", "*", "#hash#"]. + string version = 4; // if-match and if-none-match + // The read access permissions for the object. + google.protobuf.Int32Value permission_read = 5; + // The write access permissions for the object. + google.protobuf.Int32Value permission_write = 6; +} + +// Write objects to the storage engine. +message WriteStorageObjectsRequest { + // The objects to store on the server. + repeated WriteStorageObject objects = 1; +} + +// A request to submit a score to a tournament. +message WriteTournamentRecordRequest { + // Record values to write. + message TournamentRecordWrite { + // The score value to submit. + int64 score = 1; + // An optional secondary value. + int64 subscore = 2; + // A JSON object of additional properties (optional). + string metadata = 3; + // Operator override. + Operator operator = 4; + } + + // The tournament ID to write the record for. + string tournament_id = 1; + // Record input. + TournamentRecordWrite record = 2; +} + +// Operator that can be used to override the one set in the leaderboard. +enum Operator { + // Do not override the leaderboard operator. + NO_OVERRIDE = 0; + // Override the leaderboard operator with BEST. + BEST = 1; + // Override the leaderboard operator with SET. + SET = 2; + // Override the leaderboard operator with INCREMENT. + INCREMENT = 3; + // Override the leaderboard operator with DECREMENT. + DECREMENT = 4; +} diff --git a/server/vendor/github.com/heroiclabs/nakama-common/api/build.go b/server/vendor/github.com/heroiclabs/nakama-common/api/build.go new file mode 100755 index 0000000..698d0ef --- /dev/null +++ b/server/vendor/github.com/heroiclabs/nakama-common/api/build.go @@ -0,0 +1,17 @@ +// Copyright 2020 The Nakama Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package api + +//go:generate protoc -I. --go_out=. --go_opt=paths=source_relative api.proto diff --git a/server/vendor/github.com/heroiclabs/nakama-common/rtapi/build.go b/server/vendor/github.com/heroiclabs/nakama-common/rtapi/build.go new file mode 100755 index 0000000..5bcf7ee --- /dev/null +++ b/server/vendor/github.com/heroiclabs/nakama-common/rtapi/build.go @@ -0,0 +1,17 @@ +// Copyright 2020 The Nakama Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package rtapi + +//go:generate protoc -I.. -I. --go_out=. --go_opt=paths=source_relative realtime.proto diff --git a/server/vendor/github.com/heroiclabs/nakama-common/rtapi/realtime.pb.go b/server/vendor/github.com/heroiclabs/nakama-common/rtapi/realtime.pb.go new file mode 100755 index 0000000..bb4bc72 --- /dev/null +++ b/server/vendor/github.com/heroiclabs/nakama-common/rtapi/realtime.pb.go @@ -0,0 +1,5959 @@ +// Copyright 2019 The Nakama Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//* +// The realtime protocol for Nakama server. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.4 +// source: realtime.proto + +package rtapi + +import ( + api "github.com/heroiclabs/nakama-common/api" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The type of chat channel. +type ChannelJoin_Type int32 + +const ( + // Default case. Assumed as ROOM type. + ChannelJoin_TYPE_UNSPECIFIED ChannelJoin_Type = 0 + // A room which anyone can join to chat. + ChannelJoin_ROOM ChannelJoin_Type = 1 + // A private channel for 1-on-1 chat. + ChannelJoin_DIRECT_MESSAGE ChannelJoin_Type = 2 + // A channel for group chat. + ChannelJoin_GROUP ChannelJoin_Type = 3 +) + +// Enum value maps for ChannelJoin_Type. +var ( + ChannelJoin_Type_name = map[int32]string{ + 0: "TYPE_UNSPECIFIED", + 1: "ROOM", + 2: "DIRECT_MESSAGE", + 3: "GROUP", + } + ChannelJoin_Type_value = map[string]int32{ + "TYPE_UNSPECIFIED": 0, + "ROOM": 1, + "DIRECT_MESSAGE": 2, + "GROUP": 3, + } +) + +func (x ChannelJoin_Type) Enum() *ChannelJoin_Type { + p := new(ChannelJoin_Type) + *p = x + return p +} + +func (x ChannelJoin_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ChannelJoin_Type) Descriptor() protoreflect.EnumDescriptor { + return file_realtime_proto_enumTypes[0].Descriptor() +} + +func (ChannelJoin_Type) Type() protoreflect.EnumType { + return &file_realtime_proto_enumTypes[0] +} + +func (x ChannelJoin_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ChannelJoin_Type.Descriptor instead. +func (ChannelJoin_Type) EnumDescriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{2, 0} +} + +// The selection of possible error codes. +type Error_Code int32 + +const ( + // An unexpected result from the server. + Error_RUNTIME_EXCEPTION Error_Code = 0 + // The server received a message which is not recognised. + Error_UNRECOGNIZED_PAYLOAD Error_Code = 1 + // A message was expected but contains no content. + Error_MISSING_PAYLOAD Error_Code = 2 + // Fields in the message have an invalid format. + Error_BAD_INPUT Error_Code = 3 + // The match id was not found. + Error_MATCH_NOT_FOUND Error_Code = 4 + // The match join was rejected. + Error_MATCH_JOIN_REJECTED Error_Code = 5 + // The runtime function does not exist on the server. + Error_RUNTIME_FUNCTION_NOT_FOUND Error_Code = 6 + // The runtime function executed with an error. + Error_RUNTIME_FUNCTION_EXCEPTION Error_Code = 7 +) + +// Enum value maps for Error_Code. +var ( + Error_Code_name = map[int32]string{ + 0: "RUNTIME_EXCEPTION", + 1: "UNRECOGNIZED_PAYLOAD", + 2: "MISSING_PAYLOAD", + 3: "BAD_INPUT", + 4: "MATCH_NOT_FOUND", + 5: "MATCH_JOIN_REJECTED", + 6: "RUNTIME_FUNCTION_NOT_FOUND", + 7: "RUNTIME_FUNCTION_EXCEPTION", + } + Error_Code_value = map[string]int32{ + "RUNTIME_EXCEPTION": 0, + "UNRECOGNIZED_PAYLOAD": 1, + "MISSING_PAYLOAD": 2, + "BAD_INPUT": 3, + "MATCH_NOT_FOUND": 4, + "MATCH_JOIN_REJECTED": 5, + "RUNTIME_FUNCTION_NOT_FOUND": 6, + "RUNTIME_FUNCTION_EXCEPTION": 7, + } +) + +func (x Error_Code) Enum() *Error_Code { + p := new(Error_Code) + *p = x + return p +} + +func (x Error_Code) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Error_Code) Descriptor() protoreflect.EnumDescriptor { + return file_realtime_proto_enumTypes[1].Descriptor() +} + +func (Error_Code) Type() protoreflect.EnumType { + return &file_realtime_proto_enumTypes[1] +} + +func (x Error_Code) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Error_Code.Descriptor instead. +func (Error_Code) EnumDescriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{9, 0} +} + +// An envelope for a realtime message. +type Envelope struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Cid string `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"` + // Types that are assignable to Message: + // + // *Envelope_Channel + // *Envelope_ChannelJoin + // *Envelope_ChannelLeave + // *Envelope_ChannelMessage + // *Envelope_ChannelMessageAck + // *Envelope_ChannelMessageSend + // *Envelope_ChannelMessageUpdate + // *Envelope_ChannelMessageRemove + // *Envelope_ChannelPresenceEvent + // *Envelope_Error + // *Envelope_Match + // *Envelope_MatchCreate + // *Envelope_MatchData + // *Envelope_MatchDataSend + // *Envelope_MatchJoin + // *Envelope_MatchLeave + // *Envelope_MatchPresenceEvent + // *Envelope_MatchmakerAdd + // *Envelope_MatchmakerMatched + // *Envelope_MatchmakerRemove + // *Envelope_MatchmakerTicket + // *Envelope_Notifications + // *Envelope_Rpc + // *Envelope_Status + // *Envelope_StatusFollow + // *Envelope_StatusPresenceEvent + // *Envelope_StatusUnfollow + // *Envelope_StatusUpdate + // *Envelope_StreamData + // *Envelope_StreamPresenceEvent + // *Envelope_Ping + // *Envelope_Pong + // *Envelope_Party + // *Envelope_PartyCreate + // *Envelope_PartyJoin + // *Envelope_PartyLeave + // *Envelope_PartyPromote + // *Envelope_PartyLeader + // *Envelope_PartyAccept + // *Envelope_PartyRemove + // *Envelope_PartyClose + // *Envelope_PartyJoinRequestList + // *Envelope_PartyJoinRequest + // *Envelope_PartyMatchmakerAdd + // *Envelope_PartyMatchmakerRemove + // *Envelope_PartyMatchmakerTicket + // *Envelope_PartyData + // *Envelope_PartyDataSend + // *Envelope_PartyPresenceEvent + Message isEnvelope_Message `protobuf_oneof:"message"` +} + +func (x *Envelope) Reset() { + *x = Envelope{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Envelope) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Envelope) ProtoMessage() {} + +func (x *Envelope) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Envelope.ProtoReflect.Descriptor instead. +func (*Envelope) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{0} +} + +func (x *Envelope) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +func (m *Envelope) GetMessage() isEnvelope_Message { + if m != nil { + return m.Message + } + return nil +} + +func (x *Envelope) GetChannel() *Channel { + if x, ok := x.GetMessage().(*Envelope_Channel); ok { + return x.Channel + } + return nil +} + +func (x *Envelope) GetChannelJoin() *ChannelJoin { + if x, ok := x.GetMessage().(*Envelope_ChannelJoin); ok { + return x.ChannelJoin + } + return nil +} + +func (x *Envelope) GetChannelLeave() *ChannelLeave { + if x, ok := x.GetMessage().(*Envelope_ChannelLeave); ok { + return x.ChannelLeave + } + return nil +} + +func (x *Envelope) GetChannelMessage() *api.ChannelMessage { + if x, ok := x.GetMessage().(*Envelope_ChannelMessage); ok { + return x.ChannelMessage + } + return nil +} + +func (x *Envelope) GetChannelMessageAck() *ChannelMessageAck { + if x, ok := x.GetMessage().(*Envelope_ChannelMessageAck); ok { + return x.ChannelMessageAck + } + return nil +} + +func (x *Envelope) GetChannelMessageSend() *ChannelMessageSend { + if x, ok := x.GetMessage().(*Envelope_ChannelMessageSend); ok { + return x.ChannelMessageSend + } + return nil +} + +func (x *Envelope) GetChannelMessageUpdate() *ChannelMessageUpdate { + if x, ok := x.GetMessage().(*Envelope_ChannelMessageUpdate); ok { + return x.ChannelMessageUpdate + } + return nil +} + +func (x *Envelope) GetChannelMessageRemove() *ChannelMessageRemove { + if x, ok := x.GetMessage().(*Envelope_ChannelMessageRemove); ok { + return x.ChannelMessageRemove + } + return nil +} + +func (x *Envelope) GetChannelPresenceEvent() *ChannelPresenceEvent { + if x, ok := x.GetMessage().(*Envelope_ChannelPresenceEvent); ok { + return x.ChannelPresenceEvent + } + return nil +} + +func (x *Envelope) GetError() *Error { + if x, ok := x.GetMessage().(*Envelope_Error); ok { + return x.Error + } + return nil +} + +func (x *Envelope) GetMatch() *Match { + if x, ok := x.GetMessage().(*Envelope_Match); ok { + return x.Match + } + return nil +} + +func (x *Envelope) GetMatchCreate() *MatchCreate { + if x, ok := x.GetMessage().(*Envelope_MatchCreate); ok { + return x.MatchCreate + } + return nil +} + +func (x *Envelope) GetMatchData() *MatchData { + if x, ok := x.GetMessage().(*Envelope_MatchData); ok { + return x.MatchData + } + return nil +} + +func (x *Envelope) GetMatchDataSend() *MatchDataSend { + if x, ok := x.GetMessage().(*Envelope_MatchDataSend); ok { + return x.MatchDataSend + } + return nil +} + +func (x *Envelope) GetMatchJoin() *MatchJoin { + if x, ok := x.GetMessage().(*Envelope_MatchJoin); ok { + return x.MatchJoin + } + return nil +} + +func (x *Envelope) GetMatchLeave() *MatchLeave { + if x, ok := x.GetMessage().(*Envelope_MatchLeave); ok { + return x.MatchLeave + } + return nil +} + +func (x *Envelope) GetMatchPresenceEvent() *MatchPresenceEvent { + if x, ok := x.GetMessage().(*Envelope_MatchPresenceEvent); ok { + return x.MatchPresenceEvent + } + return nil +} + +func (x *Envelope) GetMatchmakerAdd() *MatchmakerAdd { + if x, ok := x.GetMessage().(*Envelope_MatchmakerAdd); ok { + return x.MatchmakerAdd + } + return nil +} + +func (x *Envelope) GetMatchmakerMatched() *MatchmakerMatched { + if x, ok := x.GetMessage().(*Envelope_MatchmakerMatched); ok { + return x.MatchmakerMatched + } + return nil +} + +func (x *Envelope) GetMatchmakerRemove() *MatchmakerRemove { + if x, ok := x.GetMessage().(*Envelope_MatchmakerRemove); ok { + return x.MatchmakerRemove + } + return nil +} + +func (x *Envelope) GetMatchmakerTicket() *MatchmakerTicket { + if x, ok := x.GetMessage().(*Envelope_MatchmakerTicket); ok { + return x.MatchmakerTicket + } + return nil +} + +func (x *Envelope) GetNotifications() *Notifications { + if x, ok := x.GetMessage().(*Envelope_Notifications); ok { + return x.Notifications + } + return nil +} + +func (x *Envelope) GetRpc() *api.Rpc { + if x, ok := x.GetMessage().(*Envelope_Rpc); ok { + return x.Rpc + } + return nil +} + +func (x *Envelope) GetStatus() *Status { + if x, ok := x.GetMessage().(*Envelope_Status); ok { + return x.Status + } + return nil +} + +func (x *Envelope) GetStatusFollow() *StatusFollow { + if x, ok := x.GetMessage().(*Envelope_StatusFollow); ok { + return x.StatusFollow + } + return nil +} + +func (x *Envelope) GetStatusPresenceEvent() *StatusPresenceEvent { + if x, ok := x.GetMessage().(*Envelope_StatusPresenceEvent); ok { + return x.StatusPresenceEvent + } + return nil +} + +func (x *Envelope) GetStatusUnfollow() *StatusUnfollow { + if x, ok := x.GetMessage().(*Envelope_StatusUnfollow); ok { + return x.StatusUnfollow + } + return nil +} + +func (x *Envelope) GetStatusUpdate() *StatusUpdate { + if x, ok := x.GetMessage().(*Envelope_StatusUpdate); ok { + return x.StatusUpdate + } + return nil +} + +func (x *Envelope) GetStreamData() *StreamData { + if x, ok := x.GetMessage().(*Envelope_StreamData); ok { + return x.StreamData + } + return nil +} + +func (x *Envelope) GetStreamPresenceEvent() *StreamPresenceEvent { + if x, ok := x.GetMessage().(*Envelope_StreamPresenceEvent); ok { + return x.StreamPresenceEvent + } + return nil +} + +func (x *Envelope) GetPing() *Ping { + if x, ok := x.GetMessage().(*Envelope_Ping); ok { + return x.Ping + } + return nil +} + +func (x *Envelope) GetPong() *Pong { + if x, ok := x.GetMessage().(*Envelope_Pong); ok { + return x.Pong + } + return nil +} + +func (x *Envelope) GetParty() *Party { + if x, ok := x.GetMessage().(*Envelope_Party); ok { + return x.Party + } + return nil +} + +func (x *Envelope) GetPartyCreate() *PartyCreate { + if x, ok := x.GetMessage().(*Envelope_PartyCreate); ok { + return x.PartyCreate + } + return nil +} + +func (x *Envelope) GetPartyJoin() *PartyJoin { + if x, ok := x.GetMessage().(*Envelope_PartyJoin); ok { + return x.PartyJoin + } + return nil +} + +func (x *Envelope) GetPartyLeave() *PartyLeave { + if x, ok := x.GetMessage().(*Envelope_PartyLeave); ok { + return x.PartyLeave + } + return nil +} + +func (x *Envelope) GetPartyPromote() *PartyPromote { + if x, ok := x.GetMessage().(*Envelope_PartyPromote); ok { + return x.PartyPromote + } + return nil +} + +func (x *Envelope) GetPartyLeader() *PartyLeader { + if x, ok := x.GetMessage().(*Envelope_PartyLeader); ok { + return x.PartyLeader + } + return nil +} + +func (x *Envelope) GetPartyAccept() *PartyAccept { + if x, ok := x.GetMessage().(*Envelope_PartyAccept); ok { + return x.PartyAccept + } + return nil +} + +func (x *Envelope) GetPartyRemove() *PartyRemove { + if x, ok := x.GetMessage().(*Envelope_PartyRemove); ok { + return x.PartyRemove + } + return nil +} + +func (x *Envelope) GetPartyClose() *PartyClose { + if x, ok := x.GetMessage().(*Envelope_PartyClose); ok { + return x.PartyClose + } + return nil +} + +func (x *Envelope) GetPartyJoinRequestList() *PartyJoinRequestList { + if x, ok := x.GetMessage().(*Envelope_PartyJoinRequestList); ok { + return x.PartyJoinRequestList + } + return nil +} + +func (x *Envelope) GetPartyJoinRequest() *PartyJoinRequest { + if x, ok := x.GetMessage().(*Envelope_PartyJoinRequest); ok { + return x.PartyJoinRequest + } + return nil +} + +func (x *Envelope) GetPartyMatchmakerAdd() *PartyMatchmakerAdd { + if x, ok := x.GetMessage().(*Envelope_PartyMatchmakerAdd); ok { + return x.PartyMatchmakerAdd + } + return nil +} + +func (x *Envelope) GetPartyMatchmakerRemove() *PartyMatchmakerRemove { + if x, ok := x.GetMessage().(*Envelope_PartyMatchmakerRemove); ok { + return x.PartyMatchmakerRemove + } + return nil +} + +func (x *Envelope) GetPartyMatchmakerTicket() *PartyMatchmakerTicket { + if x, ok := x.GetMessage().(*Envelope_PartyMatchmakerTicket); ok { + return x.PartyMatchmakerTicket + } + return nil +} + +func (x *Envelope) GetPartyData() *PartyData { + if x, ok := x.GetMessage().(*Envelope_PartyData); ok { + return x.PartyData + } + return nil +} + +func (x *Envelope) GetPartyDataSend() *PartyDataSend { + if x, ok := x.GetMessage().(*Envelope_PartyDataSend); ok { + return x.PartyDataSend + } + return nil +} + +func (x *Envelope) GetPartyPresenceEvent() *PartyPresenceEvent { + if x, ok := x.GetMessage().(*Envelope_PartyPresenceEvent); ok { + return x.PartyPresenceEvent + } + return nil +} + +type isEnvelope_Message interface { + isEnvelope_Message() +} + +type Envelope_Channel struct { + // A response from a channel join operation. + Channel *Channel `protobuf:"bytes,2,opt,name=channel,proto3,oneof"` +} + +type Envelope_ChannelJoin struct { + // Join a realtime chat channel. + ChannelJoin *ChannelJoin `protobuf:"bytes,3,opt,name=channel_join,json=channelJoin,proto3,oneof"` +} + +type Envelope_ChannelLeave struct { + // Leave a realtime chat channel. + ChannelLeave *ChannelLeave `protobuf:"bytes,4,opt,name=channel_leave,json=channelLeave,proto3,oneof"` +} + +type Envelope_ChannelMessage struct { + // An incoming message on a realtime chat channel. + ChannelMessage *api.ChannelMessage `protobuf:"bytes,5,opt,name=channel_message,json=channelMessage,proto3,oneof"` +} + +type Envelope_ChannelMessageAck struct { + // An acknowledgement received in response to sending a message on a chat channel. + ChannelMessageAck *ChannelMessageAck `protobuf:"bytes,6,opt,name=channel_message_ack,json=channelMessageAck,proto3,oneof"` +} + +type Envelope_ChannelMessageSend struct { + // Send a message to a realtime chat channel. + ChannelMessageSend *ChannelMessageSend `protobuf:"bytes,7,opt,name=channel_message_send,json=channelMessageSend,proto3,oneof"` +} + +type Envelope_ChannelMessageUpdate struct { + // Update a message previously sent to a realtime chat channel. + ChannelMessageUpdate *ChannelMessageUpdate `protobuf:"bytes,8,opt,name=channel_message_update,json=channelMessageUpdate,proto3,oneof"` +} + +type Envelope_ChannelMessageRemove struct { + // Remove a message previously sent to a realtime chat channel. + ChannelMessageRemove *ChannelMessageRemove `protobuf:"bytes,9,opt,name=channel_message_remove,json=channelMessageRemove,proto3,oneof"` +} + +type Envelope_ChannelPresenceEvent struct { + // Presence update for a particular realtime chat channel. + ChannelPresenceEvent *ChannelPresenceEvent `protobuf:"bytes,10,opt,name=channel_presence_event,json=channelPresenceEvent,proto3,oneof"` +} + +type Envelope_Error struct { + // Describes an error which occurred on the server. + Error *Error `protobuf:"bytes,11,opt,name=error,proto3,oneof"` +} + +type Envelope_Match struct { + // Incoming information about a realtime match. + Match *Match `protobuf:"bytes,12,opt,name=match,proto3,oneof"` +} + +type Envelope_MatchCreate struct { + // A client to server request to create a realtime match. + MatchCreate *MatchCreate `protobuf:"bytes,13,opt,name=match_create,json=matchCreate,proto3,oneof"` +} + +type Envelope_MatchData struct { + // Incoming realtime match data delivered from the server. + MatchData *MatchData `protobuf:"bytes,14,opt,name=match_data,json=matchData,proto3,oneof"` +} + +type Envelope_MatchDataSend struct { + // A client to server request to send data to a realtime match. + MatchDataSend *MatchDataSend `protobuf:"bytes,15,opt,name=match_data_send,json=matchDataSend,proto3,oneof"` +} + +type Envelope_MatchJoin struct { + // A client to server request to join a realtime match. + MatchJoin *MatchJoin `protobuf:"bytes,16,opt,name=match_join,json=matchJoin,proto3,oneof"` +} + +type Envelope_MatchLeave struct { + // A client to server request to leave a realtime match. + MatchLeave *MatchLeave `protobuf:"bytes,17,opt,name=match_leave,json=matchLeave,proto3,oneof"` +} + +type Envelope_MatchPresenceEvent struct { + // Presence update for a particular realtime match. + MatchPresenceEvent *MatchPresenceEvent `protobuf:"bytes,18,opt,name=match_presence_event,json=matchPresenceEvent,proto3,oneof"` +} + +type Envelope_MatchmakerAdd struct { + // Submit a new matchmaking process request. + MatchmakerAdd *MatchmakerAdd `protobuf:"bytes,19,opt,name=matchmaker_add,json=matchmakerAdd,proto3,oneof"` +} + +type Envelope_MatchmakerMatched struct { + // A successful matchmaking result. + MatchmakerMatched *MatchmakerMatched `protobuf:"bytes,20,opt,name=matchmaker_matched,json=matchmakerMatched,proto3,oneof"` +} + +type Envelope_MatchmakerRemove struct { + // Cancel a matchmaking process using a ticket. + MatchmakerRemove *MatchmakerRemove `protobuf:"bytes,21,opt,name=matchmaker_remove,json=matchmakerRemove,proto3,oneof"` +} + +type Envelope_MatchmakerTicket struct { + // A response from starting a new matchmaking process. + MatchmakerTicket *MatchmakerTicket `protobuf:"bytes,22,opt,name=matchmaker_ticket,json=matchmakerTicket,proto3,oneof"` +} + +type Envelope_Notifications struct { + // Notifications send by the server. + Notifications *Notifications `protobuf:"bytes,23,opt,name=notifications,proto3,oneof"` +} + +type Envelope_Rpc struct { + // RPC call or response. + Rpc *api.Rpc `protobuf:"bytes,24,opt,name=rpc,proto3,oneof"` +} + +type Envelope_Status struct { + // An incoming status snapshot for some set of users. + Status *Status `protobuf:"bytes,25,opt,name=status,proto3,oneof"` +} + +type Envelope_StatusFollow struct { + // Start following some set of users to receive their status updates. + StatusFollow *StatusFollow `protobuf:"bytes,26,opt,name=status_follow,json=statusFollow,proto3,oneof"` +} + +type Envelope_StatusPresenceEvent struct { + // An incoming status update. + StatusPresenceEvent *StatusPresenceEvent `protobuf:"bytes,27,opt,name=status_presence_event,json=statusPresenceEvent,proto3,oneof"` +} + +type Envelope_StatusUnfollow struct { + // Stop following some set of users to no longer receive their status updates. + StatusUnfollow *StatusUnfollow `protobuf:"bytes,28,opt,name=status_unfollow,json=statusUnfollow,proto3,oneof"` +} + +type Envelope_StatusUpdate struct { + // Set the user's own status. + StatusUpdate *StatusUpdate `protobuf:"bytes,29,opt,name=status_update,json=statusUpdate,proto3,oneof"` +} + +type Envelope_StreamData struct { + // A data message delivered over a stream. + StreamData *StreamData `protobuf:"bytes,30,opt,name=stream_data,json=streamData,proto3,oneof"` +} + +type Envelope_StreamPresenceEvent struct { + // Presence update for a particular stream. + StreamPresenceEvent *StreamPresenceEvent `protobuf:"bytes,31,opt,name=stream_presence_event,json=streamPresenceEvent,proto3,oneof"` +} + +type Envelope_Ping struct { + // Application-level heartbeat and connection check. + Ping *Ping `protobuf:"bytes,32,opt,name=ping,proto3,oneof"` +} + +type Envelope_Pong struct { + // Application-level heartbeat and connection check response. + Pong *Pong `protobuf:"bytes,33,opt,name=pong,proto3,oneof"` +} + +type Envelope_Party struct { + // Incoming information about a party. + Party *Party `protobuf:"bytes,34,opt,name=party,proto3,oneof"` +} + +type Envelope_PartyCreate struct { + // Create a party. + PartyCreate *PartyCreate `protobuf:"bytes,35,opt,name=party_create,json=partyCreate,proto3,oneof"` +} + +type Envelope_PartyJoin struct { + // Join a party, or request to join if the party is not open. + PartyJoin *PartyJoin `protobuf:"bytes,36,opt,name=party_join,json=partyJoin,proto3,oneof"` +} + +type Envelope_PartyLeave struct { + // Leave a party. + PartyLeave *PartyLeave `protobuf:"bytes,37,opt,name=party_leave,json=partyLeave,proto3,oneof"` +} + +type Envelope_PartyPromote struct { + // Promote a new party leader. + PartyPromote *PartyPromote `protobuf:"bytes,38,opt,name=party_promote,json=partyPromote,proto3,oneof"` +} + +type Envelope_PartyLeader struct { + // Announcement of a new party leader. + PartyLeader *PartyLeader `protobuf:"bytes,39,opt,name=party_leader,json=partyLeader,proto3,oneof"` +} + +type Envelope_PartyAccept struct { + // Accept a request to join. + PartyAccept *PartyAccept `protobuf:"bytes,40,opt,name=party_accept,json=partyAccept,proto3,oneof"` +} + +type Envelope_PartyRemove struct { + // Kick a party member, or decline a request to join. + PartyRemove *PartyRemove `protobuf:"bytes,41,opt,name=party_remove,json=partyRemove,proto3,oneof"` +} + +type Envelope_PartyClose struct { + // End a party, kicking all party members and closing it. + PartyClose *PartyClose `protobuf:"bytes,42,opt,name=party_close,json=partyClose,proto3,oneof"` +} + +type Envelope_PartyJoinRequestList struct { + // Request a list of pending join requests for a party. + PartyJoinRequestList *PartyJoinRequestList `protobuf:"bytes,43,opt,name=party_join_request_list,json=partyJoinRequestList,proto3,oneof"` +} + +type Envelope_PartyJoinRequest struct { + // Incoming notification for one or more new presences attempting to join the party. + PartyJoinRequest *PartyJoinRequest `protobuf:"bytes,44,opt,name=party_join_request,json=partyJoinRequest,proto3,oneof"` +} + +type Envelope_PartyMatchmakerAdd struct { + // Begin matchmaking as a party. + PartyMatchmakerAdd *PartyMatchmakerAdd `protobuf:"bytes,45,opt,name=party_matchmaker_add,json=partyMatchmakerAdd,proto3,oneof"` +} + +type Envelope_PartyMatchmakerRemove struct { + // Cancel a party matchmaking process using a ticket. + PartyMatchmakerRemove *PartyMatchmakerRemove `protobuf:"bytes,46,opt,name=party_matchmaker_remove,json=partyMatchmakerRemove,proto3,oneof"` +} + +type Envelope_PartyMatchmakerTicket struct { + // A response from starting a new party matchmaking process. + PartyMatchmakerTicket *PartyMatchmakerTicket `protobuf:"bytes,47,opt,name=party_matchmaker_ticket,json=partyMatchmakerTicket,proto3,oneof"` +} + +type Envelope_PartyData struct { + // Incoming party data delivered from the server. + PartyData *PartyData `protobuf:"bytes,48,opt,name=party_data,json=partyData,proto3,oneof"` +} + +type Envelope_PartyDataSend struct { + // A client to server request to send data to a party. + PartyDataSend *PartyDataSend `protobuf:"bytes,49,opt,name=party_data_send,json=partyDataSend,proto3,oneof"` +} + +type Envelope_PartyPresenceEvent struct { + // Presence update for a particular party. + PartyPresenceEvent *PartyPresenceEvent `protobuf:"bytes,50,opt,name=party_presence_event,json=partyPresenceEvent,proto3,oneof"` +} + +func (*Envelope_Channel) isEnvelope_Message() {} + +func (*Envelope_ChannelJoin) isEnvelope_Message() {} + +func (*Envelope_ChannelLeave) isEnvelope_Message() {} + +func (*Envelope_ChannelMessage) isEnvelope_Message() {} + +func (*Envelope_ChannelMessageAck) isEnvelope_Message() {} + +func (*Envelope_ChannelMessageSend) isEnvelope_Message() {} + +func (*Envelope_ChannelMessageUpdate) isEnvelope_Message() {} + +func (*Envelope_ChannelMessageRemove) isEnvelope_Message() {} + +func (*Envelope_ChannelPresenceEvent) isEnvelope_Message() {} + +func (*Envelope_Error) isEnvelope_Message() {} + +func (*Envelope_Match) isEnvelope_Message() {} + +func (*Envelope_MatchCreate) isEnvelope_Message() {} + +func (*Envelope_MatchData) isEnvelope_Message() {} + +func (*Envelope_MatchDataSend) isEnvelope_Message() {} + +func (*Envelope_MatchJoin) isEnvelope_Message() {} + +func (*Envelope_MatchLeave) isEnvelope_Message() {} + +func (*Envelope_MatchPresenceEvent) isEnvelope_Message() {} + +func (*Envelope_MatchmakerAdd) isEnvelope_Message() {} + +func (*Envelope_MatchmakerMatched) isEnvelope_Message() {} + +func (*Envelope_MatchmakerRemove) isEnvelope_Message() {} + +func (*Envelope_MatchmakerTicket) isEnvelope_Message() {} + +func (*Envelope_Notifications) isEnvelope_Message() {} + +func (*Envelope_Rpc) isEnvelope_Message() {} + +func (*Envelope_Status) isEnvelope_Message() {} + +func (*Envelope_StatusFollow) isEnvelope_Message() {} + +func (*Envelope_StatusPresenceEvent) isEnvelope_Message() {} + +func (*Envelope_StatusUnfollow) isEnvelope_Message() {} + +func (*Envelope_StatusUpdate) isEnvelope_Message() {} + +func (*Envelope_StreamData) isEnvelope_Message() {} + +func (*Envelope_StreamPresenceEvent) isEnvelope_Message() {} + +func (*Envelope_Ping) isEnvelope_Message() {} + +func (*Envelope_Pong) isEnvelope_Message() {} + +func (*Envelope_Party) isEnvelope_Message() {} + +func (*Envelope_PartyCreate) isEnvelope_Message() {} + +func (*Envelope_PartyJoin) isEnvelope_Message() {} + +func (*Envelope_PartyLeave) isEnvelope_Message() {} + +func (*Envelope_PartyPromote) isEnvelope_Message() {} + +func (*Envelope_PartyLeader) isEnvelope_Message() {} + +func (*Envelope_PartyAccept) isEnvelope_Message() {} + +func (*Envelope_PartyRemove) isEnvelope_Message() {} + +func (*Envelope_PartyClose) isEnvelope_Message() {} + +func (*Envelope_PartyJoinRequestList) isEnvelope_Message() {} + +func (*Envelope_PartyJoinRequest) isEnvelope_Message() {} + +func (*Envelope_PartyMatchmakerAdd) isEnvelope_Message() {} + +func (*Envelope_PartyMatchmakerRemove) isEnvelope_Message() {} + +func (*Envelope_PartyMatchmakerTicket) isEnvelope_Message() {} + +func (*Envelope_PartyData) isEnvelope_Message() {} + +func (*Envelope_PartyDataSend) isEnvelope_Message() {} + +func (*Envelope_PartyPresenceEvent) isEnvelope_Message() {} + +// A realtime chat channel. +type Channel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the channel. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The users currently in the channel. + Presences []*UserPresence `protobuf:"bytes,2,rep,name=presences,proto3" json:"presences,omitempty"` + // A reference to the current user's presence in the channel. + Self *UserPresence `protobuf:"bytes,3,opt,name=self,proto3" json:"self,omitempty"` + // The name of the chat room, or an empty string if this message was not sent through a chat room. + RoomName string `protobuf:"bytes,4,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"` + // The ID of the group, or an empty string if this message was not sent through a group channel. + GroupId string `protobuf:"bytes,5,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + // The ID of the first DM user, or an empty string if this message was not sent through a DM chat. + UserIdOne string `protobuf:"bytes,6,opt,name=user_id_one,json=userIdOne,proto3" json:"user_id_one,omitempty"` + // The ID of the second DM user, or an empty string if this message was not sent through a DM chat. + UserIdTwo string `protobuf:"bytes,7,opt,name=user_id_two,json=userIdTwo,proto3" json:"user_id_two,omitempty"` +} + +func (x *Channel) Reset() { + *x = Channel{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Channel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Channel) ProtoMessage() {} + +func (x *Channel) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Channel.ProtoReflect.Descriptor instead. +func (*Channel) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{1} +} + +func (x *Channel) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Channel) GetPresences() []*UserPresence { + if x != nil { + return x.Presences + } + return nil +} + +func (x *Channel) GetSelf() *UserPresence { + if x != nil { + return x.Self + } + return nil +} + +func (x *Channel) GetRoomName() string { + if x != nil { + return x.RoomName + } + return "" +} + +func (x *Channel) GetGroupId() string { + if x != nil { + return x.GroupId + } + return "" +} + +func (x *Channel) GetUserIdOne() string { + if x != nil { + return x.UserIdOne + } + return "" +} + +func (x *Channel) GetUserIdTwo() string { + if x != nil { + return x.UserIdTwo + } + return "" +} + +// Join operation for a realtime chat channel. +type ChannelJoin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The user ID to DM with, group ID to chat with, or room channel name to join. + Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` + // The type of the chat channel. + Type int32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` // one of "ChannelId.Type". + // Whether messages sent on this channel should be persistent. + Persistence *wrapperspb.BoolValue `protobuf:"bytes,3,opt,name=persistence,proto3" json:"persistence,omitempty"` + // Whether the user should appear in the channel's presence list and events. + Hidden *wrapperspb.BoolValue `protobuf:"bytes,4,opt,name=hidden,proto3" json:"hidden,omitempty"` +} + +func (x *ChannelJoin) Reset() { + *x = ChannelJoin{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChannelJoin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelJoin) ProtoMessage() {} + +func (x *ChannelJoin) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChannelJoin.ProtoReflect.Descriptor instead. +func (*ChannelJoin) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{2} +} + +func (x *ChannelJoin) GetTarget() string { + if x != nil { + return x.Target + } + return "" +} + +func (x *ChannelJoin) GetType() int32 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *ChannelJoin) GetPersistence() *wrapperspb.BoolValue { + if x != nil { + return x.Persistence + } + return nil +} + +func (x *ChannelJoin) GetHidden() *wrapperspb.BoolValue { + if x != nil { + return x.Hidden + } + return nil +} + +// Leave a realtime channel. +type ChannelLeave struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the channel to leave. + ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` +} + +func (x *ChannelLeave) Reset() { + *x = ChannelLeave{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChannelLeave) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelLeave) ProtoMessage() {} + +func (x *ChannelLeave) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChannelLeave.ProtoReflect.Descriptor instead. +func (*ChannelLeave) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{3} +} + +func (x *ChannelLeave) GetChannelId() string { + if x != nil { + return x.ChannelId + } + return "" +} + +// A receipt reply from a channel message send operation. +type ChannelMessageAck struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The channel the message was sent to. + ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + // The unique ID assigned to the message. + MessageId string `protobuf:"bytes,2,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` + // The code representing a message type or category. + Code *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` + // Username of the message sender. + Username string `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the message was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the message was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // True if the message was persisted to the channel's history, false otherwise. + Persistent *wrapperspb.BoolValue `protobuf:"bytes,7,opt,name=persistent,proto3" json:"persistent,omitempty"` + // The name of the chat room, or an empty string if this message was not sent through a chat room. + RoomName string `protobuf:"bytes,8,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"` + // The ID of the group, or an empty string if this message was not sent through a group channel. + GroupId string `protobuf:"bytes,9,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + // The ID of the first DM user, or an empty string if this message was not sent through a DM chat. + UserIdOne string `protobuf:"bytes,10,opt,name=user_id_one,json=userIdOne,proto3" json:"user_id_one,omitempty"` + // The ID of the second DM user, or an empty string if this message was not sent through a DM chat. + UserIdTwo string `protobuf:"bytes,11,opt,name=user_id_two,json=userIdTwo,proto3" json:"user_id_two,omitempty"` +} + +func (x *ChannelMessageAck) Reset() { + *x = ChannelMessageAck{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChannelMessageAck) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelMessageAck) ProtoMessage() {} + +func (x *ChannelMessageAck) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChannelMessageAck.ProtoReflect.Descriptor instead. +func (*ChannelMessageAck) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{4} +} + +func (x *ChannelMessageAck) GetChannelId() string { + if x != nil { + return x.ChannelId + } + return "" +} + +func (x *ChannelMessageAck) GetMessageId() string { + if x != nil { + return x.MessageId + } + return "" +} + +func (x *ChannelMessageAck) GetCode() *wrapperspb.Int32Value { + if x != nil { + return x.Code + } + return nil +} + +func (x *ChannelMessageAck) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *ChannelMessageAck) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ChannelMessageAck) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *ChannelMessageAck) GetPersistent() *wrapperspb.BoolValue { + if x != nil { + return x.Persistent + } + return nil +} + +func (x *ChannelMessageAck) GetRoomName() string { + if x != nil { + return x.RoomName + } + return "" +} + +func (x *ChannelMessageAck) GetGroupId() string { + if x != nil { + return x.GroupId + } + return "" +} + +func (x *ChannelMessageAck) GetUserIdOne() string { + if x != nil { + return x.UserIdOne + } + return "" +} + +func (x *ChannelMessageAck) GetUserIdTwo() string { + if x != nil { + return x.UserIdTwo + } + return "" +} + +// Send a message to a realtime channel. +type ChannelMessageSend struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The channel to sent to. + ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + // Message content. + Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` +} + +func (x *ChannelMessageSend) Reset() { + *x = ChannelMessageSend{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChannelMessageSend) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelMessageSend) ProtoMessage() {} + +func (x *ChannelMessageSend) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChannelMessageSend.ProtoReflect.Descriptor instead. +func (*ChannelMessageSend) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{5} +} + +func (x *ChannelMessageSend) GetChannelId() string { + if x != nil { + return x.ChannelId + } + return "" +} + +func (x *ChannelMessageSend) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +// Update a message previously sent to a realtime channel. +type ChannelMessageUpdate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The channel the message was sent to. + ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + // The ID assigned to the message to update. + MessageId string `protobuf:"bytes,2,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` + // New message content. + Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` +} + +func (x *ChannelMessageUpdate) Reset() { + *x = ChannelMessageUpdate{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChannelMessageUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelMessageUpdate) ProtoMessage() {} + +func (x *ChannelMessageUpdate) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChannelMessageUpdate.ProtoReflect.Descriptor instead. +func (*ChannelMessageUpdate) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{6} +} + +func (x *ChannelMessageUpdate) GetChannelId() string { + if x != nil { + return x.ChannelId + } + return "" +} + +func (x *ChannelMessageUpdate) GetMessageId() string { + if x != nil { + return x.MessageId + } + return "" +} + +func (x *ChannelMessageUpdate) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +// Remove a message previously sent to a realtime channel. +type ChannelMessageRemove struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The channel the message was sent to. + ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + // The ID assigned to the message to update. + MessageId string `protobuf:"bytes,2,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` +} + +func (x *ChannelMessageRemove) Reset() { + *x = ChannelMessageRemove{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChannelMessageRemove) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelMessageRemove) ProtoMessage() {} + +func (x *ChannelMessageRemove) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChannelMessageRemove.ProtoReflect.Descriptor instead. +func (*ChannelMessageRemove) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{7} +} + +func (x *ChannelMessageRemove) GetChannelId() string { + if x != nil { + return x.ChannelId + } + return "" +} + +func (x *ChannelMessageRemove) GetMessageId() string { + if x != nil { + return x.MessageId + } + return "" +} + +// A set of joins and leaves on a particular channel. +type ChannelPresenceEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The channel identifier this event is for. + ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + // Presences joining the channel as part of this event, if any. + Joins []*UserPresence `protobuf:"bytes,2,rep,name=joins,proto3" json:"joins,omitempty"` + // Presences leaving the channel as part of this event, if any. + Leaves []*UserPresence `protobuf:"bytes,3,rep,name=leaves,proto3" json:"leaves,omitempty"` + // The name of the chat room, or an empty string if this message was not sent through a chat room. + RoomName string `protobuf:"bytes,4,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"` + // The ID of the group, or an empty string if this message was not sent through a group channel. + GroupId string `protobuf:"bytes,5,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + // The ID of the first DM user, or an empty string if this message was not sent through a DM chat. + UserIdOne string `protobuf:"bytes,6,opt,name=user_id_one,json=userIdOne,proto3" json:"user_id_one,omitempty"` + // The ID of the second DM user, or an empty string if this message was not sent through a DM chat. + UserIdTwo string `protobuf:"bytes,7,opt,name=user_id_two,json=userIdTwo,proto3" json:"user_id_two,omitempty"` +} + +func (x *ChannelPresenceEvent) Reset() { + *x = ChannelPresenceEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChannelPresenceEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelPresenceEvent) ProtoMessage() {} + +func (x *ChannelPresenceEvent) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChannelPresenceEvent.ProtoReflect.Descriptor instead. +func (*ChannelPresenceEvent) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{8} +} + +func (x *ChannelPresenceEvent) GetChannelId() string { + if x != nil { + return x.ChannelId + } + return "" +} + +func (x *ChannelPresenceEvent) GetJoins() []*UserPresence { + if x != nil { + return x.Joins + } + return nil +} + +func (x *ChannelPresenceEvent) GetLeaves() []*UserPresence { + if x != nil { + return x.Leaves + } + return nil +} + +func (x *ChannelPresenceEvent) GetRoomName() string { + if x != nil { + return x.RoomName + } + return "" +} + +func (x *ChannelPresenceEvent) GetGroupId() string { + if x != nil { + return x.GroupId + } + return "" +} + +func (x *ChannelPresenceEvent) GetUserIdOne() string { + if x != nil { + return x.UserIdOne + } + return "" +} + +func (x *ChannelPresenceEvent) GetUserIdTwo() string { + if x != nil { + return x.UserIdTwo + } + return "" +} + +// A logical error which may occur on the server. +type Error struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The error code which should be one of "Error.Code" enums. + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + // A message in English to help developers debug the response. + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + // Additional error details which may be different for each response. + Context map[string]string `protobuf:"bytes,3,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *Error) Reset() { + *x = Error{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Error) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Error) ProtoMessage() {} + +func (x *Error) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Error.ProtoReflect.Descriptor instead. +func (*Error) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{9} +} + +func (x *Error) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *Error) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *Error) GetContext() map[string]string { + if x != nil { + return x.Context + } + return nil +} + +// A realtime match. +type Match struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The match unique ID. + MatchId string `protobuf:"bytes,1,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"` + // True if it's an server-managed authoritative match, false otherwise. + Authoritative bool `protobuf:"varint,2,opt,name=authoritative,proto3" json:"authoritative,omitempty"` + // Match label, if any. + Label *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"` + // The number of users currently in the match. + Size int32 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"` + // The users currently in the match. + Presences []*UserPresence `protobuf:"bytes,5,rep,name=presences,proto3" json:"presences,omitempty"` + // A reference to the current user's presence in the match. + Self *UserPresence `protobuf:"bytes,6,opt,name=self,proto3" json:"self,omitempty"` +} + +func (x *Match) Reset() { + *x = Match{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Match) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Match) ProtoMessage() {} + +func (x *Match) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Match.ProtoReflect.Descriptor instead. +func (*Match) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{10} +} + +func (x *Match) GetMatchId() string { + if x != nil { + return x.MatchId + } + return "" +} + +func (x *Match) GetAuthoritative() bool { + if x != nil { + return x.Authoritative + } + return false +} + +func (x *Match) GetLabel() *wrapperspb.StringValue { + if x != nil { + return x.Label + } + return nil +} + +func (x *Match) GetSize() int32 { + if x != nil { + return x.Size + } + return 0 +} + +func (x *Match) GetPresences() []*UserPresence { + if x != nil { + return x.Presences + } + return nil +} + +func (x *Match) GetSelf() *UserPresence { + if x != nil { + return x.Self + } + return nil +} + +// Create a new realtime match. +type MatchCreate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional name to use when creating the match. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *MatchCreate) Reset() { + *x = MatchCreate{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MatchCreate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MatchCreate) ProtoMessage() {} + +func (x *MatchCreate) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MatchCreate.ProtoReflect.Descriptor instead. +func (*MatchCreate) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{11} +} + +func (x *MatchCreate) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Realtime match data received from the server. +type MatchData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The match unique ID. + MatchId string `protobuf:"bytes,1,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"` + // A reference to the user presence that sent this data, if any. + Presence *UserPresence `protobuf:"bytes,2,opt,name=presence,proto3" json:"presence,omitempty"` + // Op code value. + OpCode int64 `protobuf:"varint,3,opt,name=op_code,json=opCode,proto3" json:"op_code,omitempty"` + // Data payload, if any. + Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` + // True if this data was delivered reliably, false otherwise. + Reliable bool `protobuf:"varint,5,opt,name=reliable,proto3" json:"reliable,omitempty"` +} + +func (x *MatchData) Reset() { + *x = MatchData{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MatchData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MatchData) ProtoMessage() {} + +func (x *MatchData) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MatchData.ProtoReflect.Descriptor instead. +func (*MatchData) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{12} +} + +func (x *MatchData) GetMatchId() string { + if x != nil { + return x.MatchId + } + return "" +} + +func (x *MatchData) GetPresence() *UserPresence { + if x != nil { + return x.Presence + } + return nil +} + +func (x *MatchData) GetOpCode() int64 { + if x != nil { + return x.OpCode + } + return 0 +} + +func (x *MatchData) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +func (x *MatchData) GetReliable() bool { + if x != nil { + return x.Reliable + } + return false +} + +// Send realtime match data to the server. +type MatchDataSend struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The match unique ID. + MatchId string `protobuf:"bytes,1,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"` + // Op code value. + OpCode int64 `protobuf:"varint,2,opt,name=op_code,json=opCode,proto3" json:"op_code,omitempty"` + // Data payload, if any. + Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` + // List of presences in the match to deliver to, if filtering is required. Otherwise deliver to everyone in the match. + Presences []*UserPresence `protobuf:"bytes,4,rep,name=presences,proto3" json:"presences,omitempty"` + // True if the data should be sent reliably, false otherwise. + Reliable bool `protobuf:"varint,5,opt,name=reliable,proto3" json:"reliable,omitempty"` +} + +func (x *MatchDataSend) Reset() { + *x = MatchDataSend{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MatchDataSend) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MatchDataSend) ProtoMessage() {} + +func (x *MatchDataSend) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MatchDataSend.ProtoReflect.Descriptor instead. +func (*MatchDataSend) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{13} +} + +func (x *MatchDataSend) GetMatchId() string { + if x != nil { + return x.MatchId + } + return "" +} + +func (x *MatchDataSend) GetOpCode() int64 { + if x != nil { + return x.OpCode + } + return 0 +} + +func (x *MatchDataSend) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +func (x *MatchDataSend) GetPresences() []*UserPresence { + if x != nil { + return x.Presences + } + return nil +} + +func (x *MatchDataSend) GetReliable() bool { + if x != nil { + return x.Reliable + } + return false +} + +// Join an existing realtime match. +type MatchJoin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Id: + // + // *MatchJoin_MatchId + // *MatchJoin_Token + Id isMatchJoin_Id `protobuf_oneof:"id"` + // An optional set of key-value metadata pairs to be passed to the match handler, if any. + Metadata map[string]string `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *MatchJoin) Reset() { + *x = MatchJoin{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MatchJoin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MatchJoin) ProtoMessage() {} + +func (x *MatchJoin) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MatchJoin.ProtoReflect.Descriptor instead. +func (*MatchJoin) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{14} +} + +func (m *MatchJoin) GetId() isMatchJoin_Id { + if m != nil { + return m.Id + } + return nil +} + +func (x *MatchJoin) GetMatchId() string { + if x, ok := x.GetId().(*MatchJoin_MatchId); ok { + return x.MatchId + } + return "" +} + +func (x *MatchJoin) GetToken() string { + if x, ok := x.GetId().(*MatchJoin_Token); ok { + return x.Token + } + return "" +} + +func (x *MatchJoin) GetMetadata() map[string]string { + if x != nil { + return x.Metadata + } + return nil +} + +type isMatchJoin_Id interface { + isMatchJoin_Id() +} + +type MatchJoin_MatchId struct { + // The match unique ID. + MatchId string `protobuf:"bytes,1,opt,name=match_id,json=matchId,proto3,oneof"` +} + +type MatchJoin_Token struct { + // A matchmaking result token. + Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"` +} + +func (*MatchJoin_MatchId) isMatchJoin_Id() {} + +func (*MatchJoin_Token) isMatchJoin_Id() {} + +// Leave a realtime match. +type MatchLeave struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The match unique ID. + MatchId string `protobuf:"bytes,1,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"` +} + +func (x *MatchLeave) Reset() { + *x = MatchLeave{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MatchLeave) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MatchLeave) ProtoMessage() {} + +func (x *MatchLeave) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MatchLeave.ProtoReflect.Descriptor instead. +func (*MatchLeave) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{15} +} + +func (x *MatchLeave) GetMatchId() string { + if x != nil { + return x.MatchId + } + return "" +} + +// A set of joins and leaves on a particular realtime match. +type MatchPresenceEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The match unique ID. + MatchId string `protobuf:"bytes,1,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"` + // User presences that have just joined the match. + Joins []*UserPresence `protobuf:"bytes,2,rep,name=joins,proto3" json:"joins,omitempty"` + // User presences that have just left the match. + Leaves []*UserPresence `protobuf:"bytes,3,rep,name=leaves,proto3" json:"leaves,omitempty"` +} + +func (x *MatchPresenceEvent) Reset() { + *x = MatchPresenceEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MatchPresenceEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MatchPresenceEvent) ProtoMessage() {} + +func (x *MatchPresenceEvent) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MatchPresenceEvent.ProtoReflect.Descriptor instead. +func (*MatchPresenceEvent) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{16} +} + +func (x *MatchPresenceEvent) GetMatchId() string { + if x != nil { + return x.MatchId + } + return "" +} + +func (x *MatchPresenceEvent) GetJoins() []*UserPresence { + if x != nil { + return x.Joins + } + return nil +} + +func (x *MatchPresenceEvent) GetLeaves() []*UserPresence { + if x != nil { + return x.Leaves + } + return nil +} + +// Start a new matchmaking process. +type MatchmakerAdd struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Minimum total user count to match together. + MinCount int32 `protobuf:"varint,1,opt,name=min_count,json=minCount,proto3" json:"min_count,omitempty"` + // Maximum total user count to match together. + MaxCount int32 `protobuf:"varint,2,opt,name=max_count,json=maxCount,proto3" json:"max_count,omitempty"` + // Filter query used to identify suitable users. + Query string `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` + // String properties. + StringProperties map[string]string `protobuf:"bytes,4,rep,name=string_properties,json=stringProperties,proto3" json:"string_properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Numeric properties. + NumericProperties map[string]float64 `protobuf:"bytes,5,rep,name=numeric_properties,json=numericProperties,proto3" json:"numeric_properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"` + // Optional multiple of the count that must be satisfied. + CountMultiple *wrapperspb.Int32Value `protobuf:"bytes,6,opt,name=count_multiple,json=countMultiple,proto3" json:"count_multiple,omitempty"` +} + +func (x *MatchmakerAdd) Reset() { + *x = MatchmakerAdd{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MatchmakerAdd) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MatchmakerAdd) ProtoMessage() {} + +func (x *MatchmakerAdd) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MatchmakerAdd.ProtoReflect.Descriptor instead. +func (*MatchmakerAdd) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{17} +} + +func (x *MatchmakerAdd) GetMinCount() int32 { + if x != nil { + return x.MinCount + } + return 0 +} + +func (x *MatchmakerAdd) GetMaxCount() int32 { + if x != nil { + return x.MaxCount + } + return 0 +} + +func (x *MatchmakerAdd) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +func (x *MatchmakerAdd) GetStringProperties() map[string]string { + if x != nil { + return x.StringProperties + } + return nil +} + +func (x *MatchmakerAdd) GetNumericProperties() map[string]float64 { + if x != nil { + return x.NumericProperties + } + return nil +} + +func (x *MatchmakerAdd) GetCountMultiple() *wrapperspb.Int32Value { + if x != nil { + return x.CountMultiple + } + return nil +} + +// A successful matchmaking result. +type MatchmakerMatched struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The matchmaking ticket that has completed. + Ticket string `protobuf:"bytes,1,opt,name=ticket,proto3" json:"ticket,omitempty"` + // The match token or match ID to join. + // + // Types that are assignable to Id: + // + // *MatchmakerMatched_MatchId + // *MatchmakerMatched_Token + Id isMatchmakerMatched_Id `protobuf_oneof:"id"` + // The users that have been matched together, and information about their matchmaking data. + Users []*MatchmakerMatched_MatchmakerUser `protobuf:"bytes,4,rep,name=users,proto3" json:"users,omitempty"` + // A reference to the current user and their properties. + Self *MatchmakerMatched_MatchmakerUser `protobuf:"bytes,5,opt,name=self,proto3" json:"self,omitempty"` +} + +func (x *MatchmakerMatched) Reset() { + *x = MatchmakerMatched{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MatchmakerMatched) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MatchmakerMatched) ProtoMessage() {} + +func (x *MatchmakerMatched) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MatchmakerMatched.ProtoReflect.Descriptor instead. +func (*MatchmakerMatched) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{18} +} + +func (x *MatchmakerMatched) GetTicket() string { + if x != nil { + return x.Ticket + } + return "" +} + +func (m *MatchmakerMatched) GetId() isMatchmakerMatched_Id { + if m != nil { + return m.Id + } + return nil +} + +func (x *MatchmakerMatched) GetMatchId() string { + if x, ok := x.GetId().(*MatchmakerMatched_MatchId); ok { + return x.MatchId + } + return "" +} + +func (x *MatchmakerMatched) GetToken() string { + if x, ok := x.GetId().(*MatchmakerMatched_Token); ok { + return x.Token + } + return "" +} + +func (x *MatchmakerMatched) GetUsers() []*MatchmakerMatched_MatchmakerUser { + if x != nil { + return x.Users + } + return nil +} + +func (x *MatchmakerMatched) GetSelf() *MatchmakerMatched_MatchmakerUser { + if x != nil { + return x.Self + } + return nil +} + +type isMatchmakerMatched_Id interface { + isMatchmakerMatched_Id() +} + +type MatchmakerMatched_MatchId struct { + // Match ID. + MatchId string `protobuf:"bytes,2,opt,name=match_id,json=matchId,proto3,oneof"` +} + +type MatchmakerMatched_Token struct { + // Match join token. + Token string `protobuf:"bytes,3,opt,name=token,proto3,oneof"` +} + +func (*MatchmakerMatched_MatchId) isMatchmakerMatched_Id() {} + +func (*MatchmakerMatched_Token) isMatchmakerMatched_Id() {} + +// Cancel an existing ongoing matchmaking process. +type MatchmakerRemove struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ticket to cancel. + Ticket string `protobuf:"bytes,1,opt,name=ticket,proto3" json:"ticket,omitempty"` +} + +func (x *MatchmakerRemove) Reset() { + *x = MatchmakerRemove{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MatchmakerRemove) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MatchmakerRemove) ProtoMessage() {} + +func (x *MatchmakerRemove) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MatchmakerRemove.ProtoReflect.Descriptor instead. +func (*MatchmakerRemove) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{19} +} + +func (x *MatchmakerRemove) GetTicket() string { + if x != nil { + return x.Ticket + } + return "" +} + +// A ticket representing a new matchmaking process. +type MatchmakerTicket struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ticket that can be used to cancel matchmaking. + Ticket string `protobuf:"bytes,1,opt,name=ticket,proto3" json:"ticket,omitempty"` +} + +func (x *MatchmakerTicket) Reset() { + *x = MatchmakerTicket{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MatchmakerTicket) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MatchmakerTicket) ProtoMessage() {} + +func (x *MatchmakerTicket) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MatchmakerTicket.ProtoReflect.Descriptor instead. +func (*MatchmakerTicket) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{20} +} + +func (x *MatchmakerTicket) GetTicket() string { + if x != nil { + return x.Ticket + } + return "" +} + +// A collection of zero or more notifications. +type Notifications struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Collection of notifications. + Notifications []*api.Notification `protobuf:"bytes,1,rep,name=notifications,proto3" json:"notifications,omitempty"` +} + +func (x *Notifications) Reset() { + *x = Notifications{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Notifications) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Notifications) ProtoMessage() {} + +func (x *Notifications) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Notifications.ProtoReflect.Descriptor instead. +func (*Notifications) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{21} +} + +func (x *Notifications) GetNotifications() []*api.Notification { + if x != nil { + return x.Notifications + } + return nil +} + +// Incoming information about a party. +type Party struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Unique party identifier. + PartyId string `protobuf:"bytes,1,opt,name=party_id,json=partyId,proto3" json:"party_id,omitempty"` + // Open flag. + Open bool `protobuf:"varint,2,opt,name=open,proto3" json:"open,omitempty"` + // Maximum number of party members. + MaxSize int32 `protobuf:"varint,3,opt,name=max_size,json=maxSize,proto3" json:"max_size,omitempty"` + // Self. + Self *UserPresence `protobuf:"bytes,4,opt,name=self,proto3" json:"self,omitempty"` + // Leader. + Leader *UserPresence `protobuf:"bytes,5,opt,name=leader,proto3" json:"leader,omitempty"` + // All current party members. + Presences []*UserPresence `protobuf:"bytes,6,rep,name=presences,proto3" json:"presences,omitempty"` +} + +func (x *Party) Reset() { + *x = Party{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Party) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Party) ProtoMessage() {} + +func (x *Party) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Party.ProtoReflect.Descriptor instead. +func (*Party) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{22} +} + +func (x *Party) GetPartyId() string { + if x != nil { + return x.PartyId + } + return "" +} + +func (x *Party) GetOpen() bool { + if x != nil { + return x.Open + } + return false +} + +func (x *Party) GetMaxSize() int32 { + if x != nil { + return x.MaxSize + } + return 0 +} + +func (x *Party) GetSelf() *UserPresence { + if x != nil { + return x.Self + } + return nil +} + +func (x *Party) GetLeader() *UserPresence { + if x != nil { + return x.Leader + } + return nil +} + +func (x *Party) GetPresences() []*UserPresence { + if x != nil { + return x.Presences + } + return nil +} + +// Create a party. +type PartyCreate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Whether or not the party will require join requests to be approved by the party leader. + Open bool `protobuf:"varint,1,opt,name=open,proto3" json:"open,omitempty"` + // Maximum number of party members. + MaxSize int32 `protobuf:"varint,2,opt,name=max_size,json=maxSize,proto3" json:"max_size,omitempty"` +} + +func (x *PartyCreate) Reset() { + *x = PartyCreate{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PartyCreate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartyCreate) ProtoMessage() {} + +func (x *PartyCreate) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PartyCreate.ProtoReflect.Descriptor instead. +func (*PartyCreate) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{23} +} + +func (x *PartyCreate) GetOpen() bool { + if x != nil { + return x.Open + } + return false +} + +func (x *PartyCreate) GetMaxSize() int32 { + if x != nil { + return x.MaxSize + } + return 0 +} + +// Join a party, or request to join if the party is not open. +type PartyJoin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Party ID to join. + PartyId string `protobuf:"bytes,1,opt,name=party_id,json=partyId,proto3" json:"party_id,omitempty"` +} + +func (x *PartyJoin) Reset() { + *x = PartyJoin{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PartyJoin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartyJoin) ProtoMessage() {} + +func (x *PartyJoin) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PartyJoin.ProtoReflect.Descriptor instead. +func (*PartyJoin) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{24} +} + +func (x *PartyJoin) GetPartyId() string { + if x != nil { + return x.PartyId + } + return "" +} + +// Leave a party. +type PartyLeave struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Party ID to leave. + PartyId string `protobuf:"bytes,1,opt,name=party_id,json=partyId,proto3" json:"party_id,omitempty"` +} + +func (x *PartyLeave) Reset() { + *x = PartyLeave{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PartyLeave) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartyLeave) ProtoMessage() {} + +func (x *PartyLeave) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PartyLeave.ProtoReflect.Descriptor instead. +func (*PartyLeave) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{25} +} + +func (x *PartyLeave) GetPartyId() string { + if x != nil { + return x.PartyId + } + return "" +} + +// Promote a new party leader. +type PartyPromote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Party ID to promote a new leader for. + PartyId string `protobuf:"bytes,1,opt,name=party_id,json=partyId,proto3" json:"party_id,omitempty"` + // The presence of an existing party member to promote as the new leader. + Presence *UserPresence `protobuf:"bytes,2,opt,name=presence,proto3" json:"presence,omitempty"` +} + +func (x *PartyPromote) Reset() { + *x = PartyPromote{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PartyPromote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartyPromote) ProtoMessage() {} + +func (x *PartyPromote) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PartyPromote.ProtoReflect.Descriptor instead. +func (*PartyPromote) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{26} +} + +func (x *PartyPromote) GetPartyId() string { + if x != nil { + return x.PartyId + } + return "" +} + +func (x *PartyPromote) GetPresence() *UserPresence { + if x != nil { + return x.Presence + } + return nil +} + +// Announcement of a new party leader. +type PartyLeader struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Party ID to announce the new leader for. + PartyId string `protobuf:"bytes,1,opt,name=party_id,json=partyId,proto3" json:"party_id,omitempty"` + // The presence of the new party leader. + Presence *UserPresence `protobuf:"bytes,2,opt,name=presence,proto3" json:"presence,omitempty"` +} + +func (x *PartyLeader) Reset() { + *x = PartyLeader{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PartyLeader) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartyLeader) ProtoMessage() {} + +func (x *PartyLeader) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PartyLeader.ProtoReflect.Descriptor instead. +func (*PartyLeader) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{27} +} + +func (x *PartyLeader) GetPartyId() string { + if x != nil { + return x.PartyId + } + return "" +} + +func (x *PartyLeader) GetPresence() *UserPresence { + if x != nil { + return x.Presence + } + return nil +} + +// Accept a request to join. +type PartyAccept struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Party ID to accept a join request for. + PartyId string `protobuf:"bytes,1,opt,name=party_id,json=partyId,proto3" json:"party_id,omitempty"` + // The presence to accept as a party member. + Presence *UserPresence `protobuf:"bytes,2,opt,name=presence,proto3" json:"presence,omitempty"` +} + +func (x *PartyAccept) Reset() { + *x = PartyAccept{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PartyAccept) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartyAccept) ProtoMessage() {} + +func (x *PartyAccept) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PartyAccept.ProtoReflect.Descriptor instead. +func (*PartyAccept) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{28} +} + +func (x *PartyAccept) GetPartyId() string { + if x != nil { + return x.PartyId + } + return "" +} + +func (x *PartyAccept) GetPresence() *UserPresence { + if x != nil { + return x.Presence + } + return nil +} + +// Kick a party member, or decline a request to join. +type PartyRemove struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Party ID to remove/reject from. + PartyId string `protobuf:"bytes,1,opt,name=party_id,json=partyId,proto3" json:"party_id,omitempty"` + // The presence to remove or reject. + Presence *UserPresence `protobuf:"bytes,2,opt,name=presence,proto3" json:"presence,omitempty"` +} + +func (x *PartyRemove) Reset() { + *x = PartyRemove{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PartyRemove) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartyRemove) ProtoMessage() {} + +func (x *PartyRemove) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PartyRemove.ProtoReflect.Descriptor instead. +func (*PartyRemove) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{29} +} + +func (x *PartyRemove) GetPartyId() string { + if x != nil { + return x.PartyId + } + return "" +} + +func (x *PartyRemove) GetPresence() *UserPresence { + if x != nil { + return x.Presence + } + return nil +} + +// End a party, kicking all party members and closing it. +type PartyClose struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Party ID to close. + PartyId string `protobuf:"bytes,1,opt,name=party_id,json=partyId,proto3" json:"party_id,omitempty"` +} + +func (x *PartyClose) Reset() { + *x = PartyClose{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PartyClose) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartyClose) ProtoMessage() {} + +func (x *PartyClose) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PartyClose.ProtoReflect.Descriptor instead. +func (*PartyClose) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{30} +} + +func (x *PartyClose) GetPartyId() string { + if x != nil { + return x.PartyId + } + return "" +} + +// Request a list of pending join requests for a party. +type PartyJoinRequestList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Party ID to get a list of join requests for. + PartyId string `protobuf:"bytes,1,opt,name=party_id,json=partyId,proto3" json:"party_id,omitempty"` +} + +func (x *PartyJoinRequestList) Reset() { + *x = PartyJoinRequestList{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PartyJoinRequestList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartyJoinRequestList) ProtoMessage() {} + +func (x *PartyJoinRequestList) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PartyJoinRequestList.ProtoReflect.Descriptor instead. +func (*PartyJoinRequestList) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{31} +} + +func (x *PartyJoinRequestList) GetPartyId() string { + if x != nil { + return x.PartyId + } + return "" +} + +// Incoming notification for one or more new presences attempting to join the party. +type PartyJoinRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Party ID these presences are attempting to join. + PartyId string `protobuf:"bytes,1,opt,name=party_id,json=partyId,proto3" json:"party_id,omitempty"` + // Presences attempting to join. + Presences []*UserPresence `protobuf:"bytes,2,rep,name=presences,proto3" json:"presences,omitempty"` +} + +func (x *PartyJoinRequest) Reset() { + *x = PartyJoinRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PartyJoinRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartyJoinRequest) ProtoMessage() {} + +func (x *PartyJoinRequest) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PartyJoinRequest.ProtoReflect.Descriptor instead. +func (*PartyJoinRequest) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{32} +} + +func (x *PartyJoinRequest) GetPartyId() string { + if x != nil { + return x.PartyId + } + return "" +} + +func (x *PartyJoinRequest) GetPresences() []*UserPresence { + if x != nil { + return x.Presences + } + return nil +} + +// Begin matchmaking as a party. +type PartyMatchmakerAdd struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Party ID. + PartyId string `protobuf:"bytes,1,opt,name=party_id,json=partyId,proto3" json:"party_id,omitempty"` + // Minimum total user count to match together. + MinCount int32 `protobuf:"varint,2,opt,name=min_count,json=minCount,proto3" json:"min_count,omitempty"` + // Maximum total user count to match together. + MaxCount int32 `protobuf:"varint,3,opt,name=max_count,json=maxCount,proto3" json:"max_count,omitempty"` + // Filter query used to identify suitable users. + Query string `protobuf:"bytes,4,opt,name=query,proto3" json:"query,omitempty"` + // String properties. + StringProperties map[string]string `protobuf:"bytes,5,rep,name=string_properties,json=stringProperties,proto3" json:"string_properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Numeric properties. + NumericProperties map[string]float64 `protobuf:"bytes,6,rep,name=numeric_properties,json=numericProperties,proto3" json:"numeric_properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"` + // Optional multiple of the count that must be satisfied. + CountMultiple *wrapperspb.Int32Value `protobuf:"bytes,7,opt,name=count_multiple,json=countMultiple,proto3" json:"count_multiple,omitempty"` +} + +func (x *PartyMatchmakerAdd) Reset() { + *x = PartyMatchmakerAdd{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PartyMatchmakerAdd) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartyMatchmakerAdd) ProtoMessage() {} + +func (x *PartyMatchmakerAdd) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PartyMatchmakerAdd.ProtoReflect.Descriptor instead. +func (*PartyMatchmakerAdd) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{33} +} + +func (x *PartyMatchmakerAdd) GetPartyId() string { + if x != nil { + return x.PartyId + } + return "" +} + +func (x *PartyMatchmakerAdd) GetMinCount() int32 { + if x != nil { + return x.MinCount + } + return 0 +} + +func (x *PartyMatchmakerAdd) GetMaxCount() int32 { + if x != nil { + return x.MaxCount + } + return 0 +} + +func (x *PartyMatchmakerAdd) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +func (x *PartyMatchmakerAdd) GetStringProperties() map[string]string { + if x != nil { + return x.StringProperties + } + return nil +} + +func (x *PartyMatchmakerAdd) GetNumericProperties() map[string]float64 { + if x != nil { + return x.NumericProperties + } + return nil +} + +func (x *PartyMatchmakerAdd) GetCountMultiple() *wrapperspb.Int32Value { + if x != nil { + return x.CountMultiple + } + return nil +} + +// Cancel a party matchmaking process using a ticket. +type PartyMatchmakerRemove struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Party ID. + PartyId string `protobuf:"bytes,1,opt,name=party_id,json=partyId,proto3" json:"party_id,omitempty"` + // The ticket to cancel. + Ticket string `protobuf:"bytes,2,opt,name=ticket,proto3" json:"ticket,omitempty"` +} + +func (x *PartyMatchmakerRemove) Reset() { + *x = PartyMatchmakerRemove{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PartyMatchmakerRemove) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartyMatchmakerRemove) ProtoMessage() {} + +func (x *PartyMatchmakerRemove) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PartyMatchmakerRemove.ProtoReflect.Descriptor instead. +func (*PartyMatchmakerRemove) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{34} +} + +func (x *PartyMatchmakerRemove) GetPartyId() string { + if x != nil { + return x.PartyId + } + return "" +} + +func (x *PartyMatchmakerRemove) GetTicket() string { + if x != nil { + return x.Ticket + } + return "" +} + +// A response from starting a new party matchmaking process. +type PartyMatchmakerTicket struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Party ID. + PartyId string `protobuf:"bytes,1,opt,name=party_id,json=partyId,proto3" json:"party_id,omitempty"` + // The ticket that can be used to cancel matchmaking. + Ticket string `protobuf:"bytes,2,opt,name=ticket,proto3" json:"ticket,omitempty"` +} + +func (x *PartyMatchmakerTicket) Reset() { + *x = PartyMatchmakerTicket{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PartyMatchmakerTicket) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartyMatchmakerTicket) ProtoMessage() {} + +func (x *PartyMatchmakerTicket) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PartyMatchmakerTicket.ProtoReflect.Descriptor instead. +func (*PartyMatchmakerTicket) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{35} +} + +func (x *PartyMatchmakerTicket) GetPartyId() string { + if x != nil { + return x.PartyId + } + return "" +} + +func (x *PartyMatchmakerTicket) GetTicket() string { + if x != nil { + return x.Ticket + } + return "" +} + +// Incoming party data delivered from the server. +type PartyData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The party ID. + PartyId string `protobuf:"bytes,1,opt,name=party_id,json=partyId,proto3" json:"party_id,omitempty"` + // A reference to the user presence that sent this data, if any. + Presence *UserPresence `protobuf:"bytes,2,opt,name=presence,proto3" json:"presence,omitempty"` + // Op code value. + OpCode int64 `protobuf:"varint,3,opt,name=op_code,json=opCode,proto3" json:"op_code,omitempty"` + // Data payload, if any. + Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *PartyData) Reset() { + *x = PartyData{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PartyData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartyData) ProtoMessage() {} + +func (x *PartyData) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PartyData.ProtoReflect.Descriptor instead. +func (*PartyData) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{36} +} + +func (x *PartyData) GetPartyId() string { + if x != nil { + return x.PartyId + } + return "" +} + +func (x *PartyData) GetPresence() *UserPresence { + if x != nil { + return x.Presence + } + return nil +} + +func (x *PartyData) GetOpCode() int64 { + if x != nil { + return x.OpCode + } + return 0 +} + +func (x *PartyData) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +// Send data to a party. +type PartyDataSend struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Party ID to send to. + PartyId string `protobuf:"bytes,1,opt,name=party_id,json=partyId,proto3" json:"party_id,omitempty"` + // Op code value. + OpCode int64 `protobuf:"varint,2,opt,name=op_code,json=opCode,proto3" json:"op_code,omitempty"` + // Data payload, if any. + Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *PartyDataSend) Reset() { + *x = PartyDataSend{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PartyDataSend) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartyDataSend) ProtoMessage() {} + +func (x *PartyDataSend) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PartyDataSend.ProtoReflect.Descriptor instead. +func (*PartyDataSend) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{37} +} + +func (x *PartyDataSend) GetPartyId() string { + if x != nil { + return x.PartyId + } + return "" +} + +func (x *PartyDataSend) GetOpCode() int64 { + if x != nil { + return x.OpCode + } + return 0 +} + +func (x *PartyDataSend) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +// Presence update for a particular party. +type PartyPresenceEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The party ID. + PartyId string `protobuf:"bytes,1,opt,name=party_id,json=partyId,proto3" json:"party_id,omitempty"` + // User presences that have just joined the party. + Joins []*UserPresence `protobuf:"bytes,2,rep,name=joins,proto3" json:"joins,omitempty"` + // User presences that have just left the party. + Leaves []*UserPresence `protobuf:"bytes,3,rep,name=leaves,proto3" json:"leaves,omitempty"` +} + +func (x *PartyPresenceEvent) Reset() { + *x = PartyPresenceEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PartyPresenceEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartyPresenceEvent) ProtoMessage() {} + +func (x *PartyPresenceEvent) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PartyPresenceEvent.ProtoReflect.Descriptor instead. +func (*PartyPresenceEvent) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{38} +} + +func (x *PartyPresenceEvent) GetPartyId() string { + if x != nil { + return x.PartyId + } + return "" +} + +func (x *PartyPresenceEvent) GetJoins() []*UserPresence { + if x != nil { + return x.Joins + } + return nil +} + +func (x *PartyPresenceEvent) GetLeaves() []*UserPresence { + if x != nil { + return x.Leaves + } + return nil +} + +// Application-level heartbeat and connection check. +type Ping struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Ping) Reset() { + *x = Ping{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Ping) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Ping) ProtoMessage() {} + +func (x *Ping) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Ping.ProtoReflect.Descriptor instead. +func (*Ping) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{39} +} + +// Application-level heartbeat and connection check response. +type Pong struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Pong) Reset() { + *x = Pong{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Pong) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Pong) ProtoMessage() {} + +func (x *Pong) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Pong.ProtoReflect.Descriptor instead. +func (*Pong) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{40} +} + +// A snapshot of statuses for some set of users. +type Status struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // User statuses. + Presences []*UserPresence `protobuf:"bytes,1,rep,name=presences,proto3" json:"presences,omitempty"` +} + +func (x *Status) Reset() { + *x = Status{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Status) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Status) ProtoMessage() {} + +func (x *Status) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Status.ProtoReflect.Descriptor instead. +func (*Status) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{41} +} + +func (x *Status) GetPresences() []*UserPresence { + if x != nil { + return x.Presences + } + return nil +} + +// Start receiving status updates for some set of users. +type StatusFollow struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // User IDs to follow. + UserIds []string `protobuf:"bytes,1,rep,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"` + // Usernames to follow. + Usernames []string `protobuf:"bytes,2,rep,name=usernames,proto3" json:"usernames,omitempty"` +} + +func (x *StatusFollow) Reset() { + *x = StatusFollow{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatusFollow) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatusFollow) ProtoMessage() {} + +func (x *StatusFollow) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatusFollow.ProtoReflect.Descriptor instead. +func (*StatusFollow) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{42} +} + +func (x *StatusFollow) GetUserIds() []string { + if x != nil { + return x.UserIds + } + return nil +} + +func (x *StatusFollow) GetUsernames() []string { + if x != nil { + return x.Usernames + } + return nil +} + +// A batch of status updates for a given user. +type StatusPresenceEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // New statuses for the user. + Joins []*UserPresence `protobuf:"bytes,2,rep,name=joins,proto3" json:"joins,omitempty"` + // Previous statuses for the user. + Leaves []*UserPresence `protobuf:"bytes,3,rep,name=leaves,proto3" json:"leaves,omitempty"` +} + +func (x *StatusPresenceEvent) Reset() { + *x = StatusPresenceEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatusPresenceEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatusPresenceEvent) ProtoMessage() {} + +func (x *StatusPresenceEvent) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatusPresenceEvent.ProtoReflect.Descriptor instead. +func (*StatusPresenceEvent) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{43} +} + +func (x *StatusPresenceEvent) GetJoins() []*UserPresence { + if x != nil { + return x.Joins + } + return nil +} + +func (x *StatusPresenceEvent) GetLeaves() []*UserPresence { + if x != nil { + return x.Leaves + } + return nil +} + +// Stop receiving status updates for some set of users. +type StatusUnfollow struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Users to unfollow. + UserIds []string `protobuf:"bytes,1,rep,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"` +} + +func (x *StatusUnfollow) Reset() { + *x = StatusUnfollow{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatusUnfollow) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatusUnfollow) ProtoMessage() {} + +func (x *StatusUnfollow) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatusUnfollow.ProtoReflect.Descriptor instead. +func (*StatusUnfollow) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{44} +} + +func (x *StatusUnfollow) GetUserIds() []string { + if x != nil { + return x.UserIds + } + return nil +} + +// Set the user's own status. +type StatusUpdate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Status string to set, if not present the user will appear offline. + Status *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *StatusUpdate) Reset() { + *x = StatusUpdate{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatusUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatusUpdate) ProtoMessage() {} + +func (x *StatusUpdate) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatusUpdate.ProtoReflect.Descriptor instead. +func (*StatusUpdate) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{45} +} + +func (x *StatusUpdate) GetStatus() *wrapperspb.StringValue { + if x != nil { + return x.Status + } + return nil +} + +// Represents identifying information for a stream. +type Stream struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Mode identifies the type of stream. + Mode int32 `protobuf:"varint,1,opt,name=mode,proto3" json:"mode,omitempty"` + // Subject is the primary identifier, if any. + Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"` + // Subcontext is a secondary identifier, if any. + Subcontext string `protobuf:"bytes,3,opt,name=subcontext,proto3" json:"subcontext,omitempty"` + // The label is an arbitrary identifying string, if the stream has one. + Label string `protobuf:"bytes,4,opt,name=label,proto3" json:"label,omitempty"` +} + +func (x *Stream) Reset() { + *x = Stream{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Stream) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Stream) ProtoMessage() {} + +func (x *Stream) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Stream.ProtoReflect.Descriptor instead. +func (*Stream) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{46} +} + +func (x *Stream) GetMode() int32 { + if x != nil { + return x.Mode + } + return 0 +} + +func (x *Stream) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *Stream) GetSubcontext() string { + if x != nil { + return x.Subcontext + } + return "" +} + +func (x *Stream) GetLabel() string { + if x != nil { + return x.Label + } + return "" +} + +// A data message delivered over a stream. +type StreamData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The stream this data message relates to. + Stream *Stream `protobuf:"bytes,1,opt,name=stream,proto3" json:"stream,omitempty"` + // The sender, if any. + Sender *UserPresence `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` + // Arbitrary contents of the data message. + Data string `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` + // True if this data was delivered reliably, false otherwise. + Reliable bool `protobuf:"varint,4,opt,name=reliable,proto3" json:"reliable,omitempty"` +} + +func (x *StreamData) Reset() { + *x = StreamData{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamData) ProtoMessage() {} + +func (x *StreamData) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamData.ProtoReflect.Descriptor instead. +func (*StreamData) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{47} +} + +func (x *StreamData) GetStream() *Stream { + if x != nil { + return x.Stream + } + return nil +} + +func (x *StreamData) GetSender() *UserPresence { + if x != nil { + return x.Sender + } + return nil +} + +func (x *StreamData) GetData() string { + if x != nil { + return x.Data + } + return "" +} + +func (x *StreamData) GetReliable() bool { + if x != nil { + return x.Reliable + } + return false +} + +// A set of joins and leaves on a particular stream. +type StreamPresenceEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The stream this event relates to. + Stream *Stream `protobuf:"bytes,1,opt,name=stream,proto3" json:"stream,omitempty"` + // Presences joining the stream as part of this event, if any. + Joins []*UserPresence `protobuf:"bytes,2,rep,name=joins,proto3" json:"joins,omitempty"` + // Presences leaving the stream as part of this event, if any. + Leaves []*UserPresence `protobuf:"bytes,3,rep,name=leaves,proto3" json:"leaves,omitempty"` +} + +func (x *StreamPresenceEvent) Reset() { + *x = StreamPresenceEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamPresenceEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamPresenceEvent) ProtoMessage() {} + +func (x *StreamPresenceEvent) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[48] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamPresenceEvent.ProtoReflect.Descriptor instead. +func (*StreamPresenceEvent) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{48} +} + +func (x *StreamPresenceEvent) GetStream() *Stream { + if x != nil { + return x.Stream + } + return nil +} + +func (x *StreamPresenceEvent) GetJoins() []*UserPresence { + if x != nil { + return x.Joins + } + return nil +} + +func (x *StreamPresenceEvent) GetLeaves() []*UserPresence { + if x != nil { + return x.Leaves + } + return nil +} + +// A user session associated to a stream, usually through a list operation or a join/leave event. +type UserPresence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The user this presence belongs to. + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + // A unique session ID identifying the particular connection, because the user may have many. + SessionId string `protobuf:"bytes,2,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` + // The username for display purposes. + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` + // Whether this presence generates persistent data/messages, if applicable for the stream type. + Persistence bool `protobuf:"varint,4,opt,name=persistence,proto3" json:"persistence,omitempty"` + // A user-set status message for this stream, if applicable. + Status *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *UserPresence) Reset() { + *x = UserPresence{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserPresence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserPresence) ProtoMessage() {} + +func (x *UserPresence) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserPresence.ProtoReflect.Descriptor instead. +func (*UserPresence) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{49} +} + +func (x *UserPresence) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *UserPresence) GetSessionId() string { + if x != nil { + return x.SessionId + } + return "" +} + +func (x *UserPresence) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *UserPresence) GetPersistence() bool { + if x != nil { + return x.Persistence + } + return false +} + +func (x *UserPresence) GetStatus() *wrapperspb.StringValue { + if x != nil { + return x.Status + } + return nil +} + +type MatchmakerMatched_MatchmakerUser struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // User info. + Presence *UserPresence `protobuf:"bytes,1,opt,name=presence,proto3" json:"presence,omitempty"` + // Party identifier, if this user was matched as a party member. + PartyId string `protobuf:"bytes,2,opt,name=party_id,json=partyId,proto3" json:"party_id,omitempty"` + // String properties. + StringProperties map[string]string `protobuf:"bytes,5,rep,name=string_properties,json=stringProperties,proto3" json:"string_properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Numeric properties. + NumericProperties map[string]float64 `protobuf:"bytes,6,rep,name=numeric_properties,json=numericProperties,proto3" json:"numeric_properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"` +} + +func (x *MatchmakerMatched_MatchmakerUser) Reset() { + *x = MatchmakerMatched_MatchmakerUser{} + if protoimpl.UnsafeEnabled { + mi := &file_realtime_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MatchmakerMatched_MatchmakerUser) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MatchmakerMatched_MatchmakerUser) ProtoMessage() {} + +func (x *MatchmakerMatched_MatchmakerUser) ProtoReflect() protoreflect.Message { + mi := &file_realtime_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MatchmakerMatched_MatchmakerUser.ProtoReflect.Descriptor instead. +func (*MatchmakerMatched_MatchmakerUser) Descriptor() ([]byte, []int) { + return file_realtime_proto_rawDescGZIP(), []int{18, 0} +} + +func (x *MatchmakerMatched_MatchmakerUser) GetPresence() *UserPresence { + if x != nil { + return x.Presence + } + return nil +} + +func (x *MatchmakerMatched_MatchmakerUser) GetPartyId() string { + if x != nil { + return x.PartyId + } + return "" +} + +func (x *MatchmakerMatched_MatchmakerUser) GetStringProperties() map[string]string { + if x != nil { + return x.StringProperties + } + return nil +} + +func (x *MatchmakerMatched_MatchmakerUser) GetNumericProperties() map[string]float64 { + if x != nil { + return x.NumericProperties + } + return nil +} + +var File_realtime_proto protoreflect.FileDescriptor + +var file_realtime_proto_rawDesc = []byte{ + 0x0a, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x0f, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, + 0x65, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x0d, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xf4, 0x1b, 0x0a, 0x08, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x12, 0x34, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x07, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6e, + 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, + 0x6d, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x48, + 0x00, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x12, + 0x45, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, + 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x54, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x63, 0x6b, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, + 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x41, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x63, 0x6b, 0x12, 0x57, 0x0a, 0x14, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, + 0x73, 0x65, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x61, 0x6b, + 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x48, + 0x00, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x5d, 0x0a, 0x16, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, + 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x14, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x12, 0x5d, 0x0a, 0x16, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, + 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x00, 0x52, 0x14, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x12, 0x5d, 0x0a, 0x16, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, + 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x72, 0x65, + 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x14, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x05, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x41, 0x0a, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, + 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x61, 0x6b, 0x61, + 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x48, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x61, + 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x3b, 0x0a, 0x0a, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, + 0x6d, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4a, 0x6f, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x09, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x3e, 0x0a, 0x0b, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, + 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x12, 0x57, 0x0a, 0x14, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, + 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x12, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, + 0x5f, 0x61, 0x64, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x61, 0x6b, + 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x12, 0x53, 0x0a, 0x12, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, + 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, + 0x61, 0x6b, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x48, 0x00, 0x52, 0x11, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, + 0x12, 0x50, 0x0a, 0x11, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x61, + 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x00, + 0x52, 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, + 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x48, 0x00, 0x52, 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x12, 0x46, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x61, + 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x6e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x03, + 0x72, 0x70, 0x63, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6e, 0x61, 0x6b, 0x61, + 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x70, 0x63, 0x48, 0x00, 0x52, 0x03, 0x72, 0x70, + 0x63, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x66, + 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, + 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x5a, 0x0a, 0x15, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x61, 0x6b, 0x61, + 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, + 0x00, 0x52, 0x13, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, + 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x5f, 0x75, 0x6e, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, + 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x6e, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, + 0x48, 0x00, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x6e, 0x66, 0x6f, 0x6c, 0x6c, + 0x6f, 0x77, 0x12, 0x44, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, + 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x12, 0x5a, 0x0a, 0x15, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, + 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, + 0x13, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x20, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, + 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, + 0x67, 0x12, 0x2b, 0x0a, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, + 0x65, 0x2e, 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x12, 0x2e, + 0x0a, 0x05, 0x70, 0x61, 0x72, 0x74, 0x79, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, + 0x50, 0x61, 0x72, 0x74, 0x79, 0x48, 0x00, 0x52, 0x05, 0x70, 0x61, 0x72, 0x74, 0x79, 0x12, 0x41, + 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x23, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, + 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, + 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, + 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4a, 0x6f, 0x69, + 0x6e, 0x48, 0x00, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x3e, + 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x18, 0x25, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, + 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4c, 0x65, 0x61, 0x76, 0x65, + 0x48, 0x00, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x79, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x12, 0x44, + 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x18, + 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, + 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x50, 0x72, 0x6f, + 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x79, 0x50, 0x72, 0x6f, + 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x6c, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6e, 0x61, 0x6b, + 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x50, 0x61, 0x72, + 0x74, 0x79, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, + 0x79, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x79, + 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, + 0x50, 0x61, 0x72, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x70, + 0x61, 0x72, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0x41, 0x0a, 0x0c, 0x70, 0x61, + 0x72, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, + 0x6d, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x00, + 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x3e, 0x0a, + 0x0b, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x2a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, + 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x48, + 0x00, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x79, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x5e, 0x0a, + 0x17, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, + 0x2e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x14, 0x70, 0x61, 0x72, 0x74, 0x79, 0x4a, 0x6f, + 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x51, 0x0a, + 0x12, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x61, 0x6b, 0x61, + 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, + 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10, + 0x70, 0x61, 0x72, 0x74, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x57, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, + 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, + 0x2e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, + 0x41, 0x64, 0x64, 0x48, 0x00, 0x52, 0x12, 0x70, 0x61, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x12, 0x60, 0x0a, 0x17, 0x70, 0x61, 0x72, + 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x61, 0x6b, + 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x50, 0x61, 0x72, + 0x74, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x48, 0x00, 0x52, 0x15, 0x70, 0x61, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x60, 0x0a, 0x17, 0x70, + 0x61, 0x72, 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x5f, + 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, + 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x50, + 0x61, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x48, 0x00, 0x52, 0x15, 0x70, 0x61, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x3b, 0x0a, + 0x0a, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x30, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, + 0x09, 0x70, 0x61, 0x72, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x48, 0x0a, 0x0f, 0x70, 0x61, + 0x72, 0x74, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x18, 0x31, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, + 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x65, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x65, 0x6e, 0x64, 0x12, 0x57, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x70, 0x72, + 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x32, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, + 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x12, 0x70, 0x61, 0x72, 0x74, 0x79, + 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x09, 0x0a, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x81, 0x02, 0x0a, 0x07, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, + 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, + 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x12, 0x31, 0x0a, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, + 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x04, + 0x73, 0x65, 0x6c, 0x66, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4f, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0b, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x77, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x54, 0x77, 0x6f, 0x22, 0xf2, 0x01, 0x0a, + 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x73, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x06, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x45, 0x0a, 0x04, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x4f, 0x4f, 0x4d, + 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x4d, 0x45, 0x53, + 0x53, 0x41, 0x47, 0x45, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, + 0x03, 0x22, 0x2d, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x65, 0x61, 0x76, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, + 0x22, 0xcc, 0x03, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x41, 0x63, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, + 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x70, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x70, 0x65, 0x72, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, + 0x1e, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x6e, 0x65, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4f, 0x6e, 0x65, 0x12, + 0x1e, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x77, 0x6f, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x54, 0x77, 0x6f, 0x22, + 0x4d, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x6e, + 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x54, + 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x49, 0x64, 0x22, 0x99, 0x02, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x05, + 0x6a, 0x6f, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, + 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x6a, 0x6f, 0x69, 0x6e, + 0x73, 0x12, 0x35, 0x0a, 0x06, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x06, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, + 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, + 0x12, 0x1e, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x6e, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4f, 0x6e, 0x65, + 0x12, 0x1e, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x77, 0x6f, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x54, 0x77, 0x6f, + 0x22, 0xfc, 0x02, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x61, 0x6b, 0x61, + 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x3a, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xc9, 0x01, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x11, + 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4f, + 0x4e, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x52, 0x45, 0x43, 0x4f, 0x47, 0x4e, 0x49, + 0x5a, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x01, 0x12, 0x13, 0x0a, + 0x0f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, + 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x41, 0x44, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x10, + 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, + 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, + 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, + 0x1e, 0x0a, 0x1a, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x06, 0x12, + 0x1e, 0x0a, 0x1a, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x07, 0x22, + 0x80, 0x02, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, + 0x7a, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, + 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, + 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, + 0x31, 0x0a, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x04, 0x73, 0x65, + 0x6c, 0x66, 0x22, 0x21, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x39, + 0x0a, 0x08, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, + 0x6d, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, + 0x08, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x70, 0x5f, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x70, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x22, 0xb0, 0x01, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x65, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, + 0x17, 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x06, 0x6f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x09, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, + 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x6c, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x6c, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4a, + 0x6f, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, + 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x44, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6e, 0x61, 0x6b, + 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x4a, 0x6f, 0x69, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, + 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x04, 0x0a, 0x02, 0x69, + 0x64, 0x22, 0x27, 0x0a, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x12, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x05, + 0x6a, 0x6f, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, + 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x6a, 0x6f, 0x69, 0x6e, + 0x73, 0x12, 0x35, 0x0a, 0x06, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x06, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x22, 0xf7, 0x03, 0x0a, 0x0d, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, + 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, + 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x61, 0x0a, 0x11, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, + 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, + 0x65, 0x72, 0x41, 0x64, 0x64, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x64, 0x0a, + 0x12, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6e, 0x61, 0x6b, 0x61, + 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x2e, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, + 0x63, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x1a, 0x43, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, + 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0xd9, 0x05, 0x0a, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, + 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x12, 0x1b, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x16, 0x0a, + 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x47, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, + 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, + 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, + 0x6b, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x45, + 0x0a, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6e, + 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, + 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x04, 0x73, 0x65, 0x6c, 0x66, 0x1a, 0xe0, 0x03, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, + 0x61, 0x6b, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x73, + 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, + 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x70, 0x72, 0x65, 0x73, 0x65, + 0x6e, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, 0x74, + 0x0a, 0x11, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x6e, 0x61, 0x6b, 0x61, + 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x2e, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x12, 0x77, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x5f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x48, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, + 0x6d, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x64, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x2e, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x65, + 0x72, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x43, 0x0a, + 0x15, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x04, 0x0a, 0x02, 0x69, 0x64, 0x22, 0x2a, + 0x0a, 0x10, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x2a, 0x0a, 0x10, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x4f, 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xf8, 0x01, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x74, + 0x79, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, + 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x73, + 0x65, 0x6c, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, + 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x12, 0x35, + 0x0a, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x6c, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, + 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x74, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, + 0x22, 0x26, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x19, 0x0a, + 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x74, + 0x79, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, + 0x64, 0x22, 0x64, 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, + 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x08, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x63, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x74, 0x79, + 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, + 0x64, 0x12, 0x39, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, + 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x08, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x63, 0x0a, 0x0b, + 0x50, 0x61, 0x72, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, + 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, + 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, + 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, + 0x65, 0x22, 0x63, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x74, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x08, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x70, 0x72, + 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x27, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x74, 0x79, 0x43, + 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x22, + 0x31, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, + 0x49, 0x64, 0x22, 0x6a, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, + 0x64, 0x12, 0x3b, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, + 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xa1, + 0x04, 0x0a, 0x12, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, + 0x65, 0x72, 0x41, 0x64, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, + 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x12, 0x66, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6e, 0x61, + 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x50, 0x61, + 0x72, 0x74, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x69, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x65, + 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, + 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x2e, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, + 0x63, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x1a, 0x43, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, + 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x4a, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, + 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, + 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x4a, + 0x0a, 0x15, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x65, + 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x79, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x79, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x8e, 0x01, 0x0a, 0x09, 0x50, + 0x61, 0x72, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, + 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, + 0x79, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, + 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, + 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x17, + 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x06, 0x6f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x57, 0x0a, 0x0d, 0x50, + 0x61, 0x72, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x08, + 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x70, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x70, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x22, 0x9b, 0x01, 0x0a, 0x12, 0x50, 0x61, 0x72, 0x74, 0x79, 0x50, 0x72, + 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, + 0x61, 0x72, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, + 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x05, 0x6a, 0x6f, 0x69, 0x6e, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, + 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, + 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x6a, 0x6f, 0x69, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x06, 0x6c, + 0x65, 0x61, 0x76, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, + 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x6c, 0x65, 0x61, 0x76, + 0x65, 0x73, 0x22, 0x06, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x22, 0x06, 0x0a, 0x04, 0x50, 0x6f, + 0x6e, 0x67, 0x22, 0x45, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x09, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, + 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x47, 0x0a, 0x0c, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x65, + 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x05, 0x6a, 0x6f, + 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, + 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x6a, 0x6f, 0x69, 0x6e, 0x73, 0x12, + 0x35, 0x0a, 0x06, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, + 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, + 0x6c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x22, 0x2b, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x55, 0x6e, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x73, 0x22, 0x44, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x6c, 0x0a, 0x06, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0xa4, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, + 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, + 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, + 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, + 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xb2, + 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, + 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, + 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, + 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x33, 0x0a, 0x05, 0x6a, 0x6f, 0x69, 0x6e, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, + 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, + 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x6a, 0x6f, 0x69, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x06, + 0x6c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, + 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x6c, 0x65, 0x61, + 0x76, 0x65, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, + 0x65, 0x6e, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x42, 0x6c, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x63, 0x6c, 0x61, + 0x62, 0x73, 0x2e, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x72, 0x74, 0x61, 0x70, 0x69, 0x42, + 0x0e, 0x4e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x50, + 0x01, 0x5a, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x65, + 0x72, 0x6f, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x6e, 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2d, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x74, 0x61, 0x70, 0x69, 0xaa, 0x02, 0x0f, 0x4e, + 0x61, 0x6b, 0x61, 0x6d, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_realtime_proto_rawDescOnce sync.Once + file_realtime_proto_rawDescData = file_realtime_proto_rawDesc +) + +func file_realtime_proto_rawDescGZIP() []byte { + file_realtime_proto_rawDescOnce.Do(func() { + file_realtime_proto_rawDescData = protoimpl.X.CompressGZIP(file_realtime_proto_rawDescData) + }) + return file_realtime_proto_rawDescData +} + +var file_realtime_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_realtime_proto_msgTypes = make([]protoimpl.MessageInfo, 59) +var file_realtime_proto_goTypes = []interface{}{ + (ChannelJoin_Type)(0), // 0: nakama.realtime.ChannelJoin.Type + (Error_Code)(0), // 1: nakama.realtime.Error.Code + (*Envelope)(nil), // 2: nakama.realtime.Envelope + (*Channel)(nil), // 3: nakama.realtime.Channel + (*ChannelJoin)(nil), // 4: nakama.realtime.ChannelJoin + (*ChannelLeave)(nil), // 5: nakama.realtime.ChannelLeave + (*ChannelMessageAck)(nil), // 6: nakama.realtime.ChannelMessageAck + (*ChannelMessageSend)(nil), // 7: nakama.realtime.ChannelMessageSend + (*ChannelMessageUpdate)(nil), // 8: nakama.realtime.ChannelMessageUpdate + (*ChannelMessageRemove)(nil), // 9: nakama.realtime.ChannelMessageRemove + (*ChannelPresenceEvent)(nil), // 10: nakama.realtime.ChannelPresenceEvent + (*Error)(nil), // 11: nakama.realtime.Error + (*Match)(nil), // 12: nakama.realtime.Match + (*MatchCreate)(nil), // 13: nakama.realtime.MatchCreate + (*MatchData)(nil), // 14: nakama.realtime.MatchData + (*MatchDataSend)(nil), // 15: nakama.realtime.MatchDataSend + (*MatchJoin)(nil), // 16: nakama.realtime.MatchJoin + (*MatchLeave)(nil), // 17: nakama.realtime.MatchLeave + (*MatchPresenceEvent)(nil), // 18: nakama.realtime.MatchPresenceEvent + (*MatchmakerAdd)(nil), // 19: nakama.realtime.MatchmakerAdd + (*MatchmakerMatched)(nil), // 20: nakama.realtime.MatchmakerMatched + (*MatchmakerRemove)(nil), // 21: nakama.realtime.MatchmakerRemove + (*MatchmakerTicket)(nil), // 22: nakama.realtime.MatchmakerTicket + (*Notifications)(nil), // 23: nakama.realtime.Notifications + (*Party)(nil), // 24: nakama.realtime.Party + (*PartyCreate)(nil), // 25: nakama.realtime.PartyCreate + (*PartyJoin)(nil), // 26: nakama.realtime.PartyJoin + (*PartyLeave)(nil), // 27: nakama.realtime.PartyLeave + (*PartyPromote)(nil), // 28: nakama.realtime.PartyPromote + (*PartyLeader)(nil), // 29: nakama.realtime.PartyLeader + (*PartyAccept)(nil), // 30: nakama.realtime.PartyAccept + (*PartyRemove)(nil), // 31: nakama.realtime.PartyRemove + (*PartyClose)(nil), // 32: nakama.realtime.PartyClose + (*PartyJoinRequestList)(nil), // 33: nakama.realtime.PartyJoinRequestList + (*PartyJoinRequest)(nil), // 34: nakama.realtime.PartyJoinRequest + (*PartyMatchmakerAdd)(nil), // 35: nakama.realtime.PartyMatchmakerAdd + (*PartyMatchmakerRemove)(nil), // 36: nakama.realtime.PartyMatchmakerRemove + (*PartyMatchmakerTicket)(nil), // 37: nakama.realtime.PartyMatchmakerTicket + (*PartyData)(nil), // 38: nakama.realtime.PartyData + (*PartyDataSend)(nil), // 39: nakama.realtime.PartyDataSend + (*PartyPresenceEvent)(nil), // 40: nakama.realtime.PartyPresenceEvent + (*Ping)(nil), // 41: nakama.realtime.Ping + (*Pong)(nil), // 42: nakama.realtime.Pong + (*Status)(nil), // 43: nakama.realtime.Status + (*StatusFollow)(nil), // 44: nakama.realtime.StatusFollow + (*StatusPresenceEvent)(nil), // 45: nakama.realtime.StatusPresenceEvent + (*StatusUnfollow)(nil), // 46: nakama.realtime.StatusUnfollow + (*StatusUpdate)(nil), // 47: nakama.realtime.StatusUpdate + (*Stream)(nil), // 48: nakama.realtime.Stream + (*StreamData)(nil), // 49: nakama.realtime.StreamData + (*StreamPresenceEvent)(nil), // 50: nakama.realtime.StreamPresenceEvent + (*UserPresence)(nil), // 51: nakama.realtime.UserPresence + nil, // 52: nakama.realtime.Error.ContextEntry + nil, // 53: nakama.realtime.MatchJoin.MetadataEntry + nil, // 54: nakama.realtime.MatchmakerAdd.StringPropertiesEntry + nil, // 55: nakama.realtime.MatchmakerAdd.NumericPropertiesEntry + (*MatchmakerMatched_MatchmakerUser)(nil), // 56: nakama.realtime.MatchmakerMatched.MatchmakerUser + nil, // 57: nakama.realtime.MatchmakerMatched.MatchmakerUser.StringPropertiesEntry + nil, // 58: nakama.realtime.MatchmakerMatched.MatchmakerUser.NumericPropertiesEntry + nil, // 59: nakama.realtime.PartyMatchmakerAdd.StringPropertiesEntry + nil, // 60: nakama.realtime.PartyMatchmakerAdd.NumericPropertiesEntry + (*api.ChannelMessage)(nil), // 61: nakama.api.ChannelMessage + (*api.Rpc)(nil), // 62: nakama.api.Rpc + (*wrapperspb.BoolValue)(nil), // 63: google.protobuf.BoolValue + (*wrapperspb.Int32Value)(nil), // 64: google.protobuf.Int32Value + (*timestamppb.Timestamp)(nil), // 65: google.protobuf.Timestamp + (*wrapperspb.StringValue)(nil), // 66: google.protobuf.StringValue + (*api.Notification)(nil), // 67: nakama.api.Notification +} +var file_realtime_proto_depIdxs = []int32{ + 3, // 0: nakama.realtime.Envelope.channel:type_name -> nakama.realtime.Channel + 4, // 1: nakama.realtime.Envelope.channel_join:type_name -> nakama.realtime.ChannelJoin + 5, // 2: nakama.realtime.Envelope.channel_leave:type_name -> nakama.realtime.ChannelLeave + 61, // 3: nakama.realtime.Envelope.channel_message:type_name -> nakama.api.ChannelMessage + 6, // 4: nakama.realtime.Envelope.channel_message_ack:type_name -> nakama.realtime.ChannelMessageAck + 7, // 5: nakama.realtime.Envelope.channel_message_send:type_name -> nakama.realtime.ChannelMessageSend + 8, // 6: nakama.realtime.Envelope.channel_message_update:type_name -> nakama.realtime.ChannelMessageUpdate + 9, // 7: nakama.realtime.Envelope.channel_message_remove:type_name -> nakama.realtime.ChannelMessageRemove + 10, // 8: nakama.realtime.Envelope.channel_presence_event:type_name -> nakama.realtime.ChannelPresenceEvent + 11, // 9: nakama.realtime.Envelope.error:type_name -> nakama.realtime.Error + 12, // 10: nakama.realtime.Envelope.match:type_name -> nakama.realtime.Match + 13, // 11: nakama.realtime.Envelope.match_create:type_name -> nakama.realtime.MatchCreate + 14, // 12: nakama.realtime.Envelope.match_data:type_name -> nakama.realtime.MatchData + 15, // 13: nakama.realtime.Envelope.match_data_send:type_name -> nakama.realtime.MatchDataSend + 16, // 14: nakama.realtime.Envelope.match_join:type_name -> nakama.realtime.MatchJoin + 17, // 15: nakama.realtime.Envelope.match_leave:type_name -> nakama.realtime.MatchLeave + 18, // 16: nakama.realtime.Envelope.match_presence_event:type_name -> nakama.realtime.MatchPresenceEvent + 19, // 17: nakama.realtime.Envelope.matchmaker_add:type_name -> nakama.realtime.MatchmakerAdd + 20, // 18: nakama.realtime.Envelope.matchmaker_matched:type_name -> nakama.realtime.MatchmakerMatched + 21, // 19: nakama.realtime.Envelope.matchmaker_remove:type_name -> nakama.realtime.MatchmakerRemove + 22, // 20: nakama.realtime.Envelope.matchmaker_ticket:type_name -> nakama.realtime.MatchmakerTicket + 23, // 21: nakama.realtime.Envelope.notifications:type_name -> nakama.realtime.Notifications + 62, // 22: nakama.realtime.Envelope.rpc:type_name -> nakama.api.Rpc + 43, // 23: nakama.realtime.Envelope.status:type_name -> nakama.realtime.Status + 44, // 24: nakama.realtime.Envelope.status_follow:type_name -> nakama.realtime.StatusFollow + 45, // 25: nakama.realtime.Envelope.status_presence_event:type_name -> nakama.realtime.StatusPresenceEvent + 46, // 26: nakama.realtime.Envelope.status_unfollow:type_name -> nakama.realtime.StatusUnfollow + 47, // 27: nakama.realtime.Envelope.status_update:type_name -> nakama.realtime.StatusUpdate + 49, // 28: nakama.realtime.Envelope.stream_data:type_name -> nakama.realtime.StreamData + 50, // 29: nakama.realtime.Envelope.stream_presence_event:type_name -> nakama.realtime.StreamPresenceEvent + 41, // 30: nakama.realtime.Envelope.ping:type_name -> nakama.realtime.Ping + 42, // 31: nakama.realtime.Envelope.pong:type_name -> nakama.realtime.Pong + 24, // 32: nakama.realtime.Envelope.party:type_name -> nakama.realtime.Party + 25, // 33: nakama.realtime.Envelope.party_create:type_name -> nakama.realtime.PartyCreate + 26, // 34: nakama.realtime.Envelope.party_join:type_name -> nakama.realtime.PartyJoin + 27, // 35: nakama.realtime.Envelope.party_leave:type_name -> nakama.realtime.PartyLeave + 28, // 36: nakama.realtime.Envelope.party_promote:type_name -> nakama.realtime.PartyPromote + 29, // 37: nakama.realtime.Envelope.party_leader:type_name -> nakama.realtime.PartyLeader + 30, // 38: nakama.realtime.Envelope.party_accept:type_name -> nakama.realtime.PartyAccept + 31, // 39: nakama.realtime.Envelope.party_remove:type_name -> nakama.realtime.PartyRemove + 32, // 40: nakama.realtime.Envelope.party_close:type_name -> nakama.realtime.PartyClose + 33, // 41: nakama.realtime.Envelope.party_join_request_list:type_name -> nakama.realtime.PartyJoinRequestList + 34, // 42: nakama.realtime.Envelope.party_join_request:type_name -> nakama.realtime.PartyJoinRequest + 35, // 43: nakama.realtime.Envelope.party_matchmaker_add:type_name -> nakama.realtime.PartyMatchmakerAdd + 36, // 44: nakama.realtime.Envelope.party_matchmaker_remove:type_name -> nakama.realtime.PartyMatchmakerRemove + 37, // 45: nakama.realtime.Envelope.party_matchmaker_ticket:type_name -> nakama.realtime.PartyMatchmakerTicket + 38, // 46: nakama.realtime.Envelope.party_data:type_name -> nakama.realtime.PartyData + 39, // 47: nakama.realtime.Envelope.party_data_send:type_name -> nakama.realtime.PartyDataSend + 40, // 48: nakama.realtime.Envelope.party_presence_event:type_name -> nakama.realtime.PartyPresenceEvent + 51, // 49: nakama.realtime.Channel.presences:type_name -> nakama.realtime.UserPresence + 51, // 50: nakama.realtime.Channel.self:type_name -> nakama.realtime.UserPresence + 63, // 51: nakama.realtime.ChannelJoin.persistence:type_name -> google.protobuf.BoolValue + 63, // 52: nakama.realtime.ChannelJoin.hidden:type_name -> google.protobuf.BoolValue + 64, // 53: nakama.realtime.ChannelMessageAck.code:type_name -> google.protobuf.Int32Value + 65, // 54: nakama.realtime.ChannelMessageAck.create_time:type_name -> google.protobuf.Timestamp + 65, // 55: nakama.realtime.ChannelMessageAck.update_time:type_name -> google.protobuf.Timestamp + 63, // 56: nakama.realtime.ChannelMessageAck.persistent:type_name -> google.protobuf.BoolValue + 51, // 57: nakama.realtime.ChannelPresenceEvent.joins:type_name -> nakama.realtime.UserPresence + 51, // 58: nakama.realtime.ChannelPresenceEvent.leaves:type_name -> nakama.realtime.UserPresence + 52, // 59: nakama.realtime.Error.context:type_name -> nakama.realtime.Error.ContextEntry + 66, // 60: nakama.realtime.Match.label:type_name -> google.protobuf.StringValue + 51, // 61: nakama.realtime.Match.presences:type_name -> nakama.realtime.UserPresence + 51, // 62: nakama.realtime.Match.self:type_name -> nakama.realtime.UserPresence + 51, // 63: nakama.realtime.MatchData.presence:type_name -> nakama.realtime.UserPresence + 51, // 64: nakama.realtime.MatchDataSend.presences:type_name -> nakama.realtime.UserPresence + 53, // 65: nakama.realtime.MatchJoin.metadata:type_name -> nakama.realtime.MatchJoin.MetadataEntry + 51, // 66: nakama.realtime.MatchPresenceEvent.joins:type_name -> nakama.realtime.UserPresence + 51, // 67: nakama.realtime.MatchPresenceEvent.leaves:type_name -> nakama.realtime.UserPresence + 54, // 68: nakama.realtime.MatchmakerAdd.string_properties:type_name -> nakama.realtime.MatchmakerAdd.StringPropertiesEntry + 55, // 69: nakama.realtime.MatchmakerAdd.numeric_properties:type_name -> nakama.realtime.MatchmakerAdd.NumericPropertiesEntry + 64, // 70: nakama.realtime.MatchmakerAdd.count_multiple:type_name -> google.protobuf.Int32Value + 56, // 71: nakama.realtime.MatchmakerMatched.users:type_name -> nakama.realtime.MatchmakerMatched.MatchmakerUser + 56, // 72: nakama.realtime.MatchmakerMatched.self:type_name -> nakama.realtime.MatchmakerMatched.MatchmakerUser + 67, // 73: nakama.realtime.Notifications.notifications:type_name -> nakama.api.Notification + 51, // 74: nakama.realtime.Party.self:type_name -> nakama.realtime.UserPresence + 51, // 75: nakama.realtime.Party.leader:type_name -> nakama.realtime.UserPresence + 51, // 76: nakama.realtime.Party.presences:type_name -> nakama.realtime.UserPresence + 51, // 77: nakama.realtime.PartyPromote.presence:type_name -> nakama.realtime.UserPresence + 51, // 78: nakama.realtime.PartyLeader.presence:type_name -> nakama.realtime.UserPresence + 51, // 79: nakama.realtime.PartyAccept.presence:type_name -> nakama.realtime.UserPresence + 51, // 80: nakama.realtime.PartyRemove.presence:type_name -> nakama.realtime.UserPresence + 51, // 81: nakama.realtime.PartyJoinRequest.presences:type_name -> nakama.realtime.UserPresence + 59, // 82: nakama.realtime.PartyMatchmakerAdd.string_properties:type_name -> nakama.realtime.PartyMatchmakerAdd.StringPropertiesEntry + 60, // 83: nakama.realtime.PartyMatchmakerAdd.numeric_properties:type_name -> nakama.realtime.PartyMatchmakerAdd.NumericPropertiesEntry + 64, // 84: nakama.realtime.PartyMatchmakerAdd.count_multiple:type_name -> google.protobuf.Int32Value + 51, // 85: nakama.realtime.PartyData.presence:type_name -> nakama.realtime.UserPresence + 51, // 86: nakama.realtime.PartyPresenceEvent.joins:type_name -> nakama.realtime.UserPresence + 51, // 87: nakama.realtime.PartyPresenceEvent.leaves:type_name -> nakama.realtime.UserPresence + 51, // 88: nakama.realtime.Status.presences:type_name -> nakama.realtime.UserPresence + 51, // 89: nakama.realtime.StatusPresenceEvent.joins:type_name -> nakama.realtime.UserPresence + 51, // 90: nakama.realtime.StatusPresenceEvent.leaves:type_name -> nakama.realtime.UserPresence + 66, // 91: nakama.realtime.StatusUpdate.status:type_name -> google.protobuf.StringValue + 48, // 92: nakama.realtime.StreamData.stream:type_name -> nakama.realtime.Stream + 51, // 93: nakama.realtime.StreamData.sender:type_name -> nakama.realtime.UserPresence + 48, // 94: nakama.realtime.StreamPresenceEvent.stream:type_name -> nakama.realtime.Stream + 51, // 95: nakama.realtime.StreamPresenceEvent.joins:type_name -> nakama.realtime.UserPresence + 51, // 96: nakama.realtime.StreamPresenceEvent.leaves:type_name -> nakama.realtime.UserPresence + 66, // 97: nakama.realtime.UserPresence.status:type_name -> google.protobuf.StringValue + 51, // 98: nakama.realtime.MatchmakerMatched.MatchmakerUser.presence:type_name -> nakama.realtime.UserPresence + 57, // 99: nakama.realtime.MatchmakerMatched.MatchmakerUser.string_properties:type_name -> nakama.realtime.MatchmakerMatched.MatchmakerUser.StringPropertiesEntry + 58, // 100: nakama.realtime.MatchmakerMatched.MatchmakerUser.numeric_properties:type_name -> nakama.realtime.MatchmakerMatched.MatchmakerUser.NumericPropertiesEntry + 101, // [101:101] is the sub-list for method output_type + 101, // [101:101] is the sub-list for method input_type + 101, // [101:101] is the sub-list for extension type_name + 101, // [101:101] is the sub-list for extension extendee + 0, // [0:101] is the sub-list for field type_name +} + +func init() { file_realtime_proto_init() } +func file_realtime_proto_init() { + if File_realtime_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_realtime_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Envelope); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Channel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChannelJoin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChannelLeave); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChannelMessageAck); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChannelMessageSend); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChannelMessageUpdate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChannelMessageRemove); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChannelPresenceEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Error); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Match); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchCreate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchDataSend); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchJoin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchLeave); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchPresenceEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchmakerAdd); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchmakerMatched); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchmakerRemove); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchmakerTicket); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Notifications); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Party); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartyCreate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartyJoin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartyLeave); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartyPromote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartyLeader); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartyAccept); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartyRemove); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartyClose); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartyJoinRequestList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartyJoinRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartyMatchmakerAdd); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartyMatchmakerRemove); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartyMatchmakerTicket); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartyData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartyDataSend); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartyPresenceEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Ping); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Pong); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Status); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatusFollow); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatusPresenceEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatusUnfollow); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatusUpdate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Stream); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamPresenceEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserPresence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_realtime_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MatchmakerMatched_MatchmakerUser); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_realtime_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*Envelope_Channel)(nil), + (*Envelope_ChannelJoin)(nil), + (*Envelope_ChannelLeave)(nil), + (*Envelope_ChannelMessage)(nil), + (*Envelope_ChannelMessageAck)(nil), + (*Envelope_ChannelMessageSend)(nil), + (*Envelope_ChannelMessageUpdate)(nil), + (*Envelope_ChannelMessageRemove)(nil), + (*Envelope_ChannelPresenceEvent)(nil), + (*Envelope_Error)(nil), + (*Envelope_Match)(nil), + (*Envelope_MatchCreate)(nil), + (*Envelope_MatchData)(nil), + (*Envelope_MatchDataSend)(nil), + (*Envelope_MatchJoin)(nil), + (*Envelope_MatchLeave)(nil), + (*Envelope_MatchPresenceEvent)(nil), + (*Envelope_MatchmakerAdd)(nil), + (*Envelope_MatchmakerMatched)(nil), + (*Envelope_MatchmakerRemove)(nil), + (*Envelope_MatchmakerTicket)(nil), + (*Envelope_Notifications)(nil), + (*Envelope_Rpc)(nil), + (*Envelope_Status)(nil), + (*Envelope_StatusFollow)(nil), + (*Envelope_StatusPresenceEvent)(nil), + (*Envelope_StatusUnfollow)(nil), + (*Envelope_StatusUpdate)(nil), + (*Envelope_StreamData)(nil), + (*Envelope_StreamPresenceEvent)(nil), + (*Envelope_Ping)(nil), + (*Envelope_Pong)(nil), + (*Envelope_Party)(nil), + (*Envelope_PartyCreate)(nil), + (*Envelope_PartyJoin)(nil), + (*Envelope_PartyLeave)(nil), + (*Envelope_PartyPromote)(nil), + (*Envelope_PartyLeader)(nil), + (*Envelope_PartyAccept)(nil), + (*Envelope_PartyRemove)(nil), + (*Envelope_PartyClose)(nil), + (*Envelope_PartyJoinRequestList)(nil), + (*Envelope_PartyJoinRequest)(nil), + (*Envelope_PartyMatchmakerAdd)(nil), + (*Envelope_PartyMatchmakerRemove)(nil), + (*Envelope_PartyMatchmakerTicket)(nil), + (*Envelope_PartyData)(nil), + (*Envelope_PartyDataSend)(nil), + (*Envelope_PartyPresenceEvent)(nil), + } + file_realtime_proto_msgTypes[14].OneofWrappers = []interface{}{ + (*MatchJoin_MatchId)(nil), + (*MatchJoin_Token)(nil), + } + file_realtime_proto_msgTypes[18].OneofWrappers = []interface{}{ + (*MatchmakerMatched_MatchId)(nil), + (*MatchmakerMatched_Token)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_realtime_proto_rawDesc, + NumEnums: 2, + NumMessages: 59, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_realtime_proto_goTypes, + DependencyIndexes: file_realtime_proto_depIdxs, + EnumInfos: file_realtime_proto_enumTypes, + MessageInfos: file_realtime_proto_msgTypes, + }.Build() + File_realtime_proto = out.File + file_realtime_proto_rawDesc = nil + file_realtime_proto_goTypes = nil + file_realtime_proto_depIdxs = nil +} diff --git a/server/vendor/github.com/heroiclabs/nakama-common/rtapi/realtime.proto b/server/vendor/github.com/heroiclabs/nakama-common/rtapi/realtime.proto new file mode 100755 index 0000000..e5fbeb0 --- /dev/null +++ b/server/vendor/github.com/heroiclabs/nakama-common/rtapi/realtime.proto @@ -0,0 +1,668 @@ +// Copyright 2019 The Nakama Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * The realtime protocol for Nakama server. + */ +syntax = "proto3"; + +package nakama.realtime; + +import "google/protobuf/timestamp.proto"; +import "google/protobuf/wrappers.proto"; +import "api/api.proto"; + +option go_package = "github.com/heroiclabs/nakama-common/rtapi"; + +option java_multiple_files = true; +option java_outer_classname = "NakamaRealtime"; +option java_package = "com.heroiclabs.nakama.rtapi"; + +option csharp_namespace = "Nakama.Protobuf"; + +// An envelope for a realtime message. +message Envelope { + string cid = 1; + oneof message { + // A response from a channel join operation. + Channel channel = 2; + // Join a realtime chat channel. + ChannelJoin channel_join = 3; + // Leave a realtime chat channel. + ChannelLeave channel_leave = 4; + // An incoming message on a realtime chat channel. + api.ChannelMessage channel_message = 5; + // An acknowledgement received in response to sending a message on a chat channel. + ChannelMessageAck channel_message_ack = 6; + // Send a message to a realtime chat channel. + ChannelMessageSend channel_message_send = 7; + // Update a message previously sent to a realtime chat channel. + ChannelMessageUpdate channel_message_update = 8; + // Remove a message previously sent to a realtime chat channel. + ChannelMessageRemove channel_message_remove = 9; + // Presence update for a particular realtime chat channel. + ChannelPresenceEvent channel_presence_event = 10; + // Describes an error which occurred on the server. + Error error = 11; + // Incoming information about a realtime match. + Match match = 12; + // A client to server request to create a realtime match. + MatchCreate match_create = 13; + // Incoming realtime match data delivered from the server. + MatchData match_data = 14; + // A client to server request to send data to a realtime match. + MatchDataSend match_data_send = 15; + // A client to server request to join a realtime match. + MatchJoin match_join = 16; + // A client to server request to leave a realtime match. + MatchLeave match_leave = 17; + // Presence update for a particular realtime match. + MatchPresenceEvent match_presence_event = 18; + // Submit a new matchmaking process request. + MatchmakerAdd matchmaker_add = 19; + // A successful matchmaking result. + MatchmakerMatched matchmaker_matched = 20; + // Cancel a matchmaking process using a ticket. + MatchmakerRemove matchmaker_remove = 21; + // A response from starting a new matchmaking process. + MatchmakerTicket matchmaker_ticket = 22; + // Notifications send by the server. + Notifications notifications = 23; + // RPC call or response. + api.Rpc rpc = 24; + // An incoming status snapshot for some set of users. + Status status = 25; + // Start following some set of users to receive their status updates. + StatusFollow status_follow = 26; + // An incoming status update. + StatusPresenceEvent status_presence_event = 27; + // Stop following some set of users to no longer receive their status updates. + StatusUnfollow status_unfollow = 28; + // Set the user's own status. + StatusUpdate status_update = 29; + // A data message delivered over a stream. + StreamData stream_data = 30; + // Presence update for a particular stream. + StreamPresenceEvent stream_presence_event = 31; + // Application-level heartbeat and connection check. + Ping ping = 32; + // Application-level heartbeat and connection check response. + Pong pong = 33; + // Incoming information about a party. + Party party = 34; + // Create a party. + PartyCreate party_create = 35; + // Join a party, or request to join if the party is not open. + PartyJoin party_join = 36; + // Leave a party. + PartyLeave party_leave = 37; + // Promote a new party leader. + PartyPromote party_promote = 38; + // Announcement of a new party leader. + PartyLeader party_leader = 39; + // Accept a request to join. + PartyAccept party_accept = 40; + // Kick a party member, or decline a request to join. + PartyRemove party_remove = 41; + // End a party, kicking all party members and closing it. + PartyClose party_close = 42; + // Request a list of pending join requests for a party. + PartyJoinRequestList party_join_request_list = 43; + // Incoming notification for one or more new presences attempting to join the party. + PartyJoinRequest party_join_request = 44; + // Begin matchmaking as a party. + PartyMatchmakerAdd party_matchmaker_add = 45; + // Cancel a party matchmaking process using a ticket. + PartyMatchmakerRemove party_matchmaker_remove = 46; + // A response from starting a new party matchmaking process. + PartyMatchmakerTicket party_matchmaker_ticket = 47; + // Incoming party data delivered from the server. + PartyData party_data = 48; + // A client to server request to send data to a party. + PartyDataSend party_data_send = 49; + // Presence update for a particular party. + PartyPresenceEvent party_presence_event = 50; + } +} + +// A realtime chat channel. +message Channel { + // The ID of the channel. + string id = 1; + // The users currently in the channel. + repeated UserPresence presences = 2; + // A reference to the current user's presence in the channel. + UserPresence self = 3; + // The name of the chat room, or an empty string if this message was not sent through a chat room. + string room_name = 4; + // The ID of the group, or an empty string if this message was not sent through a group channel. + string group_id = 5; + // The ID of the first DM user, or an empty string if this message was not sent through a DM chat. + string user_id_one = 6; + // The ID of the second DM user, or an empty string if this message was not sent through a DM chat. + string user_id_two = 7; +} + +// Join operation for a realtime chat channel. +message ChannelJoin { + // The type of chat channel. + enum Type { + // Default case. Assumed as ROOM type. + TYPE_UNSPECIFIED = 0; + // A room which anyone can join to chat. + ROOM = 1; + // A private channel for 1-on-1 chat. + DIRECT_MESSAGE = 2; + // A channel for group chat. + GROUP = 3; + } + + // The user ID to DM with, group ID to chat with, or room channel name to join. + string target = 1; + // The type of the chat channel. + int32 type = 2; // one of "ChannelId.Type". + // Whether messages sent on this channel should be persistent. + google.protobuf.BoolValue persistence = 3; + // Whether the user should appear in the channel's presence list and events. + google.protobuf.BoolValue hidden = 4; +} + +// Leave a realtime channel. +message ChannelLeave { + // The ID of the channel to leave. + string channel_id = 1; +} + +// A receipt reply from a channel message send operation. +message ChannelMessageAck { + // The channel the message was sent to. + string channel_id = 1; + // The unique ID assigned to the message. + string message_id = 2; + // The code representing a message type or category. + google.protobuf.Int32Value code = 3; + // Username of the message sender. + string username = 4; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the message was created. + google.protobuf.Timestamp create_time = 5; + // The UNIX time (for gRPC clients) or ISO string (for REST clients) when the message was last updated. + google.protobuf.Timestamp update_time = 6; + // True if the message was persisted to the channel's history, false otherwise. + google.protobuf.BoolValue persistent = 7; + // The name of the chat room, or an empty string if this message was not sent through a chat room. + string room_name = 8; + // The ID of the group, or an empty string if this message was not sent through a group channel. + string group_id = 9; + // The ID of the first DM user, or an empty string if this message was not sent through a DM chat. + string user_id_one = 10; + // The ID of the second DM user, or an empty string if this message was not sent through a DM chat. + string user_id_two = 11; +} + +// Send a message to a realtime channel. +message ChannelMessageSend { + // The channel to sent to. + string channel_id = 1; + // Message content. + string content = 2; +} + +// Update a message previously sent to a realtime channel. +message ChannelMessageUpdate { + // The channel the message was sent to. + string channel_id = 1; + // The ID assigned to the message to update. + string message_id = 2; + // New message content. + string content = 3; +} + +// Remove a message previously sent to a realtime channel. +message ChannelMessageRemove { + // The channel the message was sent to. + string channel_id = 1; + // The ID assigned to the message to update. + string message_id = 2; +} + +// A set of joins and leaves on a particular channel. +message ChannelPresenceEvent { + // The channel identifier this event is for. + string channel_id = 1; + // Presences joining the channel as part of this event, if any. + repeated UserPresence joins = 2; + // Presences leaving the channel as part of this event, if any. + repeated UserPresence leaves = 3; + // The name of the chat room, or an empty string if this message was not sent through a chat room. + string room_name = 4; + // The ID of the group, or an empty string if this message was not sent through a group channel. + string group_id = 5; + // The ID of the first DM user, or an empty string if this message was not sent through a DM chat. + string user_id_one = 6; + // The ID of the second DM user, or an empty string if this message was not sent through a DM chat. + string user_id_two = 7; +} + +// A logical error which may occur on the server. +message Error { + // The selection of possible error codes. + enum Code { + // An unexpected result from the server. + RUNTIME_EXCEPTION = 0; + // The server received a message which is not recognised. + UNRECOGNIZED_PAYLOAD = 1; + // A message was expected but contains no content. + MISSING_PAYLOAD = 2; + // Fields in the message have an invalid format. + BAD_INPUT = 3; + // The match id was not found. + MATCH_NOT_FOUND = 4; + // The match join was rejected. + MATCH_JOIN_REJECTED = 5; + // The runtime function does not exist on the server. + RUNTIME_FUNCTION_NOT_FOUND = 6; + // The runtime function executed with an error. + RUNTIME_FUNCTION_EXCEPTION = 7; + } + + // The error code which should be one of "Error.Code" enums. + int32 code = 1; + // A message in English to help developers debug the response. + string message = 2; + // Additional error details which may be different for each response. + map context = 3; +} + +// A realtime match. +message Match { + // The match unique ID. + string match_id = 1; + // True if it's an server-managed authoritative match, false otherwise. + bool authoritative = 2; + // Match label, if any. + google.protobuf.StringValue label = 3; + // The number of users currently in the match. + int32 size = 4; + // The users currently in the match. + repeated UserPresence presences = 5; + // A reference to the current user's presence in the match. + UserPresence self = 6; +} + +// Create a new realtime match. +message MatchCreate { + // Optional name to use when creating the match. + string name = 1; +} + +// Realtime match data received from the server. +message MatchData { + // The match unique ID. + string match_id = 1; + // A reference to the user presence that sent this data, if any. + UserPresence presence = 2; + // Op code value. + int64 op_code = 3; + // Data payload, if any. + bytes data = 4; + // True if this data was delivered reliably, false otherwise. + bool reliable = 5; +} + +// Send realtime match data to the server. +message MatchDataSend { + // The match unique ID. + string match_id = 1; + // Op code value. + int64 op_code = 2; + // Data payload, if any. + bytes data = 3; + // List of presences in the match to deliver to, if filtering is required. Otherwise deliver to everyone in the match. + repeated UserPresence presences = 4; + // True if the data should be sent reliably, false otherwise. + bool reliable = 5; +} + +// Join an existing realtime match. +message MatchJoin { + oneof id { + // The match unique ID. + string match_id = 1; + // A matchmaking result token. + string token = 2; + } + // An optional set of key-value metadata pairs to be passed to the match handler, if any. + map metadata = 3; +} + +// Leave a realtime match. +message MatchLeave { + // The match unique ID. + string match_id = 1; +} + +// A set of joins and leaves on a particular realtime match. +message MatchPresenceEvent { + // The match unique ID. + string match_id = 1; + // User presences that have just joined the match. + repeated UserPresence joins = 2; + // User presences that have just left the match. + repeated UserPresence leaves = 3; +} + +// Start a new matchmaking process. +message MatchmakerAdd { + // Minimum total user count to match together. + int32 min_count = 1; + // Maximum total user count to match together. + int32 max_count = 2; + // Filter query used to identify suitable users. + string query = 3; + // String properties. + map string_properties = 4; + // Numeric properties. + map numeric_properties = 5; + // Optional multiple of the count that must be satisfied. + google.protobuf.Int32Value count_multiple = 6; +} + +// A successful matchmaking result. +message MatchmakerMatched { + message MatchmakerUser { + // User info. + UserPresence presence = 1; + // Party identifier, if this user was matched as a party member. + string party_id = 2; + // String properties. + map string_properties = 5; + // Numeric properties. + map numeric_properties = 6; + } + + // The matchmaking ticket that has completed. + string ticket = 1; + // The match token or match ID to join. + oneof id { + // Match ID. + string match_id = 2; + // Match join token. + string token = 3; + } + // The users that have been matched together, and information about their matchmaking data. + repeated MatchmakerUser users = 4; + // A reference to the current user and their properties. + MatchmakerUser self = 5; +} + +// Cancel an existing ongoing matchmaking process. +message MatchmakerRemove { + // The ticket to cancel. + string ticket = 1; +} + +// A ticket representing a new matchmaking process. +message MatchmakerTicket { + // The ticket that can be used to cancel matchmaking. + string ticket = 1; +} + +// A collection of zero or more notifications. +message Notifications { + // Collection of notifications. + repeated api.Notification notifications = 1; +} + +// Incoming information about a party. +message Party { + // Unique party identifier. + string party_id = 1; + // Open flag. + bool open = 2; + // Maximum number of party members. + int32 max_size = 3; + // Self. + UserPresence self = 4; + // Leader. + UserPresence leader = 5; + // All current party members. + repeated UserPresence presences = 6; +} + +// Create a party. +message PartyCreate { + // Whether or not the party will require join requests to be approved by the party leader. + bool open = 1; + // Maximum number of party members. + int32 max_size = 2; +} + +// Join a party, or request to join if the party is not open. +message PartyJoin { + // Party ID to join. + string party_id = 1; +} + +// Leave a party. +message PartyLeave { + // Party ID to leave. + string party_id = 1; +} + +// Promote a new party leader. +message PartyPromote { + // Party ID to promote a new leader for. + string party_id = 1; + // The presence of an existing party member to promote as the new leader. + UserPresence presence = 2; +} + +// Announcement of a new party leader. +message PartyLeader { + // Party ID to announce the new leader for. + string party_id = 1; + // The presence of the new party leader. + UserPresence presence = 2; +} + +// Accept a request to join. +message PartyAccept { + // Party ID to accept a join request for. + string party_id = 1; + // The presence to accept as a party member. + UserPresence presence = 2; +} + +// Kick a party member, or decline a request to join. +message PartyRemove { + // Party ID to remove/reject from. + string party_id = 1; + // The presence to remove or reject. + UserPresence presence = 2; +} + +// End a party, kicking all party members and closing it. +message PartyClose { + // Party ID to close. + string party_id = 1; +} + +// Request a list of pending join requests for a party. +message PartyJoinRequestList { + // Party ID to get a list of join requests for. + string party_id = 1; +} + +// Incoming notification for one or more new presences attempting to join the party. +message PartyJoinRequest { + // Party ID these presences are attempting to join. + string party_id = 1; + // Presences attempting to join. + repeated UserPresence presences = 2; +} + +// Begin matchmaking as a party. +message PartyMatchmakerAdd { + // Party ID. + string party_id = 1; + // Minimum total user count to match together. + int32 min_count = 2; + // Maximum total user count to match together. + int32 max_count = 3; + // Filter query used to identify suitable users. + string query = 4; + // String properties. + map string_properties = 5; + // Numeric properties. + map numeric_properties = 6; + // Optional multiple of the count that must be satisfied. + google.protobuf.Int32Value count_multiple = 7; +} + +// Cancel a party matchmaking process using a ticket. +message PartyMatchmakerRemove { + // Party ID. + string party_id = 1; + // The ticket to cancel. + string ticket = 2; +} + +// A response from starting a new party matchmaking process. +message PartyMatchmakerTicket { + // Party ID. + string party_id = 1; + // The ticket that can be used to cancel matchmaking. + string ticket = 2; +} + +// Incoming party data delivered from the server. +message PartyData { + // The party ID. + string party_id = 1; + // A reference to the user presence that sent this data, if any. + UserPresence presence = 2; + // Op code value. + int64 op_code = 3; + // Data payload, if any. + bytes data = 4; +} + +// Send data to a party. +message PartyDataSend { + // Party ID to send to. + string party_id = 1; + // Op code value. + int64 op_code = 2; + // Data payload, if any. + bytes data = 3; +} + +// Presence update for a particular party. +message PartyPresenceEvent { + // The party ID. + string party_id = 1; + // User presences that have just joined the party. + repeated UserPresence joins = 2; + // User presences that have just left the party. + repeated UserPresence leaves = 3; +} + + +// Application-level heartbeat and connection check. +message Ping {} + +// Application-level heartbeat and connection check response. +message Pong {} + +// A snapshot of statuses for some set of users. +message Status { + // User statuses. + repeated UserPresence presences = 1; +} + +// Start receiving status updates for some set of users. +message StatusFollow { + // User IDs to follow. + repeated string user_ids = 1; + // Usernames to follow. + repeated string usernames = 2; +} + +// A batch of status updates for a given user. +message StatusPresenceEvent { + // New statuses for the user. + repeated UserPresence joins = 2; + // Previous statuses for the user. + repeated UserPresence leaves = 3; +} + +// Stop receiving status updates for some set of users. +message StatusUnfollow { + // Users to unfollow. + repeated string user_ids = 1; +} + +// Set the user's own status. +message StatusUpdate { + // Status string to set, if not present the user will appear offline. + google.protobuf.StringValue status = 1; +} + +// Represents identifying information for a stream. +message Stream { + // Mode identifies the type of stream. + int32 mode = 1; + // Subject is the primary identifier, if any. + string subject = 2; + // Subcontext is a secondary identifier, if any. + string subcontext = 3; + // The label is an arbitrary identifying string, if the stream has one. + string label = 4; +} + +// A data message delivered over a stream. +message StreamData { + // The stream this data message relates to. + Stream stream = 1; + // The sender, if any. + UserPresence sender = 2; + // Arbitrary contents of the data message. + string data = 3; + // True if this data was delivered reliably, false otherwise. + bool reliable = 4; +} + +// A set of joins and leaves on a particular stream. +message StreamPresenceEvent { + // The stream this event relates to. + Stream stream = 1; + // Presences joining the stream as part of this event, if any. + repeated UserPresence joins = 2; + // Presences leaving the stream as part of this event, if any. + repeated UserPresence leaves = 3; +} + +// A user session associated to a stream, usually through a list operation or a join/leave event. +message UserPresence { + // The user this presence belongs to. + string user_id = 1; + // A unique session ID identifying the particular connection, because the user may have many. + string session_id = 2; + // The username for display purposes. + string username = 3; + // Whether this presence generates persistent data/messages, if applicable for the stream type. + bool persistence = 4; + // A user-set status message for this stream, if applicable. + google.protobuf.StringValue status = 5; +} diff --git a/server/vendor/github.com/heroiclabs/nakama-common/runtime/runtime.go b/server/vendor/github.com/heroiclabs/nakama-common/runtime/runtime.go new file mode 100755 index 0000000..7c1de48 --- /dev/null +++ b/server/vendor/github.com/heroiclabs/nakama-common/runtime/runtime.go @@ -0,0 +1,1339 @@ +// Copyright 2019 The Nakama Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* +Package runtime is an API to interact with the embedded Runtime environment in Nakama. + +The game server includes support to develop native code in Go with the plugin package from the Go stdlib. +It's used to enable compiled shared objects to be loaded by the game server at startup. + +The Go runtime support can be used to develop authoritative multiplayer match handlers, +RPC functions, hook into messages processed by the server, and extend the server with any other custom logic. +It offers the same capabilities as the Lua runtime support but has the advantage that any package from the Go ecosystem can be used. + +Here's the smallest example of a Go module written with the server runtime. + + package main + + import ( + "context" + "database/sql" + "log" + + "github.com/heroiclabs/nakama-common/runtime" + ) + + func InitModule(ctx context.Context, logger Logger, db *sql.DB, nk runtime.NakamaModule, initializer runtime.Initializer) error { + if err := initializer.RegisterRpc("get_time", getServerTime); err != nil { + return err + } + logger.Println("module loaded") + return nil + } + + func getServerTime(ctx context.Context, logger Logger, db *sql.DB, nk runtime.NakamaModule, payload string) (string, error) { + serverTime := map[string]int64 { + "time": time.Now().UTC().Unix(), + } + + response, err := json.Marshal(serverTime) + if err != nil { + logger.Printf("failed to marshal response: %v", response) + return "", errors.New("internal error; see logs") + } + return string(response), nil + } + +On server start, Nakama scans the module directory folder (https://heroiclabs.com/docs/runtime-code-basics/#load-modules). +If it finds a shared object file (*.so), it attempts to open the file as a plugin and initialize it by running the InitModule function. +This function is guaranteed to ever be invoked once during the uptime of the server. + +To setup your own project to build modules for the game server you can follow these steps. + + 1. Build Nakama from source: + go get -d github.com/heroiclabs/nakama-common + cd $GOPATH/src/github.com/heroiclabs/nakama-common + env CGO_ENABLED=1 go build + + 2. Setup a folder for your own server code: + mkdir -p $GOPATH/src/some_project + cd $GOPATH/src/some_project + + 3. Build your plugin as a shared object: + go build --buildmode=plugin -o ./modules/some_project.so + +NOTE: It is not possible to build plugins on Windows with the native compiler toolchain but they can be cross-compiled and run with Docker. + + 4. Start Nakama with your module: + $GOPATH/src/github.com/heroiclabs/nakama-common/nakama --runtime.path $GOPATH/src/plugin_project/modules + +TIP: You don't have to install Nakama from source but you still need to have the `api`, `rtapi` and `runtime` packages from Nakama on your `GOPATH`. Heroic Labs also offers a docker plugin-builder image that streamlines the plugin workflow. + +For more information about the Go runtime have a look at the docs: +https://heroiclabs.com/docs/runtime-code-basics +*/ +package runtime + +import ( + "context" + "database/sql" + "errors" + "fmt" + "os" + "time" + + "github.com/heroiclabs/nakama-common/api" + "github.com/heroiclabs/nakama-common/rtapi" +) + +const ( + // All available environmental variables made available to the runtime environment. + // This is useful to store API keys and other secrets which may be different between servers run in production and in development. + // envs := ctx.Value(runtime.RUNTIME_CTX_ENV).(map[string]string) + // This can always be safely cast into a `map[string]string`. + RUNTIME_CTX_ENV = "env" + + // The mode associated with the execution context. It's one of these values: + // "event", "run_once", "rpc", "before", "after", "match", "matchmaker", "leaderboard_reset", "tournament_reset", "tournament_end". + RUNTIME_CTX_MODE = "execution_mode" + + // The node ID where the current runtime context is executing. + RUNTIME_CTX_NODE = "node" + + // Server version. + RUNTIME_CTX_VERSION = "version" + + // Http headers. Only applicable to HTTP RPC requests. + RUNTIME_CTX_HEADERS = "headers" + + // Query params that was passed through from HTTP request. + RUNTIME_CTX_QUERY_PARAMS = "query_params" + + // The user ID associated with the execution context. + RUNTIME_CTX_USER_ID = "user_id" + + // The username associated with the execution context. + RUNTIME_CTX_USERNAME = "username" + + // Variables stored in the user's session token. + RUNTIME_CTX_VARS = "vars" + + // The user session expiry in seconds associated with the execution context. + RUNTIME_CTX_USER_SESSION_EXP = "user_session_exp" + + // The user session associated with the execution context. + RUNTIME_CTX_SESSION_ID = "session_id" + + // The user session's lang value, if one is set. + RUNTIME_CTX_LANG = "lang" + + // The IP address of the client making the request. + RUNTIME_CTX_CLIENT_IP = "client_ip" + + // The port number of the client making the request. + RUNTIME_CTX_CLIENT_PORT = "client_port" + + // The match ID that is currently being executed. Only applicable to server authoritative multiplayer. + RUNTIME_CTX_MATCH_ID = "match_id" + + // The node ID that the match is being executed on. Only applicable to server authoritative multiplayer. + RUNTIME_CTX_MATCH_NODE = "match_node" + + // Labels associated with the match. Only applicable to server authoritative multiplayer. + RUNTIME_CTX_MATCH_LABEL = "match_label" + + // Tick rate defined for this match. Only applicable to server authoritative multiplayer. + RUNTIME_CTX_MATCH_TICK_RATE = "match_tick_rate" +) + +var ( + ErrStorageRejectedVersion = errors.New("Storage write rejected - version check failed.") + ErrStorageRejectedPermission = errors.New("Storage write rejected - permission denied.") + + ErrChannelIDInvalid = errors.New("invalid channel id") + ErrChannelCursorInvalid = errors.New("invalid channel cursor") + ErrChannelGroupNotFound = errors.New("group not found") + + ErrInvalidChannelTarget = errors.New("Invalid channel target") + ErrInvalidChannelType = errors.New("Invalid channel type") + + ErrFriendInvalidCursor = errors.New("friend cursor invalid") + + ErrTournamentNotFound = errors.New("tournament not found") + ErrTournamentAuthoritative = errors.New("tournament only allows authoritative submissions") + ErrTournamentMaxSizeReached = errors.New("tournament max size reached") + ErrTournamentOutsideDuration = errors.New("tournament outside of duration") + ErrTournamentWriteMaxNumScoreReached = errors.New("max number score count reached") + ErrTournamentWriteJoinRequired = errors.New("required to join before writing tournament record") + + ErrMatchmakerQueryInvalid = errors.New("matchmaker query invalid") + ErrMatchmakerDuplicateSession = errors.New("matchmaker duplicate session") + ErrMatchmakerIndex = errors.New("matchmaker index error") + ErrMatchmakerDelete = errors.New("matchmaker delete error") + ErrMatchmakerNotAvailable = errors.New("matchmaker not available") + ErrMatchmakerTooManyTickets = errors.New("matchmaker too many tickets") + ErrMatchmakerTicketNotFound = errors.New("matchmaker ticket not found") + + ErrPartyClosed = errors.New("party closed") + ErrPartyFull = errors.New("party full") + ErrPartyJoinRequestDuplicate = errors.New("party join request duplicate") + ErrPartyJoinRequestAlreadyMember = errors.New("party join request already member") + ErrPartyJoinRequestsFull = errors.New("party join requests full") + ErrPartyNotLeader = errors.New("party leader only") + ErrPartyNotMember = errors.New("party member not found") + ErrPartyNotRequest = errors.New("party join request not found") + ErrPartyAcceptRequest = errors.New("party could not accept request") + ErrPartyRemove = errors.New("party could not remove") + ErrPartyRemoveSelf = errors.New("party cannot remove self") + + ErrGroupNameInUse = errors.New("group name in use") + ErrGroupPermissionDenied = errors.New("group permission denied") + ErrGroupNoUpdateOps = errors.New("no group updates") + ErrGroupNotUpdated = errors.New("group not updated") + ErrGroupNotFound = errors.New("group not found") + ErrGroupFull = errors.New("group is full") + ErrGroupUserNotFound = errors.New("user not found") + ErrGroupLastSuperadmin = errors.New("user is last group superadmin") + ErrGroupUserInvalidCursor = errors.New("group user cursor invalid") + ErrUserGroupInvalidCursor = errors.New("user group cursor invalid") + ErrGroupCreatorInvalid = errors.New("group creator user ID not valid") + + ErrWalletLedgerInvalidCursor = errors.New("wallet ledger cursor invalid") + + ErrCannotEncodeParams = errors.New("error creating match: cannot encode params") + ErrCannotDecodeParams = errors.New("error creating match: cannot decode params") + ErrMatchIdInvalid = errors.New("match id invalid") + ErrMatchNotFound = errors.New("match not found") + ErrMatchBusy = errors.New("match busy") + ErrMatchStateFailed = errors.New("match did not return state") + ErrMatchLabelTooLong = errors.New("match label too long, must be 0-2048 bytes") + ErrDeferredBroadcastFull = errors.New("too many deferred message broadcasts per tick") + + ErrSatoriConfigurationInvalid = errors.New("satori configuration is invalid") +) + +const ( + // Storage permission for public read, any user can read the object. + STORAGE_PERMISSION_PUBLIC_READ = 2 + + // Storage permission for owner read, only the user who owns it may access. + STORAGE_PERMISSION_OWNER_READ = 1 + + // Storage permission for no read. The object is only readable by server runtime. + STORAGE_PERMISSION_NO_READ = 0 + + // Storage permission for owner write, only the user who owns it may write. + STORAGE_PERMISSION_OWNER_WRITE = 1 + + // Storage permission for no write. The object is only writable by server runtime. + STORAGE_PERMISSION_NO_WRITE = 0 +) + +/* +Error is used to indicate a failure in code. The message and code are returned to the client. +If an Error is used as response for a HTTP/gRPC request, then the server tries to use the error value as the gRPC error code. This will in turn translate to HTTP status codes. + +For more information, please have a look at the following: + + https://github.com/grpc/grpc-go/blob/master/codes/codes.go + https://github.com/grpc-ecosystem/grpc-gateway/blob/master/runtime/errors.go + https://golang.org/pkg/net/http/ +*/ +type Error struct { + Message string + Code int +} + +// Error returns the encapsulated error message. +func (e *Error) Error() string { + return e.Message +} + +/* +NewError returns a new error. The message and code are sent directly to the client. The code field is also optionally translated to gRPC/HTTP code. + + runtime.NewError("Server unavailable", 14) // 14 = Unavailable = 503 HTTP status code +*/ +func NewError(message string, code int) *Error { + return &Error{Message: message, Code: code} +} + +/* +Logger exposes a logging framework to use in modules. It exposes level-specific logging functions and a set of common functions for compatibility. +*/ +type Logger interface { + /* + Log a message with optional arguments at DEBUG level. Arguments are handled in the manner of fmt.Printf. + */ + Debug(format string, v ...interface{}) + /* + Log a message with optional arguments at INFO level. Arguments are handled in the manner of fmt.Printf. + */ + Info(format string, v ...interface{}) + /* + Log a message with optional arguments at WARN level. Arguments are handled in the manner of fmt.Printf. + */ + Warn(format string, v ...interface{}) + /* + Log a message with optional arguments at ERROR level. Arguments are handled in the manner of fmt.Printf. + */ + Error(format string, v ...interface{}) + /* + Return a logger with the specified field set so that they are included in subsequent logging calls. + */ + WithField(key string, v interface{}) Logger + /* + Return a logger with the specified fields set so that they are included in subsequent logging calls. + */ + WithFields(fields map[string]interface{}) Logger + /* + Returns the fields set in this logger. + */ + Fields() map[string]interface{} +} + +/* +Initializer is used to register various callback functions with the server. +It is made available to the InitModule function as an input parameter when the function is invoked by the server when loading the module on server start. + +NOTE: You must not cache the reference to this and reuse it as a later point as this could have unintended side effects. +*/ +type Initializer interface { + /* + RegisterRpc registers a function with the given ID. This ID can be used within client code to send an RPC message to + execute the function and return the result. Results are always returned as a JSON string (or optionally empty string). + + If there is an issue with the RPC call, return an empty string and the associated error which will be returned to the client. + */ + RegisterRpc(id string, fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, payload string) (string, error)) error + + /* + RegisterBeforeRt registers a function with for a message. Any function may be registered to intercept a message received from a client and operate on it (or reject it) based on custom logic. + This is useful to enforce specific rules on top of the standard features in the server. + + You can return `nil` instead of the `rtapi.Envelope` and this will disable that particular server functionality. + + Message names can be found here: https://heroiclabs.com/docs/runtime-code-basics/#message-names + */ + RegisterBeforeRt(id string, fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *rtapi.Envelope) (*rtapi.Envelope, error)) error + + /* + RegisterAfterRt registers a function for a message. The registered function will be called after the message has been processed in the pipeline. + The custom code will be executed asynchronously after the response message has been sent to a client + + Message names can be found here: https://heroiclabs.com/docs/runtime-code-basics/#message-names + */ + RegisterAfterRt(id string, fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out, in *rtapi.Envelope) error) error + + // RegisterMatchmakerMatched + RegisterMatchmakerMatched(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, entries []MatchmakerEntry) (string, error)) error + + // RegisterMatchmakerOverride + RegisterMatchmakerOverride(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, candidateMatches [][]MatchmakerEntry) (matches [][]MatchmakerEntry)) error + + // RegisterMatch + RegisterMatch(name string, fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule) (Match, error)) error + + // RegisterTournamentEnd + RegisterTournamentEnd(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, tournament *api.Tournament, end, reset int64) error) error + + // RegisterTournamentReset + RegisterTournamentReset(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, tournament *api.Tournament, end, reset int64) error) error + + // RegisterLeaderboardReset + RegisterLeaderboardReset(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, leaderboard *api.Leaderboard, reset int64) error) error + + // RegisterPurchaseNotificationApple + RegisterPurchaseNotificationApple(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, purchase *api.ValidatedPurchase, providerPayload string) error) error + + // RegisterSubscriptionNotificationApple + RegisterSubscriptionNotificationApple(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, subscription *api.ValidatedSubscription, providerPayload string) error) error + + // RegisterPurchaseNotificationGoogle + RegisterPurchaseNotificationGoogle(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, purchase *api.ValidatedPurchase, providerPayload string) error) error + + // RegisterSubscriptionNotificationGoogle + RegisterSubscriptionNotificationGoogle(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, subscription *api.ValidatedSubscription, providerPayload string) error) error + + // RegisterBeforeGetAccount is used to register a function invoked when the server receives the relevant request. + RegisterBeforeGetAccount(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule) error) error + + // RegisterAfterGetAccount is used to register a function invoked after the server processes the relevant request. + RegisterAfterGetAccount(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.Account) error) error + + // RegisterBeforeUpdateAccount is used to register a function invoked when the server receives the relevant request. + RegisterBeforeUpdateAccount(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.UpdateAccountRequest) (*api.UpdateAccountRequest, error)) error + + // RegisterAfterUpdateAccount is used to register a function invoked after the server processes the relevant request. + RegisterAfterUpdateAccount(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.UpdateAccountRequest) error) error + + // RegisterBeforeDeleteAccount is used to register a function invoked when the server receives the relevant request. + RegisterBeforeDeleteAccount(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule) error) error + + // RegisterAfterDeleteAccount is used to register a function invoked after the server processes the relevant request. + RegisterAfterDeleteAccount(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule) error) error + + // RegisterBeforeSessionRefresh can be used to perform pre-refresh checks. + RegisterBeforeSessionRefresh(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.SessionRefreshRequest) (*api.SessionRefreshRequest, error)) error + + // RegisterAfterSessionRefresh can be used to perform after successful refresh checks. + RegisterAfterSessionRefresh(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.Session, in *api.SessionRefreshRequest) error) error + + // RegisterBeforeSessionLogout can be used to perform pre-logout checks. + RegisterBeforeSessionLogout(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.SessionLogoutRequest) (*api.SessionLogoutRequest, error)) error + + // RegisterAfterSessionLogout can be used to perform after successful logout checks. + RegisterAfterSessionLogout(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.SessionLogoutRequest) error) error + + // RegisterBeforeAuthenticateApple can be used to perform pre-authentication checks. + RegisterBeforeAuthenticateApple(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AuthenticateAppleRequest) (*api.AuthenticateAppleRequest, error)) error + + // RegisterAfterAuthenticateApple can be used to perform after successful authentication checks. + RegisterAfterAuthenticateApple(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.Session, in *api.AuthenticateAppleRequest) error) error + + // RegisterBeforeAuthenticateCustom can be used to perform pre-authentication checks. + // You can use this to process the input (such as decoding custom tokens) and ensure inter-compatibility between Nakama and your own custom system. + RegisterBeforeAuthenticateCustom(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AuthenticateCustomRequest) (*api.AuthenticateCustomRequest, error)) error + + // RegisterAfterAuthenticateCustom can be used to perform after successful authentication checks. + // For instance, you can run special logic if the account was just created like adding them to newcomers leaderboard. + RegisterAfterAuthenticateCustom(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.Session, in *api.AuthenticateCustomRequest) error) error + + // RegisterBeforeAuthenticateDevice can be used to perform pre-authentication checks. + RegisterBeforeAuthenticateDevice(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AuthenticateDeviceRequest) (*api.AuthenticateDeviceRequest, error)) error + + // RegisterAfterAuthenticateDevice can be used to perform after successful authentication checks. + RegisterAfterAuthenticateDevice(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.Session, in *api.AuthenticateDeviceRequest) error) error + + // RegisterBeforeAuthenticateEmail can be used to perform pre-authentication checks. + RegisterBeforeAuthenticateEmail(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AuthenticateEmailRequest) (*api.AuthenticateEmailRequest, error)) error + + // RegisterAfterAuthenticateEmail can be used to perform after successful authentication checks. + RegisterAfterAuthenticateEmail(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.Session, in *api.AuthenticateEmailRequest) error) error + + // RegisterBeforeAuthenticateFacebook can be used to perform pre-authentication checks. + RegisterBeforeAuthenticateFacebook(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AuthenticateFacebookRequest) (*api.AuthenticateFacebookRequest, error)) error + + // RegisterAfterAuthenticateFacebook can be used to perform after successful authentication checks. + RegisterAfterAuthenticateFacebook(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.Session, in *api.AuthenticateFacebookRequest) error) error + + // RegisterBeforeAuthenticateFacebookInstantGame can be used to perform pre-authentication checks. + RegisterBeforeAuthenticateFacebookInstantGame(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AuthenticateFacebookInstantGameRequest) (*api.AuthenticateFacebookInstantGameRequest, error)) error + + // RegisterAfterAuthenticateFacebookInstantGame can be used to perform after successful authentication checks. + RegisterAfterAuthenticateFacebookInstantGame(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.Session, in *api.AuthenticateFacebookInstantGameRequest) error) error + + // RegisterBeforeAuthenticateGameCenter can be used to perform pre-authentication checks. + RegisterBeforeAuthenticateGameCenter(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AuthenticateGameCenterRequest) (*api.AuthenticateGameCenterRequest, error)) error + + // RegisterAfterAuthenticateGameCenter can be used to perform after successful authentication checks. + RegisterAfterAuthenticateGameCenter(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.Session, in *api.AuthenticateGameCenterRequest) error) error + + // RegisterBeforeAuthenticateGoogle can be used to perform pre-authentication checks. + RegisterBeforeAuthenticateGoogle(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AuthenticateGoogleRequest) (*api.AuthenticateGoogleRequest, error)) error + + // RegisterAfterAuthenticateGoogle can be used to perform after successful authentication checks. + RegisterAfterAuthenticateGoogle(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.Session, in *api.AuthenticateGoogleRequest) error) error + + // RegisterBeforeAuthenticateSteam can be used to perform pre-authentication checks. + RegisterBeforeAuthenticateSteam(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AuthenticateSteamRequest) (*api.AuthenticateSteamRequest, error)) error + + // RegisterAfterAuthenticateSteam can be used to perform after successful authentication checks. + RegisterAfterAuthenticateSteam(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.Session, in *api.AuthenticateSteamRequest) error) error + + // RegisterBeforeListChannelMessages can be used to perform additional logic before listing messages on a channel. + RegisterBeforeListChannelMessages(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ListChannelMessagesRequest) (*api.ListChannelMessagesRequest, error)) error + + // RegisterAfterListChannelMessages can be used to perform additional logic after messages for a channel is listed. + RegisterAfterListChannelMessages(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.ChannelMessageList, in *api.ListChannelMessagesRequest) error) error + + // RegisterBeforeListChannelMessages can be used to perform additional logic before listing friends. + RegisterBeforeListFriends(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ListFriendsRequest) (*api.ListFriendsRequest, error)) error + + // RegisterAfterListFriends can be used to perform additional logic after friends are listed. + RegisterAfterListFriends(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.FriendList) error) error + + // RegisterBeforeAddFriends can be used to perform additional logic before friends are added. + RegisterBeforeAddFriends(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AddFriendsRequest) (*api.AddFriendsRequest, error)) error + + // RegisterAfterAddFriends can be used to perform additional logic after friends are added. + RegisterAfterAddFriends(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AddFriendsRequest) error) error + + // RegisterBeforeDeleteFriends can be used to perform additional logic before friends are deleted. + RegisterBeforeDeleteFriends(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.DeleteFriendsRequest) (*api.DeleteFriendsRequest, error)) error + + // RegisterAfterDeleteFriends can be used to perform additional logic after friends are deleted. + RegisterAfterDeleteFriends(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.DeleteFriendsRequest) error) error + + // RegisterBeforeBlockFriends can be used to perform additional logic before friends are blocked. + RegisterBeforeBlockFriends(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.BlockFriendsRequest) (*api.BlockFriendsRequest, error)) error + + // RegisterAfterBlockFriends can be used to perform additional logic after friends are blocked. + RegisterAfterBlockFriends(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.BlockFriendsRequest) error) error + + // RegisterBeforeImportFacebookFriends can be used to perform additional logic before Facebook friends are imported. + RegisterBeforeImportFacebookFriends(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ImportFacebookFriendsRequest) (*api.ImportFacebookFriendsRequest, error)) error + + // RegisterAfterImportFacebookFriends can be used to perform additional logic after Facebook friends are imported. + RegisterAfterImportFacebookFriends(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ImportFacebookFriendsRequest) error) error + + // RegisterBeforeImportSteamFriends can be used to perform additional logic before Facebook friends are imported. + RegisterBeforeImportSteamFriends(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ImportSteamFriendsRequest) (*api.ImportSteamFriendsRequest, error)) error + + // RegisterAfterImportSteamFriends can be used to perform additional logic after Facebook friends are imported. + RegisterAfterImportSteamFriends(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ImportSteamFriendsRequest) error) error + + // RegisterBeforeCreateGroup can be used to perform additional logic before a group is created. + RegisterBeforeCreateGroup(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.CreateGroupRequest) (*api.CreateGroupRequest, error)) error + + // RegisterAfterCreateGroup can be used to perform additional logic after a group is created. + RegisterAfterCreateGroup(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.Group, in *api.CreateGroupRequest) error) error + + // RegisterBeforeUpdateGroup can be used to perform additional logic before a group is updated. + RegisterBeforeUpdateGroup(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.UpdateGroupRequest) (*api.UpdateGroupRequest, error)) error + + // RegisterAfterUpdateGroup can be used to perform additional logic after a group is updated. + RegisterAfterUpdateGroup(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.UpdateGroupRequest) error) error + + // RegisterBeforeDeleteGroup can be used to perform additional logic before a group is deleted. + RegisterBeforeDeleteGroup(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.DeleteGroupRequest) (*api.DeleteGroupRequest, error)) error + + // RegisterAfterDeleteGroup can be used to perform additional logic after a group is deleted. + RegisterAfterDeleteGroup(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.DeleteGroupRequest) error) error + + // RegisterBeforeJoinGroup can be used to perform additional logic before user joins a group. + RegisterBeforeJoinGroup(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.JoinGroupRequest) (*api.JoinGroupRequest, error)) error + + // RegisterAfterJoinGroup can be used to perform additional logic after user joins a group. + RegisterAfterJoinGroup(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.JoinGroupRequest) error) error + + // RegisterBeforeLeaveGroup can be used to perform additional logic before user leaves a group. + RegisterBeforeLeaveGroup(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.LeaveGroupRequest) (*api.LeaveGroupRequest, error)) error + + // RegisterAfterLeaveGroup can be used to perform additional logic after user leaves a group. + RegisterAfterLeaveGroup(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.LeaveGroupRequest) error) error + + // RegisterBeforeAddGroupUsers can be used to perform additional logic before user is added to a group. + RegisterBeforeAddGroupUsers(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AddGroupUsersRequest) (*api.AddGroupUsersRequest, error)) error + + // RegisterAfterAddGroupUsers can be used to perform additional logic after user is added to a group. + RegisterAfterAddGroupUsers(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AddGroupUsersRequest) error) error + + // RegisterBeforeBanGroupUsers can be used to perform additional logic before user is banned from a group. + RegisterBeforeBanGroupUsers(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.BanGroupUsersRequest) (*api.BanGroupUsersRequest, error)) error + + // RegisterAfterBanGroupUsers can be used to perform additional logic after user is banned from a group. + RegisterAfterBanGroupUsers(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.BanGroupUsersRequest) error) error + + // RegisterBeforeKickGroupUsers can be used to perform additional logic before user is kicked to a group. + RegisterBeforeKickGroupUsers(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.KickGroupUsersRequest) (*api.KickGroupUsersRequest, error)) error + + // RegisterAfterKickGroupUsers can be used to perform additional logic after user is kicked from a group. + RegisterAfterKickGroupUsers(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.KickGroupUsersRequest) error) error + + // RegisterBeforePromoteGroupUsers can be used to perform additional logic before user is promoted. + RegisterBeforePromoteGroupUsers(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.PromoteGroupUsersRequest) (*api.PromoteGroupUsersRequest, error)) error + + // RegisterAfterPromoteGroupUsers can be used to perform additional logic after user is promoted. + RegisterAfterPromoteGroupUsers(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.PromoteGroupUsersRequest) error) error + + // RegisterBeforeDemoteGroupUsers can be used to perform additional logic before user is demoted. + RegisterBeforeDemoteGroupUsers(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.DemoteGroupUsersRequest) (*api.DemoteGroupUsersRequest, error)) error + + // RegisterAfterDemoteGroupUsers can be used to perform additional logic after user is demoted. + RegisterAfterDemoteGroupUsers(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.DemoteGroupUsersRequest) error) error + + // RegisterBeforeListGroupUsers can be used to perform additional logic before users in a group is listed. + RegisterBeforeListGroupUsers(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ListGroupUsersRequest) (*api.ListGroupUsersRequest, error)) error + + // RegisterAfterListGroupUsers can be used to perform additional logic after users in a group is listed. + RegisterAfterListGroupUsers(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.GroupUserList, in *api.ListGroupUsersRequest) error) error + + // RegisterBeforeListUserGroups can be used to perform additional logic before groups for a user is listed. + RegisterBeforeListUserGroups(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ListUserGroupsRequest) (*api.ListUserGroupsRequest, error)) error + + // RegisterAfterListUserGroups can be used to perform additional logic after groups for a user is listed. + RegisterAfterListUserGroups(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.UserGroupList, in *api.ListUserGroupsRequest) error) error + + // RegisterBeforeListGroups can be used to perform additional logic before groups are listed. + RegisterBeforeListGroups(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ListGroupsRequest) (*api.ListGroupsRequest, error)) error + + // RegisterAfterListGroups can be used to perform additional logic after groups are listed. + RegisterAfterListGroups(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.GroupList, in *api.ListGroupsRequest) error) error + + // RegisterBeforeDeleteLeaderboardRecord can be used to perform additional logic before deleting record from a leaderboard. + RegisterBeforeDeleteLeaderboardRecord(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.DeleteLeaderboardRecordRequest) (*api.DeleteLeaderboardRecordRequest, error)) error + + // RegisterAfterDeleteLeaderboardRecord can be used to perform additional logic after deleting record from a leaderboard. + RegisterAfterDeleteLeaderboardRecord(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.DeleteLeaderboardRecordRequest) error) error + + // RegisterBeforeDeleteTournamentRecord can be used to perform additional logic before deleting record from a leaderboard. + RegisterBeforeDeleteTournamentRecord(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.DeleteTournamentRecordRequest) (*api.DeleteTournamentRecordRequest, error)) error + + // RegisterAfterDeleteTournamentRecord can be used to perform additional logic after deleting record from a leaderboard. + RegisterAfterDeleteTournamentRecord(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.DeleteTournamentRecordRequest) error) error + + // RegisterBeforeListLeaderboardRecords can be used to perform additional logic before listing records from a leaderboard. + RegisterBeforeListLeaderboardRecords(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ListLeaderboardRecordsRequest) (*api.ListLeaderboardRecordsRequest, error)) error + + // RegisterAfterListLeaderboardRecords can be used to perform additional logic after listing records from a leaderboard. + RegisterAfterListLeaderboardRecords(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.LeaderboardRecordList, in *api.ListLeaderboardRecordsRequest) error) error + + // RegisterBeforeWriteLeaderboardRecord can be used to perform additional logic before submitting new record to a leaderboard. + RegisterBeforeWriteLeaderboardRecord(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.WriteLeaderboardRecordRequest) (*api.WriteLeaderboardRecordRequest, error)) error + + // RegisterAfterWriteLeaderboardRecord can be used to perform additional logic after submitting new record to a leaderboard. + RegisterAfterWriteLeaderboardRecord(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.LeaderboardRecord, in *api.WriteLeaderboardRecordRequest) error) error + + // RegisterBeforeListLeaderboardRecordsAroundOwner can be used to perform additional logic before listing records from a leaderboard. + RegisterBeforeListLeaderboardRecordsAroundOwner(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ListLeaderboardRecordsAroundOwnerRequest) (*api.ListLeaderboardRecordsAroundOwnerRequest, error)) error + + // RegisterAfterListLeaderboardRecordsAroundOwner can be used to perform additional logic after listing records from a leaderboard. + RegisterAfterListLeaderboardRecordsAroundOwner(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.LeaderboardRecordList, in *api.ListLeaderboardRecordsAroundOwnerRequest) error) error + + // RegisterBeforeLinkApple can be used to perform additional logic before linking Apple ID to an account. + RegisterBeforeLinkApple(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountApple) (*api.AccountApple, error)) error + + // RegisterAfterLinkApple can be used to perform additional logic after linking Apple ID to an account. + RegisterAfterLinkApple(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountApple) error) error + + // RegisterBeforeLinkCustom can be used to perform additional logic before linking custom ID to an account. + RegisterBeforeLinkCustom(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountCustom) (*api.AccountCustom, error)) error + + // RegisterAfterLinkCustom can be used to perform additional logic after linking custom ID to an account. + RegisterAfterLinkCustom(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountCustom) error) error + + // RegisterBeforeLinkDevice can be used to perform additional logic before linking device ID to an account. + RegisterBeforeLinkDevice(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountDevice) (*api.AccountDevice, error)) error + + // RegisterAfterLinkDevice can be used to perform additional logic after linking device ID to an account. + RegisterAfterLinkDevice(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountDevice) error) error + + // RegisterBeforeLinkEmail can be used to perform additional logic before linking email to an account. + RegisterBeforeLinkEmail(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountEmail) (*api.AccountEmail, error)) error + + // RegisterAfterLinkEmail can be used to perform additional logic after linking email to an account. + RegisterAfterLinkEmail(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountEmail) error) error + + // RegisterBeforeLinkFacebook can be used to perform additional logic before linking Facebook to an account. + RegisterBeforeLinkFacebook(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.LinkFacebookRequest) (*api.LinkFacebookRequest, error)) error + + // RegisterAfterLinkFacebook can be used to perform additional logic after linking Facebook to an account. + RegisterAfterLinkFacebook(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.LinkFacebookRequest) error) error + + // RegisterBeforeLinkFacebookInstantGame can be used to perform additional logic before linking Facebook Instant Game profile to an account. + RegisterBeforeLinkFacebookInstantGame(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountFacebookInstantGame) (*api.AccountFacebookInstantGame, error)) error + + // RegisterAfterLinkFacebookInstantGame can be used to perform additional logic after linking Facebook Instant Game profile to an account. + RegisterAfterLinkFacebookInstantGame(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountFacebookInstantGame) error) error + + // RegisterBeforeLinkGameCenter can be used to perform additional logic before linking GameCenter to an account. + RegisterBeforeLinkGameCenter(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountGameCenter) (*api.AccountGameCenter, error)) error + + // RegisterAfterLinkGameCenter can be used to perform additional logic after linking GameCenter to an account. + RegisterAfterLinkGameCenter(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountGameCenter) error) error + + // RegisterBeforeLinkGoogle can be used to perform additional logic before linking Google to an account. + RegisterBeforeLinkGoogle(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountGoogle) (*api.AccountGoogle, error)) error + + // RegisterAfterLinkGoogle can be used to perform additional logic after linking Google to an account. + RegisterAfterLinkGoogle(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountGoogle) error) error + + // RegisterBeforeLinkSteam can be used to perform additional logic before linking Steam to an account. + RegisterBeforeLinkSteam(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.LinkSteamRequest) (*api.LinkSteamRequest, error)) error + + // RegisterAfterLinkSteam can be used to perform additional logic after linking Steam to an account. + RegisterAfterLinkSteam(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.LinkSteamRequest) error) error + + // RegisterBeforeListMatches can be used to perform additional logic before listing matches. + RegisterBeforeListMatches(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ListMatchesRequest) (*api.ListMatchesRequest, error)) error + + // RegisterAfterListMatches can be used to perform additional logic after listing matches. + RegisterAfterListMatches(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.MatchList, in *api.ListMatchesRequest) error) error + + // RegisterBeforeListNotifications can be used to perform additional logic before listing notifications for a user. + RegisterBeforeListNotifications(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ListNotificationsRequest) (*api.ListNotificationsRequest, error)) error + + // RegisterAfterListNotifications can be used to perform additional logic after listing notifications for a user. + RegisterAfterListNotifications(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.NotificationList, in *api.ListNotificationsRequest) error) error + + // RegisterBeforeDeleteNotifications can be used to perform additional logic before deleting notifications. + RegisterBeforeDeleteNotifications(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.DeleteNotificationsRequest) (*api.DeleteNotificationsRequest, error)) error + + // RegisterAfterDeleteNotifications can be used to perform additional logic after deleting notifications. + RegisterAfterDeleteNotifications(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.DeleteNotificationsRequest) error) error + + // RegisterBeforeListStorageObjects can be used to perform additional logic before listing storage objects. + RegisterBeforeListStorageObjects(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ListStorageObjectsRequest) (*api.ListStorageObjectsRequest, error)) error + + // RegisterAfterListStorageObjects can be used to perform additional logic after listing storage objects. + RegisterAfterListStorageObjects(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.StorageObjectList, in *api.ListStorageObjectsRequest) error) error + + // RegisterBeforeReadStorageObjects can be used to perform additional logic before reading storage objects. + RegisterBeforeReadStorageObjects(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ReadStorageObjectsRequest) (*api.ReadStorageObjectsRequest, error)) error + + // RegisterAfterReadStorageObjects can be used to perform additional logic after reading storage objects. + RegisterAfterReadStorageObjects(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.StorageObjects, in *api.ReadStorageObjectsRequest) error) error + + // RegisterBeforeWriteStorageObjects can be used to perform additional logic before writing storage objects. + RegisterBeforeWriteStorageObjects(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.WriteStorageObjectsRequest) (*api.WriteStorageObjectsRequest, error)) error + + // RegisterAfterWriteStorageObjects can be used to perform additional logic after writing storage objects. + RegisterAfterWriteStorageObjects(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.StorageObjectAcks, in *api.WriteStorageObjectsRequest) error) error + + // RegisterBeforeDeleteStorageObjects can be used to perform additional logic before deleting storage objects. + RegisterBeforeDeleteStorageObjects(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.DeleteStorageObjectsRequest) (*api.DeleteStorageObjectsRequest, error)) error + + // RegisterAfterDeleteStorageObjects can be used to perform additional logic after deleting storage objects. + RegisterAfterDeleteStorageObjects(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.DeleteStorageObjectsRequest) error) error + + // RegisterBeforeJoinTournament can be used to perform additional logic before user joins a tournament. + RegisterBeforeJoinTournament(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.JoinTournamentRequest) (*api.JoinTournamentRequest, error)) error + + // RegisterAfterJoinTournament can be used to perform additional logic after user joins a tournament. + RegisterAfterJoinTournament(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.JoinTournamentRequest) error) error + + // RegisterBeforeListTournamentRecords can be used to perform additional logic before listing tournament records. + RegisterBeforeListTournamentRecords(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ListTournamentRecordsRequest) (*api.ListTournamentRecordsRequest, error)) error + + // RegisterAfterListTournamentRecords can be used to perform additional logic after listing tournament records. + RegisterAfterListTournamentRecords(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.TournamentRecordList, in *api.ListTournamentRecordsRequest) error) error + + // RegisterBeforeListTournaments can be used to perform additional logic before listing tournaments. + RegisterBeforeListTournaments(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ListTournamentsRequest) (*api.ListTournamentsRequest, error)) error + + // RegisterAfterListTournaments can be used to perform additional logic after listing tournaments. + RegisterAfterListTournaments(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.TournamentList, in *api.ListTournamentsRequest) error) error + + // RegisterBeforeWriteTournamentRecord can be used to perform additional logic before writing tournament records. + RegisterBeforeWriteTournamentRecord(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.WriteTournamentRecordRequest) (*api.WriteTournamentRecordRequest, error)) error + + // RegisterAfterWriteTournamentRecord can be used to perform additional logic after writing tournament records. + RegisterAfterWriteTournamentRecord(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.LeaderboardRecord, in *api.WriteTournamentRecordRequest) error) error + + // RegisterBeforeListTournamentRecordsAroundOwner can be used to perform additional logic before listing tournament records. + RegisterBeforeListTournamentRecordsAroundOwner(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ListTournamentRecordsAroundOwnerRequest) (*api.ListTournamentRecordsAroundOwnerRequest, error)) error + + // RegisterAfterListTournamentRecordsAroundOwner can be used to perform additional logic after listing tournament records. + RegisterAfterListTournamentRecordsAroundOwner(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.TournamentRecordList, in *api.ListTournamentRecordsAroundOwnerRequest) error) error + + // RegisterBeforeValidatePurchaseApple can be used to perform additional logic before validating an Apple Store IAP receipt. + RegisterBeforeValidatePurchaseApple(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ValidatePurchaseAppleRequest) (*api.ValidatePurchaseAppleRequest, error)) error + + // RegisterAfterValidatePurchaseApple can be used to perform additional logic after validating an Apple Store IAP receipt. + RegisterAfterValidatePurchaseApple(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.ValidatePurchaseResponse, in *api.ValidatePurchaseAppleRequest) error) error + + // RegisterBeforeValidateSubscriptionApple can be used to perform additional logic before validation an Apple Store Subscription receipt. + RegisterBeforeValidateSubscriptionApple(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ValidateSubscriptionAppleRequest) (*api.ValidateSubscriptionAppleRequest, error)) error + + // RegisterAfterValidateSubscriptionApple can be used to perform additional logic after validation an Apple Store Subscription receipt. + RegisterAfterValidateSubscriptionApple(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.ValidateSubscriptionResponse, in *api.ValidateSubscriptionAppleRequest) error) error + + // RegisterBeforeValidatePurchaseGoogle can be used to perform additional logic before validating a Google Play Store IAP receipt. + RegisterBeforeValidatePurchaseGoogle(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ValidatePurchaseGoogleRequest) (*api.ValidatePurchaseGoogleRequest, error)) error + + // RegisterAfterValidatePurchaseGoogle can be used to perform additional logic after validating a Google Play Store IAP receipt. + RegisterAfterValidatePurchaseGoogle(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.ValidatePurchaseResponse, in *api.ValidatePurchaseGoogleRequest) error) error + + // RegisterBeforeValidateSubscriptionGoogle can be used to perform additional logic before validation an Google Store Subscription receipt. + RegisterBeforeValidateSubscriptionGoogle(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ValidateSubscriptionGoogleRequest) (*api.ValidateSubscriptionGoogleRequest, error)) error + + // RegisterAfterValidateSubscriptionGoogle can be used to perform additional logic after validation an Google Store Subscription receipt. + RegisterAfterValidateSubscriptionGoogle(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.ValidateSubscriptionResponse, in *api.ValidateSubscriptionGoogleRequest) error) error + + // RegisterBeforeValidatePurchaseHuawei can be used to perform additional logic before validating an Huawei App Gallery IAP receipt. + RegisterBeforeValidatePurchaseHuawei(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ValidatePurchaseHuaweiRequest) (*api.ValidatePurchaseHuaweiRequest, error)) error + + // RegisterAfterValidatePurchaseHuawei can be used to perform additional logic after validating an Huawei App Gallery IAP receipt. + RegisterAfterValidatePurchaseHuawei(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.ValidatePurchaseResponse, in *api.ValidatePurchaseHuaweiRequest) error) error + + // RegisterBeforeValidatePurchaseFacebookInstant can be used to perform additional logic before validating an Facebook Instant IAP receipt. + RegisterBeforeValidatePurchaseFacebookInstant(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ValidatePurchaseFacebookInstantRequest) (*api.ValidatePurchaseFacebookInstantRequest, error)) error + + // RegisterAfterValidatePurchaseFacebookInstant can be used to perform additional logic after validating an Facebook Instant IAP receipt. + RegisterAfterValidatePurchaseFacebookInstant(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.ValidatePurchaseResponse, in *api.ValidatePurchaseFacebookInstantRequest) error) error + + // RegisterBeforeListSubscriptions can be used to perform additional logic before listing subscriptions. + RegisterBeforeListSubscriptions(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.ListSubscriptionsRequest) (*api.ListSubscriptionsRequest, error)) error + + // RegisterAfterListSubscriptions can be used to perform additional logic after listing subscriptions. + RegisterAfterListSubscriptions(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.SubscriptionList, in *api.ListSubscriptionsRequest) error) error + + // RegisterBeforeGetSubscription can be used to perform additional logic before listing subscriptions. + RegisterBeforeGetSubscription(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.GetSubscriptionRequest) (*api.GetSubscriptionRequest, error)) error + + // RegisterAfterGetSubscription can be used to perform additional logic after listing subscriptions. + RegisterAfterGetSubscription(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.ValidatedSubscription, in *api.GetSubscriptionRequest) error) error + + // RegisterBeforeUnlinkApple can be used to perform additional logic before Apple ID is unlinked from an account. + RegisterBeforeUnlinkApple(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountApple) (*api.AccountApple, error)) error + + // RegisterAfterUnlinkApple can be used to perform additional logic after Apple ID is unlinked from an account. + RegisterAfterUnlinkApple(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountApple) error) error + + // RegisterBeforeUnlinkCustom can be used to perform additional logic before custom ID is unlinked from an account. + RegisterBeforeUnlinkCustom(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountCustom) (*api.AccountCustom, error)) error + + // RegisterAfterUnlinkCustom can be used to perform additional logic after custom ID is unlinked from an account. + RegisterAfterUnlinkCustom(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountCustom) error) error + + // RegisterBeforeUnlinkDevice can be used to perform additional logic before device ID is unlinked from an account. + RegisterBeforeUnlinkDevice(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountDevice) (*api.AccountDevice, error)) error + + // RegisterAfterUnlinkDevice can be used to perform additional logic after device ID is unlinked from an account. + RegisterAfterUnlinkDevice(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountDevice) error) error + + // RegisterBeforeUnlinkEmail can be used to perform additional logic before email is unlinked from an account. + RegisterBeforeUnlinkEmail(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountEmail) (*api.AccountEmail, error)) error + + // RegisterAfterUnlinkEmail can be used to perform additional logic after email is unlinked from an account. + RegisterAfterUnlinkEmail(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountEmail) error) error + + // RegisterBeforeUnlinkFacebook can be used to perform additional logic before Facebook is unlinked from an account. + RegisterBeforeUnlinkFacebook(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountFacebook) (*api.AccountFacebook, error)) error + + // RegisterAfterUnlinkFacebook can be used to perform additional logic after Facebook is unlinked from an account. + RegisterAfterUnlinkFacebook(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountFacebook) error) error + + // RegisterBeforeUnlinkFacebookInstantGame can be used to perform additional logic before Facebook Instant Game profile is unlinked from an account. + RegisterBeforeUnlinkFacebookInstantGame(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountFacebookInstantGame) (*api.AccountFacebookInstantGame, error)) error + + // RegisterAfterUnlinkFacebookInstantGame can be used to perform additional logic after Facebook Instant Game profile is unlinked from an account. + RegisterAfterUnlinkFacebookInstantGame(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountFacebookInstantGame) error) error + + // RegisterBeforeUnlinkGameCenter can be used to perform additional logic before GameCenter is unlinked from an account. + RegisterBeforeUnlinkGameCenter(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountGameCenter) (*api.AccountGameCenter, error)) error + + // RegisterAfterUnlinkGameCenter can be used to perform additional logic after GameCenter is unlinked from an account. + RegisterAfterUnlinkGameCenter(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountGameCenter) error) error + + // RegisterBeforeUnlinkGoogle can be used to perform additional logic before Google is unlinked from an account. + RegisterBeforeUnlinkGoogle(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountGoogle) (*api.AccountGoogle, error)) error + + // RegisterAfterUnlinkGoogle can be used to perform additional logic after Google is unlinked from an account. + RegisterAfterUnlinkGoogle(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountGoogle) error) error + + // RegisterBeforeUnlinkSteam can be used to perform additional logic before Steam is unlinked from an account. + RegisterBeforeUnlinkSteam(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountSteam) (*api.AccountSteam, error)) error + + // RegisterAfterUnlinkSteam can be used to perform additional logic after Steam is unlinked from an account. + RegisterAfterUnlinkSteam(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.AccountSteam) error) error + + // RegisterBeforeGetUsers can be used to perform additional logic before retrieving users. + RegisterBeforeGetUsers(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, in *api.GetUsersRequest) (*api.GetUsersRequest, error)) error + + // RegisterAfterGetUsers can be used to perform additional logic after retrieving users. + RegisterAfterGetUsers(fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, out *api.Users, in *api.GetUsersRequest) error) error + + // RegisterEvent can be used to define a function handler that triggers when custom events are received or generated. + RegisterEvent(fn func(ctx context.Context, logger Logger, evt *api.Event)) error + + // RegisterEventSessionStart can be used to define functions triggered when client sessions start. + RegisterEventSessionStart(fn func(ctx context.Context, logger Logger, evt *api.Event)) error + + // RegisterEventSessionStart can be used to define functions triggered when client sessions end. + RegisterEventSessionEnd(fn func(ctx context.Context, logger Logger, evt *api.Event)) error + + // Register a new storage index. + RegisterStorageIndex(name, collection, key string, fields []string, maxEntries int, indexOnly bool) error + + // RegisterStorageIndexFilter can be used to define a filtering function for a given storage index. + RegisterStorageIndexFilter(indexName string, fn func(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, write *StorageWrite) bool) error + + // RegisterFleetManager can be used to register a FleetManager implementation that can be retrieved from the runtime using GetFleetManager(). + RegisterFleetManager(fleetManagerInit FleetManagerInitializer) error +} + +type PresenceReason uint8 + +const ( + PresenceReasonUnknown PresenceReason = iota + PresenceReasonJoin + PresenceReasonUpdate + PresenceReasonLeave + PresenceReasonDisconnect +) + +type PresenceMeta interface { + GetHidden() bool + GetPersistence() bool + GetUsername() string + GetStatus() string + GetReason() PresenceReason +} + +type Presence interface { + PresenceMeta + GetUserId() string + GetSessionId() string + GetNodeId() string +} + +type MatchmakerEntry interface { + GetPresence() Presence + GetTicket() string + GetProperties() map[string]interface{} + GetPartyId() string +} + +type MatchData interface { + Presence + GetOpCode() int64 + GetData() []byte + GetReliable() bool + GetReceiveTime() int64 +} + +type MatchDispatcher interface { + BroadcastMessage(opCode int64, data []byte, presences []Presence, sender Presence, reliable bool) error + BroadcastMessageDeferred(opCode int64, data []byte, presences []Presence, sender Presence, reliable bool) error + MatchKick(presences []Presence) error + MatchLabelUpdate(label string) error +} + +type Match interface { + MatchInit(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, params map[string]interface{}) (interface{}, int, string) + MatchJoinAttempt(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, dispatcher MatchDispatcher, tick int64, state interface{}, presence Presence, metadata map[string]string) (interface{}, bool, string) + MatchJoin(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, dispatcher MatchDispatcher, tick int64, state interface{}, presences []Presence) interface{} + MatchLeave(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, dispatcher MatchDispatcher, tick int64, state interface{}, presences []Presence) interface{} + MatchLoop(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, dispatcher MatchDispatcher, tick int64, state interface{}, messages []MatchData) interface{} + MatchTerminate(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, dispatcher MatchDispatcher, tick int64, state interface{}, graceSeconds int) interface{} + MatchSignal(ctx context.Context, logger Logger, db *sql.DB, nk NakamaModule, dispatcher MatchDispatcher, tick int64, state interface{}, data string) (interface{}, string) +} + +type AccountUpdate struct { + UserID string + Username string + Metadata map[string]interface{} + DisplayName string + Timezone string + Location string + LangTag string + AvatarUrl string +} + +type NotificationSend struct { + UserID string + Subject string + Content map[string]interface{} + Code int + Sender string + Persistent bool +} + +type NotificationDelete struct { + UserID string + NotificationID string +} + +type WalletUpdate struct { + UserID string + Changeset map[string]int64 + Metadata map[string]interface{} +} + +type WalletUpdateResult struct { + UserID string + Updated map[string]int64 + Previous map[string]int64 +} + +type WalletNegativeError struct { + UserID string + Path string + Current int64 + Amount int64 +} + +func (e *WalletNegativeError) Error() string { + return fmt.Sprintf("wallet update rejected negative value at path '%v'", e.Path) +} + +type WalletLedgerItem interface { + GetID() string + GetUserID() string + GetCreateTime() int64 + GetUpdateTime() int64 + GetChangeset() map[string]int64 + GetMetadata() map[string]interface{} +} + +type StorageRead struct { + Collection string + Key string + UserID string +} + +type StorageWrite struct { + Collection string + Key string + UserID string + Value string + Version string + PermissionRead int + PermissionWrite int +} + +type StorageDelete struct { + Collection string + Key string + UserID string + Version string +} + +type ChannelType int + +const ( + Room ChannelType = iota + 1 + DirectMessage + Group +) + +type NakamaModule interface { + AuthenticateApple(ctx context.Context, token, username string, create bool) (string, string, bool, error) + AuthenticateCustom(ctx context.Context, id, username string, create bool) (string, string, bool, error) + AuthenticateDevice(ctx context.Context, id, username string, create bool) (string, string, bool, error) + AuthenticateEmail(ctx context.Context, email, password, username string, create bool) (string, string, bool, error) + AuthenticateFacebook(ctx context.Context, token string, importFriends bool, username string, create bool) (string, string, bool, error) + AuthenticateFacebookInstantGame(ctx context.Context, signedPlayerInfo string, username string, create bool) (string, string, bool, error) + AuthenticateGameCenter(ctx context.Context, playerID, bundleID string, timestamp int64, salt, signature, publicKeyUrl, username string, create bool) (string, string, bool, error) + AuthenticateGoogle(ctx context.Context, token, username string, create bool) (string, string, bool, error) + AuthenticateSteam(ctx context.Context, token, username string, create bool) (string, string, bool, error) + + AuthenticateTokenGenerate(userID, username string, exp int64, vars map[string]string) (string, int64, error) + + AccountGetId(ctx context.Context, userID string) (*api.Account, error) + AccountsGetId(ctx context.Context, userIDs []string) ([]*api.Account, error) + AccountUpdateId(ctx context.Context, userID, username string, metadata map[string]interface{}, displayName, timezone, location, langTag, avatarUrl string) error + + AccountDeleteId(ctx context.Context, userID string, recorded bool) error + AccountExportId(ctx context.Context, userID string) (string, error) + + UsersGetId(ctx context.Context, userIDs []string, facebookIDs []string) ([]*api.User, error) + UsersGetUsername(ctx context.Context, usernames []string) ([]*api.User, error) + UsersGetRandom(ctx context.Context, count int) ([]*api.User, error) + UsersBanId(ctx context.Context, userIDs []string) error + UsersUnbanId(ctx context.Context, userIDs []string) error + + LinkApple(ctx context.Context, userID, token string) error + LinkCustom(ctx context.Context, userID, customID string) error + LinkDevice(ctx context.Context, userID, deviceID string) error + LinkEmail(ctx context.Context, userID, email, password string) error + LinkFacebook(ctx context.Context, userID, username, token string, importFriends bool) error + LinkFacebookInstantGame(ctx context.Context, userID, signedPlayerInfo string) error + LinkGameCenter(ctx context.Context, userID, playerID, bundleID string, timestamp int64, salt, signature, publicKeyUrl string) error + LinkGoogle(ctx context.Context, userID, token string) error + LinkSteam(ctx context.Context, userID, username, token string, importFriends bool) error + + CronPrev(expression string, timestamp int64) (int64, error) + CronNext(expression string, timestamp int64) (int64, error) + ReadFile(path string) (*os.File, error) + + UnlinkApple(ctx context.Context, userID, token string) error + UnlinkCustom(ctx context.Context, userID, customID string) error + UnlinkDevice(ctx context.Context, userID, deviceID string) error + UnlinkEmail(ctx context.Context, userID, email string) error + UnlinkFacebook(ctx context.Context, userID, token string) error + UnlinkFacebookInstantGame(ctx context.Context, userID, signedPlayerInfo string) error + UnlinkGameCenter(ctx context.Context, userID, playerID, bundleID string, timestamp int64, salt, signature, publicKeyUrl string) error + UnlinkGoogle(ctx context.Context, userID, token string) error + UnlinkSteam(ctx context.Context, userID, token string) error + + StreamUserList(mode uint8, subject, subcontext, label string, includeHidden, includeNotHidden bool) ([]Presence, error) + StreamUserGet(mode uint8, subject, subcontext, label, userID, sessionID string) (PresenceMeta, error) + StreamUserJoin(mode uint8, subject, subcontext, label, userID, sessionID string, hidden, persistence bool, status string) (bool, error) + StreamUserUpdate(mode uint8, subject, subcontext, label, userID, sessionID string, hidden, persistence bool, status string) error + StreamUserLeave(mode uint8, subject, subcontext, label, userID, sessionID string) error + StreamUserKick(mode uint8, subject, subcontext, label string, presence Presence) error + StreamCount(mode uint8, subject, subcontext, label string) (int, error) + StreamClose(mode uint8, subject, subcontext, label string) error + StreamSend(mode uint8, subject, subcontext, label, data string, presences []Presence, reliable bool) error + StreamSendRaw(mode uint8, subject, subcontext, label string, msg *rtapi.Envelope, presences []Presence, reliable bool) error + + SessionDisconnect(ctx context.Context, sessionID string, reason ...PresenceReason) error + SessionLogout(userID, token, refreshToken string) error + + MatchCreate(ctx context.Context, module string, params map[string]interface{}) (string, error) + MatchGet(ctx context.Context, id string) (*api.Match, error) + MatchList(ctx context.Context, limit int, authoritative bool, label string, minSize, maxSize *int, query string) ([]*api.Match, error) + MatchSignal(ctx context.Context, id string, data string) (string, error) + + NotificationSend(ctx context.Context, userID, subject string, content map[string]interface{}, code int, sender string, persistent bool) error + NotificationsSend(ctx context.Context, notifications []*NotificationSend) error + NotificationSendAll(ctx context.Context, subject string, content map[string]interface{}, code int, persistent bool) error + NotificationsDelete(ctx context.Context, notifications []*NotificationDelete) error + + WalletUpdate(ctx context.Context, userID string, changeset map[string]int64, metadata map[string]interface{}, updateLedger bool) (updated map[string]int64, previous map[string]int64, err error) + WalletsUpdate(ctx context.Context, updates []*WalletUpdate, updateLedger bool) ([]*WalletUpdateResult, error) + WalletLedgerUpdate(ctx context.Context, itemID string, metadata map[string]interface{}) (WalletLedgerItem, error) + WalletLedgerList(ctx context.Context, userID string, limit int, cursor string) ([]WalletLedgerItem, string, error) + + StorageList(ctx context.Context, callerID, userID, collection string, limit int, cursor string) ([]*api.StorageObject, string, error) + StorageRead(ctx context.Context, reads []*StorageRead) ([]*api.StorageObject, error) + StorageWrite(ctx context.Context, writes []*StorageWrite) ([]*api.StorageObjectAck, error) + StorageDelete(ctx context.Context, deletes []*StorageDelete) error + StorageIndexList(ctx context.Context, callerID, indexName, query string, limit int) (*api.StorageObjects, error) + + MultiUpdate(ctx context.Context, accountUpdates []*AccountUpdate, storageWrites []*StorageWrite, storageDeletes []*StorageDelete, walletUpdates []*WalletUpdate, updateLedger bool) ([]*api.StorageObjectAck, []*WalletUpdateResult, error) + + LeaderboardCreate(ctx context.Context, id string, authoritative bool, sortOrder, operator, resetSchedule string, metadata map[string]interface{}) error + LeaderboardDelete(ctx context.Context, id string) error + LeaderboardList(limit int, cursor string) (*api.LeaderboardList, error) + LeaderboardRecordsList(ctx context.Context, id string, ownerIDs []string, limit int, cursor string, expiry int64) (records []*api.LeaderboardRecord, ownerRecords []*api.LeaderboardRecord, nextCursor string, prevCursor string, err error) + LeaderboardRecordsListCursorFromRank(id string, rank, overrideExpiry int64) (string, error) + LeaderboardRecordWrite(ctx context.Context, id, ownerID, username string, score, subscore int64, metadata map[string]interface{}, overrideOperator *int) (*api.LeaderboardRecord, error) + LeaderboardRecordDelete(ctx context.Context, id, ownerID string) error + LeaderboardsGetId(ctx context.Context, ids []string) ([]*api.Leaderboard, error) + LeaderboardRecordsHaystack(ctx context.Context, id, ownerID string, limit int, cursor string, expiry int64) (*api.LeaderboardRecordList, error) + + PurchaseValidateApple(ctx context.Context, userID, receipt string, persist bool, passwordOverride ...string) (*api.ValidatePurchaseResponse, error) + PurchaseValidateGoogle(ctx context.Context, userID, receipt string, persist bool, overrides ...struct { + ClientEmail string + PrivateKey string + }) (*api.ValidatePurchaseResponse, error) + PurchaseValidateHuawei(ctx context.Context, userID, signature, inAppPurchaseData string, persist bool) (*api.ValidatePurchaseResponse, error) + PurchaseValidateFacebookInstant(ctx context.Context, userID, signedRequest string, persist bool) (*api.ValidatePurchaseResponse, error) + PurchasesList(ctx context.Context, userID string, limit int, cursor string) (*api.PurchaseList, error) + PurchaseGetByTransactionId(ctx context.Context, transactionID string) (*api.ValidatedPurchase, error) + + SubscriptionValidateApple(ctx context.Context, userID, receipt string, persist bool, passwordOverride ...string) (*api.ValidateSubscriptionResponse, error) + SubscriptionValidateGoogle(ctx context.Context, userID, receipt string, persist bool, overrides ...struct { + ClientEmail string + PrivateKey string + }) (*api.ValidateSubscriptionResponse, error) + SubscriptionsList(ctx context.Context, userID string, limit int, cursor string) (*api.SubscriptionList, error) + SubscriptionGetByProductId(ctx context.Context, userID, productID string) (*api.ValidatedSubscription, error) + + TournamentCreate(ctx context.Context, id string, authoritative bool, sortOrder, operator, resetSchedule string, metadata map[string]interface{}, title, description string, category, startTime, endTime, duration, maxSize, maxNumScore int, joinRequired bool) error + TournamentDelete(ctx context.Context, id string) error + TournamentAddAttempt(ctx context.Context, id, ownerID string, count int) error + TournamentJoin(ctx context.Context, id, ownerID, username string) error + TournamentsGetId(ctx context.Context, tournamentIDs []string) ([]*api.Tournament, error) + TournamentList(ctx context.Context, categoryStart, categoryEnd, startTime, endTime, limit int, cursor string) (*api.TournamentList, error) + TournamentRecordsList(ctx context.Context, tournamentId string, ownerIDs []string, limit int, cursor string, overrideExpiry int64) (records []*api.LeaderboardRecord, ownerRecords []*api.LeaderboardRecord, prevCursor string, nextCursor string, err error) + TournamentRecordWrite(ctx context.Context, id, ownerID, username string, score, subscore int64, metadata map[string]interface{}, operatorOverride *int) (*api.LeaderboardRecord, error) + TournamentRecordDelete(ctx context.Context, id, ownerID string) error + TournamentRecordsHaystack(ctx context.Context, id, ownerID string, limit int, cursor string, expiry int64) (*api.TournamentRecordList, error) + + GroupsGetId(ctx context.Context, groupIDs []string) ([]*api.Group, error) + GroupCreate(ctx context.Context, userID, name, creatorID, langTag, description, avatarUrl string, open bool, metadata map[string]interface{}, maxCount int) (*api.Group, error) + GroupUpdate(ctx context.Context, id, userID, name, creatorID, langTag, description, avatarUrl string, open bool, metadata map[string]interface{}, maxCount int) error + GroupDelete(ctx context.Context, id string) error + GroupUserJoin(ctx context.Context, groupID, userID, username string) error + GroupUserLeave(ctx context.Context, groupID, userID, username string) error + GroupUsersAdd(ctx context.Context, callerID, groupID string, userIDs []string) error + GroupUsersBan(ctx context.Context, callerID, groupID string, userIDs []string) error + GroupUsersKick(ctx context.Context, callerID, groupID string, userIDs []string) error + GroupUsersPromote(ctx context.Context, callerID, groupID string, userIDs []string) error + GroupUsersDemote(ctx context.Context, callerID, groupID string, userIDs []string) error + GroupUsersList(ctx context.Context, id string, limit int, state *int, cursor string) ([]*api.GroupUserList_GroupUser, string, error) + GroupsList(ctx context.Context, name, langTag string, members *int, open *bool, limit int, cursor string) ([]*api.Group, string, error) + GroupsGetRandom(ctx context.Context, count int) ([]*api.Group, error) + UserGroupsList(ctx context.Context, userID string, limit int, state *int, cursor string) ([]*api.UserGroupList_UserGroup, string, error) + + FriendsList(ctx context.Context, userID string, limit int, state *int, cursor string) ([]*api.Friend, string, error) + FriendsAdd(ctx context.Context, userID string, username string, ids []string, usernames []string) error + FriendsDelete(ctx context.Context, userID string, username string, ids []string, usernames []string) error + FriendsBlock(ctx context.Context, userID string, username string, ids []string, usernames []string) error + + Event(ctx context.Context, evt *api.Event) error + + MetricsCounterAdd(name string, tags map[string]string, delta int64) + MetricsGaugeSet(name string, tags map[string]string, value float64) + MetricsTimerRecord(name string, tags map[string]string, value time.Duration) + + ChannelIdBuild(ctx context.Context, sender string, target string, chanType ChannelType) (string, error) + ChannelMessageSend(ctx context.Context, channelID string, content map[string]interface{}, senderId, senderUsername string, persist bool) (*rtapi.ChannelMessageAck, error) + ChannelMessageUpdate(ctx context.Context, channelID, messageID string, content map[string]interface{}, senderId, senderUsername string, persist bool) (*rtapi.ChannelMessageAck, error) + ChannelMessageRemove(ctx context.Context, channelId, messageId string, senderId, senderUsername string, persist bool) (*rtapi.ChannelMessageAck, error) + ChannelMessagesList(ctx context.Context, channelId string, limit int, forward bool, cursor string) (messages []*api.ChannelMessage, nextCursor string, prevCursor string, err error) + + GetSatori() Satori + GetFleetManager() FleetManager +} + +/* +Nakama fleet manager definitions. +*/ +type InstanceInfo struct { + // A platform-specific unique instance identifier. Identifiers may be recycled for + // future use, but the underlying Fleet Manager platform is expected to ensure + // uniqueness at least among concurrently running instances. + Id string `json:"id"` + // Connection information in a platform-specific format, usually "address:port" + ConnectionInfo *ConnectionInfo `json:"connection_info"` + // When this instance was first created. + CreateTime time.Time `json:"create_time"` + // Number of active player sessions on the server + PlayerCount int `json:"player_count"` + // Status + Status string `json:"status"` + // Application-specific data for use in indexing and listings. + Metadata map[string]any `json:"metadata"` +} + +type ConnectionInfo struct { + IpAddress string `json:"ip_address"` + DnsName string `json:"dns_name"` + Port int `json:"port"` +} + +type JoinInfo struct { + InstanceInfo *InstanceInfo `json:"instance_info"` + SessionInfo []*SessionInfo `json:"session_info"` +} + +type SessionInfo struct { + UserId string `json:"user_id"` + SessionId string `json:"session_id"` +} + +type FmCreateStatus int + +const ( + // Create successfully created a new game instance. + CreateSuccess FmCreateStatus = iota + // Create request could not find a suitable instance within the configured timeout. + CreateTimeout + // Create failed to create a new game instance. + CreateError +) + +type FmCallbackHandler interface { + // Generate a new callback id. + GenerateCallbackId() string + // Set the callback indexed by the generated id. + SetCallback(callbackId string, fn FmCreateCallbackFn) + // Invoke a callback by callback Id. + InvokeCallback(callbackId string, status FmCreateStatus, instanceInfo *InstanceInfo, sessionInfo []*SessionInfo, metadata map[string]any, err error) +} + +type FleetUserLatencies struct { + // User id + UserId string + // Latency experienced by the user contacting a server in a fleet instance region. + LatencyInMilliseconds float32 + // Region associated to the experienced latency value. + RegionIdentifier string +} + +// FmCreateCallbackFn is the function that is invoked when Create asynchronously succeeds or fails (due to timeout or issues bringing up a new instance). +// The function params include all the information needed to inform a client with a realtime connection to the server of the status of the Create request, +// including the new instance connection information in case of success. +// If status != CreateSuccess, then instanceInfo, sessionInfo and metadata will be nil and err will contain an error message. +// If no userIds were provided to Create, then sessionInfo will be nil regardless of successful instance creation. +type FmCreateCallbackFn func(status FmCreateStatus, instanceInfo *InstanceInfo, sessionInfo []*SessionInfo, metadata map[string]any, err error) + +type FleetManager interface { + // Get retrieves the most up-to-date information about an instance currently running + // in the Fleet Manager platform. An error is expected if the instance does not exist, + // either because it never existed or it was otherwise removed at some point. + Get(ctx context.Context, id string) (instance *InstanceInfo, err error) + + // List retrieves a set of instances, optionally filtered by a platform-specific query. + // The limit and previous cursor inputs are used as part of pagination, if supported. + List(ctx context.Context, query string, limit int, previousCursor string) (list []*InstanceInfo, nextCursor string, err error) + + // Create issues a request to the underlying Fleet Manager platform to create a new + // instance and initialize it with the given metadata. The metadata is expected to be + // application-specific and only relevant to the application itself, not the platform. + // The instance creation happens asynchronously - the passed callback is invoked once the + // creation process was either successful or failed. + // If a list of userIds is optionally provided, the new instance (on successful creation) will reserve slots + // for the respective clients to connect, and the callback will contain the required []*SessionInfo. + // Latencies is optional and its support depends on the Fleet Manager provider. + Create(ctx context.Context, maxPlayers int, userIds []string, latencies []FleetUserLatencies, metadata map[string]any, callback FmCreateCallbackFn) (err error) + + // Join reserves a number of player slots in the target instance. These slots are reserved for a minute, after which, + // if clients do not connect to the instance to claim them, the returned SessionInfo will become invalid and the + // player slots will become available to new player sessions. + Join(ctx context.Context, id string, userIds []string, metadata map[string]string) (joinInfo *JoinInfo, err error) +} + +type FleetManagerInitializer interface { + FleetManager + // Init function - it is called internally by RegisterFleetManager to expose NakamaModule and FmCallbackHandler. + // The implementation should keep references to nk and callbackHandler. + Init(nk NakamaModule, callbackHandler FmCallbackHandler) error + Update(ctx context.Context, id string, playerCount int, metadata map[string]any) error + Delete(ctx context.Context, id string) error +} + +/* +Satori runtime integration definitions. +*/ +type Satori interface { + Authenticate(ctx context.Context, id string, ipAddress ...string) error + PropertiesGet(ctx context.Context, id string) (*Properties, error) + PropertiesUpdate(ctx context.Context, id string, properties *PropertiesUpdate) error + EventsPublish(ctx context.Context, id string, events []*Event) error + ExperimentsList(ctx context.Context, id string, names ...string) (*ExperimentList, error) + FlagsList(ctx context.Context, id string, names ...string) (*FlagList, error) + LiveEventsList(ctx context.Context, id string, names ...string) (*LiveEventList, error) +} + +type Properties struct { + Default map[string]string `json:"default,omitempty"` + Custom map[string]string `json:"custom,omitempty"` + Computed map[string]string `json:"computed,omitempty"` +} + +type PropertiesUpdate struct { + Default map[string]string `json:"default,omitempty"` + Custom map[string]string `json:"custom,omitempty"` + Recompute *bool `json:"recompute,omitempty"` +} + +type Events struct { + Events []*Event +} + +type Event struct { + Name string `json:"name,omitempty"` + Id string `json:"id,omitempty"` + Metadata map[string]string `json:"metadata,omitempty"` + Value string `json:"value,omitempty"` + Timestamp int64 `json:"-"` +} + +type ExperimentList struct { + Experiments []*Experiment `json:"experiments,omitempty"` +} + +type Experiment struct { + Name string `json:"name,omitempty"` + Value string `json:"value,omitempty"` +} + +type FlagList struct { + Flags []*Flag `json:"flags,omitempty"` +} + +type Flag struct { + Name string `json:"name,omitempty"` + Value string `json:"value,omitempty"` + ConditionChanged bool `json:"condition_changed,omitempty"` +} + +type LiveEventList struct { + LiveEvents []*LiveEvent `json:"live_events,omitempty"` +} + +type LiveEvent struct { + Name string `json:"name,omitempty"` + Description string `json:"description,omitempty"` + Value string `json:"value,omitempty"` + ActiveStartTimeSec int64 `json:"active_start_time_sec,string,omitempty"` + ActiveEndTimeSec int64 `json:"active_end_time_sec,string,omitempty"` +} diff --git a/server/vendor/google.golang.org/protobuf/LICENSE b/server/vendor/google.golang.org/protobuf/LICENSE new file mode 100755 index 0000000..49ea0f9 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2018 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/server/vendor/google.golang.org/protobuf/PATENTS b/server/vendor/google.golang.org/protobuf/PATENTS new file mode 100755 index 0000000..7330990 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) +patent license to make, have made, use, offer to sell, sell, import, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/server/vendor/google.golang.org/protobuf/encoding/prototext/decode.go b/server/vendor/google.golang.org/protobuf/encoding/prototext/decode.go new file mode 100755 index 0000000..4921b2d --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/encoding/prototext/decode.go @@ -0,0 +1,770 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package prototext + +import ( + "fmt" + "unicode/utf8" + + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/encoding/text" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/internal/set" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +// Unmarshal reads the given []byte into the given proto.Message. +// The provided message must be mutable (e.g., a non-nil pointer to a message). +func Unmarshal(b []byte, m proto.Message) error { + return UnmarshalOptions{}.Unmarshal(b, m) +} + +// UnmarshalOptions is a configurable textproto format unmarshaler. +type UnmarshalOptions struct { + pragma.NoUnkeyedLiterals + + // AllowPartial accepts input for messages that will result in missing + // required fields. If AllowPartial is false (the default), Unmarshal will + // return error if there are any missing required fields. + AllowPartial bool + + // DiscardUnknown specifies whether to ignore unknown fields when parsing. + // An unknown field is any field whose field name or field number does not + // resolve to any known or extension field in the message. + // By default, unmarshal rejects unknown fields as an error. + DiscardUnknown bool + + // Resolver is used for looking up types when unmarshaling + // google.protobuf.Any messages or extension fields. + // If nil, this defaults to using protoregistry.GlobalTypes. + Resolver interface { + protoregistry.MessageTypeResolver + protoregistry.ExtensionTypeResolver + } +} + +// Unmarshal reads the given []byte and populates the given proto.Message +// using options in the UnmarshalOptions object. +// The provided message must be mutable (e.g., a non-nil pointer to a message). +func (o UnmarshalOptions) Unmarshal(b []byte, m proto.Message) error { + return o.unmarshal(b, m) +} + +// unmarshal is a centralized function that all unmarshal operations go through. +// For profiling purposes, avoid changing the name of this function or +// introducing other code paths for unmarshal that do not go through this. +func (o UnmarshalOptions) unmarshal(b []byte, m proto.Message) error { + proto.Reset(m) + + if o.Resolver == nil { + o.Resolver = protoregistry.GlobalTypes + } + + dec := decoder{text.NewDecoder(b), o} + if err := dec.unmarshalMessage(m.ProtoReflect(), false); err != nil { + return err + } + if o.AllowPartial { + return nil + } + return proto.CheckInitialized(m) +} + +type decoder struct { + *text.Decoder + opts UnmarshalOptions +} + +// newError returns an error object with position info. +func (d decoder) newError(pos int, f string, x ...interface{}) error { + line, column := d.Position(pos) + head := fmt.Sprintf("(line %d:%d): ", line, column) + return errors.New(head+f, x...) +} + +// unexpectedTokenError returns a syntax error for the given unexpected token. +func (d decoder) unexpectedTokenError(tok text.Token) error { + return d.syntaxError(tok.Pos(), "unexpected token: %s", tok.RawString()) +} + +// syntaxError returns a syntax error for given position. +func (d decoder) syntaxError(pos int, f string, x ...interface{}) error { + line, column := d.Position(pos) + head := fmt.Sprintf("syntax error (line %d:%d): ", line, column) + return errors.New(head+f, x...) +} + +// unmarshalMessage unmarshals into the given protoreflect.Message. +func (d decoder) unmarshalMessage(m protoreflect.Message, checkDelims bool) error { + messageDesc := m.Descriptor() + if !flags.ProtoLegacy && messageset.IsMessageSet(messageDesc) { + return errors.New("no support for proto1 MessageSets") + } + + if messageDesc.FullName() == genid.Any_message_fullname { + return d.unmarshalAny(m, checkDelims) + } + + if checkDelims { + tok, err := d.Read() + if err != nil { + return err + } + + if tok.Kind() != text.MessageOpen { + return d.unexpectedTokenError(tok) + } + } + + var seenNums set.Ints + var seenOneofs set.Ints + fieldDescs := messageDesc.Fields() + + for { + // Read field name. + tok, err := d.Read() + if err != nil { + return err + } + switch typ := tok.Kind(); typ { + case text.Name: + // Continue below. + case text.EOF: + if checkDelims { + return text.ErrUnexpectedEOF + } + return nil + default: + if checkDelims && typ == text.MessageClose { + return nil + } + return d.unexpectedTokenError(tok) + } + + // Resolve the field descriptor. + var name protoreflect.Name + var fd protoreflect.FieldDescriptor + var xt protoreflect.ExtensionType + var xtErr error + var isFieldNumberName bool + + switch tok.NameKind() { + case text.IdentName: + name = protoreflect.Name(tok.IdentName()) + fd = fieldDescs.ByTextName(string(name)) + + case text.TypeName: + // Handle extensions only. This code path is not for Any. + xt, xtErr = d.opts.Resolver.FindExtensionByName(protoreflect.FullName(tok.TypeName())) + + case text.FieldNumber: + isFieldNumberName = true + num := protoreflect.FieldNumber(tok.FieldNumber()) + if !num.IsValid() { + return d.newError(tok.Pos(), "invalid field number: %d", num) + } + fd = fieldDescs.ByNumber(num) + if fd == nil { + xt, xtErr = d.opts.Resolver.FindExtensionByNumber(messageDesc.FullName(), num) + } + } + + if xt != nil { + fd = xt.TypeDescriptor() + if !messageDesc.ExtensionRanges().Has(fd.Number()) || fd.ContainingMessage().FullName() != messageDesc.FullName() { + return d.newError(tok.Pos(), "message %v cannot be extended by %v", messageDesc.FullName(), fd.FullName()) + } + } else if xtErr != nil && xtErr != protoregistry.NotFound { + return d.newError(tok.Pos(), "unable to resolve [%s]: %v", tok.RawString(), xtErr) + } + if flags.ProtoLegacy { + if fd != nil && fd.IsWeak() && fd.Message().IsPlaceholder() { + fd = nil // reset since the weak reference is not linked in + } + } + + // Handle unknown fields. + if fd == nil { + if d.opts.DiscardUnknown || messageDesc.ReservedNames().Has(name) { + d.skipValue() + continue + } + return d.newError(tok.Pos(), "unknown field: %v", tok.RawString()) + } + + // Handle fields identified by field number. + if isFieldNumberName { + // TODO: Add an option to permit parsing field numbers. + // + // This requires careful thought as the MarshalOptions.EmitUnknown + // option allows formatting unknown fields as the field number and the + // best-effort textual representation of the field value. In that case, + // it may not be possible to unmarshal the value from a parser that does + // have information about the unknown field. + return d.newError(tok.Pos(), "cannot specify field by number: %v", tok.RawString()) + } + + switch { + case fd.IsList(): + kind := fd.Kind() + if kind != protoreflect.MessageKind && kind != protoreflect.GroupKind && !tok.HasSeparator() { + return d.syntaxError(tok.Pos(), "missing field separator :") + } + + list := m.Mutable(fd).List() + if err := d.unmarshalList(fd, list); err != nil { + return err + } + + case fd.IsMap(): + mmap := m.Mutable(fd).Map() + if err := d.unmarshalMap(fd, mmap); err != nil { + return err + } + + default: + kind := fd.Kind() + if kind != protoreflect.MessageKind && kind != protoreflect.GroupKind && !tok.HasSeparator() { + return d.syntaxError(tok.Pos(), "missing field separator :") + } + + // If field is a oneof, check if it has already been set. + if od := fd.ContainingOneof(); od != nil { + idx := uint64(od.Index()) + if seenOneofs.Has(idx) { + return d.newError(tok.Pos(), "error parsing %q, oneof %v is already set", tok.RawString(), od.FullName()) + } + seenOneofs.Set(idx) + } + + num := uint64(fd.Number()) + if seenNums.Has(num) { + return d.newError(tok.Pos(), "non-repeated field %q is repeated", tok.RawString()) + } + + if err := d.unmarshalSingular(fd, m); err != nil { + return err + } + seenNums.Set(num) + } + } + + return nil +} + +// unmarshalSingular unmarshals a non-repeated field value specified by the +// given FieldDescriptor. +func (d decoder) unmarshalSingular(fd protoreflect.FieldDescriptor, m protoreflect.Message) error { + var val protoreflect.Value + var err error + switch fd.Kind() { + case protoreflect.MessageKind, protoreflect.GroupKind: + val = m.NewField(fd) + err = d.unmarshalMessage(val.Message(), true) + default: + val, err = d.unmarshalScalar(fd) + } + if err == nil { + m.Set(fd, val) + } + return err +} + +// unmarshalScalar unmarshals a scalar/enum protoreflect.Value specified by the +// given FieldDescriptor. +func (d decoder) unmarshalScalar(fd protoreflect.FieldDescriptor) (protoreflect.Value, error) { + tok, err := d.Read() + if err != nil { + return protoreflect.Value{}, err + } + + if tok.Kind() != text.Scalar { + return protoreflect.Value{}, d.unexpectedTokenError(tok) + } + + kind := fd.Kind() + switch kind { + case protoreflect.BoolKind: + if b, ok := tok.Bool(); ok { + return protoreflect.ValueOfBool(b), nil + } + + case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind: + if n, ok := tok.Int32(); ok { + return protoreflect.ValueOfInt32(n), nil + } + + case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind: + if n, ok := tok.Int64(); ok { + return protoreflect.ValueOfInt64(n), nil + } + + case protoreflect.Uint32Kind, protoreflect.Fixed32Kind: + if n, ok := tok.Uint32(); ok { + return protoreflect.ValueOfUint32(n), nil + } + + case protoreflect.Uint64Kind, protoreflect.Fixed64Kind: + if n, ok := tok.Uint64(); ok { + return protoreflect.ValueOfUint64(n), nil + } + + case protoreflect.FloatKind: + if n, ok := tok.Float32(); ok { + return protoreflect.ValueOfFloat32(n), nil + } + + case protoreflect.DoubleKind: + if n, ok := tok.Float64(); ok { + return protoreflect.ValueOfFloat64(n), nil + } + + case protoreflect.StringKind: + if s, ok := tok.String(); ok { + if strs.EnforceUTF8(fd) && !utf8.ValidString(s) { + return protoreflect.Value{}, d.newError(tok.Pos(), "contains invalid UTF-8") + } + return protoreflect.ValueOfString(s), nil + } + + case protoreflect.BytesKind: + if b, ok := tok.String(); ok { + return protoreflect.ValueOfBytes([]byte(b)), nil + } + + case protoreflect.EnumKind: + if lit, ok := tok.Enum(); ok { + // Lookup EnumNumber based on name. + if enumVal := fd.Enum().Values().ByName(protoreflect.Name(lit)); enumVal != nil { + return protoreflect.ValueOfEnum(enumVal.Number()), nil + } + } + if num, ok := tok.Int32(); ok { + return protoreflect.ValueOfEnum(protoreflect.EnumNumber(num)), nil + } + + default: + panic(fmt.Sprintf("invalid scalar kind %v", kind)) + } + + return protoreflect.Value{}, d.newError(tok.Pos(), "invalid value for %v type: %v", kind, tok.RawString()) +} + +// unmarshalList unmarshals into given protoreflect.List. A list value can +// either be in [] syntax or simply just a single scalar/message value. +func (d decoder) unmarshalList(fd protoreflect.FieldDescriptor, list protoreflect.List) error { + tok, err := d.Peek() + if err != nil { + return err + } + + switch fd.Kind() { + case protoreflect.MessageKind, protoreflect.GroupKind: + switch tok.Kind() { + case text.ListOpen: + d.Read() + for { + tok, err := d.Peek() + if err != nil { + return err + } + + switch tok.Kind() { + case text.ListClose: + d.Read() + return nil + case text.MessageOpen: + pval := list.NewElement() + if err := d.unmarshalMessage(pval.Message(), true); err != nil { + return err + } + list.Append(pval) + default: + return d.unexpectedTokenError(tok) + } + } + + case text.MessageOpen: + pval := list.NewElement() + if err := d.unmarshalMessage(pval.Message(), true); err != nil { + return err + } + list.Append(pval) + return nil + } + + default: + switch tok.Kind() { + case text.ListOpen: + d.Read() + for { + tok, err := d.Peek() + if err != nil { + return err + } + + switch tok.Kind() { + case text.ListClose: + d.Read() + return nil + case text.Scalar: + pval, err := d.unmarshalScalar(fd) + if err != nil { + return err + } + list.Append(pval) + default: + return d.unexpectedTokenError(tok) + } + } + + case text.Scalar: + pval, err := d.unmarshalScalar(fd) + if err != nil { + return err + } + list.Append(pval) + return nil + } + } + + return d.unexpectedTokenError(tok) +} + +// unmarshalMap unmarshals into given protoreflect.Map. A map value is a +// textproto message containing {key: , value: }. +func (d decoder) unmarshalMap(fd protoreflect.FieldDescriptor, mmap protoreflect.Map) error { + // Determine ahead whether map entry is a scalar type or a message type in + // order to call the appropriate unmarshalMapValue func inside + // unmarshalMapEntry. + var unmarshalMapValue func() (protoreflect.Value, error) + switch fd.MapValue().Kind() { + case protoreflect.MessageKind, protoreflect.GroupKind: + unmarshalMapValue = func() (protoreflect.Value, error) { + pval := mmap.NewValue() + if err := d.unmarshalMessage(pval.Message(), true); err != nil { + return protoreflect.Value{}, err + } + return pval, nil + } + default: + unmarshalMapValue = func() (protoreflect.Value, error) { + return d.unmarshalScalar(fd.MapValue()) + } + } + + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + case text.MessageOpen: + return d.unmarshalMapEntry(fd, mmap, unmarshalMapValue) + + case text.ListOpen: + for { + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + case text.ListClose: + return nil + case text.MessageOpen: + if err := d.unmarshalMapEntry(fd, mmap, unmarshalMapValue); err != nil { + return err + } + default: + return d.unexpectedTokenError(tok) + } + } + + default: + return d.unexpectedTokenError(tok) + } +} + +// unmarshalMap unmarshals into given protoreflect.Map. A map value is a +// textproto message containing {key: , value: }. +func (d decoder) unmarshalMapEntry(fd protoreflect.FieldDescriptor, mmap protoreflect.Map, unmarshalMapValue func() (protoreflect.Value, error)) error { + var key protoreflect.MapKey + var pval protoreflect.Value +Loop: + for { + // Read field name. + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + case text.Name: + if tok.NameKind() != text.IdentName { + if !d.opts.DiscardUnknown { + return d.newError(tok.Pos(), "unknown map entry field %q", tok.RawString()) + } + d.skipValue() + continue Loop + } + // Continue below. + case text.MessageClose: + break Loop + default: + return d.unexpectedTokenError(tok) + } + + switch name := protoreflect.Name(tok.IdentName()); name { + case genid.MapEntry_Key_field_name: + if !tok.HasSeparator() { + return d.syntaxError(tok.Pos(), "missing field separator :") + } + if key.IsValid() { + return d.newError(tok.Pos(), "map entry %q cannot be repeated", name) + } + val, err := d.unmarshalScalar(fd.MapKey()) + if err != nil { + return err + } + key = val.MapKey() + + case genid.MapEntry_Value_field_name: + if kind := fd.MapValue().Kind(); (kind != protoreflect.MessageKind) && (kind != protoreflect.GroupKind) { + if !tok.HasSeparator() { + return d.syntaxError(tok.Pos(), "missing field separator :") + } + } + if pval.IsValid() { + return d.newError(tok.Pos(), "map entry %q cannot be repeated", name) + } + pval, err = unmarshalMapValue() + if err != nil { + return err + } + + default: + if !d.opts.DiscardUnknown { + return d.newError(tok.Pos(), "unknown map entry field %q", name) + } + d.skipValue() + } + } + + if !key.IsValid() { + key = fd.MapKey().Default().MapKey() + } + if !pval.IsValid() { + switch fd.MapValue().Kind() { + case protoreflect.MessageKind, protoreflect.GroupKind: + // If value field is not set for message/group types, construct an + // empty one as default. + pval = mmap.NewValue() + default: + pval = fd.MapValue().Default() + } + } + mmap.Set(key, pval) + return nil +} + +// unmarshalAny unmarshals an Any textproto. It can either be in expanded form +// or non-expanded form. +func (d decoder) unmarshalAny(m protoreflect.Message, checkDelims bool) error { + var typeURL string + var bValue []byte + var seenTypeUrl bool + var seenValue bool + var isExpanded bool + + if checkDelims { + tok, err := d.Read() + if err != nil { + return err + } + + if tok.Kind() != text.MessageOpen { + return d.unexpectedTokenError(tok) + } + } + +Loop: + for { + // Read field name. Can only have 3 possible field names, i.e. type_url, + // value and type URL name inside []. + tok, err := d.Read() + if err != nil { + return err + } + if typ := tok.Kind(); typ != text.Name { + if checkDelims { + if typ == text.MessageClose { + break Loop + } + } else if typ == text.EOF { + break Loop + } + return d.unexpectedTokenError(tok) + } + + switch tok.NameKind() { + case text.IdentName: + // Both type_url and value fields require field separator :. + if !tok.HasSeparator() { + return d.syntaxError(tok.Pos(), "missing field separator :") + } + + switch name := protoreflect.Name(tok.IdentName()); name { + case genid.Any_TypeUrl_field_name: + if seenTypeUrl { + return d.newError(tok.Pos(), "duplicate %v field", genid.Any_TypeUrl_field_fullname) + } + if isExpanded { + return d.newError(tok.Pos(), "conflict with [%s] field", typeURL) + } + tok, err := d.Read() + if err != nil { + return err + } + var ok bool + typeURL, ok = tok.String() + if !ok { + return d.newError(tok.Pos(), "invalid %v field value: %v", genid.Any_TypeUrl_field_fullname, tok.RawString()) + } + seenTypeUrl = true + + case genid.Any_Value_field_name: + if seenValue { + return d.newError(tok.Pos(), "duplicate %v field", genid.Any_Value_field_fullname) + } + if isExpanded { + return d.newError(tok.Pos(), "conflict with [%s] field", typeURL) + } + tok, err := d.Read() + if err != nil { + return err + } + s, ok := tok.String() + if !ok { + return d.newError(tok.Pos(), "invalid %v field value: %v", genid.Any_Value_field_fullname, tok.RawString()) + } + bValue = []byte(s) + seenValue = true + + default: + if !d.opts.DiscardUnknown { + return d.newError(tok.Pos(), "invalid field name %q in %v message", tok.RawString(), genid.Any_message_fullname) + } + } + + case text.TypeName: + if isExpanded { + return d.newError(tok.Pos(), "cannot have more than one type") + } + if seenTypeUrl { + return d.newError(tok.Pos(), "conflict with type_url field") + } + typeURL = tok.TypeName() + var err error + bValue, err = d.unmarshalExpandedAny(typeURL, tok.Pos()) + if err != nil { + return err + } + isExpanded = true + + default: + if !d.opts.DiscardUnknown { + return d.newError(tok.Pos(), "invalid field name %q in %v message", tok.RawString(), genid.Any_message_fullname) + } + } + } + + fds := m.Descriptor().Fields() + if len(typeURL) > 0 { + m.Set(fds.ByNumber(genid.Any_TypeUrl_field_number), protoreflect.ValueOfString(typeURL)) + } + if len(bValue) > 0 { + m.Set(fds.ByNumber(genid.Any_Value_field_number), protoreflect.ValueOfBytes(bValue)) + } + return nil +} + +func (d decoder) unmarshalExpandedAny(typeURL string, pos int) ([]byte, error) { + mt, err := d.opts.Resolver.FindMessageByURL(typeURL) + if err != nil { + return nil, d.newError(pos, "unable to resolve message [%v]: %v", typeURL, err) + } + // Create new message for the embedded message type and unmarshal the value + // field into it. + m := mt.New() + if err := d.unmarshalMessage(m, true); err != nil { + return nil, err + } + // Serialize the embedded message and return the resulting bytes. + b, err := proto.MarshalOptions{ + AllowPartial: true, // Never check required fields inside an Any. + Deterministic: true, + }.Marshal(m.Interface()) + if err != nil { + return nil, d.newError(pos, "error in marshaling message into Any.value: %v", err) + } + return b, nil +} + +// skipValue makes the decoder parse a field value in order to advance the read +// to the next field. It relies on Read returning an error if the types are not +// in valid sequence. +func (d decoder) skipValue() error { + tok, err := d.Read() + if err != nil { + return err + } + // Only need to continue reading for messages and lists. + switch tok.Kind() { + case text.MessageOpen: + return d.skipMessageValue() + + case text.ListOpen: + for { + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + case text.ListClose: + return nil + case text.MessageOpen: + return d.skipMessageValue() + default: + // Skip items. This will not validate whether skipped values are + // of the same type or not, same behavior as C++ + // TextFormat::Parser::AllowUnknownField(true) version 3.8.0. + } + } + } + return nil +} + +// skipMessageValue makes the decoder parse and skip over all fields in a +// message. It assumes that the previous read type is MessageOpen. +func (d decoder) skipMessageValue() error { + for { + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + case text.MessageClose: + return nil + case text.Name: + if err := d.skipValue(); err != nil { + return err + } + } + } +} diff --git a/server/vendor/google.golang.org/protobuf/encoding/prototext/doc.go b/server/vendor/google.golang.org/protobuf/encoding/prototext/doc.go new file mode 100755 index 0000000..162b4f9 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/encoding/prototext/doc.go @@ -0,0 +1,7 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package prototext marshals and unmarshals protocol buffer messages as the +// textproto format. +package prototext diff --git a/server/vendor/google.golang.org/protobuf/encoding/prototext/encode.go b/server/vendor/google.golang.org/protobuf/encoding/prototext/encode.go new file mode 100755 index 0000000..722a7b4 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/encoding/prototext/encode.go @@ -0,0 +1,376 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package prototext + +import ( + "fmt" + "strconv" + "unicode/utf8" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/encoding/text" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/order" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +const defaultIndent = " " + +// Format formats the message as a multiline string. +// This function is only intended for human consumption and ignores errors. +// Do not depend on the output being stable. It may change over time across +// different versions of the program. +func Format(m proto.Message) string { + return MarshalOptions{Multiline: true}.Format(m) +} + +// Marshal writes the given proto.Message in textproto format using default +// options. Do not depend on the output being stable. It may change over time +// across different versions of the program. +func Marshal(m proto.Message) ([]byte, error) { + return MarshalOptions{}.Marshal(m) +} + +// MarshalOptions is a configurable text format marshaler. +type MarshalOptions struct { + pragma.NoUnkeyedLiterals + + // Multiline specifies whether the marshaler should format the output in + // indented-form with every textual element on a new line. + // If Indent is an empty string, then an arbitrary indent is chosen. + Multiline bool + + // Indent specifies the set of indentation characters to use in a multiline + // formatted output such that every entry is preceded by Indent and + // terminated by a newline. If non-empty, then Multiline is treated as true. + // Indent can only be composed of space or tab characters. + Indent string + + // EmitASCII specifies whether to format strings and bytes as ASCII only + // as opposed to using UTF-8 encoding when possible. + EmitASCII bool + + // allowInvalidUTF8 specifies whether to permit the encoding of strings + // with invalid UTF-8. This is unexported as it is intended to only + // be specified by the Format method. + allowInvalidUTF8 bool + + // AllowPartial allows messages that have missing required fields to marshal + // without returning an error. If AllowPartial is false (the default), + // Marshal will return error if there are any missing required fields. + AllowPartial bool + + // EmitUnknown specifies whether to emit unknown fields in the output. + // If specified, the unmarshaler may be unable to parse the output. + // The default is to exclude unknown fields. + EmitUnknown bool + + // Resolver is used for looking up types when expanding google.protobuf.Any + // messages. If nil, this defaults to using protoregistry.GlobalTypes. + Resolver interface { + protoregistry.ExtensionTypeResolver + protoregistry.MessageTypeResolver + } +} + +// Format formats the message as a string. +// This method is only intended for human consumption and ignores errors. +// Do not depend on the output being stable. It may change over time across +// different versions of the program. +func (o MarshalOptions) Format(m proto.Message) string { + if m == nil || !m.ProtoReflect().IsValid() { + return "" // invalid syntax, but okay since this is for debugging + } + o.allowInvalidUTF8 = true + o.AllowPartial = true + o.EmitUnknown = true + b, _ := o.Marshal(m) + return string(b) +} + +// Marshal writes the given proto.Message in textproto format using options in +// MarshalOptions object. Do not depend on the output being stable. It may +// change over time across different versions of the program. +func (o MarshalOptions) Marshal(m proto.Message) ([]byte, error) { + return o.marshal(nil, m) +} + +// MarshalAppend appends the textproto format encoding of m to b, +// returning the result. +func (o MarshalOptions) MarshalAppend(b []byte, m proto.Message) ([]byte, error) { + return o.marshal(b, m) +} + +// marshal is a centralized function that all marshal operations go through. +// For profiling purposes, avoid changing the name of this function or +// introducing other code paths for marshal that do not go through this. +func (o MarshalOptions) marshal(b []byte, m proto.Message) ([]byte, error) { + var delims = [2]byte{'{', '}'} + + if o.Multiline && o.Indent == "" { + o.Indent = defaultIndent + } + if o.Resolver == nil { + o.Resolver = protoregistry.GlobalTypes + } + + internalEnc, err := text.NewEncoder(b, o.Indent, delims, o.EmitASCII) + if err != nil { + return nil, err + } + + // Treat nil message interface as an empty message, + // in which case there is nothing to output. + if m == nil { + return b, nil + } + + enc := encoder{internalEnc, o} + err = enc.marshalMessage(m.ProtoReflect(), false) + if err != nil { + return nil, err + } + out := enc.Bytes() + if len(o.Indent) > 0 && len(out) > 0 { + out = append(out, '\n') + } + if o.AllowPartial { + return out, nil + } + return out, proto.CheckInitialized(m) +} + +type encoder struct { + *text.Encoder + opts MarshalOptions +} + +// marshalMessage marshals the given protoreflect.Message. +func (e encoder) marshalMessage(m protoreflect.Message, inclDelims bool) error { + messageDesc := m.Descriptor() + if !flags.ProtoLegacy && messageset.IsMessageSet(messageDesc) { + return errors.New("no support for proto1 MessageSets") + } + + if inclDelims { + e.StartMessage() + defer e.EndMessage() + } + + // Handle Any expansion. + if messageDesc.FullName() == genid.Any_message_fullname { + if e.marshalAny(m) { + return nil + } + // If unable to expand, continue on to marshal Any as a regular message. + } + + // Marshal fields. + var err error + order.RangeFields(m, order.IndexNameFieldOrder, func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + if err = e.marshalField(fd.TextName(), v, fd); err != nil { + return false + } + return true + }) + if err != nil { + return err + } + + // Marshal unknown fields. + if e.opts.EmitUnknown { + e.marshalUnknown(m.GetUnknown()) + } + + return nil +} + +// marshalField marshals the given field with protoreflect.Value. +func (e encoder) marshalField(name string, val protoreflect.Value, fd protoreflect.FieldDescriptor) error { + switch { + case fd.IsList(): + return e.marshalList(name, val.List(), fd) + case fd.IsMap(): + return e.marshalMap(name, val.Map(), fd) + default: + e.WriteName(name) + return e.marshalSingular(val, fd) + } +} + +// marshalSingular marshals the given non-repeated field value. This includes +// all scalar types, enums, messages, and groups. +func (e encoder) marshalSingular(val protoreflect.Value, fd protoreflect.FieldDescriptor) error { + kind := fd.Kind() + switch kind { + case protoreflect.BoolKind: + e.WriteBool(val.Bool()) + + case protoreflect.StringKind: + s := val.String() + if !e.opts.allowInvalidUTF8 && strs.EnforceUTF8(fd) && !utf8.ValidString(s) { + return errors.InvalidUTF8(string(fd.FullName())) + } + e.WriteString(s) + + case protoreflect.Int32Kind, protoreflect.Int64Kind, + protoreflect.Sint32Kind, protoreflect.Sint64Kind, + protoreflect.Sfixed32Kind, protoreflect.Sfixed64Kind: + e.WriteInt(val.Int()) + + case protoreflect.Uint32Kind, protoreflect.Uint64Kind, + protoreflect.Fixed32Kind, protoreflect.Fixed64Kind: + e.WriteUint(val.Uint()) + + case protoreflect.FloatKind: + // Encoder.WriteFloat handles the special numbers NaN and infinites. + e.WriteFloat(val.Float(), 32) + + case protoreflect.DoubleKind: + // Encoder.WriteFloat handles the special numbers NaN and infinites. + e.WriteFloat(val.Float(), 64) + + case protoreflect.BytesKind: + e.WriteString(string(val.Bytes())) + + case protoreflect.EnumKind: + num := val.Enum() + if desc := fd.Enum().Values().ByNumber(num); desc != nil { + e.WriteLiteral(string(desc.Name())) + } else { + // Use numeric value if there is no enum description. + e.WriteInt(int64(num)) + } + + case protoreflect.MessageKind, protoreflect.GroupKind: + return e.marshalMessage(val.Message(), true) + + default: + panic(fmt.Sprintf("%v has unknown kind: %v", fd.FullName(), kind)) + } + return nil +} + +// marshalList marshals the given protoreflect.List as multiple name-value fields. +func (e encoder) marshalList(name string, list protoreflect.List, fd protoreflect.FieldDescriptor) error { + size := list.Len() + for i := 0; i < size; i++ { + e.WriteName(name) + if err := e.marshalSingular(list.Get(i), fd); err != nil { + return err + } + } + return nil +} + +// marshalMap marshals the given protoreflect.Map as multiple name-value fields. +func (e encoder) marshalMap(name string, mmap protoreflect.Map, fd protoreflect.FieldDescriptor) error { + var err error + order.RangeEntries(mmap, order.GenericKeyOrder, func(key protoreflect.MapKey, val protoreflect.Value) bool { + e.WriteName(name) + e.StartMessage() + defer e.EndMessage() + + e.WriteName(string(genid.MapEntry_Key_field_name)) + err = e.marshalSingular(key.Value(), fd.MapKey()) + if err != nil { + return false + } + + e.WriteName(string(genid.MapEntry_Value_field_name)) + err = e.marshalSingular(val, fd.MapValue()) + if err != nil { + return false + } + return true + }) + return err +} + +// marshalUnknown parses the given []byte and marshals fields out. +// This function assumes proper encoding in the given []byte. +func (e encoder) marshalUnknown(b []byte) { + const dec = 10 + const hex = 16 + for len(b) > 0 { + num, wtype, n := protowire.ConsumeTag(b) + b = b[n:] + e.WriteName(strconv.FormatInt(int64(num), dec)) + + switch wtype { + case protowire.VarintType: + var v uint64 + v, n = protowire.ConsumeVarint(b) + e.WriteUint(v) + case protowire.Fixed32Type: + var v uint32 + v, n = protowire.ConsumeFixed32(b) + e.WriteLiteral("0x" + strconv.FormatUint(uint64(v), hex)) + case protowire.Fixed64Type: + var v uint64 + v, n = protowire.ConsumeFixed64(b) + e.WriteLiteral("0x" + strconv.FormatUint(v, hex)) + case protowire.BytesType: + var v []byte + v, n = protowire.ConsumeBytes(b) + e.WriteString(string(v)) + case protowire.StartGroupType: + e.StartMessage() + var v []byte + v, n = protowire.ConsumeGroup(num, b) + e.marshalUnknown(v) + e.EndMessage() + default: + panic(fmt.Sprintf("prototext: error parsing unknown field wire type: %v", wtype)) + } + + b = b[n:] + } +} + +// marshalAny marshals the given google.protobuf.Any message in expanded form. +// It returns true if it was able to marshal, else false. +func (e encoder) marshalAny(any protoreflect.Message) bool { + // Construct the embedded message. + fds := any.Descriptor().Fields() + fdType := fds.ByNumber(genid.Any_TypeUrl_field_number) + typeURL := any.Get(fdType).String() + mt, err := e.opts.Resolver.FindMessageByURL(typeURL) + if err != nil { + return false + } + m := mt.New().Interface() + + // Unmarshal bytes into embedded message. + fdValue := fds.ByNumber(genid.Any_Value_field_number) + value := any.Get(fdValue) + err = proto.UnmarshalOptions{ + AllowPartial: true, + Resolver: e.opts.Resolver, + }.Unmarshal(value.Bytes(), m) + if err != nil { + return false + } + + // Get current encoder position. If marshaling fails, reset encoder output + // back to this position. + pos := e.Snapshot() + + // Field name is the proto field name enclosed in []. + e.WriteName("[" + typeURL + "]") + err = e.marshalMessage(m.ProtoReflect(), true) + if err != nil { + e.Reset(pos) + return false + } + return true +} diff --git a/server/vendor/google.golang.org/protobuf/encoding/protowire/wire.go b/server/vendor/google.golang.org/protobuf/encoding/protowire/wire.go new file mode 100755 index 0000000..f4b4686 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/encoding/protowire/wire.go @@ -0,0 +1,547 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package protowire parses and formats the raw wire encoding. +// See https://protobuf.dev/programming-guides/encoding. +// +// For marshaling and unmarshaling entire protobuf messages, +// use the "google.golang.org/protobuf/proto" package instead. +package protowire + +import ( + "io" + "math" + "math/bits" + + "google.golang.org/protobuf/internal/errors" +) + +// Number represents the field number. +type Number int32 + +const ( + MinValidNumber Number = 1 + FirstReservedNumber Number = 19000 + LastReservedNumber Number = 19999 + MaxValidNumber Number = 1<<29 - 1 + DefaultRecursionLimit = 10000 +) + +// IsValid reports whether the field number is semantically valid. +func (n Number) IsValid() bool { + return MinValidNumber <= n && n <= MaxValidNumber +} + +// Type represents the wire type. +type Type int8 + +const ( + VarintType Type = 0 + Fixed32Type Type = 5 + Fixed64Type Type = 1 + BytesType Type = 2 + StartGroupType Type = 3 + EndGroupType Type = 4 +) + +const ( + _ = -iota + errCodeTruncated + errCodeFieldNumber + errCodeOverflow + errCodeReserved + errCodeEndGroup + errCodeRecursionDepth +) + +var ( + errFieldNumber = errors.New("invalid field number") + errOverflow = errors.New("variable length integer overflow") + errReserved = errors.New("cannot parse reserved wire type") + errEndGroup = errors.New("mismatching end group marker") + errParse = errors.New("parse error") +) + +// ParseError converts an error code into an error value. +// This returns nil if n is a non-negative number. +func ParseError(n int) error { + if n >= 0 { + return nil + } + switch n { + case errCodeTruncated: + return io.ErrUnexpectedEOF + case errCodeFieldNumber: + return errFieldNumber + case errCodeOverflow: + return errOverflow + case errCodeReserved: + return errReserved + case errCodeEndGroup: + return errEndGroup + default: + return errParse + } +} + +// ConsumeField parses an entire field record (both tag and value) and returns +// the field number, the wire type, and the total length. +// This returns a negative length upon an error (see ParseError). +// +// The total length includes the tag header and the end group marker (if the +// field is a group). +func ConsumeField(b []byte) (Number, Type, int) { + num, typ, n := ConsumeTag(b) + if n < 0 { + return 0, 0, n // forward error code + } + m := ConsumeFieldValue(num, typ, b[n:]) + if m < 0 { + return 0, 0, m // forward error code + } + return num, typ, n + m +} + +// ConsumeFieldValue parses a field value and returns its length. +// This assumes that the field Number and wire Type have already been parsed. +// This returns a negative length upon an error (see ParseError). +// +// When parsing a group, the length includes the end group marker and +// the end group is verified to match the starting field number. +func ConsumeFieldValue(num Number, typ Type, b []byte) (n int) { + return consumeFieldValueD(num, typ, b, DefaultRecursionLimit) +} + +func consumeFieldValueD(num Number, typ Type, b []byte, depth int) (n int) { + switch typ { + case VarintType: + _, n = ConsumeVarint(b) + return n + case Fixed32Type: + _, n = ConsumeFixed32(b) + return n + case Fixed64Type: + _, n = ConsumeFixed64(b) + return n + case BytesType: + _, n = ConsumeBytes(b) + return n + case StartGroupType: + if depth < 0 { + return errCodeRecursionDepth + } + n0 := len(b) + for { + num2, typ2, n := ConsumeTag(b) + if n < 0 { + return n // forward error code + } + b = b[n:] + if typ2 == EndGroupType { + if num != num2 { + return errCodeEndGroup + } + return n0 - len(b) + } + + n = consumeFieldValueD(num2, typ2, b, depth-1) + if n < 0 { + return n // forward error code + } + b = b[n:] + } + case EndGroupType: + return errCodeEndGroup + default: + return errCodeReserved + } +} + +// AppendTag encodes num and typ as a varint-encoded tag and appends it to b. +func AppendTag(b []byte, num Number, typ Type) []byte { + return AppendVarint(b, EncodeTag(num, typ)) +} + +// ConsumeTag parses b as a varint-encoded tag, reporting its length. +// This returns a negative length upon an error (see ParseError). +func ConsumeTag(b []byte) (Number, Type, int) { + v, n := ConsumeVarint(b) + if n < 0 { + return 0, 0, n // forward error code + } + num, typ := DecodeTag(v) + if num < MinValidNumber { + return 0, 0, errCodeFieldNumber + } + return num, typ, n +} + +func SizeTag(num Number) int { + return SizeVarint(EncodeTag(num, 0)) // wire type has no effect on size +} + +// AppendVarint appends v to b as a varint-encoded uint64. +func AppendVarint(b []byte, v uint64) []byte { + switch { + case v < 1<<7: + b = append(b, byte(v)) + case v < 1<<14: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte(v>>7)) + case v < 1<<21: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte(v>>14)) + case v < 1<<28: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte(v>>21)) + case v < 1<<35: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte(v>>28)) + case v < 1<<42: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte(v>>35)) + case v < 1<<49: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte(v>>42)) + case v < 1<<56: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte((v>>42)&0x7f|0x80), + byte(v>>49)) + case v < 1<<63: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte((v>>42)&0x7f|0x80), + byte((v>>49)&0x7f|0x80), + byte(v>>56)) + default: + b = append(b, + byte((v>>0)&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte((v>>42)&0x7f|0x80), + byte((v>>49)&0x7f|0x80), + byte((v>>56)&0x7f|0x80), + 1) + } + return b +} + +// ConsumeVarint parses b as a varint-encoded uint64, reporting its length. +// This returns a negative length upon an error (see ParseError). +func ConsumeVarint(b []byte) (v uint64, n int) { + var y uint64 + if len(b) <= 0 { + return 0, errCodeTruncated + } + v = uint64(b[0]) + if v < 0x80 { + return v, 1 + } + v -= 0x80 + + if len(b) <= 1 { + return 0, errCodeTruncated + } + y = uint64(b[1]) + v += y << 7 + if y < 0x80 { + return v, 2 + } + v -= 0x80 << 7 + + if len(b) <= 2 { + return 0, errCodeTruncated + } + y = uint64(b[2]) + v += y << 14 + if y < 0x80 { + return v, 3 + } + v -= 0x80 << 14 + + if len(b) <= 3 { + return 0, errCodeTruncated + } + y = uint64(b[3]) + v += y << 21 + if y < 0x80 { + return v, 4 + } + v -= 0x80 << 21 + + if len(b) <= 4 { + return 0, errCodeTruncated + } + y = uint64(b[4]) + v += y << 28 + if y < 0x80 { + return v, 5 + } + v -= 0x80 << 28 + + if len(b) <= 5 { + return 0, errCodeTruncated + } + y = uint64(b[5]) + v += y << 35 + if y < 0x80 { + return v, 6 + } + v -= 0x80 << 35 + + if len(b) <= 6 { + return 0, errCodeTruncated + } + y = uint64(b[6]) + v += y << 42 + if y < 0x80 { + return v, 7 + } + v -= 0x80 << 42 + + if len(b) <= 7 { + return 0, errCodeTruncated + } + y = uint64(b[7]) + v += y << 49 + if y < 0x80 { + return v, 8 + } + v -= 0x80 << 49 + + if len(b) <= 8 { + return 0, errCodeTruncated + } + y = uint64(b[8]) + v += y << 56 + if y < 0x80 { + return v, 9 + } + v -= 0x80 << 56 + + if len(b) <= 9 { + return 0, errCodeTruncated + } + y = uint64(b[9]) + v += y << 63 + if y < 2 { + return v, 10 + } + return 0, errCodeOverflow +} + +// SizeVarint returns the encoded size of a varint. +// The size is guaranteed to be within 1 and 10, inclusive. +func SizeVarint(v uint64) int { + // This computes 1 + (bits.Len64(v)-1)/7. + // 9/64 is a good enough approximation of 1/7 + return int(9*uint32(bits.Len64(v))+64) / 64 +} + +// AppendFixed32 appends v to b as a little-endian uint32. +func AppendFixed32(b []byte, v uint32) []byte { + return append(b, + byte(v>>0), + byte(v>>8), + byte(v>>16), + byte(v>>24)) +} + +// ConsumeFixed32 parses b as a little-endian uint32, reporting its length. +// This returns a negative length upon an error (see ParseError). +func ConsumeFixed32(b []byte) (v uint32, n int) { + if len(b) < 4 { + return 0, errCodeTruncated + } + v = uint32(b[0])<<0 | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 + return v, 4 +} + +// SizeFixed32 returns the encoded size of a fixed32; which is always 4. +func SizeFixed32() int { + return 4 +} + +// AppendFixed64 appends v to b as a little-endian uint64. +func AppendFixed64(b []byte, v uint64) []byte { + return append(b, + byte(v>>0), + byte(v>>8), + byte(v>>16), + byte(v>>24), + byte(v>>32), + byte(v>>40), + byte(v>>48), + byte(v>>56)) +} + +// ConsumeFixed64 parses b as a little-endian uint64, reporting its length. +// This returns a negative length upon an error (see ParseError). +func ConsumeFixed64(b []byte) (v uint64, n int) { + if len(b) < 8 { + return 0, errCodeTruncated + } + v = uint64(b[0])<<0 | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 + return v, 8 +} + +// SizeFixed64 returns the encoded size of a fixed64; which is always 8. +func SizeFixed64() int { + return 8 +} + +// AppendBytes appends v to b as a length-prefixed bytes value. +func AppendBytes(b []byte, v []byte) []byte { + return append(AppendVarint(b, uint64(len(v))), v...) +} + +// ConsumeBytes parses b as a length-prefixed bytes value, reporting its length. +// This returns a negative length upon an error (see ParseError). +func ConsumeBytes(b []byte) (v []byte, n int) { + m, n := ConsumeVarint(b) + if n < 0 { + return nil, n // forward error code + } + if m > uint64(len(b[n:])) { + return nil, errCodeTruncated + } + return b[n:][:m], n + int(m) +} + +// SizeBytes returns the encoded size of a length-prefixed bytes value, +// given only the length. +func SizeBytes(n int) int { + return SizeVarint(uint64(n)) + n +} + +// AppendString appends v to b as a length-prefixed bytes value. +func AppendString(b []byte, v string) []byte { + return append(AppendVarint(b, uint64(len(v))), v...) +} + +// ConsumeString parses b as a length-prefixed bytes value, reporting its length. +// This returns a negative length upon an error (see ParseError). +func ConsumeString(b []byte) (v string, n int) { + bb, n := ConsumeBytes(b) + return string(bb), n +} + +// AppendGroup appends v to b as group value, with a trailing end group marker. +// The value v must not contain the end marker. +func AppendGroup(b []byte, num Number, v []byte) []byte { + return AppendVarint(append(b, v...), EncodeTag(num, EndGroupType)) +} + +// ConsumeGroup parses b as a group value until the trailing end group marker, +// and verifies that the end marker matches the provided num. The value v +// does not contain the end marker, while the length does contain the end marker. +// This returns a negative length upon an error (see ParseError). +func ConsumeGroup(num Number, b []byte) (v []byte, n int) { + n = ConsumeFieldValue(num, StartGroupType, b) + if n < 0 { + return nil, n // forward error code + } + b = b[:n] + + // Truncate off end group marker, but need to handle denormalized varints. + // Assuming end marker is never 0 (which is always the case since + // EndGroupType is non-zero), we can truncate all trailing bytes where the + // lower 7 bits are all zero (implying that the varint is denormalized). + for len(b) > 0 && b[len(b)-1]&0x7f == 0 { + b = b[:len(b)-1] + } + b = b[:len(b)-SizeTag(num)] + return b, n +} + +// SizeGroup returns the encoded size of a group, given only the length. +func SizeGroup(num Number, n int) int { + return n + SizeTag(num) +} + +// DecodeTag decodes the field Number and wire Type from its unified form. +// The Number is -1 if the decoded field number overflows int32. +// Other than overflow, this does not check for field number validity. +func DecodeTag(x uint64) (Number, Type) { + // NOTE: MessageSet allows for larger field numbers than normal. + if x>>3 > uint64(math.MaxInt32) { + return -1, 0 + } + return Number(x >> 3), Type(x & 7) +} + +// EncodeTag encodes the field Number and wire Type into its unified form. +func EncodeTag(num Number, typ Type) uint64 { + return uint64(num)<<3 | uint64(typ&7) +} + +// DecodeZigZag decodes a zig-zag-encoded uint64 as an int64. +// +// Input: {…, 5, 3, 1, 0, 2, 4, 6, …} +// Output: {…, -3, -2, -1, 0, +1, +2, +3, …} +func DecodeZigZag(x uint64) int64 { + return int64(x>>1) ^ int64(x)<<63>>63 +} + +// EncodeZigZag encodes an int64 as a zig-zag-encoded uint64. +// +// Input: {…, -3, -2, -1, 0, +1, +2, +3, …} +// Output: {…, 5, 3, 1, 0, 2, 4, 6, …} +func EncodeZigZag(x int64) uint64 { + return uint64(x<<1) ^ uint64(x>>63) +} + +// DecodeBool decodes a uint64 as a bool. +// +// Input: { 0, 1, 2, …} +// Output: {false, true, true, …} +func DecodeBool(x uint64) bool { + return x != 0 +} + +// EncodeBool encodes a bool as a uint64. +// +// Input: {false, true} +// Output: { 0, 1} +func EncodeBool(x bool) uint64 { + if x { + return 1 + } + return 0 +} diff --git a/server/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go b/server/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go new file mode 100755 index 0000000..db5248e --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go @@ -0,0 +1,318 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package descfmt provides functionality to format descriptors. +package descfmt + +import ( + "fmt" + "io" + "reflect" + "strconv" + "strings" + + "google.golang.org/protobuf/internal/detrand" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/reflect/protoreflect" +) + +type list interface { + Len() int + pragma.DoNotImplement +} + +func FormatList(s fmt.State, r rune, vs list) { + io.WriteString(s, formatListOpt(vs, true, r == 'v' && (s.Flag('+') || s.Flag('#')))) +} +func formatListOpt(vs list, isRoot, allowMulti bool) string { + start, end := "[", "]" + if isRoot { + var name string + switch vs.(type) { + case protoreflect.Names: + name = "Names" + case protoreflect.FieldNumbers: + name = "FieldNumbers" + case protoreflect.FieldRanges: + name = "FieldRanges" + case protoreflect.EnumRanges: + name = "EnumRanges" + case protoreflect.FileImports: + name = "FileImports" + case protoreflect.Descriptor: + name = reflect.ValueOf(vs).MethodByName("Get").Type().Out(0).Name() + "s" + default: + name = reflect.ValueOf(vs).Elem().Type().Name() + } + start, end = name+"{", "}" + } + + var ss []string + switch vs := vs.(type) { + case protoreflect.Names: + for i := 0; i < vs.Len(); i++ { + ss = append(ss, fmt.Sprint(vs.Get(i))) + } + return start + joinStrings(ss, false) + end + case protoreflect.FieldNumbers: + for i := 0; i < vs.Len(); i++ { + ss = append(ss, fmt.Sprint(vs.Get(i))) + } + return start + joinStrings(ss, false) + end + case protoreflect.FieldRanges: + for i := 0; i < vs.Len(); i++ { + r := vs.Get(i) + if r[0]+1 == r[1] { + ss = append(ss, fmt.Sprintf("%d", r[0])) + } else { + ss = append(ss, fmt.Sprintf("%d:%d", r[0], r[1])) // enum ranges are end exclusive + } + } + return start + joinStrings(ss, false) + end + case protoreflect.EnumRanges: + for i := 0; i < vs.Len(); i++ { + r := vs.Get(i) + if r[0] == r[1] { + ss = append(ss, fmt.Sprintf("%d", r[0])) + } else { + ss = append(ss, fmt.Sprintf("%d:%d", r[0], int64(r[1])+1)) // enum ranges are end inclusive + } + } + return start + joinStrings(ss, false) + end + case protoreflect.FileImports: + for i := 0; i < vs.Len(); i++ { + var rs records + rs.Append(reflect.ValueOf(vs.Get(i)), "Path", "Package", "IsPublic", "IsWeak") + ss = append(ss, "{"+rs.Join()+"}") + } + return start + joinStrings(ss, allowMulti) + end + default: + _, isEnumValue := vs.(protoreflect.EnumValueDescriptors) + for i := 0; i < vs.Len(); i++ { + m := reflect.ValueOf(vs).MethodByName("Get") + v := m.Call([]reflect.Value{reflect.ValueOf(i)})[0].Interface() + ss = append(ss, formatDescOpt(v.(protoreflect.Descriptor), false, allowMulti && !isEnumValue)) + } + return start + joinStrings(ss, allowMulti && isEnumValue) + end + } +} + +// descriptorAccessors is a list of accessors to print for each descriptor. +// +// Do not print all accessors since some contain redundant information, +// while others are pointers that we do not want to follow since the descriptor +// is actually a cyclic graph. +// +// Using a list allows us to print the accessors in a sensible order. +var descriptorAccessors = map[reflect.Type][]string{ + reflect.TypeOf((*protoreflect.FileDescriptor)(nil)).Elem(): {"Path", "Package", "Imports", "Messages", "Enums", "Extensions", "Services"}, + reflect.TypeOf((*protoreflect.MessageDescriptor)(nil)).Elem(): {"IsMapEntry", "Fields", "Oneofs", "ReservedNames", "ReservedRanges", "RequiredNumbers", "ExtensionRanges", "Messages", "Enums", "Extensions"}, + reflect.TypeOf((*protoreflect.FieldDescriptor)(nil)).Elem(): {"Number", "Cardinality", "Kind", "HasJSONName", "JSONName", "HasPresence", "IsExtension", "IsPacked", "IsWeak", "IsList", "IsMap", "MapKey", "MapValue", "HasDefault", "Default", "ContainingOneof", "ContainingMessage", "Message", "Enum"}, + reflect.TypeOf((*protoreflect.OneofDescriptor)(nil)).Elem(): {"Fields"}, // not directly used; must keep in sync with formatDescOpt + reflect.TypeOf((*protoreflect.EnumDescriptor)(nil)).Elem(): {"Values", "ReservedNames", "ReservedRanges"}, + reflect.TypeOf((*protoreflect.EnumValueDescriptor)(nil)).Elem(): {"Number"}, + reflect.TypeOf((*protoreflect.ServiceDescriptor)(nil)).Elem(): {"Methods"}, + reflect.TypeOf((*protoreflect.MethodDescriptor)(nil)).Elem(): {"Input", "Output", "IsStreamingClient", "IsStreamingServer"}, +} + +func FormatDesc(s fmt.State, r rune, t protoreflect.Descriptor) { + io.WriteString(s, formatDescOpt(t, true, r == 'v' && (s.Flag('+') || s.Flag('#')))) +} +func formatDescOpt(t protoreflect.Descriptor, isRoot, allowMulti bool) string { + rv := reflect.ValueOf(t) + rt := rv.MethodByName("ProtoType").Type().In(0) + + start, end := "{", "}" + if isRoot { + start = rt.Name() + "{" + } + + _, isFile := t.(protoreflect.FileDescriptor) + rs := records{allowMulti: allowMulti} + if t.IsPlaceholder() { + if isFile { + rs.Append(rv, "Path", "Package", "IsPlaceholder") + } else { + rs.Append(rv, "FullName", "IsPlaceholder") + } + } else { + switch { + case isFile: + rs.Append(rv, "Syntax") + case isRoot: + rs.Append(rv, "Syntax", "FullName") + default: + rs.Append(rv, "Name") + } + switch t := t.(type) { + case protoreflect.FieldDescriptor: + for _, s := range descriptorAccessors[rt] { + switch s { + case "MapKey": + if k := t.MapKey(); k != nil { + rs.recs = append(rs.recs, [2]string{"MapKey", k.Kind().String()}) + } + case "MapValue": + if v := t.MapValue(); v != nil { + switch v.Kind() { + case protoreflect.EnumKind: + rs.recs = append(rs.recs, [2]string{"MapValue", string(v.Enum().FullName())}) + case protoreflect.MessageKind, protoreflect.GroupKind: + rs.recs = append(rs.recs, [2]string{"MapValue", string(v.Message().FullName())}) + default: + rs.recs = append(rs.recs, [2]string{"MapValue", v.Kind().String()}) + } + } + case "ContainingOneof": + if od := t.ContainingOneof(); od != nil { + rs.recs = append(rs.recs, [2]string{"Oneof", string(od.Name())}) + } + case "ContainingMessage": + if t.IsExtension() { + rs.recs = append(rs.recs, [2]string{"Extendee", string(t.ContainingMessage().FullName())}) + } + case "Message": + if !t.IsMap() { + rs.Append(rv, s) + } + default: + rs.Append(rv, s) + } + } + case protoreflect.OneofDescriptor: + var ss []string + fs := t.Fields() + for i := 0; i < fs.Len(); i++ { + ss = append(ss, string(fs.Get(i).Name())) + } + if len(ss) > 0 { + rs.recs = append(rs.recs, [2]string{"Fields", "[" + joinStrings(ss, false) + "]"}) + } + default: + rs.Append(rv, descriptorAccessors[rt]...) + } + if rv.MethodByName("GoType").IsValid() { + rs.Append(rv, "GoType") + } + } + return start + rs.Join() + end +} + +type records struct { + recs [][2]string + allowMulti bool +} + +func (rs *records) Append(v reflect.Value, accessors ...string) { + for _, a := range accessors { + var rv reflect.Value + if m := v.MethodByName(a); m.IsValid() { + rv = m.Call(nil)[0] + } + if v.Kind() == reflect.Struct && !rv.IsValid() { + rv = v.FieldByName(a) + } + if !rv.IsValid() { + panic(fmt.Sprintf("unknown accessor: %v.%s", v.Type(), a)) + } + if _, ok := rv.Interface().(protoreflect.Value); ok { + rv = rv.MethodByName("Interface").Call(nil)[0] + if !rv.IsNil() { + rv = rv.Elem() + } + } + + // Ignore zero values. + var isZero bool + switch rv.Kind() { + case reflect.Interface, reflect.Slice: + isZero = rv.IsNil() + case reflect.Bool: + isZero = rv.Bool() == false + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + isZero = rv.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + isZero = rv.Uint() == 0 + case reflect.String: + isZero = rv.String() == "" + } + if n, ok := rv.Interface().(list); ok { + isZero = n.Len() == 0 + } + if isZero { + continue + } + + // Format the value. + var s string + v := rv.Interface() + switch v := v.(type) { + case list: + s = formatListOpt(v, false, rs.allowMulti) + case protoreflect.FieldDescriptor, protoreflect.OneofDescriptor, protoreflect.EnumValueDescriptor, protoreflect.MethodDescriptor: + s = string(v.(protoreflect.Descriptor).Name()) + case protoreflect.Descriptor: + s = string(v.FullName()) + case string: + s = strconv.Quote(v) + case []byte: + s = fmt.Sprintf("%q", v) + default: + s = fmt.Sprint(v) + } + rs.recs = append(rs.recs, [2]string{a, s}) + } +} + +func (rs *records) Join() string { + var ss []string + + // In single line mode, simply join all records with commas. + if !rs.allowMulti { + for _, r := range rs.recs { + ss = append(ss, r[0]+formatColon(0)+r[1]) + } + return joinStrings(ss, false) + } + + // In allowMulti line mode, align single line records for more readable output. + var maxLen int + flush := func(i int) { + for _, r := range rs.recs[len(ss):i] { + ss = append(ss, r[0]+formatColon(maxLen-len(r[0]))+r[1]) + } + maxLen = 0 + } + for i, r := range rs.recs { + if isMulti := strings.Contains(r[1], "\n"); isMulti { + flush(i) + ss = append(ss, r[0]+formatColon(0)+strings.Join(strings.Split(r[1], "\n"), "\n\t")) + } else if maxLen < len(r[0]) { + maxLen = len(r[0]) + } + } + flush(len(rs.recs)) + return joinStrings(ss, true) +} + +func formatColon(padding int) string { + // Deliberately introduce instability into the debug output to + // discourage users from performing string comparisons. + // This provides us flexibility to change the output in the future. + if detrand.Bool() { + return ":" + strings.Repeat(" ", 1+padding) // use non-breaking spaces (U+00a0) + } else { + return ":" + strings.Repeat(" ", 1+padding) // use regular spaces (U+0020) + } +} + +func joinStrings(ss []string, isMulti bool) string { + if len(ss) == 0 { + return "" + } + if isMulti { + return "\n\t" + strings.Join(ss, "\n\t") + "\n" + } + return strings.Join(ss, ", ") +} diff --git a/server/vendor/google.golang.org/protobuf/internal/descopts/options.go b/server/vendor/google.golang.org/protobuf/internal/descopts/options.go new file mode 100755 index 0000000..8401be8 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/descopts/options.go @@ -0,0 +1,29 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package descopts contains the nil pointers to concrete descriptor options. +// +// This package exists as a form of reverse dependency injection so that certain +// packages (e.g., internal/filedesc and internal/filetype can avoid a direct +// dependency on the descriptor proto package). +package descopts + +import pref "google.golang.org/protobuf/reflect/protoreflect" + +// These variables are set by the init function in descriptor.pb.go via logic +// in internal/filetype. In other words, so long as the descriptor proto package +// is linked in, these variables will be populated. +// +// Each variable is populated with a nil pointer to the options struct. +var ( + File pref.ProtoMessage + Enum pref.ProtoMessage + EnumValue pref.ProtoMessage + Message pref.ProtoMessage + Field pref.ProtoMessage + Oneof pref.ProtoMessage + ExtensionRange pref.ProtoMessage + Service pref.ProtoMessage + Method pref.ProtoMessage +) diff --git a/server/vendor/google.golang.org/protobuf/internal/detrand/rand.go b/server/vendor/google.golang.org/protobuf/internal/detrand/rand.go new file mode 100755 index 0000000..49c8676 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/detrand/rand.go @@ -0,0 +1,69 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package detrand provides deterministically random functionality. +// +// The pseudo-randomness of these functions is seeded by the program binary +// itself and guarantees that the output does not change within a program, +// while ensuring that the output is unstable across different builds. +package detrand + +import ( + "encoding/binary" + "hash/fnv" + "os" +) + +// Disable disables detrand such that all functions returns the zero value. +// This function is not concurrent-safe and must be called during program init. +func Disable() { + randSeed = 0 +} + +// Bool returns a deterministically random boolean. +func Bool() bool { + return randSeed%2 == 1 +} + +// Intn returns a deterministically random integer between 0 and n-1, inclusive. +func Intn(n int) int { + if n <= 0 { + panic("must be positive") + } + return int(randSeed % uint64(n)) +} + +// randSeed is a best-effort at an approximate hash of the Go binary. +var randSeed = binaryHash() + +func binaryHash() uint64 { + // Open the Go binary. + s, err := os.Executable() + if err != nil { + return 0 + } + f, err := os.Open(s) + if err != nil { + return 0 + } + defer f.Close() + + // Hash the size and several samples of the Go binary. + const numSamples = 8 + var buf [64]byte + h := fnv.New64() + fi, err := f.Stat() + if err != nil { + return 0 + } + binary.LittleEndian.PutUint64(buf[:8], uint64(fi.Size())) + h.Write(buf[:8]) + for i := int64(0); i < numSamples; i++ { + if _, err := f.ReadAt(buf[:], i*fi.Size()/numSamples); err != nil { + return 0 + } + h.Write(buf[:]) + } + return h.Sum64() +} diff --git a/server/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go b/server/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go new file mode 100755 index 0000000..328dc73 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go @@ -0,0 +1,213 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package defval marshals and unmarshals textual forms of default values. +// +// This package handles both the form historically used in Go struct field tags +// and also the form used by google.protobuf.FieldDescriptorProto.default_value +// since they differ in superficial ways. +package defval + +import ( + "fmt" + "math" + "strconv" + + ptext "google.golang.org/protobuf/internal/encoding/text" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// Format is the serialization format used to represent the default value. +type Format int + +const ( + _ Format = iota + + // Descriptor uses the serialization format that protoc uses with the + // google.protobuf.FieldDescriptorProto.default_value field. + Descriptor + + // GoTag uses the historical serialization format in Go struct field tags. + GoTag +) + +// Unmarshal deserializes the default string s according to the given kind k. +// When k is an enum, a list of enum value descriptors must be provided. +func Unmarshal(s string, k protoreflect.Kind, evs protoreflect.EnumValueDescriptors, f Format) (protoreflect.Value, protoreflect.EnumValueDescriptor, error) { + switch k { + case protoreflect.BoolKind: + if f == GoTag { + switch s { + case "1": + return protoreflect.ValueOfBool(true), nil, nil + case "0": + return protoreflect.ValueOfBool(false), nil, nil + } + } else { + switch s { + case "true": + return protoreflect.ValueOfBool(true), nil, nil + case "false": + return protoreflect.ValueOfBool(false), nil, nil + } + } + case protoreflect.EnumKind: + if f == GoTag { + // Go tags use the numeric form of the enum value. + if n, err := strconv.ParseInt(s, 10, 32); err == nil { + if ev := evs.ByNumber(protoreflect.EnumNumber(n)); ev != nil { + return protoreflect.ValueOfEnum(ev.Number()), ev, nil + } + } + } else { + // Descriptor default_value use the enum identifier. + ev := evs.ByName(protoreflect.Name(s)) + if ev != nil { + return protoreflect.ValueOfEnum(ev.Number()), ev, nil + } + } + case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind: + if v, err := strconv.ParseInt(s, 10, 32); err == nil { + return protoreflect.ValueOfInt32(int32(v)), nil, nil + } + case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind: + if v, err := strconv.ParseInt(s, 10, 64); err == nil { + return protoreflect.ValueOfInt64(int64(v)), nil, nil + } + case protoreflect.Uint32Kind, protoreflect.Fixed32Kind: + if v, err := strconv.ParseUint(s, 10, 32); err == nil { + return protoreflect.ValueOfUint32(uint32(v)), nil, nil + } + case protoreflect.Uint64Kind, protoreflect.Fixed64Kind: + if v, err := strconv.ParseUint(s, 10, 64); err == nil { + return protoreflect.ValueOfUint64(uint64(v)), nil, nil + } + case protoreflect.FloatKind, protoreflect.DoubleKind: + var v float64 + var err error + switch s { + case "-inf": + v = math.Inf(-1) + case "inf": + v = math.Inf(+1) + case "nan": + v = math.NaN() + default: + v, err = strconv.ParseFloat(s, 64) + } + if err == nil { + if k == protoreflect.FloatKind { + return protoreflect.ValueOfFloat32(float32(v)), nil, nil + } else { + return protoreflect.ValueOfFloat64(float64(v)), nil, nil + } + } + case protoreflect.StringKind: + // String values are already unescaped and can be used as is. + return protoreflect.ValueOfString(s), nil, nil + case protoreflect.BytesKind: + if b, ok := unmarshalBytes(s); ok { + return protoreflect.ValueOfBytes(b), nil, nil + } + } + return protoreflect.Value{}, nil, errors.New("could not parse value for %v: %q", k, s) +} + +// Marshal serializes v as the default string according to the given kind k. +// When specifying the Descriptor format for an enum kind, the associated +// enum value descriptor must be provided. +func Marshal(v protoreflect.Value, ev protoreflect.EnumValueDescriptor, k protoreflect.Kind, f Format) (string, error) { + switch k { + case protoreflect.BoolKind: + if f == GoTag { + if v.Bool() { + return "1", nil + } else { + return "0", nil + } + } else { + if v.Bool() { + return "true", nil + } else { + return "false", nil + } + } + case protoreflect.EnumKind: + if f == GoTag { + return strconv.FormatInt(int64(v.Enum()), 10), nil + } else { + return string(ev.Name()), nil + } + case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind, protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind: + return strconv.FormatInt(v.Int(), 10), nil + case protoreflect.Uint32Kind, protoreflect.Fixed32Kind, protoreflect.Uint64Kind, protoreflect.Fixed64Kind: + return strconv.FormatUint(v.Uint(), 10), nil + case protoreflect.FloatKind, protoreflect.DoubleKind: + f := v.Float() + switch { + case math.IsInf(f, -1): + return "-inf", nil + case math.IsInf(f, +1): + return "inf", nil + case math.IsNaN(f): + return "nan", nil + default: + if k == protoreflect.FloatKind { + return strconv.FormatFloat(f, 'g', -1, 32), nil + } else { + return strconv.FormatFloat(f, 'g', -1, 64), nil + } + } + case protoreflect.StringKind: + // String values are serialized as is without any escaping. + return v.String(), nil + case protoreflect.BytesKind: + if s, ok := marshalBytes(v.Bytes()); ok { + return s, nil + } + } + return "", errors.New("could not format value for %v: %v", k, v) +} + +// unmarshalBytes deserializes bytes by applying C unescaping. +func unmarshalBytes(s string) ([]byte, bool) { + // Bytes values use the same escaping as the text format, + // however they lack the surrounding double quotes. + v, err := ptext.UnmarshalString(`"` + s + `"`) + if err != nil { + return nil, false + } + return []byte(v), true +} + +// marshalBytes serializes bytes by using C escaping. +// To match the exact output of protoc, this is identical to the +// CEscape function in strutil.cc of the protoc source code. +func marshalBytes(b []byte) (string, bool) { + var s []byte + for _, c := range b { + switch c { + case '\n': + s = append(s, `\n`...) + case '\r': + s = append(s, `\r`...) + case '\t': + s = append(s, `\t`...) + case '"': + s = append(s, `\"`...) + case '\'': + s = append(s, `\'`...) + case '\\': + s = append(s, `\\`...) + default: + if printableASCII := c >= 0x20 && c <= 0x7e; printableASCII { + s = append(s, c) + } else { + s = append(s, fmt.Sprintf(`\%03o`, c)...) + } + } + } + return string(s), true +} diff --git a/server/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go b/server/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go new file mode 100755 index 0000000..a6693f0 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go @@ -0,0 +1,242 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package messageset encodes and decodes the obsolete MessageSet wire format. +package messageset + +import ( + "math" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// The MessageSet wire format is equivalent to a message defined as follows, +// where each Item defines an extension field with a field number of 'type_id' +// and content of 'message'. MessageSet extensions must be non-repeated message +// fields. +// +// message MessageSet { +// repeated group Item = 1 { +// required int32 type_id = 2; +// required string message = 3; +// } +// } +const ( + FieldItem = protowire.Number(1) + FieldTypeID = protowire.Number(2) + FieldMessage = protowire.Number(3) +) + +// ExtensionName is the field name for extensions of MessageSet. +// +// A valid MessageSet extension must be of the form: +// +// message MyMessage { +// extend proto2.bridge.MessageSet { +// optional MyMessage message_set_extension = 1234; +// } +// ... +// } +const ExtensionName = "message_set_extension" + +// IsMessageSet returns whether the message uses the MessageSet wire format. +func IsMessageSet(md protoreflect.MessageDescriptor) bool { + xmd, ok := md.(interface{ IsMessageSet() bool }) + return ok && xmd.IsMessageSet() +} + +// IsMessageSetExtension reports this field properly extends a MessageSet. +func IsMessageSetExtension(fd protoreflect.FieldDescriptor) bool { + switch { + case fd.Name() != ExtensionName: + return false + case !IsMessageSet(fd.ContainingMessage()): + return false + case fd.FullName().Parent() != fd.Message().FullName(): + return false + } + return true +} + +// SizeField returns the size of a MessageSet item field containing an extension +// with the given field number, not counting the contents of the message subfield. +func SizeField(num protowire.Number) int { + return 2*protowire.SizeTag(FieldItem) + protowire.SizeTag(FieldTypeID) + protowire.SizeVarint(uint64(num)) +} + +// Unmarshal parses a MessageSet. +// +// It calls fn with the type ID and value of each item in the MessageSet. +// Unknown fields are discarded. +// +// If wantLen is true, the item values include the varint length prefix. +// This is ugly, but simplifies the fast-path decoder in internal/impl. +func Unmarshal(b []byte, wantLen bool, fn func(typeID protowire.Number, value []byte) error) error { + for len(b) > 0 { + num, wtyp, n := protowire.ConsumeTag(b) + if n < 0 { + return protowire.ParseError(n) + } + b = b[n:] + if num != FieldItem || wtyp != protowire.StartGroupType { + n := protowire.ConsumeFieldValue(num, wtyp, b) + if n < 0 { + return protowire.ParseError(n) + } + b = b[n:] + continue + } + typeID, value, n, err := ConsumeFieldValue(b, wantLen) + if err != nil { + return err + } + b = b[n:] + if typeID == 0 { + continue + } + if err := fn(typeID, value); err != nil { + return err + } + } + return nil +} + +// ConsumeFieldValue parses b as a MessageSet item field value until and including +// the trailing end group marker. It assumes the start group tag has already been parsed. +// It returns the contents of the type_id and message subfields and the total +// item length. +// +// If wantLen is true, the returned message value includes the length prefix. +func ConsumeFieldValue(b []byte, wantLen bool) (typeid protowire.Number, message []byte, n int, err error) { + ilen := len(b) + for { + num, wtyp, n := protowire.ConsumeTag(b) + if n < 0 { + return 0, nil, 0, protowire.ParseError(n) + } + b = b[n:] + switch { + case num == FieldItem && wtyp == protowire.EndGroupType: + if wantLen && len(message) == 0 { + // The message field was missing, which should never happen. + // Be prepared for this case anyway. + message = protowire.AppendVarint(message, 0) + } + return typeid, message, ilen - len(b), nil + case num == FieldTypeID && wtyp == protowire.VarintType: + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, nil, 0, protowire.ParseError(n) + } + b = b[n:] + if v < 1 || v > math.MaxInt32 { + return 0, nil, 0, errors.New("invalid type_id in message set") + } + typeid = protowire.Number(v) + case num == FieldMessage && wtyp == protowire.BytesType: + m, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, nil, 0, protowire.ParseError(n) + } + if message == nil { + if wantLen { + message = b[:n:n] + } else { + message = m[:len(m):len(m)] + } + } else { + // This case should never happen in practice, but handle it for + // correctness: The MessageSet item contains multiple message + // fields, which need to be merged. + // + // In the case where we're returning the length, this becomes + // quite inefficient since we need to strip the length off + // the existing data and reconstruct it with the combined length. + if wantLen { + _, nn := protowire.ConsumeVarint(message) + m0 := message[nn:] + message = nil + message = protowire.AppendVarint(message, uint64(len(m0)+len(m))) + message = append(message, m0...) + message = append(message, m...) + } else { + message = append(message, m...) + } + } + b = b[n:] + default: + // We have no place to put it, so we just ignore unknown fields. + n := protowire.ConsumeFieldValue(num, wtyp, b) + if n < 0 { + return 0, nil, 0, protowire.ParseError(n) + } + b = b[n:] + } + } +} + +// AppendFieldStart appends the start of a MessageSet item field containing +// an extension with the given number. The caller must add the message +// subfield (including the tag). +func AppendFieldStart(b []byte, num protowire.Number) []byte { + b = protowire.AppendTag(b, FieldItem, protowire.StartGroupType) + b = protowire.AppendTag(b, FieldTypeID, protowire.VarintType) + b = protowire.AppendVarint(b, uint64(num)) + return b +} + +// AppendFieldEnd appends the trailing end group marker for a MessageSet item field. +func AppendFieldEnd(b []byte) []byte { + return protowire.AppendTag(b, FieldItem, protowire.EndGroupType) +} + +// SizeUnknown returns the size of an unknown fields section in MessageSet format. +// +// See AppendUnknown. +func SizeUnknown(unknown []byte) (size int) { + for len(unknown) > 0 { + num, typ, n := protowire.ConsumeTag(unknown) + if n < 0 || typ != protowire.BytesType { + return 0 + } + unknown = unknown[n:] + _, n = protowire.ConsumeBytes(unknown) + if n < 0 { + return 0 + } + unknown = unknown[n:] + size += SizeField(num) + protowire.SizeTag(FieldMessage) + n + } + return size +} + +// AppendUnknown appends unknown fields to b in MessageSet format. +// +// For historic reasons, unresolved items in a MessageSet are stored in a +// message's unknown fields section in non-MessageSet format. That is, an +// unknown item with typeID T and value V appears in the unknown fields as +// a field with number T and value V. +// +// This function converts the unknown fields back into MessageSet form. +func AppendUnknown(b, unknown []byte) ([]byte, error) { + for len(unknown) > 0 { + num, typ, n := protowire.ConsumeTag(unknown) + if n < 0 || typ != protowire.BytesType { + return nil, errors.New("invalid data in message set unknown fields") + } + unknown = unknown[n:] + _, n = protowire.ConsumeBytes(unknown) + if n < 0 { + return nil, errors.New("invalid data in message set unknown fields") + } + b = AppendFieldStart(b, num) + b = protowire.AppendTag(b, FieldMessage, protowire.BytesType) + b = append(b, unknown[:n]...) + b = AppendFieldEnd(b) + unknown = unknown[n:] + } + return b, nil +} diff --git a/server/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go b/server/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go new file mode 100755 index 0000000..373d208 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go @@ -0,0 +1,207 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package tag marshals and unmarshals the legacy struct tags as generated +// by historical versions of protoc-gen-go. +package tag + +import ( + "reflect" + "strconv" + "strings" + + "google.golang.org/protobuf/internal/encoding/defval" + "google.golang.org/protobuf/internal/filedesc" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/reflect/protoreflect" +) + +var byteType = reflect.TypeOf(byte(0)) + +// Unmarshal decodes the tag into a prototype.Field. +// +// The goType is needed to determine the original protoreflect.Kind since the +// tag does not record sufficient information to determine that. +// The type is the underlying field type (e.g., a repeated field may be +// represented by []T, but the Go type passed in is just T). +// A list of enum value descriptors must be provided for enum fields. +// This does not populate the Enum or Message (except for weak message). +// +// This function is a best effort attempt; parsing errors are ignored. +func Unmarshal(tag string, goType reflect.Type, evs protoreflect.EnumValueDescriptors) protoreflect.FieldDescriptor { + f := new(filedesc.Field) + f.L0.ParentFile = filedesc.SurrogateProto2 + for len(tag) > 0 { + i := strings.IndexByte(tag, ',') + if i < 0 { + i = len(tag) + } + switch s := tag[:i]; { + case strings.HasPrefix(s, "name="): + f.L0.FullName = protoreflect.FullName(s[len("name="):]) + case strings.Trim(s, "0123456789") == "": + n, _ := strconv.ParseUint(s, 10, 32) + f.L1.Number = protoreflect.FieldNumber(n) + case s == "opt": + f.L1.Cardinality = protoreflect.Optional + case s == "req": + f.L1.Cardinality = protoreflect.Required + case s == "rep": + f.L1.Cardinality = protoreflect.Repeated + case s == "varint": + switch goType.Kind() { + case reflect.Bool: + f.L1.Kind = protoreflect.BoolKind + case reflect.Int32: + f.L1.Kind = protoreflect.Int32Kind + case reflect.Int64: + f.L1.Kind = protoreflect.Int64Kind + case reflect.Uint32: + f.L1.Kind = protoreflect.Uint32Kind + case reflect.Uint64: + f.L1.Kind = protoreflect.Uint64Kind + } + case s == "zigzag32": + if goType.Kind() == reflect.Int32 { + f.L1.Kind = protoreflect.Sint32Kind + } + case s == "zigzag64": + if goType.Kind() == reflect.Int64 { + f.L1.Kind = protoreflect.Sint64Kind + } + case s == "fixed32": + switch goType.Kind() { + case reflect.Int32: + f.L1.Kind = protoreflect.Sfixed32Kind + case reflect.Uint32: + f.L1.Kind = protoreflect.Fixed32Kind + case reflect.Float32: + f.L1.Kind = protoreflect.FloatKind + } + case s == "fixed64": + switch goType.Kind() { + case reflect.Int64: + f.L1.Kind = protoreflect.Sfixed64Kind + case reflect.Uint64: + f.L1.Kind = protoreflect.Fixed64Kind + case reflect.Float64: + f.L1.Kind = protoreflect.DoubleKind + } + case s == "bytes": + switch { + case goType.Kind() == reflect.String: + f.L1.Kind = protoreflect.StringKind + case goType.Kind() == reflect.Slice && goType.Elem() == byteType: + f.L1.Kind = protoreflect.BytesKind + default: + f.L1.Kind = protoreflect.MessageKind + } + case s == "group": + f.L1.Kind = protoreflect.GroupKind + case strings.HasPrefix(s, "enum="): + f.L1.Kind = protoreflect.EnumKind + case strings.HasPrefix(s, "json="): + jsonName := s[len("json="):] + if jsonName != strs.JSONCamelCase(string(f.L0.FullName.Name())) { + f.L1.StringName.InitJSON(jsonName) + } + case s == "packed": + f.L1.HasPacked = true + f.L1.IsPacked = true + case strings.HasPrefix(s, "weak="): + f.L1.IsWeak = true + f.L1.Message = filedesc.PlaceholderMessage(protoreflect.FullName(s[len("weak="):])) + case strings.HasPrefix(s, "def="): + // The default tag is special in that everything afterwards is the + // default regardless of the presence of commas. + s, i = tag[len("def="):], len(tag) + v, ev, _ := defval.Unmarshal(s, f.L1.Kind, evs, defval.GoTag) + f.L1.Default = filedesc.DefaultValue(v, ev) + case s == "proto3": + f.L0.ParentFile = filedesc.SurrogateProto3 + } + tag = strings.TrimPrefix(tag[i:], ",") + } + + // The generator uses the group message name instead of the field name. + // We obtain the real field name by lowercasing the group name. + if f.L1.Kind == protoreflect.GroupKind { + f.L0.FullName = protoreflect.FullName(strings.ToLower(string(f.L0.FullName))) + } + return f +} + +// Marshal encodes the protoreflect.FieldDescriptor as a tag. +// +// The enumName must be provided if the kind is an enum. +// Historically, the formulation of the enum "name" was the proto package +// dot-concatenated with the generated Go identifier for the enum type. +// Depending on the context on how Marshal is called, there are different ways +// through which that information is determined. As such it is the caller's +// responsibility to provide a function to obtain that information. +func Marshal(fd protoreflect.FieldDescriptor, enumName string) string { + var tag []string + switch fd.Kind() { + case protoreflect.BoolKind, protoreflect.EnumKind, protoreflect.Int32Kind, protoreflect.Uint32Kind, protoreflect.Int64Kind, protoreflect.Uint64Kind: + tag = append(tag, "varint") + case protoreflect.Sint32Kind: + tag = append(tag, "zigzag32") + case protoreflect.Sint64Kind: + tag = append(tag, "zigzag64") + case protoreflect.Sfixed32Kind, protoreflect.Fixed32Kind, protoreflect.FloatKind: + tag = append(tag, "fixed32") + case protoreflect.Sfixed64Kind, protoreflect.Fixed64Kind, protoreflect.DoubleKind: + tag = append(tag, "fixed64") + case protoreflect.StringKind, protoreflect.BytesKind, protoreflect.MessageKind: + tag = append(tag, "bytes") + case protoreflect.GroupKind: + tag = append(tag, "group") + } + tag = append(tag, strconv.Itoa(int(fd.Number()))) + switch fd.Cardinality() { + case protoreflect.Optional: + tag = append(tag, "opt") + case protoreflect.Required: + tag = append(tag, "req") + case protoreflect.Repeated: + tag = append(tag, "rep") + } + if fd.IsPacked() { + tag = append(tag, "packed") + } + name := string(fd.Name()) + if fd.Kind() == protoreflect.GroupKind { + // The name of the FieldDescriptor for a group field is + // lowercased. To find the original capitalization, we + // look in the field's MessageType. + name = string(fd.Message().Name()) + } + tag = append(tag, "name="+name) + if jsonName := fd.JSONName(); jsonName != "" && jsonName != name && !fd.IsExtension() { + // NOTE: The jsonName != name condition is suspect, but it preserve + // the exact same semantics from the previous generator. + tag = append(tag, "json="+jsonName) + } + if fd.IsWeak() { + tag = append(tag, "weak="+string(fd.Message().FullName())) + } + // The previous implementation does not tag extension fields as proto3, + // even when the field is defined in a proto3 file. Match that behavior + // for consistency. + if fd.Syntax() == protoreflect.Proto3 && !fd.IsExtension() { + tag = append(tag, "proto3") + } + if fd.Kind() == protoreflect.EnumKind && enumName != "" { + tag = append(tag, "enum="+enumName) + } + if fd.ContainingOneof() != nil { + tag = append(tag, "oneof") + } + // This must appear last in the tag, since commas in strings aren't escaped. + if fd.HasDefault() { + def, _ := defval.Marshal(fd.Default(), fd.DefaultEnumValue(), fd.Kind(), defval.GoTag) + tag = append(tag, "def="+def) + } + return strings.Join(tag, ",") +} diff --git a/server/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go b/server/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go new file mode 100755 index 0000000..87853e7 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go @@ -0,0 +1,686 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package text + +import ( + "bytes" + "fmt" + "io" + "strconv" + "unicode/utf8" + + "google.golang.org/protobuf/internal/errors" +) + +// Decoder is a token-based textproto decoder. +type Decoder struct { + // lastCall is last method called, either readCall or peekCall. + // Initial value is readCall. + lastCall call + + // lastToken contains the last read token. + lastToken Token + + // lastErr contains the last read error. + lastErr error + + // openStack is a stack containing the byte characters for MessageOpen and + // ListOpen kinds. The top of stack represents the message or the list that + // the current token is nested in. An empty stack means the current token is + // at the top level message. The characters '{' and '<' both represent the + // MessageOpen kind. + openStack []byte + + // orig is used in reporting line and column. + orig []byte + // in contains the unconsumed input. + in []byte +} + +// NewDecoder returns a Decoder to read the given []byte. +func NewDecoder(b []byte) *Decoder { + return &Decoder{orig: b, in: b} +} + +// ErrUnexpectedEOF means that EOF was encountered in the middle of the input. +var ErrUnexpectedEOF = errors.New("%v", io.ErrUnexpectedEOF) + +// call specifies which Decoder method was invoked. +type call uint8 + +const ( + readCall call = iota + peekCall +) + +// Peek looks ahead and returns the next token and error without advancing a read. +func (d *Decoder) Peek() (Token, error) { + defer func() { d.lastCall = peekCall }() + if d.lastCall == readCall { + d.lastToken, d.lastErr = d.Read() + } + return d.lastToken, d.lastErr +} + +// Read returns the next token. +// It will return an error if there is no valid token. +func (d *Decoder) Read() (Token, error) { + defer func() { d.lastCall = readCall }() + if d.lastCall == peekCall { + return d.lastToken, d.lastErr + } + + tok, err := d.parseNext(d.lastToken.kind) + if err != nil { + return Token{}, err + } + + switch tok.kind { + case comma, semicolon: + tok, err = d.parseNext(tok.kind) + if err != nil { + return Token{}, err + } + } + d.lastToken = tok + return tok, nil +} + +const ( + mismatchedFmt = "mismatched close character %q" + unexpectedFmt = "unexpected character %q" +) + +// parseNext parses the next Token based on given last kind. +func (d *Decoder) parseNext(lastKind Kind) (Token, error) { + // Trim leading spaces. + d.consume(0) + isEOF := false + if len(d.in) == 0 { + isEOF = true + } + + switch lastKind { + case EOF: + return d.consumeToken(EOF, 0, 0), nil + + case bof: + // Start of top level message. Next token can be EOF or Name. + if isEOF { + return d.consumeToken(EOF, 0, 0), nil + } + return d.parseFieldName() + + case Name: + // Next token can be MessageOpen, ListOpen or Scalar. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case '{', '<': + d.pushOpenStack(ch) + return d.consumeToken(MessageOpen, 1, 0), nil + case '[': + d.pushOpenStack(ch) + return d.consumeToken(ListOpen, 1, 0), nil + default: + return d.parseScalar() + } + + case Scalar: + openKind, closeCh := d.currentOpenKind() + switch openKind { + case bof: + // Top level message. + // Next token can be EOF, comma, semicolon or Name. + if isEOF { + return d.consumeToken(EOF, 0, 0), nil + } + switch d.in[0] { + case ',': + return d.consumeToken(comma, 1, 0), nil + case ';': + return d.consumeToken(semicolon, 1, 0), nil + default: + return d.parseFieldName() + } + + case MessageOpen: + // Next token can be MessageClose, comma, semicolon or Name. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case closeCh: + d.popOpenStack() + return d.consumeToken(MessageClose, 1, 0), nil + case otherCloseChar[closeCh]: + return Token{}, d.newSyntaxError(mismatchedFmt, ch) + case ',': + return d.consumeToken(comma, 1, 0), nil + case ';': + return d.consumeToken(semicolon, 1, 0), nil + default: + return d.parseFieldName() + } + + case ListOpen: + // Next token can be ListClose or comma. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case ']': + d.popOpenStack() + return d.consumeToken(ListClose, 1, 0), nil + case ',': + return d.consumeToken(comma, 1, 0), nil + default: + return Token{}, d.newSyntaxError(unexpectedFmt, ch) + } + } + + case MessageOpen: + // Next token can be MessageClose or Name. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + _, closeCh := d.currentOpenKind() + switch ch := d.in[0]; ch { + case closeCh: + d.popOpenStack() + return d.consumeToken(MessageClose, 1, 0), nil + case otherCloseChar[closeCh]: + return Token{}, d.newSyntaxError(mismatchedFmt, ch) + default: + return d.parseFieldName() + } + + case MessageClose: + openKind, closeCh := d.currentOpenKind() + switch openKind { + case bof: + // Top level message. + // Next token can be EOF, comma, semicolon or Name. + if isEOF { + return d.consumeToken(EOF, 0, 0), nil + } + switch ch := d.in[0]; ch { + case ',': + return d.consumeToken(comma, 1, 0), nil + case ';': + return d.consumeToken(semicolon, 1, 0), nil + default: + return d.parseFieldName() + } + + case MessageOpen: + // Next token can be MessageClose, comma, semicolon or Name. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case closeCh: + d.popOpenStack() + return d.consumeToken(MessageClose, 1, 0), nil + case otherCloseChar[closeCh]: + return Token{}, d.newSyntaxError(mismatchedFmt, ch) + case ',': + return d.consumeToken(comma, 1, 0), nil + case ';': + return d.consumeToken(semicolon, 1, 0), nil + default: + return d.parseFieldName() + } + + case ListOpen: + // Next token can be ListClose or comma + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case closeCh: + d.popOpenStack() + return d.consumeToken(ListClose, 1, 0), nil + case ',': + return d.consumeToken(comma, 1, 0), nil + default: + return Token{}, d.newSyntaxError(unexpectedFmt, ch) + } + } + + case ListOpen: + // Next token can be ListClose, MessageStart or Scalar. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case ']': + d.popOpenStack() + return d.consumeToken(ListClose, 1, 0), nil + case '{', '<': + d.pushOpenStack(ch) + return d.consumeToken(MessageOpen, 1, 0), nil + default: + return d.parseScalar() + } + + case ListClose: + openKind, closeCh := d.currentOpenKind() + switch openKind { + case bof: + // Top level message. + // Next token can be EOF, comma, semicolon or Name. + if isEOF { + return d.consumeToken(EOF, 0, 0), nil + } + switch ch := d.in[0]; ch { + case ',': + return d.consumeToken(comma, 1, 0), nil + case ';': + return d.consumeToken(semicolon, 1, 0), nil + default: + return d.parseFieldName() + } + + case MessageOpen: + // Next token can be MessageClose, comma, semicolon or Name. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case closeCh: + d.popOpenStack() + return d.consumeToken(MessageClose, 1, 0), nil + case otherCloseChar[closeCh]: + return Token{}, d.newSyntaxError(mismatchedFmt, ch) + case ',': + return d.consumeToken(comma, 1, 0), nil + case ';': + return d.consumeToken(semicolon, 1, 0), nil + default: + return d.parseFieldName() + } + + default: + // It is not possible to have this case. Let it panic below. + } + + case comma, semicolon: + openKind, closeCh := d.currentOpenKind() + switch openKind { + case bof: + // Top level message. Next token can be EOF or Name. + if isEOF { + return d.consumeToken(EOF, 0, 0), nil + } + return d.parseFieldName() + + case MessageOpen: + // Next token can be MessageClose or Name. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case closeCh: + d.popOpenStack() + return d.consumeToken(MessageClose, 1, 0), nil + case otherCloseChar[closeCh]: + return Token{}, d.newSyntaxError(mismatchedFmt, ch) + default: + return d.parseFieldName() + } + + case ListOpen: + if lastKind == semicolon { + // It is not be possible to have this case as logic here + // should not have produced a semicolon Token when inside a + // list. Let it panic below. + break + } + // Next token can be MessageOpen or Scalar. + if isEOF { + return Token{}, ErrUnexpectedEOF + } + switch ch := d.in[0]; ch { + case '{', '<': + d.pushOpenStack(ch) + return d.consumeToken(MessageOpen, 1, 0), nil + default: + return d.parseScalar() + } + } + } + + line, column := d.Position(len(d.orig) - len(d.in)) + panic(fmt.Sprintf("Decoder.parseNext: bug at handling line %d:%d with lastKind=%v", line, column, lastKind)) +} + +var otherCloseChar = map[byte]byte{ + '}': '>', + '>': '}', +} + +// currentOpenKind indicates whether current position is inside a message, list +// or top-level message by returning MessageOpen, ListOpen or bof respectively. +// If the returned kind is either a MessageOpen or ListOpen, it also returns the +// corresponding closing character. +func (d *Decoder) currentOpenKind() (Kind, byte) { + if len(d.openStack) == 0 { + return bof, 0 + } + openCh := d.openStack[len(d.openStack)-1] + switch openCh { + case '{': + return MessageOpen, '}' + case '<': + return MessageOpen, '>' + case '[': + return ListOpen, ']' + } + panic(fmt.Sprintf("Decoder: openStack contains invalid byte %c", openCh)) +} + +func (d *Decoder) pushOpenStack(ch byte) { + d.openStack = append(d.openStack, ch) +} + +func (d *Decoder) popOpenStack() { + d.openStack = d.openStack[:len(d.openStack)-1] +} + +// parseFieldName parses field name and separator. +func (d *Decoder) parseFieldName() (tok Token, err error) { + defer func() { + if err == nil && d.tryConsumeChar(':') { + tok.attrs |= hasSeparator + } + }() + + // Extension or Any type URL. + if d.in[0] == '[' { + return d.parseTypeName() + } + + // Identifier. + if size := parseIdent(d.in, false); size > 0 { + return d.consumeToken(Name, size, uint8(IdentName)), nil + } + + // Field number. Identify if input is a valid number that is not negative + // and is decimal integer within 32-bit range. + if num := parseNumber(d.in); num.size > 0 { + str := num.string(d.in) + if !num.neg && num.kind == numDec { + if _, err := strconv.ParseInt(str, 10, 32); err == nil { + return d.consumeToken(Name, num.size, uint8(FieldNumber)), nil + } + } + return Token{}, d.newSyntaxError("invalid field number: %s", str) + } + + return Token{}, d.newSyntaxError("invalid field name: %s", errId(d.in)) +} + +// parseTypeName parses Any type URL or extension field name. The name is +// enclosed in [ and ] characters. The C++ parser does not handle many legal URL +// strings. This implementation is more liberal and allows for the pattern +// ^[-_a-zA-Z0-9]+([./][-_a-zA-Z0-9]+)*`). Whitespaces and comments are allowed +// in between [ ], '.', '/' and the sub names. +func (d *Decoder) parseTypeName() (Token, error) { + startPos := len(d.orig) - len(d.in) + // Use alias s to advance first in order to use d.in for error handling. + // Caller already checks for [ as first character. + s := consume(d.in[1:], 0) + if len(s) == 0 { + return Token{}, ErrUnexpectedEOF + } + + var name []byte + for len(s) > 0 && isTypeNameChar(s[0]) { + name = append(name, s[0]) + s = s[1:] + } + s = consume(s, 0) + + var closed bool + for len(s) > 0 && !closed { + switch { + case s[0] == ']': + s = s[1:] + closed = true + + case s[0] == '/', s[0] == '.': + if len(name) > 0 && (name[len(name)-1] == '/' || name[len(name)-1] == '.') { + return Token{}, d.newSyntaxError("invalid type URL/extension field name: %s", + d.orig[startPos:len(d.orig)-len(s)+1]) + } + name = append(name, s[0]) + s = s[1:] + s = consume(s, 0) + for len(s) > 0 && isTypeNameChar(s[0]) { + name = append(name, s[0]) + s = s[1:] + } + s = consume(s, 0) + + default: + return Token{}, d.newSyntaxError( + "invalid type URL/extension field name: %s", d.orig[startPos:len(d.orig)-len(s)+1]) + } + } + + if !closed { + return Token{}, ErrUnexpectedEOF + } + + // First character cannot be '.'. Last character cannot be '.' or '/'. + size := len(name) + if size == 0 || name[0] == '.' || name[size-1] == '.' || name[size-1] == '/' { + return Token{}, d.newSyntaxError("invalid type URL/extension field name: %s", + d.orig[startPos:len(d.orig)-len(s)]) + } + + d.in = s + endPos := len(d.orig) - len(d.in) + d.consume(0) + + return Token{ + kind: Name, + attrs: uint8(TypeName), + pos: startPos, + raw: d.orig[startPos:endPos], + str: string(name), + }, nil +} + +func isTypeNameChar(b byte) bool { + return (b == '-' || b == '_' || + ('0' <= b && b <= '9') || + ('a' <= b && b <= 'z') || + ('A' <= b && b <= 'Z')) +} + +func isWhiteSpace(b byte) bool { + switch b { + case ' ', '\n', '\r', '\t': + return true + default: + return false + } +} + +// parseIdent parses an unquoted proto identifier and returns size. +// If allowNeg is true, it allows '-' to be the first character in the +// identifier. This is used when parsing literal values like -infinity, etc. +// Regular expression matches an identifier: `^[_a-zA-Z][_a-zA-Z0-9]*` +func parseIdent(input []byte, allowNeg bool) int { + var size int + + s := input + if len(s) == 0 { + return 0 + } + + if allowNeg && s[0] == '-' { + s = s[1:] + size++ + if len(s) == 0 { + return 0 + } + } + + switch { + case s[0] == '_', + 'a' <= s[0] && s[0] <= 'z', + 'A' <= s[0] && s[0] <= 'Z': + s = s[1:] + size++ + default: + return 0 + } + + for len(s) > 0 && (s[0] == '_' || + 'a' <= s[0] && s[0] <= 'z' || + 'A' <= s[0] && s[0] <= 'Z' || + '0' <= s[0] && s[0] <= '9') { + s = s[1:] + size++ + } + + if len(s) > 0 && !isDelim(s[0]) { + return 0 + } + + return size +} + +// parseScalar parses for a string, literal or number value. +func (d *Decoder) parseScalar() (Token, error) { + if d.in[0] == '"' || d.in[0] == '\'' { + return d.parseStringValue() + } + + if tok, ok := d.parseLiteralValue(); ok { + return tok, nil + } + + if tok, ok := d.parseNumberValue(); ok { + return tok, nil + } + + return Token{}, d.newSyntaxError("invalid scalar value: %s", errId(d.in)) +} + +// parseLiteralValue parses a literal value. A literal value is used for +// bools, special floats and enums. This function simply identifies that the +// field value is a literal. +func (d *Decoder) parseLiteralValue() (Token, bool) { + size := parseIdent(d.in, true) + if size == 0 { + return Token{}, false + } + return d.consumeToken(Scalar, size, literalValue), true +} + +// consumeToken constructs a Token for given Kind from d.in and consumes given +// size-length from it. +func (d *Decoder) consumeToken(kind Kind, size int, attrs uint8) Token { + // Important to compute raw and pos before consuming. + tok := Token{ + kind: kind, + attrs: attrs, + pos: len(d.orig) - len(d.in), + raw: d.in[:size], + } + d.consume(size) + return tok +} + +// newSyntaxError returns a syntax error with line and column information for +// current position. +func (d *Decoder) newSyntaxError(f string, x ...interface{}) error { + e := errors.New(f, x...) + line, column := d.Position(len(d.orig) - len(d.in)) + return errors.New("syntax error (line %d:%d): %v", line, column, e) +} + +// Position returns line and column number of given index of the original input. +// It will panic if index is out of range. +func (d *Decoder) Position(idx int) (line int, column int) { + b := d.orig[:idx] + line = bytes.Count(b, []byte("\n")) + 1 + if i := bytes.LastIndexByte(b, '\n'); i >= 0 { + b = b[i+1:] + } + column = utf8.RuneCount(b) + 1 // ignore multi-rune characters + return line, column +} + +func (d *Decoder) tryConsumeChar(c byte) bool { + if len(d.in) > 0 && d.in[0] == c { + d.consume(1) + return true + } + return false +} + +// consume consumes n bytes of input and any subsequent whitespace or comments. +func (d *Decoder) consume(n int) { + d.in = consume(d.in, n) + return +} + +// consume consumes n bytes of input and any subsequent whitespace or comments. +func consume(b []byte, n int) []byte { + b = b[n:] + for len(b) > 0 { + switch b[0] { + case ' ', '\n', '\r', '\t': + b = b[1:] + case '#': + if i := bytes.IndexByte(b, '\n'); i >= 0 { + b = b[i+len("\n"):] + } else { + b = nil + } + default: + return b + } + } + return b +} + +// errId extracts a byte sequence that looks like an invalid ID +// (for the purposes of error reporting). +func errId(seq []byte) []byte { + const maxLen = 32 + for i := 0; i < len(seq); { + if i > maxLen { + return append(seq[:i:i], "…"...) + } + r, size := utf8.DecodeRune(seq[i:]) + if r > utf8.RuneSelf || (r != '/' && isDelim(byte(r))) { + if i == 0 { + // Either the first byte is invalid UTF-8 or a + // delimiter, or the first rune is non-ASCII. + // Return it as-is. + i = size + } + return seq[:i:i] + } + i += size + } + // No delimiter found. + return seq +} + +// isDelim returns true if given byte is a delimiter character. +func isDelim(c byte) bool { + return !(c == '-' || c == '+' || c == '.' || c == '_' || + ('a' <= c && c <= 'z') || + ('A' <= c && c <= 'Z') || + ('0' <= c && c <= '9')) +} diff --git a/server/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go b/server/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go new file mode 100755 index 0000000..45c81f0 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go @@ -0,0 +1,211 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package text + +// parseNumberValue parses a number from the input and returns a Token object. +func (d *Decoder) parseNumberValue() (Token, bool) { + in := d.in + num := parseNumber(in) + if num.size == 0 { + return Token{}, false + } + numAttrs := num.kind + if num.neg { + numAttrs |= isNegative + } + tok := Token{ + kind: Scalar, + attrs: numberValue, + pos: len(d.orig) - len(d.in), + raw: d.in[:num.size], + str: num.string(d.in), + numAttrs: numAttrs, + } + d.consume(num.size) + return tok, true +} + +const ( + numDec uint8 = (1 << iota) / 2 + numHex + numOct + numFloat +) + +// number is the result of parsing out a valid number from parseNumber. It +// contains data for doing float or integer conversion via the strconv package +// in conjunction with the input bytes. +type number struct { + kind uint8 + neg bool + size int + // if neg, this is the length of whitespace and comments between + // the minus sign and the rest fo the number literal + sep int +} + +func (num number) string(data []byte) string { + strSize := num.size + last := num.size - 1 + if num.kind == numFloat && (data[last] == 'f' || data[last] == 'F') { + strSize = last + } + if num.neg && num.sep > 0 { + // strip whitespace/comments between negative sign and the rest + strLen := strSize - num.sep + str := make([]byte, strLen) + str[0] = data[0] + copy(str[1:], data[num.sep+1:strSize]) + return string(str) + } + return string(data[:strSize]) + +} + +// parseNumber constructs a number object from given input. It allows for the +// following patterns: +// +// integer: ^-?([1-9][0-9]*|0[xX][0-9a-fA-F]+|0[0-7]*) +// float: ^-?((0|[1-9][0-9]*)?([.][0-9]*)?([eE][+-]?[0-9]+)?[fF]?) +// +// It also returns the number of parsed bytes for the given number, 0 if it is +// not a number. +func parseNumber(input []byte) number { + kind := numDec + var size int + var neg bool + + s := input + if len(s) == 0 { + return number{} + } + + // Optional - + var sep int + if s[0] == '-' { + neg = true + s = s[1:] + size++ + // Consume any whitespace or comments between the + // negative sign and the rest of the number + lenBefore := len(s) + s = consume(s, 0) + sep = lenBefore - len(s) + size += sep + if len(s) == 0 { + return number{} + } + } + + switch { + case s[0] == '0': + if len(s) > 1 { + switch { + case s[1] == 'x' || s[1] == 'X': + // Parse as hex number. + kind = numHex + n := 2 + s = s[2:] + for len(s) > 0 && (('0' <= s[0] && s[0] <= '9') || + ('a' <= s[0] && s[0] <= 'f') || + ('A' <= s[0] && s[0] <= 'F')) { + s = s[1:] + n++ + } + if n == 2 { + return number{} + } + size += n + + case '0' <= s[1] && s[1] <= '7': + // Parse as octal number. + kind = numOct + n := 2 + s = s[2:] + for len(s) > 0 && '0' <= s[0] && s[0] <= '7' { + s = s[1:] + n++ + } + size += n + } + + if kind&(numHex|numOct) > 0 { + if len(s) > 0 && !isDelim(s[0]) { + return number{} + } + return number{kind: kind, neg: neg, size: size, sep: sep} + } + } + s = s[1:] + size++ + + case '1' <= s[0] && s[0] <= '9': + n := 1 + s = s[1:] + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + size += n + + case s[0] == '.': + // Set kind to numFloat to signify the intent to parse as float. And + // that it needs to have other digits after '.'. + kind = numFloat + + default: + return number{} + } + + // . followed by 0 or more digits. + if len(s) > 0 && s[0] == '.' { + n := 1 + s = s[1:] + // If decimal point was before any digits, it should be followed by + // other digits. + if len(s) == 0 && kind == numFloat { + return number{} + } + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + size += n + kind = numFloat + } + + // e or E followed by an optional - or + and 1 or more digits. + if len(s) >= 2 && (s[0] == 'e' || s[0] == 'E') { + kind = numFloat + s = s[1:] + n := 1 + if s[0] == '+' || s[0] == '-' { + s = s[1:] + n++ + if len(s) == 0 { + return number{} + } + } + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + size += n + } + + // Optional suffix f or F for floats. + if len(s) > 0 && (s[0] == 'f' || s[0] == 'F') { + kind = numFloat + s = s[1:] + size++ + } + + // Check that next byte is a delimiter or it is at the end. + if len(s) > 0 && !isDelim(s[0]) { + return number{} + } + + return number{kind: kind, neg: neg, size: size, sep: sep} +} diff --git a/server/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go b/server/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go new file mode 100755 index 0000000..d4d3490 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go @@ -0,0 +1,161 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package text + +import ( + "bytes" + "strconv" + "strings" + "unicode" + "unicode/utf16" + "unicode/utf8" + + "google.golang.org/protobuf/internal/strs" +) + +// parseStringValue parses string field token. +// This differs from parseString since the text format allows +// multiple back-to-back string literals where they are semantically treated +// as a single large string with all values concatenated. +// +// E.g., `"foo" "bar" "baz"` => "foobarbaz" +func (d *Decoder) parseStringValue() (Token, error) { + // Note that the ending quote is sufficient to unambiguously mark the end + // of a string. Thus, the text grammar does not require intervening + // whitespace or control characters in-between strings. + // Thus, the following is valid: + // `"foo"'bar'"baz"` => "foobarbaz" + in0 := d.in + var ss []string + for len(d.in) > 0 && (d.in[0] == '"' || d.in[0] == '\'') { + s, err := d.parseString() + if err != nil { + return Token{}, err + } + ss = append(ss, s) + } + // d.in already points to the end of the value at this point. + return Token{ + kind: Scalar, + attrs: stringValue, + pos: len(d.orig) - len(in0), + raw: in0[:len(in0)-len(d.in)], + str: strings.Join(ss, ""), + }, nil +} + +// parseString parses a string value enclosed in " or '. +func (d *Decoder) parseString() (string, error) { + in := d.in + if len(in) == 0 { + return "", ErrUnexpectedEOF + } + quote := in[0] + in = in[1:] + i := indexNeedEscapeInBytes(in) + in, out := in[i:], in[:i:i] // set cap to prevent mutations + for len(in) > 0 { + switch r, n := utf8.DecodeRune(in); { + case r == utf8.RuneError && n == 1: + return "", d.newSyntaxError("invalid UTF-8 detected") + case r == 0 || r == '\n': + return "", d.newSyntaxError("invalid character %q in string", r) + case r == rune(quote): + in = in[1:] + d.consume(len(d.in) - len(in)) + return string(out), nil + case r == '\\': + if len(in) < 2 { + return "", ErrUnexpectedEOF + } + switch r := in[1]; r { + case '"', '\'', '\\', '?': + in, out = in[2:], append(out, r) + case 'a': + in, out = in[2:], append(out, '\a') + case 'b': + in, out = in[2:], append(out, '\b') + case 'n': + in, out = in[2:], append(out, '\n') + case 'r': + in, out = in[2:], append(out, '\r') + case 't': + in, out = in[2:], append(out, '\t') + case 'v': + in, out = in[2:], append(out, '\v') + case 'f': + in, out = in[2:], append(out, '\f') + case '0', '1', '2', '3', '4', '5', '6', '7': + // One, two, or three octal characters. + n := len(in[1:]) - len(bytes.TrimLeft(in[1:], "01234567")) + if n > 3 { + n = 3 + } + v, err := strconv.ParseUint(string(in[1:1+n]), 8, 8) + if err != nil { + return "", d.newSyntaxError("invalid octal escape code %q in string", in[:1+n]) + } + in, out = in[1+n:], append(out, byte(v)) + case 'x': + // One or two hexadecimal characters. + n := len(in[2:]) - len(bytes.TrimLeft(in[2:], "0123456789abcdefABCDEF")) + if n > 2 { + n = 2 + } + v, err := strconv.ParseUint(string(in[2:2+n]), 16, 8) + if err != nil { + return "", d.newSyntaxError("invalid hex escape code %q in string", in[:2+n]) + } + in, out = in[2+n:], append(out, byte(v)) + case 'u', 'U': + // Four or eight hexadecimal characters + n := 6 + if r == 'U' { + n = 10 + } + if len(in) < n { + return "", ErrUnexpectedEOF + } + v, err := strconv.ParseUint(string(in[2:n]), 16, 32) + if utf8.MaxRune < v || err != nil { + return "", d.newSyntaxError("invalid Unicode escape code %q in string", in[:n]) + } + in = in[n:] + + r := rune(v) + if utf16.IsSurrogate(r) { + if len(in) < 6 { + return "", ErrUnexpectedEOF + } + v, err := strconv.ParseUint(string(in[2:6]), 16, 16) + r = utf16.DecodeRune(r, rune(v)) + if in[0] != '\\' || in[1] != 'u' || r == unicode.ReplacementChar || err != nil { + return "", d.newSyntaxError("invalid Unicode escape code %q in string", in[:6]) + } + in = in[6:] + } + out = append(out, string(r)...) + default: + return "", d.newSyntaxError("invalid escape code %q in string", in[:2]) + } + default: + i := indexNeedEscapeInBytes(in[n:]) + in, out = in[n+i:], append(out, in[:n+i]...) + } + } + return "", ErrUnexpectedEOF +} + +// indexNeedEscapeInString returns the index of the character that needs +// escaping. If no characters need escaping, this returns the input length. +func indexNeedEscapeInBytes(b []byte) int { return indexNeedEscapeInString(strs.UnsafeString(b)) } + +// UnmarshalString returns an unescaped string given a textproto string value. +// String value needs to contain single or double quotes. This is only used by +// internal/encoding/defval package for unmarshaling bytes. +func UnmarshalString(s string) (string, error) { + d := NewDecoder([]byte(s)) + return d.parseString() +} diff --git a/server/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go b/server/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go new file mode 100755 index 0000000..83d2b0d --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go @@ -0,0 +1,373 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package text + +import ( + "bytes" + "fmt" + "math" + "strconv" + "strings" + + "google.golang.org/protobuf/internal/flags" +) + +// Kind represents a token kind expressible in the textproto format. +type Kind uint8 + +// Kind values. +const ( + Invalid Kind = iota + EOF + Name // Name indicates the field name. + Scalar // Scalar are scalar values, e.g. "string", 47, ENUM_LITERAL, true. + MessageOpen + MessageClose + ListOpen + ListClose + + // comma and semi-colon are only for parsing in between values and should not be exposed. + comma + semicolon + + // bof indicates beginning of file, which is the default token + // kind at the beginning of parsing. + bof = Invalid +) + +func (t Kind) String() string { + switch t { + case Invalid: + return "" + case EOF: + return "eof" + case Scalar: + return "scalar" + case Name: + return "name" + case MessageOpen: + return "{" + case MessageClose: + return "}" + case ListOpen: + return "[" + case ListClose: + return "]" + case comma: + return "," + case semicolon: + return ";" + default: + return fmt.Sprintf("", uint8(t)) + } +} + +// NameKind represents different types of field names. +type NameKind uint8 + +// NameKind values. +const ( + IdentName NameKind = iota + 1 + TypeName + FieldNumber +) + +func (t NameKind) String() string { + switch t { + case IdentName: + return "IdentName" + case TypeName: + return "TypeName" + case FieldNumber: + return "FieldNumber" + default: + return fmt.Sprintf("", uint8(t)) + } +} + +// Bit mask in Token.attrs to indicate if a Name token is followed by the +// separator char ':'. The field name separator char is optional for message +// field or repeated message field, but required for all other types. Decoder +// simply indicates whether a Name token is followed by separator or not. It is +// up to the prototext package to validate. +const hasSeparator = 1 << 7 + +// Scalar value types. +const ( + numberValue = iota + 1 + stringValue + literalValue +) + +// Bit mask in Token.numAttrs to indicate that the number is a negative. +const isNegative = 1 << 7 + +// Token provides a parsed token kind and value. Values are provided by the +// different accessor methods. +type Token struct { + // Kind of the Token object. + kind Kind + // attrs contains metadata for the following Kinds: + // Name: hasSeparator bit and one of NameKind. + // Scalar: one of numberValue, stringValue, literalValue. + attrs uint8 + // numAttrs contains metadata for numberValue: + // - highest bit is whether negative or positive. + // - lower bits indicate one of numDec, numHex, numOct, numFloat. + numAttrs uint8 + // pos provides the position of the token in the original input. + pos int + // raw bytes of the serialized token. + // This is a subslice into the original input. + raw []byte + // str contains parsed string for the following: + // - stringValue of Scalar kind + // - numberValue of Scalar kind + // - TypeName of Name kind + str string +} + +// Kind returns the token kind. +func (t Token) Kind() Kind { + return t.kind +} + +// RawString returns the read value in string. +func (t Token) RawString() string { + return string(t.raw) +} + +// Pos returns the token position from the input. +func (t Token) Pos() int { + return t.pos +} + +// NameKind returns IdentName, TypeName or FieldNumber. +// It panics if type is not Name. +func (t Token) NameKind() NameKind { + if t.kind == Name { + return NameKind(t.attrs &^ hasSeparator) + } + panic(fmt.Sprintf("Token is not a Name type: %s", t.kind)) +} + +// HasSeparator returns true if the field name is followed by the separator char +// ':', else false. It panics if type is not Name. +func (t Token) HasSeparator() bool { + if t.kind == Name { + return t.attrs&hasSeparator != 0 + } + panic(fmt.Sprintf("Token is not a Name type: %s", t.kind)) +} + +// IdentName returns the value for IdentName type. +func (t Token) IdentName() string { + if t.kind == Name && t.attrs&uint8(IdentName) != 0 { + return string(t.raw) + } + panic(fmt.Sprintf("Token is not an IdentName: %s:%s", t.kind, NameKind(t.attrs&^hasSeparator))) +} + +// TypeName returns the value for TypeName type. +func (t Token) TypeName() string { + if t.kind == Name && t.attrs&uint8(TypeName) != 0 { + return t.str + } + panic(fmt.Sprintf("Token is not a TypeName: %s:%s", t.kind, NameKind(t.attrs&^hasSeparator))) +} + +// FieldNumber returns the value for FieldNumber type. It returns a +// non-negative int32 value. Caller will still need to validate for the correct +// field number range. +func (t Token) FieldNumber() int32 { + if t.kind != Name || t.attrs&uint8(FieldNumber) == 0 { + panic(fmt.Sprintf("Token is not a FieldNumber: %s:%s", t.kind, NameKind(t.attrs&^hasSeparator))) + } + // Following should not return an error as it had already been called right + // before this Token was constructed. + num, _ := strconv.ParseInt(string(t.raw), 10, 32) + return int32(num) +} + +// String returns the string value for a Scalar type. +func (t Token) String() (string, bool) { + if t.kind != Scalar || t.attrs != stringValue { + return "", false + } + return t.str, true +} + +// Enum returns the literal value for a Scalar type for use as enum literals. +func (t Token) Enum() (string, bool) { + if t.kind != Scalar || t.attrs != literalValue || (len(t.raw) > 0 && t.raw[0] == '-') { + return "", false + } + return string(t.raw), true +} + +// Bool returns the bool value for a Scalar type. +func (t Token) Bool() (bool, bool) { + if t.kind != Scalar { + return false, false + } + switch t.attrs { + case literalValue: + if b, ok := boolLits[string(t.raw)]; ok { + return b, true + } + case numberValue: + // Unsigned integer representation of 0 or 1 is permitted: 00, 0x0, 01, + // 0x1, etc. + n, err := strconv.ParseUint(t.str, 0, 64) + if err == nil { + switch n { + case 0: + return false, true + case 1: + return true, true + } + } + } + return false, false +} + +// These exact boolean literals are the ones supported in C++. +var boolLits = map[string]bool{ + "t": true, + "true": true, + "True": true, + "f": false, + "false": false, + "False": false, +} + +// Uint64 returns the uint64 value for a Scalar type. +func (t Token) Uint64() (uint64, bool) { + if t.kind != Scalar || t.attrs != numberValue || + t.numAttrs&isNegative > 0 || t.numAttrs&numFloat > 0 { + return 0, false + } + n, err := strconv.ParseUint(t.str, 0, 64) + if err != nil { + return 0, false + } + return n, true +} + +// Uint32 returns the uint32 value for a Scalar type. +func (t Token) Uint32() (uint32, bool) { + if t.kind != Scalar || t.attrs != numberValue || + t.numAttrs&isNegative > 0 || t.numAttrs&numFloat > 0 { + return 0, false + } + n, err := strconv.ParseUint(t.str, 0, 32) + if err != nil { + return 0, false + } + return uint32(n), true +} + +// Int64 returns the int64 value for a Scalar type. +func (t Token) Int64() (int64, bool) { + if t.kind != Scalar || t.attrs != numberValue || t.numAttrs&numFloat > 0 { + return 0, false + } + if n, err := strconv.ParseInt(t.str, 0, 64); err == nil { + return n, true + } + // C++ accepts large positive hex numbers as negative values. + // This feature is here for proto1 backwards compatibility purposes. + if flags.ProtoLegacy && (t.numAttrs == numHex) { + if n, err := strconv.ParseUint(t.str, 0, 64); err == nil { + return int64(n), true + } + } + return 0, false +} + +// Int32 returns the int32 value for a Scalar type. +func (t Token) Int32() (int32, bool) { + if t.kind != Scalar || t.attrs != numberValue || t.numAttrs&numFloat > 0 { + return 0, false + } + if n, err := strconv.ParseInt(t.str, 0, 32); err == nil { + return int32(n), true + } + // C++ accepts large positive hex numbers as negative values. + // This feature is here for proto1 backwards compatibility purposes. + if flags.ProtoLegacy && (t.numAttrs == numHex) { + if n, err := strconv.ParseUint(t.str, 0, 32); err == nil { + return int32(n), true + } + } + return 0, false +} + +// Float64 returns the float64 value for a Scalar type. +func (t Token) Float64() (float64, bool) { + if t.kind != Scalar { + return 0, false + } + switch t.attrs { + case literalValue: + if f, ok := floatLits[strings.ToLower(string(t.raw))]; ok { + return f, true + } + case numberValue: + n, err := strconv.ParseFloat(t.str, 64) + if err == nil { + return n, true + } + nerr := err.(*strconv.NumError) + if nerr.Err == strconv.ErrRange { + return n, true + } + } + return 0, false +} + +// Float32 returns the float32 value for a Scalar type. +func (t Token) Float32() (float32, bool) { + if t.kind != Scalar { + return 0, false + } + switch t.attrs { + case literalValue: + if f, ok := floatLits[strings.ToLower(string(t.raw))]; ok { + return float32(f), true + } + case numberValue: + n, err := strconv.ParseFloat(t.str, 64) + if err == nil { + // Overflows are treated as (-)infinity. + return float32(n), true + } + nerr := err.(*strconv.NumError) + if nerr.Err == strconv.ErrRange { + return float32(n), true + } + } + return 0, false +} + +// These are the supported float literals which C++ permits case-insensitive +// variants of these. +var floatLits = map[string]float64{ + "nan": math.NaN(), + "inf": math.Inf(1), + "infinity": math.Inf(1), + "-inf": math.Inf(-1), + "-infinity": math.Inf(-1), +} + +// TokenEquals returns true if given Tokens are equal, else false. +func TokenEquals(x, y Token) bool { + return x.kind == y.kind && + x.attrs == y.attrs && + x.numAttrs == y.numAttrs && + x.pos == y.pos && + bytes.Equal(x.raw, y.raw) && + x.str == y.str +} diff --git a/server/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go b/server/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go new file mode 100755 index 0000000..7ae6c2a --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go @@ -0,0 +1,29 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package text implements the text format for protocol buffers. +// This package has no semantic understanding for protocol buffers and is only +// a parser and composer for the format. +// +// There is no formal specification for the protobuf text format, as such the +// C++ implementation (see google::protobuf::TextFormat) is the reference +// implementation of the text format. +// +// This package is neither a superset nor a subset of the C++ implementation. +// This implementation permits a more liberal grammar in some cases to be +// backwards compatible with the historical Go implementation. +// Future parsings unique to Go should not be added. +// Some grammars allowed by the C++ implementation are deliberately +// not implemented here because they are considered a bug by the protobuf team +// and should not be replicated. +// +// The Go implementation should implement a sufficient amount of the C++ +// grammar such that the default text serialization by C++ can be parsed by Go. +// However, just because the C++ parser accepts some input does not mean that +// the Go implementation should as well. +// +// The text format is almost a superset of JSON except: +// - message keys are not quoted strings, but identifiers +// - the top-level value must be a message without the delimiters +package text diff --git a/server/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go b/server/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go new file mode 100755 index 0000000..cf7aed7 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go @@ -0,0 +1,272 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package text + +import ( + "math" + "math/bits" + "strconv" + "strings" + "unicode/utf8" + + "google.golang.org/protobuf/internal/detrand" + "google.golang.org/protobuf/internal/errors" +) + +// encType represents an encoding type. +type encType uint8 + +const ( + _ encType = (1 << iota) / 2 + name + scalar + messageOpen + messageClose +) + +// Encoder provides methods to write out textproto constructs and values. The user is +// responsible for producing valid sequences of constructs and values. +type Encoder struct { + encoderState + + indent string + delims [2]byte + outputASCII bool +} + +type encoderState struct { + lastType encType + indents []byte + out []byte +} + +// NewEncoder returns an Encoder. +// +// If indent is a non-empty string, it causes every entry in a List or Message +// to be preceded by the indent and trailed by a newline. +// +// If delims is not the zero value, it controls the delimiter characters used +// for messages (e.g., "{}" vs "<>"). +// +// If outputASCII is true, strings will be serialized in such a way that +// multi-byte UTF-8 sequences are escaped. This property ensures that the +// overall output is ASCII (as opposed to UTF-8). +func NewEncoder(buf []byte, indent string, delims [2]byte, outputASCII bool) (*Encoder, error) { + e := &Encoder{ + encoderState: encoderState{out: buf}, + } + if len(indent) > 0 { + if strings.Trim(indent, " \t") != "" { + return nil, errors.New("indent may only be composed of space and tab characters") + } + e.indent = indent + } + switch delims { + case [2]byte{0, 0}: + e.delims = [2]byte{'{', '}'} + case [2]byte{'{', '}'}, [2]byte{'<', '>'}: + e.delims = delims + default: + return nil, errors.New("delimiters may only be \"{}\" or \"<>\"") + } + e.outputASCII = outputASCII + + return e, nil +} + +// Bytes returns the content of the written bytes. +func (e *Encoder) Bytes() []byte { + return e.out +} + +// StartMessage writes out the '{' or '<' symbol. +func (e *Encoder) StartMessage() { + e.prepareNext(messageOpen) + e.out = append(e.out, e.delims[0]) +} + +// EndMessage writes out the '}' or '>' symbol. +func (e *Encoder) EndMessage() { + e.prepareNext(messageClose) + e.out = append(e.out, e.delims[1]) +} + +// WriteName writes out the field name and the separator ':'. +func (e *Encoder) WriteName(s string) { + e.prepareNext(name) + e.out = append(e.out, s...) + e.out = append(e.out, ':') +} + +// WriteBool writes out the given boolean value. +func (e *Encoder) WriteBool(b bool) { + if b { + e.WriteLiteral("true") + } else { + e.WriteLiteral("false") + } +} + +// WriteString writes out the given string value. +func (e *Encoder) WriteString(s string) { + e.prepareNext(scalar) + e.out = appendString(e.out, s, e.outputASCII) +} + +func appendString(out []byte, in string, outputASCII bool) []byte { + out = append(out, '"') + i := indexNeedEscapeInString(in) + in, out = in[i:], append(out, in[:i]...) + for len(in) > 0 { + switch r, n := utf8.DecodeRuneInString(in); { + case r == utf8.RuneError && n == 1: + // We do not report invalid UTF-8 because strings in the text format + // are used to represent both the proto string and bytes type. + r = rune(in[0]) + fallthrough + case r < ' ' || r == '"' || r == '\\' || r == 0x7f: + out = append(out, '\\') + switch r { + case '"', '\\': + out = append(out, byte(r)) + case '\n': + out = append(out, 'n') + case '\r': + out = append(out, 'r') + case '\t': + out = append(out, 't') + default: + out = append(out, 'x') + out = append(out, "00"[1+(bits.Len32(uint32(r))-1)/4:]...) + out = strconv.AppendUint(out, uint64(r), 16) + } + in = in[n:] + case r >= utf8.RuneSelf && (outputASCII || r <= 0x009f): + out = append(out, '\\') + if r <= math.MaxUint16 { + out = append(out, 'u') + out = append(out, "0000"[1+(bits.Len32(uint32(r))-1)/4:]...) + out = strconv.AppendUint(out, uint64(r), 16) + } else { + out = append(out, 'U') + out = append(out, "00000000"[1+(bits.Len32(uint32(r))-1)/4:]...) + out = strconv.AppendUint(out, uint64(r), 16) + } + in = in[n:] + default: + i := indexNeedEscapeInString(in[n:]) + in, out = in[n+i:], append(out, in[:n+i]...) + } + } + out = append(out, '"') + return out +} + +// indexNeedEscapeInString returns the index of the character that needs +// escaping. If no characters need escaping, this returns the input length. +func indexNeedEscapeInString(s string) int { + for i := 0; i < len(s); i++ { + if c := s[i]; c < ' ' || c == '"' || c == '\'' || c == '\\' || c >= 0x7f { + return i + } + } + return len(s) +} + +// WriteFloat writes out the given float value for given bitSize. +func (e *Encoder) WriteFloat(n float64, bitSize int) { + e.prepareNext(scalar) + e.out = appendFloat(e.out, n, bitSize) +} + +func appendFloat(out []byte, n float64, bitSize int) []byte { + switch { + case math.IsNaN(n): + return append(out, "nan"...) + case math.IsInf(n, +1): + return append(out, "inf"...) + case math.IsInf(n, -1): + return append(out, "-inf"...) + default: + return strconv.AppendFloat(out, n, 'g', -1, bitSize) + } +} + +// WriteInt writes out the given signed integer value. +func (e *Encoder) WriteInt(n int64) { + e.prepareNext(scalar) + e.out = strconv.AppendInt(e.out, n, 10) +} + +// WriteUint writes out the given unsigned integer value. +func (e *Encoder) WriteUint(n uint64) { + e.prepareNext(scalar) + e.out = strconv.AppendUint(e.out, n, 10) +} + +// WriteLiteral writes out the given string as a literal value without quotes. +// This is used for writing enum literal strings. +func (e *Encoder) WriteLiteral(s string) { + e.prepareNext(scalar) + e.out = append(e.out, s...) +} + +// prepareNext adds possible space and indentation for the next value based +// on last encType and indent option. It also updates e.lastType to next. +func (e *Encoder) prepareNext(next encType) { + defer func() { + e.lastType = next + }() + + // Single line. + if len(e.indent) == 0 { + // Add space after each field before the next one. + if e.lastType&(scalar|messageClose) != 0 && next == name { + e.out = append(e.out, ' ') + // Add a random extra space to make output unstable. + if detrand.Bool() { + e.out = append(e.out, ' ') + } + } + return + } + + // Multi-line. + switch { + case e.lastType == name: + e.out = append(e.out, ' ') + // Add a random extra space after name: to make output unstable. + if detrand.Bool() { + e.out = append(e.out, ' ') + } + + case e.lastType == messageOpen && next != messageClose: + e.indents = append(e.indents, e.indent...) + e.out = append(e.out, '\n') + e.out = append(e.out, e.indents...) + + case e.lastType&(scalar|messageClose) != 0: + if next == messageClose { + e.indents = e.indents[:len(e.indents)-len(e.indent)] + } + e.out = append(e.out, '\n') + e.out = append(e.out, e.indents...) + } +} + +// Snapshot returns the current snapshot for use in Reset. +func (e *Encoder) Snapshot() encoderState { + return e.encoderState +} + +// Reset resets the Encoder to the given encoderState from a Snapshot. +func (e *Encoder) Reset(es encoderState) { + e.encoderState = es +} + +// AppendString appends the escaped form of the input string to b. +func AppendString(b []byte, s string) []byte { + return appendString(b, s, false) +} diff --git a/server/vendor/google.golang.org/protobuf/internal/errors/errors.go b/server/vendor/google.golang.org/protobuf/internal/errors/errors.go new file mode 100755 index 0000000..20c17b3 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/errors/errors.go @@ -0,0 +1,89 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package errors implements functions to manipulate errors. +package errors + +import ( + "errors" + "fmt" + + "google.golang.org/protobuf/internal/detrand" +) + +// Error is a sentinel matching all errors produced by this package. +var Error = errors.New("protobuf error") + +// New formats a string according to the format specifier and arguments and +// returns an error that has a "proto" prefix. +func New(f string, x ...interface{}) error { + return &prefixError{s: format(f, x...)} +} + +type prefixError struct{ s string } + +var prefix = func() string { + // Deliberately introduce instability into the error message string to + // discourage users from performing error string comparisons. + if detrand.Bool() { + return "proto: " // use non-breaking spaces (U+00a0) + } else { + return "proto: " // use regular spaces (U+0020) + } +}() + +func (e *prefixError) Error() string { + return prefix + e.s +} + +func (e *prefixError) Unwrap() error { + return Error +} + +// Wrap returns an error that has a "proto" prefix, the formatted string described +// by the format specifier and arguments, and a suffix of err. The error wraps err. +func Wrap(err error, f string, x ...interface{}) error { + return &wrapError{ + s: format(f, x...), + err: err, + } +} + +type wrapError struct { + s string + err error +} + +func (e *wrapError) Error() string { + return format("%v%v: %v", prefix, e.s, e.err) +} + +func (e *wrapError) Unwrap() error { + return e.err +} + +func (e *wrapError) Is(target error) bool { + return target == Error +} + +func format(f string, x ...interface{}) string { + // avoid "proto: " prefix when chaining + for i := 0; i < len(x); i++ { + switch e := x[i].(type) { + case *prefixError: + x[i] = e.s + case *wrapError: + x[i] = format("%v: %v", e.s, e.err) + } + } + return fmt.Sprintf(f, x...) +} + +func InvalidUTF8(name string) error { + return New("field %v contains invalid UTF-8", name) +} + +func RequiredNotSet(name string) error { + return New("required field %v not set", name) +} diff --git a/server/vendor/google.golang.org/protobuf/internal/errors/is_go112.go b/server/vendor/google.golang.org/protobuf/internal/errors/is_go112.go new file mode 100755 index 0000000..fbcd349 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/errors/is_go112.go @@ -0,0 +1,40 @@ +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !go1.13 +// +build !go1.13 + +package errors + +import "reflect" + +// Is is a copy of Go 1.13's errors.Is for use with older Go versions. +func Is(err, target error) bool { + if target == nil { + return err == target + } + + isComparable := reflect.TypeOf(target).Comparable() + for { + if isComparable && err == target { + return true + } + if x, ok := err.(interface{ Is(error) bool }); ok && x.Is(target) { + return true + } + if err = unwrap(err); err == nil { + return false + } + } +} + +func unwrap(err error) error { + u, ok := err.(interface { + Unwrap() error + }) + if !ok { + return nil + } + return u.Unwrap() +} diff --git a/server/vendor/google.golang.org/protobuf/internal/errors/is_go113.go b/server/vendor/google.golang.org/protobuf/internal/errors/is_go113.go new file mode 100755 index 0000000..5e72f1c --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/errors/is_go113.go @@ -0,0 +1,13 @@ +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build go1.13 +// +build go1.13 + +package errors + +import "errors" + +// Is is errors.Is. +func Is(err, target error) bool { return errors.Is(err, target) } diff --git a/server/vendor/google.golang.org/protobuf/internal/filedesc/build.go b/server/vendor/google.golang.org/protobuf/internal/filedesc/build.go new file mode 100755 index 0000000..7cac1c1 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/filedesc/build.go @@ -0,0 +1,157 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package filedesc provides functionality for constructing descriptors. +// +// The types in this package implement interfaces in the protoreflect package +// related to protobuf descripriptors. +package filedesc + +import ( + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +// Builder construct a protoreflect.FileDescriptor from the raw descriptor. +type Builder struct { + // GoPackagePath is the Go package path that is invoking this builder. + GoPackagePath string + + // RawDescriptor is the wire-encoded bytes of FileDescriptorProto + // and must be populated. + RawDescriptor []byte + + // NumEnums is the total number of enums declared in the file. + NumEnums int32 + // NumMessages is the total number of messages declared in the file. + // It includes the implicit message declarations for map entries. + NumMessages int32 + // NumExtensions is the total number of extensions declared in the file. + NumExtensions int32 + // NumServices is the total number of services declared in the file. + NumServices int32 + + // TypeResolver resolves extension field types for descriptor options. + // If nil, it uses protoregistry.GlobalTypes. + TypeResolver interface { + protoregistry.ExtensionTypeResolver + } + + // FileRegistry is use to lookup file, enum, and message dependencies. + // Once constructed, the file descriptor is registered here. + // If nil, it uses protoregistry.GlobalFiles. + FileRegistry interface { + FindFileByPath(string) (protoreflect.FileDescriptor, error) + FindDescriptorByName(protoreflect.FullName) (protoreflect.Descriptor, error) + RegisterFile(protoreflect.FileDescriptor) error + } +} + +// resolverByIndex is an interface Builder.FileRegistry may implement. +// If so, it permits looking up an enum or message dependency based on the +// sub-list and element index into filetype.Builder.DependencyIndexes. +type resolverByIndex interface { + FindEnumByIndex(int32, int32, []Enum, []Message) protoreflect.EnumDescriptor + FindMessageByIndex(int32, int32, []Enum, []Message) protoreflect.MessageDescriptor +} + +// Indexes of each sub-list in filetype.Builder.DependencyIndexes. +const ( + listFieldDeps int32 = iota + listExtTargets + listExtDeps + listMethInDeps + listMethOutDeps +) + +// Out is the output of the Builder. +type Out struct { + File protoreflect.FileDescriptor + + // Enums is all enum descriptors in "flattened ordering". + Enums []Enum + // Messages is all message descriptors in "flattened ordering". + // It includes the implicit message declarations for map entries. + Messages []Message + // Extensions is all extension descriptors in "flattened ordering". + Extensions []Extension + // Service is all service descriptors in "flattened ordering". + Services []Service +} + +// Build constructs a FileDescriptor given the parameters set in Builder. +// It assumes that the inputs are well-formed and panics if any inconsistencies +// are encountered. +// +// If NumEnums+NumMessages+NumExtensions+NumServices is zero, +// then Build automatically derives them from the raw descriptor. +func (db Builder) Build() (out Out) { + // Populate the counts if uninitialized. + if db.NumEnums+db.NumMessages+db.NumExtensions+db.NumServices == 0 { + db.unmarshalCounts(db.RawDescriptor, true) + } + + // Initialize resolvers and registries if unpopulated. + if db.TypeResolver == nil { + db.TypeResolver = protoregistry.GlobalTypes + } + if db.FileRegistry == nil { + db.FileRegistry = protoregistry.GlobalFiles + } + + fd := newRawFile(db) + out.File = fd + out.Enums = fd.allEnums + out.Messages = fd.allMessages + out.Extensions = fd.allExtensions + out.Services = fd.allServices + + if err := db.FileRegistry.RegisterFile(fd); err != nil { + panic(err) + } + return out +} + +// unmarshalCounts counts the number of enum, message, extension, and service +// declarations in the raw message, which is either a FileDescriptorProto +// or a MessageDescriptorProto depending on whether isFile is set. +func (db *Builder) unmarshalCounts(b []byte, isFile bool) { + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + if isFile { + switch num { + case genid.FileDescriptorProto_EnumType_field_number: + db.NumEnums++ + case genid.FileDescriptorProto_MessageType_field_number: + db.unmarshalCounts(v, false) + db.NumMessages++ + case genid.FileDescriptorProto_Extension_field_number: + db.NumExtensions++ + case genid.FileDescriptorProto_Service_field_number: + db.NumServices++ + } + } else { + switch num { + case genid.DescriptorProto_EnumType_field_number: + db.NumEnums++ + case genid.DescriptorProto_NestedType_field_number: + db.unmarshalCounts(v, false) + db.NumMessages++ + case genid.DescriptorProto_Extension_field_number: + db.NumExtensions++ + } + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } +} diff --git a/server/vendor/google.golang.org/protobuf/internal/filedesc/desc.go b/server/vendor/google.golang.org/protobuf/internal/filedesc/desc.go new file mode 100755 index 0000000..7c3689b --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/filedesc/desc.go @@ -0,0 +1,633 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package filedesc + +import ( + "bytes" + "fmt" + "sync" + "sync/atomic" + + "google.golang.org/protobuf/internal/descfmt" + "google.golang.org/protobuf/internal/descopts" + "google.golang.org/protobuf/internal/encoding/defval" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +// The types in this file may have a suffix: +// • L0: Contains fields common to all descriptors (except File) and +// must be initialized up front. +// • L1: Contains fields specific to a descriptor and +// must be initialized up front. +// • L2: Contains fields that are lazily initialized when constructing +// from the raw file descriptor. When constructing as a literal, the L2 +// fields must be initialized up front. +// +// The types are exported so that packages like reflect/protodesc can +// directly construct descriptors. + +type ( + File struct { + fileRaw + L1 FileL1 + + once uint32 // atomically set if L2 is valid + mu sync.Mutex // protects L2 + L2 *FileL2 + } + FileL1 struct { + Syntax protoreflect.Syntax + Path string + Package protoreflect.FullName + + Enums Enums + Messages Messages + Extensions Extensions + Services Services + } + FileL2 struct { + Options func() protoreflect.ProtoMessage + Imports FileImports + Locations SourceLocations + } +) + +func (fd *File) ParentFile() protoreflect.FileDescriptor { return fd } +func (fd *File) Parent() protoreflect.Descriptor { return nil } +func (fd *File) Index() int { return 0 } +func (fd *File) Syntax() protoreflect.Syntax { return fd.L1.Syntax } +func (fd *File) Name() protoreflect.Name { return fd.L1.Package.Name() } +func (fd *File) FullName() protoreflect.FullName { return fd.L1.Package } +func (fd *File) IsPlaceholder() bool { return false } +func (fd *File) Options() protoreflect.ProtoMessage { + if f := fd.lazyInit().Options; f != nil { + return f() + } + return descopts.File +} +func (fd *File) Path() string { return fd.L1.Path } +func (fd *File) Package() protoreflect.FullName { return fd.L1.Package } +func (fd *File) Imports() protoreflect.FileImports { return &fd.lazyInit().Imports } +func (fd *File) Enums() protoreflect.EnumDescriptors { return &fd.L1.Enums } +func (fd *File) Messages() protoreflect.MessageDescriptors { return &fd.L1.Messages } +func (fd *File) Extensions() protoreflect.ExtensionDescriptors { return &fd.L1.Extensions } +func (fd *File) Services() protoreflect.ServiceDescriptors { return &fd.L1.Services } +func (fd *File) SourceLocations() protoreflect.SourceLocations { return &fd.lazyInit().Locations } +func (fd *File) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, fd) } +func (fd *File) ProtoType(protoreflect.FileDescriptor) {} +func (fd *File) ProtoInternal(pragma.DoNotImplement) {} + +func (fd *File) lazyInit() *FileL2 { + if atomic.LoadUint32(&fd.once) == 0 { + fd.lazyInitOnce() + } + return fd.L2 +} + +func (fd *File) lazyInitOnce() { + fd.mu.Lock() + if fd.L2 == nil { + fd.lazyRawInit() // recursively initializes all L2 structures + } + atomic.StoreUint32(&fd.once, 1) + fd.mu.Unlock() +} + +// GoPackagePath is a pseudo-internal API for determining the Go package path +// that this file descriptor is declared in. +// +// WARNING: This method is exempt from the compatibility promise and may be +// removed in the future without warning. +func (fd *File) GoPackagePath() string { + return fd.builder.GoPackagePath +} + +type ( + Enum struct { + Base + L1 EnumL1 + L2 *EnumL2 // protected by fileDesc.once + } + EnumL1 struct { + eagerValues bool // controls whether EnumL2.Values is already populated + } + EnumL2 struct { + Options func() protoreflect.ProtoMessage + Values EnumValues + ReservedNames Names + ReservedRanges EnumRanges + } + + EnumValue struct { + Base + L1 EnumValueL1 + } + EnumValueL1 struct { + Options func() protoreflect.ProtoMessage + Number protoreflect.EnumNumber + } +) + +func (ed *Enum) Options() protoreflect.ProtoMessage { + if f := ed.lazyInit().Options; f != nil { + return f() + } + return descopts.Enum +} +func (ed *Enum) Values() protoreflect.EnumValueDescriptors { + if ed.L1.eagerValues { + return &ed.L2.Values + } + return &ed.lazyInit().Values +} +func (ed *Enum) ReservedNames() protoreflect.Names { return &ed.lazyInit().ReservedNames } +func (ed *Enum) ReservedRanges() protoreflect.EnumRanges { return &ed.lazyInit().ReservedRanges } +func (ed *Enum) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, ed) } +func (ed *Enum) ProtoType(protoreflect.EnumDescriptor) {} +func (ed *Enum) lazyInit() *EnumL2 { + ed.L0.ParentFile.lazyInit() // implicitly initializes L2 + return ed.L2 +} + +func (ed *EnumValue) Options() protoreflect.ProtoMessage { + if f := ed.L1.Options; f != nil { + return f() + } + return descopts.EnumValue +} +func (ed *EnumValue) Number() protoreflect.EnumNumber { return ed.L1.Number } +func (ed *EnumValue) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, ed) } +func (ed *EnumValue) ProtoType(protoreflect.EnumValueDescriptor) {} + +type ( + Message struct { + Base + L1 MessageL1 + L2 *MessageL2 // protected by fileDesc.once + } + MessageL1 struct { + Enums Enums + Messages Messages + Extensions Extensions + IsMapEntry bool // promoted from google.protobuf.MessageOptions + IsMessageSet bool // promoted from google.protobuf.MessageOptions + } + MessageL2 struct { + Options func() protoreflect.ProtoMessage + Fields Fields + Oneofs Oneofs + ReservedNames Names + ReservedRanges FieldRanges + RequiredNumbers FieldNumbers // must be consistent with Fields.Cardinality + ExtensionRanges FieldRanges + ExtensionRangeOptions []func() protoreflect.ProtoMessage // must be same length as ExtensionRanges + } + + Field struct { + Base + L1 FieldL1 + } + FieldL1 struct { + Options func() protoreflect.ProtoMessage + Number protoreflect.FieldNumber + Cardinality protoreflect.Cardinality // must be consistent with Message.RequiredNumbers + Kind protoreflect.Kind + StringName stringName + IsProto3Optional bool // promoted from google.protobuf.FieldDescriptorProto + IsWeak bool // promoted from google.protobuf.FieldOptions + HasPacked bool // promoted from google.protobuf.FieldOptions + IsPacked bool // promoted from google.protobuf.FieldOptions + HasEnforceUTF8 bool // promoted from google.protobuf.FieldOptions + EnforceUTF8 bool // promoted from google.protobuf.FieldOptions + Default defaultValue + ContainingOneof protoreflect.OneofDescriptor // must be consistent with Message.Oneofs.Fields + Enum protoreflect.EnumDescriptor + Message protoreflect.MessageDescriptor + } + + Oneof struct { + Base + L1 OneofL1 + } + OneofL1 struct { + Options func() protoreflect.ProtoMessage + Fields OneofFields // must be consistent with Message.Fields.ContainingOneof + } +) + +func (md *Message) Options() protoreflect.ProtoMessage { + if f := md.lazyInit().Options; f != nil { + return f() + } + return descopts.Message +} +func (md *Message) IsMapEntry() bool { return md.L1.IsMapEntry } +func (md *Message) Fields() protoreflect.FieldDescriptors { return &md.lazyInit().Fields } +func (md *Message) Oneofs() protoreflect.OneofDescriptors { return &md.lazyInit().Oneofs } +func (md *Message) ReservedNames() protoreflect.Names { return &md.lazyInit().ReservedNames } +func (md *Message) ReservedRanges() protoreflect.FieldRanges { return &md.lazyInit().ReservedRanges } +func (md *Message) RequiredNumbers() protoreflect.FieldNumbers { return &md.lazyInit().RequiredNumbers } +func (md *Message) ExtensionRanges() protoreflect.FieldRanges { return &md.lazyInit().ExtensionRanges } +func (md *Message) ExtensionRangeOptions(i int) protoreflect.ProtoMessage { + if f := md.lazyInit().ExtensionRangeOptions[i]; f != nil { + return f() + } + return descopts.ExtensionRange +} +func (md *Message) Enums() protoreflect.EnumDescriptors { return &md.L1.Enums } +func (md *Message) Messages() protoreflect.MessageDescriptors { return &md.L1.Messages } +func (md *Message) Extensions() protoreflect.ExtensionDescriptors { return &md.L1.Extensions } +func (md *Message) ProtoType(protoreflect.MessageDescriptor) {} +func (md *Message) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, md) } +func (md *Message) lazyInit() *MessageL2 { + md.L0.ParentFile.lazyInit() // implicitly initializes L2 + return md.L2 +} + +// IsMessageSet is a pseudo-internal API for checking whether a message +// should serialize in the proto1 message format. +// +// WARNING: This method is exempt from the compatibility promise and may be +// removed in the future without warning. +func (md *Message) IsMessageSet() bool { + return md.L1.IsMessageSet +} + +func (fd *Field) Options() protoreflect.ProtoMessage { + if f := fd.L1.Options; f != nil { + return f() + } + return descopts.Field +} +func (fd *Field) Number() protoreflect.FieldNumber { return fd.L1.Number } +func (fd *Field) Cardinality() protoreflect.Cardinality { return fd.L1.Cardinality } +func (fd *Field) Kind() protoreflect.Kind { return fd.L1.Kind } +func (fd *Field) HasJSONName() bool { return fd.L1.StringName.hasJSON } +func (fd *Field) JSONName() string { return fd.L1.StringName.getJSON(fd) } +func (fd *Field) TextName() string { return fd.L1.StringName.getText(fd) } +func (fd *Field) HasPresence() bool { + return fd.L1.Cardinality != protoreflect.Repeated && (fd.L0.ParentFile.L1.Syntax == protoreflect.Proto2 || fd.L1.Message != nil || fd.L1.ContainingOneof != nil) +} +func (fd *Field) HasOptionalKeyword() bool { + return (fd.L0.ParentFile.L1.Syntax == protoreflect.Proto2 && fd.L1.Cardinality == protoreflect.Optional && fd.L1.ContainingOneof == nil) || fd.L1.IsProto3Optional +} +func (fd *Field) IsPacked() bool { + if !fd.L1.HasPacked && fd.L0.ParentFile.L1.Syntax != protoreflect.Proto2 && fd.L1.Cardinality == protoreflect.Repeated { + switch fd.L1.Kind { + case protoreflect.StringKind, protoreflect.BytesKind, protoreflect.MessageKind, protoreflect.GroupKind: + default: + return true + } + } + return fd.L1.IsPacked +} +func (fd *Field) IsExtension() bool { return false } +func (fd *Field) IsWeak() bool { return fd.L1.IsWeak } +func (fd *Field) IsList() bool { return fd.Cardinality() == protoreflect.Repeated && !fd.IsMap() } +func (fd *Field) IsMap() bool { return fd.Message() != nil && fd.Message().IsMapEntry() } +func (fd *Field) MapKey() protoreflect.FieldDescriptor { + if !fd.IsMap() { + return nil + } + return fd.Message().Fields().ByNumber(genid.MapEntry_Key_field_number) +} +func (fd *Field) MapValue() protoreflect.FieldDescriptor { + if !fd.IsMap() { + return nil + } + return fd.Message().Fields().ByNumber(genid.MapEntry_Value_field_number) +} +func (fd *Field) HasDefault() bool { return fd.L1.Default.has } +func (fd *Field) Default() protoreflect.Value { return fd.L1.Default.get(fd) } +func (fd *Field) DefaultEnumValue() protoreflect.EnumValueDescriptor { return fd.L1.Default.enum } +func (fd *Field) ContainingOneof() protoreflect.OneofDescriptor { return fd.L1.ContainingOneof } +func (fd *Field) ContainingMessage() protoreflect.MessageDescriptor { + return fd.L0.Parent.(protoreflect.MessageDescriptor) +} +func (fd *Field) Enum() protoreflect.EnumDescriptor { + return fd.L1.Enum +} +func (fd *Field) Message() protoreflect.MessageDescriptor { + if fd.L1.IsWeak { + if d, _ := protoregistry.GlobalFiles.FindDescriptorByName(fd.L1.Message.FullName()); d != nil { + return d.(protoreflect.MessageDescriptor) + } + } + return fd.L1.Message +} +func (fd *Field) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, fd) } +func (fd *Field) ProtoType(protoreflect.FieldDescriptor) {} + +// EnforceUTF8 is a pseudo-internal API to determine whether to enforce UTF-8 +// validation for the string field. This exists for Google-internal use only +// since proto3 did not enforce UTF-8 validity prior to the open-source release. +// If this method does not exist, the default is to enforce valid UTF-8. +// +// WARNING: This method is exempt from the compatibility promise and may be +// removed in the future without warning. +func (fd *Field) EnforceUTF8() bool { + if fd.L1.HasEnforceUTF8 { + return fd.L1.EnforceUTF8 + } + return fd.L0.ParentFile.L1.Syntax == protoreflect.Proto3 +} + +func (od *Oneof) IsSynthetic() bool { + return od.L0.ParentFile.L1.Syntax == protoreflect.Proto3 && len(od.L1.Fields.List) == 1 && od.L1.Fields.List[0].HasOptionalKeyword() +} +func (od *Oneof) Options() protoreflect.ProtoMessage { + if f := od.L1.Options; f != nil { + return f() + } + return descopts.Oneof +} +func (od *Oneof) Fields() protoreflect.FieldDescriptors { return &od.L1.Fields } +func (od *Oneof) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, od) } +func (od *Oneof) ProtoType(protoreflect.OneofDescriptor) {} + +type ( + Extension struct { + Base + L1 ExtensionL1 + L2 *ExtensionL2 // protected by fileDesc.once + } + ExtensionL1 struct { + Number protoreflect.FieldNumber + Extendee protoreflect.MessageDescriptor + Cardinality protoreflect.Cardinality + Kind protoreflect.Kind + } + ExtensionL2 struct { + Options func() protoreflect.ProtoMessage + StringName stringName + IsProto3Optional bool // promoted from google.protobuf.FieldDescriptorProto + IsPacked bool // promoted from google.protobuf.FieldOptions + Default defaultValue + Enum protoreflect.EnumDescriptor + Message protoreflect.MessageDescriptor + } +) + +func (xd *Extension) Options() protoreflect.ProtoMessage { + if f := xd.lazyInit().Options; f != nil { + return f() + } + return descopts.Field +} +func (xd *Extension) Number() protoreflect.FieldNumber { return xd.L1.Number } +func (xd *Extension) Cardinality() protoreflect.Cardinality { return xd.L1.Cardinality } +func (xd *Extension) Kind() protoreflect.Kind { return xd.L1.Kind } +func (xd *Extension) HasJSONName() bool { return xd.lazyInit().StringName.hasJSON } +func (xd *Extension) JSONName() string { return xd.lazyInit().StringName.getJSON(xd) } +func (xd *Extension) TextName() string { return xd.lazyInit().StringName.getText(xd) } +func (xd *Extension) HasPresence() bool { return xd.L1.Cardinality != protoreflect.Repeated } +func (xd *Extension) HasOptionalKeyword() bool { + return (xd.L0.ParentFile.L1.Syntax == protoreflect.Proto2 && xd.L1.Cardinality == protoreflect.Optional) || xd.lazyInit().IsProto3Optional +} +func (xd *Extension) IsPacked() bool { return xd.lazyInit().IsPacked } +func (xd *Extension) IsExtension() bool { return true } +func (xd *Extension) IsWeak() bool { return false } +func (xd *Extension) IsList() bool { return xd.Cardinality() == protoreflect.Repeated } +func (xd *Extension) IsMap() bool { return false } +func (xd *Extension) MapKey() protoreflect.FieldDescriptor { return nil } +func (xd *Extension) MapValue() protoreflect.FieldDescriptor { return nil } +func (xd *Extension) HasDefault() bool { return xd.lazyInit().Default.has } +func (xd *Extension) Default() protoreflect.Value { return xd.lazyInit().Default.get(xd) } +func (xd *Extension) DefaultEnumValue() protoreflect.EnumValueDescriptor { + return xd.lazyInit().Default.enum +} +func (xd *Extension) ContainingOneof() protoreflect.OneofDescriptor { return nil } +func (xd *Extension) ContainingMessage() protoreflect.MessageDescriptor { return xd.L1.Extendee } +func (xd *Extension) Enum() protoreflect.EnumDescriptor { return xd.lazyInit().Enum } +func (xd *Extension) Message() protoreflect.MessageDescriptor { return xd.lazyInit().Message } +func (xd *Extension) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, xd) } +func (xd *Extension) ProtoType(protoreflect.FieldDescriptor) {} +func (xd *Extension) ProtoInternal(pragma.DoNotImplement) {} +func (xd *Extension) lazyInit() *ExtensionL2 { + xd.L0.ParentFile.lazyInit() // implicitly initializes L2 + return xd.L2 +} + +type ( + Service struct { + Base + L1 ServiceL1 + L2 *ServiceL2 // protected by fileDesc.once + } + ServiceL1 struct{} + ServiceL2 struct { + Options func() protoreflect.ProtoMessage + Methods Methods + } + + Method struct { + Base + L1 MethodL1 + } + MethodL1 struct { + Options func() protoreflect.ProtoMessage + Input protoreflect.MessageDescriptor + Output protoreflect.MessageDescriptor + IsStreamingClient bool + IsStreamingServer bool + } +) + +func (sd *Service) Options() protoreflect.ProtoMessage { + if f := sd.lazyInit().Options; f != nil { + return f() + } + return descopts.Service +} +func (sd *Service) Methods() protoreflect.MethodDescriptors { return &sd.lazyInit().Methods } +func (sd *Service) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, sd) } +func (sd *Service) ProtoType(protoreflect.ServiceDescriptor) {} +func (sd *Service) ProtoInternal(pragma.DoNotImplement) {} +func (sd *Service) lazyInit() *ServiceL2 { + sd.L0.ParentFile.lazyInit() // implicitly initializes L2 + return sd.L2 +} + +func (md *Method) Options() protoreflect.ProtoMessage { + if f := md.L1.Options; f != nil { + return f() + } + return descopts.Method +} +func (md *Method) Input() protoreflect.MessageDescriptor { return md.L1.Input } +func (md *Method) Output() protoreflect.MessageDescriptor { return md.L1.Output } +func (md *Method) IsStreamingClient() bool { return md.L1.IsStreamingClient } +func (md *Method) IsStreamingServer() bool { return md.L1.IsStreamingServer } +func (md *Method) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, md) } +func (md *Method) ProtoType(protoreflect.MethodDescriptor) {} +func (md *Method) ProtoInternal(pragma.DoNotImplement) {} + +// Surrogate files are can be used to create standalone descriptors +// where the syntax is only information derived from the parent file. +var ( + SurrogateProto2 = &File{L1: FileL1{Syntax: protoreflect.Proto2}, L2: &FileL2{}} + SurrogateProto3 = &File{L1: FileL1{Syntax: protoreflect.Proto3}, L2: &FileL2{}} +) + +type ( + Base struct { + L0 BaseL0 + } + BaseL0 struct { + FullName protoreflect.FullName // must be populated + ParentFile *File // must be populated + Parent protoreflect.Descriptor + Index int + } +) + +func (d *Base) Name() protoreflect.Name { return d.L0.FullName.Name() } +func (d *Base) FullName() protoreflect.FullName { return d.L0.FullName } +func (d *Base) ParentFile() protoreflect.FileDescriptor { + if d.L0.ParentFile == SurrogateProto2 || d.L0.ParentFile == SurrogateProto3 { + return nil // surrogate files are not real parents + } + return d.L0.ParentFile +} +func (d *Base) Parent() protoreflect.Descriptor { return d.L0.Parent } +func (d *Base) Index() int { return d.L0.Index } +func (d *Base) Syntax() protoreflect.Syntax { return d.L0.ParentFile.Syntax() } +func (d *Base) IsPlaceholder() bool { return false } +func (d *Base) ProtoInternal(pragma.DoNotImplement) {} + +type stringName struct { + hasJSON bool + once sync.Once + nameJSON string + nameText string +} + +// InitJSON initializes the name. It is exported for use by other internal packages. +func (s *stringName) InitJSON(name string) { + s.hasJSON = true + s.nameJSON = name +} + +func (s *stringName) lazyInit(fd protoreflect.FieldDescriptor) *stringName { + s.once.Do(func() { + if fd.IsExtension() { + // For extensions, JSON and text are formatted the same way. + var name string + if messageset.IsMessageSetExtension(fd) { + name = string("[" + fd.FullName().Parent() + "]") + } else { + name = string("[" + fd.FullName() + "]") + } + s.nameJSON = name + s.nameText = name + } else { + // Format the JSON name. + if !s.hasJSON { + s.nameJSON = strs.JSONCamelCase(string(fd.Name())) + } + + // Format the text name. + s.nameText = string(fd.Name()) + if fd.Kind() == protoreflect.GroupKind { + s.nameText = string(fd.Message().Name()) + } + } + }) + return s +} + +func (s *stringName) getJSON(fd protoreflect.FieldDescriptor) string { return s.lazyInit(fd).nameJSON } +func (s *stringName) getText(fd protoreflect.FieldDescriptor) string { return s.lazyInit(fd).nameText } + +func DefaultValue(v protoreflect.Value, ev protoreflect.EnumValueDescriptor) defaultValue { + dv := defaultValue{has: v.IsValid(), val: v, enum: ev} + if b, ok := v.Interface().([]byte); ok { + // Store a copy of the default bytes, so that we can detect + // accidental mutations of the original value. + dv.bytes = append([]byte(nil), b...) + } + return dv +} + +func unmarshalDefault(b []byte, k protoreflect.Kind, pf *File, ed protoreflect.EnumDescriptor) defaultValue { + var evs protoreflect.EnumValueDescriptors + if k == protoreflect.EnumKind { + // If the enum is declared within the same file, be careful not to + // blindly call the Values method, lest we bind ourselves in a deadlock. + if e, ok := ed.(*Enum); ok && e.L0.ParentFile == pf { + evs = &e.L2.Values + } else { + evs = ed.Values() + } + + // If we are unable to resolve the enum dependency, use a placeholder + // enum value since we will not be able to parse the default value. + if ed.IsPlaceholder() && protoreflect.Name(b).IsValid() { + v := protoreflect.ValueOfEnum(0) + ev := PlaceholderEnumValue(ed.FullName().Parent().Append(protoreflect.Name(b))) + return DefaultValue(v, ev) + } + } + + v, ev, err := defval.Unmarshal(string(b), k, evs, defval.Descriptor) + if err != nil { + panic(err) + } + return DefaultValue(v, ev) +} + +type defaultValue struct { + has bool + val protoreflect.Value + enum protoreflect.EnumValueDescriptor + bytes []byte +} + +func (dv *defaultValue) get(fd protoreflect.FieldDescriptor) protoreflect.Value { + // Return the zero value as the default if unpopulated. + if !dv.has { + if fd.Cardinality() == protoreflect.Repeated { + return protoreflect.Value{} + } + switch fd.Kind() { + case protoreflect.BoolKind: + return protoreflect.ValueOfBool(false) + case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind: + return protoreflect.ValueOfInt32(0) + case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind: + return protoreflect.ValueOfInt64(0) + case protoreflect.Uint32Kind, protoreflect.Fixed32Kind: + return protoreflect.ValueOfUint32(0) + case protoreflect.Uint64Kind, protoreflect.Fixed64Kind: + return protoreflect.ValueOfUint64(0) + case protoreflect.FloatKind: + return protoreflect.ValueOfFloat32(0) + case protoreflect.DoubleKind: + return protoreflect.ValueOfFloat64(0) + case protoreflect.StringKind: + return protoreflect.ValueOfString("") + case protoreflect.BytesKind: + return protoreflect.ValueOfBytes(nil) + case protoreflect.EnumKind: + if evs := fd.Enum().Values(); evs.Len() > 0 { + return protoreflect.ValueOfEnum(evs.Get(0).Number()) + } + return protoreflect.ValueOfEnum(0) + } + } + + if len(dv.bytes) > 0 && !bytes.Equal(dv.bytes, dv.val.Bytes()) { + // TODO: Avoid panic if we're running with the race detector + // and instead spawn a goroutine that periodically resets + // this value back to the original to induce a race. + panic(fmt.Sprintf("detected mutation on the default bytes for %v", fd.FullName())) + } + return dv.val +} diff --git a/server/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go b/server/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go new file mode 100755 index 0000000..4a1584c --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go @@ -0,0 +1,471 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package filedesc + +import ( + "sync" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// fileRaw is a data struct used when initializing a file descriptor from +// a raw FileDescriptorProto. +type fileRaw struct { + builder Builder + allEnums []Enum + allMessages []Message + allExtensions []Extension + allServices []Service +} + +func newRawFile(db Builder) *File { + fd := &File{fileRaw: fileRaw{builder: db}} + fd.initDecls(db.NumEnums, db.NumMessages, db.NumExtensions, db.NumServices) + fd.unmarshalSeed(db.RawDescriptor) + + // Extended message targets are eagerly resolved since registration + // needs this information at program init time. + for i := range fd.allExtensions { + xd := &fd.allExtensions[i] + xd.L1.Extendee = fd.resolveMessageDependency(xd.L1.Extendee, listExtTargets, int32(i)) + } + + fd.checkDecls() + return fd +} + +// initDecls pre-allocates slices for the exact number of enums, messages +// (including map entries), extensions, and services declared in the proto file. +// This is done to avoid regrowing the slice, which would change the address +// for any previously seen declaration. +// +// The alloc methods "allocates" slices by pulling from the capacity. +func (fd *File) initDecls(numEnums, numMessages, numExtensions, numServices int32) { + fd.allEnums = make([]Enum, 0, numEnums) + fd.allMessages = make([]Message, 0, numMessages) + fd.allExtensions = make([]Extension, 0, numExtensions) + fd.allServices = make([]Service, 0, numServices) +} + +func (fd *File) allocEnums(n int) []Enum { + total := len(fd.allEnums) + es := fd.allEnums[total : total+n] + fd.allEnums = fd.allEnums[:total+n] + return es +} +func (fd *File) allocMessages(n int) []Message { + total := len(fd.allMessages) + ms := fd.allMessages[total : total+n] + fd.allMessages = fd.allMessages[:total+n] + return ms +} +func (fd *File) allocExtensions(n int) []Extension { + total := len(fd.allExtensions) + xs := fd.allExtensions[total : total+n] + fd.allExtensions = fd.allExtensions[:total+n] + return xs +} +func (fd *File) allocServices(n int) []Service { + total := len(fd.allServices) + xs := fd.allServices[total : total+n] + fd.allServices = fd.allServices[:total+n] + return xs +} + +// checkDecls performs a sanity check that the expected number of expected +// declarations matches the number that were found in the descriptor proto. +func (fd *File) checkDecls() { + switch { + case len(fd.allEnums) != cap(fd.allEnums): + case len(fd.allMessages) != cap(fd.allMessages): + case len(fd.allExtensions) != cap(fd.allExtensions): + case len(fd.allServices) != cap(fd.allServices): + default: + return + } + panic("mismatching cardinality") +} + +func (fd *File) unmarshalSeed(b []byte) { + sb := getBuilder() + defer putBuilder(sb) + + var prevField protoreflect.FieldNumber + var numEnums, numMessages, numExtensions, numServices int + var posEnums, posMessages, posExtensions, posServices int + b0 := b + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.FileDescriptorProto_Syntax_field_number: + switch string(v) { + case "proto2": + fd.L1.Syntax = protoreflect.Proto2 + case "proto3": + fd.L1.Syntax = protoreflect.Proto3 + default: + panic("invalid syntax") + } + case genid.FileDescriptorProto_Name_field_number: + fd.L1.Path = sb.MakeString(v) + case genid.FileDescriptorProto_Package_field_number: + fd.L1.Package = protoreflect.FullName(sb.MakeString(v)) + case genid.FileDescriptorProto_EnumType_field_number: + if prevField != genid.FileDescriptorProto_EnumType_field_number { + if numEnums > 0 { + panic("non-contiguous repeated field") + } + posEnums = len(b0) - len(b) - n - m + } + numEnums++ + case genid.FileDescriptorProto_MessageType_field_number: + if prevField != genid.FileDescriptorProto_MessageType_field_number { + if numMessages > 0 { + panic("non-contiguous repeated field") + } + posMessages = len(b0) - len(b) - n - m + } + numMessages++ + case genid.FileDescriptorProto_Extension_field_number: + if prevField != genid.FileDescriptorProto_Extension_field_number { + if numExtensions > 0 { + panic("non-contiguous repeated field") + } + posExtensions = len(b0) - len(b) - n - m + } + numExtensions++ + case genid.FileDescriptorProto_Service_field_number: + if prevField != genid.FileDescriptorProto_Service_field_number { + if numServices > 0 { + panic("non-contiguous repeated field") + } + posServices = len(b0) - len(b) - n - m + } + numServices++ + } + prevField = num + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + prevField = -1 // ignore known field numbers of unknown wire type + } + } + + // If syntax is missing, it is assumed to be proto2. + if fd.L1.Syntax == 0 { + fd.L1.Syntax = protoreflect.Proto2 + } + + // Must allocate all declarations before parsing each descriptor type + // to ensure we handled all descriptors in "flattened ordering". + if numEnums > 0 { + fd.L1.Enums.List = fd.allocEnums(numEnums) + } + if numMessages > 0 { + fd.L1.Messages.List = fd.allocMessages(numMessages) + } + if numExtensions > 0 { + fd.L1.Extensions.List = fd.allocExtensions(numExtensions) + } + if numServices > 0 { + fd.L1.Services.List = fd.allocServices(numServices) + } + + if numEnums > 0 { + b := b0[posEnums:] + for i := range fd.L1.Enums.List { + _, n := protowire.ConsumeVarint(b) + v, m := protowire.ConsumeBytes(b[n:]) + fd.L1.Enums.List[i].unmarshalSeed(v, sb, fd, fd, i) + b = b[n+m:] + } + } + if numMessages > 0 { + b := b0[posMessages:] + for i := range fd.L1.Messages.List { + _, n := protowire.ConsumeVarint(b) + v, m := protowire.ConsumeBytes(b[n:]) + fd.L1.Messages.List[i].unmarshalSeed(v, sb, fd, fd, i) + b = b[n+m:] + } + } + if numExtensions > 0 { + b := b0[posExtensions:] + for i := range fd.L1.Extensions.List { + _, n := protowire.ConsumeVarint(b) + v, m := protowire.ConsumeBytes(b[n:]) + fd.L1.Extensions.List[i].unmarshalSeed(v, sb, fd, fd, i) + b = b[n+m:] + } + } + if numServices > 0 { + b := b0[posServices:] + for i := range fd.L1.Services.List { + _, n := protowire.ConsumeVarint(b) + v, m := protowire.ConsumeBytes(b[n:]) + fd.L1.Services.List[i].unmarshalSeed(v, sb, fd, fd, i) + b = b[n+m:] + } + } +} + +func (ed *Enum) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) { + ed.L0.ParentFile = pf + ed.L0.Parent = pd + ed.L0.Index = i + + var numValues int + for b := b; len(b) > 0; { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.EnumDescriptorProto_Name_field_number: + ed.L0.FullName = appendFullName(sb, pd.FullName(), v) + case genid.EnumDescriptorProto_Value_field_number: + numValues++ + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + + // Only construct enum value descriptors for top-level enums since + // they are needed for registration. + if pd != pf { + return + } + ed.L1.eagerValues = true + ed.L2 = new(EnumL2) + ed.L2.Values.List = make([]EnumValue, numValues) + for i := 0; len(b) > 0; { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.EnumDescriptorProto_Value_field_number: + ed.L2.Values.List[i].unmarshalFull(v, sb, pf, ed, i) + i++ + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } +} + +func (md *Message) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) { + md.L0.ParentFile = pf + md.L0.Parent = pd + md.L0.Index = i + + var prevField protoreflect.FieldNumber + var numEnums, numMessages, numExtensions int + var posEnums, posMessages, posExtensions int + b0 := b + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.DescriptorProto_Name_field_number: + md.L0.FullName = appendFullName(sb, pd.FullName(), v) + case genid.DescriptorProto_EnumType_field_number: + if prevField != genid.DescriptorProto_EnumType_field_number { + if numEnums > 0 { + panic("non-contiguous repeated field") + } + posEnums = len(b0) - len(b) - n - m + } + numEnums++ + case genid.DescriptorProto_NestedType_field_number: + if prevField != genid.DescriptorProto_NestedType_field_number { + if numMessages > 0 { + panic("non-contiguous repeated field") + } + posMessages = len(b0) - len(b) - n - m + } + numMessages++ + case genid.DescriptorProto_Extension_field_number: + if prevField != genid.DescriptorProto_Extension_field_number { + if numExtensions > 0 { + panic("non-contiguous repeated field") + } + posExtensions = len(b0) - len(b) - n - m + } + numExtensions++ + case genid.DescriptorProto_Options_field_number: + md.unmarshalSeedOptions(v) + } + prevField = num + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + prevField = -1 // ignore known field numbers of unknown wire type + } + } + + // Must allocate all declarations before parsing each descriptor type + // to ensure we handled all descriptors in "flattened ordering". + if numEnums > 0 { + md.L1.Enums.List = pf.allocEnums(numEnums) + } + if numMessages > 0 { + md.L1.Messages.List = pf.allocMessages(numMessages) + } + if numExtensions > 0 { + md.L1.Extensions.List = pf.allocExtensions(numExtensions) + } + + if numEnums > 0 { + b := b0[posEnums:] + for i := range md.L1.Enums.List { + _, n := protowire.ConsumeVarint(b) + v, m := protowire.ConsumeBytes(b[n:]) + md.L1.Enums.List[i].unmarshalSeed(v, sb, pf, md, i) + b = b[n+m:] + } + } + if numMessages > 0 { + b := b0[posMessages:] + for i := range md.L1.Messages.List { + _, n := protowire.ConsumeVarint(b) + v, m := protowire.ConsumeBytes(b[n:]) + md.L1.Messages.List[i].unmarshalSeed(v, sb, pf, md, i) + b = b[n+m:] + } + } + if numExtensions > 0 { + b := b0[posExtensions:] + for i := range md.L1.Extensions.List { + _, n := protowire.ConsumeVarint(b) + v, m := protowire.ConsumeBytes(b[n:]) + md.L1.Extensions.List[i].unmarshalSeed(v, sb, pf, md, i) + b = b[n+m:] + } + } +} + +func (md *Message) unmarshalSeedOptions(b []byte) { + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.MessageOptions_MapEntry_field_number: + md.L1.IsMapEntry = protowire.DecodeBool(v) + case genid.MessageOptions_MessageSetWireFormat_field_number: + md.L1.IsMessageSet = protowire.DecodeBool(v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } +} + +func (xd *Extension) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) { + xd.L0.ParentFile = pf + xd.L0.Parent = pd + xd.L0.Index = i + + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.FieldDescriptorProto_Number_field_number: + xd.L1.Number = protoreflect.FieldNumber(v) + case genid.FieldDescriptorProto_Label_field_number: + xd.L1.Cardinality = protoreflect.Cardinality(v) + case genid.FieldDescriptorProto_Type_field_number: + xd.L1.Kind = protoreflect.Kind(v) + } + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.FieldDescriptorProto_Name_field_number: + xd.L0.FullName = appendFullName(sb, pd.FullName(), v) + case genid.FieldDescriptorProto_Extendee_field_number: + xd.L1.Extendee = PlaceholderMessage(makeFullName(sb, v)) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } +} + +func (sd *Service) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) { + sd.L0.ParentFile = pf + sd.L0.Parent = pd + sd.L0.Index = i + + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.ServiceDescriptorProto_Name_field_number: + sd.L0.FullName = appendFullName(sb, pd.FullName(), v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } +} + +var nameBuilderPool = sync.Pool{ + New: func() interface{} { return new(strs.Builder) }, +} + +func getBuilder() *strs.Builder { + return nameBuilderPool.Get().(*strs.Builder) +} +func putBuilder(b *strs.Builder) { + nameBuilderPool.Put(b) +} + +// makeFullName converts b to a protoreflect.FullName, +// where b must start with a leading dot. +func makeFullName(sb *strs.Builder, b []byte) protoreflect.FullName { + if len(b) == 0 || b[0] != '.' { + panic("name reference must be fully qualified") + } + return protoreflect.FullName(sb.MakeString(b[1:])) +} + +func appendFullName(sb *strs.Builder, prefix protoreflect.FullName, suffix []byte) protoreflect.FullName { + return sb.AppendFullName(prefix, protoreflect.Name(strs.UnsafeString(suffix))) +} diff --git a/server/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go b/server/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go new file mode 100755 index 0000000..736a19a --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go @@ -0,0 +1,704 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package filedesc + +import ( + "reflect" + "sync" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/descopts" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" +) + +func (fd *File) lazyRawInit() { + fd.unmarshalFull(fd.builder.RawDescriptor) + fd.resolveMessages() + fd.resolveExtensions() + fd.resolveServices() +} + +func (file *File) resolveMessages() { + var depIdx int32 + for i := range file.allMessages { + md := &file.allMessages[i] + + // Resolve message field dependencies. + for j := range md.L2.Fields.List { + fd := &md.L2.Fields.List[j] + + // Weak fields are resolved upon actual use. + if fd.L1.IsWeak { + continue + } + + // Resolve message field dependency. + switch fd.L1.Kind { + case protoreflect.EnumKind: + fd.L1.Enum = file.resolveEnumDependency(fd.L1.Enum, listFieldDeps, depIdx) + depIdx++ + case protoreflect.MessageKind, protoreflect.GroupKind: + fd.L1.Message = file.resolveMessageDependency(fd.L1.Message, listFieldDeps, depIdx) + depIdx++ + } + + // Default is resolved here since it depends on Enum being resolved. + if v := fd.L1.Default.val; v.IsValid() { + fd.L1.Default = unmarshalDefault(v.Bytes(), fd.L1.Kind, file, fd.L1.Enum) + } + } + } +} + +func (file *File) resolveExtensions() { + var depIdx int32 + for i := range file.allExtensions { + xd := &file.allExtensions[i] + + // Resolve extension field dependency. + switch xd.L1.Kind { + case protoreflect.EnumKind: + xd.L2.Enum = file.resolveEnumDependency(xd.L2.Enum, listExtDeps, depIdx) + depIdx++ + case protoreflect.MessageKind, protoreflect.GroupKind: + xd.L2.Message = file.resolveMessageDependency(xd.L2.Message, listExtDeps, depIdx) + depIdx++ + } + + // Default is resolved here since it depends on Enum being resolved. + if v := xd.L2.Default.val; v.IsValid() { + xd.L2.Default = unmarshalDefault(v.Bytes(), xd.L1.Kind, file, xd.L2.Enum) + } + } +} + +func (file *File) resolveServices() { + var depIdx int32 + for i := range file.allServices { + sd := &file.allServices[i] + + // Resolve method dependencies. + for j := range sd.L2.Methods.List { + md := &sd.L2.Methods.List[j] + md.L1.Input = file.resolveMessageDependency(md.L1.Input, listMethInDeps, depIdx) + md.L1.Output = file.resolveMessageDependency(md.L1.Output, listMethOutDeps, depIdx) + depIdx++ + } + } +} + +func (file *File) resolveEnumDependency(ed protoreflect.EnumDescriptor, i, j int32) protoreflect.EnumDescriptor { + r := file.builder.FileRegistry + if r, ok := r.(resolverByIndex); ok { + if ed2 := r.FindEnumByIndex(i, j, file.allEnums, file.allMessages); ed2 != nil { + return ed2 + } + } + for i := range file.allEnums { + if ed2 := &file.allEnums[i]; ed2.L0.FullName == ed.FullName() { + return ed2 + } + } + if d, _ := r.FindDescriptorByName(ed.FullName()); d != nil { + return d.(protoreflect.EnumDescriptor) + } + return ed +} + +func (file *File) resolveMessageDependency(md protoreflect.MessageDescriptor, i, j int32) protoreflect.MessageDescriptor { + r := file.builder.FileRegistry + if r, ok := r.(resolverByIndex); ok { + if md2 := r.FindMessageByIndex(i, j, file.allEnums, file.allMessages); md2 != nil { + return md2 + } + } + for i := range file.allMessages { + if md2 := &file.allMessages[i]; md2.L0.FullName == md.FullName() { + return md2 + } + } + if d, _ := r.FindDescriptorByName(md.FullName()); d != nil { + return d.(protoreflect.MessageDescriptor) + } + return md +} + +func (fd *File) unmarshalFull(b []byte) { + sb := getBuilder() + defer putBuilder(sb) + + var enumIdx, messageIdx, extensionIdx, serviceIdx int + var rawOptions []byte + fd.L2 = new(FileL2) + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.FileDescriptorProto_PublicDependency_field_number: + fd.L2.Imports[v].IsPublic = true + case genid.FileDescriptorProto_WeakDependency_field_number: + fd.L2.Imports[v].IsWeak = true + } + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.FileDescriptorProto_Dependency_field_number: + path := sb.MakeString(v) + imp, _ := fd.builder.FileRegistry.FindFileByPath(path) + if imp == nil { + imp = PlaceholderFile(path) + } + fd.L2.Imports = append(fd.L2.Imports, protoreflect.FileImport{FileDescriptor: imp}) + case genid.FileDescriptorProto_EnumType_field_number: + fd.L1.Enums.List[enumIdx].unmarshalFull(v, sb) + enumIdx++ + case genid.FileDescriptorProto_MessageType_field_number: + fd.L1.Messages.List[messageIdx].unmarshalFull(v, sb) + messageIdx++ + case genid.FileDescriptorProto_Extension_field_number: + fd.L1.Extensions.List[extensionIdx].unmarshalFull(v, sb) + extensionIdx++ + case genid.FileDescriptorProto_Service_field_number: + fd.L1.Services.List[serviceIdx].unmarshalFull(v, sb) + serviceIdx++ + case genid.FileDescriptorProto_Options_field_number: + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + fd.L2.Options = fd.builder.optionsUnmarshaler(&descopts.File, rawOptions) +} + +func (ed *Enum) unmarshalFull(b []byte, sb *strs.Builder) { + var rawValues [][]byte + var rawOptions []byte + if !ed.L1.eagerValues { + ed.L2 = new(EnumL2) + } + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.EnumDescriptorProto_Value_field_number: + rawValues = append(rawValues, v) + case genid.EnumDescriptorProto_ReservedName_field_number: + ed.L2.ReservedNames.List = append(ed.L2.ReservedNames.List, protoreflect.Name(sb.MakeString(v))) + case genid.EnumDescriptorProto_ReservedRange_field_number: + ed.L2.ReservedRanges.List = append(ed.L2.ReservedRanges.List, unmarshalEnumReservedRange(v)) + case genid.EnumDescriptorProto_Options_field_number: + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + if !ed.L1.eagerValues && len(rawValues) > 0 { + ed.L2.Values.List = make([]EnumValue, len(rawValues)) + for i, b := range rawValues { + ed.L2.Values.List[i].unmarshalFull(b, sb, ed.L0.ParentFile, ed, i) + } + } + ed.L2.Options = ed.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Enum, rawOptions) +} + +func unmarshalEnumReservedRange(b []byte) (r [2]protoreflect.EnumNumber) { + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.EnumDescriptorProto_EnumReservedRange_Start_field_number: + r[0] = protoreflect.EnumNumber(v) + case genid.EnumDescriptorProto_EnumReservedRange_End_field_number: + r[1] = protoreflect.EnumNumber(v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + return r +} + +func (vd *EnumValue) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) { + vd.L0.ParentFile = pf + vd.L0.Parent = pd + vd.L0.Index = i + + var rawOptions []byte + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.EnumValueDescriptorProto_Number_field_number: + vd.L1.Number = protoreflect.EnumNumber(v) + } + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.EnumValueDescriptorProto_Name_field_number: + // NOTE: Enum values are in the same scope as the enum parent. + vd.L0.FullName = appendFullName(sb, pd.Parent().FullName(), v) + case genid.EnumValueDescriptorProto_Options_field_number: + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + vd.L1.Options = pf.builder.optionsUnmarshaler(&descopts.EnumValue, rawOptions) +} + +func (md *Message) unmarshalFull(b []byte, sb *strs.Builder) { + var rawFields, rawOneofs [][]byte + var enumIdx, messageIdx, extensionIdx int + var rawOptions []byte + md.L2 = new(MessageL2) + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.DescriptorProto_Field_field_number: + rawFields = append(rawFields, v) + case genid.DescriptorProto_OneofDecl_field_number: + rawOneofs = append(rawOneofs, v) + case genid.DescriptorProto_ReservedName_field_number: + md.L2.ReservedNames.List = append(md.L2.ReservedNames.List, protoreflect.Name(sb.MakeString(v))) + case genid.DescriptorProto_ReservedRange_field_number: + md.L2.ReservedRanges.List = append(md.L2.ReservedRanges.List, unmarshalMessageReservedRange(v)) + case genid.DescriptorProto_ExtensionRange_field_number: + r, rawOptions := unmarshalMessageExtensionRange(v) + opts := md.L0.ParentFile.builder.optionsUnmarshaler(&descopts.ExtensionRange, rawOptions) + md.L2.ExtensionRanges.List = append(md.L2.ExtensionRanges.List, r) + md.L2.ExtensionRangeOptions = append(md.L2.ExtensionRangeOptions, opts) + case genid.DescriptorProto_EnumType_field_number: + md.L1.Enums.List[enumIdx].unmarshalFull(v, sb) + enumIdx++ + case genid.DescriptorProto_NestedType_field_number: + md.L1.Messages.List[messageIdx].unmarshalFull(v, sb) + messageIdx++ + case genid.DescriptorProto_Extension_field_number: + md.L1.Extensions.List[extensionIdx].unmarshalFull(v, sb) + extensionIdx++ + case genid.DescriptorProto_Options_field_number: + md.unmarshalOptions(v) + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + if len(rawFields) > 0 || len(rawOneofs) > 0 { + md.L2.Fields.List = make([]Field, len(rawFields)) + md.L2.Oneofs.List = make([]Oneof, len(rawOneofs)) + for i, b := range rawFields { + fd := &md.L2.Fields.List[i] + fd.unmarshalFull(b, sb, md.L0.ParentFile, md, i) + if fd.L1.Cardinality == protoreflect.Required { + md.L2.RequiredNumbers.List = append(md.L2.RequiredNumbers.List, fd.L1.Number) + } + } + for i, b := range rawOneofs { + od := &md.L2.Oneofs.List[i] + od.unmarshalFull(b, sb, md.L0.ParentFile, md, i) + } + } + md.L2.Options = md.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Message, rawOptions) +} + +func (md *Message) unmarshalOptions(b []byte) { + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.MessageOptions_MapEntry_field_number: + md.L1.IsMapEntry = protowire.DecodeBool(v) + case genid.MessageOptions_MessageSetWireFormat_field_number: + md.L1.IsMessageSet = protowire.DecodeBool(v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } +} + +func unmarshalMessageReservedRange(b []byte) (r [2]protoreflect.FieldNumber) { + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.DescriptorProto_ReservedRange_Start_field_number: + r[0] = protoreflect.FieldNumber(v) + case genid.DescriptorProto_ReservedRange_End_field_number: + r[1] = protoreflect.FieldNumber(v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + return r +} + +func unmarshalMessageExtensionRange(b []byte) (r [2]protoreflect.FieldNumber, rawOptions []byte) { + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.DescriptorProto_ExtensionRange_Start_field_number: + r[0] = protoreflect.FieldNumber(v) + case genid.DescriptorProto_ExtensionRange_End_field_number: + r[1] = protoreflect.FieldNumber(v) + } + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.DescriptorProto_ExtensionRange_Options_field_number: + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + return r, rawOptions +} + +func (fd *Field) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) { + fd.L0.ParentFile = pf + fd.L0.Parent = pd + fd.L0.Index = i + + var rawTypeName []byte + var rawOptions []byte + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.FieldDescriptorProto_Number_field_number: + fd.L1.Number = protoreflect.FieldNumber(v) + case genid.FieldDescriptorProto_Label_field_number: + fd.L1.Cardinality = protoreflect.Cardinality(v) + case genid.FieldDescriptorProto_Type_field_number: + fd.L1.Kind = protoreflect.Kind(v) + case genid.FieldDescriptorProto_OneofIndex_field_number: + // In Message.unmarshalFull, we allocate slices for both + // the field and oneof descriptors before unmarshaling either + // of them. This ensures pointers to slice elements are stable. + od := &pd.(*Message).L2.Oneofs.List[v] + od.L1.Fields.List = append(od.L1.Fields.List, fd) + if fd.L1.ContainingOneof != nil { + panic("oneof type already set") + } + fd.L1.ContainingOneof = od + case genid.FieldDescriptorProto_Proto3Optional_field_number: + fd.L1.IsProto3Optional = protowire.DecodeBool(v) + } + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.FieldDescriptorProto_Name_field_number: + fd.L0.FullName = appendFullName(sb, pd.FullName(), v) + case genid.FieldDescriptorProto_JsonName_field_number: + fd.L1.StringName.InitJSON(sb.MakeString(v)) + case genid.FieldDescriptorProto_DefaultValue_field_number: + fd.L1.Default.val = protoreflect.ValueOfBytes(v) // temporarily store as bytes; later resolved in resolveMessages + case genid.FieldDescriptorProto_TypeName_field_number: + rawTypeName = v + case genid.FieldDescriptorProto_Options_field_number: + fd.unmarshalOptions(v) + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + if rawTypeName != nil { + name := makeFullName(sb, rawTypeName) + switch fd.L1.Kind { + case protoreflect.EnumKind: + fd.L1.Enum = PlaceholderEnum(name) + case protoreflect.MessageKind, protoreflect.GroupKind: + fd.L1.Message = PlaceholderMessage(name) + } + } + fd.L1.Options = pf.builder.optionsUnmarshaler(&descopts.Field, rawOptions) +} + +func (fd *Field) unmarshalOptions(b []byte) { + const FieldOptions_EnforceUTF8 = 13 + + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.FieldOptions_Packed_field_number: + fd.L1.HasPacked = true + fd.L1.IsPacked = protowire.DecodeBool(v) + case genid.FieldOptions_Weak_field_number: + fd.L1.IsWeak = protowire.DecodeBool(v) + case FieldOptions_EnforceUTF8: + fd.L1.HasEnforceUTF8 = true + fd.L1.EnforceUTF8 = protowire.DecodeBool(v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } +} + +func (od *Oneof) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) { + od.L0.ParentFile = pf + od.L0.Parent = pd + od.L0.Index = i + + var rawOptions []byte + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.OneofDescriptorProto_Name_field_number: + od.L0.FullName = appendFullName(sb, pd.FullName(), v) + case genid.OneofDescriptorProto_Options_field_number: + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + od.L1.Options = pf.builder.optionsUnmarshaler(&descopts.Oneof, rawOptions) +} + +func (xd *Extension) unmarshalFull(b []byte, sb *strs.Builder) { + var rawTypeName []byte + var rawOptions []byte + xd.L2 = new(ExtensionL2) + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.FieldDescriptorProto_Proto3Optional_field_number: + xd.L2.IsProto3Optional = protowire.DecodeBool(v) + } + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.FieldDescriptorProto_JsonName_field_number: + xd.L2.StringName.InitJSON(sb.MakeString(v)) + case genid.FieldDescriptorProto_DefaultValue_field_number: + xd.L2.Default.val = protoreflect.ValueOfBytes(v) // temporarily store as bytes; later resolved in resolveExtensions + case genid.FieldDescriptorProto_TypeName_field_number: + rawTypeName = v + case genid.FieldDescriptorProto_Options_field_number: + xd.unmarshalOptions(v) + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + if rawTypeName != nil { + name := makeFullName(sb, rawTypeName) + switch xd.L1.Kind { + case protoreflect.EnumKind: + xd.L2.Enum = PlaceholderEnum(name) + case protoreflect.MessageKind, protoreflect.GroupKind: + xd.L2.Message = PlaceholderMessage(name) + } + } + xd.L2.Options = xd.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Field, rawOptions) +} + +func (xd *Extension) unmarshalOptions(b []byte) { + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.FieldOptions_Packed_field_number: + xd.L2.IsPacked = protowire.DecodeBool(v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } +} + +func (sd *Service) unmarshalFull(b []byte, sb *strs.Builder) { + var rawMethods [][]byte + var rawOptions []byte + sd.L2 = new(ServiceL2) + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.ServiceDescriptorProto_Method_field_number: + rawMethods = append(rawMethods, v) + case genid.ServiceDescriptorProto_Options_field_number: + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + if len(rawMethods) > 0 { + sd.L2.Methods.List = make([]Method, len(rawMethods)) + for i, b := range rawMethods { + sd.L2.Methods.List[i].unmarshalFull(b, sb, sd.L0.ParentFile, sd, i) + } + } + sd.L2.Options = sd.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Service, rawOptions) +} + +func (md *Method) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) { + md.L0.ParentFile = pf + md.L0.Parent = pd + md.L0.Index = i + + var rawOptions []byte + for len(b) > 0 { + num, typ, n := protowire.ConsumeTag(b) + b = b[n:] + switch typ { + case protowire.VarintType: + v, m := protowire.ConsumeVarint(b) + b = b[m:] + switch num { + case genid.MethodDescriptorProto_ClientStreaming_field_number: + md.L1.IsStreamingClient = protowire.DecodeBool(v) + case genid.MethodDescriptorProto_ServerStreaming_field_number: + md.L1.IsStreamingServer = protowire.DecodeBool(v) + } + case protowire.BytesType: + v, m := protowire.ConsumeBytes(b) + b = b[m:] + switch num { + case genid.MethodDescriptorProto_Name_field_number: + md.L0.FullName = appendFullName(sb, pd.FullName(), v) + case genid.MethodDescriptorProto_InputType_field_number: + md.L1.Input = PlaceholderMessage(makeFullName(sb, v)) + case genid.MethodDescriptorProto_OutputType_field_number: + md.L1.Output = PlaceholderMessage(makeFullName(sb, v)) + case genid.MethodDescriptorProto_Options_field_number: + rawOptions = appendOptions(rawOptions, v) + } + default: + m := protowire.ConsumeFieldValue(num, typ, b) + b = b[m:] + } + } + md.L1.Options = pf.builder.optionsUnmarshaler(&descopts.Method, rawOptions) +} + +// appendOptions appends src to dst, where the returned slice is never nil. +// This is necessary to distinguish between empty and unpopulated options. +func appendOptions(dst, src []byte) []byte { + if dst == nil { + dst = []byte{} + } + return append(dst, src...) +} + +// optionsUnmarshaler constructs a lazy unmarshal function for an options message. +// +// The type of message to unmarshal to is passed as a pointer since the +// vars in descopts may not yet be populated at the time this function is called. +func (db *Builder) optionsUnmarshaler(p *protoreflect.ProtoMessage, b []byte) func() protoreflect.ProtoMessage { + if b == nil { + return nil + } + var opts protoreflect.ProtoMessage + var once sync.Once + return func() protoreflect.ProtoMessage { + once.Do(func() { + if *p == nil { + panic("Descriptor.Options called without importing the descriptor package") + } + opts = reflect.New(reflect.TypeOf(*p).Elem()).Interface().(protoreflect.ProtoMessage) + if err := (proto.UnmarshalOptions{ + AllowPartial: true, + Resolver: db.TypeResolver, + }).Unmarshal(b, opts); err != nil { + panic(err) + } + }) + return opts + } +} diff --git a/server/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go b/server/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go new file mode 100755 index 0000000..e3b6587 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go @@ -0,0 +1,457 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package filedesc + +import ( + "fmt" + "math" + "sort" + "sync" + + "google.golang.org/protobuf/internal/genid" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/descfmt" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/reflect/protoreflect" +) + +type FileImports []protoreflect.FileImport + +func (p *FileImports) Len() int { return len(*p) } +func (p *FileImports) Get(i int) protoreflect.FileImport { return (*p)[i] } +func (p *FileImports) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) } +func (p *FileImports) ProtoInternal(pragma.DoNotImplement) {} + +type Names struct { + List []protoreflect.Name + once sync.Once + has map[protoreflect.Name]int // protected by once +} + +func (p *Names) Len() int { return len(p.List) } +func (p *Names) Get(i int) protoreflect.Name { return p.List[i] } +func (p *Names) Has(s protoreflect.Name) bool { return p.lazyInit().has[s] > 0 } +func (p *Names) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) } +func (p *Names) ProtoInternal(pragma.DoNotImplement) {} +func (p *Names) lazyInit() *Names { + p.once.Do(func() { + if len(p.List) > 0 { + p.has = make(map[protoreflect.Name]int, len(p.List)) + for _, s := range p.List { + p.has[s] = p.has[s] + 1 + } + } + }) + return p +} + +// CheckValid reports any errors with the set of names with an error message +// that completes the sentence: "ranges is invalid because it has ..." +func (p *Names) CheckValid() error { + for s, n := range p.lazyInit().has { + switch { + case n > 1: + return errors.New("duplicate name: %q", s) + case false && !s.IsValid(): + // NOTE: The C++ implementation does not validate the identifier. + // See https://github.com/protocolbuffers/protobuf/issues/6335. + return errors.New("invalid name: %q", s) + } + } + return nil +} + +type EnumRanges struct { + List [][2]protoreflect.EnumNumber // start inclusive; end inclusive + once sync.Once + sorted [][2]protoreflect.EnumNumber // protected by once +} + +func (p *EnumRanges) Len() int { return len(p.List) } +func (p *EnumRanges) Get(i int) [2]protoreflect.EnumNumber { return p.List[i] } +func (p *EnumRanges) Has(n protoreflect.EnumNumber) bool { + for ls := p.lazyInit().sorted; len(ls) > 0; { + i := len(ls) / 2 + switch r := enumRange(ls[i]); { + case n < r.Start(): + ls = ls[:i] // search lower + case n > r.End(): + ls = ls[i+1:] // search upper + default: + return true + } + } + return false +} +func (p *EnumRanges) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) } +func (p *EnumRanges) ProtoInternal(pragma.DoNotImplement) {} +func (p *EnumRanges) lazyInit() *EnumRanges { + p.once.Do(func() { + p.sorted = append(p.sorted, p.List...) + sort.Slice(p.sorted, func(i, j int) bool { + return p.sorted[i][0] < p.sorted[j][0] + }) + }) + return p +} + +// CheckValid reports any errors with the set of names with an error message +// that completes the sentence: "ranges is invalid because it has ..." +func (p *EnumRanges) CheckValid() error { + var rp enumRange + for i, r := range p.lazyInit().sorted { + r := enumRange(r) + switch { + case !(r.Start() <= r.End()): + return errors.New("invalid range: %v", r) + case !(rp.End() < r.Start()) && i > 0: + return errors.New("overlapping ranges: %v with %v", rp, r) + } + rp = r + } + return nil +} + +type enumRange [2]protoreflect.EnumNumber + +func (r enumRange) Start() protoreflect.EnumNumber { return r[0] } // inclusive +func (r enumRange) End() protoreflect.EnumNumber { return r[1] } // inclusive +func (r enumRange) String() string { + if r.Start() == r.End() { + return fmt.Sprintf("%d", r.Start()) + } + return fmt.Sprintf("%d to %d", r.Start(), r.End()) +} + +type FieldRanges struct { + List [][2]protoreflect.FieldNumber // start inclusive; end exclusive + once sync.Once + sorted [][2]protoreflect.FieldNumber // protected by once +} + +func (p *FieldRanges) Len() int { return len(p.List) } +func (p *FieldRanges) Get(i int) [2]protoreflect.FieldNumber { return p.List[i] } +func (p *FieldRanges) Has(n protoreflect.FieldNumber) bool { + for ls := p.lazyInit().sorted; len(ls) > 0; { + i := len(ls) / 2 + switch r := fieldRange(ls[i]); { + case n < r.Start(): + ls = ls[:i] // search lower + case n > r.End(): + ls = ls[i+1:] // search upper + default: + return true + } + } + return false +} +func (p *FieldRanges) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) } +func (p *FieldRanges) ProtoInternal(pragma.DoNotImplement) {} +func (p *FieldRanges) lazyInit() *FieldRanges { + p.once.Do(func() { + p.sorted = append(p.sorted, p.List...) + sort.Slice(p.sorted, func(i, j int) bool { + return p.sorted[i][0] < p.sorted[j][0] + }) + }) + return p +} + +// CheckValid reports any errors with the set of ranges with an error message +// that completes the sentence: "ranges is invalid because it has ..." +func (p *FieldRanges) CheckValid(isMessageSet bool) error { + var rp fieldRange + for i, r := range p.lazyInit().sorted { + r := fieldRange(r) + switch { + case !isValidFieldNumber(r.Start(), isMessageSet): + return errors.New("invalid field number: %d", r.Start()) + case !isValidFieldNumber(r.End(), isMessageSet): + return errors.New("invalid field number: %d", r.End()) + case !(r.Start() <= r.End()): + return errors.New("invalid range: %v", r) + case !(rp.End() < r.Start()) && i > 0: + return errors.New("overlapping ranges: %v with %v", rp, r) + } + rp = r + } + return nil +} + +// isValidFieldNumber reports whether the field number is valid. +// Unlike the FieldNumber.IsValid method, it allows ranges that cover the +// reserved number range. +func isValidFieldNumber(n protoreflect.FieldNumber, isMessageSet bool) bool { + return protowire.MinValidNumber <= n && (n <= protowire.MaxValidNumber || isMessageSet) +} + +// CheckOverlap reports an error if p and q overlap. +func (p *FieldRanges) CheckOverlap(q *FieldRanges) error { + rps := p.lazyInit().sorted + rqs := q.lazyInit().sorted + for pi, qi := 0, 0; pi < len(rps) && qi < len(rqs); { + rp := fieldRange(rps[pi]) + rq := fieldRange(rqs[qi]) + if !(rp.End() < rq.Start() || rq.End() < rp.Start()) { + return errors.New("overlapping ranges: %v with %v", rp, rq) + } + if rp.Start() < rq.Start() { + pi++ + } else { + qi++ + } + } + return nil +} + +type fieldRange [2]protoreflect.FieldNumber + +func (r fieldRange) Start() protoreflect.FieldNumber { return r[0] } // inclusive +func (r fieldRange) End() protoreflect.FieldNumber { return r[1] - 1 } // inclusive +func (r fieldRange) String() string { + if r.Start() == r.End() { + return fmt.Sprintf("%d", r.Start()) + } + return fmt.Sprintf("%d to %d", r.Start(), r.End()) +} + +type FieldNumbers struct { + List []protoreflect.FieldNumber + once sync.Once + has map[protoreflect.FieldNumber]struct{} // protected by once +} + +func (p *FieldNumbers) Len() int { return len(p.List) } +func (p *FieldNumbers) Get(i int) protoreflect.FieldNumber { return p.List[i] } +func (p *FieldNumbers) Has(n protoreflect.FieldNumber) bool { + p.once.Do(func() { + if len(p.List) > 0 { + p.has = make(map[protoreflect.FieldNumber]struct{}, len(p.List)) + for _, n := range p.List { + p.has[n] = struct{}{} + } + } + }) + _, ok := p.has[n] + return ok +} +func (p *FieldNumbers) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) } +func (p *FieldNumbers) ProtoInternal(pragma.DoNotImplement) {} + +type OneofFields struct { + List []protoreflect.FieldDescriptor + once sync.Once + byName map[protoreflect.Name]protoreflect.FieldDescriptor // protected by once + byJSON map[string]protoreflect.FieldDescriptor // protected by once + byText map[string]protoreflect.FieldDescriptor // protected by once + byNum map[protoreflect.FieldNumber]protoreflect.FieldDescriptor // protected by once +} + +func (p *OneofFields) Len() int { return len(p.List) } +func (p *OneofFields) Get(i int) protoreflect.FieldDescriptor { return p.List[i] } +func (p *OneofFields) ByName(s protoreflect.Name) protoreflect.FieldDescriptor { + return p.lazyInit().byName[s] +} +func (p *OneofFields) ByJSONName(s string) protoreflect.FieldDescriptor { + return p.lazyInit().byJSON[s] +} +func (p *OneofFields) ByTextName(s string) protoreflect.FieldDescriptor { + return p.lazyInit().byText[s] +} +func (p *OneofFields) ByNumber(n protoreflect.FieldNumber) protoreflect.FieldDescriptor { + return p.lazyInit().byNum[n] +} +func (p *OneofFields) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) } +func (p *OneofFields) ProtoInternal(pragma.DoNotImplement) {} + +func (p *OneofFields) lazyInit() *OneofFields { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[protoreflect.Name]protoreflect.FieldDescriptor, len(p.List)) + p.byJSON = make(map[string]protoreflect.FieldDescriptor, len(p.List)) + p.byText = make(map[string]protoreflect.FieldDescriptor, len(p.List)) + p.byNum = make(map[protoreflect.FieldNumber]protoreflect.FieldDescriptor, len(p.List)) + for _, f := range p.List { + // Field names and numbers are guaranteed to be unique. + p.byName[f.Name()] = f + p.byJSON[f.JSONName()] = f + p.byText[f.TextName()] = f + p.byNum[f.Number()] = f + } + } + }) + return p +} + +type SourceLocations struct { + // List is a list of SourceLocations. + // The SourceLocation.Next field does not need to be populated + // as it will be lazily populated upon first need. + List []protoreflect.SourceLocation + + // File is the parent file descriptor that these locations are relative to. + // If non-nil, ByDescriptor verifies that the provided descriptor + // is a child of this file descriptor. + File protoreflect.FileDescriptor + + once sync.Once + byPath map[pathKey]int +} + +func (p *SourceLocations) Len() int { return len(p.List) } +func (p *SourceLocations) Get(i int) protoreflect.SourceLocation { return p.lazyInit().List[i] } +func (p *SourceLocations) byKey(k pathKey) protoreflect.SourceLocation { + if i, ok := p.lazyInit().byPath[k]; ok { + return p.List[i] + } + return protoreflect.SourceLocation{} +} +func (p *SourceLocations) ByPath(path protoreflect.SourcePath) protoreflect.SourceLocation { + return p.byKey(newPathKey(path)) +} +func (p *SourceLocations) ByDescriptor(desc protoreflect.Descriptor) protoreflect.SourceLocation { + if p.File != nil && desc != nil && p.File != desc.ParentFile() { + return protoreflect.SourceLocation{} // mismatching parent files + } + var pathArr [16]int32 + path := pathArr[:0] + for { + switch desc.(type) { + case protoreflect.FileDescriptor: + // Reverse the path since it was constructed in reverse. + for i, j := 0, len(path)-1; i < j; i, j = i+1, j-1 { + path[i], path[j] = path[j], path[i] + } + return p.byKey(newPathKey(path)) + case protoreflect.MessageDescriptor: + path = append(path, int32(desc.Index())) + desc = desc.Parent() + switch desc.(type) { + case protoreflect.FileDescriptor: + path = append(path, int32(genid.FileDescriptorProto_MessageType_field_number)) + case protoreflect.MessageDescriptor: + path = append(path, int32(genid.DescriptorProto_NestedType_field_number)) + default: + return protoreflect.SourceLocation{} + } + case protoreflect.FieldDescriptor: + isExtension := desc.(protoreflect.FieldDescriptor).IsExtension() + path = append(path, int32(desc.Index())) + desc = desc.Parent() + if isExtension { + switch desc.(type) { + case protoreflect.FileDescriptor: + path = append(path, int32(genid.FileDescriptorProto_Extension_field_number)) + case protoreflect.MessageDescriptor: + path = append(path, int32(genid.DescriptorProto_Extension_field_number)) + default: + return protoreflect.SourceLocation{} + } + } else { + switch desc.(type) { + case protoreflect.MessageDescriptor: + path = append(path, int32(genid.DescriptorProto_Field_field_number)) + default: + return protoreflect.SourceLocation{} + } + } + case protoreflect.OneofDescriptor: + path = append(path, int32(desc.Index())) + desc = desc.Parent() + switch desc.(type) { + case protoreflect.MessageDescriptor: + path = append(path, int32(genid.DescriptorProto_OneofDecl_field_number)) + default: + return protoreflect.SourceLocation{} + } + case protoreflect.EnumDescriptor: + path = append(path, int32(desc.Index())) + desc = desc.Parent() + switch desc.(type) { + case protoreflect.FileDescriptor: + path = append(path, int32(genid.FileDescriptorProto_EnumType_field_number)) + case protoreflect.MessageDescriptor: + path = append(path, int32(genid.DescriptorProto_EnumType_field_number)) + default: + return protoreflect.SourceLocation{} + } + case protoreflect.EnumValueDescriptor: + path = append(path, int32(desc.Index())) + desc = desc.Parent() + switch desc.(type) { + case protoreflect.EnumDescriptor: + path = append(path, int32(genid.EnumDescriptorProto_Value_field_number)) + default: + return protoreflect.SourceLocation{} + } + case protoreflect.ServiceDescriptor: + path = append(path, int32(desc.Index())) + desc = desc.Parent() + switch desc.(type) { + case protoreflect.FileDescriptor: + path = append(path, int32(genid.FileDescriptorProto_Service_field_number)) + default: + return protoreflect.SourceLocation{} + } + case protoreflect.MethodDescriptor: + path = append(path, int32(desc.Index())) + desc = desc.Parent() + switch desc.(type) { + case protoreflect.ServiceDescriptor: + path = append(path, int32(genid.ServiceDescriptorProto_Method_field_number)) + default: + return protoreflect.SourceLocation{} + } + default: + return protoreflect.SourceLocation{} + } + } +} +func (p *SourceLocations) lazyInit() *SourceLocations { + p.once.Do(func() { + if len(p.List) > 0 { + // Collect all the indexes for a given path. + pathIdxs := make(map[pathKey][]int, len(p.List)) + for i, l := range p.List { + k := newPathKey(l.Path) + pathIdxs[k] = append(pathIdxs[k], i) + } + + // Update the next index for all locations. + p.byPath = make(map[pathKey]int, len(p.List)) + for k, idxs := range pathIdxs { + for i := 0; i < len(idxs)-1; i++ { + p.List[idxs[i]].Next = idxs[i+1] + } + p.List[idxs[len(idxs)-1]].Next = 0 + p.byPath[k] = idxs[0] // record the first location for this path + } + } + }) + return p +} +func (p *SourceLocations) ProtoInternal(pragma.DoNotImplement) {} + +// pathKey is a comparable representation of protoreflect.SourcePath. +type pathKey struct { + arr [16]uint8 // first n-1 path segments; last element is the length + str string // used if the path does not fit in arr +} + +func newPathKey(p protoreflect.SourcePath) (k pathKey) { + if len(p) < len(k.arr) { + for i, ps := range p { + if ps < 0 || math.MaxUint8 <= ps { + return pathKey{str: p.String()} + } + k.arr[i] = uint8(ps) + } + k.arr[len(k.arr)-1] = uint8(len(p)) + return k + } + return pathKey{str: p.String()} +} diff --git a/server/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go b/server/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go new file mode 100755 index 0000000..30db19f --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go @@ -0,0 +1,356 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-types. DO NOT EDIT. + +package filedesc + +import ( + "fmt" + "sync" + + "google.golang.org/protobuf/internal/descfmt" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/reflect/protoreflect" +) + +type Enums struct { + List []Enum + once sync.Once + byName map[protoreflect.Name]*Enum // protected by once +} + +func (p *Enums) Len() int { + return len(p.List) +} +func (p *Enums) Get(i int) protoreflect.EnumDescriptor { + return &p.List[i] +} +func (p *Enums) ByName(s protoreflect.Name) protoreflect.EnumDescriptor { + if d := p.lazyInit().byName[s]; d != nil { + return d + } + return nil +} +func (p *Enums) Format(s fmt.State, r rune) { + descfmt.FormatList(s, r, p) +} +func (p *Enums) ProtoInternal(pragma.DoNotImplement) {} +func (p *Enums) lazyInit() *Enums { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[protoreflect.Name]*Enum, len(p.List)) + for i := range p.List { + d := &p.List[i] + if _, ok := p.byName[d.Name()]; !ok { + p.byName[d.Name()] = d + } + } + } + }) + return p +} + +type EnumValues struct { + List []EnumValue + once sync.Once + byName map[protoreflect.Name]*EnumValue // protected by once + byNum map[protoreflect.EnumNumber]*EnumValue // protected by once +} + +func (p *EnumValues) Len() int { + return len(p.List) +} +func (p *EnumValues) Get(i int) protoreflect.EnumValueDescriptor { + return &p.List[i] +} +func (p *EnumValues) ByName(s protoreflect.Name) protoreflect.EnumValueDescriptor { + if d := p.lazyInit().byName[s]; d != nil { + return d + } + return nil +} +func (p *EnumValues) ByNumber(n protoreflect.EnumNumber) protoreflect.EnumValueDescriptor { + if d := p.lazyInit().byNum[n]; d != nil { + return d + } + return nil +} +func (p *EnumValues) Format(s fmt.State, r rune) { + descfmt.FormatList(s, r, p) +} +func (p *EnumValues) ProtoInternal(pragma.DoNotImplement) {} +func (p *EnumValues) lazyInit() *EnumValues { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[protoreflect.Name]*EnumValue, len(p.List)) + p.byNum = make(map[protoreflect.EnumNumber]*EnumValue, len(p.List)) + for i := range p.List { + d := &p.List[i] + if _, ok := p.byName[d.Name()]; !ok { + p.byName[d.Name()] = d + } + if _, ok := p.byNum[d.Number()]; !ok { + p.byNum[d.Number()] = d + } + } + } + }) + return p +} + +type Messages struct { + List []Message + once sync.Once + byName map[protoreflect.Name]*Message // protected by once +} + +func (p *Messages) Len() int { + return len(p.List) +} +func (p *Messages) Get(i int) protoreflect.MessageDescriptor { + return &p.List[i] +} +func (p *Messages) ByName(s protoreflect.Name) protoreflect.MessageDescriptor { + if d := p.lazyInit().byName[s]; d != nil { + return d + } + return nil +} +func (p *Messages) Format(s fmt.State, r rune) { + descfmt.FormatList(s, r, p) +} +func (p *Messages) ProtoInternal(pragma.DoNotImplement) {} +func (p *Messages) lazyInit() *Messages { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[protoreflect.Name]*Message, len(p.List)) + for i := range p.List { + d := &p.List[i] + if _, ok := p.byName[d.Name()]; !ok { + p.byName[d.Name()] = d + } + } + } + }) + return p +} + +type Fields struct { + List []Field + once sync.Once + byName map[protoreflect.Name]*Field // protected by once + byJSON map[string]*Field // protected by once + byText map[string]*Field // protected by once + byNum map[protoreflect.FieldNumber]*Field // protected by once +} + +func (p *Fields) Len() int { + return len(p.List) +} +func (p *Fields) Get(i int) protoreflect.FieldDescriptor { + return &p.List[i] +} +func (p *Fields) ByName(s protoreflect.Name) protoreflect.FieldDescriptor { + if d := p.lazyInit().byName[s]; d != nil { + return d + } + return nil +} +func (p *Fields) ByJSONName(s string) protoreflect.FieldDescriptor { + if d := p.lazyInit().byJSON[s]; d != nil { + return d + } + return nil +} +func (p *Fields) ByTextName(s string) protoreflect.FieldDescriptor { + if d := p.lazyInit().byText[s]; d != nil { + return d + } + return nil +} +func (p *Fields) ByNumber(n protoreflect.FieldNumber) protoreflect.FieldDescriptor { + if d := p.lazyInit().byNum[n]; d != nil { + return d + } + return nil +} +func (p *Fields) Format(s fmt.State, r rune) { + descfmt.FormatList(s, r, p) +} +func (p *Fields) ProtoInternal(pragma.DoNotImplement) {} +func (p *Fields) lazyInit() *Fields { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[protoreflect.Name]*Field, len(p.List)) + p.byJSON = make(map[string]*Field, len(p.List)) + p.byText = make(map[string]*Field, len(p.List)) + p.byNum = make(map[protoreflect.FieldNumber]*Field, len(p.List)) + for i := range p.List { + d := &p.List[i] + if _, ok := p.byName[d.Name()]; !ok { + p.byName[d.Name()] = d + } + if _, ok := p.byJSON[d.JSONName()]; !ok { + p.byJSON[d.JSONName()] = d + } + if _, ok := p.byText[d.TextName()]; !ok { + p.byText[d.TextName()] = d + } + if _, ok := p.byNum[d.Number()]; !ok { + p.byNum[d.Number()] = d + } + } + } + }) + return p +} + +type Oneofs struct { + List []Oneof + once sync.Once + byName map[protoreflect.Name]*Oneof // protected by once +} + +func (p *Oneofs) Len() int { + return len(p.List) +} +func (p *Oneofs) Get(i int) protoreflect.OneofDescriptor { + return &p.List[i] +} +func (p *Oneofs) ByName(s protoreflect.Name) protoreflect.OneofDescriptor { + if d := p.lazyInit().byName[s]; d != nil { + return d + } + return nil +} +func (p *Oneofs) Format(s fmt.State, r rune) { + descfmt.FormatList(s, r, p) +} +func (p *Oneofs) ProtoInternal(pragma.DoNotImplement) {} +func (p *Oneofs) lazyInit() *Oneofs { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[protoreflect.Name]*Oneof, len(p.List)) + for i := range p.List { + d := &p.List[i] + if _, ok := p.byName[d.Name()]; !ok { + p.byName[d.Name()] = d + } + } + } + }) + return p +} + +type Extensions struct { + List []Extension + once sync.Once + byName map[protoreflect.Name]*Extension // protected by once +} + +func (p *Extensions) Len() int { + return len(p.List) +} +func (p *Extensions) Get(i int) protoreflect.ExtensionDescriptor { + return &p.List[i] +} +func (p *Extensions) ByName(s protoreflect.Name) protoreflect.ExtensionDescriptor { + if d := p.lazyInit().byName[s]; d != nil { + return d + } + return nil +} +func (p *Extensions) Format(s fmt.State, r rune) { + descfmt.FormatList(s, r, p) +} +func (p *Extensions) ProtoInternal(pragma.DoNotImplement) {} +func (p *Extensions) lazyInit() *Extensions { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[protoreflect.Name]*Extension, len(p.List)) + for i := range p.List { + d := &p.List[i] + if _, ok := p.byName[d.Name()]; !ok { + p.byName[d.Name()] = d + } + } + } + }) + return p +} + +type Services struct { + List []Service + once sync.Once + byName map[protoreflect.Name]*Service // protected by once +} + +func (p *Services) Len() int { + return len(p.List) +} +func (p *Services) Get(i int) protoreflect.ServiceDescriptor { + return &p.List[i] +} +func (p *Services) ByName(s protoreflect.Name) protoreflect.ServiceDescriptor { + if d := p.lazyInit().byName[s]; d != nil { + return d + } + return nil +} +func (p *Services) Format(s fmt.State, r rune) { + descfmt.FormatList(s, r, p) +} +func (p *Services) ProtoInternal(pragma.DoNotImplement) {} +func (p *Services) lazyInit() *Services { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[protoreflect.Name]*Service, len(p.List)) + for i := range p.List { + d := &p.List[i] + if _, ok := p.byName[d.Name()]; !ok { + p.byName[d.Name()] = d + } + } + } + }) + return p +} + +type Methods struct { + List []Method + once sync.Once + byName map[protoreflect.Name]*Method // protected by once +} + +func (p *Methods) Len() int { + return len(p.List) +} +func (p *Methods) Get(i int) protoreflect.MethodDescriptor { + return &p.List[i] +} +func (p *Methods) ByName(s protoreflect.Name) protoreflect.MethodDescriptor { + if d := p.lazyInit().byName[s]; d != nil { + return d + } + return nil +} +func (p *Methods) Format(s fmt.State, r rune) { + descfmt.FormatList(s, r, p) +} +func (p *Methods) ProtoInternal(pragma.DoNotImplement) {} +func (p *Methods) lazyInit() *Methods { + p.once.Do(func() { + if len(p.List) > 0 { + p.byName = make(map[protoreflect.Name]*Method, len(p.List)) + for i := range p.List { + d := &p.List[i] + if _, ok := p.byName[d.Name()]; !ok { + p.byName[d.Name()] = d + } + } + } + }) + return p +} diff --git a/server/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go b/server/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go new file mode 100755 index 0000000..28240eb --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go @@ -0,0 +1,109 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package filedesc + +import ( + "google.golang.org/protobuf/internal/descopts" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/reflect/protoreflect" +) + +var ( + emptyNames = new(Names) + emptyEnumRanges = new(EnumRanges) + emptyFieldRanges = new(FieldRanges) + emptyFieldNumbers = new(FieldNumbers) + emptySourceLocations = new(SourceLocations) + + emptyFiles = new(FileImports) + emptyMessages = new(Messages) + emptyFields = new(Fields) + emptyOneofs = new(Oneofs) + emptyEnums = new(Enums) + emptyEnumValues = new(EnumValues) + emptyExtensions = new(Extensions) + emptyServices = new(Services) +) + +// PlaceholderFile is a placeholder, representing only the file path. +type PlaceholderFile string + +func (f PlaceholderFile) ParentFile() protoreflect.FileDescriptor { return f } +func (f PlaceholderFile) Parent() protoreflect.Descriptor { return nil } +func (f PlaceholderFile) Index() int { return 0 } +func (f PlaceholderFile) Syntax() protoreflect.Syntax { return 0 } +func (f PlaceholderFile) Name() protoreflect.Name { return "" } +func (f PlaceholderFile) FullName() protoreflect.FullName { return "" } +func (f PlaceholderFile) IsPlaceholder() bool { return true } +func (f PlaceholderFile) Options() protoreflect.ProtoMessage { return descopts.File } +func (f PlaceholderFile) Path() string { return string(f) } +func (f PlaceholderFile) Package() protoreflect.FullName { return "" } +func (f PlaceholderFile) Imports() protoreflect.FileImports { return emptyFiles } +func (f PlaceholderFile) Messages() protoreflect.MessageDescriptors { return emptyMessages } +func (f PlaceholderFile) Enums() protoreflect.EnumDescriptors { return emptyEnums } +func (f PlaceholderFile) Extensions() protoreflect.ExtensionDescriptors { return emptyExtensions } +func (f PlaceholderFile) Services() protoreflect.ServiceDescriptors { return emptyServices } +func (f PlaceholderFile) SourceLocations() protoreflect.SourceLocations { return emptySourceLocations } +func (f PlaceholderFile) ProtoType(protoreflect.FileDescriptor) { return } +func (f PlaceholderFile) ProtoInternal(pragma.DoNotImplement) { return } + +// PlaceholderEnum is a placeholder, representing only the full name. +type PlaceholderEnum protoreflect.FullName + +func (e PlaceholderEnum) ParentFile() protoreflect.FileDescriptor { return nil } +func (e PlaceholderEnum) Parent() protoreflect.Descriptor { return nil } +func (e PlaceholderEnum) Index() int { return 0 } +func (e PlaceholderEnum) Syntax() protoreflect.Syntax { return 0 } +func (e PlaceholderEnum) Name() protoreflect.Name { return protoreflect.FullName(e).Name() } +func (e PlaceholderEnum) FullName() protoreflect.FullName { return protoreflect.FullName(e) } +func (e PlaceholderEnum) IsPlaceholder() bool { return true } +func (e PlaceholderEnum) Options() protoreflect.ProtoMessage { return descopts.Enum } +func (e PlaceholderEnum) Values() protoreflect.EnumValueDescriptors { return emptyEnumValues } +func (e PlaceholderEnum) ReservedNames() protoreflect.Names { return emptyNames } +func (e PlaceholderEnum) ReservedRanges() protoreflect.EnumRanges { return emptyEnumRanges } +func (e PlaceholderEnum) ProtoType(protoreflect.EnumDescriptor) { return } +func (e PlaceholderEnum) ProtoInternal(pragma.DoNotImplement) { return } + +// PlaceholderEnumValue is a placeholder, representing only the full name. +type PlaceholderEnumValue protoreflect.FullName + +func (e PlaceholderEnumValue) ParentFile() protoreflect.FileDescriptor { return nil } +func (e PlaceholderEnumValue) Parent() protoreflect.Descriptor { return nil } +func (e PlaceholderEnumValue) Index() int { return 0 } +func (e PlaceholderEnumValue) Syntax() protoreflect.Syntax { return 0 } +func (e PlaceholderEnumValue) Name() protoreflect.Name { return protoreflect.FullName(e).Name() } +func (e PlaceholderEnumValue) FullName() protoreflect.FullName { return protoreflect.FullName(e) } +func (e PlaceholderEnumValue) IsPlaceholder() bool { return true } +func (e PlaceholderEnumValue) Options() protoreflect.ProtoMessage { return descopts.EnumValue } +func (e PlaceholderEnumValue) Number() protoreflect.EnumNumber { return 0 } +func (e PlaceholderEnumValue) ProtoType(protoreflect.EnumValueDescriptor) { return } +func (e PlaceholderEnumValue) ProtoInternal(pragma.DoNotImplement) { return } + +// PlaceholderMessage is a placeholder, representing only the full name. +type PlaceholderMessage protoreflect.FullName + +func (m PlaceholderMessage) ParentFile() protoreflect.FileDescriptor { return nil } +func (m PlaceholderMessage) Parent() protoreflect.Descriptor { return nil } +func (m PlaceholderMessage) Index() int { return 0 } +func (m PlaceholderMessage) Syntax() protoreflect.Syntax { return 0 } +func (m PlaceholderMessage) Name() protoreflect.Name { return protoreflect.FullName(m).Name() } +func (m PlaceholderMessage) FullName() protoreflect.FullName { return protoreflect.FullName(m) } +func (m PlaceholderMessage) IsPlaceholder() bool { return true } +func (m PlaceholderMessage) Options() protoreflect.ProtoMessage { return descopts.Message } +func (m PlaceholderMessage) IsMapEntry() bool { return false } +func (m PlaceholderMessage) Fields() protoreflect.FieldDescriptors { return emptyFields } +func (m PlaceholderMessage) Oneofs() protoreflect.OneofDescriptors { return emptyOneofs } +func (m PlaceholderMessage) ReservedNames() protoreflect.Names { return emptyNames } +func (m PlaceholderMessage) ReservedRanges() protoreflect.FieldRanges { return emptyFieldRanges } +func (m PlaceholderMessage) RequiredNumbers() protoreflect.FieldNumbers { return emptyFieldNumbers } +func (m PlaceholderMessage) ExtensionRanges() protoreflect.FieldRanges { return emptyFieldRanges } +func (m PlaceholderMessage) ExtensionRangeOptions(int) protoreflect.ProtoMessage { + panic("index out of range") +} +func (m PlaceholderMessage) Messages() protoreflect.MessageDescriptors { return emptyMessages } +func (m PlaceholderMessage) Enums() protoreflect.EnumDescriptors { return emptyEnums } +func (m PlaceholderMessage) Extensions() protoreflect.ExtensionDescriptors { return emptyExtensions } +func (m PlaceholderMessage) ProtoType(protoreflect.MessageDescriptor) { return } +func (m PlaceholderMessage) ProtoInternal(pragma.DoNotImplement) { return } diff --git a/server/vendor/google.golang.org/protobuf/internal/filetype/build.go b/server/vendor/google.golang.org/protobuf/internal/filetype/build.go new file mode 100755 index 0000000..f0e38c4 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/filetype/build.go @@ -0,0 +1,296 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package filetype provides functionality for wrapping descriptors +// with Go type information. +package filetype + +import ( + "reflect" + + "google.golang.org/protobuf/internal/descopts" + "google.golang.org/protobuf/internal/filedesc" + pimpl "google.golang.org/protobuf/internal/impl" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +// Builder constructs type descriptors from a raw file descriptor +// and associated Go types for each enum and message declaration. +// +// # Flattened Ordering +// +// The protobuf type system represents declarations as a tree. Certain nodes in +// the tree require us to either associate it with a concrete Go type or to +// resolve a dependency, which is information that must be provided separately +// since it cannot be derived from the file descriptor alone. +// +// However, representing a tree as Go literals is difficult to simply do in a +// space and time efficient way. Thus, we store them as a flattened list of +// objects where the serialization order from the tree-based form is important. +// +// The "flattened ordering" is defined as a tree traversal of all enum, message, +// extension, and service declarations using the following algorithm: +// +// def VisitFileDecls(fd): +// for e in fd.Enums: yield e +// for m in fd.Messages: yield m +// for x in fd.Extensions: yield x +// for s in fd.Services: yield s +// for m in fd.Messages: yield from VisitMessageDecls(m) +// +// def VisitMessageDecls(md): +// for e in md.Enums: yield e +// for m in md.Messages: yield m +// for x in md.Extensions: yield x +// for m in md.Messages: yield from VisitMessageDecls(m) +// +// The traversal starts at the root file descriptor and yields each direct +// declaration within each node before traversing into sub-declarations +// that children themselves may have. +type Builder struct { + // File is the underlying file descriptor builder. + File filedesc.Builder + + // GoTypes is a unique set of the Go types for all declarations and + // dependencies. Each type is represented as a zero value of the Go type. + // + // Declarations are Go types generated for enums and messages directly + // declared (not publicly imported) in the proto source file. + // Messages for map entries are accounted for, but represented by nil. + // Enum declarations in "flattened ordering" come first, followed by + // message declarations in "flattened ordering". + // + // Dependencies are Go types for enums or messages referenced by + // message fields (excluding weak fields), for parent extended messages of + // extension fields, for enums or messages referenced by extension fields, + // and for input and output messages referenced by service methods. + // Dependencies must come after declarations, but the ordering of + // dependencies themselves is unspecified. + GoTypes []interface{} + + // DependencyIndexes is an ordered list of indexes into GoTypes for the + // dependencies of messages, extensions, or services. + // + // There are 5 sub-lists in "flattened ordering" concatenated back-to-back: + // 0. Message field dependencies: list of the enum or message type + // referred to by every message field. + // 1. Extension field targets: list of the extended parent message of + // every extension. + // 2. Extension field dependencies: list of the enum or message type + // referred to by every extension field. + // 3. Service method inputs: list of the input message type + // referred to by every service method. + // 4. Service method outputs: list of the output message type + // referred to by every service method. + // + // The offset into DependencyIndexes for the start of each sub-list + // is appended to the end in reverse order. + DependencyIndexes []int32 + + // EnumInfos is a list of enum infos in "flattened ordering". + EnumInfos []pimpl.EnumInfo + + // MessageInfos is a list of message infos in "flattened ordering". + // If provided, the GoType and PBType for each element is populated. + // + // Requirement: len(MessageInfos) == len(Build.Messages) + MessageInfos []pimpl.MessageInfo + + // ExtensionInfos is a list of extension infos in "flattened ordering". + // Each element is initialized and registered with the protoregistry package. + // + // Requirement: len(LegacyExtensions) == len(Build.Extensions) + ExtensionInfos []pimpl.ExtensionInfo + + // TypeRegistry is the registry to register each type descriptor. + // If nil, it uses protoregistry.GlobalTypes. + TypeRegistry interface { + RegisterMessage(protoreflect.MessageType) error + RegisterEnum(protoreflect.EnumType) error + RegisterExtension(protoreflect.ExtensionType) error + } +} + +// Out is the output of the builder. +type Out struct { + File protoreflect.FileDescriptor +} + +func (tb Builder) Build() (out Out) { + // Replace the resolver with one that resolves dependencies by index, + // which is faster and more reliable than relying on the global registry. + if tb.File.FileRegistry == nil { + tb.File.FileRegistry = protoregistry.GlobalFiles + } + tb.File.FileRegistry = &resolverByIndex{ + goTypes: tb.GoTypes, + depIdxs: tb.DependencyIndexes, + fileRegistry: tb.File.FileRegistry, + } + + // Initialize registry if unpopulated. + if tb.TypeRegistry == nil { + tb.TypeRegistry = protoregistry.GlobalTypes + } + + fbOut := tb.File.Build() + out.File = fbOut.File + + // Process enums. + enumGoTypes := tb.GoTypes[:len(fbOut.Enums)] + if len(tb.EnumInfos) != len(fbOut.Enums) { + panic("mismatching enum lengths") + } + if len(fbOut.Enums) > 0 { + for i := range fbOut.Enums { + tb.EnumInfos[i] = pimpl.EnumInfo{ + GoReflectType: reflect.TypeOf(enumGoTypes[i]), + Desc: &fbOut.Enums[i], + } + // Register enum types. + if err := tb.TypeRegistry.RegisterEnum(&tb.EnumInfos[i]); err != nil { + panic(err) + } + } + } + + // Process messages. + messageGoTypes := tb.GoTypes[len(fbOut.Enums):][:len(fbOut.Messages)] + if len(tb.MessageInfos) != len(fbOut.Messages) { + panic("mismatching message lengths") + } + if len(fbOut.Messages) > 0 { + for i := range fbOut.Messages { + if messageGoTypes[i] == nil { + continue // skip map entry + } + + tb.MessageInfos[i].GoReflectType = reflect.TypeOf(messageGoTypes[i]) + tb.MessageInfos[i].Desc = &fbOut.Messages[i] + + // Register message types. + if err := tb.TypeRegistry.RegisterMessage(&tb.MessageInfos[i]); err != nil { + panic(err) + } + } + + // As a special-case for descriptor.proto, + // locally register concrete message type for the options. + if out.File.Path() == "google/protobuf/descriptor.proto" && out.File.Package() == "google.protobuf" { + for i := range fbOut.Messages { + switch fbOut.Messages[i].Name() { + case "FileOptions": + descopts.File = messageGoTypes[i].(protoreflect.ProtoMessage) + case "EnumOptions": + descopts.Enum = messageGoTypes[i].(protoreflect.ProtoMessage) + case "EnumValueOptions": + descopts.EnumValue = messageGoTypes[i].(protoreflect.ProtoMessage) + case "MessageOptions": + descopts.Message = messageGoTypes[i].(protoreflect.ProtoMessage) + case "FieldOptions": + descopts.Field = messageGoTypes[i].(protoreflect.ProtoMessage) + case "OneofOptions": + descopts.Oneof = messageGoTypes[i].(protoreflect.ProtoMessage) + case "ExtensionRangeOptions": + descopts.ExtensionRange = messageGoTypes[i].(protoreflect.ProtoMessage) + case "ServiceOptions": + descopts.Service = messageGoTypes[i].(protoreflect.ProtoMessage) + case "MethodOptions": + descopts.Method = messageGoTypes[i].(protoreflect.ProtoMessage) + } + } + } + } + + // Process extensions. + if len(tb.ExtensionInfos) != len(fbOut.Extensions) { + panic("mismatching extension lengths") + } + var depIdx int32 + for i := range fbOut.Extensions { + // For enum and message kinds, determine the referent Go type so + // that we can construct their constructors. + const listExtDeps = 2 + var goType reflect.Type + switch fbOut.Extensions[i].L1.Kind { + case protoreflect.EnumKind: + j := depIdxs.Get(tb.DependencyIndexes, listExtDeps, depIdx) + goType = reflect.TypeOf(tb.GoTypes[j]) + depIdx++ + case protoreflect.MessageKind, protoreflect.GroupKind: + j := depIdxs.Get(tb.DependencyIndexes, listExtDeps, depIdx) + goType = reflect.TypeOf(tb.GoTypes[j]) + depIdx++ + default: + goType = goTypeForPBKind[fbOut.Extensions[i].L1.Kind] + } + if fbOut.Extensions[i].IsList() { + goType = reflect.SliceOf(goType) + } + + pimpl.InitExtensionInfo(&tb.ExtensionInfos[i], &fbOut.Extensions[i], goType) + + // Register extension types. + if err := tb.TypeRegistry.RegisterExtension(&tb.ExtensionInfos[i]); err != nil { + panic(err) + } + } + + return out +} + +var goTypeForPBKind = map[protoreflect.Kind]reflect.Type{ + protoreflect.BoolKind: reflect.TypeOf(bool(false)), + protoreflect.Int32Kind: reflect.TypeOf(int32(0)), + protoreflect.Sint32Kind: reflect.TypeOf(int32(0)), + protoreflect.Sfixed32Kind: reflect.TypeOf(int32(0)), + protoreflect.Int64Kind: reflect.TypeOf(int64(0)), + protoreflect.Sint64Kind: reflect.TypeOf(int64(0)), + protoreflect.Sfixed64Kind: reflect.TypeOf(int64(0)), + protoreflect.Uint32Kind: reflect.TypeOf(uint32(0)), + protoreflect.Fixed32Kind: reflect.TypeOf(uint32(0)), + protoreflect.Uint64Kind: reflect.TypeOf(uint64(0)), + protoreflect.Fixed64Kind: reflect.TypeOf(uint64(0)), + protoreflect.FloatKind: reflect.TypeOf(float32(0)), + protoreflect.DoubleKind: reflect.TypeOf(float64(0)), + protoreflect.StringKind: reflect.TypeOf(string("")), + protoreflect.BytesKind: reflect.TypeOf([]byte(nil)), +} + +type depIdxs []int32 + +// Get retrieves the jth element of the ith sub-list. +func (x depIdxs) Get(i, j int32) int32 { + return x[x[int32(len(x))-i-1]+j] +} + +type ( + resolverByIndex struct { + goTypes []interface{} + depIdxs depIdxs + fileRegistry + } + fileRegistry interface { + FindFileByPath(string) (protoreflect.FileDescriptor, error) + FindDescriptorByName(protoreflect.FullName) (protoreflect.Descriptor, error) + RegisterFile(protoreflect.FileDescriptor) error + } +) + +func (r *resolverByIndex) FindEnumByIndex(i, j int32, es []filedesc.Enum, ms []filedesc.Message) protoreflect.EnumDescriptor { + if depIdx := int(r.depIdxs.Get(i, j)); int(depIdx) < len(es)+len(ms) { + return &es[depIdx] + } else { + return pimpl.Export{}.EnumDescriptorOf(r.goTypes[depIdx]) + } +} + +func (r *resolverByIndex) FindMessageByIndex(i, j int32, es []filedesc.Enum, ms []filedesc.Message) protoreflect.MessageDescriptor { + if depIdx := int(r.depIdxs.Get(i, j)); depIdx < len(es)+len(ms) { + return &ms[depIdx-len(es)] + } else { + return pimpl.Export{}.MessageDescriptorOf(r.goTypes[depIdx]) + } +} diff --git a/server/vendor/google.golang.org/protobuf/internal/flags/flags.go b/server/vendor/google.golang.org/protobuf/internal/flags/flags.go new file mode 100755 index 0000000..58372dd --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/flags/flags.go @@ -0,0 +1,24 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package flags provides a set of flags controlled by build tags. +package flags + +// ProtoLegacy specifies whether to enable support for legacy functionality +// such as MessageSets, weak fields, and various other obscure behavior +// that is necessary to maintain backwards compatibility with proto1 or +// the pre-release variants of proto2 and proto3. +// +// This is disabled by default unless built with the "protolegacy" tag. +// +// WARNING: The compatibility agreement covers nothing provided by this flag. +// As such, functionality may suddenly be removed or changed at our discretion. +const ProtoLegacy = protoLegacy + +// LazyUnmarshalExtensions specifies whether to lazily unmarshal extensions. +// +// Lazy extension unmarshaling validates the contents of message-valued +// extension fields at unmarshal time, but defers creating the message +// structure until the extension is first accessed. +const LazyUnmarshalExtensions = ProtoLegacy diff --git a/server/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go b/server/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go new file mode 100755 index 0000000..bda8e8c --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go @@ -0,0 +1,10 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !protolegacy +// +build !protolegacy + +package flags + +const protoLegacy = false diff --git a/server/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go b/server/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go new file mode 100755 index 0000000..6d8d9bd --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go @@ -0,0 +1,10 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build protolegacy +// +build protolegacy + +package flags + +const protoLegacy = true diff --git a/server/vendor/google.golang.org/protobuf/internal/genid/any_gen.go b/server/vendor/google.golang.org/protobuf/internal/genid/any_gen.go new file mode 100755 index 0000000..e6f7d47 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/genid/any_gen.go @@ -0,0 +1,34 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_any_proto = "google/protobuf/any.proto" + +// Names for google.protobuf.Any. +const ( + Any_message_name protoreflect.Name = "Any" + Any_message_fullname protoreflect.FullName = "google.protobuf.Any" +) + +// Field names for google.protobuf.Any. +const ( + Any_TypeUrl_field_name protoreflect.Name = "type_url" + Any_Value_field_name protoreflect.Name = "value" + + Any_TypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Any.type_url" + Any_Value_field_fullname protoreflect.FullName = "google.protobuf.Any.value" +) + +// Field numbers for google.protobuf.Any. +const ( + Any_TypeUrl_field_number protoreflect.FieldNumber = 1 + Any_Value_field_number protoreflect.FieldNumber = 2 +) diff --git a/server/vendor/google.golang.org/protobuf/internal/genid/api_gen.go b/server/vendor/google.golang.org/protobuf/internal/genid/api_gen.go new file mode 100755 index 0000000..df8f918 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/genid/api_gen.go @@ -0,0 +1,106 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_api_proto = "google/protobuf/api.proto" + +// Names for google.protobuf.Api. +const ( + Api_message_name protoreflect.Name = "Api" + Api_message_fullname protoreflect.FullName = "google.protobuf.Api" +) + +// Field names for google.protobuf.Api. +const ( + Api_Name_field_name protoreflect.Name = "name" + Api_Methods_field_name protoreflect.Name = "methods" + Api_Options_field_name protoreflect.Name = "options" + Api_Version_field_name protoreflect.Name = "version" + Api_SourceContext_field_name protoreflect.Name = "source_context" + Api_Mixins_field_name protoreflect.Name = "mixins" + Api_Syntax_field_name protoreflect.Name = "syntax" + + Api_Name_field_fullname protoreflect.FullName = "google.protobuf.Api.name" + Api_Methods_field_fullname protoreflect.FullName = "google.protobuf.Api.methods" + Api_Options_field_fullname protoreflect.FullName = "google.protobuf.Api.options" + Api_Version_field_fullname protoreflect.FullName = "google.protobuf.Api.version" + Api_SourceContext_field_fullname protoreflect.FullName = "google.protobuf.Api.source_context" + Api_Mixins_field_fullname protoreflect.FullName = "google.protobuf.Api.mixins" + Api_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Api.syntax" +) + +// Field numbers for google.protobuf.Api. +const ( + Api_Name_field_number protoreflect.FieldNumber = 1 + Api_Methods_field_number protoreflect.FieldNumber = 2 + Api_Options_field_number protoreflect.FieldNumber = 3 + Api_Version_field_number protoreflect.FieldNumber = 4 + Api_SourceContext_field_number protoreflect.FieldNumber = 5 + Api_Mixins_field_number protoreflect.FieldNumber = 6 + Api_Syntax_field_number protoreflect.FieldNumber = 7 +) + +// Names for google.protobuf.Method. +const ( + Method_message_name protoreflect.Name = "Method" + Method_message_fullname protoreflect.FullName = "google.protobuf.Method" +) + +// Field names for google.protobuf.Method. +const ( + Method_Name_field_name protoreflect.Name = "name" + Method_RequestTypeUrl_field_name protoreflect.Name = "request_type_url" + Method_RequestStreaming_field_name protoreflect.Name = "request_streaming" + Method_ResponseTypeUrl_field_name protoreflect.Name = "response_type_url" + Method_ResponseStreaming_field_name protoreflect.Name = "response_streaming" + Method_Options_field_name protoreflect.Name = "options" + Method_Syntax_field_name protoreflect.Name = "syntax" + + Method_Name_field_fullname protoreflect.FullName = "google.protobuf.Method.name" + Method_RequestTypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Method.request_type_url" + Method_RequestStreaming_field_fullname protoreflect.FullName = "google.protobuf.Method.request_streaming" + Method_ResponseTypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Method.response_type_url" + Method_ResponseStreaming_field_fullname protoreflect.FullName = "google.protobuf.Method.response_streaming" + Method_Options_field_fullname protoreflect.FullName = "google.protobuf.Method.options" + Method_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Method.syntax" +) + +// Field numbers for google.protobuf.Method. +const ( + Method_Name_field_number protoreflect.FieldNumber = 1 + Method_RequestTypeUrl_field_number protoreflect.FieldNumber = 2 + Method_RequestStreaming_field_number protoreflect.FieldNumber = 3 + Method_ResponseTypeUrl_field_number protoreflect.FieldNumber = 4 + Method_ResponseStreaming_field_number protoreflect.FieldNumber = 5 + Method_Options_field_number protoreflect.FieldNumber = 6 + Method_Syntax_field_number protoreflect.FieldNumber = 7 +) + +// Names for google.protobuf.Mixin. +const ( + Mixin_message_name protoreflect.Name = "Mixin" + Mixin_message_fullname protoreflect.FullName = "google.protobuf.Mixin" +) + +// Field names for google.protobuf.Mixin. +const ( + Mixin_Name_field_name protoreflect.Name = "name" + Mixin_Root_field_name protoreflect.Name = "root" + + Mixin_Name_field_fullname protoreflect.FullName = "google.protobuf.Mixin.name" + Mixin_Root_field_fullname protoreflect.FullName = "google.protobuf.Mixin.root" +) + +// Field numbers for google.protobuf.Mixin. +const ( + Mixin_Name_field_number protoreflect.FieldNumber = 1 + Mixin_Root_field_number protoreflect.FieldNumber = 2 +) diff --git a/server/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go b/server/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go new file mode 100755 index 0000000..136f1b2 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go @@ -0,0 +1,919 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_descriptor_proto = "google/protobuf/descriptor.proto" + +// Names for google.protobuf.FileDescriptorSet. +const ( + FileDescriptorSet_message_name protoreflect.Name = "FileDescriptorSet" + FileDescriptorSet_message_fullname protoreflect.FullName = "google.protobuf.FileDescriptorSet" +) + +// Field names for google.protobuf.FileDescriptorSet. +const ( + FileDescriptorSet_File_field_name protoreflect.Name = "file" + + FileDescriptorSet_File_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorSet.file" +) + +// Field numbers for google.protobuf.FileDescriptorSet. +const ( + FileDescriptorSet_File_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.FileDescriptorProto. +const ( + FileDescriptorProto_message_name protoreflect.Name = "FileDescriptorProto" + FileDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto" +) + +// Field names for google.protobuf.FileDescriptorProto. +const ( + FileDescriptorProto_Name_field_name protoreflect.Name = "name" + FileDescriptorProto_Package_field_name protoreflect.Name = "package" + FileDescriptorProto_Dependency_field_name protoreflect.Name = "dependency" + FileDescriptorProto_PublicDependency_field_name protoreflect.Name = "public_dependency" + FileDescriptorProto_WeakDependency_field_name protoreflect.Name = "weak_dependency" + FileDescriptorProto_MessageType_field_name protoreflect.Name = "message_type" + FileDescriptorProto_EnumType_field_name protoreflect.Name = "enum_type" + FileDescriptorProto_Service_field_name protoreflect.Name = "service" + FileDescriptorProto_Extension_field_name protoreflect.Name = "extension" + FileDescriptorProto_Options_field_name protoreflect.Name = "options" + FileDescriptorProto_SourceCodeInfo_field_name protoreflect.Name = "source_code_info" + FileDescriptorProto_Syntax_field_name protoreflect.Name = "syntax" + FileDescriptorProto_Edition_field_name protoreflect.Name = "edition" + + FileDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.name" + FileDescriptorProto_Package_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.package" + FileDescriptorProto_Dependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.dependency" + FileDescriptorProto_PublicDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.public_dependency" + FileDescriptorProto_WeakDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.weak_dependency" + FileDescriptorProto_MessageType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.message_type" + FileDescriptorProto_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.enum_type" + FileDescriptorProto_Service_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.service" + FileDescriptorProto_Extension_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.extension" + FileDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.options" + FileDescriptorProto_SourceCodeInfo_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.source_code_info" + FileDescriptorProto_Syntax_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.syntax" + FileDescriptorProto_Edition_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.edition" +) + +// Field numbers for google.protobuf.FileDescriptorProto. +const ( + FileDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + FileDescriptorProto_Package_field_number protoreflect.FieldNumber = 2 + FileDescriptorProto_Dependency_field_number protoreflect.FieldNumber = 3 + FileDescriptorProto_PublicDependency_field_number protoreflect.FieldNumber = 10 + FileDescriptorProto_WeakDependency_field_number protoreflect.FieldNumber = 11 + FileDescriptorProto_MessageType_field_number protoreflect.FieldNumber = 4 + FileDescriptorProto_EnumType_field_number protoreflect.FieldNumber = 5 + FileDescriptorProto_Service_field_number protoreflect.FieldNumber = 6 + FileDescriptorProto_Extension_field_number protoreflect.FieldNumber = 7 + FileDescriptorProto_Options_field_number protoreflect.FieldNumber = 8 + FileDescriptorProto_SourceCodeInfo_field_number protoreflect.FieldNumber = 9 + FileDescriptorProto_Syntax_field_number protoreflect.FieldNumber = 12 + FileDescriptorProto_Edition_field_number protoreflect.FieldNumber = 13 +) + +// Names for google.protobuf.DescriptorProto. +const ( + DescriptorProto_message_name protoreflect.Name = "DescriptorProto" + DescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.DescriptorProto" +) + +// Field names for google.protobuf.DescriptorProto. +const ( + DescriptorProto_Name_field_name protoreflect.Name = "name" + DescriptorProto_Field_field_name protoreflect.Name = "field" + DescriptorProto_Extension_field_name protoreflect.Name = "extension" + DescriptorProto_NestedType_field_name protoreflect.Name = "nested_type" + DescriptorProto_EnumType_field_name protoreflect.Name = "enum_type" + DescriptorProto_ExtensionRange_field_name protoreflect.Name = "extension_range" + DescriptorProto_OneofDecl_field_name protoreflect.Name = "oneof_decl" + DescriptorProto_Options_field_name protoreflect.Name = "options" + DescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range" + DescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name" + + DescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.name" + DescriptorProto_Field_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.field" + DescriptorProto_Extension_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.extension" + DescriptorProto_NestedType_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.nested_type" + DescriptorProto_EnumType_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.enum_type" + DescriptorProto_ExtensionRange_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.extension_range" + DescriptorProto_OneofDecl_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.oneof_decl" + DescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.options" + DescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_range" + DescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_name" +) + +// Field numbers for google.protobuf.DescriptorProto. +const ( + DescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + DescriptorProto_Field_field_number protoreflect.FieldNumber = 2 + DescriptorProto_Extension_field_number protoreflect.FieldNumber = 6 + DescriptorProto_NestedType_field_number protoreflect.FieldNumber = 3 + DescriptorProto_EnumType_field_number protoreflect.FieldNumber = 4 + DescriptorProto_ExtensionRange_field_number protoreflect.FieldNumber = 5 + DescriptorProto_OneofDecl_field_number protoreflect.FieldNumber = 8 + DescriptorProto_Options_field_number protoreflect.FieldNumber = 7 + DescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 9 + DescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 10 +) + +// Names for google.protobuf.DescriptorProto.ExtensionRange. +const ( + DescriptorProto_ExtensionRange_message_name protoreflect.Name = "ExtensionRange" + DescriptorProto_ExtensionRange_message_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange" +) + +// Field names for google.protobuf.DescriptorProto.ExtensionRange. +const ( + DescriptorProto_ExtensionRange_Start_field_name protoreflect.Name = "start" + DescriptorProto_ExtensionRange_End_field_name protoreflect.Name = "end" + DescriptorProto_ExtensionRange_Options_field_name protoreflect.Name = "options" + + DescriptorProto_ExtensionRange_Start_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange.start" + DescriptorProto_ExtensionRange_End_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange.end" + DescriptorProto_ExtensionRange_Options_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange.options" +) + +// Field numbers for google.protobuf.DescriptorProto.ExtensionRange. +const ( + DescriptorProto_ExtensionRange_Start_field_number protoreflect.FieldNumber = 1 + DescriptorProto_ExtensionRange_End_field_number protoreflect.FieldNumber = 2 + DescriptorProto_ExtensionRange_Options_field_number protoreflect.FieldNumber = 3 +) + +// Names for google.protobuf.DescriptorProto.ReservedRange. +const ( + DescriptorProto_ReservedRange_message_name protoreflect.Name = "ReservedRange" + DescriptorProto_ReservedRange_message_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ReservedRange" +) + +// Field names for google.protobuf.DescriptorProto.ReservedRange. +const ( + DescriptorProto_ReservedRange_Start_field_name protoreflect.Name = "start" + DescriptorProto_ReservedRange_End_field_name protoreflect.Name = "end" + + DescriptorProto_ReservedRange_Start_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ReservedRange.start" + DescriptorProto_ReservedRange_End_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ReservedRange.end" +) + +// Field numbers for google.protobuf.DescriptorProto.ReservedRange. +const ( + DescriptorProto_ReservedRange_Start_field_number protoreflect.FieldNumber = 1 + DescriptorProto_ReservedRange_End_field_number protoreflect.FieldNumber = 2 +) + +// Names for google.protobuf.ExtensionRangeOptions. +const ( + ExtensionRangeOptions_message_name protoreflect.Name = "ExtensionRangeOptions" + ExtensionRangeOptions_message_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions" +) + +// Field names for google.protobuf.ExtensionRangeOptions. +const ( + ExtensionRangeOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + ExtensionRangeOptions_Declaration_field_name protoreflect.Name = "declaration" + ExtensionRangeOptions_Verification_field_name protoreflect.Name = "verification" + + ExtensionRangeOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.uninterpreted_option" + ExtensionRangeOptions_Declaration_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.declaration" + ExtensionRangeOptions_Verification_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.verification" +) + +// Field numbers for google.protobuf.ExtensionRangeOptions. +const ( + ExtensionRangeOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 + ExtensionRangeOptions_Declaration_field_number protoreflect.FieldNumber = 2 + ExtensionRangeOptions_Verification_field_number protoreflect.FieldNumber = 3 +) + +// Full and short names for google.protobuf.ExtensionRangeOptions.VerificationState. +const ( + ExtensionRangeOptions_VerificationState_enum_fullname = "google.protobuf.ExtensionRangeOptions.VerificationState" + ExtensionRangeOptions_VerificationState_enum_name = "VerificationState" +) + +// Names for google.protobuf.ExtensionRangeOptions.Declaration. +const ( + ExtensionRangeOptions_Declaration_message_name protoreflect.Name = "Declaration" + ExtensionRangeOptions_Declaration_message_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration" +) + +// Field names for google.protobuf.ExtensionRangeOptions.Declaration. +const ( + ExtensionRangeOptions_Declaration_Number_field_name protoreflect.Name = "number" + ExtensionRangeOptions_Declaration_FullName_field_name protoreflect.Name = "full_name" + ExtensionRangeOptions_Declaration_Type_field_name protoreflect.Name = "type" + ExtensionRangeOptions_Declaration_IsRepeated_field_name protoreflect.Name = "is_repeated" + ExtensionRangeOptions_Declaration_Reserved_field_name protoreflect.Name = "reserved" + ExtensionRangeOptions_Declaration_Repeated_field_name protoreflect.Name = "repeated" + + ExtensionRangeOptions_Declaration_Number_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.number" + ExtensionRangeOptions_Declaration_FullName_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.full_name" + ExtensionRangeOptions_Declaration_Type_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.type" + ExtensionRangeOptions_Declaration_IsRepeated_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.is_repeated" + ExtensionRangeOptions_Declaration_Reserved_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.reserved" + ExtensionRangeOptions_Declaration_Repeated_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.repeated" +) + +// Field numbers for google.protobuf.ExtensionRangeOptions.Declaration. +const ( + ExtensionRangeOptions_Declaration_Number_field_number protoreflect.FieldNumber = 1 + ExtensionRangeOptions_Declaration_FullName_field_number protoreflect.FieldNumber = 2 + ExtensionRangeOptions_Declaration_Type_field_number protoreflect.FieldNumber = 3 + ExtensionRangeOptions_Declaration_IsRepeated_field_number protoreflect.FieldNumber = 4 + ExtensionRangeOptions_Declaration_Reserved_field_number protoreflect.FieldNumber = 5 + ExtensionRangeOptions_Declaration_Repeated_field_number protoreflect.FieldNumber = 6 +) + +// Names for google.protobuf.FieldDescriptorProto. +const ( + FieldDescriptorProto_message_name protoreflect.Name = "FieldDescriptorProto" + FieldDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto" +) + +// Field names for google.protobuf.FieldDescriptorProto. +const ( + FieldDescriptorProto_Name_field_name protoreflect.Name = "name" + FieldDescriptorProto_Number_field_name protoreflect.Name = "number" + FieldDescriptorProto_Label_field_name protoreflect.Name = "label" + FieldDescriptorProto_Type_field_name protoreflect.Name = "type" + FieldDescriptorProto_TypeName_field_name protoreflect.Name = "type_name" + FieldDescriptorProto_Extendee_field_name protoreflect.Name = "extendee" + FieldDescriptorProto_DefaultValue_field_name protoreflect.Name = "default_value" + FieldDescriptorProto_OneofIndex_field_name protoreflect.Name = "oneof_index" + FieldDescriptorProto_JsonName_field_name protoreflect.Name = "json_name" + FieldDescriptorProto_Options_field_name protoreflect.Name = "options" + FieldDescriptorProto_Proto3Optional_field_name protoreflect.Name = "proto3_optional" + + FieldDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.name" + FieldDescriptorProto_Number_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.number" + FieldDescriptorProto_Label_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.label" + FieldDescriptorProto_Type_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.type" + FieldDescriptorProto_TypeName_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.type_name" + FieldDescriptorProto_Extendee_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.extendee" + FieldDescriptorProto_DefaultValue_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.default_value" + FieldDescriptorProto_OneofIndex_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.oneof_index" + FieldDescriptorProto_JsonName_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.json_name" + FieldDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.options" + FieldDescriptorProto_Proto3Optional_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.proto3_optional" +) + +// Field numbers for google.protobuf.FieldDescriptorProto. +const ( + FieldDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + FieldDescriptorProto_Number_field_number protoreflect.FieldNumber = 3 + FieldDescriptorProto_Label_field_number protoreflect.FieldNumber = 4 + FieldDescriptorProto_Type_field_number protoreflect.FieldNumber = 5 + FieldDescriptorProto_TypeName_field_number protoreflect.FieldNumber = 6 + FieldDescriptorProto_Extendee_field_number protoreflect.FieldNumber = 2 + FieldDescriptorProto_DefaultValue_field_number protoreflect.FieldNumber = 7 + FieldDescriptorProto_OneofIndex_field_number protoreflect.FieldNumber = 9 + FieldDescriptorProto_JsonName_field_number protoreflect.FieldNumber = 10 + FieldDescriptorProto_Options_field_number protoreflect.FieldNumber = 8 + FieldDescriptorProto_Proto3Optional_field_number protoreflect.FieldNumber = 17 +) + +// Full and short names for google.protobuf.FieldDescriptorProto.Type. +const ( + FieldDescriptorProto_Type_enum_fullname = "google.protobuf.FieldDescriptorProto.Type" + FieldDescriptorProto_Type_enum_name = "Type" +) + +// Full and short names for google.protobuf.FieldDescriptorProto.Label. +const ( + FieldDescriptorProto_Label_enum_fullname = "google.protobuf.FieldDescriptorProto.Label" + FieldDescriptorProto_Label_enum_name = "Label" +) + +// Names for google.protobuf.OneofDescriptorProto. +const ( + OneofDescriptorProto_message_name protoreflect.Name = "OneofDescriptorProto" + OneofDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.OneofDescriptorProto" +) + +// Field names for google.protobuf.OneofDescriptorProto. +const ( + OneofDescriptorProto_Name_field_name protoreflect.Name = "name" + OneofDescriptorProto_Options_field_name protoreflect.Name = "options" + + OneofDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.OneofDescriptorProto.name" + OneofDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.OneofDescriptorProto.options" +) + +// Field numbers for google.protobuf.OneofDescriptorProto. +const ( + OneofDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + OneofDescriptorProto_Options_field_number protoreflect.FieldNumber = 2 +) + +// Names for google.protobuf.EnumDescriptorProto. +const ( + EnumDescriptorProto_message_name protoreflect.Name = "EnumDescriptorProto" + EnumDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto" +) + +// Field names for google.protobuf.EnumDescriptorProto. +const ( + EnumDescriptorProto_Name_field_name protoreflect.Name = "name" + EnumDescriptorProto_Value_field_name protoreflect.Name = "value" + EnumDescriptorProto_Options_field_name protoreflect.Name = "options" + EnumDescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range" + EnumDescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name" + + EnumDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.name" + EnumDescriptorProto_Value_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.value" + EnumDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.options" + EnumDescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_range" + EnumDescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_name" +) + +// Field numbers for google.protobuf.EnumDescriptorProto. +const ( + EnumDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + EnumDescriptorProto_Value_field_number protoreflect.FieldNumber = 2 + EnumDescriptorProto_Options_field_number protoreflect.FieldNumber = 3 + EnumDescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 4 + EnumDescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 5 +) + +// Names for google.protobuf.EnumDescriptorProto.EnumReservedRange. +const ( + EnumDescriptorProto_EnumReservedRange_message_name protoreflect.Name = "EnumReservedRange" + EnumDescriptorProto_EnumReservedRange_message_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.EnumReservedRange" +) + +// Field names for google.protobuf.EnumDescriptorProto.EnumReservedRange. +const ( + EnumDescriptorProto_EnumReservedRange_Start_field_name protoreflect.Name = "start" + EnumDescriptorProto_EnumReservedRange_End_field_name protoreflect.Name = "end" + + EnumDescriptorProto_EnumReservedRange_Start_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.EnumReservedRange.start" + EnumDescriptorProto_EnumReservedRange_End_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.EnumReservedRange.end" +) + +// Field numbers for google.protobuf.EnumDescriptorProto.EnumReservedRange. +const ( + EnumDescriptorProto_EnumReservedRange_Start_field_number protoreflect.FieldNumber = 1 + EnumDescriptorProto_EnumReservedRange_End_field_number protoreflect.FieldNumber = 2 +) + +// Names for google.protobuf.EnumValueDescriptorProto. +const ( + EnumValueDescriptorProto_message_name protoreflect.Name = "EnumValueDescriptorProto" + EnumValueDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto" +) + +// Field names for google.protobuf.EnumValueDescriptorProto. +const ( + EnumValueDescriptorProto_Name_field_name protoreflect.Name = "name" + EnumValueDescriptorProto_Number_field_name protoreflect.Name = "number" + EnumValueDescriptorProto_Options_field_name protoreflect.Name = "options" + + EnumValueDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto.name" + EnumValueDescriptorProto_Number_field_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto.number" + EnumValueDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto.options" +) + +// Field numbers for google.protobuf.EnumValueDescriptorProto. +const ( + EnumValueDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + EnumValueDescriptorProto_Number_field_number protoreflect.FieldNumber = 2 + EnumValueDescriptorProto_Options_field_number protoreflect.FieldNumber = 3 +) + +// Names for google.protobuf.ServiceDescriptorProto. +const ( + ServiceDescriptorProto_message_name protoreflect.Name = "ServiceDescriptorProto" + ServiceDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto" +) + +// Field names for google.protobuf.ServiceDescriptorProto. +const ( + ServiceDescriptorProto_Name_field_name protoreflect.Name = "name" + ServiceDescriptorProto_Method_field_name protoreflect.Name = "method" + ServiceDescriptorProto_Options_field_name protoreflect.Name = "options" + + ServiceDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto.name" + ServiceDescriptorProto_Method_field_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto.method" + ServiceDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto.options" +) + +// Field numbers for google.protobuf.ServiceDescriptorProto. +const ( + ServiceDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + ServiceDescriptorProto_Method_field_number protoreflect.FieldNumber = 2 + ServiceDescriptorProto_Options_field_number protoreflect.FieldNumber = 3 +) + +// Names for google.protobuf.MethodDescriptorProto. +const ( + MethodDescriptorProto_message_name protoreflect.Name = "MethodDescriptorProto" + MethodDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto" +) + +// Field names for google.protobuf.MethodDescriptorProto. +const ( + MethodDescriptorProto_Name_field_name protoreflect.Name = "name" + MethodDescriptorProto_InputType_field_name protoreflect.Name = "input_type" + MethodDescriptorProto_OutputType_field_name protoreflect.Name = "output_type" + MethodDescriptorProto_Options_field_name protoreflect.Name = "options" + MethodDescriptorProto_ClientStreaming_field_name protoreflect.Name = "client_streaming" + MethodDescriptorProto_ServerStreaming_field_name protoreflect.Name = "server_streaming" + + MethodDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.name" + MethodDescriptorProto_InputType_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.input_type" + MethodDescriptorProto_OutputType_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.output_type" + MethodDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.options" + MethodDescriptorProto_ClientStreaming_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.client_streaming" + MethodDescriptorProto_ServerStreaming_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.server_streaming" +) + +// Field numbers for google.protobuf.MethodDescriptorProto. +const ( + MethodDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + MethodDescriptorProto_InputType_field_number protoreflect.FieldNumber = 2 + MethodDescriptorProto_OutputType_field_number protoreflect.FieldNumber = 3 + MethodDescriptorProto_Options_field_number protoreflect.FieldNumber = 4 + MethodDescriptorProto_ClientStreaming_field_number protoreflect.FieldNumber = 5 + MethodDescriptorProto_ServerStreaming_field_number protoreflect.FieldNumber = 6 +) + +// Names for google.protobuf.FileOptions. +const ( + FileOptions_message_name protoreflect.Name = "FileOptions" + FileOptions_message_fullname protoreflect.FullName = "google.protobuf.FileOptions" +) + +// Field names for google.protobuf.FileOptions. +const ( + FileOptions_JavaPackage_field_name protoreflect.Name = "java_package" + FileOptions_JavaOuterClassname_field_name protoreflect.Name = "java_outer_classname" + FileOptions_JavaMultipleFiles_field_name protoreflect.Name = "java_multiple_files" + FileOptions_JavaGenerateEqualsAndHash_field_name protoreflect.Name = "java_generate_equals_and_hash" + FileOptions_JavaStringCheckUtf8_field_name protoreflect.Name = "java_string_check_utf8" + FileOptions_OptimizeFor_field_name protoreflect.Name = "optimize_for" + FileOptions_GoPackage_field_name protoreflect.Name = "go_package" + FileOptions_CcGenericServices_field_name protoreflect.Name = "cc_generic_services" + FileOptions_JavaGenericServices_field_name protoreflect.Name = "java_generic_services" + FileOptions_PyGenericServices_field_name protoreflect.Name = "py_generic_services" + FileOptions_PhpGenericServices_field_name protoreflect.Name = "php_generic_services" + FileOptions_Deprecated_field_name protoreflect.Name = "deprecated" + FileOptions_CcEnableArenas_field_name protoreflect.Name = "cc_enable_arenas" + FileOptions_ObjcClassPrefix_field_name protoreflect.Name = "objc_class_prefix" + FileOptions_CsharpNamespace_field_name protoreflect.Name = "csharp_namespace" + FileOptions_SwiftPrefix_field_name protoreflect.Name = "swift_prefix" + FileOptions_PhpClassPrefix_field_name protoreflect.Name = "php_class_prefix" + FileOptions_PhpNamespace_field_name protoreflect.Name = "php_namespace" + FileOptions_PhpMetadataNamespace_field_name protoreflect.Name = "php_metadata_namespace" + FileOptions_RubyPackage_field_name protoreflect.Name = "ruby_package" + FileOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + FileOptions_JavaPackage_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_package" + FileOptions_JavaOuterClassname_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_outer_classname" + FileOptions_JavaMultipleFiles_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_multiple_files" + FileOptions_JavaGenerateEqualsAndHash_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_generate_equals_and_hash" + FileOptions_JavaStringCheckUtf8_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_string_check_utf8" + FileOptions_OptimizeFor_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.optimize_for" + FileOptions_GoPackage_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.go_package" + FileOptions_CcGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.cc_generic_services" + FileOptions_JavaGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_generic_services" + FileOptions_PyGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.py_generic_services" + FileOptions_PhpGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_generic_services" + FileOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.deprecated" + FileOptions_CcEnableArenas_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.cc_enable_arenas" + FileOptions_ObjcClassPrefix_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.objc_class_prefix" + FileOptions_CsharpNamespace_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.csharp_namespace" + FileOptions_SwiftPrefix_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.swift_prefix" + FileOptions_PhpClassPrefix_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_class_prefix" + FileOptions_PhpNamespace_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_namespace" + FileOptions_PhpMetadataNamespace_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_metadata_namespace" + FileOptions_RubyPackage_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.ruby_package" + FileOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.FileOptions. +const ( + FileOptions_JavaPackage_field_number protoreflect.FieldNumber = 1 + FileOptions_JavaOuterClassname_field_number protoreflect.FieldNumber = 8 + FileOptions_JavaMultipleFiles_field_number protoreflect.FieldNumber = 10 + FileOptions_JavaGenerateEqualsAndHash_field_number protoreflect.FieldNumber = 20 + FileOptions_JavaStringCheckUtf8_field_number protoreflect.FieldNumber = 27 + FileOptions_OptimizeFor_field_number protoreflect.FieldNumber = 9 + FileOptions_GoPackage_field_number protoreflect.FieldNumber = 11 + FileOptions_CcGenericServices_field_number protoreflect.FieldNumber = 16 + FileOptions_JavaGenericServices_field_number protoreflect.FieldNumber = 17 + FileOptions_PyGenericServices_field_number protoreflect.FieldNumber = 18 + FileOptions_PhpGenericServices_field_number protoreflect.FieldNumber = 42 + FileOptions_Deprecated_field_number protoreflect.FieldNumber = 23 + FileOptions_CcEnableArenas_field_number protoreflect.FieldNumber = 31 + FileOptions_ObjcClassPrefix_field_number protoreflect.FieldNumber = 36 + FileOptions_CsharpNamespace_field_number protoreflect.FieldNumber = 37 + FileOptions_SwiftPrefix_field_number protoreflect.FieldNumber = 39 + FileOptions_PhpClassPrefix_field_number protoreflect.FieldNumber = 40 + FileOptions_PhpNamespace_field_number protoreflect.FieldNumber = 41 + FileOptions_PhpMetadataNamespace_field_number protoreflect.FieldNumber = 44 + FileOptions_RubyPackage_field_number protoreflect.FieldNumber = 45 + FileOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Full and short names for google.protobuf.FileOptions.OptimizeMode. +const ( + FileOptions_OptimizeMode_enum_fullname = "google.protobuf.FileOptions.OptimizeMode" + FileOptions_OptimizeMode_enum_name = "OptimizeMode" +) + +// Names for google.protobuf.MessageOptions. +const ( + MessageOptions_message_name protoreflect.Name = "MessageOptions" + MessageOptions_message_fullname protoreflect.FullName = "google.protobuf.MessageOptions" +) + +// Field names for google.protobuf.MessageOptions. +const ( + MessageOptions_MessageSetWireFormat_field_name protoreflect.Name = "message_set_wire_format" + MessageOptions_NoStandardDescriptorAccessor_field_name protoreflect.Name = "no_standard_descriptor_accessor" + MessageOptions_Deprecated_field_name protoreflect.Name = "deprecated" + MessageOptions_MapEntry_field_name protoreflect.Name = "map_entry" + MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_name protoreflect.Name = "deprecated_legacy_json_field_conflicts" + MessageOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + MessageOptions_MessageSetWireFormat_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.message_set_wire_format" + MessageOptions_NoStandardDescriptorAccessor_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.no_standard_descriptor_accessor" + MessageOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.deprecated" + MessageOptions_MapEntry_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.map_entry" + MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.deprecated_legacy_json_field_conflicts" + MessageOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.MessageOptions. +const ( + MessageOptions_MessageSetWireFormat_field_number protoreflect.FieldNumber = 1 + MessageOptions_NoStandardDescriptorAccessor_field_number protoreflect.FieldNumber = 2 + MessageOptions_Deprecated_field_number protoreflect.FieldNumber = 3 + MessageOptions_MapEntry_field_number protoreflect.FieldNumber = 7 + MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_number protoreflect.FieldNumber = 11 + MessageOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Names for google.protobuf.FieldOptions. +const ( + FieldOptions_message_name protoreflect.Name = "FieldOptions" + FieldOptions_message_fullname protoreflect.FullName = "google.protobuf.FieldOptions" +) + +// Field names for google.protobuf.FieldOptions. +const ( + FieldOptions_Ctype_field_name protoreflect.Name = "ctype" + FieldOptions_Packed_field_name protoreflect.Name = "packed" + FieldOptions_Jstype_field_name protoreflect.Name = "jstype" + FieldOptions_Lazy_field_name protoreflect.Name = "lazy" + FieldOptions_UnverifiedLazy_field_name protoreflect.Name = "unverified_lazy" + FieldOptions_Deprecated_field_name protoreflect.Name = "deprecated" + FieldOptions_Weak_field_name protoreflect.Name = "weak" + FieldOptions_DebugRedact_field_name protoreflect.Name = "debug_redact" + FieldOptions_Retention_field_name protoreflect.Name = "retention" + FieldOptions_Target_field_name protoreflect.Name = "target" + FieldOptions_Targets_field_name protoreflect.Name = "targets" + FieldOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + FieldOptions_Ctype_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.ctype" + FieldOptions_Packed_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.packed" + FieldOptions_Jstype_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.jstype" + FieldOptions_Lazy_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.lazy" + FieldOptions_UnverifiedLazy_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.unverified_lazy" + FieldOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.deprecated" + FieldOptions_Weak_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.weak" + FieldOptions_DebugRedact_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.debug_redact" + FieldOptions_Retention_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.retention" + FieldOptions_Target_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.target" + FieldOptions_Targets_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.targets" + FieldOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.FieldOptions. +const ( + FieldOptions_Ctype_field_number protoreflect.FieldNumber = 1 + FieldOptions_Packed_field_number protoreflect.FieldNumber = 2 + FieldOptions_Jstype_field_number protoreflect.FieldNumber = 6 + FieldOptions_Lazy_field_number protoreflect.FieldNumber = 5 + FieldOptions_UnverifiedLazy_field_number protoreflect.FieldNumber = 15 + FieldOptions_Deprecated_field_number protoreflect.FieldNumber = 3 + FieldOptions_Weak_field_number protoreflect.FieldNumber = 10 + FieldOptions_DebugRedact_field_number protoreflect.FieldNumber = 16 + FieldOptions_Retention_field_number protoreflect.FieldNumber = 17 + FieldOptions_Target_field_number protoreflect.FieldNumber = 18 + FieldOptions_Targets_field_number protoreflect.FieldNumber = 19 + FieldOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Full and short names for google.protobuf.FieldOptions.CType. +const ( + FieldOptions_CType_enum_fullname = "google.protobuf.FieldOptions.CType" + FieldOptions_CType_enum_name = "CType" +) + +// Full and short names for google.protobuf.FieldOptions.JSType. +const ( + FieldOptions_JSType_enum_fullname = "google.protobuf.FieldOptions.JSType" + FieldOptions_JSType_enum_name = "JSType" +) + +// Full and short names for google.protobuf.FieldOptions.OptionRetention. +const ( + FieldOptions_OptionRetention_enum_fullname = "google.protobuf.FieldOptions.OptionRetention" + FieldOptions_OptionRetention_enum_name = "OptionRetention" +) + +// Full and short names for google.protobuf.FieldOptions.OptionTargetType. +const ( + FieldOptions_OptionTargetType_enum_fullname = "google.protobuf.FieldOptions.OptionTargetType" + FieldOptions_OptionTargetType_enum_name = "OptionTargetType" +) + +// Names for google.protobuf.OneofOptions. +const ( + OneofOptions_message_name protoreflect.Name = "OneofOptions" + OneofOptions_message_fullname protoreflect.FullName = "google.protobuf.OneofOptions" +) + +// Field names for google.protobuf.OneofOptions. +const ( + OneofOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + OneofOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.OneofOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.OneofOptions. +const ( + OneofOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Names for google.protobuf.EnumOptions. +const ( + EnumOptions_message_name protoreflect.Name = "EnumOptions" + EnumOptions_message_fullname protoreflect.FullName = "google.protobuf.EnumOptions" +) + +// Field names for google.protobuf.EnumOptions. +const ( + EnumOptions_AllowAlias_field_name protoreflect.Name = "allow_alias" + EnumOptions_Deprecated_field_name protoreflect.Name = "deprecated" + EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_name protoreflect.Name = "deprecated_legacy_json_field_conflicts" + EnumOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + EnumOptions_AllowAlias_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.allow_alias" + EnumOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.deprecated" + EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.deprecated_legacy_json_field_conflicts" + EnumOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.EnumOptions. +const ( + EnumOptions_AllowAlias_field_number protoreflect.FieldNumber = 2 + EnumOptions_Deprecated_field_number protoreflect.FieldNumber = 3 + EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_number protoreflect.FieldNumber = 6 + EnumOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Names for google.protobuf.EnumValueOptions. +const ( + EnumValueOptions_message_name protoreflect.Name = "EnumValueOptions" + EnumValueOptions_message_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions" +) + +// Field names for google.protobuf.EnumValueOptions. +const ( + EnumValueOptions_Deprecated_field_name protoreflect.Name = "deprecated" + EnumValueOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + EnumValueOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions.deprecated" + EnumValueOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.EnumValueOptions. +const ( + EnumValueOptions_Deprecated_field_number protoreflect.FieldNumber = 1 + EnumValueOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Names for google.protobuf.ServiceOptions. +const ( + ServiceOptions_message_name protoreflect.Name = "ServiceOptions" + ServiceOptions_message_fullname protoreflect.FullName = "google.protobuf.ServiceOptions" +) + +// Field names for google.protobuf.ServiceOptions. +const ( + ServiceOptions_Deprecated_field_name protoreflect.Name = "deprecated" + ServiceOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + ServiceOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.ServiceOptions.deprecated" + ServiceOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.ServiceOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.ServiceOptions. +const ( + ServiceOptions_Deprecated_field_number protoreflect.FieldNumber = 33 + ServiceOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Names for google.protobuf.MethodOptions. +const ( + MethodOptions_message_name protoreflect.Name = "MethodOptions" + MethodOptions_message_fullname protoreflect.FullName = "google.protobuf.MethodOptions" +) + +// Field names for google.protobuf.MethodOptions. +const ( + MethodOptions_Deprecated_field_name protoreflect.Name = "deprecated" + MethodOptions_IdempotencyLevel_field_name protoreflect.Name = "idempotency_level" + MethodOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + MethodOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.deprecated" + MethodOptions_IdempotencyLevel_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.idempotency_level" + MethodOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.MethodOptions. +const ( + MethodOptions_Deprecated_field_number protoreflect.FieldNumber = 33 + MethodOptions_IdempotencyLevel_field_number protoreflect.FieldNumber = 34 + MethodOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Full and short names for google.protobuf.MethodOptions.IdempotencyLevel. +const ( + MethodOptions_IdempotencyLevel_enum_fullname = "google.protobuf.MethodOptions.IdempotencyLevel" + MethodOptions_IdempotencyLevel_enum_name = "IdempotencyLevel" +) + +// Names for google.protobuf.UninterpretedOption. +const ( + UninterpretedOption_message_name protoreflect.Name = "UninterpretedOption" + UninterpretedOption_message_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption" +) + +// Field names for google.protobuf.UninterpretedOption. +const ( + UninterpretedOption_Name_field_name protoreflect.Name = "name" + UninterpretedOption_IdentifierValue_field_name protoreflect.Name = "identifier_value" + UninterpretedOption_PositiveIntValue_field_name protoreflect.Name = "positive_int_value" + UninterpretedOption_NegativeIntValue_field_name protoreflect.Name = "negative_int_value" + UninterpretedOption_DoubleValue_field_name protoreflect.Name = "double_value" + UninterpretedOption_StringValue_field_name protoreflect.Name = "string_value" + UninterpretedOption_AggregateValue_field_name protoreflect.Name = "aggregate_value" + + UninterpretedOption_Name_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.name" + UninterpretedOption_IdentifierValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.identifier_value" + UninterpretedOption_PositiveIntValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.positive_int_value" + UninterpretedOption_NegativeIntValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.negative_int_value" + UninterpretedOption_DoubleValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.double_value" + UninterpretedOption_StringValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.string_value" + UninterpretedOption_AggregateValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.aggregate_value" +) + +// Field numbers for google.protobuf.UninterpretedOption. +const ( + UninterpretedOption_Name_field_number protoreflect.FieldNumber = 2 + UninterpretedOption_IdentifierValue_field_number protoreflect.FieldNumber = 3 + UninterpretedOption_PositiveIntValue_field_number protoreflect.FieldNumber = 4 + UninterpretedOption_NegativeIntValue_field_number protoreflect.FieldNumber = 5 + UninterpretedOption_DoubleValue_field_number protoreflect.FieldNumber = 6 + UninterpretedOption_StringValue_field_number protoreflect.FieldNumber = 7 + UninterpretedOption_AggregateValue_field_number protoreflect.FieldNumber = 8 +) + +// Names for google.protobuf.UninterpretedOption.NamePart. +const ( + UninterpretedOption_NamePart_message_name protoreflect.Name = "NamePart" + UninterpretedOption_NamePart_message_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.NamePart" +) + +// Field names for google.protobuf.UninterpretedOption.NamePart. +const ( + UninterpretedOption_NamePart_NamePart_field_name protoreflect.Name = "name_part" + UninterpretedOption_NamePart_IsExtension_field_name protoreflect.Name = "is_extension" + + UninterpretedOption_NamePart_NamePart_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.NamePart.name_part" + UninterpretedOption_NamePart_IsExtension_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.NamePart.is_extension" +) + +// Field numbers for google.protobuf.UninterpretedOption.NamePart. +const ( + UninterpretedOption_NamePart_NamePart_field_number protoreflect.FieldNumber = 1 + UninterpretedOption_NamePart_IsExtension_field_number protoreflect.FieldNumber = 2 +) + +// Names for google.protobuf.SourceCodeInfo. +const ( + SourceCodeInfo_message_name protoreflect.Name = "SourceCodeInfo" + SourceCodeInfo_message_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo" +) + +// Field names for google.protobuf.SourceCodeInfo. +const ( + SourceCodeInfo_Location_field_name protoreflect.Name = "location" + + SourceCodeInfo_Location_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.location" +) + +// Field numbers for google.protobuf.SourceCodeInfo. +const ( + SourceCodeInfo_Location_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.SourceCodeInfo.Location. +const ( + SourceCodeInfo_Location_message_name protoreflect.Name = "Location" + SourceCodeInfo_Location_message_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location" +) + +// Field names for google.protobuf.SourceCodeInfo.Location. +const ( + SourceCodeInfo_Location_Path_field_name protoreflect.Name = "path" + SourceCodeInfo_Location_Span_field_name protoreflect.Name = "span" + SourceCodeInfo_Location_LeadingComments_field_name protoreflect.Name = "leading_comments" + SourceCodeInfo_Location_TrailingComments_field_name protoreflect.Name = "trailing_comments" + SourceCodeInfo_Location_LeadingDetachedComments_field_name protoreflect.Name = "leading_detached_comments" + + SourceCodeInfo_Location_Path_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.path" + SourceCodeInfo_Location_Span_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.span" + SourceCodeInfo_Location_LeadingComments_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.leading_comments" + SourceCodeInfo_Location_TrailingComments_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.trailing_comments" + SourceCodeInfo_Location_LeadingDetachedComments_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.leading_detached_comments" +) + +// Field numbers for google.protobuf.SourceCodeInfo.Location. +const ( + SourceCodeInfo_Location_Path_field_number protoreflect.FieldNumber = 1 + SourceCodeInfo_Location_Span_field_number protoreflect.FieldNumber = 2 + SourceCodeInfo_Location_LeadingComments_field_number protoreflect.FieldNumber = 3 + SourceCodeInfo_Location_TrailingComments_field_number protoreflect.FieldNumber = 4 + SourceCodeInfo_Location_LeadingDetachedComments_field_number protoreflect.FieldNumber = 6 +) + +// Names for google.protobuf.GeneratedCodeInfo. +const ( + GeneratedCodeInfo_message_name protoreflect.Name = "GeneratedCodeInfo" + GeneratedCodeInfo_message_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo" +) + +// Field names for google.protobuf.GeneratedCodeInfo. +const ( + GeneratedCodeInfo_Annotation_field_name protoreflect.Name = "annotation" + + GeneratedCodeInfo_Annotation_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.annotation" +) + +// Field numbers for google.protobuf.GeneratedCodeInfo. +const ( + GeneratedCodeInfo_Annotation_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.GeneratedCodeInfo.Annotation. +const ( + GeneratedCodeInfo_Annotation_message_name protoreflect.Name = "Annotation" + GeneratedCodeInfo_Annotation_message_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation" +) + +// Field names for google.protobuf.GeneratedCodeInfo.Annotation. +const ( + GeneratedCodeInfo_Annotation_Path_field_name protoreflect.Name = "path" + GeneratedCodeInfo_Annotation_SourceFile_field_name protoreflect.Name = "source_file" + GeneratedCodeInfo_Annotation_Begin_field_name protoreflect.Name = "begin" + GeneratedCodeInfo_Annotation_End_field_name protoreflect.Name = "end" + GeneratedCodeInfo_Annotation_Semantic_field_name protoreflect.Name = "semantic" + + GeneratedCodeInfo_Annotation_Path_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.path" + GeneratedCodeInfo_Annotation_SourceFile_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.source_file" + GeneratedCodeInfo_Annotation_Begin_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.begin" + GeneratedCodeInfo_Annotation_End_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.end" + GeneratedCodeInfo_Annotation_Semantic_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.semantic" +) + +// Field numbers for google.protobuf.GeneratedCodeInfo.Annotation. +const ( + GeneratedCodeInfo_Annotation_Path_field_number protoreflect.FieldNumber = 1 + GeneratedCodeInfo_Annotation_SourceFile_field_number protoreflect.FieldNumber = 2 + GeneratedCodeInfo_Annotation_Begin_field_number protoreflect.FieldNumber = 3 + GeneratedCodeInfo_Annotation_End_field_number protoreflect.FieldNumber = 4 + GeneratedCodeInfo_Annotation_Semantic_field_number protoreflect.FieldNumber = 5 +) + +// Full and short names for google.protobuf.GeneratedCodeInfo.Annotation.Semantic. +const ( + GeneratedCodeInfo_Annotation_Semantic_enum_fullname = "google.protobuf.GeneratedCodeInfo.Annotation.Semantic" + GeneratedCodeInfo_Annotation_Semantic_enum_name = "Semantic" +) diff --git a/server/vendor/google.golang.org/protobuf/internal/genid/doc.go b/server/vendor/google.golang.org/protobuf/internal/genid/doc.go new file mode 100755 index 0000000..45ccd01 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/genid/doc.go @@ -0,0 +1,11 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package genid contains constants for declarations in descriptor.proto +// and the well-known types. +package genid + +import protoreflect "google.golang.org/protobuf/reflect/protoreflect" + +const GoogleProtobuf_package protoreflect.FullName = "google.protobuf" diff --git a/server/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go b/server/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go new file mode 100755 index 0000000..b070ef4 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go @@ -0,0 +1,34 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_duration_proto = "google/protobuf/duration.proto" + +// Names for google.protobuf.Duration. +const ( + Duration_message_name protoreflect.Name = "Duration" + Duration_message_fullname protoreflect.FullName = "google.protobuf.Duration" +) + +// Field names for google.protobuf.Duration. +const ( + Duration_Seconds_field_name protoreflect.Name = "seconds" + Duration_Nanos_field_name protoreflect.Name = "nanos" + + Duration_Seconds_field_fullname protoreflect.FullName = "google.protobuf.Duration.seconds" + Duration_Nanos_field_fullname protoreflect.FullName = "google.protobuf.Duration.nanos" +) + +// Field numbers for google.protobuf.Duration. +const ( + Duration_Seconds_field_number protoreflect.FieldNumber = 1 + Duration_Nanos_field_number protoreflect.FieldNumber = 2 +) diff --git a/server/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go b/server/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go new file mode 100755 index 0000000..762abb3 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go @@ -0,0 +1,19 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_empty_proto = "google/protobuf/empty.proto" + +// Names for google.protobuf.Empty. +const ( + Empty_message_name protoreflect.Name = "Empty" + Empty_message_fullname protoreflect.FullName = "google.protobuf.Empty" +) diff --git a/server/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go b/server/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go new file mode 100755 index 0000000..70bed45 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go @@ -0,0 +1,31 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_field_mask_proto = "google/protobuf/field_mask.proto" + +// Names for google.protobuf.FieldMask. +const ( + FieldMask_message_name protoreflect.Name = "FieldMask" + FieldMask_message_fullname protoreflect.FullName = "google.protobuf.FieldMask" +) + +// Field names for google.protobuf.FieldMask. +const ( + FieldMask_Paths_field_name protoreflect.Name = "paths" + + FieldMask_Paths_field_fullname protoreflect.FullName = "google.protobuf.FieldMask.paths" +) + +// Field numbers for google.protobuf.FieldMask. +const ( + FieldMask_Paths_field_number protoreflect.FieldNumber = 1 +) diff --git a/server/vendor/google.golang.org/protobuf/internal/genid/goname.go b/server/vendor/google.golang.org/protobuf/internal/genid/goname.go new file mode 100755 index 0000000..693d2e9 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/genid/goname.go @@ -0,0 +1,25 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package genid + +// Go names of implementation-specific struct fields in generated messages. +const ( + State_goname = "state" + + SizeCache_goname = "sizeCache" + SizeCacheA_goname = "XXX_sizecache" + + WeakFields_goname = "weakFields" + WeakFieldsA_goname = "XXX_weak" + + UnknownFields_goname = "unknownFields" + UnknownFieldsA_goname = "XXX_unrecognized" + + ExtensionFields_goname = "extensionFields" + ExtensionFieldsA_goname = "XXX_InternalExtensions" + ExtensionFieldsB_goname = "XXX_extensions" + + WeakFieldPrefix_goname = "XXX_weak_" +) diff --git a/server/vendor/google.golang.org/protobuf/internal/genid/map_entry.go b/server/vendor/google.golang.org/protobuf/internal/genid/map_entry.go new file mode 100755 index 0000000..8f9ea02 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/genid/map_entry.go @@ -0,0 +1,16 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package genid + +import protoreflect "google.golang.org/protobuf/reflect/protoreflect" + +// Generic field names and numbers for synthetic map entry messages. +const ( + MapEntry_Key_field_name protoreflect.Name = "key" + MapEntry_Value_field_name protoreflect.Name = "value" + + MapEntry_Key_field_number protoreflect.FieldNumber = 1 + MapEntry_Value_field_number protoreflect.FieldNumber = 2 +) diff --git a/server/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go b/server/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go new file mode 100755 index 0000000..3e99ae1 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go @@ -0,0 +1,31 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_source_context_proto = "google/protobuf/source_context.proto" + +// Names for google.protobuf.SourceContext. +const ( + SourceContext_message_name protoreflect.Name = "SourceContext" + SourceContext_message_fullname protoreflect.FullName = "google.protobuf.SourceContext" +) + +// Field names for google.protobuf.SourceContext. +const ( + SourceContext_FileName_field_name protoreflect.Name = "file_name" + + SourceContext_FileName_field_fullname protoreflect.FullName = "google.protobuf.SourceContext.file_name" +) + +// Field numbers for google.protobuf.SourceContext. +const ( + SourceContext_FileName_field_number protoreflect.FieldNumber = 1 +) diff --git a/server/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go b/server/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go new file mode 100755 index 0000000..1a38944 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go @@ -0,0 +1,116 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_struct_proto = "google/protobuf/struct.proto" + +// Full and short names for google.protobuf.NullValue. +const ( + NullValue_enum_fullname = "google.protobuf.NullValue" + NullValue_enum_name = "NullValue" +) + +// Names for google.protobuf.Struct. +const ( + Struct_message_name protoreflect.Name = "Struct" + Struct_message_fullname protoreflect.FullName = "google.protobuf.Struct" +) + +// Field names for google.protobuf.Struct. +const ( + Struct_Fields_field_name protoreflect.Name = "fields" + + Struct_Fields_field_fullname protoreflect.FullName = "google.protobuf.Struct.fields" +) + +// Field numbers for google.protobuf.Struct. +const ( + Struct_Fields_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.Struct.FieldsEntry. +const ( + Struct_FieldsEntry_message_name protoreflect.Name = "FieldsEntry" + Struct_FieldsEntry_message_fullname protoreflect.FullName = "google.protobuf.Struct.FieldsEntry" +) + +// Field names for google.protobuf.Struct.FieldsEntry. +const ( + Struct_FieldsEntry_Key_field_name protoreflect.Name = "key" + Struct_FieldsEntry_Value_field_name protoreflect.Name = "value" + + Struct_FieldsEntry_Key_field_fullname protoreflect.FullName = "google.protobuf.Struct.FieldsEntry.key" + Struct_FieldsEntry_Value_field_fullname protoreflect.FullName = "google.protobuf.Struct.FieldsEntry.value" +) + +// Field numbers for google.protobuf.Struct.FieldsEntry. +const ( + Struct_FieldsEntry_Key_field_number protoreflect.FieldNumber = 1 + Struct_FieldsEntry_Value_field_number protoreflect.FieldNumber = 2 +) + +// Names for google.protobuf.Value. +const ( + Value_message_name protoreflect.Name = "Value" + Value_message_fullname protoreflect.FullName = "google.protobuf.Value" +) + +// Field names for google.protobuf.Value. +const ( + Value_NullValue_field_name protoreflect.Name = "null_value" + Value_NumberValue_field_name protoreflect.Name = "number_value" + Value_StringValue_field_name protoreflect.Name = "string_value" + Value_BoolValue_field_name protoreflect.Name = "bool_value" + Value_StructValue_field_name protoreflect.Name = "struct_value" + Value_ListValue_field_name protoreflect.Name = "list_value" + + Value_NullValue_field_fullname protoreflect.FullName = "google.protobuf.Value.null_value" + Value_NumberValue_field_fullname protoreflect.FullName = "google.protobuf.Value.number_value" + Value_StringValue_field_fullname protoreflect.FullName = "google.protobuf.Value.string_value" + Value_BoolValue_field_fullname protoreflect.FullName = "google.protobuf.Value.bool_value" + Value_StructValue_field_fullname protoreflect.FullName = "google.protobuf.Value.struct_value" + Value_ListValue_field_fullname protoreflect.FullName = "google.protobuf.Value.list_value" +) + +// Field numbers for google.protobuf.Value. +const ( + Value_NullValue_field_number protoreflect.FieldNumber = 1 + Value_NumberValue_field_number protoreflect.FieldNumber = 2 + Value_StringValue_field_number protoreflect.FieldNumber = 3 + Value_BoolValue_field_number protoreflect.FieldNumber = 4 + Value_StructValue_field_number protoreflect.FieldNumber = 5 + Value_ListValue_field_number protoreflect.FieldNumber = 6 +) + +// Oneof names for google.protobuf.Value. +const ( + Value_Kind_oneof_name protoreflect.Name = "kind" + + Value_Kind_oneof_fullname protoreflect.FullName = "google.protobuf.Value.kind" +) + +// Names for google.protobuf.ListValue. +const ( + ListValue_message_name protoreflect.Name = "ListValue" + ListValue_message_fullname protoreflect.FullName = "google.protobuf.ListValue" +) + +// Field names for google.protobuf.ListValue. +const ( + ListValue_Values_field_name protoreflect.Name = "values" + + ListValue_Values_field_fullname protoreflect.FullName = "google.protobuf.ListValue.values" +) + +// Field numbers for google.protobuf.ListValue. +const ( + ListValue_Values_field_number protoreflect.FieldNumber = 1 +) diff --git a/server/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go b/server/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go new file mode 100755 index 0000000..f5cd563 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go @@ -0,0 +1,34 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_timestamp_proto = "google/protobuf/timestamp.proto" + +// Names for google.protobuf.Timestamp. +const ( + Timestamp_message_name protoreflect.Name = "Timestamp" + Timestamp_message_fullname protoreflect.FullName = "google.protobuf.Timestamp" +) + +// Field names for google.protobuf.Timestamp. +const ( + Timestamp_Seconds_field_name protoreflect.Name = "seconds" + Timestamp_Nanos_field_name protoreflect.Name = "nanos" + + Timestamp_Seconds_field_fullname protoreflect.FullName = "google.protobuf.Timestamp.seconds" + Timestamp_Nanos_field_fullname protoreflect.FullName = "google.protobuf.Timestamp.nanos" +) + +// Field numbers for google.protobuf.Timestamp. +const ( + Timestamp_Seconds_field_number protoreflect.FieldNumber = 1 + Timestamp_Nanos_field_number protoreflect.FieldNumber = 2 +) diff --git a/server/vendor/google.golang.org/protobuf/internal/genid/type_gen.go b/server/vendor/google.golang.org/protobuf/internal/genid/type_gen.go new file mode 100755 index 0000000..e0f75fe --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/genid/type_gen.go @@ -0,0 +1,190 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_type_proto = "google/protobuf/type.proto" + +// Full and short names for google.protobuf.Syntax. +const ( + Syntax_enum_fullname = "google.protobuf.Syntax" + Syntax_enum_name = "Syntax" +) + +// Names for google.protobuf.Type. +const ( + Type_message_name protoreflect.Name = "Type" + Type_message_fullname protoreflect.FullName = "google.protobuf.Type" +) + +// Field names for google.protobuf.Type. +const ( + Type_Name_field_name protoreflect.Name = "name" + Type_Fields_field_name protoreflect.Name = "fields" + Type_Oneofs_field_name protoreflect.Name = "oneofs" + Type_Options_field_name protoreflect.Name = "options" + Type_SourceContext_field_name protoreflect.Name = "source_context" + Type_Syntax_field_name protoreflect.Name = "syntax" + Type_Edition_field_name protoreflect.Name = "edition" + + Type_Name_field_fullname protoreflect.FullName = "google.protobuf.Type.name" + Type_Fields_field_fullname protoreflect.FullName = "google.protobuf.Type.fields" + Type_Oneofs_field_fullname protoreflect.FullName = "google.protobuf.Type.oneofs" + Type_Options_field_fullname protoreflect.FullName = "google.protobuf.Type.options" + Type_SourceContext_field_fullname protoreflect.FullName = "google.protobuf.Type.source_context" + Type_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Type.syntax" + Type_Edition_field_fullname protoreflect.FullName = "google.protobuf.Type.edition" +) + +// Field numbers for google.protobuf.Type. +const ( + Type_Name_field_number protoreflect.FieldNumber = 1 + Type_Fields_field_number protoreflect.FieldNumber = 2 + Type_Oneofs_field_number protoreflect.FieldNumber = 3 + Type_Options_field_number protoreflect.FieldNumber = 4 + Type_SourceContext_field_number protoreflect.FieldNumber = 5 + Type_Syntax_field_number protoreflect.FieldNumber = 6 + Type_Edition_field_number protoreflect.FieldNumber = 7 +) + +// Names for google.protobuf.Field. +const ( + Field_message_name protoreflect.Name = "Field" + Field_message_fullname protoreflect.FullName = "google.protobuf.Field" +) + +// Field names for google.protobuf.Field. +const ( + Field_Kind_field_name protoreflect.Name = "kind" + Field_Cardinality_field_name protoreflect.Name = "cardinality" + Field_Number_field_name protoreflect.Name = "number" + Field_Name_field_name protoreflect.Name = "name" + Field_TypeUrl_field_name protoreflect.Name = "type_url" + Field_OneofIndex_field_name protoreflect.Name = "oneof_index" + Field_Packed_field_name protoreflect.Name = "packed" + Field_Options_field_name protoreflect.Name = "options" + Field_JsonName_field_name protoreflect.Name = "json_name" + Field_DefaultValue_field_name protoreflect.Name = "default_value" + + Field_Kind_field_fullname protoreflect.FullName = "google.protobuf.Field.kind" + Field_Cardinality_field_fullname protoreflect.FullName = "google.protobuf.Field.cardinality" + Field_Number_field_fullname protoreflect.FullName = "google.protobuf.Field.number" + Field_Name_field_fullname protoreflect.FullName = "google.protobuf.Field.name" + Field_TypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Field.type_url" + Field_OneofIndex_field_fullname protoreflect.FullName = "google.protobuf.Field.oneof_index" + Field_Packed_field_fullname protoreflect.FullName = "google.protobuf.Field.packed" + Field_Options_field_fullname protoreflect.FullName = "google.protobuf.Field.options" + Field_JsonName_field_fullname protoreflect.FullName = "google.protobuf.Field.json_name" + Field_DefaultValue_field_fullname protoreflect.FullName = "google.protobuf.Field.default_value" +) + +// Field numbers for google.protobuf.Field. +const ( + Field_Kind_field_number protoreflect.FieldNumber = 1 + Field_Cardinality_field_number protoreflect.FieldNumber = 2 + Field_Number_field_number protoreflect.FieldNumber = 3 + Field_Name_field_number protoreflect.FieldNumber = 4 + Field_TypeUrl_field_number protoreflect.FieldNumber = 6 + Field_OneofIndex_field_number protoreflect.FieldNumber = 7 + Field_Packed_field_number protoreflect.FieldNumber = 8 + Field_Options_field_number protoreflect.FieldNumber = 9 + Field_JsonName_field_number protoreflect.FieldNumber = 10 + Field_DefaultValue_field_number protoreflect.FieldNumber = 11 +) + +// Full and short names for google.protobuf.Field.Kind. +const ( + Field_Kind_enum_fullname = "google.protobuf.Field.Kind" + Field_Kind_enum_name = "Kind" +) + +// Full and short names for google.protobuf.Field.Cardinality. +const ( + Field_Cardinality_enum_fullname = "google.protobuf.Field.Cardinality" + Field_Cardinality_enum_name = "Cardinality" +) + +// Names for google.protobuf.Enum. +const ( + Enum_message_name protoreflect.Name = "Enum" + Enum_message_fullname protoreflect.FullName = "google.protobuf.Enum" +) + +// Field names for google.protobuf.Enum. +const ( + Enum_Name_field_name protoreflect.Name = "name" + Enum_Enumvalue_field_name protoreflect.Name = "enumvalue" + Enum_Options_field_name protoreflect.Name = "options" + Enum_SourceContext_field_name protoreflect.Name = "source_context" + Enum_Syntax_field_name protoreflect.Name = "syntax" + Enum_Edition_field_name protoreflect.Name = "edition" + + Enum_Name_field_fullname protoreflect.FullName = "google.protobuf.Enum.name" + Enum_Enumvalue_field_fullname protoreflect.FullName = "google.protobuf.Enum.enumvalue" + Enum_Options_field_fullname protoreflect.FullName = "google.protobuf.Enum.options" + Enum_SourceContext_field_fullname protoreflect.FullName = "google.protobuf.Enum.source_context" + Enum_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Enum.syntax" + Enum_Edition_field_fullname protoreflect.FullName = "google.protobuf.Enum.edition" +) + +// Field numbers for google.protobuf.Enum. +const ( + Enum_Name_field_number protoreflect.FieldNumber = 1 + Enum_Enumvalue_field_number protoreflect.FieldNumber = 2 + Enum_Options_field_number protoreflect.FieldNumber = 3 + Enum_SourceContext_field_number protoreflect.FieldNumber = 4 + Enum_Syntax_field_number protoreflect.FieldNumber = 5 + Enum_Edition_field_number protoreflect.FieldNumber = 6 +) + +// Names for google.protobuf.EnumValue. +const ( + EnumValue_message_name protoreflect.Name = "EnumValue" + EnumValue_message_fullname protoreflect.FullName = "google.protobuf.EnumValue" +) + +// Field names for google.protobuf.EnumValue. +const ( + EnumValue_Name_field_name protoreflect.Name = "name" + EnumValue_Number_field_name protoreflect.Name = "number" + EnumValue_Options_field_name protoreflect.Name = "options" + + EnumValue_Name_field_fullname protoreflect.FullName = "google.protobuf.EnumValue.name" + EnumValue_Number_field_fullname protoreflect.FullName = "google.protobuf.EnumValue.number" + EnumValue_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumValue.options" +) + +// Field numbers for google.protobuf.EnumValue. +const ( + EnumValue_Name_field_number protoreflect.FieldNumber = 1 + EnumValue_Number_field_number protoreflect.FieldNumber = 2 + EnumValue_Options_field_number protoreflect.FieldNumber = 3 +) + +// Names for google.protobuf.Option. +const ( + Option_message_name protoreflect.Name = "Option" + Option_message_fullname protoreflect.FullName = "google.protobuf.Option" +) + +// Field names for google.protobuf.Option. +const ( + Option_Name_field_name protoreflect.Name = "name" + Option_Value_field_name protoreflect.Name = "value" + + Option_Name_field_fullname protoreflect.FullName = "google.protobuf.Option.name" + Option_Value_field_fullname protoreflect.FullName = "google.protobuf.Option.value" +) + +// Field numbers for google.protobuf.Option. +const ( + Option_Name_field_number protoreflect.FieldNumber = 1 + Option_Value_field_number protoreflect.FieldNumber = 2 +) diff --git a/server/vendor/google.golang.org/protobuf/internal/genid/wrappers.go b/server/vendor/google.golang.org/protobuf/internal/genid/wrappers.go new file mode 100755 index 0000000..429384b --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/genid/wrappers.go @@ -0,0 +1,13 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package genid + +import protoreflect "google.golang.org/protobuf/reflect/protoreflect" + +// Generic field name and number for messages in wrappers.proto. +const ( + WrapperValue_Value_field_name protoreflect.Name = "value" + WrapperValue_Value_field_number protoreflect.FieldNumber = 1 +) diff --git a/server/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go b/server/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go new file mode 100755 index 0000000..72527d2 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go @@ -0,0 +1,175 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_wrappers_proto = "google/protobuf/wrappers.proto" + +// Names for google.protobuf.DoubleValue. +const ( + DoubleValue_message_name protoreflect.Name = "DoubleValue" + DoubleValue_message_fullname protoreflect.FullName = "google.protobuf.DoubleValue" +) + +// Field names for google.protobuf.DoubleValue. +const ( + DoubleValue_Value_field_name protoreflect.Name = "value" + + DoubleValue_Value_field_fullname protoreflect.FullName = "google.protobuf.DoubleValue.value" +) + +// Field numbers for google.protobuf.DoubleValue. +const ( + DoubleValue_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.FloatValue. +const ( + FloatValue_message_name protoreflect.Name = "FloatValue" + FloatValue_message_fullname protoreflect.FullName = "google.protobuf.FloatValue" +) + +// Field names for google.protobuf.FloatValue. +const ( + FloatValue_Value_field_name protoreflect.Name = "value" + + FloatValue_Value_field_fullname protoreflect.FullName = "google.protobuf.FloatValue.value" +) + +// Field numbers for google.protobuf.FloatValue. +const ( + FloatValue_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.Int64Value. +const ( + Int64Value_message_name protoreflect.Name = "Int64Value" + Int64Value_message_fullname protoreflect.FullName = "google.protobuf.Int64Value" +) + +// Field names for google.protobuf.Int64Value. +const ( + Int64Value_Value_field_name protoreflect.Name = "value" + + Int64Value_Value_field_fullname protoreflect.FullName = "google.protobuf.Int64Value.value" +) + +// Field numbers for google.protobuf.Int64Value. +const ( + Int64Value_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.UInt64Value. +const ( + UInt64Value_message_name protoreflect.Name = "UInt64Value" + UInt64Value_message_fullname protoreflect.FullName = "google.protobuf.UInt64Value" +) + +// Field names for google.protobuf.UInt64Value. +const ( + UInt64Value_Value_field_name protoreflect.Name = "value" + + UInt64Value_Value_field_fullname protoreflect.FullName = "google.protobuf.UInt64Value.value" +) + +// Field numbers for google.protobuf.UInt64Value. +const ( + UInt64Value_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.Int32Value. +const ( + Int32Value_message_name protoreflect.Name = "Int32Value" + Int32Value_message_fullname protoreflect.FullName = "google.protobuf.Int32Value" +) + +// Field names for google.protobuf.Int32Value. +const ( + Int32Value_Value_field_name protoreflect.Name = "value" + + Int32Value_Value_field_fullname protoreflect.FullName = "google.protobuf.Int32Value.value" +) + +// Field numbers for google.protobuf.Int32Value. +const ( + Int32Value_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.UInt32Value. +const ( + UInt32Value_message_name protoreflect.Name = "UInt32Value" + UInt32Value_message_fullname protoreflect.FullName = "google.protobuf.UInt32Value" +) + +// Field names for google.protobuf.UInt32Value. +const ( + UInt32Value_Value_field_name protoreflect.Name = "value" + + UInt32Value_Value_field_fullname protoreflect.FullName = "google.protobuf.UInt32Value.value" +) + +// Field numbers for google.protobuf.UInt32Value. +const ( + UInt32Value_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.BoolValue. +const ( + BoolValue_message_name protoreflect.Name = "BoolValue" + BoolValue_message_fullname protoreflect.FullName = "google.protobuf.BoolValue" +) + +// Field names for google.protobuf.BoolValue. +const ( + BoolValue_Value_field_name protoreflect.Name = "value" + + BoolValue_Value_field_fullname protoreflect.FullName = "google.protobuf.BoolValue.value" +) + +// Field numbers for google.protobuf.BoolValue. +const ( + BoolValue_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.StringValue. +const ( + StringValue_message_name protoreflect.Name = "StringValue" + StringValue_message_fullname protoreflect.FullName = "google.protobuf.StringValue" +) + +// Field names for google.protobuf.StringValue. +const ( + StringValue_Value_field_name protoreflect.Name = "value" + + StringValue_Value_field_fullname protoreflect.FullName = "google.protobuf.StringValue.value" +) + +// Field numbers for google.protobuf.StringValue. +const ( + StringValue_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.BytesValue. +const ( + BytesValue_message_name protoreflect.Name = "BytesValue" + BytesValue_message_fullname protoreflect.FullName = "google.protobuf.BytesValue" +) + +// Field names for google.protobuf.BytesValue. +const ( + BytesValue_Value_field_name protoreflect.Name = "value" + + BytesValue_Value_field_fullname protoreflect.FullName = "google.protobuf.BytesValue.value" +) + +// Field numbers for google.protobuf.BytesValue. +const ( + BytesValue_Value_field_number protoreflect.FieldNumber = 1 +) diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/api_export.go b/server/vendor/google.golang.org/protobuf/internal/impl/api_export.go new file mode 100755 index 0000000..a371f98 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/api_export.go @@ -0,0 +1,177 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + "strconv" + + "google.golang.org/protobuf/encoding/prototext" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +// Export is a zero-length named type that exists only to export a set of +// functions that we do not want to appear in godoc. +type Export struct{} + +// NewError formats a string according to the format specifier and arguments and +// returns an error that has a "proto" prefix. +func (Export) NewError(f string, x ...interface{}) error { + return errors.New(f, x...) +} + +// enum is any enum type generated by protoc-gen-go +// and must be a named int32 type. +type enum = interface{} + +// EnumOf returns the protoreflect.Enum interface over e. +// It returns nil if e is nil. +func (Export) EnumOf(e enum) protoreflect.Enum { + switch e := e.(type) { + case nil: + return nil + case protoreflect.Enum: + return e + default: + return legacyWrapEnum(reflect.ValueOf(e)) + } +} + +// EnumDescriptorOf returns the protoreflect.EnumDescriptor for e. +// It returns nil if e is nil. +func (Export) EnumDescriptorOf(e enum) protoreflect.EnumDescriptor { + switch e := e.(type) { + case nil: + return nil + case protoreflect.Enum: + return e.Descriptor() + default: + return LegacyLoadEnumDesc(reflect.TypeOf(e)) + } +} + +// EnumTypeOf returns the protoreflect.EnumType for e. +// It returns nil if e is nil. +func (Export) EnumTypeOf(e enum) protoreflect.EnumType { + switch e := e.(type) { + case nil: + return nil + case protoreflect.Enum: + return e.Type() + default: + return legacyLoadEnumType(reflect.TypeOf(e)) + } +} + +// EnumStringOf returns the enum value as a string, either as the name if +// the number is resolvable, or the number formatted as a string. +func (Export) EnumStringOf(ed protoreflect.EnumDescriptor, n protoreflect.EnumNumber) string { + ev := ed.Values().ByNumber(n) + if ev != nil { + return string(ev.Name()) + } + return strconv.Itoa(int(n)) +} + +// message is any message type generated by protoc-gen-go +// and must be a pointer to a named struct type. +type message = interface{} + +// legacyMessageWrapper wraps a v2 message as a v1 message. +type legacyMessageWrapper struct{ m protoreflect.ProtoMessage } + +func (m legacyMessageWrapper) Reset() { proto.Reset(m.m) } +func (m legacyMessageWrapper) String() string { return Export{}.MessageStringOf(m.m) } +func (m legacyMessageWrapper) ProtoMessage() {} + +// ProtoMessageV1Of converts either a v1 or v2 message to a v1 message. +// It returns nil if m is nil. +func (Export) ProtoMessageV1Of(m message) protoiface.MessageV1 { + switch mv := m.(type) { + case nil: + return nil + case protoiface.MessageV1: + return mv + case unwrapper: + return Export{}.ProtoMessageV1Of(mv.protoUnwrap()) + case protoreflect.ProtoMessage: + return legacyMessageWrapper{mv} + default: + panic(fmt.Sprintf("message %T is neither a v1 or v2 Message", m)) + } +} + +func (Export) protoMessageV2Of(m message) protoreflect.ProtoMessage { + switch mv := m.(type) { + case nil: + return nil + case protoreflect.ProtoMessage: + return mv + case legacyMessageWrapper: + return mv.m + case protoiface.MessageV1: + return nil + default: + panic(fmt.Sprintf("message %T is neither a v1 or v2 Message", m)) + } +} + +// ProtoMessageV2Of converts either a v1 or v2 message to a v2 message. +// It returns nil if m is nil. +func (Export) ProtoMessageV2Of(m message) protoreflect.ProtoMessage { + if m == nil { + return nil + } + if mv := (Export{}).protoMessageV2Of(m); mv != nil { + return mv + } + return legacyWrapMessage(reflect.ValueOf(m)).Interface() +} + +// MessageOf returns the protoreflect.Message interface over m. +// It returns nil if m is nil. +func (Export) MessageOf(m message) protoreflect.Message { + if m == nil { + return nil + } + if mv := (Export{}).protoMessageV2Of(m); mv != nil { + return mv.ProtoReflect() + } + return legacyWrapMessage(reflect.ValueOf(m)) +} + +// MessageDescriptorOf returns the protoreflect.MessageDescriptor for m. +// It returns nil if m is nil. +func (Export) MessageDescriptorOf(m message) protoreflect.MessageDescriptor { + if m == nil { + return nil + } + if mv := (Export{}).protoMessageV2Of(m); mv != nil { + return mv.ProtoReflect().Descriptor() + } + return LegacyLoadMessageDesc(reflect.TypeOf(m)) +} + +// MessageTypeOf returns the protoreflect.MessageType for m. +// It returns nil if m is nil. +func (Export) MessageTypeOf(m message) protoreflect.MessageType { + if m == nil { + return nil + } + if mv := (Export{}).protoMessageV2Of(m); mv != nil { + return mv.ProtoReflect().Type() + } + return legacyLoadMessageType(reflect.TypeOf(m), "") +} + +// MessageStringOf returns the message value as a string, +// which is the message serialized in the protobuf text format. +func (Export) MessageStringOf(m protoreflect.ProtoMessage) string { + return prototext.MarshalOptions{Multiline: false}.Format(m) +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/checkinit.go b/server/vendor/google.golang.org/protobuf/internal/impl/checkinit.go new file mode 100755 index 0000000..bff041e --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/checkinit.go @@ -0,0 +1,141 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "sync" + + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +func (mi *MessageInfo) checkInitialized(in protoiface.CheckInitializedInput) (protoiface.CheckInitializedOutput, error) { + var p pointer + if ms, ok := in.Message.(*messageState); ok { + p = ms.pointer() + } else { + p = in.Message.(*messageReflectWrapper).pointer() + } + return protoiface.CheckInitializedOutput{}, mi.checkInitializedPointer(p) +} + +func (mi *MessageInfo) checkInitializedPointer(p pointer) error { + mi.init() + if !mi.needsInitCheck { + return nil + } + if p.IsNil() { + for _, f := range mi.orderedCoderFields { + if f.isRequired { + return errors.RequiredNotSet(string(mi.Desc.Fields().ByNumber(f.num).FullName())) + } + } + return nil + } + if mi.extensionOffset.IsValid() { + e := p.Apply(mi.extensionOffset).Extensions() + if err := mi.isInitExtensions(e); err != nil { + return err + } + } + for _, f := range mi.orderedCoderFields { + if !f.isRequired && f.funcs.isInit == nil { + continue + } + fptr := p.Apply(f.offset) + if f.isPointer && fptr.Elem().IsNil() { + if f.isRequired { + return errors.RequiredNotSet(string(mi.Desc.Fields().ByNumber(f.num).FullName())) + } + continue + } + if f.funcs.isInit == nil { + continue + } + if err := f.funcs.isInit(fptr, f); err != nil { + return err + } + } + return nil +} + +func (mi *MessageInfo) isInitExtensions(ext *map[int32]ExtensionField) error { + if ext == nil { + return nil + } + for _, x := range *ext { + ei := getExtensionFieldInfo(x.Type()) + if ei.funcs.isInit == nil { + continue + } + v := x.Value() + if !v.IsValid() { + continue + } + if err := ei.funcs.isInit(v); err != nil { + return err + } + } + return nil +} + +var ( + needsInitCheckMu sync.Mutex + needsInitCheckMap sync.Map +) + +// needsInitCheck reports whether a message needs to be checked for partial initialization. +// +// It returns true if the message transitively includes any required or extension fields. +func needsInitCheck(md protoreflect.MessageDescriptor) bool { + if v, ok := needsInitCheckMap.Load(md); ok { + if has, ok := v.(bool); ok { + return has + } + } + needsInitCheckMu.Lock() + defer needsInitCheckMu.Unlock() + return needsInitCheckLocked(md) +} + +func needsInitCheckLocked(md protoreflect.MessageDescriptor) (has bool) { + if v, ok := needsInitCheckMap.Load(md); ok { + // If has is true, we've previously determined that this message + // needs init checks. + // + // If has is false, we've previously determined that it can never + // be uninitialized. + // + // If has is not a bool, we've just encountered a cycle in the + // message graph. In this case, it is safe to return false: If + // the message does have required fields, we'll detect them later + // in the graph traversal. + has, ok := v.(bool) + return ok && has + } + needsInitCheckMap.Store(md, struct{}{}) // avoid cycles while descending into this message + defer func() { + needsInitCheckMap.Store(md, has) + }() + if md.RequiredNumbers().Len() > 0 { + return true + } + if md.ExtensionRanges().Len() > 0 { + return true + } + for i := 0; i < md.Fields().Len(); i++ { + fd := md.Fields().Get(i) + // Map keys are never messages, so just consider the map value. + if fd.IsMap() { + fd = fd.MapValue() + } + fmd := fd.Message() + if fmd != nil && needsInitCheckLocked(fmd) { + return true + } + } + return false +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go b/server/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go new file mode 100755 index 0000000..e74cefd --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go @@ -0,0 +1,223 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "sync" + "sync/atomic" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/reflect/protoreflect" +) + +type extensionFieldInfo struct { + wiretag uint64 + tagsize int + unmarshalNeedsValue bool + funcs valueCoderFuncs + validation validationInfo +} + +var legacyExtensionFieldInfoCache sync.Map // map[protoreflect.ExtensionType]*extensionFieldInfo + +func getExtensionFieldInfo(xt protoreflect.ExtensionType) *extensionFieldInfo { + if xi, ok := xt.(*ExtensionInfo); ok { + xi.lazyInit() + return xi.info + } + return legacyLoadExtensionFieldInfo(xt) +} + +// legacyLoadExtensionFieldInfo dynamically loads a *ExtensionInfo for xt. +func legacyLoadExtensionFieldInfo(xt protoreflect.ExtensionType) *extensionFieldInfo { + if xi, ok := legacyExtensionFieldInfoCache.Load(xt); ok { + return xi.(*extensionFieldInfo) + } + e := makeExtensionFieldInfo(xt.TypeDescriptor()) + if e, ok := legacyMessageTypeCache.LoadOrStore(xt, e); ok { + return e.(*extensionFieldInfo) + } + return e +} + +func makeExtensionFieldInfo(xd protoreflect.ExtensionDescriptor) *extensionFieldInfo { + var wiretag uint64 + if !xd.IsPacked() { + wiretag = protowire.EncodeTag(xd.Number(), wireTypes[xd.Kind()]) + } else { + wiretag = protowire.EncodeTag(xd.Number(), protowire.BytesType) + } + e := &extensionFieldInfo{ + wiretag: wiretag, + tagsize: protowire.SizeVarint(wiretag), + funcs: encoderFuncsForValue(xd), + } + // Does the unmarshal function need a value passed to it? + // This is true for composite types, where we pass in a message, list, or map to fill in, + // and for enums, where we pass in a prototype value to specify the concrete enum type. + switch xd.Kind() { + case protoreflect.MessageKind, protoreflect.GroupKind, protoreflect.EnumKind: + e.unmarshalNeedsValue = true + default: + if xd.Cardinality() == protoreflect.Repeated { + e.unmarshalNeedsValue = true + } + } + return e +} + +type lazyExtensionValue struct { + atomicOnce uint32 // atomically set if value is valid + mu sync.Mutex + xi *extensionFieldInfo + value protoreflect.Value + b []byte + fn func() protoreflect.Value +} + +type ExtensionField struct { + typ protoreflect.ExtensionType + + // value is either the value of GetValue, + // or a *lazyExtensionValue that then returns the value of GetValue. + value protoreflect.Value + lazy *lazyExtensionValue +} + +func (f *ExtensionField) appendLazyBytes(xt protoreflect.ExtensionType, xi *extensionFieldInfo, num protowire.Number, wtyp protowire.Type, b []byte) { + if f.lazy == nil { + f.lazy = &lazyExtensionValue{xi: xi} + } + f.typ = xt + f.lazy.xi = xi + f.lazy.b = protowire.AppendTag(f.lazy.b, num, wtyp) + f.lazy.b = append(f.lazy.b, b...) +} + +func (f *ExtensionField) canLazy(xt protoreflect.ExtensionType) bool { + if f.typ == nil { + return true + } + if f.typ == xt && f.lazy != nil && atomic.LoadUint32(&f.lazy.atomicOnce) == 0 { + return true + } + return false +} + +func (f *ExtensionField) lazyInit() { + f.lazy.mu.Lock() + defer f.lazy.mu.Unlock() + if atomic.LoadUint32(&f.lazy.atomicOnce) == 1 { + return + } + if f.lazy.xi != nil { + b := f.lazy.b + val := f.typ.New() + for len(b) > 0 { + var tag uint64 + if b[0] < 0x80 { + tag = uint64(b[0]) + b = b[1:] + } else if len(b) >= 2 && b[1] < 128 { + tag = uint64(b[0]&0x7f) + uint64(b[1])<<7 + b = b[2:] + } else { + var n int + tag, n = protowire.ConsumeVarint(b) + if n < 0 { + panic(errors.New("bad tag in lazy extension decoding")) + } + b = b[n:] + } + num := protowire.Number(tag >> 3) + wtyp := protowire.Type(tag & 7) + var out unmarshalOutput + var err error + val, out, err = f.lazy.xi.funcs.unmarshal(b, val, num, wtyp, lazyUnmarshalOptions) + if err != nil { + panic(errors.New("decode failure in lazy extension decoding: %v", err)) + } + b = b[out.n:] + } + f.lazy.value = val + } else { + f.lazy.value = f.lazy.fn() + } + f.lazy.xi = nil + f.lazy.fn = nil + f.lazy.b = nil + atomic.StoreUint32(&f.lazy.atomicOnce, 1) +} + +// Set sets the type and value of the extension field. +// This must not be called concurrently. +func (f *ExtensionField) Set(t protoreflect.ExtensionType, v protoreflect.Value) { + f.typ = t + f.value = v + f.lazy = nil +} + +// SetLazy sets the type and a value that is to be lazily evaluated upon first use. +// This must not be called concurrently. +func (f *ExtensionField) SetLazy(t protoreflect.ExtensionType, fn func() protoreflect.Value) { + f.typ = t + f.lazy = &lazyExtensionValue{fn: fn} +} + +// Value returns the value of the extension field. +// This may be called concurrently. +func (f *ExtensionField) Value() protoreflect.Value { + if f.lazy != nil { + if atomic.LoadUint32(&f.lazy.atomicOnce) == 0 { + f.lazyInit() + } + return f.lazy.value + } + return f.value +} + +// Type returns the type of the extension field. +// This may be called concurrently. +func (f ExtensionField) Type() protoreflect.ExtensionType { + return f.typ +} + +// IsSet returns whether the extension field is set. +// This may be called concurrently. +func (f ExtensionField) IsSet() bool { + return f.typ != nil +} + +// IsLazy reports whether a field is lazily encoded. +// It is exported for testing. +func IsLazy(m protoreflect.Message, fd protoreflect.FieldDescriptor) bool { + var mi *MessageInfo + var p pointer + switch m := m.(type) { + case *messageState: + mi = m.messageInfo() + p = m.pointer() + case *messageReflectWrapper: + mi = m.messageInfo() + p = m.pointer() + default: + return false + } + xd, ok := fd.(protoreflect.ExtensionTypeDescriptor) + if !ok { + return false + } + xt := xd.Type() + ext := mi.extensionMap(p) + if ext == nil { + return false + } + f, ok := (*ext)[int32(fd.Number())] + if !ok { + return false + } + return f.typ == xt && f.lazy != nil && atomic.LoadUint32(&f.lazy.atomicOnce) == 0 +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/codec_field.go b/server/vendor/google.golang.org/protobuf/internal/impl/codec_field.go new file mode 100755 index 0000000..3fadd24 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/codec_field.go @@ -0,0 +1,830 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + "sync" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" + "google.golang.org/protobuf/runtime/protoiface" +) + +type errInvalidUTF8 struct{} + +func (errInvalidUTF8) Error() string { return "string field contains invalid UTF-8" } +func (errInvalidUTF8) InvalidUTF8() bool { return true } +func (errInvalidUTF8) Unwrap() error { return errors.Error } + +// initOneofFieldCoders initializes the fast-path functions for the fields in a oneof. +// +// For size, marshal, and isInit operations, functions are set only on the first field +// in the oneof. The functions are called when the oneof is non-nil, and will dispatch +// to the appropriate field-specific function as necessary. +// +// The unmarshal function is set on each field individually as usual. +func (mi *MessageInfo) initOneofFieldCoders(od protoreflect.OneofDescriptor, si structInfo) { + fs := si.oneofsByName[od.Name()] + ft := fs.Type + oneofFields := make(map[reflect.Type]*coderFieldInfo) + needIsInit := false + fields := od.Fields() + for i, lim := 0, fields.Len(); i < lim; i++ { + fd := od.Fields().Get(i) + num := fd.Number() + // Make a copy of the original coderFieldInfo for use in unmarshaling. + // + // oneofFields[oneofType].funcs.marshal is the field-specific marshal function. + // + // mi.coderFields[num].marshal is set on only the first field in the oneof, + // and dispatches to the field-specific marshaler in oneofFields. + cf := *mi.coderFields[num] + ot := si.oneofWrappersByNumber[num] + cf.ft = ot.Field(0).Type + cf.mi, cf.funcs = fieldCoder(fd, cf.ft) + oneofFields[ot] = &cf + if cf.funcs.isInit != nil { + needIsInit = true + } + mi.coderFields[num].funcs.unmarshal = func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + var vw reflect.Value // pointer to wrapper type + vi := p.AsValueOf(ft).Elem() // oneof field value of interface kind + if !vi.IsNil() && !vi.Elem().IsNil() && vi.Elem().Elem().Type() == ot { + vw = vi.Elem() + } else { + vw = reflect.New(ot) + } + out, err := cf.funcs.unmarshal(b, pointerOfValue(vw).Apply(zeroOffset), wtyp, &cf, opts) + if err != nil { + return out, err + } + vi.Set(vw) + return out, nil + } + } + getInfo := func(p pointer) (pointer, *coderFieldInfo) { + v := p.AsValueOf(ft).Elem() + if v.IsNil() { + return pointer{}, nil + } + v = v.Elem() // interface -> *struct + if v.IsNil() { + return pointer{}, nil + } + return pointerOfValue(v).Apply(zeroOffset), oneofFields[v.Elem().Type()] + } + first := mi.coderFields[od.Fields().Get(0).Number()] + first.funcs.size = func(p pointer, _ *coderFieldInfo, opts marshalOptions) int { + p, info := getInfo(p) + if info == nil || info.funcs.size == nil { + return 0 + } + return info.funcs.size(p, info, opts) + } + first.funcs.marshal = func(b []byte, p pointer, _ *coderFieldInfo, opts marshalOptions) ([]byte, error) { + p, info := getInfo(p) + if info == nil || info.funcs.marshal == nil { + return b, nil + } + return info.funcs.marshal(b, p, info, opts) + } + first.funcs.merge = func(dst, src pointer, _ *coderFieldInfo, opts mergeOptions) { + srcp, srcinfo := getInfo(src) + if srcinfo == nil || srcinfo.funcs.merge == nil { + return + } + dstp, dstinfo := getInfo(dst) + if dstinfo != srcinfo { + dst.AsValueOf(ft).Elem().Set(reflect.New(src.AsValueOf(ft).Elem().Elem().Elem().Type())) + dstp = pointerOfValue(dst.AsValueOf(ft).Elem().Elem()).Apply(zeroOffset) + } + srcinfo.funcs.merge(dstp, srcp, srcinfo, opts) + } + if needIsInit { + first.funcs.isInit = func(p pointer, _ *coderFieldInfo) error { + p, info := getInfo(p) + if info == nil || info.funcs.isInit == nil { + return nil + } + return info.funcs.isInit(p, info) + } + } +} + +func makeWeakMessageFieldCoder(fd protoreflect.FieldDescriptor) pointerCoderFuncs { + var once sync.Once + var messageType protoreflect.MessageType + lazyInit := func() { + once.Do(func() { + messageName := fd.Message().FullName() + messageType, _ = protoregistry.GlobalTypes.FindMessageByName(messageName) + }) + } + + return pointerCoderFuncs{ + size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int { + m, ok := p.WeakFields().get(f.num) + if !ok { + return 0 + } + lazyInit() + if messageType == nil { + panic(fmt.Sprintf("weak message %v is not linked in", fd.Message().FullName())) + } + return sizeMessage(m, f.tagsize, opts) + }, + marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + m, ok := p.WeakFields().get(f.num) + if !ok { + return b, nil + } + lazyInit() + if messageType == nil { + panic(fmt.Sprintf("weak message %v is not linked in", fd.Message().FullName())) + } + return appendMessage(b, m, f.wiretag, opts) + }, + unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + fs := p.WeakFields() + m, ok := fs.get(f.num) + if !ok { + lazyInit() + if messageType == nil { + return unmarshalOutput{}, errUnknown + } + m = messageType.New().Interface() + fs.set(f.num, m) + } + return consumeMessage(b, m, wtyp, opts) + }, + isInit: func(p pointer, f *coderFieldInfo) error { + m, ok := p.WeakFields().get(f.num) + if !ok { + return nil + } + return proto.CheckInitialized(m) + }, + merge: func(dst, src pointer, f *coderFieldInfo, opts mergeOptions) { + sm, ok := src.WeakFields().get(f.num) + if !ok { + return + } + dm, ok := dst.WeakFields().get(f.num) + if !ok { + lazyInit() + if messageType == nil { + panic(fmt.Sprintf("weak message %v is not linked in", fd.Message().FullName())) + } + dm = messageType.New().Interface() + dst.WeakFields().set(f.num, dm) + } + opts.Merge(dm, sm) + }, + } +} + +func makeMessageFieldCoder(fd protoreflect.FieldDescriptor, ft reflect.Type) pointerCoderFuncs { + if mi := getMessageInfo(ft); mi != nil { + funcs := pointerCoderFuncs{ + size: sizeMessageInfo, + marshal: appendMessageInfo, + unmarshal: consumeMessageInfo, + merge: mergeMessage, + } + if needsInitCheck(mi.Desc) { + funcs.isInit = isInitMessageInfo + } + return funcs + } else { + return pointerCoderFuncs{ + size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int { + m := asMessage(p.AsValueOf(ft).Elem()) + return sizeMessage(m, f.tagsize, opts) + }, + marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + m := asMessage(p.AsValueOf(ft).Elem()) + return appendMessage(b, m, f.wiretag, opts) + }, + unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + mp := p.AsValueOf(ft).Elem() + if mp.IsNil() { + mp.Set(reflect.New(ft.Elem())) + } + return consumeMessage(b, asMessage(mp), wtyp, opts) + }, + isInit: func(p pointer, f *coderFieldInfo) error { + m := asMessage(p.AsValueOf(ft).Elem()) + return proto.CheckInitialized(m) + }, + merge: mergeMessage, + } + } +} + +func sizeMessageInfo(p pointer, f *coderFieldInfo, opts marshalOptions) int { + return protowire.SizeBytes(f.mi.sizePointer(p.Elem(), opts)) + f.tagsize +} + +func appendMessageInfo(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(f.mi.sizePointer(p.Elem(), opts))) + return f.mi.marshalAppendPointer(b, p.Elem(), opts) +} + +func consumeMessageInfo(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + if p.Elem().IsNil() { + p.SetPointer(pointerOfValue(reflect.New(f.mi.GoReflectType.Elem()))) + } + o, err := f.mi.unmarshalPointer(v, p.Elem(), 0, opts) + if err != nil { + return out, err + } + out.n = n + out.initialized = o.initialized + return out, nil +} + +func isInitMessageInfo(p pointer, f *coderFieldInfo) error { + return f.mi.checkInitializedPointer(p.Elem()) +} + +func sizeMessage(m proto.Message, tagsize int, _ marshalOptions) int { + return protowire.SizeBytes(proto.Size(m)) + tagsize +} + +func appendMessage(b []byte, m proto.Message, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(proto.Size(m))) + return opts.Options().MarshalAppend(b, m) +} + +func consumeMessage(b []byte, m proto.Message, wtyp protowire.Type, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + o, err := opts.Options().UnmarshalState(protoiface.UnmarshalInput{ + Buf: v, + Message: m.ProtoReflect(), + }) + if err != nil { + return out, err + } + out.n = n + out.initialized = o.Flags&protoiface.UnmarshalInitialized != 0 + return out, nil +} + +func sizeMessageValue(v protoreflect.Value, tagsize int, opts marshalOptions) int { + m := v.Message().Interface() + return sizeMessage(m, tagsize, opts) +} + +func appendMessageValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + m := v.Message().Interface() + return appendMessage(b, m, wiretag, opts) +} + +func consumeMessageValue(b []byte, v protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (protoreflect.Value, unmarshalOutput, error) { + m := v.Message().Interface() + out, err := consumeMessage(b, m, wtyp, opts) + return v, out, err +} + +func isInitMessageValue(v protoreflect.Value) error { + m := v.Message().Interface() + return proto.CheckInitialized(m) +} + +var coderMessageValue = valueCoderFuncs{ + size: sizeMessageValue, + marshal: appendMessageValue, + unmarshal: consumeMessageValue, + isInit: isInitMessageValue, + merge: mergeMessageValue, +} + +func sizeGroupValue(v protoreflect.Value, tagsize int, opts marshalOptions) int { + m := v.Message().Interface() + return sizeGroup(m, tagsize, opts) +} + +func appendGroupValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + m := v.Message().Interface() + return appendGroup(b, m, wiretag, opts) +} + +func consumeGroupValue(b []byte, v protoreflect.Value, num protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (protoreflect.Value, unmarshalOutput, error) { + m := v.Message().Interface() + out, err := consumeGroup(b, m, num, wtyp, opts) + return v, out, err +} + +var coderGroupValue = valueCoderFuncs{ + size: sizeGroupValue, + marshal: appendGroupValue, + unmarshal: consumeGroupValue, + isInit: isInitMessageValue, + merge: mergeMessageValue, +} + +func makeGroupFieldCoder(fd protoreflect.FieldDescriptor, ft reflect.Type) pointerCoderFuncs { + num := fd.Number() + if mi := getMessageInfo(ft); mi != nil { + funcs := pointerCoderFuncs{ + size: sizeGroupType, + marshal: appendGroupType, + unmarshal: consumeGroupType, + merge: mergeMessage, + } + if needsInitCheck(mi.Desc) { + funcs.isInit = isInitMessageInfo + } + return funcs + } else { + return pointerCoderFuncs{ + size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int { + m := asMessage(p.AsValueOf(ft).Elem()) + return sizeGroup(m, f.tagsize, opts) + }, + marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + m := asMessage(p.AsValueOf(ft).Elem()) + return appendGroup(b, m, f.wiretag, opts) + }, + unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + mp := p.AsValueOf(ft).Elem() + if mp.IsNil() { + mp.Set(reflect.New(ft.Elem())) + } + return consumeGroup(b, asMessage(mp), num, wtyp, opts) + }, + isInit: func(p pointer, f *coderFieldInfo) error { + m := asMessage(p.AsValueOf(ft).Elem()) + return proto.CheckInitialized(m) + }, + merge: mergeMessage, + } + } +} + +func sizeGroupType(p pointer, f *coderFieldInfo, opts marshalOptions) int { + return 2*f.tagsize + f.mi.sizePointer(p.Elem(), opts) +} + +func appendGroupType(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, f.wiretag) // start group + b, err := f.mi.marshalAppendPointer(b, p.Elem(), opts) + b = protowire.AppendVarint(b, f.wiretag+1) // end group + return b, err +} + +func consumeGroupType(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.StartGroupType { + return out, errUnknown + } + if p.Elem().IsNil() { + p.SetPointer(pointerOfValue(reflect.New(f.mi.GoReflectType.Elem()))) + } + return f.mi.unmarshalPointer(b, p.Elem(), f.num, opts) +} + +func sizeGroup(m proto.Message, tagsize int, _ marshalOptions) int { + return 2*tagsize + proto.Size(m) +} + +func appendGroup(b []byte, m proto.Message, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) // start group + b, err := opts.Options().MarshalAppend(b, m) + b = protowire.AppendVarint(b, wiretag+1) // end group + return b, err +} + +func consumeGroup(b []byte, m proto.Message, num protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.StartGroupType { + return out, errUnknown + } + b, n := protowire.ConsumeGroup(num, b) + if n < 0 { + return out, errDecode + } + o, err := opts.Options().UnmarshalState(protoiface.UnmarshalInput{ + Buf: b, + Message: m.ProtoReflect(), + }) + if err != nil { + return out, err + } + out.n = n + out.initialized = o.Flags&protoiface.UnmarshalInitialized != 0 + return out, nil +} + +func makeMessageSliceFieldCoder(fd protoreflect.FieldDescriptor, ft reflect.Type) pointerCoderFuncs { + if mi := getMessageInfo(ft); mi != nil { + funcs := pointerCoderFuncs{ + size: sizeMessageSliceInfo, + marshal: appendMessageSliceInfo, + unmarshal: consumeMessageSliceInfo, + merge: mergeMessageSlice, + } + if needsInitCheck(mi.Desc) { + funcs.isInit = isInitMessageSliceInfo + } + return funcs + } + return pointerCoderFuncs{ + size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int { + return sizeMessageSlice(p, ft, f.tagsize, opts) + }, + marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + return appendMessageSlice(b, p, f.wiretag, ft, opts) + }, + unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + return consumeMessageSlice(b, p, ft, wtyp, opts) + }, + isInit: func(p pointer, f *coderFieldInfo) error { + return isInitMessageSlice(p, ft) + }, + merge: mergeMessageSlice, + } +} + +func sizeMessageSliceInfo(p pointer, f *coderFieldInfo, opts marshalOptions) int { + s := p.PointerSlice() + n := 0 + for _, v := range s { + n += protowire.SizeBytes(f.mi.sizePointer(v, opts)) + f.tagsize + } + return n +} + +func appendMessageSliceInfo(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := p.PointerSlice() + var err error + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + siz := f.mi.sizePointer(v, opts) + b = protowire.AppendVarint(b, uint64(siz)) + b, err = f.mi.marshalAppendPointer(b, v, opts) + if err != nil { + return b, err + } + } + return b, nil +} + +func consumeMessageSliceInfo(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + m := reflect.New(f.mi.GoReflectType.Elem()).Interface() + mp := pointerOfIface(m) + o, err := f.mi.unmarshalPointer(v, mp, 0, opts) + if err != nil { + return out, err + } + p.AppendPointerSlice(mp) + out.n = n + out.initialized = o.initialized + return out, nil +} + +func isInitMessageSliceInfo(p pointer, f *coderFieldInfo) error { + s := p.PointerSlice() + for _, v := range s { + if err := f.mi.checkInitializedPointer(v); err != nil { + return err + } + } + return nil +} + +func sizeMessageSlice(p pointer, goType reflect.Type, tagsize int, _ marshalOptions) int { + s := p.PointerSlice() + n := 0 + for _, v := range s { + m := asMessage(v.AsValueOf(goType.Elem())) + n += protowire.SizeBytes(proto.Size(m)) + tagsize + } + return n +} + +func appendMessageSlice(b []byte, p pointer, wiretag uint64, goType reflect.Type, opts marshalOptions) ([]byte, error) { + s := p.PointerSlice() + var err error + for _, v := range s { + m := asMessage(v.AsValueOf(goType.Elem())) + b = protowire.AppendVarint(b, wiretag) + siz := proto.Size(m) + b = protowire.AppendVarint(b, uint64(siz)) + b, err = opts.Options().MarshalAppend(b, m) + if err != nil { + return b, err + } + } + return b, nil +} + +func consumeMessageSlice(b []byte, p pointer, goType reflect.Type, wtyp protowire.Type, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + mp := reflect.New(goType.Elem()) + o, err := opts.Options().UnmarshalState(protoiface.UnmarshalInput{ + Buf: v, + Message: asMessage(mp).ProtoReflect(), + }) + if err != nil { + return out, err + } + p.AppendPointerSlice(pointerOfValue(mp)) + out.n = n + out.initialized = o.Flags&protoiface.UnmarshalInitialized != 0 + return out, nil +} + +func isInitMessageSlice(p pointer, goType reflect.Type) error { + s := p.PointerSlice() + for _, v := range s { + m := asMessage(v.AsValueOf(goType.Elem())) + if err := proto.CheckInitialized(m); err != nil { + return err + } + } + return nil +} + +// Slices of messages + +func sizeMessageSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) int { + list := listv.List() + n := 0 + for i, llen := 0, list.Len(); i < llen; i++ { + m := list.Get(i).Message().Interface() + n += protowire.SizeBytes(proto.Size(m)) + tagsize + } + return n +} + +func appendMessageSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + mopts := opts.Options() + for i, llen := 0, list.Len(); i < llen; i++ { + m := list.Get(i).Message().Interface() + b = protowire.AppendVarint(b, wiretag) + siz := proto.Size(m) + b = protowire.AppendVarint(b, uint64(siz)) + var err error + b, err = mopts.MarshalAppend(b, m) + if err != nil { + return b, err + } + } + return b, nil +} + +func consumeMessageSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp != protowire.BytesType { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + m := list.NewElement() + o, err := opts.Options().UnmarshalState(protoiface.UnmarshalInput{ + Buf: v, + Message: m.Message(), + }) + if err != nil { + return protoreflect.Value{}, out, err + } + list.Append(m) + out.n = n + out.initialized = o.Flags&protoiface.UnmarshalInitialized != 0 + return listv, out, nil +} + +func isInitMessageSliceValue(listv protoreflect.Value) error { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + m := list.Get(i).Message().Interface() + if err := proto.CheckInitialized(m); err != nil { + return err + } + } + return nil +} + +var coderMessageSliceValue = valueCoderFuncs{ + size: sizeMessageSliceValue, + marshal: appendMessageSliceValue, + unmarshal: consumeMessageSliceValue, + isInit: isInitMessageSliceValue, + merge: mergeMessageListValue, +} + +func sizeGroupSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) int { + list := listv.List() + n := 0 + for i, llen := 0, list.Len(); i < llen; i++ { + m := list.Get(i).Message().Interface() + n += 2*tagsize + proto.Size(m) + } + return n +} + +func appendGroupSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + mopts := opts.Options() + for i, llen := 0, list.Len(); i < llen; i++ { + m := list.Get(i).Message().Interface() + b = protowire.AppendVarint(b, wiretag) // start group + var err error + b, err = mopts.MarshalAppend(b, m) + if err != nil { + return b, err + } + b = protowire.AppendVarint(b, wiretag+1) // end group + } + return b, nil +} + +func consumeGroupSliceValue(b []byte, listv protoreflect.Value, num protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp != protowire.StartGroupType { + return protoreflect.Value{}, out, errUnknown + } + b, n := protowire.ConsumeGroup(num, b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + m := list.NewElement() + o, err := opts.Options().UnmarshalState(protoiface.UnmarshalInput{ + Buf: b, + Message: m.Message(), + }) + if err != nil { + return protoreflect.Value{}, out, err + } + list.Append(m) + out.n = n + out.initialized = o.Flags&protoiface.UnmarshalInitialized != 0 + return listv, out, nil +} + +var coderGroupSliceValue = valueCoderFuncs{ + size: sizeGroupSliceValue, + marshal: appendGroupSliceValue, + unmarshal: consumeGroupSliceValue, + isInit: isInitMessageSliceValue, + merge: mergeMessageListValue, +} + +func makeGroupSliceFieldCoder(fd protoreflect.FieldDescriptor, ft reflect.Type) pointerCoderFuncs { + num := fd.Number() + if mi := getMessageInfo(ft); mi != nil { + funcs := pointerCoderFuncs{ + size: sizeGroupSliceInfo, + marshal: appendGroupSliceInfo, + unmarshal: consumeGroupSliceInfo, + merge: mergeMessageSlice, + } + if needsInitCheck(mi.Desc) { + funcs.isInit = isInitMessageSliceInfo + } + return funcs + } + return pointerCoderFuncs{ + size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int { + return sizeGroupSlice(p, ft, f.tagsize, opts) + }, + marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + return appendGroupSlice(b, p, f.wiretag, ft, opts) + }, + unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + return consumeGroupSlice(b, p, num, wtyp, ft, opts) + }, + isInit: func(p pointer, f *coderFieldInfo) error { + return isInitMessageSlice(p, ft) + }, + merge: mergeMessageSlice, + } +} + +func sizeGroupSlice(p pointer, messageType reflect.Type, tagsize int, _ marshalOptions) int { + s := p.PointerSlice() + n := 0 + for _, v := range s { + m := asMessage(v.AsValueOf(messageType.Elem())) + n += 2*tagsize + proto.Size(m) + } + return n +} + +func appendGroupSlice(b []byte, p pointer, wiretag uint64, messageType reflect.Type, opts marshalOptions) ([]byte, error) { + s := p.PointerSlice() + var err error + for _, v := range s { + m := asMessage(v.AsValueOf(messageType.Elem())) + b = protowire.AppendVarint(b, wiretag) // start group + b, err = opts.Options().MarshalAppend(b, m) + if err != nil { + return b, err + } + b = protowire.AppendVarint(b, wiretag+1) // end group + } + return b, nil +} + +func consumeGroupSlice(b []byte, p pointer, num protowire.Number, wtyp protowire.Type, goType reflect.Type, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.StartGroupType { + return out, errUnknown + } + b, n := protowire.ConsumeGroup(num, b) + if n < 0 { + return out, errDecode + } + mp := reflect.New(goType.Elem()) + o, err := opts.Options().UnmarshalState(protoiface.UnmarshalInput{ + Buf: b, + Message: asMessage(mp).ProtoReflect(), + }) + if err != nil { + return out, err + } + p.AppendPointerSlice(pointerOfValue(mp)) + out.n = n + out.initialized = o.Flags&protoiface.UnmarshalInitialized != 0 + return out, nil +} + +func sizeGroupSliceInfo(p pointer, f *coderFieldInfo, opts marshalOptions) int { + s := p.PointerSlice() + n := 0 + for _, v := range s { + n += 2*f.tagsize + f.mi.sizePointer(v, opts) + } + return n +} + +func appendGroupSliceInfo(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := p.PointerSlice() + var err error + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) // start group + b, err = f.mi.marshalAppendPointer(b, v, opts) + if err != nil { + return b, err + } + b = protowire.AppendVarint(b, f.wiretag+1) // end group + } + return b, nil +} + +func consumeGroupSliceInfo(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + if wtyp != protowire.StartGroupType { + return unmarshalOutput{}, errUnknown + } + m := reflect.New(f.mi.GoReflectType.Elem()).Interface() + mp := pointerOfIface(m) + out, err := f.mi.unmarshalPointer(b, mp, f.num, opts) + if err != nil { + return out, err + } + p.AppendPointerSlice(mp) + return out, nil +} + +func asMessage(v reflect.Value) protoreflect.ProtoMessage { + if m, ok := v.Interface().(protoreflect.ProtoMessage); ok { + return m + } + return legacyWrapMessage(v).Interface() +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go b/server/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go new file mode 100755 index 0000000..1a509b6 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go @@ -0,0 +1,5637 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-types. DO NOT EDIT. + +package impl + +import ( + "math" + "unicode/utf8" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// sizeBool returns the size of wire encoding a bool pointer as a Bool. +func sizeBool(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Bool() + return f.tagsize + protowire.SizeVarint(protowire.EncodeBool(v)) +} + +// appendBool wire encodes a bool pointer as a Bool. +func appendBool(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Bool() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeBool(v)) + return b, nil +} + +// consumeBool wire decodes a bool pointer as a Bool. +func consumeBool(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *p.Bool() = protowire.DecodeBool(v) + out.n = n + return out, nil +} + +var coderBool = pointerCoderFuncs{ + size: sizeBool, + marshal: appendBool, + unmarshal: consumeBool, + merge: mergeBool, +} + +// sizeBoolNoZero returns the size of wire encoding a bool pointer as a Bool. +// The zero value is not encoded. +func sizeBoolNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Bool() + if v == false { + return 0 + } + return f.tagsize + protowire.SizeVarint(protowire.EncodeBool(v)) +} + +// appendBoolNoZero wire encodes a bool pointer as a Bool. +// The zero value is not encoded. +func appendBoolNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Bool() + if v == false { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeBool(v)) + return b, nil +} + +var coderBoolNoZero = pointerCoderFuncs{ + size: sizeBoolNoZero, + marshal: appendBoolNoZero, + unmarshal: consumeBool, + merge: mergeBoolNoZero, +} + +// sizeBoolPtr returns the size of wire encoding a *bool pointer as a Bool. +// It panics if the pointer is nil. +func sizeBoolPtr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := **p.BoolPtr() + return f.tagsize + protowire.SizeVarint(protowire.EncodeBool(v)) +} + +// appendBoolPtr wire encodes a *bool pointer as a Bool. +// It panics if the pointer is nil. +func appendBoolPtr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.BoolPtr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeBool(v)) + return b, nil +} + +// consumeBoolPtr wire decodes a *bool pointer as a Bool. +func consumeBoolPtr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + vp := p.BoolPtr() + if *vp == nil { + *vp = new(bool) + } + **vp = protowire.DecodeBool(v) + out.n = n + return out, nil +} + +var coderBoolPtr = pointerCoderFuncs{ + size: sizeBoolPtr, + marshal: appendBoolPtr, + unmarshal: consumeBoolPtr, + merge: mergeBoolPtr, +} + +// sizeBoolSlice returns the size of wire encoding a []bool pointer as a repeated Bool. +func sizeBoolSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.BoolSlice() + for _, v := range s { + size += f.tagsize + protowire.SizeVarint(protowire.EncodeBool(v)) + } + return size +} + +// appendBoolSlice encodes a []bool pointer as a repeated Bool. +func appendBoolSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.BoolSlice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeBool(v)) + } + return b, nil +} + +// consumeBoolSlice wire decodes a []bool pointer as a repeated Bool. +func consumeBoolSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.BoolSlice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + s = append(s, protowire.DecodeBool(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *sp = append(*sp, protowire.DecodeBool(v)) + out.n = n + return out, nil +} + +var coderBoolSlice = pointerCoderFuncs{ + size: sizeBoolSlice, + marshal: appendBoolSlice, + unmarshal: consumeBoolSlice, + merge: mergeBoolSlice, +} + +// sizeBoolPackedSlice returns the size of wire encoding a []bool pointer as a packed repeated Bool. +func sizeBoolPackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.BoolSlice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += protowire.SizeVarint(protowire.EncodeBool(v)) + } + return f.tagsize + protowire.SizeBytes(n) +} + +// appendBoolPackedSlice encodes a []bool pointer as a packed repeated Bool. +func appendBoolPackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.BoolSlice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := 0 + for _, v := range s { + n += protowire.SizeVarint(protowire.EncodeBool(v)) + } + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendVarint(b, protowire.EncodeBool(v)) + } + return b, nil +} + +var coderBoolPackedSlice = pointerCoderFuncs{ + size: sizeBoolPackedSlice, + marshal: appendBoolPackedSlice, + unmarshal: consumeBoolSlice, + merge: mergeBoolSlice, +} + +// sizeBoolValue returns the size of wire encoding a bool value as a Bool. +func sizeBoolValue(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeVarint(protowire.EncodeBool(v.Bool())) +} + +// appendBoolValue encodes a bool value as a Bool. +func appendBoolValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, protowire.EncodeBool(v.Bool())) + return b, nil +} + +// consumeBoolValue decodes a bool value as a Bool. +func consumeBoolValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfBool(protowire.DecodeBool(v)), out, nil +} + +var coderBoolValue = valueCoderFuncs{ + size: sizeBoolValue, + marshal: appendBoolValue, + unmarshal: consumeBoolValue, + merge: mergeScalarValue, +} + +// sizeBoolSliceValue returns the size of wire encoding a []bool value as a repeated Bool. +func sizeBoolSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeVarint(protowire.EncodeBool(v.Bool())) + } + return size +} + +// appendBoolSliceValue encodes a []bool value as a repeated Bool. +func appendBoolSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, protowire.EncodeBool(v.Bool())) + } + return b, nil +} + +// consumeBoolSliceValue wire decodes a []bool value as a repeated Bool. +func consumeBoolSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfBool(protowire.DecodeBool(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfBool(protowire.DecodeBool(v))) + out.n = n + return listv, out, nil +} + +var coderBoolSliceValue = valueCoderFuncs{ + size: sizeBoolSliceValue, + marshal: appendBoolSliceValue, + unmarshal: consumeBoolSliceValue, + merge: mergeListValue, +} + +// sizeBoolPackedSliceValue returns the size of wire encoding a []bool value as a packed repeated Bool. +func sizeBoolPackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := 0 + for i, llen := 0, llen; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(protowire.EncodeBool(v.Bool())) + } + return tagsize + protowire.SizeBytes(n) +} + +// appendBoolPackedSliceValue encodes a []bool value as a packed repeated Bool. +func appendBoolPackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := 0 + for i := 0; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(protowire.EncodeBool(v.Bool())) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, protowire.EncodeBool(v.Bool())) + } + return b, nil +} + +var coderBoolPackedSliceValue = valueCoderFuncs{ + size: sizeBoolPackedSliceValue, + marshal: appendBoolPackedSliceValue, + unmarshal: consumeBoolSliceValue, + merge: mergeListValue, +} + +// sizeEnumValue returns the size of wire encoding a value as a Enum. +func sizeEnumValue(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeVarint(uint64(v.Enum())) +} + +// appendEnumValue encodes a value as a Enum. +func appendEnumValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(v.Enum())) + return b, nil +} + +// consumeEnumValue decodes a value as a Enum. +func consumeEnumValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfEnum(protoreflect.EnumNumber(v)), out, nil +} + +var coderEnumValue = valueCoderFuncs{ + size: sizeEnumValue, + marshal: appendEnumValue, + unmarshal: consumeEnumValue, + merge: mergeScalarValue, +} + +// sizeEnumSliceValue returns the size of wire encoding a [] value as a repeated Enum. +func sizeEnumSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeVarint(uint64(v.Enum())) + } + return size +} + +// appendEnumSliceValue encodes a [] value as a repeated Enum. +func appendEnumSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(v.Enum())) + } + return b, nil +} + +// consumeEnumSliceValue wire decodes a [] value as a repeated Enum. +func consumeEnumSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfEnum(protoreflect.EnumNumber(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfEnum(protoreflect.EnumNumber(v))) + out.n = n + return listv, out, nil +} + +var coderEnumSliceValue = valueCoderFuncs{ + size: sizeEnumSliceValue, + marshal: appendEnumSliceValue, + unmarshal: consumeEnumSliceValue, + merge: mergeListValue, +} + +// sizeEnumPackedSliceValue returns the size of wire encoding a [] value as a packed repeated Enum. +func sizeEnumPackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := 0 + for i, llen := 0, llen; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(uint64(v.Enum())) + } + return tagsize + protowire.SizeBytes(n) +} + +// appendEnumPackedSliceValue encodes a [] value as a packed repeated Enum. +func appendEnumPackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := 0 + for i := 0; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(uint64(v.Enum())) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, uint64(v.Enum())) + } + return b, nil +} + +var coderEnumPackedSliceValue = valueCoderFuncs{ + size: sizeEnumPackedSliceValue, + marshal: appendEnumPackedSliceValue, + unmarshal: consumeEnumSliceValue, + merge: mergeListValue, +} + +// sizeInt32 returns the size of wire encoding a int32 pointer as a Int32. +func sizeInt32(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int32() + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendInt32 wire encodes a int32 pointer as a Int32. +func appendInt32(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int32() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +// consumeInt32 wire decodes a int32 pointer as a Int32. +func consumeInt32(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *p.Int32() = int32(v) + out.n = n + return out, nil +} + +var coderInt32 = pointerCoderFuncs{ + size: sizeInt32, + marshal: appendInt32, + unmarshal: consumeInt32, + merge: mergeInt32, +} + +// sizeInt32NoZero returns the size of wire encoding a int32 pointer as a Int32. +// The zero value is not encoded. +func sizeInt32NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int32() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendInt32NoZero wire encodes a int32 pointer as a Int32. +// The zero value is not encoded. +func appendInt32NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int32() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +var coderInt32NoZero = pointerCoderFuncs{ + size: sizeInt32NoZero, + marshal: appendInt32NoZero, + unmarshal: consumeInt32, + merge: mergeInt32NoZero, +} + +// sizeInt32Ptr returns the size of wire encoding a *int32 pointer as a Int32. +// It panics if the pointer is nil. +func sizeInt32Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := **p.Int32Ptr() + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendInt32Ptr wire encodes a *int32 pointer as a Int32. +// It panics if the pointer is nil. +func appendInt32Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Int32Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +// consumeInt32Ptr wire decodes a *int32 pointer as a Int32. +func consumeInt32Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + vp := p.Int32Ptr() + if *vp == nil { + *vp = new(int32) + } + **vp = int32(v) + out.n = n + return out, nil +} + +var coderInt32Ptr = pointerCoderFuncs{ + size: sizeInt32Ptr, + marshal: appendInt32Ptr, + unmarshal: consumeInt32Ptr, + merge: mergeInt32Ptr, +} + +// sizeInt32Slice returns the size of wire encoding a []int32 pointer as a repeated Int32. +func sizeInt32Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int32Slice() + for _, v := range s { + size += f.tagsize + protowire.SizeVarint(uint64(v)) + } + return size +} + +// appendInt32Slice encodes a []int32 pointer as a repeated Int32. +func appendInt32Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int32Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + } + return b, nil +} + +// consumeInt32Slice wire decodes a []int32 pointer as a repeated Int32. +func consumeInt32Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Int32Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + s = append(s, int32(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *sp = append(*sp, int32(v)) + out.n = n + return out, nil +} + +var coderInt32Slice = pointerCoderFuncs{ + size: sizeInt32Slice, + marshal: appendInt32Slice, + unmarshal: consumeInt32Slice, + merge: mergeInt32Slice, +} + +// sizeInt32PackedSlice returns the size of wire encoding a []int32 pointer as a packed repeated Int32. +func sizeInt32PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int32Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += protowire.SizeVarint(uint64(v)) + } + return f.tagsize + protowire.SizeBytes(n) +} + +// appendInt32PackedSlice encodes a []int32 pointer as a packed repeated Int32. +func appendInt32PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int32Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := 0 + for _, v := range s { + n += protowire.SizeVarint(uint64(v)) + } + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendVarint(b, uint64(v)) + } + return b, nil +} + +var coderInt32PackedSlice = pointerCoderFuncs{ + size: sizeInt32PackedSlice, + marshal: appendInt32PackedSlice, + unmarshal: consumeInt32Slice, + merge: mergeInt32Slice, +} + +// sizeInt32Value returns the size of wire encoding a int32 value as a Int32. +func sizeInt32Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeVarint(uint64(int32(v.Int()))) +} + +// appendInt32Value encodes a int32 value as a Int32. +func appendInt32Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(int32(v.Int()))) + return b, nil +} + +// consumeInt32Value decodes a int32 value as a Int32. +func consumeInt32Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfInt32(int32(v)), out, nil +} + +var coderInt32Value = valueCoderFuncs{ + size: sizeInt32Value, + marshal: appendInt32Value, + unmarshal: consumeInt32Value, + merge: mergeScalarValue, +} + +// sizeInt32SliceValue returns the size of wire encoding a []int32 value as a repeated Int32. +func sizeInt32SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeVarint(uint64(int32(v.Int()))) + } + return size +} + +// appendInt32SliceValue encodes a []int32 value as a repeated Int32. +func appendInt32SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(int32(v.Int()))) + } + return b, nil +} + +// consumeInt32SliceValue wire decodes a []int32 value as a repeated Int32. +func consumeInt32SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(v))) + out.n = n + return listv, out, nil +} + +var coderInt32SliceValue = valueCoderFuncs{ + size: sizeInt32SliceValue, + marshal: appendInt32SliceValue, + unmarshal: consumeInt32SliceValue, + merge: mergeListValue, +} + +// sizeInt32PackedSliceValue returns the size of wire encoding a []int32 value as a packed repeated Int32. +func sizeInt32PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := 0 + for i, llen := 0, llen; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(uint64(int32(v.Int()))) + } + return tagsize + protowire.SizeBytes(n) +} + +// appendInt32PackedSliceValue encodes a []int32 value as a packed repeated Int32. +func appendInt32PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := 0 + for i := 0; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(uint64(int32(v.Int()))) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, uint64(int32(v.Int()))) + } + return b, nil +} + +var coderInt32PackedSliceValue = valueCoderFuncs{ + size: sizeInt32PackedSliceValue, + marshal: appendInt32PackedSliceValue, + unmarshal: consumeInt32SliceValue, + merge: mergeListValue, +} + +// sizeSint32 returns the size of wire encoding a int32 pointer as a Sint32. +func sizeSint32(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int32() + return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(v))) +} + +// appendSint32 wire encodes a int32 pointer as a Sint32. +func appendSint32(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int32() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(v))) + return b, nil +} + +// consumeSint32 wire decodes a int32 pointer as a Sint32. +func consumeSint32(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *p.Int32() = int32(protowire.DecodeZigZag(v & math.MaxUint32)) + out.n = n + return out, nil +} + +var coderSint32 = pointerCoderFuncs{ + size: sizeSint32, + marshal: appendSint32, + unmarshal: consumeSint32, + merge: mergeInt32, +} + +// sizeSint32NoZero returns the size of wire encoding a int32 pointer as a Sint32. +// The zero value is not encoded. +func sizeSint32NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int32() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(v))) +} + +// appendSint32NoZero wire encodes a int32 pointer as a Sint32. +// The zero value is not encoded. +func appendSint32NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int32() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(v))) + return b, nil +} + +var coderSint32NoZero = pointerCoderFuncs{ + size: sizeSint32NoZero, + marshal: appendSint32NoZero, + unmarshal: consumeSint32, + merge: mergeInt32NoZero, +} + +// sizeSint32Ptr returns the size of wire encoding a *int32 pointer as a Sint32. +// It panics if the pointer is nil. +func sizeSint32Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := **p.Int32Ptr() + return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(v))) +} + +// appendSint32Ptr wire encodes a *int32 pointer as a Sint32. +// It panics if the pointer is nil. +func appendSint32Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Int32Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(v))) + return b, nil +} + +// consumeSint32Ptr wire decodes a *int32 pointer as a Sint32. +func consumeSint32Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + vp := p.Int32Ptr() + if *vp == nil { + *vp = new(int32) + } + **vp = int32(protowire.DecodeZigZag(v & math.MaxUint32)) + out.n = n + return out, nil +} + +var coderSint32Ptr = pointerCoderFuncs{ + size: sizeSint32Ptr, + marshal: appendSint32Ptr, + unmarshal: consumeSint32Ptr, + merge: mergeInt32Ptr, +} + +// sizeSint32Slice returns the size of wire encoding a []int32 pointer as a repeated Sint32. +func sizeSint32Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int32Slice() + for _, v := range s { + size += f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(v))) + } + return size +} + +// appendSint32Slice encodes a []int32 pointer as a repeated Sint32. +func appendSint32Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int32Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(v))) + } + return b, nil +} + +// consumeSint32Slice wire decodes a []int32 pointer as a repeated Sint32. +func consumeSint32Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Int32Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + s = append(s, int32(protowire.DecodeZigZag(v&math.MaxUint32))) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *sp = append(*sp, int32(protowire.DecodeZigZag(v&math.MaxUint32))) + out.n = n + return out, nil +} + +var coderSint32Slice = pointerCoderFuncs{ + size: sizeSint32Slice, + marshal: appendSint32Slice, + unmarshal: consumeSint32Slice, + merge: mergeInt32Slice, +} + +// sizeSint32PackedSlice returns the size of wire encoding a []int32 pointer as a packed repeated Sint32. +func sizeSint32PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int32Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += protowire.SizeVarint(protowire.EncodeZigZag(int64(v))) + } + return f.tagsize + protowire.SizeBytes(n) +} + +// appendSint32PackedSlice encodes a []int32 pointer as a packed repeated Sint32. +func appendSint32PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int32Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := 0 + for _, v := range s { + n += protowire.SizeVarint(protowire.EncodeZigZag(int64(v))) + } + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(v))) + } + return b, nil +} + +var coderSint32PackedSlice = pointerCoderFuncs{ + size: sizeSint32PackedSlice, + marshal: appendSint32PackedSlice, + unmarshal: consumeSint32Slice, + merge: mergeInt32Slice, +} + +// sizeSint32Value returns the size of wire encoding a int32 value as a Sint32. +func sizeSint32Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(int32(v.Int())))) +} + +// appendSint32Value encodes a int32 value as a Sint32. +func appendSint32Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(int32(v.Int())))) + return b, nil +} + +// consumeSint32Value decodes a int32 value as a Sint32. +func consumeSint32Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32))), out, nil +} + +var coderSint32Value = valueCoderFuncs{ + size: sizeSint32Value, + marshal: appendSint32Value, + unmarshal: consumeSint32Value, + merge: mergeScalarValue, +} + +// sizeSint32SliceValue returns the size of wire encoding a []int32 value as a repeated Sint32. +func sizeSint32SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(int32(v.Int())))) + } + return size +} + +// appendSint32SliceValue encodes a []int32 value as a repeated Sint32. +func appendSint32SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(int32(v.Int())))) + } + return b, nil +} + +// consumeSint32SliceValue wire decodes a []int32 value as a repeated Sint32. +func consumeSint32SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32)))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32)))) + out.n = n + return listv, out, nil +} + +var coderSint32SliceValue = valueCoderFuncs{ + size: sizeSint32SliceValue, + marshal: appendSint32SliceValue, + unmarshal: consumeSint32SliceValue, + merge: mergeListValue, +} + +// sizeSint32PackedSliceValue returns the size of wire encoding a []int32 value as a packed repeated Sint32. +func sizeSint32PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := 0 + for i, llen := 0, llen; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(protowire.EncodeZigZag(int64(int32(v.Int())))) + } + return tagsize + protowire.SizeBytes(n) +} + +// appendSint32PackedSliceValue encodes a []int32 value as a packed repeated Sint32. +func appendSint32PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := 0 + for i := 0; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(protowire.EncodeZigZag(int64(int32(v.Int())))) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(int32(v.Int())))) + } + return b, nil +} + +var coderSint32PackedSliceValue = valueCoderFuncs{ + size: sizeSint32PackedSliceValue, + marshal: appendSint32PackedSliceValue, + unmarshal: consumeSint32SliceValue, + merge: mergeListValue, +} + +// sizeUint32 returns the size of wire encoding a uint32 pointer as a Uint32. +func sizeUint32(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Uint32() + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendUint32 wire encodes a uint32 pointer as a Uint32. +func appendUint32(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Uint32() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +// consumeUint32 wire decodes a uint32 pointer as a Uint32. +func consumeUint32(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *p.Uint32() = uint32(v) + out.n = n + return out, nil +} + +var coderUint32 = pointerCoderFuncs{ + size: sizeUint32, + marshal: appendUint32, + unmarshal: consumeUint32, + merge: mergeUint32, +} + +// sizeUint32NoZero returns the size of wire encoding a uint32 pointer as a Uint32. +// The zero value is not encoded. +func sizeUint32NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Uint32() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendUint32NoZero wire encodes a uint32 pointer as a Uint32. +// The zero value is not encoded. +func appendUint32NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Uint32() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +var coderUint32NoZero = pointerCoderFuncs{ + size: sizeUint32NoZero, + marshal: appendUint32NoZero, + unmarshal: consumeUint32, + merge: mergeUint32NoZero, +} + +// sizeUint32Ptr returns the size of wire encoding a *uint32 pointer as a Uint32. +// It panics if the pointer is nil. +func sizeUint32Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := **p.Uint32Ptr() + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendUint32Ptr wire encodes a *uint32 pointer as a Uint32. +// It panics if the pointer is nil. +func appendUint32Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Uint32Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +// consumeUint32Ptr wire decodes a *uint32 pointer as a Uint32. +func consumeUint32Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + vp := p.Uint32Ptr() + if *vp == nil { + *vp = new(uint32) + } + **vp = uint32(v) + out.n = n + return out, nil +} + +var coderUint32Ptr = pointerCoderFuncs{ + size: sizeUint32Ptr, + marshal: appendUint32Ptr, + unmarshal: consumeUint32Ptr, + merge: mergeUint32Ptr, +} + +// sizeUint32Slice returns the size of wire encoding a []uint32 pointer as a repeated Uint32. +func sizeUint32Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Uint32Slice() + for _, v := range s { + size += f.tagsize + protowire.SizeVarint(uint64(v)) + } + return size +} + +// appendUint32Slice encodes a []uint32 pointer as a repeated Uint32. +func appendUint32Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Uint32Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + } + return b, nil +} + +// consumeUint32Slice wire decodes a []uint32 pointer as a repeated Uint32. +func consumeUint32Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Uint32Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + s = append(s, uint32(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *sp = append(*sp, uint32(v)) + out.n = n + return out, nil +} + +var coderUint32Slice = pointerCoderFuncs{ + size: sizeUint32Slice, + marshal: appendUint32Slice, + unmarshal: consumeUint32Slice, + merge: mergeUint32Slice, +} + +// sizeUint32PackedSlice returns the size of wire encoding a []uint32 pointer as a packed repeated Uint32. +func sizeUint32PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Uint32Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += protowire.SizeVarint(uint64(v)) + } + return f.tagsize + protowire.SizeBytes(n) +} + +// appendUint32PackedSlice encodes a []uint32 pointer as a packed repeated Uint32. +func appendUint32PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Uint32Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := 0 + for _, v := range s { + n += protowire.SizeVarint(uint64(v)) + } + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendVarint(b, uint64(v)) + } + return b, nil +} + +var coderUint32PackedSlice = pointerCoderFuncs{ + size: sizeUint32PackedSlice, + marshal: appendUint32PackedSlice, + unmarshal: consumeUint32Slice, + merge: mergeUint32Slice, +} + +// sizeUint32Value returns the size of wire encoding a uint32 value as a Uint32. +func sizeUint32Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeVarint(uint64(uint32(v.Uint()))) +} + +// appendUint32Value encodes a uint32 value as a Uint32. +func appendUint32Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(uint32(v.Uint()))) + return b, nil +} + +// consumeUint32Value decodes a uint32 value as a Uint32. +func consumeUint32Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfUint32(uint32(v)), out, nil +} + +var coderUint32Value = valueCoderFuncs{ + size: sizeUint32Value, + marshal: appendUint32Value, + unmarshal: consumeUint32Value, + merge: mergeScalarValue, +} + +// sizeUint32SliceValue returns the size of wire encoding a []uint32 value as a repeated Uint32. +func sizeUint32SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeVarint(uint64(uint32(v.Uint()))) + } + return size +} + +// appendUint32SliceValue encodes a []uint32 value as a repeated Uint32. +func appendUint32SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(uint32(v.Uint()))) + } + return b, nil +} + +// consumeUint32SliceValue wire decodes a []uint32 value as a repeated Uint32. +func consumeUint32SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfUint32(uint32(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfUint32(uint32(v))) + out.n = n + return listv, out, nil +} + +var coderUint32SliceValue = valueCoderFuncs{ + size: sizeUint32SliceValue, + marshal: appendUint32SliceValue, + unmarshal: consumeUint32SliceValue, + merge: mergeListValue, +} + +// sizeUint32PackedSliceValue returns the size of wire encoding a []uint32 value as a packed repeated Uint32. +func sizeUint32PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := 0 + for i, llen := 0, llen; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(uint64(uint32(v.Uint()))) + } + return tagsize + protowire.SizeBytes(n) +} + +// appendUint32PackedSliceValue encodes a []uint32 value as a packed repeated Uint32. +func appendUint32PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := 0 + for i := 0; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(uint64(uint32(v.Uint()))) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, uint64(uint32(v.Uint()))) + } + return b, nil +} + +var coderUint32PackedSliceValue = valueCoderFuncs{ + size: sizeUint32PackedSliceValue, + marshal: appendUint32PackedSliceValue, + unmarshal: consumeUint32SliceValue, + merge: mergeListValue, +} + +// sizeInt64 returns the size of wire encoding a int64 pointer as a Int64. +func sizeInt64(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int64() + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendInt64 wire encodes a int64 pointer as a Int64. +func appendInt64(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int64() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +// consumeInt64 wire decodes a int64 pointer as a Int64. +func consumeInt64(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *p.Int64() = int64(v) + out.n = n + return out, nil +} + +var coderInt64 = pointerCoderFuncs{ + size: sizeInt64, + marshal: appendInt64, + unmarshal: consumeInt64, + merge: mergeInt64, +} + +// sizeInt64NoZero returns the size of wire encoding a int64 pointer as a Int64. +// The zero value is not encoded. +func sizeInt64NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int64() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendInt64NoZero wire encodes a int64 pointer as a Int64. +// The zero value is not encoded. +func appendInt64NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int64() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +var coderInt64NoZero = pointerCoderFuncs{ + size: sizeInt64NoZero, + marshal: appendInt64NoZero, + unmarshal: consumeInt64, + merge: mergeInt64NoZero, +} + +// sizeInt64Ptr returns the size of wire encoding a *int64 pointer as a Int64. +// It panics if the pointer is nil. +func sizeInt64Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := **p.Int64Ptr() + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +// appendInt64Ptr wire encodes a *int64 pointer as a Int64. +// It panics if the pointer is nil. +func appendInt64Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Int64Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +// consumeInt64Ptr wire decodes a *int64 pointer as a Int64. +func consumeInt64Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + vp := p.Int64Ptr() + if *vp == nil { + *vp = new(int64) + } + **vp = int64(v) + out.n = n + return out, nil +} + +var coderInt64Ptr = pointerCoderFuncs{ + size: sizeInt64Ptr, + marshal: appendInt64Ptr, + unmarshal: consumeInt64Ptr, + merge: mergeInt64Ptr, +} + +// sizeInt64Slice returns the size of wire encoding a []int64 pointer as a repeated Int64. +func sizeInt64Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int64Slice() + for _, v := range s { + size += f.tagsize + protowire.SizeVarint(uint64(v)) + } + return size +} + +// appendInt64Slice encodes a []int64 pointer as a repeated Int64. +func appendInt64Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int64Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + } + return b, nil +} + +// consumeInt64Slice wire decodes a []int64 pointer as a repeated Int64. +func consumeInt64Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Int64Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + s = append(s, int64(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *sp = append(*sp, int64(v)) + out.n = n + return out, nil +} + +var coderInt64Slice = pointerCoderFuncs{ + size: sizeInt64Slice, + marshal: appendInt64Slice, + unmarshal: consumeInt64Slice, + merge: mergeInt64Slice, +} + +// sizeInt64PackedSlice returns the size of wire encoding a []int64 pointer as a packed repeated Int64. +func sizeInt64PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int64Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += protowire.SizeVarint(uint64(v)) + } + return f.tagsize + protowire.SizeBytes(n) +} + +// appendInt64PackedSlice encodes a []int64 pointer as a packed repeated Int64. +func appendInt64PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int64Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := 0 + for _, v := range s { + n += protowire.SizeVarint(uint64(v)) + } + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendVarint(b, uint64(v)) + } + return b, nil +} + +var coderInt64PackedSlice = pointerCoderFuncs{ + size: sizeInt64PackedSlice, + marshal: appendInt64PackedSlice, + unmarshal: consumeInt64Slice, + merge: mergeInt64Slice, +} + +// sizeInt64Value returns the size of wire encoding a int64 value as a Int64. +func sizeInt64Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeVarint(uint64(v.Int())) +} + +// appendInt64Value encodes a int64 value as a Int64. +func appendInt64Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(v.Int())) + return b, nil +} + +// consumeInt64Value decodes a int64 value as a Int64. +func consumeInt64Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfInt64(int64(v)), out, nil +} + +var coderInt64Value = valueCoderFuncs{ + size: sizeInt64Value, + marshal: appendInt64Value, + unmarshal: consumeInt64Value, + merge: mergeScalarValue, +} + +// sizeInt64SliceValue returns the size of wire encoding a []int64 value as a repeated Int64. +func sizeInt64SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeVarint(uint64(v.Int())) + } + return size +} + +// appendInt64SliceValue encodes a []int64 value as a repeated Int64. +func appendInt64SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, uint64(v.Int())) + } + return b, nil +} + +// consumeInt64SliceValue wire decodes a []int64 value as a repeated Int64. +func consumeInt64SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt64(int64(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt64(int64(v))) + out.n = n + return listv, out, nil +} + +var coderInt64SliceValue = valueCoderFuncs{ + size: sizeInt64SliceValue, + marshal: appendInt64SliceValue, + unmarshal: consumeInt64SliceValue, + merge: mergeListValue, +} + +// sizeInt64PackedSliceValue returns the size of wire encoding a []int64 value as a packed repeated Int64. +func sizeInt64PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := 0 + for i, llen := 0, llen; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(uint64(v.Int())) + } + return tagsize + protowire.SizeBytes(n) +} + +// appendInt64PackedSliceValue encodes a []int64 value as a packed repeated Int64. +func appendInt64PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := 0 + for i := 0; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(uint64(v.Int())) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, uint64(v.Int())) + } + return b, nil +} + +var coderInt64PackedSliceValue = valueCoderFuncs{ + size: sizeInt64PackedSliceValue, + marshal: appendInt64PackedSliceValue, + unmarshal: consumeInt64SliceValue, + merge: mergeListValue, +} + +// sizeSint64 returns the size of wire encoding a int64 pointer as a Sint64. +func sizeSint64(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int64() + return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v)) +} + +// appendSint64 wire encodes a int64 pointer as a Sint64. +func appendSint64(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int64() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v)) + return b, nil +} + +// consumeSint64 wire decodes a int64 pointer as a Sint64. +func consumeSint64(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *p.Int64() = protowire.DecodeZigZag(v) + out.n = n + return out, nil +} + +var coderSint64 = pointerCoderFuncs{ + size: sizeSint64, + marshal: appendSint64, + unmarshal: consumeSint64, + merge: mergeInt64, +} + +// sizeSint64NoZero returns the size of wire encoding a int64 pointer as a Sint64. +// The zero value is not encoded. +func sizeSint64NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int64() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v)) +} + +// appendSint64NoZero wire encodes a int64 pointer as a Sint64. +// The zero value is not encoded. +func appendSint64NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int64() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v)) + return b, nil +} + +var coderSint64NoZero = pointerCoderFuncs{ + size: sizeSint64NoZero, + marshal: appendSint64NoZero, + unmarshal: consumeSint64, + merge: mergeInt64NoZero, +} + +// sizeSint64Ptr returns the size of wire encoding a *int64 pointer as a Sint64. +// It panics if the pointer is nil. +func sizeSint64Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := **p.Int64Ptr() + return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v)) +} + +// appendSint64Ptr wire encodes a *int64 pointer as a Sint64. +// It panics if the pointer is nil. +func appendSint64Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Int64Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v)) + return b, nil +} + +// consumeSint64Ptr wire decodes a *int64 pointer as a Sint64. +func consumeSint64Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + vp := p.Int64Ptr() + if *vp == nil { + *vp = new(int64) + } + **vp = protowire.DecodeZigZag(v) + out.n = n + return out, nil +} + +var coderSint64Ptr = pointerCoderFuncs{ + size: sizeSint64Ptr, + marshal: appendSint64Ptr, + unmarshal: consumeSint64Ptr, + merge: mergeInt64Ptr, +} + +// sizeSint64Slice returns the size of wire encoding a []int64 pointer as a repeated Sint64. +func sizeSint64Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int64Slice() + for _, v := range s { + size += f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v)) + } + return size +} + +// appendSint64Slice encodes a []int64 pointer as a repeated Sint64. +func appendSint64Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int64Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v)) + } + return b, nil +} + +// consumeSint64Slice wire decodes a []int64 pointer as a repeated Sint64. +func consumeSint64Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Int64Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + s = append(s, protowire.DecodeZigZag(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *sp = append(*sp, protowire.DecodeZigZag(v)) + out.n = n + return out, nil +} + +var coderSint64Slice = pointerCoderFuncs{ + size: sizeSint64Slice, + marshal: appendSint64Slice, + unmarshal: consumeSint64Slice, + merge: mergeInt64Slice, +} + +// sizeSint64PackedSlice returns the size of wire encoding a []int64 pointer as a packed repeated Sint64. +func sizeSint64PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int64Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += protowire.SizeVarint(protowire.EncodeZigZag(v)) + } + return f.tagsize + protowire.SizeBytes(n) +} + +// appendSint64PackedSlice encodes a []int64 pointer as a packed repeated Sint64. +func appendSint64PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int64Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := 0 + for _, v := range s { + n += protowire.SizeVarint(protowire.EncodeZigZag(v)) + } + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v)) + } + return b, nil +} + +var coderSint64PackedSlice = pointerCoderFuncs{ + size: sizeSint64PackedSlice, + marshal: appendSint64PackedSlice, + unmarshal: consumeSint64Slice, + merge: mergeInt64Slice, +} + +// sizeSint64Value returns the size of wire encoding a int64 value as a Sint64. +func sizeSint64Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v.Int())) +} + +// appendSint64Value encodes a int64 value as a Sint64. +func appendSint64Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v.Int())) + return b, nil +} + +// consumeSint64Value decodes a int64 value as a Sint64. +func consumeSint64Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfInt64(protowire.DecodeZigZag(v)), out, nil +} + +var coderSint64Value = valueCoderFuncs{ + size: sizeSint64Value, + marshal: appendSint64Value, + unmarshal: consumeSint64Value, + merge: mergeScalarValue, +} + +// sizeSint64SliceValue returns the size of wire encoding a []int64 value as a repeated Sint64. +func sizeSint64SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v.Int())) + } + return size +} + +// appendSint64SliceValue encodes a []int64 value as a repeated Sint64. +func appendSint64SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v.Int())) + } + return b, nil +} + +// consumeSint64SliceValue wire decodes a []int64 value as a repeated Sint64. +func consumeSint64SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt64(protowire.DecodeZigZag(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt64(protowire.DecodeZigZag(v))) + out.n = n + return listv, out, nil +} + +var coderSint64SliceValue = valueCoderFuncs{ + size: sizeSint64SliceValue, + marshal: appendSint64SliceValue, + unmarshal: consumeSint64SliceValue, + merge: mergeListValue, +} + +// sizeSint64PackedSliceValue returns the size of wire encoding a []int64 value as a packed repeated Sint64. +func sizeSint64PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := 0 + for i, llen := 0, llen; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(protowire.EncodeZigZag(v.Int())) + } + return tagsize + protowire.SizeBytes(n) +} + +// appendSint64PackedSliceValue encodes a []int64 value as a packed repeated Sint64. +func appendSint64PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := 0 + for i := 0; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(protowire.EncodeZigZag(v.Int())) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v.Int())) + } + return b, nil +} + +var coderSint64PackedSliceValue = valueCoderFuncs{ + size: sizeSint64PackedSliceValue, + marshal: appendSint64PackedSliceValue, + unmarshal: consumeSint64SliceValue, + merge: mergeListValue, +} + +// sizeUint64 returns the size of wire encoding a uint64 pointer as a Uint64. +func sizeUint64(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Uint64() + return f.tagsize + protowire.SizeVarint(v) +} + +// appendUint64 wire encodes a uint64 pointer as a Uint64. +func appendUint64(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Uint64() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, v) + return b, nil +} + +// consumeUint64 wire decodes a uint64 pointer as a Uint64. +func consumeUint64(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *p.Uint64() = v + out.n = n + return out, nil +} + +var coderUint64 = pointerCoderFuncs{ + size: sizeUint64, + marshal: appendUint64, + unmarshal: consumeUint64, + merge: mergeUint64, +} + +// sizeUint64NoZero returns the size of wire encoding a uint64 pointer as a Uint64. +// The zero value is not encoded. +func sizeUint64NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Uint64() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeVarint(v) +} + +// appendUint64NoZero wire encodes a uint64 pointer as a Uint64. +// The zero value is not encoded. +func appendUint64NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Uint64() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, v) + return b, nil +} + +var coderUint64NoZero = pointerCoderFuncs{ + size: sizeUint64NoZero, + marshal: appendUint64NoZero, + unmarshal: consumeUint64, + merge: mergeUint64NoZero, +} + +// sizeUint64Ptr returns the size of wire encoding a *uint64 pointer as a Uint64. +// It panics if the pointer is nil. +func sizeUint64Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := **p.Uint64Ptr() + return f.tagsize + protowire.SizeVarint(v) +} + +// appendUint64Ptr wire encodes a *uint64 pointer as a Uint64. +// It panics if the pointer is nil. +func appendUint64Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Uint64Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, v) + return b, nil +} + +// consumeUint64Ptr wire decodes a *uint64 pointer as a Uint64. +func consumeUint64Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + vp := p.Uint64Ptr() + if *vp == nil { + *vp = new(uint64) + } + **vp = v + out.n = n + return out, nil +} + +var coderUint64Ptr = pointerCoderFuncs{ + size: sizeUint64Ptr, + marshal: appendUint64Ptr, + unmarshal: consumeUint64Ptr, + merge: mergeUint64Ptr, +} + +// sizeUint64Slice returns the size of wire encoding a []uint64 pointer as a repeated Uint64. +func sizeUint64Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Uint64Slice() + for _, v := range s { + size += f.tagsize + protowire.SizeVarint(v) + } + return size +} + +// appendUint64Slice encodes a []uint64 pointer as a repeated Uint64. +func appendUint64Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Uint64Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, v) + } + return b, nil +} + +// consumeUint64Slice wire decodes a []uint64 pointer as a repeated Uint64. +func consumeUint64Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Uint64Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + s = append(s, v) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.VarintType { + return out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return out, errDecode + } + *sp = append(*sp, v) + out.n = n + return out, nil +} + +var coderUint64Slice = pointerCoderFuncs{ + size: sizeUint64Slice, + marshal: appendUint64Slice, + unmarshal: consumeUint64Slice, + merge: mergeUint64Slice, +} + +// sizeUint64PackedSlice returns the size of wire encoding a []uint64 pointer as a packed repeated Uint64. +func sizeUint64PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Uint64Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += protowire.SizeVarint(v) + } + return f.tagsize + protowire.SizeBytes(n) +} + +// appendUint64PackedSlice encodes a []uint64 pointer as a packed repeated Uint64. +func appendUint64PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Uint64Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := 0 + for _, v := range s { + n += protowire.SizeVarint(v) + } + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendVarint(b, v) + } + return b, nil +} + +var coderUint64PackedSlice = pointerCoderFuncs{ + size: sizeUint64PackedSlice, + marshal: appendUint64PackedSlice, + unmarshal: consumeUint64Slice, + merge: mergeUint64Slice, +} + +// sizeUint64Value returns the size of wire encoding a uint64 value as a Uint64. +func sizeUint64Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeVarint(v.Uint()) +} + +// appendUint64Value encodes a uint64 value as a Uint64. +func appendUint64Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, v.Uint()) + return b, nil +} + +// consumeUint64Value decodes a uint64 value as a Uint64. +func consumeUint64Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfUint64(v), out, nil +} + +var coderUint64Value = valueCoderFuncs{ + size: sizeUint64Value, + marshal: appendUint64Value, + unmarshal: consumeUint64Value, + merge: mergeScalarValue, +} + +// sizeUint64SliceValue returns the size of wire encoding a []uint64 value as a repeated Uint64. +func sizeUint64SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeVarint(v.Uint()) + } + return size +} + +// appendUint64SliceValue encodes a []uint64 value as a repeated Uint64. +func appendUint64SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendVarint(b, v.Uint()) + } + return b, nil +} + +// consumeUint64SliceValue wire decodes a []uint64 value as a repeated Uint64. +func consumeUint64SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfUint64(v)) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.VarintType { + return protoreflect.Value{}, out, errUnknown + } + var v uint64 + var n int + if len(b) >= 1 && b[0] < 0x80 { + v = uint64(b[0]) + n = 1 + } else if len(b) >= 2 && b[1] < 128 { + v = uint64(b[0]&0x7f) + uint64(b[1])<<7 + n = 2 + } else { + v, n = protowire.ConsumeVarint(b) + } + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfUint64(v)) + out.n = n + return listv, out, nil +} + +var coderUint64SliceValue = valueCoderFuncs{ + size: sizeUint64SliceValue, + marshal: appendUint64SliceValue, + unmarshal: consumeUint64SliceValue, + merge: mergeListValue, +} + +// sizeUint64PackedSliceValue returns the size of wire encoding a []uint64 value as a packed repeated Uint64. +func sizeUint64PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := 0 + for i, llen := 0, llen; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(v.Uint()) + } + return tagsize + protowire.SizeBytes(n) +} + +// appendUint64PackedSliceValue encodes a []uint64 value as a packed repeated Uint64. +func appendUint64PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := 0 + for i := 0; i < llen; i++ { + v := list.Get(i) + n += protowire.SizeVarint(v.Uint()) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, v.Uint()) + } + return b, nil +} + +var coderUint64PackedSliceValue = valueCoderFuncs{ + size: sizeUint64PackedSliceValue, + marshal: appendUint64PackedSliceValue, + unmarshal: consumeUint64SliceValue, + merge: mergeListValue, +} + +// sizeSfixed32 returns the size of wire encoding a int32 pointer as a Sfixed32. +func sizeSfixed32(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + + return f.tagsize + protowire.SizeFixed32() +} + +// appendSfixed32 wire encodes a int32 pointer as a Sfixed32. +func appendSfixed32(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int32() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, uint32(v)) + return b, nil +} + +// consumeSfixed32 wire decodes a int32 pointer as a Sfixed32. +func consumeSfixed32(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + *p.Int32() = int32(v) + out.n = n + return out, nil +} + +var coderSfixed32 = pointerCoderFuncs{ + size: sizeSfixed32, + marshal: appendSfixed32, + unmarshal: consumeSfixed32, + merge: mergeInt32, +} + +// sizeSfixed32NoZero returns the size of wire encoding a int32 pointer as a Sfixed32. +// The zero value is not encoded. +func sizeSfixed32NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int32() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeFixed32() +} + +// appendSfixed32NoZero wire encodes a int32 pointer as a Sfixed32. +// The zero value is not encoded. +func appendSfixed32NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int32() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, uint32(v)) + return b, nil +} + +var coderSfixed32NoZero = pointerCoderFuncs{ + size: sizeSfixed32NoZero, + marshal: appendSfixed32NoZero, + unmarshal: consumeSfixed32, + merge: mergeInt32NoZero, +} + +// sizeSfixed32Ptr returns the size of wire encoding a *int32 pointer as a Sfixed32. +// It panics if the pointer is nil. +func sizeSfixed32Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + return f.tagsize + protowire.SizeFixed32() +} + +// appendSfixed32Ptr wire encodes a *int32 pointer as a Sfixed32. +// It panics if the pointer is nil. +func appendSfixed32Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Int32Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, uint32(v)) + return b, nil +} + +// consumeSfixed32Ptr wire decodes a *int32 pointer as a Sfixed32. +func consumeSfixed32Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + vp := p.Int32Ptr() + if *vp == nil { + *vp = new(int32) + } + **vp = int32(v) + out.n = n + return out, nil +} + +var coderSfixed32Ptr = pointerCoderFuncs{ + size: sizeSfixed32Ptr, + marshal: appendSfixed32Ptr, + unmarshal: consumeSfixed32Ptr, + merge: mergeInt32Ptr, +} + +// sizeSfixed32Slice returns the size of wire encoding a []int32 pointer as a repeated Sfixed32. +func sizeSfixed32Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int32Slice() + size = len(s) * (f.tagsize + protowire.SizeFixed32()) + return size +} + +// appendSfixed32Slice encodes a []int32 pointer as a repeated Sfixed32. +func appendSfixed32Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int32Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, uint32(v)) + } + return b, nil +} + +// consumeSfixed32Slice wire decodes a []int32 pointer as a repeated Sfixed32. +func consumeSfixed32Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Int32Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + s = append(s, int32(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + *sp = append(*sp, int32(v)) + out.n = n + return out, nil +} + +var coderSfixed32Slice = pointerCoderFuncs{ + size: sizeSfixed32Slice, + marshal: appendSfixed32Slice, + unmarshal: consumeSfixed32Slice, + merge: mergeInt32Slice, +} + +// sizeSfixed32PackedSlice returns the size of wire encoding a []int32 pointer as a packed repeated Sfixed32. +func sizeSfixed32PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int32Slice() + if len(s) == 0 { + return 0 + } + n := len(s) * protowire.SizeFixed32() + return f.tagsize + protowire.SizeBytes(n) +} + +// appendSfixed32PackedSlice encodes a []int32 pointer as a packed repeated Sfixed32. +func appendSfixed32PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int32Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := len(s) * protowire.SizeFixed32() + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendFixed32(b, uint32(v)) + } + return b, nil +} + +var coderSfixed32PackedSlice = pointerCoderFuncs{ + size: sizeSfixed32PackedSlice, + marshal: appendSfixed32PackedSlice, + unmarshal: consumeSfixed32Slice, + merge: mergeInt32Slice, +} + +// sizeSfixed32Value returns the size of wire encoding a int32 value as a Sfixed32. +func sizeSfixed32Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeFixed32() +} + +// appendSfixed32Value encodes a int32 value as a Sfixed32. +func appendSfixed32Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed32(b, uint32(v.Int())) + return b, nil +} + +// consumeSfixed32Value decodes a int32 value as a Sfixed32. +func consumeSfixed32Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfInt32(int32(v)), out, nil +} + +var coderSfixed32Value = valueCoderFuncs{ + size: sizeSfixed32Value, + marshal: appendSfixed32Value, + unmarshal: consumeSfixed32Value, + merge: mergeScalarValue, +} + +// sizeSfixed32SliceValue returns the size of wire encoding a []int32 value as a repeated Sfixed32. +func sizeSfixed32SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + size = list.Len() * (tagsize + protowire.SizeFixed32()) + return size +} + +// appendSfixed32SliceValue encodes a []int32 value as a repeated Sfixed32. +func appendSfixed32SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed32(b, uint32(v.Int())) + } + return b, nil +} + +// consumeSfixed32SliceValue wire decodes a []int32 value as a repeated Sfixed32. +func consumeSfixed32SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.Fixed32Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(v))) + out.n = n + return listv, out, nil +} + +var coderSfixed32SliceValue = valueCoderFuncs{ + size: sizeSfixed32SliceValue, + marshal: appendSfixed32SliceValue, + unmarshal: consumeSfixed32SliceValue, + merge: mergeListValue, +} + +// sizeSfixed32PackedSliceValue returns the size of wire encoding a []int32 value as a packed repeated Sfixed32. +func sizeSfixed32PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := llen * protowire.SizeFixed32() + return tagsize + protowire.SizeBytes(n) +} + +// appendSfixed32PackedSliceValue encodes a []int32 value as a packed repeated Sfixed32. +func appendSfixed32PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := llen * protowire.SizeFixed32() + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendFixed32(b, uint32(v.Int())) + } + return b, nil +} + +var coderSfixed32PackedSliceValue = valueCoderFuncs{ + size: sizeSfixed32PackedSliceValue, + marshal: appendSfixed32PackedSliceValue, + unmarshal: consumeSfixed32SliceValue, + merge: mergeListValue, +} + +// sizeFixed32 returns the size of wire encoding a uint32 pointer as a Fixed32. +func sizeFixed32(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + + return f.tagsize + protowire.SizeFixed32() +} + +// appendFixed32 wire encodes a uint32 pointer as a Fixed32. +func appendFixed32(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Uint32() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, v) + return b, nil +} + +// consumeFixed32 wire decodes a uint32 pointer as a Fixed32. +func consumeFixed32(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + *p.Uint32() = v + out.n = n + return out, nil +} + +var coderFixed32 = pointerCoderFuncs{ + size: sizeFixed32, + marshal: appendFixed32, + unmarshal: consumeFixed32, + merge: mergeUint32, +} + +// sizeFixed32NoZero returns the size of wire encoding a uint32 pointer as a Fixed32. +// The zero value is not encoded. +func sizeFixed32NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Uint32() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeFixed32() +} + +// appendFixed32NoZero wire encodes a uint32 pointer as a Fixed32. +// The zero value is not encoded. +func appendFixed32NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Uint32() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, v) + return b, nil +} + +var coderFixed32NoZero = pointerCoderFuncs{ + size: sizeFixed32NoZero, + marshal: appendFixed32NoZero, + unmarshal: consumeFixed32, + merge: mergeUint32NoZero, +} + +// sizeFixed32Ptr returns the size of wire encoding a *uint32 pointer as a Fixed32. +// It panics if the pointer is nil. +func sizeFixed32Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + return f.tagsize + protowire.SizeFixed32() +} + +// appendFixed32Ptr wire encodes a *uint32 pointer as a Fixed32. +// It panics if the pointer is nil. +func appendFixed32Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Uint32Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, v) + return b, nil +} + +// consumeFixed32Ptr wire decodes a *uint32 pointer as a Fixed32. +func consumeFixed32Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + vp := p.Uint32Ptr() + if *vp == nil { + *vp = new(uint32) + } + **vp = v + out.n = n + return out, nil +} + +var coderFixed32Ptr = pointerCoderFuncs{ + size: sizeFixed32Ptr, + marshal: appendFixed32Ptr, + unmarshal: consumeFixed32Ptr, + merge: mergeUint32Ptr, +} + +// sizeFixed32Slice returns the size of wire encoding a []uint32 pointer as a repeated Fixed32. +func sizeFixed32Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Uint32Slice() + size = len(s) * (f.tagsize + protowire.SizeFixed32()) + return size +} + +// appendFixed32Slice encodes a []uint32 pointer as a repeated Fixed32. +func appendFixed32Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Uint32Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, v) + } + return b, nil +} + +// consumeFixed32Slice wire decodes a []uint32 pointer as a repeated Fixed32. +func consumeFixed32Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Uint32Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + s = append(s, v) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + *sp = append(*sp, v) + out.n = n + return out, nil +} + +var coderFixed32Slice = pointerCoderFuncs{ + size: sizeFixed32Slice, + marshal: appendFixed32Slice, + unmarshal: consumeFixed32Slice, + merge: mergeUint32Slice, +} + +// sizeFixed32PackedSlice returns the size of wire encoding a []uint32 pointer as a packed repeated Fixed32. +func sizeFixed32PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Uint32Slice() + if len(s) == 0 { + return 0 + } + n := len(s) * protowire.SizeFixed32() + return f.tagsize + protowire.SizeBytes(n) +} + +// appendFixed32PackedSlice encodes a []uint32 pointer as a packed repeated Fixed32. +func appendFixed32PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Uint32Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := len(s) * protowire.SizeFixed32() + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendFixed32(b, v) + } + return b, nil +} + +var coderFixed32PackedSlice = pointerCoderFuncs{ + size: sizeFixed32PackedSlice, + marshal: appendFixed32PackedSlice, + unmarshal: consumeFixed32Slice, + merge: mergeUint32Slice, +} + +// sizeFixed32Value returns the size of wire encoding a uint32 value as a Fixed32. +func sizeFixed32Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeFixed32() +} + +// appendFixed32Value encodes a uint32 value as a Fixed32. +func appendFixed32Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed32(b, uint32(v.Uint())) + return b, nil +} + +// consumeFixed32Value decodes a uint32 value as a Fixed32. +func consumeFixed32Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfUint32(uint32(v)), out, nil +} + +var coderFixed32Value = valueCoderFuncs{ + size: sizeFixed32Value, + marshal: appendFixed32Value, + unmarshal: consumeFixed32Value, + merge: mergeScalarValue, +} + +// sizeFixed32SliceValue returns the size of wire encoding a []uint32 value as a repeated Fixed32. +func sizeFixed32SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + size = list.Len() * (tagsize + protowire.SizeFixed32()) + return size +} + +// appendFixed32SliceValue encodes a []uint32 value as a repeated Fixed32. +func appendFixed32SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed32(b, uint32(v.Uint())) + } + return b, nil +} + +// consumeFixed32SliceValue wire decodes a []uint32 value as a repeated Fixed32. +func consumeFixed32SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfUint32(uint32(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.Fixed32Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfUint32(uint32(v))) + out.n = n + return listv, out, nil +} + +var coderFixed32SliceValue = valueCoderFuncs{ + size: sizeFixed32SliceValue, + marshal: appendFixed32SliceValue, + unmarshal: consumeFixed32SliceValue, + merge: mergeListValue, +} + +// sizeFixed32PackedSliceValue returns the size of wire encoding a []uint32 value as a packed repeated Fixed32. +func sizeFixed32PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := llen * protowire.SizeFixed32() + return tagsize + protowire.SizeBytes(n) +} + +// appendFixed32PackedSliceValue encodes a []uint32 value as a packed repeated Fixed32. +func appendFixed32PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := llen * protowire.SizeFixed32() + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendFixed32(b, uint32(v.Uint())) + } + return b, nil +} + +var coderFixed32PackedSliceValue = valueCoderFuncs{ + size: sizeFixed32PackedSliceValue, + marshal: appendFixed32PackedSliceValue, + unmarshal: consumeFixed32SliceValue, + merge: mergeListValue, +} + +// sizeFloat returns the size of wire encoding a float32 pointer as a Float. +func sizeFloat(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + + return f.tagsize + protowire.SizeFixed32() +} + +// appendFloat wire encodes a float32 pointer as a Float. +func appendFloat(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Float32() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, math.Float32bits(v)) + return b, nil +} + +// consumeFloat wire decodes a float32 pointer as a Float. +func consumeFloat(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + *p.Float32() = math.Float32frombits(v) + out.n = n + return out, nil +} + +var coderFloat = pointerCoderFuncs{ + size: sizeFloat, + marshal: appendFloat, + unmarshal: consumeFloat, + merge: mergeFloat32, +} + +// sizeFloatNoZero returns the size of wire encoding a float32 pointer as a Float. +// The zero value is not encoded. +func sizeFloatNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Float32() + if v == 0 && !math.Signbit(float64(v)) { + return 0 + } + return f.tagsize + protowire.SizeFixed32() +} + +// appendFloatNoZero wire encodes a float32 pointer as a Float. +// The zero value is not encoded. +func appendFloatNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Float32() + if v == 0 && !math.Signbit(float64(v)) { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, math.Float32bits(v)) + return b, nil +} + +var coderFloatNoZero = pointerCoderFuncs{ + size: sizeFloatNoZero, + marshal: appendFloatNoZero, + unmarshal: consumeFloat, + merge: mergeFloat32NoZero, +} + +// sizeFloatPtr returns the size of wire encoding a *float32 pointer as a Float. +// It panics if the pointer is nil. +func sizeFloatPtr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + return f.tagsize + protowire.SizeFixed32() +} + +// appendFloatPtr wire encodes a *float32 pointer as a Float. +// It panics if the pointer is nil. +func appendFloatPtr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Float32Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, math.Float32bits(v)) + return b, nil +} + +// consumeFloatPtr wire decodes a *float32 pointer as a Float. +func consumeFloatPtr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + vp := p.Float32Ptr() + if *vp == nil { + *vp = new(float32) + } + **vp = math.Float32frombits(v) + out.n = n + return out, nil +} + +var coderFloatPtr = pointerCoderFuncs{ + size: sizeFloatPtr, + marshal: appendFloatPtr, + unmarshal: consumeFloatPtr, + merge: mergeFloat32Ptr, +} + +// sizeFloatSlice returns the size of wire encoding a []float32 pointer as a repeated Float. +func sizeFloatSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Float32Slice() + size = len(s) * (f.tagsize + protowire.SizeFixed32()) + return size +} + +// appendFloatSlice encodes a []float32 pointer as a repeated Float. +func appendFloatSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Float32Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed32(b, math.Float32bits(v)) + } + return b, nil +} + +// consumeFloatSlice wire decodes a []float32 pointer as a repeated Float. +func consumeFloatSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Float32Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + s = append(s, math.Float32frombits(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.Fixed32Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return out, errDecode + } + *sp = append(*sp, math.Float32frombits(v)) + out.n = n + return out, nil +} + +var coderFloatSlice = pointerCoderFuncs{ + size: sizeFloatSlice, + marshal: appendFloatSlice, + unmarshal: consumeFloatSlice, + merge: mergeFloat32Slice, +} + +// sizeFloatPackedSlice returns the size of wire encoding a []float32 pointer as a packed repeated Float. +func sizeFloatPackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Float32Slice() + if len(s) == 0 { + return 0 + } + n := len(s) * protowire.SizeFixed32() + return f.tagsize + protowire.SizeBytes(n) +} + +// appendFloatPackedSlice encodes a []float32 pointer as a packed repeated Float. +func appendFloatPackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Float32Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := len(s) * protowire.SizeFixed32() + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendFixed32(b, math.Float32bits(v)) + } + return b, nil +} + +var coderFloatPackedSlice = pointerCoderFuncs{ + size: sizeFloatPackedSlice, + marshal: appendFloatPackedSlice, + unmarshal: consumeFloatSlice, + merge: mergeFloat32Slice, +} + +// sizeFloatValue returns the size of wire encoding a float32 value as a Float. +func sizeFloatValue(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeFixed32() +} + +// appendFloatValue encodes a float32 value as a Float. +func appendFloatValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed32(b, math.Float32bits(float32(v.Float()))) + return b, nil +} + +// consumeFloatValue decodes a float32 value as a Float. +func consumeFloatValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.Fixed32Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v))), out, nil +} + +var coderFloatValue = valueCoderFuncs{ + size: sizeFloatValue, + marshal: appendFloatValue, + unmarshal: consumeFloatValue, + merge: mergeScalarValue, +} + +// sizeFloatSliceValue returns the size of wire encoding a []float32 value as a repeated Float. +func sizeFloatSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + size = list.Len() * (tagsize + protowire.SizeFixed32()) + return size +} + +// appendFloatSliceValue encodes a []float32 value as a repeated Float. +func appendFloatSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed32(b, math.Float32bits(float32(v.Float()))) + } + return b, nil +} + +// consumeFloatSliceValue wire decodes a []float32 value as a repeated Float. +func consumeFloatSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v)))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.Fixed32Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v)))) + out.n = n + return listv, out, nil +} + +var coderFloatSliceValue = valueCoderFuncs{ + size: sizeFloatSliceValue, + marshal: appendFloatSliceValue, + unmarshal: consumeFloatSliceValue, + merge: mergeListValue, +} + +// sizeFloatPackedSliceValue returns the size of wire encoding a []float32 value as a packed repeated Float. +func sizeFloatPackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := llen * protowire.SizeFixed32() + return tagsize + protowire.SizeBytes(n) +} + +// appendFloatPackedSliceValue encodes a []float32 value as a packed repeated Float. +func appendFloatPackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := llen * protowire.SizeFixed32() + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendFixed32(b, math.Float32bits(float32(v.Float()))) + } + return b, nil +} + +var coderFloatPackedSliceValue = valueCoderFuncs{ + size: sizeFloatPackedSliceValue, + marshal: appendFloatPackedSliceValue, + unmarshal: consumeFloatSliceValue, + merge: mergeListValue, +} + +// sizeSfixed64 returns the size of wire encoding a int64 pointer as a Sfixed64. +func sizeSfixed64(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + + return f.tagsize + protowire.SizeFixed64() +} + +// appendSfixed64 wire encodes a int64 pointer as a Sfixed64. +func appendSfixed64(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int64() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, uint64(v)) + return b, nil +} + +// consumeSfixed64 wire decodes a int64 pointer as a Sfixed64. +func consumeSfixed64(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + *p.Int64() = int64(v) + out.n = n + return out, nil +} + +var coderSfixed64 = pointerCoderFuncs{ + size: sizeSfixed64, + marshal: appendSfixed64, + unmarshal: consumeSfixed64, + merge: mergeInt64, +} + +// sizeSfixed64NoZero returns the size of wire encoding a int64 pointer as a Sfixed64. +// The zero value is not encoded. +func sizeSfixed64NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Int64() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeFixed64() +} + +// appendSfixed64NoZero wire encodes a int64 pointer as a Sfixed64. +// The zero value is not encoded. +func appendSfixed64NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Int64() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, uint64(v)) + return b, nil +} + +var coderSfixed64NoZero = pointerCoderFuncs{ + size: sizeSfixed64NoZero, + marshal: appendSfixed64NoZero, + unmarshal: consumeSfixed64, + merge: mergeInt64NoZero, +} + +// sizeSfixed64Ptr returns the size of wire encoding a *int64 pointer as a Sfixed64. +// It panics if the pointer is nil. +func sizeSfixed64Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + return f.tagsize + protowire.SizeFixed64() +} + +// appendSfixed64Ptr wire encodes a *int64 pointer as a Sfixed64. +// It panics if the pointer is nil. +func appendSfixed64Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Int64Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, uint64(v)) + return b, nil +} + +// consumeSfixed64Ptr wire decodes a *int64 pointer as a Sfixed64. +func consumeSfixed64Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + vp := p.Int64Ptr() + if *vp == nil { + *vp = new(int64) + } + **vp = int64(v) + out.n = n + return out, nil +} + +var coderSfixed64Ptr = pointerCoderFuncs{ + size: sizeSfixed64Ptr, + marshal: appendSfixed64Ptr, + unmarshal: consumeSfixed64Ptr, + merge: mergeInt64Ptr, +} + +// sizeSfixed64Slice returns the size of wire encoding a []int64 pointer as a repeated Sfixed64. +func sizeSfixed64Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int64Slice() + size = len(s) * (f.tagsize + protowire.SizeFixed64()) + return size +} + +// appendSfixed64Slice encodes a []int64 pointer as a repeated Sfixed64. +func appendSfixed64Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int64Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, uint64(v)) + } + return b, nil +} + +// consumeSfixed64Slice wire decodes a []int64 pointer as a repeated Sfixed64. +func consumeSfixed64Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Int64Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + s = append(s, int64(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + *sp = append(*sp, int64(v)) + out.n = n + return out, nil +} + +var coderSfixed64Slice = pointerCoderFuncs{ + size: sizeSfixed64Slice, + marshal: appendSfixed64Slice, + unmarshal: consumeSfixed64Slice, + merge: mergeInt64Slice, +} + +// sizeSfixed64PackedSlice returns the size of wire encoding a []int64 pointer as a packed repeated Sfixed64. +func sizeSfixed64PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Int64Slice() + if len(s) == 0 { + return 0 + } + n := len(s) * protowire.SizeFixed64() + return f.tagsize + protowire.SizeBytes(n) +} + +// appendSfixed64PackedSlice encodes a []int64 pointer as a packed repeated Sfixed64. +func appendSfixed64PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Int64Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := len(s) * protowire.SizeFixed64() + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendFixed64(b, uint64(v)) + } + return b, nil +} + +var coderSfixed64PackedSlice = pointerCoderFuncs{ + size: sizeSfixed64PackedSlice, + marshal: appendSfixed64PackedSlice, + unmarshal: consumeSfixed64Slice, + merge: mergeInt64Slice, +} + +// sizeSfixed64Value returns the size of wire encoding a int64 value as a Sfixed64. +func sizeSfixed64Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeFixed64() +} + +// appendSfixed64Value encodes a int64 value as a Sfixed64. +func appendSfixed64Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed64(b, uint64(v.Int())) + return b, nil +} + +// consumeSfixed64Value decodes a int64 value as a Sfixed64. +func consumeSfixed64Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfInt64(int64(v)), out, nil +} + +var coderSfixed64Value = valueCoderFuncs{ + size: sizeSfixed64Value, + marshal: appendSfixed64Value, + unmarshal: consumeSfixed64Value, + merge: mergeScalarValue, +} + +// sizeSfixed64SliceValue returns the size of wire encoding a []int64 value as a repeated Sfixed64. +func sizeSfixed64SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + size = list.Len() * (tagsize + protowire.SizeFixed64()) + return size +} + +// appendSfixed64SliceValue encodes a []int64 value as a repeated Sfixed64. +func appendSfixed64SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed64(b, uint64(v.Int())) + } + return b, nil +} + +// consumeSfixed64SliceValue wire decodes a []int64 value as a repeated Sfixed64. +func consumeSfixed64SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt64(int64(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.Fixed64Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfInt64(int64(v))) + out.n = n + return listv, out, nil +} + +var coderSfixed64SliceValue = valueCoderFuncs{ + size: sizeSfixed64SliceValue, + marshal: appendSfixed64SliceValue, + unmarshal: consumeSfixed64SliceValue, + merge: mergeListValue, +} + +// sizeSfixed64PackedSliceValue returns the size of wire encoding a []int64 value as a packed repeated Sfixed64. +func sizeSfixed64PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := llen * protowire.SizeFixed64() + return tagsize + protowire.SizeBytes(n) +} + +// appendSfixed64PackedSliceValue encodes a []int64 value as a packed repeated Sfixed64. +func appendSfixed64PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := llen * protowire.SizeFixed64() + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendFixed64(b, uint64(v.Int())) + } + return b, nil +} + +var coderSfixed64PackedSliceValue = valueCoderFuncs{ + size: sizeSfixed64PackedSliceValue, + marshal: appendSfixed64PackedSliceValue, + unmarshal: consumeSfixed64SliceValue, + merge: mergeListValue, +} + +// sizeFixed64 returns the size of wire encoding a uint64 pointer as a Fixed64. +func sizeFixed64(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + + return f.tagsize + protowire.SizeFixed64() +} + +// appendFixed64 wire encodes a uint64 pointer as a Fixed64. +func appendFixed64(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Uint64() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, v) + return b, nil +} + +// consumeFixed64 wire decodes a uint64 pointer as a Fixed64. +func consumeFixed64(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + *p.Uint64() = v + out.n = n + return out, nil +} + +var coderFixed64 = pointerCoderFuncs{ + size: sizeFixed64, + marshal: appendFixed64, + unmarshal: consumeFixed64, + merge: mergeUint64, +} + +// sizeFixed64NoZero returns the size of wire encoding a uint64 pointer as a Fixed64. +// The zero value is not encoded. +func sizeFixed64NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Uint64() + if v == 0 { + return 0 + } + return f.tagsize + protowire.SizeFixed64() +} + +// appendFixed64NoZero wire encodes a uint64 pointer as a Fixed64. +// The zero value is not encoded. +func appendFixed64NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Uint64() + if v == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, v) + return b, nil +} + +var coderFixed64NoZero = pointerCoderFuncs{ + size: sizeFixed64NoZero, + marshal: appendFixed64NoZero, + unmarshal: consumeFixed64, + merge: mergeUint64NoZero, +} + +// sizeFixed64Ptr returns the size of wire encoding a *uint64 pointer as a Fixed64. +// It panics if the pointer is nil. +func sizeFixed64Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + return f.tagsize + protowire.SizeFixed64() +} + +// appendFixed64Ptr wire encodes a *uint64 pointer as a Fixed64. +// It panics if the pointer is nil. +func appendFixed64Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Uint64Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, v) + return b, nil +} + +// consumeFixed64Ptr wire decodes a *uint64 pointer as a Fixed64. +func consumeFixed64Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + vp := p.Uint64Ptr() + if *vp == nil { + *vp = new(uint64) + } + **vp = v + out.n = n + return out, nil +} + +var coderFixed64Ptr = pointerCoderFuncs{ + size: sizeFixed64Ptr, + marshal: appendFixed64Ptr, + unmarshal: consumeFixed64Ptr, + merge: mergeUint64Ptr, +} + +// sizeFixed64Slice returns the size of wire encoding a []uint64 pointer as a repeated Fixed64. +func sizeFixed64Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Uint64Slice() + size = len(s) * (f.tagsize + protowire.SizeFixed64()) + return size +} + +// appendFixed64Slice encodes a []uint64 pointer as a repeated Fixed64. +func appendFixed64Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Uint64Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, v) + } + return b, nil +} + +// consumeFixed64Slice wire decodes a []uint64 pointer as a repeated Fixed64. +func consumeFixed64Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Uint64Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + s = append(s, v) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + *sp = append(*sp, v) + out.n = n + return out, nil +} + +var coderFixed64Slice = pointerCoderFuncs{ + size: sizeFixed64Slice, + marshal: appendFixed64Slice, + unmarshal: consumeFixed64Slice, + merge: mergeUint64Slice, +} + +// sizeFixed64PackedSlice returns the size of wire encoding a []uint64 pointer as a packed repeated Fixed64. +func sizeFixed64PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Uint64Slice() + if len(s) == 0 { + return 0 + } + n := len(s) * protowire.SizeFixed64() + return f.tagsize + protowire.SizeBytes(n) +} + +// appendFixed64PackedSlice encodes a []uint64 pointer as a packed repeated Fixed64. +func appendFixed64PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Uint64Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := len(s) * protowire.SizeFixed64() + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendFixed64(b, v) + } + return b, nil +} + +var coderFixed64PackedSlice = pointerCoderFuncs{ + size: sizeFixed64PackedSlice, + marshal: appendFixed64PackedSlice, + unmarshal: consumeFixed64Slice, + merge: mergeUint64Slice, +} + +// sizeFixed64Value returns the size of wire encoding a uint64 value as a Fixed64. +func sizeFixed64Value(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeFixed64() +} + +// appendFixed64Value encodes a uint64 value as a Fixed64. +func appendFixed64Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed64(b, v.Uint()) + return b, nil +} + +// consumeFixed64Value decodes a uint64 value as a Fixed64. +func consumeFixed64Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfUint64(v), out, nil +} + +var coderFixed64Value = valueCoderFuncs{ + size: sizeFixed64Value, + marshal: appendFixed64Value, + unmarshal: consumeFixed64Value, + merge: mergeScalarValue, +} + +// sizeFixed64SliceValue returns the size of wire encoding a []uint64 value as a repeated Fixed64. +func sizeFixed64SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + size = list.Len() * (tagsize + protowire.SizeFixed64()) + return size +} + +// appendFixed64SliceValue encodes a []uint64 value as a repeated Fixed64. +func appendFixed64SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed64(b, v.Uint()) + } + return b, nil +} + +// consumeFixed64SliceValue wire decodes a []uint64 value as a repeated Fixed64. +func consumeFixed64SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfUint64(v)) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.Fixed64Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfUint64(v)) + out.n = n + return listv, out, nil +} + +var coderFixed64SliceValue = valueCoderFuncs{ + size: sizeFixed64SliceValue, + marshal: appendFixed64SliceValue, + unmarshal: consumeFixed64SliceValue, + merge: mergeListValue, +} + +// sizeFixed64PackedSliceValue returns the size of wire encoding a []uint64 value as a packed repeated Fixed64. +func sizeFixed64PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := llen * protowire.SizeFixed64() + return tagsize + protowire.SizeBytes(n) +} + +// appendFixed64PackedSliceValue encodes a []uint64 value as a packed repeated Fixed64. +func appendFixed64PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := llen * protowire.SizeFixed64() + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendFixed64(b, v.Uint()) + } + return b, nil +} + +var coderFixed64PackedSliceValue = valueCoderFuncs{ + size: sizeFixed64PackedSliceValue, + marshal: appendFixed64PackedSliceValue, + unmarshal: consumeFixed64SliceValue, + merge: mergeListValue, +} + +// sizeDouble returns the size of wire encoding a float64 pointer as a Double. +func sizeDouble(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + + return f.tagsize + protowire.SizeFixed64() +} + +// appendDouble wire encodes a float64 pointer as a Double. +func appendDouble(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Float64() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, math.Float64bits(v)) + return b, nil +} + +// consumeDouble wire decodes a float64 pointer as a Double. +func consumeDouble(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + *p.Float64() = math.Float64frombits(v) + out.n = n + return out, nil +} + +var coderDouble = pointerCoderFuncs{ + size: sizeDouble, + marshal: appendDouble, + unmarshal: consumeDouble, + merge: mergeFloat64, +} + +// sizeDoubleNoZero returns the size of wire encoding a float64 pointer as a Double. +// The zero value is not encoded. +func sizeDoubleNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Float64() + if v == 0 && !math.Signbit(float64(v)) { + return 0 + } + return f.tagsize + protowire.SizeFixed64() +} + +// appendDoubleNoZero wire encodes a float64 pointer as a Double. +// The zero value is not encoded. +func appendDoubleNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Float64() + if v == 0 && !math.Signbit(float64(v)) { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, math.Float64bits(v)) + return b, nil +} + +var coderDoubleNoZero = pointerCoderFuncs{ + size: sizeDoubleNoZero, + marshal: appendDoubleNoZero, + unmarshal: consumeDouble, + merge: mergeFloat64NoZero, +} + +// sizeDoublePtr returns the size of wire encoding a *float64 pointer as a Double. +// It panics if the pointer is nil. +func sizeDoublePtr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + return f.tagsize + protowire.SizeFixed64() +} + +// appendDoublePtr wire encodes a *float64 pointer as a Double. +// It panics if the pointer is nil. +func appendDoublePtr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.Float64Ptr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, math.Float64bits(v)) + return b, nil +} + +// consumeDoublePtr wire decodes a *float64 pointer as a Double. +func consumeDoublePtr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + vp := p.Float64Ptr() + if *vp == nil { + *vp = new(float64) + } + **vp = math.Float64frombits(v) + out.n = n + return out, nil +} + +var coderDoublePtr = pointerCoderFuncs{ + size: sizeDoublePtr, + marshal: appendDoublePtr, + unmarshal: consumeDoublePtr, + merge: mergeFloat64Ptr, +} + +// sizeDoubleSlice returns the size of wire encoding a []float64 pointer as a repeated Double. +func sizeDoubleSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Float64Slice() + size = len(s) * (f.tagsize + protowire.SizeFixed64()) + return size +} + +// appendDoubleSlice encodes a []float64 pointer as a repeated Double. +func appendDoubleSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Float64Slice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendFixed64(b, math.Float64bits(v)) + } + return b, nil +} + +// consumeDoubleSlice wire decodes a []float64 pointer as a repeated Double. +func consumeDoubleSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.Float64Slice() + if wtyp == protowire.BytesType { + s := *sp + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + s = append(s, math.Float64frombits(v)) + b = b[n:] + } + *sp = s + out.n = n + return out, nil + } + if wtyp != protowire.Fixed64Type { + return out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return out, errDecode + } + *sp = append(*sp, math.Float64frombits(v)) + out.n = n + return out, nil +} + +var coderDoubleSlice = pointerCoderFuncs{ + size: sizeDoubleSlice, + marshal: appendDoubleSlice, + unmarshal: consumeDoubleSlice, + merge: mergeFloat64Slice, +} + +// sizeDoublePackedSlice returns the size of wire encoding a []float64 pointer as a packed repeated Double. +func sizeDoublePackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.Float64Slice() + if len(s) == 0 { + return 0 + } + n := len(s) * protowire.SizeFixed64() + return f.tagsize + protowire.SizeBytes(n) +} + +// appendDoublePackedSlice encodes a []float64 pointer as a packed repeated Double. +func appendDoublePackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.Float64Slice() + if len(s) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := len(s) * protowire.SizeFixed64() + b = protowire.AppendVarint(b, uint64(n)) + for _, v := range s { + b = protowire.AppendFixed64(b, math.Float64bits(v)) + } + return b, nil +} + +var coderDoublePackedSlice = pointerCoderFuncs{ + size: sizeDoublePackedSlice, + marshal: appendDoublePackedSlice, + unmarshal: consumeDoubleSlice, + merge: mergeFloat64Slice, +} + +// sizeDoubleValue returns the size of wire encoding a float64 value as a Double. +func sizeDoubleValue(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeFixed64() +} + +// appendDoubleValue encodes a float64 value as a Double. +func appendDoubleValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed64(b, math.Float64bits(v.Float())) + return b, nil +} + +// consumeDoubleValue decodes a float64 value as a Double. +func consumeDoubleValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.Fixed64Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfFloat64(math.Float64frombits(v)), out, nil +} + +var coderDoubleValue = valueCoderFuncs{ + size: sizeDoubleValue, + marshal: appendDoubleValue, + unmarshal: consumeDoubleValue, + merge: mergeScalarValue, +} + +// sizeDoubleSliceValue returns the size of wire encoding a []float64 value as a repeated Double. +func sizeDoubleSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + size = list.Len() * (tagsize + protowire.SizeFixed64()) + return size +} + +// appendDoubleSliceValue encodes a []float64 value as a repeated Double. +func appendDoubleSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendFixed64(b, math.Float64bits(v.Float())) + } + return b, nil +} + +// consumeDoubleSliceValue wire decodes a []float64 value as a repeated Double. +func consumeDoubleSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfFloat64(math.Float64frombits(v))) + b = b[n:] + } + out.n = n + return listv, out, nil + } + if wtyp != protowire.Fixed64Type { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfFloat64(math.Float64frombits(v))) + out.n = n + return listv, out, nil +} + +var coderDoubleSliceValue = valueCoderFuncs{ + size: sizeDoubleSliceValue, + marshal: appendDoubleSliceValue, + unmarshal: consumeDoubleSliceValue, + merge: mergeListValue, +} + +// sizeDoublePackedSliceValue returns the size of wire encoding a []float64 value as a packed repeated Double. +func sizeDoublePackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return 0 + } + n := llen * protowire.SizeFixed64() + return tagsize + protowire.SizeBytes(n) +} + +// appendDoublePackedSliceValue encodes a []float64 value as a packed repeated Double. +func appendDoublePackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + llen := list.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, wiretag) + n := llen * protowire.SizeFixed64() + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + v := list.Get(i) + b = protowire.AppendFixed64(b, math.Float64bits(v.Float())) + } + return b, nil +} + +var coderDoublePackedSliceValue = valueCoderFuncs{ + size: sizeDoublePackedSliceValue, + marshal: appendDoublePackedSliceValue, + unmarshal: consumeDoubleSliceValue, + merge: mergeListValue, +} + +// sizeString returns the size of wire encoding a string pointer as a String. +func sizeString(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.String() + return f.tagsize + protowire.SizeBytes(len(v)) +} + +// appendString wire encodes a string pointer as a String. +func appendString(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.String() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendString(b, v) + return b, nil +} + +// consumeString wire decodes a string pointer as a String. +func consumeString(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + *p.String() = string(v) + out.n = n + return out, nil +} + +var coderString = pointerCoderFuncs{ + size: sizeString, + marshal: appendString, + unmarshal: consumeString, + merge: mergeString, +} + +// appendStringValidateUTF8 wire encodes a string pointer as a String. +func appendStringValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.String() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendString(b, v) + if !utf8.ValidString(v) { + return b, errInvalidUTF8{} + } + return b, nil +} + +// consumeStringValidateUTF8 wire decodes a string pointer as a String. +func consumeStringValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + if !utf8.Valid(v) { + return out, errInvalidUTF8{} + } + *p.String() = string(v) + out.n = n + return out, nil +} + +var coderStringValidateUTF8 = pointerCoderFuncs{ + size: sizeString, + marshal: appendStringValidateUTF8, + unmarshal: consumeStringValidateUTF8, + merge: mergeString, +} + +// sizeStringNoZero returns the size of wire encoding a string pointer as a String. +// The zero value is not encoded. +func sizeStringNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.String() + if len(v) == 0 { + return 0 + } + return f.tagsize + protowire.SizeBytes(len(v)) +} + +// appendStringNoZero wire encodes a string pointer as a String. +// The zero value is not encoded. +func appendStringNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.String() + if len(v) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendString(b, v) + return b, nil +} + +var coderStringNoZero = pointerCoderFuncs{ + size: sizeStringNoZero, + marshal: appendStringNoZero, + unmarshal: consumeString, + merge: mergeStringNoZero, +} + +// appendStringNoZeroValidateUTF8 wire encodes a string pointer as a String. +// The zero value is not encoded. +func appendStringNoZeroValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.String() + if len(v) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendString(b, v) + if !utf8.ValidString(v) { + return b, errInvalidUTF8{} + } + return b, nil +} + +var coderStringNoZeroValidateUTF8 = pointerCoderFuncs{ + size: sizeStringNoZero, + marshal: appendStringNoZeroValidateUTF8, + unmarshal: consumeStringValidateUTF8, + merge: mergeStringNoZero, +} + +// sizeStringPtr returns the size of wire encoding a *string pointer as a String. +// It panics if the pointer is nil. +func sizeStringPtr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := **p.StringPtr() + return f.tagsize + protowire.SizeBytes(len(v)) +} + +// appendStringPtr wire encodes a *string pointer as a String. +// It panics if the pointer is nil. +func appendStringPtr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.StringPtr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendString(b, v) + return b, nil +} + +// consumeStringPtr wire decodes a *string pointer as a String. +func consumeStringPtr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + vp := p.StringPtr() + if *vp == nil { + *vp = new(string) + } + **vp = string(v) + out.n = n + return out, nil +} + +var coderStringPtr = pointerCoderFuncs{ + size: sizeStringPtr, + marshal: appendStringPtr, + unmarshal: consumeStringPtr, + merge: mergeStringPtr, +} + +// appendStringPtrValidateUTF8 wire encodes a *string pointer as a String. +// It panics if the pointer is nil. +func appendStringPtrValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := **p.StringPtr() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendString(b, v) + if !utf8.ValidString(v) { + return b, errInvalidUTF8{} + } + return b, nil +} + +// consumeStringPtrValidateUTF8 wire decodes a *string pointer as a String. +func consumeStringPtrValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + if !utf8.Valid(v) { + return out, errInvalidUTF8{} + } + vp := p.StringPtr() + if *vp == nil { + *vp = new(string) + } + **vp = string(v) + out.n = n + return out, nil +} + +var coderStringPtrValidateUTF8 = pointerCoderFuncs{ + size: sizeStringPtr, + marshal: appendStringPtrValidateUTF8, + unmarshal: consumeStringPtrValidateUTF8, + merge: mergeStringPtr, +} + +// sizeStringSlice returns the size of wire encoding a []string pointer as a repeated String. +func sizeStringSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.StringSlice() + for _, v := range s { + size += f.tagsize + protowire.SizeBytes(len(v)) + } + return size +} + +// appendStringSlice encodes a []string pointer as a repeated String. +func appendStringSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.StringSlice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendString(b, v) + } + return b, nil +} + +// consumeStringSlice wire decodes a []string pointer as a repeated String. +func consumeStringSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.StringSlice() + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + *sp = append(*sp, string(v)) + out.n = n + return out, nil +} + +var coderStringSlice = pointerCoderFuncs{ + size: sizeStringSlice, + marshal: appendStringSlice, + unmarshal: consumeStringSlice, + merge: mergeStringSlice, +} + +// appendStringSliceValidateUTF8 encodes a []string pointer as a repeated String. +func appendStringSliceValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.StringSlice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendString(b, v) + if !utf8.ValidString(v) { + return b, errInvalidUTF8{} + } + } + return b, nil +} + +// consumeStringSliceValidateUTF8 wire decodes a []string pointer as a repeated String. +func consumeStringSliceValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + if !utf8.Valid(v) { + return out, errInvalidUTF8{} + } + sp := p.StringSlice() + *sp = append(*sp, string(v)) + out.n = n + return out, nil +} + +var coderStringSliceValidateUTF8 = pointerCoderFuncs{ + size: sizeStringSlice, + marshal: appendStringSliceValidateUTF8, + unmarshal: consumeStringSliceValidateUTF8, + merge: mergeStringSlice, +} + +// sizeStringValue returns the size of wire encoding a string value as a String. +func sizeStringValue(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeBytes(len(v.String())) +} + +// appendStringValue encodes a string value as a String. +func appendStringValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendString(b, v.String()) + return b, nil +} + +// consumeStringValue decodes a string value as a String. +func consumeStringValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfString(string(v)), out, nil +} + +var coderStringValue = valueCoderFuncs{ + size: sizeStringValue, + marshal: appendStringValue, + unmarshal: consumeStringValue, + merge: mergeScalarValue, +} + +// appendStringValueValidateUTF8 encodes a string value as a String. +func appendStringValueValidateUTF8(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendString(b, v.String()) + if !utf8.ValidString(v.String()) { + return b, errInvalidUTF8{} + } + return b, nil +} + +// consumeStringValueValidateUTF8 decodes a string value as a String. +func consumeStringValueValidateUTF8(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + if !utf8.Valid(v) { + return protoreflect.Value{}, out, errInvalidUTF8{} + } + out.n = n + return protoreflect.ValueOfString(string(v)), out, nil +} + +var coderStringValueValidateUTF8 = valueCoderFuncs{ + size: sizeStringValue, + marshal: appendStringValueValidateUTF8, + unmarshal: consumeStringValueValidateUTF8, + merge: mergeScalarValue, +} + +// sizeStringSliceValue returns the size of wire encoding a []string value as a repeated String. +func sizeStringSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeBytes(len(v.String())) + } + return size +} + +// appendStringSliceValue encodes a []string value as a repeated String. +func appendStringSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendString(b, v.String()) + } + return b, nil +} + +// consumeStringSliceValue wire decodes a []string value as a repeated String. +func consumeStringSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp != protowire.BytesType { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfString(string(v))) + out.n = n + return listv, out, nil +} + +var coderStringSliceValue = valueCoderFuncs{ + size: sizeStringSliceValue, + marshal: appendStringSliceValue, + unmarshal: consumeStringSliceValue, + merge: mergeListValue, +} + +// sizeBytes returns the size of wire encoding a []byte pointer as a Bytes. +func sizeBytes(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Bytes() + return f.tagsize + protowire.SizeBytes(len(v)) +} + +// appendBytes wire encodes a []byte pointer as a Bytes. +func appendBytes(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Bytes() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendBytes(b, v) + return b, nil +} + +// consumeBytes wire decodes a []byte pointer as a Bytes. +func consumeBytes(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + *p.Bytes() = append(emptyBuf[:], v...) + out.n = n + return out, nil +} + +var coderBytes = pointerCoderFuncs{ + size: sizeBytes, + marshal: appendBytes, + unmarshal: consumeBytes, + merge: mergeBytes, +} + +// appendBytesValidateUTF8 wire encodes a []byte pointer as a Bytes. +func appendBytesValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Bytes() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendBytes(b, v) + if !utf8.Valid(v) { + return b, errInvalidUTF8{} + } + return b, nil +} + +// consumeBytesValidateUTF8 wire decodes a []byte pointer as a Bytes. +func consumeBytesValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + if !utf8.Valid(v) { + return out, errInvalidUTF8{} + } + *p.Bytes() = append(emptyBuf[:], v...) + out.n = n + return out, nil +} + +var coderBytesValidateUTF8 = pointerCoderFuncs{ + size: sizeBytes, + marshal: appendBytesValidateUTF8, + unmarshal: consumeBytesValidateUTF8, + merge: mergeBytes, +} + +// sizeBytesNoZero returns the size of wire encoding a []byte pointer as a Bytes. +// The zero value is not encoded. +func sizeBytesNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + v := *p.Bytes() + if len(v) == 0 { + return 0 + } + return f.tagsize + protowire.SizeBytes(len(v)) +} + +// appendBytesNoZero wire encodes a []byte pointer as a Bytes. +// The zero value is not encoded. +func appendBytesNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Bytes() + if len(v) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendBytes(b, v) + return b, nil +} + +// consumeBytesNoZero wire decodes a []byte pointer as a Bytes. +// The zero value is not decoded. +func consumeBytesNoZero(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + *p.Bytes() = append(([]byte)(nil), v...) + out.n = n + return out, nil +} + +var coderBytesNoZero = pointerCoderFuncs{ + size: sizeBytesNoZero, + marshal: appendBytesNoZero, + unmarshal: consumeBytesNoZero, + merge: mergeBytesNoZero, +} + +// appendBytesNoZeroValidateUTF8 wire encodes a []byte pointer as a Bytes. +// The zero value is not encoded. +func appendBytesNoZeroValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := *p.Bytes() + if len(v) == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendBytes(b, v) + if !utf8.Valid(v) { + return b, errInvalidUTF8{} + } + return b, nil +} + +// consumeBytesNoZeroValidateUTF8 wire decodes a []byte pointer as a Bytes. +func consumeBytesNoZeroValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + if !utf8.Valid(v) { + return out, errInvalidUTF8{} + } + *p.Bytes() = append(([]byte)(nil), v...) + out.n = n + return out, nil +} + +var coderBytesNoZeroValidateUTF8 = pointerCoderFuncs{ + size: sizeBytesNoZero, + marshal: appendBytesNoZeroValidateUTF8, + unmarshal: consumeBytesNoZeroValidateUTF8, + merge: mergeBytesNoZero, +} + +// sizeBytesSlice returns the size of wire encoding a [][]byte pointer as a repeated Bytes. +func sizeBytesSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := *p.BytesSlice() + for _, v := range s { + size += f.tagsize + protowire.SizeBytes(len(v)) + } + return size +} + +// appendBytesSlice encodes a [][]byte pointer as a repeated Bytes. +func appendBytesSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.BytesSlice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendBytes(b, v) + } + return b, nil +} + +// consumeBytesSlice wire decodes a [][]byte pointer as a repeated Bytes. +func consumeBytesSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + sp := p.BytesSlice() + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + *sp = append(*sp, append(emptyBuf[:], v...)) + out.n = n + return out, nil +} + +var coderBytesSlice = pointerCoderFuncs{ + size: sizeBytesSlice, + marshal: appendBytesSlice, + unmarshal: consumeBytesSlice, + merge: mergeBytesSlice, +} + +// appendBytesSliceValidateUTF8 encodes a [][]byte pointer as a repeated Bytes. +func appendBytesSliceValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := *p.BytesSlice() + for _, v := range s { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendBytes(b, v) + if !utf8.Valid(v) { + return b, errInvalidUTF8{} + } + } + return b, nil +} + +// consumeBytesSliceValidateUTF8 wire decodes a [][]byte pointer as a repeated Bytes. +func consumeBytesSliceValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + if !utf8.Valid(v) { + return out, errInvalidUTF8{} + } + sp := p.BytesSlice() + *sp = append(*sp, append(emptyBuf[:], v...)) + out.n = n + return out, nil +} + +var coderBytesSliceValidateUTF8 = pointerCoderFuncs{ + size: sizeBytesSlice, + marshal: appendBytesSliceValidateUTF8, + unmarshal: consumeBytesSliceValidateUTF8, + merge: mergeBytesSlice, +} + +// sizeBytesValue returns the size of wire encoding a []byte value as a Bytes. +func sizeBytesValue(v protoreflect.Value, tagsize int, opts marshalOptions) int { + return tagsize + protowire.SizeBytes(len(v.Bytes())) +} + +// appendBytesValue encodes a []byte value as a Bytes. +func appendBytesValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendBytes(b, v.Bytes()) + return b, nil +} + +// consumeBytesValue decodes a []byte value as a Bytes. +func consumeBytesValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + out.n = n + return protoreflect.ValueOfBytes(append(emptyBuf[:], v...)), out, nil +} + +var coderBytesValue = valueCoderFuncs{ + size: sizeBytesValue, + marshal: appendBytesValue, + unmarshal: consumeBytesValue, + merge: mergeBytesValue, +} + +// sizeBytesSliceValue returns the size of wire encoding a [][]byte value as a repeated Bytes. +func sizeBytesSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + size += tagsize + protowire.SizeBytes(len(v.Bytes())) + } + return size +} + +// appendBytesSliceValue encodes a [][]byte value as a repeated Bytes. +func appendBytesSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) { + list := listv.List() + for i, llen := 0, list.Len(); i < llen; i++ { + v := list.Get(i) + b = protowire.AppendVarint(b, wiretag) + b = protowire.AppendBytes(b, v.Bytes()) + } + return b, nil +} + +// consumeBytesSliceValue wire decodes a [][]byte value as a repeated Bytes. +func consumeBytesSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) { + list := listv.List() + if wtyp != protowire.BytesType { + return protoreflect.Value{}, out, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return protoreflect.Value{}, out, errDecode + } + list.Append(protoreflect.ValueOfBytes(append(emptyBuf[:], v...))) + out.n = n + return listv, out, nil +} + +var coderBytesSliceValue = valueCoderFuncs{ + size: sizeBytesSliceValue, + marshal: appendBytesSliceValue, + unmarshal: consumeBytesSliceValue, + merge: mergeBytesListValue, +} + +// We append to an empty array rather than a nil []byte to get non-nil zero-length byte slices. +var emptyBuf [0]byte + +var wireTypes = map[protoreflect.Kind]protowire.Type{ + protoreflect.BoolKind: protowire.VarintType, + protoreflect.EnumKind: protowire.VarintType, + protoreflect.Int32Kind: protowire.VarintType, + protoreflect.Sint32Kind: protowire.VarintType, + protoreflect.Uint32Kind: protowire.VarintType, + protoreflect.Int64Kind: protowire.VarintType, + protoreflect.Sint64Kind: protowire.VarintType, + protoreflect.Uint64Kind: protowire.VarintType, + protoreflect.Sfixed32Kind: protowire.Fixed32Type, + protoreflect.Fixed32Kind: protowire.Fixed32Type, + protoreflect.FloatKind: protowire.Fixed32Type, + protoreflect.Sfixed64Kind: protowire.Fixed64Type, + protoreflect.Fixed64Kind: protowire.Fixed64Type, + protoreflect.DoubleKind: protowire.Fixed64Type, + protoreflect.StringKind: protowire.BytesType, + protoreflect.BytesKind: protowire.BytesType, + protoreflect.MessageKind: protowire.BytesType, + protoreflect.GroupKind: protowire.StartGroupType, +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/codec_map.go b/server/vendor/google.golang.org/protobuf/internal/impl/codec_map.go new file mode 100755 index 0000000..111b9d1 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/codec_map.go @@ -0,0 +1,388 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "reflect" + "sort" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/reflect/protoreflect" +) + +type mapInfo struct { + goType reflect.Type + keyWiretag uint64 + valWiretag uint64 + keyFuncs valueCoderFuncs + valFuncs valueCoderFuncs + keyZero protoreflect.Value + keyKind protoreflect.Kind + conv *mapConverter +} + +func encoderFuncsForMap(fd protoreflect.FieldDescriptor, ft reflect.Type) (valueMessage *MessageInfo, funcs pointerCoderFuncs) { + // TODO: Consider generating specialized map coders. + keyField := fd.MapKey() + valField := fd.MapValue() + keyWiretag := protowire.EncodeTag(1, wireTypes[keyField.Kind()]) + valWiretag := protowire.EncodeTag(2, wireTypes[valField.Kind()]) + keyFuncs := encoderFuncsForValue(keyField) + valFuncs := encoderFuncsForValue(valField) + conv := newMapConverter(ft, fd) + + mapi := &mapInfo{ + goType: ft, + keyWiretag: keyWiretag, + valWiretag: valWiretag, + keyFuncs: keyFuncs, + valFuncs: valFuncs, + keyZero: keyField.Default(), + keyKind: keyField.Kind(), + conv: conv, + } + if valField.Kind() == protoreflect.MessageKind { + valueMessage = getMessageInfo(ft.Elem()) + } + + funcs = pointerCoderFuncs{ + size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int { + return sizeMap(p.AsValueOf(ft).Elem(), mapi, f, opts) + }, + marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + return appendMap(b, p.AsValueOf(ft).Elem(), mapi, f, opts) + }, + unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + mp := p.AsValueOf(ft) + if mp.Elem().IsNil() { + mp.Elem().Set(reflect.MakeMap(mapi.goType)) + } + if f.mi == nil { + return consumeMap(b, mp.Elem(), wtyp, mapi, f, opts) + } else { + return consumeMapOfMessage(b, mp.Elem(), wtyp, mapi, f, opts) + } + }, + } + switch valField.Kind() { + case protoreflect.MessageKind: + funcs.merge = mergeMapOfMessage + case protoreflect.BytesKind: + funcs.merge = mergeMapOfBytes + default: + funcs.merge = mergeMap + } + if valFuncs.isInit != nil { + funcs.isInit = func(p pointer, f *coderFieldInfo) error { + return isInitMap(p.AsValueOf(ft).Elem(), mapi, f) + } + } + return valueMessage, funcs +} + +const ( + mapKeyTagSize = 1 // field 1, tag size 1. + mapValTagSize = 1 // field 2, tag size 2. +) + +func sizeMap(mapv reflect.Value, mapi *mapInfo, f *coderFieldInfo, opts marshalOptions) int { + if mapv.Len() == 0 { + return 0 + } + n := 0 + iter := mapRange(mapv) + for iter.Next() { + key := mapi.conv.keyConv.PBValueOf(iter.Key()).MapKey() + keySize := mapi.keyFuncs.size(key.Value(), mapKeyTagSize, opts) + var valSize int + value := mapi.conv.valConv.PBValueOf(iter.Value()) + if f.mi == nil { + valSize = mapi.valFuncs.size(value, mapValTagSize, opts) + } else { + p := pointerOfValue(iter.Value()) + valSize += mapValTagSize + valSize += protowire.SizeBytes(f.mi.sizePointer(p, opts)) + } + n += f.tagsize + protowire.SizeBytes(keySize+valSize) + } + return n +} + +func consumeMap(b []byte, mapv reflect.Value, wtyp protowire.Type, mapi *mapInfo, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + var ( + key = mapi.keyZero + val = mapi.conv.valConv.New() + ) + for len(b) > 0 { + num, wtyp, n := protowire.ConsumeTag(b) + if n < 0 { + return out, errDecode + } + if num > protowire.MaxValidNumber { + return out, errDecode + } + b = b[n:] + err := errUnknown + switch num { + case genid.MapEntry_Key_field_number: + var v protoreflect.Value + var o unmarshalOutput + v, o, err = mapi.keyFuncs.unmarshal(b, key, num, wtyp, opts) + if err != nil { + break + } + key = v + n = o.n + case genid.MapEntry_Value_field_number: + var v protoreflect.Value + var o unmarshalOutput + v, o, err = mapi.valFuncs.unmarshal(b, val, num, wtyp, opts) + if err != nil { + break + } + val = v + n = o.n + } + if err == errUnknown { + n = protowire.ConsumeFieldValue(num, wtyp, b) + if n < 0 { + return out, errDecode + } + } else if err != nil { + return out, err + } + b = b[n:] + } + mapv.SetMapIndex(mapi.conv.keyConv.GoValueOf(key), mapi.conv.valConv.GoValueOf(val)) + out.n = n + return out, nil +} + +func consumeMapOfMessage(b []byte, mapv reflect.Value, wtyp protowire.Type, mapi *mapInfo, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.BytesType { + return out, errUnknown + } + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + var ( + key = mapi.keyZero + val = reflect.New(f.mi.GoReflectType.Elem()) + ) + for len(b) > 0 { + num, wtyp, n := protowire.ConsumeTag(b) + if n < 0 { + return out, errDecode + } + if num > protowire.MaxValidNumber { + return out, errDecode + } + b = b[n:] + err := errUnknown + switch num { + case 1: + var v protoreflect.Value + var o unmarshalOutput + v, o, err = mapi.keyFuncs.unmarshal(b, key, num, wtyp, opts) + if err != nil { + break + } + key = v + n = o.n + case 2: + if wtyp != protowire.BytesType { + break + } + var v []byte + v, n = protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + var o unmarshalOutput + o, err = f.mi.unmarshalPointer(v, pointerOfValue(val), 0, opts) + if o.initialized { + // Consider this map item initialized so long as we see + // an initialized value. + out.initialized = true + } + } + if err == errUnknown { + n = protowire.ConsumeFieldValue(num, wtyp, b) + if n < 0 { + return out, errDecode + } + } else if err != nil { + return out, err + } + b = b[n:] + } + mapv.SetMapIndex(mapi.conv.keyConv.GoValueOf(key), val) + out.n = n + return out, nil +} + +func appendMapItem(b []byte, keyrv, valrv reflect.Value, mapi *mapInfo, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + if f.mi == nil { + key := mapi.conv.keyConv.PBValueOf(keyrv).MapKey() + val := mapi.conv.valConv.PBValueOf(valrv) + size := 0 + size += mapi.keyFuncs.size(key.Value(), mapKeyTagSize, opts) + size += mapi.valFuncs.size(val, mapValTagSize, opts) + b = protowire.AppendVarint(b, uint64(size)) + b, err := mapi.keyFuncs.marshal(b, key.Value(), mapi.keyWiretag, opts) + if err != nil { + return nil, err + } + return mapi.valFuncs.marshal(b, val, mapi.valWiretag, opts) + } else { + key := mapi.conv.keyConv.PBValueOf(keyrv).MapKey() + val := pointerOfValue(valrv) + valSize := f.mi.sizePointer(val, opts) + size := 0 + size += mapi.keyFuncs.size(key.Value(), mapKeyTagSize, opts) + size += mapValTagSize + protowire.SizeBytes(valSize) + b = protowire.AppendVarint(b, uint64(size)) + b, err := mapi.keyFuncs.marshal(b, key.Value(), mapi.keyWiretag, opts) + if err != nil { + return nil, err + } + b = protowire.AppendVarint(b, mapi.valWiretag) + b = protowire.AppendVarint(b, uint64(valSize)) + return f.mi.marshalAppendPointer(b, val, opts) + } +} + +func appendMap(b []byte, mapv reflect.Value, mapi *mapInfo, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + if mapv.Len() == 0 { + return b, nil + } + if opts.Deterministic() { + return appendMapDeterministic(b, mapv, mapi, f, opts) + } + iter := mapRange(mapv) + for iter.Next() { + var err error + b = protowire.AppendVarint(b, f.wiretag) + b, err = appendMapItem(b, iter.Key(), iter.Value(), mapi, f, opts) + if err != nil { + return b, err + } + } + return b, nil +} + +func appendMapDeterministic(b []byte, mapv reflect.Value, mapi *mapInfo, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + keys := mapv.MapKeys() + sort.Slice(keys, func(i, j int) bool { + switch keys[i].Kind() { + case reflect.Bool: + return !keys[i].Bool() && keys[j].Bool() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return keys[i].Int() < keys[j].Int() + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return keys[i].Uint() < keys[j].Uint() + case reflect.Float32, reflect.Float64: + return keys[i].Float() < keys[j].Float() + case reflect.String: + return keys[i].String() < keys[j].String() + default: + panic("invalid kind: " + keys[i].Kind().String()) + } + }) + for _, key := range keys { + var err error + b = protowire.AppendVarint(b, f.wiretag) + b, err = appendMapItem(b, key, mapv.MapIndex(key), mapi, f, opts) + if err != nil { + return b, err + } + } + return b, nil +} + +func isInitMap(mapv reflect.Value, mapi *mapInfo, f *coderFieldInfo) error { + if mi := f.mi; mi != nil { + mi.init() + if !mi.needsInitCheck { + return nil + } + iter := mapRange(mapv) + for iter.Next() { + val := pointerOfValue(iter.Value()) + if err := mi.checkInitializedPointer(val); err != nil { + return err + } + } + } else { + iter := mapRange(mapv) + for iter.Next() { + val := mapi.conv.valConv.PBValueOf(iter.Value()) + if err := mapi.valFuncs.isInit(val); err != nil { + return err + } + } + } + return nil +} + +func mergeMap(dst, src pointer, f *coderFieldInfo, opts mergeOptions) { + dstm := dst.AsValueOf(f.ft).Elem() + srcm := src.AsValueOf(f.ft).Elem() + if srcm.Len() == 0 { + return + } + if dstm.IsNil() { + dstm.Set(reflect.MakeMap(f.ft)) + } + iter := mapRange(srcm) + for iter.Next() { + dstm.SetMapIndex(iter.Key(), iter.Value()) + } +} + +func mergeMapOfBytes(dst, src pointer, f *coderFieldInfo, opts mergeOptions) { + dstm := dst.AsValueOf(f.ft).Elem() + srcm := src.AsValueOf(f.ft).Elem() + if srcm.Len() == 0 { + return + } + if dstm.IsNil() { + dstm.Set(reflect.MakeMap(f.ft)) + } + iter := mapRange(srcm) + for iter.Next() { + dstm.SetMapIndex(iter.Key(), reflect.ValueOf(append(emptyBuf[:], iter.Value().Bytes()...))) + } +} + +func mergeMapOfMessage(dst, src pointer, f *coderFieldInfo, opts mergeOptions) { + dstm := dst.AsValueOf(f.ft).Elem() + srcm := src.AsValueOf(f.ft).Elem() + if srcm.Len() == 0 { + return + } + if dstm.IsNil() { + dstm.Set(reflect.MakeMap(f.ft)) + } + iter := mapRange(srcm) + for iter.Next() { + val := reflect.New(f.ft.Elem().Elem()) + if f.mi != nil { + f.mi.mergePointer(pointerOfValue(val), pointerOfValue(iter.Value()), opts) + } else { + opts.Merge(asMessage(val), asMessage(iter.Value())) + } + dstm.SetMapIndex(iter.Key(), val) + } +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go b/server/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go new file mode 100755 index 0000000..4b15493 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go @@ -0,0 +1,38 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !go1.12 +// +build !go1.12 + +package impl + +import "reflect" + +type mapIter struct { + v reflect.Value + keys []reflect.Value +} + +// mapRange provides a less-efficient equivalent to +// the Go 1.12 reflect.Value.MapRange method. +func mapRange(v reflect.Value) *mapIter { + return &mapIter{v: v} +} + +func (i *mapIter) Next() bool { + if i.keys == nil { + i.keys = i.v.MapKeys() + } else { + i.keys = i.keys[1:] + } + return len(i.keys) > 0 +} + +func (i *mapIter) Key() reflect.Value { + return i.keys[0] +} + +func (i *mapIter) Value() reflect.Value { + return i.v.MapIndex(i.keys[0]) +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go b/server/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go new file mode 100755 index 0000000..0b31b66 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go @@ -0,0 +1,12 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build go1.12 +// +build go1.12 + +package impl + +import "reflect" + +func mapRange(v reflect.Value) *reflect.MapIter { return v.MapRange() } diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/codec_message.go b/server/vendor/google.golang.org/protobuf/internal/impl/codec_message.go new file mode 100755 index 0000000..6b2fdbb --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/codec_message.go @@ -0,0 +1,217 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + "sort" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/order" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +// coderMessageInfo contains per-message information used by the fast-path functions. +// This is a different type from MessageInfo to keep MessageInfo as general-purpose as +// possible. +type coderMessageInfo struct { + methods protoiface.Methods + + orderedCoderFields []*coderFieldInfo + denseCoderFields []*coderFieldInfo + coderFields map[protowire.Number]*coderFieldInfo + sizecacheOffset offset + unknownOffset offset + unknownPtrKind bool + extensionOffset offset + needsInitCheck bool + isMessageSet bool + numRequiredFields uint8 +} + +type coderFieldInfo struct { + funcs pointerCoderFuncs // fast-path per-field functions + mi *MessageInfo // field's message + ft reflect.Type + validation validationInfo // information used by message validation + num protoreflect.FieldNumber // field number + offset offset // struct field offset + wiretag uint64 // field tag (number + wire type) + tagsize int // size of the varint-encoded tag + isPointer bool // true if IsNil may be called on the struct field + isRequired bool // true if field is required +} + +func (mi *MessageInfo) makeCoderMethods(t reflect.Type, si structInfo) { + mi.sizecacheOffset = invalidOffset + mi.unknownOffset = invalidOffset + mi.extensionOffset = invalidOffset + + if si.sizecacheOffset.IsValid() && si.sizecacheType == sizecacheType { + mi.sizecacheOffset = si.sizecacheOffset + } + if si.unknownOffset.IsValid() && (si.unknownType == unknownFieldsAType || si.unknownType == unknownFieldsBType) { + mi.unknownOffset = si.unknownOffset + mi.unknownPtrKind = si.unknownType.Kind() == reflect.Ptr + } + if si.extensionOffset.IsValid() && si.extensionType == extensionFieldsType { + mi.extensionOffset = si.extensionOffset + } + + mi.coderFields = make(map[protowire.Number]*coderFieldInfo) + fields := mi.Desc.Fields() + preallocFields := make([]coderFieldInfo, fields.Len()) + for i := 0; i < fields.Len(); i++ { + fd := fields.Get(i) + + fs := si.fieldsByNumber[fd.Number()] + isOneof := fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic() + if isOneof { + fs = si.oneofsByName[fd.ContainingOneof().Name()] + } + ft := fs.Type + var wiretag uint64 + if !fd.IsPacked() { + wiretag = protowire.EncodeTag(fd.Number(), wireTypes[fd.Kind()]) + } else { + wiretag = protowire.EncodeTag(fd.Number(), protowire.BytesType) + } + var fieldOffset offset + var funcs pointerCoderFuncs + var childMessage *MessageInfo + switch { + case ft == nil: + // This never occurs for generated message types. + // It implies that a hand-crafted type has missing Go fields + // for specific protobuf message fields. + funcs = pointerCoderFuncs{ + size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int { + return 0 + }, + marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + return nil, nil + }, + unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) { + panic("missing Go struct field for " + string(fd.FullName())) + }, + isInit: func(p pointer, f *coderFieldInfo) error { + panic("missing Go struct field for " + string(fd.FullName())) + }, + merge: func(dst, src pointer, f *coderFieldInfo, opts mergeOptions) { + panic("missing Go struct field for " + string(fd.FullName())) + }, + } + case isOneof: + fieldOffset = offsetOf(fs, mi.Exporter) + case fd.IsWeak(): + fieldOffset = si.weakOffset + funcs = makeWeakMessageFieldCoder(fd) + default: + fieldOffset = offsetOf(fs, mi.Exporter) + childMessage, funcs = fieldCoder(fd, ft) + } + cf := &preallocFields[i] + *cf = coderFieldInfo{ + num: fd.Number(), + offset: fieldOffset, + wiretag: wiretag, + ft: ft, + tagsize: protowire.SizeVarint(wiretag), + funcs: funcs, + mi: childMessage, + validation: newFieldValidationInfo(mi, si, fd, ft), + isPointer: fd.Cardinality() == protoreflect.Repeated || fd.HasPresence(), + isRequired: fd.Cardinality() == protoreflect.Required, + } + mi.orderedCoderFields = append(mi.orderedCoderFields, cf) + mi.coderFields[cf.num] = cf + } + for i, oneofs := 0, mi.Desc.Oneofs(); i < oneofs.Len(); i++ { + if od := oneofs.Get(i); !od.IsSynthetic() { + mi.initOneofFieldCoders(od, si) + } + } + if messageset.IsMessageSet(mi.Desc) { + if !mi.extensionOffset.IsValid() { + panic(fmt.Sprintf("%v: MessageSet with no extensions field", mi.Desc.FullName())) + } + if !mi.unknownOffset.IsValid() { + panic(fmt.Sprintf("%v: MessageSet with no unknown field", mi.Desc.FullName())) + } + mi.isMessageSet = true + } + sort.Slice(mi.orderedCoderFields, func(i, j int) bool { + return mi.orderedCoderFields[i].num < mi.orderedCoderFields[j].num + }) + + var maxDense protoreflect.FieldNumber + for _, cf := range mi.orderedCoderFields { + if cf.num >= 16 && cf.num >= 2*maxDense { + break + } + maxDense = cf.num + } + mi.denseCoderFields = make([]*coderFieldInfo, maxDense+1) + for _, cf := range mi.orderedCoderFields { + if int(cf.num) >= len(mi.denseCoderFields) { + break + } + mi.denseCoderFields[cf.num] = cf + } + + // To preserve compatibility with historic wire output, marshal oneofs last. + if mi.Desc.Oneofs().Len() > 0 { + sort.Slice(mi.orderedCoderFields, func(i, j int) bool { + fi := fields.ByNumber(mi.orderedCoderFields[i].num) + fj := fields.ByNumber(mi.orderedCoderFields[j].num) + return order.LegacyFieldOrder(fi, fj) + }) + } + + mi.needsInitCheck = needsInitCheck(mi.Desc) + if mi.methods.Marshal == nil && mi.methods.Size == nil { + mi.methods.Flags |= protoiface.SupportMarshalDeterministic + mi.methods.Marshal = mi.marshal + mi.methods.Size = mi.size + } + if mi.methods.Unmarshal == nil { + mi.methods.Flags |= protoiface.SupportUnmarshalDiscardUnknown + mi.methods.Unmarshal = mi.unmarshal + } + if mi.methods.CheckInitialized == nil { + mi.methods.CheckInitialized = mi.checkInitialized + } + if mi.methods.Merge == nil { + mi.methods.Merge = mi.merge + } +} + +// getUnknownBytes returns a *[]byte for the unknown fields. +// It is the caller's responsibility to check whether the pointer is nil. +// This function is specially designed to be inlineable. +func (mi *MessageInfo) getUnknownBytes(p pointer) *[]byte { + if mi.unknownPtrKind { + return *p.Apply(mi.unknownOffset).BytesPtr() + } else { + return p.Apply(mi.unknownOffset).Bytes() + } +} + +// mutableUnknownBytes returns a *[]byte for the unknown fields. +// The returned pointer is guaranteed to not be nil. +func (mi *MessageInfo) mutableUnknownBytes(p pointer) *[]byte { + if mi.unknownPtrKind { + bp := p.Apply(mi.unknownOffset).BytesPtr() + if *bp == nil { + *bp = new([]byte) + } + return *bp + } else { + return p.Apply(mi.unknownOffset).Bytes() + } +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go b/server/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go new file mode 100755 index 0000000..b7a23fa --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go @@ -0,0 +1,123 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "sort" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/flags" +) + +func sizeMessageSet(mi *MessageInfo, p pointer, opts marshalOptions) (size int) { + if !flags.ProtoLegacy { + return 0 + } + + ext := *p.Apply(mi.extensionOffset).Extensions() + for _, x := range ext { + xi := getExtensionFieldInfo(x.Type()) + if xi.funcs.size == nil { + continue + } + num, _ := protowire.DecodeTag(xi.wiretag) + size += messageset.SizeField(num) + size += xi.funcs.size(x.Value(), protowire.SizeTag(messageset.FieldMessage), opts) + } + + if u := mi.getUnknownBytes(p); u != nil { + size += messageset.SizeUnknown(*u) + } + + return size +} + +func marshalMessageSet(mi *MessageInfo, b []byte, p pointer, opts marshalOptions) ([]byte, error) { + if !flags.ProtoLegacy { + return b, errors.New("no support for message_set_wire_format") + } + + ext := *p.Apply(mi.extensionOffset).Extensions() + switch len(ext) { + case 0: + case 1: + // Fast-path for one extension: Don't bother sorting the keys. + for _, x := range ext { + var err error + b, err = marshalMessageSetField(mi, b, x, opts) + if err != nil { + return b, err + } + } + default: + // Sort the keys to provide a deterministic encoding. + // Not sure this is required, but the old code does it. + keys := make([]int, 0, len(ext)) + for k := range ext { + keys = append(keys, int(k)) + } + sort.Ints(keys) + for _, k := range keys { + var err error + b, err = marshalMessageSetField(mi, b, ext[int32(k)], opts) + if err != nil { + return b, err + } + } + } + + if u := mi.getUnknownBytes(p); u != nil { + var err error + b, err = messageset.AppendUnknown(b, *u) + if err != nil { + return b, err + } + } + + return b, nil +} + +func marshalMessageSetField(mi *MessageInfo, b []byte, x ExtensionField, opts marshalOptions) ([]byte, error) { + xi := getExtensionFieldInfo(x.Type()) + num, _ := protowire.DecodeTag(xi.wiretag) + b = messageset.AppendFieldStart(b, num) + b, err := xi.funcs.marshal(b, x.Value(), protowire.EncodeTag(messageset.FieldMessage, protowire.BytesType), opts) + if err != nil { + return b, err + } + b = messageset.AppendFieldEnd(b) + return b, nil +} + +func unmarshalMessageSet(mi *MessageInfo, b []byte, p pointer, opts unmarshalOptions) (out unmarshalOutput, err error) { + if !flags.ProtoLegacy { + return out, errors.New("no support for message_set_wire_format") + } + + ep := p.Apply(mi.extensionOffset).Extensions() + if *ep == nil { + *ep = make(map[int32]ExtensionField) + } + ext := *ep + initialized := true + err = messageset.Unmarshal(b, true, func(num protowire.Number, v []byte) error { + o, err := mi.unmarshalExtension(v, num, protowire.BytesType, ext, opts) + if err == errUnknown { + u := mi.mutableUnknownBytes(p) + *u = protowire.AppendTag(*u, num, protowire.BytesType) + *u = append(*u, v...) + return nil + } + if !o.initialized { + initialized = false + } + return err + }) + out.n = len(b) + out.initialized = initialized + return out, err +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go b/server/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go new file mode 100755 index 0000000..145c577 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go @@ -0,0 +1,210 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build purego || appengine +// +build purego appengine + +package impl + +import ( + "reflect" + + "google.golang.org/protobuf/encoding/protowire" +) + +func sizeEnum(p pointer, f *coderFieldInfo, _ marshalOptions) (size int) { + v := p.v.Elem().Int() + return f.tagsize + protowire.SizeVarint(uint64(v)) +} + +func appendEnum(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + v := p.v.Elem().Int() + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(v)) + return b, nil +} + +func consumeEnum(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, _ unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return out, errDecode + } + p.v.Elem().SetInt(int64(v)) + out.n = n + return out, nil +} + +func mergeEnum(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + dst.v.Elem().Set(src.v.Elem()) +} + +var coderEnum = pointerCoderFuncs{ + size: sizeEnum, + marshal: appendEnum, + unmarshal: consumeEnum, + merge: mergeEnum, +} + +func sizeEnumNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + if p.v.Elem().Int() == 0 { + return 0 + } + return sizeEnum(p, f, opts) +} + +func appendEnumNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + if p.v.Elem().Int() == 0 { + return b, nil + } + return appendEnum(b, p, f, opts) +} + +func mergeEnumNoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + if src.v.Elem().Int() != 0 { + dst.v.Elem().Set(src.v.Elem()) + } +} + +var coderEnumNoZero = pointerCoderFuncs{ + size: sizeEnumNoZero, + marshal: appendEnumNoZero, + unmarshal: consumeEnum, + merge: mergeEnumNoZero, +} + +func sizeEnumPtr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + return sizeEnum(pointer{p.v.Elem()}, f, opts) +} + +func appendEnumPtr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + return appendEnum(b, pointer{p.v.Elem()}, f, opts) +} + +func consumeEnumPtr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + if wtyp != protowire.VarintType { + return out, errUnknown + } + if p.v.Elem().IsNil() { + p.v.Elem().Set(reflect.New(p.v.Elem().Type().Elem())) + } + return consumeEnum(b, pointer{p.v.Elem()}, wtyp, f, opts) +} + +func mergeEnumPtr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + if !src.v.Elem().IsNil() { + v := reflect.New(dst.v.Type().Elem().Elem()) + v.Elem().Set(src.v.Elem().Elem()) + dst.v.Elem().Set(v) + } +} + +var coderEnumPtr = pointerCoderFuncs{ + size: sizeEnumPtr, + marshal: appendEnumPtr, + unmarshal: consumeEnumPtr, + merge: mergeEnumPtr, +} + +func sizeEnumSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := p.v.Elem() + for i, llen := 0, s.Len(); i < llen; i++ { + size += protowire.SizeVarint(uint64(s.Index(i).Int())) + f.tagsize + } + return size +} + +func appendEnumSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := p.v.Elem() + for i, llen := 0, s.Len(); i < llen; i++ { + b = protowire.AppendVarint(b, f.wiretag) + b = protowire.AppendVarint(b, uint64(s.Index(i).Int())) + } + return b, nil +} + +func consumeEnumSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) { + s := p.v.Elem() + if wtyp == protowire.BytesType { + b, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, errDecode + } + for len(b) > 0 { + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return out, errDecode + } + rv := reflect.New(s.Type().Elem()).Elem() + rv.SetInt(int64(v)) + s.Set(reflect.Append(s, rv)) + b = b[n:] + } + out.n = n + return out, nil + } + if wtyp != protowire.VarintType { + return out, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return out, errDecode + } + rv := reflect.New(s.Type().Elem()).Elem() + rv.SetInt(int64(v)) + s.Set(reflect.Append(s, rv)) + out.n = n + return out, nil +} + +func mergeEnumSlice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + dst.v.Elem().Set(reflect.AppendSlice(dst.v.Elem(), src.v.Elem())) +} + +var coderEnumSlice = pointerCoderFuncs{ + size: sizeEnumSlice, + marshal: appendEnumSlice, + unmarshal: consumeEnumSlice, + merge: mergeEnumSlice, +} + +func sizeEnumPackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) { + s := p.v.Elem() + llen := s.Len() + if llen == 0 { + return 0 + } + n := 0 + for i := 0; i < llen; i++ { + n += protowire.SizeVarint(uint64(s.Index(i).Int())) + } + return f.tagsize + protowire.SizeBytes(n) +} + +func appendEnumPackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) { + s := p.v.Elem() + llen := s.Len() + if llen == 0 { + return b, nil + } + b = protowire.AppendVarint(b, f.wiretag) + n := 0 + for i := 0; i < llen; i++ { + n += protowire.SizeVarint(uint64(s.Index(i).Int())) + } + b = protowire.AppendVarint(b, uint64(n)) + for i := 0; i < llen; i++ { + b = protowire.AppendVarint(b, uint64(s.Index(i).Int())) + } + return b, nil +} + +var coderEnumPackedSlice = pointerCoderFuncs{ + size: sizeEnumPackedSlice, + marshal: appendEnumPackedSlice, + unmarshal: consumeEnumSlice, + merge: mergeEnumSlice, +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go b/server/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go new file mode 100755 index 0000000..576dcf3 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go @@ -0,0 +1,557 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// pointerCoderFuncs is a set of pointer encoding functions. +type pointerCoderFuncs struct { + mi *MessageInfo + size func(p pointer, f *coderFieldInfo, opts marshalOptions) int + marshal func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) + unmarshal func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) + isInit func(p pointer, f *coderFieldInfo) error + merge func(dst, src pointer, f *coderFieldInfo, opts mergeOptions) +} + +// valueCoderFuncs is a set of protoreflect.Value encoding functions. +type valueCoderFuncs struct { + size func(v protoreflect.Value, tagsize int, opts marshalOptions) int + marshal func(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) + unmarshal func(b []byte, v protoreflect.Value, num protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (protoreflect.Value, unmarshalOutput, error) + isInit func(v protoreflect.Value) error + merge func(dst, src protoreflect.Value, opts mergeOptions) protoreflect.Value +} + +// fieldCoder returns pointer functions for a field, used for operating on +// struct fields. +func fieldCoder(fd protoreflect.FieldDescriptor, ft reflect.Type) (*MessageInfo, pointerCoderFuncs) { + switch { + case fd.IsMap(): + return encoderFuncsForMap(fd, ft) + case fd.Cardinality() == protoreflect.Repeated && !fd.IsPacked(): + // Repeated fields (not packed). + if ft.Kind() != reflect.Slice { + break + } + ft := ft.Elem() + switch fd.Kind() { + case protoreflect.BoolKind: + if ft.Kind() == reflect.Bool { + return nil, coderBoolSlice + } + case protoreflect.EnumKind: + if ft.Kind() == reflect.Int32 { + return nil, coderEnumSlice + } + case protoreflect.Int32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderInt32Slice + } + case protoreflect.Sint32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSint32Slice + } + case protoreflect.Uint32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderUint32Slice + } + case protoreflect.Int64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderInt64Slice + } + case protoreflect.Sint64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSint64Slice + } + case protoreflect.Uint64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderUint64Slice + } + case protoreflect.Sfixed32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSfixed32Slice + } + case protoreflect.Fixed32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderFixed32Slice + } + case protoreflect.FloatKind: + if ft.Kind() == reflect.Float32 { + return nil, coderFloatSlice + } + case protoreflect.Sfixed64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSfixed64Slice + } + case protoreflect.Fixed64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderFixed64Slice + } + case protoreflect.DoubleKind: + if ft.Kind() == reflect.Float64 { + return nil, coderDoubleSlice + } + case protoreflect.StringKind: + if ft.Kind() == reflect.String && strs.EnforceUTF8(fd) { + return nil, coderStringSliceValidateUTF8 + } + if ft.Kind() == reflect.String { + return nil, coderStringSlice + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 && strs.EnforceUTF8(fd) { + return nil, coderBytesSliceValidateUTF8 + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 { + return nil, coderBytesSlice + } + case protoreflect.BytesKind: + if ft.Kind() == reflect.String { + return nil, coderStringSlice + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 { + return nil, coderBytesSlice + } + case protoreflect.MessageKind: + return getMessageInfo(ft), makeMessageSliceFieldCoder(fd, ft) + case protoreflect.GroupKind: + return getMessageInfo(ft), makeGroupSliceFieldCoder(fd, ft) + } + case fd.Cardinality() == protoreflect.Repeated && fd.IsPacked(): + // Packed repeated fields. + // + // Only repeated fields of primitive numeric types + // (Varint, Fixed32, or Fixed64 wire type) can be packed. + if ft.Kind() != reflect.Slice { + break + } + ft := ft.Elem() + switch fd.Kind() { + case protoreflect.BoolKind: + if ft.Kind() == reflect.Bool { + return nil, coderBoolPackedSlice + } + case protoreflect.EnumKind: + if ft.Kind() == reflect.Int32 { + return nil, coderEnumPackedSlice + } + case protoreflect.Int32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderInt32PackedSlice + } + case protoreflect.Sint32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSint32PackedSlice + } + case protoreflect.Uint32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderUint32PackedSlice + } + case protoreflect.Int64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderInt64PackedSlice + } + case protoreflect.Sint64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSint64PackedSlice + } + case protoreflect.Uint64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderUint64PackedSlice + } + case protoreflect.Sfixed32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSfixed32PackedSlice + } + case protoreflect.Fixed32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderFixed32PackedSlice + } + case protoreflect.FloatKind: + if ft.Kind() == reflect.Float32 { + return nil, coderFloatPackedSlice + } + case protoreflect.Sfixed64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSfixed64PackedSlice + } + case protoreflect.Fixed64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderFixed64PackedSlice + } + case protoreflect.DoubleKind: + if ft.Kind() == reflect.Float64 { + return nil, coderDoublePackedSlice + } + } + case fd.Kind() == protoreflect.MessageKind: + return getMessageInfo(ft), makeMessageFieldCoder(fd, ft) + case fd.Kind() == protoreflect.GroupKind: + return getMessageInfo(ft), makeGroupFieldCoder(fd, ft) + case fd.Syntax() == protoreflect.Proto3 && fd.ContainingOneof() == nil: + // Populated oneof fields always encode even if set to the zero value, + // which normally are not encoded in proto3. + switch fd.Kind() { + case protoreflect.BoolKind: + if ft.Kind() == reflect.Bool { + return nil, coderBoolNoZero + } + case protoreflect.EnumKind: + if ft.Kind() == reflect.Int32 { + return nil, coderEnumNoZero + } + case protoreflect.Int32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderInt32NoZero + } + case protoreflect.Sint32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSint32NoZero + } + case protoreflect.Uint32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderUint32NoZero + } + case protoreflect.Int64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderInt64NoZero + } + case protoreflect.Sint64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSint64NoZero + } + case protoreflect.Uint64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderUint64NoZero + } + case protoreflect.Sfixed32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSfixed32NoZero + } + case protoreflect.Fixed32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderFixed32NoZero + } + case protoreflect.FloatKind: + if ft.Kind() == reflect.Float32 { + return nil, coderFloatNoZero + } + case protoreflect.Sfixed64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSfixed64NoZero + } + case protoreflect.Fixed64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderFixed64NoZero + } + case protoreflect.DoubleKind: + if ft.Kind() == reflect.Float64 { + return nil, coderDoubleNoZero + } + case protoreflect.StringKind: + if ft.Kind() == reflect.String && strs.EnforceUTF8(fd) { + return nil, coderStringNoZeroValidateUTF8 + } + if ft.Kind() == reflect.String { + return nil, coderStringNoZero + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 && strs.EnforceUTF8(fd) { + return nil, coderBytesNoZeroValidateUTF8 + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 { + return nil, coderBytesNoZero + } + case protoreflect.BytesKind: + if ft.Kind() == reflect.String { + return nil, coderStringNoZero + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 { + return nil, coderBytesNoZero + } + } + case ft.Kind() == reflect.Ptr: + ft := ft.Elem() + switch fd.Kind() { + case protoreflect.BoolKind: + if ft.Kind() == reflect.Bool { + return nil, coderBoolPtr + } + case protoreflect.EnumKind: + if ft.Kind() == reflect.Int32 { + return nil, coderEnumPtr + } + case protoreflect.Int32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderInt32Ptr + } + case protoreflect.Sint32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSint32Ptr + } + case protoreflect.Uint32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderUint32Ptr + } + case protoreflect.Int64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderInt64Ptr + } + case protoreflect.Sint64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSint64Ptr + } + case protoreflect.Uint64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderUint64Ptr + } + case protoreflect.Sfixed32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSfixed32Ptr + } + case protoreflect.Fixed32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderFixed32Ptr + } + case protoreflect.FloatKind: + if ft.Kind() == reflect.Float32 { + return nil, coderFloatPtr + } + case protoreflect.Sfixed64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSfixed64Ptr + } + case protoreflect.Fixed64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderFixed64Ptr + } + case protoreflect.DoubleKind: + if ft.Kind() == reflect.Float64 { + return nil, coderDoublePtr + } + case protoreflect.StringKind: + if ft.Kind() == reflect.String && strs.EnforceUTF8(fd) { + return nil, coderStringPtrValidateUTF8 + } + if ft.Kind() == reflect.String { + return nil, coderStringPtr + } + case protoreflect.BytesKind: + if ft.Kind() == reflect.String { + return nil, coderStringPtr + } + } + default: + switch fd.Kind() { + case protoreflect.BoolKind: + if ft.Kind() == reflect.Bool { + return nil, coderBool + } + case protoreflect.EnumKind: + if ft.Kind() == reflect.Int32 { + return nil, coderEnum + } + case protoreflect.Int32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderInt32 + } + case protoreflect.Sint32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSint32 + } + case protoreflect.Uint32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderUint32 + } + case protoreflect.Int64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderInt64 + } + case protoreflect.Sint64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSint64 + } + case protoreflect.Uint64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderUint64 + } + case protoreflect.Sfixed32Kind: + if ft.Kind() == reflect.Int32 { + return nil, coderSfixed32 + } + case protoreflect.Fixed32Kind: + if ft.Kind() == reflect.Uint32 { + return nil, coderFixed32 + } + case protoreflect.FloatKind: + if ft.Kind() == reflect.Float32 { + return nil, coderFloat + } + case protoreflect.Sfixed64Kind: + if ft.Kind() == reflect.Int64 { + return nil, coderSfixed64 + } + case protoreflect.Fixed64Kind: + if ft.Kind() == reflect.Uint64 { + return nil, coderFixed64 + } + case protoreflect.DoubleKind: + if ft.Kind() == reflect.Float64 { + return nil, coderDouble + } + case protoreflect.StringKind: + if ft.Kind() == reflect.String && strs.EnforceUTF8(fd) { + return nil, coderStringValidateUTF8 + } + if ft.Kind() == reflect.String { + return nil, coderString + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 && strs.EnforceUTF8(fd) { + return nil, coderBytesValidateUTF8 + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 { + return nil, coderBytes + } + case protoreflect.BytesKind: + if ft.Kind() == reflect.String { + return nil, coderString + } + if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 { + return nil, coderBytes + } + } + } + panic(fmt.Sprintf("invalid type: no encoder for %v %v %v/%v", fd.FullName(), fd.Cardinality(), fd.Kind(), ft)) +} + +// encoderFuncsForValue returns value functions for a field, used for +// extension values and map encoding. +func encoderFuncsForValue(fd protoreflect.FieldDescriptor) valueCoderFuncs { + switch { + case fd.Cardinality() == protoreflect.Repeated && !fd.IsPacked(): + switch fd.Kind() { + case protoreflect.BoolKind: + return coderBoolSliceValue + case protoreflect.EnumKind: + return coderEnumSliceValue + case protoreflect.Int32Kind: + return coderInt32SliceValue + case protoreflect.Sint32Kind: + return coderSint32SliceValue + case protoreflect.Uint32Kind: + return coderUint32SliceValue + case protoreflect.Int64Kind: + return coderInt64SliceValue + case protoreflect.Sint64Kind: + return coderSint64SliceValue + case protoreflect.Uint64Kind: + return coderUint64SliceValue + case protoreflect.Sfixed32Kind: + return coderSfixed32SliceValue + case protoreflect.Fixed32Kind: + return coderFixed32SliceValue + case protoreflect.FloatKind: + return coderFloatSliceValue + case protoreflect.Sfixed64Kind: + return coderSfixed64SliceValue + case protoreflect.Fixed64Kind: + return coderFixed64SliceValue + case protoreflect.DoubleKind: + return coderDoubleSliceValue + case protoreflect.StringKind: + // We don't have a UTF-8 validating coder for repeated string fields. + // Value coders are used for extensions and maps. + // Extensions are never proto3, and maps never contain lists. + return coderStringSliceValue + case protoreflect.BytesKind: + return coderBytesSliceValue + case protoreflect.MessageKind: + return coderMessageSliceValue + case protoreflect.GroupKind: + return coderGroupSliceValue + } + case fd.Cardinality() == protoreflect.Repeated && fd.IsPacked(): + switch fd.Kind() { + case protoreflect.BoolKind: + return coderBoolPackedSliceValue + case protoreflect.EnumKind: + return coderEnumPackedSliceValue + case protoreflect.Int32Kind: + return coderInt32PackedSliceValue + case protoreflect.Sint32Kind: + return coderSint32PackedSliceValue + case protoreflect.Uint32Kind: + return coderUint32PackedSliceValue + case protoreflect.Int64Kind: + return coderInt64PackedSliceValue + case protoreflect.Sint64Kind: + return coderSint64PackedSliceValue + case protoreflect.Uint64Kind: + return coderUint64PackedSliceValue + case protoreflect.Sfixed32Kind: + return coderSfixed32PackedSliceValue + case protoreflect.Fixed32Kind: + return coderFixed32PackedSliceValue + case protoreflect.FloatKind: + return coderFloatPackedSliceValue + case protoreflect.Sfixed64Kind: + return coderSfixed64PackedSliceValue + case protoreflect.Fixed64Kind: + return coderFixed64PackedSliceValue + case protoreflect.DoubleKind: + return coderDoublePackedSliceValue + } + default: + switch fd.Kind() { + default: + case protoreflect.BoolKind: + return coderBoolValue + case protoreflect.EnumKind: + return coderEnumValue + case protoreflect.Int32Kind: + return coderInt32Value + case protoreflect.Sint32Kind: + return coderSint32Value + case protoreflect.Uint32Kind: + return coderUint32Value + case protoreflect.Int64Kind: + return coderInt64Value + case protoreflect.Sint64Kind: + return coderSint64Value + case protoreflect.Uint64Kind: + return coderUint64Value + case protoreflect.Sfixed32Kind: + return coderSfixed32Value + case protoreflect.Fixed32Kind: + return coderFixed32Value + case protoreflect.FloatKind: + return coderFloatValue + case protoreflect.Sfixed64Kind: + return coderSfixed64Value + case protoreflect.Fixed64Kind: + return coderFixed64Value + case protoreflect.DoubleKind: + return coderDoubleValue + case protoreflect.StringKind: + if strs.EnforceUTF8(fd) { + return coderStringValueValidateUTF8 + } + return coderStringValue + case protoreflect.BytesKind: + return coderBytesValue + case protoreflect.MessageKind: + return coderMessageValue + case protoreflect.GroupKind: + return coderGroupValue + } + } + panic(fmt.Sprintf("invalid field: no encoder for %v %v %v", fd.FullName(), fd.Cardinality(), fd.Kind())) +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go b/server/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go new file mode 100755 index 0000000..757642e --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go @@ -0,0 +1,18 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !purego && !appengine +// +build !purego,!appengine + +package impl + +// When using unsafe pointers, we can just treat enum values as int32s. + +var ( + coderEnumNoZero = coderInt32NoZero + coderEnum = coderInt32 + coderEnumPtr = coderInt32Ptr + coderEnumSlice = coderInt32Slice + coderEnumPackedSlice = coderInt32PackedSlice +) diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/convert.go b/server/vendor/google.golang.org/protobuf/internal/impl/convert.go new file mode 100755 index 0000000..185ef2e --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/convert.go @@ -0,0 +1,495 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + + "google.golang.org/protobuf/reflect/protoreflect" +) + +// unwrapper unwraps the value to the underlying value. +// This is implemented by List and Map. +type unwrapper interface { + protoUnwrap() interface{} +} + +// A Converter coverts to/from Go reflect.Value types and protobuf protoreflect.Value types. +type Converter interface { + // PBValueOf converts a reflect.Value to a protoreflect.Value. + PBValueOf(reflect.Value) protoreflect.Value + + // GoValueOf converts a protoreflect.Value to a reflect.Value. + GoValueOf(protoreflect.Value) reflect.Value + + // IsValidPB returns whether a protoreflect.Value is compatible with this type. + IsValidPB(protoreflect.Value) bool + + // IsValidGo returns whether a reflect.Value is compatible with this type. + IsValidGo(reflect.Value) bool + + // New returns a new field value. + // For scalars, it returns the default value of the field. + // For composite types, it returns a new mutable value. + New() protoreflect.Value + + // Zero returns a new field value. + // For scalars, it returns the default value of the field. + // For composite types, it returns an immutable, empty value. + Zero() protoreflect.Value +} + +// NewConverter matches a Go type with a protobuf field and returns a Converter +// that converts between the two. Enums must be a named int32 kind that +// implements protoreflect.Enum, and messages must be pointer to a named +// struct type that implements protoreflect.ProtoMessage. +// +// This matcher deliberately supports a wider range of Go types than what +// protoc-gen-go historically generated to be able to automatically wrap some +// v1 messages generated by other forks of protoc-gen-go. +func NewConverter(t reflect.Type, fd protoreflect.FieldDescriptor) Converter { + switch { + case fd.IsList(): + return newListConverter(t, fd) + case fd.IsMap(): + return newMapConverter(t, fd) + default: + return newSingularConverter(t, fd) + } +} + +var ( + boolType = reflect.TypeOf(bool(false)) + int32Type = reflect.TypeOf(int32(0)) + int64Type = reflect.TypeOf(int64(0)) + uint32Type = reflect.TypeOf(uint32(0)) + uint64Type = reflect.TypeOf(uint64(0)) + float32Type = reflect.TypeOf(float32(0)) + float64Type = reflect.TypeOf(float64(0)) + stringType = reflect.TypeOf(string("")) + bytesType = reflect.TypeOf([]byte(nil)) + byteType = reflect.TypeOf(byte(0)) +) + +var ( + boolZero = protoreflect.ValueOfBool(false) + int32Zero = protoreflect.ValueOfInt32(0) + int64Zero = protoreflect.ValueOfInt64(0) + uint32Zero = protoreflect.ValueOfUint32(0) + uint64Zero = protoreflect.ValueOfUint64(0) + float32Zero = protoreflect.ValueOfFloat32(0) + float64Zero = protoreflect.ValueOfFloat64(0) + stringZero = protoreflect.ValueOfString("") + bytesZero = protoreflect.ValueOfBytes(nil) +) + +func newSingularConverter(t reflect.Type, fd protoreflect.FieldDescriptor) Converter { + defVal := func(fd protoreflect.FieldDescriptor, zero protoreflect.Value) protoreflect.Value { + if fd.Cardinality() == protoreflect.Repeated { + // Default isn't defined for repeated fields. + return zero + } + return fd.Default() + } + switch fd.Kind() { + case protoreflect.BoolKind: + if t.Kind() == reflect.Bool { + return &boolConverter{t, defVal(fd, boolZero)} + } + case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind: + if t.Kind() == reflect.Int32 { + return &int32Converter{t, defVal(fd, int32Zero)} + } + case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind: + if t.Kind() == reflect.Int64 { + return &int64Converter{t, defVal(fd, int64Zero)} + } + case protoreflect.Uint32Kind, protoreflect.Fixed32Kind: + if t.Kind() == reflect.Uint32 { + return &uint32Converter{t, defVal(fd, uint32Zero)} + } + case protoreflect.Uint64Kind, protoreflect.Fixed64Kind: + if t.Kind() == reflect.Uint64 { + return &uint64Converter{t, defVal(fd, uint64Zero)} + } + case protoreflect.FloatKind: + if t.Kind() == reflect.Float32 { + return &float32Converter{t, defVal(fd, float32Zero)} + } + case protoreflect.DoubleKind: + if t.Kind() == reflect.Float64 { + return &float64Converter{t, defVal(fd, float64Zero)} + } + case protoreflect.StringKind: + if t.Kind() == reflect.String || (t.Kind() == reflect.Slice && t.Elem() == byteType) { + return &stringConverter{t, defVal(fd, stringZero)} + } + case protoreflect.BytesKind: + if t.Kind() == reflect.String || (t.Kind() == reflect.Slice && t.Elem() == byteType) { + return &bytesConverter{t, defVal(fd, bytesZero)} + } + case protoreflect.EnumKind: + // Handle enums, which must be a named int32 type. + if t.Kind() == reflect.Int32 { + return newEnumConverter(t, fd) + } + case protoreflect.MessageKind, protoreflect.GroupKind: + return newMessageConverter(t) + } + panic(fmt.Sprintf("invalid Go type %v for field %v", t, fd.FullName())) +} + +type boolConverter struct { + goType reflect.Type + def protoreflect.Value +} + +func (c *boolConverter) PBValueOf(v reflect.Value) protoreflect.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return protoreflect.ValueOfBool(v.Bool()) +} +func (c *boolConverter) GoValueOf(v protoreflect.Value) reflect.Value { + return reflect.ValueOf(v.Bool()).Convert(c.goType) +} +func (c *boolConverter) IsValidPB(v protoreflect.Value) bool { + _, ok := v.Interface().(bool) + return ok +} +func (c *boolConverter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *boolConverter) New() protoreflect.Value { return c.def } +func (c *boolConverter) Zero() protoreflect.Value { return c.def } + +type int32Converter struct { + goType reflect.Type + def protoreflect.Value +} + +func (c *int32Converter) PBValueOf(v reflect.Value) protoreflect.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return protoreflect.ValueOfInt32(int32(v.Int())) +} +func (c *int32Converter) GoValueOf(v protoreflect.Value) reflect.Value { + return reflect.ValueOf(int32(v.Int())).Convert(c.goType) +} +func (c *int32Converter) IsValidPB(v protoreflect.Value) bool { + _, ok := v.Interface().(int32) + return ok +} +func (c *int32Converter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *int32Converter) New() protoreflect.Value { return c.def } +func (c *int32Converter) Zero() protoreflect.Value { return c.def } + +type int64Converter struct { + goType reflect.Type + def protoreflect.Value +} + +func (c *int64Converter) PBValueOf(v reflect.Value) protoreflect.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return protoreflect.ValueOfInt64(int64(v.Int())) +} +func (c *int64Converter) GoValueOf(v protoreflect.Value) reflect.Value { + return reflect.ValueOf(int64(v.Int())).Convert(c.goType) +} +func (c *int64Converter) IsValidPB(v protoreflect.Value) bool { + _, ok := v.Interface().(int64) + return ok +} +func (c *int64Converter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *int64Converter) New() protoreflect.Value { return c.def } +func (c *int64Converter) Zero() protoreflect.Value { return c.def } + +type uint32Converter struct { + goType reflect.Type + def protoreflect.Value +} + +func (c *uint32Converter) PBValueOf(v reflect.Value) protoreflect.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return protoreflect.ValueOfUint32(uint32(v.Uint())) +} +func (c *uint32Converter) GoValueOf(v protoreflect.Value) reflect.Value { + return reflect.ValueOf(uint32(v.Uint())).Convert(c.goType) +} +func (c *uint32Converter) IsValidPB(v protoreflect.Value) bool { + _, ok := v.Interface().(uint32) + return ok +} +func (c *uint32Converter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *uint32Converter) New() protoreflect.Value { return c.def } +func (c *uint32Converter) Zero() protoreflect.Value { return c.def } + +type uint64Converter struct { + goType reflect.Type + def protoreflect.Value +} + +func (c *uint64Converter) PBValueOf(v reflect.Value) protoreflect.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return protoreflect.ValueOfUint64(uint64(v.Uint())) +} +func (c *uint64Converter) GoValueOf(v protoreflect.Value) reflect.Value { + return reflect.ValueOf(uint64(v.Uint())).Convert(c.goType) +} +func (c *uint64Converter) IsValidPB(v protoreflect.Value) bool { + _, ok := v.Interface().(uint64) + return ok +} +func (c *uint64Converter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *uint64Converter) New() protoreflect.Value { return c.def } +func (c *uint64Converter) Zero() protoreflect.Value { return c.def } + +type float32Converter struct { + goType reflect.Type + def protoreflect.Value +} + +func (c *float32Converter) PBValueOf(v reflect.Value) protoreflect.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return protoreflect.ValueOfFloat32(float32(v.Float())) +} +func (c *float32Converter) GoValueOf(v protoreflect.Value) reflect.Value { + return reflect.ValueOf(float32(v.Float())).Convert(c.goType) +} +func (c *float32Converter) IsValidPB(v protoreflect.Value) bool { + _, ok := v.Interface().(float32) + return ok +} +func (c *float32Converter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *float32Converter) New() protoreflect.Value { return c.def } +func (c *float32Converter) Zero() protoreflect.Value { return c.def } + +type float64Converter struct { + goType reflect.Type + def protoreflect.Value +} + +func (c *float64Converter) PBValueOf(v reflect.Value) protoreflect.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return protoreflect.ValueOfFloat64(float64(v.Float())) +} +func (c *float64Converter) GoValueOf(v protoreflect.Value) reflect.Value { + return reflect.ValueOf(float64(v.Float())).Convert(c.goType) +} +func (c *float64Converter) IsValidPB(v protoreflect.Value) bool { + _, ok := v.Interface().(float64) + return ok +} +func (c *float64Converter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *float64Converter) New() protoreflect.Value { return c.def } +func (c *float64Converter) Zero() protoreflect.Value { return c.def } + +type stringConverter struct { + goType reflect.Type + def protoreflect.Value +} + +func (c *stringConverter) PBValueOf(v reflect.Value) protoreflect.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return protoreflect.ValueOfString(v.Convert(stringType).String()) +} +func (c *stringConverter) GoValueOf(v protoreflect.Value) reflect.Value { + // pref.Value.String never panics, so we go through an interface + // conversion here to check the type. + s := v.Interface().(string) + if c.goType.Kind() == reflect.Slice && s == "" { + return reflect.Zero(c.goType) // ensure empty string is []byte(nil) + } + return reflect.ValueOf(s).Convert(c.goType) +} +func (c *stringConverter) IsValidPB(v protoreflect.Value) bool { + _, ok := v.Interface().(string) + return ok +} +func (c *stringConverter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *stringConverter) New() protoreflect.Value { return c.def } +func (c *stringConverter) Zero() protoreflect.Value { return c.def } + +type bytesConverter struct { + goType reflect.Type + def protoreflect.Value +} + +func (c *bytesConverter) PBValueOf(v reflect.Value) protoreflect.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + if c.goType.Kind() == reflect.String && v.Len() == 0 { + return protoreflect.ValueOfBytes(nil) // ensure empty string is []byte(nil) + } + return protoreflect.ValueOfBytes(v.Convert(bytesType).Bytes()) +} +func (c *bytesConverter) GoValueOf(v protoreflect.Value) reflect.Value { + return reflect.ValueOf(v.Bytes()).Convert(c.goType) +} +func (c *bytesConverter) IsValidPB(v protoreflect.Value) bool { + _, ok := v.Interface().([]byte) + return ok +} +func (c *bytesConverter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} +func (c *bytesConverter) New() protoreflect.Value { return c.def } +func (c *bytesConverter) Zero() protoreflect.Value { return c.def } + +type enumConverter struct { + goType reflect.Type + def protoreflect.Value +} + +func newEnumConverter(goType reflect.Type, fd protoreflect.FieldDescriptor) Converter { + var def protoreflect.Value + if fd.Cardinality() == protoreflect.Repeated { + def = protoreflect.ValueOfEnum(fd.Enum().Values().Get(0).Number()) + } else { + def = fd.Default() + } + return &enumConverter{goType, def} +} + +func (c *enumConverter) PBValueOf(v reflect.Value) protoreflect.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return protoreflect.ValueOfEnum(protoreflect.EnumNumber(v.Int())) +} + +func (c *enumConverter) GoValueOf(v protoreflect.Value) reflect.Value { + return reflect.ValueOf(v.Enum()).Convert(c.goType) +} + +func (c *enumConverter) IsValidPB(v protoreflect.Value) bool { + _, ok := v.Interface().(protoreflect.EnumNumber) + return ok +} + +func (c *enumConverter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} + +func (c *enumConverter) New() protoreflect.Value { + return c.def +} + +func (c *enumConverter) Zero() protoreflect.Value { + return c.def +} + +type messageConverter struct { + goType reflect.Type +} + +func newMessageConverter(goType reflect.Type) Converter { + return &messageConverter{goType} +} + +func (c *messageConverter) PBValueOf(v reflect.Value) protoreflect.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + if c.isNonPointer() { + if v.CanAddr() { + v = v.Addr() // T => *T + } else { + v = reflect.Zero(reflect.PtrTo(v.Type())) + } + } + if m, ok := v.Interface().(protoreflect.ProtoMessage); ok { + return protoreflect.ValueOfMessage(m.ProtoReflect()) + } + return protoreflect.ValueOfMessage(legacyWrapMessage(v)) +} + +func (c *messageConverter) GoValueOf(v protoreflect.Value) reflect.Value { + m := v.Message() + var rv reflect.Value + if u, ok := m.(unwrapper); ok { + rv = reflect.ValueOf(u.protoUnwrap()) + } else { + rv = reflect.ValueOf(m.Interface()) + } + if c.isNonPointer() { + if rv.Type() != reflect.PtrTo(c.goType) { + panic(fmt.Sprintf("invalid type: got %v, want %v", rv.Type(), reflect.PtrTo(c.goType))) + } + if !rv.IsNil() { + rv = rv.Elem() // *T => T + } else { + rv = reflect.Zero(rv.Type().Elem()) + } + } + if rv.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", rv.Type(), c.goType)) + } + return rv +} + +func (c *messageConverter) IsValidPB(v protoreflect.Value) bool { + m := v.Message() + var rv reflect.Value + if u, ok := m.(unwrapper); ok { + rv = reflect.ValueOf(u.protoUnwrap()) + } else { + rv = reflect.ValueOf(m.Interface()) + } + if c.isNonPointer() { + return rv.Type() == reflect.PtrTo(c.goType) + } + return rv.Type() == c.goType +} + +func (c *messageConverter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} + +func (c *messageConverter) New() protoreflect.Value { + if c.isNonPointer() { + return c.PBValueOf(reflect.New(c.goType).Elem()) + } + return c.PBValueOf(reflect.New(c.goType.Elem())) +} + +func (c *messageConverter) Zero() protoreflect.Value { + return c.PBValueOf(reflect.Zero(c.goType)) +} + +// isNonPointer reports whether the type is a non-pointer type. +// This never occurs for generated message types. +func (c *messageConverter) isNonPointer() bool { + return c.goType.Kind() != reflect.Ptr +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/convert_list.go b/server/vendor/google.golang.org/protobuf/internal/impl/convert_list.go new file mode 100755 index 0000000..f891365 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/convert_list.go @@ -0,0 +1,141 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + + "google.golang.org/protobuf/reflect/protoreflect" +) + +func newListConverter(t reflect.Type, fd protoreflect.FieldDescriptor) Converter { + switch { + case t.Kind() == reflect.Ptr && t.Elem().Kind() == reflect.Slice: + return &listPtrConverter{t, newSingularConverter(t.Elem().Elem(), fd)} + case t.Kind() == reflect.Slice: + return &listConverter{t, newSingularConverter(t.Elem(), fd)} + } + panic(fmt.Sprintf("invalid Go type %v for field %v", t, fd.FullName())) +} + +type listConverter struct { + goType reflect.Type // []T + c Converter +} + +func (c *listConverter) PBValueOf(v reflect.Value) protoreflect.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + pv := reflect.New(c.goType) + pv.Elem().Set(v) + return protoreflect.ValueOfList(&listReflect{pv, c.c}) +} + +func (c *listConverter) GoValueOf(v protoreflect.Value) reflect.Value { + rv := v.List().(*listReflect).v + if rv.IsNil() { + return reflect.Zero(c.goType) + } + return rv.Elem() +} + +func (c *listConverter) IsValidPB(v protoreflect.Value) bool { + list, ok := v.Interface().(*listReflect) + if !ok { + return false + } + return list.v.Type().Elem() == c.goType +} + +func (c *listConverter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} + +func (c *listConverter) New() protoreflect.Value { + return protoreflect.ValueOfList(&listReflect{reflect.New(c.goType), c.c}) +} + +func (c *listConverter) Zero() protoreflect.Value { + return protoreflect.ValueOfList(&listReflect{reflect.Zero(reflect.PtrTo(c.goType)), c.c}) +} + +type listPtrConverter struct { + goType reflect.Type // *[]T + c Converter +} + +func (c *listPtrConverter) PBValueOf(v reflect.Value) protoreflect.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return protoreflect.ValueOfList(&listReflect{v, c.c}) +} + +func (c *listPtrConverter) GoValueOf(v protoreflect.Value) reflect.Value { + return v.List().(*listReflect).v +} + +func (c *listPtrConverter) IsValidPB(v protoreflect.Value) bool { + list, ok := v.Interface().(*listReflect) + if !ok { + return false + } + return list.v.Type() == c.goType +} + +func (c *listPtrConverter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} + +func (c *listPtrConverter) New() protoreflect.Value { + return c.PBValueOf(reflect.New(c.goType.Elem())) +} + +func (c *listPtrConverter) Zero() protoreflect.Value { + return c.PBValueOf(reflect.Zero(c.goType)) +} + +type listReflect struct { + v reflect.Value // *[]T + conv Converter +} + +func (ls *listReflect) Len() int { + if ls.v.IsNil() { + return 0 + } + return ls.v.Elem().Len() +} +func (ls *listReflect) Get(i int) protoreflect.Value { + return ls.conv.PBValueOf(ls.v.Elem().Index(i)) +} +func (ls *listReflect) Set(i int, v protoreflect.Value) { + ls.v.Elem().Index(i).Set(ls.conv.GoValueOf(v)) +} +func (ls *listReflect) Append(v protoreflect.Value) { + ls.v.Elem().Set(reflect.Append(ls.v.Elem(), ls.conv.GoValueOf(v))) +} +func (ls *listReflect) AppendMutable() protoreflect.Value { + if _, ok := ls.conv.(*messageConverter); !ok { + panic("invalid AppendMutable on list with non-message type") + } + v := ls.NewElement() + ls.Append(v) + return v +} +func (ls *listReflect) Truncate(i int) { + ls.v.Elem().Set(ls.v.Elem().Slice(0, i)) +} +func (ls *listReflect) NewElement() protoreflect.Value { + return ls.conv.New() +} +func (ls *listReflect) IsValid() bool { + return !ls.v.IsNil() +} +func (ls *listReflect) protoUnwrap() interface{} { + return ls.v.Interface() +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/convert_map.go b/server/vendor/google.golang.org/protobuf/internal/impl/convert_map.go new file mode 100755 index 0000000..f30b0a0 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/convert_map.go @@ -0,0 +1,121 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + + "google.golang.org/protobuf/reflect/protoreflect" +) + +type mapConverter struct { + goType reflect.Type // map[K]V + keyConv, valConv Converter +} + +func newMapConverter(t reflect.Type, fd protoreflect.FieldDescriptor) *mapConverter { + if t.Kind() != reflect.Map { + panic(fmt.Sprintf("invalid Go type %v for field %v", t, fd.FullName())) + } + return &mapConverter{ + goType: t, + keyConv: newSingularConverter(t.Key(), fd.MapKey()), + valConv: newSingularConverter(t.Elem(), fd.MapValue()), + } +} + +func (c *mapConverter) PBValueOf(v reflect.Value) protoreflect.Value { + if v.Type() != c.goType { + panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType)) + } + return protoreflect.ValueOfMap(&mapReflect{v, c.keyConv, c.valConv}) +} + +func (c *mapConverter) GoValueOf(v protoreflect.Value) reflect.Value { + return v.Map().(*mapReflect).v +} + +func (c *mapConverter) IsValidPB(v protoreflect.Value) bool { + mapv, ok := v.Interface().(*mapReflect) + if !ok { + return false + } + return mapv.v.Type() == c.goType +} + +func (c *mapConverter) IsValidGo(v reflect.Value) bool { + return v.IsValid() && v.Type() == c.goType +} + +func (c *mapConverter) New() protoreflect.Value { + return c.PBValueOf(reflect.MakeMap(c.goType)) +} + +func (c *mapConverter) Zero() protoreflect.Value { + return c.PBValueOf(reflect.Zero(c.goType)) +} + +type mapReflect struct { + v reflect.Value // map[K]V + keyConv Converter + valConv Converter +} + +func (ms *mapReflect) Len() int { + return ms.v.Len() +} +func (ms *mapReflect) Has(k protoreflect.MapKey) bool { + rk := ms.keyConv.GoValueOf(k.Value()) + rv := ms.v.MapIndex(rk) + return rv.IsValid() +} +func (ms *mapReflect) Get(k protoreflect.MapKey) protoreflect.Value { + rk := ms.keyConv.GoValueOf(k.Value()) + rv := ms.v.MapIndex(rk) + if !rv.IsValid() { + return protoreflect.Value{} + } + return ms.valConv.PBValueOf(rv) +} +func (ms *mapReflect) Set(k protoreflect.MapKey, v protoreflect.Value) { + rk := ms.keyConv.GoValueOf(k.Value()) + rv := ms.valConv.GoValueOf(v) + ms.v.SetMapIndex(rk, rv) +} +func (ms *mapReflect) Clear(k protoreflect.MapKey) { + rk := ms.keyConv.GoValueOf(k.Value()) + ms.v.SetMapIndex(rk, reflect.Value{}) +} +func (ms *mapReflect) Mutable(k protoreflect.MapKey) protoreflect.Value { + if _, ok := ms.valConv.(*messageConverter); !ok { + panic("invalid Mutable on map with non-message value type") + } + v := ms.Get(k) + if !v.IsValid() { + v = ms.NewValue() + ms.Set(k, v) + } + return v +} +func (ms *mapReflect) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) { + iter := mapRange(ms.v) + for iter.Next() { + k := ms.keyConv.PBValueOf(iter.Key()).MapKey() + v := ms.valConv.PBValueOf(iter.Value()) + if !f(k, v) { + return + } + } +} +func (ms *mapReflect) NewValue() protoreflect.Value { + return ms.valConv.New() +} +func (ms *mapReflect) IsValid() bool { + return !ms.v.IsNil() +} +func (ms *mapReflect) protoUnwrap() interface{} { + return ms.v.Interface() +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/decode.go b/server/vendor/google.golang.org/protobuf/internal/impl/decode.go new file mode 100755 index 0000000..cda0520 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/decode.go @@ -0,0 +1,285 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "math/bits" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" + "google.golang.org/protobuf/runtime/protoiface" +) + +var errDecode = errors.New("cannot parse invalid wire-format data") +var errRecursionDepth = errors.New("exceeded maximum recursion depth") + +type unmarshalOptions struct { + flags protoiface.UnmarshalInputFlags + resolver interface { + FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error) + FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error) + } + depth int +} + +func (o unmarshalOptions) Options() proto.UnmarshalOptions { + return proto.UnmarshalOptions{ + Merge: true, + AllowPartial: true, + DiscardUnknown: o.DiscardUnknown(), + Resolver: o.resolver, + } +} + +func (o unmarshalOptions) DiscardUnknown() bool { + return o.flags&protoiface.UnmarshalDiscardUnknown != 0 +} + +func (o unmarshalOptions) IsDefault() bool { + return o.flags == 0 && o.resolver == protoregistry.GlobalTypes +} + +var lazyUnmarshalOptions = unmarshalOptions{ + resolver: protoregistry.GlobalTypes, + depth: protowire.DefaultRecursionLimit, +} + +type unmarshalOutput struct { + n int // number of bytes consumed + initialized bool +} + +// unmarshal is protoreflect.Methods.Unmarshal. +func (mi *MessageInfo) unmarshal(in protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + var p pointer + if ms, ok := in.Message.(*messageState); ok { + p = ms.pointer() + } else { + p = in.Message.(*messageReflectWrapper).pointer() + } + out, err := mi.unmarshalPointer(in.Buf, p, 0, unmarshalOptions{ + flags: in.Flags, + resolver: in.Resolver, + depth: in.Depth, + }) + var flags protoiface.UnmarshalOutputFlags + if out.initialized { + flags |= protoiface.UnmarshalInitialized + } + return protoiface.UnmarshalOutput{ + Flags: flags, + }, err +} + +// errUnknown is returned during unmarshaling to indicate a parse error that +// should result in a field being placed in the unknown fields section (for example, +// when the wire type doesn't match) as opposed to the entire unmarshal operation +// failing (for example, when a field extends past the available input). +// +// This is a sentinel error which should never be visible to the user. +var errUnknown = errors.New("unknown") + +func (mi *MessageInfo) unmarshalPointer(b []byte, p pointer, groupTag protowire.Number, opts unmarshalOptions) (out unmarshalOutput, err error) { + mi.init() + opts.depth-- + if opts.depth < 0 { + return out, errRecursionDepth + } + if flags.ProtoLegacy && mi.isMessageSet { + return unmarshalMessageSet(mi, b, p, opts) + } + initialized := true + var requiredMask uint64 + var exts *map[int32]ExtensionField + start := len(b) + for len(b) > 0 { + // Parse the tag (field number and wire type). + var tag uint64 + if b[0] < 0x80 { + tag = uint64(b[0]) + b = b[1:] + } else if len(b) >= 2 && b[1] < 128 { + tag = uint64(b[0]&0x7f) + uint64(b[1])<<7 + b = b[2:] + } else { + var n int + tag, n = protowire.ConsumeVarint(b) + if n < 0 { + return out, errDecode + } + b = b[n:] + } + var num protowire.Number + if n := tag >> 3; n < uint64(protowire.MinValidNumber) || n > uint64(protowire.MaxValidNumber) { + return out, errDecode + } else { + num = protowire.Number(n) + } + wtyp := protowire.Type(tag & 7) + + if wtyp == protowire.EndGroupType { + if num != groupTag { + return out, errDecode + } + groupTag = 0 + break + } + + var f *coderFieldInfo + if int(num) < len(mi.denseCoderFields) { + f = mi.denseCoderFields[num] + } else { + f = mi.coderFields[num] + } + var n int + err := errUnknown + switch { + case f != nil: + if f.funcs.unmarshal == nil { + break + } + var o unmarshalOutput + o, err = f.funcs.unmarshal(b, p.Apply(f.offset), wtyp, f, opts) + n = o.n + if err != nil { + break + } + requiredMask |= f.validation.requiredBit + if f.funcs.isInit != nil && !o.initialized { + initialized = false + } + default: + // Possible extension. + if exts == nil && mi.extensionOffset.IsValid() { + exts = p.Apply(mi.extensionOffset).Extensions() + if *exts == nil { + *exts = make(map[int32]ExtensionField) + } + } + if exts == nil { + break + } + var o unmarshalOutput + o, err = mi.unmarshalExtension(b, num, wtyp, *exts, opts) + if err != nil { + break + } + n = o.n + if !o.initialized { + initialized = false + } + } + if err != nil { + if err != errUnknown { + return out, err + } + n = protowire.ConsumeFieldValue(num, wtyp, b) + if n < 0 { + return out, errDecode + } + if !opts.DiscardUnknown() && mi.unknownOffset.IsValid() { + u := mi.mutableUnknownBytes(p) + *u = protowire.AppendTag(*u, num, wtyp) + *u = append(*u, b[:n]...) + } + } + b = b[n:] + } + if groupTag != 0 { + return out, errDecode + } + if mi.numRequiredFields > 0 && bits.OnesCount64(requiredMask) != int(mi.numRequiredFields) { + initialized = false + } + if initialized { + out.initialized = true + } + out.n = start - len(b) + return out, nil +} + +func (mi *MessageInfo) unmarshalExtension(b []byte, num protowire.Number, wtyp protowire.Type, exts map[int32]ExtensionField, opts unmarshalOptions) (out unmarshalOutput, err error) { + x := exts[int32(num)] + xt := x.Type() + if xt == nil { + var err error + xt, err = opts.resolver.FindExtensionByNumber(mi.Desc.FullName(), num) + if err != nil { + if err == protoregistry.NotFound { + return out, errUnknown + } + return out, errors.New("%v: unable to resolve extension %v: %v", mi.Desc.FullName(), num, err) + } + } + xi := getExtensionFieldInfo(xt) + if xi.funcs.unmarshal == nil { + return out, errUnknown + } + if flags.LazyUnmarshalExtensions { + if opts.IsDefault() && x.canLazy(xt) { + out, valid := skipExtension(b, xi, num, wtyp, opts) + switch valid { + case ValidationValid: + if out.initialized { + x.appendLazyBytes(xt, xi, num, wtyp, b[:out.n]) + exts[int32(num)] = x + return out, nil + } + case ValidationInvalid: + return out, errDecode + case ValidationUnknown: + } + } + } + ival := x.Value() + if !ival.IsValid() && xi.unmarshalNeedsValue { + // Create a new message, list, or map value to fill in. + // For enums, create a prototype value to let the unmarshal func know the + // concrete type. + ival = xt.New() + } + v, out, err := xi.funcs.unmarshal(b, ival, num, wtyp, opts) + if err != nil { + return out, err + } + if xi.funcs.isInit == nil { + out.initialized = true + } + x.Set(xt, v) + exts[int32(num)] = x + return out, nil +} + +func skipExtension(b []byte, xi *extensionFieldInfo, num protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (out unmarshalOutput, _ ValidationStatus) { + if xi.validation.mi == nil { + return out, ValidationUnknown + } + xi.validation.mi.init() + switch xi.validation.typ { + case validationTypeMessage: + if wtyp != protowire.BytesType { + return out, ValidationUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return out, ValidationUnknown + } + out, st := xi.validation.mi.validate(v, 0, opts) + out.n = n + return out, st + case validationTypeGroup: + if wtyp != protowire.StartGroupType { + return out, ValidationUnknown + } + out, st := xi.validation.mi.validate(b, num, opts) + return out, st + default: + return out, ValidationUnknown + } +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/encode.go b/server/vendor/google.golang.org/protobuf/internal/impl/encode.go new file mode 100755 index 0000000..845c67d --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/encode.go @@ -0,0 +1,201 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "math" + "sort" + "sync/atomic" + + "google.golang.org/protobuf/internal/flags" + proto "google.golang.org/protobuf/proto" + piface "google.golang.org/protobuf/runtime/protoiface" +) + +type marshalOptions struct { + flags piface.MarshalInputFlags +} + +func (o marshalOptions) Options() proto.MarshalOptions { + return proto.MarshalOptions{ + AllowPartial: true, + Deterministic: o.Deterministic(), + UseCachedSize: o.UseCachedSize(), + } +} + +func (o marshalOptions) Deterministic() bool { return o.flags&piface.MarshalDeterministic != 0 } +func (o marshalOptions) UseCachedSize() bool { return o.flags&piface.MarshalUseCachedSize != 0 } + +// size is protoreflect.Methods.Size. +func (mi *MessageInfo) size(in piface.SizeInput) piface.SizeOutput { + var p pointer + if ms, ok := in.Message.(*messageState); ok { + p = ms.pointer() + } else { + p = in.Message.(*messageReflectWrapper).pointer() + } + size := mi.sizePointer(p, marshalOptions{ + flags: in.Flags, + }) + return piface.SizeOutput{Size: size} +} + +func (mi *MessageInfo) sizePointer(p pointer, opts marshalOptions) (size int) { + mi.init() + if p.IsNil() { + return 0 + } + if opts.UseCachedSize() && mi.sizecacheOffset.IsValid() { + if size := atomic.LoadInt32(p.Apply(mi.sizecacheOffset).Int32()); size >= 0 { + return int(size) + } + } + return mi.sizePointerSlow(p, opts) +} + +func (mi *MessageInfo) sizePointerSlow(p pointer, opts marshalOptions) (size int) { + if flags.ProtoLegacy && mi.isMessageSet { + size = sizeMessageSet(mi, p, opts) + if mi.sizecacheOffset.IsValid() { + atomic.StoreInt32(p.Apply(mi.sizecacheOffset).Int32(), int32(size)) + } + return size + } + if mi.extensionOffset.IsValid() { + e := p.Apply(mi.extensionOffset).Extensions() + size += mi.sizeExtensions(e, opts) + } + for _, f := range mi.orderedCoderFields { + if f.funcs.size == nil { + continue + } + fptr := p.Apply(f.offset) + if f.isPointer && fptr.Elem().IsNil() { + continue + } + size += f.funcs.size(fptr, f, opts) + } + if mi.unknownOffset.IsValid() { + if u := mi.getUnknownBytes(p); u != nil { + size += len(*u) + } + } + if mi.sizecacheOffset.IsValid() { + if size > math.MaxInt32 { + // The size is too large for the int32 sizecache field. + // We will need to recompute the size when encoding; + // unfortunately expensive, but better than invalid output. + atomic.StoreInt32(p.Apply(mi.sizecacheOffset).Int32(), -1) + } else { + atomic.StoreInt32(p.Apply(mi.sizecacheOffset).Int32(), int32(size)) + } + } + return size +} + +// marshal is protoreflect.Methods.Marshal. +func (mi *MessageInfo) marshal(in piface.MarshalInput) (out piface.MarshalOutput, err error) { + var p pointer + if ms, ok := in.Message.(*messageState); ok { + p = ms.pointer() + } else { + p = in.Message.(*messageReflectWrapper).pointer() + } + b, err := mi.marshalAppendPointer(in.Buf, p, marshalOptions{ + flags: in.Flags, + }) + return piface.MarshalOutput{Buf: b}, err +} + +func (mi *MessageInfo) marshalAppendPointer(b []byte, p pointer, opts marshalOptions) ([]byte, error) { + mi.init() + if p.IsNil() { + return b, nil + } + if flags.ProtoLegacy && mi.isMessageSet { + return marshalMessageSet(mi, b, p, opts) + } + var err error + // The old marshaler encodes extensions at beginning. + if mi.extensionOffset.IsValid() { + e := p.Apply(mi.extensionOffset).Extensions() + // TODO: Special handling for MessageSet? + b, err = mi.appendExtensions(b, e, opts) + if err != nil { + return b, err + } + } + for _, f := range mi.orderedCoderFields { + if f.funcs.marshal == nil { + continue + } + fptr := p.Apply(f.offset) + if f.isPointer && fptr.Elem().IsNil() { + continue + } + b, err = f.funcs.marshal(b, fptr, f, opts) + if err != nil { + return b, err + } + } + if mi.unknownOffset.IsValid() && !mi.isMessageSet { + if u := mi.getUnknownBytes(p); u != nil { + b = append(b, (*u)...) + } + } + return b, nil +} + +func (mi *MessageInfo) sizeExtensions(ext *map[int32]ExtensionField, opts marshalOptions) (n int) { + if ext == nil { + return 0 + } + for _, x := range *ext { + xi := getExtensionFieldInfo(x.Type()) + if xi.funcs.size == nil { + continue + } + n += xi.funcs.size(x.Value(), xi.tagsize, opts) + } + return n +} + +func (mi *MessageInfo) appendExtensions(b []byte, ext *map[int32]ExtensionField, opts marshalOptions) ([]byte, error) { + if ext == nil { + return b, nil + } + + switch len(*ext) { + case 0: + return b, nil + case 1: + // Fast-path for one extension: Don't bother sorting the keys. + var err error + for _, x := range *ext { + xi := getExtensionFieldInfo(x.Type()) + b, err = xi.funcs.marshal(b, x.Value(), xi.wiretag, opts) + } + return b, err + default: + // Sort the keys to provide a deterministic encoding. + // Not sure this is required, but the old code does it. + keys := make([]int, 0, len(*ext)) + for k := range *ext { + keys = append(keys, int(k)) + } + sort.Ints(keys) + var err error + for _, k := range keys { + x := (*ext)[int32(k)] + xi := getExtensionFieldInfo(x.Type()) + b, err = xi.funcs.marshal(b, x.Value(), xi.wiretag, opts) + if err != nil { + return b, err + } + } + return b, nil + } +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/enum.go b/server/vendor/google.golang.org/protobuf/internal/impl/enum.go new file mode 100755 index 0000000..5f3ef5a --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/enum.go @@ -0,0 +1,21 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "reflect" + + "google.golang.org/protobuf/reflect/protoreflect" +) + +type EnumInfo struct { + GoReflectType reflect.Type // int32 kind + Desc protoreflect.EnumDescriptor +} + +func (t *EnumInfo) New(n protoreflect.EnumNumber) protoreflect.Enum { + return reflect.ValueOf(n).Convert(t.GoReflectType).Interface().(protoreflect.Enum) +} +func (t *EnumInfo) Descriptor() protoreflect.EnumDescriptor { return t.Desc } diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/extension.go b/server/vendor/google.golang.org/protobuf/internal/impl/extension.go new file mode 100755 index 0000000..cb25b0b --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/extension.go @@ -0,0 +1,156 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "reflect" + "sync" + "sync/atomic" + + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +// ExtensionInfo implements ExtensionType. +// +// This type contains a number of exported fields for legacy compatibility. +// The only non-deprecated use of this type is through the methods of the +// ExtensionType interface. +type ExtensionInfo struct { + // An ExtensionInfo may exist in several stages of initialization. + // + // extensionInfoUninitialized: Some or all of the legacy exported + // fields may be set, but none of the unexported fields have been + // initialized. This is the starting state for an ExtensionInfo + // in legacy generated code. + // + // extensionInfoDescInit: The desc field is set, but other unexported fields + // may not be initialized. Legacy exported fields may or may not be set. + // This is the starting state for an ExtensionInfo in newly generated code. + // + // extensionInfoFullInit: The ExtensionInfo is fully initialized. + // This state is only entered after lazy initialization is complete. + init uint32 + mu sync.Mutex + + goType reflect.Type + desc extensionTypeDescriptor + conv Converter + info *extensionFieldInfo // for fast-path method implementations + + // ExtendedType is a typed nil-pointer to the parent message type that + // is being extended. It is possible for this to be unpopulated in v2 + // since the message may no longer implement the MessageV1 interface. + // + // Deprecated: Use the ExtendedType method instead. + ExtendedType protoiface.MessageV1 + + // ExtensionType is the zero value of the extension type. + // + // For historical reasons, reflect.TypeOf(ExtensionType) and the + // type returned by InterfaceOf may not be identical. + // + // Deprecated: Use InterfaceOf(xt.Zero()) instead. + ExtensionType interface{} + + // Field is the field number of the extension. + // + // Deprecated: Use the Descriptor().Number method instead. + Field int32 + + // Name is the fully qualified name of extension. + // + // Deprecated: Use the Descriptor().FullName method instead. + Name string + + // Tag is the protobuf struct tag used in the v1 API. + // + // Deprecated: Do not use. + Tag string + + // Filename is the proto filename in which the extension is defined. + // + // Deprecated: Use Descriptor().ParentFile().Path() instead. + Filename string +} + +// Stages of initialization: See the ExtensionInfo.init field. +const ( + extensionInfoUninitialized = 0 + extensionInfoDescInit = 1 + extensionInfoFullInit = 2 +) + +func InitExtensionInfo(xi *ExtensionInfo, xd protoreflect.ExtensionDescriptor, goType reflect.Type) { + xi.goType = goType + xi.desc = extensionTypeDescriptor{xd, xi} + xi.init = extensionInfoDescInit +} + +func (xi *ExtensionInfo) New() protoreflect.Value { + return xi.lazyInit().New() +} +func (xi *ExtensionInfo) Zero() protoreflect.Value { + return xi.lazyInit().Zero() +} +func (xi *ExtensionInfo) ValueOf(v interface{}) protoreflect.Value { + return xi.lazyInit().PBValueOf(reflect.ValueOf(v)) +} +func (xi *ExtensionInfo) InterfaceOf(v protoreflect.Value) interface{} { + return xi.lazyInit().GoValueOf(v).Interface() +} +func (xi *ExtensionInfo) IsValidValue(v protoreflect.Value) bool { + return xi.lazyInit().IsValidPB(v) +} +func (xi *ExtensionInfo) IsValidInterface(v interface{}) bool { + return xi.lazyInit().IsValidGo(reflect.ValueOf(v)) +} +func (xi *ExtensionInfo) TypeDescriptor() protoreflect.ExtensionTypeDescriptor { + if atomic.LoadUint32(&xi.init) < extensionInfoDescInit { + xi.lazyInitSlow() + } + return &xi.desc +} + +func (xi *ExtensionInfo) lazyInit() Converter { + if atomic.LoadUint32(&xi.init) < extensionInfoFullInit { + xi.lazyInitSlow() + } + return xi.conv +} + +func (xi *ExtensionInfo) lazyInitSlow() { + xi.mu.Lock() + defer xi.mu.Unlock() + + if xi.init == extensionInfoFullInit { + return + } + defer atomic.StoreUint32(&xi.init, extensionInfoFullInit) + + if xi.desc.ExtensionDescriptor == nil { + xi.initFromLegacy() + } + if !xi.desc.ExtensionDescriptor.IsPlaceholder() { + if xi.ExtensionType == nil { + xi.initToLegacy() + } + xi.conv = NewConverter(xi.goType, xi.desc.ExtensionDescriptor) + xi.info = makeExtensionFieldInfo(xi.desc.ExtensionDescriptor) + xi.info.validation = newValidationInfo(xi.desc.ExtensionDescriptor, xi.goType) + } +} + +type extensionTypeDescriptor struct { + protoreflect.ExtensionDescriptor + xi *ExtensionInfo +} + +func (xtd *extensionTypeDescriptor) Type() protoreflect.ExtensionType { + return xtd.xi +} +func (xtd *extensionTypeDescriptor) Descriptor() protoreflect.ExtensionDescriptor { + return xtd.ExtensionDescriptor +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go b/server/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go new file mode 100755 index 0000000..c2a803b --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go @@ -0,0 +1,218 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + "strings" + "sync" + + "google.golang.org/protobuf/internal/filedesc" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// legacyEnumName returns the name of enums used in legacy code. +// It is neither the protobuf full name nor the qualified Go name, +// but rather an odd hybrid of both. +func legacyEnumName(ed protoreflect.EnumDescriptor) string { + var protoPkg string + enumName := string(ed.FullName()) + if fd := ed.ParentFile(); fd != nil { + protoPkg = string(fd.Package()) + enumName = strings.TrimPrefix(enumName, protoPkg+".") + } + if protoPkg == "" { + return strs.GoCamelCase(enumName) + } + return protoPkg + "." + strs.GoCamelCase(enumName) +} + +// legacyWrapEnum wraps v as a protoreflect.Enum, +// where v must be a int32 kind and not implement the v2 API already. +func legacyWrapEnum(v reflect.Value) protoreflect.Enum { + et := legacyLoadEnumType(v.Type()) + return et.New(protoreflect.EnumNumber(v.Int())) +} + +var legacyEnumTypeCache sync.Map // map[reflect.Type]protoreflect.EnumType + +// legacyLoadEnumType dynamically loads a protoreflect.EnumType for t, +// where t must be an int32 kind and not implement the v2 API already. +func legacyLoadEnumType(t reflect.Type) protoreflect.EnumType { + // Fast-path: check if a EnumType is cached for this concrete type. + if et, ok := legacyEnumTypeCache.Load(t); ok { + return et.(protoreflect.EnumType) + } + + // Slow-path: derive enum descriptor and initialize EnumType. + var et protoreflect.EnumType + ed := LegacyLoadEnumDesc(t) + et = &legacyEnumType{ + desc: ed, + goType: t, + } + if et, ok := legacyEnumTypeCache.LoadOrStore(t, et); ok { + return et.(protoreflect.EnumType) + } + return et +} + +type legacyEnumType struct { + desc protoreflect.EnumDescriptor + goType reflect.Type + m sync.Map // map[protoreflect.EnumNumber]proto.Enum +} + +func (t *legacyEnumType) New(n protoreflect.EnumNumber) protoreflect.Enum { + if e, ok := t.m.Load(n); ok { + return e.(protoreflect.Enum) + } + e := &legacyEnumWrapper{num: n, pbTyp: t, goTyp: t.goType} + t.m.Store(n, e) + return e +} +func (t *legacyEnumType) Descriptor() protoreflect.EnumDescriptor { + return t.desc +} + +type legacyEnumWrapper struct { + num protoreflect.EnumNumber + pbTyp protoreflect.EnumType + goTyp reflect.Type +} + +func (e *legacyEnumWrapper) Descriptor() protoreflect.EnumDescriptor { + return e.pbTyp.Descriptor() +} +func (e *legacyEnumWrapper) Type() protoreflect.EnumType { + return e.pbTyp +} +func (e *legacyEnumWrapper) Number() protoreflect.EnumNumber { + return e.num +} +func (e *legacyEnumWrapper) ProtoReflect() protoreflect.Enum { + return e +} +func (e *legacyEnumWrapper) protoUnwrap() interface{} { + v := reflect.New(e.goTyp).Elem() + v.SetInt(int64(e.num)) + return v.Interface() +} + +var ( + _ protoreflect.Enum = (*legacyEnumWrapper)(nil) + _ unwrapper = (*legacyEnumWrapper)(nil) +) + +var legacyEnumDescCache sync.Map // map[reflect.Type]protoreflect.EnumDescriptor + +// LegacyLoadEnumDesc returns an EnumDescriptor derived from the Go type, +// which must be an int32 kind and not implement the v2 API already. +// +// This is exported for testing purposes. +func LegacyLoadEnumDesc(t reflect.Type) protoreflect.EnumDescriptor { + // Fast-path: check if an EnumDescriptor is cached for this concrete type. + if ed, ok := legacyEnumDescCache.Load(t); ok { + return ed.(protoreflect.EnumDescriptor) + } + + // Slow-path: initialize EnumDescriptor from the raw descriptor. + ev := reflect.Zero(t).Interface() + if _, ok := ev.(protoreflect.Enum); ok { + panic(fmt.Sprintf("%v already implements proto.Enum", t)) + } + edV1, ok := ev.(enumV1) + if !ok { + return aberrantLoadEnumDesc(t) + } + b, idxs := edV1.EnumDescriptor() + + var ed protoreflect.EnumDescriptor + if len(idxs) == 1 { + ed = legacyLoadFileDesc(b).Enums().Get(idxs[0]) + } else { + md := legacyLoadFileDesc(b).Messages().Get(idxs[0]) + for _, i := range idxs[1 : len(idxs)-1] { + md = md.Messages().Get(i) + } + ed = md.Enums().Get(idxs[len(idxs)-1]) + } + if ed, ok := legacyEnumDescCache.LoadOrStore(t, ed); ok { + return ed.(protoreflect.EnumDescriptor) + } + return ed +} + +var aberrantEnumDescCache sync.Map // map[reflect.Type]protoreflect.EnumDescriptor + +// aberrantLoadEnumDesc returns an EnumDescriptor derived from the Go type, +// which must not implement protoreflect.Enum or enumV1. +// +// If the type does not implement enumV1, then there is no reliable +// way to derive the original protobuf type information. +// We are unable to use the global enum registry since it is +// unfortunately keyed by the protobuf full name, which we also do not know. +// Thus, this produces some bogus enum descriptor based on the Go type name. +func aberrantLoadEnumDesc(t reflect.Type) protoreflect.EnumDescriptor { + // Fast-path: check if an EnumDescriptor is cached for this concrete type. + if ed, ok := aberrantEnumDescCache.Load(t); ok { + return ed.(protoreflect.EnumDescriptor) + } + + // Slow-path: construct a bogus, but unique EnumDescriptor. + ed := &filedesc.Enum{L2: new(filedesc.EnumL2)} + ed.L0.FullName = AberrantDeriveFullName(t) // e.g., github_com.user.repo.MyEnum + ed.L0.ParentFile = filedesc.SurrogateProto3 + ed.L2.Values.List = append(ed.L2.Values.List, filedesc.EnumValue{}) + + // TODO: Use the presence of a UnmarshalJSON method to determine proto2? + + vd := &ed.L2.Values.List[0] + vd.L0.FullName = ed.L0.FullName + "_UNKNOWN" // e.g., github_com.user.repo.MyEnum_UNKNOWN + vd.L0.ParentFile = ed.L0.ParentFile + vd.L0.Parent = ed + + // TODO: We could use the String method to obtain some enum value names by + // starting at 0 and print the enum until it produces invalid identifiers. + // An exhaustive query is clearly impractical, but can be best-effort. + + if ed, ok := aberrantEnumDescCache.LoadOrStore(t, ed); ok { + return ed.(protoreflect.EnumDescriptor) + } + return ed +} + +// AberrantDeriveFullName derives a fully qualified protobuf name for the given Go type +// The provided name is not guaranteed to be stable nor universally unique. +// It should be sufficiently unique within a program. +// +// This is exported for testing purposes. +func AberrantDeriveFullName(t reflect.Type) protoreflect.FullName { + sanitize := func(r rune) rune { + switch { + case r == '/': + return '.' + case 'a' <= r && r <= 'z', 'A' <= r && r <= 'Z', '0' <= r && r <= '9': + return r + default: + return '_' + } + } + prefix := strings.Map(sanitize, t.PkgPath()) + suffix := strings.Map(sanitize, t.Name()) + if suffix == "" { + suffix = fmt.Sprintf("UnknownX%X", reflect.ValueOf(t).Pointer()) + } + + ss := append(strings.Split(prefix, "."), suffix) + for i, s := range ss { + if s == "" || ('0' <= s[0] && s[0] <= '9') { + ss[i] = "x" + s + } + } + return protoreflect.FullName(strings.Join(ss, ".")) +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go b/server/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go new file mode 100755 index 0000000..9b64ad5 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go @@ -0,0 +1,92 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "encoding/binary" + "encoding/json" + "hash/crc32" + "math" + "reflect" + + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +// These functions exist to support exported APIs in generated protobufs. +// While these are deprecated, they cannot be removed for compatibility reasons. + +// LegacyEnumName returns the name of enums used in legacy code. +func (Export) LegacyEnumName(ed protoreflect.EnumDescriptor) string { + return legacyEnumName(ed) +} + +// LegacyMessageTypeOf returns the protoreflect.MessageType for m, +// with name used as the message name if necessary. +func (Export) LegacyMessageTypeOf(m protoiface.MessageV1, name protoreflect.FullName) protoreflect.MessageType { + if mv := (Export{}).protoMessageV2Of(m); mv != nil { + return mv.ProtoReflect().Type() + } + return legacyLoadMessageType(reflect.TypeOf(m), name) +} + +// UnmarshalJSONEnum unmarshals an enum from a JSON-encoded input. +// The input can either be a string representing the enum value by name, +// or a number representing the enum number itself. +func (Export) UnmarshalJSONEnum(ed protoreflect.EnumDescriptor, b []byte) (protoreflect.EnumNumber, error) { + if b[0] == '"' { + var name protoreflect.Name + if err := json.Unmarshal(b, &name); err != nil { + return 0, errors.New("invalid input for enum %v: %s", ed.FullName(), b) + } + ev := ed.Values().ByName(name) + if ev == nil { + return 0, errors.New("invalid value for enum %v: %s", ed.FullName(), name) + } + return ev.Number(), nil + } else { + var num protoreflect.EnumNumber + if err := json.Unmarshal(b, &num); err != nil { + return 0, errors.New("invalid input for enum %v: %s", ed.FullName(), b) + } + return num, nil + } +} + +// CompressGZIP compresses the input as a GZIP-encoded file. +// The current implementation does no compression. +func (Export) CompressGZIP(in []byte) (out []byte) { + // RFC 1952, section 2.3.1. + var gzipHeader = [10]byte{0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff} + + // RFC 1951, section 3.2.4. + var blockHeader [5]byte + const maxBlockSize = math.MaxUint16 + numBlocks := 1 + len(in)/maxBlockSize + + // RFC 1952, section 2.3.1. + var gzipFooter [8]byte + binary.LittleEndian.PutUint32(gzipFooter[0:4], crc32.ChecksumIEEE(in)) + binary.LittleEndian.PutUint32(gzipFooter[4:8], uint32(len(in))) + + // Encode the input without compression using raw DEFLATE blocks. + out = make([]byte, 0, len(gzipHeader)+len(blockHeader)*numBlocks+len(in)+len(gzipFooter)) + out = append(out, gzipHeader[:]...) + for blockHeader[0] == 0 { + blockSize := maxBlockSize + if blockSize > len(in) { + blockHeader[0] = 0x01 // final bit per RFC 1951, section 3.2.3. + blockSize = len(in) + } + binary.LittleEndian.PutUint16(blockHeader[1:3], uint16(blockSize)) + binary.LittleEndian.PutUint16(blockHeader[3:5], ^uint16(blockSize)) + out = append(out, blockHeader[:]...) + out = append(out, in[:blockSize]...) + in = in[blockSize:] + } + out = append(out, gzipFooter[:]...) + return out +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go b/server/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go new file mode 100755 index 0000000..87b30d0 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go @@ -0,0 +1,176 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "reflect" + + "google.golang.org/protobuf/internal/descopts" + "google.golang.org/protobuf/internal/encoding/messageset" + ptag "google.golang.org/protobuf/internal/encoding/tag" + "google.golang.org/protobuf/internal/filedesc" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" + "google.golang.org/protobuf/runtime/protoiface" +) + +func (xi *ExtensionInfo) initToLegacy() { + xd := xi.desc + var parent protoiface.MessageV1 + messageName := xd.ContainingMessage().FullName() + if mt, _ := protoregistry.GlobalTypes.FindMessageByName(messageName); mt != nil { + // Create a new parent message and unwrap it if possible. + mv := mt.New().Interface() + t := reflect.TypeOf(mv) + if mv, ok := mv.(unwrapper); ok { + t = reflect.TypeOf(mv.protoUnwrap()) + } + + // Check whether the message implements the legacy v1 Message interface. + mz := reflect.Zero(t).Interface() + if mz, ok := mz.(protoiface.MessageV1); ok { + parent = mz + } + } + + // Determine the v1 extension type, which is unfortunately not the same as + // the v2 ExtensionType.GoType. + extType := xi.goType + switch extType.Kind() { + case reflect.Bool, reflect.Int32, reflect.Int64, reflect.Uint32, reflect.Uint64, reflect.Float32, reflect.Float64, reflect.String: + extType = reflect.PtrTo(extType) // T -> *T for singular scalar fields + } + + // Reconstruct the legacy enum full name. + var enumName string + if xd.Kind() == protoreflect.EnumKind { + enumName = legacyEnumName(xd.Enum()) + } + + // Derive the proto file that the extension was declared within. + var filename string + if fd := xd.ParentFile(); fd != nil { + filename = fd.Path() + } + + // For MessageSet extensions, the name used is the parent message. + name := xd.FullName() + if messageset.IsMessageSetExtension(xd) { + name = name.Parent() + } + + xi.ExtendedType = parent + xi.ExtensionType = reflect.Zero(extType).Interface() + xi.Field = int32(xd.Number()) + xi.Name = string(name) + xi.Tag = ptag.Marshal(xd, enumName) + xi.Filename = filename +} + +// initFromLegacy initializes an ExtensionInfo from +// the contents of the deprecated exported fields of the type. +func (xi *ExtensionInfo) initFromLegacy() { + // The v1 API returns "type incomplete" descriptors where only the + // field number is specified. In such a case, use a placeholder. + if xi.ExtendedType == nil || xi.ExtensionType == nil { + xd := placeholderExtension{ + name: protoreflect.FullName(xi.Name), + number: protoreflect.FieldNumber(xi.Field), + } + xi.desc = extensionTypeDescriptor{xd, xi} + return + } + + // Resolve enum or message dependencies. + var ed protoreflect.EnumDescriptor + var md protoreflect.MessageDescriptor + t := reflect.TypeOf(xi.ExtensionType) + isOptional := t.Kind() == reflect.Ptr && t.Elem().Kind() != reflect.Struct + isRepeated := t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 + if isOptional || isRepeated { + t = t.Elem() + } + switch v := reflect.Zero(t).Interface().(type) { + case protoreflect.Enum: + ed = v.Descriptor() + case enumV1: + ed = LegacyLoadEnumDesc(t) + case protoreflect.ProtoMessage: + md = v.ProtoReflect().Descriptor() + case messageV1: + md = LegacyLoadMessageDesc(t) + } + + // Derive basic field information from the struct tag. + var evs protoreflect.EnumValueDescriptors + if ed != nil { + evs = ed.Values() + } + fd := ptag.Unmarshal(xi.Tag, t, evs).(*filedesc.Field) + + // Construct a v2 ExtensionType. + xd := &filedesc.Extension{L2: new(filedesc.ExtensionL2)} + xd.L0.ParentFile = filedesc.SurrogateProto2 + xd.L0.FullName = protoreflect.FullName(xi.Name) + xd.L1.Number = protoreflect.FieldNumber(xi.Field) + xd.L1.Cardinality = fd.L1.Cardinality + xd.L1.Kind = fd.L1.Kind + xd.L2.IsPacked = fd.L1.IsPacked + xd.L2.Default = fd.L1.Default + xd.L1.Extendee = Export{}.MessageDescriptorOf(xi.ExtendedType) + xd.L2.Enum = ed + xd.L2.Message = md + + // Derive real extension field name for MessageSets. + if messageset.IsMessageSet(xd.L1.Extendee) && md.FullName() == xd.L0.FullName { + xd.L0.FullName = xd.L0.FullName.Append(messageset.ExtensionName) + } + + tt := reflect.TypeOf(xi.ExtensionType) + if isOptional { + tt = tt.Elem() + } + xi.goType = tt + xi.desc = extensionTypeDescriptor{xd, xi} +} + +type placeholderExtension struct { + name protoreflect.FullName + number protoreflect.FieldNumber +} + +func (x placeholderExtension) ParentFile() protoreflect.FileDescriptor { return nil } +func (x placeholderExtension) Parent() protoreflect.Descriptor { return nil } +func (x placeholderExtension) Index() int { return 0 } +func (x placeholderExtension) Syntax() protoreflect.Syntax { return 0 } +func (x placeholderExtension) Name() protoreflect.Name { return x.name.Name() } +func (x placeholderExtension) FullName() protoreflect.FullName { return x.name } +func (x placeholderExtension) IsPlaceholder() bool { return true } +func (x placeholderExtension) Options() protoreflect.ProtoMessage { return descopts.Field } +func (x placeholderExtension) Number() protoreflect.FieldNumber { return x.number } +func (x placeholderExtension) Cardinality() protoreflect.Cardinality { return 0 } +func (x placeholderExtension) Kind() protoreflect.Kind { return 0 } +func (x placeholderExtension) HasJSONName() bool { return false } +func (x placeholderExtension) JSONName() string { return "[" + string(x.name) + "]" } +func (x placeholderExtension) TextName() string { return "[" + string(x.name) + "]" } +func (x placeholderExtension) HasPresence() bool { return false } +func (x placeholderExtension) HasOptionalKeyword() bool { return false } +func (x placeholderExtension) IsExtension() bool { return true } +func (x placeholderExtension) IsWeak() bool { return false } +func (x placeholderExtension) IsPacked() bool { return false } +func (x placeholderExtension) IsList() bool { return false } +func (x placeholderExtension) IsMap() bool { return false } +func (x placeholderExtension) MapKey() protoreflect.FieldDescriptor { return nil } +func (x placeholderExtension) MapValue() protoreflect.FieldDescriptor { return nil } +func (x placeholderExtension) HasDefault() bool { return false } +func (x placeholderExtension) Default() protoreflect.Value { return protoreflect.Value{} } +func (x placeholderExtension) DefaultEnumValue() protoreflect.EnumValueDescriptor { return nil } +func (x placeholderExtension) ContainingOneof() protoreflect.OneofDescriptor { return nil } +func (x placeholderExtension) ContainingMessage() protoreflect.MessageDescriptor { return nil } +func (x placeholderExtension) Enum() protoreflect.EnumDescriptor { return nil } +func (x placeholderExtension) Message() protoreflect.MessageDescriptor { return nil } +func (x placeholderExtension) ProtoType(protoreflect.FieldDescriptor) { return } +func (x placeholderExtension) ProtoInternal(pragma.DoNotImplement) { return } diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go b/server/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go new file mode 100755 index 0000000..9ab0910 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go @@ -0,0 +1,81 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "bytes" + "compress/gzip" + "io/ioutil" + "sync" + + "google.golang.org/protobuf/internal/filedesc" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +// Every enum and message type generated by protoc-gen-go since commit 2fc053c5 +// on February 25th, 2016 has had a method to get the raw descriptor. +// Types that were not generated by protoc-gen-go or were generated prior +// to that version are not supported. +// +// The []byte returned is the encoded form of a FileDescriptorProto message +// compressed using GZIP. The []int is the path from the top-level file +// to the specific message or enum declaration. +type ( + enumV1 interface { + EnumDescriptor() ([]byte, []int) + } + messageV1 interface { + Descriptor() ([]byte, []int) + } +) + +var legacyFileDescCache sync.Map // map[*byte]protoreflect.FileDescriptor + +// legacyLoadFileDesc unmarshals b as a compressed FileDescriptorProto message. +// +// This assumes that b is immutable and that b does not refer to part of a +// concatenated series of GZIP files (which would require shenanigans that +// rely on the concatenation properties of both protobufs and GZIP). +// File descriptors generated by protoc-gen-go do not rely on that property. +func legacyLoadFileDesc(b []byte) protoreflect.FileDescriptor { + // Fast-path: check whether we already have a cached file descriptor. + if fd, ok := legacyFileDescCache.Load(&b[0]); ok { + return fd.(protoreflect.FileDescriptor) + } + + // Slow-path: decompress and unmarshal the file descriptor proto. + zr, err := gzip.NewReader(bytes.NewReader(b)) + if err != nil { + panic(err) + } + b2, err := ioutil.ReadAll(zr) + if err != nil { + panic(err) + } + + fd := filedesc.Builder{ + RawDescriptor: b2, + FileRegistry: resolverOnly{protoregistry.GlobalFiles}, // do not register back to global registry + }.Build().File + if fd, ok := legacyFileDescCache.LoadOrStore(&b[0], fd); ok { + return fd.(protoreflect.FileDescriptor) + } + return fd +} + +type resolverOnly struct { + reg *protoregistry.Files +} + +func (r resolverOnly) FindFileByPath(path string) (protoreflect.FileDescriptor, error) { + return r.reg.FindFileByPath(path) +} +func (r resolverOnly) FindDescriptorByName(name protoreflect.FullName) (protoreflect.Descriptor, error) { + return r.reg.FindDescriptorByName(name) +} +func (resolverOnly) RegisterFile(protoreflect.FileDescriptor) error { + return nil +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go b/server/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go new file mode 100755 index 0000000..61c483f --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go @@ -0,0 +1,563 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + "strings" + "sync" + + "google.golang.org/protobuf/internal/descopts" + ptag "google.golang.org/protobuf/internal/encoding/tag" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/filedesc" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +// legacyWrapMessage wraps v as a protoreflect.Message, +// where v must be a *struct kind and not implement the v2 API already. +func legacyWrapMessage(v reflect.Value) protoreflect.Message { + t := v.Type() + if t.Kind() != reflect.Ptr || t.Elem().Kind() != reflect.Struct { + return aberrantMessage{v: v} + } + mt := legacyLoadMessageInfo(t, "") + return mt.MessageOf(v.Interface()) +} + +// legacyLoadMessageType dynamically loads a protoreflect.Type for t, +// where t must be not implement the v2 API already. +// The provided name is used if it cannot be determined from the message. +func legacyLoadMessageType(t reflect.Type, name protoreflect.FullName) protoreflect.MessageType { + if t.Kind() != reflect.Ptr || t.Elem().Kind() != reflect.Struct { + return aberrantMessageType{t} + } + return legacyLoadMessageInfo(t, name) +} + +var legacyMessageTypeCache sync.Map // map[reflect.Type]*MessageInfo + +// legacyLoadMessageInfo dynamically loads a *MessageInfo for t, +// where t must be a *struct kind and not implement the v2 API already. +// The provided name is used if it cannot be determined from the message. +func legacyLoadMessageInfo(t reflect.Type, name protoreflect.FullName) *MessageInfo { + // Fast-path: check if a MessageInfo is cached for this concrete type. + if mt, ok := legacyMessageTypeCache.Load(t); ok { + return mt.(*MessageInfo) + } + + // Slow-path: derive message descriptor and initialize MessageInfo. + mi := &MessageInfo{ + Desc: legacyLoadMessageDesc(t, name), + GoReflectType: t, + } + + var hasMarshal, hasUnmarshal bool + v := reflect.Zero(t).Interface() + if _, hasMarshal = v.(legacyMarshaler); hasMarshal { + mi.methods.Marshal = legacyMarshal + + // We have no way to tell whether the type's Marshal method + // supports deterministic serialization or not, but this + // preserves the v1 implementation's behavior of always + // calling Marshal methods when present. + mi.methods.Flags |= protoiface.SupportMarshalDeterministic + } + if _, hasUnmarshal = v.(legacyUnmarshaler); hasUnmarshal { + mi.methods.Unmarshal = legacyUnmarshal + } + if _, hasMerge := v.(legacyMerger); hasMerge || (hasMarshal && hasUnmarshal) { + mi.methods.Merge = legacyMerge + } + + if mi, ok := legacyMessageTypeCache.LoadOrStore(t, mi); ok { + return mi.(*MessageInfo) + } + return mi +} + +var legacyMessageDescCache sync.Map // map[reflect.Type]protoreflect.MessageDescriptor + +// LegacyLoadMessageDesc returns an MessageDescriptor derived from the Go type, +// which should be a *struct kind and must not implement the v2 API already. +// +// This is exported for testing purposes. +func LegacyLoadMessageDesc(t reflect.Type) protoreflect.MessageDescriptor { + return legacyLoadMessageDesc(t, "") +} +func legacyLoadMessageDesc(t reflect.Type, name protoreflect.FullName) protoreflect.MessageDescriptor { + // Fast-path: check if a MessageDescriptor is cached for this concrete type. + if mi, ok := legacyMessageDescCache.Load(t); ok { + return mi.(protoreflect.MessageDescriptor) + } + + // Slow-path: initialize MessageDescriptor from the raw descriptor. + mv := reflect.Zero(t).Interface() + if _, ok := mv.(protoreflect.ProtoMessage); ok { + panic(fmt.Sprintf("%v already implements proto.Message", t)) + } + mdV1, ok := mv.(messageV1) + if !ok { + return aberrantLoadMessageDesc(t, name) + } + + // If this is a dynamic message type where there isn't a 1-1 mapping between + // Go and protobuf types, calling the Descriptor method on the zero value of + // the message type isn't likely to work. If it panics, swallow the panic and + // continue as if the Descriptor method wasn't present. + b, idxs := func() ([]byte, []int) { + defer func() { + recover() + }() + return mdV1.Descriptor() + }() + if b == nil { + return aberrantLoadMessageDesc(t, name) + } + + // If the Go type has no fields, then this might be a proto3 empty message + // from before the size cache was added. If there are any fields, check to + // see that at least one of them looks like something we generated. + if t.Elem().Kind() == reflect.Struct { + if nfield := t.Elem().NumField(); nfield > 0 { + hasProtoField := false + for i := 0; i < nfield; i++ { + f := t.Elem().Field(i) + if f.Tag.Get("protobuf") != "" || f.Tag.Get("protobuf_oneof") != "" || strings.HasPrefix(f.Name, "XXX_") { + hasProtoField = true + break + } + } + if !hasProtoField { + return aberrantLoadMessageDesc(t, name) + } + } + } + + md := legacyLoadFileDesc(b).Messages().Get(idxs[0]) + for _, i := range idxs[1:] { + md = md.Messages().Get(i) + } + if name != "" && md.FullName() != name { + panic(fmt.Sprintf("mismatching message name: got %v, want %v", md.FullName(), name)) + } + if md, ok := legacyMessageDescCache.LoadOrStore(t, md); ok { + return md.(protoreflect.MessageDescriptor) + } + return md +} + +var ( + aberrantMessageDescLock sync.Mutex + aberrantMessageDescCache map[reflect.Type]protoreflect.MessageDescriptor +) + +// aberrantLoadMessageDesc returns an MessageDescriptor derived from the Go type, +// which must not implement protoreflect.ProtoMessage or messageV1. +// +// This is a best-effort derivation of the message descriptor using the protobuf +// tags on the struct fields. +func aberrantLoadMessageDesc(t reflect.Type, name protoreflect.FullName) protoreflect.MessageDescriptor { + aberrantMessageDescLock.Lock() + defer aberrantMessageDescLock.Unlock() + if aberrantMessageDescCache == nil { + aberrantMessageDescCache = make(map[reflect.Type]protoreflect.MessageDescriptor) + } + return aberrantLoadMessageDescReentrant(t, name) +} +func aberrantLoadMessageDescReentrant(t reflect.Type, name protoreflect.FullName) protoreflect.MessageDescriptor { + // Fast-path: check if an MessageDescriptor is cached for this concrete type. + if md, ok := aberrantMessageDescCache[t]; ok { + return md + } + + // Slow-path: construct a descriptor from the Go struct type (best-effort). + // Cache the MessageDescriptor early on so that we can resolve internal + // cyclic references. + md := &filedesc.Message{L2: new(filedesc.MessageL2)} + md.L0.FullName = aberrantDeriveMessageName(t, name) + md.L0.ParentFile = filedesc.SurrogateProto2 + aberrantMessageDescCache[t] = md + + if t.Kind() != reflect.Ptr || t.Elem().Kind() != reflect.Struct { + return md + } + + // Try to determine if the message is using proto3 by checking scalars. + for i := 0; i < t.Elem().NumField(); i++ { + f := t.Elem().Field(i) + if tag := f.Tag.Get("protobuf"); tag != "" { + switch f.Type.Kind() { + case reflect.Bool, reflect.Int32, reflect.Int64, reflect.Uint32, reflect.Uint64, reflect.Float32, reflect.Float64, reflect.String: + md.L0.ParentFile = filedesc.SurrogateProto3 + } + for _, s := range strings.Split(tag, ",") { + if s == "proto3" { + md.L0.ParentFile = filedesc.SurrogateProto3 + } + } + } + } + + // Obtain a list of oneof wrapper types. + var oneofWrappers []reflect.Type + for _, method := range []string{"XXX_OneofFuncs", "XXX_OneofWrappers"} { + if fn, ok := t.MethodByName(method); ok { + for _, v := range fn.Func.Call([]reflect.Value{reflect.Zero(fn.Type.In(0))}) { + if vs, ok := v.Interface().([]interface{}); ok { + for _, v := range vs { + oneofWrappers = append(oneofWrappers, reflect.TypeOf(v)) + } + } + } + } + } + + // Obtain a list of the extension ranges. + if fn, ok := t.MethodByName("ExtensionRangeArray"); ok { + vs := fn.Func.Call([]reflect.Value{reflect.Zero(fn.Type.In(0))})[0] + for i := 0; i < vs.Len(); i++ { + v := vs.Index(i) + md.L2.ExtensionRanges.List = append(md.L2.ExtensionRanges.List, [2]protoreflect.FieldNumber{ + protoreflect.FieldNumber(v.FieldByName("Start").Int()), + protoreflect.FieldNumber(v.FieldByName("End").Int() + 1), + }) + md.L2.ExtensionRangeOptions = append(md.L2.ExtensionRangeOptions, nil) + } + } + + // Derive the message fields by inspecting the struct fields. + for i := 0; i < t.Elem().NumField(); i++ { + f := t.Elem().Field(i) + if tag := f.Tag.Get("protobuf"); tag != "" { + tagKey := f.Tag.Get("protobuf_key") + tagVal := f.Tag.Get("protobuf_val") + aberrantAppendField(md, f.Type, tag, tagKey, tagVal) + } + if tag := f.Tag.Get("protobuf_oneof"); tag != "" { + n := len(md.L2.Oneofs.List) + md.L2.Oneofs.List = append(md.L2.Oneofs.List, filedesc.Oneof{}) + od := &md.L2.Oneofs.List[n] + od.L0.FullName = md.FullName().Append(protoreflect.Name(tag)) + od.L0.ParentFile = md.L0.ParentFile + od.L0.Parent = md + od.L0.Index = n + + for _, t := range oneofWrappers { + if t.Implements(f.Type) { + f := t.Elem().Field(0) + if tag := f.Tag.Get("protobuf"); tag != "" { + aberrantAppendField(md, f.Type, tag, "", "") + fd := &md.L2.Fields.List[len(md.L2.Fields.List)-1] + fd.L1.ContainingOneof = od + od.L1.Fields.List = append(od.L1.Fields.List, fd) + } + } + } + } + } + + return md +} + +func aberrantDeriveMessageName(t reflect.Type, name protoreflect.FullName) protoreflect.FullName { + if name.IsValid() { + return name + } + func() { + defer func() { recover() }() // swallow possible nil panics + if m, ok := reflect.Zero(t).Interface().(interface{ XXX_MessageName() string }); ok { + name = protoreflect.FullName(m.XXX_MessageName()) + } + }() + if name.IsValid() { + return name + } + if t.Kind() == reflect.Ptr { + t = t.Elem() + } + return AberrantDeriveFullName(t) +} + +func aberrantAppendField(md *filedesc.Message, goType reflect.Type, tag, tagKey, tagVal string) { + t := goType + isOptional := t.Kind() == reflect.Ptr && t.Elem().Kind() != reflect.Struct + isRepeated := t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 + if isOptional || isRepeated { + t = t.Elem() + } + fd := ptag.Unmarshal(tag, t, placeholderEnumValues{}).(*filedesc.Field) + + // Append field descriptor to the message. + n := len(md.L2.Fields.List) + md.L2.Fields.List = append(md.L2.Fields.List, *fd) + fd = &md.L2.Fields.List[n] + fd.L0.FullName = md.FullName().Append(fd.Name()) + fd.L0.ParentFile = md.L0.ParentFile + fd.L0.Parent = md + fd.L0.Index = n + + if fd.L1.IsWeak || fd.L1.HasPacked { + fd.L1.Options = func() protoreflect.ProtoMessage { + opts := descopts.Field.ProtoReflect().New() + if fd.L1.IsWeak { + opts.Set(opts.Descriptor().Fields().ByName("weak"), protoreflect.ValueOfBool(true)) + } + if fd.L1.HasPacked { + opts.Set(opts.Descriptor().Fields().ByName("packed"), protoreflect.ValueOfBool(fd.L1.IsPacked)) + } + return opts.Interface() + } + } + + // Populate Enum and Message. + if fd.Enum() == nil && fd.Kind() == protoreflect.EnumKind { + switch v := reflect.Zero(t).Interface().(type) { + case protoreflect.Enum: + fd.L1.Enum = v.Descriptor() + default: + fd.L1.Enum = LegacyLoadEnumDesc(t) + } + } + if fd.Message() == nil && (fd.Kind() == protoreflect.MessageKind || fd.Kind() == protoreflect.GroupKind) { + switch v := reflect.Zero(t).Interface().(type) { + case protoreflect.ProtoMessage: + fd.L1.Message = v.ProtoReflect().Descriptor() + case messageV1: + fd.L1.Message = LegacyLoadMessageDesc(t) + default: + if t.Kind() == reflect.Map { + n := len(md.L1.Messages.List) + md.L1.Messages.List = append(md.L1.Messages.List, filedesc.Message{L2: new(filedesc.MessageL2)}) + md2 := &md.L1.Messages.List[n] + md2.L0.FullName = md.FullName().Append(protoreflect.Name(strs.MapEntryName(string(fd.Name())))) + md2.L0.ParentFile = md.L0.ParentFile + md2.L0.Parent = md + md2.L0.Index = n + + md2.L1.IsMapEntry = true + md2.L2.Options = func() protoreflect.ProtoMessage { + opts := descopts.Message.ProtoReflect().New() + opts.Set(opts.Descriptor().Fields().ByName("map_entry"), protoreflect.ValueOfBool(true)) + return opts.Interface() + } + + aberrantAppendField(md2, t.Key(), tagKey, "", "") + aberrantAppendField(md2, t.Elem(), tagVal, "", "") + + fd.L1.Message = md2 + break + } + fd.L1.Message = aberrantLoadMessageDescReentrant(t, "") + } + } +} + +type placeholderEnumValues struct { + protoreflect.EnumValueDescriptors +} + +func (placeholderEnumValues) ByNumber(n protoreflect.EnumNumber) protoreflect.EnumValueDescriptor { + return filedesc.PlaceholderEnumValue(protoreflect.FullName(fmt.Sprintf("UNKNOWN_%d", n))) +} + +// legacyMarshaler is the proto.Marshaler interface superseded by protoiface.Methoder. +type legacyMarshaler interface { + Marshal() ([]byte, error) +} + +// legacyUnmarshaler is the proto.Unmarshaler interface superseded by protoiface.Methoder. +type legacyUnmarshaler interface { + Unmarshal([]byte) error +} + +// legacyMerger is the proto.Merger interface superseded by protoiface.Methoder. +type legacyMerger interface { + Merge(protoiface.MessageV1) +} + +var aberrantProtoMethods = &protoiface.Methods{ + Marshal: legacyMarshal, + Unmarshal: legacyUnmarshal, + Merge: legacyMerge, + + // We have no way to tell whether the type's Marshal method + // supports deterministic serialization or not, but this + // preserves the v1 implementation's behavior of always + // calling Marshal methods when present. + Flags: protoiface.SupportMarshalDeterministic, +} + +func legacyMarshal(in protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + v := in.Message.(unwrapper).protoUnwrap() + marshaler, ok := v.(legacyMarshaler) + if !ok { + return protoiface.MarshalOutput{}, errors.New("%T does not implement Marshal", v) + } + out, err := marshaler.Marshal() + if in.Buf != nil { + out = append(in.Buf, out...) + } + return protoiface.MarshalOutput{ + Buf: out, + }, err +} + +func legacyUnmarshal(in protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + v := in.Message.(unwrapper).protoUnwrap() + unmarshaler, ok := v.(legacyUnmarshaler) + if !ok { + return protoiface.UnmarshalOutput{}, errors.New("%T does not implement Unmarshal", v) + } + return protoiface.UnmarshalOutput{}, unmarshaler.Unmarshal(in.Buf) +} + +func legacyMerge(in protoiface.MergeInput) protoiface.MergeOutput { + // Check whether this supports the legacy merger. + dstv := in.Destination.(unwrapper).protoUnwrap() + merger, ok := dstv.(legacyMerger) + if ok { + merger.Merge(Export{}.ProtoMessageV1Of(in.Source)) + return protoiface.MergeOutput{Flags: protoiface.MergeComplete} + } + + // If legacy merger is unavailable, implement merge in terms of + // a marshal and unmarshal operation. + srcv := in.Source.(unwrapper).protoUnwrap() + marshaler, ok := srcv.(legacyMarshaler) + if !ok { + return protoiface.MergeOutput{} + } + dstv = in.Destination.(unwrapper).protoUnwrap() + unmarshaler, ok := dstv.(legacyUnmarshaler) + if !ok { + return protoiface.MergeOutput{} + } + if !in.Source.IsValid() { + // Legacy Marshal methods may not function on nil messages. + // Check for a typed nil source only after we confirm that + // legacy Marshal/Unmarshal methods are present, for + // consistency. + return protoiface.MergeOutput{Flags: protoiface.MergeComplete} + } + b, err := marshaler.Marshal() + if err != nil { + return protoiface.MergeOutput{} + } + err = unmarshaler.Unmarshal(b) + if err != nil { + return protoiface.MergeOutput{} + } + return protoiface.MergeOutput{Flags: protoiface.MergeComplete} +} + +// aberrantMessageType implements MessageType for all types other than pointer-to-struct. +type aberrantMessageType struct { + t reflect.Type +} + +func (mt aberrantMessageType) New() protoreflect.Message { + if mt.t.Kind() == reflect.Ptr { + return aberrantMessage{reflect.New(mt.t.Elem())} + } + return aberrantMessage{reflect.Zero(mt.t)} +} +func (mt aberrantMessageType) Zero() protoreflect.Message { + return aberrantMessage{reflect.Zero(mt.t)} +} +func (mt aberrantMessageType) GoType() reflect.Type { + return mt.t +} +func (mt aberrantMessageType) Descriptor() protoreflect.MessageDescriptor { + return LegacyLoadMessageDesc(mt.t) +} + +// aberrantMessage implements Message for all types other than pointer-to-struct. +// +// When the underlying type implements legacyMarshaler or legacyUnmarshaler, +// the aberrant Message can be marshaled or unmarshaled. Otherwise, there is +// not much that can be done with values of this type. +type aberrantMessage struct { + v reflect.Value +} + +// Reset implements the v1 proto.Message.Reset method. +func (m aberrantMessage) Reset() { + if mr, ok := m.v.Interface().(interface{ Reset() }); ok { + mr.Reset() + return + } + if m.v.Kind() == reflect.Ptr && !m.v.IsNil() { + m.v.Elem().Set(reflect.Zero(m.v.Type().Elem())) + } +} + +func (m aberrantMessage) ProtoReflect() protoreflect.Message { + return m +} + +func (m aberrantMessage) Descriptor() protoreflect.MessageDescriptor { + return LegacyLoadMessageDesc(m.v.Type()) +} +func (m aberrantMessage) Type() protoreflect.MessageType { + return aberrantMessageType{m.v.Type()} +} +func (m aberrantMessage) New() protoreflect.Message { + if m.v.Type().Kind() == reflect.Ptr { + return aberrantMessage{reflect.New(m.v.Type().Elem())} + } + return aberrantMessage{reflect.Zero(m.v.Type())} +} +func (m aberrantMessage) Interface() protoreflect.ProtoMessage { + return m +} +func (m aberrantMessage) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + return +} +func (m aberrantMessage) Has(protoreflect.FieldDescriptor) bool { + return false +} +func (m aberrantMessage) Clear(protoreflect.FieldDescriptor) { + panic("invalid Message.Clear on " + string(m.Descriptor().FullName())) +} +func (m aberrantMessage) Get(fd protoreflect.FieldDescriptor) protoreflect.Value { + if fd.Default().IsValid() { + return fd.Default() + } + panic("invalid Message.Get on " + string(m.Descriptor().FullName())) +} +func (m aberrantMessage) Set(protoreflect.FieldDescriptor, protoreflect.Value) { + panic("invalid Message.Set on " + string(m.Descriptor().FullName())) +} +func (m aberrantMessage) Mutable(protoreflect.FieldDescriptor) protoreflect.Value { + panic("invalid Message.Mutable on " + string(m.Descriptor().FullName())) +} +func (m aberrantMessage) NewField(protoreflect.FieldDescriptor) protoreflect.Value { + panic("invalid Message.NewField on " + string(m.Descriptor().FullName())) +} +func (m aberrantMessage) WhichOneof(protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + panic("invalid Message.WhichOneof descriptor on " + string(m.Descriptor().FullName())) +} +func (m aberrantMessage) GetUnknown() protoreflect.RawFields { + return nil +} +func (m aberrantMessage) SetUnknown(protoreflect.RawFields) { + // SetUnknown discards its input on messages which don't support unknown field storage. +} +func (m aberrantMessage) IsValid() bool { + if m.v.Kind() == reflect.Ptr { + return !m.v.IsNil() + } + return false +} +func (m aberrantMessage) ProtoMethods() *protoiface.Methods { + return aberrantProtoMethods +} +func (m aberrantMessage) protoUnwrap() interface{} { + return m.v.Interface() +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/merge.go b/server/vendor/google.golang.org/protobuf/internal/impl/merge.go new file mode 100755 index 0000000..7e65f64 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/merge.go @@ -0,0 +1,176 @@ +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +type mergeOptions struct{} + +func (o mergeOptions) Merge(dst, src proto.Message) { + proto.Merge(dst, src) +} + +// merge is protoreflect.Methods.Merge. +func (mi *MessageInfo) merge(in protoiface.MergeInput) protoiface.MergeOutput { + dp, ok := mi.getPointer(in.Destination) + if !ok { + return protoiface.MergeOutput{} + } + sp, ok := mi.getPointer(in.Source) + if !ok { + return protoiface.MergeOutput{} + } + mi.mergePointer(dp, sp, mergeOptions{}) + return protoiface.MergeOutput{Flags: protoiface.MergeComplete} +} + +func (mi *MessageInfo) mergePointer(dst, src pointer, opts mergeOptions) { + mi.init() + if dst.IsNil() { + panic(fmt.Sprintf("invalid value: merging into nil message")) + } + if src.IsNil() { + return + } + for _, f := range mi.orderedCoderFields { + if f.funcs.merge == nil { + continue + } + sfptr := src.Apply(f.offset) + if f.isPointer && sfptr.Elem().IsNil() { + continue + } + f.funcs.merge(dst.Apply(f.offset), sfptr, f, opts) + } + if mi.extensionOffset.IsValid() { + sext := src.Apply(mi.extensionOffset).Extensions() + dext := dst.Apply(mi.extensionOffset).Extensions() + if *dext == nil { + *dext = make(map[int32]ExtensionField) + } + for num, sx := range *sext { + xt := sx.Type() + xi := getExtensionFieldInfo(xt) + if xi.funcs.merge == nil { + continue + } + dx := (*dext)[num] + var dv protoreflect.Value + if dx.Type() == sx.Type() { + dv = dx.Value() + } + if !dv.IsValid() && xi.unmarshalNeedsValue { + dv = xt.New() + } + dv = xi.funcs.merge(dv, sx.Value(), opts) + dx.Set(sx.Type(), dv) + (*dext)[num] = dx + } + } + if mi.unknownOffset.IsValid() { + su := mi.getUnknownBytes(src) + if su != nil && len(*su) > 0 { + du := mi.mutableUnknownBytes(dst) + *du = append(*du, *su...) + } + } +} + +func mergeScalarValue(dst, src protoreflect.Value, opts mergeOptions) protoreflect.Value { + return src +} + +func mergeBytesValue(dst, src protoreflect.Value, opts mergeOptions) protoreflect.Value { + return protoreflect.ValueOfBytes(append(emptyBuf[:], src.Bytes()...)) +} + +func mergeListValue(dst, src protoreflect.Value, opts mergeOptions) protoreflect.Value { + dstl := dst.List() + srcl := src.List() + for i, llen := 0, srcl.Len(); i < llen; i++ { + dstl.Append(srcl.Get(i)) + } + return dst +} + +func mergeBytesListValue(dst, src protoreflect.Value, opts mergeOptions) protoreflect.Value { + dstl := dst.List() + srcl := src.List() + for i, llen := 0, srcl.Len(); i < llen; i++ { + sb := srcl.Get(i).Bytes() + db := append(emptyBuf[:], sb...) + dstl.Append(protoreflect.ValueOfBytes(db)) + } + return dst +} + +func mergeMessageListValue(dst, src protoreflect.Value, opts mergeOptions) protoreflect.Value { + dstl := dst.List() + srcl := src.List() + for i, llen := 0, srcl.Len(); i < llen; i++ { + sm := srcl.Get(i).Message() + dm := proto.Clone(sm.Interface()).ProtoReflect() + dstl.Append(protoreflect.ValueOfMessage(dm)) + } + return dst +} + +func mergeMessageValue(dst, src protoreflect.Value, opts mergeOptions) protoreflect.Value { + opts.Merge(dst.Message().Interface(), src.Message().Interface()) + return dst +} + +func mergeMessage(dst, src pointer, f *coderFieldInfo, opts mergeOptions) { + if f.mi != nil { + if dst.Elem().IsNil() { + dst.SetPointer(pointerOfValue(reflect.New(f.mi.GoReflectType.Elem()))) + } + f.mi.mergePointer(dst.Elem(), src.Elem(), opts) + } else { + dm := dst.AsValueOf(f.ft).Elem() + sm := src.AsValueOf(f.ft).Elem() + if dm.IsNil() { + dm.Set(reflect.New(f.ft.Elem())) + } + opts.Merge(asMessage(dm), asMessage(sm)) + } +} + +func mergeMessageSlice(dst, src pointer, f *coderFieldInfo, opts mergeOptions) { + for _, sp := range src.PointerSlice() { + dm := reflect.New(f.ft.Elem().Elem()) + if f.mi != nil { + f.mi.mergePointer(pointerOfValue(dm), sp, opts) + } else { + opts.Merge(asMessage(dm), asMessage(sp.AsValueOf(f.ft.Elem().Elem()))) + } + dst.AppendPointerSlice(pointerOfValue(dm)) + } +} + +func mergeBytes(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.Bytes() = append(emptyBuf[:], *src.Bytes()...) +} + +func mergeBytesNoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.Bytes() + if len(v) > 0 { + *dst.Bytes() = append(emptyBuf[:], v...) + } +} + +func mergeBytesSlice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.BytesSlice() + for _, v := range *src.BytesSlice() { + *ds = append(*ds, append(emptyBuf[:], v...)) + } +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go b/server/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go new file mode 100755 index 0000000..8816c27 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go @@ -0,0 +1,209 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-types. DO NOT EDIT. + +package impl + +import () + +func mergeBool(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.Bool() = *src.Bool() +} + +func mergeBoolNoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.Bool() + if v != false { + *dst.Bool() = v + } +} + +func mergeBoolPtr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + p := *src.BoolPtr() + if p != nil { + v := *p + *dst.BoolPtr() = &v + } +} + +func mergeBoolSlice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.BoolSlice() + ss := src.BoolSlice() + *ds = append(*ds, *ss...) +} + +func mergeInt32(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.Int32() = *src.Int32() +} + +func mergeInt32NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.Int32() + if v != 0 { + *dst.Int32() = v + } +} + +func mergeInt32Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + p := *src.Int32Ptr() + if p != nil { + v := *p + *dst.Int32Ptr() = &v + } +} + +func mergeInt32Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.Int32Slice() + ss := src.Int32Slice() + *ds = append(*ds, *ss...) +} + +func mergeUint32(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.Uint32() = *src.Uint32() +} + +func mergeUint32NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.Uint32() + if v != 0 { + *dst.Uint32() = v + } +} + +func mergeUint32Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + p := *src.Uint32Ptr() + if p != nil { + v := *p + *dst.Uint32Ptr() = &v + } +} + +func mergeUint32Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.Uint32Slice() + ss := src.Uint32Slice() + *ds = append(*ds, *ss...) +} + +func mergeInt64(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.Int64() = *src.Int64() +} + +func mergeInt64NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.Int64() + if v != 0 { + *dst.Int64() = v + } +} + +func mergeInt64Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + p := *src.Int64Ptr() + if p != nil { + v := *p + *dst.Int64Ptr() = &v + } +} + +func mergeInt64Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.Int64Slice() + ss := src.Int64Slice() + *ds = append(*ds, *ss...) +} + +func mergeUint64(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.Uint64() = *src.Uint64() +} + +func mergeUint64NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.Uint64() + if v != 0 { + *dst.Uint64() = v + } +} + +func mergeUint64Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + p := *src.Uint64Ptr() + if p != nil { + v := *p + *dst.Uint64Ptr() = &v + } +} + +func mergeUint64Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.Uint64Slice() + ss := src.Uint64Slice() + *ds = append(*ds, *ss...) +} + +func mergeFloat32(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.Float32() = *src.Float32() +} + +func mergeFloat32NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.Float32() + if v != 0 { + *dst.Float32() = v + } +} + +func mergeFloat32Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + p := *src.Float32Ptr() + if p != nil { + v := *p + *dst.Float32Ptr() = &v + } +} + +func mergeFloat32Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.Float32Slice() + ss := src.Float32Slice() + *ds = append(*ds, *ss...) +} + +func mergeFloat64(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.Float64() = *src.Float64() +} + +func mergeFloat64NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.Float64() + if v != 0 { + *dst.Float64() = v + } +} + +func mergeFloat64Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + p := *src.Float64Ptr() + if p != nil { + v := *p + *dst.Float64Ptr() = &v + } +} + +func mergeFloat64Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.Float64Slice() + ss := src.Float64Slice() + *ds = append(*ds, *ss...) +} + +func mergeString(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + *dst.String() = *src.String() +} + +func mergeStringNoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + v := *src.String() + if v != "" { + *dst.String() = v + } +} + +func mergeStringPtr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + p := *src.StringPtr() + if p != nil { + v := *p + *dst.StringPtr() = &v + } +} + +func mergeStringSlice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) { + ds := dst.StringSlice() + ss := src.StringSlice() + *ds = append(*ds, *ss...) +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/message.go b/server/vendor/google.golang.org/protobuf/internal/impl/message.go new file mode 100755 index 0000000..4f5fb67 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/message.go @@ -0,0 +1,279 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + "strconv" + "strings" + "sync" + "sync/atomic" + + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +// MessageInfo provides protobuf related functionality for a given Go type +// that represents a message. A given instance of MessageInfo is tied to +// exactly one Go type, which must be a pointer to a struct type. +// +// The exported fields must be populated before any methods are called +// and cannot be mutated after set. +type MessageInfo struct { + // GoReflectType is the underlying message Go type and must be populated. + GoReflectType reflect.Type // pointer to struct + + // Desc is the underlying message descriptor type and must be populated. + Desc protoreflect.MessageDescriptor + + // Exporter must be provided in a purego environment in order to provide + // access to unexported fields. + Exporter exporter + + // OneofWrappers is list of pointers to oneof wrapper struct types. + OneofWrappers []interface{} + + initMu sync.Mutex // protects all unexported fields + initDone uint32 + + reflectMessageInfo // for reflection implementation + coderMessageInfo // for fast-path method implementations +} + +// exporter is a function that returns a reference to the ith field of v, +// where v is a pointer to a struct. It returns nil if it does not support +// exporting the requested field (e.g., already exported). +type exporter func(v interface{}, i int) interface{} + +// getMessageInfo returns the MessageInfo for any message type that +// is generated by our implementation of protoc-gen-go (for v2 and on). +// If it is unable to obtain a MessageInfo, it returns nil. +func getMessageInfo(mt reflect.Type) *MessageInfo { + m, ok := reflect.Zero(mt).Interface().(protoreflect.ProtoMessage) + if !ok { + return nil + } + mr, ok := m.ProtoReflect().(interface{ ProtoMessageInfo() *MessageInfo }) + if !ok { + return nil + } + return mr.ProtoMessageInfo() +} + +func (mi *MessageInfo) init() { + // This function is called in the hot path. Inline the sync.Once logic, + // since allocating a closure for Once.Do is expensive. + // Keep init small to ensure that it can be inlined. + if atomic.LoadUint32(&mi.initDone) == 0 { + mi.initOnce() + } +} + +func (mi *MessageInfo) initOnce() { + mi.initMu.Lock() + defer mi.initMu.Unlock() + if mi.initDone == 1 { + return + } + + t := mi.GoReflectType + if t.Kind() != reflect.Ptr && t.Elem().Kind() != reflect.Struct { + panic(fmt.Sprintf("got %v, want *struct kind", t)) + } + t = t.Elem() + + si := mi.makeStructInfo(t) + mi.makeReflectFuncs(t, si) + mi.makeCoderMethods(t, si) + + atomic.StoreUint32(&mi.initDone, 1) +} + +// getPointer returns the pointer for a message, which should be of +// the type of the MessageInfo. If the message is of a different type, +// it returns ok==false. +func (mi *MessageInfo) getPointer(m protoreflect.Message) (p pointer, ok bool) { + switch m := m.(type) { + case *messageState: + return m.pointer(), m.messageInfo() == mi + case *messageReflectWrapper: + return m.pointer(), m.messageInfo() == mi + } + return pointer{}, false +} + +type ( + SizeCache = int32 + WeakFields = map[int32]protoreflect.ProtoMessage + UnknownFields = unknownFieldsA // TODO: switch to unknownFieldsB + unknownFieldsA = []byte + unknownFieldsB = *[]byte + ExtensionFields = map[int32]ExtensionField +) + +var ( + sizecacheType = reflect.TypeOf(SizeCache(0)) + weakFieldsType = reflect.TypeOf(WeakFields(nil)) + unknownFieldsAType = reflect.TypeOf(unknownFieldsA(nil)) + unknownFieldsBType = reflect.TypeOf(unknownFieldsB(nil)) + extensionFieldsType = reflect.TypeOf(ExtensionFields(nil)) +) + +type structInfo struct { + sizecacheOffset offset + sizecacheType reflect.Type + weakOffset offset + weakType reflect.Type + unknownOffset offset + unknownType reflect.Type + extensionOffset offset + extensionType reflect.Type + + fieldsByNumber map[protoreflect.FieldNumber]reflect.StructField + oneofsByName map[protoreflect.Name]reflect.StructField + oneofWrappersByType map[reflect.Type]protoreflect.FieldNumber + oneofWrappersByNumber map[protoreflect.FieldNumber]reflect.Type +} + +func (mi *MessageInfo) makeStructInfo(t reflect.Type) structInfo { + si := structInfo{ + sizecacheOffset: invalidOffset, + weakOffset: invalidOffset, + unknownOffset: invalidOffset, + extensionOffset: invalidOffset, + + fieldsByNumber: map[protoreflect.FieldNumber]reflect.StructField{}, + oneofsByName: map[protoreflect.Name]reflect.StructField{}, + oneofWrappersByType: map[reflect.Type]protoreflect.FieldNumber{}, + oneofWrappersByNumber: map[protoreflect.FieldNumber]reflect.Type{}, + } + +fieldLoop: + for i := 0; i < t.NumField(); i++ { + switch f := t.Field(i); f.Name { + case genid.SizeCache_goname, genid.SizeCacheA_goname: + if f.Type == sizecacheType { + si.sizecacheOffset = offsetOf(f, mi.Exporter) + si.sizecacheType = f.Type + } + case genid.WeakFields_goname, genid.WeakFieldsA_goname: + if f.Type == weakFieldsType { + si.weakOffset = offsetOf(f, mi.Exporter) + si.weakType = f.Type + } + case genid.UnknownFields_goname, genid.UnknownFieldsA_goname: + if f.Type == unknownFieldsAType || f.Type == unknownFieldsBType { + si.unknownOffset = offsetOf(f, mi.Exporter) + si.unknownType = f.Type + } + case genid.ExtensionFields_goname, genid.ExtensionFieldsA_goname, genid.ExtensionFieldsB_goname: + if f.Type == extensionFieldsType { + si.extensionOffset = offsetOf(f, mi.Exporter) + si.extensionType = f.Type + } + default: + for _, s := range strings.Split(f.Tag.Get("protobuf"), ",") { + if len(s) > 0 && strings.Trim(s, "0123456789") == "" { + n, _ := strconv.ParseUint(s, 10, 64) + si.fieldsByNumber[protoreflect.FieldNumber(n)] = f + continue fieldLoop + } + } + if s := f.Tag.Get("protobuf_oneof"); len(s) > 0 { + si.oneofsByName[protoreflect.Name(s)] = f + continue fieldLoop + } + } + } + + // Derive a mapping of oneof wrappers to fields. + oneofWrappers := mi.OneofWrappers + for _, method := range []string{"XXX_OneofFuncs", "XXX_OneofWrappers"} { + if fn, ok := reflect.PtrTo(t).MethodByName(method); ok { + for _, v := range fn.Func.Call([]reflect.Value{reflect.Zero(fn.Type.In(0))}) { + if vs, ok := v.Interface().([]interface{}); ok { + oneofWrappers = vs + } + } + } + } + for _, v := range oneofWrappers { + tf := reflect.TypeOf(v).Elem() + f := tf.Field(0) + for _, s := range strings.Split(f.Tag.Get("protobuf"), ",") { + if len(s) > 0 && strings.Trim(s, "0123456789") == "" { + n, _ := strconv.ParseUint(s, 10, 64) + si.oneofWrappersByType[tf] = protoreflect.FieldNumber(n) + si.oneofWrappersByNumber[protoreflect.FieldNumber(n)] = tf + break + } + } + } + + return si +} + +func (mi *MessageInfo) New() protoreflect.Message { + m := reflect.New(mi.GoReflectType.Elem()).Interface() + if r, ok := m.(protoreflect.ProtoMessage); ok { + return r.ProtoReflect() + } + return mi.MessageOf(m) +} +func (mi *MessageInfo) Zero() protoreflect.Message { + return mi.MessageOf(reflect.Zero(mi.GoReflectType).Interface()) +} +func (mi *MessageInfo) Descriptor() protoreflect.MessageDescriptor { + return mi.Desc +} +func (mi *MessageInfo) Enum(i int) protoreflect.EnumType { + mi.init() + fd := mi.Desc.Fields().Get(i) + return Export{}.EnumTypeOf(mi.fieldTypes[fd.Number()]) +} +func (mi *MessageInfo) Message(i int) protoreflect.MessageType { + mi.init() + fd := mi.Desc.Fields().Get(i) + switch { + case fd.IsWeak(): + mt, _ := protoregistry.GlobalTypes.FindMessageByName(fd.Message().FullName()) + return mt + case fd.IsMap(): + return mapEntryType{fd.Message(), mi.fieldTypes[fd.Number()]} + default: + return Export{}.MessageTypeOf(mi.fieldTypes[fd.Number()]) + } +} + +type mapEntryType struct { + desc protoreflect.MessageDescriptor + valType interface{} // zero value of enum or message type +} + +func (mt mapEntryType) New() protoreflect.Message { + return nil +} +func (mt mapEntryType) Zero() protoreflect.Message { + return nil +} +func (mt mapEntryType) Descriptor() protoreflect.MessageDescriptor { + return mt.desc +} +func (mt mapEntryType) Enum(i int) protoreflect.EnumType { + fd := mt.desc.Fields().Get(i) + if fd.Enum() == nil { + return nil + } + return Export{}.EnumTypeOf(mt.valType) +} +func (mt mapEntryType) Message(i int) protoreflect.MessageType { + fd := mt.desc.Fields().Get(i) + if fd.Message() == nil { + return nil + } + return Export{}.MessageTypeOf(mt.valType) +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go b/server/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go new file mode 100755 index 0000000..d9ea010 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go @@ -0,0 +1,463 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "reflect" + + "google.golang.org/protobuf/internal/detrand" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/reflect/protoreflect" +) + +type reflectMessageInfo struct { + fields map[protoreflect.FieldNumber]*fieldInfo + oneofs map[protoreflect.Name]*oneofInfo + + // fieldTypes contains the zero value of an enum or message field. + // For lists, it contains the element type. + // For maps, it contains the entry value type. + fieldTypes map[protoreflect.FieldNumber]interface{} + + // denseFields is a subset of fields where: + // 0 < fieldDesc.Number() < len(denseFields) + // It provides faster access to the fieldInfo, but may be incomplete. + denseFields []*fieldInfo + + // rangeInfos is a list of all fields (not belonging to a oneof) and oneofs. + rangeInfos []interface{} // either *fieldInfo or *oneofInfo + + getUnknown func(pointer) protoreflect.RawFields + setUnknown func(pointer, protoreflect.RawFields) + extensionMap func(pointer) *extensionMap + + nilMessage atomicNilMessage +} + +// makeReflectFuncs generates the set of functions to support reflection. +func (mi *MessageInfo) makeReflectFuncs(t reflect.Type, si structInfo) { + mi.makeKnownFieldsFunc(si) + mi.makeUnknownFieldsFunc(t, si) + mi.makeExtensionFieldsFunc(t, si) + mi.makeFieldTypes(si) +} + +// makeKnownFieldsFunc generates functions for operations that can be performed +// on each protobuf message field. It takes in a reflect.Type representing the +// Go struct and matches message fields with struct fields. +// +// This code assumes that the struct is well-formed and panics if there are +// any discrepancies. +func (mi *MessageInfo) makeKnownFieldsFunc(si structInfo) { + mi.fields = map[protoreflect.FieldNumber]*fieldInfo{} + md := mi.Desc + fds := md.Fields() + for i := 0; i < fds.Len(); i++ { + fd := fds.Get(i) + fs := si.fieldsByNumber[fd.Number()] + isOneof := fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic() + if isOneof { + fs = si.oneofsByName[fd.ContainingOneof().Name()] + } + var fi fieldInfo + switch { + case fs.Type == nil: + fi = fieldInfoForMissing(fd) // never occurs for officially generated message types + case isOneof: + fi = fieldInfoForOneof(fd, fs, mi.Exporter, si.oneofWrappersByNumber[fd.Number()]) + case fd.IsMap(): + fi = fieldInfoForMap(fd, fs, mi.Exporter) + case fd.IsList(): + fi = fieldInfoForList(fd, fs, mi.Exporter) + case fd.IsWeak(): + fi = fieldInfoForWeakMessage(fd, si.weakOffset) + case fd.Message() != nil: + fi = fieldInfoForMessage(fd, fs, mi.Exporter) + default: + fi = fieldInfoForScalar(fd, fs, mi.Exporter) + } + mi.fields[fd.Number()] = &fi + } + + mi.oneofs = map[protoreflect.Name]*oneofInfo{} + for i := 0; i < md.Oneofs().Len(); i++ { + od := md.Oneofs().Get(i) + mi.oneofs[od.Name()] = makeOneofInfo(od, si, mi.Exporter) + } + + mi.denseFields = make([]*fieldInfo, fds.Len()*2) + for i := 0; i < fds.Len(); i++ { + if fd := fds.Get(i); int(fd.Number()) < len(mi.denseFields) { + mi.denseFields[fd.Number()] = mi.fields[fd.Number()] + } + } + + for i := 0; i < fds.Len(); { + fd := fds.Get(i) + if od := fd.ContainingOneof(); od != nil && !od.IsSynthetic() { + mi.rangeInfos = append(mi.rangeInfos, mi.oneofs[od.Name()]) + i += od.Fields().Len() + } else { + mi.rangeInfos = append(mi.rangeInfos, mi.fields[fd.Number()]) + i++ + } + } + + // Introduce instability to iteration order, but keep it deterministic. + if len(mi.rangeInfos) > 1 && detrand.Bool() { + i := detrand.Intn(len(mi.rangeInfos) - 1) + mi.rangeInfos[i], mi.rangeInfos[i+1] = mi.rangeInfos[i+1], mi.rangeInfos[i] + } +} + +func (mi *MessageInfo) makeUnknownFieldsFunc(t reflect.Type, si structInfo) { + switch { + case si.unknownOffset.IsValid() && si.unknownType == unknownFieldsAType: + // Handle as []byte. + mi.getUnknown = func(p pointer) protoreflect.RawFields { + if p.IsNil() { + return nil + } + return *p.Apply(mi.unknownOffset).Bytes() + } + mi.setUnknown = func(p pointer, b protoreflect.RawFields) { + if p.IsNil() { + panic("invalid SetUnknown on nil Message") + } + *p.Apply(mi.unknownOffset).Bytes() = b + } + case si.unknownOffset.IsValid() && si.unknownType == unknownFieldsBType: + // Handle as *[]byte. + mi.getUnknown = func(p pointer) protoreflect.RawFields { + if p.IsNil() { + return nil + } + bp := p.Apply(mi.unknownOffset).BytesPtr() + if *bp == nil { + return nil + } + return **bp + } + mi.setUnknown = func(p pointer, b protoreflect.RawFields) { + if p.IsNil() { + panic("invalid SetUnknown on nil Message") + } + bp := p.Apply(mi.unknownOffset).BytesPtr() + if *bp == nil { + *bp = new([]byte) + } + **bp = b + } + default: + mi.getUnknown = func(pointer) protoreflect.RawFields { + return nil + } + mi.setUnknown = func(p pointer, _ protoreflect.RawFields) { + if p.IsNil() { + panic("invalid SetUnknown on nil Message") + } + } + } +} + +func (mi *MessageInfo) makeExtensionFieldsFunc(t reflect.Type, si structInfo) { + if si.extensionOffset.IsValid() { + mi.extensionMap = func(p pointer) *extensionMap { + if p.IsNil() { + return (*extensionMap)(nil) + } + v := p.Apply(si.extensionOffset).AsValueOf(extensionFieldsType) + return (*extensionMap)(v.Interface().(*map[int32]ExtensionField)) + } + } else { + mi.extensionMap = func(pointer) *extensionMap { + return (*extensionMap)(nil) + } + } +} +func (mi *MessageInfo) makeFieldTypes(si structInfo) { + md := mi.Desc + fds := md.Fields() + for i := 0; i < fds.Len(); i++ { + var ft reflect.Type + fd := fds.Get(i) + fs := si.fieldsByNumber[fd.Number()] + isOneof := fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic() + if isOneof { + fs = si.oneofsByName[fd.ContainingOneof().Name()] + } + var isMessage bool + switch { + case fs.Type == nil: + continue // never occurs for officially generated message types + case isOneof: + if fd.Enum() != nil || fd.Message() != nil { + ft = si.oneofWrappersByNumber[fd.Number()].Field(0).Type + } + case fd.IsMap(): + if fd.MapValue().Enum() != nil || fd.MapValue().Message() != nil { + ft = fs.Type.Elem() + } + isMessage = fd.MapValue().Message() != nil + case fd.IsList(): + if fd.Enum() != nil || fd.Message() != nil { + ft = fs.Type.Elem() + } + isMessage = fd.Message() != nil + case fd.Enum() != nil: + ft = fs.Type + if fd.HasPresence() && ft.Kind() == reflect.Ptr { + ft = ft.Elem() + } + case fd.Message() != nil: + ft = fs.Type + if fd.IsWeak() { + ft = nil + } + isMessage = true + } + if isMessage && ft != nil && ft.Kind() != reflect.Ptr { + ft = reflect.PtrTo(ft) // never occurs for officially generated message types + } + if ft != nil { + if mi.fieldTypes == nil { + mi.fieldTypes = make(map[protoreflect.FieldNumber]interface{}) + } + mi.fieldTypes[fd.Number()] = reflect.Zero(ft).Interface() + } + } +} + +type extensionMap map[int32]ExtensionField + +func (m *extensionMap) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if m != nil { + for _, x := range *m { + xd := x.Type().TypeDescriptor() + v := x.Value() + if xd.IsList() && v.List().Len() == 0 { + continue + } + if !f(xd, v) { + return + } + } + } +} +func (m *extensionMap) Has(xt protoreflect.ExtensionType) (ok bool) { + if m == nil { + return false + } + xd := xt.TypeDescriptor() + x, ok := (*m)[int32(xd.Number())] + if !ok { + return false + } + switch { + case xd.IsList(): + return x.Value().List().Len() > 0 + case xd.IsMap(): + return x.Value().Map().Len() > 0 + case xd.Message() != nil: + return x.Value().Message().IsValid() + } + return true +} +func (m *extensionMap) Clear(xt protoreflect.ExtensionType) { + delete(*m, int32(xt.TypeDescriptor().Number())) +} +func (m *extensionMap) Get(xt protoreflect.ExtensionType) protoreflect.Value { + xd := xt.TypeDescriptor() + if m != nil { + if x, ok := (*m)[int32(xd.Number())]; ok { + return x.Value() + } + } + return xt.Zero() +} +func (m *extensionMap) Set(xt protoreflect.ExtensionType, v protoreflect.Value) { + xd := xt.TypeDescriptor() + isValid := true + switch { + case !xt.IsValidValue(v): + isValid = false + case xd.IsList(): + isValid = v.List().IsValid() + case xd.IsMap(): + isValid = v.Map().IsValid() + case xd.Message() != nil: + isValid = v.Message().IsValid() + } + if !isValid { + panic(fmt.Sprintf("%v: assigning invalid value", xt.TypeDescriptor().FullName())) + } + + if *m == nil { + *m = make(map[int32]ExtensionField) + } + var x ExtensionField + x.Set(xt, v) + (*m)[int32(xd.Number())] = x +} +func (m *extensionMap) Mutable(xt protoreflect.ExtensionType) protoreflect.Value { + xd := xt.TypeDescriptor() + if xd.Kind() != protoreflect.MessageKind && xd.Kind() != protoreflect.GroupKind && !xd.IsList() && !xd.IsMap() { + panic("invalid Mutable on field with non-composite type") + } + if x, ok := (*m)[int32(xd.Number())]; ok { + return x.Value() + } + v := xt.New() + m.Set(xt, v) + return v +} + +// MessageState is a data structure that is nested as the first field in a +// concrete message. It provides a way to implement the ProtoReflect method +// in an allocation-free way without needing to have a shadow Go type generated +// for every message type. This technique only works using unsafe. +// +// Example generated code: +// +// type M struct { +// state protoimpl.MessageState +// +// Field1 int32 +// Field2 string +// Field3 *BarMessage +// ... +// } +// +// func (m *M) ProtoReflect() protoreflect.Message { +// mi := &file_fizz_buzz_proto_msgInfos[5] +// if protoimpl.UnsafeEnabled && m != nil { +// ms := protoimpl.X.MessageStateOf(Pointer(m)) +// if ms.LoadMessageInfo() == nil { +// ms.StoreMessageInfo(mi) +// } +// return ms +// } +// return mi.MessageOf(m) +// } +// +// The MessageState type holds a *MessageInfo, which must be atomically set to +// the message info associated with a given message instance. +// By unsafely converting a *M into a *MessageState, the MessageState object +// has access to all the information needed to implement protobuf reflection. +// It has access to the message info as its first field, and a pointer to the +// MessageState is identical to a pointer to the concrete message value. +// +// Requirements: +// - The type M must implement protoreflect.ProtoMessage. +// - The address of m must not be nil. +// - The address of m and the address of m.state must be equal, +// even though they are different Go types. +type MessageState struct { + pragma.NoUnkeyedLiterals + pragma.DoNotCompare + pragma.DoNotCopy + + atomicMessageInfo *MessageInfo +} + +type messageState MessageState + +var ( + _ protoreflect.Message = (*messageState)(nil) + _ unwrapper = (*messageState)(nil) +) + +// messageDataType is a tuple of a pointer to the message data and +// a pointer to the message type. It is a generalized way of providing a +// reflective view over a message instance. The disadvantage of this approach +// is the need to allocate this tuple of 16B. +type messageDataType struct { + p pointer + mi *MessageInfo +} + +type ( + messageReflectWrapper messageDataType + messageIfaceWrapper messageDataType +) + +var ( + _ protoreflect.Message = (*messageReflectWrapper)(nil) + _ unwrapper = (*messageReflectWrapper)(nil) + _ protoreflect.ProtoMessage = (*messageIfaceWrapper)(nil) + _ unwrapper = (*messageIfaceWrapper)(nil) +) + +// MessageOf returns a reflective view over a message. The input must be a +// pointer to a named Go struct. If the provided type has a ProtoReflect method, +// it must be implemented by calling this method. +func (mi *MessageInfo) MessageOf(m interface{}) protoreflect.Message { + if reflect.TypeOf(m) != mi.GoReflectType { + panic(fmt.Sprintf("type mismatch: got %T, want %v", m, mi.GoReflectType)) + } + p := pointerOfIface(m) + if p.IsNil() { + return mi.nilMessage.Init(mi) + } + return &messageReflectWrapper{p, mi} +} + +func (m *messageReflectWrapper) pointer() pointer { return m.p } +func (m *messageReflectWrapper) messageInfo() *MessageInfo { return m.mi } + +// Reset implements the v1 proto.Message.Reset method. +func (m *messageIfaceWrapper) Reset() { + if mr, ok := m.protoUnwrap().(interface{ Reset() }); ok { + mr.Reset() + return + } + rv := reflect.ValueOf(m.protoUnwrap()) + if rv.Kind() == reflect.Ptr && !rv.IsNil() { + rv.Elem().Set(reflect.Zero(rv.Type().Elem())) + } +} +func (m *messageIfaceWrapper) ProtoReflect() protoreflect.Message { + return (*messageReflectWrapper)(m) +} +func (m *messageIfaceWrapper) protoUnwrap() interface{} { + return m.p.AsIfaceOf(m.mi.GoReflectType.Elem()) +} + +// checkField verifies that the provided field descriptor is valid. +// Exactly one of the returned values is populated. +func (mi *MessageInfo) checkField(fd protoreflect.FieldDescriptor) (*fieldInfo, protoreflect.ExtensionType) { + var fi *fieldInfo + if n := fd.Number(); 0 < n && int(n) < len(mi.denseFields) { + fi = mi.denseFields[n] + } else { + fi = mi.fields[n] + } + if fi != nil { + if fi.fieldDesc != fd { + if got, want := fd.FullName(), fi.fieldDesc.FullName(); got != want { + panic(fmt.Sprintf("mismatching field: got %v, want %v", got, want)) + } + panic(fmt.Sprintf("mismatching field: %v", fd.FullName())) + } + return fi, nil + } + + if fd.IsExtension() { + if got, want := fd.ContainingMessage().FullName(), mi.Desc.FullName(); got != want { + // TODO: Should this be exact containing message descriptor match? + panic(fmt.Sprintf("extension %v has mismatching containing message: got %v, want %v", fd.FullName(), got, want)) + } + if !mi.Desc.ExtensionRanges().Has(fd.Number()) { + panic(fmt.Sprintf("extension %v extends %v outside the extension range", fd.FullName(), mi.Desc.FullName())) + } + xtd, ok := fd.(protoreflect.ExtensionTypeDescriptor) + if !ok { + panic(fmt.Sprintf("extension %v does not implement protoreflect.ExtensionTypeDescriptor", fd.FullName())) + } + return nil, xtd.Type() + } + panic(fmt.Sprintf("field %v is invalid", fd.FullName())) +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go b/server/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go new file mode 100755 index 0000000..5e736c6 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go @@ -0,0 +1,543 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "math" + "reflect" + "sync" + + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +type fieldInfo struct { + fieldDesc protoreflect.FieldDescriptor + + // These fields are used for protobuf reflection support. + has func(pointer) bool + clear func(pointer) + get func(pointer) protoreflect.Value + set func(pointer, protoreflect.Value) + mutable func(pointer) protoreflect.Value + newMessage func() protoreflect.Message + newField func() protoreflect.Value +} + +func fieldInfoForMissing(fd protoreflect.FieldDescriptor) fieldInfo { + // This never occurs for generated message types. + // It implies that a hand-crafted type has missing Go fields + // for specific protobuf message fields. + return fieldInfo{ + fieldDesc: fd, + has: func(p pointer) bool { + return false + }, + clear: func(p pointer) { + panic("missing Go struct field for " + string(fd.FullName())) + }, + get: func(p pointer) protoreflect.Value { + return fd.Default() + }, + set: func(p pointer, v protoreflect.Value) { + panic("missing Go struct field for " + string(fd.FullName())) + }, + mutable: func(p pointer) protoreflect.Value { + panic("missing Go struct field for " + string(fd.FullName())) + }, + newMessage: func() protoreflect.Message { + panic("missing Go struct field for " + string(fd.FullName())) + }, + newField: func() protoreflect.Value { + if v := fd.Default(); v.IsValid() { + return v + } + panic("missing Go struct field for " + string(fd.FullName())) + }, + } +} + +func fieldInfoForOneof(fd protoreflect.FieldDescriptor, fs reflect.StructField, x exporter, ot reflect.Type) fieldInfo { + ft := fs.Type + if ft.Kind() != reflect.Interface { + panic(fmt.Sprintf("field %v has invalid type: got %v, want interface kind", fd.FullName(), ft)) + } + if ot.Kind() != reflect.Struct { + panic(fmt.Sprintf("field %v has invalid type: got %v, want struct kind", fd.FullName(), ot)) + } + if !reflect.PtrTo(ot).Implements(ft) { + panic(fmt.Sprintf("field %v has invalid type: %v does not implement %v", fd.FullName(), ot, ft)) + } + conv := NewConverter(ot.Field(0).Type, fd) + isMessage := fd.Message() != nil + + // TODO: Implement unsafe fast path? + fieldOffset := offsetOf(fs, x) + return fieldInfo{ + // NOTE: The logic below intentionally assumes that oneof fields are + // well-formatted. That is, the oneof interface never contains a + // typed nil pointer to one of the wrapper structs. + + fieldDesc: fd, + has: func(p pointer) bool { + if p.IsNil() { + return false + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.IsNil() || rv.Elem().Type().Elem() != ot || rv.Elem().IsNil() { + return false + } + return true + }, + clear: func(p pointer) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.IsNil() || rv.Elem().Type().Elem() != ot { + // NOTE: We intentionally don't check for rv.Elem().IsNil() + // so that (*OneofWrapperType)(nil) gets cleared to nil. + return + } + rv.Set(reflect.Zero(rv.Type())) + }, + get: func(p pointer) protoreflect.Value { + if p.IsNil() { + return conv.Zero() + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.IsNil() || rv.Elem().Type().Elem() != ot || rv.Elem().IsNil() { + return conv.Zero() + } + rv = rv.Elem().Elem().Field(0) + return conv.PBValueOf(rv) + }, + set: func(p pointer, v protoreflect.Value) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.IsNil() || rv.Elem().Type().Elem() != ot || rv.Elem().IsNil() { + rv.Set(reflect.New(ot)) + } + rv = rv.Elem().Elem().Field(0) + rv.Set(conv.GoValueOf(v)) + }, + mutable: func(p pointer) protoreflect.Value { + if !isMessage { + panic(fmt.Sprintf("field %v with invalid Mutable call on field with non-composite type", fd.FullName())) + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.IsNil() || rv.Elem().Type().Elem() != ot || rv.Elem().IsNil() { + rv.Set(reflect.New(ot)) + } + rv = rv.Elem().Elem().Field(0) + if rv.Kind() == reflect.Ptr && rv.IsNil() { + rv.Set(conv.GoValueOf(protoreflect.ValueOfMessage(conv.New().Message()))) + } + return conv.PBValueOf(rv) + }, + newMessage: func() protoreflect.Message { + return conv.New().Message() + }, + newField: func() protoreflect.Value { + return conv.New() + }, + } +} + +func fieldInfoForMap(fd protoreflect.FieldDescriptor, fs reflect.StructField, x exporter) fieldInfo { + ft := fs.Type + if ft.Kind() != reflect.Map { + panic(fmt.Sprintf("field %v has invalid type: got %v, want map kind", fd.FullName(), ft)) + } + conv := NewConverter(ft, fd) + + // TODO: Implement unsafe fast path? + fieldOffset := offsetOf(fs, x) + return fieldInfo{ + fieldDesc: fd, + has: func(p pointer) bool { + if p.IsNil() { + return false + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + return rv.Len() > 0 + }, + clear: func(p pointer) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + rv.Set(reflect.Zero(rv.Type())) + }, + get: func(p pointer) protoreflect.Value { + if p.IsNil() { + return conv.Zero() + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.Len() == 0 { + return conv.Zero() + } + return conv.PBValueOf(rv) + }, + set: func(p pointer, v protoreflect.Value) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + pv := conv.GoValueOf(v) + if pv.IsNil() { + panic(fmt.Sprintf("map field %v cannot be set with read-only value", fd.FullName())) + } + rv.Set(pv) + }, + mutable: func(p pointer) protoreflect.Value { + v := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if v.IsNil() { + v.Set(reflect.MakeMap(fs.Type)) + } + return conv.PBValueOf(v) + }, + newField: func() protoreflect.Value { + return conv.New() + }, + } +} + +func fieldInfoForList(fd protoreflect.FieldDescriptor, fs reflect.StructField, x exporter) fieldInfo { + ft := fs.Type + if ft.Kind() != reflect.Slice { + panic(fmt.Sprintf("field %v has invalid type: got %v, want slice kind", fd.FullName(), ft)) + } + conv := NewConverter(reflect.PtrTo(ft), fd) + + // TODO: Implement unsafe fast path? + fieldOffset := offsetOf(fs, x) + return fieldInfo{ + fieldDesc: fd, + has: func(p pointer) bool { + if p.IsNil() { + return false + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + return rv.Len() > 0 + }, + clear: func(p pointer) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + rv.Set(reflect.Zero(rv.Type())) + }, + get: func(p pointer) protoreflect.Value { + if p.IsNil() { + return conv.Zero() + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type) + if rv.Elem().Len() == 0 { + return conv.Zero() + } + return conv.PBValueOf(rv) + }, + set: func(p pointer, v protoreflect.Value) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + pv := conv.GoValueOf(v) + if pv.IsNil() { + panic(fmt.Sprintf("list field %v cannot be set with read-only value", fd.FullName())) + } + rv.Set(pv.Elem()) + }, + mutable: func(p pointer) protoreflect.Value { + v := p.Apply(fieldOffset).AsValueOf(fs.Type) + return conv.PBValueOf(v) + }, + newField: func() protoreflect.Value { + return conv.New() + }, + } +} + +var ( + nilBytes = reflect.ValueOf([]byte(nil)) + emptyBytes = reflect.ValueOf([]byte{}) +) + +func fieldInfoForScalar(fd protoreflect.FieldDescriptor, fs reflect.StructField, x exporter) fieldInfo { + ft := fs.Type + nullable := fd.HasPresence() + isBytes := ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 + if nullable { + if ft.Kind() != reflect.Ptr && ft.Kind() != reflect.Slice { + // This never occurs for generated message types. + // Despite the protobuf type system specifying presence, + // the Go field type cannot represent it. + nullable = false + } + if ft.Kind() == reflect.Ptr { + ft = ft.Elem() + } + } + conv := NewConverter(ft, fd) + + // TODO: Implement unsafe fast path? + fieldOffset := offsetOf(fs, x) + return fieldInfo{ + fieldDesc: fd, + has: func(p pointer) bool { + if p.IsNil() { + return false + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if nullable { + return !rv.IsNil() + } + switch rv.Kind() { + case reflect.Bool: + return rv.Bool() + case reflect.Int32, reflect.Int64: + return rv.Int() != 0 + case reflect.Uint32, reflect.Uint64: + return rv.Uint() != 0 + case reflect.Float32, reflect.Float64: + return rv.Float() != 0 || math.Signbit(rv.Float()) + case reflect.String, reflect.Slice: + return rv.Len() > 0 + default: + panic(fmt.Sprintf("field %v has invalid type: %v", fd.FullName(), rv.Type())) // should never happen + } + }, + clear: func(p pointer) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + rv.Set(reflect.Zero(rv.Type())) + }, + get: func(p pointer) protoreflect.Value { + if p.IsNil() { + return conv.Zero() + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if nullable { + if rv.IsNil() { + return conv.Zero() + } + if rv.Kind() == reflect.Ptr { + rv = rv.Elem() + } + } + return conv.PBValueOf(rv) + }, + set: func(p pointer, v protoreflect.Value) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if nullable && rv.Kind() == reflect.Ptr { + if rv.IsNil() { + rv.Set(reflect.New(ft)) + } + rv = rv.Elem() + } + rv.Set(conv.GoValueOf(v)) + if isBytes && rv.Len() == 0 { + if nullable { + rv.Set(emptyBytes) // preserve presence + } else { + rv.Set(nilBytes) // do not preserve presence + } + } + }, + newField: func() protoreflect.Value { + return conv.New() + }, + } +} + +func fieldInfoForWeakMessage(fd protoreflect.FieldDescriptor, weakOffset offset) fieldInfo { + if !flags.ProtoLegacy { + panic("no support for proto1 weak fields") + } + + var once sync.Once + var messageType protoreflect.MessageType + lazyInit := func() { + once.Do(func() { + messageName := fd.Message().FullName() + messageType, _ = protoregistry.GlobalTypes.FindMessageByName(messageName) + if messageType == nil { + panic(fmt.Sprintf("weak message %v for field %v is not linked in", messageName, fd.FullName())) + } + }) + } + + num := fd.Number() + return fieldInfo{ + fieldDesc: fd, + has: func(p pointer) bool { + if p.IsNil() { + return false + } + _, ok := p.Apply(weakOffset).WeakFields().get(num) + return ok + }, + clear: func(p pointer) { + p.Apply(weakOffset).WeakFields().clear(num) + }, + get: func(p pointer) protoreflect.Value { + lazyInit() + if p.IsNil() { + return protoreflect.ValueOfMessage(messageType.Zero()) + } + m, ok := p.Apply(weakOffset).WeakFields().get(num) + if !ok { + return protoreflect.ValueOfMessage(messageType.Zero()) + } + return protoreflect.ValueOfMessage(m.ProtoReflect()) + }, + set: func(p pointer, v protoreflect.Value) { + lazyInit() + m := v.Message() + if m.Descriptor() != messageType.Descriptor() { + if got, want := m.Descriptor().FullName(), messageType.Descriptor().FullName(); got != want { + panic(fmt.Sprintf("field %v has mismatching message descriptor: got %v, want %v", fd.FullName(), got, want)) + } + panic(fmt.Sprintf("field %v has mismatching message descriptor: %v", fd.FullName(), m.Descriptor().FullName())) + } + p.Apply(weakOffset).WeakFields().set(num, m.Interface()) + }, + mutable: func(p pointer) protoreflect.Value { + lazyInit() + fs := p.Apply(weakOffset).WeakFields() + m, ok := fs.get(num) + if !ok { + m = messageType.New().Interface() + fs.set(num, m) + } + return protoreflect.ValueOfMessage(m.ProtoReflect()) + }, + newMessage: func() protoreflect.Message { + lazyInit() + return messageType.New() + }, + newField: func() protoreflect.Value { + lazyInit() + return protoreflect.ValueOfMessage(messageType.New()) + }, + } +} + +func fieldInfoForMessage(fd protoreflect.FieldDescriptor, fs reflect.StructField, x exporter) fieldInfo { + ft := fs.Type + conv := NewConverter(ft, fd) + + // TODO: Implement unsafe fast path? + fieldOffset := offsetOf(fs, x) + return fieldInfo{ + fieldDesc: fd, + has: func(p pointer) bool { + if p.IsNil() { + return false + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if fs.Type.Kind() != reflect.Ptr { + return !isZero(rv) + } + return !rv.IsNil() + }, + clear: func(p pointer) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + rv.Set(reflect.Zero(rv.Type())) + }, + get: func(p pointer) protoreflect.Value { + if p.IsNil() { + return conv.Zero() + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + return conv.PBValueOf(rv) + }, + set: func(p pointer, v protoreflect.Value) { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + rv.Set(conv.GoValueOf(v)) + if fs.Type.Kind() == reflect.Ptr && rv.IsNil() { + panic(fmt.Sprintf("field %v has invalid nil pointer", fd.FullName())) + } + }, + mutable: func(p pointer) protoreflect.Value { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if fs.Type.Kind() == reflect.Ptr && rv.IsNil() { + rv.Set(conv.GoValueOf(conv.New())) + } + return conv.PBValueOf(rv) + }, + newMessage: func() protoreflect.Message { + return conv.New().Message() + }, + newField: func() protoreflect.Value { + return conv.New() + }, + } +} + +type oneofInfo struct { + oneofDesc protoreflect.OneofDescriptor + which func(pointer) protoreflect.FieldNumber +} + +func makeOneofInfo(od protoreflect.OneofDescriptor, si structInfo, x exporter) *oneofInfo { + oi := &oneofInfo{oneofDesc: od} + if od.IsSynthetic() { + fs := si.fieldsByNumber[od.Fields().Get(0).Number()] + fieldOffset := offsetOf(fs, x) + oi.which = func(p pointer) protoreflect.FieldNumber { + if p.IsNil() { + return 0 + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.IsNil() { // valid on either *T or []byte + return 0 + } + return od.Fields().Get(0).Number() + } + } else { + fs := si.oneofsByName[od.Name()] + fieldOffset := offsetOf(fs, x) + oi.which = func(p pointer) protoreflect.FieldNumber { + if p.IsNil() { + return 0 + } + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.IsNil() { + return 0 + } + rv = rv.Elem() + if rv.IsNil() { + return 0 + } + return si.oneofWrappersByType[rv.Type().Elem()] + } + } + return oi +} + +// isZero is identical to reflect.Value.IsZero. +// TODO: Remove this when Go1.13 is the minimally supported Go version. +func isZero(v reflect.Value) bool { + switch v.Kind() { + case reflect.Bool: + return !v.Bool() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v.Uint() == 0 + case reflect.Float32, reflect.Float64: + return math.Float64bits(v.Float()) == 0 + case reflect.Complex64, reflect.Complex128: + c := v.Complex() + return math.Float64bits(real(c)) == 0 && math.Float64bits(imag(c)) == 0 + case reflect.Array: + for i := 0; i < v.Len(); i++ { + if !isZero(v.Index(i)) { + return false + } + } + return true + case reflect.Chan, reflect.Func, reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice, reflect.UnsafePointer: + return v.IsNil() + case reflect.String: + return v.Len() == 0 + case reflect.Struct: + for i := 0; i < v.NumField(); i++ { + if !isZero(v.Field(i)) { + return false + } + } + return true + default: + panic(&reflect.ValueError{"reflect.Value.IsZero", v.Kind()}) + } +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go b/server/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go new file mode 100755 index 0000000..741d6e5 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go @@ -0,0 +1,249 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-types. DO NOT EDIT. + +package impl + +import ( + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +func (m *messageState) Descriptor() protoreflect.MessageDescriptor { + return m.messageInfo().Desc +} +func (m *messageState) Type() protoreflect.MessageType { + return m.messageInfo() +} +func (m *messageState) New() protoreflect.Message { + return m.messageInfo().New() +} +func (m *messageState) Interface() protoreflect.ProtoMessage { + return m.protoUnwrap().(protoreflect.ProtoMessage) +} +func (m *messageState) protoUnwrap() interface{} { + return m.pointer().AsIfaceOf(m.messageInfo().GoReflectType.Elem()) +} +func (m *messageState) ProtoMethods() *protoiface.Methods { + m.messageInfo().init() + return &m.messageInfo().methods +} + +// ProtoMessageInfo is a pseudo-internal API for allowing the v1 code +// to be able to retrieve a v2 MessageInfo struct. +// +// WARNING: This method is exempt from the compatibility promise and +// may be removed in the future without warning. +func (m *messageState) ProtoMessageInfo() *MessageInfo { + return m.messageInfo() +} + +func (m *messageState) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + m.messageInfo().init() + for _, ri := range m.messageInfo().rangeInfos { + switch ri := ri.(type) { + case *fieldInfo: + if ri.has(m.pointer()) { + if !f(ri.fieldDesc, ri.get(m.pointer())) { + return + } + } + case *oneofInfo: + if n := ri.which(m.pointer()); n > 0 { + fi := m.messageInfo().fields[n] + if !f(fi.fieldDesc, fi.get(m.pointer())) { + return + } + } + } + } + m.messageInfo().extensionMap(m.pointer()).Range(f) +} +func (m *messageState) Has(fd protoreflect.FieldDescriptor) bool { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + return fi.has(m.pointer()) + } else { + return m.messageInfo().extensionMap(m.pointer()).Has(xt) + } +} +func (m *messageState) Clear(fd protoreflect.FieldDescriptor) { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + fi.clear(m.pointer()) + } else { + m.messageInfo().extensionMap(m.pointer()).Clear(xt) + } +} +func (m *messageState) Get(fd protoreflect.FieldDescriptor) protoreflect.Value { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + return fi.get(m.pointer()) + } else { + return m.messageInfo().extensionMap(m.pointer()).Get(xt) + } +} +func (m *messageState) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + fi.set(m.pointer(), v) + } else { + m.messageInfo().extensionMap(m.pointer()).Set(xt, v) + } +} +func (m *messageState) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + return fi.mutable(m.pointer()) + } else { + return m.messageInfo().extensionMap(m.pointer()).Mutable(xt) + } +} +func (m *messageState) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + return fi.newField() + } else { + return xt.New() + } +} +func (m *messageState) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + m.messageInfo().init() + if oi := m.messageInfo().oneofs[od.Name()]; oi != nil && oi.oneofDesc == od { + return od.Fields().ByNumber(oi.which(m.pointer())) + } + panic("invalid oneof descriptor " + string(od.FullName()) + " for message " + string(m.Descriptor().FullName())) +} +func (m *messageState) GetUnknown() protoreflect.RawFields { + m.messageInfo().init() + return m.messageInfo().getUnknown(m.pointer()) +} +func (m *messageState) SetUnknown(b protoreflect.RawFields) { + m.messageInfo().init() + m.messageInfo().setUnknown(m.pointer(), b) +} +func (m *messageState) IsValid() bool { + return !m.pointer().IsNil() +} + +func (m *messageReflectWrapper) Descriptor() protoreflect.MessageDescriptor { + return m.messageInfo().Desc +} +func (m *messageReflectWrapper) Type() protoreflect.MessageType { + return m.messageInfo() +} +func (m *messageReflectWrapper) New() protoreflect.Message { + return m.messageInfo().New() +} +func (m *messageReflectWrapper) Interface() protoreflect.ProtoMessage { + if m, ok := m.protoUnwrap().(protoreflect.ProtoMessage); ok { + return m + } + return (*messageIfaceWrapper)(m) +} +func (m *messageReflectWrapper) protoUnwrap() interface{} { + return m.pointer().AsIfaceOf(m.messageInfo().GoReflectType.Elem()) +} +func (m *messageReflectWrapper) ProtoMethods() *protoiface.Methods { + m.messageInfo().init() + return &m.messageInfo().methods +} + +// ProtoMessageInfo is a pseudo-internal API for allowing the v1 code +// to be able to retrieve a v2 MessageInfo struct. +// +// WARNING: This method is exempt from the compatibility promise and +// may be removed in the future without warning. +func (m *messageReflectWrapper) ProtoMessageInfo() *MessageInfo { + return m.messageInfo() +} + +func (m *messageReflectWrapper) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + m.messageInfo().init() + for _, ri := range m.messageInfo().rangeInfos { + switch ri := ri.(type) { + case *fieldInfo: + if ri.has(m.pointer()) { + if !f(ri.fieldDesc, ri.get(m.pointer())) { + return + } + } + case *oneofInfo: + if n := ri.which(m.pointer()); n > 0 { + fi := m.messageInfo().fields[n] + if !f(fi.fieldDesc, fi.get(m.pointer())) { + return + } + } + } + } + m.messageInfo().extensionMap(m.pointer()).Range(f) +} +func (m *messageReflectWrapper) Has(fd protoreflect.FieldDescriptor) bool { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + return fi.has(m.pointer()) + } else { + return m.messageInfo().extensionMap(m.pointer()).Has(xt) + } +} +func (m *messageReflectWrapper) Clear(fd protoreflect.FieldDescriptor) { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + fi.clear(m.pointer()) + } else { + m.messageInfo().extensionMap(m.pointer()).Clear(xt) + } +} +func (m *messageReflectWrapper) Get(fd protoreflect.FieldDescriptor) protoreflect.Value { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + return fi.get(m.pointer()) + } else { + return m.messageInfo().extensionMap(m.pointer()).Get(xt) + } +} +func (m *messageReflectWrapper) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + fi.set(m.pointer(), v) + } else { + m.messageInfo().extensionMap(m.pointer()).Set(xt, v) + } +} +func (m *messageReflectWrapper) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + return fi.mutable(m.pointer()) + } else { + return m.messageInfo().extensionMap(m.pointer()).Mutable(xt) + } +} +func (m *messageReflectWrapper) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + m.messageInfo().init() + if fi, xt := m.messageInfo().checkField(fd); fi != nil { + return fi.newField() + } else { + return xt.New() + } +} +func (m *messageReflectWrapper) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + m.messageInfo().init() + if oi := m.messageInfo().oneofs[od.Name()]; oi != nil && oi.oneofDesc == od { + return od.Fields().ByNumber(oi.which(m.pointer())) + } + panic("invalid oneof descriptor " + string(od.FullName()) + " for message " + string(m.Descriptor().FullName())) +} +func (m *messageReflectWrapper) GetUnknown() protoreflect.RawFields { + m.messageInfo().init() + return m.messageInfo().getUnknown(m.pointer()) +} +func (m *messageReflectWrapper) SetUnknown(b protoreflect.RawFields) { + m.messageInfo().init() + m.messageInfo().setUnknown(m.pointer(), b) +} +func (m *messageReflectWrapper) IsValid() bool { + return !m.pointer().IsNil() +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go b/server/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go new file mode 100755 index 0000000..4c491bd --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go @@ -0,0 +1,179 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build purego || appengine +// +build purego appengine + +package impl + +import ( + "fmt" + "reflect" + "sync" +) + +const UnsafeEnabled = false + +// Pointer is an opaque pointer type. +type Pointer interface{} + +// offset represents the offset to a struct field, accessible from a pointer. +// The offset is the field index into a struct. +type offset struct { + index int + export exporter +} + +// offsetOf returns a field offset for the struct field. +func offsetOf(f reflect.StructField, x exporter) offset { + if len(f.Index) != 1 { + panic("embedded structs are not supported") + } + if f.PkgPath == "" { + return offset{index: f.Index[0]} // field is already exported + } + if x == nil { + panic("exporter must be provided for unexported field") + } + return offset{index: f.Index[0], export: x} +} + +// IsValid reports whether the offset is valid. +func (f offset) IsValid() bool { return f.index >= 0 } + +// invalidOffset is an invalid field offset. +var invalidOffset = offset{index: -1} + +// zeroOffset is a noop when calling pointer.Apply. +var zeroOffset = offset{index: 0} + +// pointer is an abstract representation of a pointer to a struct or field. +type pointer struct{ v reflect.Value } + +// pointerOf returns p as a pointer. +func pointerOf(p Pointer) pointer { + return pointerOfIface(p) +} + +// pointerOfValue returns v as a pointer. +func pointerOfValue(v reflect.Value) pointer { + return pointer{v: v} +} + +// pointerOfIface returns the pointer portion of an interface. +func pointerOfIface(v interface{}) pointer { + return pointer{v: reflect.ValueOf(v)} +} + +// IsNil reports whether the pointer is nil. +func (p pointer) IsNil() bool { + return p.v.IsNil() +} + +// Apply adds an offset to the pointer to derive a new pointer +// to a specified field. The current pointer must be pointing at a struct. +func (p pointer) Apply(f offset) pointer { + if f.export != nil { + if v := reflect.ValueOf(f.export(p.v.Interface(), f.index)); v.IsValid() { + return pointer{v: v} + } + } + return pointer{v: p.v.Elem().Field(f.index).Addr()} +} + +// AsValueOf treats p as a pointer to an object of type t and returns the value. +// It is equivalent to reflect.ValueOf(p.AsIfaceOf(t)) +func (p pointer) AsValueOf(t reflect.Type) reflect.Value { + if got := p.v.Type().Elem(); got != t { + panic(fmt.Sprintf("invalid type: got %v, want %v", got, t)) + } + return p.v +} + +// AsIfaceOf treats p as a pointer to an object of type t and returns the value. +// It is equivalent to p.AsValueOf(t).Interface() +func (p pointer) AsIfaceOf(t reflect.Type) interface{} { + return p.AsValueOf(t).Interface() +} + +func (p pointer) Bool() *bool { return p.v.Interface().(*bool) } +func (p pointer) BoolPtr() **bool { return p.v.Interface().(**bool) } +func (p pointer) BoolSlice() *[]bool { return p.v.Interface().(*[]bool) } +func (p pointer) Int32() *int32 { return p.v.Interface().(*int32) } +func (p pointer) Int32Ptr() **int32 { return p.v.Interface().(**int32) } +func (p pointer) Int32Slice() *[]int32 { return p.v.Interface().(*[]int32) } +func (p pointer) Int64() *int64 { return p.v.Interface().(*int64) } +func (p pointer) Int64Ptr() **int64 { return p.v.Interface().(**int64) } +func (p pointer) Int64Slice() *[]int64 { return p.v.Interface().(*[]int64) } +func (p pointer) Uint32() *uint32 { return p.v.Interface().(*uint32) } +func (p pointer) Uint32Ptr() **uint32 { return p.v.Interface().(**uint32) } +func (p pointer) Uint32Slice() *[]uint32 { return p.v.Interface().(*[]uint32) } +func (p pointer) Uint64() *uint64 { return p.v.Interface().(*uint64) } +func (p pointer) Uint64Ptr() **uint64 { return p.v.Interface().(**uint64) } +func (p pointer) Uint64Slice() *[]uint64 { return p.v.Interface().(*[]uint64) } +func (p pointer) Float32() *float32 { return p.v.Interface().(*float32) } +func (p pointer) Float32Ptr() **float32 { return p.v.Interface().(**float32) } +func (p pointer) Float32Slice() *[]float32 { return p.v.Interface().(*[]float32) } +func (p pointer) Float64() *float64 { return p.v.Interface().(*float64) } +func (p pointer) Float64Ptr() **float64 { return p.v.Interface().(**float64) } +func (p pointer) Float64Slice() *[]float64 { return p.v.Interface().(*[]float64) } +func (p pointer) String() *string { return p.v.Interface().(*string) } +func (p pointer) StringPtr() **string { return p.v.Interface().(**string) } +func (p pointer) StringSlice() *[]string { return p.v.Interface().(*[]string) } +func (p pointer) Bytes() *[]byte { return p.v.Interface().(*[]byte) } +func (p pointer) BytesPtr() **[]byte { return p.v.Interface().(**[]byte) } +func (p pointer) BytesSlice() *[][]byte { return p.v.Interface().(*[][]byte) } +func (p pointer) WeakFields() *weakFields { return (*weakFields)(p.v.Interface().(*WeakFields)) } +func (p pointer) Extensions() *map[int32]ExtensionField { + return p.v.Interface().(*map[int32]ExtensionField) +} + +func (p pointer) Elem() pointer { + return pointer{v: p.v.Elem()} +} + +// PointerSlice copies []*T from p as a new []pointer. +// This behavior differs from the implementation in pointer_unsafe.go. +func (p pointer) PointerSlice() []pointer { + // TODO: reconsider this + if p.v.IsNil() { + return nil + } + n := p.v.Elem().Len() + s := make([]pointer, n) + for i := 0; i < n; i++ { + s[i] = pointer{v: p.v.Elem().Index(i)} + } + return s +} + +// AppendPointerSlice appends v to p, which must be a []*T. +func (p pointer) AppendPointerSlice(v pointer) { + sp := p.v.Elem() + sp.Set(reflect.Append(sp, v.v)) +} + +// SetPointer sets *p to v. +func (p pointer) SetPointer(v pointer) { + p.v.Elem().Set(v.v) +} + +func (Export) MessageStateOf(p Pointer) *messageState { panic("not supported") } +func (ms *messageState) pointer() pointer { panic("not supported") } +func (ms *messageState) messageInfo() *MessageInfo { panic("not supported") } +func (ms *messageState) LoadMessageInfo() *MessageInfo { panic("not supported") } +func (ms *messageState) StoreMessageInfo(mi *MessageInfo) { panic("not supported") } + +type atomicNilMessage struct { + once sync.Once + m messageReflectWrapper +} + +func (m *atomicNilMessage) Init(mi *MessageInfo) *messageReflectWrapper { + m.once.Do(func() { + m.m.p = pointerOfIface(reflect.Zero(mi.GoReflectType).Interface()) + m.m.mi = mi + }) + return &m.m +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go b/server/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go new file mode 100755 index 0000000..ee0e057 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go @@ -0,0 +1,175 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !purego && !appengine +// +build !purego,!appengine + +package impl + +import ( + "reflect" + "sync/atomic" + "unsafe" +) + +const UnsafeEnabled = true + +// Pointer is an opaque pointer type. +type Pointer unsafe.Pointer + +// offset represents the offset to a struct field, accessible from a pointer. +// The offset is the byte offset to the field from the start of the struct. +type offset uintptr + +// offsetOf returns a field offset for the struct field. +func offsetOf(f reflect.StructField, x exporter) offset { + return offset(f.Offset) +} + +// IsValid reports whether the offset is valid. +func (f offset) IsValid() bool { return f != invalidOffset } + +// invalidOffset is an invalid field offset. +var invalidOffset = ^offset(0) + +// zeroOffset is a noop when calling pointer.Apply. +var zeroOffset = offset(0) + +// pointer is a pointer to a message struct or field. +type pointer struct{ p unsafe.Pointer } + +// pointerOf returns p as a pointer. +func pointerOf(p Pointer) pointer { + return pointer{p: unsafe.Pointer(p)} +} + +// pointerOfValue returns v as a pointer. +func pointerOfValue(v reflect.Value) pointer { + return pointer{p: unsafe.Pointer(v.Pointer())} +} + +// pointerOfIface returns the pointer portion of an interface. +func pointerOfIface(v interface{}) pointer { + type ifaceHeader struct { + Type unsafe.Pointer + Data unsafe.Pointer + } + return pointer{p: (*ifaceHeader)(unsafe.Pointer(&v)).Data} +} + +// IsNil reports whether the pointer is nil. +func (p pointer) IsNil() bool { + return p.p == nil +} + +// Apply adds an offset to the pointer to derive a new pointer +// to a specified field. The pointer must be valid and pointing at a struct. +func (p pointer) Apply(f offset) pointer { + if p.IsNil() { + panic("invalid nil pointer") + } + return pointer{p: unsafe.Pointer(uintptr(p.p) + uintptr(f))} +} + +// AsValueOf treats p as a pointer to an object of type t and returns the value. +// It is equivalent to reflect.ValueOf(p.AsIfaceOf(t)) +func (p pointer) AsValueOf(t reflect.Type) reflect.Value { + return reflect.NewAt(t, p.p) +} + +// AsIfaceOf treats p as a pointer to an object of type t and returns the value. +// It is equivalent to p.AsValueOf(t).Interface() +func (p pointer) AsIfaceOf(t reflect.Type) interface{} { + // TODO: Use tricky unsafe magic to directly create ifaceHeader. + return p.AsValueOf(t).Interface() +} + +func (p pointer) Bool() *bool { return (*bool)(p.p) } +func (p pointer) BoolPtr() **bool { return (**bool)(p.p) } +func (p pointer) BoolSlice() *[]bool { return (*[]bool)(p.p) } +func (p pointer) Int32() *int32 { return (*int32)(p.p) } +func (p pointer) Int32Ptr() **int32 { return (**int32)(p.p) } +func (p pointer) Int32Slice() *[]int32 { return (*[]int32)(p.p) } +func (p pointer) Int64() *int64 { return (*int64)(p.p) } +func (p pointer) Int64Ptr() **int64 { return (**int64)(p.p) } +func (p pointer) Int64Slice() *[]int64 { return (*[]int64)(p.p) } +func (p pointer) Uint32() *uint32 { return (*uint32)(p.p) } +func (p pointer) Uint32Ptr() **uint32 { return (**uint32)(p.p) } +func (p pointer) Uint32Slice() *[]uint32 { return (*[]uint32)(p.p) } +func (p pointer) Uint64() *uint64 { return (*uint64)(p.p) } +func (p pointer) Uint64Ptr() **uint64 { return (**uint64)(p.p) } +func (p pointer) Uint64Slice() *[]uint64 { return (*[]uint64)(p.p) } +func (p pointer) Float32() *float32 { return (*float32)(p.p) } +func (p pointer) Float32Ptr() **float32 { return (**float32)(p.p) } +func (p pointer) Float32Slice() *[]float32 { return (*[]float32)(p.p) } +func (p pointer) Float64() *float64 { return (*float64)(p.p) } +func (p pointer) Float64Ptr() **float64 { return (**float64)(p.p) } +func (p pointer) Float64Slice() *[]float64 { return (*[]float64)(p.p) } +func (p pointer) String() *string { return (*string)(p.p) } +func (p pointer) StringPtr() **string { return (**string)(p.p) } +func (p pointer) StringSlice() *[]string { return (*[]string)(p.p) } +func (p pointer) Bytes() *[]byte { return (*[]byte)(p.p) } +func (p pointer) BytesPtr() **[]byte { return (**[]byte)(p.p) } +func (p pointer) BytesSlice() *[][]byte { return (*[][]byte)(p.p) } +func (p pointer) WeakFields() *weakFields { return (*weakFields)(p.p) } +func (p pointer) Extensions() *map[int32]ExtensionField { return (*map[int32]ExtensionField)(p.p) } + +func (p pointer) Elem() pointer { + return pointer{p: *(*unsafe.Pointer)(p.p)} +} + +// PointerSlice loads []*T from p as a []pointer. +// The value returned is aliased with the original slice. +// This behavior differs from the implementation in pointer_reflect.go. +func (p pointer) PointerSlice() []pointer { + // Super-tricky - p should point to a []*T where T is a + // message type. We load it as []pointer. + return *(*[]pointer)(p.p) +} + +// AppendPointerSlice appends v to p, which must be a []*T. +func (p pointer) AppendPointerSlice(v pointer) { + *(*[]pointer)(p.p) = append(*(*[]pointer)(p.p), v) +} + +// SetPointer sets *p to v. +func (p pointer) SetPointer(v pointer) { + *(*unsafe.Pointer)(p.p) = (unsafe.Pointer)(v.p) +} + +// Static check that MessageState does not exceed the size of a pointer. +const _ = uint(unsafe.Sizeof(unsafe.Pointer(nil)) - unsafe.Sizeof(MessageState{})) + +func (Export) MessageStateOf(p Pointer) *messageState { + // Super-tricky - see documentation on MessageState. + return (*messageState)(unsafe.Pointer(p)) +} +func (ms *messageState) pointer() pointer { + // Super-tricky - see documentation on MessageState. + return pointer{p: unsafe.Pointer(ms)} +} +func (ms *messageState) messageInfo() *MessageInfo { + mi := ms.LoadMessageInfo() + if mi == nil { + panic("invalid nil message info; this suggests memory corruption due to a race or shallow copy on the message struct") + } + return mi +} +func (ms *messageState) LoadMessageInfo() *MessageInfo { + return (*MessageInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(&ms.atomicMessageInfo)))) +} +func (ms *messageState) StoreMessageInfo(mi *MessageInfo) { + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(&ms.atomicMessageInfo)), unsafe.Pointer(mi)) +} + +type atomicNilMessage struct{ p unsafe.Pointer } // p is a *messageReflectWrapper + +func (m *atomicNilMessage) Init(mi *MessageInfo) *messageReflectWrapper { + if p := atomic.LoadPointer(&m.p); p != nil { + return (*messageReflectWrapper)(p) + } + w := &messageReflectWrapper{mi: mi} + atomic.CompareAndSwapPointer(&m.p, nil, (unsafe.Pointer)(w)) + return (*messageReflectWrapper)(atomic.LoadPointer(&m.p)) +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/validate.go b/server/vendor/google.golang.org/protobuf/internal/impl/validate.go new file mode 100755 index 0000000..a24e6bb --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/validate.go @@ -0,0 +1,576 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + "math" + "math/bits" + "reflect" + "unicode/utf8" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" + "google.golang.org/protobuf/runtime/protoiface" +) + +// ValidationStatus is the result of validating the wire-format encoding of a message. +type ValidationStatus int + +const ( + // ValidationUnknown indicates that unmarshaling the message might succeed or fail. + // The validator was unable to render a judgement. + // + // The only causes of this status are an aberrant message type appearing somewhere + // in the message or a failure in the extension resolver. + ValidationUnknown ValidationStatus = iota + 1 + + // ValidationInvalid indicates that unmarshaling the message will fail. + ValidationInvalid + + // ValidationValid indicates that unmarshaling the message will succeed. + ValidationValid +) + +func (v ValidationStatus) String() string { + switch v { + case ValidationUnknown: + return "ValidationUnknown" + case ValidationInvalid: + return "ValidationInvalid" + case ValidationValid: + return "ValidationValid" + default: + return fmt.Sprintf("ValidationStatus(%d)", int(v)) + } +} + +// Validate determines whether the contents of the buffer are a valid wire encoding +// of the message type. +// +// This function is exposed for testing. +func Validate(mt protoreflect.MessageType, in protoiface.UnmarshalInput) (out protoiface.UnmarshalOutput, _ ValidationStatus) { + mi, ok := mt.(*MessageInfo) + if !ok { + return out, ValidationUnknown + } + if in.Resolver == nil { + in.Resolver = protoregistry.GlobalTypes + } + o, st := mi.validate(in.Buf, 0, unmarshalOptions{ + flags: in.Flags, + resolver: in.Resolver, + }) + if o.initialized { + out.Flags |= protoiface.UnmarshalInitialized + } + return out, st +} + +type validationInfo struct { + mi *MessageInfo + typ validationType + keyType, valType validationType + + // For non-required fields, requiredBit is 0. + // + // For required fields, requiredBit's nth bit is set, where n is a + // unique index in the range [0, MessageInfo.numRequiredFields). + // + // If there are more than 64 required fields, requiredBit is 0. + requiredBit uint64 +} + +type validationType uint8 + +const ( + validationTypeOther validationType = iota + validationTypeMessage + validationTypeGroup + validationTypeMap + validationTypeRepeatedVarint + validationTypeRepeatedFixed32 + validationTypeRepeatedFixed64 + validationTypeVarint + validationTypeFixed32 + validationTypeFixed64 + validationTypeBytes + validationTypeUTF8String + validationTypeMessageSetItem +) + +func newFieldValidationInfo(mi *MessageInfo, si structInfo, fd protoreflect.FieldDescriptor, ft reflect.Type) validationInfo { + var vi validationInfo + switch { + case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic(): + switch fd.Kind() { + case protoreflect.MessageKind: + vi.typ = validationTypeMessage + if ot, ok := si.oneofWrappersByNumber[fd.Number()]; ok { + vi.mi = getMessageInfo(ot.Field(0).Type) + } + case protoreflect.GroupKind: + vi.typ = validationTypeGroup + if ot, ok := si.oneofWrappersByNumber[fd.Number()]; ok { + vi.mi = getMessageInfo(ot.Field(0).Type) + } + case protoreflect.StringKind: + if strs.EnforceUTF8(fd) { + vi.typ = validationTypeUTF8String + } + } + default: + vi = newValidationInfo(fd, ft) + } + if fd.Cardinality() == protoreflect.Required { + // Avoid overflow. The required field check is done with a 64-bit mask, with + // any message containing more than 64 required fields always reported as + // potentially uninitialized, so it is not important to get a precise count + // of the required fields past 64. + if mi.numRequiredFields < math.MaxUint8 { + mi.numRequiredFields++ + vi.requiredBit = 1 << (mi.numRequiredFields - 1) + } + } + return vi +} + +func newValidationInfo(fd protoreflect.FieldDescriptor, ft reflect.Type) validationInfo { + var vi validationInfo + switch { + case fd.IsList(): + switch fd.Kind() { + case protoreflect.MessageKind: + vi.typ = validationTypeMessage + if ft.Kind() == reflect.Slice { + vi.mi = getMessageInfo(ft.Elem()) + } + case protoreflect.GroupKind: + vi.typ = validationTypeGroup + if ft.Kind() == reflect.Slice { + vi.mi = getMessageInfo(ft.Elem()) + } + case protoreflect.StringKind: + vi.typ = validationTypeBytes + if strs.EnforceUTF8(fd) { + vi.typ = validationTypeUTF8String + } + default: + switch wireTypes[fd.Kind()] { + case protowire.VarintType: + vi.typ = validationTypeRepeatedVarint + case protowire.Fixed32Type: + vi.typ = validationTypeRepeatedFixed32 + case protowire.Fixed64Type: + vi.typ = validationTypeRepeatedFixed64 + } + } + case fd.IsMap(): + vi.typ = validationTypeMap + switch fd.MapKey().Kind() { + case protoreflect.StringKind: + if strs.EnforceUTF8(fd) { + vi.keyType = validationTypeUTF8String + } + } + switch fd.MapValue().Kind() { + case protoreflect.MessageKind: + vi.valType = validationTypeMessage + if ft.Kind() == reflect.Map { + vi.mi = getMessageInfo(ft.Elem()) + } + case protoreflect.StringKind: + if strs.EnforceUTF8(fd) { + vi.valType = validationTypeUTF8String + } + } + default: + switch fd.Kind() { + case protoreflect.MessageKind: + vi.typ = validationTypeMessage + if !fd.IsWeak() { + vi.mi = getMessageInfo(ft) + } + case protoreflect.GroupKind: + vi.typ = validationTypeGroup + vi.mi = getMessageInfo(ft) + case protoreflect.StringKind: + vi.typ = validationTypeBytes + if strs.EnforceUTF8(fd) { + vi.typ = validationTypeUTF8String + } + default: + switch wireTypes[fd.Kind()] { + case protowire.VarintType: + vi.typ = validationTypeVarint + case protowire.Fixed32Type: + vi.typ = validationTypeFixed32 + case protowire.Fixed64Type: + vi.typ = validationTypeFixed64 + case protowire.BytesType: + vi.typ = validationTypeBytes + } + } + } + return vi +} + +func (mi *MessageInfo) validate(b []byte, groupTag protowire.Number, opts unmarshalOptions) (out unmarshalOutput, result ValidationStatus) { + mi.init() + type validationState struct { + typ validationType + keyType, valType validationType + endGroup protowire.Number + mi *MessageInfo + tail []byte + requiredMask uint64 + } + + // Pre-allocate some slots to avoid repeated slice reallocation. + states := make([]validationState, 0, 16) + states = append(states, validationState{ + typ: validationTypeMessage, + mi: mi, + }) + if groupTag > 0 { + states[0].typ = validationTypeGroup + states[0].endGroup = groupTag + } + initialized := true + start := len(b) +State: + for len(states) > 0 { + st := &states[len(states)-1] + for len(b) > 0 { + // Parse the tag (field number and wire type). + var tag uint64 + if b[0] < 0x80 { + tag = uint64(b[0]) + b = b[1:] + } else if len(b) >= 2 && b[1] < 128 { + tag = uint64(b[0]&0x7f) + uint64(b[1])<<7 + b = b[2:] + } else { + var n int + tag, n = protowire.ConsumeVarint(b) + if n < 0 { + return out, ValidationInvalid + } + b = b[n:] + } + var num protowire.Number + if n := tag >> 3; n < uint64(protowire.MinValidNumber) || n > uint64(protowire.MaxValidNumber) { + return out, ValidationInvalid + } else { + num = protowire.Number(n) + } + wtyp := protowire.Type(tag & 7) + + if wtyp == protowire.EndGroupType { + if st.endGroup == num { + goto PopState + } + return out, ValidationInvalid + } + var vi validationInfo + switch { + case st.typ == validationTypeMap: + switch num { + case genid.MapEntry_Key_field_number: + vi.typ = st.keyType + case genid.MapEntry_Value_field_number: + vi.typ = st.valType + vi.mi = st.mi + vi.requiredBit = 1 + } + case flags.ProtoLegacy && st.mi.isMessageSet: + switch num { + case messageset.FieldItem: + vi.typ = validationTypeMessageSetItem + } + default: + var f *coderFieldInfo + if int(num) < len(st.mi.denseCoderFields) { + f = st.mi.denseCoderFields[num] + } else { + f = st.mi.coderFields[num] + } + if f != nil { + vi = f.validation + if vi.typ == validationTypeMessage && vi.mi == nil { + // Probable weak field. + // + // TODO: Consider storing the results of this lookup somewhere + // rather than recomputing it on every validation. + fd := st.mi.Desc.Fields().ByNumber(num) + if fd == nil || !fd.IsWeak() { + break + } + messageName := fd.Message().FullName() + messageType, err := protoregistry.GlobalTypes.FindMessageByName(messageName) + switch err { + case nil: + vi.mi, _ = messageType.(*MessageInfo) + case protoregistry.NotFound: + vi.typ = validationTypeBytes + default: + return out, ValidationUnknown + } + } + break + } + // Possible extension field. + // + // TODO: We should return ValidationUnknown when: + // 1. The resolver is not frozen. (More extensions may be added to it.) + // 2. The resolver returns preg.NotFound. + // In this case, a type added to the resolver in the future could cause + // unmarshaling to begin failing. Supporting this requires some way to + // determine if the resolver is frozen. + xt, err := opts.resolver.FindExtensionByNumber(st.mi.Desc.FullName(), num) + if err != nil && err != protoregistry.NotFound { + return out, ValidationUnknown + } + if err == nil { + vi = getExtensionFieldInfo(xt).validation + } + } + if vi.requiredBit != 0 { + // Check that the field has a compatible wire type. + // We only need to consider non-repeated field types, + // since repeated fields (and maps) can never be required. + ok := false + switch vi.typ { + case validationTypeVarint: + ok = wtyp == protowire.VarintType + case validationTypeFixed32: + ok = wtyp == protowire.Fixed32Type + case validationTypeFixed64: + ok = wtyp == protowire.Fixed64Type + case validationTypeBytes, validationTypeUTF8String, validationTypeMessage: + ok = wtyp == protowire.BytesType + case validationTypeGroup: + ok = wtyp == protowire.StartGroupType + } + if ok { + st.requiredMask |= vi.requiredBit + } + } + + switch wtyp { + case protowire.VarintType: + if len(b) >= 10 { + switch { + case b[0] < 0x80: + b = b[1:] + case b[1] < 0x80: + b = b[2:] + case b[2] < 0x80: + b = b[3:] + case b[3] < 0x80: + b = b[4:] + case b[4] < 0x80: + b = b[5:] + case b[5] < 0x80: + b = b[6:] + case b[6] < 0x80: + b = b[7:] + case b[7] < 0x80: + b = b[8:] + case b[8] < 0x80: + b = b[9:] + case b[9] < 0x80 && b[9] < 2: + b = b[10:] + default: + return out, ValidationInvalid + } + } else { + switch { + case len(b) > 0 && b[0] < 0x80: + b = b[1:] + case len(b) > 1 && b[1] < 0x80: + b = b[2:] + case len(b) > 2 && b[2] < 0x80: + b = b[3:] + case len(b) > 3 && b[3] < 0x80: + b = b[4:] + case len(b) > 4 && b[4] < 0x80: + b = b[5:] + case len(b) > 5 && b[5] < 0x80: + b = b[6:] + case len(b) > 6 && b[6] < 0x80: + b = b[7:] + case len(b) > 7 && b[7] < 0x80: + b = b[8:] + case len(b) > 8 && b[8] < 0x80: + b = b[9:] + case len(b) > 9 && b[9] < 2: + b = b[10:] + default: + return out, ValidationInvalid + } + } + continue State + case protowire.BytesType: + var size uint64 + if len(b) >= 1 && b[0] < 0x80 { + size = uint64(b[0]) + b = b[1:] + } else if len(b) >= 2 && b[1] < 128 { + size = uint64(b[0]&0x7f) + uint64(b[1])<<7 + b = b[2:] + } else { + var n int + size, n = protowire.ConsumeVarint(b) + if n < 0 { + return out, ValidationInvalid + } + b = b[n:] + } + if size > uint64(len(b)) { + return out, ValidationInvalid + } + v := b[:size] + b = b[size:] + switch vi.typ { + case validationTypeMessage: + if vi.mi == nil { + return out, ValidationUnknown + } + vi.mi.init() + fallthrough + case validationTypeMap: + if vi.mi != nil { + vi.mi.init() + } + states = append(states, validationState{ + typ: vi.typ, + keyType: vi.keyType, + valType: vi.valType, + mi: vi.mi, + tail: b, + }) + b = v + continue State + case validationTypeRepeatedVarint: + // Packed field. + for len(v) > 0 { + _, n := protowire.ConsumeVarint(v) + if n < 0 { + return out, ValidationInvalid + } + v = v[n:] + } + case validationTypeRepeatedFixed32: + // Packed field. + if len(v)%4 != 0 { + return out, ValidationInvalid + } + case validationTypeRepeatedFixed64: + // Packed field. + if len(v)%8 != 0 { + return out, ValidationInvalid + } + case validationTypeUTF8String: + if !utf8.Valid(v) { + return out, ValidationInvalid + } + } + case protowire.Fixed32Type: + if len(b) < 4 { + return out, ValidationInvalid + } + b = b[4:] + case protowire.Fixed64Type: + if len(b) < 8 { + return out, ValidationInvalid + } + b = b[8:] + case protowire.StartGroupType: + switch { + case vi.typ == validationTypeGroup: + if vi.mi == nil { + return out, ValidationUnknown + } + vi.mi.init() + states = append(states, validationState{ + typ: validationTypeGroup, + mi: vi.mi, + endGroup: num, + }) + continue State + case flags.ProtoLegacy && vi.typ == validationTypeMessageSetItem: + typeid, v, n, err := messageset.ConsumeFieldValue(b, false) + if err != nil { + return out, ValidationInvalid + } + xt, err := opts.resolver.FindExtensionByNumber(st.mi.Desc.FullName(), typeid) + switch { + case err == protoregistry.NotFound: + b = b[n:] + case err != nil: + return out, ValidationUnknown + default: + xvi := getExtensionFieldInfo(xt).validation + if xvi.mi != nil { + xvi.mi.init() + } + states = append(states, validationState{ + typ: xvi.typ, + mi: xvi.mi, + tail: b[n:], + }) + b = v + continue State + } + default: + n := protowire.ConsumeFieldValue(num, wtyp, b) + if n < 0 { + return out, ValidationInvalid + } + b = b[n:] + } + default: + return out, ValidationInvalid + } + } + if st.endGroup != 0 { + return out, ValidationInvalid + } + if len(b) != 0 { + return out, ValidationInvalid + } + b = st.tail + PopState: + numRequiredFields := 0 + switch st.typ { + case validationTypeMessage, validationTypeGroup: + numRequiredFields = int(st.mi.numRequiredFields) + case validationTypeMap: + // If this is a map field with a message value that contains + // required fields, require that the value be present. + if st.mi != nil && st.mi.numRequiredFields > 0 { + numRequiredFields = 1 + } + } + // If there are more than 64 required fields, this check will + // always fail and we will report that the message is potentially + // uninitialized. + if numRequiredFields > 0 && bits.OnesCount64(st.requiredMask) != numRequiredFields { + initialized = false + } + states = states[:len(states)-1] + } + out.n = start - len(b) + if initialized { + out.initialized = true + } + return out, ValidationValid +} diff --git a/server/vendor/google.golang.org/protobuf/internal/impl/weak.go b/server/vendor/google.golang.org/protobuf/internal/impl/weak.go new file mode 100755 index 0000000..eb79a7b --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/impl/weak.go @@ -0,0 +1,74 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package impl + +import ( + "fmt" + + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +// weakFields adds methods to the exported WeakFields type for internal use. +// +// The exported type is an alias to an unnamed type, so methods can't be +// defined directly on it. +type weakFields WeakFields + +func (w weakFields) get(num protoreflect.FieldNumber) (protoreflect.ProtoMessage, bool) { + m, ok := w[int32(num)] + return m, ok +} + +func (w *weakFields) set(num protoreflect.FieldNumber, m protoreflect.ProtoMessage) { + if *w == nil { + *w = make(weakFields) + } + (*w)[int32(num)] = m +} + +func (w *weakFields) clear(num protoreflect.FieldNumber) { + delete(*w, int32(num)) +} + +func (Export) HasWeak(w WeakFields, num protoreflect.FieldNumber) bool { + _, ok := w[int32(num)] + return ok +} + +func (Export) ClearWeak(w *WeakFields, num protoreflect.FieldNumber) { + delete(*w, int32(num)) +} + +func (Export) GetWeak(w WeakFields, num protoreflect.FieldNumber, name protoreflect.FullName) protoreflect.ProtoMessage { + if m, ok := w[int32(num)]; ok { + return m + } + mt, _ := protoregistry.GlobalTypes.FindMessageByName(name) + if mt == nil { + panic(fmt.Sprintf("message %v for weak field is not linked in", name)) + } + return mt.Zero().Interface() +} + +func (Export) SetWeak(w *WeakFields, num protoreflect.FieldNumber, name protoreflect.FullName, m protoreflect.ProtoMessage) { + if m != nil { + mt, _ := protoregistry.GlobalTypes.FindMessageByName(name) + if mt == nil { + panic(fmt.Sprintf("message %v for weak field is not linked in", name)) + } + if mt != m.ProtoReflect().Type() { + panic(fmt.Sprintf("invalid message type for weak field: got %T, want %T", m, mt.Zero().Interface())) + } + } + if m == nil || !m.ProtoReflect().IsValid() { + delete(*w, int32(num)) + return + } + if *w == nil { + *w = make(weakFields) + } + (*w)[int32(num)] = m +} diff --git a/server/vendor/google.golang.org/protobuf/internal/order/order.go b/server/vendor/google.golang.org/protobuf/internal/order/order.go new file mode 100755 index 0000000..dea522e --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/order/order.go @@ -0,0 +1,89 @@ +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package order + +import ( + "google.golang.org/protobuf/reflect/protoreflect" +) + +// FieldOrder specifies the ordering to visit message fields. +// It is a function that reports whether x is ordered before y. +type FieldOrder func(x, y protoreflect.FieldDescriptor) bool + +var ( + // AnyFieldOrder specifies no specific field ordering. + AnyFieldOrder FieldOrder = nil + + // LegacyFieldOrder sorts fields in the same ordering as emitted by + // wire serialization in the github.com/golang/protobuf implementation. + LegacyFieldOrder FieldOrder = func(x, y protoreflect.FieldDescriptor) bool { + ox, oy := x.ContainingOneof(), y.ContainingOneof() + inOneof := func(od protoreflect.OneofDescriptor) bool { + return od != nil && !od.IsSynthetic() + } + + // Extension fields sort before non-extension fields. + if x.IsExtension() != y.IsExtension() { + return x.IsExtension() && !y.IsExtension() + } + // Fields not within a oneof sort before those within a oneof. + if inOneof(ox) != inOneof(oy) { + return !inOneof(ox) && inOneof(oy) + } + // Fields in disjoint oneof sets are sorted by declaration index. + if inOneof(ox) && inOneof(oy) && ox != oy { + return ox.Index() < oy.Index() + } + // Fields sorted by field number. + return x.Number() < y.Number() + } + + // NumberFieldOrder sorts fields by their field number. + NumberFieldOrder FieldOrder = func(x, y protoreflect.FieldDescriptor) bool { + return x.Number() < y.Number() + } + + // IndexNameFieldOrder sorts non-extension fields before extension fields. + // Non-extensions are sorted according to their declaration index. + // Extensions are sorted according to their full name. + IndexNameFieldOrder FieldOrder = func(x, y protoreflect.FieldDescriptor) bool { + // Non-extension fields sort before extension fields. + if x.IsExtension() != y.IsExtension() { + return !x.IsExtension() && y.IsExtension() + } + // Extensions sorted by fullname. + if x.IsExtension() && y.IsExtension() { + return x.FullName() < y.FullName() + } + // Non-extensions sorted by declaration index. + return x.Index() < y.Index() + } +) + +// KeyOrder specifies the ordering to visit map entries. +// It is a function that reports whether x is ordered before y. +type KeyOrder func(x, y protoreflect.MapKey) bool + +var ( + // AnyKeyOrder specifies no specific key ordering. + AnyKeyOrder KeyOrder = nil + + // GenericKeyOrder sorts false before true, numeric keys in ascending order, + // and strings in lexicographical ordering according to UTF-8 codepoints. + GenericKeyOrder KeyOrder = func(x, y protoreflect.MapKey) bool { + switch x.Interface().(type) { + case bool: + return !x.Bool() && y.Bool() + case int32, int64: + return x.Int() < y.Int() + case uint32, uint64: + return x.Uint() < y.Uint() + case string: + return x.String() < y.String() + default: + panic("invalid map key type") + } + } +) diff --git a/server/vendor/google.golang.org/protobuf/internal/order/range.go b/server/vendor/google.golang.org/protobuf/internal/order/range.go new file mode 100755 index 0000000..1665a68 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/order/range.go @@ -0,0 +1,115 @@ +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package order provides ordered access to messages and maps. +package order + +import ( + "sort" + "sync" + + "google.golang.org/protobuf/reflect/protoreflect" +) + +type messageField struct { + fd protoreflect.FieldDescriptor + v protoreflect.Value +} + +var messageFieldPool = sync.Pool{ + New: func() interface{} { return new([]messageField) }, +} + +type ( + // FieldRnger is an interface for visiting all fields in a message. + // The protoreflect.Message type implements this interface. + FieldRanger interface{ Range(VisitField) } + // VisitField is called every time a message field is visited. + VisitField = func(protoreflect.FieldDescriptor, protoreflect.Value) bool +) + +// RangeFields iterates over the fields of fs according to the specified order. +func RangeFields(fs FieldRanger, less FieldOrder, fn VisitField) { + if less == nil { + fs.Range(fn) + return + } + + // Obtain a pre-allocated scratch buffer. + p := messageFieldPool.Get().(*[]messageField) + fields := (*p)[:0] + defer func() { + if cap(fields) < 1024 { + *p = fields + messageFieldPool.Put(p) + } + }() + + // Collect all fields in the message and sort them. + fs.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + fields = append(fields, messageField{fd, v}) + return true + }) + sort.Slice(fields, func(i, j int) bool { + return less(fields[i].fd, fields[j].fd) + }) + + // Visit the fields in the specified ordering. + for _, f := range fields { + if !fn(f.fd, f.v) { + return + } + } +} + +type mapEntry struct { + k protoreflect.MapKey + v protoreflect.Value +} + +var mapEntryPool = sync.Pool{ + New: func() interface{} { return new([]mapEntry) }, +} + +type ( + // EntryRanger is an interface for visiting all fields in a message. + // The protoreflect.Map type implements this interface. + EntryRanger interface{ Range(VisitEntry) } + // VisitEntry is called every time a map entry is visited. + VisitEntry = func(protoreflect.MapKey, protoreflect.Value) bool +) + +// RangeEntries iterates over the entries of es according to the specified order. +func RangeEntries(es EntryRanger, less KeyOrder, fn VisitEntry) { + if less == nil { + es.Range(fn) + return + } + + // Obtain a pre-allocated scratch buffer. + p := mapEntryPool.Get().(*[]mapEntry) + entries := (*p)[:0] + defer func() { + if cap(entries) < 1024 { + *p = entries + mapEntryPool.Put(p) + } + }() + + // Collect all entries in the map and sort them. + es.Range(func(k protoreflect.MapKey, v protoreflect.Value) bool { + entries = append(entries, mapEntry{k, v}) + return true + }) + sort.Slice(entries, func(i, j int) bool { + return less(entries[i].k, entries[j].k) + }) + + // Visit the entries in the specified ordering. + for _, e := range entries { + if !fn(e.k, e.v) { + return + } + } +} diff --git a/server/vendor/google.golang.org/protobuf/internal/pragma/pragma.go b/server/vendor/google.golang.org/protobuf/internal/pragma/pragma.go new file mode 100755 index 0000000..49dc4fc --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/pragma/pragma.go @@ -0,0 +1,29 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package pragma provides types that can be embedded into a struct to +// statically enforce or prevent certain language properties. +package pragma + +import "sync" + +// NoUnkeyedLiterals can be embedded in a struct to prevent unkeyed literals. +type NoUnkeyedLiterals struct{} + +// DoNotImplement can be embedded in an interface to prevent trivial +// implementations of the interface. +// +// This is useful to prevent unauthorized implementations of an interface +// so that it can be extended in the future for any protobuf language changes. +type DoNotImplement interface{ ProtoInternal(DoNotImplement) } + +// DoNotCompare can be embedded in a struct to prevent comparability. +type DoNotCompare [0]func() + +// DoNotCopy can be embedded in a struct to help prevent shallow copies. +// This does not rely on a Go language feature, but rather a special case +// within the vet checker. +// +// See https://golang.org/issues/8005. +type DoNotCopy [0]sync.Mutex diff --git a/server/vendor/google.golang.org/protobuf/internal/set/ints.go b/server/vendor/google.golang.org/protobuf/internal/set/ints.go new file mode 100755 index 0000000..d3d7f89 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/set/ints.go @@ -0,0 +1,58 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package set provides simple set data structures for uint64s. +package set + +import "math/bits" + +// int64s represents a set of integers within the range of 0..63. +type int64s uint64 + +func (bs *int64s) Len() int { + return bits.OnesCount64(uint64(*bs)) +} +func (bs *int64s) Has(n uint64) bool { + return uint64(*bs)&(uint64(1)< 0 +} +func (bs *int64s) Set(n uint64) { + *(*uint64)(bs) |= uint64(1) << n +} +func (bs *int64s) Clear(n uint64) { + *(*uint64)(bs) &^= uint64(1) << n +} + +// Ints represents a set of integers within the range of 0..math.MaxUint64. +type Ints struct { + lo int64s + hi map[uint64]struct{} +} + +func (bs *Ints) Len() int { + return bs.lo.Len() + len(bs.hi) +} +func (bs *Ints) Has(n uint64) bool { + if n < 64 { + return bs.lo.Has(n) + } + _, ok := bs.hi[n] + return ok +} +func (bs *Ints) Set(n uint64) { + if n < 64 { + bs.lo.Set(n) + return + } + if bs.hi == nil { + bs.hi = make(map[uint64]struct{}) + } + bs.hi[n] = struct{}{} +} +func (bs *Ints) Clear(n uint64) { + if n < 64 { + bs.lo.Clear(n) + return + } + delete(bs.hi, n) +} diff --git a/server/vendor/google.golang.org/protobuf/internal/strs/strings.go b/server/vendor/google.golang.org/protobuf/internal/strs/strings.go new file mode 100755 index 0000000..0b74e76 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/strs/strings.go @@ -0,0 +1,196 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package strs provides string manipulation functionality specific to protobuf. +package strs + +import ( + "go/token" + "strings" + "unicode" + "unicode/utf8" + + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// EnforceUTF8 reports whether to enforce strict UTF-8 validation. +func EnforceUTF8(fd protoreflect.FieldDescriptor) bool { + if flags.ProtoLegacy { + if fd, ok := fd.(interface{ EnforceUTF8() bool }); ok { + return fd.EnforceUTF8() + } + } + return fd.Syntax() == protoreflect.Proto3 +} + +// GoCamelCase camel-cases a protobuf name for use as a Go identifier. +// +// If there is an interior underscore followed by a lower case letter, +// drop the underscore and convert the letter to upper case. +func GoCamelCase(s string) string { + // Invariant: if the next letter is lower case, it must be converted + // to upper case. + // That is, we process a word at a time, where words are marked by _ or + // upper case letter. Digits are treated as words. + var b []byte + for i := 0; i < len(s); i++ { + c := s[i] + switch { + case c == '.' && i+1 < len(s) && isASCIILower(s[i+1]): + // Skip over '.' in ".{{lowercase}}". + case c == '.': + b = append(b, '_') // convert '.' to '_' + case c == '_' && (i == 0 || s[i-1] == '.'): + // Convert initial '_' to ensure we start with a capital letter. + // Do the same for '_' after '.' to match historic behavior. + b = append(b, 'X') // convert '_' to 'X' + case c == '_' && i+1 < len(s) && isASCIILower(s[i+1]): + // Skip over '_' in "_{{lowercase}}". + case isASCIIDigit(c): + b = append(b, c) + default: + // Assume we have a letter now - if not, it's a bogus identifier. + // The next word is a sequence of characters that must start upper case. + if isASCIILower(c) { + c -= 'a' - 'A' // convert lowercase to uppercase + } + b = append(b, c) + + // Accept lower case sequence that follows. + for ; i+1 < len(s) && isASCIILower(s[i+1]); i++ { + b = append(b, s[i+1]) + } + } + } + return string(b) +} + +// GoSanitized converts a string to a valid Go identifier. +func GoSanitized(s string) string { + // Sanitize the input to the set of valid characters, + // which must be '_' or be in the Unicode L or N categories. + s = strings.Map(func(r rune) rune { + if unicode.IsLetter(r) || unicode.IsDigit(r) { + return r + } + return '_' + }, s) + + // Prepend '_' in the event of a Go keyword conflict or if + // the identifier is invalid (does not start in the Unicode L category). + r, _ := utf8.DecodeRuneInString(s) + if token.Lookup(s).IsKeyword() || !unicode.IsLetter(r) { + return "_" + s + } + return s +} + +// JSONCamelCase converts a snake_case identifier to a camelCase identifier, +// according to the protobuf JSON specification. +func JSONCamelCase(s string) string { + var b []byte + var wasUnderscore bool + for i := 0; i < len(s); i++ { // proto identifiers are always ASCII + c := s[i] + if c != '_' { + if wasUnderscore && isASCIILower(c) { + c -= 'a' - 'A' // convert to uppercase + } + b = append(b, c) + } + wasUnderscore = c == '_' + } + return string(b) +} + +// JSONSnakeCase converts a camelCase identifier to a snake_case identifier, +// according to the protobuf JSON specification. +func JSONSnakeCase(s string) string { + var b []byte + for i := 0; i < len(s); i++ { // proto identifiers are always ASCII + c := s[i] + if isASCIIUpper(c) { + b = append(b, '_') + c += 'a' - 'A' // convert to lowercase + } + b = append(b, c) + } + return string(b) +} + +// MapEntryName derives the name of the map entry message given the field name. +// See protoc v3.8.0: src/google/protobuf/descriptor.cc:254-276,6057 +func MapEntryName(s string) string { + var b []byte + upperNext := true + for _, c := range s { + switch { + case c == '_': + upperNext = true + case upperNext: + b = append(b, byte(unicode.ToUpper(c))) + upperNext = false + default: + b = append(b, byte(c)) + } + } + b = append(b, "Entry"...) + return string(b) +} + +// EnumValueName derives the camel-cased enum value name. +// See protoc v3.8.0: src/google/protobuf/descriptor.cc:297-313 +func EnumValueName(s string) string { + var b []byte + upperNext := true + for _, c := range s { + switch { + case c == '_': + upperNext = true + case upperNext: + b = append(b, byte(unicode.ToUpper(c))) + upperNext = false + default: + b = append(b, byte(unicode.ToLower(c))) + upperNext = false + } + } + return string(b) +} + +// TrimEnumPrefix trims the enum name prefix from an enum value name, +// where the prefix is all lowercase without underscores. +// See protoc v3.8.0: src/google/protobuf/descriptor.cc:330-375 +func TrimEnumPrefix(s, prefix string) string { + s0 := s // original input + for len(s) > 0 && len(prefix) > 0 { + if s[0] == '_' { + s = s[1:] + continue + } + if unicode.ToLower(rune(s[0])) != rune(prefix[0]) { + return s0 // no prefix match + } + s, prefix = s[1:], prefix[1:] + } + if len(prefix) > 0 { + return s0 // no prefix match + } + s = strings.TrimLeft(s, "_") + if len(s) == 0 { + return s0 // avoid returning empty string + } + return s +} + +func isASCIILower(c byte) bool { + return 'a' <= c && c <= 'z' +} +func isASCIIUpper(c byte) bool { + return 'A' <= c && c <= 'Z' +} +func isASCIIDigit(c byte) bool { + return '0' <= c && c <= '9' +} diff --git a/server/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go b/server/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go new file mode 100755 index 0000000..a1f6f33 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go @@ -0,0 +1,28 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build purego || appengine +// +build purego appengine + +package strs + +import pref "google.golang.org/protobuf/reflect/protoreflect" + +func UnsafeString(b []byte) string { + return string(b) +} + +func UnsafeBytes(s string) []byte { + return []byte(s) +} + +type Builder struct{} + +func (*Builder) AppendFullName(prefix pref.FullName, name pref.Name) pref.FullName { + return prefix.Append(name) +} + +func (*Builder) MakeString(b []byte) string { + return string(b) +} diff --git a/server/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go b/server/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go new file mode 100755 index 0000000..61a84d3 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go @@ -0,0 +1,95 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !purego && !appengine +// +build !purego,!appengine + +package strs + +import ( + "unsafe" + + "google.golang.org/protobuf/reflect/protoreflect" +) + +type ( + stringHeader struct { + Data unsafe.Pointer + Len int + } + sliceHeader struct { + Data unsafe.Pointer + Len int + Cap int + } +) + +// UnsafeString returns an unsafe string reference of b. +// The caller must treat the input slice as immutable. +// +// WARNING: Use carefully. The returned result must not leak to the end user +// unless the input slice is provably immutable. +func UnsafeString(b []byte) (s string) { + src := (*sliceHeader)(unsafe.Pointer(&b)) + dst := (*stringHeader)(unsafe.Pointer(&s)) + dst.Data = src.Data + dst.Len = src.Len + return s +} + +// UnsafeBytes returns an unsafe bytes slice reference of s. +// The caller must treat returned slice as immutable. +// +// WARNING: Use carefully. The returned result must not leak to the end user. +func UnsafeBytes(s string) (b []byte) { + src := (*stringHeader)(unsafe.Pointer(&s)) + dst := (*sliceHeader)(unsafe.Pointer(&b)) + dst.Data = src.Data + dst.Len = src.Len + dst.Cap = src.Len + return b +} + +// Builder builds a set of strings with shared lifetime. +// This differs from strings.Builder, which is for building a single string. +type Builder struct { + buf []byte +} + +// AppendFullName is equivalent to protoreflect.FullName.Append, +// but optimized for large batches where each name has a shared lifetime. +func (sb *Builder) AppendFullName(prefix protoreflect.FullName, name protoreflect.Name) protoreflect.FullName { + n := len(prefix) + len(".") + len(name) + if len(prefix) == 0 { + n -= len(".") + } + sb.grow(n) + sb.buf = append(sb.buf, prefix...) + sb.buf = append(sb.buf, '.') + sb.buf = append(sb.buf, name...) + return protoreflect.FullName(sb.last(n)) +} + +// MakeString is equivalent to string(b), but optimized for large batches +// with a shared lifetime. +func (sb *Builder) MakeString(b []byte) string { + sb.grow(len(b)) + sb.buf = append(sb.buf, b...) + return sb.last(len(b)) +} + +func (sb *Builder) grow(n int) { + if cap(sb.buf)-len(sb.buf) >= n { + return + } + + // Unlike strings.Builder, we do not need to copy over the contents + // of the old buffer since our builder provides no API for + // retrieving previously created strings. + sb.buf = make([]byte, 0, 2*(cap(sb.buf)+n)) +} + +func (sb *Builder) last(n int) string { + return UnsafeString(sb.buf[len(sb.buf)-n:]) +} diff --git a/server/vendor/google.golang.org/protobuf/internal/version/version.go b/server/vendor/google.golang.org/protobuf/internal/version/version.go new file mode 100755 index 0000000..0999f29 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/internal/version/version.go @@ -0,0 +1,79 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package version records versioning information about this module. +package version + +import ( + "fmt" + "strings" +) + +// These constants determine the current version of this module. +// +// For our release process, we enforce the following rules: +// - Tagged releases use a tag that is identical to String. +// - Tagged releases never reference a commit where the String +// contains "devel". +// - The set of all commits in this repository where String +// does not contain "devel" must have a unique String. +// +// Steps for tagging a new release: +// +// 1. Create a new CL. +// +// 2. Update Minor, Patch, and/or PreRelease as necessary. +// PreRelease must not contain the string "devel". +// +// 3. Since the last released minor version, have there been any changes to +// generator that relies on new functionality in the runtime? +// If yes, then increment RequiredGenerated. +// +// 4. Since the last released minor version, have there been any changes to +// the runtime that removes support for old .pb.go source code? +// If yes, then increment SupportMinimum. +// +// 5. Send out the CL for review and submit it. +// Note that the next CL in step 8 must be submitted after this CL +// without any other CLs in-between. +// +// 6. Tag a new version, where the tag is is the current String. +// +// 7. Write release notes for all notable changes +// between this release and the last release. +// +// 8. Create a new CL. +// +// 9. Update PreRelease to include the string "devel". +// For example: "" -> "devel" or "rc.1" -> "rc.1.devel" +// +// 10. Send out the CL for review and submit it. +const ( + Major = 1 + Minor = 31 + Patch = 0 + PreRelease = "" +) + +// String formats the version string for this module in semver format. +// +// Examples: +// +// v1.20.1 +// v1.21.0-rc.1 +func String() string { + v := fmt.Sprintf("v%d.%d.%d", Major, Minor, Patch) + if PreRelease != "" { + v += "-" + PreRelease + + // TODO: Add metadata about the commit or build hash. + // See https://golang.org/issue/29814 + // See https://golang.org/issue/33533 + var metadata string + if strings.Contains(PreRelease, "devel") && metadata != "" { + v += "+" + metadata + } + } + return v +} diff --git a/server/vendor/google.golang.org/protobuf/proto/checkinit.go b/server/vendor/google.golang.org/protobuf/proto/checkinit.go new file mode 100755 index 0000000..3e9a6a2 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/proto/checkinit.go @@ -0,0 +1,71 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +// CheckInitialized returns an error if any required fields in m are not set. +func CheckInitialized(m Message) error { + // Treat a nil message interface as an "untyped" empty message, + // which we assume to have no required fields. + if m == nil { + return nil + } + + return checkInitialized(m.ProtoReflect()) +} + +// CheckInitialized returns an error if any required fields in m are not set. +func checkInitialized(m protoreflect.Message) error { + if methods := protoMethods(m); methods != nil && methods.CheckInitialized != nil { + _, err := methods.CheckInitialized(protoiface.CheckInitializedInput{ + Message: m, + }) + return err + } + return checkInitializedSlow(m) +} + +func checkInitializedSlow(m protoreflect.Message) error { + md := m.Descriptor() + fds := md.Fields() + for i, nums := 0, md.RequiredNumbers(); i < nums.Len(); i++ { + fd := fds.ByNumber(nums.Get(i)) + if !m.Has(fd) { + return errors.RequiredNotSet(string(fd.FullName())) + } + } + var err error + m.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + switch { + case fd.IsList(): + if fd.Message() == nil { + return true + } + for i, list := 0, v.List(); i < list.Len() && err == nil; i++ { + err = checkInitialized(list.Get(i).Message()) + } + case fd.IsMap(): + if fd.MapValue().Message() == nil { + return true + } + v.Map().Range(func(key protoreflect.MapKey, v protoreflect.Value) bool { + err = checkInitialized(v.Message()) + return err == nil + }) + default: + if fd.Message() == nil { + return true + } + err = checkInitialized(v.Message()) + } + return err == nil + }) + return err +} diff --git a/server/vendor/google.golang.org/protobuf/proto/decode.go b/server/vendor/google.golang.org/protobuf/proto/decode.go new file mode 100755 index 0000000..48d4794 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/proto/decode.go @@ -0,0 +1,294 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/internal/genid" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" + "google.golang.org/protobuf/runtime/protoiface" +) + +// UnmarshalOptions configures the unmarshaler. +// +// Example usage: +// +// err := UnmarshalOptions{DiscardUnknown: true}.Unmarshal(b, m) +type UnmarshalOptions struct { + pragma.NoUnkeyedLiterals + + // Merge merges the input into the destination message. + // The default behavior is to always reset the message before unmarshaling, + // unless Merge is specified. + Merge bool + + // AllowPartial accepts input for messages that will result in missing + // required fields. If AllowPartial is false (the default), Unmarshal will + // return an error if there are any missing required fields. + AllowPartial bool + + // If DiscardUnknown is set, unknown fields are ignored. + DiscardUnknown bool + + // Resolver is used for looking up types when unmarshaling extension fields. + // If nil, this defaults to using protoregistry.GlobalTypes. + Resolver interface { + FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error) + FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error) + } + + // RecursionLimit limits how deeply messages may be nested. + // If zero, a default limit is applied. + RecursionLimit int +} + +// Unmarshal parses the wire-format message in b and places the result in m. +// The provided message must be mutable (e.g., a non-nil pointer to a message). +func Unmarshal(b []byte, m Message) error { + _, err := UnmarshalOptions{RecursionLimit: protowire.DefaultRecursionLimit}.unmarshal(b, m.ProtoReflect()) + return err +} + +// Unmarshal parses the wire-format message in b and places the result in m. +// The provided message must be mutable (e.g., a non-nil pointer to a message). +func (o UnmarshalOptions) Unmarshal(b []byte, m Message) error { + if o.RecursionLimit == 0 { + o.RecursionLimit = protowire.DefaultRecursionLimit + } + _, err := o.unmarshal(b, m.ProtoReflect()) + return err +} + +// UnmarshalState parses a wire-format message and places the result in m. +// +// This method permits fine-grained control over the unmarshaler. +// Most users should use Unmarshal instead. +func (o UnmarshalOptions) UnmarshalState(in protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + if o.RecursionLimit == 0 { + o.RecursionLimit = protowire.DefaultRecursionLimit + } + return o.unmarshal(in.Buf, in.Message) +} + +// unmarshal is a centralized function that all unmarshal operations go through. +// For profiling purposes, avoid changing the name of this function or +// introducing other code paths for unmarshal that do not go through this. +func (o UnmarshalOptions) unmarshal(b []byte, m protoreflect.Message) (out protoiface.UnmarshalOutput, err error) { + if o.Resolver == nil { + o.Resolver = protoregistry.GlobalTypes + } + if !o.Merge { + Reset(m.Interface()) + } + allowPartial := o.AllowPartial + o.Merge = true + o.AllowPartial = true + methods := protoMethods(m) + if methods != nil && methods.Unmarshal != nil && + !(o.DiscardUnknown && methods.Flags&protoiface.SupportUnmarshalDiscardUnknown == 0) { + in := protoiface.UnmarshalInput{ + Message: m, + Buf: b, + Resolver: o.Resolver, + Depth: o.RecursionLimit, + } + if o.DiscardUnknown { + in.Flags |= protoiface.UnmarshalDiscardUnknown + } + out, err = methods.Unmarshal(in) + } else { + o.RecursionLimit-- + if o.RecursionLimit < 0 { + return out, errors.New("exceeded max recursion depth") + } + err = o.unmarshalMessageSlow(b, m) + } + if err != nil { + return out, err + } + if allowPartial || (out.Flags&protoiface.UnmarshalInitialized != 0) { + return out, nil + } + return out, checkInitialized(m) +} + +func (o UnmarshalOptions) unmarshalMessage(b []byte, m protoreflect.Message) error { + _, err := o.unmarshal(b, m) + return err +} + +func (o UnmarshalOptions) unmarshalMessageSlow(b []byte, m protoreflect.Message) error { + md := m.Descriptor() + if messageset.IsMessageSet(md) { + return o.unmarshalMessageSet(b, m) + } + fields := md.Fields() + for len(b) > 0 { + // Parse the tag (field number and wire type). + num, wtyp, tagLen := protowire.ConsumeTag(b) + if tagLen < 0 { + return errDecode + } + if num > protowire.MaxValidNumber { + return errDecode + } + + // Find the field descriptor for this field number. + fd := fields.ByNumber(num) + if fd == nil && md.ExtensionRanges().Has(num) { + extType, err := o.Resolver.FindExtensionByNumber(md.FullName(), num) + if err != nil && err != protoregistry.NotFound { + return errors.New("%v: unable to resolve extension %v: %v", md.FullName(), num, err) + } + if extType != nil { + fd = extType.TypeDescriptor() + } + } + var err error + if fd == nil { + err = errUnknown + } else if flags.ProtoLegacy { + if fd.IsWeak() && fd.Message().IsPlaceholder() { + err = errUnknown // weak referent is not linked in + } + } + + // Parse the field value. + var valLen int + switch { + case err != nil: + case fd.IsList(): + valLen, err = o.unmarshalList(b[tagLen:], wtyp, m.Mutable(fd).List(), fd) + case fd.IsMap(): + valLen, err = o.unmarshalMap(b[tagLen:], wtyp, m.Mutable(fd).Map(), fd) + default: + valLen, err = o.unmarshalSingular(b[tagLen:], wtyp, m, fd) + } + if err != nil { + if err != errUnknown { + return err + } + valLen = protowire.ConsumeFieldValue(num, wtyp, b[tagLen:]) + if valLen < 0 { + return errDecode + } + if !o.DiscardUnknown { + m.SetUnknown(append(m.GetUnknown(), b[:tagLen+valLen]...)) + } + } + b = b[tagLen+valLen:] + } + return nil +} + +func (o UnmarshalOptions) unmarshalSingular(b []byte, wtyp protowire.Type, m protoreflect.Message, fd protoreflect.FieldDescriptor) (n int, err error) { + v, n, err := o.unmarshalScalar(b, wtyp, fd) + if err != nil { + return 0, err + } + switch fd.Kind() { + case protoreflect.GroupKind, protoreflect.MessageKind: + m2 := m.Mutable(fd).Message() + if err := o.unmarshalMessage(v.Bytes(), m2); err != nil { + return n, err + } + default: + // Non-message scalars replace the previous value. + m.Set(fd, v) + } + return n, nil +} + +func (o UnmarshalOptions) unmarshalMap(b []byte, wtyp protowire.Type, mapv protoreflect.Map, fd protoreflect.FieldDescriptor) (n int, err error) { + if wtyp != protowire.BytesType { + return 0, errUnknown + } + b, n = protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + var ( + keyField = fd.MapKey() + valField = fd.MapValue() + key protoreflect.Value + val protoreflect.Value + haveKey bool + haveVal bool + ) + switch valField.Kind() { + case protoreflect.GroupKind, protoreflect.MessageKind: + val = mapv.NewValue() + } + // Map entries are represented as a two-element message with fields + // containing the key and value. + for len(b) > 0 { + num, wtyp, n := protowire.ConsumeTag(b) + if n < 0 { + return 0, errDecode + } + if num > protowire.MaxValidNumber { + return 0, errDecode + } + b = b[n:] + err = errUnknown + switch num { + case genid.MapEntry_Key_field_number: + key, n, err = o.unmarshalScalar(b, wtyp, keyField) + if err != nil { + break + } + haveKey = true + case genid.MapEntry_Value_field_number: + var v protoreflect.Value + v, n, err = o.unmarshalScalar(b, wtyp, valField) + if err != nil { + break + } + switch valField.Kind() { + case protoreflect.GroupKind, protoreflect.MessageKind: + if err := o.unmarshalMessage(v.Bytes(), val.Message()); err != nil { + return 0, err + } + default: + val = v + } + haveVal = true + } + if err == errUnknown { + n = protowire.ConsumeFieldValue(num, wtyp, b) + if n < 0 { + return 0, errDecode + } + } else if err != nil { + return 0, err + } + b = b[n:] + } + // Every map entry should have entries for key and value, but this is not strictly required. + if !haveKey { + key = keyField.Default() + } + if !haveVal { + switch valField.Kind() { + case protoreflect.GroupKind, protoreflect.MessageKind: + default: + val = valField.Default() + } + } + mapv.Set(key.MapKey(), val) + return n, nil +} + +// errUnknown is used internally to indicate fields which should be added +// to the unknown field set of a message. It is never returned from an exported +// function. +var errUnknown = errors.New("BUG: internal error (unknown)") + +var errDecode = errors.New("cannot parse invalid wire-format data") diff --git a/server/vendor/google.golang.org/protobuf/proto/decode_gen.go b/server/vendor/google.golang.org/protobuf/proto/decode_gen.go new file mode 100755 index 0000000..301eeb2 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/proto/decode_gen.go @@ -0,0 +1,603 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-types. DO NOT EDIT. + +package proto + +import ( + "math" + "unicode/utf8" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// unmarshalScalar decodes a value of the given kind. +// +// Message values are decoded into a []byte which aliases the input data. +func (o UnmarshalOptions) unmarshalScalar(b []byte, wtyp protowire.Type, fd protoreflect.FieldDescriptor) (val protoreflect.Value, n int, err error) { + switch fd.Kind() { + case protoreflect.BoolKind: + if wtyp != protowire.VarintType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfBool(protowire.DecodeBool(v)), n, nil + case protoreflect.EnumKind: + if wtyp != protowire.VarintType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfEnum(protoreflect.EnumNumber(v)), n, nil + case protoreflect.Int32Kind: + if wtyp != protowire.VarintType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfInt32(int32(v)), n, nil + case protoreflect.Sint32Kind: + if wtyp != protowire.VarintType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32))), n, nil + case protoreflect.Uint32Kind: + if wtyp != protowire.VarintType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfUint32(uint32(v)), n, nil + case protoreflect.Int64Kind: + if wtyp != protowire.VarintType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfInt64(int64(v)), n, nil + case protoreflect.Sint64Kind: + if wtyp != protowire.VarintType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfInt64(protowire.DecodeZigZag(v)), n, nil + case protoreflect.Uint64Kind: + if wtyp != protowire.VarintType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfUint64(v), n, nil + case protoreflect.Sfixed32Kind: + if wtyp != protowire.Fixed32Type { + return val, 0, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfInt32(int32(v)), n, nil + case protoreflect.Fixed32Kind: + if wtyp != protowire.Fixed32Type { + return val, 0, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfUint32(uint32(v)), n, nil + case protoreflect.FloatKind: + if wtyp != protowire.Fixed32Type { + return val, 0, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v))), n, nil + case protoreflect.Sfixed64Kind: + if wtyp != protowire.Fixed64Type { + return val, 0, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfInt64(int64(v)), n, nil + case protoreflect.Fixed64Kind: + if wtyp != protowire.Fixed64Type { + return val, 0, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfUint64(v), n, nil + case protoreflect.DoubleKind: + if wtyp != protowire.Fixed64Type { + return val, 0, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfFloat64(math.Float64frombits(v)), n, nil + case protoreflect.StringKind: + if wtyp != protowire.BytesType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return val, 0, errDecode + } + if strs.EnforceUTF8(fd) && !utf8.Valid(v) { + return protoreflect.Value{}, 0, errors.InvalidUTF8(string(fd.FullName())) + } + return protoreflect.ValueOfString(string(v)), n, nil + case protoreflect.BytesKind: + if wtyp != protowire.BytesType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfBytes(append(emptyBuf[:], v...)), n, nil + case protoreflect.MessageKind: + if wtyp != protowire.BytesType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfBytes(v), n, nil + case protoreflect.GroupKind: + if wtyp != protowire.StartGroupType { + return val, 0, errUnknown + } + v, n := protowire.ConsumeGroup(fd.Number(), b) + if n < 0 { + return val, 0, errDecode + } + return protoreflect.ValueOfBytes(v), n, nil + default: + return val, 0, errUnknown + } +} + +func (o UnmarshalOptions) unmarshalList(b []byte, wtyp protowire.Type, list protoreflect.List, fd protoreflect.FieldDescriptor) (n int, err error) { + switch fd.Kind() { + case protoreflect.BoolKind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeVarint(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfBool(protowire.DecodeBool(v))) + } + return n, nil + } + if wtyp != protowire.VarintType { + return 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfBool(protowire.DecodeBool(v))) + return n, nil + case protoreflect.EnumKind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeVarint(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfEnum(protoreflect.EnumNumber(v))) + } + return n, nil + } + if wtyp != protowire.VarintType { + return 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfEnum(protoreflect.EnumNumber(v))) + return n, nil + case protoreflect.Int32Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeVarint(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfInt32(int32(v))) + } + return n, nil + } + if wtyp != protowire.VarintType { + return 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(v))) + return n, nil + case protoreflect.Sint32Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeVarint(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32)))) + } + return n, nil + } + if wtyp != protowire.VarintType { + return 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32)))) + return n, nil + case protoreflect.Uint32Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeVarint(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfUint32(uint32(v))) + } + return n, nil + } + if wtyp != protowire.VarintType { + return 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfUint32(uint32(v))) + return n, nil + case protoreflect.Int64Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeVarint(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfInt64(int64(v))) + } + return n, nil + } + if wtyp != protowire.VarintType { + return 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfInt64(int64(v))) + return n, nil + case protoreflect.Sint64Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeVarint(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfInt64(protowire.DecodeZigZag(v))) + } + return n, nil + } + if wtyp != protowire.VarintType { + return 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfInt64(protowire.DecodeZigZag(v))) + return n, nil + case protoreflect.Uint64Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeVarint(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfUint64(v)) + } + return n, nil + } + if wtyp != protowire.VarintType { + return 0, errUnknown + } + v, n := protowire.ConsumeVarint(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfUint64(v)) + return n, nil + case protoreflect.Sfixed32Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeFixed32(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfInt32(int32(v))) + } + return n, nil + } + if wtyp != protowire.Fixed32Type { + return 0, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfInt32(int32(v))) + return n, nil + case protoreflect.Fixed32Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeFixed32(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfUint32(uint32(v))) + } + return n, nil + } + if wtyp != protowire.Fixed32Type { + return 0, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfUint32(uint32(v))) + return n, nil + case protoreflect.FloatKind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeFixed32(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v)))) + } + return n, nil + } + if wtyp != protowire.Fixed32Type { + return 0, errUnknown + } + v, n := protowire.ConsumeFixed32(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v)))) + return n, nil + case protoreflect.Sfixed64Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeFixed64(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfInt64(int64(v))) + } + return n, nil + } + if wtyp != protowire.Fixed64Type { + return 0, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfInt64(int64(v))) + return n, nil + case protoreflect.Fixed64Kind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeFixed64(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfUint64(v)) + } + return n, nil + } + if wtyp != protowire.Fixed64Type { + return 0, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfUint64(v)) + return n, nil + case protoreflect.DoubleKind: + if wtyp == protowire.BytesType { + buf, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + for len(buf) > 0 { + v, n := protowire.ConsumeFixed64(buf) + if n < 0 { + return 0, errDecode + } + buf = buf[n:] + list.Append(protoreflect.ValueOfFloat64(math.Float64frombits(v))) + } + return n, nil + } + if wtyp != protowire.Fixed64Type { + return 0, errUnknown + } + v, n := protowire.ConsumeFixed64(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfFloat64(math.Float64frombits(v))) + return n, nil + case protoreflect.StringKind: + if wtyp != protowire.BytesType { + return 0, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + if strs.EnforceUTF8(fd) && !utf8.Valid(v) { + return 0, errors.InvalidUTF8(string(fd.FullName())) + } + list.Append(protoreflect.ValueOfString(string(v))) + return n, nil + case protoreflect.BytesKind: + if wtyp != protowire.BytesType { + return 0, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + list.Append(protoreflect.ValueOfBytes(append(emptyBuf[:], v...))) + return n, nil + case protoreflect.MessageKind: + if wtyp != protowire.BytesType { + return 0, errUnknown + } + v, n := protowire.ConsumeBytes(b) + if n < 0 { + return 0, errDecode + } + m := list.NewElement() + if err := o.unmarshalMessage(v, m.Message()); err != nil { + return 0, err + } + list.Append(m) + return n, nil + case protoreflect.GroupKind: + if wtyp != protowire.StartGroupType { + return 0, errUnknown + } + v, n := protowire.ConsumeGroup(fd.Number(), b) + if n < 0 { + return 0, errDecode + } + m := list.NewElement() + if err := o.unmarshalMessage(v, m.Message()); err != nil { + return 0, err + } + list.Append(m) + return n, nil + default: + return 0, errUnknown + } +} + +// We append to an empty array rather than a nil []byte to get non-nil zero-length byte slices. +var emptyBuf [0]byte diff --git a/server/vendor/google.golang.org/protobuf/proto/doc.go b/server/vendor/google.golang.org/protobuf/proto/doc.go new file mode 100755 index 0000000..ec71e71 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/proto/doc.go @@ -0,0 +1,86 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package proto provides functions operating on protocol buffer messages. +// +// For documentation on protocol buffers in general, see: +// https://protobuf.dev. +// +// For a tutorial on using protocol buffers with Go, see: +// https://protobuf.dev/getting-started/gotutorial. +// +// For a guide to generated Go protocol buffer code, see: +// https://protobuf.dev/reference/go/go-generated. +// +// # Binary serialization +// +// This package contains functions to convert to and from the wire format, +// an efficient binary serialization of protocol buffers. +// +// • Size reports the size of a message in the wire format. +// +// • Marshal converts a message to the wire format. +// The MarshalOptions type provides more control over wire marshaling. +// +// • Unmarshal converts a message from the wire format. +// The UnmarshalOptions type provides more control over wire unmarshaling. +// +// # Basic message operations +// +// • Clone makes a deep copy of a message. +// +// • Merge merges the content of a message into another. +// +// • Equal compares two messages. For more control over comparisons +// and detailed reporting of differences, see package +// "google.golang.org/protobuf/testing/protocmp". +// +// • Reset clears the content of a message. +// +// • CheckInitialized reports whether all required fields in a message are set. +// +// # Optional scalar constructors +// +// The API for some generated messages represents optional scalar fields +// as pointers to a value. For example, an optional string field has the +// Go type *string. +// +// • Bool, Int32, Int64, Uint32, Uint64, Float32, Float64, and String +// take a value and return a pointer to a new instance of it, +// to simplify construction of optional field values. +// +// Generated enum types usually have an Enum method which performs the +// same operation. +// +// Optional scalar fields are only supported in proto2. +// +// # Extension accessors +// +// • HasExtension, GetExtension, SetExtension, and ClearExtension +// access extension field values in a protocol buffer message. +// +// Extension fields are only supported in proto2. +// +// # Related packages +// +// • Package "google.golang.org/protobuf/encoding/protojson" converts messages to +// and from JSON. +// +// • Package "google.golang.org/protobuf/encoding/prototext" converts messages to +// and from the text format. +// +// • Package "google.golang.org/protobuf/reflect/protoreflect" provides a +// reflection interface for protocol buffer data types. +// +// • Package "google.golang.org/protobuf/testing/protocmp" provides features +// to compare protocol buffer messages with the "github.com/google/go-cmp/cmp" +// package. +// +// • Package "google.golang.org/protobuf/types/dynamicpb" provides a dynamic +// message type, suitable for working with messages where the protocol buffer +// type is only known at runtime. +// +// This module contains additional packages for more specialized use cases. +// Consult the individual package documentation for details. +package proto diff --git a/server/vendor/google.golang.org/protobuf/proto/encode.go b/server/vendor/google.golang.org/protobuf/proto/encode.go new file mode 100755 index 0000000..bf7f816 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/proto/encode.go @@ -0,0 +1,322 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/order" + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +// MarshalOptions configures the marshaler. +// +// Example usage: +// +// b, err := MarshalOptions{Deterministic: true}.Marshal(m) +type MarshalOptions struct { + pragma.NoUnkeyedLiterals + + // AllowPartial allows messages that have missing required fields to marshal + // without returning an error. If AllowPartial is false (the default), + // Marshal will return an error if there are any missing required fields. + AllowPartial bool + + // Deterministic controls whether the same message will always be + // serialized to the same bytes within the same binary. + // + // Setting this option guarantees that repeated serialization of + // the same message will return the same bytes, and that different + // processes of the same binary (which may be executing on different + // machines) will serialize equal messages to the same bytes. + // It has no effect on the resulting size of the encoded message compared + // to a non-deterministic marshal. + // + // Note that the deterministic serialization is NOT canonical across + // languages. It is not guaranteed to remain stable over time. It is + // unstable across different builds with schema changes due to unknown + // fields. Users who need canonical serialization (e.g., persistent + // storage in a canonical form, fingerprinting, etc.) must define + // their own canonicalization specification and implement their own + // serializer rather than relying on this API. + // + // If deterministic serialization is requested, map entries will be + // sorted by keys in lexographical order. This is an implementation + // detail and subject to change. + Deterministic bool + + // UseCachedSize indicates that the result of a previous Size call + // may be reused. + // + // Setting this option asserts that: + // + // 1. Size has previously been called on this message with identical + // options (except for UseCachedSize itself). + // + // 2. The message and all its submessages have not changed in any + // way since the Size call. + // + // If either of these invariants is violated, + // the results are undefined and may include panics or corrupted output. + // + // Implementations MAY take this option into account to provide + // better performance, but there is no guarantee that they will do so. + // There is absolutely no guarantee that Size followed by Marshal with + // UseCachedSize set will perform equivalently to Marshal alone. + UseCachedSize bool +} + +// Marshal returns the wire-format encoding of m. +func Marshal(m Message) ([]byte, error) { + // Treat nil message interface as an empty message; nothing to output. + if m == nil { + return nil, nil + } + + out, err := MarshalOptions{}.marshal(nil, m.ProtoReflect()) + if len(out.Buf) == 0 && err == nil { + out.Buf = emptyBytesForMessage(m) + } + return out.Buf, err +} + +// Marshal returns the wire-format encoding of m. +func (o MarshalOptions) Marshal(m Message) ([]byte, error) { + // Treat nil message interface as an empty message; nothing to output. + if m == nil { + return nil, nil + } + + out, err := o.marshal(nil, m.ProtoReflect()) + if len(out.Buf) == 0 && err == nil { + out.Buf = emptyBytesForMessage(m) + } + return out.Buf, err +} + +// emptyBytesForMessage returns a nil buffer if and only if m is invalid, +// otherwise it returns a non-nil empty buffer. +// +// This is to assist the edge-case where user-code does the following: +// +// m1.OptionalBytes, _ = proto.Marshal(m2) +// +// where they expect the proto2 "optional_bytes" field to be populated +// if any only if m2 is a valid message. +func emptyBytesForMessage(m Message) []byte { + if m == nil || !m.ProtoReflect().IsValid() { + return nil + } + return emptyBuf[:] +} + +// MarshalAppend appends the wire-format encoding of m to b, +// returning the result. +func (o MarshalOptions) MarshalAppend(b []byte, m Message) ([]byte, error) { + // Treat nil message interface as an empty message; nothing to append. + if m == nil { + return b, nil + } + + out, err := o.marshal(b, m.ProtoReflect()) + return out.Buf, err +} + +// MarshalState returns the wire-format encoding of a message. +// +// This method permits fine-grained control over the marshaler. +// Most users should use Marshal instead. +func (o MarshalOptions) MarshalState(in protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + return o.marshal(in.Buf, in.Message) +} + +// marshal is a centralized function that all marshal operations go through. +// For profiling purposes, avoid changing the name of this function or +// introducing other code paths for marshal that do not go through this. +func (o MarshalOptions) marshal(b []byte, m protoreflect.Message) (out protoiface.MarshalOutput, err error) { + allowPartial := o.AllowPartial + o.AllowPartial = true + if methods := protoMethods(m); methods != nil && methods.Marshal != nil && + !(o.Deterministic && methods.Flags&protoiface.SupportMarshalDeterministic == 0) { + in := protoiface.MarshalInput{ + Message: m, + Buf: b, + } + if o.Deterministic { + in.Flags |= protoiface.MarshalDeterministic + } + if o.UseCachedSize { + in.Flags |= protoiface.MarshalUseCachedSize + } + if methods.Size != nil { + sout := methods.Size(protoiface.SizeInput{ + Message: m, + Flags: in.Flags, + }) + if cap(b) < len(b)+sout.Size { + in.Buf = make([]byte, len(b), growcap(cap(b), len(b)+sout.Size)) + copy(in.Buf, b) + } + in.Flags |= protoiface.MarshalUseCachedSize + } + out, err = methods.Marshal(in) + } else { + out.Buf, err = o.marshalMessageSlow(b, m) + } + if err != nil { + return out, err + } + if allowPartial { + return out, nil + } + return out, checkInitialized(m) +} + +func (o MarshalOptions) marshalMessage(b []byte, m protoreflect.Message) ([]byte, error) { + out, err := o.marshal(b, m) + return out.Buf, err +} + +// growcap scales up the capacity of a slice. +// +// Given a slice with a current capacity of oldcap and a desired +// capacity of wantcap, growcap returns a new capacity >= wantcap. +// +// The algorithm is mostly identical to the one used by append as of Go 1.14. +func growcap(oldcap, wantcap int) (newcap int) { + if wantcap > oldcap*2 { + newcap = wantcap + } else if oldcap < 1024 { + // The Go 1.14 runtime takes this case when len(s) < 1024, + // not when cap(s) < 1024. The difference doesn't seem + // significant here. + newcap = oldcap * 2 + } else { + newcap = oldcap + for 0 < newcap && newcap < wantcap { + newcap += newcap / 4 + } + if newcap <= 0 { + newcap = wantcap + } + } + return newcap +} + +func (o MarshalOptions) marshalMessageSlow(b []byte, m protoreflect.Message) ([]byte, error) { + if messageset.IsMessageSet(m.Descriptor()) { + return o.marshalMessageSet(b, m) + } + fieldOrder := order.AnyFieldOrder + if o.Deterministic { + // TODO: This should use a more natural ordering like NumberFieldOrder, + // but doing so breaks golden tests that make invalid assumption about + // output stability of this implementation. + fieldOrder = order.LegacyFieldOrder + } + var err error + order.RangeFields(m, fieldOrder, func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + b, err = o.marshalField(b, fd, v) + return err == nil + }) + if err != nil { + return b, err + } + b = append(b, m.GetUnknown()...) + return b, nil +} + +func (o MarshalOptions) marshalField(b []byte, fd protoreflect.FieldDescriptor, value protoreflect.Value) ([]byte, error) { + switch { + case fd.IsList(): + return o.marshalList(b, fd, value.List()) + case fd.IsMap(): + return o.marshalMap(b, fd, value.Map()) + default: + b = protowire.AppendTag(b, fd.Number(), wireTypes[fd.Kind()]) + return o.marshalSingular(b, fd, value) + } +} + +func (o MarshalOptions) marshalList(b []byte, fd protoreflect.FieldDescriptor, list protoreflect.List) ([]byte, error) { + if fd.IsPacked() && list.Len() > 0 { + b = protowire.AppendTag(b, fd.Number(), protowire.BytesType) + b, pos := appendSpeculativeLength(b) + for i, llen := 0, list.Len(); i < llen; i++ { + var err error + b, err = o.marshalSingular(b, fd, list.Get(i)) + if err != nil { + return b, err + } + } + b = finishSpeculativeLength(b, pos) + return b, nil + } + + kind := fd.Kind() + for i, llen := 0, list.Len(); i < llen; i++ { + var err error + b = protowire.AppendTag(b, fd.Number(), wireTypes[kind]) + b, err = o.marshalSingular(b, fd, list.Get(i)) + if err != nil { + return b, err + } + } + return b, nil +} + +func (o MarshalOptions) marshalMap(b []byte, fd protoreflect.FieldDescriptor, mapv protoreflect.Map) ([]byte, error) { + keyf := fd.MapKey() + valf := fd.MapValue() + keyOrder := order.AnyKeyOrder + if o.Deterministic { + keyOrder = order.GenericKeyOrder + } + var err error + order.RangeEntries(mapv, keyOrder, func(key protoreflect.MapKey, value protoreflect.Value) bool { + b = protowire.AppendTag(b, fd.Number(), protowire.BytesType) + var pos int + b, pos = appendSpeculativeLength(b) + + b, err = o.marshalField(b, keyf, key.Value()) + if err != nil { + return false + } + b, err = o.marshalField(b, valf, value) + if err != nil { + return false + } + b = finishSpeculativeLength(b, pos) + return true + }) + return b, err +} + +// When encoding length-prefixed fields, we speculatively set aside some number of bytes +// for the length, encode the data, and then encode the length (shifting the data if necessary +// to make room). +const speculativeLength = 1 + +func appendSpeculativeLength(b []byte) ([]byte, int) { + pos := len(b) + b = append(b, "\x00\x00\x00\x00"[:speculativeLength]...) + return b, pos +} + +func finishSpeculativeLength(b []byte, pos int) []byte { + mlen := len(b) - pos - speculativeLength + msiz := protowire.SizeVarint(uint64(mlen)) + if msiz != speculativeLength { + for i := 0; i < msiz-speculativeLength; i++ { + b = append(b, 0) + } + copy(b[pos+msiz:], b[pos+speculativeLength:]) + b = b[:pos+msiz+mlen] + } + protowire.AppendVarint(b[:pos], uint64(mlen)) + return b +} diff --git a/server/vendor/google.golang.org/protobuf/proto/encode_gen.go b/server/vendor/google.golang.org/protobuf/proto/encode_gen.go new file mode 100755 index 0000000..185dacf --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/proto/encode_gen.go @@ -0,0 +1,97 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-types. DO NOT EDIT. + +package proto + +import ( + "math" + "unicode/utf8" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/strs" + "google.golang.org/protobuf/reflect/protoreflect" +) + +var wireTypes = map[protoreflect.Kind]protowire.Type{ + protoreflect.BoolKind: protowire.VarintType, + protoreflect.EnumKind: protowire.VarintType, + protoreflect.Int32Kind: protowire.VarintType, + protoreflect.Sint32Kind: protowire.VarintType, + protoreflect.Uint32Kind: protowire.VarintType, + protoreflect.Int64Kind: protowire.VarintType, + protoreflect.Sint64Kind: protowire.VarintType, + protoreflect.Uint64Kind: protowire.VarintType, + protoreflect.Sfixed32Kind: protowire.Fixed32Type, + protoreflect.Fixed32Kind: protowire.Fixed32Type, + protoreflect.FloatKind: protowire.Fixed32Type, + protoreflect.Sfixed64Kind: protowire.Fixed64Type, + protoreflect.Fixed64Kind: protowire.Fixed64Type, + protoreflect.DoubleKind: protowire.Fixed64Type, + protoreflect.StringKind: protowire.BytesType, + protoreflect.BytesKind: protowire.BytesType, + protoreflect.MessageKind: protowire.BytesType, + protoreflect.GroupKind: protowire.StartGroupType, +} + +func (o MarshalOptions) marshalSingular(b []byte, fd protoreflect.FieldDescriptor, v protoreflect.Value) ([]byte, error) { + switch fd.Kind() { + case protoreflect.BoolKind: + b = protowire.AppendVarint(b, protowire.EncodeBool(v.Bool())) + case protoreflect.EnumKind: + b = protowire.AppendVarint(b, uint64(v.Enum())) + case protoreflect.Int32Kind: + b = protowire.AppendVarint(b, uint64(int32(v.Int()))) + case protoreflect.Sint32Kind: + b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(int32(v.Int())))) + case protoreflect.Uint32Kind: + b = protowire.AppendVarint(b, uint64(uint32(v.Uint()))) + case protoreflect.Int64Kind: + b = protowire.AppendVarint(b, uint64(v.Int())) + case protoreflect.Sint64Kind: + b = protowire.AppendVarint(b, protowire.EncodeZigZag(v.Int())) + case protoreflect.Uint64Kind: + b = protowire.AppendVarint(b, v.Uint()) + case protoreflect.Sfixed32Kind: + b = protowire.AppendFixed32(b, uint32(v.Int())) + case protoreflect.Fixed32Kind: + b = protowire.AppendFixed32(b, uint32(v.Uint())) + case protoreflect.FloatKind: + b = protowire.AppendFixed32(b, math.Float32bits(float32(v.Float()))) + case protoreflect.Sfixed64Kind: + b = protowire.AppendFixed64(b, uint64(v.Int())) + case protoreflect.Fixed64Kind: + b = protowire.AppendFixed64(b, v.Uint()) + case protoreflect.DoubleKind: + b = protowire.AppendFixed64(b, math.Float64bits(v.Float())) + case protoreflect.StringKind: + if strs.EnforceUTF8(fd) && !utf8.ValidString(v.String()) { + return b, errors.InvalidUTF8(string(fd.FullName())) + } + b = protowire.AppendString(b, v.String()) + case protoreflect.BytesKind: + b = protowire.AppendBytes(b, v.Bytes()) + case protoreflect.MessageKind: + var pos int + var err error + b, pos = appendSpeculativeLength(b) + b, err = o.marshalMessage(b, v.Message()) + if err != nil { + return b, err + } + b = finishSpeculativeLength(b, pos) + case protoreflect.GroupKind: + var err error + b, err = o.marshalMessage(b, v.Message()) + if err != nil { + return b, err + } + b = protowire.AppendVarint(b, protowire.EncodeTag(fd.Number(), protowire.EndGroupType)) + default: + return b, errors.New("invalid kind %v", fd.Kind()) + } + return b, nil +} diff --git a/server/vendor/google.golang.org/protobuf/proto/equal.go b/server/vendor/google.golang.org/protobuf/proto/equal.go new file mode 100755 index 0000000..1a0be1b --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/proto/equal.go @@ -0,0 +1,57 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "reflect" + + "google.golang.org/protobuf/reflect/protoreflect" +) + +// Equal reports whether two messages are equal, +// by recursively comparing the fields of the message. +// +// - Bytes fields are equal if they contain identical bytes. +// Empty bytes (regardless of nil-ness) are considered equal. +// +// - Floating-point fields are equal if they contain the same value. +// Unlike the == operator, a NaN is equal to another NaN. +// +// - Other scalar fields are equal if they contain the same value. +// +// - Message fields are equal if they have +// the same set of populated known and extension field values, and +// the same set of unknown fields values. +// +// - Lists are equal if they are the same length and +// each corresponding element is equal. +// +// - Maps are equal if they have the same set of keys and +// the corresponding value for each key is equal. +// +// An invalid message is not equal to a valid message. +// An invalid message is only equal to another invalid message of the +// same type. An invalid message often corresponds to a nil pointer +// of the concrete message type. For example, (*pb.M)(nil) is not equal +// to &pb.M{}. +// If two valid messages marshal to the same bytes under deterministic +// serialization, then Equal is guaranteed to report true. +func Equal(x, y Message) bool { + if x == nil || y == nil { + return x == nil && y == nil + } + if reflect.TypeOf(x).Kind() == reflect.Ptr && x == y { + // Avoid an expensive comparison if both inputs are identical pointers. + return true + } + mx := x.ProtoReflect() + my := y.ProtoReflect() + if mx.IsValid() != my.IsValid() { + return false + } + vx := protoreflect.ValueOfMessage(mx) + vy := protoreflect.ValueOfMessage(my) + return vx.Equal(vy) +} diff --git a/server/vendor/google.golang.org/protobuf/proto/extension.go b/server/vendor/google.golang.org/protobuf/proto/extension.go new file mode 100755 index 0000000..5f293cd --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/proto/extension.go @@ -0,0 +1,92 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "google.golang.org/protobuf/reflect/protoreflect" +) + +// HasExtension reports whether an extension field is populated. +// It returns false if m is invalid or if xt does not extend m. +func HasExtension(m Message, xt protoreflect.ExtensionType) bool { + // Treat nil message interface as an empty message; no populated fields. + if m == nil { + return false + } + + // As a special-case, we reports invalid or mismatching descriptors + // as always not being populated (since they aren't). + if xt == nil || m.ProtoReflect().Descriptor() != xt.TypeDescriptor().ContainingMessage() { + return false + } + + return m.ProtoReflect().Has(xt.TypeDescriptor()) +} + +// ClearExtension clears an extension field such that subsequent +// HasExtension calls return false. +// It panics if m is invalid or if xt does not extend m. +func ClearExtension(m Message, xt protoreflect.ExtensionType) { + m.ProtoReflect().Clear(xt.TypeDescriptor()) +} + +// GetExtension retrieves the value for an extension field. +// If the field is unpopulated, it returns the default value for +// scalars and an immutable, empty value for lists or messages. +// It panics if xt does not extend m. +func GetExtension(m Message, xt protoreflect.ExtensionType) interface{} { + // Treat nil message interface as an empty message; return the default. + if m == nil { + return xt.InterfaceOf(xt.Zero()) + } + + return xt.InterfaceOf(m.ProtoReflect().Get(xt.TypeDescriptor())) +} + +// SetExtension stores the value of an extension field. +// It panics if m is invalid, xt does not extend m, or if type of v +// is invalid for the specified extension field. +func SetExtension(m Message, xt protoreflect.ExtensionType, v interface{}) { + xd := xt.TypeDescriptor() + pv := xt.ValueOf(v) + + // Specially treat an invalid list, map, or message as clear. + isValid := true + switch { + case xd.IsList(): + isValid = pv.List().IsValid() + case xd.IsMap(): + isValid = pv.Map().IsValid() + case xd.Message() != nil: + isValid = pv.Message().IsValid() + } + if !isValid { + m.ProtoReflect().Clear(xd) + return + } + + m.ProtoReflect().Set(xd, pv) +} + +// RangeExtensions iterates over every populated extension field in m in an +// undefined order, calling f for each extension type and value encountered. +// It returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current extension field. +func RangeExtensions(m Message, f func(protoreflect.ExtensionType, interface{}) bool) { + // Treat nil message interface as an empty message; nothing to range over. + if m == nil { + return + } + + m.ProtoReflect().Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + if fd.IsExtension() { + xt := fd.(protoreflect.ExtensionTypeDescriptor).Type() + vi := xt.InterfaceOf(v) + return f(xt, vi) + } + return true + }) +} diff --git a/server/vendor/google.golang.org/protobuf/proto/merge.go b/server/vendor/google.golang.org/protobuf/proto/merge.go new file mode 100755 index 0000000..d761ab3 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/proto/merge.go @@ -0,0 +1,139 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "fmt" + + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +// Merge merges src into dst, which must be a message with the same descriptor. +// +// Populated scalar fields in src are copied to dst, while populated +// singular messages in src are merged into dst by recursively calling Merge. +// The elements of every list field in src is appended to the corresponded +// list fields in dst. The entries of every map field in src is copied into +// the corresponding map field in dst, possibly replacing existing entries. +// The unknown fields of src are appended to the unknown fields of dst. +// +// It is semantically equivalent to unmarshaling the encoded form of src +// into dst with the UnmarshalOptions.Merge option specified. +func Merge(dst, src Message) { + // TODO: Should nil src be treated as semantically equivalent to a + // untyped, read-only, empty message? What about a nil dst? + + dstMsg, srcMsg := dst.ProtoReflect(), src.ProtoReflect() + if dstMsg.Descriptor() != srcMsg.Descriptor() { + if got, want := dstMsg.Descriptor().FullName(), srcMsg.Descriptor().FullName(); got != want { + panic(fmt.Sprintf("descriptor mismatch: %v != %v", got, want)) + } + panic("descriptor mismatch") + } + mergeOptions{}.mergeMessage(dstMsg, srcMsg) +} + +// Clone returns a deep copy of m. +// If the top-level message is invalid, it returns an invalid message as well. +func Clone(m Message) Message { + // NOTE: Most usages of Clone assume the following properties: + // t := reflect.TypeOf(m) + // t == reflect.TypeOf(m.ProtoReflect().New().Interface()) + // t == reflect.TypeOf(m.ProtoReflect().Type().Zero().Interface()) + // + // Embedding protobuf messages breaks this since the parent type will have + // a forwarded ProtoReflect method, but the Interface method will return + // the underlying embedded message type. + if m == nil { + return nil + } + src := m.ProtoReflect() + if !src.IsValid() { + return src.Type().Zero().Interface() + } + dst := src.New() + mergeOptions{}.mergeMessage(dst, src) + return dst.Interface() +} + +// mergeOptions provides a namespace for merge functions, and can be +// exported in the future if we add user-visible merge options. +type mergeOptions struct{} + +func (o mergeOptions) mergeMessage(dst, src protoreflect.Message) { + methods := protoMethods(dst) + if methods != nil && methods.Merge != nil { + in := protoiface.MergeInput{ + Destination: dst, + Source: src, + } + out := methods.Merge(in) + if out.Flags&protoiface.MergeComplete != 0 { + return + } + } + + if !dst.IsValid() { + panic(fmt.Sprintf("cannot merge into invalid %v message", dst.Descriptor().FullName())) + } + + src.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + switch { + case fd.IsList(): + o.mergeList(dst.Mutable(fd).List(), v.List(), fd) + case fd.IsMap(): + o.mergeMap(dst.Mutable(fd).Map(), v.Map(), fd.MapValue()) + case fd.Message() != nil: + o.mergeMessage(dst.Mutable(fd).Message(), v.Message()) + case fd.Kind() == protoreflect.BytesKind: + dst.Set(fd, o.cloneBytes(v)) + default: + dst.Set(fd, v) + } + return true + }) + + if len(src.GetUnknown()) > 0 { + dst.SetUnknown(append(dst.GetUnknown(), src.GetUnknown()...)) + } +} + +func (o mergeOptions) mergeList(dst, src protoreflect.List, fd protoreflect.FieldDescriptor) { + // Merge semantics appends to the end of the existing list. + for i, n := 0, src.Len(); i < n; i++ { + switch v := src.Get(i); { + case fd.Message() != nil: + dstv := dst.NewElement() + o.mergeMessage(dstv.Message(), v.Message()) + dst.Append(dstv) + case fd.Kind() == protoreflect.BytesKind: + dst.Append(o.cloneBytes(v)) + default: + dst.Append(v) + } + } +} + +func (o mergeOptions) mergeMap(dst, src protoreflect.Map, fd protoreflect.FieldDescriptor) { + // Merge semantics replaces, rather than merges into existing entries. + src.Range(func(k protoreflect.MapKey, v protoreflect.Value) bool { + switch { + case fd.Message() != nil: + dstv := dst.NewValue() + o.mergeMessage(dstv.Message(), v.Message()) + dst.Set(k, dstv) + case fd.Kind() == protoreflect.BytesKind: + dst.Set(k, o.cloneBytes(v)) + default: + dst.Set(k, v) + } + return true + }) +} + +func (o mergeOptions) cloneBytes(v protoreflect.Value) protoreflect.Value { + return protoreflect.ValueOfBytes(append([]byte{}, v.Bytes()...)) +} diff --git a/server/vendor/google.golang.org/protobuf/proto/messageset.go b/server/vendor/google.golang.org/protobuf/proto/messageset.go new file mode 100755 index 0000000..312d5d4 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/proto/messageset.go @@ -0,0 +1,93 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/internal/order" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +func (o MarshalOptions) sizeMessageSet(m protoreflect.Message) (size int) { + m.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + size += messageset.SizeField(fd.Number()) + size += protowire.SizeTag(messageset.FieldMessage) + size += protowire.SizeBytes(o.size(v.Message())) + return true + }) + size += messageset.SizeUnknown(m.GetUnknown()) + return size +} + +func (o MarshalOptions) marshalMessageSet(b []byte, m protoreflect.Message) ([]byte, error) { + if !flags.ProtoLegacy { + return b, errors.New("no support for message_set_wire_format") + } + fieldOrder := order.AnyFieldOrder + if o.Deterministic { + fieldOrder = order.NumberFieldOrder + } + var err error + order.RangeFields(m, fieldOrder, func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + b, err = o.marshalMessageSetField(b, fd, v) + return err == nil + }) + if err != nil { + return b, err + } + return messageset.AppendUnknown(b, m.GetUnknown()) +} + +func (o MarshalOptions) marshalMessageSetField(b []byte, fd protoreflect.FieldDescriptor, value protoreflect.Value) ([]byte, error) { + b = messageset.AppendFieldStart(b, fd.Number()) + b = protowire.AppendTag(b, messageset.FieldMessage, protowire.BytesType) + b = protowire.AppendVarint(b, uint64(o.Size(value.Message().Interface()))) + b, err := o.marshalMessage(b, value.Message()) + if err != nil { + return b, err + } + b = messageset.AppendFieldEnd(b) + return b, nil +} + +func (o UnmarshalOptions) unmarshalMessageSet(b []byte, m protoreflect.Message) error { + if !flags.ProtoLegacy { + return errors.New("no support for message_set_wire_format") + } + return messageset.Unmarshal(b, false, func(num protowire.Number, v []byte) error { + err := o.unmarshalMessageSetField(m, num, v) + if err == errUnknown { + unknown := m.GetUnknown() + unknown = protowire.AppendTag(unknown, num, protowire.BytesType) + unknown = protowire.AppendBytes(unknown, v) + m.SetUnknown(unknown) + return nil + } + return err + }) +} + +func (o UnmarshalOptions) unmarshalMessageSetField(m protoreflect.Message, num protowire.Number, v []byte) error { + md := m.Descriptor() + if !md.ExtensionRanges().Has(num) { + return errUnknown + } + xt, err := o.Resolver.FindExtensionByNumber(md.FullName(), num) + if err == protoregistry.NotFound { + return errUnknown + } + if err != nil { + return errors.New("%v: unable to resolve extension %v: %v", md.FullName(), num, err) + } + xd := xt.TypeDescriptor() + if err := o.unmarshalMessage(v, m.Mutable(xd).Message()); err != nil { + return err + } + return nil +} diff --git a/server/vendor/google.golang.org/protobuf/proto/proto.go b/server/vendor/google.golang.org/protobuf/proto/proto.go new file mode 100755 index 0000000..1f0d183 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/proto/proto.go @@ -0,0 +1,43 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// Message is the top-level interface that all messages must implement. +// It provides access to a reflective view of a message. +// Any implementation of this interface may be used with all functions in the +// protobuf module that accept a Message, except where otherwise specified. +// +// This is the v2 interface definition for protobuf messages. +// The v1 interface definition is "github.com/golang/protobuf/proto".Message. +// +// To convert a v1 message to a v2 message, +// use "github.com/golang/protobuf/proto".MessageV2. +// To convert a v2 message to a v1 message, +// use "github.com/golang/protobuf/proto".MessageV1. +type Message = protoreflect.ProtoMessage + +// Error matches all errors produced by packages in the protobuf module. +// +// That is, errors.Is(err, Error) reports whether an error is produced +// by this module. +var Error error + +func init() { + Error = errors.Error +} + +// MessageName returns the full name of m. +// If m is nil, it returns an empty string. +func MessageName(m Message) protoreflect.FullName { + if m == nil { + return "" + } + return m.ProtoReflect().Descriptor().FullName() +} diff --git a/server/vendor/google.golang.org/protobuf/proto/proto_methods.go b/server/vendor/google.golang.org/protobuf/proto/proto_methods.go new file mode 100755 index 0000000..465e057 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/proto/proto_methods.go @@ -0,0 +1,20 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// The protoreflect build tag disables use of fast-path methods. +//go:build !protoreflect +// +build !protoreflect + +package proto + +import ( + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +const hasProtoMethods = true + +func protoMethods(m protoreflect.Message) *protoiface.Methods { + return m.ProtoMethods() +} diff --git a/server/vendor/google.golang.org/protobuf/proto/proto_reflect.go b/server/vendor/google.golang.org/protobuf/proto/proto_reflect.go new file mode 100755 index 0000000..494d6ce --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/proto/proto_reflect.go @@ -0,0 +1,20 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// The protoreflect build tag disables use of fast-path methods. +//go:build protoreflect +// +build protoreflect + +package proto + +import ( + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +const hasProtoMethods = false + +func protoMethods(m protoreflect.Message) *protoiface.Methods { + return nil +} diff --git a/server/vendor/google.golang.org/protobuf/proto/reset.go b/server/vendor/google.golang.org/protobuf/proto/reset.go new file mode 100755 index 0000000..3d7f894 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/proto/reset.go @@ -0,0 +1,43 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "fmt" + + "google.golang.org/protobuf/reflect/protoreflect" +) + +// Reset clears every field in the message. +// The resulting message shares no observable memory with its previous state +// other than the memory for the message itself. +func Reset(m Message) { + if mr, ok := m.(interface{ Reset() }); ok && hasProtoMethods { + mr.Reset() + return + } + resetMessage(m.ProtoReflect()) +} + +func resetMessage(m protoreflect.Message) { + if !m.IsValid() { + panic(fmt.Sprintf("cannot reset invalid %v message", m.Descriptor().FullName())) + } + + // Clear all known fields. + fds := m.Descriptor().Fields() + for i := 0; i < fds.Len(); i++ { + m.Clear(fds.Get(i)) + } + + // Clear extension fields. + m.Range(func(fd protoreflect.FieldDescriptor, _ protoreflect.Value) bool { + m.Clear(fd) + return true + }) + + // Clear unknown fields. + m.SetUnknown(nil) +} diff --git a/server/vendor/google.golang.org/protobuf/proto/size.go b/server/vendor/google.golang.org/protobuf/proto/size.go new file mode 100755 index 0000000..f1692b4 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/proto/size.go @@ -0,0 +1,101 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +import ( + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoiface" +) + +// Size returns the size in bytes of the wire-format encoding of m. +func Size(m Message) int { + return MarshalOptions{}.Size(m) +} + +// Size returns the size in bytes of the wire-format encoding of m. +func (o MarshalOptions) Size(m Message) int { + // Treat a nil message interface as an empty message; nothing to output. + if m == nil { + return 0 + } + + return o.size(m.ProtoReflect()) +} + +// size is a centralized function that all size operations go through. +// For profiling purposes, avoid changing the name of this function or +// introducing other code paths for size that do not go through this. +func (o MarshalOptions) size(m protoreflect.Message) (size int) { + methods := protoMethods(m) + if methods != nil && methods.Size != nil { + out := methods.Size(protoiface.SizeInput{ + Message: m, + }) + return out.Size + } + if methods != nil && methods.Marshal != nil { + // This is not efficient, but we don't have any choice. + // This case is mainly used for legacy types with a Marshal method. + out, _ := methods.Marshal(protoiface.MarshalInput{ + Message: m, + }) + return len(out.Buf) + } + return o.sizeMessageSlow(m) +} + +func (o MarshalOptions) sizeMessageSlow(m protoreflect.Message) (size int) { + if messageset.IsMessageSet(m.Descriptor()) { + return o.sizeMessageSet(m) + } + m.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + size += o.sizeField(fd, v) + return true + }) + size += len(m.GetUnknown()) + return size +} + +func (o MarshalOptions) sizeField(fd protoreflect.FieldDescriptor, value protoreflect.Value) (size int) { + num := fd.Number() + switch { + case fd.IsList(): + return o.sizeList(num, fd, value.List()) + case fd.IsMap(): + return o.sizeMap(num, fd, value.Map()) + default: + return protowire.SizeTag(num) + o.sizeSingular(num, fd.Kind(), value) + } +} + +func (o MarshalOptions) sizeList(num protowire.Number, fd protoreflect.FieldDescriptor, list protoreflect.List) (size int) { + sizeTag := protowire.SizeTag(num) + + if fd.IsPacked() && list.Len() > 0 { + content := 0 + for i, llen := 0, list.Len(); i < llen; i++ { + content += o.sizeSingular(num, fd.Kind(), list.Get(i)) + } + return sizeTag + protowire.SizeBytes(content) + } + + for i, llen := 0, list.Len(); i < llen; i++ { + size += sizeTag + o.sizeSingular(num, fd.Kind(), list.Get(i)) + } + return size +} + +func (o MarshalOptions) sizeMap(num protowire.Number, fd protoreflect.FieldDescriptor, mapv protoreflect.Map) (size int) { + sizeTag := protowire.SizeTag(num) + + mapv.Range(func(key protoreflect.MapKey, value protoreflect.Value) bool { + size += sizeTag + size += protowire.SizeBytes(o.sizeField(fd.MapKey(), key.Value()) + o.sizeField(fd.MapValue(), value)) + return true + }) + return size +} diff --git a/server/vendor/google.golang.org/protobuf/proto/size_gen.go b/server/vendor/google.golang.org/protobuf/proto/size_gen.go new file mode 100755 index 0000000..3cf61a8 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/proto/size_gen.go @@ -0,0 +1,55 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-types. DO NOT EDIT. + +package proto + +import ( + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/reflect/protoreflect" +) + +func (o MarshalOptions) sizeSingular(num protowire.Number, kind protoreflect.Kind, v protoreflect.Value) int { + switch kind { + case protoreflect.BoolKind: + return protowire.SizeVarint(protowire.EncodeBool(v.Bool())) + case protoreflect.EnumKind: + return protowire.SizeVarint(uint64(v.Enum())) + case protoreflect.Int32Kind: + return protowire.SizeVarint(uint64(int32(v.Int()))) + case protoreflect.Sint32Kind: + return protowire.SizeVarint(protowire.EncodeZigZag(int64(int32(v.Int())))) + case protoreflect.Uint32Kind: + return protowire.SizeVarint(uint64(uint32(v.Uint()))) + case protoreflect.Int64Kind: + return protowire.SizeVarint(uint64(v.Int())) + case protoreflect.Sint64Kind: + return protowire.SizeVarint(protowire.EncodeZigZag(v.Int())) + case protoreflect.Uint64Kind: + return protowire.SizeVarint(v.Uint()) + case protoreflect.Sfixed32Kind: + return protowire.SizeFixed32() + case protoreflect.Fixed32Kind: + return protowire.SizeFixed32() + case protoreflect.FloatKind: + return protowire.SizeFixed32() + case protoreflect.Sfixed64Kind: + return protowire.SizeFixed64() + case protoreflect.Fixed64Kind: + return protowire.SizeFixed64() + case protoreflect.DoubleKind: + return protowire.SizeFixed64() + case protoreflect.StringKind: + return protowire.SizeBytes(len(v.String())) + case protoreflect.BytesKind: + return protowire.SizeBytes(len(v.Bytes())) + case protoreflect.MessageKind: + return protowire.SizeBytes(o.size(v.Message())) + case protoreflect.GroupKind: + return protowire.SizeGroup(num, o.size(v.Message())) + default: + return 0 + } +} diff --git a/server/vendor/google.golang.org/protobuf/proto/wrappers.go b/server/vendor/google.golang.org/protobuf/proto/wrappers.go new file mode 100755 index 0000000..653b12c --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/proto/wrappers.go @@ -0,0 +1,29 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proto + +// Bool stores v in a new bool value and returns a pointer to it. +func Bool(v bool) *bool { return &v } + +// Int32 stores v in a new int32 value and returns a pointer to it. +func Int32(v int32) *int32 { return &v } + +// Int64 stores v in a new int64 value and returns a pointer to it. +func Int64(v int64) *int64 { return &v } + +// Float32 stores v in a new float32 value and returns a pointer to it. +func Float32(v float32) *float32 { return &v } + +// Float64 stores v in a new float64 value and returns a pointer to it. +func Float64(v float64) *float64 { return &v } + +// Uint32 stores v in a new uint32 value and returns a pointer to it. +func Uint32(v uint32) *uint32 { return &v } + +// Uint64 stores v in a new uint64 value and returns a pointer to it. +func Uint64(v uint64) *uint64 { return &v } + +// String stores v in a new string value and returns a pointer to it. +func String(v string) *string { return &v } diff --git a/server/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go new file mode 100755 index 0000000..d5d5af6 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go @@ -0,0 +1,78 @@ +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protoreflect + +import ( + "google.golang.org/protobuf/internal/pragma" +) + +// The following types are used by the fast-path Message.ProtoMethods method. +// +// To avoid polluting the public protoreflect API with types used only by +// low-level implementations, the canonical definitions of these types are +// in the runtime/protoiface package. The definitions here and in protoiface +// must be kept in sync. +type ( + methods = struct { + pragma.NoUnkeyedLiterals + Flags supportFlags + Size func(sizeInput) sizeOutput + Marshal func(marshalInput) (marshalOutput, error) + Unmarshal func(unmarshalInput) (unmarshalOutput, error) + Merge func(mergeInput) mergeOutput + CheckInitialized func(checkInitializedInput) (checkInitializedOutput, error) + } + supportFlags = uint64 + sizeInput = struct { + pragma.NoUnkeyedLiterals + Message Message + Flags uint8 + } + sizeOutput = struct { + pragma.NoUnkeyedLiterals + Size int + } + marshalInput = struct { + pragma.NoUnkeyedLiterals + Message Message + Buf []byte + Flags uint8 + } + marshalOutput = struct { + pragma.NoUnkeyedLiterals + Buf []byte + } + unmarshalInput = struct { + pragma.NoUnkeyedLiterals + Message Message + Buf []byte + Flags uint8 + Resolver interface { + FindExtensionByName(field FullName) (ExtensionType, error) + FindExtensionByNumber(message FullName, field FieldNumber) (ExtensionType, error) + } + Depth int + } + unmarshalOutput = struct { + pragma.NoUnkeyedLiterals + Flags uint8 + } + mergeInput = struct { + pragma.NoUnkeyedLiterals + Source Message + Destination Message + } + mergeOutput = struct { + pragma.NoUnkeyedLiterals + Flags uint8 + } + checkInitializedInput = struct { + pragma.NoUnkeyedLiterals + Message Message + } + checkInitializedOutput = struct { + pragma.NoUnkeyedLiterals + } +) diff --git a/server/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go new file mode 100755 index 0000000..55aa149 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go @@ -0,0 +1,508 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package protoreflect provides interfaces to dynamically manipulate messages. +// +// This package includes type descriptors which describe the structure of types +// defined in proto source files and value interfaces which provide the +// ability to examine and manipulate the contents of messages. +// +// # Protocol Buffer Descriptors +// +// Protobuf descriptors (e.g., EnumDescriptor or MessageDescriptor) +// are immutable objects that represent protobuf type information. +// They are wrappers around the messages declared in descriptor.proto. +// Protobuf descriptors alone lack any information regarding Go types. +// +// Enums and messages generated by this module implement Enum and ProtoMessage, +// where the Descriptor and ProtoReflect.Descriptor accessors respectively +// return the protobuf descriptor for the values. +// +// The protobuf descriptor interfaces are not meant to be implemented by +// user code since they might need to be extended in the future to support +// additions to the protobuf language. +// The "google.golang.org/protobuf/reflect/protodesc" package converts between +// google.protobuf.DescriptorProto messages and protobuf descriptors. +// +// # Go Type Descriptors +// +// A type descriptor (e.g., EnumType or MessageType) is a constructor for +// a concrete Go type that represents the associated protobuf descriptor. +// There is commonly a one-to-one relationship between protobuf descriptors and +// Go type descriptors, but it can potentially be a one-to-many relationship. +// +// Enums and messages generated by this module implement Enum and ProtoMessage, +// where the Type and ProtoReflect.Type accessors respectively +// return the protobuf descriptor for the values. +// +// The "google.golang.org/protobuf/types/dynamicpb" package can be used to +// create Go type descriptors from protobuf descriptors. +// +// # Value Interfaces +// +// The Enum and Message interfaces provide a reflective view over an +// enum or message instance. For enums, it provides the ability to retrieve +// the enum value number for any concrete enum type. For messages, it provides +// the ability to access or manipulate fields of the message. +// +// To convert a proto.Message to a protoreflect.Message, use the +// former's ProtoReflect method. Since the ProtoReflect method is new to the +// v2 message interface, it may not be present on older message implementations. +// The "github.com/golang/protobuf/proto".MessageReflect function can be used +// to obtain a reflective view on older messages. +// +// # Relationships +// +// The following diagrams demonstrate the relationships between +// various types declared in this package. +// +// ┌───────────────────────────────────┐ +// V │ +// ┌────────────── New(n) ─────────────┐ │ +// │ │ │ +// │ ┌──── Descriptor() ──┐ │ ┌── Number() ──┐ │ +// │ │ V V │ V │ +// ╔════════════╗ ╔════════════════╗ ╔════════╗ ╔════════════╗ +// ║ EnumType ║ ║ EnumDescriptor ║ ║ Enum ║ ║ EnumNumber ║ +// ╚════════════╝ ╚════════════════╝ ╚════════╝ ╚════════════╝ +// Λ Λ │ │ +// │ └─── Descriptor() ──┘ │ +// │ │ +// └────────────────── Type() ───────┘ +// +// • An EnumType describes a concrete Go enum type. +// It has an EnumDescriptor and can construct an Enum instance. +// +// • An EnumDescriptor describes an abstract protobuf enum type. +// +// • An Enum is a concrete enum instance. Generated enums implement Enum. +// +// ┌──────────────── New() ─────────────────┐ +// │ │ +// │ ┌─── Descriptor() ─────┐ │ ┌── Interface() ───┐ +// │ │ V V │ V +// ╔═════════════╗ ╔═══════════════════╗ ╔═════════╗ ╔══════════════╗ +// ║ MessageType ║ ║ MessageDescriptor ║ ║ Message ║ ║ ProtoMessage ║ +// ╚═════════════╝ ╚═══════════════════╝ ╚═════════╝ ╚══════════════╝ +// Λ Λ │ │ Λ │ +// │ └──── Descriptor() ────┘ │ └─ ProtoReflect() ─┘ +// │ │ +// └─────────────────── Type() ─────────┘ +// +// • A MessageType describes a concrete Go message type. +// It has a MessageDescriptor and can construct a Message instance. +// Just as how Go's reflect.Type is a reflective description of a Go type, +// a MessageType is a reflective description of a Go type for a protobuf message. +// +// • A MessageDescriptor describes an abstract protobuf message type. +// It has no understanding of Go types. In order to construct a MessageType +// from just a MessageDescriptor, you can consider looking up the message type +// in the global registry using protoregistry.GlobalTypes.FindMessageByName +// or constructing a dynamic MessageType using dynamicpb.NewMessageType. +// +// • A Message is a reflective view over a concrete message instance. +// Generated messages implement ProtoMessage, which can convert to a Message. +// Just as how Go's reflect.Value is a reflective view over a Go value, +// a Message is a reflective view over a concrete protobuf message instance. +// Using Go reflection as an analogy, the ProtoReflect method is similar to +// calling reflect.ValueOf, and the Message.Interface method is similar to +// calling reflect.Value.Interface. +// +// ┌── TypeDescriptor() ──┐ ┌───── Descriptor() ─────┐ +// │ V │ V +// ╔═══════════════╗ ╔═════════════════════════╗ ╔═════════════════════╗ +// ║ ExtensionType ║ ║ ExtensionTypeDescriptor ║ ║ ExtensionDescriptor ║ +// ╚═══════════════╝ ╚═════════════════════════╝ ╚═════════════════════╝ +// Λ │ │ Λ │ Λ +// └─────── Type() ───────┘ │ └─── may implement ────┘ │ +// │ │ +// └────── implements ────────┘ +// +// • An ExtensionType describes a concrete Go implementation of an extension. +// It has an ExtensionTypeDescriptor and can convert to/from +// abstract Values and Go values. +// +// • An ExtensionTypeDescriptor is an ExtensionDescriptor +// which also has an ExtensionType. +// +// • An ExtensionDescriptor describes an abstract protobuf extension field and +// may not always be an ExtensionTypeDescriptor. +package protoreflect + +import ( + "fmt" + "strings" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/internal/pragma" +) + +type doNotImplement pragma.DoNotImplement + +// ProtoMessage is the top-level interface that all proto messages implement. +// This is declared in the protoreflect package to avoid a cyclic dependency; +// use the proto.Message type instead, which aliases this type. +type ProtoMessage interface{ ProtoReflect() Message } + +// Syntax is the language version of the proto file. +type Syntax syntax + +type syntax int8 // keep exact type opaque as the int type may change + +const ( + Proto2 Syntax = 2 + Proto3 Syntax = 3 +) + +// IsValid reports whether the syntax is valid. +func (s Syntax) IsValid() bool { + switch s { + case Proto2, Proto3: + return true + default: + return false + } +} + +// String returns s as a proto source identifier (e.g., "proto2"). +func (s Syntax) String() string { + switch s { + case Proto2: + return "proto2" + case Proto3: + return "proto3" + default: + return fmt.Sprintf("", s) + } +} + +// GoString returns s as a Go source identifier (e.g., "Proto2"). +func (s Syntax) GoString() string { + switch s { + case Proto2: + return "Proto2" + case Proto3: + return "Proto3" + default: + return fmt.Sprintf("Syntax(%d)", s) + } +} + +// Cardinality determines whether a field is optional, required, or repeated. +type Cardinality cardinality + +type cardinality int8 // keep exact type opaque as the int type may change + +// Constants as defined by the google.protobuf.Cardinality enumeration. +const ( + Optional Cardinality = 1 // appears zero or one times + Required Cardinality = 2 // appears exactly one time; invalid with Proto3 + Repeated Cardinality = 3 // appears zero or more times +) + +// IsValid reports whether the cardinality is valid. +func (c Cardinality) IsValid() bool { + switch c { + case Optional, Required, Repeated: + return true + default: + return false + } +} + +// String returns c as a proto source identifier (e.g., "optional"). +func (c Cardinality) String() string { + switch c { + case Optional: + return "optional" + case Required: + return "required" + case Repeated: + return "repeated" + default: + return fmt.Sprintf("", c) + } +} + +// GoString returns c as a Go source identifier (e.g., "Optional"). +func (c Cardinality) GoString() string { + switch c { + case Optional: + return "Optional" + case Required: + return "Required" + case Repeated: + return "Repeated" + default: + return fmt.Sprintf("Cardinality(%d)", c) + } +} + +// Kind indicates the basic proto kind of a field. +type Kind kind + +type kind int8 // keep exact type opaque as the int type may change + +// Constants as defined by the google.protobuf.Field.Kind enumeration. +const ( + BoolKind Kind = 8 + EnumKind Kind = 14 + Int32Kind Kind = 5 + Sint32Kind Kind = 17 + Uint32Kind Kind = 13 + Int64Kind Kind = 3 + Sint64Kind Kind = 18 + Uint64Kind Kind = 4 + Sfixed32Kind Kind = 15 + Fixed32Kind Kind = 7 + FloatKind Kind = 2 + Sfixed64Kind Kind = 16 + Fixed64Kind Kind = 6 + DoubleKind Kind = 1 + StringKind Kind = 9 + BytesKind Kind = 12 + MessageKind Kind = 11 + GroupKind Kind = 10 +) + +// IsValid reports whether the kind is valid. +func (k Kind) IsValid() bool { + switch k { + case BoolKind, EnumKind, + Int32Kind, Sint32Kind, Uint32Kind, + Int64Kind, Sint64Kind, Uint64Kind, + Sfixed32Kind, Fixed32Kind, FloatKind, + Sfixed64Kind, Fixed64Kind, DoubleKind, + StringKind, BytesKind, MessageKind, GroupKind: + return true + default: + return false + } +} + +// String returns k as a proto source identifier (e.g., "bool"). +func (k Kind) String() string { + switch k { + case BoolKind: + return "bool" + case EnumKind: + return "enum" + case Int32Kind: + return "int32" + case Sint32Kind: + return "sint32" + case Uint32Kind: + return "uint32" + case Int64Kind: + return "int64" + case Sint64Kind: + return "sint64" + case Uint64Kind: + return "uint64" + case Sfixed32Kind: + return "sfixed32" + case Fixed32Kind: + return "fixed32" + case FloatKind: + return "float" + case Sfixed64Kind: + return "sfixed64" + case Fixed64Kind: + return "fixed64" + case DoubleKind: + return "double" + case StringKind: + return "string" + case BytesKind: + return "bytes" + case MessageKind: + return "message" + case GroupKind: + return "group" + default: + return fmt.Sprintf("", k) + } +} + +// GoString returns k as a Go source identifier (e.g., "BoolKind"). +func (k Kind) GoString() string { + switch k { + case BoolKind: + return "BoolKind" + case EnumKind: + return "EnumKind" + case Int32Kind: + return "Int32Kind" + case Sint32Kind: + return "Sint32Kind" + case Uint32Kind: + return "Uint32Kind" + case Int64Kind: + return "Int64Kind" + case Sint64Kind: + return "Sint64Kind" + case Uint64Kind: + return "Uint64Kind" + case Sfixed32Kind: + return "Sfixed32Kind" + case Fixed32Kind: + return "Fixed32Kind" + case FloatKind: + return "FloatKind" + case Sfixed64Kind: + return "Sfixed64Kind" + case Fixed64Kind: + return "Fixed64Kind" + case DoubleKind: + return "DoubleKind" + case StringKind: + return "StringKind" + case BytesKind: + return "BytesKind" + case MessageKind: + return "MessageKind" + case GroupKind: + return "GroupKind" + default: + return fmt.Sprintf("Kind(%d)", k) + } +} + +// FieldNumber is the field number in a message. +type FieldNumber = protowire.Number + +// FieldNumbers represent a list of field numbers. +type FieldNumbers interface { + // Len reports the number of fields in the list. + Len() int + // Get returns the ith field number. It panics if out of bounds. + Get(i int) FieldNumber + // Has reports whether n is within the list of fields. + Has(n FieldNumber) bool + + doNotImplement +} + +// FieldRanges represent a list of field number ranges. +type FieldRanges interface { + // Len reports the number of ranges in the list. + Len() int + // Get returns the ith range. It panics if out of bounds. + Get(i int) [2]FieldNumber // start inclusive; end exclusive + // Has reports whether n is within any of the ranges. + Has(n FieldNumber) bool + + doNotImplement +} + +// EnumNumber is the numeric value for an enum. +type EnumNumber int32 + +// EnumRanges represent a list of enum number ranges. +type EnumRanges interface { + // Len reports the number of ranges in the list. + Len() int + // Get returns the ith range. It panics if out of bounds. + Get(i int) [2]EnumNumber // start inclusive; end inclusive + // Has reports whether n is within any of the ranges. + Has(n EnumNumber) bool + + doNotImplement +} + +// Name is the short name for a proto declaration. This is not the name +// as used in Go source code, which might not be identical to the proto name. +type Name string // e.g., "Kind" + +// IsValid reports whether s is a syntactically valid name. +// An empty name is invalid. +func (s Name) IsValid() bool { + return consumeIdent(string(s)) == len(s) +} + +// Names represent a list of names. +type Names interface { + // Len reports the number of names in the list. + Len() int + // Get returns the ith name. It panics if out of bounds. + Get(i int) Name + // Has reports whether s matches any names in the list. + Has(s Name) bool + + doNotImplement +} + +// FullName is a qualified name that uniquely identifies a proto declaration. +// A qualified name is the concatenation of the proto package along with the +// fully-declared name (i.e., name of parent preceding the name of the child), +// with a '.' delimiter placed between each Name. +// +// This should not have any leading or trailing dots. +type FullName string // e.g., "google.protobuf.Field.Kind" + +// IsValid reports whether s is a syntactically valid full name. +// An empty full name is invalid. +func (s FullName) IsValid() bool { + i := consumeIdent(string(s)) + if i < 0 { + return false + } + for len(s) > i { + if s[i] != '.' { + return false + } + i++ + n := consumeIdent(string(s[i:])) + if n < 0 { + return false + } + i += n + } + return true +} + +func consumeIdent(s string) (i int) { + if len(s) == 0 || !isLetter(s[i]) { + return -1 + } + i++ + for len(s) > i && isLetterDigit(s[i]) { + i++ + } + return i +} +func isLetter(c byte) bool { + return c == '_' || ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') +} +func isLetterDigit(c byte) bool { + return isLetter(c) || ('0' <= c && c <= '9') +} + +// Name returns the short name, which is the last identifier segment. +// A single segment FullName is the Name itself. +func (n FullName) Name() Name { + if i := strings.LastIndexByte(string(n), '.'); i >= 0 { + return Name(n[i+1:]) + } + return Name(n) +} + +// Parent returns the full name with the trailing identifier removed. +// A single segment FullName has no parent. +func (n FullName) Parent() FullName { + if i := strings.LastIndexByte(string(n), '.'); i >= 0 { + return n[:i] + } + return "" +} + +// Append returns the qualified name appended with the provided short name. +// +// Invariant: n == n.Parent().Append(n.Name()) // assuming n is valid +func (n FullName) Append(s Name) FullName { + if n == "" { + return FullName(s) + } + return n + "." + FullName(s) +} diff --git a/server/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go new file mode 100755 index 0000000..0b99428 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go @@ -0,0 +1,129 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protoreflect + +import ( + "strconv" +) + +// SourceLocations is a list of source locations. +type SourceLocations interface { + // Len reports the number of source locations in the proto file. + Len() int + // Get returns the ith SourceLocation. It panics if out of bounds. + Get(int) SourceLocation + + // ByPath returns the SourceLocation for the given path, + // returning the first location if multiple exist for the same path. + // If multiple locations exist for the same path, + // then SourceLocation.Next index can be used to identify the + // index of the next SourceLocation. + // If no location exists for this path, it returns the zero value. + ByPath(path SourcePath) SourceLocation + + // ByDescriptor returns the SourceLocation for the given descriptor, + // returning the first location if multiple exist for the same path. + // If no location exists for this descriptor, it returns the zero value. + ByDescriptor(desc Descriptor) SourceLocation + + doNotImplement +} + +// SourceLocation describes a source location and +// corresponds with the google.protobuf.SourceCodeInfo.Location message. +type SourceLocation struct { + // Path is the path to the declaration from the root file descriptor. + // The contents of this slice must not be mutated. + Path SourcePath + + // StartLine and StartColumn are the zero-indexed starting location + // in the source file for the declaration. + StartLine, StartColumn int + // EndLine and EndColumn are the zero-indexed ending location + // in the source file for the declaration. + // In the descriptor.proto, the end line may be omitted if it is identical + // to the start line. Here, it is always populated. + EndLine, EndColumn int + + // LeadingDetachedComments are the leading detached comments + // for the declaration. The contents of this slice must not be mutated. + LeadingDetachedComments []string + // LeadingComments is the leading attached comment for the declaration. + LeadingComments string + // TrailingComments is the trailing attached comment for the declaration. + TrailingComments string + + // Next is an index into SourceLocations for the next source location that + // has the same Path. It is zero if there is no next location. + Next int +} + +// SourcePath identifies part of a file descriptor for a source location. +// The SourcePath is a sequence of either field numbers or indexes into +// a repeated field that form a path starting from the root file descriptor. +// +// See google.protobuf.SourceCodeInfo.Location.path. +type SourcePath []int32 + +// Equal reports whether p1 equals p2. +func (p1 SourcePath) Equal(p2 SourcePath) bool { + if len(p1) != len(p2) { + return false + } + for i := range p1 { + if p1[i] != p2[i] { + return false + } + } + return true +} + +// String formats the path in a humanly readable manner. +// The output is guaranteed to be deterministic, +// making it suitable for use as a key into a Go map. +// It is not guaranteed to be stable as the exact output could change +// in a future version of this module. +// +// Example output: +// +// .message_type[6].nested_type[15].field[3] +func (p SourcePath) String() string { + b := p.appendFileDescriptorProto(nil) + for _, i := range p { + b = append(b, '.') + b = strconv.AppendInt(b, int64(i), 10) + } + return string(b) +} + +type appendFunc func(*SourcePath, []byte) []byte + +func (p *SourcePath) appendSingularField(b []byte, name string, f appendFunc) []byte { + if len(*p) == 0 { + return b + } + b = append(b, '.') + b = append(b, name...) + *p = (*p)[1:] + if f != nil { + b = f(p, b) + } + return b +} + +func (p *SourcePath) appendRepeatedField(b []byte, name string, f appendFunc) []byte { + b = p.appendSingularField(b, name, nil) + if len(*p) == 0 || (*p)[0] < 0 { + return b + } + b = append(b, '[') + b = strconv.AppendUint(b, uint64((*p)[0]), 10) + b = append(b, ']') + *p = (*p)[1:] + if f != nil { + b = f(p, b) + } + return b +} diff --git a/server/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go new file mode 100755 index 0000000..717b106 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go @@ -0,0 +1,502 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package protoreflect + +func (p *SourcePath) appendFileDescriptorProto(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name", nil) + case 2: + b = p.appendSingularField(b, "package", nil) + case 3: + b = p.appendRepeatedField(b, "dependency", nil) + case 10: + b = p.appendRepeatedField(b, "public_dependency", nil) + case 11: + b = p.appendRepeatedField(b, "weak_dependency", nil) + case 4: + b = p.appendRepeatedField(b, "message_type", (*SourcePath).appendDescriptorProto) + case 5: + b = p.appendRepeatedField(b, "enum_type", (*SourcePath).appendEnumDescriptorProto) + case 6: + b = p.appendRepeatedField(b, "service", (*SourcePath).appendServiceDescriptorProto) + case 7: + b = p.appendRepeatedField(b, "extension", (*SourcePath).appendFieldDescriptorProto) + case 8: + b = p.appendSingularField(b, "options", (*SourcePath).appendFileOptions) + case 9: + b = p.appendSingularField(b, "source_code_info", (*SourcePath).appendSourceCodeInfo) + case 12: + b = p.appendSingularField(b, "syntax", nil) + case 13: + b = p.appendSingularField(b, "edition", nil) + } + return b +} + +func (p *SourcePath) appendDescriptorProto(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name", nil) + case 2: + b = p.appendRepeatedField(b, "field", (*SourcePath).appendFieldDescriptorProto) + case 6: + b = p.appendRepeatedField(b, "extension", (*SourcePath).appendFieldDescriptorProto) + case 3: + b = p.appendRepeatedField(b, "nested_type", (*SourcePath).appendDescriptorProto) + case 4: + b = p.appendRepeatedField(b, "enum_type", (*SourcePath).appendEnumDescriptorProto) + case 5: + b = p.appendRepeatedField(b, "extension_range", (*SourcePath).appendDescriptorProto_ExtensionRange) + case 8: + b = p.appendRepeatedField(b, "oneof_decl", (*SourcePath).appendOneofDescriptorProto) + case 7: + b = p.appendSingularField(b, "options", (*SourcePath).appendMessageOptions) + case 9: + b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendDescriptorProto_ReservedRange) + case 10: + b = p.appendRepeatedField(b, "reserved_name", nil) + } + return b +} + +func (p *SourcePath) appendEnumDescriptorProto(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name", nil) + case 2: + b = p.appendRepeatedField(b, "value", (*SourcePath).appendEnumValueDescriptorProto) + case 3: + b = p.appendSingularField(b, "options", (*SourcePath).appendEnumOptions) + case 4: + b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendEnumDescriptorProto_EnumReservedRange) + case 5: + b = p.appendRepeatedField(b, "reserved_name", nil) + } + return b +} + +func (p *SourcePath) appendServiceDescriptorProto(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name", nil) + case 2: + b = p.appendRepeatedField(b, "method", (*SourcePath).appendMethodDescriptorProto) + case 3: + b = p.appendSingularField(b, "options", (*SourcePath).appendServiceOptions) + } + return b +} + +func (p *SourcePath) appendFieldDescriptorProto(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name", nil) + case 3: + b = p.appendSingularField(b, "number", nil) + case 4: + b = p.appendSingularField(b, "label", nil) + case 5: + b = p.appendSingularField(b, "type", nil) + case 6: + b = p.appendSingularField(b, "type_name", nil) + case 2: + b = p.appendSingularField(b, "extendee", nil) + case 7: + b = p.appendSingularField(b, "default_value", nil) + case 9: + b = p.appendSingularField(b, "oneof_index", nil) + case 10: + b = p.appendSingularField(b, "json_name", nil) + case 8: + b = p.appendSingularField(b, "options", (*SourcePath).appendFieldOptions) + case 17: + b = p.appendSingularField(b, "proto3_optional", nil) + } + return b +} + +func (p *SourcePath) appendFileOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "java_package", nil) + case 8: + b = p.appendSingularField(b, "java_outer_classname", nil) + case 10: + b = p.appendSingularField(b, "java_multiple_files", nil) + case 20: + b = p.appendSingularField(b, "java_generate_equals_and_hash", nil) + case 27: + b = p.appendSingularField(b, "java_string_check_utf8", nil) + case 9: + b = p.appendSingularField(b, "optimize_for", nil) + case 11: + b = p.appendSingularField(b, "go_package", nil) + case 16: + b = p.appendSingularField(b, "cc_generic_services", nil) + case 17: + b = p.appendSingularField(b, "java_generic_services", nil) + case 18: + b = p.appendSingularField(b, "py_generic_services", nil) + case 42: + b = p.appendSingularField(b, "php_generic_services", nil) + case 23: + b = p.appendSingularField(b, "deprecated", nil) + case 31: + b = p.appendSingularField(b, "cc_enable_arenas", nil) + case 36: + b = p.appendSingularField(b, "objc_class_prefix", nil) + case 37: + b = p.appendSingularField(b, "csharp_namespace", nil) + case 39: + b = p.appendSingularField(b, "swift_prefix", nil) + case 40: + b = p.appendSingularField(b, "php_class_prefix", nil) + case 41: + b = p.appendSingularField(b, "php_namespace", nil) + case 44: + b = p.appendSingularField(b, "php_metadata_namespace", nil) + case 45: + b = p.appendSingularField(b, "ruby_package", nil) + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + } + return b +} + +func (p *SourcePath) appendSourceCodeInfo(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendRepeatedField(b, "location", (*SourcePath).appendSourceCodeInfo_Location) + } + return b +} + +func (p *SourcePath) appendDescriptorProto_ExtensionRange(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "start", nil) + case 2: + b = p.appendSingularField(b, "end", nil) + case 3: + b = p.appendSingularField(b, "options", (*SourcePath).appendExtensionRangeOptions) + } + return b +} + +func (p *SourcePath) appendOneofDescriptorProto(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name", nil) + case 2: + b = p.appendSingularField(b, "options", (*SourcePath).appendOneofOptions) + } + return b +} + +func (p *SourcePath) appendMessageOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "message_set_wire_format", nil) + case 2: + b = p.appendSingularField(b, "no_standard_descriptor_accessor", nil) + case 3: + b = p.appendSingularField(b, "deprecated", nil) + case 7: + b = p.appendSingularField(b, "map_entry", nil) + case 11: + b = p.appendSingularField(b, "deprecated_legacy_json_field_conflicts", nil) + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + } + return b +} + +func (p *SourcePath) appendDescriptorProto_ReservedRange(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "start", nil) + case 2: + b = p.appendSingularField(b, "end", nil) + } + return b +} + +func (p *SourcePath) appendEnumValueDescriptorProto(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name", nil) + case 2: + b = p.appendSingularField(b, "number", nil) + case 3: + b = p.appendSingularField(b, "options", (*SourcePath).appendEnumValueOptions) + } + return b +} + +func (p *SourcePath) appendEnumOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 2: + b = p.appendSingularField(b, "allow_alias", nil) + case 3: + b = p.appendSingularField(b, "deprecated", nil) + case 6: + b = p.appendSingularField(b, "deprecated_legacy_json_field_conflicts", nil) + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + } + return b +} + +func (p *SourcePath) appendEnumDescriptorProto_EnumReservedRange(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "start", nil) + case 2: + b = p.appendSingularField(b, "end", nil) + } + return b +} + +func (p *SourcePath) appendMethodDescriptorProto(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name", nil) + case 2: + b = p.appendSingularField(b, "input_type", nil) + case 3: + b = p.appendSingularField(b, "output_type", nil) + case 4: + b = p.appendSingularField(b, "options", (*SourcePath).appendMethodOptions) + case 5: + b = p.appendSingularField(b, "client_streaming", nil) + case 6: + b = p.appendSingularField(b, "server_streaming", nil) + } + return b +} + +func (p *SourcePath) appendServiceOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 33: + b = p.appendSingularField(b, "deprecated", nil) + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + } + return b +} + +func (p *SourcePath) appendFieldOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "ctype", nil) + case 2: + b = p.appendSingularField(b, "packed", nil) + case 6: + b = p.appendSingularField(b, "jstype", nil) + case 5: + b = p.appendSingularField(b, "lazy", nil) + case 15: + b = p.appendSingularField(b, "unverified_lazy", nil) + case 3: + b = p.appendSingularField(b, "deprecated", nil) + case 10: + b = p.appendSingularField(b, "weak", nil) + case 16: + b = p.appendSingularField(b, "debug_redact", nil) + case 17: + b = p.appendSingularField(b, "retention", nil) + case 18: + b = p.appendSingularField(b, "target", nil) + case 19: + b = p.appendRepeatedField(b, "targets", nil) + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + } + return b +} + +func (p *SourcePath) appendUninterpretedOption(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 2: + b = p.appendRepeatedField(b, "name", (*SourcePath).appendUninterpretedOption_NamePart) + case 3: + b = p.appendSingularField(b, "identifier_value", nil) + case 4: + b = p.appendSingularField(b, "positive_int_value", nil) + case 5: + b = p.appendSingularField(b, "negative_int_value", nil) + case 6: + b = p.appendSingularField(b, "double_value", nil) + case 7: + b = p.appendSingularField(b, "string_value", nil) + case 8: + b = p.appendSingularField(b, "aggregate_value", nil) + } + return b +} + +func (p *SourcePath) appendSourceCodeInfo_Location(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendRepeatedField(b, "path", nil) + case 2: + b = p.appendRepeatedField(b, "span", nil) + case 3: + b = p.appendSingularField(b, "leading_comments", nil) + case 4: + b = p.appendSingularField(b, "trailing_comments", nil) + case 6: + b = p.appendRepeatedField(b, "leading_detached_comments", nil) + } + return b +} + +func (p *SourcePath) appendExtensionRangeOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + case 2: + b = p.appendRepeatedField(b, "declaration", (*SourcePath).appendExtensionRangeOptions_Declaration) + case 3: + b = p.appendSingularField(b, "verification", nil) + } + return b +} + +func (p *SourcePath) appendOneofOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + } + return b +} + +func (p *SourcePath) appendEnumValueOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "deprecated", nil) + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + } + return b +} + +func (p *SourcePath) appendMethodOptions(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 33: + b = p.appendSingularField(b, "deprecated", nil) + case 34: + b = p.appendSingularField(b, "idempotency_level", nil) + case 999: + b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption) + } + return b +} + +func (p *SourcePath) appendUninterpretedOption_NamePart(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "name_part", nil) + case 2: + b = p.appendSingularField(b, "is_extension", nil) + } + return b +} + +func (p *SourcePath) appendExtensionRangeOptions_Declaration(b []byte) []byte { + if len(*p) == 0 { + return b + } + switch (*p)[0] { + case 1: + b = p.appendSingularField(b, "number", nil) + case 2: + b = p.appendSingularField(b, "full_name", nil) + case 3: + b = p.appendSingularField(b, "type", nil) + case 4: + b = p.appendSingularField(b, "is_repeated", nil) + case 5: + b = p.appendSingularField(b, "reserved", nil) + case 6: + b = p.appendSingularField(b, "repeated", nil) + } + return b +} diff --git a/server/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go new file mode 100755 index 0000000..3867470 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go @@ -0,0 +1,666 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protoreflect + +// Descriptor provides a set of accessors that are common to every descriptor. +// Each descriptor type wraps the equivalent google.protobuf.XXXDescriptorProto, +// but provides efficient lookup and immutability. +// +// Each descriptor is comparable. Equality implies that the two types are +// exactly identical. However, it is possible for the same semantically +// identical proto type to be represented by multiple type descriptors. +// +// For example, suppose we have t1 and t2 which are both MessageDescriptors. +// If t1 == t2, then the types are definitely equal and all accessors return +// the same information. However, if t1 != t2, then it is still possible that +// they still represent the same proto type (e.g., t1.FullName == t2.FullName). +// This can occur if a descriptor type is created dynamically, or multiple +// versions of the same proto type are accidentally linked into the Go binary. +type Descriptor interface { + // ParentFile returns the parent file descriptor that this descriptor + // is declared within. The parent file for the file descriptor is itself. + // + // Support for this functionality is optional and may return nil. + ParentFile() FileDescriptor + + // Parent returns the parent containing this descriptor declaration. + // The following shows the mapping from child type to possible parent types: + // + // ╔═════════════════════╤═══════════════════════════════════╗ + // ║ Child type │ Possible parent types ║ + // ╠═════════════════════╪═══════════════════════════════════╣ + // ║ FileDescriptor │ nil ║ + // ║ MessageDescriptor │ FileDescriptor, MessageDescriptor ║ + // ║ FieldDescriptor │ FileDescriptor, MessageDescriptor ║ + // ║ OneofDescriptor │ MessageDescriptor ║ + // ║ EnumDescriptor │ FileDescriptor, MessageDescriptor ║ + // ║ EnumValueDescriptor │ EnumDescriptor ║ + // ║ ServiceDescriptor │ FileDescriptor ║ + // ║ MethodDescriptor │ ServiceDescriptor ║ + // ╚═════════════════════╧═══════════════════════════════════╝ + // + // Support for this functionality is optional and may return nil. + Parent() Descriptor + + // Index returns the index of this descriptor within its parent. + // It returns 0 if the descriptor does not have a parent or if the parent + // is unknown. + Index() int + + // Syntax is the protobuf syntax. + Syntax() Syntax // e.g., Proto2 or Proto3 + + // Name is the short name of the declaration (i.e., FullName.Name). + Name() Name // e.g., "Any" + + // FullName is the fully-qualified name of the declaration. + // + // The FullName is a concatenation of the full name of the type that this + // type is declared within and the declaration name. For example, + // field "foo_field" in message "proto.package.MyMessage" is + // uniquely identified as "proto.package.MyMessage.foo_field". + // Enum values are an exception to the rule (see EnumValueDescriptor). + FullName() FullName // e.g., "google.protobuf.Any" + + // IsPlaceholder reports whether type information is missing since a + // dependency is not resolved, in which case only name information is known. + // + // Placeholder types may only be returned by the following accessors + // as a result of unresolved dependencies or weak imports: + // + // ╔═══════════════════════════════════╤═════════════════════╗ + // ║ Accessor │ Descriptor ║ + // ╠═══════════════════════════════════╪═════════════════════╣ + // ║ FileImports.FileDescriptor │ FileDescriptor ║ + // ║ FieldDescriptor.Enum │ EnumDescriptor ║ + // ║ FieldDescriptor.Message │ MessageDescriptor ║ + // ║ FieldDescriptor.DefaultEnumValue │ EnumValueDescriptor ║ + // ║ FieldDescriptor.ContainingMessage │ MessageDescriptor ║ + // ║ MethodDescriptor.Input │ MessageDescriptor ║ + // ║ MethodDescriptor.Output │ MessageDescriptor ║ + // ╚═══════════════════════════════════╧═════════════════════╝ + // + // If true, only Name and FullName are valid. + // For FileDescriptor, the Path is also valid. + IsPlaceholder() bool + + // Options returns the descriptor options. The caller must not modify + // the returned value. + // + // To avoid a dependency cycle, this function returns a proto.Message value. + // The proto message type returned for each descriptor type is as follows: + // ╔═════════════════════╤══════════════════════════════════════════╗ + // ║ Go type │ Protobuf message type ║ + // ╠═════════════════════╪══════════════════════════════════════════╣ + // ║ FileDescriptor │ google.protobuf.FileOptions ║ + // ║ EnumDescriptor │ google.protobuf.EnumOptions ║ + // ║ EnumValueDescriptor │ google.protobuf.EnumValueOptions ║ + // ║ MessageDescriptor │ google.protobuf.MessageOptions ║ + // ║ FieldDescriptor │ google.protobuf.FieldOptions ║ + // ║ OneofDescriptor │ google.protobuf.OneofOptions ║ + // ║ ServiceDescriptor │ google.protobuf.ServiceOptions ║ + // ║ MethodDescriptor │ google.protobuf.MethodOptions ║ + // ╚═════════════════════╧══════════════════════════════════════════╝ + // + // This method returns a typed nil-pointer if no options are present. + // The caller must import the descriptorpb package to use this. + Options() ProtoMessage + + doNotImplement +} + +// FileDescriptor describes the types in a complete proto file and +// corresponds with the google.protobuf.FileDescriptorProto message. +// +// Top-level declarations: +// EnumDescriptor, MessageDescriptor, FieldDescriptor, and/or ServiceDescriptor. +type FileDescriptor interface { + Descriptor // Descriptor.FullName is identical to Package + + // Path returns the file name, relative to the source tree root. + Path() string // e.g., "path/to/file.proto" + // Package returns the protobuf package namespace. + Package() FullName // e.g., "google.protobuf" + + // Imports is a list of imported proto files. + Imports() FileImports + + // Enums is a list of the top-level enum declarations. + Enums() EnumDescriptors + // Messages is a list of the top-level message declarations. + Messages() MessageDescriptors + // Extensions is a list of the top-level extension declarations. + Extensions() ExtensionDescriptors + // Services is a list of the top-level service declarations. + Services() ServiceDescriptors + + // SourceLocations is a list of source locations. + SourceLocations() SourceLocations + + isFileDescriptor +} +type isFileDescriptor interface{ ProtoType(FileDescriptor) } + +// FileImports is a list of file imports. +type FileImports interface { + // Len reports the number of files imported by this proto file. + Len() int + // Get returns the ith FileImport. It panics if out of bounds. + Get(i int) FileImport + + doNotImplement +} + +// FileImport is the declaration for a proto file import. +type FileImport struct { + // FileDescriptor is the file type for the given import. + // It is a placeholder descriptor if IsWeak is set or if a dependency has + // not been regenerated to implement the new reflection APIs. + FileDescriptor + + // IsPublic reports whether this is a public import, which causes this file + // to alias declarations within the imported file. The intended use cases + // for this feature is the ability to move proto files without breaking + // existing dependencies. + // + // The current file and the imported file must be within proto package. + IsPublic bool + + // IsWeak reports whether this is a weak import, which does not impose + // a direct dependency on the target file. + // + // Weak imports are a legacy proto1 feature. Equivalent behavior is + // achieved using proto2 extension fields or proto3 Any messages. + IsWeak bool +} + +// MessageDescriptor describes a message and +// corresponds with the google.protobuf.DescriptorProto message. +// +// Nested declarations: +// FieldDescriptor, OneofDescriptor, FieldDescriptor, EnumDescriptor, +// and/or MessageDescriptor. +type MessageDescriptor interface { + Descriptor + + // IsMapEntry indicates that this is an auto-generated message type to + // represent the entry type for a map field. + // + // Map entry messages have only two fields: + // • a "key" field with a field number of 1 + // • a "value" field with a field number of 2 + // The key and value types are determined by these two fields. + // + // If IsMapEntry is true, it implies that FieldDescriptor.IsMap is true + // for some field with this message type. + IsMapEntry() bool + + // Fields is a list of nested field declarations. + Fields() FieldDescriptors + // Oneofs is a list of nested oneof declarations. + Oneofs() OneofDescriptors + + // ReservedNames is a list of reserved field names. + ReservedNames() Names + // ReservedRanges is a list of reserved ranges of field numbers. + ReservedRanges() FieldRanges + // RequiredNumbers is a list of required field numbers. + // In Proto3, it is always an empty list. + RequiredNumbers() FieldNumbers + // ExtensionRanges is the field ranges used for extension fields. + // In Proto3, it is always an empty ranges. + ExtensionRanges() FieldRanges + // ExtensionRangeOptions returns the ith extension range options. + // + // To avoid a dependency cycle, this method returns a proto.Message value, + // which always contains a google.protobuf.ExtensionRangeOptions message. + // This method returns a typed nil-pointer if no options are present. + // The caller must import the descriptorpb package to use this. + ExtensionRangeOptions(i int) ProtoMessage + + // Enums is a list of nested enum declarations. + Enums() EnumDescriptors + // Messages is a list of nested message declarations. + Messages() MessageDescriptors + // Extensions is a list of nested extension declarations. + Extensions() ExtensionDescriptors + + isMessageDescriptor +} +type isMessageDescriptor interface{ ProtoType(MessageDescriptor) } + +// MessageType encapsulates a MessageDescriptor with a concrete Go implementation. +// It is recommended that implementations of this interface also implement the +// MessageFieldTypes interface. +type MessageType interface { + // New returns a newly allocated empty message. + // It may return nil for synthetic messages representing a map entry. + New() Message + + // Zero returns an empty, read-only message. + // It may return nil for synthetic messages representing a map entry. + Zero() Message + + // Descriptor returns the message descriptor. + // + // Invariant: t.Descriptor() == t.New().Descriptor() + Descriptor() MessageDescriptor +} + +// MessageFieldTypes extends a MessageType by providing type information +// regarding enums and messages referenced by the message fields. +type MessageFieldTypes interface { + MessageType + + // Enum returns the EnumType for the ith field in Descriptor.Fields. + // It returns nil if the ith field is not an enum kind. + // It panics if out of bounds. + // + // Invariant: mt.Enum(i).Descriptor() == mt.Descriptor().Fields(i).Enum() + Enum(i int) EnumType + + // Message returns the MessageType for the ith field in Descriptor.Fields. + // It returns nil if the ith field is not a message or group kind. + // It panics if out of bounds. + // + // Invariant: mt.Message(i).Descriptor() == mt.Descriptor().Fields(i).Message() + Message(i int) MessageType +} + +// MessageDescriptors is a list of message declarations. +type MessageDescriptors interface { + // Len reports the number of messages. + Len() int + // Get returns the ith MessageDescriptor. It panics if out of bounds. + Get(i int) MessageDescriptor + // ByName returns the MessageDescriptor for a message named s. + // It returns nil if not found. + ByName(s Name) MessageDescriptor + + doNotImplement +} + +// FieldDescriptor describes a field within a message and +// corresponds with the google.protobuf.FieldDescriptorProto message. +// +// It is used for both normal fields defined within the parent message +// (e.g., MessageDescriptor.Fields) and fields that extend some remote message +// (e.g., FileDescriptor.Extensions or MessageDescriptor.Extensions). +type FieldDescriptor interface { + Descriptor + + // Number reports the unique number for this field. + Number() FieldNumber + // Cardinality reports the cardinality for this field. + Cardinality() Cardinality + // Kind reports the basic kind for this field. + Kind() Kind + + // HasJSONName reports whether this field has an explicitly set JSON name. + HasJSONName() bool + + // JSONName reports the name used for JSON serialization. + // It is usually the camel-cased form of the field name. + // Extension fields are represented by the full name surrounded by brackets. + JSONName() string + + // TextName reports the name used for text serialization. + // It is usually the name of the field, except that groups use the name + // of the inlined message, and extension fields are represented by the + // full name surrounded by brackets. + TextName() string + + // HasPresence reports whether the field distinguishes between unpopulated + // and default values. + HasPresence() bool + + // IsExtension reports whether this is an extension field. If false, + // then Parent and ContainingMessage refer to the same message. + // Otherwise, ContainingMessage and Parent likely differ. + IsExtension() bool + + // HasOptionalKeyword reports whether the "optional" keyword was explicitly + // specified in the source .proto file. + HasOptionalKeyword() bool + + // IsWeak reports whether this is a weak field, which does not impose a + // direct dependency on the target type. + // If true, then Message returns a placeholder type. + IsWeak() bool + + // IsPacked reports whether repeated primitive numeric kinds should be + // serialized using a packed encoding. + // If true, then it implies Cardinality is Repeated. + IsPacked() bool + + // IsList reports whether this field represents a list, + // where the value type for the associated field is a List. + // It is equivalent to checking whether Cardinality is Repeated and + // that IsMap reports false. + IsList() bool + + // IsMap reports whether this field represents a map, + // where the value type for the associated field is a Map. + // It is equivalent to checking whether Cardinality is Repeated, + // that the Kind is MessageKind, and that Message.IsMapEntry reports true. + IsMap() bool + + // MapKey returns the field descriptor for the key in the map entry. + // It returns nil if IsMap reports false. + MapKey() FieldDescriptor + + // MapValue returns the field descriptor for the value in the map entry. + // It returns nil if IsMap reports false. + MapValue() FieldDescriptor + + // HasDefault reports whether this field has a default value. + HasDefault() bool + + // Default returns the default value for scalar fields. + // For proto2, it is the default value as specified in the proto file, + // or the zero value if unspecified. + // For proto3, it is always the zero value of the scalar. + // The Value type is determined by the Kind. + Default() Value + + // DefaultEnumValue returns the enum value descriptor for the default value + // of an enum field, and is nil for any other kind of field. + DefaultEnumValue() EnumValueDescriptor + + // ContainingOneof is the containing oneof that this field belongs to, + // and is nil if this field is not part of a oneof. + ContainingOneof() OneofDescriptor + + // ContainingMessage is the containing message that this field belongs to. + // For extension fields, this may not necessarily be the parent message + // that the field is declared within. + ContainingMessage() MessageDescriptor + + // Enum is the enum descriptor if Kind is EnumKind. + // It returns nil for any other Kind. + Enum() EnumDescriptor + + // Message is the message descriptor if Kind is + // MessageKind or GroupKind. It returns nil for any other Kind. + Message() MessageDescriptor + + isFieldDescriptor +} +type isFieldDescriptor interface{ ProtoType(FieldDescriptor) } + +// FieldDescriptors is a list of field declarations. +type FieldDescriptors interface { + // Len reports the number of fields. + Len() int + // Get returns the ith FieldDescriptor. It panics if out of bounds. + Get(i int) FieldDescriptor + // ByName returns the FieldDescriptor for a field named s. + // It returns nil if not found. + ByName(s Name) FieldDescriptor + // ByJSONName returns the FieldDescriptor for a field with s as the JSON name. + // It returns nil if not found. + ByJSONName(s string) FieldDescriptor + // ByTextName returns the FieldDescriptor for a field with s as the text name. + // It returns nil if not found. + ByTextName(s string) FieldDescriptor + // ByNumber returns the FieldDescriptor for a field numbered n. + // It returns nil if not found. + ByNumber(n FieldNumber) FieldDescriptor + + doNotImplement +} + +// OneofDescriptor describes a oneof field set within a given message and +// corresponds with the google.protobuf.OneofDescriptorProto message. +type OneofDescriptor interface { + Descriptor + + // IsSynthetic reports whether this is a synthetic oneof created to support + // proto3 optional semantics. If true, Fields contains exactly one field + // with HasOptionalKeyword specified. + IsSynthetic() bool + + // Fields is a list of fields belonging to this oneof. + Fields() FieldDescriptors + + isOneofDescriptor +} +type isOneofDescriptor interface{ ProtoType(OneofDescriptor) } + +// OneofDescriptors is a list of oneof declarations. +type OneofDescriptors interface { + // Len reports the number of oneof fields. + Len() int + // Get returns the ith OneofDescriptor. It panics if out of bounds. + Get(i int) OneofDescriptor + // ByName returns the OneofDescriptor for a oneof named s. + // It returns nil if not found. + ByName(s Name) OneofDescriptor + + doNotImplement +} + +// ExtensionDescriptor is an alias of FieldDescriptor for documentation. +type ExtensionDescriptor = FieldDescriptor + +// ExtensionTypeDescriptor is an ExtensionDescriptor with an associated ExtensionType. +type ExtensionTypeDescriptor interface { + ExtensionDescriptor + + // Type returns the associated ExtensionType. + Type() ExtensionType + + // Descriptor returns the plain ExtensionDescriptor without the + // associated ExtensionType. + Descriptor() ExtensionDescriptor +} + +// ExtensionDescriptors is a list of field declarations. +type ExtensionDescriptors interface { + // Len reports the number of fields. + Len() int + // Get returns the ith ExtensionDescriptor. It panics if out of bounds. + Get(i int) ExtensionDescriptor + // ByName returns the ExtensionDescriptor for a field named s. + // It returns nil if not found. + ByName(s Name) ExtensionDescriptor + + doNotImplement +} + +// ExtensionType encapsulates an ExtensionDescriptor with a concrete +// Go implementation. The nested field descriptor must be for a extension field. +// +// While a normal field is a member of the parent message that it is declared +// within (see Descriptor.Parent), an extension field is a member of some other +// target message (see ExtensionDescriptor.Extendee) and may have no +// relationship with the parent. However, the full name of an extension field is +// relative to the parent that it is declared within. +// +// For example: +// +// syntax = "proto2"; +// package example; +// message FooMessage { +// extensions 100 to max; +// } +// message BarMessage { +// extends FooMessage { optional BarMessage bar_field = 100; } +// } +// +// Field "bar_field" is an extension of FooMessage, but its full name is +// "example.BarMessage.bar_field" instead of "example.FooMessage.bar_field". +type ExtensionType interface { + // New returns a new value for the field. + // For scalars, this returns the default value in native Go form. + New() Value + + // Zero returns a new value for the field. + // For scalars, this returns the default value in native Go form. + // For composite types, this returns an empty, read-only message, list, or map. + Zero() Value + + // TypeDescriptor returns the extension type descriptor. + TypeDescriptor() ExtensionTypeDescriptor + + // ValueOf wraps the input and returns it as a Value. + // ValueOf panics if the input value is invalid or not the appropriate type. + // + // ValueOf is more extensive than protoreflect.ValueOf for a given field's + // value as it has more type information available. + ValueOf(interface{}) Value + + // InterfaceOf completely unwraps the Value to the underlying Go type. + // InterfaceOf panics if the input is nil or does not represent the + // appropriate underlying Go type. For composite types, it panics if the + // value is not mutable. + // + // InterfaceOf is able to unwrap the Value further than Value.Interface + // as it has more type information available. + InterfaceOf(Value) interface{} + + // IsValidValue reports whether the Value is valid to assign to the field. + IsValidValue(Value) bool + + // IsValidInterface reports whether the input is valid to assign to the field. + IsValidInterface(interface{}) bool +} + +// EnumDescriptor describes an enum and +// corresponds with the google.protobuf.EnumDescriptorProto message. +// +// Nested declarations: +// EnumValueDescriptor. +type EnumDescriptor interface { + Descriptor + + // Values is a list of nested enum value declarations. + Values() EnumValueDescriptors + + // ReservedNames is a list of reserved enum names. + ReservedNames() Names + // ReservedRanges is a list of reserved ranges of enum numbers. + ReservedRanges() EnumRanges + + isEnumDescriptor +} +type isEnumDescriptor interface{ ProtoType(EnumDescriptor) } + +// EnumType encapsulates an EnumDescriptor with a concrete Go implementation. +type EnumType interface { + // New returns an instance of this enum type with its value set to n. + New(n EnumNumber) Enum + + // Descriptor returns the enum descriptor. + // + // Invariant: t.Descriptor() == t.New(0).Descriptor() + Descriptor() EnumDescriptor +} + +// EnumDescriptors is a list of enum declarations. +type EnumDescriptors interface { + // Len reports the number of enum types. + Len() int + // Get returns the ith EnumDescriptor. It panics if out of bounds. + Get(i int) EnumDescriptor + // ByName returns the EnumDescriptor for an enum named s. + // It returns nil if not found. + ByName(s Name) EnumDescriptor + + doNotImplement +} + +// EnumValueDescriptor describes an enum value and +// corresponds with the google.protobuf.EnumValueDescriptorProto message. +// +// All other proto declarations are in the namespace of the parent. +// However, enum values do not follow this rule and are within the namespace +// of the parent's parent (i.e., they are a sibling of the containing enum). +// Thus, a value named "FOO_VALUE" declared within an enum uniquely identified +// as "proto.package.MyEnum" has a full name of "proto.package.FOO_VALUE". +type EnumValueDescriptor interface { + Descriptor + + // Number returns the enum value as an integer. + Number() EnumNumber + + isEnumValueDescriptor +} +type isEnumValueDescriptor interface{ ProtoType(EnumValueDescriptor) } + +// EnumValueDescriptors is a list of enum value declarations. +type EnumValueDescriptors interface { + // Len reports the number of enum values. + Len() int + // Get returns the ith EnumValueDescriptor. It panics if out of bounds. + Get(i int) EnumValueDescriptor + // ByName returns the EnumValueDescriptor for the enum value named s. + // It returns nil if not found. + ByName(s Name) EnumValueDescriptor + // ByNumber returns the EnumValueDescriptor for the enum value numbered n. + // If multiple have the same number, the first one defined is returned + // It returns nil if not found. + ByNumber(n EnumNumber) EnumValueDescriptor + + doNotImplement +} + +// ServiceDescriptor describes a service and +// corresponds with the google.protobuf.ServiceDescriptorProto message. +// +// Nested declarations: MethodDescriptor. +type ServiceDescriptor interface { + Descriptor + + // Methods is a list of nested message declarations. + Methods() MethodDescriptors + + isServiceDescriptor +} +type isServiceDescriptor interface{ ProtoType(ServiceDescriptor) } + +// ServiceDescriptors is a list of service declarations. +type ServiceDescriptors interface { + // Len reports the number of services. + Len() int + // Get returns the ith ServiceDescriptor. It panics if out of bounds. + Get(i int) ServiceDescriptor + // ByName returns the ServiceDescriptor for a service named s. + // It returns nil if not found. + ByName(s Name) ServiceDescriptor + + doNotImplement +} + +// MethodDescriptor describes a method and +// corresponds with the google.protobuf.MethodDescriptorProto message. +type MethodDescriptor interface { + Descriptor + + // Input is the input message descriptor. + Input() MessageDescriptor + // Output is the output message descriptor. + Output() MessageDescriptor + // IsStreamingClient reports whether the client streams multiple messages. + IsStreamingClient() bool + // IsStreamingServer reports whether the server streams multiple messages. + IsStreamingServer() bool + + isMethodDescriptor +} +type isMethodDescriptor interface{ ProtoType(MethodDescriptor) } + +// MethodDescriptors is a list of method declarations. +type MethodDescriptors interface { + // Len reports the number of methods. + Len() int + // Get returns the ith MethodDescriptor. It panics if out of bounds. + Get(i int) MethodDescriptor + // ByName returns the MethodDescriptor for a service method named s. + // It returns nil if not found. + ByName(s Name) MethodDescriptor + + doNotImplement +} diff --git a/server/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go new file mode 100755 index 0000000..37601b7 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go @@ -0,0 +1,285 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protoreflect + +import "google.golang.org/protobuf/encoding/protowire" + +// Enum is a reflection interface for a concrete enum value, +// which provides type information and a getter for the enum number. +// Enum does not provide a mutable API since enums are commonly backed by +// Go constants, which are not addressable. +type Enum interface { + // Descriptor returns enum descriptor, which contains only the protobuf + // type information for the enum. + Descriptor() EnumDescriptor + + // Type returns the enum type, which encapsulates both Go and protobuf + // type information. If the Go type information is not needed, + // it is recommended that the enum descriptor be used instead. + Type() EnumType + + // Number returns the enum value as an integer. + Number() EnumNumber +} + +// Message is a reflective interface for a concrete message value, +// encapsulating both type and value information for the message. +// +// Accessor/mutators for individual fields are keyed by FieldDescriptor. +// For non-extension fields, the descriptor must exactly match the +// field known by the parent message. +// For extension fields, the descriptor must implement ExtensionTypeDescriptor, +// extend the parent message (i.e., have the same message FullName), and +// be within the parent's extension range. +// +// Each field Value can be a scalar or a composite type (Message, List, or Map). +// See Value for the Go types associated with a FieldDescriptor. +// Providing a Value that is invalid or of an incorrect type panics. +type Message interface { + // Descriptor returns message descriptor, which contains only the protobuf + // type information for the message. + Descriptor() MessageDescriptor + + // Type returns the message type, which encapsulates both Go and protobuf + // type information. If the Go type information is not needed, + // it is recommended that the message descriptor be used instead. + Type() MessageType + + // New returns a newly allocated and mutable empty message. + New() Message + + // Interface unwraps the message reflection interface and + // returns the underlying ProtoMessage interface. + Interface() ProtoMessage + + // Range iterates over every populated field in an undefined order, + // calling f for each field descriptor and value encountered. + // Range returns immediately if f returns false. + // While iterating, mutating operations may only be performed + // on the current field descriptor. + Range(f func(FieldDescriptor, Value) bool) + + // Has reports whether a field is populated. + // + // Some fields have the property of nullability where it is possible to + // distinguish between the default value of a field and whether the field + // was explicitly populated with the default value. Singular message fields, + // member fields of a oneof, and proto2 scalar fields are nullable. Such + // fields are populated only if explicitly set. + // + // In other cases (aside from the nullable cases above), + // a proto3 scalar field is populated if it contains a non-zero value, and + // a repeated field is populated if it is non-empty. + Has(FieldDescriptor) bool + + // Clear clears the field such that a subsequent Has call reports false. + // + // Clearing an extension field clears both the extension type and value + // associated with the given field number. + // + // Clear is a mutating operation and unsafe for concurrent use. + Clear(FieldDescriptor) + + // Get retrieves the value for a field. + // + // For unpopulated scalars, it returns the default value, where + // the default value of a bytes scalar is guaranteed to be a copy. + // For unpopulated composite types, it returns an empty, read-only view + // of the value; to obtain a mutable reference, use Mutable. + Get(FieldDescriptor) Value + + // Set stores the value for a field. + // + // For a field belonging to a oneof, it implicitly clears any other field + // that may be currently set within the same oneof. + // For extension fields, it implicitly stores the provided ExtensionType. + // When setting a composite type, it is unspecified whether the stored value + // aliases the source's memory in any way. If the composite value is an + // empty, read-only value, then it panics. + // + // Set is a mutating operation and unsafe for concurrent use. + Set(FieldDescriptor, Value) + + // Mutable returns a mutable reference to a composite type. + // + // If the field is unpopulated, it may allocate a composite value. + // For a field belonging to a oneof, it implicitly clears any other field + // that may be currently set within the same oneof. + // For extension fields, it implicitly stores the provided ExtensionType + // if not already stored. + // It panics if the field does not contain a composite type. + // + // Mutable is a mutating operation and unsafe for concurrent use. + Mutable(FieldDescriptor) Value + + // NewField returns a new value that is assignable to the field + // for the given descriptor. For scalars, this returns the default value. + // For lists, maps, and messages, this returns a new, empty, mutable value. + NewField(FieldDescriptor) Value + + // WhichOneof reports which field within the oneof is populated, + // returning nil if none are populated. + // It panics if the oneof descriptor does not belong to this message. + WhichOneof(OneofDescriptor) FieldDescriptor + + // GetUnknown retrieves the entire list of unknown fields. + // The caller may only mutate the contents of the RawFields + // if the mutated bytes are stored back into the message with SetUnknown. + GetUnknown() RawFields + + // SetUnknown stores an entire list of unknown fields. + // The raw fields must be syntactically valid according to the wire format. + // An implementation may panic if this is not the case. + // Once stored, the caller must not mutate the content of the RawFields. + // An empty RawFields may be passed to clear the fields. + // + // SetUnknown is a mutating operation and unsafe for concurrent use. + SetUnknown(RawFields) + + // IsValid reports whether the message is valid. + // + // An invalid message is an empty, read-only value. + // + // An invalid message often corresponds to a nil pointer of the concrete + // message type, but the details are implementation dependent. + // Validity is not part of the protobuf data model, and may not + // be preserved in marshaling or other operations. + IsValid() bool + + // ProtoMethods returns optional fast-path implementations of various operations. + // This method may return nil. + // + // The returned methods type is identical to + // "google.golang.org/protobuf/runtime/protoiface".Methods. + // Consult the protoiface package documentation for details. + ProtoMethods() *methods +} + +// RawFields is the raw bytes for an ordered sequence of fields. +// Each field contains both the tag (representing field number and wire type), +// and also the wire data itself. +type RawFields []byte + +// IsValid reports whether b is syntactically correct wire format. +func (b RawFields) IsValid() bool { + for len(b) > 0 { + _, _, n := protowire.ConsumeField(b) + if n < 0 { + return false + } + b = b[n:] + } + return true +} + +// List is a zero-indexed, ordered list. +// The element Value type is determined by FieldDescriptor.Kind. +// Providing a Value that is invalid or of an incorrect type panics. +type List interface { + // Len reports the number of entries in the List. + // Get, Set, and Truncate panic with out of bound indexes. + Len() int + + // Get retrieves the value at the given index. + // It never returns an invalid value. + Get(int) Value + + // Set stores a value for the given index. + // When setting a composite type, it is unspecified whether the set + // value aliases the source's memory in any way. + // + // Set is a mutating operation and unsafe for concurrent use. + Set(int, Value) + + // Append appends the provided value to the end of the list. + // When appending a composite type, it is unspecified whether the appended + // value aliases the source's memory in any way. + // + // Append is a mutating operation and unsafe for concurrent use. + Append(Value) + + // AppendMutable appends a new, empty, mutable message value to the end + // of the list and returns it. + // It panics if the list does not contain a message type. + AppendMutable() Value + + // Truncate truncates the list to a smaller length. + // + // Truncate is a mutating operation and unsafe for concurrent use. + Truncate(int) + + // NewElement returns a new value for a list element. + // For enums, this returns the first enum value. + // For other scalars, this returns the zero value. + // For messages, this returns a new, empty, mutable value. + NewElement() Value + + // IsValid reports whether the list is valid. + // + // An invalid list is an empty, read-only value. + // + // Validity is not part of the protobuf data model, and may not + // be preserved in marshaling or other operations. + IsValid() bool +} + +// Map is an unordered, associative map. +// The entry MapKey type is determined by FieldDescriptor.MapKey.Kind. +// The entry Value type is determined by FieldDescriptor.MapValue.Kind. +// Providing a MapKey or Value that is invalid or of an incorrect type panics. +type Map interface { + // Len reports the number of elements in the map. + Len() int + + // Range iterates over every map entry in an undefined order, + // calling f for each key and value encountered. + // Range calls f Len times unless f returns false, which stops iteration. + // While iterating, mutating operations may only be performed + // on the current map key. + Range(f func(MapKey, Value) bool) + + // Has reports whether an entry with the given key is in the map. + Has(MapKey) bool + + // Clear clears the entry associated with they given key. + // The operation does nothing if there is no entry associated with the key. + // + // Clear is a mutating operation and unsafe for concurrent use. + Clear(MapKey) + + // Get retrieves the value for an entry with the given key. + // It returns an invalid value for non-existent entries. + Get(MapKey) Value + + // Set stores the value for an entry with the given key. + // It panics when given a key or value that is invalid or the wrong type. + // When setting a composite type, it is unspecified whether the set + // value aliases the source's memory in any way. + // + // Set is a mutating operation and unsafe for concurrent use. + Set(MapKey, Value) + + // Mutable retrieves a mutable reference to the entry for the given key. + // If no entry exists for the key, it creates a new, empty, mutable value + // and stores it as the entry for the key. + // It panics if the map value is not a message. + Mutable(MapKey) Value + + // NewValue returns a new value assignable as a map value. + // For enums, this returns the first enum value. + // For other scalars, this returns the zero value. + // For messages, this returns a new, empty, mutable value. + NewValue() Value + + // IsValid reports whether the map is valid. + // + // An invalid map is an empty, read-only value. + // + // An invalid message often corresponds to a nil Go map value, + // but the details are implementation dependent. + // Validity is not part of the protobuf data model, and may not + // be preserved in marshaling or other operations. + IsValid() bool +} diff --git a/server/vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go new file mode 100755 index 0000000..5916525 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go @@ -0,0 +1,168 @@ +// Copyright 2022 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protoreflect + +import ( + "bytes" + "fmt" + "math" + "reflect" + + "google.golang.org/protobuf/encoding/protowire" +) + +// Equal reports whether v1 and v2 are recursively equal. +// +// - Values of different types are always unequal. +// +// - Bytes values are equal if they contain identical bytes. +// Empty bytes (regardless of nil-ness) are considered equal. +// +// - Floating point values are equal if they contain the same value. +// Unlike the == operator, a NaN is equal to another NaN. +// +// - Enums are equal if they contain the same number. +// Since Value does not contain an enum descriptor, +// enum values do not consider the type of the enum. +// +// - Other scalar values are equal if they contain the same value. +// +// - Message values are equal if they belong to the same message descriptor, +// have the same set of populated known and extension field values, +// and the same set of unknown fields values. +// +// - Lists are equal if they are the same length and +// each corresponding element is equal. +// +// - Maps are equal if they have the same set of keys and +// the corresponding value for each key is equal. +func (v1 Value) Equal(v2 Value) bool { + return equalValue(v1, v2) +} + +func equalValue(x, y Value) bool { + eqType := x.typ == y.typ + switch x.typ { + case nilType: + return eqType + case boolType: + return eqType && x.Bool() == y.Bool() + case int32Type, int64Type: + return eqType && x.Int() == y.Int() + case uint32Type, uint64Type: + return eqType && x.Uint() == y.Uint() + case float32Type, float64Type: + return eqType && equalFloat(x.Float(), y.Float()) + case stringType: + return eqType && x.String() == y.String() + case bytesType: + return eqType && bytes.Equal(x.Bytes(), y.Bytes()) + case enumType: + return eqType && x.Enum() == y.Enum() + default: + switch x := x.Interface().(type) { + case Message: + y, ok := y.Interface().(Message) + return ok && equalMessage(x, y) + case List: + y, ok := y.Interface().(List) + return ok && equalList(x, y) + case Map: + y, ok := y.Interface().(Map) + return ok && equalMap(x, y) + default: + panic(fmt.Sprintf("unknown type: %T", x)) + } + } +} + +// equalFloat compares two floats, where NaNs are treated as equal. +func equalFloat(x, y float64) bool { + if math.IsNaN(x) || math.IsNaN(y) { + return math.IsNaN(x) && math.IsNaN(y) + } + return x == y +} + +// equalMessage compares two messages. +func equalMessage(mx, my Message) bool { + if mx.Descriptor() != my.Descriptor() { + return false + } + + nx := 0 + equal := true + mx.Range(func(fd FieldDescriptor, vx Value) bool { + nx++ + vy := my.Get(fd) + equal = my.Has(fd) && equalValue(vx, vy) + return equal + }) + if !equal { + return false + } + ny := 0 + my.Range(func(fd FieldDescriptor, vx Value) bool { + ny++ + return true + }) + if nx != ny { + return false + } + + return equalUnknown(mx.GetUnknown(), my.GetUnknown()) +} + +// equalList compares two lists. +func equalList(x, y List) bool { + if x.Len() != y.Len() { + return false + } + for i := x.Len() - 1; i >= 0; i-- { + if !equalValue(x.Get(i), y.Get(i)) { + return false + } + } + return true +} + +// equalMap compares two maps. +func equalMap(x, y Map) bool { + if x.Len() != y.Len() { + return false + } + equal := true + x.Range(func(k MapKey, vx Value) bool { + vy := y.Get(k) + equal = y.Has(k) && equalValue(vx, vy) + return equal + }) + return equal +} + +// equalUnknown compares unknown fields by direct comparison on the raw bytes +// of each individual field number. +func equalUnknown(x, y RawFields) bool { + if len(x) != len(y) { + return false + } + if bytes.Equal([]byte(x), []byte(y)) { + return true + } + + mx := make(map[FieldNumber]RawFields) + my := make(map[FieldNumber]RawFields) + for len(x) > 0 { + fnum, _, n := protowire.ConsumeField(x) + mx[fnum] = append(mx[fnum], x[:n]...) + x = x[n:] + } + for len(y) > 0 { + fnum, _, n := protowire.ConsumeField(y) + my[fnum] = append(my[fnum], y[:n]...) + y = y[n:] + } + return reflect.DeepEqual(mx, my) +} diff --git a/server/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go new file mode 100755 index 0000000..7ced876 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go @@ -0,0 +1,60 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build purego || appengine +// +build purego appengine + +package protoreflect + +import "google.golang.org/protobuf/internal/pragma" + +type valueType int + +const ( + nilType valueType = iota + boolType + int32Type + int64Type + uint32Type + uint64Type + float32Type + float64Type + stringType + bytesType + enumType + ifaceType +) + +// value is a union where only one type can be represented at a time. +// This uses a distinct field for each type. This is type safe in Go, but +// occupies more memory than necessary (72B). +type value struct { + pragma.DoNotCompare // 0B + + typ valueType // 8B + num uint64 // 8B + str string // 16B + bin []byte // 24B + iface interface{} // 16B +} + +func valueOfString(v string) Value { + return Value{typ: stringType, str: v} +} +func valueOfBytes(v []byte) Value { + return Value{typ: bytesType, bin: v} +} +func valueOfIface(v interface{}) Value { + return Value{typ: ifaceType, iface: v} +} + +func (v Value) getString() string { + return v.str +} +func (v Value) getBytes() []byte { + return v.bin +} +func (v Value) getIface() interface{} { + return v.iface +} diff --git a/server/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go new file mode 100755 index 0000000..08e5ef7 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go @@ -0,0 +1,438 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protoreflect + +import ( + "fmt" + "math" +) + +// Value is a union where only one Go type may be set at a time. +// The Value is used to represent all possible values a field may take. +// The following shows which Go type is used to represent each proto Kind: +// +// ╔════════════╤═════════════════════════════════════╗ +// ║ Go type │ Protobuf kind ║ +// ╠════════════╪═════════════════════════════════════╣ +// ║ bool │ BoolKind ║ +// ║ int32 │ Int32Kind, Sint32Kind, Sfixed32Kind ║ +// ║ int64 │ Int64Kind, Sint64Kind, Sfixed64Kind ║ +// ║ uint32 │ Uint32Kind, Fixed32Kind ║ +// ║ uint64 │ Uint64Kind, Fixed64Kind ║ +// ║ float32 │ FloatKind ║ +// ║ float64 │ DoubleKind ║ +// ║ string │ StringKind ║ +// ║ []byte │ BytesKind ║ +// ║ EnumNumber │ EnumKind ║ +// ║ Message │ MessageKind, GroupKind ║ +// ╚════════════╧═════════════════════════════════════╝ +// +// Multiple protobuf Kinds may be represented by a single Go type if the type +// can losslessly represent the information for the proto kind. For example, +// Int64Kind, Sint64Kind, and Sfixed64Kind are all represented by int64, +// but use different integer encoding methods. +// +// The List or Map types are used if the field cardinality is repeated. +// A field is a List if FieldDescriptor.IsList reports true. +// A field is a Map if FieldDescriptor.IsMap reports true. +// +// Converting to/from a Value and a concrete Go value panics on type mismatch. +// For example, ValueOf("hello").Int() panics because this attempts to +// retrieve an int64 from a string. +// +// List, Map, and Message Values are called "composite" values. +// +// A composite Value may alias (reference) memory at some location, +// such that changes to the Value updates the that location. +// A composite value acquired with a Mutable method, such as Message.Mutable, +// always references the source object. +// +// For example: +// +// // Append a 0 to a "repeated int32" field. +// // Since the Value returned by Mutable is guaranteed to alias +// // the source message, modifying the Value modifies the message. +// message.Mutable(fieldDesc).List().Append(protoreflect.ValueOfInt32(0)) +// +// // Assign [0] to a "repeated int32" field by creating a new Value, +// // modifying it, and assigning it. +// list := message.NewField(fieldDesc).List() +// list.Append(protoreflect.ValueOfInt32(0)) +// message.Set(fieldDesc, list) +// // ERROR: Since it is not defined whether Set aliases the source, +// // appending to the List here may or may not modify the message. +// list.Append(protoreflect.ValueOfInt32(0)) +// +// Some operations, such as Message.Get, may return an "empty, read-only" +// composite Value. Modifying an empty, read-only value panics. +type Value value + +// The protoreflect API uses a custom Value union type instead of interface{} +// to keep the future open for performance optimizations. Using an interface{} +// always incurs an allocation for primitives (e.g., int64) since it needs to +// be boxed on the heap (as interfaces can only contain pointers natively). +// Instead, we represent the Value union as a flat struct that internally keeps +// track of which type is set. Using unsafe, the Value union can be reduced +// down to 24B, which is identical in size to a slice. +// +// The latest compiler (Go1.11) currently suffers from some limitations: +// • With inlining, the compiler should be able to statically prove that +// only one of these switch cases are taken and inline one specific case. +// See https://golang.org/issue/22310. + +// ValueOf returns a Value initialized with the concrete value stored in v. +// This panics if the type does not match one of the allowed types in the +// Value union. +func ValueOf(v interface{}) Value { + switch v := v.(type) { + case nil: + return Value{} + case bool: + return ValueOfBool(v) + case int32: + return ValueOfInt32(v) + case int64: + return ValueOfInt64(v) + case uint32: + return ValueOfUint32(v) + case uint64: + return ValueOfUint64(v) + case float32: + return ValueOfFloat32(v) + case float64: + return ValueOfFloat64(v) + case string: + return ValueOfString(v) + case []byte: + return ValueOfBytes(v) + case EnumNumber: + return ValueOfEnum(v) + case Message, List, Map: + return valueOfIface(v) + case ProtoMessage: + panic(fmt.Sprintf("invalid proto.Message(%T) type, expected a protoreflect.Message type", v)) + default: + panic(fmt.Sprintf("invalid type: %T", v)) + } +} + +// ValueOfBool returns a new boolean value. +func ValueOfBool(v bool) Value { + if v { + return Value{typ: boolType, num: 1} + } else { + return Value{typ: boolType, num: 0} + } +} + +// ValueOfInt32 returns a new int32 value. +func ValueOfInt32(v int32) Value { + return Value{typ: int32Type, num: uint64(v)} +} + +// ValueOfInt64 returns a new int64 value. +func ValueOfInt64(v int64) Value { + return Value{typ: int64Type, num: uint64(v)} +} + +// ValueOfUint32 returns a new uint32 value. +func ValueOfUint32(v uint32) Value { + return Value{typ: uint32Type, num: uint64(v)} +} + +// ValueOfUint64 returns a new uint64 value. +func ValueOfUint64(v uint64) Value { + return Value{typ: uint64Type, num: v} +} + +// ValueOfFloat32 returns a new float32 value. +func ValueOfFloat32(v float32) Value { + return Value{typ: float32Type, num: uint64(math.Float64bits(float64(v)))} +} + +// ValueOfFloat64 returns a new float64 value. +func ValueOfFloat64(v float64) Value { + return Value{typ: float64Type, num: uint64(math.Float64bits(float64(v)))} +} + +// ValueOfString returns a new string value. +func ValueOfString(v string) Value { + return valueOfString(v) +} + +// ValueOfBytes returns a new bytes value. +func ValueOfBytes(v []byte) Value { + return valueOfBytes(v[:len(v):len(v)]) +} + +// ValueOfEnum returns a new enum value. +func ValueOfEnum(v EnumNumber) Value { + return Value{typ: enumType, num: uint64(v)} +} + +// ValueOfMessage returns a new Message value. +func ValueOfMessage(v Message) Value { + return valueOfIface(v) +} + +// ValueOfList returns a new List value. +func ValueOfList(v List) Value { + return valueOfIface(v) +} + +// ValueOfMap returns a new Map value. +func ValueOfMap(v Map) Value { + return valueOfIface(v) +} + +// IsValid reports whether v is populated with a value. +func (v Value) IsValid() bool { + return v.typ != nilType +} + +// Interface returns v as an interface{}. +// +// Invariant: v == ValueOf(v).Interface() +func (v Value) Interface() interface{} { + switch v.typ { + case nilType: + return nil + case boolType: + return v.Bool() + case int32Type: + return int32(v.Int()) + case int64Type: + return int64(v.Int()) + case uint32Type: + return uint32(v.Uint()) + case uint64Type: + return uint64(v.Uint()) + case float32Type: + return float32(v.Float()) + case float64Type: + return float64(v.Float()) + case stringType: + return v.String() + case bytesType: + return v.Bytes() + case enumType: + return v.Enum() + default: + return v.getIface() + } +} + +func (v Value) typeName() string { + switch v.typ { + case nilType: + return "nil" + case boolType: + return "bool" + case int32Type: + return "int32" + case int64Type: + return "int64" + case uint32Type: + return "uint32" + case uint64Type: + return "uint64" + case float32Type: + return "float32" + case float64Type: + return "float64" + case stringType: + return "string" + case bytesType: + return "bytes" + case enumType: + return "enum" + default: + switch v := v.getIface().(type) { + case Message: + return "message" + case List: + return "list" + case Map: + return "map" + default: + return fmt.Sprintf("", v) + } + } +} + +func (v Value) panicMessage(what string) string { + return fmt.Sprintf("type mismatch: cannot convert %v to %s", v.typeName(), what) +} + +// Bool returns v as a bool and panics if the type is not a bool. +func (v Value) Bool() bool { + switch v.typ { + case boolType: + return v.num > 0 + default: + panic(v.panicMessage("bool")) + } +} + +// Int returns v as a int64 and panics if the type is not a int32 or int64. +func (v Value) Int() int64 { + switch v.typ { + case int32Type, int64Type: + return int64(v.num) + default: + panic(v.panicMessage("int")) + } +} + +// Uint returns v as a uint64 and panics if the type is not a uint32 or uint64. +func (v Value) Uint() uint64 { + switch v.typ { + case uint32Type, uint64Type: + return uint64(v.num) + default: + panic(v.panicMessage("uint")) + } +} + +// Float returns v as a float64 and panics if the type is not a float32 or float64. +func (v Value) Float() float64 { + switch v.typ { + case float32Type, float64Type: + return math.Float64frombits(uint64(v.num)) + default: + panic(v.panicMessage("float")) + } +} + +// String returns v as a string. Since this method implements fmt.Stringer, +// this returns the formatted string value for any non-string type. +func (v Value) String() string { + switch v.typ { + case stringType: + return v.getString() + default: + return fmt.Sprint(v.Interface()) + } +} + +// Bytes returns v as a []byte and panics if the type is not a []byte. +func (v Value) Bytes() []byte { + switch v.typ { + case bytesType: + return v.getBytes() + default: + panic(v.panicMessage("bytes")) + } +} + +// Enum returns v as a EnumNumber and panics if the type is not a EnumNumber. +func (v Value) Enum() EnumNumber { + switch v.typ { + case enumType: + return EnumNumber(v.num) + default: + panic(v.panicMessage("enum")) + } +} + +// Message returns v as a Message and panics if the type is not a Message. +func (v Value) Message() Message { + switch vi := v.getIface().(type) { + case Message: + return vi + default: + panic(v.panicMessage("message")) + } +} + +// List returns v as a List and panics if the type is not a List. +func (v Value) List() List { + switch vi := v.getIface().(type) { + case List: + return vi + default: + panic(v.panicMessage("list")) + } +} + +// Map returns v as a Map and panics if the type is not a Map. +func (v Value) Map() Map { + switch vi := v.getIface().(type) { + case Map: + return vi + default: + panic(v.panicMessage("map")) + } +} + +// MapKey returns v as a MapKey and panics for invalid MapKey types. +func (v Value) MapKey() MapKey { + switch v.typ { + case boolType, int32Type, int64Type, uint32Type, uint64Type, stringType: + return MapKey(v) + default: + panic(v.panicMessage("map key")) + } +} + +// MapKey is used to index maps, where the Go type of the MapKey must match +// the specified key Kind (see MessageDescriptor.IsMapEntry). +// The following shows what Go type is used to represent each proto Kind: +// +// ╔═════════╤═════════════════════════════════════╗ +// ║ Go type │ Protobuf kind ║ +// ╠═════════╪═════════════════════════════════════╣ +// ║ bool │ BoolKind ║ +// ║ int32 │ Int32Kind, Sint32Kind, Sfixed32Kind ║ +// ║ int64 │ Int64Kind, Sint64Kind, Sfixed64Kind ║ +// ║ uint32 │ Uint32Kind, Fixed32Kind ║ +// ║ uint64 │ Uint64Kind, Fixed64Kind ║ +// ║ string │ StringKind ║ +// ╚═════════╧═════════════════════════════════════╝ +// +// A MapKey is constructed and accessed through a Value: +// +// k := ValueOf("hash").MapKey() // convert string to MapKey +// s := k.String() // convert MapKey to string +// +// The MapKey is a strict subset of valid types used in Value; +// converting a Value to a MapKey with an invalid type panics. +type MapKey value + +// IsValid reports whether k is populated with a value. +func (k MapKey) IsValid() bool { + return Value(k).IsValid() +} + +// Interface returns k as an interface{}. +func (k MapKey) Interface() interface{} { + return Value(k).Interface() +} + +// Bool returns k as a bool and panics if the type is not a bool. +func (k MapKey) Bool() bool { + return Value(k).Bool() +} + +// Int returns k as a int64 and panics if the type is not a int32 or int64. +func (k MapKey) Int() int64 { + return Value(k).Int() +} + +// Uint returns k as a uint64 and panics if the type is not a uint32 or uint64. +func (k MapKey) Uint() uint64 { + return Value(k).Uint() +} + +// String returns k as a string. Since this method implements fmt.Stringer, +// this returns the formatted string value for any non-string type. +func (k MapKey) String() string { + return Value(k).String() +} + +// Value returns k as a Value. +func (k MapKey) Value() Value { + return Value(k) +} diff --git a/server/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go new file mode 100755 index 0000000..702ddf2 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go @@ -0,0 +1,99 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !purego && !appengine +// +build !purego,!appengine + +package protoreflect + +import ( + "unsafe" + + "google.golang.org/protobuf/internal/pragma" +) + +type ( + stringHeader struct { + Data unsafe.Pointer + Len int + } + sliceHeader struct { + Data unsafe.Pointer + Len int + Cap int + } + ifaceHeader struct { + Type unsafe.Pointer + Data unsafe.Pointer + } +) + +var ( + nilType = typeOf(nil) + boolType = typeOf(*new(bool)) + int32Type = typeOf(*new(int32)) + int64Type = typeOf(*new(int64)) + uint32Type = typeOf(*new(uint32)) + uint64Type = typeOf(*new(uint64)) + float32Type = typeOf(*new(float32)) + float64Type = typeOf(*new(float64)) + stringType = typeOf(*new(string)) + bytesType = typeOf(*new([]byte)) + enumType = typeOf(*new(EnumNumber)) +) + +// typeOf returns a pointer to the Go type information. +// The pointer is comparable and equal if and only if the types are identical. +func typeOf(t interface{}) unsafe.Pointer { + return (*ifaceHeader)(unsafe.Pointer(&t)).Type +} + +// value is a union where only one type can be represented at a time. +// The struct is 24B large on 64-bit systems and requires the minimum storage +// necessary to represent each possible type. +// +// The Go GC needs to be able to scan variables containing pointers. +// As such, pointers and non-pointers cannot be intermixed. +type value struct { + pragma.DoNotCompare // 0B + + // typ stores the type of the value as a pointer to the Go type. + typ unsafe.Pointer // 8B + + // ptr stores the data pointer for a String, Bytes, or interface value. + ptr unsafe.Pointer // 8B + + // num stores a Bool, Int32, Int64, Uint32, Uint64, Float32, Float64, or + // Enum value as a raw uint64. + // + // It is also used to store the length of a String or Bytes value; + // the capacity is ignored. + num uint64 // 8B +} + +func valueOfString(v string) Value { + p := (*stringHeader)(unsafe.Pointer(&v)) + return Value{typ: stringType, ptr: p.Data, num: uint64(len(v))} +} +func valueOfBytes(v []byte) Value { + p := (*sliceHeader)(unsafe.Pointer(&v)) + return Value{typ: bytesType, ptr: p.Data, num: uint64(len(v))} +} +func valueOfIface(v interface{}) Value { + p := (*ifaceHeader)(unsafe.Pointer(&v)) + return Value{typ: p.Type, ptr: p.Data} +} + +func (v Value) getString() (x string) { + *(*stringHeader)(unsafe.Pointer(&x)) = stringHeader{Data: v.ptr, Len: int(v.num)} + return x +} +func (v Value) getBytes() (x []byte) { + *(*sliceHeader)(unsafe.Pointer(&x)) = sliceHeader{Data: v.ptr, Len: int(v.num), Cap: int(v.num)} + return x +} +func (v Value) getIface() (x interface{}) { + *(*ifaceHeader)(unsafe.Pointer(&x)) = ifaceHeader{Type: v.typ, Data: v.ptr} + return x +} diff --git a/server/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go b/server/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go new file mode 100755 index 0000000..aeb5597 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go @@ -0,0 +1,882 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package protoregistry provides data structures to register and lookup +// protobuf descriptor types. +// +// The Files registry contains file descriptors and provides the ability +// to iterate over the files or lookup a specific descriptor within the files. +// Files only contains protobuf descriptors and has no understanding of Go +// type information that may be associated with each descriptor. +// +// The Types registry contains descriptor types for which there is a known +// Go type associated with that descriptor. It provides the ability to iterate +// over the registered types or lookup a type by name. +package protoregistry + +import ( + "fmt" + "os" + "strings" + "sync" + + "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/errors" + "google.golang.org/protobuf/internal/flags" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// conflictPolicy configures the policy for handling registration conflicts. +// +// It can be over-written at compile time with a linker-initialized variable: +// +// go build -ldflags "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn" +// +// It can be over-written at program execution with an environment variable: +// +// GOLANG_PROTOBUF_REGISTRATION_CONFLICT=warn ./main +// +// Neither of the above are covered by the compatibility promise and +// may be removed in a future release of this module. +var conflictPolicy = "panic" // "panic" | "warn" | "ignore" + +// ignoreConflict reports whether to ignore a registration conflict +// given the descriptor being registered and the error. +// It is a variable so that the behavior is easily overridden in another file. +var ignoreConflict = func(d protoreflect.Descriptor, err error) bool { + const env = "GOLANG_PROTOBUF_REGISTRATION_CONFLICT" + const faq = "https://protobuf.dev/reference/go/faq#namespace-conflict" + policy := conflictPolicy + if v := os.Getenv(env); v != "" { + policy = v + } + switch policy { + case "panic": + panic(fmt.Sprintf("%v\nSee %v\n", err, faq)) + case "warn": + fmt.Fprintf(os.Stderr, "WARNING: %v\nSee %v\n\n", err, faq) + return true + case "ignore": + return true + default: + panic("invalid " + env + " value: " + os.Getenv(env)) + } +} + +var globalMutex sync.RWMutex + +// GlobalFiles is a global registry of file descriptors. +var GlobalFiles *Files = new(Files) + +// GlobalTypes is the registry used by default for type lookups +// unless a local registry is provided by the user. +var GlobalTypes *Types = new(Types) + +// NotFound is a sentinel error value to indicate that the type was not found. +// +// Since registry lookup can happen in the critical performance path, resolvers +// must return this exact error value, not an error wrapping it. +var NotFound = errors.New("not found") + +// Files is a registry for looking up or iterating over files and the +// descriptors contained within them. +// The Find and Range methods are safe for concurrent use. +type Files struct { + // The map of descsByName contains: + // EnumDescriptor + // EnumValueDescriptor + // MessageDescriptor + // ExtensionDescriptor + // ServiceDescriptor + // *packageDescriptor + // + // Note that files are stored as a slice, since a package may contain + // multiple files. Only top-level declarations are registered. + // Note that enum values are in the top-level since that are in the same + // scope as the parent enum. + descsByName map[protoreflect.FullName]interface{} + filesByPath map[string][]protoreflect.FileDescriptor + numFiles int +} + +type packageDescriptor struct { + files []protoreflect.FileDescriptor +} + +// RegisterFile registers the provided file descriptor. +// +// If any descriptor within the file conflicts with the descriptor of any +// previously registered file (e.g., two enums with the same full name), +// then the file is not registered and an error is returned. +// +// It is permitted for multiple files to have the same file path. +func (r *Files) RegisterFile(file protoreflect.FileDescriptor) error { + if r == GlobalFiles { + globalMutex.Lock() + defer globalMutex.Unlock() + } + if r.descsByName == nil { + r.descsByName = map[protoreflect.FullName]interface{}{ + "": &packageDescriptor{}, + } + r.filesByPath = make(map[string][]protoreflect.FileDescriptor) + } + path := file.Path() + if prev := r.filesByPath[path]; len(prev) > 0 { + r.checkGenProtoConflict(path) + err := errors.New("file %q is already registered", file.Path()) + err = amendErrorWithCaller(err, prev[0], file) + if !(r == GlobalFiles && ignoreConflict(file, err)) { + return err + } + } + + for name := file.Package(); name != ""; name = name.Parent() { + switch prev := r.descsByName[name]; prev.(type) { + case nil, *packageDescriptor: + default: + err := errors.New("file %q has a package name conflict over %v", file.Path(), name) + err = amendErrorWithCaller(err, prev, file) + if r == GlobalFiles && ignoreConflict(file, err) { + err = nil + } + return err + } + } + var err error + var hasConflict bool + rangeTopLevelDescriptors(file, func(d protoreflect.Descriptor) { + if prev := r.descsByName[d.FullName()]; prev != nil { + hasConflict = true + err = errors.New("file %q has a name conflict over %v", file.Path(), d.FullName()) + err = amendErrorWithCaller(err, prev, file) + if r == GlobalFiles && ignoreConflict(d, err) { + err = nil + } + } + }) + if hasConflict { + return err + } + + for name := file.Package(); name != ""; name = name.Parent() { + if r.descsByName[name] == nil { + r.descsByName[name] = &packageDescriptor{} + } + } + p := r.descsByName[file.Package()].(*packageDescriptor) + p.files = append(p.files, file) + rangeTopLevelDescriptors(file, func(d protoreflect.Descriptor) { + r.descsByName[d.FullName()] = d + }) + r.filesByPath[path] = append(r.filesByPath[path], file) + r.numFiles++ + return nil +} + +// Several well-known types were hosted in the google.golang.org/genproto module +// but were later moved to this module. To avoid a weak dependency on the +// genproto module (and its relatively large set of transitive dependencies), +// we rely on a registration conflict to determine whether the genproto version +// is too old (i.e., does not contain aliases to the new type declarations). +func (r *Files) checkGenProtoConflict(path string) { + if r != GlobalFiles { + return + } + var prevPath string + const prevModule = "google.golang.org/genproto" + const prevVersion = "cb27e3aa (May 26th, 2020)" + switch path { + case "google/protobuf/field_mask.proto": + prevPath = prevModule + "/protobuf/field_mask" + case "google/protobuf/api.proto": + prevPath = prevModule + "/protobuf/api" + case "google/protobuf/type.proto": + prevPath = prevModule + "/protobuf/ptype" + case "google/protobuf/source_context.proto": + prevPath = prevModule + "/protobuf/source_context" + default: + return + } + pkgName := strings.TrimSuffix(strings.TrimPrefix(path, "google/protobuf/"), ".proto") + pkgName = strings.Replace(pkgName, "_", "", -1) + "pb" // e.g., "field_mask" => "fieldmaskpb" + currPath := "google.golang.org/protobuf/types/known/" + pkgName + panic(fmt.Sprintf(""+ + "duplicate registration of %q\n"+ + "\n"+ + "The generated definition for this file has moved:\n"+ + "\tfrom: %q\n"+ + "\tto: %q\n"+ + "A dependency on the %q module must\n"+ + "be at version %v or higher.\n"+ + "\n"+ + "Upgrade the dependency by running:\n"+ + "\tgo get -u %v\n", + path, prevPath, currPath, prevModule, prevVersion, prevPath)) +} + +// FindDescriptorByName looks up a descriptor by the full name. +// +// This returns (nil, NotFound) if not found. +func (r *Files) FindDescriptorByName(name protoreflect.FullName) (protoreflect.Descriptor, error) { + if r == nil { + return nil, NotFound + } + if r == GlobalFiles { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + prefix := name + suffix := nameSuffix("") + for prefix != "" { + if d, ok := r.descsByName[prefix]; ok { + switch d := d.(type) { + case protoreflect.EnumDescriptor: + if d.FullName() == name { + return d, nil + } + case protoreflect.EnumValueDescriptor: + if d.FullName() == name { + return d, nil + } + case protoreflect.MessageDescriptor: + if d.FullName() == name { + return d, nil + } + if d := findDescriptorInMessage(d, suffix); d != nil && d.FullName() == name { + return d, nil + } + case protoreflect.ExtensionDescriptor: + if d.FullName() == name { + return d, nil + } + case protoreflect.ServiceDescriptor: + if d.FullName() == name { + return d, nil + } + if d := d.Methods().ByName(suffix.Pop()); d != nil && d.FullName() == name { + return d, nil + } + } + return nil, NotFound + } + prefix = prefix.Parent() + suffix = nameSuffix(name[len(prefix)+len("."):]) + } + return nil, NotFound +} + +func findDescriptorInMessage(md protoreflect.MessageDescriptor, suffix nameSuffix) protoreflect.Descriptor { + name := suffix.Pop() + if suffix == "" { + if ed := md.Enums().ByName(name); ed != nil { + return ed + } + for i := md.Enums().Len() - 1; i >= 0; i-- { + if vd := md.Enums().Get(i).Values().ByName(name); vd != nil { + return vd + } + } + if xd := md.Extensions().ByName(name); xd != nil { + return xd + } + if fd := md.Fields().ByName(name); fd != nil { + return fd + } + if od := md.Oneofs().ByName(name); od != nil { + return od + } + } + if md := md.Messages().ByName(name); md != nil { + if suffix == "" { + return md + } + return findDescriptorInMessage(md, suffix) + } + return nil +} + +type nameSuffix string + +func (s *nameSuffix) Pop() (name protoreflect.Name) { + if i := strings.IndexByte(string(*s), '.'); i >= 0 { + name, *s = protoreflect.Name((*s)[:i]), (*s)[i+1:] + } else { + name, *s = protoreflect.Name((*s)), "" + } + return name +} + +// FindFileByPath looks up a file by the path. +// +// This returns (nil, NotFound) if not found. +// This returns an error if multiple files have the same path. +func (r *Files) FindFileByPath(path string) (protoreflect.FileDescriptor, error) { + if r == nil { + return nil, NotFound + } + if r == GlobalFiles { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + fds := r.filesByPath[path] + switch len(fds) { + case 0: + return nil, NotFound + case 1: + return fds[0], nil + default: + return nil, errors.New("multiple files named %q", path) + } +} + +// NumFiles reports the number of registered files, +// including duplicate files with the same name. +func (r *Files) NumFiles() int { + if r == nil { + return 0 + } + if r == GlobalFiles { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + return r.numFiles +} + +// RangeFiles iterates over all registered files while f returns true. +// If multiple files have the same name, RangeFiles iterates over all of them. +// The iteration order is undefined. +func (r *Files) RangeFiles(f func(protoreflect.FileDescriptor) bool) { + if r == nil { + return + } + if r == GlobalFiles { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + for _, files := range r.filesByPath { + for _, file := range files { + if !f(file) { + return + } + } + } +} + +// NumFilesByPackage reports the number of registered files in a proto package. +func (r *Files) NumFilesByPackage(name protoreflect.FullName) int { + if r == nil { + return 0 + } + if r == GlobalFiles { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + p, ok := r.descsByName[name].(*packageDescriptor) + if !ok { + return 0 + } + return len(p.files) +} + +// RangeFilesByPackage iterates over all registered files in a given proto package +// while f returns true. The iteration order is undefined. +func (r *Files) RangeFilesByPackage(name protoreflect.FullName, f func(protoreflect.FileDescriptor) bool) { + if r == nil { + return + } + if r == GlobalFiles { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + p, ok := r.descsByName[name].(*packageDescriptor) + if !ok { + return + } + for _, file := range p.files { + if !f(file) { + return + } + } +} + +// rangeTopLevelDescriptors iterates over all top-level descriptors in a file +// which will be directly entered into the registry. +func rangeTopLevelDescriptors(fd protoreflect.FileDescriptor, f func(protoreflect.Descriptor)) { + eds := fd.Enums() + for i := eds.Len() - 1; i >= 0; i-- { + f(eds.Get(i)) + vds := eds.Get(i).Values() + for i := vds.Len() - 1; i >= 0; i-- { + f(vds.Get(i)) + } + } + mds := fd.Messages() + for i := mds.Len() - 1; i >= 0; i-- { + f(mds.Get(i)) + } + xds := fd.Extensions() + for i := xds.Len() - 1; i >= 0; i-- { + f(xds.Get(i)) + } + sds := fd.Services() + for i := sds.Len() - 1; i >= 0; i-- { + f(sds.Get(i)) + } +} + +// MessageTypeResolver is an interface for looking up messages. +// +// A compliant implementation must deterministically return the same type +// if no error is encountered. +// +// The Types type implements this interface. +type MessageTypeResolver interface { + // FindMessageByName looks up a message by its full name. + // E.g., "google.protobuf.Any" + // + // This return (nil, NotFound) if not found. + FindMessageByName(message protoreflect.FullName) (protoreflect.MessageType, error) + + // FindMessageByURL looks up a message by a URL identifier. + // See documentation on google.protobuf.Any.type_url for the URL format. + // + // This returns (nil, NotFound) if not found. + FindMessageByURL(url string) (protoreflect.MessageType, error) +} + +// ExtensionTypeResolver is an interface for looking up extensions. +// +// A compliant implementation must deterministically return the same type +// if no error is encountered. +// +// The Types type implements this interface. +type ExtensionTypeResolver interface { + // FindExtensionByName looks up a extension field by the field's full name. + // Note that this is the full name of the field as determined by + // where the extension is declared and is unrelated to the full name of the + // message being extended. + // + // This returns (nil, NotFound) if not found. + FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error) + + // FindExtensionByNumber looks up a extension field by the field number + // within some parent message, identified by full name. + // + // This returns (nil, NotFound) if not found. + FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error) +} + +var ( + _ MessageTypeResolver = (*Types)(nil) + _ ExtensionTypeResolver = (*Types)(nil) +) + +// Types is a registry for looking up or iterating over descriptor types. +// The Find and Range methods are safe for concurrent use. +type Types struct { + typesByName typesByName + extensionsByMessage extensionsByMessage + + numEnums int + numMessages int + numExtensions int +} + +type ( + typesByName map[protoreflect.FullName]interface{} + extensionsByMessage map[protoreflect.FullName]extensionsByNumber + extensionsByNumber map[protoreflect.FieldNumber]protoreflect.ExtensionType +) + +// RegisterMessage registers the provided message type. +// +// If a naming conflict occurs, the type is not registered and an error is returned. +func (r *Types) RegisterMessage(mt protoreflect.MessageType) error { + // Under rare circumstances getting the descriptor might recursively + // examine the registry, so fetch it before locking. + md := mt.Descriptor() + + if r == GlobalTypes { + globalMutex.Lock() + defer globalMutex.Unlock() + } + + if err := r.register("message", md, mt); err != nil { + return err + } + r.numMessages++ + return nil +} + +// RegisterEnum registers the provided enum type. +// +// If a naming conflict occurs, the type is not registered and an error is returned. +func (r *Types) RegisterEnum(et protoreflect.EnumType) error { + // Under rare circumstances getting the descriptor might recursively + // examine the registry, so fetch it before locking. + ed := et.Descriptor() + + if r == GlobalTypes { + globalMutex.Lock() + defer globalMutex.Unlock() + } + + if err := r.register("enum", ed, et); err != nil { + return err + } + r.numEnums++ + return nil +} + +// RegisterExtension registers the provided extension type. +// +// If a naming conflict occurs, the type is not registered and an error is returned. +func (r *Types) RegisterExtension(xt protoreflect.ExtensionType) error { + // Under rare circumstances getting the descriptor might recursively + // examine the registry, so fetch it before locking. + // + // A known case where this can happen: Fetching the TypeDescriptor for a + // legacy ExtensionDesc can consult the global registry. + xd := xt.TypeDescriptor() + + if r == GlobalTypes { + globalMutex.Lock() + defer globalMutex.Unlock() + } + + field := xd.Number() + message := xd.ContainingMessage().FullName() + if prev := r.extensionsByMessage[message][field]; prev != nil { + err := errors.New("extension number %d is already registered on message %v", field, message) + err = amendErrorWithCaller(err, prev, xt) + if !(r == GlobalTypes && ignoreConflict(xd, err)) { + return err + } + } + + if err := r.register("extension", xd, xt); err != nil { + return err + } + if r.extensionsByMessage == nil { + r.extensionsByMessage = make(extensionsByMessage) + } + if r.extensionsByMessage[message] == nil { + r.extensionsByMessage[message] = make(extensionsByNumber) + } + r.extensionsByMessage[message][field] = xt + r.numExtensions++ + return nil +} + +func (r *Types) register(kind string, desc protoreflect.Descriptor, typ interface{}) error { + name := desc.FullName() + prev := r.typesByName[name] + if prev != nil { + err := errors.New("%v %v is already registered", kind, name) + err = amendErrorWithCaller(err, prev, typ) + if !(r == GlobalTypes && ignoreConflict(desc, err)) { + return err + } + } + if r.typesByName == nil { + r.typesByName = make(typesByName) + } + r.typesByName[name] = typ + return nil +} + +// FindEnumByName looks up an enum by its full name. +// E.g., "google.protobuf.Field.Kind". +// +// This returns (nil, NotFound) if not found. +func (r *Types) FindEnumByName(enum protoreflect.FullName) (protoreflect.EnumType, error) { + if r == nil { + return nil, NotFound + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + if v := r.typesByName[enum]; v != nil { + if et, _ := v.(protoreflect.EnumType); et != nil { + return et, nil + } + return nil, errors.New("found wrong type: got %v, want enum", typeName(v)) + } + return nil, NotFound +} + +// FindMessageByName looks up a message by its full name, +// e.g. "google.protobuf.Any". +// +// This returns (nil, NotFound) if not found. +func (r *Types) FindMessageByName(message protoreflect.FullName) (protoreflect.MessageType, error) { + if r == nil { + return nil, NotFound + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + if v := r.typesByName[message]; v != nil { + if mt, _ := v.(protoreflect.MessageType); mt != nil { + return mt, nil + } + return nil, errors.New("found wrong type: got %v, want message", typeName(v)) + } + return nil, NotFound +} + +// FindMessageByURL looks up a message by a URL identifier. +// See documentation on google.protobuf.Any.type_url for the URL format. +// +// This returns (nil, NotFound) if not found. +func (r *Types) FindMessageByURL(url string) (protoreflect.MessageType, error) { + // This function is similar to FindMessageByName but + // truncates anything before and including '/' in the URL. + if r == nil { + return nil, NotFound + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + message := protoreflect.FullName(url) + if i := strings.LastIndexByte(url, '/'); i >= 0 { + message = message[i+len("/"):] + } + + if v := r.typesByName[message]; v != nil { + if mt, _ := v.(protoreflect.MessageType); mt != nil { + return mt, nil + } + return nil, errors.New("found wrong type: got %v, want message", typeName(v)) + } + return nil, NotFound +} + +// FindExtensionByName looks up a extension field by the field's full name. +// Note that this is the full name of the field as determined by +// where the extension is declared and is unrelated to the full name of the +// message being extended. +// +// This returns (nil, NotFound) if not found. +func (r *Types) FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error) { + if r == nil { + return nil, NotFound + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + if v := r.typesByName[field]; v != nil { + if xt, _ := v.(protoreflect.ExtensionType); xt != nil { + return xt, nil + } + + // MessageSet extensions are special in that the name of the extension + // is the name of the message type used to extend the MessageSet. + // This naming scheme is used by text and JSON serialization. + // + // This feature is protected by the ProtoLegacy flag since MessageSets + // are a proto1 feature that is long deprecated. + if flags.ProtoLegacy { + if _, ok := v.(protoreflect.MessageType); ok { + field := field.Append(messageset.ExtensionName) + if v := r.typesByName[field]; v != nil { + if xt, _ := v.(protoreflect.ExtensionType); xt != nil { + if messageset.IsMessageSetExtension(xt.TypeDescriptor()) { + return xt, nil + } + } + } + } + } + + return nil, errors.New("found wrong type: got %v, want extension", typeName(v)) + } + return nil, NotFound +} + +// FindExtensionByNumber looks up a extension field by the field number +// within some parent message, identified by full name. +// +// This returns (nil, NotFound) if not found. +func (r *Types) FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error) { + if r == nil { + return nil, NotFound + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + if xt, ok := r.extensionsByMessage[message][field]; ok { + return xt, nil + } + return nil, NotFound +} + +// NumEnums reports the number of registered enums. +func (r *Types) NumEnums() int { + if r == nil { + return 0 + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + return r.numEnums +} + +// RangeEnums iterates over all registered enums while f returns true. +// Iteration order is undefined. +func (r *Types) RangeEnums(f func(protoreflect.EnumType) bool) { + if r == nil { + return + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + for _, typ := range r.typesByName { + if et, ok := typ.(protoreflect.EnumType); ok { + if !f(et) { + return + } + } + } +} + +// NumMessages reports the number of registered messages. +func (r *Types) NumMessages() int { + if r == nil { + return 0 + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + return r.numMessages +} + +// RangeMessages iterates over all registered messages while f returns true. +// Iteration order is undefined. +func (r *Types) RangeMessages(f func(protoreflect.MessageType) bool) { + if r == nil { + return + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + for _, typ := range r.typesByName { + if mt, ok := typ.(protoreflect.MessageType); ok { + if !f(mt) { + return + } + } + } +} + +// NumExtensions reports the number of registered extensions. +func (r *Types) NumExtensions() int { + if r == nil { + return 0 + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + return r.numExtensions +} + +// RangeExtensions iterates over all registered extensions while f returns true. +// Iteration order is undefined. +func (r *Types) RangeExtensions(f func(protoreflect.ExtensionType) bool) { + if r == nil { + return + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + for _, typ := range r.typesByName { + if xt, ok := typ.(protoreflect.ExtensionType); ok { + if !f(xt) { + return + } + } + } +} + +// NumExtensionsByMessage reports the number of registered extensions for +// a given message type. +func (r *Types) NumExtensionsByMessage(message protoreflect.FullName) int { + if r == nil { + return 0 + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + return len(r.extensionsByMessage[message]) +} + +// RangeExtensionsByMessage iterates over all registered extensions filtered +// by a given message type while f returns true. Iteration order is undefined. +func (r *Types) RangeExtensionsByMessage(message protoreflect.FullName, f func(protoreflect.ExtensionType) bool) { + if r == nil { + return + } + if r == GlobalTypes { + globalMutex.RLock() + defer globalMutex.RUnlock() + } + for _, xt := range r.extensionsByMessage[message] { + if !f(xt) { + return + } + } +} + +func typeName(t interface{}) string { + switch t.(type) { + case protoreflect.EnumType: + return "enum" + case protoreflect.MessageType: + return "message" + case protoreflect.ExtensionType: + return "extension" + default: + return fmt.Sprintf("%T", t) + } +} + +func amendErrorWithCaller(err error, prev, curr interface{}) error { + prevPkg := goPackage(prev) + currPkg := goPackage(curr) + if prevPkg == "" || currPkg == "" || prevPkg == currPkg { + return err + } + return errors.New("%s\n\tpreviously from: %q\n\tcurrently from: %q", err, prevPkg, currPkg) +} + +func goPackage(v interface{}) string { + switch d := v.(type) { + case protoreflect.EnumType: + v = d.Descriptor() + case protoreflect.MessageType: + v = d.Descriptor() + case protoreflect.ExtensionType: + v = d.TypeDescriptor() + } + if d, ok := v.(protoreflect.Descriptor); ok { + v = d.ParentFile() + } + if d, ok := v.(interface{ GoPackagePath() string }); ok { + return d.GoPackagePath() + } + return "" +} diff --git a/server/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go b/server/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go new file mode 100755 index 0000000..c587276 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go @@ -0,0 +1,15 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protoiface + +type MessageV1 interface { + Reset() + String() string + ProtoMessage() +} + +type ExtensionRangeV1 struct { + Start, End int32 // both inclusive +} diff --git a/server/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go b/server/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go new file mode 100755 index 0000000..44cf467 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go @@ -0,0 +1,168 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package protoiface contains types referenced or implemented by messages. +// +// WARNING: This package should only be imported by message implementations. +// The functionality found in this package should be accessed through +// higher-level abstractions provided by the proto package. +package protoiface + +import ( + "google.golang.org/protobuf/internal/pragma" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// Methods is a set of optional fast-path implementations of various operations. +type Methods = struct { + pragma.NoUnkeyedLiterals + + // Flags indicate support for optional features. + Flags SupportFlags + + // Size returns the size in bytes of the wire-format encoding of a message. + // Marshal must be provided if a custom Size is provided. + Size func(SizeInput) SizeOutput + + // Marshal formats a message in the wire-format encoding to the provided buffer. + // Size should be provided if a custom Marshal is provided. + // It must not return an error for a partial message. + Marshal func(MarshalInput) (MarshalOutput, error) + + // Unmarshal parses the wire-format encoding and merges the result into a message. + // It must not reset the target message or return an error for a partial message. + Unmarshal func(UnmarshalInput) (UnmarshalOutput, error) + + // Merge merges the contents of a source message into a destination message. + Merge func(MergeInput) MergeOutput + + // CheckInitialized returns an error if any required fields in the message are not set. + CheckInitialized func(CheckInitializedInput) (CheckInitializedOutput, error) +} + +// SupportFlags indicate support for optional features. +type SupportFlags = uint64 + +const ( + // SupportMarshalDeterministic reports whether MarshalOptions.Deterministic is supported. + SupportMarshalDeterministic SupportFlags = 1 << iota + + // SupportUnmarshalDiscardUnknown reports whether UnmarshalOptions.DiscardUnknown is supported. + SupportUnmarshalDiscardUnknown +) + +// SizeInput is input to the Size method. +type SizeInput = struct { + pragma.NoUnkeyedLiterals + + Message protoreflect.Message + Flags MarshalInputFlags +} + +// SizeOutput is output from the Size method. +type SizeOutput = struct { + pragma.NoUnkeyedLiterals + + Size int +} + +// MarshalInput is input to the Marshal method. +type MarshalInput = struct { + pragma.NoUnkeyedLiterals + + Message protoreflect.Message + Buf []byte // output is appended to this buffer + Flags MarshalInputFlags +} + +// MarshalOutput is output from the Marshal method. +type MarshalOutput = struct { + pragma.NoUnkeyedLiterals + + Buf []byte // contains marshaled message +} + +// MarshalInputFlags configure the marshaler. +// Most flags correspond to fields in proto.MarshalOptions. +type MarshalInputFlags = uint8 + +const ( + MarshalDeterministic MarshalInputFlags = 1 << iota + MarshalUseCachedSize +) + +// UnmarshalInput is input to the Unmarshal method. +type UnmarshalInput = struct { + pragma.NoUnkeyedLiterals + + Message protoreflect.Message + Buf []byte // input buffer + Flags UnmarshalInputFlags + Resolver interface { + FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error) + FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error) + } + Depth int +} + +// UnmarshalOutput is output from the Unmarshal method. +type UnmarshalOutput = struct { + pragma.NoUnkeyedLiterals + + Flags UnmarshalOutputFlags +} + +// UnmarshalInputFlags configure the unmarshaler. +// Most flags correspond to fields in proto.UnmarshalOptions. +type UnmarshalInputFlags = uint8 + +const ( + UnmarshalDiscardUnknown UnmarshalInputFlags = 1 << iota +) + +// UnmarshalOutputFlags are output from the Unmarshal method. +type UnmarshalOutputFlags = uint8 + +const ( + // UnmarshalInitialized may be set on return if all required fields are known to be set. + // If unset, then it does not necessarily indicate that the message is uninitialized, + // only that its status could not be confirmed. + UnmarshalInitialized UnmarshalOutputFlags = 1 << iota +) + +// MergeInput is input to the Merge method. +type MergeInput = struct { + pragma.NoUnkeyedLiterals + + Source protoreflect.Message + Destination protoreflect.Message +} + +// MergeOutput is output from the Merge method. +type MergeOutput = struct { + pragma.NoUnkeyedLiterals + + Flags MergeOutputFlags +} + +// MergeOutputFlags are output from the Merge method. +type MergeOutputFlags = uint8 + +const ( + // MergeComplete reports whether the merge was performed. + // If unset, the merger must have made no changes to the destination. + MergeComplete MergeOutputFlags = 1 << iota +) + +// CheckInitializedInput is input to the CheckInitialized method. +type CheckInitializedInput = struct { + pragma.NoUnkeyedLiterals + + Message protoreflect.Message +} + +// CheckInitializedOutput is output from the CheckInitialized method. +type CheckInitializedOutput = struct { + pragma.NoUnkeyedLiterals +} diff --git a/server/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go b/server/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go new file mode 100755 index 0000000..4a1ab7f --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go @@ -0,0 +1,44 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package protoimpl contains the default implementation for messages +// generated by protoc-gen-go. +// +// WARNING: This package should only ever be imported by generated messages. +// The compatibility agreement covers nothing except for functionality needed +// to keep existing generated messages operational. Breakages that occur due +// to unauthorized usages of this package are not the author's responsibility. +package protoimpl + +import ( + "google.golang.org/protobuf/internal/filedesc" + "google.golang.org/protobuf/internal/filetype" + "google.golang.org/protobuf/internal/impl" +) + +// UnsafeEnabled specifies whether package unsafe can be used. +const UnsafeEnabled = impl.UnsafeEnabled + +type ( + // Types used by generated code in init functions. + DescBuilder = filedesc.Builder + TypeBuilder = filetype.Builder + + // Types used by generated code to implement EnumType, MessageType, and ExtensionType. + EnumInfo = impl.EnumInfo + MessageInfo = impl.MessageInfo + ExtensionInfo = impl.ExtensionInfo + + // Types embedded in generated messages. + MessageState = impl.MessageState + SizeCache = impl.SizeCache + WeakFields = impl.WeakFields + UnknownFields = impl.UnknownFields + ExtensionFields = impl.ExtensionFields + ExtensionFieldV1 = impl.ExtensionField + + Pointer = impl.Pointer +) + +var X impl.Export diff --git a/server/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go b/server/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go new file mode 100755 index 0000000..a105cb2 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go @@ -0,0 +1,60 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protoimpl + +import ( + "google.golang.org/protobuf/internal/version" +) + +const ( + // MaxVersion is the maximum supported version for generated .pb.go files. + // It is always the current version of the module. + MaxVersion = version.Minor + + // GenVersion is the runtime version required by generated .pb.go files. + // This is incremented when generated code relies on new functionality + // in the runtime. + GenVersion = 20 + + // MinVersion is the minimum supported version for generated .pb.go files. + // This is incremented when the runtime drops support for old code. + MinVersion = 0 +) + +// EnforceVersion is used by code generated by protoc-gen-go +// to statically enforce minimum and maximum versions of this package. +// A compilation failure implies either that: +// - the runtime package is too old and needs to be updated OR +// - the generated code is too old and needs to be regenerated. +// +// The runtime package can be upgraded by running: +// +// go get google.golang.org/protobuf +// +// The generated code can be regenerated by running: +// +// protoc --go_out=${PROTOC_GEN_GO_ARGS} ${PROTO_FILES} +// +// Example usage by generated code: +// +// const ( +// // Verify that this generated code is sufficiently up-to-date. +// _ = protoimpl.EnforceVersion(genVersion - protoimpl.MinVersion) +// // Verify that runtime/protoimpl is sufficiently up-to-date. +// _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - genVersion) +// ) +// +// The genVersion is the current minor version used to generated the code. +// This compile-time check relies on negative integer overflow of a uint +// being a compilation failure (guaranteed by the Go specification). +type EnforceVersion uint + +// This enforces the following invariant: +// +// MinVersion ≤ GenVersion ≤ MaxVersion +const ( + _ = EnforceVersion(GenVersion - MinVersion) + _ = EnforceVersion(MaxVersion - GenVersion) +) diff --git a/server/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go b/server/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go new file mode 100755 index 0000000..81511a3 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go @@ -0,0 +1,383 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/protobuf/timestamp.proto + +// Package timestamppb contains generated types for google/protobuf/timestamp.proto. +// +// The Timestamp message represents a timestamp, +// an instant in time since the Unix epoch (January 1st, 1970). +// +// # Conversion to a Go Time +// +// The AsTime method can be used to convert a Timestamp message to a +// standard Go time.Time value in UTC: +// +// t := ts.AsTime() +// ... // make use of t as a time.Time +// +// Converting to a time.Time is a common operation so that the extensive +// set of time-based operations provided by the time package can be leveraged. +// See https://golang.org/pkg/time for more information. +// +// The AsTime method performs the conversion on a best-effort basis. Timestamps +// with denormal values (e.g., nanoseconds beyond 0 and 99999999, inclusive) +// are normalized during the conversion to a time.Time. To manually check for +// invalid Timestamps per the documented limitations in timestamp.proto, +// additionally call the CheckValid method: +// +// if err := ts.CheckValid(); err != nil { +// ... // handle error +// } +// +// # Conversion from a Go Time +// +// The timestamppb.New function can be used to construct a Timestamp message +// from a standard Go time.Time value: +// +// ts := timestamppb.New(t) +// ... // make use of ts as a *timestamppb.Timestamp +// +// In order to construct a Timestamp representing the current time, use Now: +// +// ts := timestamppb.Now() +// ... // make use of ts as a *timestamppb.Timestamp +package timestamppb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + time "time" +) + +// A Timestamp represents a point in time independent of any time zone or local +// calendar, encoded as a count of seconds and fractions of seconds at +// nanosecond resolution. The count is relative to an epoch at UTC midnight on +// January 1, 1970, in the proleptic Gregorian calendar which extends the +// Gregorian calendar backwards to year one. +// +// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap +// second table is needed for interpretation, using a [24-hour linear +// smear](https://developers.google.com/time/smear). +// +// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By +// restricting to that range, we ensure that we can convert to and from [RFC +// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. +// +// # Examples +// +// Example 1: Compute Timestamp from POSIX `time()`. +// +// Timestamp timestamp; +// timestamp.set_seconds(time(NULL)); +// timestamp.set_nanos(0); +// +// Example 2: Compute Timestamp from POSIX `gettimeofday()`. +// +// struct timeval tv; +// gettimeofday(&tv, NULL); +// +// Timestamp timestamp; +// timestamp.set_seconds(tv.tv_sec); +// timestamp.set_nanos(tv.tv_usec * 1000); +// +// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. +// +// FILETIME ft; +// GetSystemTimeAsFileTime(&ft); +// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; +// +// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z +// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. +// Timestamp timestamp; +// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); +// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); +// +// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. +// +// long millis = System.currentTimeMillis(); +// +// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) +// .setNanos((int) ((millis % 1000) * 1000000)).build(); +// +// Example 5: Compute Timestamp from Java `Instant.now()`. +// +// Instant now = Instant.now(); +// +// Timestamp timestamp = +// Timestamp.newBuilder().setSeconds(now.getEpochSecond()) +// .setNanos(now.getNano()).build(); +// +// Example 6: Compute Timestamp from current time in Python. +// +// timestamp = Timestamp() +// timestamp.GetCurrentTime() +// +// # JSON Mapping +// +// In JSON format, the Timestamp type is encoded as a string in the +// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the +// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" +// where {year} is always expressed using four digits while {month}, {day}, +// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional +// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), +// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone +// is required. A proto3 JSON serializer should always use UTC (as indicated by +// "Z") when printing the Timestamp type and a proto3 JSON parser should be +// able to accept both UTC and other timezones (as indicated by an offset). +// +// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past +// 01:30 UTC on January 15, 2017. +// +// In JavaScript, one can convert a Date object to this format using the +// standard +// [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) +// method. In Python, a standard `datetime.datetime` object can be converted +// to this format using +// [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with +// the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use +// the Joda Time's [`ISODateTimeFormat.dateTime()`]( +// http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() +// ) to obtain a formatter capable of generating timestamps in this format. +type Timestamp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Represents seconds of UTC time since Unix epoch + // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + // 9999-12-31T23:59:59Z inclusive. + Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"` + // Non-negative fractions of a second at nanosecond resolution. Negative + // second values with fractions must still have non-negative nanos values + // that count forward in time. Must be from 0 to 999,999,999 + // inclusive. + Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"` +} + +// Now constructs a new Timestamp from the current time. +func Now() *Timestamp { + return New(time.Now()) +} + +// New constructs a new Timestamp from the provided time.Time. +func New(t time.Time) *Timestamp { + return &Timestamp{Seconds: int64(t.Unix()), Nanos: int32(t.Nanosecond())} +} + +// AsTime converts x to a time.Time. +func (x *Timestamp) AsTime() time.Time { + return time.Unix(int64(x.GetSeconds()), int64(x.GetNanos())).UTC() +} + +// IsValid reports whether the timestamp is valid. +// It is equivalent to CheckValid == nil. +func (x *Timestamp) IsValid() bool { + return x.check() == 0 +} + +// CheckValid returns an error if the timestamp is invalid. +// In particular, it checks whether the value represents a date that is +// in the range of 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive. +// An error is reported for a nil Timestamp. +func (x *Timestamp) CheckValid() error { + switch x.check() { + case invalidNil: + return protoimpl.X.NewError("invalid nil Timestamp") + case invalidUnderflow: + return protoimpl.X.NewError("timestamp (%v) before 0001-01-01", x) + case invalidOverflow: + return protoimpl.X.NewError("timestamp (%v) after 9999-12-31", x) + case invalidNanos: + return protoimpl.X.NewError("timestamp (%v) has out-of-range nanos", x) + default: + return nil + } +} + +const ( + _ = iota + invalidNil + invalidUnderflow + invalidOverflow + invalidNanos +) + +func (x *Timestamp) check() uint { + const minTimestamp = -62135596800 // Seconds between 1970-01-01T00:00:00Z and 0001-01-01T00:00:00Z, inclusive + const maxTimestamp = +253402300799 // Seconds between 1970-01-01T00:00:00Z and 9999-12-31T23:59:59Z, inclusive + secs := x.GetSeconds() + nanos := x.GetNanos() + switch { + case x == nil: + return invalidNil + case secs < minTimestamp: + return invalidUnderflow + case secs > maxTimestamp: + return invalidOverflow + case nanos < 0 || nanos >= 1e9: + return invalidNanos + default: + return 0 + } +} + +func (x *Timestamp) Reset() { + *x = Timestamp{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_timestamp_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Timestamp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Timestamp) ProtoMessage() {} + +func (x *Timestamp) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_timestamp_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Timestamp.ProtoReflect.Descriptor instead. +func (*Timestamp) Descriptor() ([]byte, []int) { + return file_google_protobuf_timestamp_proto_rawDescGZIP(), []int{0} +} + +func (x *Timestamp) GetSeconds() int64 { + if x != nil { + return x.Seconds + } + return 0 +} + +func (x *Timestamp) GetNanos() int32 { + if x != nil { + return x.Nanos + } + return 0 +} + +var File_google_protobuf_timestamp_proto protoreflect.FileDescriptor + +var file_google_protobuf_timestamp_proto_rawDesc = []byte{ + 0x0a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x22, 0x3b, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6e, + 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x42, + 0x85, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x42, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x6b, 0x6e, 0x6f, 0x77, + 0x6e, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x70, 0x62, 0xf8, 0x01, 0x01, + 0xa2, 0x02, 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, + 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_protobuf_timestamp_proto_rawDescOnce sync.Once + file_google_protobuf_timestamp_proto_rawDescData = file_google_protobuf_timestamp_proto_rawDesc +) + +func file_google_protobuf_timestamp_proto_rawDescGZIP() []byte { + file_google_protobuf_timestamp_proto_rawDescOnce.Do(func() { + file_google_protobuf_timestamp_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_protobuf_timestamp_proto_rawDescData) + }) + return file_google_protobuf_timestamp_proto_rawDescData +} + +var file_google_protobuf_timestamp_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_protobuf_timestamp_proto_goTypes = []interface{}{ + (*Timestamp)(nil), // 0: google.protobuf.Timestamp +} +var file_google_protobuf_timestamp_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_protobuf_timestamp_proto_init() } +func file_google_protobuf_timestamp_proto_init() { + if File_google_protobuf_timestamp_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_protobuf_timestamp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Timestamp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_protobuf_timestamp_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_protobuf_timestamp_proto_goTypes, + DependencyIndexes: file_google_protobuf_timestamp_proto_depIdxs, + MessageInfos: file_google_protobuf_timestamp_proto_msgTypes, + }.Build() + File_google_protobuf_timestamp_proto = out.File + file_google_protobuf_timestamp_proto_rawDesc = nil + file_google_protobuf_timestamp_proto_goTypes = nil + file_google_protobuf_timestamp_proto_depIdxs = nil +} diff --git a/server/vendor/google.golang.org/protobuf/types/known/wrapperspb/wrappers.pb.go b/server/vendor/google.golang.org/protobuf/types/known/wrapperspb/wrappers.pb.go new file mode 100755 index 0000000..762a871 --- /dev/null +++ b/server/vendor/google.golang.org/protobuf/types/known/wrapperspb/wrappers.pb.go @@ -0,0 +1,760 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Wrappers for primitive (non-message) types. These types are useful +// for embedding primitives in the `google.protobuf.Any` type and for places +// where we need to distinguish between the absence of a primitive +// typed field and its default value. +// +// These wrappers have no meaningful use within repeated fields as they lack +// the ability to detect presence on individual elements. +// These wrappers have no meaningful use within a map or a oneof since +// individual entries of a map or fields of a oneof can already detect presence. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/protobuf/wrappers.proto + +package wrapperspb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +// Wrapper message for `double`. +// +// The JSON representation for `DoubleValue` is JSON number. +type DoubleValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The double value. + Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` +} + +// Double stores v in a new DoubleValue and returns a pointer to it. +func Double(v float64) *DoubleValue { + return &DoubleValue{Value: v} +} + +func (x *DoubleValue) Reset() { + *x = DoubleValue{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_wrappers_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DoubleValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DoubleValue) ProtoMessage() {} + +func (x *DoubleValue) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DoubleValue.ProtoReflect.Descriptor instead. +func (*DoubleValue) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{0} +} + +func (x *DoubleValue) GetValue() float64 { + if x != nil { + return x.Value + } + return 0 +} + +// Wrapper message for `float`. +// +// The JSON representation for `FloatValue` is JSON number. +type FloatValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The float value. + Value float32 `protobuf:"fixed32,1,opt,name=value,proto3" json:"value,omitempty"` +} + +// Float stores v in a new FloatValue and returns a pointer to it. +func Float(v float32) *FloatValue { + return &FloatValue{Value: v} +} + +func (x *FloatValue) Reset() { + *x = FloatValue{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_wrappers_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FloatValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FloatValue) ProtoMessage() {} + +func (x *FloatValue) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FloatValue.ProtoReflect.Descriptor instead. +func (*FloatValue) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{1} +} + +func (x *FloatValue) GetValue() float32 { + if x != nil { + return x.Value + } + return 0 +} + +// Wrapper message for `int64`. +// +// The JSON representation for `Int64Value` is JSON string. +type Int64Value struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The int64 value. + Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` +} + +// Int64 stores v in a new Int64Value and returns a pointer to it. +func Int64(v int64) *Int64Value { + return &Int64Value{Value: v} +} + +func (x *Int64Value) Reset() { + *x = Int64Value{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_wrappers_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Int64Value) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Int64Value) ProtoMessage() {} + +func (x *Int64Value) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Int64Value.ProtoReflect.Descriptor instead. +func (*Int64Value) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{2} +} + +func (x *Int64Value) GetValue() int64 { + if x != nil { + return x.Value + } + return 0 +} + +// Wrapper message for `uint64`. +// +// The JSON representation for `UInt64Value` is JSON string. +type UInt64Value struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The uint64 value. + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` +} + +// UInt64 stores v in a new UInt64Value and returns a pointer to it. +func UInt64(v uint64) *UInt64Value { + return &UInt64Value{Value: v} +} + +func (x *UInt64Value) Reset() { + *x = UInt64Value{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_wrappers_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UInt64Value) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UInt64Value) ProtoMessage() {} + +func (x *UInt64Value) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UInt64Value.ProtoReflect.Descriptor instead. +func (*UInt64Value) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{3} +} + +func (x *UInt64Value) GetValue() uint64 { + if x != nil { + return x.Value + } + return 0 +} + +// Wrapper message for `int32`. +// +// The JSON representation for `Int32Value` is JSON number. +type Int32Value struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The int32 value. + Value int32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` +} + +// Int32 stores v in a new Int32Value and returns a pointer to it. +func Int32(v int32) *Int32Value { + return &Int32Value{Value: v} +} + +func (x *Int32Value) Reset() { + *x = Int32Value{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_wrappers_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Int32Value) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Int32Value) ProtoMessage() {} + +func (x *Int32Value) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Int32Value.ProtoReflect.Descriptor instead. +func (*Int32Value) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{4} +} + +func (x *Int32Value) GetValue() int32 { + if x != nil { + return x.Value + } + return 0 +} + +// Wrapper message for `uint32`. +// +// The JSON representation for `UInt32Value` is JSON number. +type UInt32Value struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The uint32 value. + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` +} + +// UInt32 stores v in a new UInt32Value and returns a pointer to it. +func UInt32(v uint32) *UInt32Value { + return &UInt32Value{Value: v} +} + +func (x *UInt32Value) Reset() { + *x = UInt32Value{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_wrappers_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UInt32Value) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UInt32Value) ProtoMessage() {} + +func (x *UInt32Value) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UInt32Value.ProtoReflect.Descriptor instead. +func (*UInt32Value) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{5} +} + +func (x *UInt32Value) GetValue() uint32 { + if x != nil { + return x.Value + } + return 0 +} + +// Wrapper message for `bool`. +// +// The JSON representation for `BoolValue` is JSON `true` and `false`. +type BoolValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The bool value. + Value bool `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` +} + +// Bool stores v in a new BoolValue and returns a pointer to it. +func Bool(v bool) *BoolValue { + return &BoolValue{Value: v} +} + +func (x *BoolValue) Reset() { + *x = BoolValue{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_wrappers_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoolValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoolValue) ProtoMessage() {} + +func (x *BoolValue) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BoolValue.ProtoReflect.Descriptor instead. +func (*BoolValue) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{6} +} + +func (x *BoolValue) GetValue() bool { + if x != nil { + return x.Value + } + return false +} + +// Wrapper message for `string`. +// +// The JSON representation for `StringValue` is JSON string. +type StringValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The string value. + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` +} + +// String stores v in a new StringValue and returns a pointer to it. +func String(v string) *StringValue { + return &StringValue{Value: v} +} + +func (x *StringValue) Reset() { + *x = StringValue{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_wrappers_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringValue) ProtoMessage() {} + +func (x *StringValue) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StringValue.ProtoReflect.Descriptor instead. +func (*StringValue) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{7} +} + +func (x *StringValue) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +// Wrapper message for `bytes`. +// +// The JSON representation for `BytesValue` is JSON string. +type BytesValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The bytes value. + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` +} + +// Bytes stores v in a new BytesValue and returns a pointer to it. +func Bytes(v []byte) *BytesValue { + return &BytesValue{Value: v} +} + +func (x *BytesValue) Reset() { + *x = BytesValue{} + if protoimpl.UnsafeEnabled { + mi := &file_google_protobuf_wrappers_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BytesValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BytesValue) ProtoMessage() {} + +func (x *BytesValue) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_wrappers_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BytesValue.ProtoReflect.Descriptor instead. +func (*BytesValue) Descriptor() ([]byte, []int) { + return file_google_protobuf_wrappers_proto_rawDescGZIP(), []int{8} +} + +func (x *BytesValue) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +var File_google_protobuf_wrappers_proto protoreflect.FileDescriptor + +var file_google_protobuf_wrappers_proto_rawDesc = []byte{ + 0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x22, 0x23, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23, + 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x21, 0x0a, 0x09, + 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x23, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x83, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x42, 0x0d, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, + 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, + 0x72, 0x73, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1e, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_protobuf_wrappers_proto_rawDescOnce sync.Once + file_google_protobuf_wrappers_proto_rawDescData = file_google_protobuf_wrappers_proto_rawDesc +) + +func file_google_protobuf_wrappers_proto_rawDescGZIP() []byte { + file_google_protobuf_wrappers_proto_rawDescOnce.Do(func() { + file_google_protobuf_wrappers_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_protobuf_wrappers_proto_rawDescData) + }) + return file_google_protobuf_wrappers_proto_rawDescData +} + +var file_google_protobuf_wrappers_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_google_protobuf_wrappers_proto_goTypes = []interface{}{ + (*DoubleValue)(nil), // 0: google.protobuf.DoubleValue + (*FloatValue)(nil), // 1: google.protobuf.FloatValue + (*Int64Value)(nil), // 2: google.protobuf.Int64Value + (*UInt64Value)(nil), // 3: google.protobuf.UInt64Value + (*Int32Value)(nil), // 4: google.protobuf.Int32Value + (*UInt32Value)(nil), // 5: google.protobuf.UInt32Value + (*BoolValue)(nil), // 6: google.protobuf.BoolValue + (*StringValue)(nil), // 7: google.protobuf.StringValue + (*BytesValue)(nil), // 8: google.protobuf.BytesValue +} +var file_google_protobuf_wrappers_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_protobuf_wrappers_proto_init() } +func file_google_protobuf_wrappers_proto_init() { + if File_google_protobuf_wrappers_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_protobuf_wrappers_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DoubleValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_wrappers_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FloatValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_wrappers_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Int64Value); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_wrappers_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UInt64Value); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_wrappers_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Int32Value); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_wrappers_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UInt32Value); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_wrappers_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BoolValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_wrappers_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StringValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_protobuf_wrappers_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BytesValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_protobuf_wrappers_proto_rawDesc, + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_protobuf_wrappers_proto_goTypes, + DependencyIndexes: file_google_protobuf_wrappers_proto_depIdxs, + MessageInfos: file_google_protobuf_wrappers_proto_msgTypes, + }.Build() + File_google_protobuf_wrappers_proto = out.File + file_google_protobuf_wrappers_proto_rawDesc = nil + file_google_protobuf_wrappers_proto_goTypes = nil + file_google_protobuf_wrappers_proto_depIdxs = nil +} diff --git a/server/vendor/modules.txt b/server/vendor/modules.txt new file mode 100755 index 0000000..3a074e0 --- /dev/null +++ b/server/vendor/modules.txt @@ -0,0 +1,34 @@ +# github.com/heroiclabs/nakama-common v1.31.0 +## explicit; go 1.19 +github.com/heroiclabs/nakama-common/api +github.com/heroiclabs/nakama-common/rtapi +github.com/heroiclabs/nakama-common/runtime +# google.golang.org/protobuf v1.31.0 +## explicit; go 1.11 +google.golang.org/protobuf/encoding/prototext +google.golang.org/protobuf/encoding/protowire +google.golang.org/protobuf/internal/descfmt +google.golang.org/protobuf/internal/descopts +google.golang.org/protobuf/internal/detrand +google.golang.org/protobuf/internal/encoding/defval +google.golang.org/protobuf/internal/encoding/messageset +google.golang.org/protobuf/internal/encoding/tag +google.golang.org/protobuf/internal/encoding/text +google.golang.org/protobuf/internal/errors +google.golang.org/protobuf/internal/filedesc +google.golang.org/protobuf/internal/filetype +google.golang.org/protobuf/internal/flags +google.golang.org/protobuf/internal/genid +google.golang.org/protobuf/internal/impl +google.golang.org/protobuf/internal/order +google.golang.org/protobuf/internal/pragma +google.golang.org/protobuf/internal/set +google.golang.org/protobuf/internal/strs +google.golang.org/protobuf/internal/version +google.golang.org/protobuf/proto +google.golang.org/protobuf/reflect/protoreflect +google.golang.org/protobuf/reflect/protoregistry +google.golang.org/protobuf/runtime/protoiface +google.golang.org/protobuf/runtime/protoimpl +google.golang.org/protobuf/types/known/timestamppb +google.golang.org/protobuf/types/known/wrapperspb diff --git a/tempo/tempo-config.yaml b/tempo/tempo-config.yaml old mode 100644 new mode 100755 diff --git a/test_matchmaking.js b/test_matchmaking.js old mode 100644 new mode 100755 diff --git a/test_reconnect.js b/test_reconnect.js old mode 100644 new mode 100755 diff --git a/游戏逻辑文档.txt b/游戏逻辑文档.txt old mode 100644 new mode 100755 diff --git a/说明文档.md b/说明文档.md old mode 100644 new mode 100755